/* console.css — THE shared console grammar (cn-*). Single source of truth.
 * Extracted 2026-07-14 from instruments/index.html (was inline there + read ad-hoc by the
 * Report build). Consumers: /bubble-watch/the-report/ (live). Migrate /instruments/ + other
 * console pages to <link> this file so edits happen in ONE place. */

.cn-wrap{max-width:1280px;margin:0 auto;padding:clamp(22px,3vw,40px) var(--edge,24px) 90px}
.cn-head{border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:0}
.cn-title{font-family:var(--display);font-weight:500;font-size:var(--tc-title);line-height:.95;
  text-transform:uppercase;letter-spacing:.01em;margin:0 0 6px;color:var(--ink)}
.cn-dek{font-family:var(--serif);font-size:16px;line-height:1.5;color:var(--slate);margin:0;max-width:66ch}
.cn-src{font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--slate);margin-top:8px}
/* the needle row — every gauge's current reading, each chip a jump switch */
.cn-needles{display:flex;gap:1px;background:var(--mist,#e4e0d8);border:1px solid var(--mist,#e4e0d8);
  border-top:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cn-nd{flex:1 1 0;min-width:118px;background:var(--paper,#fff);border:0;cursor:pointer;text-align:left;
  padding:10px 12px 9px;font-family:inherit;transition:background .15s}
.cn-nd:hover{background:var(--cream,#f6f4ef)}
.cn-nd.cur{background:var(--ink,#0c0b0a)}
.cn-nd.cur .cn-nd-k,.cn-nd.cur .cn-nd-v{color:var(--cream,#f3efe6)}
.cn-nd-k{display:block;font-family:var(--label);font-weight:700;font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--slate);margin-bottom:3px;white-space:nowrap}
.cn-nd-v{display:block;font-family:ui-monospace,Menlo,monospace;font-weight:600;font-size:15px;
  color:var(--ink);white-space:nowrap}
.cn-nd-v .hot{color:#B30000}
/* the rack: rail + stage */
.cn-shell{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:clamp(18px,2.4vw,36px);
  margin-top:26px;align-items:start}
.cn-rail{position:sticky;top:112px;border-right:1px solid var(--mist,#e4e0d8);padding-right:14px}
.cn-rg{font-family:var(--label);font-weight:700;font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--slate);margin:16px 0 4px}
.cn-rg:first-child{margin-top:0}
.cn-rl{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:7px 0 7px 10px;
  margin-left:-10px;font-family:var(--display);font-weight:500;font-size:14.5px;text-transform:uppercase;
  letter-spacing:.02em;color:var(--ink);border-left:3px solid transparent}
.cn-rl:hover{color:var(--cyan-deep,#0097a7)}
.cn-rl.cur{border-left-color:var(--cyan-deep,#0097a7);color:var(--cyan-deep,#0097a7)}
/* stage panels */
.cn-panel{display:none}
.cn-panel.on{display:block}
.cn-pk{font-family:var(--label);font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--slate);margin:0 0 6px}
.cn-pk .st{color:var(--cyan-deep,#0097a7)}
.cn-pt{font-family:var(--display);font-weight:500;font-size:clamp(26px,3.4vw,40px);line-height:1;
  text-transform:uppercase;margin:0 0 8px;color:var(--ink)}
.cn-pd{font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--slate);margin:0 0 6px;max-width:60ch}
.cn-read{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.5;color:var(--ink);
  border-left:3px solid var(--cyan-deep,#0097a7);padding-left:12px;margin:14px 0 4px;max-width:56ch}
.cn-stat{display:flex;align-items:baseline;gap:12px;margin:16px 0 4px}
.cn-stat b{font-family:ui-monospace,Menlo,monospace;font-weight:600;font-size:clamp(26px,3.4vw,40px);color:var(--ink)}
.cn-stat span{font-family:var(--label);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.cn-chart{width:100%;height:340px;border:1px solid var(--mist,#e4e0d8);border-top:3px solid var(--cyan-deep,#0097a7);
  background:var(--cream,#f6f4ef);margin:16px 0 4px;padding:10px 8px 4px;box-sizing:border-box}
.cn-open{display:inline-block;margin-top:16px;font-family:var(--label);font-weight:700;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-deep,#0097a7);text-decoration:none;
  border-bottom:2px solid var(--cyan-deep,#0097a7);padding-bottom:2px}
.cn-nav{display:flex;justify-content:space-between;gap:12px;margin-top:30px;border-top:1px solid var(--mist,#e4e0d8);
  padding-top:14px}
.cn-nav button{background:none;border:0;cursor:pointer;font-family:var(--label);font-weight:700;font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--slate);padding:4px 0}
.cn-nav button:hover{color:var(--cyan-deep,#0097a7)}
.cn-kbd{font-family:ui-monospace,Menlo,monospace;font-size:9.5px;color:var(--slate);text-align:center;flex:1;align-self:center}
/* inlined instruments (Michael 2026-07-13): small instruments live ON the console — Report typography */
.cn-body{margin:18px 0 4px;max-width:72ch;font-family:var(--serif);font-size:15px;line-height:1.62;color:var(--ink)}
.cn-body h3{font-family:var(--display);font-weight:500;font-size:19px;text-transform:uppercase;letter-spacing:.02em;margin:22px 0 8px}
.cn-body p{margin:0 0 12px}
.cn-body .eyebrow{font-family:var(--label);font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-deep,#0097a7);margin:20px 0 2px}
.cn-body table{border-collapse:collapse;width:100%;margin:14px 0;font-size:13px}
.cn-body th{font-family:var(--label);font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--slate);background:var(--cream,#f6f4ef);border:1px solid var(--mist,#e4e0d8);padding:7px 9px;text-align:left}
.cn-body td{border:1px solid var(--mist,#e4e0d8);padding:7px 9px;font-family:var(--serif)}
.cn-fcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 4px}
@media(max-width:820px){.cn-fcards{grid-template-columns:1fr}}
.cn-fc{border:1px solid var(--mist,#e4e0d8);border-top:3px solid var(--cyan-deep,#0097a7);background:var(--cream,#f6f4ef);padding:13px 14px}
.cn-fc .k{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--cyan-deep,#0097a7)}
.cn-fc h4{font-family:var(--display);font-weight:500;font-size:16px;text-transform:uppercase;margin:.2em 0 2px}
.cn-fc .m{font-family:var(--label);font-weight:700;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);display:block;margin-bottom:6px}
.cn-fc p{font-family:var(--serif);font-size:13px;line-height:1.5;color:var(--ink);margin:0}
.cn-mgd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 4px}
@media(max-width:820px){.cn-mgd{grid-template-columns:1fr}}
.cn-mg{border:1px solid var(--mist,#e4e0d8);padding:12px 14px;background:var(--paper,#fff)}
.cn-mg .k{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--slate)}
.cn-mg b{display:block;font-family:ui-monospace,Menlo,monospace;font-weight:600;font-size:26px;color:var(--ink);margin:2px 0}
.cn-mg b.hot{color:#B30000}
.cn-mg span{font-family:var(--serif);font-size:12px;color:var(--slate)}
.cn-pick-all label{display:flex;gap:8px;align-items:baseline;font-family:var(--label);font-weight:700;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep,#0097a7);padding:3px 10px;cursor:pointer}
/* the firm-compare picker (fragility panel) — dropdown grouped L1-L5, picked firms → heat mini-board */
.cn-pick{margin:18px 0 4px}
.cn-pick summary{display:inline-flex;gap:8px;align-items:center;cursor:pointer;list-style:none;
  font-family:var(--label);font-weight:700;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);border:1px solid var(--mist,#cfcabe);padding:8px 12px;background:var(--paper,#fff)}
.cn-pick summary::after{content:"▾";font-size:9px;color:var(--slate)}
.cn-pick[open] summary::after{content:"▴"}
.cn-pick-menu{position:absolute;z-index:30;margin-top:4px;background:var(--paper,#fff);
  border:1px solid var(--ink);box-shadow:0 18px 40px -18px rgba(0,0,0,.35);
  max-height:340px;overflow-y:auto;min-width:290px;padding:10px 14px 14px}
.cn-pick-g{font-family:var(--label);font-weight:700;font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:#B30000;margin:10px 0 4px}
.cn-pick-g:first-child{margin-top:0}
.cn-pick-menu label{display:flex;gap:8px;align-items:baseline;font-family:var(--serif);font-size:13.5px;
  padding:3px 0;cursor:pointer;color:var(--ink)}
.cn-pick-menu label .tk{font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--slate)}
.cn-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.cn-chip{display:inline-flex;gap:6px;align-items:center;font-family:ui-monospace,Menlo,monospace;font-size:11px;
  background:var(--ink);color:var(--cream,#f3efe6);padding:4px 8px;cursor:pointer}
.cn-chip:hover{background:#B30000}
.cn-cmp{width:100%;border-collapse:collapse;font-family:ui-monospace,Menlo,monospace;font-size:12px;margin:12px 0 2px}
.cn-cmp th{text-align:left;font-family:var(--label);font-size:9px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--slate);border-bottom:2px solid var(--ink);padding:6px 8px;white-space:nowrap}
.cn-cmp td{padding:6px 8px;border-bottom:1px solid var(--mist,#e4e0d8);white-space:nowrap}
.cn-cmp td.hc{text-align:center;min-width:42px}
.cn-cmp .nm{font-family:var(--serif);font-size:12.5px}
.h0{background:#f4f1ea;color:#8a8375}.h1{background:#efe4c8;color:#6b5a23}
.h2{background:#e9c979;color:#4c3a08}.h3{background:#d98443;color:#fff}
.h4{background:#B30000;color:#fff;font-weight:700}
.cn-pick-note{font-family:ui-monospace,Menlo,monospace;font-size:10px;color:var(--slate);margin-top:8px}
@media(max-width:820px){
  .cn-shell{grid-template-columns:1fr}
  .cn-rail{position:static;display:flex;flex-wrap:wrap;gap:2px 14px;border-right:0;
    border-bottom:1px solid var(--mist,#e4e0d8);padding:0 0 12px}
  .cn-rg{width:100%;margin:10px 0 2px}
  .cn-rl{width:auto;padding:4px 0;border-left:0;font-size:13px}
  .cn-rl.cur{color:#B30000;border-left:0;text-decoration:underline}
  .cn-kbd{display:none}
}
noscript .cn-panel{display:block}

