:root{--bg-1: #2a1140;--bg-2: #4a1a5c;--bg-3: #1a0b2a;--surface: rgba(255, 255, 255, .07);--surface-strong: rgba(255, 255, 255, .12);--border: rgba(255, 255, 255, .16);--text: #fff6ee;--muted: #d6c2e2;--pink: #ff4f8b;--pink-dark: #d12d68;--mint: #2fd3a6;--mint-dark: #14a07a;--gold: #ffc63d;--danger: #ff7a7a;--board-bg: #1c0b2c;--cell: rgba(255, 255, 255, .05);--radius: 18px;--font: ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--swap-ms: .17s;--pop-ms: .21s;--fall-ms: .26s;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(1200px 700px at 20% -10%,var(--bg-2),transparent 60%),radial-gradient(900px 600px at 110% 10%,#3b1458,transparent 55%),linear-gradient(180deg,var(--bg-1),var(--bg-3));background-color:var(--bg-1);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(1.6rem,4.5vw,2.4rem)}a{color:var(--gold)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.accent{color:var(--gold)}.error{color:var(--danger);margin:0;font-weight:600}.page{min-height:100dvh;display:flex;flex-direction:column;padding:0 16px calc(16px + env(safe-area-inset-bottom));max-width:1100px;margin:0 auto}.panel{width:100%;margin:24px auto;padding:clamp(20px,4vw,36px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.panel.narrow{max-width:560px}.panel.center{text-align:center}.stack{display:flex;flex-direction:column;gap:16px;margin-top:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}.topbar-home{text-decoration:none;color:inherit}.topbar-right{display:flex;align-items:center;gap:8px}.logo{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:1.25rem;letter-spacing:-.02em;white-space:nowrap}.logo em{font-style:normal;color:var(--pink)}.logo-tiles{display:inline-flex}.logo-tiles svg{width:26px;height:26px;margin-right:-7px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}.logo-tiles svg:last-child{margin-right:0}.logo-lg{font-size:clamp(1.5rem,5vw,2rem)}.logo-lg .logo-tiles svg{width:36px;height:36px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:12px 22px;font:inherit;font-weight:800;cursor:pointer;color:#2a0d2e;background:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;box-shadow:0 4px #00000040;touch-action:manipulation}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #00000040}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--mint);color:#062a20;box-shadow:0 4px 0 var(--mint-dark)}.btn-accent{background:var(--pink);color:#fff;box-shadow:0 4px 0 var(--pink-dark)}.btn-ghost{background:var(--surface-strong);color:var(--text);box-shadow:none;border:1px solid var(--border)}.btn-lg{padding:15px 28px;font-size:1.1rem;min-height:54px}.btn-sm{padding:6px 14px;min-height:36px;font-size:.9rem}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer}.icon-btn svg{width:22px;height:22px}.text-link{color:var(--muted);font-weight:600}.field{display:flex;flex-direction:column;gap:6px;font-weight:700}.field input,.invite-row input{font:inherit;font-weight:600;padding:12px 14px;border-radius:12px;border:2px solid var(--border);background:#00000040;color:var(--text);min-width:0}.field input:focus,.invite-row input:focus{border-color:var(--gold);outline:none}.field small{font-weight:500}.landing-top{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;padding:clamp(16px,5vw,56px) 0}.hero h1{font-size:clamp(2rem,6.5vw,3.6rem);font-weight:900}.lead{font-size:clamp(1.05rem,2.5vw,1.3rem);color:var(--muted);margin:0 0 24px}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.hero-art{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:16px;background:var(--board-bg);border-radius:24px;border:1px solid var(--border);box-shadow:0 20px 60px #00000073,inset 0 0 0 6px #ffffff08;transform:rotate(-3deg)}.demo-tile{aspect-ratio:1;display:grid;place-items:center;background:var(--cell);border-radius:12px;animation:bob 3.2s ease-in-out infinite}.demo-tile svg{width:82%;height:82%}.demo-tile.glow{box-shadow:0 0 0 3px var(--gold)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.how{padding:16px 0 32px}.how h2{font-size:1.3rem}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:step}.steps li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:4px;counter-increment:step}.steps li:before{content:counter(step);width:30px;height:30px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font-weight:900;margin-bottom:6px}.steps span{color:var(--muted)}.footer{margin-top:auto;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 0 8px;color:var(--muted);font-size:.9rem;border-top:1px solid var(--border)}.level-grid{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.level-card{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:16px;background:var(--surface-strong);border:2px solid var(--border);color:var(--text);text-decoration:none;min-height:120px;transition:transform .12s ease,border-color .12s}.level-card:hover{transform:translateY(-2px);border-color:var(--gold)}.level-card.cleared{border-color:var(--mint)}.level-card.locked{opacity:.45;cursor:not-allowed}.level-num{font-size:1.6rem;font-weight:900;color:var(--gold)}.level-name{font-weight:800}.level-meta,.level-best{font-size:.85rem;color:var(--muted)}.game-page{max-width:640px}.game-layout{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.hud{width:var(--board-size);max-width:100%}.hud-level{font-weight:800;color:var(--muted);font-size:.9rem;margin-bottom:4px;text-align:center}.hud-row{display:flex;align-items:center;gap:10px}.hud-stat{display:flex;flex-direction:column;align-items:center;min-width:64px;background:var(--surface-strong);border-radius:12px;padding:4px 10px}.hud-stat.low .hud-value{color:var(--danger)}.hud-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.hud-value{font-size:1.3rem;font-weight:900;font-variant-numeric:tabular-nums}.hud-progress{flex:1;height:30px;border-radius:999px;background:#00000059;border:1px solid var(--border);position:relative;overflow:hidden}.hud-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--pink),var(--gold));border-radius:999px;transition:width .3s ease}.hud-progress-text{position:relative;display:block;text-align:center;line-height:28px;font-weight:800;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.6)}.game-controls{display:flex;gap:10px;justify-content:center;padding:4px 0 8px}.board-stage{position:relative;--board-size: min( calc(100vw - 32px) , 520px, max(280px, calc(100dvh - 300px) ));width:var(--board-size)}.game-layout{--board-size: min( calc(100vw - 32px) , 520px, max(280px, calc(100dvh - 300px) ))}.race,.race .board-stage{--board-size: min( calc(100vw - 32px) , 500px, max(280px, calc(100dvh - 380px) ))}.board-wrap{width:100%}.board{position:relative;width:100%;aspect-ratio:1;background:var(--board-bg);border-radius:20px;border:1px solid var(--border);box-shadow:0 18px 50px #00000073,inset 0 0 0 5px #ffffff08;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}.board.locked{cursor:default}.tile{position:absolute;top:0;left:0;width:calc(100% / var(--cols, 8));height:calc(100% / var(--rows, 8));display:grid;place-items:center;transition:transform var(--fall-ms) cubic-bezier(.3,1.25,.55,1);will-change:transform}.tile.spawning{transition:none}.tile-art{width:86%;height:86%;transition:transform var(--pop-ms) ease,opacity var(--pop-ms) ease;filter:drop-shadow(0 2px 1px rgba(0,0,0,.3));pointer-events:none}.tile.selected .tile-art{transform:scale(1.12);filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 2px var(--gold))}.tile.selected:after,.board:focus-visible .tile.cursor:after{content:"";position:absolute;top:5%;right:5%;bottom:5%;left:5%;border-radius:12px;border:3px solid var(--gold);pointer-events:none}.board:focus-visible{outline-offset:4px}.board:focus-visible .tile.cursor:not(.selected):after{border-style:dashed;border-color:#fff}.tile.hint:before{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:12px;background:#ffc63d38;box-shadow:0 0 0 2px #ffc63dcc;pointer-events:none}.tile.hint .tile-art{animation:hint-pulse .8s ease-in-out infinite}@keyframes hint-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18) rotate(-6deg)}}.tile.popping .tile-art{transform:scale(.1) rotate(25deg);opacity:0}.tile.shake .tile-art{animation:shake .26s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-12%)}75%{transform:translate(12%)}}.score-popup{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-size:clamp(1.8rem,7vw,2.8rem);font-weight:900;color:var(--gold);text-shadow:0 3px 0 #7a2a00,0 6px 18px rgba(0,0,0,.6);pointer-events:none;animation:float-up .8s ease-out forwards;display:flex;flex-direction:column;align-items:center;z-index:3}.score-popup .combo{font-size:.5em;color:#fff;text-shadow:0 2px 0 var(--pink-dark)}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-20%) scale(.7)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}to{opacity:0;transform:translate(-50%,-110%) scale(1)}}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#140620b8;border-radius:20px;z-index:5;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .18s ease}.overlay-card{text-align:center;max-width:360px}.overlay-card h2{font-size:clamp(1.5rem,5vw,2rem)}.overlay-win h2{color:var(--mint)}.overlay-lose h2{color:var(--gold)}.overlay-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:800;color:var(--muted);margin:0 0 6px}.countdown-num{font-size:clamp(4rem,18vw,7rem);font-weight:900;line-height:1;color:var(--gold);text-shadow:0 6px 0 #7a2a00;margin:8px 0 12px}@keyframes fade-in{0%{opacity:0}}.banner{width:100%;border-radius:12px;padding:10px 14px;font-weight:700;margin:6px 0;text-align:center}.banner-warn{background:#ffc63d29;border:1px solid rgba(255,198,61,.5);color:#ffe3a3}.invite-box{display:flex;flex-direction:column;gap:8px;margin:12px 0 18px;font-weight:700}.invite-row{display:flex;gap:8px;flex-wrap:wrap}.invite-row input{flex:1 1 220px;font-size:.95rem}.players{display:flex;flex-direction:column;gap:8px;margin:12px 0}.player-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--surface-strong);border:1px solid var(--border)}.player-chip.empty{border-style:dashed;color:var(--muted)}.player-name{flex:1;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#7c6a88;flex:none}.dot.on{background:var(--mint);box-shadow:0 0 8px var(--mint)}.ready-badge{font-size:.8rem;font-weight:800;padding:3px 10px;border-radius:999px;background:#0000004d;color:var(--muted)}.ready-badge.yes{background:var(--mint);color:#062a20}.scoreboard{width:var(--board-size);max-width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px 12px}.sb-player{display:flex;flex-direction:column;gap:2px;min-width:0}.sb-player.right{align-items:flex-end;text-align:right}.sb-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.sb-timer{display:flex;flex-direction:column;align-items:center}.sb-round{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.sb-clock{font-size:1.4rem;font-weight:900;font-variant-numeric:tabular-nums}.sb-timer.low .sb-clock{color:var(--danger)}.pips{display:inline-flex;gap:4px}.pip{width:14px;height:14px;border-radius:50%;border:2px solid var(--gold)}.pip.on{background:var(--gold);box-shadow:0 0 6px var(--gold)}.opp-progress{width:var(--board-size);max-width:100%;height:26px;position:relative;border-radius:999px;background:#0000004d;border:1px dashed var(--border);overflow:hidden;font-size:.8rem;font-weight:700}.opp-progress-fill{position:absolute;inset:0 auto 0 0;background:#3b8cff73;transition:width .3s ease}.opp-progress span{position:relative;display:block;text-align:center;line-height:24px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px}.results h1{font-size:clamp(1.8rem,6vw,2.6rem)}.win-title{color:var(--mint)}.rounds{width:100%;border-collapse:collapse;margin:16px 0;font-variant-numeric:tabular-nums;font-size:.95rem}.rounds th,.rounds td{padding:8px 6px;border-bottom:1px solid var(--border);text-align:left}.rounds thead th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.spinner-wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 16px;color:var(--muted);font-weight:700}.spinner{width:26px;height:26px;border-radius:50%;border:4px solid var(--surface-strong);border-top-color:var(--pink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.prose{max-width:720px}.prose h2{font-size:1.2rem;margin-top:1.4em}.prose li{margin-bottom:6px}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:24px}.hero-art{max-width:320px;margin:0 auto;order:-1;transform:rotate(-2deg)}.steps{grid-template-columns:1fr}.cta-row .btn{flex:1 1 100%}.topbar .logo-text{font-size:1.05rem}}@media(max-width:380px){.hud-stat{min-width:54px;padding:4px 6px}.logo-tiles{display:none}}@media(prefers-reduced-motion:reduce){:root{--swap-ms: 1ms;--pop-ms: 1ms;--fall-ms: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.beam{display:none}.tile.hint .tile-art{animation:none!important;filter:drop-shadow(0 0 6px var(--gold)) drop-shadow(0 0 3px #fff)}}.cell,.wafer{position:absolute;top:0;left:0;width:calc(100% / var(--cols, 8));height:calc(100% / var(--rows, 8));pointer-events:none}.cell:before{content:"";position:absolute;top:3%;right:3%;bottom:3%;left:3%;border-radius:18%;background:#ffffff0f}.cell.glaze:before{background:linear-gradient(135deg,#bef0ff8c,#78c8ff59);box-shadow:inset 0 0 0 2px #dcfaffb3}.cell.glaze-2:before{background:linear-gradient(135deg,#96e1ffd9,#5aaaff99);box-shadow:inset 0 0 0 3px #e8fbff}.wafer{display:grid;place-items:center;z-index:1}.wafer svg{width:94%;height:94%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}.tile{z-index:2}.special-art,.lock-art{position:absolute;top:7%;right:7%;bottom:7%;left:7%;width:86%;height:86%;pointer-events:none;transition:opacity var(--pop-ms) ease}.tile.popping .special-art,.tile.popping .lock-art{opacity:0}.special-prism .tile-art,.tile[data-special=prism] .tile-art{filter:drop-shadow(0 0 6px #fff) saturate(1.3)}.tile[data-special] .tile-art{animation:special-glow 1.6s ease-in-out infinite}@keyframes special-glow{0%,to{filter:drop-shadow(0 2px 1px rgba(0,0,0,.3))}50%{filter:drop-shadow(0 0 7px rgba(255,255,255,.9))}}.beam{position:absolute;pointer-events:none;z-index:4;animation:beam .26s ease-out forwards;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,220,120,.4),transparent)}.beam-ribbonH{left:0;right:0;top:calc(100% / var(--rows) * var(--r));height:calc(100% / var(--rows))}.beam-ribbonV{top:0;bottom:0;left:calc(100% / var(--cols) * var(--c));width:calc(100% / var(--cols))}.beam-burst{left:calc(100% / var(--cols) * (var(--c) - 1));top:calc(100% / var(--rows) * (var(--r) - 1));width:calc(300% / var(--cols));height:calc(300% / var(--rows));border-radius:50%}.beam-prism{top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at calc(100% / var(--cols) * (var(--c) + .5)) calc(100% / var(--rows) * (var(--r) + .5)),rgba(255,255,255,.7),rgba(255,111,176,.25) 40%,transparent 70%)}@keyframes beam{0%{opacity:1}to{opacity:0}}.topbar-wrap{padding-bottom:4px}.nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0 6px}.nav::-webkit-scrollbar{display:none}.nav-link{flex:none;padding:6px 12px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:700;font-size:.9rem;border:1px solid transparent}.nav-link:hover{color:var(--text);border-color:var(--border)}.nav-link.active{color:var(--text);background:var(--surface-strong);border-color:var(--border)}.small{font-size:.88rem}.footer-links{display:flex;gap:14px}.goals{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-width:0}.goal{display:flex;align-items:center;gap:4px;background:#0000004d;border:1px solid var(--border);border-radius:999px;padding:3px 9px 3px 4px;font-weight:800;min-height:34px}.goal.done{border-color:var(--mint);background:#2fd3a62e}.goal-icon{width:24px;height:24px;flex:none;display:inline-grid;place-items:center}.goal-icon svg{width:100%;height:100%}.goal-glaze{border-radius:6px;background:linear-gradient(135deg,#c8f3ff,#6fc7ff);box-shadow:inset 0 0 0 2px #fff}.goal-lock{border-radius:6px;background:repeating-linear-gradient(45deg,#c97a1a 0,#c97a1a 4px,#ffd18a 4px,#ffd18a 6px)}.goal-score{color:var(--gold);font-size:1.1rem}.goal-count{font-variant-numeric:tabular-nums}.goal-bar{position:relative;width:clamp(80px,22vw,150px);height:22px;border-radius:999px;background:#00000059;overflow:hidden}.goal-bar-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--pink),var(--gold));transition:width .3s ease}.goal-bar-text{position:relative;display:block;text-align:center;font-size:.78rem;line-height:22px;text-shadow:0 1px 2px rgba(0,0,0,.7)}.goal-list{list-style:none;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:6px;align-items:center;font-weight:800}.goal-list li{display:flex;align-items:center;gap:8px}.tip{background:#ffc63d1f;border:1px solid rgba(255,198,61,.4);border-radius:12px;padding:8px 12px;font-size:.95rem}.stars{display:inline-flex;gap:2px;font-size:1.4rem;line-height:1}.star{color:#ffffff38}.star.on{color:var(--gold);text-shadow:0 0 8px rgba(255,198,61,.7)}.overlay .stars{font-size:2.2rem}.big-number{font-size:clamp(2.2rem,9vw,3.2rem);font-weight:900;margin:4px 0;color:var(--gold)}.rules-list{text-align:left;margin:8px 0 12px;padding-left:1.2em;font-size:.95rem}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:8px 0 24px}.mode-card{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:var(--radius);background:var(--surface-strong);border:1px solid var(--border);color:var(--text);text-decoration:none;transition:transform .12s ease,border-color .12s ease}.mode-card:hover{transform:translateY(-2px);border-color:var(--gold)}.mode-card.accent{border-color:#ff4f8b99}.mode-title{font-weight:900;font-size:1.2rem}.mode-sub{color:var(--muted)}.mode-meta{margin-top:auto;font-size:.85rem;font-weight:800;color:var(--gold)}.campaign{padding-bottom:24px}.campaign-head{margin:8px 0 12px}.chapter{margin:18px 0 8px}.chapter h2{font-size:1.25rem;margin-bottom:2px}.chapter-num{color:var(--gold);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;display:block}.level-path{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.level-node{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:16px;background:var(--surface-strong);border:2px solid var(--border);color:var(--text);text-decoration:none;text-align:center;min-height:104px;justify-content:center}.level-node:hover:not(.locked){border-color:var(--gold)}.level-node.cleared{border-color:#2fd3a6b3}.level-node.current{border-color:var(--pink);box-shadow:0 0 0 3px #ff4f8b40}.level-node.locked{opacity:.4;cursor:not-allowed}.level-node .stars{font-size:1rem}.level-node .level-name{font-size:.85rem;line-height:1.2}.save-status{margin-top:6px}.choice{border:0;padding:0;margin:0}.choice legend{font-weight:800;margin-bottom:6px}.choice-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.choice-option{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;border:2px solid var(--border);background:#0003;cursor:pointer}.choice-option input{position:absolute;opacity:0;pointer-events:none}.choice-option.selected{border-color:var(--pink);background:#ff4f8b1f}.choice-option:focus-within{outline:3px solid var(--gold);outline-offset:2px}.choice-label{font-weight:800}.choice-detail{font-size:.82rem;color:var(--muted)}.settings-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.settings-summary div{background:#00000038;border:1px solid var(--border);border-radius:12px;padding:8px 10px}.settings-summary dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.settings-summary dd{margin:0;font-weight:800;display:flex;flex-direction:column}.settings-summary small{font-weight:500;color:var(--muted);font-size:.78rem}.wins-count{font-size:1.2rem;font-weight:900;color:var(--gold)}.series-score{font-size:1.3rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0}.stat{background:#00000038;border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:900;font-variant-numeric:tabular-nums}.stat-label{font-size:.8rem;color:var(--muted);font-weight:700}.history-list,.best-list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:8px}.history-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"badge main score" "badge date score";align-items:center;column-gap:12px;text-align:left;font:inherit;color:inherit;background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;padding:10px 12px;cursor:pointer}.history-main{grid-area:main;display:flex;flex-direction:column;min-width:0}.history-score{grid-area:score;font-weight:900;font-size:1.1rem}.history-date{grid-area:date}.result-badge{grid-area:badge;font-size:.75rem;font-weight:900;text-transform:uppercase;padding:4px 8px;border-radius:8px;background:#ffffff1f}.result-badge.win{background:var(--mint);color:#062a20}.result-badge.lose{background:#ff7a7a40;color:#ffd0d0}.history-detail{margin:12px 0;padding:12px;border-radius:14px;border:1px solid var(--border);background:#0003}.best-list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:6px 10px;border-radius:10px;background:#0000002e}.best-list .stars{font-size:1rem}.explain ul{padding-left:1.2em}.explain li{margin-bottom:6px}.h3{font-size:1.1rem}.tabs{display:flex;gap:6px;margin:12px 0 4px;flex-wrap:wrap}.tab{font:inherit;font-weight:800;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer}.tab.active{background:var(--surface-strong);color:var(--text);border-color:var(--pink)}.notice{background:#2fd3a624;border:1px solid rgba(47,211,166,.5);border-radius:12px;padding:10px 12px;font-weight:700}.recovery{background:#ffc63d1f;border:2px solid var(--gold);border-radius:14px;padding:14px;margin:12px 0}.recovery-code{display:block;font-size:clamp(1rem,4.5vw,1.4rem);font-weight:900;letter-spacing:.08em;word-break:break-all;padding:10px;background:#00000059;border-radius:10px;-webkit-user-select:all;user-select:all}.inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-form .field{flex:1 1 200px}.overlay-actions.left{justify-content:flex-start}.danger-zone{margin-top:28px;padding-top:16px;border-top:1px solid var(--border)}.btn-danger{background:#e0445e;color:#fff;box-shadow:0 4px #9b1e33}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:16px 0}.plan-card{border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:#0003}.plan-card.plus{border-color:#ffc63d99}.plan-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.plan-price{font-size:1.5rem;font-weight:900;margin:0}.soon{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--gold);border:1px solid rgba(255,198,61,.5);border-radius:6px;padding:1px 5px;margin-left:4px}@media(max-width:760px){.modes,.settings-summary{grid-template-columns:1fr}.hud-row{gap:6px}.hud-stat{min-width:54px;padding:4px 6px}}@media(max-width:480px){.game-page{padding-left:8px;padding-right:8px}.game-layout,.board-stage,.race,.race .board-stage{--board-size: min( calc(100vw - 16px) , 520px, max(300px, calc(100dvh - 330px) ))}}.google-btn{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;min-height:46px;padding:0 18px 0 14px;border-radius:999px;background:#fff;color:#1f1f1f;border:1px solid #747775;font-family:Roboto,Arial,var(--font);font-weight:600;font-size:.98rem;text-decoration:none;box-shadow:0 2px 6px #00000040}.google-btn:hover{background:#f8faff}.legacy{margin-top:8px;padding:10px 12px;border:1px dashed var(--border);border-radius:12px}.legacy summary{cursor:pointer;font-weight:700;color:var(--muted)}.theme-option{font:inherit;color:inherit;text-align:left}.theme-option:disabled{opacity:.55;cursor:not-allowed}.theme-swatch{display:block;height:26px;border-radius:8px;margin-bottom:4px;background:linear-gradient(135deg,#1c0b2c 0,#1c0b2c 50%,#ff4f8b 50%)}.theme-midnight .theme-swatch{background:linear-gradient(135deg,#0b1d2a 0,#0b1d2a 50%,#2fd3a6 50%)}.theme-sorbet .theme-swatch{background:linear-gradient(135deg,#3b1530 0,#3b1530 50%,#ffb347 50%)}.theme-meadow .theme-swatch{background:linear-gradient(135deg,#12301f 0,#12301f 50%,#a6e36b 50%)}html[data-board-theme=midnight]{--board-bg: #0b1d2a;--cell: rgba(80, 220, 200, .1)}html[data-board-theme=sorbet]{--board-bg: #3b1530;--cell: rgba(255, 179, 71, .12)}html[data-board-theme=meadow]{--board-bg: #12301f;--cell: rgba(166, 227, 107, .12)}html[data-board-theme] .cell:before{background:var(--cell)}.ad-slot{margin:40px auto 8px;max-width:728px;width:100%;min-height:120px;padding:8px;border-top:1px solid var(--border);text-align:center}.ad-label{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.site-footer{max-width:1100px;margin:24px auto 0;padding:16px;display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:16px}.site-footer a{color:var(--muted)}.plus-preview{margin:20px 0;padding:14px;border:1px solid rgba(255,198,61,.5);border-radius:14px;background:#ffc63d0f}.form-strip{display:inline-flex;gap:3px}.form-strip span{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:6px;font-size:.75rem;font-weight:900;background:#ffffff1f}.form-strip .form-W{background:var(--mint);color:#062a20}.form-strip .form-L{background:#ff7a7a59}.rounds caption{text-align:left;font-weight:800;padding:8px 0}.prose h3{font-size:1.02rem;margin:1.1em 0 .3em}.share-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0e0418c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .16s ease;overflow-y:auto}.share-dialog{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:linear-gradient(180deg,#3a1550,#241036);border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:0 24px 60px #00000080;text-align:left}.share-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.share-head h2{margin:0;font-size:1.3rem}.share-preview{aspect-ratio:1200 / 630;border-radius:14px;overflow:hidden;background:var(--board-bg);display:grid;place-items:center;text-align:center;padding:0}.share-preview img{display:block;width:100%;height:auto}.share-label{display:block;font-weight:800;font-size:.9rem;margin:14px 0 6px}.share-text,.share-fallback{width:100%;font:inherit;color:var(--text);background:#00000040;border:1px solid var(--border);border-radius:12px;padding:10px 12px;resize:vertical}.share-fallback{margin-top:10px}.share-link-row{margin-top:12px}.share-check{display:flex;gap:10px;align-items:flex-start;font-weight:700;cursor:pointer}.share-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--pink)}.share-link-row .small{margin:6px 0 0 30px;font-size:.85rem}.share-url{color:var(--text);font-weight:700;word-break:break-all}.link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;color:var(--gold);text-decoration:underline;cursor:pointer}.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.share-actions .btn{flex:1 1 150px;white-space:nowrap}.share-help{margin-top:12px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:.92rem}.share-help p{margin:0 0 6px}.share-help ol{margin:0;padding-left:20px}.share-status{min-height:1.4em;margin:12px 0 0;font-weight:700;color:var(--mint)}@media(max-width:480px){.share-dialog{padding:14px;border-radius:18px}.share-actions .btn{flex:1 1 calc(50% - 4px);padding-left:10px;padding-right:10px}}.hero.hero-compact{padding:clamp(8px,3vw,32px) 0 clamp(12px,3vw,24px)}.primary-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:4px 0 12px}.action-card{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--radius);background:var(--surface-strong);border:1px solid var(--border);min-width:0}.action-card.gold{border-color:#ffc63d8c;background:linear-gradient(180deg,rgba(255,198,61,.12),var(--surface-strong))}.action-card.pink{border-color:#ff4f8b8c}.action-card.celebrate{box-shadow:0 0 0 3px #ffc63d80,0 12px 40px #ffc63d33}.action-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-head h2{margin:0;font-size:1.35rem;font-weight:900}.action-icon-tiles{display:inline-flex}.action-icon-tiles svg{width:30px;height:30px}.action-sub{margin:0;color:var(--muted)}.action-meta{margin:0;font-weight:700;font-size:.92rem}.action-best{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.best-label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.best-value{font-size:1.9rem;font-weight:900;font-variant-numeric:tabular-nums}.pb-badge{background:var(--gold);color:#4a1a00;font-weight:900;font-size:.78rem;padding:3px 10px;border-radius:999px;animation:pop-in .32s ease}@keyframes pop-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.action-card .btn{margin-top:auto;width:100%}.home-status{text-align:center;margin:4px 0 20px}@media(max-width:860px){.primary-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.pb-badge{animation:none}}.share-link-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.share-link-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.share-link-list a{color:var(--text)}.share-note{margin:10px 0 0}.history-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.history-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.history-main{display:flex;flex-direction:column;gap:2px;min-width:0}.history-title{font-weight:800}@media(max-width:480px){.history-item{flex-direction:column;align-items:stretch}}
