/* AURELIUS — THE BRIDGE. Dark calm substrate · living data · reserved sacred semantic color. */
:root{
  --substrate:#070B10; --glass:rgba(12,18,25,.72); --glass-raised:#111A24; --glass-over:#16212E;
  --border:rgba(120,180,220,.10); --rim:rgba(160,220,255,.06);
  --ink:#E6EDF3; --ink-dim:#9FB0C0; --ink-faint:#64748B;
  --sem-good:#34D399; --sem-warn:#FBBF24; --sem-bad:#FB5E5E;
  --sys1:#38BDF8; --sys2:#A78BFA; --slate:#64748B;
  --good-glow:rgba(52,211,153,.35); --sys1-glow:rgba(56,189,248,.30); --sys2-glow:rgba(167,139,250,.35);
  --breath-period:3.6s; --breath-amp:1;
  --mono:'JetBrains Mono',ui-monospace,monospace; --disp:'Space Grotesk',sans-serif; --body:'Inter',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--substrate); color:var(--ink); font-family:var(--body); font-size:13px;
  overflow:hidden; letter-spacing:.01em;
  background-image:radial-gradient(rgba(120,180,220,.04) 1px,transparent 1px);
  background-size:32px 32px;
}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.empty{color:var(--ink-faint);font-size:12px;padding:14px;text-align:center}
.empty.small{padding:8px;font-size:11px}

/* ---- honesty frame: permanent SHADOW ---- */
#shadow-frame{position:fixed;inset:0;border:1px solid rgba(167,139,250,.28);pointer-events:none;z-index:50}
#shadow-plate{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);z-index:51;pointer-events:none;
  font-family:var(--disp);font-size:10px;letter-spacing:.28em;color:rgba(167,139,250,.6);
  padding:3px 14px;border:1px solid rgba(167,139,250,.22);border-radius:3px;background:rgba(7,11,16,.6);
  background-image:repeating-linear-gradient(45deg,rgba(167,139,250,.05) 0 6px,transparent 6px 12px)}

/* ---- bridge grid ---- */
.bridge{height:100vh;display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;padding:10px}

/* ---- SAFETY HUD ---- */
.hud{display:flex;align-items:center;gap:18px;padding:0 16px;height:56px;border-radius:8px;
  background:var(--glass);border:1px solid var(--border);backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 var(--rim);position:sticky;top:0;z-index:20}
.hud-item{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink-dim)}
.hud .lbl{font-family:var(--disp);font-size:9.5px;letter-spacing:.18em;color:var(--ink-faint)}
.hud .val{font-weight:600;color:var(--ink)}
.hud .age{color:var(--ink-faint);font-size:10px}
.hud-mode{display:flex;align-items:center;gap:8px;font-family:var(--disp);font-size:11px;letter-spacing:.14em;
  color:var(--sem-warn);padding:5px 11px;border:1px solid rgba(251,191,36,.3);border-radius:5px;
  background-image:repeating-linear-gradient(45deg,rgba(251,191,36,.06) 0 7px,transparent 7px 14px)}
.hud-mode .dot{width:7px;height:7px;border-radius:50%;background:var(--sem-warn);box-shadow:0 0 8px var(--sem-warn)}
.ring{width:13px;height:13px;border-radius:50%;border:2px solid var(--sem-good);box-shadow:0 0 7px var(--good-glow);
  animation:breathe var(--breath-period) ease-in-out infinite}
.ring.cracked{border-color:var(--sem-bad);box-shadow:0 0 10px var(--sem-bad);animation:none}
.hud-s2 .val{color:var(--slate)}
.hud-s2.live .val{color:var(--sys2);text-shadow:0 0 10px var(--sys2-glow)}
.hud-s2.fallback .val{color:var(--slate);text-decoration:line-through;opacity:.7}
.hud-gates{display:flex;gap:6px;margin-left:auto}
.gate{font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:4px;display:flex;align-items:center;gap:4px;
  border:1px solid var(--border)}
.gate b{font-size:11px}
.gate.ok{color:var(--sem-good)} .gate.ok b{color:var(--sem-good)}
.gate.warn{color:var(--sem-warn)} .gate.bad{color:var(--sem-bad)}
.hud-right{display:flex;align-items:center;gap:14px}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--sem-good);box-shadow:0 0 8px var(--good-glow);
  animation:breathe 1.1s ease-in-out infinite}
.live-dot.reconnect{background:var(--sem-warn);box-shadow:0 0 8px var(--sem-warn)}
#hud-seq{color:var(--sys1);font-size:11px}

