:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05070c;--panel:#0d131ec7;--line:#a0beff29;--text:#e9eef7;--dim:#93a0b8;--accent:#35c8ff;--good:#2fe28a;--bad:#ff5266;--top:env(safe-area-inset-top,0px);--bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}[hidden]{display:none!important}#stage{background:radial-gradient(at 50% 42%,#24344c 0%,#0c1320 55%,#05070c 100%);position:fixed;inset:0}#scene{touch-action:none;outline:none;width:100%;height:100%;display:block}#scene.pointing{cursor:pointer}h1{letter-spacing:.01em;margin:0;font-size:1.9rem}h2{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:14px 0 6px;font-size:.72rem;font-weight:600}button{font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#ffffff12;border-radius:12px;padding:10px 14px;transition:background .15s,border-color .15s,transform .1s}button:active{transform:scale(.97)}button.primary{background:var(--accent);color:#03121c;border-color:#0000;width:100%;padding:14px;font-size:1.05rem;font-weight:700}button.ghost{background:0 0;width:100%}button[aria-pressed=true]{border-color:var(--accent);color:#fff;background:#35c8ff33}.panel{z-index:5;background:var(--panel);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);padding:20px;position:fixed;overflow-y:auto}#menu,#summary,#scores,#battle{max-height:78vh;padding-bottom:calc(18px + var(--bottom));border-bottom:0;border-radius:22px 22px 0 0;bottom:0;left:0;right:0}@media (width>=760px){#menu,#summary,#scores,#battle{border:1px solid var(--line);border-radius:22px;width:380px;max-height:none;inset:28px auto 28px 28px}}.tagline{color:var(--dim);margin:2px 0 4px}.choices{flex-wrap:wrap;gap:8px;display:flex}.choices button{flex:auto;padding:9px 12px}#modes button{text-align:left;flex:1 1 0}#modes small{color:var(--dim);margin-top:2px;font-size:.74rem;line-height:1.25;display:block}#start{margin-top:18px}#plays button{flex:1 1 0}.best{color:var(--dim);text-align:center;min-height:1.3em;margin:10px 0 0;font-size:.9rem}.credit{color:var(--dim);opacity:.8;margin:14px 0 0;font-size:.68rem}#loading{z-index:9;text-align:center;pointer-events:none;place-content:center;gap:14px;display:grid;position:fixed;inset:0}#loading .bar{background:#ffffff1f;border-radius:3px;width:min(260px,60vw);height:5px;margin:0 auto;overflow:hidden}#loading-bar{background:var(--accent);width:0;height:100%;transition:width .3s}#loading p{color:var(--dim);margin:0;font-size:.9rem}#hud{pointer-events:none;z-index:4;position:fixed;inset:0}#hud>*,#bottom>*{pointer-events:auto}#top{top:calc(10px + var(--top));background:var(--panel);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex;position:absolute;left:10px;right:10px}.icon{border-radius:10px;flex:none;width:38px;height:38px;padding:0}#prompt{flex:1;min-width:0}#prompt small{color:var(--dim);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;display:block}#prompt strong{font-size:1.15rem;line-height:1.2;display:block}#search{flex:1;min-width:0;margin:0}#search input{box-sizing:border-box;width:100%;font:inherit;color:var(--text);border:1px solid var(--line);background:#ffffff12;border-radius:10px;outline:none;padding:8px 12px;font-size:1rem}#search input:focus{border-color:var(--accent)}#find{place-items:center;display:grid}#find[aria-expanded=true]{border-color:var(--accent);background:#35c8ff33}#search-results{top:calc(70px + var(--top));background:var(--panel);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;max-width:520px;max-height:50vh;margin:0 auto;padding:6px;list-style:none;position:absolute;left:10px;right:10px;overflow-y:auto}#search-results li{cursor:pointer;border-radius:9px;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 10px;display:flex}#search-results li small{color:var(--dim);flex:none;font-size:.75rem}#search-results li[aria-selected=true]{background:#35c8ff2e}#search-results li.none{color:var(--dim);cursor:default}#status{text-align:right;flex:none}#status span{color:var(--dim);font-size:.75rem;display:block}#status strong{font-variant-numeric:tabular-nums;font-size:1.1rem}#tries{top:calc(74px + var(--top));justify-content:center;gap:6px;display:flex;position:absolute;left:0;right:0;pointer-events:none!important}#tries i{background:var(--accent);opacity:.9;border-radius:50%;width:9px;height:9px}#tries i.used{background:var(--bad);opacity:.45}#fact{background:var(--panel);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;padding:12px 14px;animation:.25s ease-out rise}#fact p{margin:0;font-size:.92rem;line-height:1.35}#fact-fun{border-top:1px solid var(--line);color:#bfe9ff;padding-top:8px;margin-top:8px!important}#fact-fun:before{content:"Fun fact  ";letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.68rem;font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}#layers,#tools{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}#layers button,#tools button{background:var(--panel);-webkit-backdrop-filter:blur(10px);border-radius:10px;padding:7px 9px;font-size:.78rem}#layers button{color:var(--dim);flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:8px 4px;display:flex}#layers button:before{content:"";background:var(--dot);opacity:.35;border-radius:50%;flex:none;width:8px;height:8px}#layers button[aria-pressed=true]{color:var(--text);background:#28364ed9;border-color:#ffffff59}#layers button[aria-pressed=true]:before{opacity:1}#tools button[aria-pressed=true]{border-color:var(--accent);background:#35c8ff40}#tools{justify-content:flex-start}#skip{color:var(--dim);margin-left:auto}#bottom{left:10px;right:10px;bottom:calc(12px + var(--bottom));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}#bottom>*{width:100%;max-width:520px}#options{grid-template-columns:1fr 1fr;gap:8px;display:grid}#options button{background:var(--panel);-webkit-backdrop-filter:blur(14px);min-height:58px;padding:14px 10px;font-weight:600}#options button.right{border-color:var(--good);background:#2fe28a47}#options button.wrong{border-color:var(--bad);background:#ff526647}#options button:disabled{cursor:default}#card{background:var(--panel);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}#card>div:first-child{flex:1;min-width:0}#card strong{font-size:1.1rem;display:block}#card small{color:var(--dim)}.card-actions{gap:6px;display:flex}.card-actions button{padding:8px 10px;font-size:.85rem}#coach{top:calc(74px + var(--top));background:var(--panel);-webkit-backdrop-filter:blur(14px);border:1px solid var(--accent);border-radius:16px;align-items:center;gap:10px;width:calc(100% - 20px);max-width:520px;padding:10px 12px 10px 14px;transition:border-color .2s,background .2s;animation:.25s ease-out rise;display:flex;position:absolute;left:50%;transform:translate(-50%)}#coach p{flex:1;margin:0;font-size:.95rem;line-height:1.35}#coach.done{border-color:var(--good);background:#143c2cd9}#coach.done p:before{content:"✓  ";color:var(--good);font-weight:700}.coach-actions{flex-direction:column;flex:none;gap:6px;display:flex}.coach-actions button{width:auto;padding:8px 12px;font-size:.85rem}#coach-go{padding:10px 14px;font-size:.95rem}#coach:has(#coach-go:not([hidden])){flex-direction:column;align-items:stretch}#bottom .coach-target{z-index:1;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);animation:1.4s ease-in-out infinite beckon;position:relative}@keyframes beckon{0%,to{box-shadow:0 0 0 2px var(--accent)}60%{box-shadow:0 0 0 10px #35c8ff00}}@media (prefers-reduced-motion:reduce){#bottom .coach-target{animation:none}}#toast{left:50%;top:calc(96px + var(--top));background:var(--panel);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);text-align:center;border-radius:999px;max-width:calc(100% - 24px);padding:8px 16px;font-weight:600;animation:.2s ease-out pop;position:absolute;transform:translate(-50%);pointer-events:none!important}#toast.right{border-color:var(--good);color:var(--good)}#toast.wrong{border-color:var(--bad);color:#ffb3bd}@keyframes pop{0%{opacity:0;transform:translate(-50%)translateY(-6px)scale(.96)}}.big{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:2.6rem;font-weight:800}.big small{color:var(--dim);font-size:1rem;font-weight:500}#summary-list{gap:4px;margin:14px 0;padding:0;list-style:none;display:grid}#summary-list li{cursor:pointer;background:#ffffff0d;border-radius:10px;justify-content:space-between;gap:10px;padding:8px 10px;font-size:.92rem;display:flex}#summary-list li b{font-variant-numeric:tabular-nums;color:var(--good)}#summary-list li.missed b{color:var(--bad)}#summary button+button{margin-top:8px}#summary .scores button+button{margin-top:0}.best+.ghost,#open-scores+#how-to{margin-top:8px}#scores-back{margin-top:16px}#scores-filter{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:8px;font-weight:600;display:flex}#scores-filter b{color:var(--accent);flex:none;font-size:.85rem;font-weight:600}#scores-filter b:after{content:" ▾"}#scores-filter[aria-expanded=true] b:after{content:" ▴"}#scores-filters{margin-bottom:14px}#scores-filters .choices button{padding:7px 10px;font-size:.9rem}.scores-tabs{margin:8px 0 10px}.scores-tabs button{flex:1 1 0;padding:7px 6px;font-size:.85rem}.scores-form{gap:8px;margin:8px 0 6px;display:flex}.scores-form input{min-width:0;font:inherit;color:var(--text);border:1px solid var(--line);background:#ffffff12;border-radius:12px;flex:1;padding:10px 12px}.scores-form input:focus{border-color:var(--accent);outline:none}.scores-form button{width:auto;padding:10px 18px;font-size:1rem}.scores-note{color:var(--dim);text-align:center;margin:10px 0;font-size:.88rem}.scores-note.bad{color:var(--bad)}.scores-note:empty{display:none}.scores-placed{color:var(--good);margin:0 0 8px;font-weight:700}.scores-list{border:1px solid var(--line);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.scores-list li{font-variant-numeric:tabular-nums;grid-template-columns:1.6em 1fr auto 4.2em;align-items:baseline;gap:10px;padding:8px 12px;font-size:.92rem;display:grid}.scores-list li+li{border-top:1px solid var(--line)}.scores-list li.mine{background:#35c8ff29;font-weight:700}.scores-rank{color:var(--dim);font-weight:700}.scores-list li:nth-child(-n+3) .scores-rank{color:var(--accent)}.scores-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scores-score{font-weight:600}.scores-date{color:var(--dim);text-align:right;font-size:.78rem}#battle{z-index:6}.battle button.primary{margin-top:18px}.battle button.ghost{margin-top:8px}.battle-round{margin:8px 0 0;font-weight:600}.battle-intro{color:var(--dim);margin:10px 0 0}.field{width:100%;font:inherit;color:var(--text);border:1px solid var(--line);background:#ffffff12;border-radius:12px;padding:10px 12px}.field:focus{border-color:var(--accent);outline:none}.battle-share{gap:8px;margin-top:8px;display:flex}.battle-share .field{flex:1;min-width:0;font-size:.85rem}.battle-share button{flex:none}.battle-players,.battle-standings{gap:6px;margin:0;padding:0;list-style:none;display:grid}.battle-standings{margin-top:16px}.battle-players li,.battle-standings li{background:#ffffff0f;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.battle-players li.off{opacity:.55}.battle-player-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.battle .tag{color:var(--dim);white-space:nowrap;background:#ffffff17;border-radius:999px;padding:1px 8px;font-size:.75rem}.battle .tag.you{color:var(--accent)}.battle-standings li.winner{background:#ffc84633}.battle-standings li.you .battle-player-name{color:var(--accent)}.battle-standings .place{text-align:center;font-variant-numeric:tabular-nums;min-width:1.6em;font-size:1.2rem;font-weight:700}.battle-score{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}#battle-board{top:calc(70px + var(--top));position:absolute;left:10px;right:10px;pointer-events:none!important}.battle-board{scrollbar-width:none;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.battle-board li{background:var(--panel);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:baseline;gap:6px;padding:3px 10px;font-size:.8rem;display:flex}.battle-board li.you{border-color:var(--accent)}.battle-board li.off,.battle-board li.out{opacity:.5}.battle-board .bb-name{text-overflow:ellipsis;max-width:9em;overflow:hidden}.battle-board b{font-variant-numeric:tabular-nums}.battle-board .bb-tick{color:var(--good);min-width:.8em;font-style:normal;font-weight:700}.battle-board .battle-offline{border-color:var(--bad);color:#ffb3bd;font-weight:600}#hud.battling #prompt strong{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#hud.battling #tries{top:calc(106px + var(--top))}#hud.battling #toast{top:calc(126px + var(--top))}#clock{border-radius:2px;height:3px;position:absolute;bottom:2px;left:14px;right:14px;overflow:hidden}#clock:before{content:"";background:var(--accent);transform-origin:0;height:100%;transform:scaleX(var(--left,1));transition:transform .1s linear;display:block}#clock.low:before{background:var(--bad)}.battle-countdown{z-index:20;text-align:center;-webkit-backdrop-filter:blur(3px);pointer-events:none;background:#05070c8c;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:fixed;inset:0}.battle-count-title{font-size:1.9rem;font-weight:700}.battle-countdown p{max-width:420px;color:var(--dim);margin:0;font-weight:600}.battle-count{color:var(--accent);font-variant-numeric:tabular-nums;font-size:6rem;font-weight:800;line-height:1}@media (width<=480px){#layers{gap:4px}#layers button{padding:9px 2px;font-size:.7rem}#layers button:before{display:none}}
