/* PASCAL DESK — design tokens ported verbatim from the CORTEX dashboard,
   so this reads as the same house even though it is a separate product. */
:root {
  --bg:        #050810;
  --bg1:       #080d16;
  --bg2:       #0c1220;
  --bg3:       #111929;
  --bg4:       #172034;
  --border:    rgba(255,255,255,0.055);
  --border2:   rgba(255,255,255,0.11);
  --text:      #e8edf5;
  --text2:     #8fa3bc;
  --text3:     #3f526a;
  --amber:     #f5a623;
  --amber2:    #ffc043;
  --amberBg:   rgba(245,166,35,0.09);
  --amberGlow: rgba(245,166,35,0.18);
  --green:     #00d48a;
  --greenBg:   rgba(0,212,138,0.08);
  --greenGlow: rgba(0,212,138,0.22);
  --red:       #ff4560;
  --redBg:     rgba(255,69,96,0.08);
  --redGlow:   rgba(255,69,96,0.22);
  --blue:      #3d8ef8;
  --cyan:      #00c8e0;
  --purple:    #a855f7;
  --radius:    12px;
  --radius-sm: 7px;
  --shadow:    0 4px 32px rgba(0,0,0,0.6);
  --shadow-sm: 0 2px 10px rgba(0,0,0,0.35);
  --left-w:    306px;
  --right-w:   330px;
}

*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 14px; }
/* The desk is a cockpit, not a document: it fills the viewport exactly once
   and each column scrolls inside itself, so the chart and the occurrence strip
   are always both on screen. Below 1240px this is released and the page
   scrolls normally, because stacked columns cannot all fit at once. */
body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  height: 100vh;
  overflow: hidden;
  display: flex; flex-direction: column;
}
.mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

