/* Release shell: a quiet frame for a vivid arcade. */
:root{--bg:#10121b;--muted:#9da4ba;--mint:#c4f878;--panel:#1a1e2c;--line:#ffffff14;color-scheme:dark}
body{background:radial-gradient(ellipse at 80% -10%,#59489325,transparent 50%),#10121b;color:#f1f2fa;font-size:14px;line-height:1.5}
button{transition:background .15s,border-color .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #c4f878;outline-offset:3px}button:disabled{opacity:.45}button,.small{min-height:42px}button:hover{filter:none;background-color:#ffffff14}.skip-link{position:absolute;top:-60px;left:16px;z-index:20;background:var(--mint);color:#10121b;padding:12px}.skip-link:focus{top:12px}
header{max-width:1440px;height:84px;margin:auto;padding:0 36px;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:24px;letter-spacing:-1px;white-space:nowrap}.brand-icon{font-size:36px}.edition{display:none}.header-actions{gap:8px;align-items:center}.small{background:#1a1e2c;border:1px solid #ffffff17;border-radius:9px;padding:10px 14px;font-size:10px;letter-spacing:.7px}.header-actions #profileButton{background:#c4f878;color:#172214;font-weight:800;border-color:#c4f878}.header-actions #music,.header-actions #sound{font-size:9px;padding:8px}.coin-balance{padding:0 10px;color:#f6d68b;max-width:160px!important}.jackpot-badge{box-shadow:none;font-size:10px}
main{max-width:1380px;padding:0 36px;margin:24px auto 0}.account-bar{font-size:11px;color:#949db4;margin-bottom:28px;align-items:center}.heading{margin-bottom:30px;gap:20px}.heading .eyebrow{font-size:9px;letter-spacing:2px;color:#b6a1ec}h1{font-size:clamp(32px,3.8vw,52px);letter-spacing:-2px;margin:9px 0}h1 em{background:none;color:var(--mint)}.heading p{color:#969db3;font-size:13px}.player-tile{display:flex;align-items:center;gap:15px}.player-tile canvas{width:66px;height:66px;background:#222639;border:1px solid var(--line);border-radius:17px}.player-tile span{display:block;color:#9ca7be;font-size:10px;letter-spacing:1px}.player-tile strong{font-size:13px;font-weight:500}
.mode-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.mode-nav button{text-align:left;border:1px solid var(--line);background:#181b28;border-radius:12px;padding:17px 20px;position:relative;overflow:hidden}.mode-nav button:after{content:'↗';position:absolute;right:18px;top:20px;color:#778099}.mode-nav span{display:block;font-size:9px;letter-spacing:1.5px;color:#939db6}.mode-nav strong{display:block;font:600 20px 'Space Grotesk',sans-serif;margin:5px 0}.mode-nav small{color:#969db3;font-size:11px}.mode-nav .mode-active{border-color:#c4f87870;background:linear-gradient(120deg,#26322b,#1b2428)}.mode-active span{color:var(--mint)}#flightMode strong{color:#aebfff}#jackpotMode strong{color:#f7cd8f}
.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:22px;align-items:start;scroll-margin-top:20px}.play-column{min-width:0}.game-shell{border:1px solid #414562;border-radius:15px;box-shadow:0 20px 60px #0003}.game-top,.game-bottom{background:#1c2030;color:#939db4}.game-top{height:48px;padding:0 16px;gap:12px}.game-kicker{font-size:8px;color:var(--mint);border:1px solid #c4f87830;border-radius:4px;padding:3px 6px}.difficulty{display:none}.game-top>div:nth-child(2){flex:1;color:#e9eafa}.game-top>div:first-child{flex:initial}.game-top #attempt{font-size:8px;color:#929bb2}#pause{width:32px;height:32px;min-height:32px}.stage{height:370px}.game-bottom{padding:0 16px;font-size:8px;height:38px}.game-bottom b{color:#c2c9dc}#overlay{background:linear-gradient(100deg,#131428d9,#15203a7a);padding:20px;text-align:center;backdrop-filter:blur(2px)}#overlay h2{font-size:34px;margin-top:14px;letter-spacing:-1px}#overlay p{font-size:12px;line-height:1.6;max-width:430px;color:#dae0f3;margin-bottom:16px}.hero-cube{margin:12px 0 0;width:36px;height:36px;font-size:24px}.overlay-tag{font-size:8px}#play,.primary{background:var(--mint);color:#172214;border:0;border-radius:9px;padding:13px 20px;font-size:11px;font-weight:800;letter-spacing:.7px}#play:hover,.primary:hover{background:#d5ff9a}#overlayFlight{background:none;color:#dde8ff;border:0;font-size:10px;margin-top:6px;min-height:32px}.start-hint{font-size:8px;color:#a5acc4;margin-top:12px}.level-label{font-size:7px;color:#e7e5ff99}.round-picker{gap:10px;margin-top:15px}.round-picker label{display:none}.round-picker select{background:#1a1e2c;border:1px solid var(--line);border-radius:8px;font-size:11px;max-width:100%;min-height:40px}.round-picker>span{font-size:10px}#resetMapScore{font-size:8px;min-height:34px;padding:7px 10px}#roundReward{display:inline-block;max-width:200px}.below{padding:15px 0}.controls,.practice{color:#949eb5;font-size:10px}.key{border-color:#353c50;color:#c0c7d8}.control-divider{background:#353c50}
.run-sidebar{background:#181c29;border:1px solid var(--line);border-radius:14px;padding:23px}.run-sidebar .eyebrow{font-size:8px}.run-sidebar h2{font-size:25px;letter-spacing:-.8px;margin:12px 0;line-height:1.15}.run-sidebar p{color:#98a3b9;font-size:12px;line-height:1.7}.campaign-meter{height:5px;background:#303748;border-radius:10px;margin:23px 0 13px;overflow:hidden}.campaign-meter div{height:100%;background:var(--mint);transition:width .3s}.sidebar-pair{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#9aa5bb;margin:12px 0}.sidebar-pair strong{color:#e5e9f7;font-size:13px;font-weight:600}.run-sidebar .primary{width:100%;margin-top:12px}.run-sidebar .micro-copy{font-size:10px;text-align:center}.coach{border-top:1px solid var(--line);padding-top:18px;margin-top:19px}.coach>span{font-size:8px;letter-spacing:1.4px;color:#a6b0c9}.coach p{font-size:11px}.coach .small{width:100%;font-size:8px}
.campaign-section{margin-top:24px;padding:24px 0 12px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.section-heading h2{font-size:26px;letter-spacing:-.8px;margin-top:6px}.section-heading .eyebrow{font-size:8px;color:#9990bc}.section-heading>span{font-size:8px;letter-spacing:1px;color:#7e889e}.campaign-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.course-card{position:relative;min-height:118px;text-align:left;display:flex;flex-direction:column;padding:13px;border:1px solid #ffffff14;border-radius:10px;background:linear-gradient(140deg,hsl(var(--course-hue) 25% 20%),#1a1e2b);overflow:hidden}.course-card:before{content:'';position:absolute;width:65px;height:65px;right:-12px;top:-18px;transform:rotate(35deg);border:8px solid #ffffff05}.course-card>span{color:#aeb8d2;font-size:10px}.course-card strong{font-size:10px;letter-spacing:.5px;line-height:1.4;margin:12px 0 6px}.course-card small{margin-top:auto;font-size:8px;color:#929fb8}.course-card.completed small{color:var(--mint)}.course-card.current{border-color:var(--mint);box-shadow:inset 0 -2px var(--mint)}.course-card:disabled{opacity:.5}.course-card.jackpot{border-color:#d6a56855}.course-card.jackpot strong{color:#f6d598}
footer{max-width:1308px;color:#657086;border-color:var(--line);font-size:8px;margin-top:22px}
dialog{background:#191d2b;border:1px solid #41485e;border-radius:18px;box-shadow:0 30px 100px #0008;padding:28px;max-height:90dvh}dialog::backdrop{background:#070911c9;backdrop-filter:blur(9px)}.profile-heading{align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.profile-heading h2{font-size:27px;margin:0}.profile-heading button{width:36px;min-height:36px;height:36px;border-radius:8px;color:#b6c0d6;font-size:24px}.outfit-fields input,.outfit-fields select,.crew-add input{background:#111622;border:1px solid #353e55;border-radius:8px;min-height:44px;font-size:14px}.outfit-fields label{color:#acb6ce;font-size:11px}dialog p{color:#aeb7cd;line-height:1.7}.save-profile{background:var(--mint);color:#172214;font-size:12px;border-radius:9px}.save-profile:hover{background:#d5ff9a}.auth-actions #openRegister{background:#262e42;color:#e5edff}#profileDialog{width:min(940px,96vw)}.wardrobe{grid-template-columns:240px minmax(0,1fr);gap:24px}.avatar-card{background:radial-gradient(ellipse at 50% 25%,#58608766,#242b3f 70%);border:1px solid #ffffff18;border-radius:12px;top:0}.avatar-card canvas{height:220px;width:240px;max-width:100%;object-fit:contain}.avatar-card strong{font-size:18px}.avatar-card p{padding:0 12px;color:#acb6ce}.locker-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px}.locker-tabs button{flex:1;background:#252b3d;border:1px solid transparent;border-radius:7px;color:#acb8d2;font-size:11px}.locker-tabs button[aria-pressed=true]{border-color:#c4f87877;color:var(--mint);background:#2a3530}.item-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:350px;margin-top:12px;gap:8px;scrollbar-color:#4c576f #171b29}.item-card{background:#212738;border:1px solid #ffffff0e;border-radius:9px;padding:8px 4px;gap:6px}.item-card canvas{background:radial-gradient(circle,#525b7977,#23293c);width:68px;height:68px}.item-card span{font-size:9px}.item-card b{font-size:8px}.item-card.selected{border-color:var(--mint);box-shadow:none}.shop-panel{margin-top:12px}.shop-panel button{background:#e8d39e;border:0;color:#2b261b;font-size:11px;border-radius:8px}.shop-panel p,.local-note{font-size:11px;color:#adb5ca}.color-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#leaderboardDialog{width:min(1050px,96vw);overflow-x:hidden}.table-scroll{overflow:auto}#leaderboardDialog table{min-width:730px;font-size:12px}th{color:#8f9eb7;font-size:9px;text-transform:uppercase;letter-spacing:.7px}th,td{border-color:var(--line);padding:12px}tbody tr:first-child{background:#c4f87809}tbody tr:hover{background:#ffffff04}.leader-avatar{background:#2a3145;border:1px solid #ffffff12}#leaderboardStatus{font-size:12px}.crew-panel{background:#141925;border-color:var(--line)}.crew-card{background:#202738}.crew-card strong{font-size:12px}.rules-grid{display:grid;gap:14px}.rules-grid section{padding:14px;border:1px solid var(--line);border-radius:10px}.rules-grid h3{margin:0;font-size:14px;color:var(--mint)}.rules-grid p{font-size:12px;margin-bottom:0}
#flappyDialog{width:min(540px,96vw)}#flappyDialog>p{font-size:12px}#flappyCanvas{width:auto;height:min(55dvh,600px);max-width:100%;aspect-ratio:3/4;object-fit:contain}#flappyStart,#flappySave{background:var(--mint);color:#182317;border:0;border-radius:9px;padding:12px 20px;font-weight:700}#flappyStatus{font-size:12px;min-height:24px}
@media(min-width:1450px){.stage{height:410px}}
@media(max-width:1050px){header{padding:14px 24px;height:auto;flex-wrap:wrap;gap:12px}.header-actions{margin-left:auto}.play-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.run-sidebar{padding:18px}main{padding:0 24px}.campaign-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.game-kicker{display:none}.player-tile strong{max-width:150px}.stage{height:340px}}
@media(max-width:800px){.play-layout{grid-template-columns:1fr}.run-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.run-sidebar .coach{display:none}.run-sidebar>h2{grid-column:1}.run-sidebar>p{grid-column:1}.run-sidebar .eyebrow{grid-column:1/-1}.run-sidebar .campaign-meter{grid-column:1/-1;margin:8px 0}.run-sidebar .primary{grid-column:2;grid-row:2/4;align-self:center}.run-sidebar .micro-copy{display:none}.campaign-section{margin-top:18px}.stage{height:350px}.header-actions #music,.header-actions #sound{min-height:32px}.player-tile{display:none}.wardrobe{grid-template-columns:200px minmax(0,1fr)}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){header{padding:14px 16px;margin:0;gap:10px}.brand{font-size:22px}.header-actions{justify-content:flex-start;gap:6px;width:100%}.header-actions .small{font-size:9px;min-height:38px;padding:8px 10px}.header-actions #music,.header-actions #sound{font-size:8px;padding:7px;min-height:32px}.coin-balance{font-size:10px;padding:0 4px}.heading{margin-bottom:20px}main{padding:0 14px;margin-top:16px}.account-bar{font-size:10px;margin-bottom:22px}h1{font-size:35px;letter-spacing:-1.6px}.heading p{font-size:12px}.mode-nav{gap:7px;margin-bottom:16px}.mode-nav button{padding:12px 10px;min-height:108px}.mode-nav span{font-size:7px;letter-spacing:.5px}.mode-nav strong{font-size:15px;line-height:1.2;margin:8px 0}.mode-nav small{font-size:9px;line-height:1.4;display:block}.mode-nav button:after{display:none}.stage{height:300px}.game-top{padding:0 10px;gap:8px;font-size:8px}.game-top #attempt{font-size:7px}#overlay{padding:14px}#overlay h2{font-size:27px}#overlay p{font-size:10px;margin-bottom:10px}.hero-cube{display:none}.overlay-tag{font-size:7px;letter-spacing:1.4px}#play{min-height:44px;padding:11px 20px}.start-hint{font-size:7px}.round-picker{gap:8px}.round-picker select{flex:1;font-size:10px}.round-picker>span{font-size:9px}#resetMapScore{margin-left:0}.below{flex-wrap:wrap;gap:12px}.controls{font-size:9px}.key{font-size:8px}.game-bottom{font-size:7px;padding:0 10px}.section-heading{align-items:flex-start}.section-heading>span{display:none}.section-heading h2{font-size:23px}.campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.course-card{min-height:112px;padding:12px}.course-card strong{font-size:9px}.run-sidebar h2{font-size:21px}.run-sidebar p{font-size:11px}.run-sidebar .primary{font-size:9px;padding:12px 8px}.sidebar-pair{font-size:10px}.wardrobe{grid-template-columns:1fr}.avatar-card{position:static;display:grid;grid-template-columns:105px 1fr;align-items:center;padding:6px 12px;text-align:left}.avatar-card canvas{width:105px;height:100px;grid-row:1/4}.avatar-card p{padding:0;margin:0}.avatar-card strong{font-size:16px}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:280px}.profile-heading h2{font-size:23px}dialog{padding:18px}.crew-card strong{font-size:11px}.profile-jackpot-badge{font-size:9px}.item-card canvas{width:64px;height:64px}footer{margin:20px 14px}.table-scroll{margin:0 -6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

footer a{color:#b7c99a;margin-left:8px}.item-grid>p{grid-column:1/-1;color:#aeb7cd;padding:12px}
/* Focused play view and off-screen menu. */
main{max-width:1240px;margin:18px auto 0}.play-layout{display:block}.stage{height:clamp(300px,57vh,580px)}.competitive-heading{margin:12px 0 20px;align-items:center}.competitive-heading .player-tile{display:flex}.competitive-heading .player-tile>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 12px}.competitive-heading #hubName{font-size:16px;font-weight:700;letter-spacing:0;color:#f0f3ff;max-width:260px;overflow-wrap:anywhere}.competitive-heading #hubRank{font:700 17px 'Space Grotesk',sans-serif;color:var(--mint);border:1px solid #c4f87855;background:#c4f8780c;border-radius:7px;padding:3px 10px;max-width:none}.competitive-heading #hubScore{grid-column:1/-1;font-size:11px;color:#9aaac5}.competitive-heading canvas{width:58px;height:58px}.account-bar{font-size:10px;margin-bottom:12px}#quickRankings{border-color:#c4f87855;color:var(--mint)}#menuButton{font-weight:700;min-width:100px}body>footer{margin-top:18px;padding-top:14px}.rank-label{color:var(--mint);font-size:11px}
#menuDialog{width:min(720px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;margin:0 0 0 auto;border-radius:20px 0 0 20px;padding:26px;overscroll-behavior:contain}#menuDialog .profile-heading{position:sticky;top:-26px;z-index:2;background:#191d2b;padding-top:14px}#menuDialog .header-actions{display:grid;grid-template-columns:repeat(3,1fr);justify-content:stretch;margin-bottom:22px}#menuDialog .header-actions button{min-height:46px}#menuDialog #leaderboardButton{color:var(--mint);border-color:#c4f87866}#menuDialog .coin-balance{grid-column:1/-1;grid-row:1;padding:0;text-align:right;max-width:none!important}#menuDialog .mode-nav{margin-bottom:18px}#menuDialog .run-sidebar{display:block;margin-top:12px}#menuDialog .campaign-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#menuDialog .coach{display:block}#menuDialog .menu-intro{font-size:12px}.leader-self{padding:12px 16px;background:#c4f8780a;border:1px solid #c4f87844;border-radius:10px;color:var(--mint)}tr.your-rank{background:#c4f87812;box-shadow:inset 3px 0 var(--mint)}
@media(max-width:650px){header{flex-wrap:nowrap;padding:12px 16px;height:65px;min-height:65px}main{padding:0 12px;margin-top:12px}.competitive-heading{gap:8px}.competitive-heading .player-tile{gap:9px}.competitive-heading .player-tile>div{gap:4px 7px}.competitive-heading #hubName{font-size:13px;max-width:130px}.competitive-heading #hubRank{font-size:12px;padding:3px 6px}.competitive-heading #hubScore{font-size:9px}.competitive-heading canvas{width:42px;height:42px}#quickRankings{font-size:8px;padding:9px;max-width:90px}.stage{height:clamp(300px,57dvh,480px)}#menuDialog{padding:18px;width:100vw;border-radius:0}#menuDialog .profile-heading{top:-18px}#menuDialog .campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#menuDialog .section-heading h2{font-size:22px}#menuDialog .header-actions{width:100%}.avatar-card .rank-label{grid-column:2}}

#verticalDialog{width:min(760px,96vw)}#verticalCanvas{width:auto;height:min(58dvh,640px);max-width:100%;aspect-ratio:21/32;object-fit:contain;margin:auto;border-radius:14px}#verticalDialog>p{font-size:12px}#verticalMaps{grid-template-columns:repeat(4,minmax(0,1fr))}#verticalMaps button{min-height:76px;font-size:10px}#menuDialog .mode-nav{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:550px){#verticalMaps{grid-template-columns:repeat(2,minmax(0,1fr))}}

[hidden]{display:none!important}.vertical-stage{display:flex;justify-content:center;position:relative;background:radial-gradient(ellipse at center,#302044,#10131e);overflow:hidden}.vertical-stage #verticalCanvas{display:block;width:auto;height:min(67dvh,720px);max-width:100%;aspect-ratio:21/32;object-fit:contain;margin:0;border-radius:0;touch-action:none}.vertical-actions{position:absolute;bottom:18px;left:0;right:0;text-align:center;pointer-events:none}.vertical-actions button{pointer-events:auto}#verticalPanel .game-bottom{gap:12px}#verticalStatus{font-size:11px}.vertical-menu{margin:20px 0}.vertical-menu p{font-size:12px;color:#aab5cd}#verticalMaps{margin-top:12px}@media(max-width:550px){.vertical-stage #verticalCanvas{height:min(64dvh,640px);max-width:100%}#verticalPanel .game-top{font-size:10px}#verticalStatus{font-size:10px}}
