/* AEGIS — IG Book terminal */
:root{
  --bg:#f3efe6;--bg1:#fffcf6;--bg2:#ece6d8;--bg3:#e4ddcc;--bg4:#d9d1be;
  --line:rgba(28,24,16,.10);--line2:rgba(28,24,16,.16);
  --gold:#8a6d12;--gold2:#6b5410;--goldd:#b8962a;
  --ink:#1c1914;--dim:#5a564c;--mute:#7a7568;
  --steel:#3d4d66;--steel2:#5a6a84;
  --neg:#a63d30;--pos:#4f6d38;--hold:#a63d30;
  --sans:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --row:26px;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--ink);
  font:12px/1.35 var(--sans);-webkit-font-smoothing:antialiased}
body{display:flex;flex-direction:column;overflow:hidden}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.gold{color:var(--gold2)}
.dim{color:var(--mute)}

#boot{position:fixed;inset:0;z-index:80;background:var(--bg);display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:10px;
  transition:opacity .35s}
#boot.go{opacity:0;pointer-events:none}
.boot-mark{width:18px;height:22px;background:var(--gold);
  clip-path:polygon(50% 0,100% 18%,100% 70%,50% 100%,0 70%,0 18%)}
.boot-word{font:600 22px/1 var(--sans);letter-spacing:.42em;padding-left:.42em;color:var(--gold2)}
.boot-sub{font:11px var(--mono);color:var(--mute);letter-spacing:.16em}

#chrome{display:flex;align-items:center;gap:18px;padding:8px 12px 7px;
  border-bottom:1px solid var(--line);background:linear-gradient(#fffdf8,#f3efe6);
  flex:0 0 auto}
.chrome-left{display:flex;align-items:center;gap:14px;min-width:420px}
.wordmark{display:flex;align-items:center;gap:8px}
.shield{width:14px;height:17px;background:var(--gold);
  clip-path:polygon(50% 0,100% 18%,100% 70%,50% 100%,0 70%,0 18%);flex:0 0 auto}
.wm-name{font:600 15px/1 var(--sans);letter-spacing:.38em;padding-left:.08em;color:var(--gold2)}
.wm-book{font:10px/1.3 var(--mono);color:var(--dim);letter-spacing:.04em;margin-top:2px}
.wm-book .dot{color:var(--goldd)}
.badges{display:flex;flex-wrap:wrap;gap:4px}
.badge{font:600 9px/1 var(--mono);letter-spacing:.08em;padding:3px 6px;
  border:1px solid var(--line2);color:var(--dim)}
.badge.paper{color:var(--gold2);border-color:var(--goldd)}
.badge.hold{color:#8a2b22;border-color:#d4a39c;background:#f6e8e5}
.badge.stale{color:#6b5410;border-color:#c9b36a;background:#f4ecd0}
.badge.cave{color:var(--steel)}
.chrome-mid{display:flex;flex-wrap:wrap;gap:12px 16px;flex:1}
.kv{display:flex;flex-direction:column;gap:1px}
.kv .k{font:9px/1 var(--mono);letter-spacing:.1em;color:var(--mute)}
.kv .v{font:12px/1.2 var(--mono);font-variant-numeric:tabular-nums}
.chrome-right{flex:0 0 260px}
.search-wrap{display:flex;align-items:center;border:1px solid var(--line2);
  background:var(--bg2);padding:0 8px;height:28px}
.search-wrap .slash{color:var(--gold);font:600 12px var(--mono);margin-right:6px}
#q{flex:1;background:none;border:0;outline:0;font:12px var(--mono);color:var(--ink);min-width:0}
#q::placeholder{color:var(--mute)}

#tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);
  padding:0 8px;background:var(--bg1);flex:0 0 auto}
.tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--dim);
  padding:8px 11px 7px;letter-spacing:.06em;font:600 11px var(--sans)}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--gold2);border-bottom-color:var(--gold)}
.tab-spacer{flex:1}
.tab-note{align-self:center;font:9px var(--mono);letter-spacing:.1em;color:var(--mute);padding-right:8px}

