:root{
  --bg:#0C1015; --card:#121820; --panel:#0D1520; --deep:#0A1018; --field:#0A0F14; --border:#1E2A36;
  --text:#D4DCE8; --muted:#607080; --soft:#A0B4C8;
  --gold:#C9A84C; --gold2:#E8C97A; --blue:#4A90C4; --green:#5BAD8F; --red:#C45A5A; --amber:#D4923A;
  --navy:#0D2545; --ic-gold:#B8962E; --ic-grn:#1B5E20; --ic-grn-bg:#E8F5E9; --ic-amb:#E65100; --ic-amb-bg:#FFF3E0;
  --ic-red:#B71C1C; --ic-red-bg:#FDECEA; --ic-gray:#4A4A4A;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace; --serif:"Cormorant Garamond",Georgia,serif;
  --topbar:#000; --warm:#1A1200; --modebar:#0E1520; --modeon:#1A2535; --modblue:#7ABCE8; --modsmall:#3a4a5a; --tabon:#1E2D42; --redbox:#200A0A; --greenbox:#0D1A0F; --faint:#4A6070; --mixbase:#0A0F14; --gate:#000; --gate-text:#fff; --on-gold:#0a0a0a; --brow:#160808; --sev:#15100A; --gbox:#1A0808;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.4}
button{font:inherit;cursor:pointer}
a{color:inherit}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
.tone-green{--tone:var(--green)} .tone-red{--tone:var(--red)} .tone-amber{--tone:var(--amber)}
.tone-gold{--tone:var(--gold)} .tone-blue{--tone:var(--blue)} .tone-muted{--tone:var(--muted)}
.tc{color:var(--tone)}
.tone-green,.tone-red,.tone-amber,.tone-gold,.tone-blue,.tone-muted{ }
.fade{background:color-mix(in srgb,var(--tone) 10%,transparent)}
.outline{border:1px solid color-mix(in srgb,var(--tone) 40%,transparent)}

/* top */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;background:var(--topbar);border-bottom:1px solid var(--border)}
.topbar img{height:52px;width:auto;display:block}
.topbar .right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.topbar .ver{font:11px var(--mono);color:#F2EFE6;letter-spacing:.06em}
.topbar .ver a,.topbar .ver .linklike{color:#F6DC8E !important;font-size:11px}
.topbar .ver .muted,.topbar .std-toggle .muted{color:#E6E2D4 !important}
.topbar .std-toggle .btn-ghost{color:#F2EFE6;border-color:#9A937C}
.topbar .std-toggle .btn-ghost:hover{color:#fff;border-color:#F6DC8E}
.std-toggle .tl{font:600 11px var(--mono);letter-spacing:.08em;color:var(--gold2);margin-right:8px}
.topbar .std-toggle .tl{font:600 11px var(--mono);letter-spacing:.08em;color:#F6DC8E;margin-right:8px}
.topbar .linklike{color:#F6DC8E;font-size:11px}
.btn-gold{background:var(--gold);color:var(--on-gold);border:0;border-radius:4px;padding:9px 22px;font:600 12px var(--mono);letter-spacing:.05em}
.btn-gold:hover{background:var(--gold2)}
.btn-ghost{background:transparent;border:1px solid var(--border);border-radius:3px;color:var(--muted);padding:5px 14px;font:10px var(--mono);letter-spacing:.05em}
.btn-ghost:hover{color:var(--text)}
.linklike{background:none;border:0;color:var(--muted);font:9px var(--mono);letter-spacing:.06em;padding:0;text-decoration:underline}

.demo-strip{display:flex;gap:6px;align-items:center;padding:8px 16px;background:var(--deep);border-bottom:1px solid var(--border);overflow-x:auto}
.demo-strip .lbl{font:9px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-right:6px;flex:none}
.demo{display:flex;align-items:center;gap:7px;padding:5px 10px;background:var(--panel);border:1px solid var(--border);border-radius:4px;flex:none;color:var(--muted)}
.demo.on{background:color-mix(in srgb,var(--tone) 14%,transparent);border-color:var(--tone);color:var(--text)}
.demo .badge{font:9px var(--mono);color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 40%,transparent);border-radius:2px;padding:1px 5px;letter-spacing:.04em}
.demo .name{font-size:11px;white-space:nowrap;color:inherit}
.demo .self{margin-left:6px;font:8px var(--mono);color:var(--gold);background:var(--warm);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:2px;padding:0 4px}
.demo .dot{font-size:9px}
.mode-bar{display:flex;background:var(--modebar);border-bottom:1px solid var(--border)}
.mode-bar form{flex:1;display:flex}
.mode{flex:1;padding:10px 8px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);text-align:center}
.mode.on{background:var(--modeon);border-bottom-color:var(--gold);color:var(--gold2)}
.mode.mod{border-left:1px solid var(--border)}
.mode.mod.on{border-bottom-color:var(--blue);color:var(--modblue)}
.mode b{display:block;font-weight:500;font-size:12px}
.mode small{display:block;font:9px var(--mono);margin-top:2px;color:var(--modsmall)}
.mode.on small{color:var(--muted)}

/* shell */
.shell{display:grid;grid-template-columns:272px minmax(0,1fr);align-items:start}
#sidebar{position:sticky;top:0;max-height:100vh;overflow-y:auto;background:var(--card);border-right:1px solid var(--border);padding:14px 12px}
.sec-head{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.sec-head b{display:block;font:400 10px var(--mono);color:var(--gold);text-transform:uppercase;letter-spacing:.1em}
.sec-head span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.group{margin-bottom:14px}
.lab{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.fld{margin-bottom:9px}
.inp{display:flex;align-items:center;background:var(--field);border:1px solid var(--border);border-radius:4px;overflow:hidden}
.inp input,.inp select,select.sel{flex:1;min-width:0;width:100%;background:transparent;border:0;outline:0;color:var(--text);font:13px var(--mono);padding:6px 8px}
.inp .sfx{padding:0 8px;color:var(--muted);font:10px var(--mono);border-left:1px solid var(--border);align-self:stretch;display:flex;align-items:center}
.inp:focus-within{border-color:var(--gold)}
select.sel,.inp select{background:var(--field);color:var(--text)}
select.sel{border:1px solid var(--border);border-radius:4px;font-size:12px;padding:6px 8px}
.inp.tone-green,.inp.tone-amber,.inp.tone-red{border-color:var(--tone)}
.inp.tone-green .sfx,.inp.tone-amber .sfx,.inp.tone-red .sfx{color:var(--tone)}
.cc-note{font-size:9px;margin-top:3px;color:var(--tone,var(--muted))}

/* tabs and main */
.tabs{display:flex;flex-wrap:wrap;background:var(--card);border-bottom:1px solid var(--border)}
.tabs a{padding:10px 14px;border-bottom:3px solid transparent;color:var(--soft);font:400 11px var(--mono);letter-spacing:.04em;text-decoration:none}
.tabs a.on{background:var(--tabon);border-bottom-color:var(--gold);color:var(--gold2);font-weight:600}
.tabs a i{font-style:normal;color:var(--amber);font-size:9px;margin-left:4px}
.tabs .chip{margin-left:auto;display:flex;align-items:center;gap:14px;padding:0 16px 0 14px;border-left:1px solid var(--border)}
.chip div{display:flex;flex-direction:column;align-items:flex-end}
.chip b{font:500 13px var(--mono);color:var(--tone)}
.chip small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
#main{padding:20px 24px;min-width:0}
#main.light{padding:0;background:#F0F2F5;color:#222}
.empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:80px;text-align:center;color:var(--muted)}
.empty .hex{font:42px var(--serif);color:var(--border)}

/* cards and rows */
.eyebrow{font:9px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:4px}
.hero{display:flex;align-items:center;gap:20px;background:color-mix(in srgb,var(--tone) 10%,transparent);border:2px solid var(--tone);border-radius:8px;padding:18px 20px;margin-bottom:20px}
.hero .big{font:600 38px var(--serif);letter-spacing:.04em;line-height:1;color:var(--tone)}
.hero .flag{font:10px var(--mono);margin-top:6px;letter-spacing:.04em}
.score-box{text-align:center;background:var(--bg);border-radius:6px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--tone) 25%,transparent)}
.score-box b{display:block;font:500 34px var(--mono);color:var(--tone)}
.score-box small{font:9px var(--mono);color:var(--muted)}
.constraint{background:var(--panel);border-left:3px solid var(--tone);padding:10px 14px;margin-bottom:16px;border-radius:0 4px 4px 0}
.constraint div:last-child{font:12px var(--mono)}
.alert-red{background:var(--gbox);border:1px solid color-mix(in srgb,var(--red) 38%,transparent);border-radius:4px;padding:12px;margin-bottom:16px}
.fail-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--redbox);border-radius:3px;border:1px solid color-mix(in srgb,var(--red) 20%,transparent);margin-top:6px}
.tag{font:10px var(--mono);color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 40%,transparent);border-radius:2px;padding:1px 6px;letter-spacing:.04em;flex:none;white-space:nowrap}
.narr{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:14px;font-size:12px;line-height:1.75}
.thresholds{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}
.thresholds div{flex:1;min-width:100px;background:var(--panel);padding:10px 12px;border-left:3px solid var(--tone)}
.thresholds b{display:block;font:15px var(--mono);color:var(--tone);margin-top:3px}
.thresholds small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.thresholds .eyebrow{letter-spacing:.07em}
.chart{width:100%;height:auto;display:block;margin-bottom:20px}
.chart .grid{stroke:var(--border);stroke-width:1}
.chart .axis{fill:var(--muted);font:9px var(--mono)}
.chart .val{fill:var(--gold);font:9px var(--mono)}
.chart .bar-target{fill:var(--border)} .chart .bar-score{fill:var(--gold)}
.sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px;margin-right:4px}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:16px}
.trio>div{background:var(--panel);padding:10px 12px;border-left:3px solid var(--tone)}
.trio .eyebrow{color:var(--tone);margin-bottom:4px}
.trio .n{font:18px var(--mono);color:var(--tone);margin-top:2px}
.tbl{background:var(--panel);border-radius:4px;overflow:hidden;border:1px solid var(--border);margin-bottom:24px}
.tbl .row{display:grid;align-items:center;padding:9px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 12%,transparent)}
.tbl .row.h{background:var(--deep);padding:7px 12px;border-bottom:1px solid var(--border)}
.tbl .row.h div{font:9px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.dim-grid{grid-template-columns:170px 1fr 50px 140px 30px;gap:0}
.attr-grid{grid-template-columns:1fr 90px 54px 120px}
.bar{position:relative;height:18px;background:var(--field);border-radius:2px;overflow:hidden}
.bar i{position:absolute;left:0;top:0;height:100%;background:color-mix(in srgb,var(--tone) 40%,transparent);border-radius:2px}
.bar u{position:absolute;top:0;width:2px;height:100%;background:color-mix(in srgb,var(--muted) 55%,transparent)}
.bar span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:9px var(--mono);color:var(--tone)}
.pill{font:9px var(--mono);color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 30%,transparent);border-radius:3px;padding:2px 6px;text-align:center;letter-spacing:.04em}
.num{font:14px var(--mono);color:var(--tone);text-align:right;padding-right:8px}
.row.breach{background:var(--brow)} .row.severe{background:var(--sev)}
.dot-s{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tone)}
.gov-box{background:var(--panel);border:1px solid color-mix(in srgb,var(--tone) 25%,transparent);border-radius:4px;overflow:hidden;margin-bottom:16px}
.gov-box.red{background:var(--gbox)}
.gov-box>div{padding:9px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 12%,transparent)}
.gov-box .two{display:grid;grid-template-columns:1fr 1fr;padding:0}
.gov-box .two>div{padding:10px 14px}
.gov-box .two>div+div{border-left:1px solid color-mix(in srgb,var(--border) 12%,transparent)}
.gov-box .k{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.gov-box .small{font-size:11px;color:var(--muted);line-height:1.6}
.result-line{display:flex;align-items:center;gap:10px;margin-bottom:24px;padding:8px 12px;background:var(--deep);border-radius:4px;border:1px solid var(--border)}
.result-line .note{margin-left:auto;font:italic 9px var(--mono);color:var(--muted);text-align:right;max-width:280px;line-height:1.5}
.rec{background:var(--panel);border:1px solid color-mix(in srgb,var(--tone) 20%,transparent);border-radius:4px;overflow:hidden;margin-bottom:8px}
.rec header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:color-mix(in srgb,var(--tone) 7%,transparent)}
.rec .body{padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rec .body .full{grid-column:1/-1;border-top:1px solid var(--border);padding-top:8px}
.rec .k{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.rec .v{font-size:11px;line-height:1.55}
.ok-box{background:var(--greenbox);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);border-radius:4px;padding:14px;font-size:12px;color:var(--green)}
.explain{margin-bottom:20px;background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:14px}
.explain p{margin:8px 0 0;font-size:11px;color:var(--muted);line-height:1.75}
.explain em{font-style:normal;color:var(--text)} .explain .g{color:var(--green)} .explain .r{color:var(--red)} .explain .a{color:var(--amber)}
.legend{margin-top:14px;font:9px var(--mono);color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--border)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:20px}
.grid2>div{background:var(--panel);padding:12px;border-left:3px solid var(--tone)}
.grid2 b{display:block;font:18px var(--mono);color:var(--tone);margin-top:4px}
.grid2 small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.kv{padding:8px 0;border-bottom:1px solid var(--border)}
.kv b{display:block;font:14px var(--mono);color:var(--tone,var(--text))}
.stack .row{grid-template-columns:1fr 80px 80px 100px}
table.sum{width:100%;border-collapse:collapse;font-size:12px}
table.sum td{padding:7px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 20%,transparent)}
table.sum td+td{text-align:right;font-family:var(--mono);color:var(--tone,var(--text))}
table.sum td:first-child{color:var(--muted)}
table.sum td.sec{padding:12px 8px 4px;color:var(--gold);font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid color-mix(in srgb,var(--gold) 20%,transparent)}

