.horse-card{--hc-bg: #121820;--hc-edge: #2a323d;--hc-rule: #222a34;--hc-text: #e6ebf2;--hc-muted: #8d9aab;width:372px;box-sizing:border-box;padding:14px;background:var(--hc-bg);color:var(--hc-text);font:13px/1.35 system-ui,sans-serif;box-shadow:0 -2px 0 0 var(--hc-edge),0 2px 0 0 var(--hc-edge),-2px 0 0 0 var(--hc-edge),2px 0 0 0 var(--hc-edge),0 6px #00000059;margin:2px}.horse-card .muted{color:var(--hc-muted)}.horse-card canvas,.horse-card svg{display:block}.horse-card .pixel-text{display:inline-block;vertical-align:middle}.hc-name{margin:2px 0 12px;min-height:24px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hc-registered,.hc-rename{font:600 11px/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:3px 6px}.hc-registered{color:var(--hc-muted);box-shadow:inset 0 0 0 1px var(--hc-edge)}.hc-rename{margin-left:auto;color:var(--hc-muted);background:none;border:0;box-shadow:inset 0 0 0 1px var(--hc-edge);cursor:pointer}.hc-rename:hover,.hc-rename:focus-visible{color:var(--hc-text);box-shadow:inset 0 0 0 1px #ffd34d}.hc-name input{width:100%;box-sizing:border-box;padding:4px 6px;font:700 18px/1.2 system-ui,sans-serif;color:var(--hc-text);background:#0b0f14;border:0;box-shadow:inset 0 0 0 2px #ffd34d;outline:none}.hc-name input[aria-invalid=true]{box-shadow:inset 0 0 0 2px #e5534b}.hc-name-note{font-size:11px;color:var(--hc-muted)}.hc-name-note.error{color:#ff7b72}.hc-head{display:flex;gap:14px;align-items:flex-start}.hc-headshot{flex:none;box-shadow:0 0 0 2px #0b0f14,0 0 0 4px var(--hc-edge);margin:4px}.hc-id{display:flex;flex-direction:column;gap:6px;min-width:0;padding-top:4px}.hc-stage{padding:0 5px;border:1px solid;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hc-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hc-age{display:inline-flex;gap:6px;align-items:center}.hc-breed{font-weight:700;color:#fff}.hc-swatch{width:10px;height:10px;border:2px solid;flex:none;outline:1px solid #5d6672}.hc-rare{padding:0 5px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0b0f14;background:#c9b6ff}.hc-stats{list-style:none;margin:14px 0 0;padding:10px 0 0;border-top:2px solid var(--hc-rule);display:flex;flex-direction:column;gap:5px}.hc-stat{display:grid;grid-template-columns:96px auto;align-items:center}.hc-stats li{padding:2px 4px;margin:0 -4px}.hc-stats li.dominant{background:#ffd34d12;box-shadow:inset 2px 0 #ffd34d}.hc-quirk{display:flex;align-items:center;gap:10px;margin-top:12px;padding:7px 10px;border:2px dashed #323b47;color:#5f6b7a;font-style:italic}.hc-quirk-label{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7c8794}.hc-pedigree{margin-top:12px;padding-top:10px;border-top:2px solid var(--hc-rule);color:var(--hc-muted)}.hc-pedigree b{color:var(--hc-text);font-weight:600}.hc-tip-anchor{position:relative;display:inline-block;cursor:help;outline:none}.hc-tip{display:none;position:absolute;z-index:10;left:0;top:calc(100% + 8px);width:max-content;max-width:280px;padding:8px 10px;flex-direction:column;gap:4px;background:#0b0f14;color:var(--hc-text);font-style:normal;font-weight:400;box-shadow:0 0 0 2px #3a4553,0 6px #0006;cursor:default}.hc-tip:before{content:"";position:absolute;top:-8px;left:14px;border:4px solid transparent;border-bottom-color:#3a4553}.hc-tip-anchor:hover>.hc-tip,.hc-tip-anchor:focus-visible>.hc-tip{display:flex}.hc-tip-title{font-weight:700;color:#ffd34d}.hc-life{display:flex;gap:2px;margin:4px 0 2px}.hc-life>span{width:12px;height:8px;opacity:.35}.hc-life>span.past{opacity:.6}.hc-life>span.now{opacity:1;box-shadow:0 0 0 2px #fff}.hc-tree{display:grid;gap:6px}.hc-parent{display:grid;grid-template-columns:34px auto;column-gap:8px}.hc-parent>span:last-child{grid-column:2;font-size:12px}.broadcast{outline:none}.broadcast-screen{display:flex;justify-content:center;background:#000}.broadcast canvas{display:block;image-rendering:pixelated}.broadcast-controls{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:8px;flex-wrap:wrap}.broadcast-controls button.active{outline:2px solid #ffd34d}.broadcast .paste{display:flex;flex-direction:column;gap:6px;margin-top:8px}.broadcast .paste textarea{width:100%;box-sizing:border-box;font-family:monospace;font-size:11px}.broadcast .paste .error{color:#ff7b72;margin:0}.tuning{margin-top:8px;font-size:12px}.tuning summary{cursor:pointer}.tuning label{display:grid;grid-template-columns:96px 1fr 56px;gap:8px;align-items:center;margin:4px 0}.tuning output{text-align:right;font-variant-numeric:tabular-nums}:root{--bg: #14171c;--panel: #1d2128;--line: #333a45;--text: #dfe3ea;--muted: #8a93a3;--accent: #f5c542;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.4 system-ui,sans-serif}h1{font-size:16px;margin:0}h3{font-size:13px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.muted{color:var(--muted)}.lab>header{display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;padding:10px 16px;border-bottom:1px solid var(--line)}.lab>header nav{display:flex;gap:12px}.lab>header nav a{color:var(--muted);text-decoration:none}.lab>header nav a:hover{color:var(--text)}.lab>header nav a[aria-current=page]{color:var(--accent)}.lab>main{padding:12px 16px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}.column{display:grid;gap:12px;min-width:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px;min-width:0}button{background:#2a303a;color:var(--text);border:1px solid var(--line);border-radius:4px;padding:3px 8px;cursor:pointer;font:inherit}button:hover{border-color:var(--muted)}button.on{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.4;cursor:default}input,select,textarea{background:#12151a;color:var(--text);border:1px solid var(--line);border-radius:4px;font:inherit;padding:2px 4px}.row{display:flex;gap:6px 8px;align-items:center;flex-wrap:wrap;margin:6px 0}.row label{display:flex;gap:6px;align-items:center;color:var(--muted)}.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.data th{text-align:left;color:var(--muted);font-weight:400;font-size:11px}.data td{padding:2px 4px}.up{color:#56d364}.down,.errors,.error{color:#ff7b72}.workbench .tabs{display:flex;gap:4px}.workbench .tab{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);align-items:start}.workbench .tab[hidden]{display:none}@media(min-width:1100px){.workbench .setup{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.workbench .diagnosis{grid-template-columns:480px minmax(0,1fr)}}.theater .reveal{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);align-items:start}@media(min-width:900px){.theater .reveal{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}@media(max-width:600px){.theater>main{padding:8px 0}.theater .panel{border-radius:0;border-left:0;border-right:0;padding:8px}}.controls{margin:8px 0 0}.controls input[type=range]{flex:1;min-width:160px}.controls .play{min-width:76px}.clock{font-variant-numeric:tabular-nums;color:var(--muted);min-width:170px}.speeds{display:flex;gap:2px}.strip{width:100%;display:block}.strip-lane{stroke:var(--line);stroke-width:1}.strip-start,.strip-finish{stroke:var(--muted);stroke-dasharray:4 4}.strip-finish{stroke:var(--accent)}.strip-label{fill:var(--text);font-size:13px}.strip-label.player{fill:var(--accent);font-weight:600}.strip-pos{fill:var(--muted);font-size:11px}circle.player{stroke:var(--accent);stroke-width:2.5}.results ol{margin:0 0 6px;padding-left:22px}.results li.player{color:var(--accent);font-weight:600}.editor .seed{width:200px}.horses-scroll{overflow-x:auto}.horses{border-collapse:collapse;width:100%;margin:8px 0}.horses th{text-align:left;color:var(--muted);font-weight:400;font-size:11px;padding:2px}.horses td{padding:2px;white-space:nowrap}.horses .name{width:120px}.horses .stat{width:46px}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}.errors{margin:6px 0;padding-left:18px}.warning{color:#e3b341;margin:6px 0}.paste textarea{width:100%;font-family:ui-monospace,monospace;font-size:12px}.eventlog .filters{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-bottom:6px}.eventlog .filters label{display:flex;align-items:center;gap:4px;cursor:pointer}.eventlog .filters label.player{color:var(--accent)}.eventlog ol{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto;position:relative;font-variant-numeric:tabular-nums}.eventlog li{padding:2px 6px;border-radius:3px;cursor:pointer;display:flex;gap:6px;align-items:center}.eventlog li:hover{background:#262b34}.eventlog li.current{background:#3a3220;outline:1px solid var(--accent)}.eventlog li.future{opacity:.45}.eventlog .t{color:var(--muted);min-width:48px;text-align:right}.eventlog .type{color:var(--muted);font-size:11px;min-width:96px}.eventlog .type-pass,.eventlog .type-lead_change{color:#79c0ff}.eventlog .type-finish{color:var(--accent)}.eventlog .type-vigor_threshold,.eventlog .type-vigor_exhausted{color:#ff7b72}.eventlog .type-plan_phase{color:#a5d6a7}.charts .legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:4px}.charts .legend .player{color:var(--accent)}.chart{position:relative;margin-top:6px}.chart svg{display:block;cursor:crosshair}.chart-title{font-size:12px}.chart .grid{stroke:#2a303a;stroke-width:1}.chart .axis{fill:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.chart .line{fill:none;stroke-width:2;stroke-linejoin:round;opacity:.85}.chart .line.player{opacity:1;stroke-width:2.5}.chart .direct{fill:var(--text);font-size:11px}.chart .playhead{stroke:var(--accent);stroke-width:1.5}.chart .crosshair{stroke:var(--muted);stroke-dasharray:3 3}.chart .dot{stroke:var(--panel);stroke-width:2}.chart .tooltip{position:absolute;top:18px;background:#0f1216;border:1px solid var(--line);border-radius:4px;padding:4px 8px;pointer-events:none;font-size:12px;white-space:nowrap;z-index:2}circle.ghost{fill:none;stroke-width:2;stroke-dasharray:3 2;opacity:.55}.compare tr.removed{opacity:.5}.batch tr.player td:first-child{color:var(--accent);font-weight:600}.sessions{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sessions form{display:flex;gap:4px}.session-name{font-family:ui-monospace,monospace;color:var(--accent);font-size:14px;padding:2px 6px;border:1px solid var(--line);border-radius:4px}.horses td.total{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.horses td.total.over{color:#e5534b}.strip-badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;fill:#7fb6ff}.strip-badge-ok{fill:#57c26b;font-weight:700}.strip-badge-fail{fill:#ff7b72}.eventlog .type-traffic_state{color:#7fb6ff}.eventlog .type-check.ok{color:#57c26b}.eventlog .type-check.fail{color:#ff7b72}.chart .marker{stroke-width:1.5;cursor:pointer}.chart .marker.won{fill:#5fe0a0;stroke:#5fe0a0}.chart .marker.lost{fill:var(--panel);stroke:#ff7a6b}.chart .marker:hover{stroke:#fff}.chart .span{opacity:.85}.chart-title .key{display:inline-block;width:12px;height:5px;vertical-align:middle;margin-left:6px}.chart-title .key.draft{background:#7cc8ff}.chart-title .key.boxed{background:#ffae42}.story .horse-story{border-top:1px solid var(--line);padding:8px 0}.story .horse-story:first-of-type{border-top:none;padding-top:0}.story header{display:flex;gap:6px;align-items:baseline}.story .place{color:var(--accent);font-weight:600}.story .chips{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.story .chip{background:#12151a;border:1px solid var(--line);border-radius:10px;padding:1px 8px;font-size:12px}.story .chip.draft{border-color:#7cc8ff}.story .chip.boxed{border-color:#ffae42}.story .vigor .bar{display:flex;height:10px;border-radius:3px;overflow:hidden;background:#12151a}.story .vigor .bar .effort{background:#5aa2e8}.story .vigor .bar .turn{background:#ffae42}.story .vigor .bar .traffic{background:#ff7a6b}.story .vigor .bar .saved{background:repeating-linear-gradient(45deg,#7cc8ff 0 3px,transparent 3px 6px);opacity:.8}.story .vigor .legend{font-size:11px;margin-top:2px}.story .moments{list-style:none;margin:6px 0 0;padding:0;font-size:12px}.story .moments li{cursor:pointer;padding:1px 4px;border-left:3px solid transparent}.story .moments li:hover{background:#262c35}.story .moments li.good{border-left-color:#5fe0a0}.story .moments li.bad{border-left-color:#ff7a6b}.story .moments li.info{border-left-color:#7cc8ff}.story .moments .t{color:var(--muted);display:inline-block;min-width:48px;font-variant-numeric:tabular-nums}.breeding>main{grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));align-items:start}.breeding .horse{cursor:pointer}.breeding .horse.selected{border-color:var(--accent)}.breeding .side-view{display:block;max-width:100%;height:auto!important;margin:4px auto 0}@media(min-width:1260px){.breeding .selected-horse{grid-column:span 2}}.pool .stats td{padding:2px 8px 2px 0}.pool .stats td:last-child{white-space:nowrap}