/* ---- COGNITION VOICE ---- */
.voice{display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:7px;
  background:linear-gradient(90deg,rgba(56,189,248,.04),transparent);border:1px solid var(--border);min-height:38px}
.voice-cursor{width:6px;height:6px;border-radius:50%;background:var(--sys1);box-shadow:0 0 8px var(--sys1-glow);
  animation:breathe 1.4s ease-in-out infinite;flex:none}
.voice-text{font-size:13.5px;color:#EAF2F8;font-weight:500;letter-spacing:.005em;line-height:1.4}
.voice.fallback .voice-text{color:var(--ink-dim);font-style:italic}
.voice.fallback .voice-cursor{background:var(--slate);box-shadow:none}
.voice .tag{font-family:var(--disp);font-size:8.5px;letter-spacing:.18em;color:var(--slate);border:1px solid var(--border);
  padding:1px 6px;border-radius:3px;margin-left:8px}

/* ---- main grid ---- */
.grid{display:grid;grid-template-columns:26fr 48fr 26fr;gap:8px;min-height:0}
.zone{background:var(--glass);border:1px solid var(--border);border-radius:8px;backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 var(--rim);display:flex;flex-direction:column;min-height:0;position:relative;overflow:hidden}
.zone::before,.zone::after{content:'';position:absolute;width:10px;height:10px;border-color:rgba(56,189,248,.3);pointer-events:none}
.zone::before{top:6px;left:6px;border-top:1px solid;border-left:1px solid}
.zone::after{bottom:6px;right:6px;border-bottom:1px solid;border-right:1px solid}
.zone-head{display:flex;align-items:baseline;gap:9px;padding:11px 14px 8px;font-family:var(--disp);font-size:11px;
  letter-spacing:.2em;color:var(--ink)}
.zone-sub{font-family:var(--body);font-size:10px;letter-spacing:.02em;color:var(--ink-faint);text-transform:none}
.zone .cards,.rail-body,.scoreboard,.pos-ribbon{overflow-y:auto;min-height:0}
.cards{padding:0 10px 10px;display:flex;flex-direction:column;gap:8px}

/* ---- perception cards ---- */
.pcard{border:1px solid var(--border);border-radius:7px;padding:10px 11px;background:rgba(17,26,36,.4);transition:opacity .4s,filter .4s}
.pcard.degraded{filter:saturate(.35);opacity:.72}
.pcard-top{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.gate-chip{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;font-size:11px;flex:none;
  animation:breathe var(--breath-period) ease-in-out infinite}
.gate-chip.good{color:var(--sem-good);background:rgba(52,211,153,.12);box-shadow:0 0 8px var(--good-glow)}
.gate-chip.warn{color:var(--sem-warn);background:rgba(251,191,36,.12)}
.gate-chip.bad{color:var(--sem-bad);background:rgba(251,94,94,.12);animation:none}
.pcard .sym{font-family:var(--disp);font-size:12px;letter-spacing:.06em;font-weight:600}
.pcard .mid{margin-left:auto;font-family:var(--mono);font-size:14px;font-weight:600}
.pcard .mid.up{color:var(--sem-good)} .pcard .mid.down{color:var(--sem-bad)}
.pcard-row{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:10.5px;color:var(--ink-dim)}
.tagk{color:var(--ink-faint);font-family:var(--disp);font-size:8.5px;letter-spacing:.1em;margin-right:3px}
.chip{padding:1px 6px;border-radius:3px;border:1px solid var(--border);font-family:var(--mono);font-size:10px}
.chip.up,.chip.bull{color:var(--sem-good);border-color:rgba(52,211,153,.3)}
.chip.down,.chip.bear{color:var(--sem-bad);border-color:rgba(251,94,94,.3)}
.chip.neu{color:var(--ink-faint);border-style:dashed}
.diverge{color:var(--sem-warn);font-size:9.5px;font-family:var(--disp);letter-spacing:.08em}
.reason{color:var(--sem-warn);font-size:10px;margin-top:4px;font-style:italic}
.bar{height:3px;border-radius:2px;background:rgba(120,180,220,.12);margin-top:2px;overflow:hidden}
.bar>i{display:block;height:100%;background:var(--sys1);box-shadow:0 0 6px var(--sys1-glow)}

/* ---- cognition conduit ---- */
.conduit{display:flex;flex-direction:column;gap:0;padding:6px 14px;flex:none}
.cnode{display:flex;align-items:center;gap:10px;padding:5px 0;position:relative;opacity:.34;transition:opacity .5s}
.cnode.active{opacity:1}
.cnode .bulb{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--slate);flex:none;position:relative;z-index:2;background:var(--substrate)}
.cnode.active .bulb{border-color:var(--sys1);box-shadow:0 0 9px var(--sys1-glow)}
.cnode.s2 .bulb{border-color:var(--sys2)} .cnode.s2.active .bulb{box-shadow:0 0 11px var(--sys2-glow)}
.cnode.verdict.accept .bulb{border-color:var(--sem-good);box-shadow:0 0 10px var(--good-glow)}
.cnode.verdict.reject .bulb{border-color:var(--sem-bad);box-shadow:0 0 10px var(--sem-bad)}
.cnode:not(:last-child)::before{content:'';position:absolute;left:5px;top:16px;bottom:-4px;width:1px;background:rgba(120,180,220,.14);z-index:1}
.cnode .nm{font-family:var(--disp);font-size:9.5px;letter-spacing:.13em;color:var(--ink-faint);width:130px;flex:none}
.cnode.active .nm{color:var(--ink)}
.cnode .det{font-size:11px;color:var(--ink-dim);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cnode.s2.active .nm{color:var(--sys2)}
.flash{animation:flash 1.4s ease-out}

/* ---- sub-rails (restraint + decisions) ---- */
.sub-rails{display:grid;grid-template-rows:1fr 1fr;gap:8px;flex:1;min-height:0;padding:0 10px 10px}
.rail{border:1px solid var(--border);border-radius:7px;display:flex;flex-direction:column;min-height:0;background:rgba(8,12,18,.4)}
.rail.restraint{border-color:rgba(251,191,36,.18)}
.rail-head{display:flex;align-items:baseline;gap:8px;padding:7px 11px 5px;font-family:var(--disp);font-size:9.5px;letter-spacing:.16em}
.rail.restraint .rail-head{color:var(--sem-warn)}
.rail-sub{font-family:var(--body);font-size:9.5px;letter-spacing:.02em;color:var(--ink-faint)}
.counter{margin-left:auto;color:var(--sem-warn);font-size:12px}
.rail-body{padding:0 11px 8px;display:flex;flex-direction:column;gap:4px;font-size:11px}
.rrow{display:flex;gap:8px;align-items:baseline;padding:3px 0;border-bottom:1px solid rgba(120,180,220,.05)}
.rrow .t{color:var(--ink-faint);font-family:var(--mono);font-size:9.5px;flex:none}
.rrow .s{font-family:var(--mono);font-size:10px;color:var(--ink-dim)}
.rrow .why{color:var(--ink-dim);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rrow.suppress .why{color:var(--sem-warn)}
.rrow.skip .why{color:var(--ink-dim)} .rrow.reject .why{color:var(--sem-bad)}
.rrow.accept .tk{color:var(--sem-good)} .rrow .tk{font-size:11px;flex:none}
.rrow.new{animation:slidein .5s ease-out}

/* ---- learning rail ---- */
/* ---- POTS (capital) ---- */
.pots{padding:11px 14px 12px;border-bottom:1px solid var(--border)}
.pots-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-family:var(--disp);font-size:10px;letter-spacing:.16em}
.ph-lbl{color:var(--ink)}
.ph-policy{margin-left:auto;font-size:9.5px;color:var(--sys2);text-transform:uppercase;border:1px solid rgba(167,139,250,.25);padding:1px 6px;border-radius:3px}
.books-tick{font-size:9px;color:var(--sem-good);font-family:var(--body);letter-spacing:.04em}
.books-tick.bad{color:var(--sem-bad)}
.pot-bars{display:flex;flex-direction:column;gap:9px}
.potrow{display:grid;grid-template-columns:78px 1fr auto;gap:9px;align-items:center}
.potrow .k{font-family:var(--disp);font-size:8.5px;letter-spacing:.08em;color:var(--ink-faint);display:flex;align-items:center;gap:4px}
.potrow .track{height:8px;border-radius:4px;background:rgba(120,180,220,.1);overflow:hidden}
.potrow .track>i{display:block;height:100%;border-radius:4px;transition:width .6s ease}
.potrow .v{font-family:var(--mono);font-size:12px;font-weight:600;text-align:right}
.potrow.untouchable .track>i{background:var(--slate);opacity:.45}
.potrow.untouchable .k,.potrow.untouchable .v{color:var(--ink-faint)}
.potrow.trading .track>i{background:var(--sys1);box-shadow:0 0 7px var(--sys1-glow)}
.potrow.trading .v{color:var(--sys1)}
.potrow.profit .track>i{background:var(--sem-good);box-shadow:0 0 7px var(--good-glow)}
.potrow.profit .v{color:var(--sem-good)}
.pots-foot{font-size:9.5px;color:var(--ink-faint);margin-top:9px;line-height:1.5}
.cap-tape-head{display:flex;align-items:baseline;gap:8px;margin:11px 0 5px;font-family:var(--disp);font-size:9px;letter-spacing:.16em;color:var(--ink-faint)}
.cap-tape-head .ct-sub{font-family:var(--body);font-size:9px;letter-spacing:.02em;color:var(--ink-faint);opacity:.7}
.cap-tape{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}
.ctrow{display:grid;grid-template-columns:46px 1fr auto auto;gap:7px;align-items:baseline;padding:2px 0;border-bottom:1px solid rgba(120,180,220,.05);font-size:10px}
.ctrow .ct-t{font-family:var(--mono);font-size:9px;color:var(--ink-faint)}
.ctrow .ct-w{font-family:var(--mono);font-size:9.5px;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ctrow .ct-w b{color:var(--ink-faint);font-weight:500;font-size:8.5px;letter-spacing:.04em}
.ctrow .ct-a{font-family:var(--mono);font-size:10px;font-weight:600;text-align:right}
.ctrow .ct-a.pos{color:var(--sem-good)} .ctrow .ct-a.neg{color:var(--sem-bad)} .ctrow .ct-a.zero{color:var(--ink-faint)}
.ctrow .ct-b{font-family:var(--mono);font-size:9px;color:var(--ink-faint);text-align:right}
.ctrow.pot-profit .ct-w b{color:var(--sem-good)} .ctrow.pot-trading .ct-w b{color:var(--sys1)}
.edge-gauge{padding:12px 14px;display:flex;flex-direction:column;align-items:center;gap:6px;border-bottom:1px solid var(--border)}
.gauge-ring{position:relative;width:120px;height:120px}
.gauge-ring svg{transform:rotate(-90deg)}
.gauge-bg{fill:none;stroke:rgba(120,180,220,.1);stroke-width:7}
.gauge-fill{fill:none;stroke:var(--slate);stroke-width:7;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset .8s,stroke .8s}
.gauge-fill.proven{stroke:var(--sem-good);filter:drop-shadow(0 0 6px var(--good-glow))}
.gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gauge-n{font-size:26px;font-weight:600;color:var(--ink)} .gauge-of{font-size:11px;color:var(--ink-faint)}
.gauge-verdict{font-family:var(--disp);font-size:11px;letter-spacing:.18em;color:var(--ink-faint)}
.gauge-verdict.proven{color:var(--sem-good)}
.gauge-detail{font-size:10px;color:var(--ink-faint)}
.scoreboard{padding:8px 10px;display:flex;flex-direction:column;gap:4px}
.scell{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center;padding:4px 7px;border-radius:5px;
  border:1px solid var(--border);font-size:10.5px}
.scell .nm{font-family:var(--mono);font-size:10px;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scell .r{font-family:var(--mono);font-weight:600} .scell .r.pos{color:var(--sem-good)} .scell .r.neg{color:var(--sem-bad)}
.scell .n{font-family:var(--mono);color:var(--ink-faint);font-size:9.5px}
.scell.thin{filter:saturate(.4);opacity:.65;border-style:dashed}

/* ---- positions ribbon ---- */
.positions{background:var(--glass);border:1px solid var(--border);border-radius:8px;backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 var(--rim);max-height:150px;display:flex;flex-direction:column}
.pos-ribbon{display:flex;gap:8px;padding:0 12px 10px;overflow-x:auto}
.poscard{min-width:230px;border:1px dashed rgba(167,139,250,.28);border-radius:7px;padding:9px 11px;background:rgba(17,26,36,.3);flex:none}
.poscard .top{display:flex;align-items:center;gap:7px;font-size:11px}
.poscard .paper{font-family:var(--disp);font-size:8px;letter-spacing:.16em;color:rgba(167,139,250,.7);margin-left:auto}
.poscard .side.buy{color:var(--sem-good)} .poscard .side.sell{color:var(--sem-bad)}
.rmeter{position:relative;height:6px;background:rgba(120,180,220,.1);border-radius:3px;margin:8px 0 5px}
.rmeter .mid{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--ink-faint)}
.rmeter .fill{position:absolute;top:0;bottom:0;left:50%;border-radius:3px}
.rmeter .fill.pos{background:var(--sem-good)} .rmeter .fill.neg{background:var(--sem-bad)}
.poscard .stats{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--ink-dim)}

/* ============ AUTH-WALL login gate ============ */
#login-gate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 40%,#0b1220,#05070b);transition:opacity .4s}
#login-gate.hidden{opacity:0;pointer-events:none}
.lg-card{width:330px;max-width:90vw;padding:34px 30px;border:1px solid rgba(56,189,248,.18);border-radius:12px;
  background:rgba(12,18,25,.7);backdrop-filter:blur(14px);box-shadow:0 0 60px rgba(56,189,248,.08);text-align:center}
.lg-brand{font-family:var(--disp);font-size:22px;letter-spacing:.34em;color:var(--sys1);text-shadow:0 0 22px var(--sys1-glow)}
.lg-sub{font-size:11px;color:var(--ink-faint);margin:8px 0 22px;letter-spacing:.04em}
.lg-card input{width:100%;background:var(--substrate);border:1px solid var(--border);border-radius:7px;color:var(--ink);
  font-family:var(--mono);font-size:14px;padding:11px 13px;outline:none;margin-bottom:12px}
.lg-card input:focus{border-color:var(--sys1);box-shadow:0 0 0 1px var(--sys1-glow)}
.lg-card button{width:100%;background:var(--sys1);color:#05070b;border:none;border-radius:7px;padding:12px;font-weight:700;
  font-family:var(--disp);letter-spacing:.16em;cursor:pointer;box-shadow:0 0 18px var(--sys1-glow)}
.lg-card button:hover{filter:brightness(1.1)}
.lg-msg{font-size:11px;color:var(--sem-bad);margin-top:12px;min-height:14px;font-family:var(--mono)}

/* ============ ACCOUNTS drawer ============ */
.acct-card{border:1px solid var(--border);border-radius:9px;padding:13px 14px;margin-bottom:11px;background:rgba(17,26,36,.4)}
.acct-card .ac-top{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.acct-card .ac-name{font-family:var(--disp);font-size:12px;letter-spacing:.04em;color:var(--ink);font-weight:600}
.acct-card .ac-chip{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;padding:2px 6px;border-radius:4px;border:1px solid var(--border);color:var(--ink-faint)}
.acct-card .ac-chip.live{color:var(--sem-bad);border-color:rgba(251,94,94,.35)}
.acct-card .ac-chip.shadow{color:var(--sys2);border-color:rgba(167,139,250,.3)}
.acct-card .ac-chip.ok{color:var(--sem-good);border-color:rgba(52,211,153,.3)}
.acct-card .ac-chip.none{color:var(--sem-warn);border-color:rgba(251,191,36,.3)}
.acct-card .ac-broker{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--ink-dim)}
.acct-card .ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:10.5px;margin-bottom:8px}
.acct-card .ac-grid .k{color:var(--ink-faint);font-family:var(--disp);font-size:8px;letter-spacing:.08em}
.acct-card .ac-grid .v{font-family:var(--mono);font-size:11px;color:var(--ink-dim)}
.acct-card .ac-bal{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink)}
.acct-card .ac-pots{display:flex;gap:10px;font-family:var(--mono);font-size:10px;margin:6px 0}
.acct-card .ac-pots .t{color:var(--sys1)} .acct-card .ac-pots .p{color:var(--sem-good)}
.acct-card .ac-rules{font-size:9.5px;color:var(--ink-faint);line-height:1.5;border-top:1px solid var(--border);padding-top:7px;margin-top:4px}
.acct-card .ac-actions{display:flex;gap:7px;margin-top:9px}
.acct-card .ac-manage{font-family:var(--disp);font-size:9px;letter-spacing:.1em;color:var(--sys2);background:rgba(167,139,250,.08);
  border:1px solid rgba(167,139,250,.28);border-radius:5px;padding:5px 11px;cursor:pointer}