/* FOCUS */
.focus{max-width:860px;margin:0 auto}
.focus h1{font:400 28px var(--serif);color:var(--gold2);letter-spacing:.04em;margin:0 0 4px}
.focus .head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.focus .tpl{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;align-items:center}
.btn-tpl{padding:5px 14px;background:color-mix(in srgb,var(--tone) 8%,var(--mixbase));border:1px solid color-mix(in srgb,var(--tone) 35%,transparent);border-radius:3px;color:var(--tone);font:10px var(--mono);letter-spacing:.05em}
.preview{text-align:right}
.preview b{display:block;font:600 22px var(--serif);color:var(--tone);letter-spacing:.04em}
.preview span{font:13px var(--mono);color:var(--tone)}
.deal-name{width:100%;background:var(--field);border:1px solid var(--border);border-radius:4px;color:var(--text);font:18px var(--serif);padding:10px 12px;letter-spacing:.02em;margin-bottom:24px}
.fsec{margin-bottom:28px}
.fsec .top{border-bottom:2px solid color-mix(in srgb,var(--gold) 25%,transparent);padding-bottom:10px;margin-bottom:16px}
.fsec .ttl{display:flex;align-items:center;gap:10px;margin-bottom:3px}
.fsec .num{font:11px var(--mono);color:var(--gold);background:var(--warm);border:1px solid color-mix(in srgb,var(--gold) 25%,transparent);border-radius:3px;padding:1px 8px;text-align:left}
.fsec .ttl b{font:600 12px var(--mono);color:var(--gold);text-transform:uppercase;letter-spacing:.1em}
.fsec .sub{font-size:11px;color:var(--muted)}
.fsec .desc{font:italic 10px var(--sans);color:var(--faint);margin-top:4px;line-height:1.5}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.ff{margin-bottom:16px}
.ff .lab{justify-content:space-between;font:600 10px var(--mono);margin-bottom:5px}
.ff .inp input,.ff .inp select{font-size:14px;padding:9px 10px}
.ff .hint{font-size:9px;color:var(--soft);margin-top:3px}
.ff .why{font-size:9px;color:var(--muted);margin-top:1px;font-style:italic}
.pri{font:8px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:2px;border:1px solid color-mix(in srgb,var(--tone) 25%,transparent);color:var(--tone);background:var(--deep)}
.pri.p-req{--tone:var(--red);background:var(--redbox)} .pri.p-recm{--tone:var(--gold);background:var(--warm)}
.zone{margin:12px 0;background:color-mix(in srgb,var(--tone) 9%,transparent);border:1px solid color-mix(in srgb,var(--tone) 31%,transparent);border-radius:4px;padding:10px 12px}
.zone b{display:flex;align-items:center;gap:8px;font:600 10px var(--mono);color:var(--tone);letter-spacing:.04em}
.zone p{margin:4px 0 0;font-size:10px;color:var(--muted);line-height:1.5}
.bands{display:flex;margin-bottom:12px;border-radius:4px;overflow:hidden;border:1px solid var(--border)}
.bands div{flex:1;padding:6px 8px;background:color-mix(in srgb,var(--tone) 7%,transparent);border-right:1px solid var(--border)}
.bands b{display:block;font:600 9px var(--mono);color:var(--tone)}
.bands span{display:block;font-size:9px;color:var(--tone);margin-top:1px}
.bands small{display:block;font-size:8px;color:var(--muted);margin-top:2px;line-height:1.4}
.warn{grid-column:span 2;border:1px solid var(--tone);border-radius:4px;padding:10px 12px;margin-bottom:4px;background:color-mix(in srgb,var(--tone) 8%,var(--mixbase))}
.warn b{display:block;font:600 10px var(--mono);color:var(--tone);margin-bottom:4px}
.warn p{margin:0;font-size:10px;color:var(--muted);line-height:1.55}
.runbar{padding:8px 0 32px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}
.runbar .txt{font-size:11px;color:var(--muted);line-height:1.6;max-width:460px}
.runbar .btn-gold{background:var(--tone);padding:12px 32px;font-size:13px;white-space:nowrap}
.roadmap{margin-top:20px;padding:10px 14px;background:var(--field);border:1px solid var(--border);border-radius:4px;border-left:3px solid #4A7090}
.roadmap b{display:block;font:9px var(--mono);color:#4A7090;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.roadmap p{margin:0;font-size:10px;color:var(--muted);line-height:1.65}

/* light pages */
.light-wrap{padding:20px 24px}
.reg h2{margin:0 0 3px;font-size:22px;color:var(--navy)}
.reg .sub{font:11px var(--mono);color:#607080}
.reg-tbl{background:#fff;border:1px solid #E0E4EA;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06);margin-top:16px}
.reg-row{display:grid;grid-template-columns:80px minmax(0,1fr) 110px 90px 110px 80px 80px 70px;padding:10px 14px;border-bottom:1px solid #F0F0F0;align-items:center;width:100%;text-align:left;background:#fff;border-top:0;border-left:0;border-right:0;color:#222}
.reg-row:nth-child(even){background:#F8F9FB} .reg-row:hover{background:#EBF3FF}
.reg-row.h{background:var(--navy);padding:9px 14px;cursor:default}
.reg-row.h div{font:9px var(--mono);color:#fff;text-transform:uppercase;letter-spacing:.07em}
.reg-row .id{font:700 11px var(--mono);color:#1565C0}
.reg-row .nm{font-size:12px;color:var(--navy);font-weight:600}
.reg-row small{display:block;font-size:10px;color:#888;margin-top:1px}
.badge-ic{font:600 10px var(--mono);border-radius:3px;padding:2px 7px;color:var(--tone);background:color-mix(in srgb,var(--tone) 10%,#fff)}
.sc{font:700 14px var(--mono);color:var(--tone)}
.open{font:10px var(--mono);color:#1565C0;border:1px solid #1565C040;border-radius:4px;padding:2px 8px}
.tone-ic-green{--tone:var(--ic-grn)} .tone-ic-amber{--tone:var(--ic-amb)} .tone-ic-red{--tone:var(--ic-red)}
.ic{max-width:960px;margin:0 auto;padding:20px;font-family:Arial,sans-serif}
.ic .bar-top{display:flex;justify-content:flex-end;margin-bottom:14px}
.btn-navy{background:var(--navy);color:#fff;border:0;border-radius:6px;padding:9px 20px;font-size:13px;font-weight:700}
.ic .id-card{background:#F4F6F9;border:1px solid #E0E0E0;border-radius:8px;padding:12px 18px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ic .id-card b{font-size:14px;color:var(--navy)} .ic .id-card small{display:block;font-size:11px;color:var(--ic-gray);margin-top:2px}
.ic .reco{background:color-mix(in srgb,var(--tone) 10%,#fff);border:3px solid var(--tone);border-radius:12px;padding:24px 32px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--tone)}
.ic .reco .e{font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:4px}
.ic .reco .d{font-size:80px;font-weight:900;line-height:1;letter-spacing:-2px}
.ic .reco .c{font-size:13px;margin-top:4px}
.ic .ring{width:120px;height:120px;border-radius:50%;border:10px solid var(--tone);display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;flex:none}
.ic .ring b{font-size:38px;font-weight:900;line-height:1} .ic .ring small{font-size:11px;color:var(--ic-gray)}
.ic .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.ic .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.ic .m{background:color-mix(in srgb,var(--tone) 9%,#fff);border:1px solid color-mix(in srgb,var(--tone) 20%,transparent);border-radius:8px;padding:12px 14px}
.ic .m small{display:block;font-size:9px;color:var(--ic-gray);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.ic .m b{font-size:14px;font-weight:800;color:var(--tone)}
.ic .k{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:14px;text-align:center}
.ic .k small{display:block;font-size:9px;color:var(--ic-gray);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px}
.ic .k b{font-size:26px;font-weight:900;color:var(--navy)}
.ic .cst{background:#F8F9FB;border-left:4px solid var(--tone);border-radius:6px;padding:10px 14px;margin-bottom:12px}
.ic .cst small{display:block;font-size:9px;color:var(--ic-gray);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}
.ic .cst div{font-size:13px;color:var(--tone)}
.ic .vote{background:var(--navy);border-radius:10px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ic .vote span{color:#AAA;font-size:12px;font-weight:600}
.ic .vote div{display:flex;gap:10px}
.ic .vote i{font-style:normal;border:2px solid #444;color:#666;border-radius:6px;padding:8px 22px;font-size:13px;font-weight:900}
.ic .vote i.on{border-color:var(--tone);color:var(--tone);background:color-mix(in srgb,var(--tone) 10%,#fff)}
dialog{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:10px;width:min(460px,92vw);padding:0}
dialog::backdrop{background:rgba(0,0,0,.7)}
dialog .hd{background:var(--deep);padding:12px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;font:600 13px var(--mono)}
dialog .bd{padding:18px;font-size:12px;color:var(--muted);line-height:1.65}
dialog .audit{background:var(--greenbox);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);border-radius:4px;padding:8px 12px;margin:14px 0;font-size:11px;color:var(--green)}
dialog .acts{display:flex;gap:10px;justify-content:flex-end}
dialog .acts a,dialog .acts button{padding:7px 18px;font-size:12px;border-radius:4px;text-decoration:none}

/* login */
.gate{position:fixed;inset:0;background:var(--gate);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}
.gate .logo{font:900 52px "Courier New",monospace;color:var(--gate-text);letter-spacing:2px}
.gate .logo sup{font-size:32px;color:var(--gold);vertical-align:baseline}
.gate .sub{font:12px var(--mono);color:var(--muted);letter-spacing:4px;text-transform:uppercase;margin:6px 0 48px;text-align:center}
.gate form{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:32px 36px;width:min(340px,100%);text-align:center}
.gate form.shake{animation:shake .4s ease}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}
.gate label{display:block;font:10px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:3px;margin-bottom:16px}
.gate input{width:100%;background:var(--field);border:1px solid var(--border);border-radius:4px;color:var(--text);font:18px var(--mono);padding:12px 16px;text-align:center;letter-spacing:6px;margin-bottom:14px;outline:0}
.gate input.err{border-color:var(--red)}
.gate button{width:100%;background:var(--gold);color:var(--on-gold);border:0;border-radius:4px;font:700 13px var(--mono);letter-spacing:3px;padding:13px}
.gate .e{font:11px var(--mono);color:var(--red);letter-spacing:1px;margin-top:10px}
.gate .foot{margin-top:40px;font:10px var(--mono);color:var(--border);letter-spacing:2px;text-align:center}

@media (max-width:960px){
  .shell{grid-template-columns:1fr}
  #sidebar{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--border)}
  .dim-grid{grid-template-columns:130px 1fr 40px 110px 24px}
  .reg-row{grid-template-columns:60px minmax(0,1fr) 80px 70px}
  .reg-row>:nth-child(3),.reg-row>:nth-child(4),.reg-row>:nth-child(5),.reg-row>:nth-child(8){display:none}
  .ic .g4{grid-template-columns:1fr 1fr} .ic .reco .d{font-size:52px}
  .fgrid{grid-template-columns:1fr} .warn{grid-column:auto}
  .hero,.runbar,.focus .head{flex-wrap:wrap}
}

.demo-strip form{display:contents}
.gov-grid{grid-template-columns:1fr 110px}
.tbl .row.stack-h,.stack .row{grid-template-columns:1fr 80px 80px 100px}
.flex1{flex:1;min-width:0}
.right-t{text-align:right}

/* guided intake, evidence, notices */
.flash{max-width:860px;margin:0 auto 14px;padding:9px 14px;border:1px solid var(--tone);border-radius:4px;font-size:12px;background:color-mix(in srgb,var(--tone) 9%,var(--mixbase));color:var(--text)}
#main.light .flash{background:#fff;color:#222}
.own-deal{max-width:860px;margin:0 auto 20px;padding:14px 16px;background:var(--warm);border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.own-deal b{font:12px var(--mono);color:var(--gold2);letter-spacing:.06em} .own-deal p{margin:3px 0 0;font-size:11px;color:var(--muted);line-height:1.6;max-width:520px}
.own-deal a{text-decoration:none;white-space:nowrap}
a.btn-gold,a.btn-ghost{display:inline-block;text-decoration:none}
.wz{max-width:760px;margin:0 auto}
.wz h1{font:400 28px var(--serif);color:var(--gold2);letter-spacing:.04em;margin:0 0 4px}
.wz-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.wz-bar{display:flex;gap:4px;margin-bottom:6px} .wz-bar a,.wz-bar span{flex:1;height:4px;border-radius:2px;background:var(--border)} .wz-bar a.on{background:var(--gold)}
.wz-label{font:10px var(--mono);color:var(--muted);margin-bottom:18px}
.wz-card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:22px 24px}
.wz-card h2{font:400 22px var(--serif);margin:0 0 4px;color:var(--text)}
.wz-intro{font-size:11px;color:var(--muted);line-height:1.6;margin:0 0 20px}
.wz-q{margin-bottom:22px} .wz-ql{display:block;font-size:12px;font-weight:500;color:var(--text);margin-bottom:3px} .req{color:var(--red)}
.wz-help{font-size:11px;color:var(--muted);margin-bottom:7px;line-height:1.5}
.wz-q .inp.bad{border-color:var(--red)} .wz-q .inp.assumed{opacity:.55;border-color:color-mix(in srgb,var(--amber) 50%,transparent)}
.wz-q .inp input,.wz-q .inp select{font-size:14px;padding:10px 12px;color-scheme:dark}
.wz-chips{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap} .wz-chips button{padding:3px 10px;background:transparent;border:1px solid var(--border);border-radius:3px;color:var(--muted);font:10px var(--mono);cursor:pointer}
.wz-chips button:hover{color:var(--gold2);border-color:var(--gold)}
.wz-cc{font:10px var(--mono);margin-top:6px}
.wz-na{display:inline-flex;align-items:center;gap:6px;margin-top:7px;font:10px var(--mono);color:var(--muted);cursor:pointer}
.wz-err{font-size:10px;color:var(--red);margin-top:5px}
.wz-nav{display:flex;justify-content:space-between;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}
.wz-nav button[disabled],.wz-apply button[disabled]{opacity:.35;cursor:not-allowed}
.wz-alert{border:1px solid var(--tone);border-radius:4px;padding:10px 14px;margin-bottom:16px;font-size:11px;line-height:1.6;color:var(--tone);background:color-mix(in srgb,var(--tone) 9%,var(--mixbase))} .wz-alert a{color:var(--gold2)}
.wz-prev{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:12px 16px;margin-bottom:16px}
.wz-prev b{display:block;font:600 24px var(--serif);color:var(--tone)} .wz-prev span{font-size:12px}
.wz-sec{border:1px solid var(--border);border-radius:4px;margin-bottom:14px;overflow:hidden}
.wz-sh{display:flex;justify-content:space-between;align-items:center;padding:7px 12px;background:var(--panel);border-bottom:1px solid var(--border)}
.wz-sh b{font:10px var(--mono);color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-weight:400} .wz-sh a{font-size:10px;color:var(--muted)}
.wz-row{display:flex;justify-content:space-between;gap:12px;font-size:11px;padding:4px 12px} .wz-row span{color:var(--muted)} .wz-row b{font:11px var(--mono);font-weight:400;text-align:right} .wz-row em{font:11px var(--mono);font-style:normal}
.wz-fine{font-size:10px;color:var(--muted);line-height:1.6;margin:8px 0 16px}
.wz-apply{display:flex;gap:10px;flex-wrap:wrap} .wz-back{font:10px var(--mono);color:var(--muted)}
.ev{max-width:900px;margin:0 auto} .ev h1{font:400 28px var(--serif);color:var(--gold2);letter-spacing:.04em;margin:0 0 4px} .ev-title{margin-bottom:16px}
.ev-note{border:1px solid color-mix(in srgb,var(--tone) 50%,transparent);background:color-mix(in srgb,var(--tone) 9%,var(--mixbase));border-radius:6px;padding:10px 14px;margin-bottom:18px;font-size:11px;line-height:1.6;color:var(--text)}
.ev-card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:18px 20px;margin-bottom:18px}
.ev-card h3{font:600 12px var(--mono);color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin:0 0 4px} .ev-sub{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 12px}
.ev-meter{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--border);margin-bottom:10px} .ev-meter i{background:var(--tone)}
.ev-legend{display:flex;flex-wrap:wrap;gap:14px;font:11px var(--mono)}
.ev-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px} .ev-grid .span2{grid-column:span 2}
.ev input[type=text],.ev input[type=date],.ev textarea,.ev select{width:100%;background:var(--field);border:1px solid var(--border);border-radius:4px;color:var(--text);font:12px var(--sans);padding:8px 10px;outline:0;box-sizing:border-box;color-scheme:dark}
.ev textarea{resize:vertical} .ev input[type=file]{font:11px var(--mono);color:var(--muted);width:auto}
.ev-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.ev-tbl{border:1px solid var(--border);border-radius:4px} .ev-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:11px} .ev-row:last-child{border-bottom:0}
.ev-row .grow{flex:1} .ev-row small{display:block;font-size:10px;color:var(--muted);margin-top:2px} .ev-row.info{color:var(--muted);padding:6px 12px} .ev-row select{width:150px}
.ev-src{display:grid;grid-template-columns:1.3fr .5fr 1fr 1.5fr;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--border);font-size:11px} .ev-src:last-child{border-bottom:0}
.ev-ready{padding:8px 12px;border-radius:4px;margin-bottom:12px;font:11px var(--mono);color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 40%,transparent);background:color-mix(in srgb,var(--tone) 8%,var(--mixbase))}
.ev-ev select{width:100%}
.ic-ev{background:#fff;border:1px solid #E0E0E0;border-radius:8px;padding:14px 18px;margin-bottom:16px;color:#333}
.ic-ev small{display:block;font-size:9px;color:var(--ic-gray);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.ic-ev .pl{font-size:11px;padding:2px 0} .ic-ev .pl b{color:var(--navy)}
.ic-ev .pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px} .ic-ev .pills span{font-size:11px;font-weight:600;border-radius:6px;padding:6px 12px;color:var(--tone);background:color-mix(in srgb,var(--tone) 10%,#fff)}
.ic-ev p{font-size:10px;color:var(--ic-gray);margin:8px 0 0;line-height:1.5}
.tone-ic-gray{--tone:var(--ic-gray)}

/* standards pages and decision-tab standards tables */
.std-wrap{max-width:860px;margin:0 auto;padding:24px 16px 60px}
.std-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0}
.std-grid>div{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:10px 12px}
.std-grid b{display:block;font:600 18px var(--mono);color:var(--gold2)} .std-grid small{font:10px var(--mono);color:var(--muted)}
table.std{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0 18px}
table.std th,table.std td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}
table.std th{font:10px var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.tag{display:inline-block;font:9px var(--mono);letter-spacing:.05em;padding:2px 7px;border-radius:10px;border:1px solid var(--border);color:var(--muted)}
.tag.configured{color:var(--green);border-color:var(--green)} .tag.adopted{color:var(--gold2);border-color:var(--gold)}
.tag.recorded-not-scored{color:var(--amber);border-color:var(--amber)}
.std-wrap h1{font:400 28px var(--serif);color:var(--gold2);margin:0 0 4px} .std-wrap h3{font:600 12px var(--mono);letter-spacing:.08em;color:var(--gold2);text-transform:uppercase;margin:22px 0 6px}
.std-wrap textarea{width:100%;min-height:64px;background:var(--field);border:1px solid var(--border);border-radius:4px;color:var(--text);font:13px var(--sans);padding:9px 12px}
.row2{display:flex;gap:10px;flex-wrap:wrap} .row2 .inp{flex:1;min-width:120px}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;margin:4px 0}


/* themes: dark is the default; light and pastel replace the palette only */
html[data-theme="light"]{
  --bg:#F4F6F9; --card:#FFFFFF; --panel:#EEF1F5; --deep:#E6EAF0; --field:#FFFFFF; --border:#CBD3DD;
  --text:#1B2430; --muted:#5B6878; --soft:#3A4757;
  --gold:#8A6D1F; --gold2:#6F5714; --blue:#1F5F96; --green:#1F7A57; --red:#B03A3A; --amber:#B06A12;
  --gate:#F4F6F9; --gate-text:#1B2430; --on-gold:#FFFFFF; --brow:#FBE9E9; --sev:#FDF1E1; --gbox:#FBE9E9;
  --warm:#FBF3DC; --modebar:#E6EAF0; --modeon:#FFFFFF; --modblue:#1F5F96; --modsmall:#6B7889; --tabon:#FFFFFF; --redbox:#FBE9E9; --greenbox:#E7F4EC; --faint:#5B6878; --mixbase:#FFFFFF;
}
html[data-theme="pastel"]{
  --bg:#F6F1F8; --card:#FFFFFF; --panel:#EFE8F4; --deep:#E8DFF0; --field:#FFFFFF; --border:#D9CCE6;
  --text:#3B3050; --muted:#7C6F92; --soft:#574B6E;
  --gold:#B07FB0; --gold2:#8E5F92; --blue:#6FA3D6; --green:#6DBF9B; --red:#E27F8C; --amber:#E8A96B;
  --gate:#F6F1F8; --gate-text:#3B3050; --on-gold:#FFFFFF; --brow:#FCE6EA; --sev:#FDF0E2; --gbox:#FCE6EA;
  --warm:#FBF0F8; --modebar:#EFE8F4; --modeon:#FFFFFF; --modblue:#4F86BC; --modsmall:#9486AA; --tabon:#FFFFFF; --redbox:#FCE6EA; --greenbox:#E4F5EC; --faint:#7C6F92; --mixbase:#FFFFFF;
}
html[data-theme="light"] body,html[data-theme="pastel"] body{color-scheme:light}
html[data-theme="light"] .gate input,html[data-theme="pastel"] .gate input{color:var(--text)}
#themeSwitch{position:fixed;right:12px;bottom:12px;z-index:1000;display:flex;gap:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--card);box-shadow:0 2px 8px rgba(0,0,0,.25)}
#themeSwitch button{border:0;background:transparent;color:var(--muted);font:600 11px var(--mono);letter-spacing:.04em;padding:9px 14px;min-height:36px}
#themeSwitch button[aria-pressed="true"]{background:var(--gold);color:var(--on-gold)}
@media print{#themeSwitch{display:none}}

.start-btn{display:inline-block;background:#F6DC8E;color:#1A1200;font:700 12px var(--mono);letter-spacing:.08em;padding:7px 14px;border-radius:4px;text-decoration:none;margin-right:10px}
.start-btn:hover{background:#fff}