#kpis{display:grid;grid-template-columns:repeat(8,1fr);gap:0;
  border-bottom:1px solid var(--line);flex:0 0 auto;background:var(--bg)}
.kpi{padding:7px 10px;border-right:1px solid var(--line)}
.kpi:last-child{border-right:0}
.kpi .k{font:9px/1 var(--mono);letter-spacing:.1em;color:var(--mute)}
.kpi .v{font:13px/1.25 var(--mono);font-variant-numeric:tabular-nums;margin-top:3px}
.kpi .s{font:9px/1.2 var(--mono);color:var(--dim);margin-top:2px}
.kpi.warn .v{color:var(--gold2)}

#scenario-bar{display:flex;align-items:center;gap:14px;padding:6px 12px;
  border-bottom:1px solid var(--line);background:#efe9db;flex:0 0 auto}
.sc-title{font:600 9px var(--mono);letter-spacing:.14em;color:var(--gold);white-space:nowrap}
.sc-ctrl{display:flex;align-items:center;gap:8px;font:10px var(--mono);color:var(--dim)}
.sc-ctrl input[type=range]{width:120px;accent-color:var(--gold)}
.sc-presets{display:flex;gap:3px}
.sc-presets button{background:var(--bg3);border:1px solid var(--line2);color:var(--dim);
  font:10px var(--mono);padding:2px 6px}
.sc-presets button:hover{color:var(--gold2);border-color:var(--goldd)}
.sc-out{display:flex;gap:18px;margin-left:auto}
.sc-pnl .k{font:9px var(--mono);letter-spacing:.1em;color:var(--mute)}
.sc-pnl .v{font:14px/1.2 var(--mono);font-variant-numeric:tabular-nums}
.sc-pnl .v.up{color:var(--pos)} .sc-pnl .v.dn{color:var(--neg)}

#main{flex:1;min-height:0;overflow:auto;padding:10px 12px 12px}
.page{display:none} .page.on{display:block}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}
.panel{background:var(--bg1);border:1px solid var(--line);padding:8px 10px 10px}
.panel.fill{margin-top:10px}
.ph{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}
.ph h2{margin:0;font:600 10px/1 var(--sans);letter-spacing:.12em;color:var(--dim)}
.tag{font:9px var(--mono);letter-spacing:.08em;color:var(--mute)}
.tag.warn{color:var(--gold2)}
.chart-box{height:200px;position:relative}
.chart-box.tall{height:260px}
.fine{margin:6px 0 0;font:10px/1.4 var(--sans);color:var(--mute)}
.caveat{margin:10px 0 0;padding:8px 10px;border:1px solid #d4c49a;background:#f7f0d8;
  font:11px/1.45 var(--sans);color:#5a4a1a}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--line)}
.fact{background:var(--bg1);padding:7px 8px}
.fact .k{font:9px var(--mono);letter-spacing:.08em;color:var(--mute)}
.fact .v{font:12px/1.3 var(--mono);font-variant-numeric:tabular-nums;margin-top:2px}

.pos-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.filters{display:flex;gap:6px;align-items:center}
.filters select,.filters button{background:var(--bg2);border:1px solid var(--line2);
  color:var(--ink);font:11px var(--mono);padding:3px 6px;height:26px}
.filters button:hover{border-color:var(--goldd);color:var(--gold2)}
.filter-count{color:var(--dim);margin-left:6px}
.keys-hint{font:10px var(--mono);color:var(--mute)}

#grid-head{display:grid;grid-template-columns:84px 44px 1.4fr 72px 1fr 70px 52px 70px 56px 86px 70px 64px;
  gap:0;padding:0 8px;height:22px;align-items:center;
  font:9px/1 var(--mono);letter-spacing:.06em;color:var(--mute);
  border:1px solid var(--line);border-bottom:0;background:var(--bg2);user-select:none}
#grid-head span{cursor:pointer;padding:0 4px}
#grid-head span:hover{color:var(--gold2)}
#grid-scroll{height:calc(100vh - 290px);min-height:280px;overflow:auto;
  border:1px solid var(--line);background:#efe9db}
