:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--panel:#161b22;--border:#21262d;--fg:#c9d1d9;--dim:#8b949e}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:Inter,system-ui,sans-serif}.app{max-width:1200px;margin:0 auto;padding:16px}header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}h1{letter-spacing:.02em;margin:0;font-size:20px}h1 .sub{color:var(--dim);font-size:14px;font-weight:400}.clock{color:var(--dim);font-family:ui-monospace,monospace;font-size:14px}.controls{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}button{background:var(--panel);color:var(--fg);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:13px}button:hover{border-color:#3b434d}button.on{color:#58a6ff;border-color:#58a6ff}button.danger.on{color:#f85149;border-color:#f85149}button.policy.on{color:#d29922;border-color:#d29922}.mass-alert{color:#000;background:#f85149;border-radius:6px;margin-bottom:12px;padding:6px 12px;font-weight:600}main{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=900px){main{grid-template-columns:1fr}}.chart,.events{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.chart-head{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.chart-title{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.chart-legend{flex-wrap:wrap;gap:10px;font-family:ui-monospace,monospace;font-size:11px;display:flex}.chart-desc{color:var(--dim);margin-bottom:8px;font-size:12px;line-height:1.45}.control-groups{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;margin-bottom:12px;padding:8px 12px;display:flex}.control-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.control-label{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;min-width:110px;font-size:11px}.control-row button{padding:4px 8px;font-size:12px}button:disabled{opacity:.45;cursor:default}.control-hint{color:var(--dim);font-size:11.5px}.kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:12px;display:grid}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);font-size:10.5px}.kpi-value{font-variant-numeric:tabular-nums;margin:2px 0;font-size:22px;font-weight:650}.kpi-delta{min-height:14px;font-family:ui-monospace,monospace;font-size:11px}.kpi-up{color:#7ee787}.kpi-down{color:#f85149}.hint.resume{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hint.resume button{color:#58a6ff;border-color:#58a6ff}.narration{color:var(--fg);line-height:1.5;padding:5px 0!important}.dim2{color:var(--dim);font-size:12px}.inspector{z-index:3;background:#0d1117f5;border:1px solid #2f81f7;border-radius:8px;width:min(340px,85%);max-height:calc(100% - 20px);padding:10px 12px;font-size:12.5px;position:absolute;top:10px;right:10px;overflow-y:auto}.inspector-head{align-items:baseline;gap:6px;margin-bottom:6px;display:flex}.inspector-close{margin-left:auto;padding:1px 7px;font-size:12px}.inspector-body{border-top:1px solid var(--border);flex-direction:column;gap:3px;padding:7px 0;display:flex}.inspector-table{border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:4px;font-size:11.5px}.inspector-table th{text-align:right;color:var(--dim);padding:2px 8px 2px 0;font-weight:500}.inspector-table td{text-align:right;border-top:1px solid var(--border);padding:2px 8px 2px 0}.inspector-table th:first-child,.inspector-table td:first-child{text-align:left}.legend-group{gap:10px;padding-right:14px;display:flex}.world-report{margin-bottom:12px}.credit{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:14px;margin-top:12px;padding:14px 16px;display:flex}.credit img{flex-shrink:0}.credit p{color:var(--dim);margin:0 0 6px;font-size:12.5px;line-height:1.55}.credit p:last-child{margin-bottom:0}.credit strong{color:var(--fg)}.credit a{color:#58a6ff;text-decoration:none}.credit a:hover{text-decoration:underline}.map-wrap{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;position:relative;overflow:hidden}.map-canvas{cursor:crosshair;width:100%;height:380px;display:block}.map-legend{color:var(--dim);pointer-events:none;gap:12px;font-family:ui-monospace,monospace;font-size:11px;display:flex;position:absolute;bottom:8px;left:10px}.map-held{z-index:1;color:#ff7b72;pointer-events:none;background:#0d1117e6;border:1px solid #f85149;border-radius:4px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:12px;position:absolute;top:8px;left:10px}.map-tooltip{border:1px solid var(--border);pointer-events:none;white-space:nowrap;z-index:2;background:#0d1117f2;border-radius:6px;padding:6px 9px;font-size:12px;position:absolute}.map-tooltip-detail{color:var(--dim);margin-top:2px;font-size:11px}.hint{background:var(--panel);color:var(--fg);border:1px solid #2f81f7;border-radius:8px;margin-bottom:12px;padding:12px 16px;font-size:13px;line-height:1.55}.events ul{margin:6px 0 0;padding:0;font-size:12px;list-style:none}.events li{border-bottom:1px solid var(--border);padding:2px 0}.ev-tick{color:var(--dim);margin-right:6px;font-family:ui-monospace,monospace}.ev-bankruptcy{color:#f85149}.ev-entry{color:#7ee787}.ev-capacity_online{color:#58a6ff}.ev-shock{color:#ffa657;font-weight:600}.ev-policy{color:#d2a8ff}button.sources-open{color:#79c0ff;border-color:#2f81f7}.grade{white-space:nowrap;border:1px solid;border-radius:9px;padding:0 6px;font-family:ui-monospace,monospace;font-size:10.5px;line-height:1.4;display:inline-block}.grade-a{color:#7ee787;background:#7ee78714;border-color:#7ee78780}.grade-b{color:#79c0ff;background:#79c0ff14;border-color:#79c0ff80}.grade-c{color:#e3b341;background:#e3b3411a;border-color:#e3b34199}.grade-x{color:#f778ba;background:#f778ba14;border-style:dashed;border-color:#f778bab3;font-style:italic}.node-source{margin-left:4px}.sources-backdrop{z-index:20;background:#01040999;justify-content:flex-end;display:flex;position:fixed;inset:0}.sources{background:var(--bg);border-left:1px solid #2f81f7;width:min(1040px,100%);height:100%;padding:16px 20px 24px;font-size:13px;overflow-y:auto}.sources-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.sources-head h2{margin:0;font-size:17px}.sources-intro p{margin:0 0 8px;line-height:1.55}.sources-note{margin-bottom:4px;line-height:1.5}.sources-note-key{color:var(--dim);text-transform:uppercase;font-family:ui-monospace,monospace;font-size:11px}.sources-legend{flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.sources-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:14px;display:grid}.sources-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.sources-card-title{color:var(--dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.sources-card-value{font-weight:600}.sources-card-foot{justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding-top:4px;display:flex}.sources-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.sources-filter .dim2{flex:100%}.sources-filter select,.sources-filter input{background:var(--panel);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:12.5px}.sources-filter input{flex:1;min-width:180px}.sources-group{margin-bottom:14px}.sources-table-wrap{overflow-x:auto}.sources-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:12px}.sources-table th{text-align:left;color:var(--dim);white-space:nowrap;padding:3px 8px 3px 0;font-weight:500}.sources-table td{vertical-align:top;border-top:1px solid var(--border);padding:4px 8px 4px 0}.sources-table td:nth-child(3){max-width:260px}.sources-table a,.sources a{color:#58a6ff;text-decoration:none}.sources-table a:hover,.sources a:hover{text-decoration:underline}.row-assumption td{background:#f778ba0a}.sources-path{color:var(--dim);font-family:ui-monospace,monospace;font-size:10.5px}.sources-empty{margin:12px 0}.sources-foot{border-top:1px solid var(--border);margin-top:16px;padding-top:8px}.quota-lever{align-items:center;gap:4px;margin-right:8px;font-size:12px;display:inline-flex}.quota-lever input[type=range]{width:80px}.sched{border-left:3px solid #e6edf3;align-items:center;gap:6px;margin-right:12px;padding-left:6px;font-size:12px;display:inline-flex}.sched.cancelled,.sched.ended{opacity:.55}.sched.cancelled b{text-decoration:line-through}