.acct-card .ac-linkbtn{font-family:var(--disp);font-size:9px;letter-spacing:.08em;color:var(--sem-good);background:rgba(52,211,153,.08);
  border:1px solid rgba(52,211,153,.3);border-radius:5px;padding:5px 11px;cursor:pointer}
.ac-linkform{margin-top:9px;display:flex;flex-direction:column;gap:7px;padding:10px;border:1px dashed rgba(52,211,153,.3);border-radius:6px}
.ac-linkform .ac-linkhint{font-size:9.5px;color:var(--ink-faint);line-height:1.5}
.ac-linkform input{background:var(--substrate);border:1px solid var(--border);border-radius:5px;color:var(--ink);
  font-family:var(--mono);font-size:11px;padding:7px 9px;outline:none}
.ac-linkform input:focus{border-color:var(--sem-good)}
.ac-linkform .ac-linksubmit{background:var(--sem-good);color:#05140d;border:none;border-radius:5px;padding:8px;font-weight:700;
  font-family:var(--disp);font-size:9.5px;letter-spacing:.1em;cursor:pointer}
.ac-linkmsg{font-size:9.5px;min-height:11px;color:var(--ink-faint)}
.ac-linkmsg.ok{color:var(--sem-good)}.ac-linkmsg.bad{color:var(--sem-bad)}