#grid-space{position:relative}
#grid-rows{position:absolute;left:0;right:0;top:0}
.grow{display:grid;grid-template-columns:84px 44px 1.4fr 72px 1fr 70px 52px 70px 56px 86px 70px 64px;
  height:var(--row);align-items:center;padding:0 8px;border-bottom:1px solid rgba(28,24,16,.06);
  font:11px/1 var(--mono);font-variant-numeric:tabular-nums;cursor:pointer}
.grow:hover{background:#efe8d4}
.grow.on{background:#f4ead0;box-shadow:inset 2px 0 0 var(--gold)}
.grow .L{color:var(--gold2)} .grow .S{color:var(--steel)}
.num{text-align:right}

.table-wrap{max-height:420px;overflow:auto;border:1px solid var(--line)}
table.t{width:100%;border-collapse:collapse;font:11px/1.2 var(--mono);font-variant-numeric:tabular-nums}
table.t th{position:sticky;top:0;background:var(--bg2);font:9px var(--mono);letter-spacing:.06em;
  color:var(--mute);text-align:left;padding:5px 7px;border-bottom:1px solid var(--line);font-weight:500}
table.t td{padding:4px 7px;border-bottom:1px solid rgba(28,24,16,.06);white-space:nowrap}
table.t tr:hover td{background:#efe8d4}
table.t tr.click{cursor:pointer}
table.t .r{text-align:right}
table.t .L{color:var(--gold2)} table.t .S{color:var(--steel)}
.bar{display:inline-block;height:6px;background:var(--gold);vertical-align:middle;margin-right:6px}
.capline{color:var(--neg)}

#inspector{position:fixed;top:0;right:0;width:420px;max-width:92vw;height:100%;
  background:#fffcf6;border-left:1px solid var(--line2);z-index:40;
  transform:translateX(110%);transition:transform .18s ease;display:flex;flex-direction:column}
#inspector.open{transform:none}
#mask{position:fixed;inset:0;background:rgba(28,24,16,.28);z-index:30;opacity:0;pointer-events:none;transition:opacity .18s}
#mask.on{opacity:1;pointer-events:auto}
.ins-head{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 14px 10px;
  border-bottom:1px solid var(--line)}
.ins-kicker{font:9px var(--mono);letter-spacing:.14em;color:var(--gold)}
.ins-title{font:14px/1.2 var(--mono);margin-top:3px}
.ins-sub{font:11px var(--sans);color:var(--dim);margin-top:3px}
#ins-close{background:none;border:1px solid var(--line2);color:var(--dim);width:26px;height:26px}
#ins-close:hover{color:var(--ink);border-color:var(--goldd)}
#ins-body{flex:1;overflow:auto;padding:10px 14px 24px}
.ins-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-bottom:10px}
.ins-cell{background:var(--bg1);padding:6px 8px}
.ins-cell .k{font:9px var(--mono);letter-spacing:.08em;color:var(--mute)}
.ins-cell .v{font:12px var(--mono);font-variant-numeric:tabular-nums;margin-top:2px}
.ins-wide{grid-column:1/-1}
.sc-name{margin-top:8px}
.sc-name h3{margin:0 0 6px;font:600 10px var(--sans);letter-spacing:.12em;color:var(--dim)}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.chips button{background:var(--bg3);border:1px solid var(--line2);color:var(--dim);
  font:10px var(--mono);padding:3px 7px}
.chips button:hover,.chips button.on{color:var(--gold2);border-color:var(--goldd)}
.sc-name-out{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}

#foot{flex:0 0 auto;display:flex;gap:16px;padding:4px 12px;border-top:1px solid var(--line);
  font:9px var(--mono);letter-spacing:.06em;color:var(--mute);background:#efe9db}

.sc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.sc-card{border:1px solid var(--line);background:var(--bg2);padding:8px 10px}
.sc-card .k{font:9px var(--mono);letter-spacing:.08em;color:var(--mute)}
.sc-card .v{font:16px var(--mono);font-variant-numeric:tabular-nums;margin-top:4px}

@media (max-width:1200px){
  .grid-3,.grid-2{grid-template-columns:1fr}
  #kpis{grid-template-columns:repeat(4,1fr)}
  .chrome-mid{display:none}
}
