/* Scout // TERMINAL — concept A. Black screen, amber labels, green/red deltas.
   No external fonts: the system monospace stack is the point. */
:root{
  --bg:#000;          /* screen */
  --bg1:#0a0a07;      /* panel body */
  --bg2:#14120a;      /* alt row / hover */
  --bg3:#241d06;      /* selection */
  --line:#2c2916;     /* panel rule */
  --line2:#4a4420;
  --amber:#ffb000;    /* labels, headers, the cursor */
  --amber2:#ffcf5c;   /* values in focus */
  --dim:#9d9a86;      /* secondary text (7.4:1 on --bg1) */
  --faint:#7c7a69;    /* meta (4.9:1) */
  --up:#2fe27d;       /* ▲ */
  --dn:#ff5547;       /* ▼ */
  --cy:#5cc8ff;       /* links / tickers */
  --txt:#e9e6d4;
  --mono:ui-monospace,"SF Mono","Cascadia Mono","JetBrains Mono",Menlo,Consolas,"DejaVu Sans Mono","Liberation Mono",monospace;
  --fs:12.5px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font:var(--fs)/1.38 var(--mono);
  -webkit-text-size-adjust:100%}
body{min-height:100vh;display:flex;flex-direction:column}
a{color:var(--cy);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:var(--amber);color:#000}
:focus-visible{outline:1px solid var(--amber);outline-offset:1px}
.am{color:var(--amber)} .dm{color:var(--dim)} .fa{color:var(--faint)} .up{color:var(--up)} .dn{color:var(--dn)} .cy{color:var(--cy)}
.r{text-align:right} .c{text-align:center} .nw{white-space:nowrap}
.tabnum,td,.num{font-variant-numeric:tabular-nums}

/* ───────── top bar ───────── */
.top{display:flex;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line2)}
.brand{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--amber);color:#000;font-weight:700;
  letter-spacing:.08em;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand i{font-style:normal;font-weight:400;opacity:.75}
.cmdwrap{position:relative;flex:1;display:flex;align-items:center;min-width:0;border-right:1px solid var(--line)}
.cmdwrap .pr{color:var(--amber);padding:0 6px 0 12px;font-weight:700}
#cmd{flex:1;min-width:0;background:transparent;border:0;color:var(--amber2);font:inherit;font-size:14px;
  padding:9px 4px;caret-color:var(--amber);letter-spacing:.02em;text-transform:uppercase}