/* ============ RIGGING DRAWER (config) ============ */
.rig-btn{font-family:var(--disp);font-size:10px;letter-spacing:.16em;color:var(--sys2);cursor:pointer;
  background:rgba(167,139,250,.06);border:1px solid rgba(167,139,250,.28);border-radius:5px;padding:6px 11px;
  transition:background .2s,box-shadow .2s}
.rig-btn:hover{background:rgba(167,139,250,.14);box-shadow:0 0 12px var(--sys2-glow)}
.rig-overlay{position:fixed;inset:0;background:rgba(3,6,10,.55);backdrop-filter:blur(2px);z-index:60;opacity:0;
  pointer-events:none;transition:opacity .35s}
.rig-overlay.open{opacity:1;pointer-events:auto}
.rig{position:fixed;top:0;right:0;height:100vh;width:430px;max-width:94vw;z-index:61;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#0B121B,#080C12);border-left:1px solid rgba(167,139,250,.22);
  box-shadow:-24px 0 60px rgba(0,0,0,.5);transform:translateX(105%);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.rig.open{transform:none}
.rig-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 13px;border-bottom:1px solid var(--border)}
.rig-title{font-family:var(--disp);font-size:14px;letter-spacing:.24em;color:var(--sys2);text-shadow:0 0 14px var(--sys2-glow)}
.rig-sub{font-size:10.5px;color:var(--ink-faint);margin-left:10px}
.rig-x{background:none;border:1px solid var(--border);color:var(--ink-dim);border-radius:5px;width:28px;height:28px;cursor:pointer;font-size:13px}
.rig-x:hover{color:var(--sem-bad);border-color:var(--sem-bad)}
.rig-key{padding:12px 18px;border-bottom:1px solid var(--border);background:rgba(167,139,250,.03)}
.rig-key label{display:block;font-family:var(--disp);font-size:9px;letter-spacing:.14em;color:var(--ink-faint);margin-bottom:6px}
.rig-key label i{color:rgba(167,139,250,.6);font-style:normal;font-size:8.5px;margin-left:6px}
.rig-key-row{display:flex;gap:7px}
.rig-key-row input{flex:1}
.rig-key-state{font-size:9.5px;color:var(--sem-bad)}
.rig-key-state.ok{color:var(--sem-good)}
.rig-sec2{margin-top:12px;padding-top:11px;border-top:1px solid var(--border)}
.rig-sec2 label{display:block;font-family:var(--disp);font-size:9px;letter-spacing:.14em;color:var(--ink-faint);margin-bottom:7px}
.rig-sec2 label i{color:rgba(167,139,250,.6);font-style:normal;font-size:8.5px;margin-left:6px}
.rig-sec2 input,.rig-sec2 select{width:100%;background:var(--substrate);border:1px solid var(--border);border-radius:5px;
  color:var(--ink);font-family:var(--mono);font-size:12px;padding:7px 9px;outline:none;margin-bottom:7px}
