/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-tracking:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", "Consolas", "Menlo", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:var(--shadow-sm-rt);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Space Grotesk", system-ui, sans-serif;--font-ui:"Plus Jakarta Sans", system-ui, -apple-system, Roboto, sans-serif;--color-canvas:var(--bg);--color-surface:var(--bg-alt);--color-panel:var(--panel);--color-border:var(--border);--color-overlay:var(--overlay);--color-brand:var(--brand);--color-brand-hover:var(--brand-hover);--color-accent:var(--accent);--color-ink:var(--text);--color-ink-dim:var(--text-dim);--color-muted:var(--muted);--color-untyped:var(--untyped);--color-correct:var(--correct);--color-correct-bg:var(--correct-bg);--color-error-text:var(--error-text);--color-error-bg:var(--error-bg);--color-gold:var(--gold);--color-ready:var(--ready);--color-good:var(--good);--color-bad:var(--bad);--radius-panel:12px;--shadow-card:var(--shadow-card-rt)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}body{background-color:var(--color-canvas);min-height:100vh;font-family:var(--font-ui);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-ink);margin:0;transition:background-color .2s,color .2s}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-dim)}::-webkit-scrollbar-corner{background:0 0}h1{margin:0;margin-bottom:calc(var(--spacing) * 1.5);font-family:var(--font-display);--tw-leading:1.2;--tw-font-weight:var(--font-weight-bold);font-size:1.75rem;line-height:1.2;font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;text-transform:uppercase}h2{margin:0;margin-bottom:calc(var(--spacing) * 3.5);font-family:var(--font-display);--tw-leading:1.3;--tw-font-weight:var(--font-weight-bold);font-size:1.1rem;line-height:1.3;font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;text-transform:uppercase}p.sub{margin:0;margin-bottom:calc(var(--spacing) * 6);color:var(--color-ink-dim)}label{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:.03em;letter-spacing:.03em;color:var(--color-ink-dim);text-transform:uppercase;margin:16px 0 6px;display:block}code.room-code{border-radius:var(--radius-md);border-style:var(--tw-border-style);--tw-border-style:dashed;border-style:dashed;border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);padding-inline:calc(var(--spacing) * 2.5);font-family:var(--font-mono);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:2px;letter-spacing:2px;color:var(--color-gold);padding-block:3px}input[type=text],input[type=password],input[type=tel],input[type=search],select,textarea{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);width:100%;padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 3);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-ink);--tw-outline-style:none;outline-style:none;transition:border-color .15s}input[type=text]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=search]:focus,select:focus,textarea:focus{border-color:var(--color-accent)}input::placeholder{color:var(--color-muted)}select:disabled{cursor:not-allowed;opacity:.6}}@layer components{.wrap{max-width:960px;padding-inline:calc(var(--spacing) * 5);padding-top:calc(var(--spacing) * 6);margin-inline:auto;padding-bottom:60px}header.top{padding-top:calc(var(--spacing) * 2.5);justify-content:space-between;align-items:center;padding-bottom:30px;display:flex}.brand{align-items:center;gap:calc(var(--spacing) * 2.5);font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:1.4rem;font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;color:var(--color-ink);text-transform:uppercase;text-decoration-line:none;display:flex}.brand .flag,.brand .brand-hi{color:var(--color-brand)}nav{align-items:center;gap:18px;display:flex}nav a{align-items:center;gap:calc(var(--spacing) * 1.5);font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:.85rem;font-weight:var(--font-weight-bold);--tw-tracking:.02em;letter-spacing:.02em;color:var(--color-ink-dim);text-transform:uppercase;text-decoration-line:none;display:inline-flex}nav a:hover{color:var(--color-ink)}.theme-toggle{height:calc(var(--spacing) * 8);width:calc(var(--spacing) * 8);cursor:pointer;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);color:var(--color-ink-dim);justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{border-color:var(--color-brand);color:var(--color-ink)}.theme-toggle .icon{height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4)}.hero-title{--tw-leading:1.1;--tw-tracking:-.01em;letter-spacing:-.01em;font-size:2.25rem;line-height:1.1}.grid-2{gap:calc(var(--spacing) * 5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media not all and (min-width:640px){.grid-2{grid-template-columns:repeat(1,minmax(0,1fr))}}.icon{stroke-width:2.2px;flex-shrink:0;width:1.1em;height:1.1em;display:inline}.icon-lg{height:calc(var(--spacing) * 6.5);width:calc(var(--spacing) * 6.5)}h1 .icon,h2 .icon{vertical-align:-.15em;margin-right:4px}.panel{border-radius:var(--radius-panel);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-panel);padding:calc(var(--spacing) * 6.5);--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.btn{cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);--tw-border-style:none;padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 3);font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:.9rem;font-weight:var(--font-weight-bold);--tw-tracking:.02em;letter-spacing:.02em;text-transform:uppercase;--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-style:none;transition:transform .1s,filter .15s,background-color .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--color-brand);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-hover)}.btn-secondary{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){border-color:var(--color-brand)}.btn-block{margin-top:calc(var(--spacing) * 4.5);width:100%}.error-box{margin-top:calc(var(--spacing) * 3.5);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-bad);background-color:var(--color-error-bg);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 2.5);color:var(--color-error-text);border-radius:10px;font-size:.9rem;display:none}.error-box.show{display:block}.character-picker{margin-top:calc(var(--spacing) * 2);gap:calc(var(--spacing) * 2.5);flex-wrap:wrap;display:flex}.character-option{height:calc(var(--spacing) * 14);width:calc(var(--spacing) * 14);cursor:pointer;border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-border);background-color:var(--color-surface);border-radius:10px;justify-content:center;align-items:center;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.character-option img{object-fit:cover;width:100%;height:100%}.character-option.selected{border-color:var(--color-accent)}.character-option.none-option{color:var(--color-muted);font-size:1.4rem}.room-code-display{color:var(--color-ink-dim);font-size:.95rem}.lane{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);height:54px;transition:border-color .15s;position:relative;overflow:hidden}.lane.me{border-color:var(--color-accent)}.lane:after{content:"";opacity:.7;background:repeating-linear-gradient(45deg,#444 0 4px,#111 4px 8px);width:3px;position:absolute;top:0;bottom:0;right:8px}.lane .car{filter:drop-shadow(0 2px 3px #00000080);font-size:1.7rem;transition:left .18s linear;position:absolute;top:50%;left:0;transform:translateY(-50%)}.lane .car.finished{filter:drop-shadow(0 0 6px var(--good))}.lane .car img{object-fit:contain;width:34px;height:34px;display:block}.car-emoji{display:inline-block;transform:scaleX(-1)}.lane .label{top:var(--spacing);left:calc(var(--spacing) * 2);align-items:center;gap:calc(var(--spacing) * 1.5);font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:.7rem;font-weight:var(--font-weight-bold);--tw-tracking:.02em;letter-spacing:.02em;color:var(--color-ink-dim);text-transform:uppercase;z-index:2;display:flex;position:absolute}.lane .label .dot{height:calc(var(--spacing) * 2);width:calc(var(--spacing) * 2);border-radius:3.40282e38px}.lane .label .avatar{height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);object-fit:cover;border-radius:3.40282e38px}.badge-pill{align-items:center;gap:var(--spacing);padding-inline:calc(var(--spacing) * 2);font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:.62rem;font-weight:var(--font-weight-bold);--tw-tracking:.03em;letter-spacing:.03em;color:var(--color-white);text-transform:uppercase;border-radius:3.40282e38px;padding-block:1px;display:inline-flex}.badge-pill.ready{background-color:var(--color-ready)}.badge-pill.waiting{background:var(--waiting);color:#1a1300}.lane .badge{right:calc(var(--spacing) * 2);bottom:var(--spacing);font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:.7rem;font-weight:var(--font-weight-bold);color:var(--color-ink-dim);font-feature-settings:"tnum", "zero";position:absolute}.chat-fab{right:calc(var(--spacing) * 6);bottom:calc(var(--spacing) * 6);height:calc(var(--spacing) * 14);width:calc(var(--spacing) * 14);cursor:pointer;--tw-border-style:none;background-color:var(--color-brand);color:var(--color-white);--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);z-index:40;border-style:none;border-radius:3.40282e38px;justify-content:center;align-items:center;transition:transform .1s,background-color .15s;display:flex;position:fixed}.chat-fab:hover{background-color:var(--color-brand-hover)}.chat-fab:active{transform:scale(.96)}.chat-fab .icon{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6)}.chat-unread{top:calc(var(--spacing) * -1);right:calc(var(--spacing) * -1);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-canvas);background-color:var(--color-brand);position:absolute}.chat-modal-box{flex-direction:column;width:100%;max-width:420px;height:70vh;max-height:560px;padding:0;display:flex;overflow:hidden}.chat-modal-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-messages{gap:calc(var(--spacing) * 2.5);min-height:0;padding:calc(var(--spacing) * 5);flex-direction:column;flex:1;margin:0;list-style-type:none;display:flex;overflow-y:auto}.chat-message{--tw-leading:1.4;overflow-wrap:break-word;font-size:.9rem;line-height:1.4}.chat-message .chat-author{margin-right:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-accent)}.chat-message.me .chat-author{color:var(--color-brand)}.chat-message .chat-time{margin-left:calc(var(--spacing) * 1.5);color:var(--color-muted);font-size:.72rem}.chat-empty-msg{color:var(--color-ink-dim);font-size:.85rem}.chat-form{gap:calc(var(--spacing) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);flex-shrink:0;display:flex}.chat-form input[type=text]{flex:1}.chat-form button{flex-shrink:0}.countdown-overlay{background-color:var(--color-overlay);z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;display:none;position:fixed;inset:0}.countdown-overlay.show{display:flex}.countdown-num{font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:9rem;font-weight:var(--font-weight-bold);animation:.5s pop}.countdown-num.c-red{color:var(--error-text);text-shadow:0 0 40px var(--error-text)}@supports (color:color-mix(in lab, red, red)){.countdown-num.c-red{text-shadow:0 0 40px color-mix(in srgb, var(--error-text) 60%, transparent)}}.countdown-num.c-yellow{color:var(--gold);text-shadow:0 0 40px var(--gold)}@supports (color:color-mix(in lab, red, red)){.countdown-num.c-yellow{text-shadow:0 0 40px color-mix(in srgb, var(--gold) 60%, transparent)}}.countdown-num.c-green{color:var(--ready);text-shadow:0 0 40px var(--ready)}@supports (color:color-mix(in lab, red, red)){.countdown-num.c-green{text-shadow:0 0 40px color-mix(in srgb, var(--ready) 60%, transparent)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.text-panel{margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);max-width:100%;padding:calc(var(--spacing) * 8);font-family:var(--font-mono);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:1.7;--tw-font-weight:var(--font-weight-normal);line-height:1.7;font-weight:var(--font-weight-normal);overflow-wrap:break-word;white-space:normal;-webkit-user-select:none;user-select:none;position:relative}.text-panel.blurred{filter:blur(7px);-webkit-user-select:none;user-select:none}.text-panel .ch{color:var(--color-untyped);transition:color .1s;position:relative}.text-panel .ch.correct{background-color:var(--color-correct-bg);color:var(--color-correct);border-radius:2px}.text-panel .ch.wrong{background-color:var(--color-error-bg);color:var(--color-error-text);border-radius:2px}.caret{pointer-events:none;opacity:0;background:var(--caret);width:2.5px;transition:transform 80ms cubic-bezier(.2,0,0,1);position:absolute;top:0;left:0}.caret.show{opacity:1}.typing-input{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-border);background-color:var(--color-surface);width:100%;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3.5);font-family:var(--font-mono);color:var(--color-ink);--tw-outline-style:none;outline-style:none;font-size:1.1rem}.typing-input:focus{border-color:var(--color-accent)}.typing-input:disabled{opacity:.5}.stats-row{margin-top:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 6);flex-wrap:wrap;display:flex}.stat{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);padding-inline:calc(var(--spacing) * 4.5);padding-block:calc(var(--spacing) * 2.5);min-width:100px}.stat .val{font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-bold);line-height:1;font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;font-feature-settings:"tnum", "zero"}.stat .lbl{margin-top:var(--spacing);font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:.7rem;font-weight:var(--font-weight-bold);--tw-tracking:.04em;letter-spacing:.04em;color:var(--color-ink-dim);text-transform:uppercase}.stat:first-child .val{color:var(--color-accent)}.results-list{margin:0;padding:0;list-style-type:none}.results-list li{align-items:center;gap:calc(var(--spacing) * 1.5);column-gap:calc(var(--spacing) * 3.5);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.results-list li:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.pos-badge{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);width:30px;height:30px;font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);font-feature-settings:"tnum", "zero";border-radius:3.40282e38px;justify-content:center;align-items:center;display:flex}.pos-badge.gold{background:var(--gold);border-color:var(--gold);color:#1a1300}.pos-badge.silver{background:var(--silver);border-color:var(--silver);color:#1a1c20}.pos-badge.bronze{background:var(--bronze);border-color:var(--bronze);color:#1a1300}.results-name{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);flex:1}.results-meta{font-family:var(--font-display);--tw-font-weight:var(--font-weight-semibold);font-size:.85rem;font-weight:var(--font-weight-semibold);color:var(--color-ink-dim);font-feature-settings:"tnum", "zero"}table.leaderboard{border-collapse:collapse;width:100%;font-family:var(--font-ui)}table.leaderboard th,table.leaderboard td{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);text-align:left;font-feature-settings:"tnum", "zero";font-size:.92rem}table.leaderboard thead{background-color:var(--color-surface)}table.leaderboard th{font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:.7rem;font-weight:var(--font-weight-bold);--tw-tracking:.05em;letter-spacing:.05em;color:var(--color-ink-dim);text-transform:uppercase}table.leaderboard tbody tr:hover td{background-color:var(--color-surface)}.empty-msg{padding:calc(var(--spacing) * 5);text-align:center;color:var(--color-ink-dim)}.copy-hint{cursor:pointer;color:var(--color-ink-dim);align-items:center;gap:5px;font-size:.8rem;display:inline-flex}.admin-nav{margin-bottom:calc(var(--spacing) * 5);gap:var(--spacing);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border);flex-wrap:wrap;display:flex}.admin-nav a{align-items:center;gap:calc(var(--spacing) * 1.5);border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 2.5);--tw-font-weight:var(--font-weight-semibold);font-size:.9rem;font-weight:var(--font-weight-semibold);color:var(--color-ink-dim);border-color:#0000;border-bottom-width:2px;margin-bottom:-1px;text-decoration-line:none;display:inline-flex}.admin-nav a:hover{color:var(--color-ink)}.admin-nav a.active{border-color:var(--color-brand);color:var(--color-brand)}.stat-grid{margin-bottom:calc(var(--spacing) * 6);gap:calc(var(--spacing) * 3.5);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.stat-grid .stat{min-width:0}.chart-grid{margin-bottom:calc(var(--spacing) * 6);gap:calc(var(--spacing) * 5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media not all and (min-width:760px){.chart-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}.chart-card{border-radius:var(--radius-panel);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-panel);padding:calc(var(--spacing) * 5)}.chart-card h2{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.chart-card canvas{max-height:260px}.toolbar{margin-bottom:calc(var(--spacing) * 4);align-items:center;gap:calc(var(--spacing) * 2.5);flex-wrap:wrap;display:flex}.toolbar input[type=text],.toolbar select{width:auto;min-width:180px}.toolbar .spacer{flex:1}table.admin-table{border-collapse:collapse;width:100%;font-family:var(--font-ui)}table.admin-table th,table.admin-table td{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);text-align:left;vertical-align:middle;font-size:.88rem}table.admin-table th{--tw-font-weight:var(--font-weight-semibold);font-size:.72rem;font-weight:var(--font-weight-semibold);--tw-tracking:.02em;letter-spacing:.02em;color:var(--color-ink-dim);text-transform:uppercase}table.admin-table tr:hover td{background-color:var(--color-surface)}table.admin-table td.actions{justify-content:flex-end;gap:calc(var(--spacing) * 1.5);display:flex}.icon-btn{cursor:pointer;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);width:30px;height:30px;color:var(--color-ink-dim);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{border-color:var(--color-brand);color:var(--color-ink)}.icon-btn.danger:hover{border-color:var(--color-error-text);color:var(--color-error-text)}.icon-btn .icon{width:15px;height:15px}.pagination{margin-top:calc(var(--spacing) * 4);justify-content:center;align-items:center;gap:calc(var(--spacing) * 3);color:var(--color-ink-dim);font-size:.85rem;display:flex}.badge-status{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-semibold);font-size:.7rem;font-weight:var(--font-weight-semibold);--tw-tracking:.02em;letter-spacing:.02em;text-transform:uppercase;border-radius:3.40282e38px;display:inline-flex}.badge-status.waiting{background:var(--waiting)}@supports (color:color-mix(in lab, red, red)){.badge-status.waiting{background:color-mix(in srgb, var(--waiting) 20%, var(--bg-alt))}}.badge-status.waiting{color:var(--waiting)}.badge-status.countdown{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.badge-status.countdown{background:color-mix(in srgb, var(--gold) 20%, var(--bg-alt))}}.badge-status.countdown{color:var(--gold)}.badge-status.racing{background:var(--ready)}@supports (color:color-mix(in lab, red, red)){.badge-status.racing{background:color-mix(in srgb, var(--ready) 20%, var(--bg-alt))}}.badge-status.racing{color:var(--ready)}.badge-status.finished{background-color:var(--color-surface);color:var(--color-ink-dim)}.modal-overlay{background-color:var(--color-overlay);padding:calc(var(--spacing) * 5);z-index:60;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.show{display:flex}.modal-box{border-radius:var(--radius-panel);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-panel);width:100%;max-height:85vh;padding:calc(var(--spacing) * 6);max-width:480px;overflow-y:auto}.modal-box textarea{resize:vertical;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);width:100%;padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 3);font-family:var(--font-ui);color:var(--color-ink);border-radius:10px;min-height:100px;font-size:.95rem}.modal-actions{margin-top:calc(var(--spacing) * 4.5);justify-content:flex-end;gap:calc(var(--spacing) * 2.5);display:flex}.detail-list{margin:0;margin-bottom:calc(var(--spacing) * 5);padding:0;list-style-type:none}.detail-list li{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-border);padding-block:calc(var(--spacing) * 2);justify-content:space-between;font-size:.9rem;display:flex}.detail-list li span:first-child{color:var(--color-ink-dim)}.mirror-body{min-height:100vh}.mirror-wrap{padding-inline:calc(var(--spacing) * 9);padding-top:calc(var(--spacing) * 7);margin-inline:auto;padding-bottom:60px}@media not all and (min-width:720px){.mirror-wrap{padding-inline:calc(var(--spacing) * 4);padding-top:calc(var(--spacing) * 5);padding-bottom:calc(var(--spacing) * 10)}}.mirror-wrap{max-width:1400px}.mirror-header{margin-bottom:calc(var(--spacing) * 7);justify-content:space-between;align-items:center;display:flex}.mirror-room-info{align-items:center;gap:calc(var(--spacing) * 4);font-size:1.1rem;display:flex}.mirror-status{--tw-font-weight:var(--font-weight-bold);font-size:.9rem;font-weight:var(--font-weight-bold);color:var(--color-ink-dim);text-transform:uppercase;letter-spacing:1px}.mirror-room-info code.room-code{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 1.5);font-size:1.4rem}.mirror-code-form{max-width:480px;margin-block:60px;margin-inline:auto}.mirror-track{margin-bottom:calc(var(--spacing) * 6);gap:calc(var(--spacing) * 4);flex-direction:column;display:flex}.mirror-lane{align-items:center;gap:calc(var(--spacing) * 3);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);padding-inline:calc(var(--spacing) * 4.5);padding-block:calc(var(--spacing) * 3.5);border-radius:14px;display:grid;position:relative;overflow:hidden}@media not all and (min-width:720px){.mirror-lane{grid-template-columns:repeat(1,minmax(0,1fr))}}.mirror-lane{background:linear-gradient(90deg, var(--bg-alt), var(--panel));grid-template-columns:1fr auto}.mirror-lane .track-row{order:3;grid-column:1/-1;height:46px;position:relative}.mirror-lane .track-row:after{content:"";opacity:.7;background:repeating-linear-gradient(45deg,#444 0 4px,#111 4px 8px);width:3px;position:absolute;top:0;bottom:0;right:4px}.mirror-lane .car{filter:drop-shadow(0 2px 3px #00000080);font-size:2.2rem;transition:left .18s linear;position:absolute;top:50%;left:0;transform:translateY(-50%)}.mirror-lane .car.finished{filter:drop-shadow(0 0 8px var(--good))}.mirror-lane .car img{height:calc(var(--spacing) * 11);width:calc(var(--spacing) * 11);object-fit:contain;display:block}.mirror-lane .name-row{align-items:center;gap:calc(var(--spacing) * 2.5);font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:1.3rem;font-weight:var(--font-weight-bold);order:1;display:flex}.mirror-lane .name-row .dot{height:calc(var(--spacing) * 3);width:calc(var(--spacing) * 3);border-radius:3.40282e38px}.mirror-lane .name-row .avatar{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);object-fit:cover;border-radius:3.40282e38px}.mirror-lane .name-row .badge-pill{font-size:.7rem}.mirror-lane .metrics{gap:calc(var(--spacing) * 5);justify-self:flex-end;display:flex}@media not all and (min-width:720px){.mirror-lane .metrics{justify-self:flex-start}}.mirror-lane .metrics{order:2}.mirror-lane .metric{text-align:right;min-width:70px}.mirror-lane .metric .val{font-family:var(--font-display);--tw-leading:1;--tw-font-weight:var(--font-weight-bold);font-size:1.7rem;line-height:1;font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;font-feature-settings:"tnum", "zero"}.mirror-lane .metric:first-child .val{color:var(--color-accent)}.mirror-lane .metric .lbl{font-family:var(--font-display);--tw-font-weight:var(--font-weight-bold);font-size:.68rem;font-weight:var(--font-weight-bold);--tw-tracking:.04em;letter-spacing:.04em;color:var(--color-ink-dim);text-transform:uppercase}.mirror-lane .metric.finish-badge .val{color:var(--color-good)}.mirror-text-panel{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-surface);padding:calc(var(--spacing) * 7);font-family:var(--font-mono);--tw-leading:1.9;overflow-wrap:break-word;white-space:normal;-webkit-user-select:none;user-select:none;border-radius:14px;font-size:1.6rem;line-height:1.9}.mirror-results-list li{padding-inline:calc(var(--spacing) * 4.5);padding-block:calc(var(--spacing) * 4);font-size:1.2rem}.mirror-results-list .pos-badge{width:42px;height:42px;font-size:1.1rem}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6\.5{margin-bottom:calc(var(--spacing) * 6.5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-\[2rem\]{font-size:2rem}.leading-none{--tw-leading:1;line-height:1}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.text-brand{color:var(--color-brand)}.text-inherit{color:inherit}.text-ink{color:var(--color-ink)}.text-panel{color:var(--color-panel)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#111215;--bg-alt:#22252c;--panel:#191b20;--border:#2d313b;--overlay:#111215d1;--brand:#eb3349;--brand-hover:#c92438;--accent:#ffc043;--accent-hover:#e0a100;--text:#edefef;--text-dim:#8e95a5;--muted:#494f5d;--untyped:#494f5d;--correct:#52e87a;--correct-bg:#52e87a24;--error-text:#ff5252;--error-bg:#ff525224;--caret:#ffc043;--gold:#ffc043;--silver:#cbd5e1;--bronze:#d97706;--ready:#10b981;--waiting:#ffc043;--good:var(--ready);--bad:var(--error-text);--shadow-sm-rt:0 1px 2px #0000003d;--shadow-card-rt:0 4px 12px #0000002e;font-size:16px}:root[data-theme=light]{--bg:#efece6;--bg-alt:#e2ddd5;--panel:#f8f6f0;--border:#c8c2b7;--overlay:#efece6d1;--brand:#d62828;--brand-hover:#b80322;--accent:#d48806;--accent-hover:#b45309;--text:#1a1c20;--text-dim:#5c6270;--muted:#9da3b0;--untyped:#9da3b8;--correct:#16a34a;--correct-bg:#16a34a1f;--error-text:#d62828;--error-bg:#d628281f;--caret:#d62828;--gold:#d48806;--silver:#64748b;--bronze:#b45309;--ready:#059669;--waiting:#d97706;--shadow-sm-rt:0 1px 2px #0000000d;--shadow-card-rt:0 4px 12px #0000000f}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}