#cmd::placeholder{color:var(--faint);text-transform:none}
#cmd:focus{outline:0}
.cmdwrap:focus-within{background:var(--bg2);box-shadow:inset 0 -2px 0 var(--amber)}
.go{margin-right:8px;padding:3px 9px;background:var(--up);color:#000;font-weight:700;border:0;font:700 12px var(--mono);cursor:pointer}
.go:hover{filter:brightness(1.1)}
.sug{position:absolute;left:0;right:0;top:100%;z-index:50;background:var(--bg1);border:1px solid var(--amber);border-top:0;
  max-height:340px;overflow:auto;display:none}
.sug.on{display:block}
.sug div{display:flex;gap:10px;padding:4px 12px;cursor:pointer;white-space:nowrap;overflow:hidden}
.sug div.sel,.sug div:hover{background:var(--bg3)}
.sug b{color:var(--cy);min-width:5ch;font-weight:700}
.sug span{overflow:hidden;text-overflow:ellipsis}
.sug em{margin-left:auto;font-style:normal;color:var(--faint)}
.sug .hint{color:var(--faint);cursor:default;font-size:11px}
.clock{display:flex;align-items:center;gap:12px;padding:0 12px;color:var(--dim);white-space:nowrap}
.live{color:var(--up)} .live::before{content:"●";margin-right:4px;animation:blink 1.6s steps(2,start) infinite}
@keyframes blink{50%{opacity:.25}}

/* ───────── function keys ───────── */
.fkeys{display:flex;gap:2px;background:var(--bg);padding:3px 4px 0;border-bottom:1px solid var(--line2);overflow-x:auto;scrollbar-width:none}
.fkeys::-webkit-scrollbar{display:none}
.fkeys a{display:flex;gap:6px;align-items:center;padding:3px 10px;color:var(--dim);background:var(--bg1);border:1px solid var(--line);
  border-bottom:0;white-space:nowrap;font-size:12px}
.fkeys a b{color:var(--amber);font-weight:700}
.fkeys a:hover{text-decoration:none;background:var(--bg2);color:var(--txt)}
.fkeys a.on{background:var(--amber);color:#000;border-color:var(--amber)}
.fkeys a.on b{color:#000}
.fkeys .sp{flex:1}

/* ───────── ticker tape ───────── */
.tape{overflow:hidden;background:#050503;border-bottom:1px solid var(--line2);white-space:nowrap;position:relative;height:25px}
.tape .lab{position:absolute;left:0;top:0;bottom:0;z-index:2;background:var(--amber);color:#000;font-weight:700;padding:3px 8px;letter-spacing:.08em}
.tape .trk{display:inline-block;padding-left:72px;animation:scroll 150s linear infinite;will-change:transform}
.tape:hover .trk{animation-play-state:paused}
.tape .tk{display:inline-block;padding:3px 14px 3px 0}
.tape .tk b{color:var(--cy)}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape .trk{animation:none;overflow-x:auto}.live::before{animation:none}}

/* ───────── panel grid ───────── */
main{flex:1;padding:4px;display:grid;gap:4px;grid-template-columns:repeat(12,minmax(0,1fr));align-content:start}
.pn{background:var(--bg1);border:1px solid var(--line);min-width:0;display:flex;flex-direction:column}
.pn>h2{margin:0;font:700 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#1d1708;color:var(--amber);
  padding:3px 8px;border-bottom:1px solid var(--line2);display:flex;gap:10px;align-items:center;white-space:nowrap}
.pn>h2 .k{background:var(--amber);color:#000;padding:0 5px}
.pn>h2 .r{margin-left:auto;color:var(--faint);font-weight:400;text-transform:none;letter-spacing:0}
.pn>h2 .tabs{margin-left:auto;display:flex;gap:2px}
.tabs button{font:700 11px var(--mono);background:transparent;color:var(--dim);border:1px solid var(--line2);padding:0 7px;cursor:pointer}
.tabs button.on{background:var(--amber);color:#000;border-color:var(--amber)}
.tabs button:hover:not(.on){color:var(--txt)}
.pb{padding:4px 8px;overflow:auto;flex:1;min-height:0}
.pb.flush{padding:0}
.pn.abs{position:relative}.pn.abs>.pb{position:absolute;left:0;right:0;bottom:0;top:23px;max-height:none}
.s12{grid-column:span 12}.s9{grid-column:span 9}.s8{grid-column:span 8}.s7{grid-column:span 7}.s6{grid-column:span 6}
.s5{grid-column:span 5}.s4{grid-column:span 4}.s3{grid-column:span 3}
.sc{max-height:380px}.sc.tall{max-height:560px}

/* ───────── tables ───────── */
table{border-collapse:collapse;width:100%}
th{position:sticky;top:0;background:#120f05;color:var(--amber);font-weight:400;text-align:left;padding:2px 6px;border-bottom:1px solid var(--line2);
  font-size:11px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;z-index:1}
th.r{text-align:right}
th[data-k]{cursor:pointer;user-select:none}
th[data-k]:hover{color:var(--amber2)}
th.srt::after{content:" ▼";color:var(--amber2)} th.srt.asc::after{content:" ▲"}
td{padding:1.5px 6px;border-bottom:1px solid #15140c;white-space:nowrap}
td.wrap{white-space:normal}
tr:hover td{background:var(--bg2)}
tr.sel td{background:var(--bg3);box-shadow:inset 2px 0 0 var(--amber)}
td.nm{max-width:26ch;overflow:hidden;text-overflow:ellipsis}
td.tk a,td.tk{color:var(--cy);font-weight:700}
td.rk{color:var(--faint);width:2.6ch}
.bar{display:inline-block;height:8px;background:var(--amber);vertical-align:middle}
.bar.g{background:var(--up)} .bar.rd{background:var(--dn)}
.barbg{display:inline-block;width:70px;height:8px;background:#1b190d;vertical-align:middle}
.barbg .bar{display:block}
.sp svg{display:block}
.chip{display:inline-block;padding:0 5px;border:1px solid var(--line2);font-size:10.5px;line-height:15px;letter-spacing:.03em;text-transform:uppercase}
.chip.buyout{color:var(--up);border-color:#1f6a43}
.chip.credit{color:var(--amber);border-color:#7a5a08}
.chip.bad{color:var(--dn);border-color:#7a2a24}
.flash{animation:fl 1.6s ease-out}
@keyframes fl{from{background:#3b3207}to{background:transparent}}

/* ───────── key/value blocks ───────── */
.kv{display:grid;grid-template-columns:auto 1fr;gap:1px 14px}
.kv dt{color:var(--amber);text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.kv dd{margin:0;color:var(--txt);overflow:hidden;text-overflow:ellipsis}
.kv2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.quote{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;padding:6px 10px}
.quote .big{font-size:30px;font-weight:700;color:var(--amber2);line-height:1}
.quote .chg{font-size:16px;font-weight:700}
.quote .nm2{font-size:15px;color:var(--txt);font-weight:700}
.quote .stat{display:flex;flex-direction:column;line-height:1.2}
.quote .stat small{color:var(--amber);text-transform:uppercase;font-size:10px;letter-spacing:.05em}

/* breadth + heatmap */
.hm{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:2px}
.hm div{padding:4px 6px;min-height:42px;display:flex;flex-direction:column;justify-content:space-between;color:#000;font-weight:700;cursor:pointer}
.hm div small{font-weight:400;font-size:10.5px;opacity:.85}
.brd{display:flex;height:12px;margin:3px 0}
.brd i{display:block}
.ev{display:grid;grid-template-columns:5.2ch 5.2ch 7.4ch 1fr;gap:0 8px;padding:1.5px 0;border-bottom:1px solid #15140c;align-items:baseline}
.ev .t{color:var(--faint)} .ev .tk{color:var(--cy);font-weight:700}
.ev .kd{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em}
.ev .tx{white-space:normal;overflow-wrap:anywhere}
.evday{color:#000;background:var(--amber);padding:0 6px;margin:6px 0 2px;font-weight:700;letter-spacing:.06em;font-size:11px}
.k-rerate{color:var(--amber)} .k-filing{color:var(--dim)} .k-pattern{color:var(--up)} .k-board{color:var(--cy)} .k-charge{color:#d29bff} .k-radar{color:#ffd24a}
.k-insolv{color:var(--dn)}
.filt{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.filt label{display:flex;gap:4px;align-items:center;cursor:pointer;color:var(--dim)}
.filt input[type=checkbox]{accent-color:var(--amber)}
input.fld,select.fld{background:#000;border:1px solid var(--line2);color:var(--amber2);font:inherit;padding:2px 5px;min-width:0}
input.fld:focus,select.fld:focus{outline:1px solid var(--amber)}
input[type=range]{accent-color:var(--amber);width:100%}
.btn{background:transparent;border:1px solid var(--amber);color:var(--amber);font:700 11px var(--mono);padding:2px 8px;cursor:pointer;text-transform:uppercase}
.btn:hover{background:var(--amber);color:#000}
.fr{display:grid;gap:7px}
.fr>div>label{display:block;color:var(--amber);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}
.fr .row2{display:flex;gap:6px}
.fr select,.fr input[type=text],.fr input[type=search]{width:100%}

/* chart */
.chart{width:100%;display:block;touch-action:pan-y}
.chart text{font:10px var(--mono);fill:var(--dim)}
.legend{display:flex;gap:12px;flex-wrap:wrap;padding:2px 8px;border-top:1px solid var(--line)}
.legend button{background:none;border:0;color:var(--dim);font:inherit;cursor:pointer;padding:0}
.legend button i{display:inline-block;width:10px;height:3px;margin-right:5px;vertical-align:middle}
.legend button.off{opacity:.35;text-decoration:line-through}
.readout{min-height:1.4em;padding:2px 8px;color:var(--dim)}

/* help overlay */
#help{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:100;display:none;align-items:center;justify-content:center;padding:10px}
#help.on{display:flex}
#help .box{background:var(--bg1);border:1px solid var(--amber);max-width:640px;width:100%;max-height:92vh;overflow:auto}
#help h2{margin:0;background:var(--amber);color:#000;padding:3px 10px;font-size:12px}
#help .b{padding:8px 12px}
#help kbd,.kbd{background:#1d1708;color:var(--amber2);border:1px solid var(--line2);padding:0 5px;font:inherit}

/* status bar */
.sbar{display:flex;gap:16px;flex-wrap:wrap;padding:3px 10px;background:#0c0a03;border-top:1px solid var(--line2);color:var(--faint);font-size:11px}
.sbar b{color:var(--amber)}
.sbar .syn{color:var(--amber);margin-left:auto}
.note{color:var(--faint);font-size:11px}

/* ───────── responsive ───────── */
@media (max-width:1180px){
  .s9,.s8,.s7{grid-column:span 12}.s6,.s5,.s4{grid-column:span 6}.s3{grid-column:span 6}
}
@media (max-width:760px){
  :root{--fs:12px}
  main{padding:3px;gap:3px;display:flex;flex-direction:column}
  .brand i,.clock .hide-s{display:none}
  .clock{padding:0 8px;gap:6px}
  .top{flex-wrap:wrap}
  .cmdwrap{order:3;flex-basis:100%;border-top:1px solid var(--line);border-right:0}
  #cmd{font-size:16px}  /* no iOS zoom */
  .go{padding:6px 12px}
  .brand{padding:6px 10px}
  .clock{margin-left:auto}
  .pn>h2{flex-wrap:wrap;white-space:normal;row-gap:2px}
  .pn>h2 .tabs,.pn>h2 .r{margin-left:auto}
  #rail.col .pb{display:none}
  .hm{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kv2{grid-template-columns:1fr}
  .quote .big{font-size:26px}
  .hide-s{display:none!important}
  .sc,.sc.tall{max-height:none}
  .pn.abs>.pb{position:static;max-height:420px}
  td.nm{max-width:15ch}
  .sbar{gap:10px}
  .sbar .syn{margin-left:0;flex-basis:100%}
}

.sig{letter-spacing:1px;cursor:help}.sig .b{color:var(--up)}.sig .c{color:var(--amber)}

.hide-d{display:none}
@media (max-width:760px){.hide-d{display:inline}}