.rig-sec2 input:focus,.rig-sec2 select:focus{border-color:var(--sys2)}
.rig-sec2 button{font-family:var(--disp);font-size:10px;letter-spacing:.1em;background:rgba(167,139,250,.12);
  border:1px solid rgba(167,139,250,.3);color:var(--sys2);border-radius:5px;padding:0 13px;cursor:pointer}
.u-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}
.u-row{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;
  color:var(--ink-dim);padding:4px 8px;border:1px solid var(--border);border-radius:5px;background:rgba(17,26,36,.3)}
.u-row .u-r{font-size:8px;letter-spacing:.08em;color:var(--ink-faint)}
.u-row .u-r.admin{color:var(--sys2)}
.rig-accts{display:flex;gap:6px;padding:11px 18px 0;flex-wrap:wrap}
.rig-acct{font-family:var(--mono);font-size:10px;padding:5px 10px;border-radius:5px;cursor:pointer;
  border:1px solid var(--border);color:var(--ink-dim);background:rgba(17,26,36,.4)}
.rig-acct.sel{border-color:var(--sys2);color:var(--ink);background:rgba(167,139,250,.1);box-shadow:inset 0 0 0 1px rgba(167,139,250,.2)}
.rig-acct .badge{font-size:8px;color:var(--ink-faint);margin-left:5px}
.rig-newacct{padding:8px 18px 0}
.rig-newacct-btn{font-family:var(--disp);font-size:9.5px;letter-spacing:.1em;color:var(--sys2);background:rgba(167,139,250,.06);
  border:1px dashed rgba(167,139,250,.3);border-radius:5px;padding:5px 10px;cursor:pointer;width:100%}