/* ═══ TOP BAR ═══ */
.top {
  flex: none;
  display: flex; align-items: center; gap: 26px;
  padding: 13px 22px;
  background: linear-gradient(180deg, var(--bg2), var(--bg1));
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.brand { display: flex; align-items: center; gap: 13px; margin-right: auto; }
.mark {
  width: 40px; height: 40px; border-radius: 10px; flex: none;
  background: linear-gradient(140deg, var(--amber), #b8730c);
  color: #16100200; color: #1a1200;
  display: grid; place-items: center;
  font-weight: 700; font-size: 15px; letter-spacing: -0.5px;
  box-shadow: 0 0 22px var(--amberGlow);
}
.mark span { opacity: 0.55; }
.brandtext h1 {
  font-size: 15px; font-weight: 700; letter-spacing: 2.4px;
}
.brandtext p { font-size: 11.5px; color: var(--text2); margin-top: 2px; }

.tfbar { display: flex; gap: 5px; background: var(--bg3);
         padding: 4px; border-radius: 9px; border: 1px solid var(--border); }
.tfbtn {
  background: none; border: 0; color: var(--text2); cursor: pointer;
  font: 600 12px/1 'Inter', sans-serif; letter-spacing: 0.6px;
  padding: 8px 15px; border-radius: 6px; transition: 0.14s;
}
.tfbtn:hover { color: var(--text); background: var(--bg4); }
.tfbtn.on { background: var(--amber); color: #1a1200; }

.livepill {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 13px; border-radius: 8px;
  background: var(--bg3); border: 1px solid var(--border);
  font: 600 13px/1 'JetBrains Mono', monospace; color: var(--text2);
}
.livepill.up   { color: var(--green); border-color: rgba(0,212,138,0.35); }
.livepill.down { color: var(--red);   border-color: rgba(255,69,96,0.35); }
.livepill.off  { color: var(--text3); }
.dotlive { width: 7px; height: 7px; border-radius: 50%; background: currentColor;
           box-shadow: 0 0 8px currentColor; animation: pulse 2s infinite; }
.livepill.off .dotlive { animation: none; box-shadow: none; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.25; } }

.topmeta { text-align: right; }
.metaline { font-size: 11.5px; color: var(--text2); }
.metaline.dim { color: var(--text3); font-size: 10.5px; margin-top: 2px; }

/* ═══ VERDICT BAR ═══ */
.verdictbar {
  flex: none;
  display: flex; align-items: stretch; gap: 0;
  background: var(--bg1); border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.vmain, .vanswer { padding: 14px 22px; border-right: 1px solid var(--border); }
.vlabel {
  font-size: 9.5px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--text3); font-weight: 600; margin-bottom: 5px;
}
.vq { font-size: 15px; font-weight: 600; color: var(--text2); }
.vanswer { flex: 1; min-width: 300px; }
.vtext { font-size: 15px; font-weight: 600; line-height: 1.4; }
.vtext .good { color: var(--green); }
.vtext .bad  { color: var(--red); }
.vtext .warn { color: var(--amber); }
.vstats { display: flex; align-items: center; gap: 0; flex-wrap: wrap; }
.vstat { padding: 12px 20px; border-right: 1px solid var(--border); }
.vstat b { display: block; font-size: 17px; font-weight: 700; }
.vstat span { font-size: 10px; color: var(--text3); letter-spacing: 0.6px;
              text-transform: uppercase; }

/* ═══ LAYOUT ═══ */
/* `display: grid` beats the hidden attribute's UA `display: none`, so the
   lab view rendered underneath the pattern view instead of replacing it. */
.layout[hidden] { display: none; }
.layout {
  display: grid;
  grid-template-columns: var(--left-w) minmax(0,1fr) var(--right-w);
  grid-template-rows: minmax(0, 1fr);
  flex: 1; min-height: 0;
}
.panel {
  background: var(--bg1); padding: 16px 15px;
  overflow-y: auto; min-height: 0;
}
.panel.left  { border-right: 1px solid var(--border); }
.panel.right { border-left: 1px solid var(--border); }
.phead { display: flex; align-items: center; justify-content: space-between; }
.phead h2 { font-size: 12px; font-weight: 700; letter-spacing: 1.4px;
            text-transform: uppercase; color: var(--text); }
.help {
  width: 19px; height: 19px; border-radius: 50%; flex: none;
  background: var(--bg3); border: 1px solid var(--border2);
  color: var(--text2); cursor: pointer; font: 600 10px/1 'Inter', sans-serif;
}
.help:hover { border-color: var(--amber); color: var(--amber); }
.psub { font-size: 11px; color: var(--text3); line-height: 1.5;
        margin: 7px 0 13px; }

/* ═══ SCOREBOARD ═══ */
.board { display: flex; flex-direction: column; gap: 6px; }
.prow {
  background: var(--bg2); border: 1px solid var(--border);
  border-left: 3px solid var(--text3);
  border-radius: var(--radius-sm); padding: 9px 11px; cursor: pointer;
  transition: 0.14s;
}
.prow:hover { background: var(--bg3); border-color: var(--border2); }
.prow.on { background: var(--amberBg); border-color: var(--amber);
           border-left-color: var(--amber); }
.prow.v-above { border-left-color: var(--green); }
.prow.v-below { border-left-color: var(--red); }
.prow .pname {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 8px;
}
.prow .pn { font-size: 12.5px; font-weight: 600; }
.prow .pr { font-family: 'JetBrains Mono', monospace; font-size: 13px;
            font-weight: 600; }
.pr.pos { color: var(--green); } .pr.neg { color: var(--red); }
.prow .pmeta {
  display: flex; gap: 10px; margin-top: 5px;
  font-size: 10.5px; color: var(--text3);
  font-family: 'JetBrains Mono', monospace;
}
.ci { color: var(--text3); }

.legend { margin-top: 16px; display: flex; flex-direction: column; gap: 6px;
          font-size: 10px; color: var(--text3); }
.legend div { display: flex; align-items: center; gap: 7px; }
.dot { width: 7px; height: 7px; border-radius: 50%; flex: none;
       background: var(--text3); }
.dot.above { background: var(--green); }
.dot.below { background: var(--red); }
.dot.nys   { background: var(--amber); }

/* ═══ CHART ═══ */
.chartwrap { display: flex; flex-direction: column; min-width: 0;
             min-height: 0; background: var(--bg); }
.toolbar {
  flex: none;
  display: flex; align-items: center; gap: 3px;
  padding: 7px 12px; border-bottom: 1px solid var(--border);
  background: var(--bg1);
}
.tool {
  width: 30px; height: 28px; border-radius: 6px;
  background: var(--bg3); border: 1px solid var(--border);
  color: var(--text2); cursor: pointer; font-size: 13px; line-height: 1;
  transition: 0.14s;
}
.tool:hover { color: var(--text); border-color: var(--border2); }
.tool.active { background: var(--amber); color: #1a1200;
               border-color: var(--amber); }
.tool.danger:hover { color: var(--red); border-color: var(--red); }
.toolsep { width: 1px; height: 18px; background: var(--border2);
           margin: 0 6px; }

.chartbox { position: relative; flex: 1; min-height: 240px; }
#chart { position: absolute; inset: 0; }
/* Lightweight Charts puts its own canvas at z-index 1, so the overlay must
   sit above it or every pattern we draw is painted over and invisible. */
#overlay { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
#overlay.drawing { pointer-events: auto; cursor: crosshair; }
.chartbadge {
  position: absolute; top: 11px; left: 13px; z-index: 4;
  background: rgba(8,13,22,0.9); border: 1px solid var(--border2);
  border-radius: var(--radius-sm); padding: 6px 11px;
  font-size: 11px; color: var(--text2); backdrop-filter: blur(8px);
  max-width: 70%; pointer-events: none;
}
.chartbadge b { color: var(--amber); }
.drawhint {
  position: absolute; bottom: 11px; left: 13px; z-index: 4;
  font-size: 10.5px; color: var(--amber); background: rgba(8,13,22,0.9);
  padding: 5px 10px; border-radius: 6px; pointer-events: none;
}
.drawhint:empty { display: none; }

/* ═══ INSTANCES ═══ */
.instbar { border-top: 1px solid var(--border); background: var(--bg1);
           padding: 9px 12px 11px; flex: none; }
.instlabel { font-size: 10px; letter-spacing: 1.2px; text-transform: uppercase;
             color: var(--text3); font-weight: 600; margin-bottom: 7px; }
.instlist { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 4px; }
.inst {
  flex: none; background: var(--bg2); border: 1px solid var(--border);
  border-radius: 6px; padding: 6px 9px; cursor: pointer; min-width: 96px;
  transition: 0.13s;
}
.inst:hover { border-color: var(--border2); background: var(--bg3); }
.inst.on { border-color: var(--amber); background: var(--amberBg); }
.inst .idate { font-size: 10px; color: var(--text2);
               font-family: 'JetBrains Mono', monospace; }
.inst .ir { font-size: 12px; font-weight: 700; margin-top: 2px;
            font-family: 'JetBrains Mono', monospace; }
.ir.pos { color: var(--green); } .ir.neg { color: var(--red); }

/* ═══ SLICES ═══ */
.slices { display: flex; flex-direction: column; gap: 11px; }
.slice { background: var(--bg2); border: 1px solid var(--border);
         border-radius: var(--radius-sm); padding: 11px; }
.slice h3 { font-size: 11px; font-weight: 600; color: var(--text);
            margin-bottom: 3px; }
.slice .verdictline { font-size: 10.5px; line-height: 1.45;
                      color: var(--text3); margin-bottom: 9px; }
.slice .verdictline.helps { color: var(--green); }
.slice .verdictline.hurts { color: var(--red); }
.bar2 { display: flex; flex-direction: column; gap: 6px; }
.b2row { display: grid; grid-template-columns: 1fr auto; gap: 8px;
         align-items: center; }
.b2label { font-size: 10.5px; color: var(--text2); }
.b2track { grid-column: 1/-1; height: 5px; background: var(--bg4);
           border-radius: 3px; overflow: hidden; position: relative; }
.b2fill { position: absolute; top: 0; bottom: 0; border-radius: 3px; }
.b2fill.pos { background: var(--green); }
.b2fill.neg { background: var(--red); }
.b2val { font-family: 'JetBrains Mono', monospace; font-size: 11px;
         font-weight: 600; }
.b2val.pos { color: var(--green); } .b2val.neg { color: var(--red); }
.b2n { font-size: 9.5px; color: var(--text3);
       font-family: 'JetBrains Mono', monospace; }

/* ═══ MODAL ═══ */
.modal { position: fixed; inset: 0; z-index: 50; background: rgba(2,4,9,0.78);
         display: grid; place-items: center; padding: 22px;
         backdrop-filter: blur(4px); }
.modal[hidden] { display: none; }
.modalbox { background: var(--bg2); border: 1px solid var(--border2);
            border-radius: var(--radius); padding: 24px; max-width: 560px;
            position: relative; box-shadow: var(--shadow);
            max-height: 84vh; overflow-y: auto; }
.modalclose { position: absolute; top: 12px; right: 12px; width: 26px;
              height: 26px; border-radius: 6px; background: var(--bg3);
              border: 1px solid var(--border); color: var(--text2);
              cursor: pointer; }
.modalbox h3 { font-size: 15px; margin-bottom: 11px; }
.modalbox p { font-size: 12.5px; color: var(--text2); line-height: 1.65;
              margin-bottom: 10px; }
.modalbox b { color: var(--text); }
.modalbox code { font-family: 'JetBrains Mono', monospace; font-size: 11.5px;
                 background: var(--bg4); padding: 1px 5px; border-radius: 4px;
                 color: var(--amber2); }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1240px) {
  body { height: auto; overflow: auto; }
  .layout { grid-template-rows: none; }
  .layout { grid-template-columns: 264px minmax(0,1fr); }
  .panel.right { grid-column: 1/-1; border-left: 0;
                 border-top: 1px solid var(--border); }
  .chartbox { min-height: 420px; }
}
@media (max-width: 860px) {
  .layout { grid-template-columns: 1fr; }
  .panel.left { border-right: 0; border-bottom: 1px solid var(--border); }
  .chartbox { min-height: 320px; }
  .top { gap: 14px; }
  .vstat { padding: 10px 14px; }
}

/* ═══ VIEW SWITCH + EXIT LAB ═══ */
.viewbar { display: flex; gap: 4px; background: var(--bg3); padding: 4px;
           border-radius: 9px; border: 1px solid var(--border); }
.viewbtn { background: none; border: 0; color: var(--text2); cursor: pointer;
           font: 600 12px/1 'Inter', sans-serif; padding: 8px 14px;
           border-radius: 6px; transition: 0.14s; }
.viewbtn:hover { color: var(--text); background: var(--bg4); }
.viewbtn.on { background: var(--bg1); color: var(--amber);
              box-shadow: var(--shadow-sm); }

.labview { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px 30px;
           background: var(--bg); }
.labview[hidden] { display: none; }
.labhead { display: flex; justify-content: space-between; align-items: flex-start;
           gap: 20px; flex-wrap: wrap; margin-bottom: 16px; }
.labhead h2 { font-size: 15px; font-weight: 700; letter-spacing: 0.3px; }
.labhead p { font-size: 12px; color: var(--text2); margin-top: 4px; }
.splitnote { font-size: 11px; color: var(--text3); text-align: right;
             font-family: 'JetBrains Mono', monospace; }

.labtable { display: flex; flex-direction: column; gap: 7px; }
.labrow {
  display: grid; grid-template-columns: 1.9fr 1fr 1fr 0.9fr 1.1fr;
  gap: 14px; align-items: center;
  background: var(--bg2); border: 1px solid var(--border);
  border-left: 3px solid var(--text3);
  border-radius: var(--radius-sm); padding: 11px 14px;
}
.labrow.head { background: none; border: 0; padding: 2px 14px;
               font-size: 9.5px; letter-spacing: 1.3px; text-transform: uppercase;
               color: var(--text3); font-weight: 600; }
.labrow.holds { border-left-color: var(--green); }
.labrow.died  { border-left-color: var(--red); }
.labrow.never { border-left-color: var(--text3); opacity: 0.62; }
.labname b { font-size: 13px; font-weight: 600; display: block; }
.labname span { font-size: 10.5px; color: var(--text3); line-height: 1.45;
                display: block; margin-top: 3px; }
.labcell { font-family: 'JetBrains Mono', monospace; font-size: 14px;
           font-weight: 600; }
.labcell small { display: block; font-size: 9.5px; color: var(--text3);
                 font-weight: 400; margin-top: 2px; }
.labcell.pos { color: var(--green); } .labcell.neg { color: var(--red); }
.labverdict { font-size: 10px; font-weight: 700; letter-spacing: 0.7px;
              padding: 5px 9px; border-radius: 5px; text-align: center; }
.labverdict.holds { background: var(--greenBg); color: var(--green); }
.labverdict.died  { background: var(--redBg); color: var(--red); }
.labverdict.never { background: var(--bg4); color: var(--text3); }
.labverdict.few   { background: var(--bg4); color: var(--text3); }
.spark { height: 30px; width: 100%; }

.labfoot { margin-top: 22px; background: var(--bg1); border: 1px solid var(--border);
           border-radius: var(--radius); padding: 16px 18px; max-width: 780px; }
.labfoot h3 { font-size: 12px; letter-spacing: 1.1px; text-transform: uppercase;
              color: var(--amber); margin-bottom: 7px; }
.labfoot p { font-size: 12.5px; color: var(--text2); line-height: 1.7; }
.labfoot b { color: var(--text); }

@media (max-width: 900px) {
  .labrow { grid-template-columns: 1.6fr 1fr 1fr; }
  .labrow .spark, .labrow.head span:nth-child(4) { display: none; }
}

/* ═══ EXPLAIN BUTTON + GLOSSARY ═══ */
.explainbtn {
  background: var(--amberBg); border: 1px solid rgba(245,166,35,0.35);
  color: var(--amber2); cursor: pointer; padding: 8px 14px;
  border-radius: 8px; font: 600 11.5px/1 'Inter', sans-serif;
}
.explainbtn:hover { background: rgba(245,166,35,0.16); }
.gloss { display: flex; flex-direction: column; gap: 0; }
.gterm { padding: 13px 0; border-bottom: 1px solid var(--border); }
.gterm:last-child { border-bottom: 0; }
.gterm h4 { font-size: 13px; font-weight: 700; color: var(--amber2);
            margin-bottom: 5px; }
.gterm p { font-size: 12.5px; color: var(--text2); line-height: 1.65;
           margin: 0 0 6px; }
.gterm .eg { font-size: 12px; color: var(--text); background: var(--bg4);
             border-left: 2px solid var(--amber); padding: 7px 10px;
             border-radius: 0 5px 5px 0; }
.modalbox.wide { max-width: 720px; }

/* money under an R figure */
.inmoney { display: block; font-size: 9.5px; color: var(--text3);
           font-weight: 400; margin-top: 2px;
           font-family: 'Inter', sans-serif; }

/* ═══ BEST STRATEGIES ═══ */
.stratview { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px 30px;
             background: var(--bg); }
.stratview[hidden] { display: none; }
.champ {
  background: linear-gradient(135deg, rgba(245,166,35,0.11), var(--bg2) 55%);
  border: 1px solid rgba(245,166,35,0.4); border-radius: var(--radius);
  padding: 20px 22px; margin-bottom: 24px;
}
.champ .tagline { font-size: 9.5px; letter-spacing: 1.6px; font-weight: 700;
                  text-transform: uppercase; color: var(--amber); }
.champ h2 { font-size: 20px; font-weight: 700; margin: 7px 0 4px; }
.champ .sentence { font-size: 13.5px; color: var(--text2); line-height: 1.6;
                   max-width: 640px; }
.champgrid { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
             gap: 12px; margin-top: 18px; }
.champstat { background: rgba(5,8,16,0.5); border: 1px solid var(--border);
             border-radius: var(--radius-sm); padding: 12px 14px; }
.champstat b { display: block; font-size: 19px; font-weight: 700;
               font-family: 'JetBrains Mono', monospace; }
.champstat b.pos { color: var(--green); } .champstat b.neg { color: var(--red); }
.champstat span { font-size: 10px; color: var(--text3); text-transform: uppercase;
                  letter-spacing: 0.7px; display: block; margin-top: 3px; }
.champstat small { display: block; font-size: 10.5px; color: var(--text2);
                   margin-top: 5px; line-height: 1.4; }
.champcurve { margin-top: 16px; background: rgba(5,8,16,0.45);
              border: 1px solid var(--border); border-radius: var(--radius-sm);
              padding: 12px 14px; }
.champcurve h4 { font-size: 10px; letter-spacing: 1.2px; text-transform: uppercase;
                 color: var(--text3); margin-bottom: 8px; }

.strathead { margin-bottom: 12px; }
.strathead h2 { font-size: 15px; font-weight: 700; }
.strathead p { font-size: 12px; color: var(--text2); margin-top: 4px; }
.strattable { display: flex; flex-direction: column; gap: 6px; }
.strow { display: grid; grid-template-columns: 2.4fr 1fr 1fr 0.8fr;
         gap: 14px; align-items: center; background: var(--bg2);
         border: 1px solid var(--border); border-left: 3px solid var(--text3);
         border-radius: var(--radius-sm); padding: 10px 14px; }
.strow.head { background: none; border: 0; padding: 2px 14px;
              font-size: 9.5px; letter-spacing: 1.3px; text-transform: uppercase;
              color: var(--text3); font-weight: 600; }
.strow.good { border-left-color: var(--green); }
.strow.bad  { border-left-color: var(--red); }
.strow .sname b { font-size: 12.5px; display: block; }
.strow .sname span { font-size: 10.5px; color: var(--text3); display: block;
                     margin-top: 3px; line-height: 1.45; }
.strow .scell { font-family: 'JetBrains Mono', monospace; font-size: 13.5px;
                font-weight: 600; }
.scell.pos { color: var(--green); } .scell.neg { color: var(--red); }
.scell small { display: block; font-size: 9.5px; color: var(--text3);
               font-weight: 400; margin-top: 2px; }
@media (max-width: 900px) {
  .strow { grid-template-columns: 1.8fr 1fr 1fr; }
  .strow .scell:last-child, .strow.head span:last-child { display: none; }
}

/* ═══ MESSAGE BOX ═══ */
.chatfab {
  position: fixed; right: 20px; bottom: 20px; z-index: 60;
  display: flex; align-items: center; gap: 8px;
  background: var(--bg3); border: 1px solid var(--border2);
  color: var(--text); cursor: pointer; padding: 11px 17px;
  border-radius: 24px; font: 600 12.5px/1 'Inter', sans-serif;
  box-shadow: var(--shadow);
}
.chatfab:hover { border-color: var(--amber); color: var(--amber2); }
.chatfab.on { background: var(--amber); color: #1a1200; border-color: var(--amber); }
.fabdot { width: 7px; height: 7px; border-radius: 50%; background: var(--text3); }
.chatfab.awake .fabdot { background: var(--green);
                         box-shadow: 0 0 8px var(--green);
                         animation: pulse 2s infinite; }

.chatpanel {
  position: fixed; right: 20px; bottom: 74px; z-index: 60;
  width: min(410px, calc(100vw - 40px)); height: min(540px, calc(100vh - 130px));
  display: flex; flex-direction: column;
  background: var(--bg2); border: 1px solid var(--border2);
  border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden;
}
.chatpanel[hidden] { display: none; }
.chathead { display: flex; align-items: flex-start; justify-content: space-between;
            padding: 13px 15px; border-bottom: 1px solid var(--border);
            background: var(--bg1); }
.chathead h3 { font-size: 13px; font-weight: 700; letter-spacing: 0.4px; }
.chatstatus { font-size: 10.5px; margin-top: 4px; display: flex;
              align-items: center; gap: 6px; }
.chatstatus::before { content: ''; width: 6px; height: 6px; border-radius: 50%;
                      background: currentColor; }
.chatstatus.live { color: var(--green); }
.chatstatus.wait { color: var(--amber); }
.chatstatus.off  { color: var(--red); }

.chatlog { flex: 1; overflow-y: auto; padding: 14px 15px;
           display: flex; flex-direction: column; gap: 12px; }
.chatempty { font-size: 11.5px; color: var(--text3); line-height: 1.65;
             text-align: center; margin: auto; max-width: 280px; }
.msg { max-width: 88%; }
.msg.marco { align-self: flex-end; }
.msgwho { font-size: 9.5px; letter-spacing: 0.8px; text-transform: uppercase;
          color: var(--text3); font-weight: 600; margin-bottom: 4px;
          display: flex; gap: 7px; align-items: baseline; }
.msg.marco .msgwho { justify-content: flex-end; }
.msgwho span { font-weight: 400; letter-spacing: 0;
               text-transform: none; opacity: 0.65; }
.msgtext { font-size: 12.5px; line-height: 1.6; padding: 9px 12px;
           border-radius: 10px; background: var(--bg3);
           border: 1px solid var(--border); color: var(--text); }
.msg.marco .msgtext { background: var(--amberBg);
                      border-color: rgba(245,166,35,0.3); }

.chatcompose { display: flex; gap: 8px; padding: 11px 12px;
               border-top: 1px solid var(--border); background: var(--bg1); }
.chatcompose textarea {
  flex: 1; resize: none; background: var(--bg3); color: var(--text);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: 9px 11px; font: 400 12.5px/1.5 'Inter', sans-serif;
}
.chatcompose textarea:focus { outline: none; border-color: var(--amber); }
.chatcompose button {
  background: var(--amber); color: #1a1200; border: 0; cursor: pointer;
  padding: 0 16px; border-radius: var(--radius-sm);
  font: 600 12px/1 'Inter', sans-serif;
}
.chatcompose button:hover { background: var(--amber2); }
.msg.assistant .msgtext { background: rgba(61,142,248,0.09);
                          border-color: rgba(61,142,248,0.28); }
.msg.claude .msgtext { background: var(--greenBg);
                       border-color: rgba(0,212,138,0.28); }

/* who answers */
.whoswitch { display: flex; align-items: center; gap: 5px;
             padding: 9px 12px 0; }
.whoslabel { font-size: 9.5px; letter-spacing: 1.2px; text-transform: uppercase;
             color: var(--text3); font-weight: 600; margin-right: 3px; }
.whobtn { display: flex; align-items: center; gap: 6px; cursor: pointer;
          background: var(--bg3); border: 1px solid var(--border);
          color: var(--text2); padding: 6px 10px; border-radius: 7px;
          font: 600 11px/1 'Inter', sans-serif; transition: 0.14s; }
.whobtn:hover { color: var(--text); border-color: var(--border2); }
.whobtn.on { color: var(--text); border-color: var(--amber);
             background: var(--amberBg); }
.whodot { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.whodot.blue { background: var(--blue); }
.whodot.green { background: var(--green); }
.whohint { font-size: 10px; color: var(--text3); line-height: 1.5;
           padding: 7px 12px 0; }
.whohint.warn { color: var(--amber); }

/* what Claude Code is doing right now */
.working { display: flex; align-items: center; gap: 8px; margin: 9px 12px 0;
           padding: 7px 11px; border-radius: var(--radius-sm);
           background: var(--greenBg); border: 1px solid rgba(0,212,138,0.28); }
.working[hidden] { display: none; }
.workdot { width: 7px; height: 7px; border-radius: 50%; flex: none;
           background: var(--green); box-shadow: 0 0 8px var(--green);
           animation: pulse 1.4s infinite; }
.worktext { font-size: 11px; color: var(--green); font-weight: 600;
            flex: 1; line-height: 1.4; }
.workage { font-size: 9.5px; color: var(--text3);
           font-family: 'JetBrains Mono', monospace; flex: none; }
.working.idle { background: var(--bg3); border-color: var(--border); }
.working.idle .workdot { background: var(--text3); box-shadow: none;
                         animation: none; }
.working.idle .worktext { color: var(--text3); font-weight: 400; }
.working.stale { background: var(--amberBg);
                 border-color: rgba(245,166,35,0.3); }
.working.stale .workdot { background: var(--amber); box-shadow: none;
                          animation: none; }
.working.stale .worktext { color: var(--amber); }

/* ═══ SIMULATOR BAR ═══ */
.simbar { display: flex; align-items: center; justify-content: space-between;
          gap: 18px; flex-wrap: wrap; margin-bottom: 18px; padding: 12px 14px;
          background: var(--bg1); border: 1px solid var(--border);
          border-radius: var(--radius); }
.rankswitch { display: flex; align-items: center; gap: 5px; }
.rankbtn { background: var(--bg3); border: 1px solid var(--border);
           color: var(--text2); cursor: pointer; padding: 7px 13px;
           border-radius: 7px; font: 600 11.5px/1 'Inter', sans-serif;
           transition: 0.14s; }
.rankbtn:hover { color: var(--text); border-color: var(--border2); }
.rankbtn.on { background: var(--amber); color: #1a1200; border-color: var(--amber); }
.simctl { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.simctl label { display: flex; align-items: center; gap: 6px;
                font-size: 10.5px; color: var(--text3); font-weight: 600;
                text-transform: uppercase; letter-spacing: 0.7px; }
.simctl input { width: 92px; background: var(--bg3); color: var(--text);
                border: 1px solid var(--border); border-radius: 6px;
                padding: 7px 9px; font: 600 13px/1 'JetBrains Mono', monospace; }
.simctl input:focus { outline: none; border-color: var(--amber); }
.ipre, .ipost { color: var(--text2); font-family: 'JetBrains Mono', monospace;
                font-size: 12px; }
.simnote { font-size: 10.5px; color: var(--text3); line-height: 1.5;
           max-width: 340px; }
.simnote b { color: var(--text2); }
@media (max-width: 900px) { .simbar { flex-direction: column;
                                      align-items: flex-start; } }

/* jump from a strategy to its trades on the chart */
.showchart { margin-top: 16px; background: var(--amber); color: #1a1200;
             border: 0; cursor: pointer; padding: 10px 18px;
             border-radius: var(--radius-sm);
             font: 600 12.5px/1 'Inter', sans-serif; }
.showchart:hover { background: var(--amber2); }
.showchart.small { margin-top: 6px; padding: 4px 9px; font-size: 10px;
                   background: var(--bg4); color: var(--text2);
                   border: 1px solid var(--border2); border-radius: 5px;
                   display: block; }
.showchart.small:hover { background: var(--amberBg); color: var(--amber2);
                         border-color: var(--amber); }

/* read-only visitors */
.readonly { font-size: 10.5px; color: var(--amber); line-height: 1.5;
            padding: 9px 12px; background: var(--amberBg);
            border-top: 1px solid rgba(245,166,35,0.28); }
.readonly[hidden] { display: none; }
.chatcompose textarea:disabled, .chatcompose button:disabled {
  opacity: 0.45; cursor: not-allowed; }

/* ═══ THE RECIPE ═══ */
.recipe { background: var(--bg1); border: 1px solid var(--border);
          border-radius: var(--radius); padding: 22px 24px; margin-bottom: 24px; }
.rechead h3 { font-size: 17px; font-weight: 700; margin-bottom: 5px; }
.rechead p { font-size: 12.5px; color: var(--text2); line-height: 1.6;
             margin-bottom: 18px; max-width: 620px; }
.resteps { list-style: none; counter-reset: step; display: flex;
           flex-direction: column; gap: 14px; }
.resteps > li { counter-increment: step; position: relative;
                padding-left: 42px; }
.resteps > li::before {
  content: counter(step); position: absolute; left: 0; top: 0;
  width: 27px; height: 27px; border-radius: 50%;
  background: var(--amber); color: #1a1200;
  display: grid; place-items: center;
  font: 700 13px/1 'Inter', sans-serif;
}
.resteps > li > b { display: block; font-size: 14.5px; font-weight: 600;
                    line-height: 1.45; padding-top: 4px; }
.resteps > li > span { display: block; font-size: 12.5px; color: var(--text2);
                       line-height: 1.6; margin-top: 5px; }
.rechecks { list-style: none; margin-top: 10px; display: flex;
            flex-direction: column; gap: 9px; }
.rechecks li { background: var(--bg2); border: 1px solid var(--border);
               border-left: 2px solid var(--amber);
               border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
               padding: 10px 13px; }
.rechecks li b { display: block; font-size: 12.5px; font-weight: 600;
                 margin-bottom: 4px; }
.rechecks li span { display: block; font-size: 12px; color: var(--text2);
                    line-height: 1.6; }
.rechecks li em { display: block; font-size: 11px; color: var(--text3);
                  font-style: normal; margin-top: 6px; line-height: 1.5; }
.reccost { margin-top: 18px; padding-top: 14px;
           border-top: 1px solid var(--border);
           font-size: 11.5px; color: var(--text3); line-height: 1.6; }

/* erase the chat */
.chathbtns { display: flex; align-items: center; gap: 7px; }
.chaterase { background: var(--bg3); border: 1px solid var(--border);
             color: var(--text3); cursor: pointer; padding: 5px 10px;
             border-radius: 6px; font: 600 10px/1 'Inter', sans-serif;
             transition: 0.14s; }
.chaterase:hover { color: var(--red); border-color: rgba(255,69,96,0.4); }
.chaterase.armed { background: var(--redBg); color: var(--red);
                   border-color: var(--red); }
.chaterase[hidden] { display: none; }

/* ═══ PAPER TRADING ═══ */
.paperview { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px 30px;
             background: var(--bg); }
.paperview[hidden] { display: none; }
.paperhead { display: flex; justify-content: space-between; gap: 20px;
             flex-wrap: wrap; margin-bottom: 18px; }
.paperhead h2 { font-size: 16px; font-weight: 700; }
.paperhead p { font-size: 12.5px; color: var(--text2); line-height: 1.6;
               margin-top: 5px; max-width: 620px; }
.paperlive { font-size: 11px; font-family: 'JetBrains Mono', monospace;
             display: flex; align-items: center; gap: 8px; padding: 8px 13px;
             border-radius: 8px; background: var(--bg3);
             border: 1px solid var(--border); color: var(--text3);
             align-self: flex-start; }
.paperlive.on { color: var(--green); border-color: rgba(0,212,138,0.35); }
.paperlive.stale { color: var(--amber); border-color: rgba(245,166,35,0.35); }
.openpos { background: linear-gradient(135deg, rgba(245,166,35,0.10),
                                       var(--bg2) 55%);
           border: 1px solid rgba(245,166,35,0.4); border-radius: var(--radius);
           padding: 18px 20px; margin: 16px 0 22px; }
.openpos h3 { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.openpos .rails { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 12px; }
.openpos .rail { font-family: 'JetBrains Mono', monospace; font-size: 13px; }
.openpos .rail span { display: block; font-size: 9.5px; color: var(--text3);
                      text-transform: uppercase; letter-spacing: 0.7px;
                      font-family: 'Inter', sans-serif; margin-bottom: 3px; }
.nopos { background: var(--bg1); border: 1px solid var(--border);
         border-radius: var(--radius); padding: 18px 20px; margin: 16px 0 22px;
         font-size: 12.5px; color: var(--text2); line-height: 1.6; }

/* ═══ PASCAL'S LIST ═══ */
.pascalview { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px 30px;
              background: var(--bg); }
.pascalview[hidden] { display: none; }
.pcount { display: flex; gap: 8px; flex-wrap: wrap; }
.pchip { font-size: 10.5px; font-weight: 600; padding: 7px 12px;
         border-radius: 7px; border: 1px solid var(--border);
         background: var(--bg3); color: var(--text2); }
.pchip.answered { color: var(--green); border-color: rgba(0,212,138,0.35); }
.pchip.testable { color: var(--amber); border-color: rgba(245,166,35,0.35); }
.pchip.no_data  { color: var(--red); border-color: rgba(255,69,96,0.30); }
.psection { margin-bottom: 26px; }
.psection > h3 { font-size: 12px; letter-spacing: 1.3px; text-transform: uppercase;
                 color: var(--amber); margin-bottom: 11px; }
.pitem { background: var(--bg2); border: 1px solid var(--border);
         border-left: 3px solid var(--text3); border-radius: var(--radius-sm);
         padding: 13px 16px; margin-bottom: 8px; }
.pitem.answered { border-left-color: var(--green); }
.pitem.testable { border-left-color: var(--amber); }
.pitem.no_data  { border-left-color: var(--red); }
.pitem.subjective { border-left-color: var(--purple); }
.pitem.star { background: linear-gradient(135deg, rgba(245,166,35,0.09),
                                          var(--bg2) 60%); }
.pitem .pde { font-size: 13px; font-weight: 600; line-height: 1.5; }
.pitem .pen { font-size: 11px; color: var(--text3); margin-top: 3px;
              line-height: 1.5; font-style: italic; }
.pitem .ptag { display: inline-block; font-size: 9px; font-weight: 700;
               letter-spacing: 0.8px; text-transform: uppercase;
               padding: 3px 7px; border-radius: 4px; margin-top: 9px; }
.ptag.answered { background: var(--greenBg); color: var(--green); }
.ptag.testable { background: var(--amberBg); color: var(--amber); }
.ptag.no_data  { background: var(--redBg); color: var(--red); }
.ptag.subjective { background: rgba(168,85,247,0.12); color: var(--purple); }
.pitem .pans { font-size: 12.5px; color: var(--text2); line-height: 1.65;
               margin-top: 8px; }
.pitem .pgap { font-size: 11.5px; color: var(--amber); line-height: 1.6;
               margin-top: 8px; padding-top: 8px;
               border-top: 1px solid var(--border); }

/* TradingView attribution — visible on every view, as the licence expects */
.tvcredit { display: inline-flex; align-items: center; gap: 7px;
            text-decoration: none; padding: 7px 12px; border-radius: 8px;
            background: var(--bg3); border: 1px solid var(--border);
            color: var(--text2); font: 600 11px/1 'Inter', sans-serif; }
.tvcredit:hover { color: var(--text); border-color: var(--blue); }
.tvmark { display: grid; place-items: center; width: 20px; height: 20px;
          border-radius: 4px; background: var(--blue); color: #041018;
          font: 700 9px/1 'JetBrains Mono', monospace; }

/* ═══ LADDER PLANNER ═══ */
.ladderview { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px 30px;
              background: var(--bg); }
.ladderview[hidden] { display: none; }
.ladderform { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 16px;
              padding: 14px 16px; background: var(--bg1);
              border: 1px solid var(--border); border-radius: var(--radius); }
.lfield { display: flex; flex-direction: column; gap: 5px; }
.lfield[hidden] { display: none; }
.lfield label { font-size: 9.5px; letter-spacing: 1.1px; text-transform: uppercase;
                color: var(--text3); font-weight: 600; }
.lfield input, .lfield select {
  background: var(--bg3); color: var(--text); border: 1px solid var(--border);
  border-radius: 6px; padding: 8px 10px;
  font: 600 13px/1 'JetBrains Mono', monospace; min-width: 130px; }
.lfield input:focus, .lfield select:focus { outline: none;
                                            border-color: var(--amber); }
.rungbox { background: var(--bg1); border: 1px solid var(--border);
           border-radius: var(--radius); padding: 14px 16px; margin-bottom: 16px; }
.runghead { display: flex; align-items: center; justify-content: space-between;
            margin-bottom: 10px; }
.runghead h3 { font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; }
.rungadd { background: var(--bg3); border: 1px solid var(--border2);
           color: var(--text2); cursor: pointer; padding: 6px 11px;
           border-radius: 6px; font: 600 11px/1 'Inter', sans-serif; }
.rungadd:hover { color: var(--amber); border-color: var(--amber); }
.rungrow { display: flex; gap: 10px; align-items: flex-end; margin-bottom: 8px;
           flex-wrap: wrap; }
.rungrow .lfield input { min-width: 110px; }
.rungdel { background: none; border: 1px solid var(--border);
           color: var(--text3); cursor: pointer; border-radius: 6px;
           padding: 8px 10px; font-size: 12px; }
.rungdel:hover { color: var(--red); border-color: var(--red); }
.ladderchart { height: 460px; border: 1px solid var(--border);
               border-radius: var(--radius); overflow: hidden;
               margin-top: 18px; }
.ladderchart[hidden] { display: none; }
.rungtag { display: inline-block; font-size: 10px; font-weight: 700;
           padding: 3px 8px; border-radius: 4px; margin-right: 6px; }
.rungtag.fired { background: var(--greenBg); color: var(--green); }
.rungtag.never { background: var(--bg4); color: var(--text3); }
.rungtag.liq   { background: var(--redBg); color: var(--red); }

/* the ladder chart needs the same sizing the main chart has — without this
   the container is 0 x 0 and the whole page renders blank */
#ldChart { position: absolute; inset: 0; }
#ldOverlay { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.showchart.nomargin { margin-top: 0; padding: 9px 16px; }
.hint { display: inline-grid; place-items: center; width: 14px; height: 14px;
        border-radius: 50%; background: var(--bg4); color: var(--text2);
        font-size: 9px; cursor: help; margin-left: 4px; }
.fundnote { font-size: 11px; color: var(--text3); line-height: 1.6;
            margin: -6px 0 16px; max-width: 620px; }
.fundnote b { color: var(--text2); }
.savedbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
            background: var(--bg1); border: 1px solid var(--border);
            border-radius: var(--radius); padding: 10px 14px;
            margin-bottom: 14px; }
.savedlist { display: flex; gap: 6px; flex-wrap: wrap; flex: 1; }
.savedchip { display: flex; align-items: center; gap: 6px; cursor: pointer;
             background: var(--bg3); border: 1px solid var(--border);
             color: var(--text2); padding: 6px 10px; border-radius: 6px;
             font: 600 11px/1 'Inter', sans-serif; }
.savedchip:hover { border-color: var(--amber); color: var(--amber2); }
.savedchip b { font-weight: 700; }
.savedchip .del { color: var(--text3); }
.savedchip .del:hover { color: var(--red); }
/* compact rungs: a tight table instead of a tower of boxes */
.rungrow { display: grid; grid-template-columns: 1fr 1fr 90px 34px;
           gap: 8px; align-items: center; margin-bottom: 6px; }
.rungrow .lfield label { display: none; }
.rungrow.rhead { margin-bottom: 4px; }
.rungrow.rhead span { font-size: 9.5px; letter-spacing: 1.1px;
                      text-transform: uppercase; color: var(--text3);
                      font-weight: 600; }
.rungrow .lfield input { min-width: 0; width: 100%; padding: 7px 9px;
                         font-size: 12px; }
.rungdel { padding: 7px 0; width: 30px; }

/* live liquidation readout on each rung row */
.rungrow { grid-template-columns: 1fr 1fr 80px 110px 34px; }
.rliq { font: 600 12px/1 'JetBrains Mono', monospace; color: var(--text2);
        text-align: right; padding-right: 4px; }
.rliq.bad { color: var(--red); }
.previewnote { font-size: 12px; color: var(--text2); line-height: 1.6;
               margin: 10px 0 6px; padding: 9px 12px; background: var(--bg3);
               border: 1px solid var(--border); border-radius: var(--radius-sm); }
.previewnote b { color: var(--text); }
.previewnote b.warn { color: var(--red); }
.rliq.safe { color: var(--green); }
.zoomout { position:absolute; right:12px; bottom:12px; z-index:4;
           background:rgba(5,8,16,.9); border:1px solid var(--line);
           color:var(--dim); font-size:11px; padding:5px 10px;
           border-radius:6px; cursor:pointer; }
.zoomout:hover { color:var(--ink); border-color:var(--accent); }
.rliq { line-height:1.25; }
.rliq .ravg { display:block; font-size:10px; color:var(--dim); font-weight:400; }
.rliq.bad { color:var(--red); }
.rliq.bad .ravg { color:var(--red); opacity:.7; }

/* ═══ LADDER PLANNER TABLE — ported from Marco's Cortex planner ═══
   His layout, not a redesign of it. Same columns, same colours, same ▼. */
.lad-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px;
  margin:18px 0; }
@media (max-width:1400px){ .lad-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:720px) { .lad-grid { grid-template-columns:1fr 1fr; } }
.lad-tile { background:rgba(10,16,28,.75); border:1px solid var(--border);
  border-radius:var(--radius); padding:14px 16px; }
.lad-tile-l { font-size:9.5px; font-weight:800; letter-spacing:.11em;
  text-transform:uppercase; color:var(--text3); margin-bottom:7px;
  white-space:nowrap; }
.lad-tile-v { font-size:20px; font-weight:700;
  font-family:'JetBrains Mono',monospace; color:var(--text); line-height:1.1; }
.lad-tile.gold .lad-tile-v { color:var(--amber); }
.lad-tile.red  .lad-tile-v { color:var(--red);
  text-shadow:0 0 14px var(--redGlow); }
.lad-tile.good .lad-tile-v { color:var(--green); }
.lad-tile-s { font-size:10px; color:var(--text3); margin-top:5px;
  font-family:'JetBrains Mono',monospace; }

.ladscroll { overflow-x:auto; }
.lad-tbl { width:100%; border-collapse:collapse;
  font-family:'JetBrains Mono',monospace; font-size:12px; white-space:nowrap; }
.lad-tbl th { padding:9px; text-align:left; font-size:9.5px; font-weight:800;
  letter-spacing:.09em; text-transform:uppercase; color:var(--text3);
  border-bottom:1px solid var(--border); }
.lad-tbl td { padding:7px 9px; color:var(--text2);
  border-bottom:1px solid var(--border); }
.lad-tbl tr.dead td { opacity:.42; }
.lad-tbl tr.dead td.lad-warn { opacity:1; color:var(--red); font-weight:700;
  white-space:normal; font-family:'Inter',sans-serif; }
.lad-in { width:100%; background:rgba(8,13,22,.7); border:1px solid var(--border);
  border-radius:6px; color:var(--text); padding:7px 9px; font-size:12.5px;
  font-family:'JetBrains Mono',monospace; outline:none; text-align:right; }
.lad-in:focus { border-color:var(--amber); box-shadow:0 0 0 2px var(--amberBg); }
.lad-in.bad { border-color:var(--red); }
.lad-x { background:transparent; border:1px solid var(--border2);
  color:var(--text3); border-radius:5px; width:22px; height:22px; cursor:pointer;
  font-size:12px; line-height:1; }
.lad-x:hover { color:var(--red); border-color:rgba(255,69,96,.45); }
.lad-num { color:var(--text3); font-size:11px; }
.lad-gold { color:var(--amber); font-weight:700; }
.lad-liq  { color:var(--red); font-weight:700; }
.lad-opts { display:flex; gap:14px; align-items:center; flex-wrap:wrap;
  font-size:11px; color:var(--text3); font-family:'JetBrains Mono',monospace; }
.lad-opts label { display:flex; align-items:center; gap:6px; }
.lad-opts .lad-in { width:78px; }
.lad-note { background:var(--redBg); border:1px solid rgba(255,69,96,.3);
  border-radius:var(--radius-sm); padding:11px 14px; margin-top:14px;
  font-size:12px; color:var(--text2); line-height:1.55; }
.lad-note b { color:var(--red); }
.sentence.reality { border-left:2px solid var(--amber); padding-left:12px;
  margin-top:10px; color:var(--text2); font-size:13px; }
.lad-safe { color: var(--green); font-weight: 700; }

/* ═══ LADDER GENERATOR ═══ */
.lad-build { display:flex; gap:14px; align-items:center; flex-wrap:wrap;
  padding:12px 0 14px; margin-bottom:6px; font-size:11px; color:var(--text3);
  font-family:'JetBrains Mono',monospace;
  border-bottom:1px solid var(--border); }
.lad-build label { display:flex; align-items:center; gap:6px; }
.lad-build .lad-in { width:88px; }
.lad-build .buildlabel { font-size:9.5px; font-weight:800; letter-spacing:.11em;
  text-transform:uppercase; color:var(--text3); }
.lad-build .buildnote { color:var(--text2); font-family:'Inter',sans-serif;
  font-size:11.5px; }
.lad-build .buildnote b { color:var(--amber); }
.lad-build .buildnote .bad { color:var(--red); font-weight:700; }
