:root{--bg:#faf8f4;--card:#fff;--ink:#1f2430;--muted:#8a8f9c;--accent:#2f6fed;--accent-ink:#fff;--good:#1fa860;--bad:#d94f4f;--warn:#e8a020;--fast:#e0a417;--tile:#fff;--tile-border:#d8d4cc;--slot:#efece6;--shadow:0 1px 3px #1e1e2814;--radius:12px}@media (prefers-color-scheme:dark){:root{--bg:#171a21;--card:#1f242e;--ink:#e8eaf0;--muted:#8a8f9c;--tile:#2a303c;--tile-border:#3a4150;--slot:#242a35;--shadow:0 1px 3px #00000059}}:root[data-theme=light]{--bg:#faf8f4;--card:#fff;--ink:#1f2430;--tile:#fff;--tile-border:#d8d4cc;--slot:#efece6;--shadow:0 1px 3px #1e1e2814}:root[data-theme=dark]{--bg:#171a21;--card:#1f242e;--ink:#e8eaf0;--tile:#2a303c;--tile-border:#3a4150;--slot:#242a35;--shadow:0 1px 3px #00000059}:root[data-contrast=high],:root[data-contrast=high][data-theme=light]{--bg:#fff;--card:#fff;--ink:#000;--muted:#3d4250;--accent:#1a4fd6;--accent-ink:#fff;--good:#0d7a42;--bad:#b91c1c;--warn:#a16207;--fast:#8a6200;--tile:#fff;--tile-border:#000;--slot:#fff;--shadow:0 0 0 1px #000}@media (prefers-color-scheme:dark){:root[data-contrast=high]{--bg:#000;--card:#000;--ink:#fff;--muted:#c2c7d4;--accent:#7aa5ff;--accent-ink:#000;--good:#2ee585;--bad:#ff7070;--warn:#ffc24d;--fast:#ffd873;--tile:#000;--tile-border:#fff;--slot:#000;--shadow:0 0 0 1px #fff}}:root[data-contrast=high][data-theme=dark]{--bg:#000;--card:#000;--ink:#fff;--muted:#c2c7d4;--accent:#7aa5ff;--accent-ink:#000;--good:#2ee585;--bad:#ff7070;--warn:#ffc24d;--fast:#ffd873;--tile:#000;--tile-border:#fff;--slot:#000;--shadow:0 0 0 1px #fff}:root[data-contrast=high] .tile.used{opacity:.45}:root[data-contrast=high] .slot.win,:root[data-contrast=high] .slot.win-late,:root[data-contrast=high] #btn-advance{color:var(--bg)!important}:root[data-contrast=high] .ringbg,:root[data-contrast=high] .nextringbg{stroke:var(--tile-border)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible),[tabindex="-1"]:focus{outline:none}button,summary,.slot,.tile,.archrow,.theme-btn{touch-action:manipulation}#scr-game .tile,#scr-game .slot{touch-action:none}html{overflow-x:hidden}body{background:var(--bg);color:var(--ink);flex-direction:column;align-items:center;min-height:100dvh;margin:0;font-family:"Baloo 2",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow-x:hidden}button{font-family:inherit}main{flex-direction:column;align-items:center;width:100%;max-width:560px;padding:16px;display:flex}body.on-start main{flex:1;justify-content:center;min-height:0;max-height:520px}body.on-start footer{margin-top:32px}body.in-game main{flex:1;justify-content:center;min-height:0}body.in-game footer{margin-top:clamp(4px,1.5vh,12px);margin-bottom:clamp(2px,1vh,8px)}header{text-align:center;width:100%;max-width:560px;padding:14px 16px 0;position:relative}.icon-btn{border:1px solid var(--tile-border);background:var(--slot);width:40px;height:40px;color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex;position:absolute;top:12px;right:12px}h1{letter-spacing:1px;-webkit-user-select:none;user-select:none;margin:0;font-size:30px;font-weight:700}#logo{font-size:36px}h1 .n{color:var(--accent);display:inline-block;transform:rotate(-2deg)}.gamesub-row{justify-content:center;align-items:center;gap:8px;margin-top:6px;display:flex}.gamesub{background:var(--slot);border:1px solid var(--tile-border);width:fit-content;color:var(--muted);text-align:center;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.gamesub.today{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-color:#0000}.offline-badge{background:color-mix(in srgb, var(--warn) 16%, transparent);border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);width:fit-content;color:var(--warn);text-align:center;border-radius:999px;margin:6px auto 0;padding:4px 12px;font-size:12px;font-weight:600}.screen{width:100%}.hidden{display:none!important}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:16px;padding:20px}.btn{cursor:pointer;background:var(--accent);color:var(--accent-ink);border:none;border-radius:10px;padding:12px 20px;font-size:16px;font-weight:600;transition:transform 50ms;display:inline-block}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn.sec{color:var(--accent);border:2px solid var(--accent);background:0 0}.btn.wa{background:#25d366}.btn.full{width:100%;margin-top:10px}.modebox{text-align:center;margin-top:18px}.modebox p{color:var(--muted);font-size:15px;line-height:1.5}#tagline{color:var(--muted);text-align:center;margin-top:18px;font-size:13px;display:block}.footer-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.qlink{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;font-weight:600}.qlink:hover,.qlink:focus-visible{color:var(--accent)}.sep{color:var(--tile-border)}#contact .qlink{color:var(--muted);opacity:.5;padding:0;font-size:11px;font-weight:400;text-decoration:underline}#contact .qlink:hover,#contact .qlink:focus-visible{opacity:1;color:var(--accent)}.dots{grid-template-columns:repeat(5,30px);justify-content:center;gap:9px;margin:14px 0 4px;display:grid}#dots{margin:10px 0 2px}.dot{background:var(--slot);border:1px solid var(--tile-border);border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:relative}.dot.ok{background:var(--good);border-color:var(--good)}.dot.late{background:var(--warn);border-color:var(--warn)}.dot.miss{background:var(--bad);border-color:var(--bad)}.dot.cur{border:2px solid var(--accent)}.dot.fast:after{content:"⚡";pointer-events:none;font-size:15px;line-height:1}button.dot.reveal-dot{appearance:none;font:inherit;color:inherit;cursor:pointer;margin:0;padding:0}#word-pop,#tt-bubble{background:var(--ink);width:max-content;max-width:min(240px,100vw - 16px);color:var(--bg);text-align:center;opacity:0;pointer-events:none;z-index:1000;border-radius:8px;transition:opacity .15s;position:fixed}#word-pop{padding:8px 12px;font-size:13px;line-height:1.5}#word-pop.show{opacity:1;pointer-events:auto}#word-pop strong{letter-spacing:.02em;display:block}#word-pop .pribr{color:var(--accent);text-underline-offset:2px;text-decoration:underline}#word-pop .pop-time{opacity:.85;margin:2px 0}#word-pop .pop-time.fast{color:var(--fast);opacity:1;font-weight:700;animation:.5s ease-out popflash}#word-pop .pop-points{opacity:.9;margin:2px 0;font-weight:700}@keyframes popflash{0%{transform:scale(1.35)}to{transform:scale(1)}}.topbar{color:var(--muted);justify-content:center;align-items:center;margin-top:10px;font-size:14px;display:flex}.timerrow{justify-content:center;margin-top:8px;display:flex;position:relative}.timerring{width:58px;height:58px;position:relative}.timerring svg{width:100%;height:100%;transition:opacity .3s;overflow:visible;transform:rotate(-90deg)}.ringbg{fill:none;stroke:var(--slot);stroke-width:5px}.ringfg{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;stroke-dasharray:125.66;transition:stroke-dashoffset .1s linear,stroke .3s}.sparkles{pointer-events:none;opacity:0;position:absolute;inset:0}.timerring:has(.ringfg.fast) .sparkles{opacity:1}.sparkles i{background:var(--accent);clip-path:polygon(50% 0%,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0% 50%,37% 37%);opacity:0;width:5px;height:5px;filter:drop-shadow(0 0 2px var(--accent));animation:1.6s ease-in-out infinite twinkle;position:absolute}.sparkles i:first-child{animation-delay:0s;top:-2%;left:46%}.sparkles i:nth-child(2){width:4px;height:4px;animation-delay:.32s;top:22%;left:90%}.sparkles i:nth-child(3){animation-delay:.64s;top:82%;left:80%}.sparkles i:nth-child(4){width:4px;height:4px;animation-delay:.96s;top:88%;left:10%}.sparkles i:nth-child(5){animation-delay:1.28s;top:28%;left:-2%}@keyframes twinkle{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(20deg)}}.ringfg.low{stroke:var(--bad)}.timenum.low{color:var(--bad)}.timerring:has(.ringfg.low){animation:1s ease-in-out infinite heartbeat}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.16)}28%{transform:scale(1)}42%{transform:scale(1.16)}70%,to{transform:scale(1)}}.timenum{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:opacity .3s;display:flex;position:absolute;inset:0}.timenum.grow{animation:.22s ease-out numgrow}@keyframes numgrow{0%{transform:scale(.7)}55%{transform:scale(1.25)}to{transform:scale(1)}}.timeboost{color:var(--good);opacity:0;pointer-events:none;font-size:15px;font-weight:700;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.timeboost.warn{color:var(--warn)}.timeboost.show{animation:.75s ease-out boostfloat}@keyframes boostfloat{0%{opacity:0;transform:translate(-50%)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-22px)}}.timerring.dead{animation:none}.timerring.dead .timenum,.timerring.dead>svg{opacity:0}.overtime-alert{border-radius:var(--radius);background:color-mix(in srgb, var(--warn) 16%, var(--card));box-shadow:var(--shadow);align-items:center;gap:10px;padding:8px 10px 8px 14px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#timerbadge{color:var(--warn);font-size:13px;font-weight:700}@keyframes xdraw{to{stroke-dashoffset:0}}.timer-check{opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.timerring .timer-check{transform:none}.timer-check polyline{fill:none;stroke:var(--good);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:31;stroke-dashoffset:31px}.timerring.solved .timenum,.timerring.solved>svg{opacity:0}.timerring.solved .timer-check{opacity:1}.timerring.solved .timer-check polyline{animation:.4s ease-out forwards xdraw}.timer-bolt{opacity:0;width:100%;height:100%;position:absolute;inset:0}.timer-bolt polygon{fill:var(--fast);filter:drop-shadow(0 0 6px var(--fast))}.timerring.solved.bolt .timer-bolt{animation:.5s ease-out forwards boltflash}@keyframes boltflash{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1.15)}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.nextring{width:110px;height:110px;margin:16px auto 0;position:relative}.nextring svg{width:100%;height:100%;transform:rotate(-90deg)}.nextringbg{fill:none;stroke:var(--slot);stroke-width:5px}.nextringfg{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;stroke-dasharray:125.66;transition:stroke-dashoffset 1s linear}.nextnum{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex;position:absolute;inset:0}.card-sep{border-top:1px solid var(--tile-border);margin-top:20px;padding-top:20px}.slots,.tiles{flex-wrap:nowrap;justify-content:center;gap:6px;margin-top:20px;display:flex}#slots,#tiles{margin-top:14px}.slot,.tile{text-transform:uppercase;border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:flex}.slots>.slot,.tiles>.tile{--tile-min:32px;--tile-max:44px;min-width:var(--tile-min);max-width:var(--tile-max);aspect-ratio:44/52;flex:1 1 0;height:auto;font-size:clamp(18px,5.5vw,24px)}@media (width<=359px){.slots,.tiles{gap:4px}.slots>.slot,.tiles>.tile{--tile-min:28px}}.slot{background:var(--slot);border:2px solid var(--tile-border);position:relative}.slot.filled{border-color:var(--accent);background:var(--card);cursor:pointer}.tile{background:var(--tile);border:2px solid var(--tile-border);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom-width:4px;transition:opacity .18s,transform .18s}.tile.used{opacity:.25;transform:scale(.85)}#slots .slot.filled.pressed:not(.win,.miss,.err),#slots .slot.filled.pressed:not(.win,.miss,.err)~.slot.filled:not(.win,.miss,.err){color:#0000;text-shadow:0 0 8px var(--ink);transition:color .12s,text-shadow .12s}@media (hover:hover) and (pointer:fine){#slots .slot.filled:not(.win,.miss,.err):hover,#slots .slot.filled:not(.win,.miss,.err):hover~.slot.filled:not(.win,.miss,.err){color:#0000;text-shadow:0 0 8px var(--ink);cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='9' fill='white' stroke='%23d94f4f' stroke-width='2'/%3E%3Cpath d='M7 7l8 8M15 7l-8 8' stroke='%23d94f4f' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 11 11,pointer;transition:color .12s,text-shadow .12s}#tiles .tile.used:hover{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='9' fill='white' stroke='%23d94f4f' stroke-width='2'/%3E%3Cpath d='M7 7l8 8M15 7l-8 8' stroke='%23d94f4f' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 11 11,pointer}#tiles .tile:not(.used,.pressed):hover{transform:translateY(-3px)scale(1.06)}}.tile.pressed{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--tile));transition:transform 60ms;transform:scale(.9)translateY(1px)}.slot.filled.pressed{background:color-mix(in srgb, var(--accent) 18%, var(--card));transition:transform 60ms;transform:scale(.93)}.actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.abtn{background:var(--slot);color:var(--ink);cursor:pointer;border:1px solid var(--tile-border);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600}.abtn:disabled{opacity:.45;cursor:default}.abtn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.abtn.danger{background:var(--bad);color:#fff;border-color:var(--bad)}#btn-advance{isolation:isolate;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-shrink:0;position:relative;overflow:hidden}#btn-advance:before{content:"";z-index:-1;transform-origin:0;background:#00000040;transition:transform .15s linear;position:absolute;inset:0;transform:scaleX(0)}#btn-advance.holding:before{transition-duration:.8s;transform:scaleX(1)}#btn-shuffle,#btn-back{min-width:118px}.msg{text-align:center;min-height:22px;margin-top:12px;font-size:15px;font-weight:600;line-height:22px}#msg{margin-top:8px}.msg.good{color:var(--good)}.msg.bad{color:var(--bad)}.msg.warn{color:var(--warn)}.shake{animation:.35s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.screen{animation:.25s fadein}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tile.anim{animation:.3s backwards tilein}@keyframes tilein{0%{opacity:0;transform:translateY(12px)scale(.85)}to{opacity:1;transform:none}}.slot.pop{animation:.18s slotpop}@keyframes slotpop{50%{transform:scale(1.18)}}.slot.win{transition:background-color .4s,border-color .4s,color .4s;animation:.55s backwards winbounce;background:var(--good)!important;border-color:var(--good)!important;color:#fff!important}@keyframes winbounce{0%{transform:none}35%{transform:translateY(-12px)scale(1.1)}70%{transform:translateY(2px)}to{transform:none}}.slot.border-win{transition:border-color .35s;border-color:var(--good)!important}.slot.border-win-alt{transition:border-color .35s;border-color:var(--accent)!important}.slot.win-alt{transition:background-color .4s,border-color .4s,color .4s;animation:.55s backwards winbounce;background:var(--card)!important;border-color:var(--accent)!important;color:var(--accent)!important}.slot.border-win-late{transition:border-color .35s;border-color:var(--warn)!important}.slot.win-late{transition:background-color .4s,border-color .4s,color .4s;animation:.55s backwards winbounce;background:var(--warn)!important;border-color:var(--warn)!important;color:#fff!important}.slot.fast-sparkle:after{content:"";background:var(--good);clip-path:polygon(50% 0%,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0% 50%,37% 37%);width:8px;height:8px;filter:drop-shadow(0 0 2px var(--good));opacity:0;animation:1.6s ease-in-out infinite twinkle;position:absolute;top:-4px;right:-4px}.slot.err{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, var(--slot))}.msg.good{animation:.35s msgpop}@keyframes msgpop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}.dot.ok,.dot.late,.dot.miss{animation:.35s dotpop}@keyframes dotpop{50%{transform:scale(1.45)}}.bigscore{animation:.55s cubic-bezier(.2,1.6,.4,1) backwards scorein}@keyframes scorein{0%{opacity:0;transform:scale(.3)}}.endgrid .dot{animation:.35s backwards dotpop}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.endcard{text-align:center}.endcard h2{margin:4px 0 2px;font-size:24px}.bigscore{margin:6px 0;font-size:44px;font-weight:800}.subscore{color:var(--muted);margin:-4px 0 6px;font-size:16px;font-weight:600}.reveal{color:var(--muted);margin:8px 0;font-size:15px}.reveal b{color:var(--ink);text-transform:uppercase;letter-spacing:1px}.endgrid{margin:14px 0}.btn.play{letter-spacing:1px;background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 88%, #fff), var(--accent));box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 40%, transparent), inset 0 -3px 0 #0000002e;border-radius:14px;margin-top:24px;padding:16px 32px;font-size:22px;transition:transform 80ms,box-shadow 80ms}.btn.play:hover{transform:translateY(-1px)}.btn.play:active{box-shadow:0 2px 6px color-mix(in srgb, var(--accent) 30%, transparent), inset 0 -1px 0 #0000002e;transform:translateY(1px)}.btn.play.attention{animation:2.2s ease-in-out infinite playglow}@keyframes playglow{0%,to{box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 40%, transparent), inset 0 -3px 0 #0000002e}50%{box-shadow:0 4px 20px color-mix(in srgb, var(--accent) 75%, transparent), inset 0 -3px 0 #0000002e}}@media (hover:hover) and (pointer:fine){.btn.play{width:auto;min-width:280px;padding:18px 56px;font-size:26px}}.archcount{white-space:nowrap;font-weight:400}.howto-list{text-align:left;color:var(--muted);margin:0;padding-left:20px;font-size:14px;line-height:1.6}.howto-list li{margin-bottom:8px}.howto-list li:last-child{margin-bottom:0}.howto-list b{color:var(--ink)}.tt{text-underline-offset:3px;cursor:help;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}#tt-bubble{padding:6px 10px;font-size:12px;font-weight:600;line-height:1.4}#tt-bubble.show{opacity:1}#debug-popover,#settings-panel,#howto-panel,#arch-panel,#privacy-panel,#pause-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#pause-overlay{z-index:2500;-webkit-backdrop-filter:blur(12px);background:#00000073}.pause-card{text-align:center;max-width:300px}.pause-icon{margin-bottom:8px;font-size:32px}.pause-card h3{margin:0 0 8px;font-size:16px}.pause-card p{color:var(--muted);margin:0;font-size:13px}body.in-game.paused .tile,body.in-game.paused .slot.filled{color:#0000;text-shadow:0 0 16px var(--ink)}.settings-card{text-align:left;width:100%;max-width:340px}.settings-card h3{text-align:center;margin:0 0 12px;font-size:15px}.setting-row{justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.setting-row+.setting-row{border-top:1px solid var(--tile-border)}.setting-row:has(>.hidden){display:none}.setting-label{color:var(--ink);font-size:14px;font-weight:600}.settings-card .setting-value{text-align:center;flex:none;min-width:116px;padding:7px 10px;font-size:13px}.settings-card .setting-value.on{border-color:var(--good);color:var(--good)}#settings-close{margin-top:16px}body.in-game.settings-open .tile,body.in-game.settings-open .slot.filled{color:#0000;text-shadow:0 0 16px var(--ink)}.debug-card{text-align:center;width:100%;max-width:320px}.debug-card h3{margin:0 0 12px;font-size:15px}.debug-row{justify-content:center;align-items:center;gap:8px;margin:12px 0;font-size:13px;display:flex}.debug-row input{border:1px solid var(--tile-border);background:var(--slot);width:50px;color:var(--ink);border-radius:6px;padding:4px 6px;font-family:inherit;font-size:13px}.debug-row input:disabled{opacity:.45}.debug-row label:has(input:disabled){opacity:.45}#dbg-reveal{margin-top:4px}#dbg-close{margin-top:14px}.kbhint{text-align:center;color:var(--muted);margin-top:10px;font-size:12px;display:none}@media (hover:hover) and (pointer:fine){.kbhint{display:block}}.card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;margin:16px 0 8px;font-size:14px;font-weight:700}.cardsub{color:var(--muted);text-align:center;margin:-4px 0 10px;font-size:12px}.rankbadge{background:color-mix(in srgb, var(--good) 18%, transparent);width:fit-content;color:var(--good);text-align:center;border-radius:999px;margin:0 auto 12px;padding:6px 14px;font-size:13px;font-weight:700}.statrow{justify-content:center;gap:8px;display:flex}.statc{text-align:center;flex:1}.statnum{font-size:26px;font-weight:800}.statnum.timer{font-variant-numeric:tabular-nums;font-size:20px}.statlabel{color:var(--muted);font-size:11px;line-height:1.3}.distchart{align-items:flex-end;gap:2px;margin:4px 0 2px;display:flex}.distcol{--distcol-min:13px;min-width:var(--distcol-min);flex-direction:column;flex:1 1 0;align-items:center;max-width:34px;display:flex}.distcount{min-height:12px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px;font-weight:700;line-height:1}.distbarwrap{align-items:flex-end;width:100%;height:84px;display:flex}.distbar{background:var(--tile-border);border-radius:4px 4px 0 0;width:100%;min-height:2px}.distbar.hl{background:var(--good)}.distlabel{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px;font-weight:700}.distlabel.hl{color:var(--good);font-weight:800}.archlist{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.archrow{background:var(--slot);border:1px solid var(--tile-border);color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;text-decoration:none;display:flex}.archrow.cur{border-color:var(--accent)}.archrow .n{color:var(--muted);text-align:left;min-width:36px;font-weight:700}.archrow .dt{text-align:left;flex:1}.archrow .res{font-weight:700}.archrow .res.win{color:var(--good)}.archrow .res.play{color:var(--accent)}.pwa-invite{text-align:center}.pwa-lead,.pwa-ios{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.pwa-ios b{color:var(--ink)}#ad-slot{width:100%;min-height:0;margin-top:16px}footer{width:100%;max-width:560px;color:var(--muted);text-align:center;flex-direction:column;gap:10px;margin:auto 0 30px;padding:0 16px;font-size:13px;display:flex}.theme-btn{border:1px solid var(--tile-border);background:var(--slot);color:var(--muted);cursor:pointer;border-radius:8px;padding:5px 9px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.buildinfo{opacity:.5;font-size:11px}:is(.footer-meta:has(>.buildinfo.hidden) .sep,.footer-meta:has(>.contact.hidden) .sep){display:none}.e404{text-align:center}.e404emoji{font-size:56px;line-height:1}.e404 h2{margin:6px 0 2px;font-size:22px}.e404 p{color:var(--muted);margin:4px 0 0;font-size:15px}.egg{text-align:center}.egg-hint{color:var(--muted);margin:0 0 4px;font-size:13px}#intro-overlay{z-index:1000;background:var(--bg);cursor:pointer;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#intro-overlay.intro-rise{opacity:0;transition:opacity .5s}.intro-hero{--cell:clamp(26px, 9.2vw - 6px, 40px);box-sizing:border-box;flex-direction:column;align-items:center;gap:10px;max-width:100%;padding:0 16px;transition:transform .5s cubic-bezier(.2,1.6,.4,1),opacity .4s;display:flex}#intro-overlay.intro-rise .intro-hero{opacity:0;transform:translateY(-42vh)scale(.5)}.intro-slots,.intro-tiles{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.slot.intro-slot,.tile.intro-tile{width:var(--cell);height:calc(var(--cell) * 1.22);font-size:calc(var(--cell) * .56);text-transform:none;cursor:default}.slot.intro-slot.filled{border-color:var(--accent);background:var(--card);color:var(--accent)}.intro-slots>.slot:nth-child(n+3).filled{border-color:var(--accent);background:var(--accent);color:#fff}.intro-hint{text-align:center;color:var(--muted);font-size:12px;position:absolute;bottom:24px;left:0;right:0}.intro-skip{background:var(--slot);color:var(--muted);border:1px solid var(--tile-border);cursor:pointer;border-radius:20px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;position:absolute;top:16px;right:16px}.intro-cursor{z-index:1001;pointer-events:none;opacity:0;transition:left .13s,top .13s,opacity .2s;position:fixed;top:0;left:0}.intro-cursor.show{opacity:1}.intro-cursor-glyph{filter:drop-shadow(0 2px 3px #00000059);font-size:30px;line-height:1;display:block;translate:-50% -8%}.intro-cursor-glyph.click{animation:.18s introclick}@keyframes introclick{50%{scale:.72}}.demo{margin:4px 0 2px}.demo-cap{letter-spacing:.09em;text-transform:uppercase;min-height:20px;color:var(--muted);font-size:16px;font-weight:700;transition:color .2s}.demo-cap.good{color:var(--good)}.demo-slots,.demo-tiles{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.demo-slots{margin-top:12px}.demo-tiles{min-height:68px;margin-top:12px}.demo-slots>.slot{width:62px;height:72px;font-size:31px}.demo-tiles>.tile{cursor:pointer;width:57px;height:67px;font-size:28px;transition:opacity .18s,transform .18s}.demo-tiles>.tile.used{opacity:.2;pointer-events:none;transform:scale(.85)}@media (hover:hover) and (pointer:fine){.demo-tiles>.tile:not(.used,.pressed):hover{transform:translateY(-3px)scale(1.06)}}.demo-tiles>.tile.hint{animation:1.1s ease-in-out infinite tile-hint}@keyframes tile-hint{0%,to{transform:none}50%{transform:translateY(-6px)rotate(-4deg)}}.demo-slots.shake{animation:.5s demo-shake}@keyframes demo-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}@media (prefers-reduced-motion:reduce){.demo-tiles>.tile{transition:none}.demo-tiles>.tile.hint,.demo-slots.shake{animation:none}}