.rig-newacct-form{margin-top:8px;display:flex;flex-direction:column;gap:7px;padding:11px;border:1px solid var(--border);
  border-radius:7px;background:rgba(17,26,36,.3)}
.rig-newacct-form input,.rig-newacct-form select{background:var(--substrate);border:1px solid var(--border);border-radius:5px;
  color:var(--ink);font-family:var(--mono);font-size:12px;padding:7px 9px;outline:none}
.rig-newacct-form input:focus,.rig-newacct-form select:focus{border-color:var(--sys2)}
.na-row{display:flex;gap:7px}.na-row>*{flex:1;min-width:0}
.rig-body{flex:1;overflow-y:auto;padding:6px 18px 14px}
.rig-sec{padding:15px 0;border-bottom:1px solid rgba(120,180,220,.06)}
.rig-sec-h{display:flex;align-items:baseline;gap:9px;margin-bottom:12px;font-family:var(--disp);font-size:11px;letter-spacing:.18em;color:var(--ink)}
.rig-sec-sub{font-family:var(--body);font-size:9.5px;letter-spacing:.02em;color:var(--ink-faint)}
.rig-field{margin-bottom:13px}
.rig-field>label{display:block;font-family:var(--disp);font-size:8.5px;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:6px}
.rig-field>label i{font-style:normal;color:var(--ink-faint);opacity:.7;margin-left:6px;letter-spacing:0;font-family:var(--body);font-size:9px}
.rig input[type=number],.rig input[type=password]{background:var(--substrate);border:1px solid var(--border);border-radius:5px;
  color:var(--ink);font-family:var(--mono);font-size:13px;padding:8px 10px;width:100%;outline:none}
