*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#168fc1;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff4a6;outline-offset:4px}[hidden]{display:none!important}button{touch-action:manipulation}h1,h2,h3,p{overflow-wrap:break-word}button:active{filter:brightness(.97)}
#shell{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden}#arena{display:block;width:100%;height:100%;touch-action:none;outline:0;contain:strict}
/* Only three prepared images move here. No simulation or animation-frame loop. */
#lobby-backdrop{position:absolute;inset:0;background:#69d2e4 url('/assets/game/lagoon-menu.webp') center/cover no-repeat;overflow:hidden;pointer-events:none}
.menu-swimmer{position:absolute;width:min(72vw,850px);left:0;will-change:transform;animation:menu-drift 48s linear infinite;opacity:.9}.menu-swimmer img{display:block;width:100%;height:auto}.swimmer-one{top:9%;animation-delay:-12s}.swimmer-two{top:58%;animation-duration:58s;animation-delay:-37s;animation-direction:reverse}.swimmer-two img{transform:scaleX(-1)}.swimmer-three{top:81%;width:min(54vw,660px);animation-duration:41s;animation-delay:-22s}.menu-paused .menu-swimmer,.needs-rotation .menu-swimmer{animation-play-state:paused}
@keyframes menu-drift{from{transform:translate3d(-105%,0,0)}to{transform:translate3d(110vw,0,0)}}
@media(prefers-reduced-motion:reduce){.menu-swimmer{animation:none;will-change:auto}.swimmer-one{left:-15%}.swimmer-two{left:68%}.swimmer-three{left:30%}}
.topbar{position:absolute;z-index:5;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px max(28px,env(safe-area-inset-right)) 12px max(28px,env(safe-area-inset-left));pointer-events:none}.wordmark{display:flex;align-items:center;gap:5px;font-size:1.125rem;letter-spacing:-.4px;text-decoration:none;color:#fff;font-weight:650;text-shadow:0 2px 2px #114b82;pointer-events:auto}.wordmark span{color:#ffe06c}.wordmark i{font-style:normal;color:#ffe06c}.top-actions{display:flex;gap:10px;pointer-events:auto}.icon-button{display:grid;place-items:center;width:43px;height:43px;border:2px solid #d0f5ff;border-radius:12px;background:linear-gradient(#43ccef,#147ab5);box-shadow:0 4px 0 #164c81,inset 0 2px #ffffff80;font-size:1.5625rem;text-shadow:0 2px #126795}.icon-button:hover{filter:brightness(1.12)}
.overlay{position:absolute;inset:0;z-index:3;overflow:auto;display:flex;align-items:center;justify-content:center;padding:80px max(30px,env(safe-area-inset-right)) 25px max(30px,env(safe-area-inset-left));background:linear-gradient(180deg,#17499308,#11387826)}
.lobby-card{width:min(1120px,100%);display:grid;grid-template-columns:minmax(180px,.85fr) minmax(320px,1.85fr) minmax(170px,.75fr);gap:18px 22px;align-items:center}.menu-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.menu-heading small{display:block;letter-spacing:2px;font-size:0.75rem;text-shadow:0 2px #205285;margin-bottom:7px}.menu-heading h1{font-weight:700;font-size:clamp(32px,4.6vw,62px);letter-spacing:-1.6px;line-height:1;margin:0;text-shadow:0 5px #12557d,2px 0 #12557d,-2px 0 #12557d,0 -2px #12557d}.menu-heading h1 em{font-style:normal;color:#ffe070}.best-plaque{display:flex;align-items:center;gap:10px;border:2px solid #d8f5ff;padding:12px 18px;background:linear-gradient(#268cbd,#13558c);border-radius:13px;box-shadow:0 5px 0 #154b7699,inset 0 2px #ffffff4d;white-space:nowrap}.best-plaque>span{color:#ffe075;font-size:1.875rem;text-shadow:0 3px #a56025}.best-plaque strong{font-size:1.25rem;letter-spacing:.5px}
.player-dock{display:grid;gap:12px;padding:18px;border:2px solid #c2edff;background:linear-gradient(160deg,#165f9cf5,#233e82f2);border-radius:19px;box-shadow:0 6px 0 #143d7199,inset 0 2px #ffffff55}.name-form>label{display:block;font-size:0.75rem;letter-spacing:1px;margin-bottom:7px;color:#d6f3ff}.name-row{display:flex;gap:5px}.name-row input{width:0;min-width:0;flex:1;background:#f6fcff;color:#153967;padding:11px 9px;border:2px solid #113d74;border-radius:8px;font-size:1rem}.name-row button{font-size:0.8125rem;padding:8px;background:#17a9d9;border:1px solid #81e7ff;border-radius:8px}.name-form p{font-size:0.75rem;line-height:1.4;margin:7px 0 0;color:#c1e5fa}.text-button{display:block;background:transparent;color:#d7f2ff;text-decoration:underline;text-underline-offset:4px;font-size:0.875rem;padding:8px;margin:8px auto 0}.name-form .text-button{font-size:0.75rem;color:#ffe590}
.dock-button{display:flex;align-items:center;gap:12px;text-align:left;padding:13px 11px;border:2px solid #72d3ef;border-radius:12px;background:linear-gradient(#2499c9,#11649f);box-shadow:0 4px 0 #0b3870,inset 0 2px #ffffff45;font-size:1.25rem;font-weight:550}.dock-button small{display:block;color:#c9f1ff;font-size:0.75rem;font-weight:400;margin-top:3px}.dock-icon{font-size:2.3125rem;line-height:1;color:#e5ffff;text-shadow:0 3px #145692}.dock-tip{text-align:center;font-size:0.8125rem;line-height:1.55;color:#d4eafb;margin:0}
.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;border:2px solid #104e72;border-radius:12px;padding:12px 18px;font-weight:600}.primary{background:linear-gradient(#78ef62 0,#31d94e 45%,#10ac48 100%);box-shadow:0 5px 0 #095c43,inset 0 3px #e0ffbfa6;color:white;text-shadow:0 2px #087434;font-size:1.375rem}.primary:hover{filter:brightness(1.07)}.primary:active,.secondary:active{transform:translateY(2px);box-shadow:0 2px 0 #104272}.secondary{font-size:0.9375rem;background:linear-gradient(#39bce3,#1786bd);border-color:#144b7d;box-shadow:0 4px 0 #104272,inset 0 2px #c8f5ff96}.snake-showcase{min-width:0;padding:18px 21px 13px;border:3px solid #e2fbff;border-radius:24px;background:linear-gradient(140deg,#5bccede8,#376ebbd9);box-shadow:0 7px 0 #164b81a6,inset 0 3px #ffffff80;position:relative}.showcase-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.showcase-heading>span{font-size:0.8125rem;letter-spacing:1.7px;color:#edfaff;font-weight:550;text-shadow:0 2px #1f66a0}.showcase-heading>b{color:#164b7a;background:#e5ffffcf;padding:5px 12px;border-radius:16px;font-size:0.9375rem;font-weight:500}.snake-preview{margin:4px -14px 0;aspect-ratio:1000/280;display:flex;align-items:center}.snake-preview img{display:block;width:100%;height:auto}fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:0.8125rem;color:#e2f7ff;padding:0;margin-bottom:8px}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.character{cursor:pointer;position:relative;display:flex;align-items:center;flex-direction:column;background:linear-gradient(#3561a8,#20396b);border:2px solid #74b5e0;border-radius:13px;padding:5px 4px 8px;box-shadow:0 4px 0 #17447d;transition:transform .12s}.character input{position:absolute;opacity:0;width:1px;height:1px}.character:has(input:checked){border-color:#fff6b1;background:linear-gradient(#258ab0,#216194);box-shadow:0 4px 0 #b88339,inset 0 0 0 2px #ffe77c}.character:has(input:focus-visible){outline:3px solid #fff;outline-offset:3px}.character:hover{transform:translateY(-2px)}.character canvas{display:block;width:100%;max-width:82px;height:auto}.character strong{font-size:0.9375rem;font-weight:500;color:#fff;text-shadow:0 2px #153c69}.quick-play{font-size:2.125rem;font-weight:700;color:#653f13;text-shadow:0 2px #fff2a7;background:linear-gradient(#fff078,#ffd443 45%,#ffb829);border-color:#80502b;box-shadow:0 5px 0 #9c5229,inset 0 3px #fffbd2;padding:12px;margin-top:17px;border-radius:14px;line-height:1.1;letter-spacing:.5px}.quick-play span{font-size:1.75rem}.play-note{font-size:0.75rem;line-height:1.2;text-align:center;margin:9px 0 0;color:#effaff}
.career-strip{display:grid;gap:15px;min-width:0;align-self:stretch;align-content:center}.career-strip>button{position:relative;min-width:0;text-align:center;padding:15px 10px;background:linear-gradient(155deg,#2796cf,#17508d);border:2px solid #c0efff;border-radius:16px;box-shadow:0 5px 0 #104976aa,inset 0 3px #ffffff70}.career-strip>button:last-child{background:linear-gradient(145deg,#826fdf,#503c98)}.career-strip strong{display:block;font-size:1.125rem;font-weight:550;color:#fff}.career-strip span:not(.feature-icon){display:block;font-size:0.75rem;color:#d8f0ff;margin-top:5px}.feature-icon{display:block;color:#ffe476;font-size:2.0625rem;line-height:1;margin:0 0 5px;text-shadow:0 3px #7c5333}.career-strip b{display:block;font-size:0.8125rem;font-weight:500;color:#fff0a1;margin-top:6px}.career-strip progress{display:block;width:100%;height:8px;margin-top:8px}.power-tip{grid-column:1/-1;margin:0;text-align:center;font-size:0.75rem;color:white;text-shadow:0 1px 3px #123a64}.error{grid-column:1/-1;border:1px solid #ffe2ba;background:#762c54ee;border-radius:10px;padding:10px;font-size:0.875rem;color:#fff;margin:0}
/* All secondary screens use the same bright arcade panels. */
.small-overlay{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;overflow:auto;background:#12325caa;padding:24px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.dialog{width:min(460px,100%);padding:26px;background:linear-gradient(150deg,#267eae,#203e81);border:3px solid #bbebff;border-radius:22px;box-shadow:0 8px 0 #0c375d80,inset 0 3px #e4f9ff66}.dialog h2{font-size:2rem;font-weight:600;line-height:1.1;margin:0 0 15px;text-shadow:0 3px #16467b}.dialog p{color:#dcf1ff;font-size:1rem;line-height:1.45}.dialog>.primary,.dialog>.secondary{margin-top:15px}.dialog-kicker{display:block;color:#aeeeff;font-size:0.75rem;letter-spacing:2px;margin-bottom:6px}.panel-heading{display:flex;gap:15px;align-items:center;margin-bottom:21px}.panel-heading h2{margin:4px 0 0}.panel-heading small{font-size:0.75rem;color:#c6edff;letter-spacing:1.3px}.back-button{width:46px;height:42px;flex-shrink:0;background:linear-gradient(#66dff1,#278ec2);border:2px solid #b9edff;border-radius:12px;font-size:1.6875rem;box-shadow:0 3px #0b4d80}.party-dialog,.rooms-dialog{width:min(840px,100%)}.party-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.party-choice{min-width:0;display:flex;flex-direction:column;background:linear-gradient(#13528fe8,#4294b792);border:2px solid #9be5ff;border-radius:15px;overflow:hidden;padding:0 22px 22px}.party-choice h3{font-size:1.625rem;font-weight:550;text-align:center;background:#163d7a;margin:0 -22px 16px;padding:12px 8px;text-shadow:0 2px #102e59}.party-choice img{display:block;width:100%;height:auto;margin:-5px 0 0}.party-choice p{font-size:1.0625rem;text-align:center;margin:7px 0 17px}.party-choice>.primary{margin-top:auto}.party-note{font-size:0.8125rem!important;text-align:center;margin-bottom:0}#join-form{margin-top:auto}#join-form>label{display:block;font-size:0.75rem;letter-spacing:1.5px;text-align:center;color:#e4f7ff;margin-bottom:7px}.join-row input{display:block;width:100%;padding:12px 8px;text-align:center;letter-spacing:7px;text-transform:uppercase;font-size:1.75rem;font-weight:600;border:2px solid #173c6e;border-radius:9px;background:#f8fdff;color:#163e69;min-width:0}.join-row input::placeholder{color:#9cb4cd}#room-help{display:block;font-size:0.75rem;color:#c7e9fb;margin:7px 0 15px;text-align:center}.check-row{display:flex;align-items:center;gap:11px;font-size:1.0625rem;margin:18px 0}.check-row input{width:23px;height:23px;accent-color:#68ed9b}.count-label,.volume-label{display:flex;justify-content:space-between;font-size:1rem}.volume-label output,.count-label output{color:#ffe27c}input[type=range]{width:100%;accent-color:#ffda72;margin:18px 0 5px}.graphics-label{display:block;margin:18px 0 8px}#graphics{width:100%;padding:11px;color:#16416a;background:#e5f7ff;border:2px solid #134c7c;border-radius:9px;font-size:1rem}.graphics-status{font-size:0.8125rem!important;margin:10px 0!important}.public-rooms{padding:15px;background:#123f7c70;border:1px solid #87d8f496;border-radius:14px}.rooms-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.rooms-heading h3{font-size:1.25rem;margin:0}.rooms-heading button{width:auto;padding:8px 14px}.public-rooms p{font-size:0.875rem}#room-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:280px;overflow:auto}.room-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;border:1px solid #69bce3;background:#1b629b}.room-row>div{flex:1;min-width:0}.room-row strong{font-size:1rem;font-weight:500}.room-row small{display:block;color:#c5e8fa;font-size:0.75rem;margin-top:3px}.room-row button{padding:10px 14px;border-radius:8px;background:linear-gradient(#ffeb83,#ffbb34);color:#634215;font-weight:600}.party-roster{display:grid;gap:6px;margin:12px 0;max-height:145px;overflow:auto}.party-member{display:flex;align-items:center;gap:10px;padding:5px 9px;background:#1b4f83;border-radius:8px;font-size:0.875rem}.party-member img{width:78px;height:auto}.party-member b{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-member span{color:#e4d88a;font-size:0.75rem}
progress{appearance:none;accent-color:#ffd369;border:1px solid #113f78;border-radius:8px;overflow:hidden;background:#174779}progress::-webkit-progress-bar{background:#174779;border-radius:8px}progress::-webkit-progress-value{background:linear-gradient(#fff39b,#ffca45);border-radius:8px}progress::-moz-progress-bar{background:#ffce55;border-radius:8px}
/* Game HUD: crisp outlines and compact panels leave the arena visible. */
#hud{position:absolute;inset:0;pointer-events:none}.score-card{position:absolute;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);text-align:center;min-width:180px;color:white;text-shadow:0 3px #164c7b,2px 0 #164c7b,-2px 0 #164c7b,0 -2px #164c7b}.score-card small{display:block;font-size:0.8125rem;letter-spacing:.5px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-card strong{display:block;font-size:4.625rem;font-weight:650;line-height:1;margin:2px 0;font-variant-numeric:tabular-nums}.score-card>span{font-size:1.1875rem;font-weight:550}.run-stats{display:flex;justify-content:center;gap:9px;font-size:0.6875rem;margin-top:4px}.leader-caption{position:absolute;top:15px;left:max(18px,env(safe-area-inset-left));display:flex;align-items:center;gap:8px;max-width:215px;text-shadow:0 2px #244f76}.leader-caption small{display:block;font-size:0.625rem;letter-spacing:1px}.leader-caption b{display:block;font-size:0.875rem;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beacon-mini{font-size:2rem;color:#ffdc68;text-shadow:0 3px #966022}.room-chip{position:absolute;left:max(18px,env(safe-area-inset-left));top:66px;font-size:0.6875rem;background:#1c568357;border:1px solid #def7ff59;border-radius:8px;padding:6px 8px;max-width:210px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.room-chip button{background:none;padding:2px 0;pointer-events:auto;white-space:nowrap}.room-chip b{letter-spacing:2px;font-size:0.8125rem}.room-chip small{font-size:0.5625rem}.room-chip #player-count{width:100%;font-size:0.625rem}.room-chip #connection-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ecffff}.leaderboard{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:174px;padding:7px 9px;background:#216095a8;border:2px solid #ddf7ffd6;border-radius:9px;box-shadow:inset 0 0 0 2px #96d9f448;pointer-events:auto}.leaderboard h2{font-size:0.625rem;font-weight:550;letter-spacing:1.3px;margin:0 0 5px;color:#dcf6ff}.leaderboard ol{list-style:none;margin:0;padding:0}.leaderboard li{display:flex;gap:5px;align-items:center;font-size:0.75rem;line-height:1.2;margin:3px 0;min-width:0}.leaderboard .rank{width:17px;min-width:17px;color:#e5f6ff}.leaderboard .pip{width:4px;height:4px;border-radius:50%;flex-shrink:0}.leaderboard .who{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard b{font-weight:550;flex-shrink:0}.leaderboard .own{padding:2px 3px;margin-inline:-3px;border-radius:3px;background:#f2fcff;color:#144675}.leaderboard .own .rank{color:#144675}#minimap{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:24px;width:120px;height:88px;background:#20618963;border:2px solid #d2f5ff91;border-radius:10px}#hint{position:absolute;bottom:61px;left:50%;transform:translateX(-50%);max-width:44%;text-align:center;color:#fff;font-size:0.75rem;text-shadow:0 1px 2px #144771}.arena-exit{position:absolute;bottom:max(9px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);pointer-events:auto;background:#19578d9e;border:1px solid #ceefffb3;border-radius:20px;padding:7px 23px;font-size:0.8125rem;color:white}#boost-meter{position:absolute;left:50%;bottom:45px;transform:translateX(-50%);width:min(245px,34%);text-align:center;pointer-events:none}#boost-label{display:block;color:#fff;font-size:0.625rem;text-shadow:0 1px #184479;margin-bottom:4px}#boost-meter>div{height:5px;border-radius:10px;background:#285b83ad;overflow:hidden}#boost-fill{display:block;width:100%;height:100%;background:#ffea8a;transform-origin:left center}
#touch-controls{position:absolute;inset:0;pointer-events:none;z-index:6}#joystick{position:absolute;left:max(27px,env(safe-area-inset-left));bottom:max(27px,env(safe-area-inset-bottom));width:125px;height:125px;border-radius:50%;background:#d9f5ff54;border:4px solid #eafaffbb;box-shadow:inset 0 0 0 7px #a7dfed23;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}#stick{position:absolute;width:49px;height:49px;left:34px;top:34px;border-radius:50%;background:linear-gradient(#fff,#dff4ff);box-shadow:0 3px 0 #4991ac4f;border:2px solid #fff;touch-action:none}#joystick span{position:absolute;bottom:11px;left:0;right:0;text-align:center;font-size:0.625rem;letter-spacing:1px;color:#fff8}#boost{position:absolute;right:max(31px,env(safe-area-inset-right));bottom:max(30px,env(safe-area-inset-bottom));width:96px;height:96px;border-radius:29%;border:4px solid #effdffcf;background:#d9f6ff65;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:2.875rem;line-height:1;box-shadow:inset 0 0 0 6px #c0eafb2e;color:#fff}#boost small{font-size:0.6875rem;letter-spacing:1px;margin-top:4px}#boost.pressed{background:#e2fbffa8}#boost.empty{opacity:.6}#toast{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) scale(.95);max-width:80%;padding:12px 20px;border:2px solid #c9f4ff;border-radius:13px;background:#154777ef;color:white;z-index:20;font-size:1rem;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;text-align:center}#toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.loading-screen{position:absolute;inset:0;z-index:25;display:grid;place-items:center;background:linear-gradient(#168fc1bb,#174580b8),url('/assets/game/lagoon-menu.webp') center/cover}.loading-card{width:min(410px,88%);text-align:center}.loading-title{font-size:2.875rem;font-weight:650;text-shadow:0 4px #17477c}.loading-title em{font-style:normal;color:#ffe179}.loading-card img{margin-top:18px}.loading-card p{font-size:1rem}.loading-card progress{width:100%;height:17px}.loading-card .secondary{margin-top:20px}.rotate-screen{position:absolute;inset:0;z-index:30;display:grid;place-items:center;overflow:auto;padding:24px;background:#164b83}.rotate-card{width:min(340px,100%);text-align:center}.rotate-icon{width:96px;height:96px;margin:0 auto 18px;color:#ffe37d}.rotate-card h2{font-size:1.8125rem;line-height:1.15;margin:0 0 12px}.rotate-card p{font-size:1rem;line-height:1.45;color:#d6efff}.rotate-card .primary{margin:22px 0 16px}.rotate-card small{display:block;color:#bfdef5;font-size:0.75rem;line-height:1.5}.needs-rotation>.topbar,.needs-rotation>#lobby,.needs-rotation>#hud,.needs-rotation>#touch-controls,.needs-rotation>.small-overlay{visibility:hidden;pointer-events:none}.is-phone #hint,.is-phone #minimap{display:none}
@media(pointer:coarse) and (orientation:portrait) and (max-width:600px){#rotate-screen[hidden]{display:grid!important}#shell>.topbar,#shell>#lobby,#shell>#hud,#shell>#touch-controls,#shell>.small-overlay{visibility:hidden;pointer-events:none}}
.career-dialog{max-width:690px;padding:24px;background:linear-gradient(150deg,#174f81,#1c3566);border-color:#a2dffd80}.career-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.career-dialog header h2{margin:3px 0 12px}.career-dialog header small{font-size:0.6875rem;letter-spacing:1.5px;color:#bbdeff}.career-dialog header button{width:auto;padding:9px 18px;margin:0}.career-tabs{display:flex;gap:8px;border-bottom:1px solid #9cc6e75c;padding-bottom:12px}.career-tabs button{flex:1;font-size:0.875rem;background:#0e2c53;color:#c8def4;padding:11px 8px;border-radius:10px}.career-tabs [aria-selected=true]{background:#a7efdf;color:#153951}#career-status{font-size:0.75rem;color:#d0e5fc;margin:10px 0}.level-summary{display:flex;justify-content:space-between;align-items:center;margin:16px 0 9px}.level-summary strong{font-size:1.625rem;color:#ffdf83}.level-summary span{font-size:0.875rem}#career-xp-bar{width:100%;height:9px}.quest-list{display:grid;gap:10px;margin-top:16px}.quest-card{padding:14px;background:#2371a178;border:1px solid #70c5e488;border-radius:10px}.quest-card strong{display:block;font-size:1rem;font-weight:500}.quest-card progress{display:block;width:100%;height:7px;margin:10px 0 7px}.quest-card span{display:block;font-size:0.75rem;color:#d4e6f9}.quest-card.complete{border-color:#8bedb1}.quest-card.complete span{color:#a4f3c0}.career-note{font-size:0.75rem!important;line-height:1.5;color:#c6ddf5!important;margin-bottom:0}.daily-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.daily-heading h3{font-size:1.4375rem;font-weight:500;margin:12px 0}.daily-heading button{font-size:0.8125rem}.daily-leaders{list-style:none;padding:0;margin:15px 0}.daily-leaders li{display:flex;align-items:center;gap:14px;padding:10px 12px;background:#11315b80;border-bottom:1px solid #81c9ec35;font-size:1rem}.daily-leaders li span{width:25px;color:#aee4f6}.daily-leaders li strong{flex:1;min-width:0;text-overflow:ellipsis;overflow:hidden}.daily-leaders li b{font-weight:500;color:#ffdf92}.daily-leaders .own{background:#2b6378}#daily-status{font-size:0.8125rem;line-height:1.4}.season-banner{background:linear-gradient(125deg,#316799,#6949ad);padding:20px;border-radius:14px;margin-top:15px}.season-banner>small{font-size:0.75rem;letter-spacing:2px;color:#d8e8ff}.season-banner h3{font-size:1.875rem;font-weight:500;margin:6px 0}.season-banner p{font-size:0.75rem;margin:8px 0;color:#d4e6fb}.season-banner strong{font-size:1.0625rem;color:#ffe590}.season-banner progress{display:block;width:100%;height:8px;margin:12px 0}.season-milestones{display:flex;justify-content:space-between;gap:10px;font-size:0.75rem;color:#c0c9e8}.season-milestones .earned{color:#ffe68b}.styles-title{font-size:1.1875rem;font-weight:500}.finish-list{display:flex;gap:10px}.finish{flex:1;padding:15px 8px;border:1px solid #609bbb;border-radius:12px;font-size:0.8125rem;background:#225271;color:#d6edf9}.finish.pearl{background:linear-gradient(125deg,#537c9f,#888fc6)}.finish.sunset{background:linear-gradient(125deg,#9062a9,#b77160)}.finish:disabled{opacity:.5}.finish.selected{border-color:#d8ffad;color:#ecffca;box-shadow:inset 0 0 0 1px #d8ffad}
#death .results-dialog{max-width:1000px;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px 18px;padding:22px;background:linear-gradient(145deg,#174e80,#263773);border-color:#99d5f5b0}#death .results-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}#death .results-heading h2{margin:4px 0;font-size:1.875rem}#death .results-heading small{font-size:0.625rem;letter-spacing:2px;color:#b2d7f6}#death #death-reason{max-width:36%;font-size:0.8125rem;margin:0}#death .round-score{margin:0 0 8px;display:flex;gap:9px;align-items:baseline;justify-content:center}#death .round-score strong{font-size:2.625rem}#death .round-score span{font-size:0.75rem}#death .results-table{margin:0;font-size:0.8125rem;grid-column:auto;grid-row:auto}#death .results-table th,#death .results-table td{padding:9px 6px}#death .result-summary,#death .result-quests,#death .result-season{min-width:0;padding:13px;border:1px solid #82bce35c;border-radius:12px;background:#17366587}#death h3{font-size:1.25rem;font-weight:500;margin:0 0 9px}#death .compact{gap:7px;margin-top:0}#death .quest-card{padding:8px;border-radius:8px}#death .quest-card strong{font-size:0.75rem}#death .quest-card progress{height:5px;margin:6px 0 4px}#death .quest-card span{font-size:0.625rem}#death .result-season small{font-size:0.625rem;color:#c7dbf8;letter-spacing:1px}#death .result-season h3{font-size:1.375rem;color:#ffde8f;margin-top:5px}#death .result-season>strong{font-size:1.5rem}#death .result-season p{font-size:0.75rem;line-height:1.4;margin:7px 0}#death .result-season progress{width:100%;height:7px}#death #revive-note{grid-column:1/-1;font-size:0.8125rem;line-height:1.3;margin:0}#death .result-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px}#death .result-actions button{margin:0;grid-row:auto;grid-column:auto;max-width:300px;font-size:1rem;padding:12px 18px}#death .result-actions .text-button{width:auto}
/* Match the quests, season and results cards to the new arcade surfaces. */
.career-dialog,#death .results-dialog{width:min(1000px,100%);background:linear-gradient(150deg,#267eae,#203e81);border:3px solid #bbebff;box-shadow:0 8px 0 #0c375d80,inset 0 3px #e4f9ff66}.career-dialog{max-width:750px}.career-tabs button{border:2px solid #82cef2;background:linear-gradient(#228fc8,#16609e);box-shadow:0 3px #10447c}.career-tabs [aria-selected=true]{background:linear-gradient(#fff196,#ffc743);color:#6c471b;border-color:#fff0aa}.quest-card{border:2px solid #8fdcf6;background:linear-gradient(120deg,#288ebb,#1c669d);box-shadow:inset 0 2px #d7f7ff40}.quest-card progress{height:10px}.quest-card.complete{background:linear-gradient(120deg,#16897e,#1f6397)}.season-banner{border:2px solid #e8d8ff;background:linear-gradient(135deg,#597ad2,#7853b3);box-shadow:inset 0 3px #f2e7ff45}.season-milestones span{border:1px solid #c2b2f975;padding:9px 6px;border-radius:7px;background:#363e8b77}.season-milestones .earned{background:#8d6739;border-color:#ffe183}.finish{border:2px solid #9bdeee;box-shadow:inset 0 2px #ffffff45}.daily-leaders li{border:1px solid #75c7ed;border-radius:7px;margin:5px 0;background:#1e689b}.daily-leaders .own{background:#e1f8ff;color:#164c77}.daily-leaders .own span,.daily-leaders .own b{color:#164c77}.results-table{width:100%;border-collapse:collapse}.results-table th,.results-table td{text-align:right;border-bottom:1px solid #ffffff25}.results-table th:first-child{text-align:left}.results-table td{color:#ffea8d}.results-table thead{color:#c4e9ff}.result-summary,.result-quests,.result-season{box-shadow:inset 0 2px #8bd2f438}.round-score strong{color:#ffeb91;font-weight:650}.round-score span{color:#d7efff}
@media(orientation:landscape) and (max-height:600px){
 .topbar{padding:9px max(18px,env(safe-area-inset-right)) 8px max(18px,env(safe-area-inset-left))}.wordmark{font-size:0.9375rem}.icon-button{width:34px;height:34px;font-size:1.3125rem;border-radius:10px}.top-actions{gap:8px}.overlay{padding:52px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));align-items:flex-start}.lobby-card{grid-template-columns:minmax(160px,.86fr) minmax(250px,1.8fr) minmax(136px,.72fr);gap:10px 13px;max-width:1050px}.menu-heading small{display:none}.menu-heading h1{font-size:1.9375rem;letter-spacing:-.8px;text-shadow:0 3px #12557d,1px 0 #12557d,-1px 0 #12557d,0 -1px #12557d}.best-plaque{padding:5px 12px;border-radius:9px;gap:7px;box-shadow:0 3px #154b76a6}.best-plaque>span{font-size:1.4375rem}.best-plaque strong{font-size:0.9375rem}.player-dock{padding:10px;gap:9px;border-radius:13px}.name-form>label{font-size:0.625rem;margin-bottom:4px}.name-row input{padding:7px 6px;font-size:1rem}.name-row button{font-size:0.6875rem;padding:5px}.name-form p{font-size:0.625rem;line-height:1.25;margin-top:5px}.dock-button{padding:8px 7px;gap:7px;font-size:1rem;border-radius:9px}.dock-icon{font-size:1.6875rem}.dock-button small{font-size:0.625rem;margin-top:2px}.player-dock>.secondary{padding:8px;font-size:0.8125rem}.dock-tip{display:none}.snake-showcase{padding:9px 12px 8px;border-radius:16px}.showcase-heading>span{font-size:0.625rem;letter-spacing:1px}.showcase-heading>b{padding:3px 8px;font-size:0.75rem}.snake-preview{margin:0 -5px;aspect-ratio:1000/240}.character-grid{gap:6px}.character{padding:3px 2px 5px;border-radius:9px;flex-direction:row;justify-content:center;gap:1px}.character canvas{width:33px;height:33px}.character strong{font-size:0.625rem}.character:has(input:checked){box-shadow:0 3px #b88339,inset 0 0 0 1px #ffe77c}legend{font-size:0.6875rem;margin-bottom:5px}.quick-play{padding:8px;font-size:1.5625rem;margin-top:11px;border-radius:10px}.quick-play span{font-size:1.3125rem}.play-note{font-size:0.625rem;margin:7px 0 0}.career-strip{gap:10px}.career-strip>button{padding:8px 7px;border-radius:12px}.career-strip strong{font-size:0.875rem}.career-strip span:not(.feature-icon){font-size:0.625rem;margin-top:3px}.feature-icon{font-size:1.375rem;margin-bottom:3px}.career-strip b{font-size:0.625rem;margin-top:4px}.career-strip progress{height:6px;margin-top:5px}.power-tip{display:none}.small-overlay{padding:13px max(22px,env(safe-area-inset-right)) 14px max(22px,env(safe-area-inset-left));align-items:flex-start}.small-overlay>.dialog{margin-block:auto}.dialog{padding:16px 20px}.dialog h2{font-size:1.6875rem}.dialog p{font-size:0.875rem}.dialog>.primary,.dialog>.secondary{padding:9px;font-size:1.0625rem;margin-top:12px}.party-dialog{width:min(760px,100%)}.panel-heading{margin-bottom:12px;gap:10px}.panel-heading small{font-size:0.625rem}.party-choice{padding:0 17px 15px}.party-choice h3{margin:0 -17px 10px;padding:8px;font-size:1.4375rem}.party-choice img{max-height:65px}.party-choice p{font-size:0.875rem;margin:4px 0 11px}.party-choice .primary{padding:8px;font-size:1.25rem}.party-columns{gap:15px}.party-note{font-size:0.6875rem!important;margin-top:10px}.join-row input{padding:9px;font-size:1.5rem}#room-help{font-size:0.625rem;margin-bottom:9px}.check-row{margin:12px 0;font-size:0.9375rem}.count-label{font-size:0.875rem}#ai-count{margin:9px 0 0}.room-list{max-height:150px}.party-roster{max-height:95px}.career-dialog{padding:16px 20px}.career-tabs{padding-bottom:9px}.career-tabs button{padding:8px;font-size:0.8125rem}.career-dialog header h2{font-size:1.5625rem}.quest-list{gap:8px;margin-top:10px}.quest-card{padding:10px}.quest-card strong{font-size:0.875rem}.quest-card progress{height:8px;margin:7px 0 4px}.level-summary{margin-top:10px}.season-banner{padding:14px}.season-banner h3{font-size:1.625rem}.season-milestones span{padding:6px}.career-note{font-size:0.6875rem!important}#death .results-dialog{padding:12px 16px;gap:8px 12px}#death .results-heading h2{font-size:1.5rem}#death .round-score strong{font-size:2rem}#death .results-table{font-size:0.6875rem}#death .results-table th,#death .results-table td{padding:7px 4px}#death .result-summary,#death .result-quests,#death .result-season{padding:9px}#death h3{font-size:1.0625rem}#death .result-season h3{font-size:1.25rem}#death .result-season p{font-size:0.6875rem}#death .result-actions button{font-size:0.875rem;padding:9px 14px}#death #revive-note{font-size:0.6875rem}.score-card strong{font-size:3.25rem}.score-card small{font-size:0.6875rem}.score-card>span{font-size:0.9375rem}.run-stats{font-size:0.625rem;gap:7px}.leaderboard{width:156px;padding:6px 7px}.leaderboard li{font-size:0.625rem;line-height:1.1;margin:2px 0;gap:4px}.leaderboard h2{font-size:0.5625rem;margin-bottom:4px}.leaderboard .rank{width:14px;min-width:14px}.leader-caption{top:12px;left:max(16px,env(safe-area-inset-left));max-width:175px}.leader-caption b{max-width:148px;font-size:0.75rem}.leader-caption small{font-size:0.5625rem}.beacon-mini{font-size:1.6875rem}.room-chip{top:55px;left:max(16px,env(safe-area-inset-left));max-width:175px;font-size:0.625rem;gap:4px;padding:4px 6px}.room-chip b{font-size:0.6875rem}.room-chip #player-count{font-size:0.5625rem}#boost-meter{bottom:43px;max-width:205px}#boost-label{font-size:0.5625rem}#joystick{width:112px;height:112px;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom))}#stick{width:44px;height:44px;left:30px;top:30px}#boost{width:88px;height:88px;bottom:max(24px,env(safe-area-inset-bottom));right:max(26px,env(safe-area-inset-right));font-size:2.625rem}
}
@media(orientation:landscape) and (max-width:740px){.lobby-card{grid-template-columns:minmax(143px,.9fr) minmax(230px,1.7fr) minmax(115px,.7fr);gap:8px}.overlay{padding-inline:12px}.player-dock{padding:8px}.dock-button small{display:none}.snake-showcase{padding:8px}.character{flex-direction:column;padding:2px}.character canvas{width:28px;height:28px}.character strong{font-size:0.625rem}.career-strip strong{font-size:0.75rem}.career-strip span:not(.feature-icon){font-size:0.625rem}.feature-icon{font-size:1.25rem}.score-card{min-width:145px}.score-card strong{font-size:2.875rem}.leaderboard{width:143px}.room-chip{max-width:142px}.leader-caption b{max-width:116px}.room-chip #player-count{display:none}}
@media(orientation:portrait){.overlay{align-items:flex-start}.lobby-card{grid-template-columns:1fr 1.5fr}.menu-heading h1{font-size:2.1875rem}.snake-showcase{grid-column:2;grid-row:2}.career-strip{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.player-dock{grid-column:1;grid-row:2}.best-plaque{padding:8px;font-size:0.875rem}.best-plaque strong{font-size:0.9375rem}.character{padding:3px}.character strong{font-size:0.75rem}.menu-heading small{display:none}.party-columns{grid-template-columns:1fr}.party-choice{min-height:250px}#room-list{grid-template-columns:1fr}#death .results-dialog{grid-template-columns:1fr 1fr}#death .result-season{grid-column:1/-1}}
@media(max-height:350px) and (orientation:landscape){.overlay{padding-top:48px}.menu-heading{display:none}.snake-preview{aspect-ratio:1000/205}.career-strip .feature-icon{display:none}.career-strip>button{padding:9px}.topbar{padding-top:6px}.showcase-heading>span{font-size:0.5625rem}.name-form p{display:none}.snake-showcase{padding:8px}.quick-play{margin-top:10px}.player-dock{gap:10px}.score-card strong{font-size:2.625rem}.run-stats{font-size:0.5625rem}#joystick{width:100px;height:100px}#stick{width:40px;height:40px;left:26px;top:26px}#boost{width:78px;height:78px;font-size:2.3125rem}}
