@font-face{font-family:Bricolage Grotesque;src:url(./bricolage-grotesque-latin-wght-DLoelf7F.woff2)format("woff2-variations"),url(./bricolage-grotesque-latin-wght-DLoelf7F.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(./geist-mono-latin-wght-XN7g48iV.woff2)format("woff2-variations"),url(./geist-mono-latin-wght-XN7g48iV.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--u-paper:#f4f1ea;--u-ink:#111114;--u-rule:#d9d4c7;--u-ink-dark:#0e0e11;--u-paper-text:#edeae3;--u-rule-dark:#2a2a30;--u-strike:#e5383b;--u-bg:var(--u-paper);--u-fg:var(--u-ink);--u-line:var(--u-rule);--u-muted:#6b6860;--u-card:#fbf9f4;--u-sunk:#ebe7dd;--u-grid:#1111140b;--u-shadow:0 1px 0 #1111140f, 0 8px 24px -12px #11111440;--u-accent:#ff4d2e;--u-on-accent:var(--u-ink);--u-accent-text:var(--u-accent);--u-font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--u-font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--u-1:4px;--u-2:8px;--u-3:12px;--u-4:16px;--u-5:24px;--u-6:32px;--u-7:48px;--u-8:64px;--u-r-sm:6px;--u-r-md:12px;--u-r-lg:20px;--u-r-pill:999px;--u-ease:cubic-bezier(.2, .9, .3, 1);--u-ease-in:cubic-bezier(.5, 0, .75, 0);--u-fast:.12s;--u-med:.24s;--u-tap:48px;--u-bar:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--u-bg:var(--u-ink-dark);--u-fg:var(--u-paper-text);--u-line:var(--u-rule-dark);--u-muted:#8e8b84;--u-card:#16161a;--u-sunk:#1d1d22;--u-grid:#edeae309;--u-shadow:0 1px 0 #0006, 0 10px 30px -14px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--u-bg:var(--u-ink-dark);--u-fg:var(--u-paper-text);--u-line:var(--u-rule-dark);--u-muted:#8e8b84;--u-card:#16161a;--u-sunk:#1d1d22;--u-grid:#edeae309;--u-shadow:0 1px 0 #0006, 0 10px 30px -14px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--u-bg);height:100%;color:var(--u-fg);font-family:var(--u-font-display);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0}body{background-image:linear-gradient(var(--u-grid) 1px, transparent 1px), linear-gradient(90deg, var(--u-grid) 1px, transparent 1px);background-position:-1px -1px;background-size:8px 8px}#app{height:100%}button{font:inherit;color:inherit}.u-num{font-family:var(--u-font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.u-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.u-app{-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;height:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}.u-frame{width:100%;max-width:560px;height:100%;min-height:100dvh;padding:env(safe-area-inset-top,0px) max(16px, env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(16px, env(safe-area-inset-left,0px));flex-direction:column;display:flex;position:relative}.u-fx{pointer-events:none;z-index:30;position:fixed;inset:0}.u-btn{--b-bg:transparent;--b-fg:var(--u-fg);--b-line:var(--u-fg);min-height:var(--u-tap);border:2px solid var(--b-line);border-radius:var(--u-r-md);background:var(--b-bg);color:var(--b-fg);letter-spacing:.01em;cursor:pointer;transition:transform 90ms var(--u-ease), box-shadow 90ms var(--u-ease), background .12s;box-shadow:0 3px 0 var(--b-line);justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:17px;font-weight:700;display:inline-flex;position:relative}.u-btn:hover{background:color-mix(in srgb, var(--u-fg) 5%, var(--b-bg))}.u-btn:active{box-shadow:0 1px 0 var(--b-line);transform:translateY(2px)}.u-btn:focus-visible,.u-iconbtn:focus-visible,.u-linkbtn:focus-visible,.u-promo:focus-visible{outline:3px solid var(--u-accent-text);outline-offset:3px}.u-btn-primary{--b-bg:var(--u-accent);--b-fg:var(--u-on-accent);--b-line:var(--u-fg)}.u-btn-primary:hover{background:var(--u-accent);filter:brightness(1.05)}.u-btn-big{border-radius:var(--u-r-lg);min-height:60px;font-size:21px}.u-btn kbd{font-family:var(--u-font-mono);opacity:.6;border:1.5px solid;border-radius:5px;padding:2px 6px;font-size:11px;font-weight:600}@media (pointer:coarse){.u-btn kbd{display:none}}.u-linkbtn{min-height:44px;color:var(--u-muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:15px;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px}.u-linkbtn:hover{color:var(--u-fg)}.u-iconbtn{border-radius:var(--u-r-md);width:44px;height:44px;color:var(--u-fg);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.u-iconbtn:hover{background:var(--u-sunk)}.u-wordmark{letter-spacing:-.035em;align-items:center;font-weight:700;line-height:1;display:inline-flex}.u-wordmark-o{background:var(--u-accent);border:.1em solid;border-radius:50%;width:.56em;height:.56em;margin:.14em .04em 0 .05em;display:inline-block}.u-glyph{flex:none;display:block}.u-streak{border:1.5px solid var(--u-line);border-radius:var(--u-r-pill);height:30px;color:var(--u-muted);align-items:center;gap:6px;padding:0 11px 0 9px;font-size:14px;font-weight:700;display:inline-flex}.u-streak-dot{border:2px solid;border-radius:50%;width:10px;height:10px}.u-streak.is-alive{color:var(--u-fg);border-color:var(--u-fg)}.u-streak.is-alive .u-streak-dot{background:var(--u-accent);border-color:var(--u-fg)}.u-series{color:var(--u-muted);flex-direction:column;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.u-series-dots{flex-wrap:wrap;justify-content:center;gap:5px;max-width:100%;display:flex}.u-series-dot{border:1.5px solid var(--u-muted);border-radius:50%;width:9px;height:9px}.u-series-dot.is-played{background:var(--u-fg);border-color:var(--u-fg)}.u-series-dot.is-current{outline:2px solid var(--u-accent);outline-offset:2px}.u-tag{border-radius:var(--u-r-pill);background:var(--u-fg);height:24px;color:var(--u-bg);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.u-title,.u-howto,.u-results{flex-direction:column;flex:1;padding-block:12px 18px;display:flex}.u-title-top,.u-results-top{justify-content:space-between;align-items:center;min-height:52px;display:flex}.u-title-top-right{align-items:center;gap:4px;display:flex}.u-title-main{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding-block:16px;display:flex}.u-title-glyph{color:var(--u-fg);background:var(--u-card);border:2px solid var(--u-fg);box-shadow:0 5px 0 var(--u-fg);border-radius:28px;margin-bottom:14px;padding:18px}.u-title-name{letter-spacing:-.045em;margin:0;font-size:clamp(46px,13vw,76px);font-weight:800;line-height:.95}.u-title-hook{max-width:30ch;color:var(--u-muted);text-wrap:balance;margin:6px 0 22px;font-size:18px;font-weight:500;line-height:1.35}.u-title-actions{gap:12px;width:min(100%,340px);display:grid}.u-title-best{color:var(--u-muted);margin:14px 0 0;font-size:15px;font-weight:600}.u-title-best .u-num{color:var(--u-fg)}.u-daily-done{flex-direction:column;line-height:1.1;display:flex}.u-daily-done small{opacity:.65;font-size:13px;font-weight:600}.u-title-foot{flex-direction:column;align-items:center;gap:6px;display:flex}.u-tagline{color:var(--u-muted);margin:0;font-size:13px;font-weight:600}@media (max-height:640px){.u-title-glyph{margin-bottom:6px;padding:10px}.u-title-glyph svg{width:56px;height:56px}.u-title-hook{margin-bottom:12px}.u-title-foot .u-tagline{display:none}.u-btn-big{min-height:52px}}.u-howto{justify-content:center;gap:18px}.u-howto-head{align-items:center;gap:14px;display:flex}.u-howto-head h2{letter-spacing:-.03em;margin:0;font-size:30px;font-weight:800}.u-howto-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.u-howto-list li{border:1.5px solid var(--u-line);border-radius:var(--u-r-md);background:var(--u-card);align-items:baseline;gap:14px;padding:14px 16px;font-size:17px;font-weight:500;line-height:1.35;display:flex}.u-howto-list .u-num{background:var(--u-accent);width:26px;height:26px;color:var(--u-on-accent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:inline-grid;transform:translateY(-1px)}.u-howto-keys{color:var(--u-muted);margin:0;font-size:14px;font-weight:600}.u-howto-keys span{font-family:var(--u-font-mono);color:var(--u-fg)}.u-howto-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.u-play{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.u-topbar{min-height:var(--u-bar);border-bottom:1.5px solid var(--u-line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.u-topbar-id{letter-spacing:-.02em;align-items:center;gap:8px;min-width:0;font-size:17px;font-weight:700;display:flex}.u-topbar-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.u-topbar-hud{align-items:center;gap:14px;font-weight:700;display:flex}.u-hud-level{align-items:baseline;gap:6px;font-size:20px;display:inline-flex}.u-hud-label{letter-spacing:.1em;color:var(--u-muted);text-transform:uppercase;font-size:11px}.u-hud-time{text-align:right;min-width:3.2ch;font-size:20px}.u-chip{border-radius:var(--u-r-pill);background:var(--u-accent);height:26px;color:var(--u-on-accent);align-items:center;padding:0 9px;font-size:15px;font-weight:700;display:inline-flex}.u-strikes{gap:5px;display:inline-flex}.u-strike{border:2px solid var(--u-fg);border-radius:50%;width:14px;height:14px;position:relative}.u-strike.is-used{border-color:var(--u-strike)}.u-strike.is-used:before,.u-strike.is-used:after{content:"";background:var(--u-strike);border-radius:2px;width:16px;height:2.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.u-strike.is-used:after{transform:translate(-50%,-50%)rotate(-45deg)}.u-timebar{height:3px;position:absolute;bottom:-1.5px;left:0;right:0}.u-timebar-fill{background:var(--u-accent);transform-origin:0;height:100%}.u-toasts{left:0;right:0;top:calc(var(--u-bar) + 10px);pointer-events:none;z-index:20;justify-content:center;display:flex;position:absolute}.u-toasts.is-bottom{top:auto;bottom:calc(18px + env(safe-area-inset-bottom))}.u-toast{border-radius:var(--u-r-pill);background:var(--u-fg);color:var(--u-bg);letter-spacing:-.01em;box-shadow:var(--u-shadow);padding:7px 14px;font-size:16px;font-weight:700}.u-toast-good{background:var(--u-accent);color:var(--u-on-accent);box-shadow:0 0 0 2px var(--u-fg)}.u-toast-bad{background:var(--u-strike);color:#fff}.u-hint,.u-demo-tag{border-radius:var(--u-r-pill);border:1.5px dashed var(--u-muted);color:var(--u-muted);align-self:center;margin-top:10px;margin-bottom:6px;padding:5px 12px;font-size:14px;font-weight:600}.u-demo-tag{border-style:solid;border-color:var(--u-fg);color:var(--u-fg)}.u-stage{flex:1;place-items:center;min-height:0;padding-block:14px;display:grid;position:relative;container-type:size}.u-board{place-items:center;width:100%;height:100%;display:grid;position:relative}.u-controls{padding-bottom:16px}.u-controls.is-hidden{visibility:hidden;min-height:72px}.u-endline{z-index:25;border-radius:var(--u-r-lg);background:var(--u-fg);max-width:calc(100% - 32px);color:var(--u-bg);box-shadow:0 5px 0 var(--u-accent), var(--u-shadow);letter-spacing:-.02em;text-align:center;text-wrap:balance;pointer-events:none;padding:14px 22px;font-size:22px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.u-phase-ending .u-endline{animation:u-rise .3s var(--u-ease) both}@keyframes u-rise{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))scale(.96)}}.u-play.is-demo .u-stage{pointer-events:none}.u-countdown{place-items:center;display:grid}.u-countdown-n{color:var(--u-accent-text);font-size:min(40cqh,40cqw);font-weight:700;line-height:1}.u-ghost{background:color-mix(in srgb, var(--u-fg) 22%, transparent);border:2.5px solid var(--u-fg);opacity:0;pointer-events:none;z-index:35;border-radius:50%;width:42px;height:42px;margin:-21px 0 0 -21px;position:fixed;top:0;left:0}.u-pop{z-index:32;font-family:var(--u-font-mono);color:var(--u-accent-text);pointer-events:none;white-space:nowrap;text-shadow:0 1px 0 var(--u-bg), 0 0 8px var(--u-bg);font-size:22px;font-weight:800;position:fixed;transform:translate(-50%,-50%)}.u-wipe{z-index:28;pointer-events:none;mix-blend-mode:multiply;position:fixed;inset:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .u-wipe{mix-blend-mode:screen;opacity:.8}}:root[data-theme=dark] .u-wipe{mix-blend-mode:screen}.u-results{gap:10px;overflow-y:auto}.u-results-id{letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.u-results-score{margin-top:6px;position:relative}.u-results-unit{letter-spacing:.14em;color:var(--u-muted);font-size:12px;font-weight:700}.u-results-big{color:var(--u-accent-text);font-size:clamp(76px,25vw,132px);font-weight:700;line-height:.95}.u-stamp{border:3px solid var(--u-strike);color:var(--u-strike);font-family:var(--u-font-mono);letter-spacing:.06em;background:color-mix(in srgb, var(--u-bg) 80%, transparent);border-radius:8px;padding:6px 12px;font-size:20px;font-weight:800;position:absolute;top:30%;right:4px;transform:rotate(-8deg)}.u-results-line{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.u-results-best{color:var(--u-muted);margin:0;font-size:15px;font-weight:600}.u-results-best .u-num{color:var(--u-fg)}.u-graph{border:1.5px solid var(--u-line);border-radius:var(--u-r-md);background:var(--u-card);margin:4px 0 0;padding:10px 12px 8px}.u-graph svg{width:100%;height:56px;display:block}.u-graph-line{fill:none;stroke:var(--u-accent);stroke-width:2.5px;stroke-linejoin:round}.u-graph-area{fill:var(--u-accent);opacity:.14}.u-graph figcaption{letter-spacing:.1em;text-transform:uppercase;color:var(--u-muted);margin-top:4px;font-size:11px;font-weight:700}.u-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.u-stats div{border:1.5px solid var(--u-line);border-radius:var(--u-r-md);padding:10px 12px}.u-stats dt{letter-spacing:.08em;text-transform:uppercase;color:var(--u-muted);font-size:11px;font-weight:700}.u-stats dd{margin:2px 0 0;font-size:20px;font-weight:700}.u-results-actions{grid-template-columns:2fr 1fr;gap:10px;margin-top:6px;display:grid}.u-results-actions .u-btn{min-height:56px;font-size:19px}.u-note{text-align:center;margin:0;font-size:14px;font-weight:700}.u-promo{border:1.5px dashed var(--u-fg);border-radius:var(--u-r-md);min-height:56px;color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;text-decoration:none;display:flex}.u-promo:hover{background:var(--u-sunk)}.u-promo-label{color:var(--u-muted);font-size:13px;font-weight:600}.u-promo-game{align-items:center;gap:8px;font-size:17px;font-weight:800;display:flex}.u-promo-glyph{--u-accent:var(--u-promo)}.u-promo-skill{color:var(--u-muted);font-size:12px;font-weight:600}.u-results-foot{justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;display:flex}.u-results-foot .u-series{align-items:flex-start}.u-app:not(.is-kb) .u-kbfocus{outline:none!important}@media (min-width:700px) and (min-height:560px){.u-frame{padding-block:12px}}:root[data-look=stage] body{background-color:var(--u-accent-raw);background-image:linear-gradient(#0000000f 1px,#0000 1px),linear-gradient(90deg,#0000000f 1px,#0000 1px)}:root[data-look=stage] .u-app{align-items:center}:root[data-look=stage] .u-frame{background:var(--u-bg);border:3px solid var(--u-ink);width:min(62vh + 40px,46vw);max-width:none;height:92vh;min-height:0;box-shadow:0 8px 0 var(--u-ink);z-index:1;border-radius:26px;padding:0 14px}:root[data-look=stage] .u-stagedecor{color:var(--u-on-accent);pointer-events:none;grid-template-columns:1fr min(62vh + 40px,46vw) 1fr;align-items:center;display:grid;position:fixed;inset:0}:root[data-look=stage] .u-stagedecor-left{grid-column:1;place-items:center;display:grid}:root[data-look=stage] .u-stagedecor-left .u-glyph{width:min(17vw,34vh);height:auto}:root[data-look=stage] .u-stagedecor-right{text-align:center;flex-direction:column;grid-column:3;align-items:center;gap:10px;display:flex}:root[data-look=stage] .u-stagedecor-right .u-wordmark-o{background:var(--u-bg)}:root[data-look=stage] .u-stagedecor-title{letter-spacing:-.045em;max-width:5.5em;font-size:min(5.4vw,10vh);font-weight:800;line-height:.95}:root[data-look=stage][data-accent=ink] .u-frame{border-color:var(--u-paper);box-shadow:0 8px 0 var(--u-paper)}:root[data-look=stage][data-accent=ink] .u-stagedecor{color:var(--u-paper)}@media (max-height:600px){.u-results{gap:6px;padding-block:6px 10px}.u-results-top{min-height:40px}.u-results-big{font-size:clamp(56px,16vh,96px)}.u-graph{display:none}.u-stats div{padding:6px 10px}.u-stats dd{font-size:17px}.u-results-actions .u-btn{min-height:48px}.u-results-foot .u-series{display:none}}@media (prefers-reduced-motion:reduce){.u-btn,.u-btn:active{transition:none}.u-phase-ending .u-endline{animation:none}}.cp-wrap{--cp-gap:4px;--cp-navy:#073b4c;--cp-floor:#0a5068;--cp-ink:#111114;--cp-paper:#fbf9f4;--cp-sun:#ffd166;--cp-coral:#ef476f;--cp-mint:#06d6a0;--cp-key-h:clamp(48px, 8.6cqh, 70px);--cp-sym-h:clamp(24px, 6.2cqh, 46px);flex-direction:column;gap:12px;width:min(100%,520px);height:100%;max-height:820px;display:flex;position:relative}.cp-strip{border:2px solid var(--u-fg);background:var(--u-card);box-shadow:0 4px 0 var(--u-fg);border-radius:14px;flex:none;padding:6px;position:relative}.cp-slots{gap:var(--cp-gap);grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.cp-slot{border:2px solid var(--u-fg);background:var(--u-sunk);border-radius:9px;flex-direction:column;transition:background .16s,box-shadow .16s;display:flex;position:relative}.cp-slot-sym{width:100%;height:var(--cp-sym-h);color:var(--u-fg);border-radius:7px 7px 0 0;place-items:center;display:grid;position:relative}.cp-slot-sym svg{width:auto;max-width:86%;height:76%}.cp-slot-sym.is-moving{z-index:3;border:2px solid var(--cp-ink);background:var(--cp-paper);color:var(--cp-ink);box-shadow:0 3px 0 var(--cp-ink);border-radius:9px}.cp-slot-digit{border-top:2px solid var(--u-fg);background:var(--u-accent);height:clamp(17px,3.2cqh,24px);color:var(--u-on-accent);border-radius:0 0 7px 7px;place-items:center;font-size:clamp(12px,2.3cqh,16px);font-weight:700;display:grid}.cp-slot.is-off{border-style:dashed;border-color:color-mix(in srgb, var(--u-fg) 28%, transparent);background:0 0}.cp-slot.is-off .cp-slot-digit{border-top:2px dashed color-mix(in srgb, var(--u-fg) 22%, transparent);color:color-mix(in srgb, var(--u-fg) 30%, transparent);background:0 0}.cp-slot.is-swap{background:var(--cp-sun);box-shadow:0 0 0 3px color-mix(in srgb, var(--cp-sun) 55%, transparent)}.cp-slot.is-swap .cp-slot-sym{color:var(--cp-ink)}.cp-slot.is-new{background:color-mix(in srgb, var(--cp-mint) 38%, var(--u-card))}.cp-slot.is-new .cp-slot-sym{animation:cp-new-pop .42s var(--u-ease) both}.cp-new{border:1.5px solid var(--cp-ink);border-radius:var(--u-r-pill);background:var(--cp-mint);color:var(--cp-ink);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;z-index:4;padding:0 5px;font-size:10px;font-weight:800;line-height:15px;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.cp-slot.is-hint{outline:3px solid var(--u-accent-text);outline-offset:2px;animation:.9s ease-in-out infinite cp-hint}.cp-strip.is-flicker .cp-slot:not(.is-off) .cp-slot-sym{background:#0b1e26}.cp-strip.is-flicker .cp-slot:not(.is-off) .cp-slot-sym svg{opacity:.25}.cp-strip.is-dark{border-color:var(--u-fg);background:#0b1e26}.cp-strip.is-dark .cp-slot{background:#10303c;border-color:#2b5563}.cp-strip.is-dark .cp-slot-sym{background:repeating-linear-gradient(0deg,#ffffff0d 0 2px,#0000 2px 5px)}.cp-strip.is-dark .cp-slot-sym svg{visibility:hidden}.cp-strip.is-dark .cp-slot-digit{color:#9fd9ec;background:#0f4a5e;border-top-color:#2b5563}.cp-strip.is-dark .cp-slot.is-off,.cp-strip.is-dark .cp-slot.is-off .cp-slot-digit{background:0 0}.cp-offline{left:50%;top:calc(6px + var(--cp-sym-h) / 2 + 2px);border:2px solid var(--cp-ink);border-radius:var(--u-r-pill);background:var(--cp-coral);color:#fff;box-shadow:0 3px 0 var(--cp-ink);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;z-index:5;align-items:center;gap:8px;padding:4px 12px;font-size:14px;font-weight:800;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.cp-offline-led{background:#fff;border-radius:50%;width:9px;height:9px;animation:.6s steps(2,jump-none) infinite cp-blink-led}.cp-offline-bar{background:#00000047;border-radius:4px;width:44px;height:7px;overflow:hidden}.cp-offline-bar span{transform-origin:0;background:#fff;height:100%;display:block}.cp-mid{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.cp-screen{--cp-a:min(44cqw, 74cqh);border:2px solid var(--u-fg);background:var(--cp-navy);min-height:120px;box-shadow:0 4px 0 var(--u-fg);border-radius:18px;flex:1;position:relative;overflow:hidden;container-type:size}.cp-screen:before{content:"";background:var(--cp-floor);border-top:2px solid #0e6c8a;border-radius:50% 50% 0 0;height:58%;position:absolute;bottom:-40%;left:-10%;right:-10%}.cp-stars{width:100%;height:100%;position:absolute;inset:0}.cp-planet{width:min(20cqw,24cqh);height:auto;position:absolute;top:5%;left:3%}.cp-screen.is-alert:after{content:"";border:2px solid var(--cp-ink);background:var(--cp-coral);border-radius:50%;width:12px;height:12px;animation:.7s steps(2,jump-none) infinite cp-blink-led;position:absolute;top:10px;right:10px}.cp-beam{width:var(--cp-a);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);opacity:0;transform-origin:50% 100%;pointer-events:none;background:linear-gradient(#06d6a000,#06d6a099);position:absolute;top:0;bottom:9%;left:5%}.cp-pad{left:calc(5% + var(--cp-a) * .1);width:calc(var(--cp-a) * .8);border:2px solid var(--cp-ink);height:18px;box-shadow:inset 0 -5px 0 #0c6f90, 0 3px 0 var(--cp-ink);background:#118ab2;border-radius:50%;position:absolute;bottom:calc(9% - 9px)}.cp-alien{width:var(--cp-a);aspect-ratio:1;transform-origin:50% 100%;position:absolute;bottom:9%;left:5%}.cp-alien-svg{filter:drop-shadow(0 4px #00000059);width:100%;height:100%;display:block;overflow:visible}.cp-bob{transform-box:fill-box;transform-origin:50% 100%;animation:1.9s ease-in-out infinite cp-bob}.cp-eyes>g{transform-box:fill-box;transform-origin:50%;animation:3.7s linear infinite cp-blink;animation-delay:var(--blink-delay,0s)}.cp-mood-happy .cp-bob{animation:.26s ease-out both cp-hop}.cp-leaving{pointer-events:none;z-index:2}.cp-tag{border:2px solid var(--cp-ink);border-radius:var(--u-r-pill);background:var(--cp-mint);color:var(--cp-ink);box-shadow:0 3px 0 var(--cp-ink);white-space:nowrap;align-items:center;gap:3px;padding:2px 9px 2px 6px;font-size:clamp(14px,7cqh,20px);font-weight:800;display:inline-flex;position:absolute;top:-4%;left:50%;transform:translate(-50%)}.cp-tag svg{width:1.05em;height:1.05em}.cp-bubble{aspect-ratio:1;border:2.5px solid var(--cp-ink);background:var(--cp-paper);width:min(40cqw,68cqh);color:var(--cp-ink);box-shadow:0 5px 0 var(--cp-ink);z-index:3;border-radius:24%;place-items:center;display:grid;position:absolute;top:50%;right:6%;translate:0 -56%}.cp-bubble:before{content:"";background:var(--cp-paper);border-left:2.5px solid var(--cp-ink);border-bottom:2.5px solid var(--cp-ink);width:20px;height:20px;position:absolute;bottom:20%;left:-11px;transform:rotate(45deg)skew(8deg,8deg)}.cp-bubble-sym{width:68%;height:68%;position:relative}.cp-bubble.is-done,.cp-bubble.is-done:before{background:#d9f7ec}.cp-bubble.is-rekey,.cp-bubble.is-rekey:before{background:var(--cp-sun)}.cp-bubble-rekey{letter-spacing:-.04em;font-size:min(20cqw,34cqh);font-weight:800}.cp-huh{left:calc(5% + var(--cp-a) * .62);bottom:calc(9% + var(--cp-a) * .86);border:2px solid var(--cp-ink);background:var(--cp-sun);color:var(--cp-ink);box-shadow:0 3px 0 var(--cp-ink);letter-spacing:.06em;z-index:4;animation:cp-huh .32s var(--u-ease) both;border-radius:10px;padding:1px 8px;font-size:clamp(14px,8cqh,24px);font-weight:800;position:absolute}.cp-banner{border:2px solid var(--cp-ink);border-radius:var(--u-r-pill);box-shadow:0 3px 0 var(--cp-ink);white-space:nowrap;z-index:6;padding:4px 14px;font-size:clamp(14px,8cqh,19px);font-weight:800;animation:1.4s linear both cp-banner;position:absolute;top:10px;left:50%;translate:-50%}.cp-banner-go{background:var(--cp-mint);color:var(--cp-ink)}.cp-banner-dark{background:var(--cp-coral);color:#fff}.cp-banner-rekey{background:var(--cp-sun);color:var(--cp-ink);box-shadow:0 5px 0 var(--cp-ink);letter-spacing:-.03em;border-width:3px;border-radius:16px;padding:4px 20px;font-size:clamp(24px,15cqh,44px);animation:1.4s linear both cp-banner-rekey;top:12px;rotate:-4deg}.cp-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cp-console{border:2px solid var(--u-fg);background:color-mix(in srgb, var(--u-accent) 26%, var(--u-card));box-shadow:0 4px 0 var(--u-fg);border-radius:18px;flex-direction:column;flex:none;gap:8px;padding:8px 10px 12px;display:flex}.cp-leds{align-items:center;gap:6px;padding-inline:4px;display:flex}.cp-led{border:1.5px solid var(--cp-ink);border-radius:50%;width:10px;height:10px}.cp-led-a{background:var(--cp-mint)}.cp-led-a.is-alarm{background:var(--cp-coral);animation:.6s steps(2,jump-none) infinite cp-blink-led}.cp-led-b{background:var(--cp-sun)}.cp-led-c{background:#9b8cff}.cp-console-label{font-family:var(--u-font-mono);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--u-fg) 70%, transparent);margin-left:auto;font-size:11px;font-weight:600}.cp-keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cp-key{height:var(--cp-key-h);border:2px solid var(--u-fg);background:var(--u-card);min-height:48px;color:var(--u-fg);box-shadow:0 4px 0 var(--u-fg);cursor:pointer;border-radius:12px;place-items:center;padding:0;font-size:clamp(22px,5cqh,32px);font-weight:700;transition:background 90ms,color 90ms;display:grid;position:relative}.cp-key.is-off{border-style:dashed;border-color:color-mix(in srgb, var(--u-fg) 28%, transparent);box-shadow:none;color:color-mix(in srgb, var(--u-fg) 26%, transparent);cursor:default;background:0 0}@media (hover:hover){.cp-console.is-live .cp-key.is-on:hover{background:color-mix(in srgb, var(--u-accent) 14%, var(--u-card))}}.cp-key.is-good{background:var(--u-accent);color:var(--u-on-accent);transition:none}.cp-key.is-bad{background:var(--u-strike);border-color:var(--u-fg);color:#fff;transition:none}.cp-key.is-new{animation:cp-key-new .5s var(--u-ease) both}@container (orientation:landscape) and (height<=620px){.cp-wrap{--cp-key-h:clamp(48px, 13cqh, 64px);--cp-sym-h:clamp(22px, 7cqh, 38px);gap:10px}.cp-mid{flex-direction:row}.cp-console{justify-content:center;width:44%}.cp-leds{display:none}.cp-key{font-size:clamp(20px,7cqh,28px)}}@container (height<=470px){.cp-console{padding:8px}.cp-keypad{gap:6px}}@keyframes cp-bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2.5%)scale(.985,1.02)}}@keyframes cp-hop{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-9%)scale(.94,1.08)}to{transform:translateY(0)scale(1.04,.96)}}@keyframes cp-blink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}@keyframes cp-twinkle{0%,to{opacity:1}50%{opacity:.25}}.cp-twinkle{animation:2.4s ease-in-out infinite cp-twinkle;animation-delay:var(--tw,0s)}@keyframes cp-blink-led{0%{opacity:1}to{opacity:.25}}@keyframes cp-hint{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes cp-new-pop{0%{transform:scale(.2)}70%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes cp-key-new{0%{transform:scale(.6)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes cp-huh{0%{opacity:0;transform:translateY(8px)scale(.6)rotate(-10deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(-6deg)}}@keyframes cp-banner{0%{opacity:0;transform:translateY(-8px)scale(.8)}12%{opacity:1;transform:translateY(0)scale(1.06)}20%{transform:scale(1)}82%{opacity:1}to{opacity:0}}@keyframes cp-banner-rekey{0%{opacity:0;transform:scale(2.2)}10%{opacity:1;transform:scale(.92)}16%{transform:scale(1.05)}22%{transform:scale(1)}45%{opacity:1}60%{opacity:0;transform:scale(.96)}to{opacity:0}}@media (prefers-reduced-motion:reduce){.cp-bob,.cp-eyes>g,.cp-twinkle,.cp-mood-happy .cp-bob,.cp-slot.is-hint,.cp-slot.is-new .cp-slot-sym,.cp-key.is-new,.cp-offline-led,.cp-led-a.is-alarm,.cp-screen.is-alert:after{animation:none}.cp-huh{animation-name:cp-fade}.cp-banner,.cp-banner-rekey{animation-name:cp-fade-hold}}@keyframes cp-fade{0%{opacity:0}}@keyframes cp-fade-hold{0%{opacity:0}10%,80%{opacity:1}to{opacity:0}}
