:root{--bg:#0b1020;--panel-bg:#11182b;--panel-border:#22304a;--text:#e6e8ef;--text-muted:#8891a7;--text-subtle:#c3c9db;--input-bg:#0b1020;--input-border:#334165;--readout-bg:#0b1020;--readout-border:#334165;--button-bg:#2a3a66;--button-border:#3a4a7a;--button-hover-bg:#344a86;--overlay-bg:#0b1020b3;--overlay-border:#334165;--status-good:#6bffb0;--status-bad:#ff6b5e;--chart-surface:#1a1a19;--chart-series-1:#3987e5;--chart-text-primary:#fff;--chart-text-secondary:#c3c2b7;--chart-text-muted:#898781;--chart-gridline:#2c2c2a;--chart-baseline:#383835}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}body{overflow-y:auto}#app{flex-direction:column;width:100vw;min-height:100vh;display:flex}#top-row{width:100%;height:72vh;min-height:420px;display:flex;position:relative}#panel-toggle{z-index:40;background:var(--overlay-bg);border:1px solid var(--overlay-border);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:6px;width:auto;padding:8px 14px;font-size:13px;position:fixed;top:16px;right:16px}#scene-container{flex:auto;min-width:0;position:relative}#scene-overlay{background:var(--overlay-bg);border:1px solid var(--overlay-border);pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:6px;padding:8px 14px;font-size:13px;line-height:1.5;position:absolute;top:16px;left:16px}#scene-overlay .glare-yes{color:var(--status-bad);font-weight:600}#scene-overlay .glare-no{color:var(--text-muted)}#pov-toggle{background:var(--overlay-bg);border:1px solid var(--overlay-border);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:6px;width:auto;padding:8px 14px;font-size:13px;position:absolute;top:16px;right:16px}#pov-toggle.active{background:var(--button-bg);border-color:var(--button-border)}#panel{background:var(--panel-bg);border-left:1px solid var(--panel-border);flex:0 0 340px;padding:16px;transition:flex-basis .2s,padding .2s,background .2s;overflow-y:auto}#top-row.panel-collapsed #panel{border-left:none;flex-basis:0;padding:0;overflow:hidden}@media (width<=760px){#panel{z-index:30;flex-basis:auto;width:min(340px,85vw);height:100%;padding:16px;transition:transform .2s;position:absolute;top:0;right:0;transform:translate(0);box-shadow:-12px 0 28px #0000004d}#top-row.panel-collapsed #panel{border-left:1px solid var(--panel-border);padding:16px;transform:translate(100%)}}#top-row.panel-collapsed #pov-toggle{top:60px}#panel h1{margin:0 0 4px;font-size:16px}#panel .subtitle{color:var(--text-muted);margin:0 0 16px;font-size:12px}#panel section{border-bottom:1px solid var(--panel-border);margin-bottom:20px;padding-bottom:16px}#panel section:last-child{border-bottom:none}#panel h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 10px;font-size:12px}.field{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.field[hidden]{display:none}.field label{color:var(--text-subtle);flex:auto}.field input[type=number],.field input[type=date],.field select{background:var(--input-bg);width:110px;color:var(--text);border:1px solid var(--input-border);border-radius:4px;padding:4px 6px}.field input[type=range]{flex:auto}.field input[type=checkbox]{width:18px;height:18px;accent-color:var(--button-bg);cursor:pointer}.readout{background:var(--readout-bg);border:1px solid var(--readout-border);border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.6}.readout .glare-yes{color:var(--status-bad);font-weight:600}.readout .glare-no{color:var(--status-good);font-weight:600}button{background:var(--button-bg);color:var(--text);border:1px solid var(--button-border);cursor:pointer;border-radius:6px;width:100%;padding:8px 12px;font-size:13px}button:hover{background:var(--button-hover-bg)}button.active{background:#1b6b5c;border-color:#2a8f7a}button.active:hover{background:#1f8270}button:disabled{opacity:.5;cursor:wait}#year-section{border-top:1px solid var(--panel-border);padding:20px 24px 40px}#year-section .year-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}#year-section h2{margin:0;font-size:14px}#year-section .subtitle{color:var(--text-muted);margin:2px 0 0;font-size:12px}#year-section .year-actions{gap:8px;display:flex}#year-section .year-actions button{width:auto}#year-chart-svg{background:var(--chart-surface);border-radius:6px;width:100%;height:320px;display:block}#year-chart-svg text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.chart-tooltip{pointer-events:none;background:var(--readout-bg);border:1px solid var(--readout-border);color:var(--chart-text-secondary);white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:12px;line-height:1.5;position:absolute;transform:translate(-50%,-110%)}.chart-tooltip strong{color:var(--chart-text-primary)}.chart-tooltip .key{background:var(--chart-series-1);vertical-align:middle;width:10px;height:2px;margin-right:5px;display:inline-block}#year-table-wrap{border:1px solid var(--panel-border);border-radius:6px;max-height:320px;margin-top:14px;overflow-y:auto}#year-table-wrap table{border-collapse:collapse;width:100%;font-size:12px}#year-table-wrap th,#year-table-wrap td{text-align:left;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--panel-border);padding:4px 10px}#year-table-wrap th{color:var(--chart-text-muted);background:var(--panel-bg);position:sticky;top:0}
