.race-board{gap:12px;min-width:0;display:grid}.board-rule{color:var(--cream)}.board-viewport{overscroll-behavior:contain;border:4px solid var(--ink);background:color-mix(in srgb, var(--ink) 15%, transparent);max-width:100%;max-height:70svh;box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 65%, transparent), 0 4px 0 var(--ink), 0 8px 20px color-mix(in srgb, var(--ink) 35%, transparent);border-radius:8px;overflow:auto}.board-surface{isolation:isolate;width:calc(var(--board-columns) * 64px + 8px);height:calc(var(--board-rows) * 64px + 8px);background-color:var(--felt);background-image:repeating-linear-gradient(30deg, transparent 0 3px, color-mix(in srgb, var(--sage) 5%, transparent) 3px 4px), repeating-linear-gradient(-30deg, transparent 0 3px, color-mix(in srgb, var(--ink) 12%, transparent) 3px 4px);padding:8px;position:relative}.board-decorations{grid-template:repeat(var(--board-rows), 56px) / repeat(var(--board-columns), 56px);pointer-events:none;gap:8px;display:grid;position:absolute;inset:8px}.board-art-pocket{pointer-events:none;place-items:center;min-width:0;min-height:0;padding:8px;display:grid}.board-art{pointer-events:none;width:100%;max-width:440px;height:100%;max-height:380px;display:block}.board-art--narrow{max-height:none}.board-track{grid-template:repeat(var(--board-rows), 56px) / repeat(var(--board-columns), 56px);gap:8px;margin:0;padding:0;list-style:none;display:grid;position:relative}.board-links{pointer-events:none;width:calc(100% - 16px);height:calc(100% - 16px);position:absolute;inset:8px;overflow:visible}.board-link{stroke:var(--sage);stroke-width:2px}.board-space{border:1px solid var(--ink);background:var(--cream);color:var(--ink);text-align:center;font-family:var(--font-progress);border-radius:4px;font-size:14px;line-height:20px;position:relative}.board-number{display:block}.board-endpoint{font-family:var(--font-body);font-size:14px;font-weight:700;line-height:14px;display:block}.board-endpoint--legacy{overflow-wrap:anywhere;font-size:14px;line-height:14px}.board-space:has(.board-endpoint--legacy){z-index:1}.board-space:has(.board-endpoint--legacy) .board-number{width:100%;position:absolute;top:32px}.board-direction{z-index:2;color:var(--ink);background:var(--cream);font-size:14px;font-weight:700;line-height:14px;position:absolute}.board-direction--right{top:20px;right:-10px}.board-direction--left{top:20px;left:-10px}.board-direction--down{bottom:-11px;left:20px}.board-direction--up{top:-11px;left:20px}.board-piece{border:1px solid var(--ink);place-items:center;width:18px;height:18px;font-size:14px;font-weight:700;line-height:1;display:grid;position:absolute;bottom:1px}.board-space--traced{background:var(--gold);box-shadow:inset 0 0 0 2px var(--ink)}.board-piece--human{background:var(--gold);color:var(--ink);border-radius:50%;left:2px}.board-piece--computer{background:var(--red);color:var(--cream);border-radius:1px;right:2px}.board-progress{gap:8px;display:grid}.board-show-piece{justify-self:start}.board-finish{color:var(--gold);font-weight:700}.board-traveled{color:var(--sage);display:block}@media (width<=899px){.board-viewport{max-height:max(240px,50svh)}}.poker-table{border:4px solid var(--ink);background:color-mix(in srgb, var(--ink) 15%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--sage) 25%, transparent), 0 4px 0 var(--ink), 0 8px 20px color-mix(in srgb, var(--ink) 35%, transparent);border-radius:12px;gap:20px;padding:20px;display:grid}.card-group{gap:8px;display:grid}.card-group>p{color:var(--sage);font-size:14px;font-weight:600;line-height:20px}.card-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.card{width:100%;min-width:0;min-height:128px}.card.card--face{padding:0;position:relative}.card-art{pointer-events:none;display:block;overflow:visible}.card--face>.card-art{width:100%;height:calc(100% - 44px);position:absolute;top:22px;left:0}.card-corner{justify-items:center;display:grid;position:absolute;top:2px;left:3px}.card-corner--mirrored{inset:auto 3px 2px auto;transform:rotate(180deg)}.card-corner .card-rank{font-size:clamp(20px,2.25vw,32px);line-height:1}.card-corner .card-suit{font-size:clamp(10px,1.15vw,16px);line-height:1}.card.card--back{background-image:repeating-linear-gradient(45deg, transparent 0 6px, color-mix(in srgb, var(--cream) 25%, transparent) 6px 7px), repeating-linear-gradient(-45deg, transparent 0 6px, color-mix(in srgb, var(--gold) 50%, transparent) 6px 7px);outline:1px solid var(--gold);outline-offset:-7px}.hand-categories{gap:4px;display:grid}.card.card--winning{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.race-result{color:var(--gold);font-size:20px;font-weight:700;line-height:26px}.round-action{width:100%}.movement-reference{border-collapse:collapse;text-align:left;width:100%}.movement-reference caption{text-align:left;padding-bottom:12px;font-size:20px;font-weight:700;line-height:26px}.movement-reference th,.movement-reference td{border-bottom:1px solid color-mix(in srgb, var(--sage) 35%, transparent);padding:4px 8px}.movement-reference tbody th{font-weight:400}.movement-reference td,.movement-reference thead th:last-child{text-align:right}@media (width<=599px){.poker-table{padding:16px 12px}.card-row{gap:6px}.card--face>.card-art{height:calc(100% - 68px);top:34px}}:root{--felt:#184d47;--ink:#102d2a;--cream:#fff9ed;--sage:#b7ccc2;--gold:#e8b55b;--red:#a32f3a;--font-display:Georgia, serif;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-progress:ui-monospace, "SFMono-Regular", Consolas, monospace;font-family:var(--font-body);color:var(--cream);background:var(--felt);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:16px;line-height:24px}*,:before,:after{box-sizing:border-box}body{background:var(--felt);background-image:radial-gradient(ellipse at top, color-mix(in srgb, var(--sage) 9%, transparent), transparent 70%), repeating-linear-gradient(0deg, transparent 0 3px, color-mix(in srgb, var(--ink) 8%, transparent) 3px 4px), repeating-linear-gradient(90deg, transparent 0 3px, color-mix(in srgb, var(--cream) 3%, transparent) 3px 4px);min-width:320px;color:var(--cream);margin:0}button,input,select,textarea{font:inherit}h1,h2,p{margin:0}h1{font-family:var(--font-display);font-size:32px;font-weight:700;line-height:40px}h2,.section-title{font-size:20px;font-weight:700;line-height:26px}small,.caption{font-size:14px;line-height:20px}.progress-value{font-family:var(--font-progress);font-variant-numeric:tabular-nums}.app-shell{width:100%;max-width:1600px;min-height:100svh;margin-inline:auto;padding:24px 16px}.app-header{border-bottom:1px solid color-mix(in srgb, var(--gold) 60%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.app-header .header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.game-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.game-layout>*{min-width:0}.button{border:2px solid var(--ink);background:var(--cream);min-width:44px;min-height:44px;color:var(--ink);text-align:center;cursor:pointer;box-shadow:0 2px 0 color-mix(in srgb, var(--ink) 50%, transparent);border-radius:8px;justify-content:center;align-items:center;padding:8px 16px;font-weight:600;display:inline-flex}.button:hover:enabled{background:var(--sage)}.button:active:enabled{background:var(--gold)}.button:disabled{opacity:.6;cursor:default}.input{border:2px solid var(--ink);background:var(--cream);width:100%;min-width:0;min-height:44px;color:var(--ink);border-radius:8px;padding:8px 12px}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;box-shadow:0 0 0 6px var(--ink)}.card{aspect-ratio:5/7;border:2px solid var(--ink);background:var(--cream);color:var(--ink);box-shadow:0 2px 4px color-mix(in srgb, var(--ink) 35%, transparent);border-radius:8px;flex-direction:column;justify-content:space-between;padding:clamp(4px,1vw,10px);display:flex}.card-rank{font-family:var(--font-display);font-size:clamp(20px,2.25vw,32px);line-height:1.25}.card--red{color:var(--red)}.card--back{background:var(--red);color:var(--cream);box-shadow:inset 0 0 0 3px var(--cream), 0 2px 4px color-mix(in srgb, var(--ink) 35%, transparent)}.dialog{border:4px solid var(--ink);background:var(--cream);width:min(440px,100% - 32px);max-height:calc(100svh - 32px);color:var(--ink);box-shadow:0 0 0 1px var(--gold), 0 12px 32px color-mix(in srgb, var(--ink) 60%, transparent);border-radius:12px;margin:auto;padding:24px;overflow:auto}.dialog::backdrop{background:color-mix(in srgb, var(--ink) 75%, transparent)}.dialog p{margin-block:16px 24px}.dialog-actions{flex-wrap:wrap;gap:12px;display:flex}.options-dialog .audio-setting{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.options-dialog input.audio-switch[type=checkbox]{appearance:none;cursor:pointer;flex:0 0 48px;width:48px;height:44px;margin:0;position:relative}.options-dialog .audio-switch:before{border:2px solid var(--ink);background:var(--sage);content:"";border-radius:999px;position:absolute;inset:8px 0}.options-dialog .audio-switch:after{background:var(--ink);content:"";border-radius:50%;width:18px;height:18px;position:absolute;top:13px;left:5px}.options-dialog .audio-switch:checked:before{background:var(--gold)}.options-dialog .audio-switch:checked:after{transform:translate(20px)}.options-dialog .audio-volume{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;display:grid}.options-dialog .audio-volume label{grid-column:1/-1}.options-dialog input.audio-range[type=range]{width:100%;min-width:0;min-height:44px;accent-color:var(--ink);cursor:pointer;margin:0}.options-dialog .audio-switch:disabled,.options-dialog .audio-range:disabled{opacity:.6;cursor:default}.options-dialog .audio-channel{margin-top:16px}.options-dialog .audio-credits{overflow-wrap:anywhere;margin-block:20px;font-size:14px;line-height:20px}.options-dialog .audio-credits h3{font-size:inherit;margin:0}.options-dialog .audio-credits p{margin-block:8px 12px}.options-dialog a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}.options-dialog .dialog-actions{justify-content:flex-end}.race-setup{margin:32px auto}.difficulty-choices{border:0;min-width:0;margin:20px 0;padding:0}.difficulty-choices legend{margin-bottom:8px}.difficulty-choices label{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.difficulty-choices input{width:20px;height:20px;accent-color:var(--ink);margin:0}@media (width<=599px){.app-header .header-actions{flex-basis:100%}}@media (width>=900px){.app-shell{padding:32px}.game-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
