:root{--bg: #0f1a21;--panel: #16242d;--panel-2: #1c2e39;--line: #2b4150;--fg: #e7edf1;--muted: #97a6ae;--accent: #4fb8ff;--accent-ink: #04131f;--good: #5fcf8f;--close: #e8d14a;--bad: #ef6b5e;--skip: #7d8f9a;--display: "Unbounded", "Arial Black", system-ui, sans-serif;--body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--r: 10px;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;background:var(--bg);color:var(--fg)}body{font-family:var(--body);font-size:16px;line-height:1.45;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:max(12px,env(safe-area-inset-top,0px)) max(40px,env(safe-area-inset-bottom,0px));background-image:radial-gradient(1200px 500px at 50% -200px,#1b3140 0%,transparent 70%);background-repeat:no-repeat;min-height:100vh}.app{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}a{color:var(--accent)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:6px}.brand{display:flex;align-items:center;gap:10px}.brand h1{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:.05em;margin:0;text-transform:uppercase}.brand h1 span{color:var(--accent)}.tools{display:flex;gap:6px}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:8px;height:38px;min-width:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--fg)}.icon-btn:hover{background:var(--panel-2)}.icon-btn svg{width:18px;height:18px}.modes{display:grid;grid-template-columns:1fr 1fr;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:4px;gap:4px}.modes button{border:0;background:transparent;border-radius:7px;padding:9px 8px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.modes button[aria-selected=true]{background:var(--accent);color:var(--accent-ink);font-weight:700}.modes.small{margin-bottom:12px}.modes.small button{padding:6px 8px;font-size:11px}.dailytabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.dailytabs button{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border-radius:8px;border:1px solid var(--line);background:transparent;font-weight:700;font-size:14px;color:var(--muted);min-width:0}.dailytabs button span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dailytabs button[aria-selected=true]{border-color:var(--accent);color:var(--fg);background:color-mix(in srgb,var(--accent) 12%,transparent)}.dailytabs .dmark{font-family:var(--mono);font-size:12px;color:var(--muted)}.dailytabs button.won .dmark{color:var(--good)}.dailytabs button.lost .dmark{color:var(--bad)}@media (max-width: 440px){.dailytabs{gap:4px}.dailytabs button{font-size:13px;padding:0 4px;gap:4px}.dailytabs button:not(.won):not(.lost) .dmark{display:none}}@media (max-width: 345px){.dailytabs button{font-size:12px;padding:0 2px;gap:3px}}.daterow{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.daterow::-webkit-scrollbar{display:none}.daterow .chip{flex:none;display:inline-flex;align-items:center;gap:6px}.daterow .chip small{font-family:var(--mono);font-size:11px;color:var(--muted)}.daterow .chip.alldone small{color:var(--good);font-weight:700}.filters{display:flex;flex-direction:column;gap:8px}.chiprow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chiprow .lab{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:58px}.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:4px 11px;font-size:13px;color:var(--fg)}.chip[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.roundmeta{margin:0;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.02em;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.daysbtn{border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:999px;padding:4px 11px;font:12px var(--mono);display:inline-flex;align-items:center;gap:6px}.daysbtn[aria-expanded=true]{border-color:var(--accent)}.attempts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.attempts li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:42px;padding:0 12px 0 0;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.attempts .mark{height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:13px;border-right:1px solid var(--line);color:var(--muted)}.attempts .txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.attempts .len{font-family:var(--mono);font-size:11px;color:var(--muted)}.attempts li.empty{background:transparent;border-style:dashed}.attempts li.wrong .mark{color:var(--bad)}.attempts li.wrong{border-color:color-mix(in srgb,var(--bad) 55%,var(--line));background:color-mix(in srgb,var(--bad) 8%,var(--panel))}.attempts li.close .mark{color:var(--close)}.attempts li.close{border-color:color-mix(in srgb,var(--close) 70%,var(--line));background:color-mix(in srgb,var(--close) 10%,var(--panel))}.attempts li .tag{font-family:var(--body);font-size:11px;color:var(--close);margin-right:8px;font-weight:700}.attempts li.skip .mark{color:var(--skip)}.attempts li.skip .txt{color:var(--muted);font-style:italic}.attempts li.right .mark{color:var(--good)}.attempts li.right{border-color:var(--good);background:color-mix(in srgb,var(--good) 12%,var(--panel))}.attempts li.current{border-color:var(--accent);border-style:solid}.deck{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:14px}.meter{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:3px}.cell{display:flex;flex-direction:column;gap:5px}.cell .bar{height:14px;border-radius:3px;background:var(--panel-2);border:1px solid var(--line)}.cell.open .bar{background:color-mix(in srgb,var(--accent) 55%,var(--panel-2));border-color:color-mix(in srgb,var(--accent) 70%,var(--line))}.cell.now .bar{background:var(--accent);border-color:var(--accent)}.cell .lbl{font-family:var(--mono);font-size:10px;color:var(--muted);text-align:center}.cell.now .lbl{color:var(--fg);font-weight:700}.playhead{position:absolute;top:-4px;height:22px;width:2px;background:var(--fg);border-radius:2px;left:0;box-shadow:0 0 8px var(--fg);opacity:0;transition:opacity .15s}.playhead.on{opacity:1}.transport{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.play{width:76px;height:76px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent);flex:none;transition:box-shadow .15s}.play:disabled{background:var(--panel-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.play svg{width:26px;height:26px}.play .len{font-family:var(--mono);font-weight:700;font-size:12px}.play.playing{box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 25%,transparent)}.play.pulse{animation:playpulse 1.6s ease-out infinite}@keyframes playpulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 16px transparent}}.tinfo{flex:1;min-width:160px;display:flex;flex-direction:column;gap:8px}.tinfo .big{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.02em}.vol{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.vol input{flex:1;accent-color:var(--accent);min-width:0}.hints{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.hints li{font-size:14px;background:var(--panel-2);border-radius:8px;padding:7px 10px}.hints .hl{color:var(--muted)}.hints b{color:var(--fg)}.tline{display:flex;align-items:center;justify-content:space-between;gap:8px}.loopbtn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.loopbtn svg{width:14px;height:14px}.loopbtn:hover{color:var(--fg)}.loopbtn[aria-pressed=true]{border-color:var(--accent);color:var(--accent-ink);background:var(--accent)}.guess{display:flex;flex-direction:column;gap:10px}.combo{position:relative}.combo input{width:100%;height:48px;border-radius:var(--r);border:1px solid var(--line);background:var(--panel);padding:0 14px;font-size:16px}.combo input::placeholder{color:var(--muted)}.combo input.chosen{border-color:var(--accent)}.combo input:disabled{opacity:.6}.sugg{position:absolute;left:0;right:0;top:calc(100% + 6px);margin:0;padding:4px;list-style:none;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);max-height:280px;overflow:auto;z-index:5;box-shadow:0 12px 30px #00000073}.sugg li{padding:9px 10px;border-radius:7px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.sugg li .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sugg li .a{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.sugg li[aria-selected=true]{background:color-mix(in srgb,var(--accent) 22%,transparent)}.sugg li.none{cursor:default;color:var(--muted);font-size:14px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions .btn{white-space:nowrap;padding:0 10px}.btn{height:46px;border-radius:var(--r);border:1px solid var(--line);background:transparent;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px}.btn:hover:not(:disabled){background:var(--panel-2)}.btn:disabled{opacity:.4}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover:not(:disabled){background:#fff}.btn.primary.ready{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary.ready:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,#fff)}.btn .sub{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--muted)}.btn.accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.accent:hover{background:color-mix(in srgb,var(--accent) 85%,#fff)}.end{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:14px}.end-top{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center}.end-info{min-width:0}.end img,.end .noart{width:112px;height:112px;border-radius:8px;object-fit:cover;display:block;background:var(--panel-2);max-width:100%}.end .noart{background:repeating-radial-gradient(circle at 50% 50%,var(--panel-2) 0 3px,var(--panel) 3px 6px)}.verdict{margin:0 0 4px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.verdict.won{color:var(--good)}.verdict.lost{color:var(--bad)}.end h2{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.2;margin:0;text-wrap:balance;overflow-wrap:anywhere}.end .artist{margin:4px 0 0}.end .meta{margin:2px 0 0;font-size:13px;color:var(--muted)}.end-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.end-actions .wide{grid-column:1 / -1}.revealbar{height:4px;border-radius:2px;background:var(--panel-2);overflow:hidden}.revealbar i{display:block;height:100%;width:0;background:var(--accent)}.countdown{font-family:var(--mono);font-size:13px;color:var(--muted);text-align:center;margin:0;font-variant-numeric:tabular-nums}.outlinks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.outlink{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 10px;border-radius:var(--r);border:1px solid var(--line);color:var(--fg);text-decoration:none;font-size:14px;font-weight:700;text-align:center}.outlink:hover{background:var(--panel-2)}.outlink svg{width:18px;height:18px;flex:none}.outlink.yt svg{color:#ff3b30}@media (max-width: 380px){.outlinks{grid-template-columns:1fr}}.sharefall{width:100%;min-height:76px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;font-family:var(--mono);font-size:13px;padding:8px;resize:vertical}.errorbox{background:var(--panel);border:1px solid color-mix(in srgb,var(--bad) 50%,var(--line));border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.errorbox p{margin:0}.status{margin:0;min-height:1.4em;font-size:14px;color:var(--muted);text-align:center}.status.err{color:var(--bad)}.about,body>.foot{max-width:560px;margin:28px auto 0}.about{color:var(--muted);font-size:14px;line-height:1.55;border-top:1px solid var(--line);padding-top:18px}.about h2{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.03em;color:var(--fg);margin:0 0 8px}.about h3{font-size:14px;color:var(--fg);margin:18px 0 4px}.about p{margin:0}.about b{color:var(--fg);font-weight:700}.about .faq{margin:0}.about dt{color:var(--fg);font-weight:700;margin-top:10px}.about dd{margin:2px 0 0}body>.foot{margin-top:22px}.foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.logo .w1,.logo .w2,.logo .w3{transform-box:fill-box;transform-origin:center}body.playing .logo .w1{animation:eq .5s ease-in-out infinite alternate}body.playing .logo .w2{animation:eq .5s ease-in-out .15s infinite alternate}body.playing .logo .w3{animation:eq .5s ease-in-out .3s infinite alternate}@keyframes eq{0%{transform:scaleY(.4)}to{transform:scaleY(1.15)}}.madefor{flex-basis:100%;margin:4px 0 0;text-align:center;font-size:10px;color:var(--muted);letter-spacing:.02em;opacity:.8}.linkbtn{background:none;border:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;padding:0;font-size:inherit}.loading-note{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--muted);font-size:14px;padding:40px 0}.spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite;display:inline-block}.spin.big{width:24px;height:24px;border-color:var(--line);border-top-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050a0eb8;display:flex;align-items:flex-end;justify-content:center;z-index:20;padding:12px max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}@media (min-width: 600px){.overlay{align-items:center}}.sheet{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:100%;max-width:520px;max-height:min(86vh,720px);overflow:auto;padding:18px;display:flex;flex-direction:column;gap:14px}.sheet h2{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.04em;margin:0;text-transform:uppercase}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.sheet p{margin:0}.muted{color:var(--muted);font-size:14px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat{background:var(--panel-2);border-radius:8px;padding:10px 6px;text-align:center}.stat b{display:block;font-family:var(--display);font-size:22px;font-variant-numeric:tabular-nums}.stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hist{display:flex;flex-direction:column;gap:5px}.hrow{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;font-family:var(--mono);font-size:12px}.hrow .hb{height:20px;background:var(--panel-2);border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding:0 6px;min-width:26px;font-variant-numeric:tabular-nums}.hrow.last .hb{background:var(--accent);color:var(--accent-ink);font-weight:700}.hrow.lossrow .hb{background:color-mix(in srgb,var(--bad) 35%,var(--panel-2))}.rules{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.kbd{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 5px}.tiers{font-family:var(--mono);font-size:13px;color:var(--accent)}.community{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px}.community-head h3{margin:0;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.community-head p{margin:2px 0 0;font-variant-numeric:tabular-nums}.cbars{display:flex;flex-direction:column;gap:5px}.cbar{display:grid;grid-template-columns:22px 1fr 64px;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums}.clab{color:var(--muted);text-align:center}.ctrack{height:16px;border-radius:4px;background:color-mix(in srgb,var(--panel-2) 60%,transparent);overflow:hidden}.ctrack i{display:block;height:100%;border-radius:0 4px 4px 0;background:color-mix(in srgb,var(--fg) 34%,var(--panel-2))}.cbar.miss .ctrack i{background:color-mix(in srgb,var(--bad) 45%,var(--panel-2))}.cbar.you .ctrack i{background:var(--accent)}.cbar.you .clab{color:var(--fg);font-weight:700}.cval{color:var(--muted);display:flex;gap:6px;align-items:center;justify-content:flex-end}.cval b{font-family:var(--body);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);background:var(--accent);border-radius:4px;padding:1px 5px}.cbar.you .cval{color:var(--fg)}.c-good{color:var(--good)}.c-close{color:var(--close)}.c-bad{color:var(--bad)}@media (pointer: coarse){.chip,.loopbtn,.modes button{min-height:40px}.chip{padding:0 13px}.loopbtn{padding:0 14px}.icon-btn{height:42px;min-width:42px}.daysbtn{min-height:40px}.vol{display:none}}.more{margin:4px 0 12px;font-size:14px}.more summary{cursor:pointer;color:var(--accent);font-weight:700;min-height:32px;display:flex;align-items:center}.more ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--muted)}.more b{color:var(--fg)}@media (max-width: 380px){.brand h1{font-size:16px;letter-spacing:.03em}.brand svg{width:28px;height:28px}}
