:root{color-scheme:dark;--brown-950: #14110e;--brown-900: #1d1915;--brown-850: #252019;--brown-800: #30281f;--brown-700: #493c2f;--brown-500: #a99a86;--cream-100: #f3ead7;--amber-400: #e4a15a;--amber-300: #f2b774;--color-bg: var(--brown-950);--color-surface: var(--brown-900);--color-hover: var(--brown-850);--color-arena: var(--brown-850);--color-border: var(--brown-700);--color-text: var(--cream-100);--color-muted: var(--brown-500);--color-accent: var(--amber-400);--color-action-hover: var(--amber-300);--color-action-text: var(--brown-950);--color-focus: var(--cream-100);--text-small: .875rem;--text-body: 1rem;--text-title: 1.25rem;--text-heading: 2rem;--text-display: 3rem;--text-giant: 4.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius: 1rem;font-family:Arial,Helvetica Neue,sans-serif;font-size:16px;font-weight:400;line-height:1.5;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}button,a,summary{outline-offset:5px}:focus-visible{outline:2px solid var(--color-focus)}::selection{background:var(--color-accent);color:var(--color-action-text)}h1,h2,p{margin:0}h1,h2{text-wrap:balance}p{text-wrap:pretty}svg{display:block}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus{display:block;padding:var(--space-4);background:var(--color-accent);color:var(--color-action-text)}.shell{inline-size:min(100% - 64px,1024px);margin-inline:auto}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5);min-block-size:104px;font-size:var(--text-small)}.site-header a{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:44px;text-decoration:none}.community-link{color:var(--color-muted)}.community-link svg{inline-size:24px;block-size:24px;stroke:var(--color-accent);stroke-width:1.5}.help-link{flex-shrink:0}.help-link span{font-size:var(--text-title)}.title-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);margin-block:var(--space-4) var(--space-6)}h1{font-size:var(--text-display);font-weight:700;letter-spacing:-.05em;line-height:1.1}.title-dot{color:var(--color-accent)}.intro{font-size:var(--text-body);color:var(--color-muted);margin-block-start:var(--space-3)}.race-length{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-giant);line-height:1;font-weight:700;letter-spacing:-.05em}.race-length span{font-size:var(--text-small);letter-spacing:0;font-weight:400;line-height:1.5;color:var(--color-muted)}.game{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.game-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6)}.mode-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.mode-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);min-block-size:44px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-muted);font-size:var(--text-small);font-weight:600}.mode-button[aria-pressed=true]{border-color:var(--color-border);background:var(--color-hover);color:var(--color-text)}.live-dot{inline-size:6px;block-size:6px;border-radius:50%;background:currentColor}.timer-wrap{display:flex;align-items:center;gap:var(--space-4)}.timer-caption{font-size:var(--text-small);color:var(--color-muted)}.timer{font-size:var(--text-heading);font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;min-inline-size:101px;text-align:end;letter-spacing:-.03em}.timer span{font-size:var(--text-body);font-weight:400;margin-inline-start:3px;color:var(--color-muted);letter-spacing:0}.time-track{block-size:2px;background:var(--color-border)}#time-fill{block-size:100%;background:var(--color-accent);transform-origin:left}.arena{padding:var(--space-5) var(--space-7) var(--space-4);background:var(--color-arena)}.racer-labels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);text-align:center}.racer-labels>div{display:flex;min-inline-size:0;flex-direction:column;align-items:center;gap:var(--space-1)}.racer-name{font-size:var(--text-title);font-weight:600;overflow-wrap:anywhere}.racer-score,.opponent-score{display:flex;align-items:baseline;justify-content:center;gap:6px;font-size:var(--text-small);color:var(--color-muted);font-variant-numeric:tabular-nums;min-block-size:32px}.racer-score strong{font-size:var(--text-title);font-weight:600;color:var(--color-text)}.opponent-score{padding-block-start:6px}.scene-button{display:block;inline-size:100%;border:0;background:transparent;padding:0;user-select:none;border-radius:8px}.arena-art{inline-size:100%;max-block-size:310px}.arena-horizon{stroke:var(--color-border);stroke-width:1}.arena-floor{color:var(--color-border)}.finish-post{stroke:var(--color-border);stroke-dasharray:5 7;stroke-width:1.5}.finish-flag{color:var(--color-muted);opacity:.3}.wheel-stand{fill:none;stroke:var(--color-border);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.wheel-fill{fill:var(--color-surface)}.wheel-rim{fill:none;stroke:currentColor;stroke-width:3}.wheel-inner{fill:none;stroke:currentColor;stroke-width:1.5;opacity:.4}.wheel-spokes{stroke:currentColor;stroke-width:1.5;opacity:.3}.wheel-treads{stroke:currentColor;stroke-width:2.5}.wheel-hub{stroke:currentColor;stroke-width:2;fill:var(--color-arena)}.wheel-bolt{fill:currentColor}.player-wheel{color:var(--color-accent)}.hamster-wheel{color:var(--color-muted)}#player-wheel,#hamster-wheel{transform-box:fill-box;transform-origin:center}.player-mark circle{fill:var(--color-arena);stroke:var(--color-accent);stroke-width:1.5}.player-mark path{fill:var(--color-accent)}.hamster-body{fill:#ba9a71;stroke:var(--color-surface);stroke-width:2}.hamster-belly,.hamster-cheek{fill:var(--color-text)}.hamster-ear{fill:#89674f}.hamster-eye,.hamster-nose{fill:var(--color-bg)}.hamster-tail{fill:none;stroke:#ba9a71;stroke-width:5;stroke-linecap:round}.hamster-foot{fill:#ba9a71;stroke:var(--color-surface);stroke-width:2;stroke-linejoin:round}.hamster-whisker{fill:none;stroke:var(--color-bg);stroke-width:1.5;stroke-linecap:round}.arena-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-small);font-variant-numeric:tabular-nums;margin-block-start:var(--space-2)}.controls{padding:var(--space-5) var(--space-6) var(--space-4);text-align:center;container-type:inline-size;container-name:controls}.roll-button{display:flex;justify-content:center;align-items:center;gap:var(--space-3);inline-size:min(100%,560px);min-block-size:68px;padding:var(--space-4) var(--space-5);margin-inline:auto;border:0;border-radius:10px;background:var(--color-accent);color:var(--color-action-text);font-weight:700;font-size:var(--text-title);line-height:1.4}.roll-button svg{inline-size:26px;block-size:26px;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.button-arrow{margin-inline-start:auto;font-size:var(--text-heading);line-height:1;font-weight:400}#roll-label{margin-inline-end:auto;min-inline-size:0;overflow-wrap:anywhere}.roll-button:disabled{background:var(--color-hover);color:var(--color-muted)}@container controls (max-width: 17em){.roll-button svg,.button-arrow{display:none}#roll-label{margin-inline:0;overflow-wrap:break-word}}.input-hint{font-size:var(--text-small);color:var(--color-muted);margin-block-start:var(--space-3)}kbd{font-family:inherit;font-size:inherit;color:var(--color-text);border-block-end:1px solid var(--color-muted);padding-inline:2px}.step-unit{font-size:var(--text-small);color:var(--color-text);margin-block-start:var(--space-1)}.game-notice{font-size:var(--text-small);color:var(--color-muted);margin-block-start:var(--space-4);min-block-size:21px}.mode-label{font-size:var(--text-small);color:var(--color-text);margin-block-end:var(--space-3)}.under-game{display:flex;justify-content:space-between;gap:var(--space-5);color:var(--color-muted);font-size:var(--text-small);margin-block:var(--space-4) var(--space-6)}.under-game p{max-inline-size:62ch}.under-game p:last-child{text-align:end}.result{padding-block:var(--space-6);border-block-end:1px solid var(--color-border);scroll-margin-block-start:var(--space-5)}.result-heading-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.result-mode{font-size:var(--text-small);color:var(--color-muted);margin-block-end:var(--space-2)}h2{font-size:var(--text-heading);letter-spacing:-.03em;line-height:1.1;font-weight:600}.result-mark{font-size:var(--text-display);line-height:1;color:var(--color-accent)}.result-reason{margin-block-start:var(--space-4);max-inline-size:70ch}.result-totals{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-block:var(--space-5) var(--space-3)}dt{font-size:var(--text-small);color:var(--color-muted)}dd{margin:0;overflow-wrap:anywhere}.result-totals dd{font-size:var(--text-title);font-weight:600;margin-block-start:var(--space-1)}.result-detail{font-size:var(--text-small);color:var(--color-muted)}.receipt{margin-block-start:var(--space-5)}summary{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;min-block-size:56px;list-style:none;cursor:pointer;font-size:var(--text-body)}summary::-webkit-details-marker{display:none}summary span{font-size:var(--text-title);font-weight:400}details[open]>summary span{transform:rotate(45deg)}.receipt summary{border-block:1px solid var(--color-border)}.receipt-body{font-size:var(--text-small)}.receipt-body>p:first-child{margin-block:var(--space-4);color:var(--color-muted)}code{font-size:inherit}.reading-table{inline-size:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--text-small);font-variant-numeric:tabular-nums}.reading-table th,.reading-table td{text-align:start;padding:var(--space-3) var(--space-3) var(--space-3) 0;border-block-end:1px solid var(--color-border);vertical-align:top;overflow-wrap:anywhere;font-weight:400}.reading-table thead th{font-weight:600}.reading-table th:first-child{inline-size:26%}.reading-table tbody th{color:var(--color-muted)}.reading-table td:last-child{padding-inline-end:0}.receipt-math{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5);margin-block:var(--space-5)}.receipt-math dd{margin-block-start:var(--space-1)}.receipt-note{color:var(--color-muted);max-inline-size:70ch}.receipt-body>a{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:44px;margin-block-start:var(--space-2)}.storage-warning{margin-block-start:var(--space-4)}.how-to{border-block-start:1px solid var(--color-border);scroll-margin-block-start:var(--space-5)}.how-to summary{min-block-size:64px}.rules-content{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-6);padding-block:var(--space-4) var(--space-6)}.rules-content h2{font-size:var(--text-title);letter-spacing:-.02em}.rules-content p{font-size:var(--text-small);color:var(--color-muted);margin-block-start:var(--space-3);max-inline-size:65ch}footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding-block:var(--space-5) var(--space-6);border-block-start:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-small)}footer a{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:44px}@media(hover:hover){.mode-button:hover{background:var(--color-hover);color:var(--color-text)}.roll-button:not(:disabled):hover{background:var(--color-action-hover)}a:hover,summary:hover{color:var(--color-text)}.scene-button:hover .player-wheel{color:var(--color-action-hover)}}@media(prefers-reduced-motion:no-preference){.roll-button{transition:transform .1s cubic-bezier(.2,0,0,1),background-color .1s ease-out}.roll-button:not(:disabled):active{transform:scale(.96)}#player-wheel{transition:transform .1s linear}#hamster-wheel{transition:transform 50ms linear}}@media(max-width:44rem){.shell{inline-size:calc(100% - 32px)}.site-header{min-block-size:72px;gap:var(--space-3)}.community-link span{max-inline-size:19ch;line-height:1.4}.community-link svg{flex-shrink:0}.title-row{margin-block:var(--space-3) var(--space-5)}h1{font-size:var(--text-heading);letter-spacing:-.04em}.intro{margin-block-start:var(--space-2);max-inline-size:34ch}.race-length{display:none}.game-toolbar{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.mode-button{padding-inline:var(--space-3)}.timer-caption{display:none}.timer{min-inline-size:88px}.arena{padding:var(--space-4) var(--space-4) var(--space-3)}.racer-labels{gap:var(--space-4)}.racer-name{font-size:var(--text-body)}.racer-score,.opponent-score{flex-wrap:wrap;gap:var(--space-1);min-block-size:42px;line-height:1.4}.racer-score{display:block}.racer-score strong{margin-inline-end:5px}.opponent-score{max-inline-size:17ch;padding-block-start:4px}.scene-button{margin-block:var(--space-1) var(--space-2)}.arena-art{max-block-size:240px}.arena-bottom{font-size:var(--text-small);gap:var(--space-1)}.controls{padding:var(--space-4)}.roll-button{min-block-size:64px}.input-hint{max-inline-size:32ch;margin-inline:auto}.game-notice{margin-block-start:var(--space-3);line-height:1.5}.under-game{display:block;margin-block:var(--space-4) var(--space-5)}.under-game p:last-child{margin-block-start:var(--space-2);text-align:start}.result{padding-block:var(--space-5)}h2{font-size:var(--text-title);letter-spacing:-.02em;line-height:1.4}.result-mark{font-size:var(--text-heading)}.result-totals{gap:var(--space-4)}.reading-table th:first-child{inline-size:28%}.reading-table th,.reading-table td{padding-inline-end:var(--space-2)}.rules-content{grid-template-columns:1fr;gap:var(--space-5)}footer{gap:var(--space-3)}}@media(max-width:22rem){.site-header .community-link span{max-inline-size:14ch}.help-link{font-size:var(--text-small)}.game-toolbar{padding-inline:var(--space-3)}.mode-controls{gap:2px}.mode-button{padding-inline:var(--space-2)}.arena,.controls{padding-inline:var(--space-3)}.arena-bottom{flex-direction:column;align-items:center}.roll-button{padding-inline:var(--space-4)}.result-totals{grid-template-columns:1fr}}@media(forced-colors:active){:focus-visible{outline-color:Highlight}.roll-button,.mode-button{border:1px solid ButtonText}.mode-button[aria-pressed=true]{outline:1px solid Highlight}}
