:root{
  --bg:#05070e;--panel:#0b0f1c;--panel-2:#0a0e1a;
  --acid:#3dff9a;--cyan:#27e7ff;--blue:#3a5bff;--magenta:#ff3df0;
  --up:#3dff9a;--down:#ff5470;--text:#eaf1ff;--muted:#8590b5;
  --line:rgba(61,255,154,.34);--line-b:rgba(58,91,255,.40);
  --font-display:'Orbitron','Marathon Shapiro 65',system-ui,sans-serif;
  --font-hud:'Rajdhani','Orbitron',sans-serif;
  --font-mono:'JetBrains Mono','PP Fraktion Mono',ui-monospace,monospace;
  --radius:4px;
  --viz-axis:rgba(234,241,255,.26);--viz-grid:rgba(234,241,255,.07);--viz-tick:var(--muted);
  --viz-line-w:1.8px;--viz-marker-r:3;--viz-tip-bg:rgba(5,7,14,.96);--viz-tip-line:rgba(234,241,255,.14);--viz-tip-radius:8px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
  background:var(--bg);color:var(--text);
  font-family:var(--font-mono);font-size:15px;line-height:1.45;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.up{color:var(--up)} .down{color:var(--down)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:-999px;top:8px;z-index:60;background:var(--acid);color:#04060d;padding:8px 12px;font:700 13px var(--font-hud)}
.skip:focus{left:8px}

/* ===== animated background (decorative, low-contrast, never over text) ===== */
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bg-grid,.bg-weave,.bg-marks,.bg-glow{position:absolute;inset:-20%}
.bg-glow{background:radial-gradient(60% 50% at 80% 8%,rgba(58,91,255,.22),transparent 60%),radial-gradient(50% 45% at 6% 92%,rgba(61,255,154,.12),transparent 60%),radial-gradient(40% 40% at 50% 50%,rgba(255,61,240,.06),transparent 60%)}
#bgCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
@media (prefers-reduced-motion: reduce){#bgCanvas{opacity:.32}}
.bg-grid{background:linear-gradient(rgba(120,150,210,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(120,150,210,.07) 1px,transparent 1px);background-size:46px 46px;transform:perspective(600px) rotateX(8deg);animation:drift 28s linear infinite;opacity:.5}
.bg-weave{background:repeating-linear-gradient(90deg,rgba(61,255,154,.05) 0 2px,transparent 2px 9px);mix-blend-mode:screen;animation:weave 9s ease-in-out infinite;opacity:.5}
.bg-marks{background-image:radial-gradient(circle,rgba(140,160,220,.4) 1px,transparent 1.6px);background-size:120px 120px;background-position:30px 24px;opacity:.18;animation:marks 40s linear infinite}
.bg-glitch{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:0;animation:glitch 7s steps(1) infinite}
@keyframes drift{to{background-position:46px 460px}}
@keyframes weave{0%,100%{background-position:0 0;filter:hue-rotate(0)}50%{background-position:7px 0;filter:hue-rotate(40deg)}}
@keyframes marks{to{transform:translateY(120px)}}
@keyframes glitch{0%,96%,100%{opacity:0;top:18%}97%{opacity:.6;top:42%}98%{opacity:.3;top:66%}99%{opacity:.5;top:30%}}
@media (prefers-reduced-motion: reduce){.bg-grid,.bg-weave,.bg-marks,.bg-glitch{animation:none}}

.arena{position:relative;z-index:1;max-width:1340px;margin:0 auto;padding:18px clamp(10px,3vw,26px) 44px}

/* ===== header ===== */
.hdr{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border:2px solid var(--line);background:linear-gradient(90deg,rgba(61,255,154,.10),transparent 55%),var(--panel);padding:12px 16px;position:relative}
.hdr::before{content:"A1.2 // 2999.1";position:absolute;right:14px;top:-9px;background:var(--bg);padding:0 6px;color:var(--blue);font:700 10px var(--font-hud);letter-spacing:.28em}
.brand{display:flex;align-items:center;gap:13px}
.logo{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--acid);color:var(--acid);font:900 20px var(--font-display);background:rgba(61,255,154,.08);position:relative}
.logo::after{content:"";position:absolute;inset:3px;border:1px solid rgba(61,255,154,.35)}
.brand h1{font:900 20px/1 var(--font-display);letter-spacing:.04em;margin:0}
.brand p{margin:4px 0 0;color:var(--cyan);font:600 11px/1 var(--font-hud);letter-spacing:.22em;text-transform:uppercase}
.nav{display:flex;gap:7px;flex-wrap:wrap}
.nav a,.hbtn{position:relative;border:1px solid var(--line-b);background:rgba(58,91,255,.06);color:var(--cyan);font:700 11px/1 var(--font-hud);letter-spacing:.18em;text-transform:uppercase;padding:9px 11px;cursor:pointer}
.nav a::before,.hbtn::before{content:'';position:absolute;top:-8px;bottom:-8px;left:-2px;right:-2px}
.nav a:hover,.hbtn:hover{border-color:var(--cyan);color:#fff}
.nav a.active{background:var(--acid);color:#04060d;border-color:var(--acid)}
.hbtn--accent{border-color:var(--acid);color:var(--acid);background:rgba(61,255,154,.08)}

/* ===== hero / status ===== */
.hero{border:2px solid var(--line);border-top:0;background:var(--panel-2);padding:18px 16px}
.kicker{color:var(--cyan);font:700 11px/1 var(--font-hud);letter-spacing:.28em;text-transform:uppercase}
.hero h2{margin:12px 0 8px;font:900 clamp(26px,4.6vw,46px)/.96 var(--font-display);letter-spacing:.02em;text-transform:uppercase}
.hero h2 b{color:var(--acid)}
.brief{max-width:780px;color:#c6cfea;font:500 14px/1.55 var(--font-mono)}
.strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-b);background:rgba(10,14,26,.8);padding:7px 11px;font:700 11px/1 var(--font-hud);letter-spacing:.14em;text-transform:uppercase;color:#cdd8f5}
.chip .d{width:8px;height:8px;border-radius:50%;background:currentColor}
.chip.open{color:var(--up)} .chip.open .d{box-shadow:0 0 10px var(--up);animation:blink 1.6s infinite}
.chip.pre,.chip.post{color:#ffd166} .chip.closed{color:var(--muted)}
.chip.src{color:var(--cyan)} .chip.src b{color:var(--acid)}
.chip.bull{color:var(--up)} .chip.bear{color:var(--down)} .chip.flat{color:var(--muted)}
.chip .clk{color:var(--muted)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
/* Provenance badge (ROADMAP §7.5 V12) — same class API as sectors.html */
.prov-badge.prov-fresh{color:var(--acid)}
.prov-badge.prov-amber{color:#ffb020}
.prov-badge.prov-red{color:var(--down)}
.prov-badge.prov-seed{color:var(--muted)}
.btn{cursor:pointer;border:1px solid var(--line-b);background:transparent;color:var(--cyan);font:700 11px/1 var(--font-hud);letter-spacing:.14em;text-transform:uppercase;padding:7px 11px}
.btn:hover{border-color:var(--acid);color:var(--acid)}

.opencd{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:14px;padding:12px 15px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(61,255,154,.10),transparent 60%);position:relative}
.opencd::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
.opencd-label{font:700 12px/1 var(--font-hud);letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
.opencd-clock{font:700 30px/1 var(--font-mono);letter-spacing:.03em;color:#fff;font-variant-numeric:tabular-nums}
.opencd-sub{font:600 10px/1 var(--font-hud);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.opencd.open{background:linear-gradient(90deg,rgba(61,255,154,.14),transparent 60%)}
.opencd.open::after{background:var(--up);box-shadow:0 0 14px var(--up)}
.opencd.open .opencd-label,.opencd.open .opencd-clock{color:var(--up)}

/* ===== shared section/panel primitives ===== */
.sec-label{color:var(--muted);font:700 10px/1 var(--font-hud);letter-spacing:.24em;text-transform:uppercase;margin-bottom:11px;display:flex;justify-content:space-between;align-items:center}
.sec-label::before{content:"▌";color:var(--acid);margin-right:6px}
.panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(11,15,28,.95),rgba(5,7,14,.97));position:relative}
.panel::before,.panel::after{content:"";position:absolute;width:12px;height:12px;border:2px solid var(--acid);opacity:.7}
.panel::before{left:-1px;top:-1px;border-right:0;border-bottom:0}
.panel::after{right:-1px;bottom:-1px;border-left:0;border-top:0}
.panel.pad{padding:14px 16px}
.empty{color:var(--muted);font:500 12px/1.45 var(--font-mono);text-align:center;padding:14px 4px}.empty code{background:var(--panel-2);padding:1px 5px}

/* today's signal (relocated mini news list, shares markup with the briefing modal's items) */
.news a{display:block;border:1px solid rgba(120,140,200,.14);background:var(--panel-2);padding:10px 11px;margin-bottom:8px;transition:border-color .15s,transform .15s}
.news a:hover{border-color:var(--line-b);transform:translateX(2px)}
.news .t1{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:5px}
.news .cat{font:600 9px/1 var(--font-hud);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.news .sent{font:700 9px/1 var(--font-hud);padding:2px 6px;text-transform:uppercase}
.news .sent.bull{background:rgba(61,255,154,.16);color:var(--up)}.news .sent.bear{background:rgba(255,84,112,.14);color:var(--down)}.news .sent.flat{background:rgba(255,255,255,.06);color:var(--muted)}
.news .ti{font:600 12.5px/1.35 var(--font-mono)}
.news .su{font:500 11.5px/1.45 var(--font-mono);color:var(--muted);margin-top:4px}

.foot{margin-top:22px;text-align:center;color:var(--muted);font:600 11px/1.6 var(--font-hud);letter-spacing:.06em}

/* ===== briefing modal ===== */
#briefing[hidden]{display:none}
.bf-backdrop{position:fixed;inset:0;z-index:80;background:rgba(3,5,12,.78);backdrop-filter:blur(4px)}
.bf-modal{position:fixed;z-index:81;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,calc(100% - 24px));max-height:88vh;display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(11,15,28,.99),rgba(5,7,14,.99));border:2px solid var(--acid);box-shadow:0 0 0 4px rgba(61,255,154,.06),0 30px 80px rgba(0,0,0,.6)}
.bf-prog{height:12px;background:rgba(255,255,255,.06);border-bottom:1px solid rgba(61,255,154,.25);cursor:pointer;position:relative}
.bf-prog-fill{height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--acid))}
.bf-head{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(61,255,154,.2)}
.bf-barcode{width:42px;align-self:stretch;background:repeating-linear-gradient(90deg,var(--acid) 0 2px,transparent 2px 4px,var(--acid) 4px 5px,transparent 5px 9px);opacity:.8}
.bf-htext{flex:1}
.bf-kicker{margin:0;color:var(--blue);font:700 10px/1 var(--font-hud);letter-spacing:.26em;text-transform:uppercase}
.bf-h{margin:7px 0 5px;font:900 22px/1 var(--font-display);letter-spacing:.03em;text-transform:uppercase}
.bf-date{margin:0;color:var(--muted);font:600 11px/1 var(--font-hud);letter-spacing:.08em}
.bf-date b.bull{color:var(--up)}.bf-date b.bear{color:var(--down)}.bf-date b.flat{color:var(--muted)}
.bf-x{background:none;border:1px solid rgba(120,140,200,.3);color:var(--muted);width:30px;height:30px;cursor:pointer;font-size:14px}
.bf-x:hover{border-color:var(--down);color:var(--down)}
.bf-body{overflow-y:auto;padding:16px;scroll-behavior:smooth}
.bf-warn{border:1px solid var(--down);background:rgba(255,84,112,.1);color:#ffd2da;font:600 12.5px/1.5 var(--font-mono);padding:11px 12px;margin-bottom:14px}
.bf-warn b{color:var(--down)}
.bf-intro{color:#c6cfea;font:500 13.5px/1.6 var(--font-mono);margin:0 0 14px}
.bf-item{border-left:2px solid var(--blue);padding:8px 0 8px 12px;margin-bottom:13px}
.bf-itop{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:5px}
.bf-cat{font:600 10px/1 var(--font-hud);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bf-sent{font:700 9px/1 var(--font-hud);padding:2px 6px;text-transform:uppercase}
.bf-sent.bull{background:rgba(61,255,154,.16);color:var(--up)}.bf-sent.bear{background:rgba(255,84,112,.14);color:var(--down)}.bf-sent.flat{background:rgba(255,255,255,.06);color:var(--muted)}
.bf-title{margin:0;font:600 15px/1.35 var(--font-mono)}
.bf-sum{margin:5px 0 0;color:#aeb9da;font:500 13px/1.5 var(--font-mono)}
.bf-src{display:inline-block;margin-top:6px;color:var(--cyan);font:600 11px/1 var(--font-hud);letter-spacing:.06em}
.bf-empty{color:var(--muted);font:500 13px/1.5 var(--font-mono)}
.bf-end{text-align:center;color:var(--muted);font:700 11px/1 var(--font-hud);letter-spacing:.3em;padding:16px 0 6px}
.bf-foot{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid rgba(61,255,154,.2)}
.bf-skip{flex:1;background:none;border:1px solid rgba(120,140,200,.3);color:var(--muted);font:900 14px/1 var(--font-hud);letter-spacing:.12em;text-transform:uppercase;padding:13px;cursor:pointer}
.bf-skip:hover{border-color:var(--cyan);color:var(--cyan)}
.bf-enter{flex:1;background:var(--acid);border:0;color:#04060d;font:900 14px/1 var(--font-hud);letter-spacing:.12em;text-transform:uppercase;padding:13px;cursor:pointer}

/* ===== title / logo ===== */
.logo{padding:4px;display:grid;place-items:center}
.logo svg{display:block}
.brand h1{font:900 16px/1.04 var(--font-display);letter-spacing:.03em}
.brand h1 span{color:var(--cyan)}

/* ===== prominent briefing CTA ===== */
.brief-cta{display:flex;align-items:center;gap:12px;width:100%;margin:16px 0 2px;cursor:pointer;text-align:left;
  border:2px solid var(--acid);background:linear-gradient(90deg,rgba(61,255,154,.16),rgba(58,91,255,.10) 60%,transparent);color:var(--text);
  padding:14px 16px;position:relative;overflow:hidden;font-family:var(--font-hud)}
.brief-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:translateX(-120%);animation:sheen 3.4s ease-in-out infinite}
@keyframes sheen{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.brief-cta__tag{font:700 10px/1 var(--font-hud);letter-spacing:.16em;color:#04060d;background:var(--acid);padding:5px 7px}
.brief-cta__main{font:900 17px/1 var(--font-display);letter-spacing:.04em}
.brief-cta__sub{color:var(--muted);font:600 11px/1 var(--font-hud);letter-spacing:.1em;text-transform:uppercase}
.brief-cta__go{margin-left:auto;font:900 18px/1 var(--font-display);color:var(--acid)}
.brief-cta:hover{box-shadow:0 0 24px rgba(61,255,154,.25),inset 0 0 24px rgba(39,231,255,.1)}
@media(max-width:560px){.brief-cta__sub{display:none}}
@media (prefers-reduced-motion: reduce){.brief-cta::after{animation:none;display:none}}

.bf-lang{background:none;border:1px solid var(--cyan);color:var(--cyan);font:700 11px/1 var(--font-hud);letter-spacing:.08em;padding:6px 9px;cursor:pointer;margin-right:6px}
.bf-lang:hover{background:var(--cyan);color:#04060d}
.bf-note{color:var(--cyan);font:600 12px/1.5 var(--font-mono);border-left:2px solid var(--cyan);padding-left:10px;margin:0 0 14px}

/* ===== custom HUD cursor ===== */
body.has-cursor{cursor:none}
body.has-cursor a,body.has-cursor button{cursor:none}
.fx-cursor{position:fixed;left:0;top:0;width:26px;height:26px;margin:-13px 0 0 -13px;z-index:2147483000;pointer-events:none;transition:width .12s,height .12s}
.fx-cursor i{position:absolute;background:var(--cyan);box-shadow:0 0 6px var(--cyan)}
.fx-cursor i:nth-child(1){left:50%;top:0;width:1.5px;height:8px;margin-left:-.75px}
.fx-cursor i:nth-child(2){left:50%;bottom:0;width:1.5px;height:8px;margin-left:-.75px}
.fx-cursor i:nth-child(3){top:50%;left:0;height:1.5px;width:8px;margin-top:-.75px}
.fx-cursor i:nth-child(4){top:50%;right:0;height:1.5px;width:8px;margin-top:-.75px}
.fx-cursor span{position:absolute;inset:7px;border:1.5px solid var(--acid);border-radius:50%;opacity:.8}
.fx-cursor.hot{width:40px;height:40px;margin:-20px 0 0 -20px}
.fx-cursor.hot span{border-color:var(--cyan);inset:5px}
.fx-cursor.down span{background:rgba(39,231,255,.25)}

/* ===== embed mode ===== */
body.embed{background:linear-gradient(180deg,#05070e,#03040a)}
body.embed .bg,body.embed .hdr,body.embed .skip{display:none}
body.embed .arena{padding-top:6px}
body.embed .hero{border-top:2px solid var(--line)}

/* ===== responsive ===== */
@media(max-width:720px){.brand h1{font-size:17px}.hero h2{font-size:26px}.opencd-clock{font-size:24px}}
.arena ::-webkit-scrollbar{width:8px;height:8px}.arena ::-webkit-scrollbar-thumb,.bf-body::-webkit-scrollbar-thumb{background:rgba(120,140,200,.3)}

/* ===== Part 4 §18.2.1 · Today's Recommended Trades (picks board) ===== */
.picks{margin-top:14px}
.picks-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.picks-meta{display:flex;gap:8px;flex-wrap:wrap}
.picks-note{color:var(--muted);font:500 12px/1.5 var(--font-mono);margin:0 0 12px;max-width:900px}
.picks.pick-stale .picks-note{color:#ffd166}
.picks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.pick-col{border:1px solid var(--line);background:linear-gradient(180deg,rgba(11,15,28,.95),rgba(5,7,14,.97));border-top:3px solid var(--pick-color,var(--line-b))}
.pick-col-hd{font:900 12px/1 var(--font-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--pick-color,var(--muted));padding:11px 12px;border-bottom:1px solid rgba(120,140,200,.16)}
.pick-col-body{display:flex;flex-direction:column;gap:10px;padding:12px}
.pick-empty{color:var(--muted);font:500 12px var(--font-mono);padding:8px 2px}
.pick-card{cursor:pointer;border:1px solid rgba(120,140,200,.2);border-left:3px solid var(--pick-color,var(--line-b));background:var(--panel-2);padding:11px 12px;transition:border-color .14s,transform .14s}
.pick-card:hover,.pick-card:focus-visible{transform:translateY(-1px);border-color:var(--pick-color,var(--cyan))}
.pick-hd{display:flex;justify-content:space-between;align-items:center;font:700 9.5px/1 var(--font-hud);letter-spacing:.1em;text-transform:uppercase}
.pick-model{color:var(--pick-color,var(--muted))}
.pick-side{color:var(--up)}
.pick-sym{margin:6px 0 4px;font:900 18px/1 var(--font-display);letter-spacing:.02em}
.pick-conf{display:flex;align-items:center;gap:8px;margin-bottom:8px;font:700 10.5px/1 var(--font-hud);color:var(--muted)}
.pick-conf-track{flex:1;height:5px;background:rgba(120,140,200,.18)}
.pick-conf-fill{height:100%;background:var(--pick-color,var(--acid))}
.pick-ladder{display:flex;justify-content:space-between;gap:6px;font:500 11.5px/1.4 var(--font-mono);margin-bottom:6px}
.pick-ladder div{display:flex;flex-direction:column;gap:2px}
.pick-ladder span{color:var(--muted);font:600 9px/1 var(--font-hud);letter-spacing:.06em;text-transform:uppercase}
.pick-exitby{color:var(--muted);font:600 9.5px/1 var(--font-hud);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.pick-thesis{margin:0 0 8px;color:#c6cfea;font:500 11.5px/1.5 var(--font-mono)}
.pick-signals{display:flex;gap:5px;flex-wrap:wrap}
.pick-tag{font:700 8.5px/1 var(--font-hud);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid rgba(120,140,200,.25);padding:2px 5px}
@media(max-width:1080px){.picks-grid{grid-template-columns:1fr}}

/* ===== V13 · TA dashboard ===== */
.ta{margin-top:14px}
.ta-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.ta-searchwrap{position:relative;flex:1;max-width:420px;min-width:240px}
.ta-search{width:100%;background:var(--panel-2);border:1px solid var(--line-b);color:var(--text);font:600 13px var(--font-mono);padding:10px 12px;outline:none}
.ta-search:focus{border-color:var(--acid)}
.ta-search::placeholder{color:var(--muted)}
.ta-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;background:var(--panel);border:1px solid var(--line-b);box-shadow:0 14px 40px rgba(0,0,0,.5);display:flex;flex-direction:column}
.ta-sg{display:flex;gap:8px;align-items:baseline;text-align:left;cursor:pointer;background:none;border:0;border-bottom:1px solid rgba(120,140,200,.12);color:var(--text);font:500 12.5px var(--font-mono);padding:9px 12px}
.ta-sg b{font-weight:800;color:var(--acid)}
.ta-sg i{margin-left:auto;font:600 9px var(--font-hud);letter-spacing:.1em;color:var(--muted);font-style:normal;text-transform:uppercase}
.ta-sg:hover{background:rgba(61,255,154,.08)}
.ta-sg--raw b{color:var(--cyan)}
.ta-panelhost{padding:0}
.ta-empty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;color:var(--muted);font:500 13px var(--font-mono);padding:20px}
.ta-empty.err{color:#ffb3c0}
.ta-empty.gated{flex-direction:column;text-align:center}
.ta-unlock{display:flex;gap:8px;margin-top:4px}
.ta-unlock input{background:var(--panel-2);border:1px solid var(--line-b);color:var(--text);font:600 13px var(--font-mono);padding:9px 11px;outline:none;min-width:200px}
.ta-unlock input:focus{border-color:var(--acid)}
.ta-spin{width:14px;height:14px;border:2px solid var(--cyan);border-top-color:transparent;border-radius:50%;animation:taspin .8s linear infinite}
@keyframes taspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.ta-spin{animation:none}}
.ta-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid rgba(61,255,154,.16)}
.ta-id{display:flex;align-items:baseline;gap:9px}
.ta-id b{font:900 26px/1 var(--font-display);letter-spacing:.03em}
.ta-id span{color:var(--cyan);font:600 11px/1 var(--font-hud);letter-spacing:.12em;text-transform:uppercase}
.ta-src{font:700 9px/1 var(--font-hud);letter-spacing:.1em;color:#04060d;background:var(--acid);padding:3px 5px;font-style:normal}
.ta-quote{display:flex;align-items:baseline;gap:9px}
.ta-quote b{font:600 24px/1 var(--font-mono)}
.ta-quote span{font:700 12px/1 var(--font-hud)}
.ta-quote.up b,.ta-quote.up span{color:var(--up)} .ta-quote.down b,.ta-quote.down span{color:var(--down)}
.ta-modes{display:flex;gap:6px;margin-left:auto}
.ta-mode{position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--panel-2);border:1px solid rgba(120,140,200,.25);color:var(--muted);font:800 12px/1 var(--font-hud);letter-spacing:.1em;padding:8px 13px}
.ta-mode::before{content:'';position:absolute;top:-4px;bottom:-4px;left:-2px;right:-2px}
.ta-mode i{font:600 8.5px/1 var(--font-mono);font-style:normal;opacity:.75;letter-spacing:.02em}
.ta-mode:hover{color:var(--text);border-color:var(--cyan)}
.ta-mode.on{background:var(--acid);border-color:var(--acid);color:#04060d}
.ta-body{display:grid;grid-template-columns:260px 1fr;gap:16px;padding:16px}
.ta-ladwrap{display:flex;flex-direction:column}
.ta-ladder{position:relative;min-height:560px;border:1px solid var(--viz-grid);background:var(--panel-2);overflow:hidden}
/* level tick line — always the TRUE price position, never moved to avoid overlap */
.lad-lv{position:absolute;left:48px;right:6px;height:0;border-top:1px solid;opacity:.6}
.lad-lv.res{color:var(--down)} .lad-lv.sup{color:var(--up)} .lad-lv.pp{color:#ffd166} .lad-lv.ma{color:#36c5ff} .lad-lv.round{color:#cfd6f2}
.lad-lv.k-round{border-top-style:dashed} .lad-lv.k-round.minor{opacity:.35}
.lad-lv.k-ma{border-top-style:dotted}
.lad-lv.k-breakout{border-top-width:2px}
/* level label (price number + name tag) — decluttered position, may differ from the line above */
.lad-lab{position:absolute;left:0;right:0;height:0;z-index:2}
.lad-lab em{position:absolute;left:4px;top:-6px;font:600 10px/1 var(--font-mono);font-style:normal;color:var(--viz-tick)}
.lad-lab span{position:absolute;right:8px;top:-9px;font:700 8.5px/1 var(--font-hud);letter-spacing:.06em;text-transform:uppercase;background:rgba(6,9,17,.94);padding:2px 5px;border:1px solid;display:inline-flex;gap:5px;align-items:center;white-space:nowrap}
.lad-lab.res span{color:var(--down);border-color:var(--down)} .lad-lab.sup span{color:var(--up);border-color:var(--up)}
.lad-lab.pp span{color:#ffd166;border-color:#ffd166} .lad-lab.ma span{color:#36c5ff;border-color:#36c5ff} .lad-lab.round span{color:#cfd6f2;border-color:rgba(207,214,242,.5)}
/* leader — thin dashed connector when a label had to move away from its true line */
.lad-leader{position:absolute;left:44px;width:0;border-left:1px dashed currentColor;opacity:.5;z-index:1}
.lad-leader.res{color:var(--down)} .lad-leader.sup{color:var(--up)} .lad-leader.pp{color:#ffd166} .lad-leader.ma{color:#36c5ff} .lad-leader.round{color:#cfd6f2}
.lad-leader.price{color:#fff;left:2px} .lad-leader.sess{color:#ffd166;left:2px}
.lad-zone{position:absolute;left:48px;right:6px;height:12px;margin-top:-1px;background:linear-gradient(180deg,rgba(61,255,154,.16),transparent);pointer-events:none}
.lad-gap{position:absolute;left:48px;right:6px;border:1px dashed rgba(255,61,240,.55);pointer-events:none}
.lad-gap.up{background:rgba(61,255,154,.09)} .lad-gap.down{background:rgba(255,84,112,.09)}
.lad-gaplab{position:absolute;left:4px;height:0;font:700 8px/1 var(--font-hud);letter-spacing:.08em;color:var(--magenta);text-transform:uppercase;background:rgba(6,9,17,.88);padding:2px 4px;white-space:nowrap;z-index:2}
.lad-px-line{position:absolute;left:0;right:0;height:0;border-top:2px solid #fff;box-shadow:0 0 10px rgba(255,255,255,.6);z-index:3}
.lad-px{position:absolute;right:4px;height:0;z-index:4}
.lad-px b{position:absolute;right:0;top:-10px;background:#fff;color:#04060d;font:800 10.5px/1 var(--font-mono);padding:3px 6px;white-space:nowrap}
.lad-sess-line{position:absolute;left:48px;right:6px;height:0;border-top:1px dashed rgba(255,209,102,.8)}
.lad-sess{position:absolute;left:2px;height:0;font:700 8px/1 var(--font-hud);color:#ffd166;letter-spacing:.06em;background:rgba(6,9,17,.88);padding:1px 3px;white-space:nowrap;z-index:2}
.ta-legend{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.ta-legend .lg{font:700 8.5px/1 var(--font-hud);letter-spacing:.08em;text-transform:uppercase;border:1px solid;padding:3px 6px}
.lg.res{color:var(--down)} .lg.sup{color:var(--up)} .lg.pp{color:#ffd166} .lg.ma{color:#36c5ff} .lg.zone{color:var(--acid);background:rgba(61,255,154,.1)} .lg.gap{color:var(--magenta)}
.ta-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
.ta-card{border:1px solid rgba(120,140,200,.2);background:var(--panel-2);padding:12px 14px}
.ta-card h3{margin:0 0 10px;font:900 12px/1.3 var(--font-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ta-card h3 small{font:600 9px/1.4 var(--font-mono);letter-spacing:.02em;color:var(--muted);text-transform:none}
.ta-row{display:flex;align-items:baseline;gap:8px;font:500 12.5px/1.5 var(--font-mono);padding:5px 6px;border-left:3px solid transparent;margin-bottom:2px;background:rgba(8,12,22,.5)}
.ta-row span{color:#c6cfea;flex:1;display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.ta-row b{font-weight:700;min-width:74px;text-align:right}
.ta-row i{font-style:normal;font:700 10.5px/1 var(--font-hud);letter-spacing:.04em;min-width:52px;text-align:right}
.ta-row .ma-n{font:500 12.5px/1.5 var(--font-mono);letter-spacing:0;min-width:44px;text-align:left;color:#c6cfea}
.ta-row span .mut{min-width:0;text-align:left}
.ta-row.res{border-left-color:var(--down)} .ta-row.res b{color:var(--down)}
.ta-row.sup{border-left-color:var(--up)} .ta-row.sup b{color:var(--up)}
.ta-row.round{border-left-color:#cfd6f2} .ta-row.round b{color:#eaf1ff}
.ta-row.ta-pp{border-left-color:#ffd166;background:rgba(255,209,102,.08)} .ta-row.ta-pp b{color:#ffd166}
.ta-row .mut,.ta-none,.ta-verdict.mut{color:var(--muted)}
.ta-none{font:500 12px var(--font-mono);padding:5px 6px}
.ta-sub{font:700 9.5px/1 var(--font-hud);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:10px 0 5px}
.ta-px-divider{display:flex;align-items:center;gap:8px;color:#fff;font:800 11px/1 var(--font-mono);margin:6px 0}
.ta-px-divider::before,.ta-px-divider::after{content:"";flex:1;border-top:1px solid rgba(255,255,255,.35)}
.ta-limit{font:800 8px/1 var(--font-hud);letter-spacing:.08em;color:#04060d;background:var(--acid);padding:2px 4px;text-transform:uppercase}
.ta-verdict{margin-top:9px;font:800 12px/1.3 var(--font-hud);letter-spacing:.06em;text-transform:uppercase;padding:8px;border:1px solid rgba(120,140,200,.2);text-align:center}
.ta-verdict.up{color:var(--up);background:rgba(61,255,154,.08)} .ta-verdict.down{color:var(--down);background:rgba(255,84,112,.08)}
.ta-method{margin-top:9px;font:500 11px/1.55 var(--font-mono);color:var(--muted)}
.ta-method summary{cursor:pointer;font:700 9.5px/1 var(--font-hud);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.ta-method summary:hover{color:var(--cyan)}
.ta-method[open]{border-left:2px solid var(--blue);padding-left:8px}
.ta-refresh{margin-left:6px}
.ta-note{margin:0;padding:10px 16px 14px;color:var(--muted);font:500 11px/1.5 var(--font-mono);border-top:1px solid rgba(120,140,200,.14)}
@media(max-width:1080px){.ta-body{grid-template-columns:1fr}.ta-ladder{min-height:480px}}
@media(max-width:720px){.ta-cards{grid-template-columns:1fr}.ta-modes{margin-left:0}}
/* D4 (ROADMAP §1): mobile-only bump for the tightest HUD micro-labels (was 8.5-9px, below readable floor) */
@media(max-width:720px){.ta-mode i{font-size:11px}.ta-sg i{font-size:11px}}

/* ===== V5 · AUTOPILOT DASHBOARD ===== */
.ap{margin-top:14px}
.ap-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.ap-meta{display:flex;gap:8px;flex-wrap:wrap}
.ap-note{color:var(--muted);font:500 12px/1.5 var(--font-mono);margin:0 0 12px;max-width:900px}
.ap-chartwrap{padding:14px 16px 8px}
.ap-chart-hd{display:flex;justify-content:flex-end;margin-bottom:4px}
.ap-legend{display:flex;gap:12px;flex-wrap:wrap;font:600 10px/1 var(--font-hud);letter-spacing:.08em;text-transform:uppercase}
.ap-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.ap-legend i{width:16px;height:0;border-top:3px solid;display:inline-block}
.ap-legend i.dash{border-top-style:dashed;border-top-width:1.5px}
/* aspect-ratio (not a fixed height) matches the SVG's own viewBox
   (600+90 label margin x 240+24 day-range margin, set in
   arenaAutopilot.js's renderChart) so the box the chart renders into is
   never a different shape than its content -- with preserveAspectRatio
   left at its "meet" default, a fixed height forced non-uniform stretch
   (much more horizontal than vertical scaling on any wide panel),
   flattening the lines and distorting the value-chip text. */
.ap-chart{width:100%;aspect-ratio:690/264;height:auto;display:block;cursor:crosshair}
.viz-tip{position:fixed;z-index:60;pointer-events:none;background:var(--viz-tip-bg);border:1px solid var(--viz-tip-line);border-radius:var(--viz-tip-radius);padding:9px 11px;font:12px/1.6 var(--font-mono);color:var(--text);box-shadow:0 4px 16px rgba(0,0,0,.4);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}
.viz-tip.show{opacity:1;transform:none}
.viz-tip b{display:block;color:var(--muted);font:700 9.5px/1 var(--font-hud);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.ap-grid{stroke:var(--viz-grid);stroke-width:1}
.ap-line{fill:none;stroke-width:var(--viz-line-w);stroke-linecap:round;stroke-linejoin:round}
.ap-line-a{stroke:var(--acid);color:var(--acid)}
.ap-line-b{stroke:var(--cyan);color:var(--cyan)}
.ap-line-spy{stroke:#ffd166;stroke-dasharray:4 4;stroke-width:1.1;stroke-opacity:.8;color:#ffd166}
.ap-line-smh{stroke:var(--blue);stroke-dasharray:2 4;stroke-width:1.1;stroke-opacity:.8;color:var(--blue)}
.ap-dot{stroke:none}
.ap-baseline{stroke:rgba(133,144,181,.4);stroke-width:1;stroke-dasharray:2 4}
.ap-axis-range{fill:var(--muted);font:500 9px/1 var(--font-hud);letter-spacing:.08em}
.ap-day-range{fill:#5b6486;font:500 9px/1 var(--font-hud);letter-spacing:.1em;text-transform:uppercase}
/* end-of-line readouts: the series' own color on a plain value (no
   box/glow -- calmer than the first pass), plus a small true-position dot
   and a dashed leader when decluttering had to nudge the label away from
   it. Level Ladder's .lad-px/.lad-lab chips use a boxed/glowing treatment
   deliberately reserved for THAT panel's single "current price" callout;
   this chart shows five values at once, so plain text reads cleaner. */
.ap-end-leader{stroke:currentColor;stroke-width:1;stroke-dasharray:1.5 2;opacity:.6}
.ap-end-chip-dot{fill:currentColor}
.ap-end-chip-text{fill:currentColor;font:500 11px/1 var(--font-mono);font-variant-numeric:tabular-nums}
/* auto-fit/minmax (not a hardcoded 1fr 1fr) so this works whether the
   ledger has 2 (Season 1, A/B) or 3+ (Season 2, S/P/T) models — see
   arenaAutopilot.js's renderModels(), Part 4 §18.2.3 */
.ap-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px}
.ap-mh{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ap-mh b{font:900 16px/1 var(--font-display);letter-spacing:.03em}
.ap-mh .chip{font-size:10px}
.ap-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ap-metric{display:flex;flex-direction:column;gap:2px;border:1px solid rgba(120,140,200,.2);background:rgba(8,12,22,.5);padding:6px 9px;min-width:72px}
.ap-metric span{font:600 8.5px/1 var(--font-hud);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ap-metric b{font:700 13px/1.2 var(--font-mono)}
.ap-review{color:#c6cfea;font:500 12px/1.5 var(--font-mono);font-style:italic;border-left:2px solid var(--blue);padding-left:10px;margin:0 0 10px}
.ap-sub{font:700 9.5px/1 var(--font-hud);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:10px 0 5px}
.ap-postbl{width:100%;border-collapse:collapse;font:500 12px var(--font-mono)}
.ap-postbl th{color:var(--muted);font:700 9px/1 var(--font-hud);letter-spacing:.06em;text-transform:uppercase;padding:3px 4px;text-align:right}
.ap-postbl th:first-child,.ap-postbl td:first-child{text-align:left}
.ap-postbl td{text-align:right;padding:4px}
.ap-postbl tbody tr{border-top:1px solid rgba(120,140,200,.12)}
.ap-log{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow:auto}
.ap-log-row{display:flex;justify-content:space-between;gap:8px;font:600 11px/1.3 var(--font-mono);padding:5px 7px;background:rgba(8,12,22,.5);border-left:3px solid transparent}
.ap-log-row.buy{border-left-color:var(--up)}
.ap-log-row.sell{border-left-color:var(--down)}
.ap-log-row.rej{border-left-color:var(--muted);color:var(--muted);font-style:italic}
@media(max-width:1080px){.ap-models{grid-template-columns:1fr}}

/* ===== Part 4 §19.4.3 · daily digest toast + drawer ("while you were away") ===== */
/* Reuses the OpenAI-derived viz tooltip tokens (--viz-tip-*) rather than
   inventing a new surface — same near-black panel, same radius, no arrows. */
.digest-toast{position:fixed;left:16px;bottom:16px;z-index:70;display:flex;align-items:center;gap:10px;max-width:360px;background:var(--viz-tip-bg);border:1px solid var(--viz-tip-line);border-radius:var(--viz-tip-radius);padding:11px 12px;box-shadow:0 4px 20px rgba(0,0,0,.5);animation:digestIn .25s ease}
@keyframes digestIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.digest-toast{animation:none}}
.digest-toast-body{cursor:pointer;color:var(--text);font:600 12.5px/1.5 var(--font-mono)}
.digest-toast-close{flex:none;background:none;border:0;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:2px 4px}
.digest-toast-close:hover{color:var(--text)}
.digest-drawer{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end}
.digest-drawer-backdrop{position:absolute;inset:0;background:rgba(2,4,10,.6)}
.digest-drawer-panel{position:relative;width:min(360px,86vw);height:100%;background:var(--viz-tip-bg);border-left:1px solid var(--viz-tip-line);box-shadow:-8px 0 30px rgba(0,0,0,.5);display:flex;flex-direction:column;animation:digestSlide .2s ease}
@keyframes digestSlide{from{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.digest-drawer-panel{animation:none}}
.digest-drawer-hd{display:flex;align-items:center;gap:6px;padding:14px 16px;border-bottom:1px solid rgba(120,140,200,.16);font:700 12px/1 var(--font-hud);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.digest-drawer-close{margin-left:auto;background:none;border:0;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 4px}
.digest-drawer-close:hover{color:var(--text)}
.digest-drawer-body{flex:1;overflow:auto;padding:14px 16px}
.digest-note{color:var(--muted);font:500 12px/1.5 var(--font-mono);margin:0 0 12px}
.digest-books{display:flex;flex-direction:column;gap:10px}
.digest-book{border:1px solid rgba(120,140,200,.2);background:var(--panel-2);padding:10px 11px}
.digest-book-hd{display:flex;justify-content:space-between;font:700 11px/1 var(--font-hud);letter-spacing:.06em}
.digest-book-pnl.up{color:var(--up)} .digest-book-pnl.down{color:var(--down)}
.digest-book-meta{color:var(--muted);font:600 10px/1 var(--font-hud);margin-top:4px}
.digest-book-note{margin:6px 0 0;color:#c6cfea;font:500 11.5px/1.5 var(--font-mono)}
.digest-delayed{margin-top:12px;border-left:2px solid #ffd166;padding-left:10px}
.digest-delayed-hd{color:#ffd166;font:700 10px/1 var(--font-hud);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.digest-delayed-list{margin:0;padding-left:16px;color:var(--muted);font:500 11px/1.6 var(--font-mono)}
.digest-tomorrow{margin:14px 0 0;color:var(--muted);font:600 11px/1.5 var(--font-mono);border-top:1px solid rgba(120,140,200,.14);padding-top:10px}
.digest-toast[hidden],.digest-drawer[hidden]{display:none}
