
:root{
  --bg:#090812;--panel:#12101d;--panel2:#0d0c16;--card:#181526;--line:#38334f;--line2:#272239;
  --text:#f8f6ff;--muted:#aaa5c2;--accent:#a78bfa;--accent2:#62d9ff;--blue:#62d9ff;--green:#59ddb2;--yellow:#ffd166;--pink:#ff8fc8;
  --purple:#a78bfa;--orange:#ff9d76;--red:#ff7f91;--bwp:#a4a8bb;--pucch:#79a7ff;--prach:#d98df2;--srs:#f5ba5b;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:linear-gradient(180deg,#090812,#0d0b18 48%,#080710);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{padding:0}
button,select,input{font:inherit}
.app{width:100%;max-width:1800px;margin:0 auto;padding:18px}
.top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px;flex-wrap:wrap}.topActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn.homeReset{border-color:#6d5fd0;background:#241d42;color:#fff}.btn.homeReset:hover{background:#302657}.eduNotice{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(255,209,102,.38);border-left:3px solid var(--yellow);background:rgba(255,209,102,.07);border-radius:9px;color:#d9d0ae;font-size:10px;line-height:1.45}.eduNotice b{color:#ffe8ad}
h1{margin:0 0 5px;font-size:25px;letter-spacing:.2px}.sub{color:var(--muted);line-height:1.45;max-width:1040px;font-size:13px}
.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{border:1px solid #2e4a65;background:#0b1b2b;color:#cfe9ff;border-radius:999px;padding:7px 10px;font-size:11px;white-space:nowrap}
.layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px;align-items:start}
.panel{background:rgba(13,26,41,.96);border:1px solid #243c54;border-radius:15px;padding:14px;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.sidebar{position:sticky;top:10px;max-height:calc(100vh - 20px);overflow:auto;scrollbar-width:thin}
h2{font-size:15px;margin:0 0 10px}.sectionTitle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.status{font-size:9px;font-weight:750;letter-spacing:.35px;border-radius:999px;padding:4px 7px;text-transform:uppercase}.exact{background:rgba(81,208,164,.12);border:1px solid rgba(81,208,164,.45);color:#9ff0d0}.schem{background:rgba(255,209,102,.10);border:1px solid rgba(255,209,102,.4);color:#ffe3a3}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.full{grid-column:1/-1}label{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}
select,input[type=number],input[type=text]{width:100%;border:1px solid #2a435c;background:#0f0d19;color:var(--text);border-radius:8px;padding:7px 8px;font-size:12px;min-height:34px}
input[type=range]{width:100%;accent-color:var(--accent)}.readout{font-size:10px;color:#d5e6f7;margin-top:2px}.help{font-size:10px;color:#7f96ae;line-height:1.4;margin-top:5px}
.divider{height:1px;background:#23394f;margin:12px 0}.btnrow{display:flex;gap:7px;flex-wrap:wrap}.btn{border:1px solid #315472;background:#102238;color:#ebf7ff;border-radius:8px;padding:7px 9px;font-weight:700;font-size:11px;cursor:pointer}.btn:hover{background:#16304a}.btn.active{border-color:var(--accent);background:#2a2145}.btn:disabled{opacity:.45;cursor:not-allowed}
.metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;margin-bottom:10px}.metric{background:#100e1b;border:1px solid #223a52;border-radius:11px;padding:9px 10px;min-width:0}.metric .k{font-size:9px;color:var(--muted)}.metric .v{font-size:17px;font-weight:800;margin-top:2px;white-space:nowrap}.metric .s{font-size:9px;color:#8097af;margin-top:2px;white-space:normal}
.main{min-width:0}.canvasWrap{position:relative}.gridTooltip{position:absolute;z-index:20;display:none;pointer-events:none;max-width:310px;background:rgba(7,13,22,.97);border:1px solid #7CFFB2;border-radius:9px;padding:9px 10px;color:#eafff4;box-shadow:0 10px 30px rgba(0,0,0,.45);font-size:10px;line-height:1.4}.gridTooltip b{display:block;color:#7CFFB2;font-size:11px;margin-bottom:3px}.navrow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:6px 0 8px}.drill{display:flex;gap:5px;flex-wrap:wrap}.crumb{font-size:11px;color:#a9bfd5}.canvasWrap{background:#0a0913;border:1px solid #243c54;border-radius:13px;padding:9px;overflow:auto}.canvasToolbar{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px;flex-wrap:wrap}.tiny{font-size:10px;color:var(--muted)}
canvas{display:block;width:100%;min-width:760px;height:auto;background:#0a0912;border-radius:8px}.legend{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.lg{display:inline-flex;align-items:center;gap:5px;border:1px solid #274158;background:#100e1b;border-radius:7px;padding:5px 7px;color:#bfd0e0;font-size:9px}.dot{width:8px;height:8px;border-radius:2px}
.bottomGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.subpanel{background:#100e1b;border:1px solid #223b53;border-radius:12px;padding:11px}.subpanel h3{font-size:13px;margin:0 0 9px}.specLine{display:flex;gap:7px;align-items:flex-start;font-size:10px;color:#b7cadc;line-height:1.4;margin-top:7px}.specLine b{color:#edf7ff}
.cceGrid{display:grid;grid-template-columns:repeat(16,minmax(22px,1fr));gap:3px;margin-top:8px}.cce{border:1px solid #2a435b;background:#0f0d19;border-radius:4px;text-align:center;padding:5px 2px;font-size:8px;color:#8fa6bb}.cce.hit{background:#322753;border-color:var(--accent);color:white}.candRows{margin-top:8px;display:grid;gap:5px}.cand{display:flex;justify-content:space-between;gap:10px;border:1px solid #233b52;background:#0f0d19;border-radius:7px;padding:6px 8px;font-size:10px}.cand strong{color:#e9f7ff}.warn{border-left:3px solid var(--yellow);background:#181a17;color:#e9ddb9;border-radius:0 8px 8px 0;padding:7px 9px;font-size:10px;line-height:1.4;margin-top:8px}.ok{border-left-color:var(--green);background:#0e1d1a;color:#bde9d8}.bad{border-left-color:var(--red);background:#211416;color:#ffd1d1}
.waterfall{display:grid;gap:7px}.wfrow{display:grid;grid-template-columns:150px 1fr 76px;gap:8px;align-items:center;font-size:10px}.barbg{height:18px;background:#0c0a14;border:1px solid #20384f;border-radius:5px;overflow:hidden}.bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));min-width:2px}.wfval{text-align:right;font-weight:750;color:#dcedfb}.diag{font-size:10px;color:#b7cadc;line-height:1.45;margin-top:8px}.diag strong{color:#fff}
.footer{font-size:9px;color:#71879d;margin-top:10px;line-height:1.45}.miniTable{width:100%;border-collapse:collapse;font-size:9px;margin-top:7px}.miniTable th,.miniTable td{border-bottom:1px solid #20374c;padding:5px;text-align:right}.miniTable th:first-child,.miniTable td:first-child{text-align:left}.miniTable th{color:#94adc4;font-weight:650}.miniTable td{color:#d7e7f5}
.reInspectorPanel{display:none;margin-top:10px;grid-template-columns:1.1fr 1fr 1fr;gap:9px}.reCard{background:#100e1b;border:1px solid #274158;border-radius:10px;padding:10px;min-width:0}.reCard h4{margin:0 0 7px;font-size:11px;color:#f3f9ff}.reRows{display:grid;gap:5px}.reRow{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#9fb4c8;border-bottom:1px solid rgba(39,65,88,.45);padding-bottom:4px}.reRow:last-child{border-bottom:0;padding-bottom:0}.reRow b{color:#e8f6ff;text-align:right}.reNote{font-size:9px;color:#7f96ae;line-height:1.4;margin-top:7px}.portChip{display:inline-flex;align-items:center;gap:5px;border:1px solid #304962;border-radius:6px;padding:4px 6px;margin:2px 4px 2px 0;font-size:9px;color:#dcecff;background:#0d1420}.swatch{width:8px;height:8px;border-radius:2px}.g0{background:#ffd166}.g1{background:#ff9d76}.dataSw{background:#59ddb2}.xohSw{background:#a78bfa}
@media(max-width:1180px){.layout{grid-template-columns:1fr}.sidebar{position:static;max-height:none}.metrics{grid-template-columns:repeat(3,1fr)}.bottomGrid{grid-template-columns:1fr}.reInspectorPanel{grid-template-columns:1fr}}
@media(max-width:700px){.app{padding:10px}.metrics{grid-template-columns:1fr 1fr}.controls{grid-template-columns:1fr}.full{grid-column:auto}.wfrow{grid-template-columns:110px 1fr 66px}}
