:root{
  --bg:#07111f; --panel:#111c2f; --panel2:#17243a; --text:#f7fbff; --muted:#93a4bd;
  --blue:#42a5ff; --blue2:#1d6fff; --pink:#ff5ba9; --pink2:#e9368a; --gold:#ffc84a; --green:#44d889;
  --cell:clamp(46px,9.4vw,64px);
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,sans-serif;color:var(--text);background:
radial-gradient(circle at 15% -10%,#153e70 0,transparent 34%),radial-gradient(circle at 88% 4%,#57214b 0,transparent 28%),linear-gradient(180deg,#091625,#07111f 60%);overscroll-behavior:none}
button{font:inherit;color:inherit;cursor:pointer}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) 16px 8px;position:sticky;top:0;background:rgba(7,17,31,.82);backdrop-filter:blur(18px);z-index:20;border-bottom:1px solid rgba(255,255,255,.07)}
.icon-btn{width:40px;height:40px;border:1px solid #263852;background:#101d30;border-radius:13px;font-size:23px}.brand-mini{display:flex;align-items:center;gap:7px;font-size:14px}.logo-dot{width:14px;height:14px;border-radius:50%;display:inline-block}.logo-dot.blue{background:var(--blue);box-shadow:0 0 14px #42a5ffaa}.logo-dot.pink{background:var(--pink);box-shadow:0 0 14px #ff5ba999}.wallet{padding:9px 12px;border-radius:14px;background:#101d30;border:1px solid #263852;display:flex;gap:6px;align-items:center}.wallet span{color:var(--gold)}
main{width:min(100%,850px);margin:auto;padding:18px 14px 50px}.screen{display:none}.screen.active{display:block}.hero-card,.daily-card,.badges-card,.controls-card,.mission-card,.board-card{background:linear-gradient(160deg,rgba(25,41,65,.96),rgba(13,26,45,.96));border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.hero-card{border-radius:28px;padding:26px 20px;text-align:center;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;inset:auto -10% -55% -10%;height:220px;background:radial-gradient(ellipse,#2473d02a,transparent 70%);pointer-events:none}.twins-hero{display:flex;justify-content:center;align-items:center;gap:16px;margin:0 auto 16px}.hero-person{display:grid;place-items:center;width:58px;height:58px;border-radius:22px;font-weight:900;font-size:22px;border:3px solid rgba(255,255,255,.8);box-shadow:0 12px 24px rgba(0,0,0,.23)}.blue-person{background:linear-gradient(145deg,#6cc6ff,#176cff)}.pink-person{background:linear-gradient(145deg,#ff88c3,#e22c84)}.link-heart{color:#ff84b8;font-size:26px}.eyebrow{margin:0 0 6px;letter-spacing:.16em;font-size:11px;font-weight:900;color:#8fa7c6}.hero-card h1{font-size:38px;line-height:1;margin:4px 0 12px}.lead{color:#b8c6d9;line-height:1.55;max-width:560px;margin:0 auto 20px}.primary-btn{border:0;background:linear-gradient(135deg,#3f9bff,#6e65ff);font-weight:900;border-radius:17px;padding:15px 22px;min-width:190px;box-shadow:0 10px 26px #377dfc44}.secondary-btn{border:1px solid #47617d;background:#1d304b;border-radius:14px;padding:11px 15px;font-weight:800}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}.hero-stats div{background:#0d192a;border-radius:16px;padding:12px}.hero-stats b{display:block;font-size:20px}.hero-stats span{font-size:11px;color:var(--muted)}
.daily-card{border-radius:20px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:14px 0}.daily-icon{width:45px;height:45px;border-radius:16px;display:grid;place-items:center;background:#ffcc4930;color:var(--gold);font-size:23px}.daily-copy{min-width:0}.daily-copy small{display:block;color:var(--gold);font-weight:900;letter-spacing:.1em}.daily-copy strong,.daily-copy span{display:block}.daily-copy span{font-size:12px;color:var(--muted);margin-top:2px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:24px 4px 12px}.section-head h2{margin:0;font-size:21px}.section-head>span{color:var(--green);font-weight:900}.section-head.compact{margin-top:0}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.level-btn{position:relative;aspect-ratio:1;border:1px solid #2a3f5c;background:linear-gradient(145deg,#172640,#101b2d);border-radius:18px;font-weight:900;font-size:18px}.level-btn.locked{opacity:.38;filter:saturate(.4)}.level-btn.current{outline:2px solid var(--blue);box-shadow:0 0 22px #3d9fff33}.level-btn.daily:after{content:"☀";position:absolute;right:-4px;top:-7px;background:var(--gold);color:#4b3400;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:12px}.level-stars{position:absolute;bottom:6px;left:0;right:0;font-size:10px;color:var(--gold);letter-spacing:1px}.badges-card{padding:16px;border-radius:22px;margin-top:20px}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.badge{background:#0e1929;border:1px solid #233550;border-radius:16px;text-align:center;padding:12px 7px;opacity:.35}.badge.unlocked{opacity:1}.badge .emoji{font-size:25px;display:block}.badge small{font-size:10px;color:#a9b7c9;display:block;margin-top:5px}
.game-head{display:flex;align-items:center;justify-content:space-between;margin:4px 4px 12px}.game-head h2{margin:0}.move-box{background:#101d30;border:1px solid #263852;border-radius:16px;padding:7px 13px;text-align:center;min-width:74px}.move-box span,.move-box small{display:block;color:var(--muted);font-size:10px}.move-box b{font-size:23px}.tutorial-banner,.reverse-notice{padding:11px 13px;background:#122238;border:1px solid #28435f;border-radius:14px;color:#c5d3e5;font-size:12px;text-align:center;margin-bottom:12px}.reverse-notice{border-color:#b5497a;background:#35182a;color:#ffc0dc;margin-top:12px}.hidden{display:none!important}.boards-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;touch-action:none}.board-card{border-radius:20px;padding:8px}.blue-card{box-shadow:inset 0 0 30px #168fff10}.pink-card{box-shadow:inset 0 0 30px #ff4ba610}.board-label{height:34px;display:flex;gap:6px;align-items:center;font-size:11px;color:#afbed0}.board-label b{margin-left:auto;color:#687994;font-size:17px}.board-label b.got{color:var(--gold)}.mini-avatar{width:24px;height:24px;border-radius:9px;border-width:1px;font-size:10px}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;aspect-ratio:1;background:#07111f;border-radius:14px;padding:4px}.cell{position:relative;border-radius:7px;background:#15263d;min-width:0}.cell.floor:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,rgba(255,255,255,.025),transparent)}.cell.wall{background:linear-gradient(145deg,#506075,#283648);box-shadow:inset 0 0 0 1px #66778c55}.cell.home:before{content:"⌂";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(17px,5vw,29px);font-weight:900}.blue-card .cell.home:before{color:#70c8ff;text-shadow:0 0 12px #3caeff}.pink-card .cell.home:before{color:#ff88c5;text-shadow:0 0 12px #ff4ca8}.cell.crystal:after{content:"◆";position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:clamp(11px,3.2vw,20px);text-shadow:0 0 10px #ffc84a}.pawn{position:absolute;z-index:3;inset:16%;border-radius:40%;display:grid;place-items:center;font-size:clamp(8px,2.2vw,13px);font-weight:1000;color:white;border:2px solid rgba(255,255,255,.85);transition:transform .12s ease;box-shadow:0 5px 10px #0006}.pawn.blue{background:linear-gradient(145deg,#6cc9ff,#1167ef);box-shadow:0 0 14px #2ca5ff77}.pawn.pink{background:linear-gradient(145deg,#ff91c7,#e42d84);box-shadow:0 0 14px #ff4bab66}.sync-pill{width:28px;height:48px;border-radius:18px;background:#17243a;border:1px solid #2d4261;display:grid;place-items:center;font-weight:900;color:var(--gold)}
.controls-card{border-radius:22px;padding:12px;margin-top:14px;display:grid;grid-template-columns:repeat(3,58px) 1fr;grid-template-rows:repeat(3,48px);gap:6px;justify-content:center}.dir{border:1px solid #354c6b;background:linear-gradient(145deg,#243955,#142338);border-radius:14px;font-size:25px;font-weight:900}.dir:active{transform:scale(.96);background:#2d4a70}.up{grid-column:2;grid-row:1}.left{grid-column:1;grid-row:2}.right{grid-column:3;grid-row:2}.down{grid-column:2;grid-row:3}.control-actions{grid-column:4;grid-row:1/4;display:flex;flex-direction:column;gap:7px;justify-content:center;margin-left:6px}.ghost-btn{border:1px solid #2d4565;background:#0f1c2e;border-radius:13px;padding:10px;font-size:12px}.mission-card{border-radius:18px;padding:12px;margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mission-card div{background:#0c1828;padding:9px;border-radius:12px}.mission-card span,.mission-card strong{display:block}.mission-card span{font-size:9px;color:var(--muted);text-transform:uppercase}.mission-card strong{font-size:11px;margin-top:4px}
.modal{position:fixed;inset:0;background:#020811cc;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(100%,390px);background:linear-gradient(165deg,#192944,#0b1728);border:1px solid #324965;border-radius:28px;text-align:center;padding:26px 22px;box-shadow:0 30px 100px #0009}.victory-orbit{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:14px}.victory-orbit .hero-person{width:48px;height:48px;font-size:17px;border-radius:17px}.victory-orbit b{color:#ff7db9;font-size:22px}.modal h2{margin:4px 0}.win-stars{font-size:42px;letter-spacing:5px;color:var(--gold);text-shadow:0 0 18px #ffbf3d55}.modal p{color:#b5c4d8}.reward-row{margin:16px 0;background:#0a1525;border-radius:14px;padding:12px;display:flex;justify-content:space-between}.reward-row b{color:var(--gold)}.modal .primary-btn{width:100%}.text-btn{border:0;background:transparent;padding:13px;color:#9fb4cc}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#eef6ff;color:#0e1b2b;padding:11px 16px;border-radius:14px;font-weight:800;font-size:12px;z-index:80;box-shadow:0 10px 30px #0008}
@media(max-width:560px){main{padding:12px 9px 40px}.topbar{height:58px;padding-left:10px;padding-right:10px}.hero-card{padding:22px 15px}.hero-card h1{font-size:33px}.level-grid{grid-template-columns:repeat(4,1fr)}.boards-wrap{gap:4px}.board-card{padding:5px;border-radius:16px}.board{gap:2px;padding:3px}.sync-pill{width:19px;height:38px;font-size:12px}.board-label{height:30px}.board-label span:nth-child(2){display:none}.controls-card{grid-template-columns:repeat(3,52px) 1fr}.mission-card{grid-template-columns:1fr}.mission-card div{display:flex;justify-content:space-between;gap:10px;align-items:center}.daily-card{grid-template-columns:auto 1fr}.daily-card .secondary-btn{grid-column:1/-1}.badge-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:700px){.level-grid{grid-template-columns:repeat(6,1fr)}.boards-wrap{gap:14px}.board-card{padding:12px}.sync-pill{width:42px}}
.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.link-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.network-body{overflow-x:hidden}.network-shell{width:min(100%,920px);margin:auto;padding:14px 12px 40px}.net-panel{background:linear-gradient(160deg,rgba(25,41,65,.97),rgba(13,26,45,.97));border:1px solid rgba(255,255,255,.09);border-radius:24px;padding:18px;box-shadow:0 18px 50px #0004;margin-bottom:14px}.net-title{margin:0 0 6px}.net-muted{color:var(--muted);font-size:13px;line-height:1.45}.name-row,.challenge-actions{display:flex;gap:9px;flex-wrap:wrap}.name-input{flex:1;min-width:180px;background:#0b1728;color:white;border:1px solid #314866;border-radius:15px;padding:14px;font:inherit;outline:none}.player-list{display:grid;gap:8px;margin-top:12px}.player-row{display:flex;align-items:center;gap:10px;background:#0c1829;border:1px solid #203650;border-radius:15px;padding:10px 12px}.player-row input{width:19px;height:19px}.presence{width:9px;height:9px;border-radius:50%;background:#44d889;box-shadow:0 0 10px #44d889}.player-name{font-weight:850;flex:1}.player-points{font-size:11px;color:var(--gold)}.empty-state{color:var(--muted);text-align:center;padding:24px 10px;border:1px dashed #2b415e;border-radius:16px}.invite-card,.room-card{background:#101f34;border:1px solid #314965;border-radius:17px;padding:13px;margin-top:10px}.invite-actions{display:flex;gap:8px;margin-top:10px}.danger-btn{border:1px solid #6c3348;background:#351726;border-radius:13px;padding:10px 13px}.leader-table{width:100%;border-collapse:collapse}.leader-table td,.leader-table th{padding:9px 6px;border-bottom:1px solid #20334d;text-align:left;font-size:12px}.leader-table th{color:#8ea3bd}.leader-rank{font-size:16px;font-weight:950;color:var(--gold)}.network-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:#07111fe8;backdrop-filter:blur(16px);border-bottom:1px solid #1e3048}.network-top a{color:white;text-decoration:none}.online-pill{font-size:11px;background:#0f2c23;border:1px solid #28654d;color:#75efb0;padding:8px 10px;border-radius:999px}.race-screen{display:none;min-height:calc(100vh - 58px);touch-action:none;overscroll-behavior:none}.race-screen.active{display:flex;flex-direction:column}.race-hud{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 2px}.race-hud h2{margin:0;font-size:17px}.race-stat{text-align:center;background:#101e31;border:1px solid #273d59;border-radius:13px;padding:6px 10px}.race-stat b,.race-stat span{display:block}.race-stat span{font-size:9px;color:var(--muted)}.race-board-area{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.race-board-area .boards-wrap{width:100%;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}.race-board-area .board-card{padding:8px}.race-board-area .board{width:100%;max-height:64vh}.race-footer{padding:8px 2px 16px}.racer-strip{display:flex;gap:6px;overflow:auto;padding-bottom:4px}.racer-chip{white-space:nowrap;background:#101d30;border:1px solid #2a405d;border-radius:999px;padding:7px 10px;font-size:11px}.racer-chip.done{border-color:#8c722d;color:#ffd56a}.countdown-layer{position:fixed;inset:0;z-index:100;background:#030914d9;display:grid;place-items:center;text-align:center;pointer-events:none}.countdown-number{font-size:min(32vw,170px);font-weight:1000;line-height:1;color:white;text-shadow:0 0 45px #56aaff}.countdown-layer small{display:block;font-size:16px;color:#b8cae0;letter-spacing:.12em;margin-top:12px}.race-finish-panel{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(calc(100% - 24px),430px);z-index:90;background:#111f34f5;border:1px solid #38506e;border-radius:22px;padding:16px;box-shadow:0 20px 70px #0009}.finish-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #263a54}.finish-row:last-child{border:0}.swipe-hint{text-align:center;color:#92a9c4;font-size:11px;margin:5px 0}.network-hidden{display:none!important;pointer-events:none!important}
@media(max-width:560px){.network-shell{padding:9px 7px 24px}.net-panel{padding:14px;border-radius:19px}.race-board-area .boards-wrap{gap:3px;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}.race-board-area .board-card{padding:4px}.race-board-area .board-label span:nth-child(2){display:none}.race-board-area .sync-pill{width:18px;height:40px}.race-hud{padding:6px 0}.race-screen{min-height:calc(100dvh - 54px)}body.racing main{padding:0}body.racing{overflow:hidden;touch-action:none}.hero-actions{flex-direction:column}.hero-actions>*{width:100%}}
/* Global multiplayer v3 */
.profile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-actions{display:flex;gap:8px;flex-wrap:wrap}.compact-panel{padding:14px}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mode-card{border:1px solid #2a405e;background:#0d1a2c;border-radius:17px;padding:13px;text-align:left;min-height:92px}.mode-card b,.mode-card span{display:block}.mode-card b{font-size:13px}.mode-card span{font-size:10px;color:var(--muted);line-height:1.35;margin-top:6px}.mode-card.selected{border-color:#63adff;box-shadow:0 0 0 1px #63adff55,0 0 24px #3e8dff1f;background:#12243d}.player-row.offline{opacity:.72}.presence.off{background:#65768c;box-shadow:none}.player-name small{display:block;font-size:8px;color:#7f93ad;margin-top:2px;letter-spacing:.08em}.mini-btn{border:1px solid #324967;background:#14243a;border-radius:10px;padding:7px 9px;font-size:10px}.room-card small{display:block;color:var(--muted);margin-top:5px}.racer-chip.eliminated{opacity:.45}.winner-layer{position:fixed;inset:0;z-index:140;background:#020812ed;backdrop-filter:blur(11px);display:grid;place-items:center;padding:14px;overflow:auto}.winner-card{width:min(100%,650px);background:linear-gradient(155deg,#182b49,#0b1628);border:1px solid #3b5578;border-radius:28px;padding:20px;box-shadow:0 30px 100px #000b}.winner-card h1{margin:2px 0 4px;font-size:34px}.replay-head{display:flex;align-items:center;gap:8px;margin:15px 0 8px}.replay-head b{margin-right:auto}.replay-head select{background:#0a1626;color:#fff;border:1px solid #324a69;border-radius:10px;padding:8px;max-width:190px}.replay-head span{font-size:10px;color:var(--muted)}.replay-boards{max-width:560px;margin:auto}.winner-actions{display:flex;gap:9px;margin-top:14px}.winner-actions>*{flex:1}.ghost-list{display:grid;gap:7px;margin-top:12px}.ghost-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0c1829;border:1px solid #243a55;border-radius:13px;padding:11px 12px;text-align:left}.ghost-row span{color:var(--muted);font-size:10px}
@media(min-width:700px){.mode-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:560px){.profile-bar{align-items:flex-start}.profile-actions{justify-content:flex-end}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-card{min-height:86px;padding:11px}.winner-card{padding:14px;border-radius:21px}.winner-card h1{font-size:28px}.winner-actions{flex-direction:column}.replay-head{flex-wrap:wrap}.network-top strong{font-size:12px}}

.challenge-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.challenge-settings label{display:flex;flex-direction:column;gap:5px;color:#91a6c0;font-size:9px}.challenge-settings select,.challenge-settings input{width:100%;background:#0b1728;color:#fff;border:1px solid #314866;border-radius:12px;padding:10px;font:inherit}.challenge-settings label span{font-size:8px;color:#6f849f}.invite-top,.room-line{display:flex;justify-content:space-between;align-items:center;gap:10px}.accept-clock,.room-code{white-space:nowrap;background:#172b45;border:1px solid #385473;border-radius:999px;padding:5px 8px;color:#ffd56a;font-size:10px}.notice-stack{position:fixed;right:14px;top:64px;z-index:130;width:min(360px,calc(100vw - 28px));display:grid;gap:8px;pointer-events:none}.live-notice{pointer-events:auto;background:linear-gradient(155deg,#19304f,#0b172a);border:1px solid #426287;border-radius:18px;padding:13px;box-shadow:0 18px 55px #0009}.live-notice b{display:block}.live-notice p{margin:5px 0 10px;color:#afc0d6;font-size:12px}.notice-actions{display:flex;gap:7px}.notice-actions>*{flex:1;padding:9px}.history-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #213650}.history-row:last-child{border-bottom:0}.history-row b,.history-row span,.history-row small{display:block}.history-row span{font-size:11px;color:#bfd0e4;margin-top:2px}.history-row small{font-size:9px;color:#70869f;margin-top:3px}.history-result{text-align:right;white-space:nowrap}.history-result strong{color:#ffd56a}.cancel-challenge{margin-top:9px}.invite-card small{display:block;color:#8ea4bd;margin-top:5px}
@media(max-width:560px){.challenge-settings{grid-template-columns:1fr 1fr}.challenge-settings label:last-child{grid-column:1/-1}.history-row{flex-direction:column}.history-result{text-align:left}.notice-stack{top:58px}}

/* v1.3 live challenge inbox, points assists, practice */
.points-wallet{display:inline-flex;margin-top:4px;padding:4px 8px;border-radius:999px;background:#172b45;border:1px solid #385473;color:#ffd56a;font-size:10px;font-weight:900}
.challenge-layer{position:fixed;inset:0;z-index:155;background:#020812e8;backdrop-filter:blur(10px);display:grid;place-items:center;padding:14px}
.challenge-modal{width:min(100%,560px);max-height:min(78vh,720px);overflow:auto;background:linear-gradient(155deg,#182b49,#0b1628);border:1px solid #3b5578;border-radius:26px;padding:18px;box-shadow:0 30px 100px #000b}
.assist-dock{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.assist-dock button{min-height:42px}.assist-dock button:disabled{opacity:.42;filter:grayscale(.4)}
.practice-hint{width:100%;margin:8px 0}.practice-guide{display:grid;gap:8px;margin:14px 0}.practice-guide>div{display:flex;gap:10px;align-items:center;background:#0c192b;border:1px solid #263d59;border-radius:13px;padding:9px 11px}.practice-guide b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:#17345a;color:#8fc4ff}.practice-guide span{font-size:11px;color:#bdcde0}.practice-select{display:grid;gap:6px;color:#91a6c0;font-size:10px;margin:12px 0}.practice-select select{background:#0b1728;color:#fff;border:1px solid #314866;border-radius:12px;padding:11px}
@media(max-width:560px){.profile-actions{gap:6px}.profile-actions button{font-size:9px;padding:8px}.challenge-modal{max-height:84vh;border-radius:20px;padding:13px}.assist-dock{grid-template-columns:1fr 1fr}}

.points-note{margin:10px 0 0;padding:9px 11px;border-radius:12px;background:#0b1728;border:1px solid #263d59;color:#9fb5cf;font-size:10px;line-height:1.4}


/* v1.4 fixed-viewport mobile game dashboard */
.network-body{height:100dvh;overflow:hidden}
.network-top{height:48px;min-height:48px;padding:6px 10px;position:relative;flex:none}
.network-top strong{font-size:12px}.network-top a{font-size:11px}.online-pill{padding:6px 8px;font-size:9px}
.network-shell{height:calc(100dvh - 48px);min-height:0;width:min(100%,760px);padding:0;margin:auto;overflow:hidden}
#joinPanel{height:100%;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;padding:24px}
#arenaPanel.compact-arena{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#arenaPanel.network-hidden{display:none!important;pointer-events:none!important}
.arena-topbar{height:56px;min-height:56px;display:flex;align-items:center;gap:7px;padding:7px 9px;background:linear-gradient(180deg,#101f34,#0b1729);border-bottom:1px solid #263b56}
.arena-user{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.arena-user .mini-avatar{width:34px;height:34px;border-radius:12px;font-size:12px}.arena-user small,.arena-user b{display:block}.arena-user small{font-size:7px;letter-spacing:.12em;color:#7f93ad}.arena-user b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.arena-wallet{font-size:10px;font-weight:900;color:#ffd56a;background:#172b45;border:1px solid #385473;border-radius:999px;padding:6px 8px;white-space:nowrap}.arena-icon-btn{position:relative;width:34px;height:34px;border-radius:11px;border:1px solid #324967;background:#14243a;padding:0;display:grid;place-items:center;font-size:15px}.arena-icon-btn em,.game-bottom-nav em{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;border-radius:999px;background:#ff4f86;color:white;border:2px solid #0b1729;font-size:8px;font-style:normal;display:grid;place-items:center;font-weight:900}
.lobby-pages{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(circle at 10% 0,#13345a55,transparent 36%),radial-gradient(circle at 100% 10%,#5c214355,transparent 30%)}
.lobby-page{position:absolute;inset:0;display:none;min-height:0;padding:9px 9px 67px;overflow:hidden}.lobby-page.active{display:flex;flex-direction:column}.lobby-page#homePage{overflow:hidden}
.compact-hero-card{background:linear-gradient(155deg,#172a47,#0d1b2f);border:1px solid #314965;border-radius:20px;padding:12px;box-shadow:0 14px 34px #0004}.compact-hero-copy h1{font-size:22px;line-height:1;margin:1px 0 4px}.compact-hero-copy p:not(.eyebrow){margin:0 0 9px;color:#91a6c0;font-size:10px;line-height:1.3}.compact-hero-copy .eyebrow{font-size:8px;margin-bottom:4px}
.quick-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quick-config-grid label{display:flex;align-items:center;gap:7px;background:#0a1627;border:1px solid #273e59;border-radius:12px;padding:6px 8px;min-height:38px}.quick-config-grid label>span{font-size:8px;color:#8095af;min-width:42px}.quick-config-grid select,.quick-config-grid input{flex:1;min-width:0;background:transparent;color:white;border:0;outline:none;font:inherit;font-size:10px;padding:0}.quick-config-grid option{background:#0d1a2d}.home-challenge-actions{display:grid;grid-template-columns:1.35fr .85fr;gap:7px;margin-top:8px}.home-challenge-actions .primary-btn,.home-challenge-actions .secondary-btn{min-width:0;padding:10px 9px;border-radius:13px;font-size:10px}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px;flex:1;min-height:0}.module-btn{border:1px solid #273e5a;background:linear-gradient(155deg,#12223a,#0b1729);border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:9px;min-height:0}.module-btn>span{font-size:20px;line-height:1;margin-bottom:5px}.module-btn b{font-size:10px}.module-btn small{font-size:7px;color:#8296b0;margin-top:2px}.home-status-strip{height:24px;display:flex;align-items:center;justify-content:center;gap:6px;color:#71859f;font-size:8px;white-space:nowrap}
.game-bottom-nav{position:absolute;left:0;right:0;bottom:0;height:58px;padding:5px 7px max(5px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);gap:3px;background:#07111ff2;border-top:1px solid #263951;backdrop-filter:blur(16px);z-index:30}.game-bottom-nav button{position:relative;border:0;background:transparent;color:#71849e;border-radius:12px;display:grid;place-items:center;align-content:center;gap:1px}.game-bottom-nav button>span{font-size:16px}.game-bottom-nav button small{font-size:7px}.game-bottom-nav button.active{color:#fff;background:#172a43}.game-bottom-nav button.active>span{filter:drop-shadow(0 0 8px #58a7ff)}
.page-title-row{height:48px;min-height:48px;display:flex;align-items:center;gap:9px}.page-title-row .eyebrow{font-size:7px;margin:0}.page-title-row h2{font-size:16px;margin:1px 0 0}.page-title-row>span{margin-left:auto;color:#69e0a4;font-size:9px}.page-title-row .mini-btn{margin-left:auto}.page-back{width:34px;height:34px;border-radius:11px;border:1px solid #304862;background:#13233a;font-size:22px;display:grid;place-items:center;padding:0}.page-scroll-area{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:8px}.page-action-dock{min-height:50px;display:grid;grid-template-columns:1.4fr .6fr;gap:7px;padding-top:7px}.page-action-dock button{min-width:0;padding:10px;font-size:10px}.player-list{margin-top:0}.player-row{padding:8px 9px;border-radius:13px;gap:8px}.player-name{font-size:10px}.player-points{font-size:8px}.player-row .mini-btn{padding:6px 7px}.player-row input{width:16px;height:16px}
.center-module-card{margin:auto 0;background:linear-gradient(155deg,#172a47,#0d1b2f);border:1px solid #314965;border-radius:20px;padding:18px;text-align:center}.center-module-card .module-big-icon{font-size:44px}.center-module-card p{font-size:11px;color:#91a6c0}.center-module-card .name-input{width:100%;margin:5px 0 8px}.center-module-card button{width:100%;margin-top:7px}
.practice-full-panel{flex:1;min-height:0;overflow:auto}.practice-full-panel:empty:before{content:'Loading training…';display:grid;place-items:center;height:100%;color:#8195af}.practice-full-panel .practice-guide{grid-template-columns:1fr 1fr}.practice-full-panel .practice-guide>div{padding:8px}.practice-full-panel .practice-guide span{font-size:9px}.practice-full-panel .primary-btn{width:100%;min-width:0}
.module-section{background:#0e1c30;border:1px solid #2b415e;border-radius:15px;padding:10px;margin-bottom:8px}.module-section h3{font-size:12px;margin:0 0 6px}.history-scroll,.ranks-scroll{padding-right:2px}.history-row{padding:8px 0}.history-row b{font-size:10px}.history-row span{font-size:9px}.history-row small{font-size:7px}.leader-table td,.leader-table th{padding:7px 4px;font-size:9px}.leader-rank{font-size:12px}
#challengeLayer{padding:8px}.challenge-modal{width:min(100%,520px);max-height:calc(100dvh - 76px);padding:12px;border-radius:20px}.challenge-modal .section-head{margin:0}.challenge-modal .net-muted{font-size:9px;margin:6px 0}.invite-card,.room-card{padding:9px;border-radius:13px}.invite-card small,.room-card small{font-size:8px}.invite-actions button{padding:8px;font-size:9px}
.notice-stack{top:52px;right:8px;width:min(340px,calc(100vw - 16px))}.live-notice{padding:10px;border-radius:14px}.live-notice p{font-size:9px}.notice-actions>*{padding:7px;font-size:9px}

@media(max-height:680px){.arena-topbar{height:50px;min-height:50px}.compact-hero-card{padding:9px}.compact-hero-copy h1{font-size:18px}.compact-hero-copy p:not(.eyebrow){font-size:8px;margin-bottom:6px}.quick-config-grid{gap:5px}.quick-config-grid label{min-height:32px;padding:4px 6px}.home-challenge-actions{margin-top:6px}.home-challenge-actions .primary-btn,.home-challenge-actions .secondary-btn{padding:8px}.module-grid{gap:5px;margin-top:6px}.module-btn{padding:7px;border-radius:13px}.module-btn>span{font-size:17px;margin-bottom:3px}.home-status-strip{height:19px}.game-bottom-nav{height:52px}.lobby-page{padding-bottom:59px}}
@media(min-width:700px){#arenaPanel.compact-arena{max-width:700px;margin:auto;border-left:1px solid #203650;border-right:1px solid #203650}.module-grid{grid-template-columns:repeat(6,1fr);grid-template-rows:1fr}.compact-hero-card{padding:16px}.quick-config-grid{grid-template-columns:repeat(4,1fr)}}

/* v1.5 — 500-level scalable/tall board system */
.world-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;margin:0 0 12px}.world-nav select{width:100%;height:44px;border-radius:13px;border:1px solid #2c4362;background:#0e1b2e;color:#eaf2ff;padding:0 10px;font:inherit;font-size:12px;font-weight:800}.world-nav button{height:44px;padding:0;font-size:24px}.world-nav button:disabled{opacity:.3}.level-size{position:absolute;top:7px;right:7px;font-size:8px;color:#7f94b1;font-weight:800}.board{min-height:0}.board .cell{min-height:0}.board-card.tall-card{position:relative;overscroll-behavior:contain;scrollbar-width:thin}.board-card.tall-card .board-label{position:sticky;top:0;z-index:8;background:linear-gradient(180deg,#14253a 82%,rgba(20,37,58,.9));border-radius:10px 10px 0 0;padding:0 3px}.board-card.tall-card .cell{aspect-ratio:1;border-radius:4px}.board-card.tall-card .pawn{inset:11%;font-size:9px}.board-card.tall-card .cell.home:before{font-size:15px}.board-card.tall-card .cell.crystal:after{font-size:11px}

body.tall-solo{overflow:hidden}body.tall-solo main{height:calc(100dvh - 58px);padding:7px 7px 5px;overflow:hidden}body.tall-solo #gameScreen.active{height:100%;display:flex;flex-direction:column;min-height:0}body.tall-solo .game-head{flex:0 0 auto;margin:0 2px 5px}body.tall-solo .game-head h2{font-size:14px;max-width:245px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.tall-solo .move-box{padding:4px 9px;min-width:62px}body.tall-solo .move-box b{font-size:18px}body.tall-solo .tutorial-banner,body.tall-solo .reverse-notice{flex:0 0 auto;margin:0 0 5px;padding:6px 8px;font-size:9px}body.tall-solo .boards-wrap.level-tall{flex:1;min-height:0;align-items:stretch;overflow:hidden;touch-action:pan-y}body.tall-solo .boards-wrap.level-tall .board-card{height:100%;overflow-y:auto;padding:4px}body.tall-solo .boards-wrap.level-tall .board{height:auto;min-height:max-content}body.tall-solo .sync-pill{align-self:center}body.tall-solo .controls-card{flex:0 0 auto;margin-top:5px;border-radius:14px;padding:5px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:38px 34px;gap:4px}body.tall-solo .controls-card .dir{grid-row:1!important;border-radius:10px;font-size:20px}body.tall-solo .controls-card .left{grid-column:1!important}body.tall-solo .controls-card .up{grid-column:2!important}body.tall-solo .controls-card .down{grid-column:3!important}body.tall-solo .controls-card .right{grid-column:4!important}body.tall-solo .control-actions{grid-column:1/-1!important;grid-row:2!important;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}body.tall-solo .ghost-btn{padding:5px;font-size:10px}body.tall-solo .mission-card{display:none}

.tall-move-pad{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:5px 0}.tall-move-pad button{min-height:38px;border:1px solid #36516f;background:linear-gradient(145deg,#243955,#132237);color:white;border-radius:11px;font-size:20px;font-weight:900}.tall-move-pad button:active{transform:scale(.96)}body.tall-race{overflow:hidden;touch-action:auto}body.tall-race .race-screen.active{height:calc(100dvh - 54px);min-height:0;overflow:hidden}body.tall-race .race-hud{flex:0 0 auto;padding:4px 0}body.tall-race .race-hud h2{font-size:13px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.tall-race .race-stat{padding:4px 7px}body.tall-race .race-board-area{flex:1;min-height:0;align-items:stretch;overflow:hidden}body.tall-race .race-board-area .boards-wrap{height:100%;align-items:stretch;touch-action:pan-y}body.tall-race .race-board-area .board-card{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:3px}body.tall-race .race-board-area .board{height:auto;max-height:none!important;min-height:max-content}body.tall-race .race-footer{flex:0 0 auto;padding:3px 2px 5px;background:#07111f}body.tall-race .swipe-hint{font-size:8px;margin:2px 0}body.tall-race .racer-strip{max-height:30px}body.tall-race .assist-dock{margin-top:3px}.replay-boards .tall-card{max-height:50dvh;overflow-y:auto}

@media(max-width:560px){.world-nav{grid-template-columns:38px minmax(0,1fr) 38px}.world-nav select{height:40px;font-size:10px}.world-nav button{height:40px}.board-card.tall-card .board-label{height:25px}.board-card.tall-card .mini-avatar{width:19px;height:19px}.level-size{top:5px;right:5px;font-size:7px}body.tall-race .race-board-area .boards-wrap{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)}body.tall-race .race-board-area .sync-pill{width:14px;font-size:9px}}

/* v1.5.2 visible updater controls */
.network-top-actions{display:flex;align-items:center;gap:7px}
.top-update-btn{height:30px;border-radius:10px;border:1px solid #365270;background:#13243a;color:#dceaff;padding:0 9px;font-size:10px;font-weight:900;white-space:nowrap}
.top-update-btn:active,.arena-icon-btn[data-native-update]:active{transform:scale(.96)}
@media(max-width:390px){.top-update-btn{padding:0 7px;font-size:9px}.network-top strong{font-size:11px}}

/* v1.6 communication, child-friendly challenges, settings, tall-board controls */
.top-settings-btn{width:34px;height:34px;border:1px solid #2e4664;border-radius:11px;background:#101f34;color:#fff;font-size:17px;display:grid;place-items:center}
.challenge-comm-grid{display:grid;grid-template-columns:1fr 1fr minmax(150px,1.4fr);gap:7px;margin-top:8px}.toggle-chip,.message-chip{background:#0c192b;border:1px solid #263e5b;border-radius:12px;min-height:40px;padding:7px 9px;color:#cbd9ea;font-size:10px;display:flex;align-items:center;gap:7px}.toggle-chip input{width:18px;height:18px}.message-chip{flex-direction:column;align-items:stretch;gap:3px}.message-chip>span{font-size:8px;color:#8298b4}.message-chip select{background:transparent;border:0;color:#fff;font:inherit;outline:none;width:100%}.message-chip option{background:#0c192b}
.challenge-layer.urgent-challenge{padding:0;background:radial-gradient(circle at 50% 30%,rgba(52,119,205,.28),#020812f5)}.challenge-layer.urgent-challenge .challenge-modal{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;display:flex;flex-direction:column;justify-content:center}.kid-invite-card{text-align:center;padding:18px!important}.challenge-emoji,.challenge-celebrate{font-size:48px;line-height:1}.invite-message,.challenge-big-message{font-size:20px;font-weight:950;color:#ffd86b;margin:10px 0}.kid-actions{display:grid!important;grid-template-columns:1.4fr 1fr .7fr}.kid-actions button{min-height:50px;font-weight:950}.outgoing-challenge-modal{text-align:center}.outgoing-challenge-modal h1{margin:4px 0;font-size:28px}.challenge-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.challenge-meta-grid>div{background:#0b1728;border:1px solid #2b4564;border-radius:13px;padding:9px}.challenge-meta-grid small,.challenge-meta-grid b{display:block}.challenge-meta-grid small{font-size:8px;color:#8298b4}.challenge-wait{display:flex;justify-content:space-between;align-items:center;background:#132641;border:1px solid #36577b;padding:10px 13px;border-radius:14px;margin:10px 0}.challenge-wait b{font-size:20px;color:#ffd56a}.challenge-modal-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.add-player-area{margin:10px 0;text-align:left}.add-player-list{display:grid;gap:6px;max-height:190px;overflow:auto}.add-player-row{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:7px;padding:8px;border-radius:11px;background:#0c192b;border:1px solid #263e5b}.add-player-row input{width:18px;height:18px}.add-player-row small{color:#ffd56a}
.settings-list{display:grid;gap:8px;margin:12px 0}.settings-list label{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#0c192b;border:1px solid #263e5b;border-radius:13px}.settings-list input{width:22px;height:22px}.settings-note{font-size:10px;color:#8095af;line-height:1.45}.top-actions{display:flex;align-items:center;gap:7px}
.race-comms{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:4px 0}.comm-btn{min-height:36px;border:1px solid #314b69;background:#101f34;color:#c4d4e8;border-radius:10px;font-size:10px;font-weight:900}.comm-btn.active{border-color:#55d89c;color:#7aefb6;background:#102b24}.comm-btn:disabled{opacity:.45}.race-chat-layer{position:fixed;inset:0;z-index:170;background:#020812c9;display:flex;align-items:flex-end}.race-chat-card{width:100%;max-height:70dvh;background:#0b1728;border-top:1px solid #365171;border-radius:22px 22px 0 0;padding:12px;display:flex;flex-direction:column}.race-chat-messages{min-height:160px;max-height:45dvh;overflow:auto;display:grid;gap:6px;padding:5px}.race-chat-bubble{justify-self:start;max-width:85%;background:#162b47;border:1px solid #315071;border-radius:13px 13px 13px 4px;padding:8px 10px}.race-chat-bubble.mine{justify-self:end;background:#372a58;border-radius:13px 13px 4px 13px}.race-chat-bubble b,.race-chat-bubble span{display:block}.race-chat-bubble b{font-size:8px;color:#8fa7c3}.race-chat-bubble span{font-size:11px}.race-chat-compose{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}.race-chat-compose input{min-width:0;background:#07111f;color:#fff;border:1px solid #314b69;border-radius:12px;padding:10px}
.tall-scroll-pad,.solo-tall-scroll{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:5px 0}.tall-scroll-pad button,.solo-tall-scroll button{min-height:40px;border:1px solid #456485;background:linear-gradient(145deg,#253d5b,#122239);color:#fff;border-radius:11px;font-size:12px;font-weight:950}.solo-tall-scroll{padding:0 8px}.tall-solo .controls-card .dir{display:none!important}.level-tall{touch-action:none}.level-tall .board-card.tall-card{overflow-y:hidden!important}body.tall-race .race-board-area .boards-wrap{touch-action:none!important}body.tall-race .race-board-area .board-card{overflow-y:hidden!important}
#remoteAudioBin{position:fixed;width:1px;height:1px;overflow:hidden;opacity:.001;pointer-events:none}
@media(max-width:560px){.challenge-comm-grid{grid-template-columns:1fr 1fr}.message-chip{grid-column:1/-1}.challenge-modal-actions{grid-template-columns:1fr 1fr}.challenge-modal-actions .danger-btn{grid-column:1/-1}.kid-actions{grid-template-columns:1.4fr 1fr!important}.kid-actions .decline{grid-column:1/-1}.invite-message{font-size:18px}.race-comms{gap:3px}.comm-btn{font-size:9px;padding:6px 3px}}

/* v1.6.1 compact race ergonomics */
.toggle-button{appearance:none;width:100%;justify-content:space-between;cursor:pointer}.toggle-button b{font-size:9px;color:#90a4bd}.toggle-button.active{border-color:#55d89c;background:#102b24;color:#dfffee}.toggle-button.active b{color:#79efb7}
body.racing .network-top{display:none!important}body.racing .network-shell{padding:0 6px 2px;width:100%;max-width:none}body.racing .race-screen.active{height:100dvh;min-height:100vh}
.race-hud{gap:4px;padding:3px 1px}.race-title-compact{min-width:0;flex:1}.race-title-compact .eyebrow{font-size:7px;margin:0 0 2px}.race-hud h2{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.race-stat{padding:3px 5px;border-radius:8px;min-width:38px}.race-stat span{font-size:6px}.race-stat b{font-size:11px}.race-end-btn{height:28px;padding:0 7px;border:1px solid #6c4350;background:#2b1720;border-radius:8px;color:#ffc6d2;font-size:8px;font-weight:950}
.race-board-area{touch-action:none!important}.race-board-area .boards-wrap{touch-action:none!important}.race-board-area .board-card,.race-board-area .board{touch-action:none!important}
.race-footer{padding:2px 1px 4px!important}.swipe-hint{font-size:7px!important;margin:1px 0 2px!important}.race-participant-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:4px;align-items:center;margin-bottom:2px}.racer-strip{gap:3px;padding:0;min-width:0;max-height:22px}.racer-chip{padding:3px 6px;font-size:7px;border-radius:8px}.race-chat-icon{width:28px;height:24px;padding:0;border:1px solid #314b69;background:#101f34;border-radius:8px;color:#fff;font-size:12px}
.race-bottom-tools{display:flex;align-items:center;gap:4px;min-height:28px}.race-comms{display:flex!important;gap:3px;margin:0}.race-comms.network-hidden{display:none!important;pointer-events:none!important}.comm-btn{width:30px;height:27px;min-height:0;padding:0;border-radius:8px;font-size:12px}.comm-btn.active{box-shadow:0 0 0 1px #55d89c33}.assist-dock{display:flex;gap:3px;margin:0}.assist-dock.network-hidden{display:none!important;pointer-events:none!important}.assist-mini{height:27px;min-height:0;padding:0 7px;border:1px solid #35506e;background:#122239;color:#dbe9fa;border-radius:8px;font-size:7px;font-weight:950;white-space:nowrap}.boost-mini{border-color:#5e5aa0;background:#24214a}.practice-hint{margin:0}.tall-scroll-pad{grid-template-columns:1fr 1fr;gap:4px;margin:2px 0}.tall-scroll-pad button{min-height:27px;height:27px;font-size:8px;border-radius:8px}
.end-race-modal{max-width:380px!important}.end-race-actions{display:grid;gap:7px;margin-top:10px}.end-race-actions button{min-height:42px}.end-race-actions .secondary-btn{width:100%}
body.tall-race .race-screen.active{height:100dvh!important}body.tall-race .race-hud{padding:2px 0!important}body.tall-race .race-board-area{min-height:0}body.tall-race .race-footer{padding:1px 0 3px!important}body.tall-race .racer-strip{max-height:22px!important}body.tall-race .assist-dock{margin:0!important}
@media(max-width:420px),(max-height:760px){.race-hud h2{max-width:112px;font-size:9px}.race-stat{min-width:32px;padding:2px 4px}.race-stat b{font-size:9px}.race-end-btn{height:24px;font-size:7px}.race-board-area .boards-wrap{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)!important;gap:2px}.race-board-area .board-card{padding:2px!important}.race-board-area .board-label{height:20px;font-size:7px}.race-board-area .mini-avatar{width:17px;height:17px}.sync-pill{width:12px!important;min-width:12px;height:34px;font-size:8px}.race-chat-icon{width:25px;height:22px}.comm-btn{width:27px;height:24px}.assist-mini{height:24px;padding:0 5px;font-size:6.5px}.tall-scroll-pad button{height:24px;min-height:24px}.swipe-hint{display:none}.racer-chip{font-size:6.5px;padding:2px 5px}.race-participant-row{grid-template-columns:minmax(0,1fr) 27px}.race-footer{padding-bottom:max(2px,env(safe-area-inset-bottom))!important}}
#gameScreen.active{touch-action:none;overscroll-behavior:none}
@supports not (height:100dvh){body.racing .race-screen.active,body.tall-race .race-screen.active{height:100vh!important}}

/* v1.6.2 direct voice controls + visual speaking activity */
.race-comms{gap:6px!important}
.comm-btn{position:relative;width:40px!important;height:34px!important;min-width:40px!important;min-height:34px!important;font-size:15px!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.comm-btn.muted{opacity:.72;border-color:#4c5a6b;background:#0d1726;color:#9ba9b9}
.comm-btn.remote-speaking::after{content:'';position:absolute;right:2px;top:2px;width:6px;height:6px;border-radius:50%;background:#66f1ae;box-shadow:0 0 0 0 rgba(102,241,174,.55);animation:voicePulse .7s infinite}
.racer-chip{position:relative}
.racer-chip .speak-light{display:none;position:absolute;right:2px;top:2px;width:5px;height:5px;border-radius:50%;background:#66f1ae}
.racer-chip.speaking{border-color:#5ce5a3!important;box-shadow:0 0 0 1px rgba(92,229,163,.2),0 0 10px rgba(92,229,163,.3)}
.racer-chip.speaking .speak-light{display:block;animation:voicePulse .65s infinite}
@keyframes voicePulse{0%{transform:scale(.8);box-shadow:0 0 0 0 rgba(102,241,174,.55)}70%{transform:scale(1.15);box-shadow:0 0 0 5px rgba(102,241,174,0)}100%{transform:scale(.8);box-shadow:0 0 0 0 rgba(102,241,174,0)}}
@media(max-width:420px),(max-height:760px){.race-comms{gap:5px!important}.comm-btn{width:38px!important;height:32px!important;min-width:38px!important;min-height:32px!important;font-size:14px!important}}


/* v1.6.3 responsive race dock + translucent chat */
body.racing .race-screen.active{height:100dvh!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden!important;padding-bottom:0!important}
body.racing .race-board-area{min-height:0!important;overflow:hidden!important}
body.racing .race-footer{position:relative!important;z-index:85!important;flex:0 0 auto!important;background:linear-gradient(180deg,rgba(7,17,31,.72),rgba(7,17,31,.97));padding:3px 3px calc(max(14px,env(safe-area-inset-bottom)) + 5px)!important;margin:0!important;box-shadow:0 -8px 24px rgba(0,0,0,.22)}
body.racing .race-participant-row{margin:0 0 3px!important;min-height:25px!important}
body.racing .race-bottom-tools{display:flex!important;justify-content:center!important;align-items:center!important;gap:6px!important;min-height:38px!important;padding:0 2px!important;overflow:visible!important}
body.racing .race-comms{display:flex!important;gap:6px!important;flex:0 0 auto!important}
body.racing .race-comms.network-hidden{display:none!important;pointer-events:none!important}
body.racing .comm-btn{width:42px!important;height:36px!important;min-width:42px!important;min-height:36px!important;font-size:16px!important;border-radius:10px!important}
body.racing .assist-dock{display:flex!important;gap:4px!important;flex:0 0 auto!important}
body.racing .assist-dock.network-hidden{display:none!important;pointer-events:none!important}
body.racing .assist-mini{height:30px!important;min-height:30px!important;padding:0 7px!important;font-size:7px!important;border-radius:8px!important}
body.racing .tall-scroll-pad{margin:2px 0 3px!important}
body.racing .tall-scroll-pad button{height:28px!important;min-height:28px!important;font-size:8px!important}
.race-chat-layer{background:rgba(2,8,18,.18)!important;backdrop-filter:none!important;pointer-events:auto}
.race-chat-card{background:rgba(11,23,40,.82)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top-color:rgba(96,139,185,.55)!important;box-shadow:0 -14px 34px rgba(0,0,0,.32)}
.race-chat-messages{background:rgba(5,13,24,.12);border-radius:14px}
@media(max-height:760px){
 body.racing .race-footer{padding-bottom:calc(max(18px,env(safe-area-inset-bottom)) + 6px)!important}
 body.racing .race-bottom-tools{min-height:36px!important;gap:5px!important}
 body.racing .comm-btn{width:40px!important;height:34px!important;min-width:40px!important;min-height:34px!important;font-size:15px!important}
 body.racing .assist-mini{height:28px!important;min-height:28px!important;padding:0 6px!important;font-size:6.7px!important}
 body.racing .racer-chip{font-size:6.5px!important;padding:2px 5px!important}
 body.racing .race-chat-icon{width:30px!important;height:25px!important}
}
@media(max-height:680px){
 body.racing .race-footer{padding-bottom:calc(max(22px,env(safe-area-inset-bottom)) + 7px)!important}
 body.racing .swipe-hint{display:none!important}
 body.racing .race-bottom-tools{min-height:34px!important}
 body.racing .comm-btn{width:38px!important;height:32px!important;min-width:38px!important;min-height:32px!important}
 body.racing .assist-mini{height:27px!important;min-height:27px!important;font-size:6.3px!important}
}


/* v1.6.4 race control visibility: keep voice/assist controls above every game/chat/navigation layer */
body.racing #arenaPanel,
body.racing .game-bottom-nav,
body.racing .notice-stack{display:none!important}
body.racing #raceScreen{position:fixed!important;inset:0!important;z-index:220!important;isolation:isolate!important;background:#07111f!important}
body.racing .race-hud{position:relative!important;z-index:230!important}
body.racing .race-board-area{position:relative!important;z-index:1!important}
body.racing .race-board-area .boards-wrap,
body.racing .race-board-area .board-card{position:relative!important;z-index:1!important}
body.racing .race-footer{position:relative!important;z-index:420!important;isolation:isolate!important;overflow:visible!important;background:#07111f!important;box-shadow:0 -10px 28px rgba(0,0,0,.28)!important}
body.racing .race-participant-row{position:relative!important;z-index:430!important}
body.racing .tall-scroll-pad{position:relative!important;z-index:435!important}
body.racing .race-bottom-tools{position:relative!important;z-index:460!important;overflow:visible!important;background:#07111f!important;border-radius:11px!important;padding:4px 5px!important;margin-top:2px!important;box-shadow:0 0 0 1px rgba(72,105,143,.18)!important}
body.racing .race-comms,
body.racing .assist-dock,
body.racing #practiceHintBtn{position:relative!important;z-index:470!important}
body.racing .comm-btn,
body.racing .assist-mini{position:relative!important;z-index:480!important}
body.racing .race-chat-layer{z-index:360!important}
body.racing .race-chat-card{padding-bottom:calc(max(64px,env(safe-area-inset-bottom)) + 18px)!important}
@media(max-height:760px){
 body.racing .race-bottom-tools{padding:4px 4px!important;margin-top:3px!important}
 body.racing .race-footer{padding-bottom:calc(max(18px,env(safe-area-inset-bottom)) + 8px)!important}
}
@media(max-height:680px){
 body.racing .race-bottom-tools{padding:3px 4px!important}
 body.racing .race-footer{padding-bottom:calc(max(22px,env(safe-area-inset-bottom)) + 9px)!important}
}


/* v1.6.5 simplified lobby navigation + profile/presence settings */
.simplified-topbar{display:grid!important;grid-template-columns:minmax(88px,1fr) auto minmax(120px,1fr);gap:8px;align-items:center;height:50px!important;min-height:50px!important;padding:6px 9px!important}
.top-player-cluster{display:flex;align-items:center;gap:6px;min-width:0}.top-player-cluster b{font-size:10px;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-player-cluster span{font-size:8px;color:#ffd56a;background:#172b45;border:1px solid #385473;border-radius:999px;padding:4px 6px;white-space:nowrap}.top-game-title{justify-self:center;font-size:12px!important;white-space:nowrap}.simplified-topbar .network-top-actions{justify-self:end;gap:5px}.simplified-topbar .online-pill{border:1px solid #28654d;background:#0f2c23;color:#75efb0;padding:5px 7px;font-size:8px;cursor:pointer}.simplified-topbar .online-pill.offline{border-color:#495568;background:#151c28;color:#aeb8c6}.top-settings-btn,.top-update-btn{min-width:30px;height:30px;border-radius:9px;padding:0 7px}
#arenaPanel.compact-arena{padding-top:0!important}.lobby-pages{min-height:0}.home-status-strip{margin-top:8px}.module-grid{display:none!important}
.message-chip input{width:100%;box-sizing:border-box;background:#081525;border:1px solid #2b4665;color:#fff;border-radius:8px;padding:6px 7px;font:inherit;outline:none}.message-chip input::placeholder{color:#6f849f}
.profile-settings-block{display:grid;gap:9px;margin-bottom:10px;padding:10px;background:#0c192b;border:1px solid #263e5b;border-radius:14px}.profile-settings-block>label>span{display:block;color:#9eb1c8;font-size:9px;margin-bottom:5px}.setting-name-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.setting-name-row .name-input{min-width:0;padding:9px 10px;border-radius:10px}.setting-name-row .secondary-btn{padding:7px 10px}.presence-setting{display:flex!important;align-items:center;justify-content:space-between;gap:10px;background:#0a1525;border-radius:10px;padding:8px}.presence-setting>span{margin:0!important}.presence-setting b,.presence-setting small{display:block}.presence-setting small{font-size:7px;color:#71869f;margin-top:2px}.presence-setting input{width:20px;height:20px}
.rank-tab-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:6px 0 8px}.rank-tab-switch button{border:1px solid #293f5a;background:#0c192b;color:#8da2bc;border-radius:10px;padding:8px;font-size:9px;font-weight:800}.rank-tab-switch button.active{background:#18304d;color:#fff;border-color:#416489}.rank-tab-panel{display:none!important;min-height:0}.rank-tab-panel.active{display:block!important}.history-tab-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;color:#8fa4bd;font-size:8px}
@media(max-width:430px){.simplified-topbar{grid-template-columns:minmax(78px,1fr) auto minmax(104px,1fr);gap:4px;padding:5px 6px!important}.top-player-cluster{gap:4px}.top-player-cluster b{max-width:66px;font-size:8px}.top-player-cluster span{font-size:7px;padding:3px 5px}.top-game-title{font-size:9px!important}.simplified-topbar .online-pill{padding:4px 5px;font-size:7px}.top-settings-btn,.top-update-btn{min-width:27px;height:27px;padding:0 5px;font-size:11px}.challenge-comm-grid{grid-template-columns:1fr 1fr}.message-chip{grid-column:1/-1}}


/* v1.6.6 lobby interaction + online-player shelf */
.home-online-section{margin-top:8px;background:linear-gradient(160deg,rgba(12,25,43,.82),rgba(8,18,32,.92));border:1px solid #233b58;border-radius:14px;padding:8px;min-height:74px}
.home-online-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.home-online-head b{font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:#a8bad0}.home-online-head .mini-btn{padding:5px 8px;font-size:8px}
.home-online-players{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:1px 0 3px}.home-online-players::-webkit-scrollbar{display:none}.home-online-player{flex:0 0 auto;min-width:104px;max-width:135px;display:grid;grid-template-columns:9px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:5px;row-gap:1px;border:1px solid #2d4c6c;background:#0d1c30;color:#fff;border-radius:11px;padding:7px 8px;text-align:left}.home-online-player .presence{grid-row:1/3;width:7px;height:7px}.home-online-name{font-size:9px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-online-player small{font-size:7px;color:#ffd56a}.home-online-player b{grid-column:3;grid-row:1/3;font-size:13px;color:#8fc4ff}.compact-empty{padding:12px 10px!important;font-size:9px;min-width:100%}
.online-pill:disabled{opacity:.55}
@media(max-height:680px){.home-online-section{margin-top:5px;padding:6px;min-height:58px}.home-online-head{margin-bottom:4px}.home-online-player{padding:5px 7px;min-width:96px}.compact-hero-card{padding-bottom:7px}.home-status-strip{margin-top:4px!important}}


/* v1.6.7 splash, swipe coaching, and challenge-page navigation */
.boot-splash{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#143d6f 0,transparent 33%),radial-gradient(circle at 80% 18%,#5b214c 0,transparent 30%),linear-gradient(180deg,#07111f,#06101d);transition:opacity .32s ease,transform .32s ease}.boot-splash.leaving{opacity:0;transform:scale(1.025);pointer-events:none}.boot-splash-card{text-align:center;width:min(94vw,440px)}.boot-logo{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:10px}.boot-twin{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;border:2px solid #ffffffc9;font-size:21px;font-weight:1000;box-shadow:0 16px 36px #0006}.boot-blue{background:linear-gradient(145deg,#72caff,#176dff)}.boot-pink{background:linear-gradient(145deg,#ff91c8,#e42e88)}.boot-link{font-size:30px;color:#d8eaff;text-shadow:0 0 18px #64afff}.boot-splash h1{margin:0;font-size:clamp(32px,9vw,50px);letter-spacing:-.045em}.boot-tag{font-size:10px;letter-spacing:.18em;color:#9eb3d0;font-weight:900;margin:7px 0 15px}.boot-mini-game{display:grid;grid-template-columns:1fr 68px 1fr;gap:9px;align-items:center;margin:0 auto 13px;width:min(92%,350px)}.boot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:5px;border-radius:14px;background:#101f34;border:1px solid #365270}.boot-grid i{aspect-ratio:1;border-radius:5px;background:#18314e}.boot-grid i.wall{background:#45617d}.boot-grid i.home{box-shadow:inset 0 0 0 2px #ffd65c;background:#40371d}.boot-grid i.pawn{border-radius:50%;transform:scale(.68);animation:bootPawn 1.25s ease-in-out infinite alternate}.boot-grid-blue i.pawn{background:#51adff}.boot-grid-pink i.pawn{background:#ff62ad}.boot-swipe-demo{height:64px;position:relative;display:grid;place-items:center;color:#9eb7d2}.boot-swipe-demo:before{content:"";position:absolute;left:8px;right:8px;top:25px;height:2px;background:linear-gradient(90deg,transparent,#72b7ff,transparent)}.boot-hand{font-size:27px;position:absolute;top:5px;animation:bootSwipe 1.25s cubic-bezier(.4,0,.2,1) infinite}.boot-swipe-demo b{position:absolute;bottom:0;font-size:7px;letter-spacing:.15em}.boot-hint{font-size:11px;line-height:1.45;color:#c0d0e4;margin:0 auto 8px;max-width:340px}.boot-splash small{color:#6f88a8;font-size:9px}@keyframes bootSwipe{0%{transform:translateX(-24px) rotate(-8deg);opacity:.55}50%{opacity:1}100%{transform:translateX(24px) rotate(8deg);opacity:.55}}@keyframes bootPawn{to{transform:scale(.82);box-shadow:0 0 14px currentColor}}
.race-board-area{position:relative}.swipe-coach{position:absolute;inset:0;z-index:340;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(circle,rgba(6,17,31,.26),rgba(6,17,31,0) 60%);opacity:1;transition:opacity .25s ease}.swipe-coach.fade-out{opacity:0}.swipe-coach-track{position:relative;width:min(62vw,300px);height:72px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(93,174,255,.12),transparent)}.swipe-coach-track:before{content:"";position:absolute;left:8%;right:8%;top:50%;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,#8cc9ff,#f98ac0,transparent);box-shadow:0 0 18px #65b7ff}.swipe-coach-hand{position:absolute;left:calc(50% - 18px);top:11px;font-size:36px;filter:drop-shadow(0 7px 9px #0009);animation:raceSwipeHand 1.15s cubic-bezier(.45,0,.25,1) infinite alternate}.swipe-coach>b{font-size:13px;letter-spacing:.13em;color:#fff;text-shadow:0 2px 10px #000}.swipe-coach>span{margin-top:5px;font-size:9px;color:#d1deed;background:#07111fcc;padding:5px 9px;border-radius:999px}@keyframes raceSwipeHand{0%{transform:translateX(-85px) rotate(-10deg)}100%{transform:translateX(85px) rotate(10deg)}}
/* The challenge tab is a real lobby page; only a newly-arrived challenge may use the urgent overlay. */
#challengesPage .page-scroll-area{padding-bottom:8px}
@media(max-width:430px),(max-height:760px){.swipe-coach-track{height:58px;width:min(58vw,235px)}.swipe-coach-hand{font-size:30px;top:7px}@keyframes raceSwipeHand{0%{transform:translateX(-62px) rotate(-10deg)}100%{transform:translateX(62px) rotate(10deg)}}.swipe-coach>b{font-size:10px}.swipe-coach>span{font-size:7px}.boot-twin{width:50px;height:50px}.boot-mini-game{width:min(88%,310px)}}

/* v1.6.8: verified race results must always sit above the fixed race/control layers. */
body.racing #winnerLayer,
#winnerLayer.winner-layer{
  position:fixed!important;
  inset:0!important;
  z-index:1100!important;
  pointer-events:auto!important;
}
body.racing #winnerLayer .winner-card{position:relative!important;z-index:1101!important}

.settings-version-card{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0;padding:10px;background:#091524;border:1px solid #2d4968;border-radius:14px}
.settings-version-card>div{padding:8px;background:#0e1d31;border-radius:10px}.settings-version-card span,.settings-version-card b{display:block}.settings-version-card span{font-size:8px;color:#8298b4;text-transform:uppercase;letter-spacing:.08em}.settings-version-card b{margin-top:3px;font-size:11px;color:#eaf5ff;word-break:break-word}.settings-version-card button,.settings-version-card>small{grid-column:1/-1}.settings-version-card>small{font-size:9px;color:#8ea4be;line-height:1.35}
.setting-select select{min-width:128px;background:#132640;color:#fff;border:1px solid #39597c;border-radius:9px;padding:7px;font-size:10px}.setting-select span small{display:block;color:#7f95af;font-size:8px;margin-top:2px}
.playlist-settings{padding:10px;background:#0c192b;border:1px solid #263e5b;border-radius:13px}.playlist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.playlist-head span b,.playlist-head span small{display:block}.playlist-head span small{font-size:8px;color:#7f95af;margin-top:2px}.playlist-track-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.playlist-row{display:grid!important;grid-template-columns:20px 1fr!important;justify-content:start!important;gap:7px!important;padding:7px!important;background:#101f34!important}.playlist-row input{width:17px!important;height:17px!important}.playlist-row span b,.playlist-row span small{display:block}.playlist-row span b{font-size:9px}.playlist-row span small{font-size:7px;color:#8196af}
@media(max-width:420px){.playlist-track-list{grid-template-columns:1fr}.settings-version-card{grid-template-columns:1fr 1fr}.settings-version-card b{font-size:10px}}
\n/* v1.7.1: end modal must always be above fixed race, winner, chat and control layers. */
#endRaceLayer,
body.racing #endRaceLayer{
  position:fixed!important;
  inset:0!important;
  z-index:1600!important;
  pointer-events:auto!important;
}
#endRaceLayer .end-race-modal{position:relative!important;z-index:1601!important}
body.racing #endRaceLayer:not(.network-hidden){display:grid!important}
.volume-setting{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(120px,44%)!important;align-items:center!important;gap:10px!important}
.volume-setting>span b,.volume-setting>span small{display:block}.volume-setting>span small{font-size:8px;color:#8fa5bf;margin-top:2px}
.volume-setting input[type=range]{width:100%;accent-color:#69b8ff}
@media(max-width:420px){.volume-setting{grid-template-columns:minmax(0,1fr) minmax(105px,42%)!important}}

/* v1.7.2 microphone diagnostics + direct voice test calls */
.mic-settings-card,.voice-call-settings{margin-top:10px;padding:11px;border:1px solid #284765;background:#08182a;border-radius:14px}.mic-settings-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mic-settings-head b,.mic-settings-head small{display:block}.mic-settings-head small,.voice-call-settings small,.mic-permission-hint{font-size:8px;color:#8ea6c1;line-height:1.4}.permission-badge{font-size:8px;font-weight:1000;letter-spacing:.08em;border:1px solid #425f7d;border-radius:99px;padding:5px 8px;color:#b9cce2}.permission-badge.granted{color:#76efb3;border-color:#2f8867;background:#102b24}.permission-badge.denied{color:#ff9e9e;border-color:#8b4242;background:#32191d}.permission-badge.prompt{color:#ffd56a;border-color:#816727;background:#2b2512}.mic-action-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin:9px 0}.mic-meter{height:9px;border-radius:99px;background:#07111f;border:1px solid #263f5c;overflow:hidden;margin:8px 0}.mic-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#45c6ff,#62e69e,#ffd45d);transition:width .08s linear}.mic-gain-setting{margin-top:10px!important}.voice-call-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:8px 0}.voice-call-row select{min-width:0;background:#07111f;color:#fff;border:1px solid #314c6a;border-radius:11px;padding:9px}.voice-call-layer{z-index:1900!important;background:#020812ed!important}.voice-call-modal{text-align:center;max-width:390px!important}.call-orb{font-size:42px;animation:callPulse 1.1s ease-in-out infinite alternate}.voice-call-live-row{display:flex;justify-content:center;gap:14px;align-items:center;margin:12px 0}.call-speaking{font-size:9px;color:#7189a5}.call-speaking.speaking{color:#68eca9;text-shadow:0 0 12px #55e39b}.voice-call-actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}.voice-call-actions.network-hidden{display:none!important;pointer-events:none!important}.voice-call-actions .comm-btn{min-height:46px;font-size:18px}@keyframes callPulse{to{transform:scale(1.12);filter:drop-shadow(0 0 12px #5fb7ff)}}
@media(max-width:420px){.mic-action-row{grid-template-columns:1fr 1fr}.mic-action-row .mini-btn{grid-column:1/-1}.voice-call-actions{gap:6px}.voice-call-modal{width:94vw!important}}


/* v1.7.8 input routing hardening */
.game-bottom-nav{z-index:90!important;pointer-events:auto!important;touch-action:manipulation!important}
.game-bottom-nav button{pointer-events:auto!important;touch-action:manipulation!important}
#raceScreen.active{pointer-events:auto!important;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}
.challenge-layer.network-hidden,.race-chat-layer.network-hidden,.winner-layer.network-hidden,.countdown-layer.network-hidden{display:none!important;pointer-events:none!important;visibility:hidden!important}
body:not(.racing) #raceScreen:not(.active){pointer-events:none!important}

/* v1.8.0 coin economy, rewards and daily challenge layer */
.wallet-pill{display:flex;align-items:center;gap:6px;border:1px solid #2f4c69;background:#081624;color:#eaf5ff;border-radius:999px;padding:4px 8px;min-width:0;max-width:44vw}.wallet-pill b{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.wallet-pill span{font-size:8px;color:#8ea6bf}.wallet-pill strong{display:flex;gap:3px;align-items:center;color:#ffd66b;font-size:9px;white-space:nowrap}.wallet-pill strong em{font-style:normal}.player-frame-icon{display:grid!important;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #54718e;color:#91a6bd!important}.player-frame-icon[data-tier="silver"]{border-color:#c6d3e0;color:#dbe8f5!important;box-shadow:0 0 8px #bed5e944}.player-frame-icon[data-tier="gold"]{border-color:#e5b947;color:#ffd66b!important;box-shadow:0 0 10px #e9b73e66}.player-frame-icon[data-tier="diamond"]{border-color:#78e6ff;color:#bff5ff!important;box-shadow:0 0 12px #61dff477}.player-frame-icon[data-tier="crown"]{border-color:#ffd86b;color:#fff1ad!important;box-shadow:0 0 14px #ffce4c99}
.home-economy-card{width:100%;margin:7px 0 10px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"copy balance" "copy game";align-items:center;gap:2px 10px;padding:9px 11px;border:1px solid #5e4c22;background:linear-gradient(135deg,#111b29,#241d0c);border-radius:13px;color:#edf6ff;text-align:left}.home-economy-card span{grid-area:copy}.home-economy-card b,.home-economy-card small{display:block}.home-economy-card b{font-size:10px}.home-economy-card small{font-size:7px;color:#b9a66f;margin-top:2px}.home-economy-card strong{grid-area:balance;color:#ffd767;font-size:17px}.home-economy-card em{grid-area:game;font-style:normal;font-size:7px;color:#e2c875;text-align:right}
.module-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.module-title-row h3{margin:0}.module-title-row>small{font-size:7px;color:#8096af}.coin-challenge-module{border-color:#5c4a21!important;background:linear-gradient(180deg,#0d1b2b,#17170d)!important}.coin-challenge-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding:9px;border:1px solid #665525;background:#111b29;color:#edf6ff;border-radius:11px;text-align:left}.coin-challenge-card span b,.coin-challenge-card span small{display:block}.coin-challenge-card span b{font-size:9px}.coin-challenge-card span small{font-size:7px;color:#9cabbc;margin-top:2px}.coin-challenge-card strong{font-size:10px;color:#ffd768;white-space:nowrap}.coin-challenge-card.claimed{opacity:.58;border-color:#355746}.practice-coin-zone{margin-top:12px;padding-top:10px;border-top:1px solid #283d55}
.assist-dock{flex-wrap:wrap!important}.assist-eligibility{flex-basis:100%;font-size:7px;font-weight:900;letter-spacing:.05em;color:#9daec0;text-align:center}.coin-finish-mini{border-color:#7e6725!important;color:#ffe18b!important;background:#241d0e!important}.coin-finish-mini:disabled{opacity:.38!important}.challenge-limit-status{font-size:8px;font-weight:900;color:#ffe187;background:#1f1a0dcc;border:1px solid #735d24;border-radius:999px;padding:4px 8px;white-space:nowrap}.live-hint-ticker{max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;color:#93a6bb;text-align:center;padding:3px 4px}
.wallet-modal{max-width:480px!important;max-height:92vh!important;overflow:auto!important}.wallet-balance-card{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.wallet-balance-card>div{padding:10px 7px;border:1px solid #5c4d25;background:#15180f;border-radius:12px;text-align:center}.wallet-balance-card small,.wallet-balance-card strong{display:block}.wallet-balance-card small{font-size:7px;color:#a79b76;letter-spacing:.08em}.wallet-balance-card strong{font-size:11px;color:#ffe08a;margin-top:4px}.wallet-progress-card{padding:10px;background:#0a1828;border:1px solid #2c465f;border-radius:12px}.wallet-progress-card>b,.wallet-progress-card>small{display:block}.wallet-progress-card>b{font-size:9px}.wallet-progress-card>small{font-size:7px;color:#8ea3bb;margin-top:6px}.wallet-progress-track{height:7px;margin-top:7px;border-radius:99px;background:#07111f;overflow:hidden}.wallet-progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#aa812c,#ffd76b);transition:width .2s}.wallet-guide{margin:10px 0}.wallet-guide h3{margin:0 0 6px}.wallet-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.wallet-rule-grid>div{padding:8px;background:#0c1929;border:1px solid #253c56;border-radius:10px}.wallet-rule-grid b,.wallet-rule-grid span{display:block}.wallet-rule-grid b{font-size:8px}.wallet-rule-grid span{font-size:7px;color:#93a6bc;margin-top:2px}.redeem-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:10px 0}.redeem-row input{min-width:0;background:#07111f;color:#fff;border:1px solid #314d69;border-radius:10px;padding:9px}.wallet-hint-box{margin-top:10px;padding:9px;border-radius:11px;background:#17170d;border:1px solid #5e4e22}.wallet-hint-box b{font-size:8px;color:#ffe084}.wallet-hint-box p{font-size:8px;color:#b9c5d1;margin:5px 0 0;line-height:1.35}.coin-reward-notice{border-color:#826827!important;background:linear-gradient(135deg,#122032,#2c220d)!important;animation:coinRewardPop .45s ease-out}.coin-burst{text-align:center;font-size:20px;color:#ffd76a;letter-spacing:8px;animation:coinBurst 1s ease-in-out infinite alternate}@keyframes coinRewardPop{from{transform:translateY(-10px) scale(.96);opacity:0}to{transform:none;opacity:1}}@keyframes coinBurst{to{transform:scale(1.08);filter:drop-shadow(0 0 8px #ffc43d)}}
@media(max-width:430px),(max-height:760px){.wallet-pill{max-width:48vw;padding:3px 6px}.wallet-pill b{max-width:72px;font-size:8px}.wallet-pill span,.wallet-pill strong{font-size:7px}.player-frame-icon{width:18px;height:18px}.home-economy-card{padding:7px 9px;margin:5px 0 7px}.home-economy-card strong{font-size:14px}.coin-challenge-card{padding:7px;margin-top:5px}.wallet-balance-card{gap:5px}.wallet-balance-card>div{padding:8px 4px}.wallet-rule-grid{gap:5px}.wallet-rule-grid>div{padding:6px}.live-hint-ticker{max-width:46vw;font-size:6.5px}.assist-eligibility{font-size:6px}.challenge-limit-status{font-size:7px;padding:3px 6px}}

/* v1.8.1 daily challenge status */
.coin-challenge-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;margin:4px 0 8px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.035)}
.coin-challenge-summary b{font-size:12px}.coin-challenge-summary small{font-size:10px;opacity:.72;text-align:right}
.coin-challenge-card.failed{opacity:.55}.coin-challenge-card.started{opacity:.7}.coin-challenge-card.passed{opacity:.72}
@media(max-width:420px){.coin-challenge-summary{align-items:flex-start;flex-direction:column}.coin-challenge-summary small{text-align:left}}

/* v1.8.2 — live reward clocks, update alert, result/social controls */
@keyframes mtUpdateBlink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,203,73,.12)}45%{opacity:.38;box-shadow:0 0 0 4px rgba(255,203,73,.06)}55%{opacity:.95}}
.top-update-btn.update-now-btn{min-width:58px;padding:0 6px;border-color:#b98a24;background:#2b2411;color:#ffe28a;font-size:7.5px;letter-spacing:.04em;line-height:1.05;animation:mtUpdateBlink 1.05s ease-in-out infinite}
.top-update-btn.update-now-btn.network-hidden{animation:none}
.challenge-comm-grid .comm-locked{opacity:.92;cursor:default}.challenge-comm-grid .comm-locked:disabled{filter:none}.challenge-comm-grid .comm-locked.active{border-color:#3a9b70}.challenge-comm-grid .comm-locked:not(.active){border-color:#3d4857;color:#8390a2}
.home-economy-card .home-reward-countdown{grid-column:1/-1;display:block;color:#a8c7ec;font-size:8px;margin-top:2px;text-align:left}
.reward-countdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.reward-countdown-grid>div{display:flex;flex-direction:column;gap:3px;background:#081522;border:1px solid #263b55;border-radius:11px;padding:8px}.reward-countdown-grid span{font-size:8px;color:#8fa6c3}.reward-countdown-grid b{font-size:11px;color:#e8f3ff;font-variant-numeric:tabular-nums}
.result-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.result-summary>div{background:#091625;border:1px solid #29415f;border-radius:12px;padding:8px;min-width:0}.result-summary small,.result-summary b{display:block}.result-summary small{font-size:7px;color:#849ab7;letter-spacing:.05em}.result-summary b{margin-top:3px;font-size:10px;color:#f4f8ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-summary .positive{color:#80efb2}.result-summary .negative{color:#ff9a9a}.share-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.share-actions button{font-size:9px;padding:9px 7px}.share-status{display:block;color:#8398b4;font-size:8px;line-height:1.35;margin-top:7px}.mic-gate-modal{max-width:430px;text-align:center}.mic-gate-modal .voice-call-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.mic-gate-modal .voice-call-actions .mini-btn{grid-column:1/-1}.android-download-btn{display:block;text-align:center;text-decoration:none;margin-top:7px}
@media(max-width:560px){.result-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.share-actions{grid-template-columns:1fr 1fr}.share-actions #saveScreenshotBtn{grid-column:1/-1}.reward-countdown-grid{grid-template-columns:1fr 1fr}.winner-actions{display:grid;grid-template-columns:1fr 1fr}.winner-actions #backLobby{grid-column:1/-1}.top-update-btn.update-now-btn{min-width:52px;font-size:6.8px;padding:0 4px}}
@media(max-width:370px){.reward-countdown-grid{grid-template-columns:1fr}.top-update-btn.update-now-btn{min-width:48px;font-size:6.3px}.simplified-topbar{grid-template-columns:minmax(72px,1fr) auto minmax(126px,1fr)!important}}

/* v1.8.3 — kid-friendly full-card player selection + mobile-safe sharing */
.player-selector{min-height:58px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .08s ease}
.player-selector:active{transform:scale(.99)}
.player-selector input[type="checkbox"]{width:28px!important;height:28px!important;min-width:28px;accent-color:#ffd45d}
.player-selector.selected{border-color:#d9aa38!important;background:linear-gradient(135deg,#18283e,#2a2412)!important;box-shadow:0 0 0 2px rgba(255,211,91,.18),0 0 22px rgba(255,194,59,.12)}
.player-selector.selected .player-name,.player-selector.selected>span{color:#fff5cf}
.player-selector.selected .player-name:after{content:'  ✓ SELECTED';font-size:8px;color:#ffd86e;letter-spacing:.05em}
.add-player-row.player-selector{grid-template-columns:34px 1fr auto;min-height:58px;padding:10px 11px}
.add-player-row.player-selector span{font-weight:800}.add-player-row.player-selector span small{display:block;font-size:7px;color:#8298b3;margin-top:2px}.add-player-row.player-selector strong{font-size:10px;color:#ffd56a}
.share-actions button:disabled{opacity:.5;cursor:wait}
@media(max-width:430px){.player-selector{min-height:64px;padding:11px 10px}.player-selector input[type="checkbox"]{width:30px!important;height:30px!important;min-width:30px}.player-selector .player-name{font-size:13px}.player-selector .mini-btn{min-width:48px;min-height:34px}.add-player-row.player-selector{min-height:64px}}
