:root{color:#e8eef7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#080a0f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.app-shell{background:linear-gradient(120deg,#38f8d414,#0000 32%),linear-gradient(300deg,#ffce4512,#0000 36%),#080a0f;min-height:100vh;padding:18px}.workspace{grid-template-columns:minmax(0,1fr) 354px;align-items:stretch;gap:16px;width:100%;height:calc(100vh - 36px);min-height:620px;display:grid}.stage-panel,.control-panel{background:#0a0e14e0;border:1px solid #8fa3bb33;box-shadow:0 20px 80px #00000059}.stage-panel{border-radius:8px;flex-direction:column;min-width:0;max-width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.topbar{border-bottom:1px solid #8fa3bb2e;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.eyebrow{color:#38f8d4;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}h1{color:#f8fbff;letter-spacing:0;margin:0;font-size:31px;line-height:1.05}.run-cluster{align-items:center;gap:8px;display:flex}.racer-stage{touch-action:none;-webkit-user-select:none;user-select:none;background:#090b10;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.racer-stage canvas{background:#090b10;outline:none;width:auto;max-width:none;height:auto;max-height:none;display:block;position:absolute;top:0;left:0}.camera-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080a0fc7;border:1px solid #8fa3bb38;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;bottom:18px;left:18px}.camera-toolbar .icon-button{width:36px;min-height:34px}.camera-toolbar span{color:#aebbc9;font-variant-numeric:tabular-nums;text-align:right;min-width:48px;font-size:13px}.control-panel{border-radius:8px;flex-direction:column;gap:12px;min-height:0;max-height:100%;padding:14px;display:flex;overflow-y:auto}.panel-section,.metric-tile{background:#10161fc7;border:1px solid #8fa3bb2e;border-radius:8px}.panel-section{padding:14px}.status-section{gap:10px;display:grid}.status-line,.track-name,.section-heading,.metric-tile div,.control-row{align-items:center;display:flex}.status-line{color:#f8fbff;gap:9px}.status-dot{background:#8fa3bb;border-radius:999px;width:10px;height:10px;box-shadow:0 0 18px #8fa3bb73}.status-dot.running{background:#38f8d4;box-shadow:0 0 18px #38f8d4d9}.status-dot.drawing{background:#ff5b7c;box-shadow:0 0 18px #ff5b7ccc}.status-dot.evolving{background:#ffce45;box-shadow:0 0 18px #ffce45cc}.status-dot.complete{background:#d6ff5a;box-shadow:0 0 18px #d6ff5ad1}.track-name{color:#aebbc9;gap:8px;font-size:14px}.metrics-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.metric-tile{flex-direction:column;justify-content:space-between;min-height:86px;padding:12px;display:flex}.metric-tile div{color:#8fa3bb;text-transform:uppercase;justify-content:space-between;gap:8px;font-size:12px}.metric-tile svg{color:#38f8d4}.metric-tile strong{color:#f8fbff;overflow-wrap:anywhere;font-size:21px;line-height:1.08}.section-heading{color:#e8eef7;justify-content:space-between;margin-bottom:10px;font-weight:750}.progress-track{background:#202a36;border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#38f8d4,#ffce45);min-width:2px;height:100%;display:block}.fitness-chart{width:100%;height:72px;margin-top:14px;overflow:visible}.fitness-chart polyline{fill:none;stroke:#ff5b7c;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.goal-copy{color:#aebbc9;gap:4px;margin-top:10px;font-size:13px;display:grid}.completion-card{background:#d6ff5a14;border-color:#d6ff5a57;gap:10px;display:grid}.completion-card strong{color:#d6ff5a}.completion-card span{color:#d7e0eb;font-size:14px}.controls{gap:14px;display:grid}.control-row{gap:10px;min-height:34px}.control-row label{color:#aebbc9;width:82px;font-size:14px}.control-row input[type=range]{accent-color:#38f8d4;flex:1;min-width:0}.control-row output{text-align:right;color:#f8fbff;font-variant-numeric:tabular-nums;width:42px}.control-row select{color:#f8fbff;background:#111821;border:1px solid #8fa3bb52;border-radius:6px;flex:1;height:34px;padding:0 10px}.plan-note{color:#c5d1df;background:#38f8d412;border:1px solid #38f8d438;border-radius:6px;min-height:30px;padding:7px 9px;font-size:13px}.advanced-tuning{border-top:1px solid #8fa3bb29;gap:12px;padding-top:12px;display:grid}.advanced-tuning summary{cursor:pointer;color:#ffce45;font-weight:750}.advanced-tuning[open]{gap:14px}.advanced-tuning .control-row{margin-top:12px}.command-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.icon-button{color:#e8eef7;background:#111821;border:1px solid #8fa3bb3d;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.icon-button:hover:not(:disabled),.icon-button.active{background:#38f8d41f;border-color:#38f8d4b3}.icon-button:active:not(:disabled){transform:translateY(1px)}.icon-button.primary{color:#06110f;background:#38f8d4;border-color:#38f8d4a6;min-width:118px;font-weight:800}.icon-button.primary:hover{background:#70ffe7}.algorithm-note{color:#aebbc9;gap:6px;font-size:14px;display:grid}.algorithm-note strong{color:#ffce45}.file-input{display:none}@media (width<=1120px){.app-shell{padding:12px}.workspace{grid-template-columns:1fr;height:auto;min-height:auto}.racer-stage{flex:none;height:68vh;min-height:500px}.control-panel{overflow:visible}}@media (width<=680px){.topbar{flex-direction:column;align-items:flex-start}h1{font-size:25px}.racer-stage{height:62vh;min-height:380px}.run-cluster{width:100%}.run-cluster .primary{flex:1}.metrics-grid,.command-grid{grid-template-columns:1fr}.control-row{flex-wrap:wrap;align-items:stretch}.control-row label{width:100%}}
