/* Restores the published Strix Showdown track, in Tom's forest and gold palette. */
#race{--race-pass:#27d4a0;--race-partial:#f3c654;--race-fail:#ff6978;--race-focus:#edc450;background:var(--forest);color:var(--track-text);padding:32px 0 38px}
#race .race-heading{display:block;margin-bottom:20px}#race .race-heading h2{font-size:48px;margin:0 0 12px}#race .race-heading p{font-size:13px;color:var(--track-muted);margin-bottom:0}#race .race-heading .eyebrow{font:10px var(--mono);color:var(--gold);margin-bottom:12px}.live-dot{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:5px}
.race-box{position:relative;border:1px solid #edc45060;border-radius:12px;overflow:hidden;background:radial-gradient(120% 80% at 50% -10%,#edc45014,transparent 60%),repeating-linear-gradient(90deg,#ffffff04 0 1px,transparent 1px 48px),linear-gradient(180deg,#131a16,#080c09);box-shadow:0 24px 64px #0005}
.race-box::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold),#b1c19a,#edc45044)}
.race-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px 24px;padding:20px 20px 16px;align-items:center;border-bottom:1px solid #ffffff12}
.benchmark-clock{display:grid;gap:8px;min-width:260px}.benchmark-clock>span{font:10px var(--mono);letter-spacing:.14em;color:var(--track-muted)}.benchmark-clock strong{font:700 52px/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.045em;color:#fffdf0;text-shadow:0 0 22px #edc45035}.benchmark-clock small{font:10px var(--mono);color:var(--track-muted)}
.race-controls{display:grid;gap:10px;justify-items:end;min-width:0}.control-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.control-label{font:9px var(--mono);letter-spacing:.08em;color:var(--track-muted)}
#race button{min-height:44px;padding:8px 12px;background:#ffffff05;border:1px solid #ffffff20;color:var(--track-text);font-size:11px;white-space:nowrap}#race button:hover{background:#ffffff12;border-color:#edc45080}#race button.primary{background:var(--gold);border-color:var(--gold);color:var(--ink);min-width:92px;box-shadow:0 0 20px #edc45020}.race-tabs{display:flex;border:1px solid #ffffff22;border-radius:6px;overflow:hidden;max-width:100%}#race .race-tabs button{border:0;border-right:1px solid #ffffff12;border-radius:0;background:transparent}#race .race-tabs button:last-child{border-right:0}#race .race-tabs button[aria-pressed=true]{color:var(--gold);background:#edc45014;box-shadow:inset 0 0 0 1px #edc45055}#race .speed-tabs button{font:10px var(--mono);padding:8px 10px}
.race-timeline{display:flex;align-items:center;gap:12px;padding:8px 20px 0;font:10px var(--mono);color:var(--track-muted);font-variant-numeric:tabular-nums}.race-timeline input{flex:1;min-width:0;accent-color:var(--gold);min-height:32px;margin:0;cursor:pointer}.race-timeline>span{white-space:nowrap}
#race .race-note{padding:0 20px;margin:4px 0 16px;max-width:none;font-size:11px;line-height:1.6;color:var(--track-muted)}#race .race-scroll{overflow:visible}#race .lanes{padding:0 24px 8px;min-width:0}
#race .lane,#race .lane-head{display:grid;grid-template-columns:216px minmax(0,1fr) 110px;gap:16px;align-items:center}#race .lane{min-height:76px;padding:7px 0;border-top:1px solid #ffffff0b;border-bottom:0;position:relative}#race .lane-head{padding:0;height:24px}.lane-head .track{height:18px!important}.st-label{position:absolute;top:2px;left:calc(var(--x)*100%);transform:translateX(-50%);font:9px var(--mono);color:var(--track-muted)}
.lane-id{display:flex;align-items:center;gap:10px;min-width:0}.lane-id img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--c)}.lane-id div{min-width:0;display:grid}.lane-id b{font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lane-id small{font:9px var(--mono);color:var(--track-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.lane-id .record-date{font-size:8px;opacity:.8}.lane-id .st.live{color:var(--gold)}.lane-id .st.done{color:var(--track-text)}
#race .track{position:relative;height:62px;min-width:0;padding:0}.rail{position:absolute;left:0;right:0;top:46px;height:2px;background:#ffffff18;transform:translateY(-50%)}.rail-fill{position:absolute;left:0;right:0;top:45px;height:3px;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,transparent,var(--c));box-shadow:0 0 10px var(--c);border-radius:2px;will-change:transform}.finish{position:absolute;right:-6px;top:26px;width:8px;height:40px;border-radius:2px;opacity:.8;background:repeating-conic-gradient(#f4f0e5 0 25%,#111 0 50%) 0 0 / 8px 8px}
#race .lt{position:absolute;top:46px;left:calc(var(--x)*100%);transform:translate(-50%,-50%);width:calc(100% / var(--stations));height:44px;min-height:44px;padding:0;display:grid;place-items:center;background:none;border:0;border-radius:0;z-index:2;white-space:normal}#race .lt:hover{background:none;border:0}#race .lt .light{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;background:#1d2520;border:1px solid #ffffff26;color:transparent;font:700 11px var(--body);transition:background .2s,box-shadow .2s,border-color .2s}
#race .lt.pass .light{background:var(--race-pass);border-color:#82f0ce;color:#04261c;box-shadow:0 0 12px #27d4a0b0}#race .lt.partial .light{background:var(--race-partial);border-color:#ffe596;color:#2c2002;box-shadow:0 0 12px #f3c654b0}#race .lt.fail .light{background:var(--race-fail);border-color:#ffa8b0;color:#2f0207;box-shadow:0 0 12px #ff6978b0}#race .lt.active .light{border-color:var(--gold);box-shadow:0 0 0 3px #edc45030,0 0 14px #edc45080;animation:station-pulse 1s ease-in-out infinite}#race .lt:hover .light{outline:1px solid var(--gold);outline-offset:3px}#race .lt.pop .light{animation:station-pop .45s cubic-bezier(.2,1.6,.4,1)}
.runner-wrap{position:absolute;inset:0;pointer-events:none;will-change:transform;transform:translate3d(0,0,0)}.runner{position:absolute;top:16px;left:0;width:34px;height:34px;border-radius:50%;transform:translate(-50%,-50%);object-fit:cover;box-shadow:0 0 0 2px var(--c),0 0 18px var(--c);z-index:3}.runner-tick{position:absolute;top:32px;left:0;width:2px;height:8px;background:var(--c);transform:translateX(-50%);opacity:.8}.runner.working{animation:runner-bob .5s ease-in-out infinite alternate}.runner.finished{box-shadow:0 0 0 2px var(--c),0 0 26px var(--c),0 0 0 6px #ffffff14}.tom-lane .runner{object-position:50% 25%}.tom-lane .lane-id img{object-position:50% 25%}
.lane-score{display:grid;justify-items:end;gap:4px;font-variant-numeric:tabular-nums}.lane-score .pts{font:600 22px/1 var(--mono)}.lane-score .pts small{font-size:10px;color:var(--track-muted);font-weight:400;margin-left:2px}.lane-score .tm{font:10px var(--mono);color:var(--track-muted)}.lane-score .done-count{font:8px var(--mono);color:var(--track-muted);letter-spacing:.04em}#race .unmeasured .track{display:flex;align-items:center;font:10px var(--mono);color:var(--track-muted)}
#race .race-legend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:8px 24px 16px;font:10px var(--mono);color:var(--track-muted)}.race-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.race-legend i.pass{background:var(--race-pass);box-shadow:0 0 8px #27d4a055}.race-legend i.partial{background:var(--race-partial);box-shadow:0 0 8px #f3c65455}.race-legend i.fail{background:var(--race-fail);box-shadow:0 0 8px #ff697855}.legend-hint{margin-left:auto}
.race-foot{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;padding:16px 24px;border-top:1px solid #ffffff12;background:#ffffff02}.race-foot h3{margin:0 0 10px;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--track-muted)}.race-foot ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}.feed li{display:grid;grid-template-columns:56px 20px minmax(0,1fr);gap:8px;align-items:center;font-size:11px;color:var(--track-muted);min-height:20px}.race-foot img{width:20px;height:20px;border-radius:50%;object-fit:cover}.feed .t{font:9px var(--mono);font-variant-numeric:tabular-nums}.feed .msg{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed b{font-weight:500;color:var(--track-text)}.feed .v.pass{color:var(--race-pass)}.feed .v.partial{color:var(--race-partial)}.feed .v.fail{color:var(--race-fail)}.feed li.new{animation:feed-arrive .25s ease-out}.progress-board li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:11px}.progress-board .s{font:10px var(--mono);font-variant-numeric:tabular-nums}.progress-board .s small{font-size:9px;color:var(--track-muted)}.progress-board p{font:8px var(--mono);color:var(--track-muted);margin:10px 0 0}
#race .checkpoint-details{border-top:1px solid #ffffff12;margin:0;padding:0}#race .checkpoint-details>summary{font:11px var(--body);color:var(--track-muted);padding:12px 24px;min-height:44px}#race .inspector{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;background:#ffffff02;padding:20px 24px;border:0}#race .inspector h3{font:500 24px var(--display);margin-bottom:10px}#race .inspector .eyebrow{font:9px var(--mono);color:var(--gold);margin-bottom:8px}#race .inspector p{font-size:12px;color:var(--track-muted);margin-bottom:0}.inspector-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:14px}.inspector-details span{display:block;font:8px var(--mono);color:var(--track-muted);margin-bottom:4px}.inspector-details b{font:12px var(--mono)}.verdict-tag{font:9px var(--mono);display:inline-block;border:1px solid #ffffff25;padding:3px 7px}
.race-tooltip{position:fixed;z-index:50;pointer-events:none;max-width:300px;background:#101a14f7;border:1px solid #edc45060;border-radius:8px;padding:12px;font-size:11px;color:var(--track-text);box-shadow:0 12px 40px #0006}.race-tooltip b{display:block;margin-bottom:4px}.race-tooltip .meta{font:10px var(--mono);color:var(--track-muted);margin:6px 0}.race-tooltip p{margin:0}.race-tooltip[hidden]{display:none}
@keyframes station-pulse{50%{box-shadow:0 0 0 6px #edc45012,0 0 18px #edc450b0}}@keyframes station-pop{0%{transform:scale(.7)}60%{transform:scale(1.3)}100%{transform:scale(1)}}@keyframes runner-bob{to{transform:translate(-50%,calc(-50% - 3px))}}@keyframes feed-arrive{from{opacity:0;transform:translateY(-4px)}}
@media(max-width:1100px){.race-top{grid-template-columns:minmax(0,1fr);gap:16px}.race-controls{justify-items:start}.control-row{justify-content:flex-start}.benchmark-clock{min-width:0}#race .lane,#race .lane-head{grid-template-columns:190px minmax(0,1fr) 90px;gap:16px}}
@media(max-width:700px){#race{padding:24px 0}#race .race-heading h2{font-size:36px}#race .race-heading p{font-size:11px}#race .wrap{width:calc(100% - 24px)}.race-top{padding:16px;gap:14px}.benchmark-clock strong{font-size:42px}.benchmark-clock small{font-size:9px}.race-controls{width:100%}.control-row{gap:6px;width:100%}.race-tabs{width:100%}#race .race-tabs button{flex:1;padding:8px;font-size:10px}#race .speed-tabs button{font-size:10px;min-height:40px}.control-label{display:none}.speed-tabs{width:100%;flex:none}#race #play,#race #restart,#race #finish{font-size:10px;padding:8px 10px;min-width:0}#race #play{flex:1}#race #finish{margin-left:auto}.race-timeline{padding:8px 16px 0}#race .race-note{padding:0 16px;font-size:10px;margin-bottom:10px}#race .race-scroll{overflow:visible}#race .lanes{padding:0 16px 8px;min-width:0}#race .lane,#race .lane-head{grid-template-columns:34px minmax(0,1fr) 58px;gap:10px}.lane-id img{width:30px;height:30px}.lane-id div{display:none}#race .lt .light{width:12px;height:12px;border-radius:3px;font-size:7px}.runner{width:26px;height:26px}.st-label{font-size:7px}.lane-score .pts{font-size:16px}.lane-score .pts small{font-size:8px}.lane-score .tm{font-size:8px}.lane-score .done-count{font-size:7px}#race .lane{min-height:76px}.lane-id b{font-size:11px}.lane-id .record-date{font-size:8px}.race-foot{grid-template-columns:minmax(0,1fr);gap:22px;padding:16px}#race .race-legend{padding:8px 16px 16px;gap:12px;font-size:9px}.legend-hint{margin-left:0;width:100%;font-size:9px}#race .checkpoint-details>summary{padding:12px 16px}#race .inspector{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.inspector-details{gap:12px}.inspector-details b{font-size:11px}}
@media(prefers-reduced-motion:reduce){#race .runner,#race .lt .light,#race .feed li{animation:none!important;transition:none!important}.runner-wrap,.rail-fill{will-change:auto}}
