:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-backdrop:#120e249e;--color-surface:#221d3a;--color-surface-raised:#2f2852;--color-surface-sunken:#17132b;--color-overlay:#120e24c7;--color-border:#ffffff24;--color-text:#f6f3ff;--color-text-muted:#c4bddf;--color-accent:#ff7aa8;--color-accent-hover:#ff9cbf;--color-on-accent:#2a0c1c;--color-warning:#ffd36b;--color-disabled:#4a4166;--color-gold:#ffd54a;--color-silver:#d9dee8;--color-bronze:#e8a96f;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--shadow:0 18px 48px #00000073;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--touch-target:44px;--gutter:16px}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--color-text);font-family:var(--font-body);background-color:#343455;margin:0;overflow:hidden}#game{width:100vw;height:100dvh;position:fixed;inset:0}#game canvas{display:block}:focus-visible{outline:3px solid var(--color-text);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.hint{min-height:1.4em;color:var(--color-text-muted);margin:0;font-size:.9rem}.hint--warning{color:var(--color-warning)}.button{min-height:var(--touch-target);border-radius:var(--radius-md);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-weight:700;transition:background-color .15s,transform .15s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{background:var(--color-disabled);color:var(--color-text-muted);cursor:not-allowed}.button--primary{background:var(--color-accent);color:var(--color-on-accent)}.button--primary:hover:not(:disabled){background:var(--color-accent-hover)}.button--secondary{background:var(--color-surface-raised);border-color:var(--color-border);color:var(--color-text)}.button--secondary:hover:not(:disabled){background:#3a3266}.button--large{width:100%;min-height:56px;font-size:1.125rem}.button--small{min-height:36px;padding:0 14px;font-size:.9rem}.button--hud{background:var(--color-overlay);border-color:var(--color-border);color:var(--color-text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.icon-button{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;place-items:center;padding:0;font-size:1rem;display:inline-grid}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button--hud{background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.setup{padding:calc(var(--touch-target) + 2 * var(--gutter)) var(--gutter) var(--gutter);background:var(--color-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.history-button{top:var(--gutter);left:var(--gutter);border-radius:var(--radius-pill);position:absolute}.history-button__count{border-radius:var(--radius-pill);background:var(--color-surface-raised);min-width:1.6rem;padding:2px 8px;font-size:.8rem}.history-button__count:empty{display:none}.language-switch{top:var(--gutter);right:var(--gutter);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:4px;padding:4px;display:inline-flex;position:absolute}.language-switch__icon{color:var(--color-text-muted);flex:none;margin:0 6px 0 10px}.language-switch__option{border-radius:var(--radius-pill);width:52px;height:36px;color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.language-switch__option:hover:not([aria-pressed=true]){color:var(--color-text)}.language-switch__option[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent)}.setup__card{width:min(100%,560px);padding:28px}.setup__header{text-align:center;margin-bottom:20px}.setup__title{margin:0;font-size:clamp(2rem,6vw,2.75rem);line-height:1.1}.setup__subtitle{color:var(--color-accent);margin:6px 0 0;font-weight:600}.setup__form{gap:18px;display:grid}.field{gap:8px;display:grid}.field--inline{justify-content:space-between;align-items:center;gap:16px;display:flex}.field__label{font-weight:700}.field__textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);width:100%;min-height:180px;color:var(--color-text);font:inherit;resize:vertical;padding:12px 14px;line-height:1.5}.field__textarea::placeholder{color:var(--color-text-muted)}.stepper{align-items:center;gap:8px;display:inline-flex}.stepper__input{width:4.5rem;height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font:inherit;text-align:center;appearance:textfield;font-size:1.125rem;font-weight:700}.stepper__input::-webkit-inner-spin-button{appearance:none;margin:0}.stepper__input::-webkit-outer-spin-button{appearance:none;margin:0}.checkbox{cursor:pointer;align-items:flex-start;gap:12px;line-height:1.4;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--color-accent);flex:none;margin:1px 0 0}.hud{padding:var(--gutter);pointer-events:none;grid-template-rows:auto 1fr auto;gap:12px;display:grid;position:fixed;inset:0}.hud__bar,.standings,.progress{pointer-events:auto}.hud__bar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hud__actions{gap:8px;margin-left:auto;display:flex}.volume{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:4px;padding-right:14px;display:flex}.volume .icon-button--hud{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none}.volume__slider{width:120px;accent-color:var(--color-accent);cursor:pointer}.volume__slider--muted{opacity:.45}.chip{min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-overlay);color:var(--color-text);font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:10px;padding:0 16px;display:inline-flex}.chip__code{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap}.standings{background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);grid-row:2;place-self:start end;width:min(280px,40vw);padding:14px 16px}.standings__title{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.8rem}.standings__list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.standings__item{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:4px 8px;font-weight:600;display:flex}.standings__item--finished{color:var(--color-gold);background:#ffd54a24}.standings__item--outside{color:var(--color-text-muted);background:0 0;font-weight:400}.standings__place{text-align:center;flex:none;width:2.2rem}.standings__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-overlay);grid-row:3;height:12px;overflow:hidden}.progress__fill{background:var(--color-accent);width:0;height:100%;transition:width .2s linear}.results{width:min(100% - 2 * var(--gutter), 560px);max-height:calc(100dvh - 2 * var(--gutter));color:var(--color-text);padding:28px;overflow-y:auto}.results::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a08188c}.results__title{justify-content:center;align-items:center;gap:12px;margin:0;font-size:1.75rem;display:flex}.results__title .fa-trophy{color:var(--color-gold)}.podium{justify-content:center;align-items:flex-end;gap:12px;margin:24px 0 16px;padding:0;list-style:none;display:flex}.podium__step{text-align:center;flex:0 160px;justify-items:center;gap:6px;min-width:0;display:grid}.podium__step--1{order:2}.podium__step--2{order:1}.podium__step--3{order:3}.podium__medal{font-size:2rem;line-height:1}.podium__name{overflow-wrap:anywhere;max-width:100%;font-size:1.05rem;font-weight:700}.podium__block{border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%;color:var(--color-on-accent);place-items:center;font-size:1.5rem;font-weight:800;display:grid}.podium__step--1 .podium__block{background:var(--color-gold);height:96px}.podium__step--2 .podium__block{background:var(--color-silver);height:72px}.podium__step--3 .podium__block{background:var(--color-bronze);height:56px}.podium__step--no-prize .podium__name{color:var(--color-text-muted);font-weight:600}.podium__step--no-prize .podium__block{background:var(--color-surface-raised);color:var(--color-text-muted)}.podium__no-prize{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.runners-up{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.runners-up__item{border-radius:var(--radius-md);background:var(--color-surface-raised);align-items:center;gap:12px;padding:10px 14px;font-weight:600;display:flex}.runners-up__place{width:2.5rem;color:var(--color-text-muted);text-align:center;flex:none}.results__code{color:var(--color-text-muted);text-align:center;margin:0 0 4px}.results__code code{border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text);font-family:var(--font-mono);padding:2px 8px}.results .hint{text-align:center}.results__actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.results__primary{grid-column:1/-1;min-height:52px;font-size:1.05rem}.results__wide{grid-column:1/-1}.history{width:min(100% - 2 * var(--gutter), 640px)}.history__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.history__top .results__title{justify-content:flex-start}.history__empty{color:var(--color-text-muted);text-align:center;margin:24px 0}.history__list{gap:12px;margin:8px 0 0;padding:0;list-style:none;display:grid}.history__item{border-radius:var(--radius-md);background:var(--color-surface-raised);gap:8px;padding:14px 16px;display:grid}.history__header{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.9rem;display:flex}.history__date{color:var(--color-text);font-weight:700}.history__winners{overflow-wrap:anywhere;margin:0;font-weight:600}.history__code{border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-mono);justify-self:start;padding:2px 8px;font-size:.85rem}.history__actions{flex-wrap:wrap;gap:8px;display:flex}.verify__description{color:var(--color-text-muted);text-align:center;margin:16px 0}.verify__details{text-align:center;margin:0 0 8px;font-weight:700}@media (width<=640px){.setup__card,.results{padding:20px}.standings{display:none}.volume{padding-right:0}.volume__slider{display:none}.button--hud .button__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chip{gap:8px;padding:0 12px}.chip__icon{display:none}.results__actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}
