/* Photo-first orbital showcase; information fades into the image's foot. */
.showcase-heading{position:relative;top:auto;z-index:5}.showcase-heading:before{display:none}.achievement-player{height:calc(100svh - var(--sticky-header-height,80px) - 12px);min-height:640px;gap:12px;padding:12px 4vw 12px}.galaxy-stage{transform-style:preserve-3d}.showcase-body{height:calc(100% - 36px);width:86%;border-radius:24px;transform-origin:center center;will-change:transform}.showcase-visual:after{background:linear-gradient(0deg,#060b13 0%,#060b13f5 13%,#060b13c9 27%,#060b1330 47%,transparent 66%)}.showcase-media .showcase-image{height:100%;object-fit:cover;opacity:1;object-position:center 35%}.showcase-info{position:absolute;left:0;right:0;bottom:0;top:auto;width:100%;height:auto;padding:22px 28px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:7px 30px;align-items:start}.showcase-category{grid-column:1;grid-row:1;font-size:11px}.showcase-title{grid-column:1;grid-row:2;font-size:clamp(23px,2.6vw,34px);line-height:1.15;max-height:80px}.showcase-detail{grid-column:1;grid-row:3;font-size:13px;line-height:1.5;max-height:40px;color:#e0e5ee}.showcase-teams{grid-column:1;grid-row:4}.showcase-team{padding:4px 8px;font-size:12px;background:#ffffff0c}.showcase-award{grid-column:2;grid-row:1/5;min-height:120px;padding:14px 18px;background:#050b1470;border-color:#ffffff18;backdrop-filter:blur(6px)}.showcase-award-name{font-size:clamp(20px,2vw,27px)}.showcase-award-meta{margin-top:6px;font-size:13px}.showcase-award-label{margin-bottom:6px}.showcase-thumbnails{top:16px;right:16px;bottom:auto;height:48px;max-width:55%;padding:0;gap:6px}.showcase-thumbnail{width:62px;height:48px}.showcase-media .showcase-image-count{top:76px;right:16px;bottom:auto}.showcase-progress-row{padding:0 7%;height:44px;gap:16px}.showcase-actions{margin-left:auto;flex-shrink:0;height:44px;gap:12px}.showcase-source{height:44px;min-width:155px;text-align:center;font-size:14px}.showcase-playback{display:flex}.showcase-control{height:44px;width:44px}.showcase-progress{max-width:300px}.galaxy-stage>.showcase-dots{height:36px}.showcase-dot{height:36px;min-height:36px}.galaxy-peek{pointer-events:none}.orbit-departing{position:absolute;top:0;left:7%;pointer-events:none;z-index:4}.single-photo .showcase-progress,.single-photo .showcase-image-count,.single-photo .showcase-thumbnails{display:none}.single-event .showcase-dots{visibility:hidden}.showcase-playback:has(button[hidden]){display:none}.showcase-playback button[hidden]{display:none}.single-photo .showcase-progress-row{justify-content:flex-end}
@media(max-width:900px){.showcase-body{width:92%}.orbit-departing{left:4%}.showcase-info{padding:18px 20px;gap:6px 16px}.showcase-title{font-size:26px}.showcase-award{padding:12px}.showcase-progress-row{padding:0 4%;gap:10px}.showcase-progress{max-width:150px}.showcase-award-name{font-size:21px}}
@media(max-width:600px){.achievement-player{min-height:660px;height:calc(100svh - var(--sticky-header-height,120px) - 8px);padding:10px 12px;gap:9px}.showcase-body{width:96%;height:calc(100% - 34px);border-radius:18px}.orbit-departing{left:2%}.showcase-info{padding:15px;grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;gap:5px}.showcase-category{grid-column:1;grid-row:1;font-size:10px}.showcase-title{grid-column:1;grid-row:2;font-size:22px;max-height:55px}.showcase-detail{grid-column:1;grid-row:3;font-size:12px;max-height:34px}.showcase-teams{grid-column:1;grid-row:4}.showcase-award{grid-column:1;grid-row:5;min-height:76px;padding:10px 12px;margin-top:3px}.showcase-award-label{font-size:11px;margin-bottom:3px}.showcase-award-name{font-size:18px}.showcase-award-meta{font-size:12px;margin-top:3px}.showcase-award-count{font-size:11px}.showcase-thumbnails{display:flex;top:10px;right:10px;max-width:90%;height:40px;gap:4px}.showcase-thumbnail{width:44px;height:40px;min-width:0}.showcase-media .showcase-image-count{top:56px;right:10px}.showcase-media .showcase-image{height:100%;object-position:center 25%}.showcase-visual:after{background:linear-gradient(0deg,#060b13 0%,#060b13f5 30%,#060b1380 52%,transparent 76%)}.showcase-progress-row{padding:0 2%;height:44px;gap:8px;flex-wrap:nowrap}.showcase-event-count{font-size:11px}.showcase-source{min-width:128px;font-size:12px;padding:10px 12px}.showcase-actions{gap:6px}.showcase-progress{max-width:40px}.showcase-control{height:40px;width:40px}.galaxy-stage>.showcase-dots{height:34px}.showcase-dot{width:32px;height:34px;min-height:34px}.showcase-team{font-size:11px;padding:3px 6px}}
@media(prefers-reduced-motion:reduce){.showcase-body{will-change:auto}}

.galaxy-stage{overflow:clip}.showcase-thumbnails{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;scrollbar-width:thin;scrollbar-color:#ffce3250 #080a0f60;padding-top:3px;padding-bottom:3px;height:56px}.showcase-thumbnail{flex-shrink:0}.single-photo .showcase-thumbnails{display:none}@media(max-width:600px){.showcase-thumbnails{height:48px}.showcase-thumbnail{flex-shrink:0}}

/* Preserve every image edge and use neighboring cards as the navigation. */
.showcase-media{display:flex;align-items:center;justify-content:center;background:#060b13}.showcase-media .showcase-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none}.galaxy-peek{pointer-events:auto;cursor:pointer}.galaxy-peek img{object-fit:contain}.galaxy-peek:hover{opacity:.7;border-color:#ffce3270}.galaxy-peek:focus-visible{outline:2px solid var(--gold);outline-offset:-3px;opacity:.75}.showcase-thumbnail img{object-fit:contain}.showcase-actions{gap:0}
@media(max-width:600px){.showcase-body{width:86%}.orbit-departing{left:7%}.galaxy-peek{width:65%;height:80%;top:7%}.showcase-info{padding:12px}.showcase-title{font-size:20px}.showcase-detail{font-size:11px}.showcase-media .showcase-image{height:auto;object-position:center}}

/* Soft peripheral cards; only the active photo draws attention. */
.showcase-progress-row{justify-content:flex-end}.galaxy-peek{border:0;background:transparent;box-shadow:none;opacity:.4;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 76%)}.galaxy-peek span{display:none}.galaxy-peek img{object-fit:cover;transform:scale(1.13);filter:blur(4px) brightness(.55);transition:filter .35s}.galaxy-peek:hover,.galaxy-peek:focus-visible{opacity:.7}.galaxy-peek:hover img,.galaxy-peek:focus-visible img{filter:blur(3px) brightness(.65)}.showcase-body{border-color:transparent;box-shadow:none;background:transparent}.showcase-media{background:transparent}.showcase-media .showcase-image{max-width:90%;max-height:90%;transform:scale(1.08);transform-origin:50% 42%;mask-image:radial-gradient(ellipse farthest-side at center,#000 76%,#000c 87%,transparent 100%)}.showcase-visual:after{background:linear-gradient(0deg,#080a0ff5, #080a0fcc 14%,#080a0f40 30%,transparent 48%)}.showcase-body:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 26px 8px #080a0f80}.showcase-info,.showcase-thumbnails{z-index:4}
@media(max-width:600px){.showcase-visual:after{background:linear-gradient(0deg,#080a0ff5,#080a0fee 25%,#080a0f70 45%,transparent 64%)}.galaxy-peek img{filter:blur(2px) brightness(.5)}}
@media(prefers-reduced-motion:reduce){.galaxy-peek img{transition:none}}

.showcase-media .showcase-image{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}

/* The active photograph stays crisp; fade only its narrow outer sides. */
.showcase-media .showcase-image{mask-image:linear-gradient(90deg,transparent 0%,#000 2.5%,#000 97.5%,transparent 100%);mask-composite:add;filter:none;opacity:1}.showcase-body:after{box-shadow:none}.galaxy-peek{opacity:.28}.galaxy-peek:hover,.galaxy-peek:focus-visible{opacity:.5}

/* Narrower central card and a compact award panel. */
.showcase-body{width:66%}.orbit-departing{left:17%}.showcase-info{padding:16px 22px;gap:6px 18px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.showcase-title{font-size:clamp(22px,2.1vw,29px)}.showcase-detail{font-size:12px}.showcase-award{min-height:88px;padding:10px 12px;border-radius:12px}.showcase-award-name{font-size:clamp(17px,1.6vw,22px);line-height:1.3}.showcase-award-label{font-size:11px;margin-bottom:4px}.showcase-award-meta{font-size:12px;margin-top:4px}.showcase-award-count{font-size:10px;bottom:6px;right:8px}.showcase-progress-row{padding:0 17%}.showcase-teams{gap:5px}.showcase-team{font-size:11px;padding:3px 6px}
@media(max-width:900px){.showcase-body{width:76%}.orbit-departing{left:12%}.showcase-info{padding:14px;gap:5px 12px}.showcase-title{font-size:23px}.showcase-progress-row{padding:0 12%}}
@media(max-width:600px){.showcase-body{width:86%}.orbit-departing{left:7%}.showcase-info{padding:12px;grid-template-columns:1fr;gap:4px}.showcase-title{font-size:20px}.showcase-award{min-height:68px;padding:8px 10px}.showcase-award-name{font-size:16px}.showcase-award-label{font-size:10px}.showcase-award-meta{font-size:11px}.showcase-progress-row{padding:0 7%}.showcase-detail{font-size:11px}}

/* Each season has its own independent carousel along the timeline. */
.season-timeline{position:relative;padding:24px 0 48px}.season-timeline:before{content:'';position:absolute;top:42px;bottom:60px;left:max(24px,calc((100% - 1360px)/2 + 24px));width:1px;background:linear-gradient(#ffce3280,#ffce3218)}
.season-timeline-item{position:relative;margin:0 0 48px;scroll-margin-top:100px}.season-timeline-marker{position:relative;z-index:3;display:flex;align-items:center;gap:16px;margin:0 auto 8px;padding:0 32px;max-width:1400px;color:#ffce32;font:600 14px Arial,sans-serif}.season-timeline-marker:before{content:'';width:11px;height:11px;border-radius:50%;background:#ffce32;box-shadow:0 0 0 6px #ffce3212;flex:none}.season-timeline-marker span{background:#080a0f;padding:6px 10px;border:1px solid #ffce3230;border-radius:8px}
.season-timeline .showcase-heading{border:0;background:transparent;padding:8px 0;justify-content:space-between}.season-timeline .showcase-heading:after{display:none}.season-timeline .showcase-heading h2{font:600 clamp(25px,3vw,38px) Arial,sans-serif;letter-spacing:-.03em}.season-summary{margin:0;color:#a6b0c1;font:400 13px Arial,sans-serif}.season-timeline .showcase-years{display:none}.season-timeline .achievement-player{height:calc(100svh - 150px);min-height:600px;max-height:880px}.season-timeline .galaxy-stage{min-height:0}.season-timeline-item:last-child{margin-bottom:0}
@media(max-width:600px){.season-timeline:before{left:18px}.season-timeline-marker{padding:0 13px;gap:8px}.season-timeline .achievement-player{min-height:620px;height:calc(100svh - 120px)}.season-timeline .showcase-heading{padding:0 14px;gap:10px;flex-wrap:wrap}.season-summary{font-size:12px}.season-timeline-item{margin-bottom:32px}}

/* Thumbnails sit beside the article link, outside the photograph. */
.season-timeline .showcase-progress-row{height:60px;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.season-timeline .showcase-progress-row>.showcase-thumbnails{position:static;inset:auto;max-width:none;min-width:0;flex:1;height:56px;justify-content:flex-start;padding:4px 0;z-index:auto}
.season-timeline .showcase-progress-row>.showcase-actions{margin-left:auto;flex:0 0 auto}
.season-timeline .single-photo .showcase-progress-row>.showcase-thumbnails{display:none}
@media(max-width:600px){.season-timeline .showcase-progress-row{gap:10px;min-height:52px;height:52px}.season-timeline .showcase-progress-row>.showcase-thumbnails{height:48px}.season-timeline .showcase-progress-row .showcase-source{min-width:112px;padding:9px;font-size:11px}}

/* A single Vietnam rocket follows the timeline; seasons appear once. */
.season-timeline .showcase-heading h2:before,.season-timeline .showcase-heading h2:after{display:none!important}.season-timeline .showcase-heading h2{font-size:clamp(25px,3vw,38px)!important;line-height:1.2;margin:0;color:#ffce32}.season-timeline .showcase-heading{min-height:55px;padding-left:24px}.season-timeline:before{left:36px;top:70px;bottom:80px;background:linear-gradient(#ffce3225,#ffce3250,#ffce3215)}
.timeline-rocket-rail{position:absolute;top:28px;bottom:30px;left:10px;width:54px;pointer-events:none;z-index:6}.timeline-rocket{position:sticky;top:calc(var(--sticky-header-height,80px) + 32px);width:54px;height:102px;transform:translateY(0);transition:transform .45s cubic-bezier(.2,.7,.3,1);filter:drop-shadow(0 3px 10px #ffce3218)}.timeline-rocket svg{display:block;width:100%;height:100%}.rocket-flame{transform-origin:32px 88px;animation:rocket-idle 1.3s ease-in-out infinite}.timeline-rocket.is-landing{transform:translateY(8px)}.timeline-rocket.is-landing .rocket-flame{animation:rocket-brake .35s ease-in-out infinite}.timeline-rocket.is-launching{transform:translateY(-5px)}.timeline-rocket.is-launching .rocket-flame{animation:rocket-brake .25s ease-in-out infinite}
@keyframes rocket-idle{50%{transform:scaleY(.75);opacity:.7}}@keyframes rocket-brake{50%{transform:scaleY(1.15);opacity:.85}}
@media(max-width:600px){.timeline-rocket-rail{left:0;width:32px}.timeline-rocket{width:32px;height:64px;top:calc(var(--sticky-header-height,80px) + 18px)}.season-timeline:before{left:16px}.season-timeline .showcase-heading{padding-left:32px}.season-timeline .showcase-heading h2{font-size:25px!important}}
@media(prefers-reduced-motion:reduce){.timeline-rocket{transition:none;transform:none!important}.rocket-flame{animation:none!important}}

/* Photo neighbors navigate within the competition; pills select competitions. */
.season-timeline .showcase-thumbnails{display:none!important}.season-timeline .showcase-progress-row>.showcase-dots{position:static;transform:none;display:flex;flex:1;min-width:0;width:auto;justify-content:flex-start;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;height:60px;padding:7px 3px;scrollbar-width:thin}.season-timeline .single-event .showcase-dots{visibility:visible}
.season-timeline .showcase-dot{position:relative;flex:0 0 34px;width:34px;min-width:34px;height:42px;min-height:42px;border:1px solid #ffffff35;border-radius:24px;background:#ffffff0b;display:flex;align-items:center;justify-content:center;padding:0;transition:background .3s,border-color .3s,box-shadow .3s}.season-timeline .showcase-dot:before{content:'';display:block;width:10px;height:10px;background:#a6b2c7;border-radius:50%}.season-timeline .showcase-dot:after{display:none}.season-timeline .showcase-dot.is-selected{flex-basis:auto;width:auto;max-width:300px;padding:0 18px;background:#ffce32;border-color:#ffce32;box-shadow:0 3px 18px #ffce3220}.season-timeline .showcase-dot.is-selected:before{display:none}.season-timeline .showcase-dot-label{display:none;position:static;transform:none;opacity:1;visibility:visible;background:transparent;color:#202735;white-space:nowrap;font:600 12px Arial,sans-serif;padding:0;overflow:hidden;text-overflow:ellipsis}.season-timeline .showcase-dot.is-selected .showcase-dot-label{display:block}.season-timeline .showcase-dot:not(.is-selected):hover,.season-timeline .showcase-dot:not(.is-selected):focus-visible{flex-basis:auto;width:auto;max-width:280px;padding:0 12px;border-color:#ffce32}.season-timeline .showcase-dot:not(.is-selected):hover .showcase-dot-label,.season-timeline .showcase-dot:not(.is-selected):focus-visible .showcase-dot-label{display:block;color:#fff;margin-left:8px}.showcase-visual{touch-action:pan-y}.galaxy-peek[hidden]{display:none!important}
@media(max-width:600px){.season-timeline .showcase-progress-row{flex-wrap:wrap;height:auto;min-height:100px;gap:4px}.season-timeline .showcase-progress-row>.showcase-dots{flex-basis:100%;height:48px}.season-timeline .showcase-dot.is-selected{max-width:200px;padding:0 12px}.season-timeline .showcase-dot{height:36px;min-height:36px;flex-basis:30px;width:30px;min-width:30px}.season-timeline .showcase-progress-row>.showcase-actions{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.season-timeline .showcase-dot{transition:none}}
.season-timeline .showcase-progress-row>.showcase-dots{flex-direction:row;flex-wrap:nowrap;margin:0;left:auto;right:auto;bottom:auto;top:auto;align-self:center}.season-timeline .showcase-dot{opacity:1;visibility:visible}.season-timeline .showcase-dot.is-selected{transform:none}
/* Taller photographs with smaller captions at the foot. */
.season-timeline .achievement-player{height:calc(100svh - 85px);min-height:720px;max-height:1050px}.season-timeline .showcase-info{padding:12px 22px;gap:4px 18px;align-items:end}.season-timeline .showcase-title{font-size:clamp(19px,1.7vw,24px);line-height:1.2;max-height:62px}.season-timeline .showcase-category{font-size:10px}.season-timeline .showcase-detail{font-size:11px}.season-timeline .showcase-team{font-size:10px}.season-timeline .showcase-award{align-self:end;min-height:72px;padding:9px 12px;margin:0}.season-timeline .showcase-award-name{font-size:clamp(17px,1.5vw,21px)}.season-timeline .showcase-award-label{font-size:10px}.season-timeline .showcase-award-meta{font-size:11px}.season-timeline .showcase-visual:after{background:linear-gradient(0deg,#080a0ff5,#080a0fb0 10%,#080a0f25 24%,transparent 40%)}
@media(max-width:600px){.season-timeline .achievement-player{height:calc(100svh - 80px);min-height:700px}.season-timeline .showcase-info{padding:10px 12px;gap:3px}.season-timeline .showcase-title{font-size:18px;max-height:48px}.season-timeline .showcase-award{min-height:62px;padding:8px 10px;margin-top:6px}.season-timeline .showcase-award-name{font-size:16px}.season-timeline .showcase-visual:after{background:linear-gradient(0deg,#080a0ff5,#080a0fba 19%,#080a0f20 37%,transparent 55%)}}

/* Scroll-driven travel between the season planets. */
.season-timeline .showcase-body{height:calc(100% - 12px)}.season-timeline .showcase-progress-row{margin-top:-12px}.season-timeline .achievement-player{gap:4px}.season-timeline .timeline-rocket-rail{top:0;bottom:0}.season-timeline .timeline-rocket{position:absolute;top:0;transition:none;will-change:transform}.season-planet{position:absolute;top:110px;left:7px;width:58px;height:58px;border-radius:50%;z-index:5;background:radial-gradient(circle at 30% 25%,#8ddaff,#2186bf 38%,#113054 75%);box-shadow:inset -10px -8px 14px #0007,0 0 20px #2a9be61a;transition:box-shadow .4s}.planet-1{background:radial-gradient(circle at 30% 25%,#ffe9b1,#d5a442 40%,#593b18 80%)}.planet-2{background:radial-gradient(circle at 30% 25%,#e6b3ff,#8657b5 40%,#34234f 80%)}.planet-3{background:radial-gradient(circle at 30% 25%,#ffb99d,#bc583c 40%,#51251e 80%)}.planet-active .season-planet{box-shadow:inset -10px -8px 14px #0007,0 0 0 5px #ffce3212,0 0 26px #ffce3230}.timeline-rocket.is-landed .rocket-flame{animation:none;transform:scaleY(.15);opacity:.3}.timeline-rocket.is-travelling .rocket-flame{animation:rocket-brake .3s ease-in-out infinite}
@media(max-width:600px){.season-planet{left:0;width:32px;height:32px}.season-timeline .showcase-progress-row{margin-top:-8px}}
@media(prefers-reduced-motion:reduce){.season-planet{transition:none}.season-timeline .timeline-rocket{will-change:auto}}

/* Center-band landing and takeoff; only lightweight CSS particles. */
.season-timeline .timeline-rocket{transform-origin:center;transition:transform .24s ease-out}.timeline-rocket:before,.timeline-rocket:after{content:'';position:absolute;left:50%;top:88%;width:28px;height:12px;border-radius:50%;background:radial-gradient(ellipse,#d3c4a570,transparent 70%);opacity:0;pointer-events:none}.timeline-rocket.is-touchdown:before{animation:landing-dust-left .9s ease-out}.timeline-rocket.is-touchdown:after{animation:landing-dust-right .9s ease-out}.timeline-rocket.is-landed .rocket-flame{opacity:0;transform:scaleY(.08)}.timeline-rocket.is-liftoff:before{animation:landing-dust-left .75s ease-out}.timeline-rocket.is-liftoff:after{animation:landing-dust-right .75s ease-out}.timeline-rocket.is-travelling .rocket-flame{opacity:1;animation:rocket-brake .22s ease-in-out infinite}
@keyframes landing-dust-left{0%{opacity:0;transform:translate(-50%,0) scale(.3)}20%{opacity:.8}100%{opacity:0;transform:translate(-150%,16px) scale(2.4)}}@keyframes landing-dust-right{0%{opacity:0;transform:translate(-50%,0) scale(.3)}20%{opacity:.8}100%{opacity:0;transform:translate(50%,16px) scale(2.4)}}
@media(prefers-reduced-motion:reduce){.season-timeline .timeline-rocket{transition:none}.timeline-rocket:before,.timeline-rocket:after{animation:none!important}}

/* Awards remain outside the photo. Planets are fixed to their season. */
.season-timeline .galaxy-stage{padding-right:290px}.season-timeline .showcase-body{width:86%;height:calc(100% - 12px)}.award-sidebar{position:absolute;right:0;top:16px;bottom:16px;width:270px;z-index:5;display:flex;flex-direction:column;gap:14px;padding:16px;background:#0b1019;border:1px solid #ffffff12;border-radius:14px;overflow:auto}.award-sidebar h4{margin:0;color:#ffce32;font:600 12px Arial,sans-serif;letter-spacing:.08em}.award-selector{display:flex;flex-direction:column;gap:7px}.award-select-button{border:1px solid #ffffff24;background:#ffffff05;color:#cdd5e2;padding:11px 12px;border-radius:9px;font:400 13px/1.5 Arial,sans-serif;text-align:left;cursor:pointer}.award-select-button:hover{border-color:#ffce3260}.award-select-button[aria-pressed=true]{background:#ffce32;color:#181b21;border-color:#ffce32;font-weight:600}.award-sidebar .showcase-award{margin-top:auto;grid-area:auto;background:transparent;backdrop-filter:none}.season-timeline .showcase-info{grid-template-columns:1fr}.season-timeline .galaxy-peek.is-next{right:290px}.season-timeline .showcase-body.orbit-departing{left:5%}.no-award-photo .showcase-media:after{content:'Chưa có ảnh cho giải thưởng này. Gán ảnh trong Manager.';position:absolute;inset:0;display:grid;place-items:center;padding:30px;color:#aeb8c8;font:400 14px/1.7 Arial,sans-serif;text-align:center}.season-timeline .timeline-rocket{transition:transform .12s linear}.season-timeline .showcase-progress-row{padding:0 0 0 8%}
@media(max-width:900px){.season-timeline .galaxy-stage{padding-right:235px}.award-sidebar{width:220px;padding:12px}.season-timeline .galaxy-peek.is-next{right:235px}}
@media(max-width:600px){.season-timeline .galaxy-stage{padding-right:0;margin-bottom:175px}.award-sidebar{top:calc(100% + 8px);bottom:auto;left:7%;right:7%;width:auto;height:165px;padding:10px}.award-selector{flex-direction:row;overflow:auto;flex-shrink:0}.award-select-button{min-width:150px}.award-sidebar h4{display:none}.award-sidebar .showcase-award{min-height:55px;margin-top:0}.season-timeline .galaxy-peek.is-next{right:0}.season-timeline .achievement-player{min-height:850px}.season-timeline .showcase-info{padding:10px}.season-timeline .showcase-progress-row{padding:0 7%}}
.season-timeline .showcase-info>.showcase-award{display:none}.award-sidebar .showcase-award{position:relative}

/* Fit the complete gallery and navigation; award caption at the photo corner. */
.season-timeline .achievement-player{height:calc(100svh - 115px);min-height:560px;max-height:900px}.season-timeline .showcase-body>.showcase-award{position:absolute;right:14px;bottom:14px;z-index:5;width:min(245px,46%);min-height:70px;padding:10px 12px;background:#080d17d9;backdrop-filter:blur(5px);border:1px solid #ffffff20}.season-timeline .showcase-body>.showcase-award .showcase-award-name{font-size:19px}.season-timeline .showcase-body>.showcase-award .showcase-award-count{position:static;display:block;text-align:right;margin-top:4px}.season-timeline .showcase-info{padding-right:calc(46% + 22px)}.season-timeline .showcase-progress-row{margin-top:-4px;min-height:56px;height:56px}.award-sidebar{bottom:6px}
@media(max-width:600px){.season-timeline .achievement-player{height:auto;min-height:0;padding-bottom:20px}.season-timeline .galaxy-stage{flex:none;height:400px;margin-bottom:125px}.award-sidebar{height:112px}.season-timeline .showcase-body>.showcase-award{width:55%;right:8px;bottom:8px;padding:8px;min-height:60px}.season-timeline .showcase-body>.showcase-award .showcase-award-name{font-size:15px}.season-timeline .showcase-info{padding-right:58%;padding-left:8px}.season-timeline .showcase-title{font-size:15px}.season-timeline .showcase-detail,.season-timeline .showcase-teams{display:none}.season-timeline .showcase-progress-row{height:auto;min-height:92px}}
/* Article action aligns with the photograph, award list stays subtle. */
.season-timeline .showcase-progress-row{padding-left:8%;padding-right:290px;gap:12px}.award-sidebar{background:#0b101938;border-color:#ffffff0a;backdrop-filter:none}.award-select-button{background:#ffffff03;border-color:#ffffff18}.award-select-button[aria-pressed=true]{background:#ffce32;border-color:#ffce32}
@media(max-width:900px){.season-timeline .showcase-progress-row{padding-right:235px}}
@media(max-width:600px){.season-timeline .showcase-progress-row{padding-left:7%;padding-right:7%}}

/* The award panel grows with its content; the small rocket uses its own lane. */
.season-timeline .award-sidebar{bottom:auto;height:auto;max-height:none;overflow:visible;align-self:start}.season-timeline .award-selector{overflow:visible}.season-timeline .timeline-rocket-rail{left:52px;width:27px}.season-timeline .timeline-rocket{width:27px;height:51px}.season-timeline .showcase-heading h2{transition:transform .28s ease;transform-origin:left center}.season-timeline .rocket-passing .showcase-heading h2{transform:translateX(38px)}
@media(max-width:600px){.season-timeline .timeline-rocket-rail{left:30px;width:16px}.season-timeline .timeline-rocket{width:16px;height:32px}.season-timeline .award-sidebar{position:relative;top:auto;left:auto;right:auto;width:86%;margin:12px auto 0;height:auto;bottom:auto}.season-timeline .award-selector{flex-direction:column;overflow:visible}.season-timeline .galaxy-stage{height:auto;min-height:380px;margin-bottom:0;display:flex;flex-direction:column;align-items:center}.season-timeline .showcase-body{height:380px;flex:none}.season-timeline .award-select-button{min-width:0}.season-timeline .showcase-heading{padding-left:48px}.season-timeline .rocket-passing .showcase-heading h2{transform:translateX(22px)}}
@media(prefers-reduced-motion:reduce){.season-timeline .showcase-heading h2{transition:none}}

/* Return to the gold line; planets hide and release the rocket. */
.season-timeline .timeline-rocket-rail{left:23px}.season-timeline .showcase-heading h2,.season-timeline .rocket-passing .showcase-heading h2{transform:none!important;transition:none}.season-timeline .timeline-rocket{transition:transform .16s ease-out,opacity .12s linear}
@media(max-width:600px){.season-timeline .timeline-rocket-rail{left:8px}}
@media(prefers-reduced-motion:reduce){.season-timeline .timeline-rocket{transition:none}}

/* Close approach, gentle descent and a longer upward smoke trail. */
.timeline-rocket.is-ascending:after{left:50%;top:89%;width:13px;height:130px;border-radius:50%;background:linear-gradient(#d5e5f275,#b4cfdd38 35%,transparent 95%);transform:translateX(-50%);opacity:.8;animation:ascent-smoke 1.2s ease-in-out infinite;z-index:-1}.timeline-rocket.is-ascending:before{opacity:0;animation:none}.timeline-rocket.is-descending:after{opacity:0;animation:none}.timeline-rocket.is-landing-near:before{left:50%;top:92%;width:52px;height:18px;background:radial-gradient(ellipse,#e3cf9c88,transparent 70%);animation:descent-dust .7s ease-out infinite}.timeline-rocket.is-landing-near .rocket-flame{animation:rocket-brake .45s ease-in-out infinite;opacity:.65}
@keyframes ascent-smoke{50%{opacity:.5;transform:translateX(-50%) scaleX(1.25) scaleY(1.12)}}@keyframes descent-dust{0%{opacity:.2;transform:translate(-50%,0) scale(.5)}65%{opacity:.65}100%{opacity:0;transform:translate(-50%,8px) scale(1.7)}}
@media(max-width:600px){.timeline-rocket.is-ascending:after{width:8px;height:85px}}
@media(prefers-reduced-motion:reduce){.timeline-rocket.is-ascending:after,.timeline-rocket.is-landing-near:before{animation:none}}

/* Lunar landing dust curls outward only while the user scrolls. */
.rocket-dust{position:absolute;left:50%;top:94%;width:0;height:0;pointer-events:none}.rocket-dust:before,.rocket-dust:after{content:'';position:absolute;width:36px;height:18px;border:2px solid #dccaa66b;border-bottom-color:transparent;border-radius:50%;background:radial-gradient(ellipse,#d6c8a530,transparent 65%);opacity:0;filter:blur(1px)}.timeline-rocket.is-scrolling.is-descending .rocket-dust:before{animation:lunar-left .8s ease-out infinite}.timeline-rocket.is-scrolling.is-descending .rocket-dust:after{animation:lunar-right .8s ease-out infinite}.timeline-rocket.is-descending:before,.timeline-rocket.is-descending:after{animation:none!important;opacity:0!important}
.timeline-rocket:not(.is-scrolling) .rocket-flame{animation:none!important;opacity:0!important}.timeline-rocket:not(.is-scrolling):before,.timeline-rocket:not(.is-scrolling):after{animation:none!important;opacity:0!important}.timeline-rocket:not(.is-scrolling) .rocket-dust:before,.timeline-rocket:not(.is-scrolling) .rocket-dust:after{animation:none!important;opacity:0!important}
@keyframes lunar-left{0%{opacity:0;transform:translate(-50%,0) scale(.25) rotate(0deg)}25%{opacity:.75}100%{opacity:0;transform:translate(-190%,10px) scale(1.4) rotate(-35deg)}}@keyframes lunar-right{0%{opacity:0;transform:translate(-50%,0) scale(.25) rotate(0deg)}25%{opacity:.75}100%{opacity:0;transform:translate(90%,10px) scale(1.4) rotate(35deg)}}
@media(prefers-reduced-motion:reduce){.rocket-dust:before,.rocket-dust:after{animation:none!important}}

body>.floating-top{position:fixed!important;right:max(20px,env(safe-area-inset-right))!important;bottom:max(24px,env(safe-area-inset-bottom))!important;top:auto!important;z-index:100;width:54px!important;height:62px!important;display:flex!important;flex-direction:column;border-radius:16px;box-shadow:0 8px 24px #0007;animation:top-button-float 4s ease-in-out infinite}
@keyframes top-button-float{50%{translate:0 -5px}}@media(prefers-reduced-motion:reduce){body>.floating-top{animation:none}}

/* The award list replaces the duplicate overlay on the photograph. */
.season-timeline .showcase-info{padding-right:14px}