.rig input:focus{border-color:var(--sys2);box-shadow:0 0 0 1px rgba(167,139,250,.2)}
.rig button{font-family:var(--disp);font-size:10px;letter-spacing:.1em;cursor:pointer}
.rig-key-row button{background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.3);color:var(--sys2);border-radius:5px;padding:0 13px}
.rig-money{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:5px;background:var(--substrate);overflow:hidden}
.rig-money .cc{padding:0 4px 0 10px;color:var(--ink-faint);font-family:var(--mono);font-size:13px}
.rig-money input{border:none!important;box-shadow:none!important;padding-left:2px}
.rig-money.small{display:inline-flex;width:130px}
.rig-range,#skim-range{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:3px;
  background:rgba(120,180,220,.14);outline:none;margin:4px 0}
.rig-range::-webkit-slider-thumb,#skim-range::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;
  background:var(--sys1);box-shadow:0 0 8px var(--sys1-glow);cursor:pointer;border:2px solid #0B121B}
.rig-range::-moz-range-thumb,#skim-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--sys1);border:2px solid #0B121B;cursor:pointer}
.rig-alloc-read{display:flex;align-items:center;justify-content:space-between;margin-top:7px}
.rig-alloc-pct{font-size:11px;color:var(--sys1)}
.rig-potprev{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:6px;background:rgba(17,26,36,.3)}
.rig-pp{display:grid;grid-template-columns:80px 1fr auto;gap:8px;align-items:center;font-size:10px}
.rig-pp .k{font-family:var(--disp);font-size:8px;letter-spacing:.06em;color:var(--ink-faint)}
.rig-pp .track{height:6px;border-radius:3px;background:rgba(120,180,220,.1);overflow:hidden}
.rig-pp .track>i{display:block;height:100%;border-radius:3px}
.rig-pp.untouchable .track>i{background:var(--slate);opacity:.5}
.rig-pp.trading .track>i{background:var(--sys1);box-shadow:0 0 6px var(--sys1-glow)}.rig-pp.trading .v{color:var(--sys1)}
.rig-pp.profit .track>i{background:var(--sem-good)}.rig-pp.profit .v{color:var(--sem-good)}
.rig-pp .v{font-family:var(--mono);font-size:11px;text-align:right;color:var(--ink-dim)}
.rig-policy{display:flex;flex-direction:column;gap:7px}
.pol{display:grid;grid-template-columns:auto 1fr;gap:3px 11px;align-items:center;padding:10px 12px;border-radius:6px;
  border:1px solid var(--border);cursor:pointer;background:rgba(17,26,36,.3);transition:border-color .2s,background .2s}
