/* Stadium night, illuminated crest and restrained continuous motion. */
body{background:#171027 url('/game/assets/stadium-world.webp') center top/100% auto no-repeat;background-attachment:fixed;isolation:isolate}.stadium-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#17102700 0%,#17102720 45%,#171027a8 95%)}.stadium-atmosphere:before,.stadium-atmosphere:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 4% 20%,#be9dff28,transparent 40%);animation:stadium-glow 8s ease-in-out infinite alternate}.stadium-atmosphere:after{background:radial-gradient(ellipse at 98% 65%,#ff873e29,transparent 38%);animation-delay:-4s}.stadium-atmosphere>i{position:absolute;width:4px;height:4px;background:#ffae6f;border-radius:50%;box-shadow:0 0 13px 3px #ff873e78;left:8%;top:72%;animation:stadium-spark 12s linear infinite}.stadium-atmosphere>i:nth-child(2){left:18%;top:91%;animation-delay:-3s;background:#bb97ff}.stadium-atmosphere>i:nth-child(3){left:88%;top:80%;animation-delay:-8s}.stadium-atmosphere>i:nth-child(4){left:72%;top:60%;animation-delay:-5s;background:#d1b3ff}.stadium-atmosphere>i:nth-child(5){left:42%;top:87%;animation-delay:-10s}.stadium-atmosphere>i:nth-child(6){left:95%;top:93%;animation-delay:-1s}.header{height:278px;position:relative;border-bottom-color:#c49cfc24;align-items:center;display:grid;grid-template-columns:1fr 250px 1fr}.header>.brand{grid-column:2;justify-self:center;display:flex;flex-direction:column;gap:0;position:relative;filter:drop-shadow(0 0 20px #a674ef38);animation:crest-float 6s ease-in-out infinite}.header>.brand .brand-mark{width:204px;height:217px;border-radius:20px;background-size:1190px 793.33px;background-position:-110px -49px;mask-image:radial-gradient(ellipse 70% 69% at 50% 48%,#000 55%,transparent 99%)}.header>.brand .wordmark{font-size:32px;line-height:1;letter-spacing:2px;text-shadow:0 0 18px #e0c8ff80;margin-top:-4px}.header>.brand .wordmark span{font-size:12px;letter-spacing:7px;text-align:center;padding-top:4px}.header>.brand:after{content:'';position:absolute;inset:7px 10px 24px;background:linear-gradient(115deg,transparent 20%,#ffffff30 49%,transparent 65%);clip-path:polygon(0 15%,50% 0,100% 15%,92% 66%,50% 100%,8% 66%);opacity:0;animation:crest-shine 9s ease-in-out infinite;pointer-events:none}.header>nav{display:contents}.header .discover-link{grid-column:1;grid-row:1;justify-self:start;text-shadow:0 2px 6px #000}.header .button{grid-column:3;grid-row:1;justify-self:end;background:#281b3f91;backdrop-filter:blur(12px)}.hero{padding-top:20px;min-height:530px}.hero-copy{text-shadow:0 3px 20px #100719aa}.hero-copy h1 em{filter:drop-shadow(0 0 20px #aa7fff2b)}.hero-visual{overflow:visible;perspective:1200px}.hero-image{-webkit-mask-image:none;mask-image:none;animation:arena-float 8s ease-in-out infinite;filter:drop-shadow(0 18px 25px #06020c66);transform-origin:center;will-change:transform}.hero-bottom{border-top-color:#d2acff32;background:linear-gradient(90deg,#1c112c80,#1c112c1a);backdrop-filter:blur(8px)}.hero-copy .button-primary{position:relative;overflow:hidden}.button-primary:after{content:'';position:absolute;top:-50%;bottom:-50%;left:-65%;width:40%;transform:skewX(-23deg);background:linear-gradient(90deg,transparent,#fff5,transparent);animation:button-shine 6s ease-in-out infinite;pointer-events:none}.journey{background:linear-gradient(180deg,#241733d9,#1a1028ed);backdrop-filter:blur(9px);border-color:#a779d93b}.feature{background:linear-gradient(145deg,#3b2858d9,#251933e8);border-color:#bd94f043;box-shadow:inset 0 1px 0 #e7ccff13,0 7px 0 #100a1b6b,0 10px 32px #0b05182b;transition:transform .35s,border-color .35s,box-shadow .35s}.feature:hover{transform:translateY(-7px) rotateX(2deg);border-color:#d0a6ff98;box-shadow:0 10px 0 #100a1b6b,0 0 35px #a777e326}.feature:hover .feature-art{filter:brightness(1.1)}.feature-art{transition:filter .35s}.footer{background:#160e22a3}.reveal{transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal:not(.in-view){opacity:0;transform:translateY(22px)}
@keyframes stadium-glow{from{opacity:.45}to{opacity:1}}@keyframes stadium-spark{0%{transform:translate(0,0);opacity:0}15%{opacity:.8}80%{opacity:.6}100%{transform:translate(25px,-310px);opacity:0}}@keyframes crest-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes arena-float{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-8px) rotate(.4deg)}}@keyframes crest-shine{0%,65%,100%{opacity:0}75%{opacity:.6}85%{opacity:0}}@keyframes button-shine{0%,65%{left:-65%}85%,100%{left:150%}}
@media(max-width:1050px){body{background-size:auto 1100px}.hero{min-height:580px}}
@media(max-width:700px){body{background-size:auto 850px;background-position:center top}.header{height:207px;grid-template-columns:1fr 154px 1fr}.header>.brand .brand-mark{width:145px;height:155px;background-size:850px 566.67px;background-position:-79px -35px}.header>.brand .wordmark{font-size:24px}.header>.brand .wordmark span{font-size:10px;letter-spacing:5px}.header .discover-link{display:block;font-size:12px;max-width:66px;line-height:1.5}.header .button-small{min-height:40px;padding:8px 10px;font-size:12px;gap:3px;max-width:96px;text-align:center;line-height:1.25}.header .button span[aria-hidden]{font-size:17px}.hero{min-height:0;padding-top:22px}.hero-visual{margin-bottom:4px}.hero-bottom{background:#1b102b79}.hero-description{color:#e0d0ef}.feature:hover{transform:none}.stadium-atmosphere>i{width:3px;height:3px}.footer{width:100%;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.header>.brand,.hero-image,.stadium-atmosphere:before,.stadium-atmosphere:after,.stadium-atmosphere>i,.header>.brand:after,.button-primary:after{animation:none}.motion-ready .reveal:not(.in-view){opacity:1;transform:none}.feature,.feature-art,.reveal{transition:none}.feature:hover{transform:none}}

main{overflow-x:clip}

/* Blend the original scene into the night backdrop; soften every image edge. */
.hero-visual{mix-blend-mode:lighten}
.hero-image{-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 3%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 3%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}

/* Keep the headline's full dimensions while revealing its letters. */
.type-line{display:block;white-space:pre}
h1 em .type-character{color:inherit}
h1 em .legacy-dot{color:var(--orange)}
.is-typing .type-character{opacity:0}
.is-typing .type-character.typed{opacity:1}
.type-cursor{position:relative}
.type-cursor:after{content:'';position:absolute;left:calc(100% + 3px);top:12%;height:79%;width:3px;background:var(--orange);box-shadow:0 0 12px #ff873e80;animation:typing-caret .7s step-end infinite}
@keyframes typing-caret{50%{opacity:0}}

.hero-bottom{padding-block:14px}
.level-path{flex-basis:650px;gap:12px}
.level-path>.level-step{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:82px;padding:0;background:none;border:0}
.level-step strong{font-size:14px;font-weight:500}
.level-step.level-elite strong{font-weight:700}
.level-step .tier-symbol{width:76px;height:76px;transition:transform .25s,filter .25s}
.level-step:hover .tier-symbol{transform:translateY(-4px) scale(1.06);filter:drop-shadow(0 5px 10px #b18afa50)}
.level-path>i{margin-top:-20px}
@media(max-width:700px){
  .level-path{gap:5px;flex-basis:auto}
  .level-path>.level-step{min-width:0;flex:1}
  .level-step .tier-symbol{width:60px;height:60px}
  .level-step strong{font-size:12px}
  .level-path>i{flex:0 1 20px;min-width:7px}
  .hero-bottom{padding-block:8px 14px}
}
@media(max-width:370px){
  .header{grid-template-columns:1fr 140px 1fr}
  .header .button-small{font-size:11px;padding-inline:6px}
  .level-step .tier-symbol{width:52px;height:52px}
}
@media(prefers-reduced-motion:reduce){
  .is-typing .type-character{opacity:1}
  .type-cursor:after{display:none}
  .level-step .tier-symbol{transition:none}
  .level-step:hover .tier-symbol{transform:none}
}

.landing-login{margin-top:22px;max-width:390px;text-shadow:none;font-size:14px}.landing-login summary{cursor:pointer;color:#cdbbdf;line-height:1.6}.landing-login summary strong{color:#d8c0ff;font-weight:500}.landing-login form{display:grid;gap:12px;margin-top:12px;padding:18px;background:#241833ee;border:1px solid #b595dc55;border-radius:10px}.landing-login label{display:grid;gap:6px;text-align:left;color:#deceef}.landing-login input{min-width:0;width:100%;padding:11px 12px;font:inherit;font-size:16px;background:#160d22;border:1px solid #87679e;border-radius:6px;color:#fff}.landing-login input:focus{outline:2px solid #bd9ffa;outline-offset:2px}.landing-login button{cursor:pointer;font:inherit;min-height:44px}.landing-login button:disabled{opacity:.6;cursor:wait}#landing-login-error{color:#ffb9c8;font-size:14px;line-height:1.5}.landing-login[hidden]{display:none}@media(max-width:700px){.landing-login{margin-inline:auto;text-align:center;margin-top:18px;width:100%}}

/* Align the island with the opening copy instead of centering it in a tall row. */
.hero{grid-template-rows:1fr;min-height:0;padding-bottom:18px}
.hero-visual{align-self:start;align-items:flex-start;padding-top:34px;margin-top:-12px}
.hero-image{height:auto;margin-top:0}
.arena-caption{top:6px}

/* The band fills the viewport; its contents follow the page's readable width. */
.level-band{position:relative;width:100%;background:linear-gradient(100deg,#6a3d914d,#1b1129ed 25%,#20122fec 75%,#a8593433);border-block:1px solid #c09be64d;box-shadow:0 -12px 45px #9c68d011,0 12px 36px #160a2555;backdrop-filter:blur(12px)}
.level-band .hero-bottom{background:none;backdrop-filter:none;border:0;padding-block:18px}

/* Slow light sweeps and extra sparks, without flashing the page. */
.stadium-atmosphere:before{background:radial-gradient(ellipse at 2% 28%,#d7adff55,transparent 38%),conic-gradient(from 70deg at 0% 22%,transparent 0deg,#c39aff24 9deg,transparent 19deg,#a27af02b 28deg,transparent 40deg);transform-origin:left 22%;animation:stadium-beams-left 10s ease-in-out infinite alternate;filter:blur(5px)}
.stadium-atmosphere:after{background:radial-gradient(ellipse at 98% 34%,#c4a0ff44,transparent 36%),radial-gradient(ellipse at 92% 74%,#ff924044,transparent 33%),conic-gradient(from 240deg at 100% 28%,transparent 0deg,#cbb0ff30 8deg,transparent 19deg,#ffb27820 28deg,transparent 39deg);transform-origin:right 28%;animation:stadium-beams-right 12s ease-in-out infinite alternate;filter:blur(6px)}
.stadium-atmosphere>i{box-shadow:0 0 15px 4px #ff9c4d80}
.stadium-atmosphere>i:nth-child(7){left:5%;top:48%;animation-delay:-2s;background:#d0b0ff}
.stadium-atmosphere>i:nth-child(8){left:29%;top:74%;animation-delay:-7s}
.stadium-atmosphere>i:nth-child(9){left:61%;top:84%;animation-delay:-4s;background:#d0b0ff}
.stadium-atmosphere>i:nth-child(10){left:91%;top:55%;animation-delay:-9s}
.stadium-atmosphere>i:nth-child(11){left:77%;top:92%;animation-delay:-6s;background:#d0b0ff}
.stadium-atmosphere>i:nth-child(12){left:48%;top:68%;animation-delay:-11s}
@keyframes stadium-beams-left{from{opacity:.6;transform:rotate(-3deg)}to{opacity:1;transform:rotate(3deg)}}
@keyframes stadium-beams-right{from{opacity:.55;transform:rotate(3deg)}to{opacity:.95;transform:rotate(-4deg)}}
.header>.brand{animation:crest-drift 6s ease-in-out infinite;filter:drop-shadow(0 0 26px #ad78ef66)}
.header>.brand .brand-mark{animation:crest-halo 4s ease-in-out infinite alternate}
.header>.brand:after{inset:0 0 auto;height:217px;background:linear-gradient(110deg,transparent 40%,#ffffff08 44%,#ffffff8c 49%,#ffe0b866 51%,transparent 57%);background-size:260% 100%;clip-path:polygon(4% 17%,50% 0,96% 17%,88% 68%,50% 100%,12% 68%);animation:crest-sweep 5.5s ease-in-out infinite;mix-blend-mode:screen}
@keyframes crest-drift{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-6px) rotate(.6deg)}}
@keyframes crest-halo{from{filter:drop-shadow(0 0 9px #b085ee30) brightness(1)}to{filter:drop-shadow(0 0 19px #c395ff80) brightness(1.12)}}
@keyframes crest-sweep{0%,12%{background-position:150% 0;opacity:0}20%{opacity:.8}49%{background-position:-50% 0;opacity:.8}58%,100%{background-position:-50% 0;opacity:0}}
@media(max-width:700px){
 .hero{padding-bottom:8px}
 .hero-visual{align-self:auto;align-items:center;padding-top:0;margin-top:0;margin-bottom:0}
 .hero-image{height:103%;margin-top:0}
 .level-band .hero-bottom{padding-block:10px 15px}
 .header>.brand:after{height:155px}
 .stadium-atmosphere:before,.stadium-atmosphere:after{filter:none}
}
@media(prefers-reduced-motion:reduce){
 .header>.brand,.header>.brand .brand-mark,.header>.brand:after,.stadium-atmosphere:before,.stadium-atmosphere:after,.stadium-atmosphere>i{animation:none;transform:none}
 .header>.brand:after{opacity:0}
 .stadium-atmosphere:before,.stadium-atmosphere:after{opacity:.65}
}

.header>.brand .brand-mark{background:url('/game/assets/brand-transparent.png') -25px -24px/675px 270px no-repeat!important;border-radius:0!important;box-shadow:none!important}.header>.brand{background:transparent!important}.header>.brand:after{display:none}@media(max-width:700px){.header>.brand .brand-mark{background-size:480px 192px!important;background-position:-17px -16px!important}}
.header>.brand{overflow:visible;align-items:center;text-align:center;filter:none;padding:8px 18px}.header>.brand .brand-mark{width:250px;height:250px;background:url('/game/assets/futopia-shield.png') center/contain no-repeat!important;mask-image:none!important;-webkit-mask-image:none!important;overflow:visible;filter:drop-shadow(0 0 16px #b07aea66);border-radius:0!important}.header>.brand .wordmark{display:flex;flex-direction:column;align-items:center;text-align:center;position:static;width:100%;margin:-8px 0 0;padding:0;font-size:34px;letter-spacing:1px;line-height:1.05}.header>.brand .wordmark span{width:100%;text-align:center;letter-spacing:6px;padding-left:6px}.header{min-height:300px;overflow:visible}@media(max-width:700px){.header{min-height:230px}.header>.brand .brand-mark{width:180px;height:180px}.header>.brand .wordmark{font-size:27px}.header>.brand .wordmark span{font-size:10px;letter-spacing:5px;padding-left:5px}}
.landing-topbar{background:#180f26c9;position:relative;z-index:5;padding:14px 0;backdrop-filter:blur(15px)}.landing-topbar>nav{display:flex;justify-content:space-between;align-items:center;gap:18px}.social-links,.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:7px;color:#eee2ff;background:#ffffff09;border:1px solid #b594ce40;border-radius:10px;padding:9px 11px;font:inherit;cursor:pointer;font-size:13px}.social-link b{font-size:19px;color:#d2b0ff}.social-note{text-align:center;color:#dcc8ec;font-size:14px;margin:12px 0 0}.header{height:265px;min-height:265px;border:0!important;display:flex;justify-content:center;margin-bottom:0;padding-top:0;padding-bottom:0}.header>.brand{padding:0;animation:crest-float 6s ease-in-out infinite}.header>.brand .brand-mark{width:210px;height:210px}.header>.brand .wordmark{font-size:30px;margin:-10px 0 0}.hero{padding-top:0;min-height:430px;gap:10px;align-items:start}.hero-copy{padding-top:0;align-self:start}.hero-copy h1{margin-top:18px;font-size:clamp(56px,5vw,88px)}.hero-visual{padding-top:0;margin-top:-25px;align-self:start}.hero-description{margin-top:18px}.feature-grid{gap:24px}.feature{position:relative;isolation:isolate;border-radius:20px;overflow:hidden}.feature-art{background:radial-gradient(ellipse at center,#9b69dc22,transparent 70%);position:relative;height:205px}.feature-art:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#ffffff12 48%,transparent 62%);transform:translateX(-120%);animation:feature-glint 8s ease-in-out infinite;pointer-events:none}.coach-art img{animation:feature-hover 5s ease-in-out infinite}.stadium-art{background-image:url('/game/assets/stadium-transparent.png');background-size:300% 200%;background-position:50% 100%;animation:feature-stadium 7s ease-in-out infinite}.trophy-art{background-image:url('/game/assets/competition-trophies.png');background-size:400% 200%;background-position:100% 100%;width:205px;height:205px;animation:feature-hover 4.5s ease-in-out infinite;filter:drop-shadow(0 8px 18px #ff9b3a30)}.feature-copy{position:relative;background:#261b37d9;padding:24px}.feature-copy p{font-size:16px;line-height:1.6}.feature-number{font-size:13px}.feature h3{font-size:28px}.site-footer{background:#130c20;border-top:1px solid #8b69a52c;padding:40px 0;color:#cec0db}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:35px}.footer-grid h3{font:700 16px 'DM Sans',sans-serif;color:#fff;margin:0 0 16px}.footer-grid a{display:block;margin:11px 0;font-size:14px;color:#c7b7d7}.footer-grid strong{color:#fff;font-size:20px}.footer-grid p{font-size:14px;line-height:1.6}.footer-grid small{font-size:13px}@keyframes feature-hover{0%,100%{transform:translateY(4px) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes feature-stadium{0%,100%{filter:brightness(1)}50%{filter:brightness(1.16) drop-shadow(0 0 10px #b28bff44)}}@keyframes feature-glint{0%,60%{transform:translateX(-120%)}90%,100%{transform:translateX(120%)}}@media(max-width:850px){.social-link span{display:none}.footer-grid{grid-template-columns:1fr 1fr}.landing-topbar>nav{flex-wrap:wrap;justify-content:center}.header{height:230px;min-height:230px}.header>.brand .brand-mark{width:180px;height:180px}}@media(max-width:700px){.hero{min-height:0;padding-top:8px}.hero-visual{margin-top:0;align-self:center}.hero-copy h1{font-size:clamp(48px,12vw,72px)}.feature{display:grid;grid-template-columns:115px minmax(0,1fr)}.feature-art{width:115px;height:100%;min-height:150px}.feature-copy{padding:16px}.feature h3{font-size:24px}.feature-copy p{font-size:14px}.trophy-art{width:115px;height:140px}.top-actions{justify-content:center}.footer-grid{gap:25px}.header>.brand .wordmark{font-size:26px}}@media(prefers-reduced-motion:reduce){.feature-art,.feature-art:after,.coach-art img,.trophy-art{animation:none!important;transform:none!important}}
.video-open{display:inline-block;margin:18px 0 8px;background:transparent;border:0;color:#dcc5f8;font:600 15px 'DM Sans',sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:5px}.landing-rewards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.ranking-preview,.reward-preview{padding:24px;border:1px solid #a786c647;border-radius:18px;background:#21172f}.ranking-filters{display:flex;gap:15px;margin:18px 0}.ranking-filters label{flex:1;font-size:13px;color:#dac9e8}.ranking-filters select{width:100%;display:block;margin-top:6px;padding:10px;background:#3c2853;color:white;border:1px solid #9775af;border-radius:8px;font:inherit}.landing-rewards h3{margin:10px 0;font-size:29px}.landing-rewards p{font-size:15px;line-height:1.7;color:#d4c5e0}.landing-rewards a{color:#ffb17a;font-size:14px}.landing-rank-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #8862a238;padding:10px 0}.reward-week{padding:12px 0;letter-spacing:8px;font-size:22px;color:#cdb0ee}.reward-week b{color:#ff984d}.annual-teaser{margin-top:18px;border-top:1px solid #9871b33d;padding-top:18px}.annual-teaser b{color:#dabaff}#intro-dialog{width:min(1000px,95vw);max-height:95vh;border:1px solid #aa7cdc;border-radius:16px;background:#1a1028;color:white;padding:18px;margin:auto}#intro-dialog::backdrop{background:#09040ee8}#intro-dialog video{width:100%;max-height:75vh;display:block;border-radius:10px}#intro-dialog p{font-size:13px;color:#c9b9d9;margin:10px 0}#intro-dialog a{color:#ffb482}.close-video{display:block;margin:0 0 12px auto;background:#4f3267;color:white;border:0;border-radius:8px;padding:9px 14px;cursor:pointer}@media(max-width:700px){.landing-rewards{grid-template-columns:1fr}.ranking-preview,.reward-preview{padding:18px}.reward-week{letter-spacing:5px}}

.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:26px}.hero-actions .button-primary{margin:0}.hero-actions .video-open{display:flex;align-items:center;gap:12px;margin:0;padding:4px 0;text-decoration:none;color:#eadcf9;text-align:left;line-height:1.3;font-size:16px}.video-open small{display:block;font-weight:400;color:#bca9d0;font-size:13px;margin-top:4px}.video-play{display:grid;place-items:center;width:40px;height:40px;border:1px solid #b893e0;border-radius:50%;padding-left:2px;background:#9b6ad324;transition:background .2s,transform .2s}.video-open:hover .video-play{background:#ad79e958;transform:scale(1.08)}.video-open:focus-visible{outline:3px solid #ff9848;outline-offset:6px;border-radius:4px}
