
:root{--night:#100c2c;--ink:#25184f;--muted:#8179a6;--purple:#7d5df5;--pink:#ff76c8;--cyan:#62e5f2;--gold:#ffd56c;--card:#fff;--line:#eee9ff;--shadow:0 20px 60px #08051f38}
*{box-sizing:border-box}html{min-height:100%;background:var(--night);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:Nunito,system-ui,-apple-system,sans-serif;background:radial-gradient(ellipse at 50% -20%,#30205f 0,transparent 55%),linear-gradient(145deg,#110d2f,#1a1242 55%,#100c2c);overflow-x:hidden}.backdrop-glow{position:fixed;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.3;z-index:0}.glow-a{width:320px;height:320px;background:#9d54f6;left:-140px;top:24%}.glow-b{width:340px;height:340px;background:#20c9e4;right:-160px;top:50%}.topbar,.page,footer{position:relative;z-index:1}.topbar{max-width:1250px;margin:auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:900;letter-spacing:1.3px;font-size:16px}.brand-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(140deg,#a98bff,#7453f3);box-shadow:0 5px 24px #9068ff55;font-size:23px}.brand small{display:block;font-size:8px;letter-spacing:3px;color:#b7aaff;margin-top:1px}.top-actions{display:flex;align-items:center;gap:10px}.online-pill,.icon-button{border:1px solid #ffffff1c;background:#ffffff0c;border-radius:999px;color:#e6e0ff;padding:10px 13px;font:800 11px Nunito,sans-serif}.online-pill{display:flex;align-items:center;gap:7px}.online-pill i{width:7px;height:7px;border-radius:50%;background:#ffc86a;box-shadow:0 0 10px #ffc86a}.online-pill i.online{background:#73f5bd;box-shadow:0 0 10px #73f5bd}.icon-button{cursor:pointer;color:#fff;transition:.2s}.icon-button[aria-pressed=true]{background:#7d5df5;border-color:#a99aff}.page{max-width:1250px;margin:auto;padding:12px 28px 38px}.hero{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(450px,1.18fr);gap:28px;align-items:center}.hero-copy{color:#fff;padding:20px 0 20px 12px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:900;color:#c4b5ff;display:flex;gap:9px;align-items:center}.eyebrow span{color:#ffcc76}.hero h1{font:800 clamp(44px,5vw,72px)/.98 'Baloo 2',Nunito,sans-serif;letter-spacing:-2px;margin:22px 0 15px;color:#fff}.hero h1 em,.how-card h2 em{font-style:normal;color:var(--pink);text-shadow:0 5px 24px #ff76c83d}.dedication{color:#dcd4ff;font-size:14px;margin:0 0 11px}.dedication strong{color:#ffe18b}.hero-text{max-width:420px;color:#bcb5dc;line-height:1.8;font-size:13px;margin:0}.feature-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.feature-pills span{font-size:10px;font-weight:900;padding:8px 10px;border-radius:999px;background:#ffffff0c;border:1px solid #ffffff16;color:#e9e3ff}.mascot-wrap{position:relative;min-height:198px;margin-top:12px;display:flex;flex-direction:column;align-items:center;justify-content:center}.fox-mascot{position:relative;width:110px;height:112px;animation:foxBounce 2.5s ease-in-out infinite;filter:drop-shadow(0 12px 18px #08051f60)}.fox-ears{position:absolute;z-index:1;top:0;left:17px;right:17px;display:flex;justify-content:space-between}.fox-ears i{width:30px;height:44px;background:linear-gradient(150deg,#ffb46d,#ff7f9f);clip-path:polygon(50% 0,100% 100%,0 84%);transform:rotate(-10deg)}.fox-ears i+ i{transform:rotate(10deg)}.fox-face{position:absolute;z-index:2;left:5px;top:24px;width:100px;height:82px;border-radius:44% 44% 48% 48%;background:linear-gradient(145deg,#fff3cf,#ffbd82 80%);border:3px solid #fff0dd}.fox-eye{position:absolute;top:32px;width:7px;height:10px;background:#402354;border-radius:50%}.eye-l{left:25px}.eye-r{right:25px}.fox-blush{position:absolute;top:46px;width:13px;height:7px;border-radius:50%;background:#ff8bb2;opacity:.85}.blush-l{left:12px}.blush-r{right:12px}.fox-nose{position:absolute;top:45px;left:46px;width:8px;height:6px;border-radius:50%;background:#673b65}.fox-smile{position:absolute;top:50px;left:44px;width:12px;height:7px;border-bottom:2px solid #673b65;border-radius:0 0 10px 10px}.fox-gem{position:absolute;top:-8px;left:38px;color:#6ce5f3;text-shadow:0 0 14px #63e5ff;font-size:26px;transform:rotate(10deg)}.fox-body{position:absolute;z-index:0;bottom:-5px;left:34px;width:46px;height:35px;border-radius:45%;background:#ffad7d}.fox-tail{position:absolute;right:-1px;bottom:4px;width:30px;height:22px;background:#ff9d90;border:4px solid #ffd3a6;border-radius:80% 20% 80% 20%;transform:rotate(-28deg)}.mascot-name{font-weight:900;color:#fff;font-size:14px;margin-top:7px}.mascot-name span{font-weight:700;color:#b8aaff;font-size:11px}.mascot-speech{position:absolute;right:3%;top:13px;max-width:180px;background:#fff;color:#56427d;border-radius:15px 15px 15px 3px;padding:9px 12px;font-size:10px;font-weight:900;box-shadow:0 8px 25px #0002;transform:rotate(2deg)}.mascot-spark{position:absolute;color:#ffe184;font-size:25px;animation:twinkle 1.7s ease-in-out infinite}.spark-one{left:18%;top:25px}.spark-two{right:19%;bottom:50px;animation-delay:.8s}.game-card,.friends-card,.how-card{background:linear-gradient(160deg,#fff,#faf8ff);border:1px solid #ffffffb0;border-radius:27px;box-shadow:var(--shadow)}.game-card{padding:20px;min-width:0}.game-heading,.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.mini-label{font-size:9px;font-weight:900;letter-spacing:2px;color:#a19abf}.game-heading h2,.section-head h2{font:800 24px/1.2 'Baloo 2',Nunito,sans-serif;margin:3px 0 0;color:#2a1e53}.game-heading h2 span{font-size:20px}.level-chip{background:#f0ebff;color:#7557d9;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:900;letter-spacing:1px}.level-chip b{font-size:13px;margin-left:3px}.score-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 12px}.score-box{display:flex;align-items:center;gap:8px;min-width:0;background:#f8f6ff;border:1px solid #f0ecff;border-radius:14px;padding:10px}.score-box>span{font-size:20px}.score-box small{display:block;color:#a19abf;font-size:8px;font-weight:900;letter-spacing:.5px;white-space:nowrap}.score-box strong{display:block;font-size:22px;line-height:1.2;color:#33265d;font-weight:900;font-variant-numeric:tabular-nums}.current-score{background:linear-gradient(120deg,#f1edff,#fff0fa);border-color:#e6dcff}.runner-wrap{position:relative;isolation:isolate;overflow:hidden;border-radius:19px;background:#19133f;min-height:280px;box-shadow:inset 0 0 40px #0b0827}.runner-wrap canvas{display:block;width:100%;height:clamp(285px,34vw,380px);touch-action:pan-y;outline:none}.runner-hud{position:absolute;z-index:2;top:11px;left:12px;right:12px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.runner-hud span{background:#0d092c9c;color:#fff;border:1px solid #ffffff22;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:900;backdrop-filter:blur(8px)}.start-overlay{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:linear-gradient(180deg,#100c2ca8,#160d3bdc);color:#fff;transition:opacity .22s}.start-overlay.hidden{opacity:0;pointer-events:none}.overlay-mascot{font-size:44px;filter:drop-shadow(0 0 20px #ff82df66);animation:foxBounce 2s infinite}.overlay-title{font:800 27px 'Baloo 2',Nunito,sans-serif;margin:4px 0}.start-overlay p{font-size:11px;color:#d2c9ff;line-height:1.6;max-width:270px;margin:0 0 14px}.control-hint{font-size:9px;color:#bcb0f4;margin-top:13px}.primary-button,.soft-button{border:0;border-radius:12px;cursor:pointer;font:900 11px Nunito,sans-serif;min-height:41px;padding:11px 14px;transition:transform .16s,filter .16s,box-shadow .16s;touch-action:manipulation}.primary-button{color:#fff;background:linear-gradient(110deg,#795af4,#b35de7);box-shadow:0 7px 17px #8865ed35}.primary-button:hover,.soft-button:hover{filter:brightness(1.05);transform:translateY(-2px)}.primary-button:active,.soft-button:active{transform:scale(.98)}.primary-button:focus-visible,.soft-button:focus-visible,.icon-button:focus-visible,input:focus-visible{outline:3px solid #8f7bff;outline-offset:3px}.primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.big-button{padding:13px 24px;border-radius:999px;font-size:12px}.game-controls{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;margin-top:11px}.soft-button{background:#f1edff;color:#7156d2;border:1px solid #e6dfff}.game-tip{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;margin-top:12px;background:#fff7df;border-radius:13px}.game-tip>span{font-size:21px}.game-tip p{margin:0;color:#8d7a9b;font-size:10px;line-height:1.6}.game-tip strong{color:#6c4d80}.game-message{position:absolute;z-index:3;left:50%;top:42%;transform:translate(-50%,-50%) scale(.8);opacity:0;background:#fff;color:#5a3a8b;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:900;pointer-events:none;white-space:nowrap;transition:.18s}.game-message.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.touch-zones{position:absolute;inset:42px 0 0;display:flex;z-index:1;pointer-events:none}.touch-zones button{width:50%;border:0;background:transparent;pointer-events:auto;touch-action:manipulation}.social-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:22px}.friends-card,.how-card{padding:22px}.section-head h2{font-size:23px}.big-emoji{font-size:31px;animation:foxBounce 2.5s infinite}.friends-card>p{color:#8981a9;font-size:11px;line-height:1.7;margin:10px 0 14px}.room-code-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px dashed #c8b9ff;background:#f7f4ff;border-radius:15px}.room-code-card small{display:block;font-size:8px;letter-spacing:1.6px;color:#9a8fc2;font-weight:900}.room-code-card strong{display:block;color:#7254dc;font-size:25px;letter-spacing:5px;line-height:1.2}.room-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.room-form label{display:block;color:#766b99;font-size:10px;font-weight:900}.room-form label span{color:#aaa2c1;font-weight:600}.room-form input{display:block;width:100%;min-width:0;margin-top:6px;padding:11px 12px;border:1px solid #e7e1f4;border-radius:11px;background:#fff;color:#302252;font:700 12px Nunito,sans-serif;outline:none}.room-form input:focus{border-color:#9e8af5;box-shadow:0 0 0 3px #9e8af522}.room-form button{grid-column:1/-1}.leaderboard-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 8px;font-size:11px}.leaderboard-title span{color:#a29ab9;font-size:9px}.leaderboard{list-style:none;margin:0;padding:0;display:grid;gap:6px}.leaderboard li{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:11px;background:#faf9ff;border:1px solid #f0ecfa;font-size:10px}.leaderboard .rank{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#eee9ff;color:#7559d5;font-weight:900}.leaderboard .rank.first{background:#fff0bf;color:#a77408}.leaderboard .player-label{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.leaderboard .player-points{font-weight:900;color:#7659d7;white-space:nowrap}.leader-empty{color:#9e96b7;justify-content:center!important;padding:13px!important}.tiny-note{font-size:9px;color:#a29ab9;line-height:1.6;margin:12px 0 0}.how-card h2{font:800 25px/1.08 'Baloo 2',Nunito,sans-serif;color:#2b2051;margin:7px 0 17px}.how-step{display:flex;align-items:flex-start;gap:12px;margin:14px 0}.step-icon{display:grid;place-items:center;width:39px;height:39px;flex-shrink:0;border-radius:12px;background:#f1edff;font-size:20px}.how-step strong{font-size:11px;color:#4c3a75}.how-step p{font-size:10px;color:#938bac;line-height:1.6;margin:3px 0 0}.highscore-banner{display:flex;gap:10px;align-items:center;background:linear-gradient(110deg,#f2edff,#fff0f9);border:1px solid #eee4ff;border-radius:13px;padding:12px;margin-top:20px}.highscore-banner>span{font-size:23px}.highscore-banner strong,.highscore-banner small{display:block}.highscore-banner strong{font-size:10px;color:#684fba}.highscore-banner small{font-size:9px;color:#9b90b8;margin-top:3px}footer{max-width:1250px;margin:auto;padding:0 28px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#bdb3e8;font-size:10px}footer strong{color:#fff}.footer-mark{letter-spacing:2px;font-size:8px;font-weight:900;color:#7e70b7}
@keyframes foxBounce{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes twinkle{0%,100%{transform:scale(.7) rotate(0);opacity:.5}50%{transform:scale(1.2) rotate(30deg);opacity:1}}
@media(min-width:1000px){.hero{padding-top:16px}.hero-copy{padding-left:24px}.mascot-wrap{margin-top:22px}}
@media(max-width:900px){.page{padding:8px 18px 28px}.hero{grid-template-columns:minmax(0,.8fr) minmax(400px,1.2fr);gap:16px}.hero-copy{padding-left:0}.hero h1{font-size:clamp(43px,6vw,59px)}.game-card{padding:16px}.social-grid{gap:14px}.friends-card,.how-card{padding:18px}.fox-mascot{transform:scale(.9)}}
@media(max-width:720px){.topbar{padding:15px 15px}.brand{font-size:14px}.brand-icon{width:34px;height:34px}.online-pill{font-size:9px;padding:9px}.icon-button{padding:9px 10px;font-size:10px}.page{padding:7px 12px 24px}.hero{grid-template-columns:1fr;gap:8px}.hero-copy{text-align:center;padding:18px 5px 0}.eyebrow{justify-content:center;font-size:9px;letter-spacing:1.2px}.hero h1{font-size:clamp(45px,10vw,65px);margin:17px 0 11px}.hero-text{margin:auto;max-width:440px;font-size:12px}.feature-pills{justify-content:center;margin-top:13px}.mascot-wrap{min-height:155px;margin:8px auto 4px;width:min(100%,360px)}.fox-mascot{transform:scale(.83)}.mascot-speech{right:0;top:4px}.spark-one{left:10%}.spark-two{right:12%;bottom:30px}.game-card{padding:14px;border-radius:22px}.game-heading h2{font-size:22px}.score-row{gap:5px}.score-box{gap:5px;padding:9px 6px}.score-box>span{font-size:17px}.score-box small{font-size:7px;letter-spacing:0}.score-box strong{font-size:20px}.runner-wrap{border-radius:16px;min-height:300px}.runner-wrap canvas{height:clamp(300px,85vw,410px)}.game-controls{gap:7px}.primary-button,.soft-button{font-size:10px;padding:10px 8px}.social-grid{grid-template-columns:1fr;gap:13px;margin-top:14px}.friends-card,.how-card{border-radius:22px;padding:17px}.section-head h2{font-size:22px}footer{padding:0 15px 22px;justify-content:center;text-align:center;flex-direction:column;gap:6px}}
@media(max-width:390px){.topbar{gap:6px}.brand{gap:6px;font-size:12px;letter-spacing:.7px}.brand-icon{width:30px;height:30px;font-size:19px}.top-actions{gap:5px}.online-pill{padding:8px 9px}.icon-button{padding:8px}.page{padding-inline:8px}.game-card{padding:11px}.score-box{padding:8px 4px}.score-box>span{font-size:15px}.score-box strong{font-size:18px}.score-box small{font-size:6px}.room-form{gap:8px}.room-code-card strong{font-size:22px;letter-spacing:4px}.runner-hud span{font-size:8px;padding:6px 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Fast, offline-friendly responsive upgrades */
.dedication-ribbon{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;text-align:center;padding:10px 14px;background:linear-gradient(90deg,#6e4be6,#b34fcd,#6b55ef);color:#fff;font-size:9px;font-weight:900;letter-spacing:1.7px;box-shadow:0 8px 28px #08051f28;overflow:hidden}
.dedication-ribbon:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,#ffffff22 45%,transparent 70%);transform:translateX(-100%);animation:ribbonShine 5s ease-in-out infinite}
.dedication-ribbon strong{color:#ffe38d;font-size:11px;letter-spacing:1.2px;text-shadow:0 2px 12px #2b155d55}.ribbon-spark{color:#ffe38d;font-size:15px;animation:twinkle 1.4s ease-in-out infinite}
.heading-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.focus-button{border:1px solid #ded5ff;background:#fff;color:#7254dc;border-radius:999px;padding:8px 10px;font:900 9px Nunito,system-ui,sans-serif;cursor:pointer;white-space:nowrap}.focus-button[aria-pressed=true]{background:#7254dc;color:#fff;border-color:#7254dc}.keyboard-hint{margin:9px 0 0;text-align:center;color:#a098b8;font-size:9px}.keyboard-hint kbd{display:inline-block;min-width:19px;padding:2px 5px;margin:0 1px;border:1px solid #e4def3;border-bottom-width:2px;border-radius:5px;background:#fff;color:#6c5a9a;font:800 9px system-ui,sans-serif}
body.focus-mode{overflow:hidden}body.focus-mode .topbar,body.focus-mode .hero-copy,body.focus-mode .social-grid,body.focus-mode footer,body.focus-mode .dedication-ribbon{display:none!important}body.focus-mode .page{max-width:none;width:100%;height:100dvh;padding:10px;display:flex;align-items:center;justify-content:center}body.focus-mode .hero{display:block;width:min(100%,1050px);height:100%;padding:0}body.focus-mode .game-card{width:100%;height:100%;display:flex;flex-direction:column;padding:12px;border-radius:18px;box-shadow:none}body.focus-mode .score-row{margin:8px 0}body.focus-mode .runner-wrap{flex:1;min-height:0;display:flex}body.focus-mode .runner-wrap canvas{height:100%;min-height:0;max-height:none}body.focus-mode .game-tip,body.focus-mode .keyboard-hint{display:none}body.focus-mode .game-controls{margin-top:8px}body.focus-mode .runner-hud{top:8px}
@keyframes ribbonShine{0%,45%{transform:translateX(-110%)}75%,100%{transform:translateX(110%)}}
@media(max-width:720px){.dedication-ribbon{gap:5px;padding:9px 8px;font-size:8px;letter-spacing:1px}.dedication-ribbon strong{font-size:10px}.heading-actions{gap:5px}.focus-button{padding:8px 9px;font-size:8px}.game-heading{align-items:flex-start}.keyboard-hint{line-height:1.8}}
@media(max-width:390px){.game-heading{gap:5px}.game-heading h2{font-size:19px}.level-chip{padding:7px 8px}.focus-button{padding:7px 8px}}
@media(prefers-reduced-motion:reduce){.dedication-ribbon:before{animation:none}.ribbon-spark{animation:none}}
.room-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-actions button{min-width:0}.global-title{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
button:disabled,input:disabled,select:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.75)}
@media(max-width:520px){.room-actions{grid-template-columns:1fr}.room-actions button{width:100%}}

/* Child-first navigation and clear character selection */
.kid-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px 16px;position:relative;z-index:3}
.kid-nav button,.kid-nav a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:10px 18px;border:2px solid #e9e0ff;border-radius:999px;background:#fff;color:#6249b9;font:900 13px Nunito,system-ui,sans-serif;box-shadow:0 5px 0 #e6defa;cursor:pointer;transition:transform .15s,box-shadow .15s}
.kid-nav button:hover,.kid-nav button:focus-visible,.kid-nav a:hover,.kid-nav a:focus-visible{transform:translateY(-2px);box-shadow:0 7px 0 #e6defa;outline:3px solid #8b77ff55;outline-offset:2px}
.room-form label{font-size:12px;line-height:1.5}.room-form input,.room-form select{font-size:14px;min-height:46px}.room-form select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #e7e1f4;border-radius:11px;background:#fff;color:#302252;font:800 13px Nunito,system-ui,sans-serif;outline:none}
.character-preview{display:grid;place-items:center;width:100%;height:82px;margin-top:7px;border:2px solid var(--runner-color,#7deeff);border-radius:16px;background:radial-gradient(circle at center,#fff 0,#f6f1ff 70%);font-size:48px;animation:characterPop .35s ease-out;box-shadow:inset 0 0 0 4px #ffffff,0 5px 15px color-mix(in srgb,var(--runner-color,#7deeff) 20%,transparent)}
.room-form label span{display:block;margin-top:2px;line-height:1.4}.wait-leave-button{margin:7px auto 0;min-height:42px}.start-overlay p{max-width:430px;margin:8px auto 16px;font-size:clamp(13px,2vw,16px);line-height:1.55}.big-button{min-height:52px;min-width:min(250px,90%);font-size:15px}.game-message{max-width:90%;white-space:normal;text-align:center;line-height:1.35;font-size:13px}.leaderboard li{min-height:42px;font-size:12px}.leaderboard-title{font-size:13px}.friends-card>p,.how-step p{font-size:13px}.how-step strong{font-size:14px}.tiny-note{font-size:11px}
@keyframes characterPop{0%{transform:scale(.8) rotate(-6deg);opacity:.45}70%{transform:scale(1.08) rotate(3deg)}100%{transform:scale(1);opacity:1}}
@media(max-width:720px){.kid-nav{position:sticky;top:0;background:#f7f4ffed;backdrop-filter:blur(10px);padding:8px 6px;gap:7px}.kid-nav button,.kid-nav a{flex:1;padding:9px 7px;font-size:11px;min-width:0}.room-form{grid-template-columns:1fr}.room-form button{grid-column:auto}.character-preview{height:74px}.friends-card>p,.how-step p{font-size:12px}}

/* Friendly two-step start screen: identity first, game mode second. */
.welcome-wizard{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:radial-gradient(ellipse at 20% 5%,#5b39b9cc,transparent 42%),radial-gradient(ellipse at 90% 90%,#087eacaa,transparent 40%),#100b2cf5;backdrop-filter:blur(14px);overflow:auto}
.welcome-wizard[hidden],.wizard-step[hidden],#wizardRoomPanel[hidden]{display:none!important}
.wizard-card{width:min(100%,660px);max-height:calc(100dvh - 36px);overflow:auto;padding:clamp(20px,4vw,34px);border:1px solid #b7a7ff65;border-radius:28px;background:linear-gradient(150deg,#21194b,#111b43 68%,#102b4b);box-shadow:0 25px 100px #05031899;color:#fff;text-align:center}
.wizard-brand{font-weight:1000;letter-spacing:.16em;color:#9df2ff;font-size:12px}.wizard-dedication{margin:14px 0 3px;color:#d4caff;font-size:13px}.wizard-name{margin:0 0 18px;font-size:clamp(21px,4.6vw,32px);line-height:1.1;background:linear-gradient(90deg,#fff,#ff9fe0,#9beeff);color:transparent;background-clip:text;-webkit-background-clip:text}.wizard-progress{font-size:10px;font-weight:900;letter-spacing:.15em;color:#9cefff;margin-bottom:8px}.wizard-step h2{font-size:clamp(22px,4vw,29px);margin:0 0 7px}.wizard-step>p{font-size:13px;line-height:1.55;color:#d0cbe9;max-width:490px;margin:0 auto 16px}.wizard-label{display:block;text-align:left;font-size:12px;font-weight:800;margin:13px 0 6px;color:#e7e2ff}.wizard-card input{width:100%;border:1px solid #7c75bd;background:#0d1537;color:#fff;border-radius:13px;padding:13px 14px;font:inherit;outline:none}.wizard-card input:focus{border-color:#8fefff;box-shadow:0 0 0 3px #7ceaff28}.wizard-character-preview{font-size:40px;min-height:58px;display:grid;place-items:center;filter:drop-shadow(0 0 15px #9feaff66)}.wizard-character-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:9px 0 18px}.wizard-character-grid button{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 3px;border:1px solid #635c9b;border-radius:14px;background:#211d50;color:#fff;font-size:25px;cursor:pointer}.wizard-character-grid button span{font-size:10px;font-weight:800;white-space:normal}.wizard-character-grid button.selected{border-color:#8af3ff;background:linear-gradient(160deg,#264b83,#353070);box-shadow:0 0 0 2px #70e9ff42,0 0 18px #61dfff33}.wizard-main-button{width:100%;min-height:48px;font-size:15px}.wizard-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.wizard-mode{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 13px;min-height:160px;border:1px solid #7268b7;border-radius:18px;background:#201b50;color:#fff;cursor:pointer}.wizard-mode>span{font-size:36px}.wizard-mode strong{font-size:17px}.wizard-mode small{font-size:12px;line-height:1.45;color:#d1cbea}.solo-mode{background:linear-gradient(145deg,#154d69,#22204f)}.friend-mode{background:linear-gradient(145deg,#49266f,#22204f)}.wizard-mode:hover,.wizard-character-grid button:hover{transform:translateY(-2px);filter:brightness(1.12)}.wizard-room-actions{display:flex;gap:9px;margin:8px 0 16px}.wizard-room-actions button{flex:1}.wizard-rooms-title{display:flex;justify-content:space-between;gap:8px;text-align:left;font-size:10px;letter-spacing:.1em;font-weight:900;color:#9cefff;margin:15px 0 8px}.wizard-rooms-title span{color:#e2d7ff;letter-spacing:0}.wizard-rooms-list{display:grid;gap:7px;max-height:220px;overflow:auto}.wizard-room-item{display:flex;align-items:center;gap:10px;text-align:left;padding:10px;border:1px solid #59528f;border-radius:12px;background:#12183d}.wizard-room-avatars{font-size:20px;min-width:48px}.wizard-room-details{flex:1;min-width:0}.wizard-room-details strong{display:block;font-size:13px;overflow-wrap:anywhere}.wizard-room-details small{display:block;color:#c4c0e5;font-size:11px;margin-top:3px}.wizard-room-item button{border:0;border-radius:10px;background:linear-gradient(90deg,#29d89b,#72efc4);color:#102c3a;font-weight:900;padding:9px 12px;cursor:pointer}.wizard-room-item button:disabled{opacity:.45;cursor:not-allowed}.wizard-room-empty{font-size:12px;color:#d0cbe9;padding:14px;border:1px dashed #655e9d;border-radius:12px}.wizard-room-help{font-size:11px!important;margin:10px auto!important}.wizard-back{margin-top:15px;border:0;background:transparent;color:#c8c0f5;font-weight:800;padding:10px;cursor:pointer}.wizard-footnote{font-size:10px;color:#bdb5e8;margin:18px 0 0}.wizard-room-code{font-weight:900;color:#a6f5ff;letter-spacing:.1em}
@media(max-width:520px){.welcome-wizard{padding:9px}.wizard-card{padding:20px 15px;border-radius:22px;max-height:calc(100dvh - 18px)}.wizard-character-grid{gap:5px}.wizard-character-grid button{padding:8px 1px;font-size:22px}.wizard-character-grid button span{font-size:9px}.wizard-mode-grid{gap:8px}.wizard-mode{padding:15px 8px;min-height:148px}.wizard-mode strong{font-size:15px}.wizard-room-actions{flex-direction:column}.wizard-room-item{gap:6px;padding:8px}.wizard-room-item button{padding:8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.wizard-mode,.wizard-character-grid button{transition:none!important}}

/* Sound controls: choose a sound palette or mute all effects and music. */
.sound-style-label{display:flex;align-items:center;gap:6px;color:#e6e0ff;font-size:11px;font-weight:800}
.sound-style-label select{max-width:105px;border:1px solid #ffffff2c;border-radius:999px;padding:9px 10px;background:#211846;color:#fff;font:800 11px Nunito,system-ui,sans-serif}
@media(max-width:560px){.sound-style-label{gap:4px}.sound-style-label select{max-width:88px;padding:8px 6px}.top-actions{gap:5px}.icon-button{padding:9px 10px}}

/* Final responsive and multiplayer usability safeguards */
[hidden]{display:none!important}
html{scroll-padding-top:72px} .page{width:100%;max-width:1440px;margin-inline:auto} .runner-wrap{width:100%;} .runner-wrap canvas{touch-action:pan-y;max-width:100%;} .room-actions{align-items:stretch} .room-actions button{min-height:44px} button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffcf5a;outline-offset:3px}
@media(min-width:1100px){.runner-wrap canvas{height:min(62vh,620px);min-height:420px}}
@media(max-width:420px){.runner-wrap canvas{height:clamp(290px,92vw,390px)}.wizard-room-item{grid-template-columns:auto minmax(0,1fr) auto}.room-code-card{gap:8px;flex-wrap:wrap}}
@media(orientation:landscape) and (max-height:560px){.runner-wrap canvas{height:calc(100dvh - 160px);min-height:220px}.welcome-wizard{align-items:flex-start;overflow:auto}.wizard-card{max-height:calc(100dvh - 16px);overflow:auto}}
