:root{--sky-1:#a9c9ff;--sky-2:#7ea6f2;--sky-3:#b8a8f0;--panel:#fffdf8;--panel-2:#fff7ec;--panel-edge:#f0dcbe;--panel-shadow:rgba(40,40,80,.16);--ink:#3a3245;--ink-soft:#6d6480;--on-sky:#fff;--accent:#f2994a;--accent-deep:#c07634;--accent-soft:rgba(242,153,74,.18);--ok:#2e8b57;--warn:#b8860b;--danger:#d64545;--r-sm:12px;--r-md:16px;--r-lg:22px;--board-1:#fffaf3;--board-2:#fbe9d8;--board-edge:hsla(0,0%,100%,.9);--float-ink:#4a4356;--float-halo:hsla(0,0%,100%,.9);--tap:46px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sky-1:#23283f;--sky-2:#171b2b;--sky-3:#33294a;--panel:#2b2839;--panel-2:#332f45;--panel-edge:#45405c;--panel-shadow:rgba(0,0,0,.5);--ink:#f2eefb;--ink-soft:#b5adc9;--on-sky:#f6f2ff;--board-1:#2b2740;--board-2:#221f33;--board-edge:hsla(0,0%,100%,.22);--float-ink:#fff6d8;--float-halo:rgba(0,0,0,.55);color-scheme:dark}}:root[data-theme=dark]{--sky-1:#23283f;--sky-2:#171b2b;--sky-3:#33294a;--panel:#2b2839;--panel-2:#332f45;--panel-edge:#45405c;--panel-shadow:rgba(0,0,0,.5);--ink:#f2eefb;--ink-soft:#b5adc9;--on-sky:#f6f2ff;--board-1:#2b2740;--board-2:#221f33;--board-edge:hsla(0,0%,100%,.22);--float-ink:#fff6d8;--float-halo:rgba(0,0,0,.55);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}@supports (color:color-mix(in srgb,red 50%,blue)){*{--accent-deep:color-mix(in srgb,var(--accent) 70%,#000 30%);--accent-soft:color-mix(in srgb,var(--accent) 20%,transparent)}}body,html{margin:0;padding:0;height:100%;overscroll-behavior:none}body{font-family:var(--font-round,"Baloo 2"),"Nunito",ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--sky-2);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;overflow:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 45% at 15% 8%,var(--sky-3) 0,transparent 60%),radial-gradient(55% 40% at 90% 92%,var(--sky-3) 0,transparent 55%),linear-gradient(180deg,var(--sky-1),var(--sky-2))}.page{height:100vh;height:100dvh;flex-direction:column;gap:6px;padding:calc(6px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));overflow:hidden}.masthead,.page{display:flex;align-items:center}.masthead{width:100%;max-width:520px;justify-content:space-between;flex:none}.masthead h1{margin:0;font-size:1.25rem;font-weight:800;color:var(--on-sky);text-shadow:0 2px 0 rgba(0,0,0,.14);letter-spacing:.4px;display:flex;align-items:center;gap:6px}.masthead .paw{filter:drop-shadow(0 2px 0 rgba(0,0,0,.1))}.masthead .brand{font-size:.72rem;font-weight:700;color:var(--on-sky);opacity:.85;text-decoration:none;background:hsla(0,0%,100%,.18);padding:4px 10px;border-radius:999px}.game{width:100%;max-width:520px;flex:1 1;min-height:0;display:flex;flex-direction:column;gap:7px}.topbar{gap:8px;flex:none}.topbar,.topbar-actions{display:flex;align-items:center}.topbar-actions{margin-left:auto;gap:6px}.mode-pill{font-size:.72rem;font-weight:800;color:#fff;background:var(--accent);border-radius:999px;padding:5px 10px;white-space:nowrap;box-shadow:0 2px 0 var(--accent-deep)}.icon-btn{width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--panel-edge);background:var(--panel);color:var(--ink);border-radius:12px;font-size:1rem;font-family:inherit;cursor:pointer;box-shadow:0 2px 0 var(--panel-shadow);transition:transform .06s ease}.icon-btn:active{transform:translateY(2px);box-shadow:none}.hud{display:flex;align-items:stretch;justify-content:space-between;gap:8px;flex:none}.next,.panel{background:var(--panel);border:2px solid var(--panel-edge);border-radius:var(--r-md);padding:5px 12px;box-shadow:0 3px 0 var(--panel-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:92px}.panel.score{flex:1 1;align-items:flex-start}.panel.best{align-items:flex-end;transition:background .3s,border-color .3s}.panel.best.beaten{background:var(--accent-soft);border-color:var(--accent)}.next{flex-direction:row;gap:8px;padding:3px 10px;min-width:0}.label{font-size:.62rem;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.6px}.value{font-size:1.45rem;font-weight:900;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chase{position:relative;height:18px;background:hsla(0,0%,100%,.22);overflow:hidden;flex:none}.chase,.chase-fill{border-radius:999px}.chase-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--accent),#ffd36e);transition:width .35s cubic-bezier(.2,.9,.3,1)}.chase-label{position:absolute;inset:0;display:grid;place-items:center;font-size:.65rem;font-weight:800;color:var(--on-sky);text-shadow:0 1px 2px rgba(0,0,0,.35);letter-spacing:.2px}.boardWrap{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center}.boardStage{position:relative;display:flex}.board{display:block;border-radius:var(--r-lg);background:var(--board-2);border:3px solid var(--board-edge);box-shadow:0 12px 28px var(--panel-shadow),inset 0 0 0 2px rgba(0,0,0,.04);touch-action:none;cursor:pointer}.board.arming{cursor:crosshair;box-shadow:0 12px 28px var(--panel-shadow),0 0 0 3px rgba(232,76,106,.55)}.announcer{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;background:rgba(24,22,38,.55);border-radius:var(--r-lg);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:10}.card{background:var(--panel);border:3px solid var(--panel-edge);border-radius:var(--r-lg);padding:18px 20px;text-align:center;box-shadow:0 10px 0 var(--panel-shadow);animation:pop .32s cubic-bezier(.2,1.4,.4,1);max-width:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.card h2{margin:0 0 6px;font-size:1.4rem}.card p{margin:4px 0;color:var(--ink-soft)}.card .finalScore{font-size:2rem;font-weight:900;color:var(--ink);line-height:1;margin:6px 0 2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card .newBest{color:var(--accent);font-weight:900;animation:shine 1.2s ease-in-out infinite}.muted-line{font-size:.85rem;font-weight:700}.card button{margin-top:12px;border:none;background:var(--accent);color:#fff;font-weight:800;font-size:1rem;min-height:var(--tap);padding:10px 20px;border-radius:14px;box-shadow:0 4px 0 var(--accent-deep);cursor:pointer;font-family:inherit;transition:transform .06s ease}.card button.big{width:100%;font-size:1.1rem}.card button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--accent-deep)}.card button:disabled{opacity:.45;cursor:default;filter:saturate(.6)}.card button.ghost{background:var(--panel-2);color:var(--ink);border:2px solid var(--panel-edge);box-shadow:0 3px 0 var(--panel-shadow)}.card button.ghost:active{box-shadow:0 1px 0 var(--panel-shadow)}.card button.small{font-size:.82rem;padding:8px 12px;min-height:40px;margin-top:8px}.btn-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.title-overlay{background:rgba(24,22,38,.62)}.title-card{width:100%;max-width:380px;padding:12px 14px 10px}.title-card .title-cat{display:flex;justify-content:center;animation:bob 2.6s ease-in-out infinite}.title-card h2{font-size:1.6rem;margin:0;letter-spacing:.5px}.title-sub{font-size:.75rem;line-height:1.35;margin:2px 0 9px!important}.mode-list{gap:7px}.card .mode-card,.mode-list{display:flex;flex-direction:column}.card .mode-card{gap:1px;text-align:left;width:100%;min-height:0;margin:0;padding:8px 11px;border-radius:var(--r-md);background:var(--panel-2);color:var(--ink);border:2px solid var(--panel-edge);box-shadow:0 3px 0 var(--panel-shadow);cursor:pointer;font-family:inherit;transition:transform .08s ease,border-color .15s,background .15s}.card .mode-card:hover{border-color:var(--accent)}.card .mode-card:active{transform:translateY(3px);box-shadow:0 0 0 var(--panel-shadow)}.mode-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.mode-card-name{font-size:1rem;font-weight:900}.mode-card-best{font-size:.75rem;font-weight:800;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mode-card-tag{font-size:.74rem;font-weight:700;color:var(--ink-soft)}.mode-card-perks{margin:3px 0 1px;padding-left:15px;font-size:.68rem;font-weight:600;color:var(--ink-soft);line-height:1.42}.mode-card-perks li::marker{color:var(--accent)}.mode-card-cta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:3px;font-size:.78rem;font-weight:900;color:var(--accent)}.mode-card-runs{font-size:.68rem;font-weight:700;color:var(--ink-soft)}.title-links{margin-top:4px}.howto-card{max-width:360px;text-align:left}.howto-card h2{text-align:center}.howto{margin:8px 0;padding-left:18px;font-size:.82rem;line-height:1.55;color:var(--ink-soft)}.howto li{margin-bottom:6px}.howto b{color:var(--ink)}.howto-card button{width:100%}.over-card{width:100%;max-width:320px;padding:12px 16px}.over-card .keyboard-cat{width:124px!important;height:72px!important;margin:-10px auto -2px}.over-card h2{margin:0 0 2px}.over-card .finalScore{font-size:1.85rem;margin:2px 0 0}.over-card .run-stats{margin:6px 0 4px}.over-card .tease{margin:4px 0!important;padding:5px 8px;font-size:.74rem}.over-card .saveLine{font-size:.68rem;margin-top:4px!important}.over-card .seed-result{margin:6px 0 2px}.over-card .btn-row{margin-top:6px}.run-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin:8px 0 6px}.run-stats>div{background:var(--panel-2);border:2px solid var(--panel-edge);border-radius:var(--r-sm);padding:6px 3px}.run-stats dd{margin:0;font-size:.82rem;font-weight:900;line-height:1.2}.run-stats dt{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin-top:2px}.over-nav{display:flex;gap:8px;margin-top:8px}.card .over-nav button{flex:1 1;min-width:0;margin:0;padding:10px 6px;font-size:.82rem;white-space:nowrap;background:var(--panel-2);color:var(--ink);border:2px solid var(--panel-edge);box-shadow:0 3px 0 var(--panel-shadow)}.card .over-nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.over-actions{flex-wrap:nowrap}.over-actions button{flex:1 1;min-width:0;font-size:.74rem;padding:8px 4px;white-space:nowrap}.tease{font-size:.78rem;font-weight:700;background:var(--accent-soft);border-radius:var(--r-sm);padding:6px 8px;margin:6px 0!important}.tease b{color:var(--accent)}.combo{position:absolute;top:16%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;z-index:6;animation:comboPop .35s cubic-bezier(.2,1.6,.4,1)}.combo-n{font-weight:900;font-size:1.5rem;white-space:nowrap;color:#fff;text-shadow:0 2px 0 var(--accent),0 0 14px var(--accent);letter-spacing:.5px}.combo-bar{display:block;width:88px;height:5px;border-radius:999px;background:var(--accent);transform-origin:left center;animation:drain 1.1s linear forwards}@keyframes drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes comboPop{0%{transform:translateX(-50%) scale(.5);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}@keyframes shine{0%,to{opacity:1}50%{opacity:.55}}.praise{position:absolute;top:34%;left:0;right:0;display:grid;place-items:center;pointer-events:none;z-index:7;animation:praiseIn var(--p-hold,1s) cubic-bezier(.2,1.5,.4,1) forwards}.praise-word{font-size:clamp(2rem,13vw,3.4rem);font-weight:900;letter-spacing:1px;text-transform:uppercase;background:linear-gradient(180deg,var(--p-from),var(--p-to));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2.5px #fff;paint-order:stroke fill;filter:drop-shadow(0 4px 0 rgba(0,0,0,.18)) drop-shadow(0 0 18px var(--p-from));white-space:nowrap}.praise-meowgnificent .praise-word{background:linear-gradient(100deg,#ff2d2d,#ff9500,#ffe600,#36d900,#00a6ff,#7a3cff);-webkit-background-clip:text;background-clip:text;animation:rainbowSlide 1.4s linear infinite;background-size:220% 100%}@keyframes praiseIn{0%{transform:scale(.3) rotate(-8deg);opacity:0}35%{transform:scale(1.18) rotate(2deg);opacity:1}50%{transform:scale(1) rotate(0deg);opacity:1}82%{transform:scale(1) rotate(0deg);opacity:1}to{transform:scale(1.1) translateY(-22px);opacity:0}}@keyframes rainbowSlide{to{background-position:220% 0}}.oiia-overlay{position:absolute;inset:0;z-index:8;pointer-events:none;animation:oiiaIn .25s ease-out both}@keyframes oiiaIn{0%{opacity:0}to{opacity:1}}.keyboard-cat{display:block;margin:-8px auto 0}.card-footer{position:-webkit-sticky;position:sticky;bottom:-18px;margin:10px -20px -18px;padding:8px 20px 18px;background:var(--panel);border-radius:0 0 calc(var(--r-lg) - 3px) calc(var(--r-lg) - 3px);box-shadow:0 -12px 14px -10px var(--panel-shadow)}.card .card-footer button{width:100%;margin-top:0}.howto-h{margin:12px 0 4px;font-size:.92rem;text-align:center}.meme-list{list-style:none;margin:0;padding:0;font-size:.76rem;line-height:1.4;color:var(--ink-soft)}.meme-list li{display:flex;align-items:flex-start;gap:8px;padding:3px 0}.meme-list b{color:var(--ink)}.meme-emoji{font-size:1rem;line-height:1.2;flex:none}.dock{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:6px;gap:6px;flex:none}.tool{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:var(--tap);border:2px solid var(--panel-edge);background:var(--panel);color:var(--ink);border-radius:14px;padding:5px 6px;font-family:inherit;cursor:pointer;box-shadow:0 3px 0 var(--panel-shadow);transition:transform .06s ease,background .15s,border-color .15s}.tool-icon{font-size:1.15rem;line-height:1.1}.tool-label{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tool:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--panel-shadow)}.tool:disabled{opacity:.4;cursor:default}.tool.active{background:var(--accent);border-color:var(--accent);box-shadow:0 3px 0 var(--accent-deep),0 0 0 3px var(--accent-soft)}.tool.active .tool-label{color:hsla(0,0%,100%,.9)}.tool.purity{cursor:default;background:var(--panel-2);grid-column:span 2;flex-direction:row;gap:6px}.tool .tool-count{position:absolute;top:-6px;right:-5px;background:var(--accent);color:#fff;font-size:.66rem;font-weight:900;min-width:19px;height:19px;line-height:17px;border-radius:10px;border:2px solid var(--panel);padding:0 3px}.ladder{display:flex;justify-content:center;gap:1px;background:hsla(0,0%,100%,.16);border-radius:14px;padding:4px 6px;flex:none;overflow-x:auto;scrollbar-width:none}.ladder::-webkit-scrollbar{display:none}.rung{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;opacity:.3;filter:grayscale(.75);transition:opacity .3s,filter .3s,transform .3s}.rung.seen{opacity:1;filter:none;transform:scale(1.08)}.rung.next{opacity:.6;filter:grayscale(.35);animation:nudge 1.8s ease-in-out infinite}@keyframes nudge{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.05)}}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}@keyframes pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.toast{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:rgba(30,28,44,.92);color:#fff;font-weight:800;font-size:.85rem;padding:8px 16px;border-radius:999px;pointer-events:none;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis;animation:toastIn 1.7s ease-out forwards;z-index:8}@keyframes toastIn{0%{transform:translateX(-50%) translateY(-14px);opacity:0}10%,80%{transform:translateX(-50%) translateY(0);opacity:1}to{transform:translateX(-50%) translateY(-14px);opacity:0}}.whoami{display:flex;align-items:center;gap:7px;border:2px solid var(--panel-edge);background:var(--panel);color:var(--ink);border-radius:999px;padding:3px 11px 3px 4px;font-family:inherit;font-weight:800;font-size:.8rem;min-height:36px;cursor:pointer;box-shadow:0 2px 0 var(--panel-shadow);transition:transform .06s ease;min-width:0}.whoami:active{transform:translateY(2px);box-shadow:none}.whoami-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34vw}.whoami-dot{font-size:.75rem;opacity:.8}.avatar{display:inline-flex;border-radius:9px;overflow:hidden;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.avatar img{width:100%;height:100%;display:block}.notice{display:flex;align-items:center;gap:6px;background:#fff8e6;border:2px solid #f0d9b5;color:#7a5a20;font-size:.76rem;font-weight:700;border-radius:var(--r-sm);padding:5px 8px 5px 10px;animation:pop .3s ease-out;flex:none}.notice.ok{background:#e9f9ec;border-color:#bfe6c8;color:#22703a}.notice.err{background:#fdeeee;border-color:#f2c4c4;color:#9c2f2f}.notice-x{margin-left:auto;border:none;background:transparent;color:inherit;font-size:1.1rem;font-weight:900;cursor:pointer;padding:0 6px;line-height:1;opacity:.7}.board-card{width:100%;max-width:340px;padding:16px}.mode-switch{display:flex;gap:4px;justify-content:center;background:var(--panel-2);border-radius:999px;padding:3px;margin:8px 0 4px}.card .mode-tab{flex:1 1;margin:0;min-height:38px;border:none;background:transparent;color:var(--ink-soft);font-family:inherit;font-weight:800;font-size:.78rem;padding:7px 8px;border-radius:999px;box-shadow:none;cursor:pointer;transition:background .15s,color .15s}.card .mode-tab.active{background:var(--accent);color:#fff}.board-note{font-size:.66rem!important;margin:0 0 2px!important;opacity:.8}.tabs{display:flex;gap:4px;justify-content:center;margin:8px 0 2px;flex-wrap:wrap}.card .tab{margin:0;min-height:34px;border:2px solid var(--panel-edge);background:var(--panel);color:var(--ink);font-family:inherit;font-weight:800;font-size:.75rem;padding:6px 11px;border-radius:999px;box-shadow:none;cursor:pointer;opacity:.65;transition:opacity .15s,background .15s}.card .tab.active{background:var(--accent);border-color:var(--accent);color:#fff;opacity:1;box-shadow:0 2px 0 var(--accent-deep)}.scores{list-style:none;margin:10px 0 0;padding:0;width:100%}.scores li{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:10px;font-weight:700;font-size:.85rem}.scores li:nth-child(odd){background:hsla(0,0%,50%,.09)}.scores li.me{background:var(--accent-soft);outline:2px solid var(--accent)}.scores .rank{width:34px;text-align:center;color:var(--ink-soft);font-size:.72rem}.scores .who{flex:1 1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.scores .pts{font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scores.cloud li{padding:4px 6px}.scores.cloud .sub{font-size:.66rem;font-weight:700;color:var(--ink-soft);white-space:nowrap}.scores.cloud.mine .who{font-size:.78rem}.scores .sub{min-width:16px;text-align:center;font-size:.68rem;opacity:.8}.empty{color:var(--ink-soft);margin:14px 0;font-size:.85rem}.board-me{font-size:.78rem;font-weight:800;color:var(--ink)!important}.board-me,.caption{margin-top:8px!important}.caption{font-size:.68rem;color:var(--ink-soft)}.saveLine{font-size:.72rem;font-weight:700;margin-top:6px!important}.cloudLine{font-weight:800}.cloudLine.ok{color:var(--ok)}.cloudLine.warn{color:var(--warn)}.settings-card{width:100%;max-width:380px;text-align:left}.settings-card h2{text-align:center}.setting{margin:14px 0}.setting-label{display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);margin-bottom:5px}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:3px;gap:3px;background:var(--panel-2);border:2px solid var(--panel-edge);border-radius:999px;padding:3px}.card .seg{display:flex;align-items:center;justify-content:center;gap:5px;margin:0;min-height:38px;padding:6px 8px;border:none;border-radius:999px;background:transparent;color:var(--ink-soft);font-family:inherit;font-weight:800;font-size:.78rem;box-shadow:none;cursor:pointer;transition:background .15s,color .15s}.card .seg.on{background:var(--accent);color:#fff}.card .seg:active{transform:none;box-shadow:none}.setting-hint{font-size:.68rem!important;margin:5px 2px 0!important}.card button.name-edit{display:block;width:100%;margin:0 0 12px;padding:8px 10px;min-height:38px;font-size:.78rem;font-weight:800;background:var(--panel-2);color:var(--ink);border:2px dashed var(--panel-edge);box-shadow:none}.card button.name-edit:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.name-form{margin:0 0 12px;padding:10px 12px;background:var(--panel-2);border:2px solid var(--panel-edge);border-radius:var(--r-md);text-align:left}.name-row{display:flex;align-items:baseline;justify-content:space-between}.name-row .setting-label{margin-bottom:4px}.name-count{font-size:.64rem;font-weight:800;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.name-form .save-row{margin-top:2px}.card .name-form button.name-cancel{width:100%;margin-top:8px}.name-msg{font-size:.7rem!important;font-weight:700;margin:6px 0 0!important;min-height:1.2em}.name-msg.ok{color:var(--ok)}.name-msg.err{color:#c0392b}.card .name-form button.ghost.small{margin-top:6px;min-height:34px;padding:6px 12px}.cat-avatar{display:block;flex:none}.studio-footer{display:flex;gap:8px}.card .studio-footer button{flex:1 1;width:auto}.card button.studio-open{border-style:solid}.wardrobe-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:10px 0 4px}.wardrobe-row>:only-child{grid-column:1/-1}.card button.wardrobe-tile{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 6px;background:var(--panel-2);color:var(--ink);border:2px solid var(--panel-edge);box-shadow:0 4px 0 var(--panel-shadow)}.card button.wardrobe-tile:active{box-shadow:0 1px 0 var(--panel-shadow)}.wardrobe-name{font-size:.95rem;font-weight:900}.wardrobe-gift{position:absolute;top:-8px;right:-6px;font-size:1.5rem;animation:giftBob 1.4s ease-in-out infinite}@keyframes giftBob{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-4px) rotate(8deg)}}.card button.wardrobe-btn{display:inline-flex;align-items:center;gap:8px;margin-top:0}.sheet{width:100%;max-width:380px;padding:14px 14px 16px}.sheet-head{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.sheet-head h2{margin:0}.card button.sheet-x{position:absolute;top:-4px;right:-4px;margin:0;min-height:40px;width:40px;padding:0;font-size:1.1rem;background:var(--panel-2);color:var(--ink);border:2px solid var(--panel-edge);box-shadow:0 3px 0 var(--panel-shadow)}.sheet-sec{margin-top:12px}.sheet-sec-h{margin:0 0 6px;font-size:.85rem;font-weight:900;color:var(--ink-soft);text-align:left}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:8px;gap:8px;margin-top:10px}.sheet-sec .tile-grid{margin-top:0}.tile-grid.small{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.card button.tile{position:relative;margin:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;background:var(--panel-2);color:var(--ink);border:3px solid transparent;border-radius:var(--r-md);box-shadow:0 3px 0 var(--panel-shadow)}.card button.tile.on{border-color:var(--accent);background:var(--accent-soft)}.card button.tile.locked>canvas{filter:saturate(.5) opacity(.55)}.card button.tile:active{transform:translateY(2px);box-shadow:0 1px 0 var(--panel-shadow)}.tile-name{font-size:.72rem;font-weight:800;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-badge,.tile-check,.tile-lock{position:absolute;top:2px;right:4px;font-size:1rem}.tile-check{right:auto;left:4px;color:var(--accent);font-weight:900}.tile-bar{display:block;width:80%;height:4px;border-radius:999px;background:var(--panel-edge);overflow:hidden}.tile-bar>span{display:block;height:100%;background:var(--accent)}.sheet-hint{margin:10px 0 0;padding:8px 10px;border-radius:var(--r-sm);background:var(--panel-2);color:var(--ink);font-weight:800;font-size:.85rem}.sheet-rival{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font-size:1.2rem}.card .sheet-rival .seg{margin:0}.big-tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:10px}.card button.big-tab{margin:0;font-size:1.7rem;padding:6px 0;background:var(--panel-2);border:3px solid transparent;box-shadow:0 3px 0 var(--panel-shadow)}.card button.big-tab.on{border-color:var(--accent);background:var(--accent-soft)}.gift-card{width:100%;max-width:300px;padding:22px 18px}.card button.gift-box{margin:10px auto;display:block;font-size:5rem;line-height:1;padding:10px 18px;background:transparent;box-shadow:none;animation:giftShake .9s ease-in-out infinite}@keyframes giftShake{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.05)}75%{transform:rotate(10deg) scale(1.05)}}.gift-shine{display:flex;justify-content:center;padding:8px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0,transparent 70%);animation:pop .45s cubic-bezier(.2,1.4,.4,1)}.gift-name{margin-top:6px;font-size:1.25rem;font-weight:900;color:var(--ink)}.gift-actions{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.card .gift-actions button{font-size:1.15rem}@media (prefers-reduced-motion:reduce){.card button.gift-box,.gift-shine,.wardrobe-gift{animation:none}}.acct-card{width:100%;max-width:330px}.acct-head{display:flex;align-items:center;gap:12px;text-align:left;margin-bottom:12px}.acct-head .avatar{border-radius:14px}.acct-name{font-size:1rem;font-weight:900;line-height:1.2;overflow-wrap:anywhere}.acct-sub{font-size:.72rem;font-weight:700;color:var(--ink-soft)}.acct-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin:0 0 12px}.acct-stats>div{background:var(--panel-2);border:2px solid var(--panel-edge);border-radius:var(--r-sm);padding:8px 4px}.acct-stats dd{margin:0;font-size:.95rem;font-weight:900}.acct-stats dt{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.save-email{border-top:2px dashed var(--panel-edge);padding-top:10px;text-align:left}.save-email p{font-size:.78rem;margin:0 0 8px}.save-row{display:flex;gap:6px}.save-row input{flex:1 1;min-width:0;font-family:inherit;font-weight:700;font-size:16px;padding:9px 10px;border-radius:var(--r-sm);border:2px solid var(--panel-edge);background:var(--panel-2);color:var(--ink);outline:none}.save-row input:focus{border-color:var(--accent)}.save-row button{margin-top:0;white-space:nowrap}.save-msg{font-size:.72rem;font-weight:700;color:var(--ok);margin-top:6px!important}.save-msg.err{color:#c0392b}.acct-saved{font-size:.78rem;font-weight:700;color:var(--ok);background:#e9f9ec;border:2px solid #bfe6c8;border-radius:var(--r-sm);padding:8px 10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .notice{background:#3a3320;border-color:#5b4f2c;color:#f0dfae}:root:not([data-theme=light]) .acct-saved,:root:not([data-theme=light]) .notice.ok{background:#1f3a2a;border-color:#2f5b41;color:#a8e6bd}:root:not([data-theme=light]) .notice.err{background:#3d2225;border-color:#5f3338;color:#f0b3b8}:root:not([data-theme=light]) .ladder{background:hsla(0,0%,100%,.07)}:root:not([data-theme=light]) .chase{background:hsla(0,0%,100%,.12)}}:root[data-theme=dark] .notice{background:#3a3320;border-color:#5b4f2c;color:#f0dfae}:root[data-theme=dark] .acct-saved,:root[data-theme=dark] .notice.ok{background:#1f3a2a;border-color:#2f5b41;color:#a8e6bd}:root[data-theme=dark] .notice.err{background:#3d2225;border-color:#5f3338;color:#f0b3b8}:root[data-theme=dark] .ladder{background:hsla(0,0%,100%,.07)}:root[data-theme=dark] .chase{background:hsla(0,0%,100%,.12)}:where(button,input,a):focus-visible{outline:3px solid #fff;outline-offset:2px}@media (max-height:700px){.masthead{display:none}.value{font-size:1.25rem}:root{--tap:42px}}@media (max-width:360px){.tool-label{font-size:.52rem}.mode-pill{display:none}.whoami-name{max-width:26vw}}@media (orientation:landscape) and (max-height:560px){.masthead{display:none}.page{gap:0}.game{max-width:none;display:grid;grid-template-columns:1fr minmax(190px,260px);grid-template-rows:auto auto auto 1fr auto auto;grid-template-areas:"board top" "board hud" "board chase" "board notice" "board dock" "board ladder";grid-gap:6px;gap:6px}.topbar{grid-area:top;flex-wrap:wrap}.topbar .whoami{flex:1 1 100%}.whoami-name{max-width:none}.hud{grid-area:hud;display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.panel.score{grid-column:span 2;flex-direction:row;justify-content:space-between;align-items:center}.next,.panel{min-width:0}.boardWrap{grid-area:board}.dock{grid-area:dock;grid-auto-flow:row;grid-template-columns:1fr 1fr}.ladder{grid-area:ladder;flex-wrap:wrap}.chase{grid-area:chase}.notice{grid-area:notice;align-self:start}}@media (prefers-reduced-motion:reduce){.card,.card .newBest,.combo,.combo-bar,.notice,.rung.next,.title-card .title-cat,.toast{animation-duration:1ms!important;animation-iteration-count:1!important}.chase-fill{transition:none}.praise{animation:praiseStill var(--p-hold,1s) linear forwards}.praise-meowgnificent .praise-word{animation:none}.oiia-overlay{animation:none!important}}@keyframes praiseStill{0%,85%{opacity:1}to{opacity:0}}.acct-danger{margin-top:12px;padding-top:10px;border-top:2px dashed var(--panel-edge);text-align:center}.danger-link{background:none;border:none;color:#c0392b;font-family:inherit;font-weight:800;font-size:.8rem;cursor:pointer;padding:2px 6px;text-decoration:underline;opacity:.85}.danger-link:hover{opacity:1}.danger-copy{font-size:.75rem;text-align:left;opacity:.8;margin:0 0 8px}.card button.danger-btn{background:#c0392b;box-shadow:0 3px 0 #8e2a1f;font-size:.85rem;padding:8px 14px;margin-top:0}.card button.danger-btn:active{box-shadow:0 1px 0 #8e2a1f}.acct-legal{margin-top:10px;font-size:.7rem;opacity:.7}.acct-legal a,.setting-hint a{color:var(--accent);font-weight:700;text-decoration:none}.acct-legal a:hover,.setting-hint a:hover{text-decoration:underline}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .danger-link{color:#ff8f80}:root:not([data-theme=light]) .card button.danger-btn{background:#b93b2c;box-shadow:0 3px 0 #7d2a1f}}.seed-code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;letter-spacing:.09em;font-size:.82em;padding:2px 7px;border-radius:7px;color:var(--ink);border:1px solid var(--panel-edge)}.card button.seed-row,.seed-code{font-weight:800;background:var(--panel-2)}.card button.seed-row{display:flex;align-items:center;gap:8px;width:100%;margin:2px 0 10px;padding:8px 12px;min-height:40px;font-size:.74rem;color:var(--muted);border:2px dashed var(--panel-edge);box-shadow:none}.card button.seed-row:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.card button.seed-row.on{border-style:solid;color:var(--ink)}.seed-row-label{white-space:nowrap}.seed-row-best,.seed-row-cta{margin-left:auto;font-size:.68rem;opacity:.8}.seed-entry{display:flex;gap:8px;align-items:stretch}.card input.seed-input{flex:1 1;min-width:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.9rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--panel-2);border:2px solid var(--panel-edge);border-radius:10px}.card input.seed-input:focus{outline:none;border-color:var(--accent)}.card .seed-entry button{width:auto;margin:0;padding:0 14px;white-space:nowrap}.seed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:168px;overflow-y:auto}.card button.seed-chip{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:7px 10px;min-height:38px;font-size:.7rem;font-weight:700;text-align:left;background:var(--panel-2);color:var(--ink);border:2px solid var(--panel-edge);box-shadow:none}.card button.seed-chip:hover:not(:disabled){border-color:var(--accent)}.seed-chip-best{margin-left:auto;font-weight:800}.seed-chip-tries{opacity:.6;font-size:.64rem;white-space:nowrap}.seed-card .card-footer{display:flex;gap:8px}.card .seed-card .card-footer button,.seed-card .card-footer button{width:auto;flex:1 1}.seed-line{gap:6px}.seed-line,.seed-result{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.seed-result{gap:7px;margin:10px 0 2px;font-size:.7rem;font-weight:700;color:var(--muted)}.seed-result-label{text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;opacity:.75}.seed-result-up{color:#2e9e5b;font-weight:900}.seed-result-down,.seed-result-new{opacity:.85}.card input.code-input{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:1.2rem;font-weight:800;letter-spacing:.3em;text-align:center}.card button.code-back{display:block;margin:10px auto 0;font-size:.7rem}.card .versus-cta,.versus-cta{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;margin:10px 0 4px;padding:10px 14px;border:3px solid #d64545;border-radius:var(--r-md);background:linear-gradient(135deg,#ff7a7a,#d64545);color:#fff;font-family:inherit;cursor:pointer;box-shadow:0 4px 0 #9c2f2f}.card .versus-cta:active,.versus-cta:active{transform:translateY(3px);box-shadow:0 1px 0 #9c2f2f}.versus-cta-name{font-weight:900;font-size:1.1rem}.versus-cta-tag{font-weight:700;font-size:.8rem;opacity:.9}.versus-card{--accent:#d64545;--accent-deep:#9c2f2f;width:min(420px,100%);position:relative}.versus-sub{font-size:.85rem}.versus-me{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700}.versus-block{margin:10px 0}.versus-rooms{gap:8px;justify-content:center;flex-wrap:wrap}.room-join,.versus-rooms{display:flex;align-items:flex-end}.room-join{gap:6px}.room-join input{width:6.2em;min-height:var(--tap);padding:8px 10px;border:3px solid var(--panel-edge);font:inherit;letter-spacing:.15em;text-align:center;text-transform:uppercase;background:var(--panel-2)}.room-code,.room-join input{border-radius:12px;font-weight:900;color:var(--ink)}.room-code{display:inline-block;margin:6px 0;padding:6px 14px;font-size:2rem;letter-spacing:.25em;background:var(--accent-soft)}.versus-h3{margin:14px 0 4px;font-size:1rem}.versus-list{list-style:none;margin:0;padding:0;text-align:left}.versus-list li{display:flex;align-items:center;gap:8px;padding:4px 2px;border-bottom:1px solid var(--panel-edge)}.versus-list li button{margin:0;min-height:34px;padding:4px 12px;font-size:.85rem}.versus-name{flex:1 1;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.versus-elo{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:700;font-size:.85rem}.versus-rank{width:1.4em;text-align:right;font-weight:900;color:var(--ink-soft)}.versus-spinner{display:inline-block;width:.9em;height:.9em;border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;vertical-align:-.1em;animation:vs-spin .8s linear infinite}@keyframes vs-spin{to{transform:rotate(1turn)}}.versus-invite{position:-webkit-sticky;position:sticky;bottom:0;margin-top:10px;padding:10px;border:3px solid var(--accent);border-radius:var(--r-md);background:var(--panel);box-shadow:0 6px 0 var(--panel-shadow)}.warn-line{color:var(--danger)!important;font-weight:700}.panel.rival{display:flex;align-items:center;gap:6px;min-width:0}.panel.rival canvas{flex:none;border-radius:4px;background:linear-gradient(var(--board-1),var(--board-2));box-shadow:inset 0 0 0 1px var(--panel-edge)}.rival-text{display:flex;flex-direction:column;min-width:0}.rival-text .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:7em}.rival-incoming{font-size:.7rem;font-weight:900;color:var(--danger)}.telegraph{margin:0 auto 4px;padding:2px 10px;border-radius:10px;font-weight:800;font-size:.75rem;text-align:center;color:var(--ink-soft);min-height:1.6em}.telegraph.on{background:#d64545;color:#fff;animation:shine .9s ease-in-out infinite}.telegraph-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:900}.telegraph.sudden:not(.on){color:var(--danger)}.telegraph-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.vs-countdown{position:absolute;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:var(--ink);text-shadow:0 3px 0 var(--panel)}.vs-countdown span{font-size:5rem;font-weight:900;line-height:1}.vs-countdown small{font-size:1rem;font-weight:700}.vs-result{--accent:#d64545;--accent-deep:#9c2f2f}.vs-result .ghost{margin-left:8px}.elo-up{color:var(--ok);font-size:1rem}.elo-down{color:var(--danger);font-size:1rem}.versus-tabs{display:flex;gap:6px;justify-content:center;margin:4px 0 6px}.versus-tabs button{margin:0!important;min-height:32px!important;padding:4px 12px!important;font-size:.85rem!important;background:var(--panel-2)!important;color:var(--ink)!important;box-shadow:none!important;border:2px solid var(--panel-edge)!important}.versus-tabs button.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.resume-list{margin-top:14px;padding-top:10px;border-top:2px dashed var(--panel-edge);display:flex;flex-direction:column;gap:6px}.resume-head{margin:0 0 2px!important;font-size:.78rem;font-weight:900;color:var(--ink)!important;text-align:left}.resume-row{display:flex;gap:6px;align-items:stretch}.card .resume-go{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;margin:0;min-height:0;padding:7px 10px;border-radius:12px;background:var(--panel-2);color:var(--ink);border:2px solid var(--accent);box-shadow:0 3px 0 var(--panel-shadow);text-align:left}.resume-name{font-weight:900;font-size:.88rem}.resume-meta{font-size:.68rem;font-weight:700;color:var(--ink-soft)}.card .resume-drop{margin:0;min-height:0;width:40px;padding:0;border-radius:12px;background:var(--panel-2);color:var(--ink-soft);border:2px solid var(--panel-edge);box-shadow:none;font-size:.9rem}.resume-note{margin-top:8px!important;font-size:.72rem}.restoring-card{width:min(320px,100%)}.restore-bar{height:10px;margin:12px 0 6px;border-radius:6px;background:var(--panel-2);border:2px solid var(--panel-edge);overflow:hidden}.restore-fill{height:100%;background:var(--accent);transition:width .15s linear}@media (max-height:760px),(max-width:380px){.mode-card-perks,.title-card .title-cat,.title-sub{display:none}}.review-overlay{position:fixed;inset:0;z-index:60;border-radius:0}.review-card{width:min(500px,100%)}.review-boards{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.review-side{margin:0}.review-side figcaption{font-size:.8rem;font-weight:700;margin-bottom:4px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-board{display:block;border-radius:10px;background:linear-gradient(var(--board-1),var(--board-2));border:2px solid var(--panel-edge)}.review-controls{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;align-items:center}.review-controls .ghost.small.active{background:var(--accent);color:#fff}