:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ok:#49c17a;--warn:#e0a83c;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--blur:0px;--border-w:1px;--shadow-key:0 2px 6px #0000004d;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--tracking:0;--ui-size:15px;--fs-1:calc(var(--ui-size) * .79);--fs-2:calc(var(--ui-size) * .889);--fs-3:var(--ui-size);--fs-4:calc(var(--ui-size) * 1.125);--fs-5:calc(var(--ui-size) * 1.266);--fs-6:calc(var(--ui-size) * 1.424);--hero-size:34px;--fs-d-sub:calc(var(--hero-size) * .4);--fs-d-count:calc(var(--hero-size) * .56);--fs-d-prompt:calc(var(--hero-size) * .7);--fs-d-score:calc(var(--hero-size) * .85);--fs-d-hero:var(--hero-size)}[data-style=keycap]{--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--blur:0px;--border-w:1.5px;--shadow-key:0 2px 0 var(--bezel), 0 4px 8px #00000059;--font-ui:"IBM Plex Sans", -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--tracking:0}[data-style=glass]{--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--blur:16px;--border-w:1px;--shadow-key:0 8px 24px #00000059;--font-ui:"Inter", -apple-system, sans-serif;--font-mono:ui-monospace, monospace;--tracking:.01em}[data-style=brutal]{--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--blur:0px;--border-w:3px;--shadow-key:5px 5px 0 var(--ink);--font-ui:"Archivo Black", Impact, sans-serif;--font-mono:"Space Mono", monospace;--tracking:-.01em}[data-style=hud]{--radius-sm:2px;--radius-md:2px;--radius-lg:2px;--blur:0px;--border-w:1px;--shadow-key:0 0 12px color-mix(in srgb, var(--accent) 50%, transparent);--font-ui:"JetBrains Mono", ui-monospace, monospace;--font-mono:"JetBrains Mono", ui-monospace, monospace;--tracking:.04em}[data-palette=slate]{--bg:#15161a;--surface:#1d1f24;--ink:#eceef0;--muted:#8b8e96;--accent:#d8dadd;--accent-ink:#15161a;--bad:#e2574c}[data-palette=obsidian]{--bg:#17151f;--surface:#211d2c;--ink:#ece9f4;--muted:#938da3;--accent:#9c7bf0;--accent-ink:#17151f;--bad:#ef5f6b}[data-palette=ember]{--bg:#1a1412;--surface:#241a16;--ink:#f3e9e4;--muted:#a3897e;--accent:#f08a3c;--accent-ink:#1a1412;--bad:#f0454f}[data-palette=mint]{--bg:#0f1917;--surface:#15231f;--ink:#e4f3ee;--muted:#80a39a;--accent:#3cd9a0;--accent-ink:#0f1917;--bad:#f06464}[data-palette=cobalt]{--bg:#10151f;--surface:#161e2c;--ink:#e6ebf5;--muted:#7f8ba3;--accent:#4c8cf0;--accent-ink:#0b0e14;--bad:#f06464}[data-palette=citrus]{--bg:#191609;--surface:#241f0e;--ink:#f5f1e0;--muted:#a39c7a;--accent:#f0c23c;--accent-ink:#191609;--bad:#f06452}[data-palette=coral]{--bg:#1a1114;--surface:#26181c;--ink:#f5e6ea;--muted:#a37e86;--accent:#f06290;--accent-ink:#1a1114;--bad:#f0474f}[data-palette=lime]{--bg:#121a0e;--surface:#1a2614;--ink:#edf5e6;--muted:#90a37f;--accent:#a4e03c;--accent-ink:#121a0e;--bad:#f06452}[data-palette=azure]{--bg:#0d171a;--surface:#122126;--ink:#e3f1f5;--muted:#79a0a9;--accent:#36c5e0;--accent-ink:#0d171a;--bad:#f0646b}[data-palette=forest]{--bg:#13190f;--surface:#1c2416;--ink:#e9f0e3;--muted:#8ea37e;--accent:#7cc957;--accent-ink:#13190f;--bad:#f06452}:root,[data-palette]{--faint:color-mix(in srgb, var(--ink) 6%, var(--bg));--line:color-mix(in srgb, var(--ink) 14%, var(--bg));--key:color-mix(in srgb, var(--surface) 92%, var(--ink) 8%);--bezel:color-mix(in srgb, var(--bg) 80%, black 20%);--chrome:color-mix(in srgb, var(--surface) 85%, var(--bg) 15%)}:root{--ui-size:13px;--hero-size:26px}@media (width>=411px){:root{--ui-size:14px;--hero-size:30px}}@media (width>=480px){:root{--ui-size:15px;--hero-size:34px}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}@supports (height:100dvh){html{height:100dvh}}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-3);letter-spacing:var(--tracking);-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit;letter-spacing:inherit}a{color:var(--accent)}.app-shell{background:var(--bg);flex-direction:column;max-width:420px;height:100%;min-height:100%;margin:0 auto;display:flex}.screen{flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px 12px 14px;display:flex}.bar{text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bar .account-logout{width:auto;font-size:var(--fs-2);box-shadow:none;flex-shrink:0;align-self:center;padding:6px 8px}.bar b{font-size:var(--fs-5);letter-spacing:.08em;font-weight:600}.bar span{font-size:var(--fs-2);color:var(--muted)}.fret{height:var(--border-w);background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.7;margin:4px 0 2px}.body{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.meta{font-size:var(--fs-2);color:var(--muted);margin:0}.lb-name{flex:1;align-items:center;gap:6px;min-width:0;margin:0 8px;display:flex}.lb-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.device-badge{box-sizing:content-box;text-overflow:ellipsis;white-space:nowrap;max-width:14ch;font-size:var(--fs-1);color:var(--muted);background:var(--faint);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);flex:none;padding:1px 5px;line-height:1.3;overflow:hidden}.winner-badge-wrap{flex:0 auto;min-width:0;display:inline-flex;position:relative}.card:has(.winner-tip){z-index:10;position:relative}.winner-tip{z-index:20;width:max-content;max-width:min(30ch,78vw);font-size:var(--fs-1);color:var(--fg,inherit);background:var(--surface);border:var(--border-w) solid color-mix(in srgb, var(--warn) 60%, var(--line));border-radius:var(--radius-sm);box-shadow:0 4px 14px color-mix(in srgb, var(--bg) 70%, transparent);flex-direction:column;gap:6px;padding:8px 10px;line-height:1.4;display:flex;position:absolute;top:calc(100% + 6px);left:0}.winner-tip-link{color:var(--warn);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.winner-badge{min-width:0;max-width:20ch;min-height:24px;font-size:var(--fs-1);letter-spacing:.02em;color:var(--warn);background:linear-gradient(135deg, color-mix(in srgb, var(--warn) 34%, var(--faint)), color-mix(in srgb, var(--warn) 10%, var(--faint)));border:var(--border-w) solid color-mix(in srgb, var(--warn) 75%, var(--line));border-radius:var(--radius-sm);box-shadow:0 0 0 1px color-mix(in srgb, var(--warn) 18%, transparent), 0 0 8px color-mix(in srgb, var(--warn) 28%, transparent);cursor:pointer;flex:0 auto;align-items:center;gap:4px;padding:1px 8px 1px 6px;font-weight:700;line-height:1.3;display:inline-flex;position:relative;overflow:hidden}.winner-badge-icon{filter:drop-shadow(0 0 2px color-mix(in srgb, var(--warn) 60%, transparent));flex:none}.winner-badge:hover,.winner-badge:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--warn) 55%, transparent), 0 0 12px color-mix(in srgb, var(--warn) 45%, transparent)}@media (prefers-reduced-motion:no-preference){.winner-badge:after{content:"";background:linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--accent) 55%, transparent) 50%, transparent 65%);pointer-events:none;animation:3.6s ease-in-out infinite winner-badge-sweep;position:absolute;inset:0;transform:translate(-120%)}}@keyframes winner-badge-sweep{0%,60%{transform:translate(-120%)}to{transform:translate(120%)}}.winner-badge-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hero-line{font-size:var(--fs-d-hero);margin:0;font-weight:700;line-height:1.1}.hero-line .u{font-size:var(--fs-d-sub);color:var(--muted);font-weight:400}.menu{flex-direction:column;gap:6px;margin-top:4px;display:flex}.menu button,.btn{text-align:left;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--ink);font-size:var(--fs-3);box-shadow:var(--shadow-key);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));cursor:pointer;align-items:center;gap:8px;padding:9px 10px;display:flex}.menu button.primary,.btn.primary{border-color:var(--accent);color:var(--accent-ink);background:var(--accent)}.menu button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu button span.hint{font-size:var(--fs-1);color:var(--muted);text-align:right;margin-left:auto}.menu button.primary span.hint{color:color-mix(in srgb, var(--accent-ink) 70%, transparent)}.kc{border-radius:var(--radius-sm);background:var(--key);border:var(--border-w) solid var(--line);border-bottom-width:calc(var(--border-w) + 1px);min-width:20px;height:20px;font-family:var(--font-mono);font-size:var(--fs-1);color:var(--ink);justify-content:center;align-items:center;padding:0 4px;font-weight:500;display:inline-flex}.foot{font-size:var(--fs-1);color:var(--muted);justify-content:space-between;padding-top:4px;display:flex}.bar-actions,.footer-hints,.shell-footer,.fullscreen-control,.back-control{align-items:center;gap:8px;display:flex}.bar-actions,.fullscreen-control,.back-control{flex-shrink:0}.footer-hints{flex-wrap:wrap;flex:1;justify-content:space-between}.foot{align-items:center;gap:12px}.shell-footer{flex-shrink:0;justify-content:space-between;padding:0 12px 8px}.shell-footer [role=status]:not(:empty){color:var(--ink);font-size:var(--fs-2);display:block}.fullscreen-control,.back-control{width:auto;color:var(--muted);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:none;cursor:pointer;background:0 0;padding:5px 7px}.fullscreen-control:hover,.fullscreen-control[aria-pressed=true],.back-control:hover{color:var(--ink)}.fullscreen-control:focus-visible,.back-control:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.card{background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-key);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));padding:10px}.field{flex-direction:column;gap:3px;display:flex}.field label{font-size:var(--fs-1);color:var(--muted)}.field input{background:var(--faint);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);font-size:var(--fs-3);padding:8px 9px}.field input:focus{border-color:var(--accent);outline:none}.swatch-row{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:2px solid var(--line);cursor:pointer;border-radius:50%;width:28px;height:28px}.swatch.active{border-color:var(--ink)}.pill-row{flex-wrap:wrap;gap:6px;display:flex}.pill{border-radius:var(--radius-md);border:var(--border-w) solid var(--line);background:var(--surface);font-size:var(--fs-2);cursor:pointer;padding:6px 10px}.pill.active{border-color:var(--accent);color:var(--accent)}.state-pending{color:var(--warn)}.state-listed{color:var(--ok)}.state-private,.state-void{color:var(--bad)}.state-practice{color:var(--muted)}.typing-timer{font-family:var(--font-mono);font-size:var(--hero-size);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.typing-body{cursor:text;justify-content:center;overflow:hidden}.typing-foot{justify-content:flex-start;gap:12px}.ta{opacity:0;pointer-events:none;resize:none;width:1px;height:1px;position:absolute;top:0;left:0}.words{--type-size:21px;--line-h:34px;height:calc(var(--line-h) * 3);font-family:var(--font-mono);font-size:var(--type-size);line-height:var(--line-h);flex-shrink:0;position:relative;overflow:hidden}.words-inner{line-height:inherit;flex-wrap:wrap;column-gap:.62em;display:flex;position:relative}.word{white-space:pre;display:inline-flex;position:relative}.word.wrong.done{text-decoration:underline;-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad);text-underline-offset:6px}.letter{color:color-mix(in srgb, var(--ink) 22%, var(--surface));position:relative}.letter.ok{color:var(--ink)}.letter.bad,.letter.extra{color:var(--bad)}.letter.extra{opacity:.7}.letter.at:before,.letter.at-end:after{content:"";background:var(--accent);width:2px;animation:1s step-end infinite typing-caret;position:absolute;top:0;bottom:0}.letter.at:before{left:0}.letter.at-end:after{right:0}@keyframes typing-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.letter.at:before,.letter.at-end:after{animation:none}}@media (width>=411px){.words{--type-size:24px;--line-h:40px}}.captcha-mount{justify-content:center;padding:4px 0;display:flex}.captcha-control{cursor:pointer;align-items:center;gap:8px;padding:10px 12px;display:flex}.captcha-control input{flex-shrink:0;width:20px;height:20px}.auth-screen{gap:6px}.auth-screen .menu{gap:4px}.auth-screen .menu button{font-size:var(--fs-2);padding:6px 8px}.auth-screen .field input{padding:6px 8px}@media (aspect-ratio>=4/5) and (aspect-ratio<=4/3) and (width<=720px){.app-shell{max-width:none}}@media (height<=400px){.screen{gap:4px;padding:6px 10px 8px}.fret{flex-shrink:0;margin:1px 0}.body,.menu{gap:4px}.menu button{padding:6px 8px}.auth-screen .menu{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.auth-screen .menu .primary{grid-column:1/-1}}@media (height<=320px){.words{--type-size:21px;--line-h:30px}.typing-foot{gap:8px}}.diagnostic-screen .bar,.diagnostic-menu{flex-shrink:0}.diagnostic-menu{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diagnostic-menu .primary{grid-column:1/-1}.diagnostic-field{gap:6px}.diagnostic-field textarea{resize:vertical;background:var(--faint);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--ink);font:inherit;font-family:var(--font-mono);padding:6px;display:block}.diagnostic-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.diagnostic-prompt{font-family:var(--font-mono);overflow-wrap:anywhere;white-space:pre-wrap;color:var(--muted);line-height:1.7}.diagnostic-prompt .correct{color:var(--ok)}.diagnostic-prompt .incorrect{color:var(--warn);background:var(--faint);text-decoration:underline}.diagnostic-prompt .caret{border-left:2px solid var(--accent)}.diagnostic-menu progress{width:100%;height:6px;accent-color:var(--accent);grid-column:1/-1}.diagnostic-menu .diagnostic-progress{grid-column:1/-1;margin:0}.diagnostic-accessible-prompt{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.bar.typing-bar{letter-spacing:0;flex-shrink:0;align-items:center;min-height:36px}.bar.typing-bar .typing-title{letter-spacing:0;flex-wrap:wrap;align-items:baseline;min-width:0;font-size:16px;line-height:1.2;display:flex}.bar.typing-bar .typing-title>span{font-size:inherit;color:var(--ink)}.bar.typing-bar .typing-title>span+span{color:var(--muted);white-space:nowrap;font-size:12px}.typing-bar .typing-timer{text-align:right;white-space:nowrap;letter-spacing:-.04em;font-size:30px}.typing-speed-panel{--speed-value-size:24px;--speed-value-height:28px;--speed-chart-height:55px;border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:text;flex-shrink:0;min-width:0;padding:8px 10px}.typing-speed-panel .live-speed{text-transform:none;gap:6px;min-width:0;display:grid}.typing-speed-panel .live-speed-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.typing-speed-panel .live-speed-metric{justify-items:start;min-width:0;display:grid}.typing-speed-panel .live-speed-label{color:var(--muted);font-size:11px;line-height:14px}.typing-speed-panel .live-speed-value{font-family:var(--font-mono);font-size:var(--speed-value-size);font-variant-numeric:tabular-nums;font-weight:600;line-height:var(--speed-value-height);letter-spacing:0;align-items:baseline;gap:4px;display:flex}.typing-speed-panel .live-speed-number{min-width:3ch;font-size:inherit;color:inherit}.typing-speed-panel .live-speed-unit{font-family:var(--font-ui);color:var(--muted);font-size:10px;font-weight:400}.typing-speed-panel .live-speed-realtime{color:var(--accent)}.typing-speed-panel .live-speed-average{color:var(--ink)}.typing-speed-panel .live-speed-chart{width:100%;height:var(--speed-chart-height);pointer-events:none;display:block;overflow:hidden}.typing-speed-panel .live-speed-curve{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.typing-speed-panel .live-speed-curve.live-speed-average{stroke-dasharray:3 3;opacity:.75}.typing-speed-panel .live-speed-unavailable{min-height:calc(var(--speed-value-height) + var(--speed-chart-height));color:var(--muted);place-items:center}.typing-screen[data-speed-compact]{gap:4px;padding:6px 10px 8px}.typing-screen[data-speed-compact] .bar.typing-bar{gap:6px;min-height:30px}.typing-screen[data-speed-compact] .bar.typing-bar .typing-title{font-size:14px}.typing-screen[data-speed-compact] .typing-bar .typing-timer{font-size:26px}.typing-screen[data-speed-compact] .words{--type-size:21px;--line-h:30px}.typing-screen[data-speed-compact] .typing-speed-panel{--speed-value-size:20px;--speed-value-height:24px;--speed-chart-height:32px;padding:3px 6px}.typing-screen[data-speed-compact] .typing-speed-panel .live-speed{gap:4px}.typing-screen[data-speed-compact] .typing-speed-panel .live-speed-metrics{gap:8px}.typing-screen[data-speed-compact] .typing-speed-panel .live-speed-metric{justify-content:space-between;align-items:baseline;gap:4px;display:flex}.typing-screen[data-speed-compact] .typing-speed-panel .live-speed-label{font-size:10px;line-height:12px}.typing-screen[data-speed-compact] .typing-speed-panel .live-speed-unit{font-size:8px}.payout-screen .bar b{overflow-wrap:anywhere;min-width:0;font-size:var(--fs-4)}.payout-body>*{flex-shrink:0}.payout-editor{border:var(--border-w) solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:8px;min-width:0;margin:0;padding:10px;display:flex}.payout-editor input,.payout-editor textarea{width:100%;min-width:0;font:inherit;color:var(--ink)}.payout-editor textarea{resize:vertical;background:var(--faint);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);min-height:96px;padding:8px}.payout-editor textarea:focus-visible,.payout-editor input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.payout-label{font-size:var(--fs-2)}.payout-choices button{overflow-wrap:anywhere;max-width:100%}.payout-qr{object-fit:contain;width:min(100%,240px);height:auto;margin:8px auto;display:block}.payout-current,.payout-confirm,.payout-message{overflow-wrap:anywhere;min-width:0}.payout-details{white-space:pre-wrap}.payout-confirm{flex-direction:column;gap:8px;display:flex}.payout-code{overflow-wrap:anywhere;flex-direction:column;gap:8px;min-width:0;display:flex}.payout-code form{flex-direction:column;gap:8px;display:flex}.payout-code input{width:100%;min-width:0;font:inherit;letter-spacing:.2em;color:var(--ink);background:var(--faint);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:8px}.payout-code input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prize-rules>summary{cursor:pointer}.prize-rules[open]>summary{margin-bottom:4px}.lb-choices{flex-direction:column;gap:3px;display:flex}.lb-choices .fret{margin:0}
