:root{color-scheme:dark;--ink:#d6e1d7;--muted:#8fa398;--paper:#080d0c;--line:#2d4036;--green:#a0efb6;--orange:#ff823a;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-family:var(--mono);font-size:12px;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#4a6352 #0c1410}
body{margin:0;min-width:320px;background:radial-gradient(ellipse at 60% 0,#19251b66,transparent 60%),var(--paper)}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:10;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#00000010 3px,#00000010 4px)}
[hidden]{display:none!important}::selection{background:var(--orange);color:var(--paper)}
a{color:var(--green);text-underline-offset:3px}button,input,select{font:inherit;border-radius:0}
button{border:1px solid #516445;background:#142016;color:var(--green);padding:10px 16px;min-height:40px;cursor:pointer;font-size:11px;line-height:1.3}
button:hover{background:var(--orange);border-color:var(--orange);color:#081109}button:disabled{cursor:default;opacity:.4}button:disabled:hover{background:#142016;border-color:#516445;color:var(--green)}
button.primary{background:var(--orange);border-color:var(--orange);color:#081109;font-weight:700}button.primary:hover{background:var(--green);border-color:var(--green)}
select{width:100%;min-width:0;min-height:40px;border:1px solid #405243;background:#0c1510;color:var(--green);padding:8px;font-size:11px}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
label{display:block;font-size:10px;color:var(--muted);line-height:1.5}label+select{margin-top:5px}p{font-size:11px;line-height:1.65;color:var(--muted);margin:8px 0}h1,h2,h3{margin:0}h3{font-size:22px;line-height:1.3;font-weight:400;color:var(--green);letter-spacing:-.04em}dl,dd{margin:0}dt{font-size:10px;color:var(--muted);line-height:1.5}dd{color:var(--green);font-size:23px;font-variant-numeric:tabular-nums}
.skip-link{position:fixed;top:12px;left:12px;padding:12px;z-index:20;background:var(--orange);color:var(--paper)}.skip-link:not(:focus){width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.training-shell{max-width:1480px;margin:auto;padding:0 24px 32px}.training-header{display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;padding:27px 0 24px}.training-header::after{content:'';height:4px;position:absolute;inset:auto 0 0;background:linear-gradient(90deg,var(--orange) 0 27%,transparent 27% 28%,#4c5b3d 28% 96%,transparent 96% 97%,var(--orange) 97%)}
.training-header h1{font:700 64px/.95 'Times New Roman',serif;letter-spacing:-3px;color:var(--orange)}.status-light{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px;line-height:1.4}.status-light i{height:6px;width:6px;background:var(--muted);flex-shrink:0}.status-light i.running{background:var(--green);box-shadow:0 0 8px #a0efb650}.status-light i.paused{background:var(--orange)}
.run-bar{display:grid;grid-template-columns:auto minmax(160px,1fr) 150px auto;gap:30px;align-items:end;padding:23px 0}.run-actions{display:flex;gap:8px;align-items:center}.run-actions .primary{min-width:100px}.range-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.range-label output{color:var(--green);font-size:10px;font-variant-numeric:tabular-nums}
input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:40px;margin:5px 0 0;cursor:pointer;background:transparent;accent-color:var(--orange)}input[type=range]::-webkit-slider-runnable-track{height:4px;background:#3b553c}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:18px;margin-top:-7px;background:var(--orange);border:0;border-radius:0}input[type=range]::-moz-range-track{height:4px;background:#3b553c}input[type=range]::-moz-range-thumb{width:12px;height:18px;background:var(--orange);border:0;border-radius:0}
.error-banner{padding:12px 15px;background:#391e15;border:1px solid #af5231;color:#ffbe96;margin:0 0 15px;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.download-status{margin:0 0 15px;color:var(--green);font-size:11px}
.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:14px;align-items:start}.instrument{border:1px solid #586a48;background:#0d1611;min-width:0;box-shadow:inset 0 0 0 2px var(--paper)}.titlebar{display:flex;align-items:center;gap:14px;padding:0 14px;min-height:38px;background:#1a281a;border-bottom:1px solid #586a48;color:var(--orange)}.titlebar::after{content:'';height:8px;flex:1;background:repeating-linear-gradient(90deg,#65764c60 0,#65764c60 1px,transparent 1px,transparent 4px);order:1}.titlebar h2{font:17px Impact,'Arial Narrow',sans-serif;letter-spacing:.055em;text-transform:uppercase;font-weight:400;order:0}.instrument-id{font-size:10px;color:#a0b58d;order:2}.panel-body{padding:20px}
.preview-wrap{position:relative;width:100%;aspect-ratio:16/9;min-height:235px;isolation:isolate;background:radial-gradient(ellipse at 50% 70%,#263d29,#101b15 74%);overflow:hidden}.preview-wrap::after{content:'';position:absolute;inset:39px 16px 43px;pointer-events:none;background:linear-gradient(#a0efb655,#a0efb655) left top/18px 1px no-repeat,linear-gradient(#a0efb655,#a0efb655) left top/1px 18px no-repeat,linear-gradient(#a0efb655,#a0efb655) right bottom/18px 1px no-repeat,linear-gradient(#a0efb655,#a0efb655) right bottom/1px 18px no-repeat}
#training-preview{position:absolute;inset:0;touch-action:none;outline-offset:-3px}#training-preview canvas{display:block;width:100%;height:100%;object-fit:contain}.preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:55px 25px;text-align:center;pointer-events:none;color:#819980}.preview-empty .crosshair{font:36px/1 var(--mono);color:#799972;opacity:.6}.preview-empty strong{font-size:11px;font-weight:400;color:#a8bd9d}.preview-overlay,.preview-caption{position:absolute;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#cbdcbb;z-index:2;pointer-events:none}.preview-overlay{top:15px}.preview-overlay span:not(:empty){background:#0b170ccf;padding:5px 7px}.preview-overlay>span:last-child{color:var(--orange)}.preview-caption{bottom:10px;line-height:1.5}.preview-caption button{padding:6px 9px;min-height:32px;font-size:9px;pointer-events:auto;margin-left:auto}.preview-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:15px 17px;border-top:1px solid var(--line)}.preview-readouts dd{font-size:15px;margin-top:5px}
.stage-panel h3{margin:0 0 9px}.stage-panel p{margin:0;font-size:11px;min-height:18px}.progress-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:25px;font-size:10px;color:var(--green)}progress{display:block;width:100%;height:6px;margin:10px 0 18px;background:#213426;accent-color:var(--orange);border:0}progress::-webkit-progress-bar{background:#213426}progress::-webkit-progress-value{background:var(--orange)}progress::-moz-progress-bar{background:var(--orange)}.stage-list{list-style:none;padding:0;margin:0}.stage-list li{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid #24382c;font-size:11px;line-height:1.5;color:var(--muted)}.stage-list li:last-child{padding-bottom:0}.stage-list li.current{color:var(--green)}.stage-list li.complete{color:#8dc5c6}.stage-marker{font-size:9px;color:var(--orange);flex-shrink:0}
.timeline-panel{grid-column:1/-1}.score-readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.score-readouts dd{margin-top:6px}.score-readouts>div:nth-child(3) dd{color:var(--orange)}.reward-plot{height:185px;position:relative;margin-top:22px;background:#080f0bee;border-block:1px solid var(--line)}.reward-plot svg{display:block;width:100%;height:100%}.reward-plot p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;color:#8aa087;margin:0}#reward-path{stroke:var(--green);stroke-width:1.7;vector-effect:non-scaling-stroke}#reward-dots circle{fill:var(--orange)}#reward-grid line{stroke:#2a4031;stroke-width:1}#reward-grid text{fill:#8ca38f;font:9px var(--mono)}.plot-caption{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);padding:9px 0 14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:10px;text-align:left;font-variant-numeric:tabular-nums}th{font-weight:400;color:var(--muted);font-size:9px}th,td{padding:11px 8px;border-bottom:1px solid #253a2b}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{text-align:right;padding-right:0}td{color:var(--green)}
@media(min-width:1250px){.preview-wrap{max-height:440px}.stage-panel{min-height:100%}}
@media(max-width:1000px){.training-shell{padding-inline:18px}.run-bar{grid-template-columns:auto 1fr 140px;gap:18px}.run-bar>#save-checkpoint{grid-column:1}.budget-control{grid-row:1;grid-column:2}.preview-control{grid-row:1;grid-column:3}.workspace{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}.panel-body{padding:17px}}
@media(max-width:760px){.training-shell{padding:0 14px 24px}.training-header{padding:24px 0}.training-header h1{font-size:54px}.status-light{font-size:10px}.run-bar{grid-template-columns:1fr 1fr;padding:19px 0;gap:16px}.run-actions{grid-column:1/-1;grid-row:1}.run-actions button{flex:1}.budget-control{grid-row:2;grid-column:1}.preview-control{grid-row:2;grid-column:2}.run-bar>#save-checkpoint{grid-column:1/-1;grid-row:3}.workspace{display:flex;flex-direction:column}.instrument{width:100%}.preview-wrap{min-height:220px}.stage-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.stage-list li{font-size:10px}.stage-list li:last-child{padding-bottom:14px}.stage-panel p{min-height:0}.score-readouts{gap:14px}.score-readouts dd{font-size:20px}.titlebar h2{font-size:16px}}
@media(max-width:400px){.training-shell{padding-inline:10px}.training-header{gap:12px}.training-header h1{font-size:46px}.status-light{font-size:9px}.run-bar{gap:14px}.run-actions{gap:7px}.run-actions button{padding-inline:12px}.run-actions .primary{min-width:0}.preview-wrap{min-height:215px}.preview-caption{left:10px;right:10px}.preview-readouts{padding-inline:14px}.stage-list{grid-template-columns:1fr}.stage-list li:last-child{padding-bottom:0}.score-readouts{grid-template-columns:1fr 1fr;row-gap:18px}.panel-body{padding:16px}.titlebar{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
