.vertical-race-scene{position:relative;width:100%;height:clamp(340px,58vh,620px);overflow:hidden;isolation:isolate;border:1px solid #567b6b;border-radius:22px;background:#a7d5d9;box-shadow:inset 0 0 0 1px #ffffff40,0 12px 32px #193d3726}.vertical-race-scene canvas{display:block;width:100%;height:100%}.projected-horse-labels,.scene-edge-vignette{position:absolute;inset:0;pointer-events:none}.scene-edge-vignette{z-index:2;box-shadow:inset 0 0 38px #193b3d24}.horse-runner.projected-horse-number{z-index:3;display:grid;place-items:center;min-width:1.6rem;height:1.45rem;padding:0 .2rem;border:1px solid #ffffffcc;border-radius:7px;background:#193b3ee8;color:#fffdf0;font-size:.72rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-shadow:none;box-shadow:0 2px 5px #12312d50;filter:none;transform:translate(-50%,-100%);transition:none}.horse-runner.projected-horse-number.in-focus{border-color:#ffe091;background:#294b47f5;box-shadow:0 0 0 1px #ffe091,0 2px 5px #12312d50}.horse-runner.projected-horse-number.participant-label-anchor{min-width:0;width:0;height:0;padding:0;border:0;background:none;box-shadow:none;transform:none}.race-participant-label{position:absolute;display:flex;align-items:center;padding:0 3px;border:1px solid #ffffffcc;border-radius:5px;background:#193b3ef2;color:#fffdf0;font:900 11px system-ui;white-space:nowrap;overflow:hidden}.participant-name-text{flex:1}.participant-skill-mark{width:10px;flex-shrink:0;color:#ffe199;text-align:right}.dual-skill-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;line-height:9px}.in-focus .race-participant-label{border-color:#ffe091}.participant-label-links{position:absolute;inset:0;overflow:visible}.participant-label-links line{stroke:#193b3e;stroke-width:1}.projected-skill-mark{position:absolute;right:-.35rem;bottom:-.35rem;display:grid;place-items:center;width:.8rem;height:.8rem;border:1px solid #fff5d6;border-radius:50%;background:#ffe199;color:#533e1b;font-size:.62rem;line-height:1;box-shadow:0 1px 3px #193b3e66}.skill-GUTS .projected-skill-mark{background:#ffb382;color:#6a321b}.projected-skill-mark.dual-skill-mark{display:flex;height:20px;border-radius:4px;font-size:9px;line-height:9px}.skill-LAST_SPURT .projected-skill-mark{background:#c5d8ff;color:#203c75}.skill-IRON_STAMINA .projected-skill-mark{background:#c3dedb;color:#294944}.scene-finish-caption{position:absolute;z-index:4;top:.8rem;left:50%;padding:.35rem .75rem;border:1px solid #ffe091;border-radius:999px;background:#193b3ee8;color:#fff2c8;font-size:.7rem;font-weight:900;letter-spacing:.12em;transform:translate(-50%)}@media(max-width:640px){.vertical-race-scene{height:clamp(340px,54vh,490px);border-radius:16px}.horse-runner.projected-horse-number{min-width:1.35rem;height:1.25rem;font-size:.64rem}}@media(prefers-reduced-motion:reduce){.horse-runner.projected-horse-number{transition:none}}.vertical-race-scene.dramatic-finish{border-color:#6de2e2;box-shadow:inset 0 0 0 1px #9feff566,0 0 20px #35c9d322}.dramatic-finish:after{content:"";position:absolute;inset:6px;border-block:5px solid transparent;border-image:repeating-linear-gradient(90deg,#bdfcff77 0 1px,transparent 1px 12px) 5;pointer-events:none;z-index:2}.photo-finish-console{margin-top:.65rem;padding:.65rem .8rem;border:1px solid #69d8d9;border-radius:10px;background:linear-gradient(110deg,#102d37,#091923);color:#dffbfd;font-variant-numeric:tabular-nums}.photo-finish-console header,.photo-finish-console footer,.photo-finish-readings>div{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.photo-finish-console header{font-size:.7rem;letter-spacing:.05em}.photo-finish-console footer{margin-top:.45rem;font-size:.65rem;color:#bbdfe3}.photo-finish-readings{display:grid;gap:.25rem;margin-top:.5rem}.photo-finish-readings>div{border-left:2px solid #397a8b;padding:.25rem .5rem;font:.8rem monospace}.photo-finish-readings .crossing-captured{border-color:#ffda7d;background:#ffcc5520;color:#ffe6a5}.intro-header,.intro-controls,.intro-environment{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.intro-header{justify-content:space-between}.intro-header h1{margin-bottom:.2rem}.intro-controls button{min-width:44px;min-height:44px}.intro-environment{margin:.65rem 0;color:#34543e;font-size:.9rem}.intro-countdown{display:grid;place-items:center;min-height:3rem;margin:.4rem 0;border-radius:12px;color:#205d35;background:#fff4cd;font-size:1.6rem;font-weight:900}@media(max-width:640px){.intro-header{align-items:flex-start;flex-direction:column}.intro-controls{width:100%}.intro-skip{margin-left:auto}}:root{font-family:Inter,Pretendard,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#13251a;background:#eef4ed;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at top left,rgba(255,215,128,.45),transparent 35%),linear-gradient(160deg,#f8f5e9,#e5f0e4 55%,#d7e8d7)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button,input,select{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease}button:not(:disabled):hover{transform:translateY(-2px)}summary:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(51,121,75,.32);outline-offset:3px}.screen{display:grid;min-height:100vh;place-items:center;padding:2rem}.panel,.hero-card,.race-panel{width:min(100%,920px);border:1px solid rgba(31,69,43,.13);border-radius:28px;background:#ffffffe0;box-shadow:0 24px 70px #28452d26;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-card{max-width:680px;padding:clamp(2rem,7vw,5rem);text-align:center}.eyebrow{margin:0 0 .7rem;color:#33794b;font-size:.76rem;font-weight:800;letter-spacing:.16em}h1,p{margin-top:0}h1{margin-bottom:1rem;font-size:clamp(2rem,5vw,3.8rem);line-height:1.04;letter-spacing:-.045em}.hero-copy,.screen-heading>p:not(.eyebrow){color:#526359;line-height:1.7}.hero-race{position:relative;height:58px;margin:1.5rem 0 0;overflow:hidden;border-block:1px dashed rgba(45,96,59,.25)}.hero-race span{position:absolute;left:-3rem;font-size:1.8rem;animation:hero-gallop 5s linear infinite}.hero-race span:nth-child(2){animation-delay:-1.7s}.hero-race span:nth-child(3){animation-delay:-3.4s}@keyframes hero-gallop{0%{left:-3rem;transform:translateY(12px)}50%{transform:translateY(8px)}to{left:calc(100% + 1rem);transform:translateY(12px)}}.button-stack,.button-row{display:flex;gap:.75rem;margin-top:2rem}.button-stack{flex-direction:column}.primary-button,.secondary-button{min-height:52px;padding:.85rem 1.4rem;border-radius:14px;font-weight:800}.primary-button{border:1px solid #173f25;color:#fff;background:#205d35;box-shadow:0 8px 20px #205d3533}.secondary-button{border:1px solid #b8c8bb;color:#23482e;background:#fff}.text-button{padding:0;border:0;color:#42624c;background:transparent}.product-note{margin:1.5rem 0 0;color:#7b887f;font-size:.8rem}.start-screen{align-content:center;gap:1.25rem}.recent-settings-button{min-height:38px;font-weight:700}.recent-games{width:min(100%,680px);padding:1.25rem;border:1px solid rgba(31,69,43,.13);border-radius:20px;background:#ffffffc2}.recent-games h2{margin:0;font-size:1.2rem}.recent-game-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1rem}.recent-game-list button{display:grid;gap:.25rem;padding:.8rem;border:1px solid #d1dbd3;border-radius:12px;color:#23452e;background:#fff;text-align:left}.recent-game-list span{color:#758078;font-size:.72rem}.setup-panel,.prediction-panel,.result-panel{padding:clamp(1.5rem,5vw,3.5rem)}.screen-heading,.screen-heading .text-button{margin-bottom:2rem}.screen-heading h1,.result-panel h1,.race-header h1{font-size:clamp(1.8rem,4vw,2.8rem)}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:grid;gap:.45rem;color:#415348;font-size:.86rem;font-weight:700}.field input,.field select{width:100%;min-height:48px;padding:.7rem .85rem;border:1px solid #cad5cc;border-radius:11px;color:#15251a;background:#fff}.full-field{margin-top:1rem}.mode-description{margin:1rem 0;color:#415348;line-height:1.5}.picker-result-summary{margin:1rem 0;color:#205d35;font-size:clamp(1.8rem,6vw,3rem);font-weight:900;overflow-wrap:anywhere}.decision-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0}.decision-controls p{flex:1 1 200px;margin:0;color:#415348;font-size:.85rem}.horse-name-fields{margin:1.5rem 0;padding:1.2rem;border:1px solid #d7e0d8;border-radius:16px}.horse-name-fields legend{padding:0 .5rem;color:#2c4a35;font-weight:800}.setup-panel>.primary-button,.prediction-panel>.primary-button{width:100%}.mission-banner{padding:.8rem 1rem;border:1px solid #ecd08d;border-radius:12px;color:#614a18;background:#fff6d9;font-weight:700}.horse-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.horse-choice{position:relative;display:grid;gap:.45rem;justify-items:start;padding:1rem;border:1px solid #d1dbd3;border-radius:16px;color:#17321f;background:#fbfdfb;text-align:left}.horse-choice.selected{border-color:#2c8550;background:#e8f5eb;box-shadow:inset 0 0 0 2px #2c85501f}.number-choice{min-height:112px;place-content:center}.number-choice strong{font-size:clamp(1.8rem,7vw,3rem)}.horse-choice small{color:#718078}.horse-swatch{font-size:2rem}.selection-badge{position:absolute;top:.7rem;right:.7rem;display:grid;width:26px;height:26px;place-items:center;border-radius:50%;color:#fff;background:#277347;font-size:.78rem;font-weight:900}.selection-order{display:flex;gap:1.8rem;margin-bottom:1rem;padding:1rem 1rem 1rem 2.5rem;border-radius:12px;background:#f0f5ef}.selection-count{margin:1rem 0;color:#627168;text-align:center}.quick-pick-actions{margin-bottom:1rem}.quick-pick-button{width:100%}.quick-pick-actions p{margin:.5rem 0 0;color:#52665a;font-size:.875rem}.quick-pick-actions [role=alert]{color:#922b21}.participant-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin-bottom:1rem}.participant-tabs button{display:grid;gap:.3rem;min-height:76px;padding:.65rem;border:1px solid #cad5cc;border-radius:12px;color:#17321f;background:#fbfdfb}.participant-tabs button.selected{border-color:#2c8550;background:#e8f5eb;box-shadow:inset 0 0 0 1px #2c8550}.participant-name{min-width:0;font-weight:700;overflow-wrap:anywhere}.participant-name-editor{margin:1rem 0;padding:.85rem;border-radius:12px;background:#f0f5ef}.participant-name-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem}.participant-name-actions button{min-height:44px}.participant-name-editor p{margin:.65rem 0 0;color:#415348;font-size:.8rem;line-height:1.5}.picker-celebration{margin-top:1.25rem;padding:1rem;border-radius:16px;background:#f0f5ef;text-align:center;overflow-wrap:anywhere}.picker-celebration.has-winners{background:linear-gradient(135deg,#fff5cf,#f8e4a0);color:#624712;border:1px solid #d9b55a}.picker-celebration p,.picker-celebration h2{margin:0}.picker-celebration h2{margin-top:.5rem;font-size:clamp(1.05rem,3vw,1.6rem)}.picker-winner{display:block}.podium-caption{color:#52624f;font-size:.8rem;line-height:1.5}.picker-rankings-section{margin:1.25rem 0}.picker-rankings-section h2{margin-bottom:.5rem;font-size:1.15rem}.picker-record-note{color:#52665a;font-size:.85rem;line-height:1.5}.picker-rankings{display:grid;gap:.5rem;padding:0;list-style:none}.picker-ranking-row{display:grid;grid-template-columns:2rem minmax(0,1fr) max-content;align-items:center;gap:.5rem;padding:.7rem .5rem;border:1px solid #d5ded6;border-radius:12px;background:#f8fbf7}.picker-ranking-row.has-winner{border-color:#b18b25;background:#fff4cf}.picker-ranking-entry{min-width:0;overflow-wrap:anywhere}.picker-ranking-owners{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.9rem}.picker-ranking-owner{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;padding:.2rem .3rem}.picker-ranking-owner.is-winner{border-radius:6px;background:#f5df98;color:#513b0d;font-weight:700}.picker-win-badge{flex-shrink:0;font-size:.75rem}.picker-ranking-horse{display:block;margin-top:.3rem;color:#52665a}.picker-ranking-time{font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}.picker-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(.25rem,1vw,.75rem);margin:1rem 0;padding:0;list-style:none}.picker-podium-place{min-width:0;grid-row:1;text-align:center;overflow-wrap:anywhere}.picker-podium-place.place-1{grid-column:2}.picker-podium-place.place-2{grid-column:1}.picker-podium-place.place-3{grid-column:3}.podium-owners{display:grid;gap:.3rem;padding:.4rem .15rem;color:#385643;font-size:.8rem;line-height:1.4}.podium-horse{display:grid;padding:.5rem .15rem;font-size:.85rem}.podium-horse-icon{font-size:clamp(1.3rem,4.5vw,2.4rem);line-height:1.25}.podium-step{height:2.5rem;padding-top:.5rem;border-radius:10px 10px 0 0;background:linear-gradient(#ead1b6,#c89769);color:#492b15;font-size:1.1rem;box-shadow:inset 0 -6px #00000012}.place-1 .podium-step{height:4.4rem;background:linear-gradient(#fbe8a7,#dfbb58);color:#543f12}.place-2 .podium-step{height:3.4rem;background:linear-gradient(#e4e9ec,#b5c2cb);color:#33434e}.picker-last-award{margin-top:1.25rem;padding:.75rem;border:2px solid #d9b55a;border-radius:14px}.picker-last-award h2{margin:0;font-size:1rem}.picker-result-owners{display:grid;gap:.55rem;margin:.75rem 0;padding:0;list-style:none}.picker-result-owners li{display:grid;gap:.2rem;padding:.5rem .65rem;border-radius:10px;background:#f0f5ef;color:#205d35;overflow-wrap:anywhere}.picked-horse-owners{color:#415348;font-size:.85rem;line-height:1.45}.participant-receipt{margin:1rem 0;border-block:1px solid #cad5cc}.participant-receipt summary{min-height:48px;padding:.85rem 0;cursor:pointer}.participant-receipt ul{padding:0;list-style:none}.participant-receipt li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:.65rem 0;overflow-wrap:anywhere}.horse-selection-names{flex-basis:100%;color:#415348;line-height:1.5}.active-picker-label{margin:.75rem 0 .25rem;font-size:1.05rem;font-weight:800;overflow-wrap:anywhere}.selection-help{margin:.25rem 0 .75rem;font-size:.8rem;line-height:1.5}.bulk-name-editor{margin:0 0 1rem}.bulk-name-editor summary{min-height:44px;padding:.6rem 0;cursor:pointer;font-weight:700}.bulk-name-editor textarea{width:100%;min-height:100px;resize:vertical;padding:.65rem;border:1px solid #759781;border-radius:10px;font:inherit;color:#13251a;background:#fff}.bulk-name-editor p{font-size:.8rem;line-height:1.5}.bulk-name-error{color:#922b21}.picker-start-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding:.65rem;border:1px solid #759781;border-radius:12px;background:#f8fbf6}.picker-start-bar .selection-count{min-width:0;margin:0;font-size:.8rem;text-align:left;overflow-wrap:anywhere}.picker-start-bar .primary-button{flex-shrink:0;min-width:100px;min-height:48px;padding:.7rem 1rem}@media(max-width:640px)and (min-height:500px){.picker-start-bar{position:sticky;bottom:.35rem;z-index:6;padding-bottom:max(.65rem,env(safe-area-inset-bottom));box-shadow:0 -4px 18px #13251a20}.prediction-panel :is(input,textarea,button,summary){scroll-margin-bottom:110px}}textarea:focus-visible{outline:3px solid #245a37;outline-offset:3px}:root[data-theme=DARK] :is(.bulk-name-editor textarea,.picker-start-bar){color:var(--theme-text);background:var(--theme-raised);border-color:var(--theme-border)}:root[data-theme=DARK] .bulk-name-error{color:#ffb8a8}:root[data-theme=DARK] textarea:focus-visible{outline-color:#ffe4a3}.race-panel{padding:clamp(.65rem,2vw,1.25rem)}.race-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.race-header h1{margin:0 0 .2rem;font-size:1.25rem}.race-header p{margin:0;font-size:.75rem}.race-screen{padding:.65rem}.race-header strong{color:#2b7446;font-size:1.5rem}.race-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.race-controls button{min-width:44px;min-height:44px;border:1px solid #bed0c2;border-radius:10px;color:#486352;background:#fff;font-weight:800}.race-controls button.active{border-color:#276f42;color:#fff;background:#276f42}.audio-toggle{min-width:44px;min-height:44px;padding:.3rem;border:1px solid #bed0c2;border-radius:10px;color:#23482e;background:#fff;font-size:.72rem;font-weight:700}.audio-settings{margin:1rem 0;padding:.75rem;border:1px solid #759781;border-radius:12px}.audio-settings legend{padding:0 .25rem;font-weight:700}.audio-settings input[type=range]{width:100%;min-height:44px;padding:0;accent-color:#276f42}.audio-mute-setting{display:flex;align-items:center;gap:.5rem;min-height:44px}.audio-mute-setting input{width:20px;height:20px;accent-color:#276f42}.audio-settings small{display:block;margin-top:.4rem;line-height:1.5}:root[data-theme=DARK] .audio-settings input{accent-color:#9cdfae}.app-notice{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid #d5b969;color:#614a18;background:#fff4cd}.app-notice p{flex:1 1 240px;margin:0;font-size:.85rem}.app-notice button{min-height:44px;padding:.4rem .65rem;border:1px solid #b9a670;border-radius:8px;color:#614a18;background:#fff}.director-view-controls{display:flex;flex-wrap:wrap;gap:.4rem}.race-camera-settings{margin-top:.35rem}.race-camera-settings summary{min-height:44px;padding:.65rem .25rem;cursor:pointer;font-weight:700}.race-camera-settings .director-view-controls{margin-bottom:.4rem}.race-screen:fullscreen{display:block;overflow:auto;background:#eef4ed}.race-screen:fullscreen .race-panel{margin:0 auto}.director-view-controls button{min-height:44px;min-width:56px;padding:.5rem .75rem;border:1px solid #bed0c2;border-radius:10px;color:#23482e;background:#fff;font-weight:800}.director-view-controls button.active{color:#fff;border-color:#276f42;background:#276f42}.director-description{margin:.4rem 0;color:#415348;font-size:.85rem}.race-lane.in-focus{border-radius:8px;background:#fff4cd2b;box-shadow:inset 0 0 0 2px #fff4cd}.race-view-layout,.race-scene-shell{position:relative;min-width:0}.race-hud{width:100%;margin-bottom:.35rem;padding:.4rem;border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;background:#0e231fe0;pointer-events:none}.environment-status{display:flex;flex-wrap:wrap;gap:.3rem .6rem;margin-bottom:.45rem;font-size:.7rem}.weather-hint{margin:0 0 .4rem;color:#ffebaf;font-size:.68rem}.race-hud-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;margin:0;padding:0;list-style:none}.race-hud-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.1rem .25rem;align-items:center;padding:.25rem;border:1px solid transparent;border-radius:6px}.race-hud-row.in-focus{border-color:#ffdc87}.race-hud-slot{grid-row:span 2;font-size:.9rem}.race-hud-row.has-participant-name .race-hud-slot{grid-column:1 / -1;grid-row:auto;overflow-wrap:anywhere;font-size:.8rem}.race-hud-row.has-participant-name .stamina-status,.race-hud-row.has-participant-name .skill-indicators{grid-column:1 / -1}.fallback-participant-name{position:absolute;bottom:50%;width:90px;max-width:100%;overflow:hidden;white-space:nowrap;font:900 11px system-ui;color:#fffdf0;background:#193b3ef2;border-radius:4px;padding:2px}.race-graphics-fallback .lane-label small{overflow-wrap:anywhere}.stamina-status{display:flex;align-items:center;gap:.3rem}.stamina-status small{min-width:2rem;color:#e8f5ee;font-size:.65rem;text-align:right}.stamina-meter{flex:1;height:6px;overflow:hidden;border-radius:4px;background:#526963}.stamina-meter span{display:block;height:100%;background:#8de49e}.skill-indicators{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.skill-indicator,.stamina-unavailable{color:#c2d7cd;font-size:.64rem}.skill-indicator.active{color:#ffe399;font-weight:800}.graphics-notice{display:flex;gap:.5rem;align-items:center;margin:.5rem 0;padding:.7rem;border-radius:10px;color:#614a18;background:#fff6d9;font-size:.8rem}.graphics-notice p{margin:0}.graphics-notice button{flex-shrink:0;min-height:44px;border:1px solid #bba971;border-radius:8px;background:#fff}.race-graphics-fallback .race-hud{position:static;width:100%;margin-bottom:.5rem}.race-graphics-fallback .race-hud-list{grid-template-columns:repeat(2,minmax(0,1fr))}.race-callout{min-height:36px;margin:.4rem 0;padding:.5rem;border-radius:12px;color:#62491b;background:#fff4cd;font-weight:800;font-size:.8rem;text-align:center}.progress-track{height:4px;margin:.5rem 0;overflow:hidden;border-radius:999px;background:#dfe9df}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3a9a5d,#e5b741)}.race-track{display:grid;gap:.45rem;padding:.75rem;overflow:hidden;border-radius:18px;background:#9c7049}.race-lane{display:grid;grid-template-columns:minmax(84px,120px) minmax(0,1fr);align-items:center;min-height:58px;border-bottom:1px dashed rgba(255,255,255,.58)}.race-lane:last-child{border-bottom:0}.lane-label{display:grid;gap:.1rem;color:#fff;font-size:.78rem;font-weight:900}.lane-label small{overflow:hidden;color:#ffffffc7;font-size:.65rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.lane-course{position:relative;height:48px;margin-right:2rem}.finish-line{position:absolute;top:0;right:0;width:7px;height:100%;background:repeating-linear-gradient(0deg,#fff 0 6px,#1c2b20 6px 12px)}.horse-runner{position:absolute;top:50%;font-size:2rem;filter:drop-shadow(0 4px 3px rgba(0,0,0,.22));transform:translate(-50%,-50%);transition:left 80ms linear}.horse-runner.gray,.horse-swatch.gray{filter:grayscale(.65)}.horse-runner.black,.horse-swatch.black{filter:grayscale(1) brightness(.65)}.horse-runner.gold,.horse-swatch.gold{filter:sepia(1) saturate(1.8)}.horse-runner.white,.horse-swatch.white{filter:grayscale(1) brightness(1.35)}.horse-runner.blue,.horse-swatch.blue{filter:hue-rotate(145deg) saturate(1.5)}.horse-runner.rose,.horse-swatch.rose{filter:hue-rotate(300deg) saturate(1.7)}.horse-runner.violet,.horse-swatch.violet{filter:hue-rotate(235deg) saturate(1.5)}.ranking-list{display:grid;gap:.55rem;margin:2rem 0;padding:0;list-style:none}.ranking-list li{display:grid;grid-template-columns:36px 36px 1fr;align-items:center;gap:.5rem;padding:.8rem 1rem;border-radius:13px;background:#f1f5f1}.ranking-list li.podium{background:#fff5d7}.ranking-list li>strong{color:#27653d;font-size:1.15rem}.ranking-list div{display:flex;justify-content:space-between;gap:1rem}.ranking-list small{color:#718078}.evaluation-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-radius:14px;color:#613d26;background:#f7e9de}.photo-finish-badge{display:inline-flex;margin-bottom:1rem;padding:.5rem .75rem;border:1px solid #d8a940;border-radius:999px;color:#634812;background:#fff1be;font-size:.78rem;font-weight:900;letter-spacing:.05em}.evaluation-card.success{color:#1f6137;background:#dff2e5}.evaluation-card strong{font-size:1.8rem}.button-row>*{flex:1}@media(max-width:640px){.screen{padding:.75rem}.panel,.hero-card,.race-panel{border-radius:20px}.setup-grid{grid-template-columns:1fr}.selection-order{flex-direction:column;gap:.4rem}.recent-game-list{grid-template-columns:1fr}.button-row{flex-direction:column}.race-controls{flex-shrink:1}.race-hud-list{grid-template-columns:repeat(2,minmax(0,1fr))}.race-screen{padding:.5rem}.race-screen .vertical-race-scene{height:clamp(260px,39vh,340px)}.race-screen .decision-controls{margin:.4rem 0 0;gap:.4rem}.race-screen .decision-controls p{flex-basis:160px;font-size:.75rem}.race-screen .race-skip{min-height:44px;padding:.5rem .75rem}.race-controls strong{margin-left:auto}.race-lane{grid-template-columns:72px minmax(0,1fr)}.button-row>*{width:100%}}@media(orientation:landscape)and (max-height:600px)and (min-width:600px){.race-screen{padding:.35rem}.race-panel{width:100%;max-width:none;padding:.5rem}.race-screen .mission-banner{margin:.25rem 0;padding:.3rem .6rem;font-size:.8rem}.race-screen .race-scene-shell{display:grid;grid-template-columns:190px minmax(0,1fr);gap:.4rem}.race-screen .race-hud{max-height:max(240px,65dvh);overflow-y:auto;pointer-events:auto;margin:0}.race-screen .race-hud-list{grid-template-columns:1fr}.race-screen .vertical-race-scene{height:max(240px,65dvh)}.race-screen .photo-finish-console{margin-left:194px}.race-screen .race-callout{margin:.35rem 0}}:root[data-theme=DARK]{color-scheme:dark;color:#e7f0e9;background:#101916;--theme-surface: #192820;--theme-raised: #22382b;--theme-text: #e7f0e9;--theme-muted: #b4c5b9;--theme-accent: #9cdfae;--theme-border: #759781;--theme-selected: #244d35;--theme-warm: #40351d;--theme-warm-text: #ffe4a3}:root[data-theme=DARK] body{background:#101916}:root[data-theme=DARK] .race-screen:fullscreen{background:#101916}:root[data-theme=DARK] :is(.panel,.hero-card,.race-panel,.recent-games){color:var(--theme-text);background:var(--theme-surface);border-color:var(--theme-border);box-shadow:0 18px 50px #0000003d}:root[data-theme=DARK] :is(.secondary-button,.recent-game-list button,.field input,.field select,.horse-choice,.participant-tabs button,.race-controls button,.director-view-controls button,.audio-toggle,.app-notice button,.graphics-notice button){color:var(--theme-text);background:var(--theme-raised);border-color:var(--theme-border)}:root[data-theme=DARK] :is(.primary-button,.race-controls button.active,.director-view-controls button.active){color:#f0faf3;background:#2e6743;border-color:#91b89b}:root[data-theme=DARK] .text-button{color:var(--theme-accent)}:root[data-theme=DARK] :is(.horse-choice.selected,.participant-tabs button.selected){background:var(--theme-selected);border-color:#a5e5b6}:root[data-theme=DARK] .selection-badge{color:#102719;background:#a5e5b6}:root[data-theme=DARK] :is(.eyebrow,.horse-name-fields legend,.picker-result-summary,.race-header strong,.ranking-list li>strong,.podium-owners,.intro-environment){color:var(--theme-accent)}:root[data-theme=DARK] :is(.hero-copy,.screen-heading>p:not(.eyebrow),.product-note,.recent-game-list span,.field,.mode-description,.decision-controls p,.participant-name-editor p,.picked-horse-owners,.horse-selection-names,.director-description,.horse-choice small,.ranking-list small,.selection-count,.quick-pick-actions p,.picker-record-note,.picker-ranking-horse,.podium-caption){color:var(--theme-muted)}:root[data-theme=DARK] :is(.selection-order,.participant-name-editor,.picker-celebration,.picker-result-owners li,.picker-ranking-row,.ranking-list li){color:var(--theme-text);background:var(--theme-raised);border-color:var(--theme-border)}:root[data-theme=DARK] :is(.picker-ranking-row.has-winner,.picker-celebration.has-winners,.mission-banner,.app-notice,.graphics-notice,.race-callout,.photo-finish-badge,.intro-countdown,.ranking-list li.podium){color:var(--theme-warm-text);background:var(--theme-warm);border-color:#c5a756}:root[data-theme=DARK] .picker-ranking-owner.is-winner{color:#fff0bc;background:#5a471c}:root[data-theme=DARK] .picker-last-award{border-color:#c5a756}:root[data-theme=DARK] .participant-receipt{border-color:var(--theme-border)}:root[data-theme=DARK] .podium-step{color:#ffdab5;background:linear-gradient(#533b2a,#3b2b21)}:root[data-theme=DARK] .place-1 .podium-step{color:#ffe4a3;background:linear-gradient(#594823,#3e331c)}:root[data-theme=DARK] .place-2 .podium-step{color:#e2edf3;background:linear-gradient(#3c4b53,#2b363c)}:root[data-theme=DARK] .evaluation-card{color:#ffcfb0;background:#392b23}:root[data-theme=DARK] .evaluation-card.success{color:#b4f1c7;background:#213e2c}:root[data-theme=DARK] .quick-pick-actions [role=alert]{color:#ffb8a8}:root[data-theme=DARK] .theme-notice{color:var(--theme-warm-text)}:root[data-theme=DARK] .progress-track{background:#3b5144}:root[data-theme=DARK] .vertical-race-scene{background:#14251e}:root[data-theme=DARK] input::placeholder{color:#9cad9d;opacity:1}:root[data-theme=DARK] a{color:#a8d7ff}:root[data-theme=DARK] a:visited{color:#d0baf3}:root[data-theme=DARK] :is(button,input,select,a,summary):focus-visible{outline:3px solid #b9edc6;outline-offset:3px}:root[data-theme=DARK] :is(button,input,select):disabled{opacity:1;color:#96ada0;background:#18261f;border-color:#50695a;cursor:not-allowed}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.hero-race span{animation:none}.hero-race span:nth-child(1){left:20%}.hero-race span:nth-child(2){left:48%}.hero-race span:nth-child(3){left:76%}}
