.timeline-intro{color:#a6aab3;font-size:13px;line-height:1.8}.timeline-view-switch{display:flex;gap:10px;margin:24px 0}.timeline-view-switch button{font:inherit;font-size:11px;color:#aaa;background:#10131a;border:1px solid #ffffff20;padding:12px 18px;border-radius:7px;cursor:pointer}.timeline-view-switch button[aria-pressed=true]{background:#ffc928;color:#101114;border-color:#ffc928}.achievement-timeline{display:block!important;position:relative;margin-top:40px;padding-left:100px}.achievement-timeline:before{content:'';position:absolute;left:27px;top:20px;bottom:30px;width:1px;background:linear-gradient(#ffc92870,#ffc92825)}.timeline-event{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:36px;padding:0 0 100px;transition:opacity .65s ease,transform .65s ease}.timeline-event:not(.is-revealed){opacity:.3;transform:translateY(22px)}.timeline-marker{position:absolute;left:-100px;top:0;width:80px;display:grid;gap:12px;justify-items:start}.timeline-step{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid #ffc92890;background:#0b0e14;color:#ffc928;font-size:16px;box-shadow:0 0 28px #ffc92812}.timeline-date{font-size:10px;color:#9ba3b0;line-height:1.8;max-width:80px}.timeline-event .photo-card{margin:0;min-width:0;width:100%}.timeline-category{font-size:10px;letter-spacing:.12em;color:#ffc928;margin:4px 0 12px}.category-world .timeline-category{color:#ffdc73}.category-national .timeline-category{color:#71b9ff}.category-signature .timeline-category{color:#e6a0ff}.timeline-information h3{font-size:clamp(23px,2.8vw,36px);line-height:1.2;font-weight:400;margin:0 0 12px;color:#f5f6f8}.timeline-season{font-size:10px;color:#89909e;margin:0 0 18px}.timeline-detail{font-size:12px;color:#a6aab3;line-height:1.8}.timeline-teams{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.timeline-team{font-size:10px;background:#ffffff06;border:1px solid #ffffff15;border-radius:4px;padding:7px 9px;color:#d9dce3}.timeline-results{list-style:none;padding:0;margin:18px 0}.timeline-results li{font-size:12px;line-height:1.8;padding:10px 0 10px 18px;border-bottom:1px solid #ffffff09;position:relative;color:#e4e6ec}.timeline-results li:before{content:'✦';position:absolute;left:0;color:#ffc928;font-size:10px}.timeline-source{font-size:11px;color:#ffc928;text-decoration:none;display:inline-block;margin-top:10px}.timeline-notes{color:#a6aab3;font-size:11px;line-height:1.8}.timeline-notes summary{cursor:pointer;color:#b9bfcb}.achievement-timeline[data-view='2']{padding-left:0}.achievement-timeline[data-view='2']:before{left:50%}.achievement-timeline[data-view='2'] .timeline-event{width:44%;display:flex;flex-direction:column;gap:24px;padding-bottom:90px}.achievement-timeline[data-view='2'] .timeline-event:nth-child(even){margin-left:56%}.achievement-timeline[data-view='2'] .timeline-marker{left:calc(113.636% - 27px)}.achievement-timeline[data-view='2'] .timeline-event:nth-child(even) .timeline-marker{left:calc(-13.636% - 27px)}.achievement-timeline[data-view='2'] .timeline-date{background:#08090c;padding:4px}.timeline-view-switch button:focus-visible,.timeline-source:focus-visible{outline:2px solid #ffc928;outline-offset:4px}@media(max-width:800px){.achievement-timeline,.achievement-timeline[data-view='2']{padding-left:55px}.achievement-timeline:before,.achievement-timeline[data-view='2']:before{left:15px}.timeline-event,.achievement-timeline[data-view='2'] .timeline-event{width:100%;display:flex;flex-direction:column;gap:20px;padding-bottom:65px}.achievement-timeline[data-view='2'] .timeline-event:nth-child(even){margin-left:0}.timeline-marker,.achievement-timeline[data-view='2'] .timeline-marker,.achievement-timeline[data-view='2'] .timeline-event:nth-child(even) .timeline-marker{left:-55px;width:42px}.timeline-step{width:32px;height:32px;font-size:10px}.timeline-date{font-size:8px;max-width:43px;overflow-wrap:anywhere}.timeline-view-switch button{padding:10px;font-size:10px}.timeline-information h3{font-size:25px}}@media(prefers-reduced-motion:reduce){.timeline-event{transition:none;transform:none!important;opacity:1!important}}

/* Date markers and interactive achievements. */
.timeline-step{width:76px;height:76px;font-size:11px;line-height:1.6;text-align:center;padding:6px;box-sizing:border-box;overflow-wrap:anywhere}.achievement-timeline:before{left:38px}.achievement-timeline[data-view='2'] .timeline-marker{left:calc(113.636% - 38px)}.achievement-timeline[data-view='2'] .timeline-event:nth-child(even) .timeline-marker{left:calc(-13.636% - 38px)}
.timeline-awards{position:relative;margin:20px 0;width:fit-content;max-width:100%;z-index:5}.timeline-awards summary{cursor:pointer;list-style:none;color:#ffc928;border:1px solid #ffc92845;border-radius:6px;padding:12px 16px;font-size:12px;background:#ffc92808}.timeline-awards summary::-webkit-details-marker{display:none}.timeline-awards summary:focus-visible{outline:2px solid #ffc928;outline-offset:4px}.timeline-awards .timeline-results{position:absolute;left:0;top:100%;width:400px;max-width:calc(100vw - 140px);box-sizing:border-box;margin:0;padding:14px 20px;background:#11151e;border:1px solid #ffc92850;border-radius:8px;box-shadow:0 18px 45px #0009;animation:awards-reveal .2s ease}.timeline-awards[open]{z-index:30}.timeline-awards .timeline-results li:last-child{border:0}@keyframes awards-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.timeline-step{width:48px;height:48px;font-size:8px;padding:3px}.achievement-timeline:before,.achievement-timeline[data-view='2']:before{left:23px}.timeline-awards .timeline-results{position:static;width:100%;max-width:100%;margin-top:8px}.timeline-awards{width:100%}}@media(prefers-reduced-motion:reduce){.timeline-awards .timeline-results{animation:none}}

/* One tournament per viewport, shared by both timeline versions. */
html.timeline-snap{scroll-snap-type:y proximity}.timeline-event{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;min-height:calc(100svh - var(--sticky-header-height,90px) - var(--footer-bar-height,72px) - 32px);padding:24px 0 36px;align-items:center;gap:28px}.timeline-marker{top:24px}.timeline-information{min-width:0}.timeline-information h3{font-size:clamp(22px,2.4vw,32px);margin-bottom:8px}.timeline-category{margin:0 0 10px}.timeline-season{margin:0 0 10px}.timeline-detail{font-size:11px;line-height:1.6;margin:8px 0}.timeline-teams{margin:12px 0;gap:5px}.timeline-team{font-size:9px;padding:6px 8px}.timeline-awards{margin:12px 0}.timeline-awards summary{font-size:11px;padding:10px 13px}.timeline-notes{font-size:10px}.timeline-source{margin-top:8px}.timeline-event .gallery-stage{aspect-ratio:auto;height:clamp(210px,42svh,410px)}.timeline-event .gallery-caption{padding:14px 18px}.timeline-event .award-name{font-size:12px}.timeline-event .gallery-caption .award-name-stage{min-height:36px}.timeline-event .timeline-results{max-height:32svh;overflow:auto;overscroll-behavior:contain}.timeline-notes[open] p{max-height:14svh;overflow:auto}.achievement-timeline[data-view='2'] .timeline-event{min-height:calc(100svh - var(--sticky-header-height,90px) - var(--footer-bar-height,72px) - 32px);padding:20px 0 28px;gap:14px;justify-content:center}.achievement-timeline[data-view='2'] .timeline-event .gallery-stage{height:clamp(160px,27svh,270px)}.achievement-timeline[data-view='2'] .timeline-information h3{font-size:clamp(21px,2vw,27px)}.achievement-timeline[data-view='2'] .timeline-event .gallery-caption{padding:10px 14px}.achievement-timeline[data-view='2'] .timeline-event .award-name-stage{min-height:28px}
@media(max-width:800px){.timeline-event,.achievement-timeline[data-view='2'] .timeline-event{min-height:calc(100svh - var(--sticky-header-height,100px) - var(--footer-bar-height,82px) - 32px);padding:16px 0 24px;gap:12px;justify-content:center}.timeline-marker,.achievement-timeline[data-view='2'] .timeline-marker{top:16px}.timeline-event .gallery-stage,.achievement-timeline[data-view='2'] .timeline-event .gallery-stage{height:clamp(130px,24svh,230px)}.timeline-information h3,.achievement-timeline[data-view='2'] .timeline-information h3{font-size:21px}.timeline-event .gallery-caption{padding:9px 12px}.timeline-event .award-name{font-size:10px}.timeline-category,.timeline-season{font-size:9px;margin-bottom:6px}.timeline-detail{font-size:10px;margin:6px 0}.timeline-teams{margin:8px 0}.timeline-team{font-size:8px;padding:4px 6px}.timeline-awards{margin:8px 0}.timeline-awards .timeline-results{position:absolute;width:100%;max-height:25svh}.timeline-results li{font-size:10px;padding:7px 0 7px 16px}.timeline-source{font-size:10px}.timeline-notes{font-size:9px}}
@media(max-height:550px){.timeline-event,.achievement-timeline[data-view='2'] .timeline-event{min-height:430px}html.timeline-snap{scroll-snap-type:y proximity}}

@media(max-width:800px){.achievement-timeline[data-view='2'] .timeline-event .timeline-marker,.achievement-timeline[data-view='2'] .timeline-event:nth-child(even) .timeline-marker{left:-55px}.timeline-event,.achievement-timeline[data-view='2'] .timeline-event{min-height:calc(100svh - max(140px,var(--sticky-header-height,140px)) - var(--footer-bar-height,82px) - 32px)}}