.pol input{grid-row:1/3;width:15px;height:15px;accent-color:var(--sys2)}
.pol b{font-family:var(--disp);font-size:11px;letter-spacing:.1em;color:var(--ink)}
.pol span{font-size:10px;color:var(--ink-faint)}
.pol:has(input:checked){border-color:var(--sys2);background:rgba(167,139,250,.08);box-shadow:0 0 12px rgba(167,139,250,.12)}
.rig-skim{margin-top:11px;display:none}
.rig-skim.show{display:block}
.rig-skim label{display:block;font-family:var(--disp);font-size:8.5px;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:6px}
.rig-skim label i{font-style:normal;font-family:var(--body);font-size:9px;opacity:.7;margin-left:6px}
.rig-skim-row{display:flex;align-items:center;gap:11px}.rig-skim-row input{flex:1}
#skim-val{color:var(--sys1);font-size:13px;width:42px;text-align:right}
.rig-preview{margin-top:12px;padding:12px 13px;border-radius:6px;font-size:11.5px;line-height:1.55;color:#D7E3EE;
  border:1px solid rgba(56,189,248,.18);background:linear-gradient(120deg,rgba(56,189,248,.05),transparent)}
.rig-preview b{color:var(--sys1);font-family:var(--mono);font-weight:600}
.rig-note{margin-top:10px;padding:9px 11px;border-radius:6px;font-size:10px;line-height:1.5;color:var(--sem-warn);
  border:1px solid rgba(251,191,36,.22);background:rgba(251,191,36,.04)}
.rig-note b{color:var(--sem-warn)}
.rig-sources{display:flex;flex-direction:column;gap:7px}
.rig-src{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 11px;border-radius:6px;
  border:1px solid var(--border);background:rgba(17,26,36,.3)}
.rig-src.on{border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.04)}
.rig-src .sw{width:34px;height:19px;border-radius:11px;background:rgba(120,180,220,.16);position:relative;cursor:pointer;transition:background .25s;flex:none}
.rig-src .sw::after{content:'';position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#7E8A99;transition:transform .25s,background .25s}
.rig-src.on .sw{background:rgba(52,211,153,.3)}.rig-src.on .sw::after{transform:translateX(15px);background:var(--sem-good)}
.rig-src .meta{min-width:0}
.rig-src .nm{font-family:var(--disp);font-size:10px;letter-spacing:.04em;color:var(--ink);display:flex;align-items:center;gap:6px}
.rig-src .nm .pv{font-size:7.5px;letter-spacing:.1em;color:var(--sem-good);border:1px solid rgba(52,211,153,.3);border-radius:3px;padding:0 4px}
.rig-src .ol{font-size:9.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rig-src .wt{font-family:var(--mono);font-size:9.5px;color:var(--ink-faint);text-align:right}
.rig-src .wt input{width:54px}
.rig-keystub{padding:11px 12px;border:1px dashed rgba(167,139,250,.28);border-radius:6px;background:rgba(17,26,36,.3)}
.rig-keystub-state{font-size:9.5px;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:7px}
.rig-keystub p{font-size:10px;line-height:1.55;color:var(--ink-dim);margin-bottom:9px}
.rig-keystub b{color:var(--sys2)}
.rig-apply{background:var(--sys2);color:#0B121B;border:none;border-radius:6px;padding:11px 16px;font-weight:600;width:100%;
  letter-spacing:.12em;box-shadow:0 0 16px rgba(167,139,250,.3);transition:filter .2s}
.rig-apply:hover{filter:brightness(1.12)}
.rig-apply.ghost{background:transparent;color:var(--ink-faint);border:1px solid var(--border);box-shadow:none;cursor:not-allowed}
.rig-foot{padding:13px 18px;border-top:1px solid var(--border);background:rgba(8,12,18,.6)}
.rig-foot-msg{font-size:9.5px;margin-top:8px;color:var(--ink-faint);min-height:12px;text-align:center}
.rig-foot-msg.ok{color:var(--sem-good)}.rig-foot-msg.bad{color:var(--sem-bad)}
.rig-locked .rig-body,.rig-locked .rig-foot,.rig-locked .rig-accts{opacity:.32;pointer-events:none;filter:saturate(.4)}

/* ---- animations ---- */
@keyframes breathe{0%,100%{opacity:calc(.55 + .25*var(--breath-amp))}50%{opacity:1}}
@keyframes flash{0%{background:rgba(56,189,248,.16)}100%{background:transparent}}
@keyframes slidein{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:rgba(120,180,220,.16);border-radius:4px}
::-webkit-scrollbar-track{background:transparent}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
