:root{
  --bg:#02070b; --panel:#0a0d0f; --card:#101417; --border:#1b232a; --txt:#f3f5f7;
  --muted:#6e7a86; --accent:#00c27a; --blue:#00c27a; --green:#00c27a; --red:#ff5c5c;
  --amber:#f0a03a; --neutral:#ffe818; --purple:#b794f6; --info:#5eb8ff;
  --surface-2:#161c21; --surface-3:#1b232a; --surface-elevated:#12181e; --highlight:#18232a; --logo:#3ADC84;
  --panel-w:246px; --right-panel-w:252px; --rail-w:64px; --radius:10px;
}
html{color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--txt);
  font:13px/1.5 "Satoshi",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  height:100vh;overflow:hidden;
  scrollbar-width:none;-ms-overflow-style:none}
body::-webkit-scrollbar{display:none;width:0;height:0}
select,.btn{background:var(--card);color:var(--txt);border:1px solid var(--border);
  border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer}
select option{background:var(--card);color:var(--txt)}

.appRail{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--rail-w);
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  padding:20px 0 16px;background:var(--mfc1)}
.railLogo{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  color:var(--green);text-decoration:none;flex-shrink:0}
.railLogo svg,.railLogo img{width:40px;height:40px;display:block;object-fit:contain}
.railNav,.railBottom{display:flex;flex-direction:column;align-items:center;gap:8px}
.railNav{width:100%;margin-top:24px}
.railBtn{position:relative;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:var(--mfc2);
  display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;
  transition:color .15s,background .15s,border-color .15s}
.railBtn svg{width:22px;height:22px;display:block}
.railBtn i{font-size:22px;line-height:1;display:block}
.railBtn:hover{color:var(--green);background:transparent}
.railBtn.active{color:var(--mfa1);background:rgba(16,185,129,.15)}
.railBtnDisabled{cursor:default;opacity:.58}
.railBtnDisabled:hover{color:var(--mfc2);background:transparent}
.railLogo[data-tooltip]::after,
.railBtn[data-tooltip]::after,
.railAvatar[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;z-index:60;
  transform:translate(0,-50%) scale(.98);padding:7px 9px;border:1px solid var(--mfc3);border-radius:8px;
  background:var(--mfc4);color:var(--mfc5);font-size:11px;font-weight:800;letter-spacing:.02em;line-height:1;
  white-space:nowrap;box-shadow:0 12px 30px var(--mfs1);opacity:0;pointer-events:none;
  transition:opacity .12s ease,transform .12s ease}
.railLogo[data-tooltip]::before,
.railBtn[data-tooltip]::before,
.railAvatar[data-tooltip]::before{content:"";position:absolute;left:calc(100% + 7px);top:50%;z-index:61;
  width:8px;height:8px;background:var(--mfc4);border-left:1px solid var(--mfc3);border-bottom:1px solid var(--mfc3);
  transform:translate(0,-50%) rotate(45deg);opacity:0;pointer-events:none;transition:opacity .12s ease}
.railLogo[data-tooltip]:hover::after,
.railLogo[data-tooltip]:focus-visible::after,
.railBtn[data-tooltip]:hover::after,
.railBtn[data-tooltip]:focus-visible::after,
.railAvatar[data-tooltip]:hover::after,
.railAvatar[data-tooltip]:focus-visible::after{opacity:1;transform:translate(0,-50%) scale(1)}
.railLogo[data-tooltip]:hover::before,
.railLogo[data-tooltip]:focus-visible::before,
.railBtn[data-tooltip]:hover::before,
.railBtn[data-tooltip]:focus-visible::before,
.railAvatar[data-tooltip]:hover::before,
.railAvatar[data-tooltip]:focus-visible::before{opacity:1}
.railSpacer{flex:1}
.railAvatar{position:relative;width:36px;height:36px;border:0;border-radius:50%;background:var(--mfa2);cursor:pointer;
  transition:opacity .15s;box-shadow:inset 0 0 0 1px var(--mfs2)}
.railAvatar:hover{opacity:.9}

.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:6px 14px;
  height:56px;margin:12px 12px 0 var(--rail-w);background:var(--mfc6);
  border:1px solid var(--mfc7);border-bottom:1px solid var(--mfc7);
  border-radius:16px 16px 0 0;min-height:56px}
.topbarLeft,.topbarRight{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0}
.topbarLeft{justify-self:start}
.topbarCenter{display:flex;align-items:center;justify-content:center;justify-self:center}
.topbarRight{justify-self:end;flex-wrap:wrap;justify-content:flex-end}
.topbarRight .viewToggle{margin-right:2px}
.topbarRight .topbarCtl{white-space:nowrap}
.topbarCtl{font-size:11px}

/* Collapsed side panels — chart expands into the freed width */
.layout.panelLeftCollapsed .panelLeft,
.layout.panelRightCollapsed .panelRight{
  width:0!important;min-width:0!important;max-width:0!important;flex:0 0 0!important;
  padding:0!important;border:none!important;overflow:hidden!important;
  opacity:0;pointer-events:none}
.layout.panelLeftCollapsed{position:relative}
.layout.panelRightCollapsed{position:relative}
.panelReveal{position:absolute;z-index:12;top:50%;transform:translateY(-50%);
  width:18px;height:44px;padding:0;border:1px solid var(--border);border-radius:8px;
  background:var(--surface-2);color:var(--muted);font-size:16px;line-height:1;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  transition:background .14s,color .14s,border-color .14s;box-shadow:0 4px 14px rgba(0,0,0,.28)}
.panelReveal:hover{background:var(--highlight);color:var(--txt);border-color:var(--muted)}
.panelReveal:focus-visible{outline:2px solid rgba(0,194,122,.45);outline-offset:1px}
.panelReveal[hidden]{display:none!important}
.panelRevealLeft{left:6px}
.panelRevealRight{right:6px}
.layout.panelLeftCollapsed .charts{border-left:none}
.layout.panelRightCollapsed .charts{border-right:none}

/* In-column hide controls (Thesis / AI Trader headers) */
.panelColHideBtn{display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;margin:0;padding:0;border:1px solid var(--border);border-radius:7px;
  background:var(--surface-2);color:var(--muted);cursor:pointer;flex:0 0 auto;
  transition:background .14s,color .14s,border-color .14s}
.panelColHideBtn:hover{background:var(--highlight);color:var(--txt);border-color:var(--muted)}
.panelColHideBtn:focus-visible{outline:2px solid rgba(0,194,122,.45);outline-offset:1px}
.panelColHideBtn svg{display:block}
.thesisCardHead{flex-direction:row!important;align-items:flex-start!important;
  justify-content:space-between!important;gap:8px!important;width:100%}
.thesisCardHeadMain{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.thesisCardHead .panelColHideBtn{margin-top:-2px}
.liveIndicator{display:none!important;align-items:center;gap:6px;font-size:11px;font-weight:700;
  letter-spacing:.6px;color:var(--green);text-transform:uppercase}
.liveDot{width:8px;height:8px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 0 rgba(0,194,122,.5);animation:livePulse 2s infinite}
@keyframes livePulse{
  0%{box-shadow:0 0 0 0 rgba(0,194,122,.45)}
  70%{box-shadow:0 0 0 6px rgba(0,194,122,0)}
  100%{box-shadow:0 0 0 0 rgba(0,194,122,0)}
}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:18px;letter-spacing:.1px}
.brandLogo{display:none;width:40px;height:40px;object-fit:contain}
.brandText{color:var(--txt)}
.buildStamp{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);padding:2px 6px;border:1px solid var(--border);border-radius:6px;
  background:var(--highlight);margin-left:4px}
.buildStamp{display:none}
.sym{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}
.badge{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:2px 8px;border-radius:999px;background:var(--mfc8);color:var(--muted)}
.badge.live{background:rgba(0,194,122,.18);color:var(--green)}
.badge.local{background:var(--mfa3);color:var(--mfa4)}
.badge.demo{background:var(--mfa5);color:var(--amber)}
.badge.viewToggle{cursor:pointer;border:none;font:inherit;font-size:inherit;padding:3px 8px}
.badge.viewToggle:hover{filter:brightness(1.15)}
.badge.viewToggle.live{box-shadow:0 0 0 1px rgba(0,194,122,.35)}
.badge.viewToggle.archive{opacity:.95}
.badge.archive{background:var(--surface-2);color:var(--muted)}
.feedSwitch{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface-2)}
.feedSwitchBtn{border:none;background:transparent;color:var(--muted);font-size:11px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;padding:6px 14px;cursor:pointer;transition:background .15s,color .15s}
.feedSwitchBtn:hover{color:var(--txt)}
.feedSwitchBtn:not(.active):not(:disabled){color:var(--mfc9);cursor:pointer}
.feedSwitchBtn.active{background:rgba(0,194,122,.22);color:var(--green);box-shadow:inset 0 0 0 1px rgba(0,194,122,.35)}
.feedSwitchBtn.active[data-feed="local"]{background:var(--mfa6);color:var(--mfa4);box-shadow:inset 0 0 0 1px var(--mfa7)}
.feedError{color:var(--red);font-size:11px;margin-left:6px;white-space:nowrap}
.feedSwitchBtn:disabled{opacity:.45;cursor:not-allowed}
.feedSwitch.is-loading{opacity:.85;pointer-events:none}
.feedSwitch.is-loading .feedSwitchBtn{pointer-events:none}
/* Live/local separation: sidebar chooses app area, so the old feed switch stays hidden. */
#feedSwitch{display:none!important}
body[data-app-section="dashboard"] .localOnly{display:none!important}
body:not([data-app-section="dashboard"]) .sym{display:none!important}
body:not([data-app-section="replay-lab"]) .localOnly{display:none!important}
body[data-app-section="dashboard"] .topbarRight{gap:12px}
body[data-app-section="dashboard"] .brandText::after{content:"";display:inline-block}
body[data-app-section="replay-lab"] .liveIndicator{display:none!important}
body[data-app-section="replay-lab"] .brandText{color:var(--mfc10)}
body[data-app-section="replay-lab"] .brandText,
body[data-app-section="trade-logs"] .brandText,
body[data-app-section="trading-rooms"] .brandText,
body[data-app-section="indicators"] .brandText{font-size:0}
body[data-app-section="replay-lab"] .brandText::before,
body[data-app-section="trade-logs"] .brandText::before,
body[data-app-section="trading-rooms"] .brandText::before,
body[data-app-section="indicators"] .brandText::before{font-size:18px}
body[data-app-section="replay-lab"] .brandText::before{content:"Replay Lab"}
body[data-app-section="trade-logs"] .brandText::before{content:"Trade Logs"}
body[data-app-section="trading-rooms"] .brandText::before{content:"Trading Rooms"}
body[data-app-section="indicators"] .brandText::before{content:"Indicators"}
/* Trading Rooms topbar chrome (room title/back button + share/settings/avatars)
   is toggled by JS only when rendering the rooms list. Navigating straight from a
   room into another section (e.g. Replay Lab) never re-hides it, so it leaks and
   overlaps the chart header. Force it hidden whenever we're not in Trading Rooms. */
body:not([data-app-section="trading-rooms"]) #trTopbarRoom,
body:not([data-app-section="trading-rooms"]) #trTopbarActions{display:none!important}
.ctl{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.continuousCtl input{margin:0;cursor:pointer}
.continuousCtl select{font-size:11px;padding:2px 4px}
.continuousCtl:has(input:not(:checked)) select{opacity:.45;pointer-events:none}
/* Continuous mode is available in live too (local-history data, no extra cost). */
.viewingCtl.liveViewOnly .viewingLbl{display:none}
.liveViewSummary{font-size:12px;color:var(--muted);white-space:nowrap;letter-spacing:.2px}
.btn:hover,select:hover{border-color:var(--blue)}
.btn:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.spacer{flex:1}
.muted{color:var(--muted)} .small{font-size:11px}

/* Live News CRITICAL floating overlay — fixed card, never in document flow.
   Must not shift chart/layout height. Toast stack yields vertical space when open. */
.mfLiveNewsCriticalHost,.mfLiveNewsHost{position:fixed;top:68px;right:14px;z-index:2400;
  width:min(500px,calc(100vw - 28px));max-width:calc(100vw - 28px);pointer-events:none;
  display:flex;flex-direction:column;align-items:stretch;gap:0}
.mfLiveNewsCriticalHost[hidden],.mfLiveNewsHost[hidden]{display:none!important}
.mfLiveNewsCriticalHost > *,.mfLiveNewsHost > *{pointer-events:auto}

.mfLiveNewsCriticalCard{display:flex;flex-direction:column;padding:12px 12px 10px;
  border:1px solid rgba(255,92,92,.28);border-left:3px solid var(--red);border-radius:12px;
  background:rgba(14,18,24,.97);box-shadow:0 14px 40px rgba(0,0,0,.48),0 1px 0 rgba(255,255,255,.04) inset;
  backdrop-filter:blur(10px);outline:none;max-width:100%}
.mfLiveNewsCriticalCardTop{display:flex;align-items:flex-start;gap:10px}
.mfLiveNewsCriticalIcon{flex:0 0 auto;width:28px;height:28px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;color:var(--red);
  background:rgba(255,92,92,.12);border:1px solid rgba(255,92,92,.28)}
.mfLiveNewsCriticalIcon i{font-size:16px;line-height:1}
.mfLiveNewsCriticalMain{flex:1;min-width:0}
.mfLiveNewsCriticalMeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}
.mfLiveNewsCriticalSev{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.mfLiveNewsCriticalBadge{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--amber);border:1px solid rgba(240,160,58,.4);border-radius:999px;padding:1px 7px;
  background:rgba(240,160,58,.08);line-height:1.3}
.mfLiveNewsCriticalHeadline{font-size:13px;font-weight:650;color:var(--txt);line-height:1.35;margin-top:4px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  word-break:break-word;cursor:pointer}
.mfLiveNewsCriticalHeadline:hover{color:#fff}
.mfLiveNewsCriticalHeadline:focus-visible,.mfLiveNewsCriticalSrc:focus-visible{
  outline:2px solid var(--blue);outline-offset:1px;border-radius:4px}
.mfLiveNewsCriticalSrcRow,.mfLiveNewsCriticalTimeRow,.mfLiveNewsCriticalVerifRow{margin-top:6px;
  display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:11px;color:var(--muted)}
.mfLiveNewsCriticalSrcLbl,.mfLiveNewsCriticalTimeLbl,.mfLiveNewsCriticalVerifLbl{color:var(--muted);font-weight:500}
.mfLiveNewsCriticalSrc{color:var(--txt);font-weight:600;cursor:pointer}
.mfLiveNewsCriticalSrc:hover{color:#fff}
.mfLiveNewsCriticalTime,.mfLiveNewsCriticalVerif{color:var(--txt)}
.mfLiveNewsCriticalActions{margin-top:10px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.mfLiveNewsCriticalLink{color:var(--blue);text-decoration:none;font-size:11px;font-weight:600}
.mfLiveNewsCriticalLink:hover{text-decoration:underline}
.mfLiveNewsCriticalLink:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.mfLiveNewsCriticalDismissText{width:auto;height:auto;border:0;padding:0;font-size:11px;font-weight:600;
  color:var(--muted);border-radius:0}
.mfLiveNewsCriticalDismissText:hover{color:var(--txt);border-color:transparent;text-decoration:underline}
.mfLiveNewsDismiss{flex:0 0 auto;width:28px;height:28px;border:1px solid var(--border);
  border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center}
.mfLiveNewsDismiss:hover{color:var(--txt);border-color:rgba(148,163,184,.4)}
.mfLiveNewsDismiss:focus-visible{outline:2px solid var(--blue);outline-offset:1px}

.mfLiveNewsCriticalPillWrap{display:inline-flex;align-items:center;gap:6px;max-width:100%;
  align-self:flex-end}
.mfLiveNewsCriticalPill{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;
  padding:7px 10px;border:1px solid rgba(255,92,92,.4);border-radius:999px;
  background:rgba(14,18,24,.97);color:var(--txt);cursor:pointer;text-align:left;
  box-shadow:0 10px 28px rgba(0,0,0,.4);font:inherit}
.mfLiveNewsCriticalPill:hover{border-color:rgba(255,92,92,.55)}
.mfLiveNewsCriticalPill:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.mfLiveNewsCriticalPillIcon{width:22px;height:22px;border-radius:999px;display:inline-flex;
  align-items:center;justify-content:center;color:var(--red);background:rgba(255,92,92,.12);flex:0 0 auto}
.mfLiveNewsCriticalPillSev{font-size:10px;font-weight:800;letter-spacing:.07em;color:var(--red);flex:0 0 auto}
.mfLiveNewsCriticalPillText{font-size:12px;font-weight:600;min-width:0;max-width:220px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mfLiveNewsCriticalPillSrc{font-size:10px;color:var(--muted);flex:0 0 auto;max-width:96px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mfLiveNewsCriticalPillClose{width:24px;height:24px;border-radius:999px;border-color:transparent}

/* Toast stack yields space when critical overlay/pill is open */
body.mf-critical-overlay-open .mfLiveNewsToastHost{top:210px}
body.mf-critical-pill-open .mfLiveNewsToastHost{top:118px}

@media (max-width:1024px){
  .mfLiveNewsCriticalHost,.mfLiveNewsHost{width:min(400px,calc(100vw - 24px));right:12px;top:72px}
  body.mf-critical-overlay-open .mfLiveNewsToastHost{top:200px}
}
@media (max-width:768px){
  .mfLiveNewsCriticalHost,.mfLiveNewsHost{left:var(--rail-w);right:10px;width:auto;top:72px}
  .mfLiveNewsCriticalPillText{max-width:140px}
  body.mf-critical-overlay-open .mfLiveNewsToastHost{top:220px}
}
body[data-app-section="trade-logs"] .mfLiveNewsCriticalHost,
body[data-app-section="trading-rooms"] .mfLiveNewsCriticalHost,
body[data-app-section="trade-logs"] .mfLiveNewsHost,
body[data-app-section="trading-rooms"] .mfLiveNewsHost{display:none!important}

/* App notification centre (rail bell) + Live News Mac-style toasts (Phase 3 UX) */
#mfNotifBellBtn{position:relative}
#mfNotifBellBtn[aria-expanded="true"]{color:var(--mfa1);background:rgba(16,185,129,.15)}
.mfNotifBellBadge{position:absolute;top:4px;right:4px;min-width:15px;height:15px;padding:0 4px;
  border-radius:999px;background:var(--red);color:#fff;font-size:9px;font-weight:700;
  line-height:15px;text-align:center;pointer-events:none;box-shadow:0 0 0 2px var(--bg,#0b0d10)}
.mfNotifBellBadge[hidden]{display:none!important}

/* Left drawer anchored beside the rail — never covers #mfNotifBellBtn */
.mfNotifDrawerScrim{position:fixed;top:0;right:0;bottom:0;left:var(--rail-w);z-index:2380;
  background:rgba(0,0,0,.35)}
.mfNotifDrawerScrim[hidden]{display:none!important}
.mfNotifDrawer{position:fixed;top:0;left:var(--rail-w);right:auto;z-index:2390;
  width:min(380px,calc(100vw - var(--rail-w)));height:100vh;
  display:flex;flex-direction:column;background:var(--surface-elevated,#12161c);
  border-right:1px solid var(--border);border-left:0;
  box-shadow:12px 0 40px rgba(0,0,0,.35);outline:none}
.mfNotifDrawer[hidden]{display:none!important}
.mfNotifDrawerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  padding:14px 14px 10px;border-bottom:1px solid var(--border);flex:0 0 auto}
.mfNotifDrawerTitleRow{display:flex;align-items:center;gap:8px;min-width:0}
.mfNotifDrawerTitle{margin:0;font-size:15px;font-weight:650;color:var(--txt);letter-spacing:-.01em}
.mfNotifDrawerPausedTag{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--amber);border:1px solid rgba(240,160,58,.35);border-radius:999px;padding:2px 7px}
.mfNotifDrawerPausedTag[hidden]{display:none!important}
.mfNotifDrawerActions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.mfNotifTextBtn{border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;
  padding:6px 8px;border-radius:6px}
.mfNotifTextBtn:hover{color:var(--txt);background:rgba(255,255,255,.04)}
.mfNotifTextBtn:focus-visible,.mfNotifIconBtn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.mfNotifIconBtn{width:28px;height:28px;border:1px solid var(--border);border-radius:8px;
  background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center}
.mfNotifIconBtn:hover{color:var(--txt);border-color:rgba(148,163,184,.35)}
.mfNotifDrawerBody{flex:1 1 auto;min-height:0;overflow:auto;padding:8px;overscroll-behavior:contain}
.mfNotifEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;padding:48px 20px;text-align:center;color:var(--muted)}
.mfNotifEmpty i{font-size:28px;opacity:.7}
.mfNotifEmpty p{margin:0;font-size:13px;font-weight:600;color:var(--txt)}
.mfNotifEmpty span{font-size:11px;line-height:1.4;max-width:260px}

.mfNotifItem{display:block;padding:10px 10px;border:1px solid transparent;border-radius:10px;
  margin-bottom:6px;cursor:pointer;background:transparent;text-decoration:none;color:inherit}
a.mfNotifItem{cursor:pointer}
.mfNotifItem.is-nolink{cursor:default}
.mfNotifItem:hover{background:rgba(255,255,255,.03);border-color:rgba(148,163,184,.12)}
a.mfNotifItem:hover{color:inherit;text-decoration:none}
.mfNotifItem:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.mfNotifItem.is-unread{background:rgba(0,194,122,.04);border-color:rgba(0,194,122,.12)}
.mfNotifItem-critical.is-unread{background:rgba(255,92,92,.06);border-color:rgba(255,92,92,.18)}
.mfNotifItem-high.is-unread{background:rgba(240,160,58,.06);border-color:rgba(240,160,58,.16)}
.mfNotifItemTop{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.mfNotifItemTags{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.mfNotifType{font-size:10px;font-weight:650;letter-spacing:.04em;color:var(--muted);
  border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:1px 7px;white-space:nowrap}
.mfNotifSev{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.mfNotifItem-info .mfNotifSev{color:var(--muted)}
.mfNotifItem-high .mfNotifSev{color:var(--amber)}
.mfNotifItem-critical .mfNotifSev{color:var(--red)}
.mfNotifImp{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.mfNotifItem-imp-low .mfNotifImp,.mfNotifItem-imp-medium .mfNotifImp{color:var(--muted)}
.mfNotifItem-imp-high .mfNotifImp{color:var(--amber)}
.mfNotifItem-imp-critical .mfNotifImp{color:var(--red)}
.mfNotifBias{font-size:10px;font-weight:650;letter-spacing:.04em;
  border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:1px 7px;white-space:nowrap}
.mfNotifBias-bullish{color:var(--green,#10b981);border-color:rgba(16,185,129,.35)}
.mfNotifBias-bearish{color:var(--red);border-color:rgba(255,92,92,.35)}
.mfNotifBias-mixed{color:var(--amber);border-color:rgba(240,160,58,.35)}
.mfNotifBias-unclear{color:var(--muted);border-color:rgba(148,163,184,.28)}
.mfNotifRel{font-size:10px;color:var(--muted);white-space:nowrap}
.mfNotifItemHeadline{font-size:12.5px;font-weight:600;color:var(--txt);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.mfNotifItemWhy{margin-top:4px;font-size:11px;line-height:1.35;color:var(--muted)}
.mfNotifWhyLbl{font-weight:650;color:var(--txt);letter-spacing:.02em}
.mfNotifItemProduct{margin-top:5px;display:flex;flex-wrap:wrap;gap:8px 12px;font-size:10.5px;color:var(--muted)}
.mfNotifProductRow{display:inline-flex;align-items:baseline;gap:5px}
.mfNotifProductLbl{color:var(--muted);font-weight:500}
.mfNotifObserved{opacity:.9}
.mfNotifItemMeta{margin-top:5px;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;font-size:10.5px;color:var(--muted)}
.mfNotifItemSrc{color:var(--txt);display:inline-flex;align-items:flex-start;gap:6px;min-width:0}
.mfNotifSrcPrimaryLbl{color:var(--muted);font-weight:500;padding-top:1px;white-space:nowrap}
.mfNotifOrigin{display:inline-flex;flex-direction:column;gap:1px;line-height:1.25;min-width:0}
.mfNotifOriginAccount{color:var(--txt);font-weight:600;font-size:11px}
.mfNotifOriginHandle{color:var(--muted);font-size:10px}
.mfNotifItemVerif{color:var(--muted);padding-top:1px}
.mfNotifUnverifiedBadge{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--amber);border:1px solid rgba(240,160,58,.4);border-radius:999px;padding:1px 6px;
  background:rgba(240,160,58,.08)}
.mfNotifItemLink{color:var(--blue);text-decoration:none;padding-top:1px}
a.mfNotifItem:hover .mfNotifItemLink{text-decoration:underline}

.mfLiveNewsToastHost{position:fixed;top:64px;right:14px;z-index:2410;display:flex;flex-direction:column;
  gap:8px;width:min(360px,calc(100vw - 28px));pointer-events:none}
.mfLiveNewsToast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:11px 12px;
  border:1px solid var(--border);border-radius:12px;background:rgba(14,18,24,.96);
  box-shadow:0 12px 40px rgba(0,0,0,.45),0 1px 0 rgba(255,255,255,.04) inset;
  backdrop-filter:blur(10px);animation:mfLiveNewsToastIn .22s ease-out}
.mfLiveNewsToast.no-motion{animation:none}
.mfLiveNewsToast-high{border-color:rgba(240,160,58,.4)}
.mfLiveNewsToast-critical{border-color:rgba(255,92,92,.45)}
.mfLiveNewsToastIcon{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:inline-flex;
  align-items:center;justify-content:center;background:rgba(255,255,255,.04);color:var(--amber)}
.mfLiveNewsToast-critical .mfLiveNewsToastIcon{color:var(--red);background:rgba(255,92,92,.1)}
.mfLiveNewsToastBody{flex:1;min-width:0}
.mfLiveNewsToastTop{display:flex;justify-content:space-between;gap:8px;margin-bottom:3px}
.mfLiveNewsToastSev{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--amber)}
.mfLiveNewsToast-critical .mfLiveNewsToastSev,.mfLiveNewsToast-imp-critical .mfLiveNewsToastSev{color:var(--red)}
.mfLiveNewsToastBias{font-size:10px;font-weight:650;letter-spacing:.04em;
  border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:1px 7px;white-space:nowrap}
.mfLiveNewsToastTime{font-size:10px;color:var(--muted);white-space:nowrap;margin-left:auto}
.mfLiveNewsToastHeadline{font-size:12.5px;font-weight:600;color:var(--txt);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.mfLiveNewsToastWhy{margin-top:4px;font-size:11px;line-height:1.35;color:var(--muted)}
.mfLiveNewsToastMeta{margin-top:4px;font-size:10.5px;color:var(--muted)}
.mfLiveNewsToastUnverified{color:var(--amber)}
.mfLiveNewsToastClose{flex:0 0 auto;width:26px;height:26px;border:1px solid transparent;border-radius:8px;
  background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center}
.mfLiveNewsToastClose:hover{color:var(--txt);border-color:var(--border)}
.mfLiveNewsToastClose:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
@keyframes mfLiveNewsToastIn{
  from{opacity:0;transform:translateY(-8px) translateX(6px)}
  to{opacity:1;transform:translateY(0) translateX(0)}
}
@media (prefers-reduced-motion:reduce){
  .mfLiveNewsToast{animation:none}
}
@media (max-width:1024px){
  .mfNotifDrawer{width:min(320px,calc(100vw - var(--rail-w)))}
}
@media (max-width:768px){
  /* Near full-width but never cover the rail bell */
  .mfNotifDrawer{left:var(--rail-w);width:calc(100vw - var(--rail-w));max-width:none}
  .mfNotifDrawerScrim{left:var(--rail-w)}
  .mfLiveNewsToastHost{top:72px;right:10px;width:min(340px,calc(100vw - 20px))}
}
body[data-app-section="trade-logs"] .mfLiveNewsToastHost,
body[data-app-section="trading-rooms"] .mfLiveNewsToastHost{display:none!important}

.layout{display:flex;min-height:0;height:calc(100vh - 80px);margin:0 12px 12px var(--rail-w);
  background:var(--mfc6);border:1px solid var(--mfc7);border-top:0;border-radius:0 0 16px 16px;
  overflow:hidden}
.marketClosedTimer{display:inline-flex;align-items:center;gap:6px;margin-left:2px;padding:4px 10px;
  border-radius:999px;background:var(--mfa15);border:1px solid var(--mfa16);
  color:var(--amber);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  white-space:nowrap;flex:0 0 auto;line-height:1}
.marketClosedTimer[hidden]{display:none!important}
.marketClosedTimer i{font-size:13px;line-height:1;color:var(--amber)}
.marketClosedTimerLbl{color:var(--mfc17)}
.marketClosedTimer b{display:inline-block;min-width:92px;text-align:left;
  font:13px/1 ui-monospace,Menlo,Consolas,monospace;color:#ffd166;letter-spacing:.02em;
  font-weight:700;text-transform:none}
body:not([data-app-section="dashboard"]) .marketClosedTimer{display:none!important}
.charts{flex:1 1 0;display:flex;flex-direction:column;min-width:0;min-height:0;padding:6px 8px;
  border-left:1px solid var(--mfc19);border-right:1px solid var(--mfc19);contain:layout}
.legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:2px 2px 7px;
  font-size:11px;color:var(--muted)}
.legendSpacer{flex:1;min-width:12px}
.tfBar{display:flex;gap:2px;padding:3px;background:var(--mfc20);border:1px solid var(--mfc21);border-radius:9px;flex-shrink:0}
.tfBtn{border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:500;
  padding:4px 10px;border-radius:6px;cursor:pointer;line-height:1}
.tfBtn:hover{color:var(--txt)}
.tfBtn.active{background:var(--blue);color:var(--mfc22);box-shadow:0 0 16px var(--mfa18)}
.tfBtn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.lg{display:flex;align-items:center;gap:5px}
.lg i{width:9px;height:9px;border-radius:2px;display:inline-block}
.absorbDot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:2px}
.absorbDot.ask{background:var(--mfa4)}
.absorbDot.bid{background:var(--mfa19)}
.trapMark{width:0;height:0;display:inline-block;margin-right:2px;border-left:4px solid transparent;border-right:4px solid transparent}
.trapMark.buyers{border-top:7px solid #ff9800}
.trapMark.sellers{border-bottom:7px solid #26a69a}
.lgToggle{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);
  border-radius:4px;background:transparent;color:var(--muted);font-size:12px;
  padding:3px 8px;cursor:pointer;font-family:inherit}
.lgToggle:hover{color:var(--txt);border-color:var(--muted)}
.lgToggle.active{color:var(--txt);border-color:var(--blue);background:rgba(0,194,122,.12)}
.lgToggle:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.lgToggle i{font-size:14px;line-height:1}
.lgToggle:not(.active) .absorbDot,.lgToggle:not(.active) .trapMark{opacity:.35}
body.canvas-engine-active #priceChart,
body.canvas-engine-active #chartAxisLabels,
body.canvas-engine-active #currentPriceRow,
body.canvas-engine-active #priceScaleHud,
body.canvas-engine-active #chartHeaderHud,
body.canvas-engine-active #subPanesBlock{display:none!important}
.canvasChartLayer{position:absolute;inset:0;z-index:12;background:#000}
.canvasChartLayer[hidden]{display:none!important}
.canvasChartMain{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.replayBar{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:0 6px 6px;
  background:rgba(0,194,122,.1);border:1px solid rgba(0,194,122,.35);border-radius:6px;flex-wrap:wrap}
.replayBar[hidden]{display:none!important}
.tapePane[hidden],.flowPane[hidden],.subPaneUnit[hidden]{display:none!important}
.replayHint{flex:1;min-width:180px}
.replayBtn{border:1px solid var(--border);background:var(--surface-2);color:var(--txt);
  border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer;font-family:inherit;line-height:1}
.replayBtn:hover{border-color:var(--blue);color:var(--mfc23)}
.replayBtn:disabled{opacity:.4;cursor:not-allowed}
.replayBtn.replayPlay{min-width:36px;font-weight:600}
.replayBtn.replayExit{margin-left:auto;border-color:var(--mfa20);color:var(--mfa21)}
.replayBtn.replayExit:hover{border-color:var(--red);background:var(--mfa22)}
.replaySpeed{background:var(--surface-2);color:var(--txt);border:1px solid var(--border);
  border-radius:4px;padding:4px 6px;font-size:11px}
.replayPos{min-width:120px;text-align:right;font-family:ui-monospace,Menlo,Consolas,monospace}
.badge.replay{background:rgba(0,194,122,.18);color:var(--mfa23)}
.chartHeaderHud{position:absolute;top:8px;left:10px;z-index:40;display:flex;flex-wrap:wrap;
  align-items:baseline;gap:6px;max-width:calc(100% - 16px);
  font:12px/1.35 "Satoshi",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  /* Opaque enough that Deep Profile status / underlays cannot ghost through the symbol header. */
  background:rgba(8,12,18,.96);padding:5px 10px;border-radius:7px;
  border:1px solid var(--mfc25);box-shadow:0 8px 24px var(--mfs4)}
.chartHeaderSym{font-weight:600;color:var(--txt);letter-spacing:.2px;flex-shrink:0}
.chartHeaderSep{color:var(--muted);font-weight:400;flex-shrink:0}
.chartHeaderOhlc{display:inline-flex;flex-wrap:nowrap;align-items:baseline;gap:6px;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--muted);min-width:0}
.chartHeaderOhlc .ohlcLbl{color:var(--muted);font-weight:500}
.chartHeaderOhlc .ohlcVal{color:var(--txt);font-weight:600}
.chartHeaderOhlc .ohlcVal.up{color:var(--green)}
.chartHeaderOhlc .ohlcVal.down{color:var(--red)}
.chartHeaderOhlc .ohlcChg{font-weight:600;margin-left:2px}
.chartHeaderOhlc .ohlcChg.up{color:var(--green)}
.chartHeaderOhlc .ohlcChg.down{color:var(--red)}
.chartHeaderOhlc .chartGapHud{color:var(--mfa24);font-weight:600;margin-right:8px;white-space:nowrap}
.chart{border:1px solid var(--mfc26);border-radius:5px;overflow:hidden}
.chartWrap.mainWrap{flex:1 1 0;min-height:0;position:relative;display:flex;flex-direction:row;
  align-items:stretch;overflow:hidden;z-index:0}
.chartPane{flex:1 1 0;min-width:0;min-height:0;position:relative;display:flex;flex-direction:column;
  overflow:hidden}
.chartWrap.mainWrap .chart.main,
.chartPane > .chart.main{flex:1 1 0;min-height:0;width:100%;position:relative;z-index:1}

.chartWorkspace{flex:1 1 0;display:flex;flex-direction:column;min-height:0;min-width:0}
.chartGrid{flex:1 1 0;display:grid;gap:4px;min-height:0}
.chartGridCell{display:flex;flex-direction:column;min-height:0;min-width:0;
  border:1px solid var(--mfc27);border-radius:8px;overflow:hidden;background:#000;
  cursor:pointer}
.chartGridCell.chartGridPrimary{border-color:var(--highlight)}
.chartGridCell.chartSelected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.chartGridCell.chartSelected .chartGridLabel{color:var(--txt)}
.chartGridLabel{font-size:10px;font-weight:600;color:var(--muted);padding:4px 8px;flex-shrink:0;
  border-bottom:1px solid var(--border);letter-spacing:.3px}
.chartGridTfLabel{cursor:pointer;user-select:none}
.chartGridTfLabel:hover{color:var(--txt);background:rgba(0,194,122,.08)}
.chartGrid[data-layout="single"] .chartGridLabel{display:none}
.chartGridChartWrap{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}
.chartGridChartWrap .chartAxisLabels{position:absolute;top:0;right:0;bottom:0;left:0}
.chartGridChart,.chartGridCell .chartWrap:not(.mainWrap){flex:1;min-height:0;display:flex;flex-direction:column}
.chartGridCell .chartWrap.mainWrap{flex:1 1 0;min-height:0;display:flex;flex-direction:row;align-items:stretch}
.chartGridCell .chart.main{flex:1 1 0;min-height:0}
.chartWrap.mainWrap .chartAxisLabels,.chartPane > .chartAxisLabels{bottom:28px}
.chartWrap.mainWrap .qvwapOnLineLabels,.chartPane > .qvwapOnLineLabels{bottom:28px}
.chartSessionAnchor{position:absolute;z-index:36;bottom:0;right:0;display:flex;
  align-items:center;justify-content:flex-end;gap:6px;padding:0 4px;pointer-events:none;
  background:#000;border-top:1px solid var(--mfc28)}
.chartSessionAnchor.sessionMenuOpen{z-index:130}
.chartSessionAnchor .scrollToEndBtn,
.chartSessionAnchor .sessionModePicker{pointer-events:auto}
.scrollToEndBtn{position:relative;flex-shrink:0;width:28px;height:22px;border:1px solid var(--highlight);
  background:var(--surface-3);color:var(--txt);border-radius:4px;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center}
.scrollToEndBtn:hover{background:var(--surface-2);border-color:var(--border);color:var(--mfc23)}
.scrollToEndBtn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.scrollToEndBtn[hidden]{display:none!important}
.scrollToEndIcon{display:block}
.scrollToEndTip{position:absolute;bottom:calc(100% + 8px);right:0;z-index:70;
  display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:4px;
  background:var(--highlight);border:1px solid var(--muted);color:var(--txt);font-size:12px;font-weight:500;
  white-space:nowrap;box-shadow:0 4px 16px var(--mfs5);opacity:0;pointer-events:none;
  transition:opacity .12s}
.scrollToEndBtn:hover .scrollToEndTip,.scrollToEndBtn:focus-visible .scrollToEndTip{opacity:1}
.scrollToEndKeys{font:11px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--muted);letter-spacing:.04em}
.sessionModePicker{position:relative}
.sessionModeBtn{border:1px solid var(--highlight);background:var(--surface-3);color:var(--txt);
  font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;cursor:pointer;line-height:1.2;
  min-width:36px;text-align:center}
.sessionModeBtn:hover{background:var(--surface-2);border-color:var(--border)}
.sessionModeBtn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.sessionModeMenu{position:absolute;bottom:calc(100% + 6px);right:0;z-index:60;min-width:220px;
  background:var(--surface-3);border:1px solid var(--highlight);border-radius:6px;padding:4px 0;
  box-shadow:0 8px 24px var(--mfs5)}
.sessionModeMenu[hidden]{display:none!important}
.sessionModeMenuHdr{font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--muted);
  padding:6px 12px 4px;text-transform:uppercase}
.sessionModeItem{display:block;width:100%;border:none;background:transparent;color:var(--txt);
  font-size:12px;font-weight:500;text-align:left;padding:8px 12px;cursor:pointer;line-height:1.3}
.sessionModeItem:hover{background:var(--surface-2)}
.sessionModeItem.active{background:var(--mfc23);color:var(--card)}
.sessionModeItem:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.subPanesBlock{flex-shrink:0;min-width:0;margin-left:42px}
.subPaneUnit{flex-shrink:0;min-width:0}
.subPaneSplitter{flex-shrink:0;height:7px;cursor:row-resize;position:relative;
  margin:3px 0 1px;border-radius:3px;background:transparent;
  border-top:1px solid var(--border);touch-action:none}
.subPaneSplitter[hidden]{display:none!important}
.subPaneSplitter:hover,.subPaneSplitter.dragging{
  background:rgba(0,194,122,.12);border-top-color:var(--blue)}
.subPaneSplitter::after{content:"";position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);width:40px;height:3px;border-radius:2px;background:var(--border)}
.subPaneSplitter:hover::after,.subPaneSplitter.dragging::after{background:var(--blue)}
.chartWorkspace.layout-multi .chartGrid{min-height:280px}
.chartWorkspace.layout-multi .chartWrap.mainWrap{min-height:120px}

.layoutPicker{position:relative;flex-shrink:0}
.layoutPicker.is-disabled{opacity:.45;pointer-events:none}
.layoutBtn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;
  border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--muted);cursor:pointer;padding:0}
.layoutBtn:hover,.layoutBtn[aria-expanded="true"]{color:var(--txt);border-color:var(--blue);
  background:rgba(0,194,122,.12)}
.layoutBtn i{font-size:17px;line-height:1}
.layoutMenu{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:200px;
  background:var(--surface-3);border:1px solid var(--border);border-radius:6px;padding:4px 0;
  box-shadow:0 8px 24px var(--mfs5)}
.layoutMenu[hidden]{display:none!important}
.layoutMenuItem{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;
  color:var(--txt);text-align:left;padding:8px 12px;cursor:pointer;font-size:13px;font-family:inherit}
.layoutMenuItem:hover{background:var(--surface-2)}
.layoutMenuItem.active{color:var(--blue);background:rgba(0,194,122,.1)}
.layoutMenuIcon{flex-shrink:0;color:currentColor;opacity:.85}
.layoutMenuItem.active .layoutMenuIcon{opacity:1}

.chartTypePicker{position:relative;flex-shrink:0;margin-left:6px}
.chartTypeBtn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 9px;border:1px solid var(--border);
  border-radius:6px;background:var(--surface-2);color:var(--txt);font:500 12px inherit;cursor:pointer;white-space:nowrap}
.chartTypeBtn:hover,.chartTypeBtn[aria-expanded="true"]{border-color:var(--blue);background:rgba(0,194,122,.12)}
.chartTypeBtn i{font-size:16px;line-height:1}
.chartTypeMenu{position:absolute;top:calc(100% + 4px);left:0;z-index:55;min-width:168px;background:var(--surface-3);
  border:1px solid var(--border);border-radius:6px;padding:4px 0;box-shadow:0 8px 24px var(--mfs5)}
.chartTypeMenu[hidden]{display:none!important}
.chartTypeMenu button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--txt);
  padding:8px 12px;font:500 12px inherit;text-align:left;cursor:pointer}
.chartTypeMenu button i{font-size:16px;line-height:1;opacity:.9;flex-shrink:0}
.chartTypeMenu button:hover{background:var(--surface-2)}
.chartTypeMenu button[aria-checked="true"]{color:var(--blue);background:rgba(0,194,122,.1)}
.chartTypeMenu button[aria-checked="true"] i{opacity:1}
.chartTypeMenu .chartTypeSettingsItem{border-top:1px solid var(--border);margin-top:4px;padding-top:10px;color:var(--muted)}
.chartTypeMenu .chartTypeSettingsItem[hidden]{display:none!important}
.chartTypeMenu .chartTypeSettingsItem:hover{color:var(--txt)}

.indicatorsPicker{position:relative;flex-shrink:0}
.indicatorsBtn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;
  border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--txt);
  font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;white-space:nowrap}
.indicatorsBtn:hover,.indicatorsBtn[aria-expanded="true"]{border-color:var(--blue);
  background:rgba(0,194,122,.12)}
.indicatorsBtn i{flex-shrink:0;color:currentColor;font-size:16px;line-height:1;opacity:.9}
.indicatorsBtn .indicatorsChevron{font-size:18px;opacity:.65;margin-left:2px}
.indicatorsMenu{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:210px;
  background:var(--surface-3);border:1px solid var(--border);border-radius:6px;padding:4px 0;
  box-shadow:0 8px 24px var(--mfs5)}
.indicatorsMenu[hidden]{display:none!important}
.indMenuItem{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  border:0;border-radius:0;background:transparent;color:var(--txt);text-align:left;
  padding:8px 12px;cursor:pointer;font-size:13px;font-family:inherit;line-height:1.3}
.indMenuItem:hover{background:var(--surface-2)}
.indMenuItem.active{color:var(--txt);background:rgba(0,194,122,.08)}
.indMenuLabel{display:inline-flex;align-items:center;gap:5px;flex:1;min-width:0}
.indMenuCheck{flex-shrink:0;width:16px;color:var(--blue);font-size:12px;font-weight:700;
  opacity:0;text-align:center}
.indMenuItem.active .indMenuCheck{opacity:1}
.indMenuItem:not(.active) .absorbDot,.indMenuItem:not(.active) .trapMark{opacity:.35}
.indSwatch{width:8px;height:8px;border-radius:2px;display:inline-block}

.chartEmpty{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;
  align-items:center;justify-content:center;background:#000;border-radius:4px;
  border:1px solid var(--border);overflow:hidden}
.chartEmpty[hidden]{display:none!important}
.chartEmptyArt{width:100%;height:100%;flex:1;min-height:0;display:block;opacity:.9}
.chartEmptyMsg{margin:0 0 18px;color:var(--muted);font-size:12px;letter-spacing:.2px;
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);
  background:var(--mfc29);padding:6px 12px;border-radius:4px;border:1px solid var(--border)}
.chartEmpty.chartLoading .chartEmptyArt{opacity:.15}
.chartEmpty.chartLoading .chartEmptyMsg{display:flex;flex-direction:column;align-items:center;gap:10px}
.chartEmpty.chartLoading .chartEmptyMsg::before{content:"";width:20px;height:20px;flex-shrink:0;
  border:2px solid var(--highlight);border-top-color:var(--blue);border-radius:50%;
  animation:chartSpin .7s linear infinite}
@keyframes chartSpin{to{transform:rotate(360deg)}}
.replayHistoryStatus{position:absolute;left:10px;bottom:28px;z-index:39;pointer-events:none;
  font:11px/1.2 "Satoshi",system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.2px;
  color:var(--muted);background:rgba(22,26,35,.88);border:1px solid var(--border);
  border-radius:4px;padding:5px 9px;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.replayHistoryStatus[hidden]{display:none!important}
.chart.main{position:relative}
.chartAxisLabels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:34;overflow:hidden;
  contain:layout style paint}
.signalIconLayer{position:absolute;inset:0;z-index:37;pointer-events:none;overflow:hidden}
.signalIconLayer[hidden]{display:none!important}
.chartSignalIcon{position:absolute;display:flex;align-items:center;justify-content:center;width:20px;height:24px;
  transform:translate(-50%,-50%);font-size:24px;line-height:1;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.chartSignalIcon.buy{color:var(--green)}
.chartSignalIcon.sell{color:var(--red)}
.marketStateIndicator{position:absolute;left:14px;bottom:34px;z-index:38;width:78px;
  pointer-events:none;font:9px/1 "Satoshi",system-ui,-apple-system,"Segoe UI",sans-serif}
.marketStateIndicator[hidden]{display:none!important}
.marketStateLadder{position:relative;width:78px;height:226px;display:grid;grid-template-rows:repeat(12,1fr);
  gap:3px;padding:10px;border:1px solid var(--mfc30);border-radius:10px;
  background:linear-gradient(180deg,var(--mfc31),var(--mfc32) 50%,var(--mfc33));
  box-shadow:0 8px 20px var(--mfs6),inset 0 0 0 1px var(--mfc15),inset 0 0 22px var(--mfs7)}
.marketStateBlock{display:block;width:100%;min-height:0;border-radius:3px;
  box-shadow:inset 0 0 0 1px var(--mfc25);opacity:.25}
.marketStateBlock.long{background:rgba(0,194,122,.42)}
.marketStateBlock.wait{background:var(--mfa25)}
.marketStateBlock.short{background:var(--mfa26)}
.marketStateBlock.long.active{background:var(--green);opacity:1;box-shadow:0 0 10px rgba(0,194,122,.55),inset 0 0 0 1px var(--mfc34)}
.marketStateBlock.wait.active{background:var(--neutral);opacity:1;box-shadow:0 0 10px var(--mfa27),inset 0 0 0 1px var(--mfs8)}
.marketStateBlock.short.active{background:var(--red);opacity:1;box-shadow:0 0 10px var(--mfa28),inset 0 0 0 1px var(--mfc35)}
.marketStateBlock.active.weakening{opacity:.72;filter:saturate(.85);box-shadow:0 0 8px rgba(240,160,58,.42),inset 0 0 0 1px rgba(240,160,58,.72)}
.marketStateBlock.active{animation:marketStatePulse 1.45s ease-in-out infinite}
@keyframes marketStatePulse{
  0%,100%{filter:brightness(1);transform:scaleX(1)}
  50%{filter:brightness(1.24);transform:scaleX(1.05)}
}
.marketStateLadderLabel{position:absolute;left:3px;right:3px;z-index:1;text-align:center;
  color:var(--mfc36);font-weight:950;letter-spacing:.08em;text-transform:uppercase;
  text-shadow:0 1px 3px var(--mfs9),0 0 8px var(--mfs10);pointer-events:none}
.marketStateLadderLabel.long{top:25px;font-size:12px;color:var(--mfa29)}
.marketStateLadderLabel.wait{top:50%;transform:translateY(-50%);font-size:11px;color:var(--mfa30)}
.marketStateLadderLabel.short{bottom:38px;font-size:12px;color:var(--mfa31)}
.marketStateStatusText{position:absolute;left:6px;right:6px;bottom:14px;z-index:2;text-align:center;
  font-size:8px;font-weight:950;letter-spacing:.06em;text-transform:uppercase;
  text-shadow:0 1px 3px var(--mfs9),0 0 10px var(--mfs11)}
.marketStateIndicator.long .marketStateLadder{border-color:rgba(0,194,122,.42)}
.marketStateIndicator.short .marketStateLadder{border-color:var(--mfa26)}
.marketStateIndicator.wait .marketStateLadder{border-color:var(--mfa32)}
.marketStateIndicator.long .marketStateStatusText{color:var(--green)}
.marketStateIndicator.wait .marketStateStatusText{color:var(--neutral)}
.marketStateIndicator.short .marketStateStatusText{color:var(--red)}
.marketStateIndicator.weakening .marketStateStatusText{color:var(--amber)}
.entryQualityBadge{position:absolute;z-index:39;right:132px;transform:translateY(-50%);
  pointer-events:none;padding:5px 7px;border-radius:999px;text-align:center;background:var(--mfc37);
  border:1px solid var(--mfc38);font-size:10px;font-weight:950;letter-spacing:.06em;
  text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 3px var(--mfs11);
  box-shadow:0 7px 20px var(--mfs12)}
.entryQualityBadge[hidden]{display:none!important}
.entryQualityBadge.ready{color:var(--green);border-color:rgba(0,194,122,.42);background:var(--mfc39)}
.entryQualityBadge.forming{color:var(--neutral);border-color:var(--mfa33);background:var(--mfc40)}
.entryQualityBadge.extended{color:var(--amber);border-color:var(--mfa34);background:var(--mfc41)}
.entryQualityBadge.no-setup{color:var(--red);border-color:var(--mfa35);background:var(--mfc42)}
/* Price-scale labels — anchored to the right edge like TradingView axis tags.
   The level's horizontal line terminates into the tag; when a tag is dodged to
   avoid a neighbour it keeps a leader line back to its true price on the scale. */
.axisLabelRow{position:absolute;right:0;display:flex;align-items:stretch;transform:translateY(-50%);
  font:10px/1 ui-monospace,Menlo,Consolas,monospace;white-space:nowrap;z-index:35;
  box-shadow:0 1px 3px var(--mfs13)}
.axisLabelName{padding:2px 5px;border-radius:2px 0 0 2px;color:var(--txt);font-weight:600;
  letter-spacing:.2px;border:1px solid var(--mfc25);border-right:none;position:relative}
/* connector notch: the level line visually enters the tag's left edge */
.axisLabelName::before{content:"";position:absolute;left:-4px;top:50%;width:4px;height:2px;
  transform:translateY(-50%);background:var(--mfc25);border-radius:1px}
.axisLabelPrice{padding:2px 5px;border-radius:0 2px 2px 0;color:var(--mfc23);font-weight:600;
  border:1px solid var(--mfc38);border-left:none}
.axisLabelPrice.darkText{color:var(--card)}
/* leader line from a dodged tag back to its true price-scale position */
.axisLabelLeader{position:absolute;width:1px;pointer-events:none;z-index:33;
  background:var(--mfc25);opacity:.55}
.axisLabelLeader::after{content:"";position:absolute;bottom:0;right:0;width:5px;height:1px;
  background:var(--mfc25)}
/* QVWAP End-of-Line floating labels (bar-relative; above profile bars). */
.qvwapOnLineLabels{position:absolute;inset:0;pointer-events:none;z-index:36;overflow:hidden}
.keyLevelsEolLabels{z-index:37}
.qvwapOnLineLabels svg.qvwapEolExt{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:35}
.qvwapLinePill,.qvwapEolPill{position:absolute;transform:translateY(-50%);pointer-events:none;
  padding:3px 6px;border-radius:4px;border:1px solid rgba(0,0,0,.35);color:#fff;
  font:600 10px/1.1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.2px;
  white-space:nowrap;box-shadow:none;z-index:36}
.qvwapEolPill{margin-left:0}
.qvwapEolPill::before{content:"";position:absolute;left:-5px;top:50%;width:0;height:0;
  border-top:5px solid transparent;border-bottom:5px solid transparent;
  border-right:5px solid var(--qvwap-pill-bg, currentColor);transform:translateY(-50%);
  opacity:.95}
.qvwapLinePillLeader{position:absolute;width:1px;pointer-events:none;z-index:35;opacity:.55;
  transform:translateX(-50%)}
.qvwapLinePillLeader::after{content:"";position:absolute;bottom:0;left:50%;width:6px;height:1px;
  transform:translateX(-50%);background:inherit}
/* Key Levels / QVWAP End-of-Line: plain text only (no pill chrome). */
.mfEolPlainLabel,.qvwapEolText{position:absolute;transform:translateY(-50%);pointer-events:none;
  margin:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;
  font:600 10px/1.1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.2px;
  white-space:nowrap;z-index:37}
.mfEolPlainLabel::before,.qvwapEolText::before{content:none;display:none}
.qvwapSettings{width:420px;max-width:calc(100vw - 24px)}
.qvwapSettings .taSetBody{max-height:min(68vh,640px)}
.qvwapSettings .taSetSub:first-child{margin-top:0}
.qvwapStyleHead,.qvwapStyleRow{display:grid;grid-template-columns:22px minmax(72px,1fr) 44px 96px 56px;
  gap:8px;align-items:center;padding:7px 0;border-bottom:1px dashed var(--border);font-size:12.5px}
.qvwapStyleHead{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;border:0;padding-bottom:2px}
.qvwapVis{display:flex;align-items:center;justify-content:center}
.qvwapVis input{accent-color:var(--accent,#e2c94f)}
.qvwapName{font-weight:600;color:var(--txt)}
.qvwapStyleRow .taSetColor{width:36px;height:28px;padding:2px}
.qvwapStyleRow .taSetSelect,.qvwapStyleRow .taSetNum{height:28px;font-size:12px}
.qvwapSettings .taSetRow{grid-template-columns:1fr minmax(120px,148px)}
.qvwapFoot{display:flex;align-items:center;gap:8px}
.qvwapFootSpacer{flex:1}
.qvwapApply.taSetDone{background:var(--green,#00c27a);color:#04140d}
.klSettings{width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column}
.klTabs{display:flex;flex-wrap:wrap;gap:2px 4px;padding:6px 14px 0;border-bottom:1px solid var(--border);flex:0 0 auto}
.klTab{appearance:none;background:transparent;border:0;color:var(--muted);font:600 10px/1 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.04em;text-transform:uppercase;padding:8px 8px 10px;cursor:pointer;border-bottom:2px solid transparent}
.klTab:hover{color:var(--txt)}
.klTab.active{color:var(--txt);border-bottom-color:var(--green,#00c27a)}
.klTab:focus-visible{outline:2px solid var(--accent,#00c27a);outline-offset:2px;border-radius:4px}
.klGroup{margin-bottom:4px}
.klSettings .taSetBody{flex:1;min-height:0;max-height:none;overflow:auto}
.klSettings .ddSetCheck input[type="color"]{width:72px;height:28px;padding:2px;border:1px solid var(--border);
  border-radius:6px;background:var(--surface-2);cursor:pointer}
/* Off-screen level indicators (optional): compact ↑/↓ edge tags near the scale. */
#chartEdgeLevels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  z-index:35;overflow:hidden}
.mfEdgeLevel{position:absolute;display:inline-flex;align-items:center;gap:4px;
  pointer-events:auto;cursor:default;font:10px/1 ui-monospace,Menlo,Consolas,monospace;
  padding:2px 6px;border-radius:3px;background:var(--mfc43);color:var(--txt);
  border:1px solid var(--edge,#6e7a86);box-shadow:0 1px 4px var(--mfs13);opacity:.92;white-space:nowrap}
.mfEdge-top{top:6px}
.mfEdge-bot{bottom:34px}
.mfEdgeArrow{color:var(--edge,#6e7a86);font-weight:700}
.mfEdgeName{color:var(--muted);letter-spacing:.2px}
.mfEdgePrice{color:var(--txt);font-weight:600}
.currentPriceRow{position:absolute;right:0;z-index:36;pointer-events:none;
  transform:translateY(-50%);display:flex;align-items:stretch;
  box-shadow:0 1px 4px var(--mfs13);border-radius:2px;overflow:hidden}
.currentPriceRow[hidden]{display:none!important}
.currentPriceRow .candleCountdown{position:static;transform:none;
  font:11px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.3px;white-space:nowrap;
  color:var(--txt);background:var(--mfc43);border:1px solid var(--mfc44);
  border-right:none;padding:2px 6px;display:flex;align-items:center}
.currentPriceRow .candleCountdown[hidden]{display:none!important}
.currentPriceRow .currentPriceTag{position:static;transform:none;border-radius:0 2px 2px 0}
.currentPriceRow .candleCountdown[hidden] + .currentPriceTag{border-radius:2px;border:1px solid var(--mfc44)}
.currentPriceTag{padding:2px 7px;font:11px/1 ui-monospace,Menlo,Consolas,monospace;
  font-weight:700;color:var(--mfc45);white-space:nowrap;
  border:1px solid var(--mfc44);border-left:none}
.currentPriceTag.bull{background:#00FF88}
.currentPriceTag.bear{background:#FF00FF}
.paneTitle{font-size:10px;font-weight:600;color:var(--muted);padding:4px 8px;line-height:1.3}
.chart.sub{height:var(--pane-h,88px);flex:0 0 auto}
/* Market Control — tooltip only (strip is drawn on the main chart canvas). */
.mcTip{position:absolute;z-index:40;min-width:140px;max-width:220px;padding:8px 10px;
  background:var(--surface-3);border:1px solid var(--border);border-radius:6px;
  box-shadow:0 8px 24px var(--mfs5);pointer-events:none;color:var(--txt);font-size:11px;line-height:1.35}
.mcTip[hidden]{display:none!important}
.mcTipTime{font:600 11px/1.2 ui-monospace,Menlo,Consolas,monospace;color:var(--muted);margin-bottom:4px}
.mcTipSide{font-weight:700;margin-bottom:4px}
.mcTipSide--buyers{color:#00c27a}
.mcTipSide--sellers{color:#ff5c5c}
.mcTipSide--balanced{color:var(--muted)}
.mcTipMarker{margin:4px 0;color:var(--txt);font-weight:600}
.mcTipReasonsLabel{margin-top:6px;font-size:9px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted)}
.mcTipReasons{margin:4px 0 0;padding-left:14px;color:var(--txt)}
.mcTipReasons li{margin:2px 0}
.cvdPaneChartWrap{position:relative;min-width:0}
/* True Order Flow pane wrap — hosts the module's absolutely-positioned overlays
   (interpretation banner, aggression readout). Native right price scale lives
   inside #trueFlowChart; do not clip the wrap or cover the scale with opaque overlays. */
.trueFlowChartWrap{position:relative;min-width:0;overflow:visible;display:flow-root}
#trueFlowChart.chart.sub{overflow:hidden} /* LWC draws scale inside this box */
.cvdSyncCrosshair{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
.cvdSyncCrosshair[hidden]{display:none!important}
.cvdSyncCrosshairV{position:absolute;display:block;opacity:.95}
.cvdSyncCrosshairV{top:0;bottom:0;width:0;border-left:1px dotted #555}
.cvdScaleHud{position:absolute;z-index:50;right:0;transform:translateY(-50%);pointer-events:none;
  height:22px;border-radius:4px;overflow:hidden;background:var(--highlight);border:1px solid var(--muted);
  box-shadow:0 2px 6px var(--mfs14)}
.cvdScaleHud[hidden]{display:none!important}
.cvdScaleTag{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;height:22px;
  color:var(--mfc23);font:11px/1 ui-monospace,Menlo,Consolas,monospace;font-weight:600;
  background:var(--highlight);white-space:nowrap}
.cvdSignalIconLayer{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}
.cvdSignalIconLayer[hidden]{display:none!important}
.cvdSignalIcon{position:absolute;width:7px;height:7px;border-radius:999px;transform:translate(-50%,-50%);
  box-shadow:0 0 0 2px rgba(0,0,0,.65),0 0 10px currentColor}
.cvdSignalIcon.buyer{color:var(--green);background:var(--green)}
.cvdSignalIcon.seller{color:var(--red);background:var(--red)}
/* Phase 1 Order Flow: accent for the true-CVD title + the aggression readout HUD */
.paneTitleAccent{color:rgba(232,185,35,.95);font-weight:700}
.deepDeltaPane{position:relative}.ddPaneStats{float:right;color:var(--muted);font-weight:500}
.deepDeltaTooltip{position:absolute;z-index:30;top:6px;min-width:222px;padding:9px 10px;border-radius:8px;background:rgba(8,12,16,.96);border:1px solid rgba(244,224,109,.32);box-shadow:0 10px 28px rgba(0,0,0,.48);color:var(--txt);font:11px/1.45 ui-monospace,Menlo,Consolas,monospace;pointer-events:none}
.deepDeltaTooltip[hidden]{display:none}.ddTipTitle{font-weight:800;color:#f4e06d;padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid var(--border)}
.ddDeepPrintTip .ddTipTitle{color:#5dffb0}
.ddTipGrid{display:grid;grid-template-columns:1fr auto;gap:2px 14px}.ddTipGrid span{color:var(--muted)}.ddTipGrid b{text-align:right}.ddTipGrid .up{color:#22c993}.ddTipGrid .dn{color:#b18cf5}.ddTipGrid .fpDn{color:#ff8a95}
#priceChart .ddDeepPrintTip{pointer-events:none;z-index:40}
.deepPrintStatus{position:absolute;z-index:35;left:10px;bottom:10px;max-width:min(420px,calc(100% - 20px));
  padding:7px 10px;border-radius:7px;border:1px solid rgba(255,138,149,.28);background:rgba(14,18,26,.92);
  color:#ffb3ba;font:12px/1.4 ui-sans-serif,system-ui,-apple-system,sans-serif;pointer-events:none;
  box-shadow:0 8px 22px rgba(0,0,0,.35)}
.deepPrintStatus.deepPrintStatus--coverage{bottom:10px;top:auto;left:10px;
  border:1px solid rgba(110,122,134,.22);background:rgba(14,18,26,.72);
  box-shadow:none;padding:4px 8px;border-radius:6px;
  color:var(--muted,#8794a8);font-size:10.5px;font-weight:500;letter-spacing:.01em;
  max-width:min(280px,calc(100% - 20px))}
.deepPrintStatus[hidden]{display:none}
.ddTipSection{margin-top:7px;padding-top:5px;border-top:1px solid var(--border);font-weight:700;color:#fff2a3}.ddTipBucket{display:flex;justify-content:space-between;gap:12px;margin-top:4px;padding-top:4px;border-top:1px dashed rgba(110,122,134,.25)}.ddTipBucket span{color:var(--muted)}
.ddSettings .taSetBody{padding-top:8px}.ddSetCheck{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--border);font-size:12.5px}.ddSetCheck input{accent-color:#e2c94f}
.ddSetRange{display:block;padding:11px 0}.ddSetRange>span{display:block;font-size:12.5px;margin-bottom:7px}.ddSetRange>div{display:flex;align-items:center;gap:10px}.ddSetRange input{flex:1;accent-color:#e2c94f}.ddSetRange b{width:42px;text-align:right;font-size:12px}.ddBands{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px;border-radius:7px;background:rgba(244,224,109,.06);color:var(--muted);font-size:10.5px}
.ddThreshold{padding:11px 0 2px;font-size:12.5px}.ddMode{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px}.ddMode button{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:6px;padding:6px;cursor:pointer;font-size:11px}.ddMode button.active{border-color:#e2c94f;color:#fff2a3;background:rgba(244,224,109,.08)}.ddSetRange.is-auto{opacity:.7}
/* Order Flow Read card — primary True CVD pane interpretation (frontend-only). */
.cvdOrderFlowReadout.ofReadCard{position:absolute;z-index:9;left:8px;top:4px;display:flex;
  flex-direction:column;gap:4px;pointer-events:auto;max-width:min(268px,calc(100% - 16px));
  padding:8px 10px;border-radius:8px;background:rgba(14,18,26,.92);
  border:1px solid var(--line,#2b3444);box-shadow:0 4px 14px rgba(0,0,0,.28);
  font-size:11px;line-height:1.25;color:var(--text-secondary,#93a1b5)}
.cvdOrderFlowReadout[hidden]{display:none!important}
.cvdOrderFlowReadout .ofReadEyebrow{font-size:9px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted,#8794a8)}
.cvdOrderFlowReadout .ofReadControl{font-size:13px;font-weight:800;letter-spacing:.01em;
  color:var(--text-primary,#e6ebf2)}
.cvdOrderFlowReadout .ofReadControl.buy{color:var(--green,#22c993)}
.cvdOrderFlowReadout .ofReadControl.sell{color:var(--red,#ef5567)}
.cvdOrderFlowReadout .ofReadConf{font-size:10px;color:var(--text-secondary,#93a1b5)}
.cvdOrderFlowReadout .ofReadConf.high{color:var(--green,#22c993)}
.cvdOrderFlowReadout .ofReadConf.medium{color:var(--amber,#f2a541)}
.cvdOrderFlowReadout .ofReadConf.low{color:var(--muted,#8794a8)}
.cvdOrderFlowReadout .ofReadRows{display:flex;flex-direction:column;gap:2px;
  padding:4px 0 2px;border-top:1px solid rgba(43,52,68,.85)}
.cvdOrderFlowReadout .ofReadRow{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.cvdOrderFlowReadout .ofReadRow span{color:var(--muted,#8794a8);font-size:10px}
.cvdOrderFlowReadout .ofReadRow b{font-weight:700;font-size:10.5px;text-align:right;
  color:var(--text-primary,#e6ebf2)}
.cvdOrderFlowReadout .ofReadRow b.buy{color:var(--green,#22c993)}
.cvdOrderFlowReadout .ofReadRow b.sell{color:var(--red,#ef5567)}
.cvdOrderFlowReadout .ofTrust.yes{color:var(--green,#22c993)}
.cvdOrderFlowReadout .ofTrust.caution{color:var(--amber,#f2a541)}
.cvdOrderFlowReadout .ofTrust.no{color:var(--red,#ef5567)}
.cvdOrderFlowReadout .ofReadMetrics{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;
  padding-top:4px;border-top:1px solid rgba(43,52,68,.85);font-variant-numeric:tabular-nums}
.cvdOrderFlowReadout .ofReadMetric{display:flex;justify-content:space-between;gap:8px}
.cvdOrderFlowReadout .ofReadMetric span{color:var(--muted,#8794a8);font-size:9.5px}
.cvdOrderFlowReadout .ofReadMetric b{font-size:10px;font-weight:700;color:var(--text-primary,#e6ebf2)}
.cvdOrderFlowReadout .ofReadDetailsBtn{align-self:flex-start;margin-top:2px;padding:0;
  border:0;background:transparent;color:var(--muted,#8794a8);font-size:9.5px;
  font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.cvdOrderFlowReadout .ofReadDetailsBtn:hover{color:var(--text-secondary,#93a1b5)}
.cvdOrderFlowReadout .ofReadDetails{display:flex;flex-wrap:wrap;gap:4px;padding-top:4px}
.cvdOrderFlowReadout .ofReadDetails[hidden]{display:none!important}
.cvdOrderFlowReadout .ofChip{background:rgba(18,22,30,.82);border:1px solid var(--line,#2b3444);
  color:var(--text-secondary,#93a1b5);border-radius:4px;padding:1px 5px;white-space:nowrap;
  font-size:9px;font-variant-numeric:tabular-nums}
.cvdOrderFlowReadout .ofChip.buy{color:var(--green);border-color:rgba(34,201,147,.5)}
.cvdOrderFlowReadout .ofChip.sell{color:var(--red);border-color:rgba(239,85,103,.5)}
/* True CVD stale / interp banner + hist Δ tip — in-flow under #trueFlowChart,
   bottom-left of .trueFlowChartWrap (not over the series / histogram band). */
.cvdInterpBanner{position:static;z-index:9;display:flex;flex-direction:column;
  align-items:flex-start;gap:10px;justify-content:flex-start;
  pointer-events:none;font-size:10px;line-height:1.2;background:rgba(18,22,30,.82);
  border:1px solid var(--line,#2b3444);border-radius:4px;padding:2px 7px;
  margin:2px 8px 10px;max-width:calc(100% - 16px);width:fit-content}
.cvdInterpBanner[hidden]{display:none!important}
.cvdInterpBanner .ofInterpMain{font-weight:700;color:var(--text-primary,#e6ebf2)}
.cvdInterpBanner .ofInterpQual{color:var(--text-secondary,#93a1b5)}
/* metrics row (session Δ%, rolling 5m/15m net delta) + price-response chip — new line */
.cvdInterpBanner .ofInterpMetrics{color:var(--text-secondary,#93a1b5);
  font-size:9px;font-variant-numeric:tabular-nums}
.cvdInterpBanner .ofInterpPR{font-size:9px;font-weight:700;color:var(--muted,#8794a8)}
.cvdInterpBanner .ofInterpPR.buy{color:var(--green,#22c993)}
.cvdInterpBanner .ofInterpPR.sell{color:var(--red,#ef5567)}
.cvdInterpBanner .ofInterpDot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--muted,#8794a8)}
.cvdInterpBanner .ofInterpDot.buy{background:var(--green,#22c993)}
.cvdInterpBanner .ofInterpDot.sell{background:var(--red,#ef5567)}
/* Hist Δ / status readout — same bottom-left stack; banner margin-bottom supplies the gap. */
.cvdHistDeltaTip{position:static;z-index:12;pointer-events:none;display:flex;align-items:center;
  gap:5px;padding:2px 7px;margin:0 8px 4px;width:fit-content;
  border-radius:4px;background:rgba(14,18,26,.94);
  border:1px solid var(--line,#2b3444);font-size:10px;line-height:1.3;
  font-variant-numeric:tabular-nums;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.cvdHistDeltaTip[hidden]{display:none!important}
.cvdHistDeltaTipLbl{color:var(--muted,#8794a8);font-weight:600}
.cvdHistDeltaTipVal{font-weight:800;color:var(--text-primary,#e6ebf2)}
.cvdHistDeltaTipVal.up{color:var(--green,#22c993)}
.cvdHistDeltaTipVal.dn{color:var(--red,#ef5567)}
.cvdHistDeltaTipClip{font-size:9px;font-weight:700;color:var(--amber,#f2a541);letter-spacing:.02em}
/* Gold True CVD (MBP-1) last-value badge — right edge, tracks the line vertically.
   Matches the green proxy CVD axis-label pattern: colored bg, dark text, rounded. */
.cvdTrueLabel{position:absolute;z-index:10;pointer-events:none;transform:translateY(-50%);
  display:flex;align-items:center;gap:5px;background:#f5c400;color:#1a1d24;
  border-radius:3px;padding:1px 5px;font-size:10px;line-height:1.3;font-variant-numeric:tabular-nums;
  box-shadow:0 1px 3px rgba(0,0,0,.35);white-space:nowrap}
.cvdTrueLabel[hidden]{display:none!important}
.cvdTrueLabel .cvdTrueLabelName{font-weight:600;opacity:.9}
.cvdTrueLabel .cvdTrueLabelVal{font-weight:800}
.candleCountdown{pointer-events:none}

/* Price-scale pill (TradingView-style: + in chart, price on axis) */
.priceScaleHud{position:absolute;z-index:100;right:0;display:flex;align-items:stretch;
  transform:translateY(-50%);pointer-events:auto;height:28px;border-radius:4px;overflow:hidden;
  background:var(--highlight);border:1px solid var(--muted);box-shadow:0 2px 8px var(--mfs14)}
.priceScaleHud[hidden]{display:none!important}
.priceScalePlus{width:28px;height:28px;flex-shrink:0;border:none;border-right:1px solid var(--muted);
  border-radius:0;background:var(--surface-2);color:var(--mfc23);font-size:17px;font-weight:500;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  transition:background .12s,border-color .12s}
.priceScalePlus:hover,.priceScalePlus[aria-expanded="true"]{background:#00c27a;border-right-color:#00c27a;color:var(--mfc23)}
.priceScaleTag{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;
  color:var(--mfc23);font:12px/1 ui-monospace,Menlo,Consolas,monospace;font-weight:600;
  background:var(--highlight);white-space:nowrap;pointer-events:none;user-select:none}
.priceScaleMenu{position:absolute;z-index:110;min-width:280px;max-width:340px;
  background:var(--surface-3);border:1px solid var(--border);border-radius:6px;padding:4px 0;
  box-shadow:0 8px 24px var(--mfs5);font-size:13px}
.priceScaleMenu[hidden]{display:none!important}
.psMenuItem{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;
  color:var(--txt);text-align:left;padding:8px 12px;cursor:pointer;font-size:13px}
.psMenuItem[hidden]{display:none!important}
.psMenuItem:hover{background:var(--surface-2)}
.psMenuItem.psMenuDanger{color:var(--mfa19)}
.psMenuSep{border:0;border-top:1px solid var(--highlight);margin:4px 0}
.psIcon{width:18px;height:18px;flex-shrink:0;background:center/16px no-repeat;opacity:.9}
.psIconAlert{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Cpath stroke='%23d1d4dc' stroke-width='1.4' d='M9 2v2M4.5 14h9M6 14a3 3 0 016 0'/%3E%3Ccircle cx='9' cy='12' r='2.5' stroke='%23d1d4dc' stroke-width='1.4'/%3E%3Cpath stroke='%23d1d4dc' stroke-width='1.4' d='M3.5 6.5 4.8 14h8.4l1.3-7.5'/%3E%3C/svg%3E")}
.psIconLine{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Cpath stroke='%23d1d4dc' stroke-width='1.4' d='M2 9h14'/%3E%3Ccircle cx='4' cy='9' r='1.5' fill='%23d1d4dc'/%3E%3Ccircle cx='14' cy='9' r='1.5' fill='%23d1d4dc'/%3E%3C/svg%3E")}
.psIconRemove{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'%3E%3Cpath stroke='%23f23645' stroke-width='1.4' d='M4 9h10'/%3E%3C/svg%3E")}
.psLabel{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.psKey{font:11px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--muted);flex-shrink:0}

body.alert-dragging .chartWrap.mainWrap{cursor:ns-resize!important}
body.alert-dragging .chartWrap.mainWrap *{cursor:ns-resize!important}

.panel{width:var(--panel-w);flex:0 0 var(--panel-w);min-width:var(--panel-w);max-width:var(--panel-w);
  overflow-x:hidden;overflow-y:auto;padding:8px;
  background:var(--mfc46);scrollbar-width:none;-ms-overflow-style:none;
  scrollbar-color:var(--bg) var(--bg)}
.panel::-webkit-scrollbar{display:none;width:0;height:0}
.panel::-webkit-scrollbar-track{background:var(--bg)}
.panel::-webkit-scrollbar-thumb{background:var(--bg)}
.panelLeft{border-right:1px solid var(--mfc19)}
.panelRight{width:var(--right-panel-w);flex:0 0 var(--right-panel-w);min-width:var(--right-panel-w);
  max-width:var(--right-panel-w);border-left:none}
.panelCompact{opacity:.92}
.panelCompact .cardTitle{font-size:10px}
/* Keep sidebar copy inside the rail — wrap long values instead of clipping them */
.panel > .card{min-width:0;max-width:100%;overflow:hidden}
.panel .card :where(p,div,span,b,li,small,.small,.muted,.note,.v,.narrativeBriefingStory,.narrativeBriefingBlock,
  .narrativeSummary,.narrativeDrivers,.narrativeThemes,.narrativeMeta,.narrativeMoveBlock,
  .narrativeEventInterp,.atBody,.atDecisionV,.atUpdated,.atIntelConfHint,.fgHistEmpty,.fgFoot,.fgRating){
  overflow-wrap:anywhere;word-break:break-word;white-space:normal}
/* AI Trader P0 strip/risk — never inherit panel wrap; keep labels/prices intact */
.panel .card :where(
  .atDecisionLabel,.atStripV,.atLifePill,.atStatusBadge,.atRiskK,.atRiskV,.atChangedTime,
  .atFsmLifecycleK,.atFsmLifecyclePill
){
  overflow-wrap:normal;word-break:normal;white-space:nowrap}
.card{position:relative;background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);padding:12px;margin-bottom:8px;box-shadow:none}
.panel > .card:not(.thesisCard){background:linear-gradient(180deg,var(--mfc51) 0%,var(--mfc52) 100%);
  border-color:var(--mfc53);border-radius:12px;box-shadow:inset 0 1px 0 var(--mfc54)}
.cardInfoBtn{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border:0;border-radius:0;background:transparent;
  color:var(--muted);font-size:15px;line-height:1;cursor:help;padding:0;margin-left:6px;box-shadow:none;vertical-align:-2px}
.cardInfoBtn i{line-height:1}
.cardInfoBtn:hover,.cardInfoBtn:focus-visible{background:transparent;outline:none;color:var(--green)}
.cardInfoTooltip{position:fixed;z-index:4000;width:220px;padding:9px 10px;border:1px solid rgba(148,163,184,.2);
  border-radius:8px;background:#071017;color:#d8e2ec;font-size:11px;font-weight:600;line-height:1.35;text-align:left;
  letter-spacing:0;box-shadow:0 14px 34px rgba(0,0,0,.45);pointer-events:none}
.cardInfoTooltip[hidden]{display:none!important}
.thesisCard{padding:12px;background:linear-gradient(180deg,var(--mfc51) 0%,var(--mfc52) 100%);
  border-color:var(--mfc53);border-radius:12px;box-shadow:inset 0 1px 0 var(--mfc54),0 14px 34px var(--mfs15)}
.thesisCard .cardTitle{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;
  margin-bottom:10px;font-size:10px;letter-spacing:.08em;color:var(--mfc55)}
.cardTitleText{display:inline-flex;align-items:center;gap:6px}
.cardTitleText .cardInfoBtn{margin-left:0}
.thesisCard .verdict{font-size:26px;line-height:1.1;margin-bottom:14px;letter-spacing:.02em}
.cardTitle{font-size:10px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mfc56);margin-bottom:10px}
.verdict{font-size:26px;font-weight:800;letter-spacing:.45px;margin-bottom:10px}
.verdict.buy{color:var(--green)} .verdict.sell{color:var(--red)}
.verdict.none{color:var(--muted)} .verdict.wait{color:var(--amber)}
.edgeBar{height:10px;border-radius:999px;background:var(--red);overflow:hidden;
  margin-bottom:8px;box-shadow:inset 0 0 0 1px var(--mfc25)}
#edgeFill{height:100%;width:50%;background:var(--green);transition:width .4s}
#edgeFill.none{background:var(--muted);opacity:.35}
.edgeNums{display:flex;justify-content:space-between;font-size:13px;
  margin-bottom:12px}
.edgeNums .buy{color:var(--green)} .edgeNums .sell{color:var(--red)}
.edgeNums b{font-size:16px}
.note{font-size:12px;color:var(--muted);line-height:1.55}
.note.disclaimer{margin-top:8px;color:var(--mfc57)}
.kv{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:12px;
  margin-top:8px}
.kv .k{color:var(--muted)}
.kv .v{font-family:ui-monospace,Menlo,Consolas,monospace;text-align:right}
.v.pos{color:var(--green)} .v.neg{color:var(--red)}

@media (max-width:1200px){
  :root{--panel-w:230px;--right-panel-w:238px}
}
@media (max-width:767px),(max-height:520px){
  body{overflow:auto;height:auto}
  .appRail{display:none}
  .topbar{margin:0;border-radius:0;border-left:0;border-right:0;border-top:0}
  .layout{flex-direction:column}
  .panel{width:100%;flex:0 0 auto;border-left:none;border-right:none;
    border-top:1px solid var(--border);max-height:none}
  .panelRight{width:100%;flex-basis:auto}
  .layout{height:auto;margin:0;border:0;border-radius:0;overflow:visible}
  .charts{border-left:none;border-right:none}
  .panelReveal,.panelColHideBtn{display:none!important}
  .layout.panelLeftCollapsed .panelLeft,
  .layout.panelRightCollapsed .panelRight{
    width:100%!important;min-width:0!important;max-width:none!important;
    flex:0 0 auto!important;padding:8px!important;opacity:1;pointer-events:auto}
  .topbar{grid-template-columns:1fr 1fr;grid-template-areas:"left center" "right right";row-gap:8px}
  .topbarLeft{grid-area:left}
  .topbarCenter{grid-area:center;justify-self:end}
  .topbarRight{grid-area:right;justify-self:stretch;justify-content:flex-end}
  .chart.main{min-height:340px}
}

/* MoneyFlow additions */
.macroBanner{background:var(--mfa36);color:var(--amber);
  border-bottom:1px solid var(--border);padding:5px 14px;font-size:12px}
#factorsCard{display:none!important}
#edgeDisclaimerCard{display:none!important}
.lockTag{float:none;font-size:10px;color:var(--mfc58);font-weight:500;
  text-transform:none;letter-spacing:0}
.countdown{font-size:30px;font-weight:700;color:var(--amber);
  font-family:ui-monospace,Menlo,Consolas,monospace;margin:4px 0 10px}
.statusRow{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:11px;
  color:var(--mfc59);margin:0 0 10px;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.statusRow b{font-size:11px;min-width:0;text-align:right}
.statusRow b.SUCCESS{color:var(--green)} .statusRow b.SUCCESS_THEN_INVALIDATED{color:var(--amber)}
.statusRow b.LOCKED{color:var(--blue,var(--mfc120))} .statusRow b.INTACT{color:var(--green)}
.statusRow b.PRESSURED{color:var(--amber)} .statusRow b.INVALIDATED{color:var(--red)}
.evi{display:flex;flex-direction:column;gap:5px;font-size:12px}
.evi .row{display:flex;justify-content:space-between;gap:10px}
.evi .row span:last-child{font-family:ui-monospace,Menlo,Consolas,monospace}
.evi .pos{color:var(--green)} .evi .neg{color:var(--red)}
.ladder{display:flex;flex-direction:column;gap:3px;font-size:12px}
.ladder .row{display:grid;grid-template-columns:1fr auto auto;gap:10px;
  padding:2px 0;border-bottom:1px solid var(--surface-2)}
.ladder .row span{font-family:ui-monospace,Menlo,Consolas,monospace}
.ladder .row.here{color:var(--blue);font-weight:600;border-bottom:1px dashed var(--blue)}
.scoreDots{display:flex;flex-wrap:nowrap;gap:2px;align-items:center;flex:0 1 auto}
.scoreStats{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto;justify-content:flex-end;text-align:right}
.execStats{font-size:11px;color:var(--muted);line-height:1.5;padding-top:8px;border-top:1px solid var(--border)}
.scoreMore{background:none;border:1px solid var(--highlight);color:var(--blue);border-radius:4px;
  padding:2px 8px;font-size:10px;cursor:pointer;flex-shrink:0}
.scoreMore:hover{background:var(--surface-2)}
.dot{width:11px;height:11px;border-radius:2px;display:inline-flex;
  align-items:center;justify-content:center;font-size:7px;font-weight:700;flex-shrink:0}
.dot.hit{background:rgba(0,194,122,.25);color:var(--green)}
.dot.miss{background:var(--mfa37);color:var(--red)}
.dot.skip{background:var(--surface-2);color:var(--muted)}
.scoreModal{position:fixed;inset:0;background:var(--mfs16);z-index:1000;
  display:flex;align-items:center;justify-content:center;padding:24px}
.scoreModal[hidden]{display:none}
.scoreModalPanel{background:var(--panel);border:1px solid var(--highlight);border-radius:8px;
  width:min(720px,96vw);max-height:min(80vh,640px);display:flex;flex-direction:column}
.scoreModalHead{display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid var(--highlight);font-weight:600}
.scoreModalClose{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer}
.scoreModalGrid{overflow:auto;padding:10px 14px 14px;display:flex;flex-direction:column;gap:4px;
  scrollbar-width:none;-ms-overflow-style:none;scrollbar-color:var(--bg) var(--bg)}
.scoreModalGrid::-webkit-scrollbar{display:none}
.scoreModalRow{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;
  font-size:11px;padding:3px 0;border-bottom:1px solid var(--surface-2)}
.scoreModalRow span{font-family:ui-monospace,Menlo,Consolas,monospace}

.weightTag{float:right;font-size:10px;font-weight:500;color:var(--amber);
  text-transform:none;letter-spacing:0}
.biasCard{border-color:var(--border)}
.biasCard .miniEdge{height:6px;border-radius:3px;background:var(--red);
  overflow:hidden;margin:8px 0 6px}
.biasCard .miniEdge div{height:100%;background:var(--green)}
.biasNums{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}
.biasNums .buy{color:var(--green)} .biasNums .sell{color:var(--red)}
.biasHint{font-size:11px;color:var(--muted);line-height:1.45;margin-bottom:8px}

/* Narrative Intelligence card */
.narrativeToggleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:2px}
.narrativeToggle{display:flex;gap:6px}
.narrativeToggleBtn{
  background:var(--surface-2);
  border:1px solid var(--border);
  color:var(--muted);
  border-radius:6px;
  font-size:10px;
  padding:2px 10px;
  cursor:pointer;
}
.narrativeToggleBtn.active{
  border-color:var(--highlight);
  color:var(--txt);
  background:linear-gradient(180deg,var(--highlight) 0%,var(--mfc60) 100%);
}
.narrativeBriefing{margin:10px 0 12px;padding:16px;border-radius:12px;border:1px solid var(--border);
  background:var(--card);box-shadow:none;min-width:0;max-width:100%;box-sizing:border-box}
.narrativeBriefingHead{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:10px}
.narrativeBriefingTitle{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--mfc178);line-height:1.2}
.narrativeBriefingBadge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;
  font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:var(--surface-2);
  border:1px solid rgba(74,96,122,.45)}
.narrativeBriefingBadge.mood-bull{color:var(--green);background:rgba(0,194,122,.1);border-color:rgba(0,194,122,.28)}
.narrativeBriefingBadge.mood-bear{color:var(--red);background:rgba(255,92,92,.1);border-color:rgba(255,92,92,.28)}
.narrativeBriefingBadge.mood-neutral{color:var(--amber);background:rgba(98,67,20,.18);border-color:rgba(234,179,8,.22)}
.narrativeBriefingStory{font-size:13px;line-height:1.42;color:var(--mfc120);font-weight:750;margin-bottom:11px}
.narrativeBriefingBlock{padding:9px 0;border-top:1px solid rgba(74,96,122,.45);font-size:11px;line-height:1.45}
.narrativeBriefingBlock:last-child{padding-bottom:0}
.narrativeBriefingBlock span{display:block;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mfc178);margin-bottom:5px}
.narrativeBriefingBlock .small{font-size:11px;line-height:1.5;color:var(--mfc120);font-weight:650}
.narrativeMeta{min-height:14px}
.narrativeGrid{display:flex;flex-direction:column;gap:4px;margin-top:8px;min-width:0}
.narrativeRow{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.35;min-width:0}
.narrativeRow .k{color:var(--muted);font-weight:500;flex:0 1 42%;min-width:0}
.narrativeRow .v{color:var(--txt);text-align:right;flex:1 1 58%;min-width:0}
.narrativeSectionTitle{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:10px 0 6px}
.narrativeThemes{display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.4;min-width:0}
.narrativeDrivers{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.4;min-width:0}
.narrativeRowBlock{margin-top:10px}
.narrativeSummary{font-size:12px;line-height:1.45;color:var(--txt);min-width:0}
.narrativeMoveTitle{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);padding-top:9px;margin:10px 0 6px;border-top:1px solid var(--surface-2)}
.narrativeMoveExplainer{display:flex;flex-direction:column;gap:7px;margin-bottom:8px;min-width:0}
.narrativeMoveFallback{font-size:12px;line-height:1.45;padding:2px 0 4px}
.narrativeMoveRow{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.35;min-width:0}
.narrativeMoveRow span,.narrativeMoveBlock span{color:var(--muted);font-weight:500}
.narrativeMoveRow b{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--txt);text-align:right;min-width:0;flex:1}
.narrativeMoveBlock{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.4;min-width:0}
.narrativeMoveBlock b{color:var(--txt);font-weight:600;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}
.moveMarketGrid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.moveMarket{display:flex;justify-content:space-between;gap:6px;padding:4px 6px;border-radius:5px;
  background:rgba(255,255,255,.025);font-size:11px;line-height:1.25}
.moveMarket span{color:var(--muted);font-weight:700}
.moveMarket b{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;color:var(--txt);text-align:right}
.moveMarket.up b{color:var(--green)}
.moveMarket.down b{color:var(--red)}
.moveMarket.flat b{color:var(--muted)}
.narrativeEventsTitle{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);padding-top:8px;margin:10px 0 6px;border-top:1px solid var(--surface-2)}
.narrativeEvents{display:flex;flex-direction:column;gap:6px;margin-bottom:2px}
.narrativeEventRow{padding:6px 7px;border:1px solid var(--surface-2);border-radius:6px;background:var(--mfc61)}
.narrativeEventTop{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;
  font-weight:700;line-height:1.25}
.narrativeEventTop b{font-size:9px;text-transform:uppercase;letter-spacing:.05em;text-align:right}
.narrativeEventMeta{font-size:10px;color:var(--muted);line-height:1.35;margin-top:3px}
.narrativeEventInterp{font-size:11px;color:var(--txt);line-height:1.35;margin-top:3px}
.narrativeLoading{opacity:.85}
.narrativeStale .narrativeMeta{color:var(--muted,#8b949e)}
.narrativeUnavailable .narrativeSummary{color:var(--amber)}
.narrativeUnavailable .narrativeMeta{color:var(--red)}
.narrativeValue{font-weight:700}
.sentiment-bull{color:var(--green)}
.sentiment-bear{color:var(--red)}
.sentiment-neutral{color:var(--muted)}
.narrativeEquity{font-size:12px;line-height:1.45;color:var(--txt);font-weight:600}
.mood-bull{color:var(--green)}
.mood-bear{color:var(--red)}
.mood-neutral{color:var(--muted)}
.mood-neutral{color:var(--muted)}
.vol-low{color:var(--muted)}
.vol-med{color:var(--amber)}
.vol-high{color:var(--txt)}
.mood-riskoff{color:var(--red)}
.mood-riskon{color:var(--green)}
.eventList{display:flex;flex-direction:column;gap:6px;font-size:12px}
.eventRow{padding:6px 8px;border-radius:4px;background:var(--surface-2);
  border-left:3px solid var(--muted)}
.eventRow.high{border-left-color:var(--red)}
.eventRow.medium{border-left-color:var(--amber)}
.eventRow.low{border-left-color:var(--muted)}
.eventRow .evName{font-weight:500;margin-bottom:2px}
.eventRow .evMeta{font-size:11px;color:var(--muted)}
.macroRow{display:flex;justify-content:space-between;align-items:center;
  padding:4px 0;border-bottom:1px solid var(--surface-2);font-size:12px}
.macroRow:last-child{border-bottom:none}
.macroRow .tag{font-size:10px;padding:1px 6px;border-radius:3px}
.macroRow .tag.up{background:var(--mfa22);color:var(--red)}
.macroRow .tag.down{background:rgba(0,194,122,.15);color:var(--green)}
.macroRow .tag.flat{background:var(--surface-2);color:var(--muted)}
.thesisWhy{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--mfc63);min-width:0;overflow-wrap:anywhere;word-break:break-word}
.thesisWhy.conflict{border-top-color:var(--mfa38)}
.whyCaution{display:flex;align-items:flex-start;gap:7px;margin-bottom:7px;
  padding:7px 8px;border-radius:4px;
  background:var(--mfa36);border:1px solid var(--mfa40);
  font-size:10px;line-height:1.4;color:var(--mfa41)}
.whyCautionIcon{flex-shrink:0;font-size:11px;line-height:1.2}
.whyCaution b{color:var(--mfa42);font-weight:600}
.thesisWhyTitle{font-size:10px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mfc65);margin-bottom:8px}
.whyRow{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.35;margin-bottom:6px;color:var(--mfc66);min-width:0;overflow-wrap:anywhere;word-break:break-word}
.whyRow:last-child{margin-bottom:0}
.whyRow .dot{width:6px;height:6px;border-radius:50%;margin-top:5px;flex-shrink:0}
.whyRow .dot.tech{background:var(--green)}
.whyRow .dot.macro{background:var(--amber)}
.whyRow .dot.news{background:var(--purple)}
.whyRow .dot.final{background:var(--txt)}
.whyRow .dot.status{background:var(--amber)}
.whyRow b{color:var(--mfc67);font-weight:800}
.whyRow em{font-style:normal;color:var(--mfc65);font-size:10px;margin-left:4px}
.whyRow .pos{color:var(--green)} .whyRow .neg{color:var(--red)}
.whyFinal{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);
  font-size:12px;color:var(--txt)}
.confidenceInline{margin-top:10px;padding-top:10px;border-top:1px solid var(--mfc73)}
.confidenceInlineTitle{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:var(--mfc65);margin-bottom:9px}
.confidenceInlineRow{display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:11px;color:var(--mfc70);margin-bottom:7px}
.confidenceInlineRow span{color:var(--mfc71)}
.confidenceInlineRow b{font-size:12px;color:var(--mfc72)}
.confidenceInlineFinal{padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--mfc73)}
.confidenceInlineFinal span{color:var(--mfc74);max-width:96px;line-height:1.25}
.confidenceInlineFinal b{display:flex;align-items:center;gap:4px;color:var(--amber);font-weight:900;
  min-width:0;white-space:normal;justify-content:flex-end;text-align:right}
.confidenceInlineFinal b.good{color:var(--green)}
.confidenceInlineFinal b.warn{color:var(--amber)}
.confidenceInlineDetails{display:grid;gap:7px;margin:0 0 10px;padding-top:1px}
.confidenceInlineDetails[hidden]{display:none!important}
.confidenceInlineDetail{display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:12px;color:var(--mfc65)}
.confidenceInlineDetail b{font-size:12px;color:var(--mfc70)}
.confidenceInlineDetail.good b{color:var(--green)}
.confidenceInlineDetail.warn b{color:var(--amber)}
.confidenceInlineBtn{height:auto;padding:0;border:0;background:transparent;color:var(--mfc76);
  font:inherit;font-size:11px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.confidenceInlineBtn:hover{color:var(--mfc72)}
.staleLockCard{padding:10px 12px}
.staleLockCard .whyCaution{margin-bottom:0}
.gapContextCard{margin-top:0;padding:10px 12px;border-color:var(--border);background:var(--highlight);cursor:pointer}
.gapContextCardV2.insightCard{padding:14px 12px;background:var(--surface)}
.gapContextCard.gapHighlighted{border-color:var(--mfa43);box-shadow:0 0 0 1px var(--mfa40)}
.gapContextCard:focus-visible{outline:2px solid var(--mfa43);outline-offset:2px}
.gapContextTitle{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}
.gapSection{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--mfc78)}
.gapSection:last-of-type{border-bottom:none;margin-bottom:6px;padding-bottom:0}
.gapSectionTitle{font-size:11px;font-weight:600;color:var(--mfc79);margin-bottom:4px}
.gapSectionSub{font-size:10px;margin-bottom:4px}
.gapContextLine{font-size:12px;line-height:1.45}
.gapContextMeta{font-size:11px;margin-top:3px}
.gapContextFoot{margin:6px 0 0;font-size:11px}
.gapContextLine.conflicted{color:var(--amber,var(--mfa44))}
.gapContextLine.gapRisk.low{color:var(--green)}
.gapContextLine.gapRisk.medium{color:var(--amber,var(--mfa44))}
.gapContextLine.gapRisk.high{color:var(--red)}
.thesisConflictFlags{display:flex;flex-wrap:wrap;gap:5px;margin:-2px 0 8px}
.thesisConflictFlag{font-size:10px;font-weight:600;color:var(--amber,var(--mfa44));letter-spacing:.02em}
.gapConflictNote{margin-top:6px}
#gapTooltip{position:fixed;z-index:120;max-width:260px;padding:10px 12px;
  font-size:11px;line-height:1.45;color:var(--mfc79);pointer-events:none;box-shadow:0 8px 24px var(--mfs5)}
#gapTooltip .gapTipTitle{font-weight:600;margin-bottom:6px;color:var(--mfc80)}
#gapTooltip .gapTipSep{margin:6px 0 4px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
#gapTooltip .k{color:var(--muted);margin-right:6px}

.factorGrid{display:flex;flex-direction:column;gap:4px;font-size:12px}
.factorRow{display:grid;grid-template-columns:72px 1fr auto auto;gap:8px;
  align-items:center;padding:5px 6px;border-radius:4px;background:var(--surface-2)}
.factorRow .fname{color:var(--muted);font-weight:600;font-size:11px}
.factorRow .fdetail{color:var(--muted);font-size:10px;grid-column:2 / -1;margin-top:2px}
.factorRow.bull .fside{color:var(--green)}
.factorRow.bear .fside{color:var(--red)}
.factorRow.flat .fside{color:var(--muted)}
.factorTally{margin-top:8px;font-size:11px;color:var(--muted)}
.cvdStrip{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.cvdStripTitle{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.06em;
  text-transform:uppercase;margin-bottom:6px}
.cvdHint{opacity:.85;font-style:italic}
.strengthBar{display:flex;gap:2px}
.strengthBar i{display:block;width:6px;height:10px;border-radius:1px;background:var(--surface-2)}
.strengthBar i.on{background:var(--blue)}
.strengthBar.bull i.on{background:var(--green)}
.strengthBar.bear i.on{background:var(--red)}

.insightCard{padding:16px 14px}
.insightHead{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.insightLabel{font-size:11px;font-weight:600;letter-spacing:.7px;
  text-transform:uppercase;color:var(--muted)}
.insightIcon{width:22px;height:22px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.healthIcon{background:rgba(0,194,122,.18);color:var(--green);border:1px solid rgba(0,194,122,.35)}
.pathIcon{background:var(--mfa36);color:var(--amber);border:1px solid var(--mfa45);
  font-size:13px}
.insightStatus{font-size:22px;font-weight:700;letter-spacing:.4px;margin-bottom:2px}
.insightStatus.ACTIVE{color:var(--green)}
.insightStatus.PRESSURED{color:var(--amber)}
.insightStatus.INVALIDATED{color:var(--red)}
.insightStatus.STANDBY{color:var(--muted)}
.insightStatus.FORMING{color:var(--mfa46)}
.insightScore{font-size:28px;font-weight:700;margin-bottom:10px;font-family:ui-monospace,Menlo,Consolas,monospace}
.healthBar{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden;margin-bottom:12px}
#healthFill{height:100%;width:0;background:var(--green);transition:width .35s}
#healthFill.warn{background:var(--amber)}
#healthFill.bad{background:var(--red)}
.insightReason{font-size:12px;line-height:1.5;margin-bottom:10px}
.insightReason .muted{color:var(--muted)}
.insightFooter{font-size:11px;color:var(--mfc57);padding-top:10px;border-top:1px solid var(--border)}
.pathTitle{font-size:17px;font-weight:700;line-height:1.35;letter-spacing:.2px;margin-bottom:6px}
.pathTitle.bull{color:var(--green)}
.pathTitle.bear{color:var(--red)}
.pathTitle.neutral{color:var(--muted)}
.pathSub{font-size:11px;color:var(--muted);line-height:1.45}

.scenarioCardV2{padding:14px 12px;border-color:var(--border);background:var(--card);border-radius:var(--radius)}
.scenarioHead{display:flex;align-items:center;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.scenarioHeadTitle{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);flex:1}
.scenarioStatusBadge{font-size:9px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;
  color:var(--red);background:var(--mfa47);border:1px solid var(--mfa48);
  border-radius:4px;padding:3px 6px;flex-shrink:0}
.scenarioStatusBadge[hidden]{display:none!important}
.scenarioActualOutcome{background:var(--mfa49);border:1px solid var(--mfa37);
  border-radius:6px;padding:10px;margin-bottom:12px}
.scenarioActualOutcome[hidden]{display:none!important}
.scenarioActualTitle{font-size:10px;font-weight:600;letter-spacing:.55px;text-transform:uppercase;
  color:var(--red);margin-bottom:8px}
.scenarioActualRow{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:4px}
.scenarioActualRow:last-child{margin-bottom:0}
.scenarioActualKey{color:var(--muted)}
.scenarioActualVal{font-weight:600;text-align:right;color:var(--txt)}
.scenarioActualVal.fail{color:var(--red)}
.scenarioActualVal.pos{color:var(--mfa46)}
.scenarioForecastBody.archived{opacity:.72}
.scenarioForecastBody.archived .scenarioPathLabel::after{content:" · archived";color:var(--muted);
  font-weight:400;text-transform:none;letter-spacing:0}
.scenarioConfidenceRing.disabled .scenarioConfProgress{stroke:var(--mfc81);filter:none;opacity:.45}
.scenarioConfidenceRing.disabled .scenarioConfTrack{stroke:var(--mfc82)}
.scenarioConfidenceRing.disabled .scenarioConfidenceVal{color:var(--muted)}
.scenarioLevelRow.triggered .scenarioLevelIcon{background:var(--mfa50);color:var(--red);
  border-color:var(--mfa51)}
.scenarioLevelRow.triggered .scenarioLevelTitle{color:var(--red)}
.scenarioLevelRow.skipped .scenarioLevelIcon{background:var(--mfc83);color:var(--muted);
  border-color:var(--mfc84)}
.scenarioLevelRow.skipped .scenarioLevelTitle{color:var(--muted)}
.scenarioLevelStatus{font-size:9px;font-weight:700;letter-spacing:.45px;text-transform:uppercase;
  margin-left:4px;color:var(--red)}
.scenarioLevelRow.skipped .scenarioLevelStatus{color:var(--muted)}
.scenarioInfoBtn{border:none;background:transparent;color:var(--muted);font-size:13px;line-height:1;
  cursor:pointer;padding:0 2px;border-radius:50%;flex-shrink:0}
.scenarioInfoBtn:hover{color:var(--txt)}
.scenarioHero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.scenarioHeroText{flex:1;min-width:0}
.scenarioPathLabel{text-transform:uppercase;letter-spacing:.55px;margin-bottom:6px;font-size:10px}
.scenarioPrimary{font-size:17px;font-weight:700;line-height:1.25;letter-spacing:.35px}
.scenarioPrimary.pathPullback{color:var(--purple)}
.scenarioPrimary.pathDirect{color:var(--green)}
.scenarioPrimary.pathRotational{color:var(--amber)}
.scenarioPrimary.pathFailure{color:var(--red)}
.scenarioConfWrap{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.scenarioConfLabel{font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.scenarioConfidenceRing{width:64px;height:64px;flex-shrink:0;position:relative;
  display:flex;align-items:center;justify-content:center}
.scenarioConfSvg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.scenarioConfTrack{fill:none;stroke:var(--mfc85);stroke-width:5}
.scenarioConfProgress{fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;
  filter:url(#scenarioConfGlow);stroke-dasharray:163.36;stroke-dashoffset:163.36;
  transition:stroke-dashoffset .4s ease}
.scenarioConfidenceVal{position:relative;z-index:1;font-size:15px;font-weight:700;color:var(--txt);
  letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.scenarioSection{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--surface-2)}
.scenarioLevelsSection{border-bottom:none;margin-bottom:8px;padding-bottom:0}
.scenarioPathHead{display:flex;justify-content:space-between;align-items:center;font-size:10px;
  font-weight:600;letter-spacing:.65px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.scenarioRankList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.scenarioRankItem{display:grid;grid-template-columns:22px 1fr 72px 36px;gap:8px;align-items:center;font-size:11px}
.scenarioRankBadge{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;
  justify-content:center;font-size:10px;font-weight:700;color:var(--mfc23);font-family:ui-monospace,Menlo,Consolas,monospace}
.scenarioRankItem.pathPullback .scenarioRankBadge{background:var(--purple)}
.scenarioRankItem.pathDirect .scenarioRankBadge{background:var(--green)}
.scenarioRankItem.pathRotational .scenarioRankBadge{background:var(--amber);color:var(--card)}
.scenarioRankItem.pathFailure .scenarioRankBadge{background:var(--red)}
.scenarioRankName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scenarioRankBar{height:4px;border-radius:2px;background:var(--surface-2);overflow:hidden}
.scenarioRankBar span{display:block;height:100%;border-radius:2px}
.scenarioRankItem.pathPullback .scenarioRankBar span{background:var(--purple)}
.scenarioRankItem.pathDirect .scenarioRankBar span{background:var(--green)}
.scenarioRankItem.pathRotational .scenarioRankBar span{background:var(--amber)}
.scenarioRankItem.pathFailure .scenarioRankBar span{background:var(--red)}
.scenarioRankPct{font-family:ui-monospace,Menlo,Consolas,monospace;text-align:right;font-weight:600}
.scenarioSparkSubtitle{margin-bottom:8px;line-height:1.4}
.scenarioSparkGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.scenarioSparkCard{background:var(--highlight);border:1px solid var(--border);border-radius:8px;padding:8px 6px 6px;
  display:flex;flex-direction:column;align-items:stretch;min-width:0}
.scenarioSparkTitle{font-size:9px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;
  color:var(--muted);text-align:center;margin-bottom:4px;white-space:nowrap}
.scenarioSparkChart{height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.scenarioSparkChart svg{display:block;width:100%;height:36px}
.scenarioSparkVal{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;font-weight:700;
  text-align:right;padding-right:2px}
.scenarioSparkVal.pos{color:var(--green)}
.scenarioSparkVal.neg{color:var(--red)}
.scenarioStatsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:14px;
  padding-bottom:12px;border-bottom:1px solid var(--surface-2)}
.scenarioStatCell{text-align:center;padding:0 4px;border-right:1px solid var(--surface-2)}
.scenarioStatCell:last-child{border-right:none}
.scenarioStatCellLabel{font-size:9px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;
  color:var(--muted);margin-bottom:4px;line-height:1.2}
.scenarioStatCellValue{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;font-weight:700}
.scenarioStatCellValue.pos{color:var(--green)}
.scenarioStatCellValue.neg{color:var(--red)}
.scenarioRangeRow{font-size:10px;text-align:center;margin:-6px 0 12px;padding-bottom:12px;
  border-bottom:1px solid var(--surface-2);line-height:1.4}
.scenarioRangeRow:empty{display:none}
.scenarioExplain{list-style:none;margin:6px 0 0;padding:0;font-size:10px;color:var(--muted);line-height:1.45}
.scenarioExplain:empty{display:none}
.scenarioExplain li{margin-bottom:3px;padding-left:10px;position:relative}
.scenarioExplain li::before{content:"·";position:absolute;left:0;color:var(--muted)}
.scenarioNote{font-size:10px;margin:0;padding-top:8px;border-top:1px solid var(--border);line-height:1.45;color:var(--muted)}
.scenarioLevelRow{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.45;margin-bottom:8px}
.scenarioLevelsSection > div:empty{display:none}
.scenarioLevelIcon{width:16px;height:16px;border-radius:50%;flex-shrink:0;display:inline-flex;
  align-items:center;justify-content:center;font-size:9px;font-weight:700;margin-top:1px}
.scenarioLevelRow.confirm .scenarioLevelIcon{background:rgba(0,194,122,.2);color:var(--green);
  border:1px solid rgba(0,194,122,.4)}
.scenarioLevelRow.invalidate .scenarioLevelIcon{background:var(--mfa22);color:var(--red);
  border:1px solid var(--mfa48)}
.scenarioLevelBody{flex:1;min-width:0}
.scenarioLevelTitle{font-size:10px;font-weight:600;letter-spacing:.45px;text-transform:uppercase;margin-bottom:2px;color:var(--txt)}
.scenarioLevelText{color:var(--muted);font-size:11px;line-height:1.4}

.execCard{border-color:var(--border);background:var(--card)}
.execSignal{font-size:15px;font-weight:700;letter-spacing:.3px;margin-bottom:10px}
.execSignal.active{color:var(--red)}
.execSignal.active.long{color:var(--green)}
.execSignal.active.win{color:var(--green)}
.execSignal.active.loss{color:var(--red)}
.execSignal.inactive{color:var(--muted)}
.execMode{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.4px}
.execGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;font-size:11px;margin-bottom:10px}
.execGrid .k{color:var(--muted)}
.execGrid .v{font-family:ui-monospace,Menlo,Consolas,monospace;text-align:right}
.execStats{font-size:11px;color:var(--muted);line-height:1.5;padding-top:8px;border-top:1px solid var(--border)}
.execDebug{margin-top:8px;line-height:1.4}
.execJump{margin-top:10px;width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--mfc88);
  background:var(--mfc89);color:var(--mfa52);font-size:11px;font-weight:600;cursor:pointer}
.execJump:hover{background:var(--mfc90)}

/* Chart right-click context menu */
.chartContextMenu{position:fixed;z-index:200;min-width:220px;
  background:var(--surface-3);border:1px solid var(--border);border-radius:6px;padding:4px 0;
  box-shadow:0 8px 24px var(--mfs16);font-size:13px}
.chartContextMenu[hidden]{display:none!important}
.ctxItem{display:block;width:100%;border:0;background:transparent;color:var(--txt);
  text-align:left;padding:8px 14px;cursor:pointer;font-size:13px;font-family:inherit}
.ctxItem[hidden]{display:none!important}
.ctxItem:hover{background:var(--surface-2)}
.ctxItem:disabled{opacity:.45;cursor:not-allowed}
.ctxItem.ctxDanger{color:var(--mfa19)}
.ctxItem.ctxDanger:hover{background:var(--mfa47)}
.ctxSep{border:0;border-top:1px solid var(--highlight);margin:4px 0}

/* Drawing settings popover (right-click on a shape) */
.drawSettingsMenu{position:fixed;z-index:210;width:200px;
  background:var(--surface-3);border:1px solid var(--border);border-radius:8px;padding:12px;
  box-shadow:0 8px 24px var(--mfs16);font-size:13px}
.drawSettingsMenu[hidden]{display:none!important}
.dsmHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.dsmTitle{font-weight:600;color:var(--txt);font-size:13px}
.dsmClose{background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;padding:2px 4px;line-height:1}
.dsmClose:hover{color:var(--txt)}
.dsmColors{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.dsmColor{width:28px;height:28px;border-radius:6px;border:2px solid var(--mfc38);cursor:pointer;padding:0}
.dsmColor:hover{opacity:.9}
.dsmColor.active{border-color:#00c27a;box-shadow:0 0 0 1px #00c27a}
.dsmWidthRow{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.dsmWidthLabel{color:var(--muted);font-size:12px;flex-shrink:0}
.dsmWidths{display:flex;gap:6px;flex:1}
.dsmWidthBtn{flex:1;height:28px;border-radius:6px;border:1px solid var(--highlight);background:var(--card);
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.dsmWidthBtn:hover{border-color:var(--border);background:var(--surface-2)}
.dsmWidthBtn.active{border-color:#00c27a;background:rgba(0,194,122,.12)}
.dsmWidthBtn svg{display:block}
.dsmHeightRow{margin-bottom:12px}
.dsmHeightHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.dsmHeightVal{color:#00c27a;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.dsmHeightSlider{width:100%;height:4px;accent-color:#00c27a;cursor:pointer}
.dsmDelete{width:100%;padding:8px;border-radius:6px;border:1px solid var(--mfa51);
  background:transparent;color:var(--mfa19);font-size:13px;font-family:inherit;cursor:pointer}
.dsmDelete:hover{background:var(--mfa47)}

/* Drawing toolbar — left column beside chart (TradingView-style) */
.drawToolbar{position:relative;flex:0 0 42px;width:42px;align-self:stretch;z-index:20;
  display:flex;flex-direction:column;background:var(--chart-toolbar-bg,var(--mfc91));border-right:1px solid var(--mfc92);
  pointer-events:auto;min-height:0}
.drawToolbarMain{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:2px;
  overflow:hidden;min-height:0}
.drawToolbarFoot{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:2px;
  border-top:1px solid var(--surface-2)}
.drawToolSep{width:28px;height:1px;background:var(--highlight);margin:4px 0;flex-shrink:0}
.drawToolBtn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;
  border:none;border-radius:7px;background:transparent;color:var(--txt);opacity:.78;cursor:pointer;padding:0;
  flex-shrink:0}
.drawToolBtn[hidden],.drawToolSep[hidden]{display:none!important}
.drawToolBtn:hover{opacity:1}
.drawToolBtn svg{display:block;margin:auto}
.drawToolBtn i{font-size:18px;line-height:1;display:block}
.drawToolBtn:hover{color:var(--txt);background:var(--surface-2)}
.drawToolBtn.active{color:var(--blue);background:rgba(0,194,122,.15)}
.drawToolBtn.active[data-tool="magnet"]{color:var(--mfa43);background:var(--mfa36)}
.drawMoreBtn[aria-expanded="true"]{color:var(--blue);background:rgba(0,194,122,.15)}
.drawToolBtn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}

/* Auth and profile pages */
.authBody{min-height:100vh;height:auto;overflow:auto;background:
  radial-gradient(circle at 50% 0%,rgba(0,194,122,.13),transparent 30%),
  radial-gradient(circle at 50% 100%,rgba(94,184,255,.08),transparent 34%),
  linear-gradient(180deg,#03070b 0%,#020407 100%);color:var(--txt)}
.authShell{min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:42px clamp(18px,5vw,72px)}
.authBrandPanel{min-height:520px;border:1px solid var(--mfc93);border-radius:24px;padding:34px;
  display:flex;flex-direction:column;justify-content:space-between;background:
  linear-gradient(180deg,var(--mfc94),var(--mfc95));
  box-shadow:0 28px 90px var(--mfs12),inset 0 1px 0 var(--mfc15)}
.authLogo{display:inline-flex;align-items:center;gap:12px;color:var(--txt);font-size:20px;font-weight:900;
  letter-spacing:.1px;text-decoration:none}
.authEyebrow,.authKicker{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.authBrandPanel h1{max-width:560px;margin:12px 0 12px;font-size:clamp(34px,5vw,64px);line-height:.94;letter-spacing:-.05em}
.authHeroCopy{max-width:440px;color:var(--mfc96);font-size:15px;line-height:1.65}
.authCard{width:min(100%,420px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:28px;background:
  linear-gradient(180deg,rgba(12,17,23,.86),rgba(7,11,16,.92));
  box-shadow:0 24px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(18px)}
.authCard.profileCard{width:min(100%,620px)}
.authLoading{color:var(--muted);font-size:13px}
.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:24px;padding:5px;border:1px solid rgba(255,255,255,.07);
  border-radius:12px;background:rgba(2,5,8,.62)}
.authTabs a{padding:9px 10px;border-radius:8px;color:#717b86;text-align:center;text-decoration:none;font-size:12px;font-weight:800}
.authTabs a.active{background:rgba(0,194,122,.18);color:var(--green);box-shadow:inset 0 0 0 1px rgba(0,194,122,.18)}
.inviteProgress{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 22px}
.inviteProgress span{padding:7px 10px;border:1px solid rgba(255,255,255,.075);border-radius:10px;color:#626d78;
  background:rgba(2,5,8,.62);font-size:10px;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.inviteProgress span.active{border-color:rgba(0,194,122,.45);color:var(--green);background:rgba(0,194,122,.1)}
.authStepper{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 24px}
.authStepper span{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.16);transition:width .18s,background .18s}
.authStepper span.active{width:24px;background:var(--green);box-shadow:0 0 0 4px rgba(0,194,122,.1)}
.inviteStep{padding-top:2px}
.inviteStep + .inviteStep{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.07)}
.inviteStep[hidden]{display:none!important}
.authHeader{margin-bottom:22px;text-align:left}
.authHeader h2,.profileTop h2{margin:6px 0 6px;font-size:26px;line-height:1.08;letter-spacing:-.03em;color:var(--txt)}
.authHeader p,.profileTop p,.securityNote{color:#7d8792;font-size:13px;line-height:1.55}
.authKicker{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.authHeader code{padding:1px 5px;border-radius:5px;background:var(--mfc6);color:var(--mfc102)}
.authForm{display:flex;flex-direction:column;gap:12px}
.authForm label{display:flex;flex-direction:column;gap:7px;color:#9ca6b0;font-size:12px;font-weight:700}
.authForm input{width:100%;border:1px solid rgba(255,255,255,.075);border-radius:10px;background:rgba(1,5,9,.86);color:var(--txt);
  padding:12px 13px;font:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.authForm input:focus{border-color:rgba(0,194,122,.75);box-shadow:0 0 0 3px rgba(0,194,122,.12)}
.authForm input[readonly]{color:var(--mfc104);background:var(--mfc105)}
.passwordField{position:relative}
.passwordField input{padding-right:44px}
.passwordToggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;
  padding:0;border-radius:8px;background:transparent;color:#7d8792;display:flex;align-items:center;justify-content:center;cursor:pointer}
.passwordToggle:hover{color:var(--txt);background:rgba(255,255,255,.05)}
.passwordToggle i{width:18px;height:18px;display:block;font-size:18px;line-height:18px;text-align:center}
.authPrimary,.authOAuth,.authSecondary,.authDanger{width:100%;min-height:48px;border-radius:10px;padding:0 14px;font:inherit;
  font-size:12px;font-weight:900;cursor:pointer;transition:transform .12s,filter .12s,border-color .12s,background .12s}
.authPrimary{margin-top:4px;border:1px solid rgba(0,194,122,.55);background:linear-gradient(180deg,#16d98d,#00b871);color:#02110b}
.authOAuth,.authSecondary{margin-top:12px;border:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.035);color:var(--txt)}
.authOAuth{display:flex;align-items:center;justify-content:center;gap:10px}
.authOAuth i{font-size:18px}
.authDivider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#5f6973;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.authDivider span{display:none}
.authDivider::before,.authDivider::after{content:"";height:1px;flex:1;background:rgba(255,255,255,.07)}
.authTextButton{display:block;margin:14px auto 0;border:0;background:transparent;color:#8ee8bd;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.authTextButton:hover{text-decoration:underline}
.authDanger{margin-top:10px;border:1px solid var(--mfa51);background:var(--mfa49);color:var(--mfa54)}
.authPrimary:hover,.authOAuth:hover,.authSecondary:hover,.authDanger:hover{filter:brightness(1.08);transform:translateY(-1px)}
.authOAuth:hover,.authSecondary:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.authLinks{display:flex;justify-content:center;margin-top:16px}
.authLinks a{color:#8ee8bd;font-size:11px;font-weight:800;text-decoration:none}
.authLinks a:hover{text-decoration:underline}
.authStatus{margin-top:16px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.075);color:#aeb8c2;background:rgba(255,255,255,.035);
  font-size:12px;text-align:center}
.authStatus.success{border-color:rgba(0,194,122,.45);color:var(--green);background:rgba(0,194,122,.1)}
.authStatus.error{border-color:var(--mfa51);color:var(--mfa54);background:var(--mfa55)}
.profileTop{display:flex;align-items:center;gap:16px;margin-bottom:24px;text-align:left}
.profileAvatar{width:74px;height:74px;border-radius:22px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:var(--mfa2);color:var(--mfc110);font-size:22px;font-weight:900;box-shadow:inset 0 0 0 1px var(--mfs17)}
.profileAvatar img{width:100%;height:100%;object-fit:cover}
.securityPanel{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}
.securityPanel h3{margin-bottom:8px;font-size:16px}
.railAvatar{display:flex;align-items:center;justify-content:center;color:var(--mfc110);font-size:12px;font-weight:900;overflow:hidden}
.profileMenu{position:fixed;left:58px;bottom:16px;z-index:2200;width:292px;padding:8px;border:1px solid var(--mfc111);
  border-radius:14px;background:linear-gradient(180deg,var(--mfc112),var(--mfc113));
  box-shadow:0 24px 70px var(--mfs18),inset 0 1px 0 var(--mfc15)}
.profileMenu[hidden]{display:none!important}
.profileMenuHeader{display:flex;gap:10px;align-items:center;padding:8px 8px 10px;border-bottom:1px solid var(--border)}
.profileMenuAvatar{width:36px;height:36px;border-radius:11px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;background:var(--mfc114);color:var(--mfc115);font-size:12px;font-weight:900}
.profileMenuAvatar img{width:100%;height:100%;object-fit:cover}
.profileMenuIdentity{min-width:0;flex:1}
.profileMenuNameRow{display:flex;align-items:center;gap:6px;min-width:0}
.profileMenuNameRow strong{font-size:13px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profileMenuNameRow span{flex:0 0 auto;padding:1px 6px;border-radius:999px;background:var(--mfc25);
  color:var(--mfc116);font-size:9px;font-weight:900;letter-spacing:.03em}
.profileMenuIdentity p{margin-top:2px;color:var(--mfc117);font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profileMenuNav{display:flex;flex-direction:column;gap:2px;padding-top:6px}
.profileMenuItem{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:9px;background:transparent;color:var(--mfc118);
  padding:9px 10px;font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}
.profileMenuItem i{width:18px;color:var(--mfc119);font-size:17px;line-height:1}
.profileMenuItem:hover{background:rgba(0,194,122,.12);color:var(--mfc23)}
.profileMenuItem:hover i{color:var(--green)}
.profileMenuLogout{margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 9px 9px;color:var(--mfa19)}
.profileMenuLogout i{color:var(--mfa19)}
.profileMenuLogout:hover{background:var(--mfa56);color:var(--mfa54)}
.profileMenuLogout:hover i{color:var(--mfa54)}

/* Trader Control Center */
.settingsBody{min-height:100vh;height:100vh;overflow:hidden;background:var(--mfc1);color:var(--txt)}
.settingsBody .settingsAppRail{display:flex}
.settingsTopbar .brandText{font-size:18px}
.settingsTopbarBack{display:inline-flex;align-items:center;gap:7px;color:var(--mfc121);text-decoration:none;font-size:12px;font-weight:800;
  padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:var(--mfc122)}
.settingsTopbarBack:hover{color:var(--green);border-color:rgba(0,194,122,.45)}
.settingsShell{height:calc(100vh - 80px);display:grid;grid-template-columns:228px minmax(0,800px);column-gap:28px;
  align-items:start;padding:0 clamp(18px,5vw,72px) 32px 0;margin:0 12px 12px var(--rail-w);
  background:var(--mfc6);border:1px solid var(--mfc7);border-top:0;border-radius:0 0 16px 16px;overflow:auto}
.settingsSidebar{position:sticky;top:0;min-height:calc(100vh - 80px);display:flex;flex-direction:column;padding:14px 10px;background:var(--mfc46);
  border-right:1px solid rgba(0,194,122,.26)}
.settingsBack{display:flex;align-items:center;gap:10px;margin-top:auto;border-radius:7px;color:var(--mfc123);text-decoration:none;
  padding:8px 10px;font-size:12px;font-weight:700}
.settingsBack i{font-size:15px;color:var(--mfc124)}
.settingsBack:hover{color:var(--green);background:rgba(0,194,122,.1)}
.settingsAccount{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:9px;margin:0 0 14px;padding:8px 9px}
.settingsAccountAvatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:var(--mfc125);color:var(--mfc110);font-size:10px;font-weight:900}
.settingsAccountAvatar img{width:100%;height:100%;object-fit:cover}
.settingsAccountMeta{display:flex;flex-direction:column;min-width:0}
.settingsAccountMeta strong{font-size:12px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:lowercase}
.settingsAccountMeta span{margin-top:2px;color:var(--mfc126);font-size:11px;line-height:1.1}
.settingsAccount>i{color:var(--mfc127);font-size:16px}
.settingsBrand{display:flex;align-items:center;gap:10px;margin:0 0 8px;padding:10px 9px;color:var(--mfc116)}
.settingsBrandMark{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--mfc128);
  color:var(--green);font-size:10px;font-weight:900}
.settingsBrand p,.settingsKicker{display:none}
.settingsBrand h1{font-size:13px;line-height:1.15;font-weight:800;letter-spacing:0}
.settingsNav{display:flex;flex-direction:column;gap:6px;margin-top:0}
.settingsNavItem{display:flex;align-items:center;gap:10px;border-radius:7px;padding:9px 10px;color:var(--mfc123);text-decoration:none;
  font-size:12px;font-weight:700;transition:background .15s,color .15s}
.settingsNavItem i{font-size:15px;width:17px;line-height:1;color:var(--mfc124)}
.settingsNavItem:hover{color:var(--mfc129);background:var(--mfc130)}
.settingsNavItem.active{color:var(--mfc131);background:rgba(0,194,122,.18);box-shadow:inset 0 0 0 1px rgba(0,194,122,.45)}
.settingsNavItem.active i{color:var(--green)}
.settingsLogout{display:flex;align-items:center;gap:10px;margin-top:6px;border:0;border-radius:7px;background:transparent;color:var(--mfa19);
  padding:8px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.settingsLogout i{font-size:15px;width:17px;line-height:1;color:var(--mfa19)}
.settingsLogout:hover{background:var(--mfa56);color:var(--mfa54)}
.settingsLogout:hover i{color:var(--mfa54)}
.settingsMain{width:100%;padding-top:34px;padding-bottom:34px}
.settingsRouteLabel{display:inline-flex;align-items:center;margin-bottom:18px;color:var(--green);font:11px/1 ui-monospace,Menlo,Consolas,monospace}
.settingsHero{margin-bottom:28px}
.settingsHero h2{margin:0 0 18px;font-size:24px;line-height:1.1;font-weight:700;letter-spacing:-.03em}
.settingsHero p:last-child{max-width:660px;color:var(--mfc132);font-size:13px;line-height:1.6}
.settingsCard{display:flex;flex-direction:column;gap:30px;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.settingsCardHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:0 0 8px;border:0}
.settingsCardHead h3{margin:0;font-size:13px;font-weight:700;color:var(--mfc133);letter-spacing:0}
.settingsCardHead span{padding:5px 8px;border-radius:7px;background:var(--mfc134);color:var(--mfc135);font-size:11px;font-weight:800}
.settingsRows{display:flex;flex-direction:column;gap:12px}
.settingsRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:58px;padding:13px 14px;
  border:1px solid var(--mfc93);border-radius:12px;background:var(--mfc136);box-shadow:inset 0 1px 0 var(--mfc50)}
.settingsRow h4{font-size:13px;font-weight:700;margin:0 0 4px;color:var(--mfc120)}
.settingsRow p{margin:0;color:var(--mfc137);font-size:11px;line-height:1.35}
.settingsRow button{border:1px solid var(--mfc138);border-radius:8px;background:var(--mfc139);color:var(--mfc140);
  padding:7px 10px;font:inherit;font-size:11px;font-weight:800;white-space:nowrap}
.settingsProfilePanel{border:1px solid var(--mfc93);border-radius:12px;background:var(--mfc136);padding:18px;
  box-shadow:inset 0 1px 0 var(--mfc50)}
.settingsProfilePanel+.settingsProfilePanel{margin-top:18px}
.settingsProfilePanelText{margin-bottom:20px}
.settingsProfilePanel h3{margin:0 0 4px;font-size:14px;font-weight:900;color:var(--mfc120)}
.settingsProfilePanel p{margin:0;color:var(--mfc141);font-size:12px;line-height:1.45}
.settingsProfilePictureRow{display:flex;align-items:center;gap:18px}
.settingsProfileAvatar{width:70px;height:70px;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:var(--mfc142);border:1px solid var(--mfc97);color:var(--mfc143);font-size:22px;font-weight:900}
.settingsProfileAvatar img{width:100%;height:100%;object-fit:cover}
.settingsProfilePictureActions{display:flex;flex-direction:column;gap:8px}
.settingsProfilePanel button{width:max-content;border:1px solid var(--mfc144);border-radius:8px;background:var(--mfc145);color:var(--mfc120);
  padding:8px 12px;font:inherit;font-size:12px;font-weight:900;white-space:nowrap}
.settingsProfilePanel button:disabled{opacity:.72;cursor:not-allowed}
.settingsProfilePanel button.danger{border-color:var(--mfa28);background:var(--mfa22);color:var(--mfa57)}
.settingsProfileFields{display:flex;flex-direction:column;gap:14px}
.settingsProfileField{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.35fr);gap:18px;align-items:center}
.settingsProfileField label{display:block;margin-bottom:3px;color:var(--mfc120);font-size:12px;font-weight:900}
.settingsProfileField input{width:100%;border:1px solid var(--mfc146);border-radius:8px;background:var(--mfc147);color:var(--mfc148);
  padding:10px 11px;font:inherit;font-size:12px;outline:none}
.settingsProfileField input[readonly]{color:var(--mfc149)}
.settingsProfileInputRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.settingsProfilePill{justify-self:start;border-radius:999px;background:rgba(0,194,122,.14);color:var(--green);
  padding:5px 10px;font-size:11px;font-weight:900}
.settingsProfileInlinePanel{display:flex;align-items:center;justify-content:space-between;gap:18px}
@media (max-width:900px){
  .authShell{padding:22px}
  .authBrandPanel{min-height:300px}
  .settingsBody{height:auto;overflow:auto}
  .settingsBody .settingsAppRail{display:none}
  .settingsTopbar{margin:0;border-radius:0;border-left:0;border-right:0;border-top:0}
  .settingsShell{height:auto;grid-template-columns:1fr;gap:24px;padding:14px;margin:0;border:0;border-radius:0;overflow:visible}
  .settingsSidebar{position:relative;top:auto;min-height:0;border:1px solid rgba(0,194,122,.18);border-radius:14px}
  .settingsNav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .settingsMain{padding-top:0}
  .settingsProfileField,.settingsProfileInlinePanel{grid-template-columns:1fr;display:grid}
  .settingsProfileInputRow{grid-template-columns:1fr}
}
@media (max-width:520px){
  .profileMenu{left:8px;right:8px;bottom:8px;width:auto}
  .settingsNav{grid-template-columns:1fr}
  .settingsCardHead,.settingsRow{grid-template-columns:1fr}
  .settingsRow button{justify-self:start}
  .settingsProfilePictureRow{align-items:flex-start;flex-direction:column}
}

/* Trader Control Center — Phase 2 controls */
.settingsShell{grid-template-columns:228px minmax(0,1120px)}
.settingsNavGroup{display:flex;flex-direction:column;gap:5px;margin-bottom:18px}
.settingsNavGroupLabel{padding:0 10px 3px;color:var(--mfc150);font-size:9px;font-weight:900;letter-spacing:.16em}
.settingsLogout{margin-top:auto}
.settingsTwoColumn{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.settingsPanel{border:1px solid var(--mfc93);border-radius:13px;background:linear-gradient(180deg,var(--mfc151),var(--mfc105));
  padding:16px;box-shadow:inset 0 1px 0 var(--mfc50)}
.settingsPanel+.settingsPanel{margin-top:14px}
.settingsPanelHead{margin-bottom:14px}
.settingsPanelHead h3{margin:0 0 4px;font-size:14px;font-weight:900;color:var(--mfc120)}
.settingsPanelHead p{margin:0;color:var(--mfc152);font-size:12px;line-height:1.45}
.settingsControlRow{grid-template-columns:minmax(0,1fr) minmax(190px,260px)}
.settingsControlWrap{display:flex;justify-content:flex-end;min-width:0}
.settingsControl{width:100%;border:1px solid var(--mfc146);border-radius:9px;background:var(--mfc147);color:var(--mfc148);
  padding:9px 10px;font:inherit;font-size:12px;outline:none}
.settingsControl:focus{border-color:rgba(0,194,122,.65);box-shadow:0 0 0 3px rgba(0,194,122,.1)}
.segmentedControl{display:inline-grid;grid-auto-flow:column;gap:3px;padding:3px;border:1px solid var(--mfc146);
  border-radius:10px;background:var(--mfc147)}
.segmentedControl button{border:0;border-radius:7px;background:transparent;color:var(--mfc153);padding:7px 9px;font:inherit;font-size:11px;
  font-weight:900;cursor:pointer}
.segmentedControl button.active{background:rgba(0,194,122,.18);color:var(--green);box-shadow:inset 0 0 0 1px rgba(0,194,122,.35)}
.settingsActions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid var(--mfc7)}
.settingsActions span{margin-right:auto;color:var(--green);font-size:11px;font-weight:800}
.settingsGhostBtn,.settingsPrimaryBtn,.settingsInfoAction button{border-radius:9px;padding:8px 12px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.settingsGhostBtn{border:1px solid var(--mfc144);background:var(--mfc154);color:var(--mfc155)}
.settingsPrimaryBtn{border:1px solid rgba(0,194,122,.55);background:var(--green);color:var(--mfc106)}
.settingsSummaryCard{position:sticky;top:18px}
.settingsSummaryRows{display:flex;flex-direction:column;gap:8px}
.settingsSummaryRows div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--mfc156)}
.settingsSummaryRows div:last-child{border-bottom:0}
.settingsSummaryRows span{color:var(--mfc152);font-size:11px}
.settingsSummaryRows b{color:var(--mfc120);font-size:12px;text-align:right}
.settingsToggleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.settingsToggleCard{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:74px;padding:13px;
  border:1px solid var(--mfc93);border-radius:12px;background:var(--mfc154)}
.settingsToggleCard h4{margin:0 0 4px;font-size:13px;font-weight:900;color:var(--mfc120)}
.settingsToggleCard p{margin:0;color:var(--mfc137);font-size:11px;line-height:1.4}
.toggleSwitch{position:relative;display:inline-flex;width:42px;height:24px;flex:0 0 42px;cursor:pointer}
.toggleSwitch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.toggleSwitch input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.toggleSwitch span{position:absolute;inset:0;border-radius:999px;background:var(--mfc157);border:1px solid var(--mfc144);transition:background .15s,border-color .15s}
.toggleSwitch span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--mfc158);transition:transform .15s,background .15s}
.toggleSwitch input:checked+span{background:rgba(0,194,122,.22);border-color:rgba(0,194,122,.48)}
.toggleSwitch input:checked+span::after{transform:translateX(18px);background:var(--green)}
.settingsThemeOptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.settingsThemeOption{min-height:112px;border:1px solid var(--mfc93);border-radius:13px;background:var(--mfc154);color:var(--mfc148);
  padding:14px;text-align:left;font:inherit;cursor:pointer}
.settingsThemeOption strong{display:block;margin-bottom:8px;font-size:14px}
.settingsThemeOption span{display:block;color:var(--mfc152);font-size:11px;line-height:1.45}
.settingsThemeOption.active{border-color:rgba(0,194,122,.55);background:rgba(0,194,122,.12);box-shadow:inset 0 0 0 1px rgba(0,194,122,.18)}
.settingsInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.settingsInfoCard{min-height:150px}
.settingsInfoAction{margin-top:14px}
.settingsInfoAction button{border:1px solid var(--mfc144);background:var(--mfc145);color:var(--mfc133);cursor:not-allowed}
.settingsProfileLayout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.settingsProfileForm{display:flex;flex-direction:column;gap:14px}
.profileAvatarEditor{display:flex;align-items:center;gap:16px;padding:14px;border:1px dashed var(--mfc159);
  border-radius:13px;background:var(--mfc160);transition:border-color .15s,background .15s}
.profileAvatarEditor.dragover{border-color:rgba(0,194,122,.75);background:rgba(0,194,122,.08)}
.profileAvatarPreview{width:72px;height:72px;border-radius:18px;display:flex;align-items:center;justify-content:center;overflow:hidden;
  flex:0 0 auto;background:var(--mfc161);border:1px solid var(--mfc146);color:var(--mfc143);font-size:22px;font-weight:900}
.profileAvatarPreview img{width:100%;height:100%;object-fit:cover}
.profileAvatarEditor p{margin:8px 0 0;color:var(--mfc152);font-size:11px;line-height:1.45}
.settingsFormField{display:flex;flex-direction:column;gap:7px;color:var(--mfc120);font-size:12px;font-weight:900}
.settingsFormField span{display:flex;align-items:center;justify-content:space-between;gap:10px}
.settingsFormField span i{color:var(--mfc137);font-size:14px}
.settingsFormField em{color:var(--mfc137);font-style:normal;font-size:11px;font-weight:800}
.settingsFormField input,.settingsFormField textarea{width:100%;border:1px solid var(--mfc146);border-radius:9px;background:var(--mfc147);
  color:var(--mfc148);padding:10px 11px;font:inherit;font-size:12px;outline:none;resize:vertical}
.settingsFormField input:focus,.settingsFormField textarea:focus{border-color:rgba(0,194,122,.65);box-shadow:0 0 0 3px rgba(0,194,122,.1)}
.settingsFormField input[readonly]{color:var(--mfc162);background:var(--mfc160)}
.settingsPrimaryBtn:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.7)}
.settingsProfileSide{display:flex;flex-direction:column;gap:14px}
.settingsDangerPanel{border-color:var(--mfa51);background:linear-gradient(180deg,var(--mfc163),var(--mfc105))}
.settingsDangerPanel .settingsPanelHead h3{color:var(--mfa58)}
.settingsDangerBtn{border:1px solid var(--mfa59);border-radius:9px;background:var(--mfa60);color:var(--mfa57);
  padding:8px 12px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.settingsToast{position:fixed;right:22px;bottom:22px;z-index:5000;padding:11px 14px;border-radius:12px;
  border:1px solid rgba(0,194,122,.45);background:var(--mfc164);color:var(--green);font-size:12px;font-weight:900;
  box-shadow:0 16px 48px var(--mfs5)}
.settingsToast.error{border-color:var(--mfa20);background:var(--mfc165);color:var(--mfa57)}
.settingsToast[hidden]{display:none!important}
@media (max-width:1100px){
  .settingsTwoColumn,.settingsInfoGrid,.settingsProfileLayout{grid-template-columns:1fr}
  .settingsSummaryCard{position:relative;top:auto}
}
@media (max-width:760px){
  .settingsToggleGrid,.settingsThemeOptions{grid-template-columns:1fr}
  .settingsControlRow{grid-template-columns:1fr}
  .settingsControlWrap{justify-content:stretch}
  .segmentedControl{grid-auto-flow:row}
  .settingsActions{align-items:stretch;flex-direction:column}
  .settingsActions span{margin-right:0}
  .profileAvatarEditor{align-items:flex-start;flex-direction:column}
}

/* Parallels — pattern matching panel (candl.live-style) */
.echoPanel{position:absolute;top:8px;right:72px;bottom:8px;width:min(320px,38vw);z-index:120;
  display:flex;flex-direction:column;background:var(--mfc166);border:1px solid var(--highlight);
  border-radius:8px;box-shadow:0 12px 40px var(--mfs16);overflow:hidden}
.echoPanel[hidden]{display:none!important}
.echoHead{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;
  border-bottom:1px solid var(--highlight);font-weight:600;font-size:13px;flex-shrink:0}
.echoClose{background:none;border:none;color:var(--muted);font-size:15px;cursor:pointer;padding:2px 6px}
.echoClose:hover{color:var(--txt)}
.echoControls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;
  border-bottom:1px solid var(--surface-2);flex-shrink:0}
.echoCtl{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}
.echoCtl select{font-size:11px;padding:3px 4px;min-width:52px}
.echoRescan{margin-left:auto;border:1px solid var(--border);background:var(--surface-2);color:var(--txt);
  border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}
.echoRescan:hover{border-color:var(--blue);color:var(--mfc23)}
.echoRescan:disabled{opacity:.45;cursor:wait}
.echoSummary{padding:8px 12px;line-height:1.45;border-bottom:1px solid var(--surface-2);flex-shrink:0}
.echoList{flex:1;overflow-y:auto;padding:4px 6px 8px;scrollbar-width:none;-ms-overflow-style:none}
.echoList::-webkit-scrollbar{display:none}
.echoEmpty{padding:12px 8px;text-align:center}
.echoRow{display:grid;grid-template-columns:20px 1fr auto auto;gap:8px;align-items:center;
  width:100%;border:none;background:transparent;color:var(--txt);padding:6px 8px;border-radius:4px;
  cursor:pointer;font-family:inherit;text-align:left}
.echoRow:hover{background:var(--surface-2)}
.echoRank{font-size:11px;color:var(--muted);font-family:ui-monospace,Menlo,Consolas,monospace}
.echoDate{font-size:11px;color:var(--muted);white-space:nowrap}
.echoSim{font-size:11px;font-weight:600;color:var(--blue);font-family:ui-monospace,Menlo,Consolas,monospace}
.echoSpark{display:block;min-width:0}

/* Dashboard layout — health, scenario, timeline, levels */
.healthCardV2,.pathCardV2{padding:14px 12px}
.healthHead{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.healthHeadTitle{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mfc56);flex:0 1 auto}
.healthHeadIcon{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;flex-shrink:0;background:rgba(0,194,122,.18);color:var(--green);
  border:1px solid rgba(0,194,122,.35)}
.pathHeadIcon{background:var(--mfa36);color:var(--amber);border-color:var(--mfa45);font-size:12px}
.healthInfoBtn{border:none;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer;
  padding:0 2px;border-radius:50%;flex-shrink:0}
.healthInfoBtn:hover{color:var(--txt)}
.healthHeadTitle .cardInfoBtn{margin-left:0}
.healthScoreRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;min-width:0;overflow:hidden}
.healthScoreMain{display:flex;align-items:baseline;gap:2px;font-family:ui-monospace,Menlo,Consolas,monospace;white-space:nowrap;flex-shrink:0}
.healthScoreNum{font-size:30px;font-weight:800;color:var(--green);line-height:1;font-variant-numeric:tabular-nums}
.healthScoreNum.warn{color:var(--amber)}
.healthScoreNum.bad{color:var(--red)}
.healthScoreDenom{font-size:14px;font-weight:500;color:var(--muted);white-space:nowrap}
.healthStatusBadge{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  padding:3px 8px;border-radius:4px;min-width:0;max-width:58%;flex:1 1 auto;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;text-align:right}
.healthStatusBadge.ACTIVE,.healthStatusBadge.INTACT,.healthStatusBadge.SUCCESS,
.healthStatusBadge.SUCCESS_THEN_INVALIDATED{color:var(--green);background:rgba(0,194,122,.15)}
.healthStatusBadge.PRESSURED,.healthStatusBadge.FORMING{color:var(--amber);background:var(--mfa36)}
.healthStatusBadge.INVALIDATED{color:var(--red);background:var(--mfa47)}
.healthStatusBadge.STANDBY{color:var(--muted);background:var(--surface-2)}
.healthMetrics{display:flex;flex-direction:column;gap:10px}
.healthMetricRow{display:grid;grid-template-columns:minmax(0, 76px) minmax(0, 1fr) auto;gap:8px;align-items:center}
.healthMetricLabel{font-size:11px;color:var(--muted);white-space:nowrap}
.healthMetricBar{height:4px;border-radius:999px;background:var(--mfc168);overflow:hidden;min-width:0}
.healthMetricFill{height:100%;width:0;background:var(--green);border-radius:2px;transition:width .35s}
.healthMetricFill.warn{background:var(--amber)}
.healthMetricFill.bad{background:var(--red)}
.healthMetricVal{font-size:11px;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--muted);
  text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:3.5em}
.healthDetails{margin-top:10px;padding-top:10px;border-top:1px solid var(--surface-2);line-height:1.45}
.pathCardV2 .pathTitle{font-size:16px;font-weight:800;line-height:1.35;letter-spacing:.2px;margin-bottom:6px;text-transform:uppercase}
.pathCardV2 .pathSub{font-size:11px;color:var(--muted);line-height:1.45}
.thesisStatusCardV2.insightCard{padding:14px 12px}
.thesisStatusCardV2 .cardTitle{text-transform:uppercase;letter-spacing:.06em;font-size:11px;margin-bottom:10px}

.thesisTimeline{display:flex;flex-direction:column;gap:0}
.timelineItem{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(0,72px);gap:7px;align-items:start;
  padding:8px 0;border-bottom:1px solid var(--surface-2);font-size:12px;min-width:0}
.timelineItem:last-child{border-bottom:none}
.timelineDot{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);
  display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--muted);flex-shrink:0}
.timelineItem.locked .timelineDot,.timelineItem.trend_confirmed .timelineDot,.timelineItem.trend_confirmed_bull .timelineDot,.timelineItem.trend_confirmed_bear .timelineDot{
  border-color:var(--green);background:rgba(0,194,122,.15);color:var(--green)}
.timelineItem.invalidated .timelineDot,.timelineItem.reversal_active .timelineDot{
  border-color:var(--red);background:var(--mfa47);color:var(--red)}
.timelineItem.vwap_reclaim_risk .timelineDot,.timelineItem.trend_exhaustion .timelineDot{
  border-color:var(--amber);background:var(--mfa36);color:var(--amber)}
.timelineItem.rotational .timelineDot,.timelineItem.pending .timelineDot,.timelineItem.no_edge .timelineDot{
  border-color:var(--border);background:var(--surface-2)}
.timelineBody{min-width:0}
.timelineTitle{font-weight:600;line-height:1.3}
.timelineSub{font-size:10px;color:var(--muted);margin-top:2px;line-height:1.35}
.timelineState{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;
  padding-top:2px;white-space:normal;text-align:right;line-height:1.25;overflow-wrap:anywhere;min-width:0}
.timelineState span{display:block}
.timelineState.locked,.timelineState.trend_confirmed,.timelineState.trend_confirmed_bull,.timelineState.trend_confirmed_bear{color:var(--green)}
.timelineState.invalidated,.timelineState.reversal_active{color:var(--red)}
.timelineState.vwap_reclaim_risk,.timelineState.trend_exhaustion{color:var(--amber)}
.timelineState.rotational,.timelineState.pending,.timelineState.no_edge{color:var(--muted)}

.contextGrid{display:flex;flex-direction:column;gap:0;font-size:12px}
.contextRow{display:flex;justify-content:space-between;align-items:center;
  padding:7px 0;border-bottom:1px solid var(--surface-2)}
.contextRow:last-child{border-bottom:none}
.contextRow .k{color:var(--muted)}
.contextRow .v{font-family:ui-monospace,Menlo,Consolas,monospace;text-align:right}
.contextTag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:3px;letter-spacing:.3px}
.contextTag.neutral{background:var(--surface-2);color:var(--muted)}
.contextTag.bull{background:rgba(0,194,122,.15);color:var(--green)}
.contextTag.bear{background:var(--mfa22);color:var(--red)}
.contextTag.low{background:var(--surface-2);color:var(--muted)}
.contextTag.high{background:var(--mfa22);color:var(--red)}

.contextEvents{margin-top:10px;padding-top:8px;border-top:1px solid var(--surface-2);
  display:flex;flex-direction:column;gap:5px;font-size:11px}
.contextEvent{display:flex;flex-direction:column;gap:1px;padding:5px 0 5px 8px;
  border-left:2px solid var(--muted)}
.contextEvent.high{border-left-color:var(--red)}
.contextEvent.medium{border-left-color:var(--amber)}
.contextEvent .evName{font-weight:500;color:var(--txt)}
.contextEvent .evMeta{color:var(--muted);font-size:10px}

.ladder .row{display:grid;grid-template-columns:52px 1fr auto;gap:8px;
  padding:5px 0;border-bottom:1px solid var(--surface-2);align-items:center}
.levelTag{display:inline-block;min-width:34px;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.4px;text-align:center;line-height:1.35}
.levelTag.orh{background:var(--mfa61);color:var(--purple)}
.levelTag.orl{background:var(--mfa22);color:var(--red)}
.levelTag.orm{background:rgba(0,194,122,.15);color:var(--blue)}
.levelTag.vwap{background:rgba(0,194,122,.15);color:var(--blue)}
.levelTag.pdh{background:var(--mfc172);color:var(--muted)}
.levelTag.pdl{background:var(--mfa5);color:var(--amber)}
.levelTag.pwh{background:rgba(50,205,50,.14);color:#6dde6d}
.levelTag.pwl{background:rgba(0,128,128,.18);color:#4ecdc4}
.levelTag.pmh{background:rgba(255,0,255,.14);color:#e879f9}
.levelTag.pml{background:rgba(156,39,176,.18);color:#c084fc}
.levelTag.default{background:var(--surface-2);color:var(--muted)}
.factorRow .fside{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.factorTally{font-weight:600;color:var(--txt)}

/* Fear & Greed card */
.fearGreedCard{padding:12px 12px 10px}
.fgHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.fgHead .fgTitle{margin-bottom:0}
.fgLiveDot{width:8px;height:8px;border-radius:50%;background:var(--green);
  box-shadow:0 0 8px rgba(0,194,122,.55);flex-shrink:0}
.fgLiveDot.fgStale{background:var(--amber);box-shadow:0 0 8px var(--mfa62)}
.fgBody{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:end}
.fgGaugeCol{display:flex;flex-direction:column;align-items:center;min-width:0}
.fgGauge{width:100%;max-width:150px;line-height:0}
.fgGaugeSvg{width:100%;height:auto;display:block}
.fgScore{font-size:28px;font-weight:700;line-height:1;margin-top:-2px;letter-spacing:-.02em}
.fgRating{font-size:10px;font-weight:700;letter-spacing:.6px;margin-top:4px;text-align:center}
.fgScore.extreme-fear,.fgRating.extreme-fear{color:var(--mfa63)}
.fgScore.fear,.fgRating.fear{color:var(--mfa64)}
.fgScore.neutral,.fgRating.neutral{color:var(--mfa65)}
.fgScore.greed,.fgRating.greed{color:var(--mfa66)}
.fgScore.extreme-greed,.fgRating.extreme-greed{color:#22c55e}
.fgHistCol{display:flex;flex-direction:column;min-width:0;min-height:108px}
.fgHistHead{font-size:9px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px}
.fgHistChart{display:flex;align-items:flex-end;gap:1px;height:72px;min-width:0}
.fgHistBar{flex:1 1 0;min-width:1px;border-radius:1px 1px 0 0;opacity:.92}
.fgHistAxis{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);
  margin-top:5px;letter-spacing:.2px}
.fgHistEmpty{font-size:11px;padding:24px 0;text-align:center}
.fgFoot{margin:8px 0 0;font-size:10px;line-height:1.4}
.fearGreedCard.fgLoading .fgScore{color:var(--muted)}

/* AI Trader — decision-first briefing card (P0 hierarchy) */
.aiTraderCard{
  padding:14px 14px 12px;
  container-type:inline-size;container-name:aitrader;
}
.aiTraderCard .cardTitle{text-transform:uppercase;letter-spacing:.08em}
/* Learning status lives in Research accordion after render */
.aiTraderCard > #atLearningGlobalStatus{display:none}
.atLearningStatusSlot #atLearningGlobalStatus{display:block;margin:0 0 8px}
.atLearningStatusSlot{min-height:0}

/* P0 Decision Strip — container-aware (right rail ≈252px) */
.atDecisionStrip{
  display:flex;flex-direction:column;gap:12px;
  margin:0 0 16px;padding:12px 12px 10px;border-radius:10px;
  border:1px solid var(--border);background:var(--card);
  min-width:0;overflow:hidden;
}
/* Default (rail ≈236px): Bias|Lifecycle top, Action full-width (never clips LONG READY) */
.atStripRow{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  grid-template-areas:
    "bias life"
    "action action";
  gap:10px 14px;align-items:start;min-width:0;
}
.atStripBias{grid-area:bias;overflow:visible}
.atStripAction{grid-area:action;min-width:0;overflow:visible}
.atStripLife{grid-area:life;justify-self:end;min-width:0}
.atStripCell{min-width:0;display:flex;flex-direction:column;gap:6px}
.atStripK{
  font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mfc178);line-height:1.2;
}
.atStripV{
  font-size:18px;font-weight:750;line-height:1.15;color:var(--txt);
  white-space:nowrap;overflow:visible;
}
.atDecisionStrip .atDecisionLabel{
  font-size:20px;font-weight:800;letter-spacing:.01em;text-transform:uppercase;
  margin:0;line-height:1.15;white-space:nowrap;overflow:visible;
}
.atBias-long,.atDecisionStrip .atBias-long{color:var(--green,var(--mfa67))}
.atBias-short,.atDecisionStrip .atBias-short{color:var(--red,var(--mfa68))}
.atBias-none,.atDecisionStrip .atBias-none{color:var(--muted)}
.atDecision-long{border-color:rgba(0,194,122,.35)}
.atDecision-short{border-color:rgba(255,92,92,.35)}
.atDecision-wait{border-color:rgba(240,160,58,.35)}
.atDecision-done{border-color:var(--border)}
.atDecision-long .atDecisionLabel{color:var(--green,var(--mfa67))}
.atDecision-short .atDecisionLabel{color:var(--red,var(--mfa68))}
.atDecision-wait .atDecisionLabel{color:var(--amber,var(--mfa69))}
.atDecision-done .atDecisionLabel,.atDecision-none .atDecisionLabel{color:var(--txt)}

/* Lifecycle pill */
.atLifePill{
  display:inline-flex;align-items:center;justify-content:center;
  align-self:flex-start;max-width:100%;
  min-height:28px;padding:4px 12px;border-radius:999px;
  font-size:13px;font-weight:750;letter-spacing:.04em;line-height:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--mfc120);
}
.atLife-ready{border-color:rgba(124,140,255,.45);color:#aeb8ff;background:rgba(124,140,255,.12)}
.atLife-active{border-color:rgba(66,165,245,.45);color:#90caf9;background:rgba(66,165,245,.12)}
.atLife-completed{border-color:rgba(0,194,122,.4);color:var(--green,var(--mfa67));background:rgba(0,194,122,.1)}
.atLife-waiting{border-color:rgba(240,160,58,.4);color:var(--amber,var(--mfa69));background:rgba(240,160,58,.1)}

/* Status — full-width badge row under Bias/Action/Lifecycle */
.atStripStatusRow{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;padding:10px 6px 2px;border-top:1px solid rgba(74,96,122,.35);
  min-width:0;
}
.atStripStatusRow .atStripK{text-align:center}
.atStatusBadge{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;max-width:100%;box-sizing:border-box;
  /* Secondary to Action — ~12% smaller than prior 18px/40px */
  min-height:34px;padding:7px 12px;border-radius:9px;
  font-size:15px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;
  line-height:1.1;text-align:center;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
  border:1px solid transparent;
}
.atStatus-invalidated{
  color:#ff8a80;background:rgba(255,92,92,.14);border-color:rgba(255,92,92,.45);
}
.atStatus-target{
  color:var(--green,var(--mfa67));background:rgba(0,194,122,.12);border-color:rgba(0,194,122,.4);
}
.atStatus-waiting{
  color:var(--amber,var(--mfa69));background:rgba(240,160,58,.12);border-color:rgba(240,160,58,.4);
}
.atStatus-holiday{
  color:#ffb74d;background:rgba(255,183,77,.12);border-color:rgba(255,183,77,.4);
}
.atStatus-nochase{
  color:#ff8a65;background:rgba(255,138,101,.12);border-color:rgba(255,138,101,.45);
}
.atStatus-active{
  color:#90caf9;background:rgba(66,165,245,.12);border-color:rgba(66,165,245,.4);
}

/* P0 Risk Strip — rail default 2×2 so prices never wrap */
.atRiskStrip{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  margin:0 0 16px;padding:0;border:0;background:transparent;
}
.atRiskCell{
  min-width:0;display:flex;flex-direction:column;gap:5px;
  padding:9px 8px 10px;border-radius:8px;
  border:1px solid var(--border);background:rgba(255,255,255,.02);
  overflow:hidden;
}
.atRiskK{
  font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--mfc178);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.atRiskV{
  font-size:13px;font-weight:750;line-height:1.15;color:var(--txt);
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  white-space:nowrap;overflow:hidden;text-overflow:clip;
  letter-spacing:0;
}
.atRiskEntry .atRiskV{color:#e8eef5}
.atRiskStop .atRiskV{color:var(--red,var(--mfa68))}
.atRiskTp1 .atRiskV,.atRiskTp2 .atRiskV{color:var(--green,var(--mfa67))}
.atRiskEmpty{
  grid-column:1 / -1;font-size:11px;line-height:1.35;
  padding:10px;border-radius:8px;border:1px solid var(--border);
}

/* Wider card: single-row Bias · Action · Lifecycle; Status still below */
@container aitrader (min-width:340px){
  .atStripRow{
    grid-template-columns:18% minmax(34%,1fr) minmax(24%,auto);
    grid-template-areas:"bias action life";
  }
  .atStripBias,.atStripAction,.atStripLife{grid-area:auto}
  .atStripBias{grid-area:bias}
  .atStripAction{grid-area:action}
  .atStripLife{grid-area:life;justify-self:stretch}
  .atDecisionStrip .atDecisionLabel{font-size:20px}
  .atStatusBadge{font-size:16px;min-height:36px}
  .atRiskV{font-size:14px}
}
/* 4-up risk when content box is wide enough for ~8 digits per cell */
@container aitrader (min-width:360px){
  .atDecisionStrip .atDecisionLabel{font-size:24px}
  .atStripV{font-size:18px}
  .atStatusBadge{font-size:17px;min-height:38px}
  .atRiskStrip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .atRiskV{font-size:13px}
}
@container aitrader (min-width:440px){
  .atRiskV{font-size:15px}
}

/* P0 Why / Do now / What changed — 16px vertical rhythm */
.atPrimaryBlock{
  margin:0 0 16px;padding:12px 12px 13px;border-radius:8px;
  border:1px solid rgba(74,96,122,.35);background:transparent;
  min-width:0;
}
.atPrimaryK{
  font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mfc178);margin-bottom:8px;
}
.atWhyList{margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.35;color:var(--mfc120)}
.atWhyList li{margin:0 0 6px}
.atWhyList li:last-child{margin-bottom:0}
.atWhyLine{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;line-height:1.35;max-height:calc(1.35em * 2);
  text-overflow:clip; /* never ellipsis-cut mid-price; JS shortens long lines */
}
/* Order-flow WHY bullets: complete visible sentence (no CSS clamp) */
.atWhyLine.atWhyLineFull{
  display:inline; -webkit-line-clamp:unset; max-height:none; overflow:visible;
  white-space:normal; text-overflow:clip;
}
.atWhySource{
  display:inline-block;margin:0 6px 0 0;padding:1px 5px;border-radius:4px;
  font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);border:1px solid rgba(74,96,122,.45);vertical-align:2px;
}
.atWhyList li{display:list-item}
.atDoNowQual,.atChangedOf{margin:6px 0 0;line-height:1.35}
/* Primary Order Flow Read (between Why and Do now) */
.atOfReadBlock{border-color:rgba(124,140,255,.28)}
.atOfReadBlock.atOfReadCompact{border-color:rgba(74,96,122,.35)}
.atOfReadHead{
  margin:0 0 4px;font-size:12px;font-weight:750;letter-spacing:.04em;
  text-transform:uppercase;color:var(--txt);line-height:1.3;white-space:normal;
}
.atOfReadNeutral{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}
.atOfReadSource{display:none} /* source/freshness live in Context accordion only */
.atOfReadFacts{margin:0;padding:0 0 0 16px;font-size:12px;line-height:1.4;color:var(--mfc120)}
.atOfReadFacts li{margin:0 0 4px}
.atOfReadFacts li:last-child{margin-bottom:0}
.atOfReadRisk{margin:8px 0 0;font-size:11px;line-height:1.35;color:var(--amber,var(--mfa69))}
.atOfReadRiskK{
  display:inline-block;margin-right:6px;padding:1px 5px;border-radius:4px;
  font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--amber,var(--mfa69));border:1px solid rgba(240,160,58,.45);
}
.atOfContextList{margin:0;padding:0 0 0 16px;font-size:12px;line-height:1.35;color:var(--mfc120)}
.atOfContextList li{margin:0 0 4px}
.atOfContextDl{margin:0;display:grid;gap:4px}
.atOfContextRow{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;font-size:11px;line-height:1.35}
.atOfContextRow dt{margin:0;color:var(--muted);font-weight:600}
.atOfContextRow dd{margin:0;color:var(--mfc120);min-width:0;overflow-wrap:anywhere}
.atDoNow{
  margin:0;font-size:17px;line-height:1.35;font-weight:750;color:var(--txt);
}
.atDoNowBlock{border-color:rgba(0,194,122,.28)}
/* Decision-first Reasoning v1 — coach lead + wait/flip gates (Context detail) */
.atCoachLeadBlock{border-color:rgba(124,140,255,.32)}
.atCoachLead{
  margin:0;font-size:13px;font-weight:650;line-height:1.4;color:var(--txt);
  letter-spacing:.01em;
}
.atCoachGateBlock{
  display:grid;gap:8px;padding:10px 12px;
  border:1px solid rgba(74,96,122,.4);border-radius:8px;
  background:rgba(12,16,22,.55);
}
.atCoachGateRow{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:start}
.atCoachGateK{
  margin:0;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);padding-top:2px;
}
.atCoachGateV{margin:0;font-size:12px;line-height:1.4;color:var(--mfc120);min-width:0;overflow-wrap:anywhere}

/* 3-second scan primary — Bias · Instruction · Why · one gate */
.atScanStrip{
  display:flex;flex-direction:column;gap:0;
  margin:0 0 12px;padding:12px 12px 12px;border-radius:10px;
  border:1px solid var(--border);background:var(--card);
  min-width:0;overflow:hidden;
}
.atScanRow{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:12px 16px;align-items:start;min-width:0;
}
.atScanCell{display:flex;flex-direction:column;gap:6px;min-width:0}
.atScanBiasV{
  font-size:18px;font-weight:800;line-height:1.15;letter-spacing:.02em;
  text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;
}
.atScanInstrV{
  font-size:22px;font-weight:800;line-height:1.1;letter-spacing:.04em;
  text-transform:uppercase;white-space:nowrap;
}
.atInstr-wait{color:var(--amber,var(--mfa69))}
.atInstr-enter{color:var(--green,var(--mfa67))}
.atInstr-hold{color:#90caf9}
.atInstr-exit{color:var(--green,var(--mfa67))}
.atInstr-aside{color:var(--muted)}
.atScan-wait{border-color:rgba(240,160,58,.4)}
.atScan-enter{border-color:rgba(0,194,122,.4)}
.atScan-hold{border-color:rgba(66,165,245,.4)}
.atScan-exit{border-color:rgba(0,194,122,.35)}
.atScan-aside{border-color:rgba(74,96,122,.45)}
.atScanWhy{margin-bottom:10px;padding:10px 12px}
.atScanWhyList{margin:0;padding:0 0 0 16px}
.atScanWhyList li{margin:0 0 4px}
.atScanWhyList li:last-child{margin-bottom:0}
.atScanWhy .atWhyLine{font-size:12px;line-height:1.35}
.atScanGate{
  display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:start;
  margin:0 0 8px;padding:10px 12px;border-radius:8px;
  border:1px solid rgba(240,160,58,.35);background:rgba(240,160,58,.06);
}
.atScanGateK{
  font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--amber,var(--mfa69));padding-top:1px;
}
.atScanGateV{
  font-size:12px;font-weight:600;line-height:1.35;color:var(--txt);
  min-width:0;overflow-wrap:anywhere;
}
/* Tighter risk strip under scan */
.atScanStrip + .atRiskStrip{margin-bottom:12px}
.atChangedBlock{border-color:rgba(124,140,255,.28)}
.atChangedHead{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin-bottom:8px;
}
.atChangedHead .atPrimaryK{margin-bottom:0}
.atChangedTime{
  flex:0 0 auto;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;
  color:var(--muted);letter-spacing:.04em;white-space:nowrap;
}
.atChanged{margin:0;font-size:13px;line-height:1.4;font-weight:650;color:var(--txt)}

/* P0 Accordion — 48px touch targets */
.atAccord{
  margin:8px 0 0;border:1px solid var(--border);border-radius:8px;
  background:var(--card);overflow:hidden;
}
.atAccordSummary{
  list-style:none;cursor:pointer;user-select:none;
  min-height:48px;padding:12px 14px;box-sizing:border-box;
  font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mfc178);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.atAccordSummary::-webkit-details-marker{display:none}
.atAccordSummary::after{
  content:"";width:8px;height:8px;border-right:1.5px solid var(--muted);
  border-bottom:1.5px solid var(--muted);transform:rotate(45deg);
  transition:transform .14s ease;flex:0 0 auto;margin-top:-4px;
}
.atAccord[open] > .atAccordSummary::after{transform:rotate(225deg);margin-top:2px}
.atAccordSummary:hover,.atAccordSummary:focus-visible{
  color:var(--txt);outline:none;background:rgba(255,255,255,.02);
}
.atAccordBody{padding:0 12px 12px;border-top:1px solid rgba(74,96,122,.35)}
.atAccordBody .atSection{margin-top:8px}
.atAccordBody .atSection:first-child{margin-top:8px}

/* Viewport fallbacks (panel stacks full-width under ~900) */
@media (max-width:899.98px){
  .atDoNow{font-size:15px}
  .atStatusBadge{font-size:15px;min-height:34px}
}
.learningJournalCard{padding:14px 14px 12px;border:1px solid var(--border)}
.learningJournalCard .cardTitle{text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.agenticBrainCard{padding:14px 14px 12px;border:1px dashed var(--border);opacity:.95}
.agenticBrainCard .cardTitle{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted)}
.abSub{margin:0 0 8px;font-size:10px;line-height:1.35}
.abBody{display:flex;flex-direction:column;gap:10px;font-size:11px;line-height:1.4}
.abAgent{padding:8px 10px;border-radius:8px;background:var(--mfc175);border:1px solid var(--border)}
.abAgentHead{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.abAgentName{font-weight:700;font-size:11px;text-transform:capitalize;flex:1}
.abBias{font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.04em}
.abBiasBuy{background:rgba(34,197,94,.15);color:var(--green)}
.abBiasSell{background:rgba(239,68,68,.15);color:var(--red)}
.abBiasNeutral{background:rgba(148,163,184,.12);color:var(--muted)}
.abBiasWait{background:rgba(148,163,184,.08);color:var(--muted)}
.abConf{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.abState{margin-bottom:4px}
.abEvidence{margin:4px 0 0;padding-left:16px;font-size:10px;color:var(--muted)}
.abEvidence.abFor li::marker{color:var(--green)}
.abEvidence.abAgainst li::marker{color:var(--amber,var(--mfa69))}
.abWarn{font-size:10px;color:var(--amber,var(--mfa69));margin-top:4px}
.abSummary{padding:8px 10px;border-radius:8px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.2)}
.abSummaryHead{font-size:11px;font-weight:600;line-height:1.4;margin-bottom:4px}
.abSummaryMeta{font-size:10px}
.abExecDetail{padding:6px 10px;border-radius:6px;background:var(--mfc175);font-size:10px;line-height:1.45}
.abExecDetail ul{margin:2px 0 0;padding-left:16px}

/* Agentic Phase 2A — advisory wiring (display only) */
.atAgenticInfluenceHost{margin:0 0 8px;padding:0 2px}
.aaInfluenceRow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.aaInfluenceLabel{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.aaInfluenceSelect{font-size:11px;padding:3px 6px;border-radius:6px;border:1px solid var(--border);background:var(--mfc175);color:var(--text)}
.aaBlock{margin:10px 0 0;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--mfc175)}
.aaBlockHead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}
.aaBlockTitle{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.aaAgreePill{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.aaAgreePill.aaAgree{background:rgba(34,197,94,.12);color:var(--green)}
.aaAgreePill.aaDisagree{background:rgba(239,68,68,.12);color:var(--red)}
.aaAgreePill.aaNeutral{background:rgba(148,163,184,.1);color:var(--muted)}
.aaSummary{margin-bottom:6px;line-height:1.4;font-size:11px}
.aaMeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;font-size:10px}
.aaBias{font-weight:800;padding:2px 6px;border-radius:4px}
.aaBiasBuy{background:rgba(34,197,94,.15);color:var(--green)}
.aaBiasSell{background:rgba(239,68,68,.15);color:var(--red)}
.aaBiasNeutral{background:rgba(148,163,184,.12);color:var(--muted)}
.aaWarn{font-size:10px;color:var(--amber,var(--mfa69));margin-top:4px;line-height:1.35}
.aaBlockedRisk{border-left:2px solid var(--amber,var(--mfa69));padding-left:8px}
.aaEvidence{margin:6px 0 0;padding-left:16px;font-size:10px;color:var(--muted);line-height:1.4}
.aaTrendLabel{margin:8px 0 4px}
.aaTrendChart{display:flex;align-items:flex-end;gap:6px;height:52px;padding:4px 0}
.aaTrendCol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;height:100%}
.aaTrendBar{width:100%;max-width:28px;background:rgba(99,102,241,.55);border-radius:3px 3px 0 0;min-height:4px}
.aaTrendCol.aaTrendBarCurrent .aaTrendBar{background:var(--green)}
.aaTrendTime{font-size:9px;color:var(--muted);margin-top:2px}
.aaTrendConf{font-size:9px;color:var(--text);font-variant-numeric:tabular-nums}
.agenticReplayCompareCard{padding:14px 14px 12px;border:1px solid var(--border)}
.agenticReplayCompareCard .cardTitle{text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.aaCompareSub{margin:0 0 8px;font-size:10px}
.aaCompareGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.aaCompareGrid4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.aaCompareGrid4{grid-template-columns:repeat(2,1fr)}}
.mbBlock{margin:10px 0 0;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--mfc175)}
.mbBrainBlock{border-color:rgba(99,102,241,.25);background:rgba(99,102,241,.06)}
.mbBlockHead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.mbBlockTitle{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.mbHypothesis{font-size:12px;font-weight:600;line-height:1.45;margin-bottom:8px;color:var(--text)}
.mbMeta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;font-size:10px;color:var(--muted)}
.mbMetaItem strong{color:var(--text);font-weight:700}
.mbReadyPill{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.mbReadyEnter{background:rgba(34,197,94,.12);color:var(--green)}
.mbReadyPrepare{background:rgba(99,102,241,.12);color:#a5b4fc}
.mbReadyManage{background:rgba(245,158,11,.12);color:var(--amber,var(--mfa69))}
.mbReadyStand{background:rgba(148,163,184,.1);color:var(--muted)}
.mbEvidenceGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
@media(max-width:900px){.mbEvidenceGrid{grid-template-columns:1fr}}
.mbEvidenceK{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
.mbEvidence{margin:0;padding-left:16px;font-size:10px;line-height:1.4;color:var(--muted)}
.mbEvidence.mbFor li::marker{color:var(--green)}
.mbEvidence.mbAgainst li::marker{color:var(--amber,var(--mfa69))}
.mbDisagreeBlock{margin-bottom:8px;padding:6px 8px;border-radius:6px;background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.15)}
.mbDisagree{font-size:10px;line-height:1.35}
.mbExecRow{font-size:10px;line-height:1.4;margin-bottom:6px}
.mbSummary{font-size:10px;line-height:1.4;opacity:.85}
.mbSensorSection{margin-top:10px}
.aaCompareCol{padding:8px 10px;border-radius:8px;background:var(--mfc175);border:1px solid var(--border);min-width:0}
.aaCompareK{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
.aaCompareV{font-size:12px;font-weight:700;line-height:1.3;margin-bottom:4px}
.aaCompareWhy{padding:8px 10px;border-radius:8px;background:var(--mfc175);border:1px solid var(--border)}
.learningHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.learningRefreshBtn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;padding:0;font-size:14px;line-height:1}
.learningRefreshBtn:hover,.learningRefreshBtn:focus-visible{color:var(--green);outline:none;background:rgba(34,197,94,.08)}
.learningStatus{margin:0 0 6px;font-size:10px;opacity:.85;line-height:1.3}
.learningStatus.is-warning{color:var(--amber,var(--mfa69))}
.ljSampleRow{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;padding:6px 8px;border-radius:6px;background:var(--mfc175);font-size:10px}
.ljSampleRow strong{color:var(--text);font-weight:800}
.ljSection{margin-bottom:12px}
.ljLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.ljLabelWin{color:var(--green,var(--mfa67))}
.ljLabelFail{color:var(--red,var(--mfa68))}
.ljLessonText{font-size:13px;line-height:1.45;margin:0}
.ljGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:900px){.ljGrid{grid-template-columns:1fr}}
.ljList{margin:0;padding:0 0 0 14px;font-size:12px;line-height:1.4}
.ljList li{margin-bottom:4px}
.ljSimilarText{font-size:12px;line-height:1.4;margin:0 0 6px}
.ljStatRow{display:flex;gap:12px;font-size:11px}
.ljUserText{font-size:12px;line-height:1.4;margin:0}
.ljFoot{margin:8px 0 0;font-size:10px;opacity:.75}
.ljEmptyState{text-align:center;padding:12px 8px}
.ljEmptyIcon{font-size:28px;margin-bottom:8px;opacity:.6}
.ljEmptyTitle{font-weight:600;margin:0 0 6px;font-size:13px}
.ljEmpty{margin:0}
.learningDiscoveriesCard{padding:14px 14px 12px;border:1px solid var(--border)}
.learningDiscoveriesCard .cardTitle{text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.ldSub{margin:4px 0 10px}
.ldSection{margin-bottom:12px}
.ldLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.ldLessonText{font-size:12px;line-height:1.45;margin:0}
.ldPatternRow{padding:8px 0;border-bottom:1px solid var(--mfc175)}
.ldPatternRow:last-child{border-bottom:none;padding-bottom:0}
.ldPatternMain{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}
.ldPatternName{font-size:11px;font-weight:600;line-height:1.35;flex:1}
.ldConf{font-size:9px;font-weight:800;text-transform:uppercase;padding:2px 6px;border-radius:4px;flex-shrink:0}
.ldConfHigh{background:rgba(34,197,94,.15);color:var(--green,var(--mfa67))}
.ldConfMed{background:rgba(234,179,8,.12);color:var(--amber,var(--mfa69))}
.ldConfLow{background:var(--mfc175);color:var(--muted)}
.ldPatternMeta{display:flex;gap:10px;align-items:center;font-size:10px}
.ldWinRate{font-weight:700;color:var(--text)}
.ldExtra{opacity:.85}
.ldFoot{margin:8px 0 0;font-size:10px;opacity:.75}
.ldEmptyState{padding:8px 4px}
.ldEmptyTitle{font-weight:600;margin:0 0 6px;font-size:13px}
.historicalMemoryCard{padding:14px 14px 12px;border:1px solid var(--border)}
.historicalMemoryCard .cardTitle{text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.hmSub{margin:4px 0 10px}
.hmHero{margin-bottom:10px;padding:8px 10px;border-radius:8px;background:var(--mfc175)}
.hmHeroRow{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:4px}
.hmHeroRow:last-child{margin-bottom:0}
.hmHeroRow .k{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.hmHeroRow .v{font-weight:800}
.hmConf{font-size:10px;padding:2px 8px;border-radius:4px;text-transform:uppercase}
.hmConfHigh{background:rgba(34,197,94,.15);color:var(--green,var(--mfa67))}
.hmConfMed{background:rgba(234,179,8,.12);color:var(--amber,var(--mfa69))}
.hmConfLow{background:var(--mfc52);color:var(--muted)}
.hmSuccess{font-size:13px;font-weight:600;margin-bottom:8px}
.hmDecisionSupport{margin-bottom:10px;padding:8px 10px;border-radius:8px;background:var(--mfc52);border:1px solid var(--mfc175)}
.hmStatRow{display:flex;gap:10px;margin-bottom:8px}
.hmStatRow .hmStat{flex:1}
.hmMoveVal{color:var(--green,var(--mfa67))}
.hmDrawVal{color:var(--red,var(--mfa68))}
.hmProbRow{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px;font-size:11px}
.hmProbRow strong{color:var(--text)}
.hmCohortNote{margin-top:4px;font-size:10px}
.hmDist,.hmExcursion{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px;font-size:11px}
.hmSimilarList{display:flex;flex-direction:column;gap:4px}
.hmSimilarDate{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.hmStat{padding:6px 8px;border-radius:6px;background:var(--mfc175);font-size:10px}
.hmStat .k{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.hmStat .v{font-weight:700;font-size:12px}
.hmStat .v.hmRange{font-size:10px;font-weight:600}
.hmSection{margin-bottom:12px}
.hmLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.hmOutcomeRow{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px;font-size:10px}
.hmMatchRow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--mfc175);font-size:11px}
.hmMatchRow:last-child{border-bottom:none}
.hmMatchDate{font-weight:700}
.hmMatchSim{color:var(--green,var(--mfa67));font-weight:600;font-size:10px}
.hmFoot{margin:8px 0 0;font-size:10px;opacity:.75}
.hmEmptyState{padding:8px 4px}
.hmErrorState .hmEmptyTitle{color:var(--red,var(--mfa68))}
.hmEmptyTitle{font-weight:600;margin:0 0 6px;font-size:13px}
.atModeBlock{margin:10px 0 12px;padding:12px 12px;border-radius:9px;border:1px solid var(--mfc175);background:var(--mfc52)}
.atModeLabel{font-size:18px;font-weight:900;letter-spacing:.05em;margin:2px 0 8px}
.atModeBull{color:var(--green,var(--mfa67))}
.atModeBear{color:var(--red,var(--mfa68))}
.atModeAway{color:var(--amber,var(--mfa69))}
.atModeWait{color:var(--muted)}
.atModeSummary{font-size:12px;line-height:1.45;margin:0}
.atNarrCtx{margin:6px 0 0;font-size:11px}
.atHistExpect{margin:12px 0 14px;padding:12px 14px;border-radius:10px;border:1px solid var(--mfc180);background:var(--mfc52)}
.atHistExpect .atSectionTitle{margin-bottom:8px}
.atHistRow{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}
.atHistRow .k{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.atHistRow .v{font-weight:700}
.atHistMetrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.atHistMetric{padding:6px 8px;border-radius:6px;background:var(--mfc175);font-size:10px}
.atHistMetric .k{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.atHistMetric .v{font-weight:800;font-size:12px}
.atHistMetric .v.pos{color:var(--green,var(--mfa67))}
.atHistMetric .v.neg{color:var(--red,var(--mfa68))}
.atHistProbs,.atHistTime{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px;font-size:10px}
.atHistProbs strong,.atHistTime strong{color:var(--text)}
.atHistPaths{margin:8px 0 6px}
.atHistPathRow{display:flex;justify-content:space-between;gap:8px;font-size:10px;padding:3px 0;border-bottom:1px solid var(--mfc180)}
.atHistPathRow:last-child{border-bottom:none}
.atHistPathLabel{font-weight:600;font-variant-numeric:tabular-nums}
.atHistDates{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.atHistDates span{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--mfc175)}
.atHistDatesLabel{margin-top:6px}
.atHistLowSample{margin:4px 0 6px}
.atHistFoot{margin:8px 0 0;font-size:10px;opacity:.8}
.atLearningGlobal{margin:0 0 8px;font-size:10px;opacity:.85}
.atLearningGlobal.is-warning{color:var(--yellow,var(--mfa69))}
.atLearningEvidence{margin:12px 0 0}
.atLearningPending{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.35}
.atLearningSpinner{width:12px;height:12px;flex-shrink:0;border:2px solid var(--mfc180);
  border-top-color:var(--blue,var(--mfa66));border-radius:50%;animation:chartSpin .7s linear infinite}
.atHistSupport{padding:10px 12px;border-radius:10px;border:1px solid var(--mfc180);background:var(--mfc52)}
.atHistSupportHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.atHistSupportHeadCompact{margin-bottom:6px}
.atHistSupportHeadCompact .atSectionTitle{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.atSupportInline{font-weight:700;letter-spacing:.05em;background:none;border:none;padding:0;border-radius:0}
.atSupportInlineStrong{color:var(--green,var(--mfa67))}
.atSupportInlineMed{color:var(--yellow,var(--mfa69))}
.atSupportInlineWeak{color:var(--muted)}
.atSupportBadge{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.atSupportStrong{background:rgba(34,197,94,.15);color:var(--green,var(--mfa67))}
.atSupportMed{background:rgba(234,179,8,.15);color:var(--yellow,var(--mfa69))}
.atSupportWeak{background:rgba(148,163,184,.15);color:var(--muted)}
.atHistSupportSummary{margin:0;font-size:11px;line-height:1.4}
.atHistSupportGrid{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:10px}
.atHistSupportGrid strong{font-weight:800;color:var(--text)}
.atHistSupportGrid .pos{color:var(--green,var(--mfa67))}
.atHistSupportGrid .neg{color:var(--red,var(--mfa68))}
.atHistSupportTime,.atHistSupportDates{margin-top:6px;font-size:10px}
.atHistDatePill{display:inline-block;padding:2px 6px;border-radius:4px;background:var(--mfc175);font-weight:700;margin-right:4px}
.atHistEvidence{margin-top:10px;border:1px solid var(--mfc180);border-radius:8px;background:var(--mfc175)}
.atHistEvidenceSummary{padding:8px 10px;font-size:10px;font-weight:700;cursor:pointer;list-style:none}
.atHistEvidenceSummary::-webkit-details-marker{display:none}
.atHistEvidenceBody{padding:8px 10px 10px;border-top:1px solid var(--mfc180)}
.atEvStats{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:8px}
.atEvBlock{margin-top:8px}
.atEvLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;color:var(--muted)}
.atEvPatternRow,.atEvMatchRow,.atEvPathRow{display:flex;justify-content:space-between;gap:8px;padding:2px 0;font-size:10px}
.atEvLesson{margin:0}
.hmLimited{margin-bottom:8px;padding:6px 8px;border-radius:6px;background:rgba(234,179,8,.1);font-size:10px}
.hmLimitedDetail{opacity:.85}
.hmLimitedState{border-color:var(--mfc180)}
.hmContextAudit{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px}
.hmContextAudit span{font-size:10px}
.atLearningPartial{margin:0 0 8px;color:var(--yellow,var(--mfa69))}
.atLearningError{padding:8px 10px;border-radius:8px;border:1px solid var(--mfc180)}
.atDecisionBlock{margin:12px 0 14px;padding:16px;border-radius:12px;border:1px solid var(--border);
  background:var(--card);box-shadow:none;min-width:0;max-width:100%;overflow:hidden}
.atNewsShockWarn{margin:8px 0 0;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,92,92,.4);
  background:rgba(255,92,92,.08);color:var(--red);font-size:11px;line-height:1.35;font-weight:600}
.aiDecisionCard{padding:17px 16px 16px;min-width:0}
.atDecision-long{border-color:rgba(0,194,122,.35);background:var(--card)}
.atDecision-short{border-color:rgba(255,92,92,.35);background:var(--card)}
.atDecision-wait{border-color:rgba(240,160,58,.35);background:var(--card)}
.atDecision-done{border-color:var(--border)}
.aiDecisionCard.atDecision-long{background:var(--card)}
.aiDecisionCard.atDecision-short{background:var(--card)}
.aiDecisionCard.atDecision-wait{background:var(--card)}
.aiDecisionConfidence{font-size:13px;line-height:1.35;color:var(--mfc120);margin:12px 0 0;
  padding-top:11px;border-top:1px solid rgba(74,96,122,.45)}
.aiDecisionConfidence b{font-weight:850;color:var(--txt)}
.aiDecisionConfidence span{color:var(--muted);font-size:11px;margin-left:4px}
.aiActionEyebrow{font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--mfc178);
  margin:0 0 4px}
.aiBiasSupport{margin:10px 0 2px;padding:10px 0;border-top:1px solid rgba(74,96,122,.45)}
.aiBiasSupportK{font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--mfc178);margin-bottom:5px}
.aiBiasSupportV{font-size:13px;font-weight:800;line-height:1.2;letter-spacing:.03em;text-transform:uppercase;margin-bottom:7px}
.atBias-long .aiBiasSupportV{color:var(--green)}
.atBias-short .aiBiasSupportV{color:var(--red)}
.atBias-wait .aiBiasSupportV{color:var(--amber)}
.aiBiasSupportBar{height:6px;border-radius:999px;background:var(--red);overflow:hidden;margin-bottom:6px;
  box-shadow:inset 0 0 0 1px var(--border)}
.aiBiasSupportBar div{height:100%;background:var(--green);transition:width .4s}
.aiBiasSupportNums{display:flex;justify-content:space-between;font-size:11px}
.aiBiasSupportNums .buy{color:var(--green)}.aiBiasSupportNums .sell{color:var(--red)}
.aiBiasSupportNums b{font-size:12px}
.aiHtfSupport{margin-top:0}
.aiHtfSummary{margin:0 0 7px;line-height:1.38;font-weight:600;color:var(--mfc120)}
.aiHtfRows{display:grid;grid-template-columns:1fr auto;gap:3px 12px;font-size:11px;line-height:1.25}
.aiHtfRows .k{color:var(--muted);font-weight:600}
.aiHtfRows .v{color:var(--mfc120);font-weight:800;text-align:right;text-transform:lowercase}
.atDecisionEyebrow{font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mfc178);margin-bottom:7px}
.atDecisionLabel{font-size:22px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  line-height:1.08;margin:0 0 13px;overflow-wrap:normal;word-break:normal;text-wrap:balance;
  max-width:100%;box-sizing:border-box}
.atDecisionLabel-compact{font-size:15px;line-height:1.2;letter-spacing:.02em;margin:0 0 10px;
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-right:2px}
.atDecisionLabelLine{display:block;max-width:100%;overflow-wrap:break-word;word-break:normal}
.atDecisionLabelTag{font-size:10px;font-weight:850;letter-spacing:.14em;opacity:.88}
.atDecision-reversal.aiDecisionCard{padding:16px 14px 15px}
.atDecision-long .atDecisionLabel{color:var(--green,var(--mfa67))}
.atDecision-short .atDecisionLabel{color:var(--red,var(--mfa68))}
.atDecision-reversal{border-color:rgba(255,120,120,.42);background:var(--card)}
.atDecision-reversal.atDecision-short .atDecisionLabel{color:var(--red,var(--mfa68))}
.atDecision-reversal.atDecision-long .atDecisionLabel{color:var(--green,var(--mfa67))}
.atFsmLifecycleDual{flex-direction:column;align-items:stretch;gap:8px;margin:0 0 12px;width:100%}
.atFsmLifecycleRowItem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  column-gap:10px;min-width:0;width:100%}
.atFsmLifecyclePillHist{color:var(--muted);border-color:color-mix(in srgb, var(--muted) 40%, transparent);
  background:color-mix(in srgb, var(--muted) 10%, transparent)}
.atFsmLifecyclePillRev{color:#ff8787;border-color:color-mix(in srgb, #ff8787 46%, transparent);
  background:color-mix(in srgb, #ff8787 14%, transparent)}
.atDecision-wait .atDecisionLabel{color:var(--amber,var(--mfa69))}
.atDecision-done .atDecisionLabel{color:var(--mfa4)}
.atDecision-none .atDecisionLabel{color:var(--muted)}
.atFsmLifecycle{display:flex;align-items:center;gap:9px;margin:0 0 12px;min-height:26px;width:100%}
.atFsmLifecycleK{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--mfc178);
  line-height:1.1;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.atFsmLifecyclePill{font-size:11px;font-weight:850;line-height:1.2;padding:5px 11px;border-radius:999px;
  color:var(--at-fsm-color);border:1px solid color-mix(in srgb, var(--at-fsm-color) 46%, transparent);
  background:color-mix(in srgb, var(--at-fsm-color) 14%, transparent);white-space:nowrap;
  overflow-wrap:normal;word-break:normal;justify-self:end;flex-shrink:0}
.atAiReview{margin:0 0 2px;padding:12px 14px;border-radius:12px;
  background:color-mix(in srgb, var(--at-review-color) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--at-review-color) 28%, transparent)}
.atAiReviewK{font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--mfc178);line-height:1.1;margin-bottom:8px}
.atAiReviewHeadline{font-size:13px;font-weight:850;line-height:1.25;color:var(--at-review-color);margin-bottom:8px}
.atAiReviewLine{font-size:12px;color:var(--muted);line-height:1.45;margin-top:6px}
.atAiReviewLine:first-of-type{margin-top:0}
.atAiReviewCompact .atAiReviewHeadline{margin-bottom:6px}
.atAiReviewReasons{margin-top:4px}
.atAiReviewReasonsK{font-size:10px;font-weight:800;color:var(--muted);margin-bottom:4px}
.atAiReviewReasonList{margin:0;padding:0;list-style:none}
.atAiReviewReasonList li{font-size:11px;line-height:1.45;color:var(--muted);padding-left:10px;position:relative}
.atAiReviewReasonList li::before{content:"–";position:absolute;left:0;color:var(--muted)}
.atAiReviewMeta{margin:6px 0 0}
.atAiReviewNote{margin-top:8px;font-style:italic;font-size:10px}
.atAiMemorySection .atAiMemoryLead{font-size:12px;font-weight:700;margin:0}
.atAiMemoryStat{margin:4px 0 0}
.atAiMemoryLc{margin:4px 0 0}
.atAiMemoryBlock{margin-top:10px}
.atAiMemorySub{font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}
.atAiMemoryList{margin:0;padding:0;list-style:none}
.atAiMemoryList li{font-size:11px;line-height:1.45;padding-left:16px;position:relative;margin-top:3px}
.atAiMemoryWin .atAiMemoryList li::before{content:"✓";position:absolute;left:0;color:var(--green,#00c27a)}
.atAiMemoryRisk .atAiMemoryList li::before{content:"⚠";position:absolute;left:0;color:var(--amber,#ffb74d)}
.atAiMemoryRead{margin-top:10px}
.atAiMemoryQuote{margin:4px 0 0;font-size:11px;line-height:1.45;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.atAiMemoryNote{margin-top:10px;font-style:italic}
.atIntelSection .atIntelLead{font-size:12px;line-height:1.45;margin:0}
.atIntelBlock{margin-top:10px}
.atIntelSub{font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}
.atIntelList{margin:0;padding:0;list-style:none}
.atIntelList li{font-size:11px;line-height:1.45;padding-left:16px;position:relative;margin-top:3px}
.atIntelWin .atIntelList li::before{content:"✓";position:absolute;left:0;color:var(--green,#00c27a)}
.atIntelRisk .atIntelList li::before{content:"⚠";position:absolute;left:0;color:var(--amber,#ffb74d)}
.atIntelExplain{font-size:11px;line-height:1.45;margin:0}
.atIntelReasonList{margin:0;padding:0;list-style:none}
.atIntelReasonList li{font-size:11px;line-height:1.45;margin-top:3px}
.atIntelPos{color:var(--green,#00c27a)}
.atIntelNeg{color:var(--amber,#ffb74d)}
.atIntelMemory{margin-top:8px;font-style:italic}
.atIntelNote{margin-top:10px;font-style:italic;font-size:10px}
.atIntelConfHint{margin:4px 0 0;font-size:10px;line-height:1.35}
.atDecisionItem{padding:8px 0;border-top:1px solid rgba(74,96,122,.45)}
.atDecisionItem:last-child{padding-bottom:0}
.atDecisionK{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mfc178);margin-bottom:5px}
.atDecisionV{font-size:12px;line-height:1.42;font-weight:600;color:var(--mfc120);min-width:0;
  overflow-wrap:anywhere;word-break:break-word}
.atActionItem{padding:5px 0 7px}
.atActionItem .atDecisionK{font-size:8px;margin-bottom:3px}
.atActionItem .atDecisionV{font-size:11px;line-height:1.25;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mfc178)}
.atDecisionItem.atConfHigh .atDecisionV{color:var(--green)}
.atDecisionItem.atConfMod .atDecisionV{color:var(--amber)}
.atDecisionItem.atConfLow .atDecisionV{color:var(--muted)}
.atRecoveryStates{display:flex;gap:6px;flex-wrap:wrap}
.atRecoveryPill{font-size:10px;font-weight:800;letter-spacing:.04em;padding:3px 7px;border-radius:999px;color:var(--muted);background:var(--surface-2);border:1px solid transparent}
.atRecoveryPill.active{color:var(--mfc52);background:var(--mfa74);border-color:var(--mfa74)}
.atLifecycle{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.atLifePill{font-size:9px;font-weight:800;letter-spacing:.05em;padding:3px 6px;border-radius:999px;border:1px solid var(--mfc176);color:var(--muted);background:var(--mfc52)}
.atLifePill.past{opacity:.55;color:var(--mfc178)}
.atLifePill.active{color:var(--mfc52);background:var(--mfa74);border-color:var(--mfa74)}
.atLifePill.future{opacity:.65}
.atLifeArrow{font-size:10px;color:var(--mfc179)}
.atHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.atHead .cardTitle{margin-bottom:0}
.atHeadActions{display:flex;align-items:center;gap:4px}
.atLearningRefreshBtn{padding:4px 6px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:6px;font-size:14px;line-height:1}
.atLearningRefreshBtn:hover{color:var(--text);background:var(--mfc175)}
.atCopyBtn{border:none;background:transparent;color:var(--muted);cursor:pointer;
  padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}
.atCopyBtn:hover{color:var(--txt);background:var(--surface-2)}
.atBody{font-size:11px;line-height:1.5;color:var(--txt);margin-top:10px;min-width:0;overflow:hidden}
.atUpdated{font-size:11px;margin:8px 0 6px;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.atSection{padding:10px 0;border-top:1px solid var(--mfc180)}
.atSection:first-of-type{border-top:none;padding-top:0}
.atSectionTitle{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mfc181);margin-bottom:6px}
.atSectionBody{font-size:11px;line-height:1.5}
.atLead{font-size:12px;font-weight:700;margin:0;line-height:1.38}
.atAction{font-size:12px;font-weight:600;margin:0;color:var(--txt);line-height:1.38}
.atMarketQuality .atMqHead{margin:0}
.atMarketQuality.atMqPositive .atMqHead{color:var(--mfc120)}
.atMarketQuality.atMqWarning .atMqHead{color:var(--amber,var(--mfa69))}
.atMqBody{margin:4px 0 0}
.atLearningConfidence .atLcGrid{margin-top:6px}
.atLearningConfidence .atLcWarn{margin-top:8px;color:var(--amber,var(--mfa69))}
.atLearningConfidence .atLcNote{margin-top:8px;font-style:italic}
.atSimilarEvidence .atSeSummary{margin:4px 0 0}
.atSimilarEvidence .atSeContext{margin:6px 0 0;line-height:1.45}
.atSimilarEvidence .atSeCtx{display:inline-block;margin-right:8px}
.atSimilarEvidence .atSeBlock{margin-top:8px}
.atSimilarEvidence .atSeBlockLabel{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.atSimilarEvidence .atSeTraits{margin:4px 0 0;padding-left:0;list-style:none}
.atSimilarEvidence .atSeTrait{font-size:10px;line-height:1.45;color:var(--text)}
.atSimilarEvidence .atSeClosest{margin:6px 0 0}
.atSimilarEvidence .atSeExplain{margin:6px 0 0}
.atSimilarEvidence .atSeNote{margin-top:8px;font-style:italic}
.atStatus{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.05em;padding:4px 9px;border-radius:5px}
.atStatExec{color:#00c27a;background:rgba(0,194,122,.12)}
.atStatForming{color:var(--mfa43);background:var(--mfa12)}
.atStatWatch{color:var(--mfa4);background:var(--mfa53)}
.atStatNone{color:var(--muted);background:var(--surface-2)}
.atStatDone{color:#00c27a;background:rgba(0,194,122,.08)}
.atStatInvalid{color:var(--mfa75);background:var(--mfa76)}
.atFormingMsg{font-size:12px;color:var(--mfa43);margin:6px 0 4px;line-height:1.45}
.atSetupGhost{opacity:.75}
.atSetupGhost .v{color:var(--muted)!important}
.atConfReq{margin-top:6px;font-style:italic}
.atDominant{display:block;font-size:12px;font-weight:800;color:var(--mfa74);margin-bottom:2px}
.atSetupGrid{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:10px;margin-top:4px}
.atSetupGrid .k{color:var(--muted)}
.atSetupGrid .v{text-align:right;font-weight:600}
.atQualityGrid{grid-template-columns:1fr auto;font-size:10px}
.atQualityGrid .v{font-size:11px;color:var(--mfc120)}
.atNoSetup{margin:6px 0 0;font-style:italic}
.atConf{font-size:15px;font-weight:700;margin-bottom:4px}
.atConfHigh{color:var(--green)}
.atConfMod{color:var(--amber)}
.atConfLow{color:var(--muted)}
.atConfExpl{margin:0;font-size:11px;line-height:1.4}
.atDisclaimer{margin:8px 0 0;font-size:9px;line-height:1.35}

/* Market Analyst — legacy */
.marketAnalystCard{padding:12px 12px 10px}
.maHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.maHead .cardTitle{margin-bottom:0}
.maCopyBtn{border:none;background:transparent;color:var(--muted);cursor:pointer;
  padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}
.maCopyBtn:hover{color:var(--txt);background:var(--surface-2)}
.maBody{font-size:12px;line-height:1.55;color:var(--txt);margin-top:8px}
.maUpdated{font-size:10px;margin-bottom:6px}
.maSection{padding:10px 0;border-top:1px solid var(--surface-2)}
.maSection:first-of-type{border-top:none;padding-top:0}
.maSectionTitle{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px}
.maProse{font-size:12px;line-height:1.55;color:var(--txt)}
.maChangeRow{display:flex;justify-content:space-between;gap:10px;margin-bottom:3px;font-size:11px}
.maChangeKey{color:var(--muted);flex-shrink:0}
.maChangeVal{text-align:right}
.maConf{font-size:15px;font-weight:700;margin-bottom:4px}
.maConfHigh{color:var(--green)}
.maConfMod{color:var(--amber)}
.maConfLow{color:var(--muted)}
.maConfExpl{font-size:11px;color:var(--muted);line-height:1.4}
.maDisclaimer{margin:8px 0 0;font-size:9px;line-height:1.35}

/* Opportunity Engine (legacy) */
.opportunityCard{padding:12px 12px 10px}
.oppHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.oppHead .cardTitle{margin-bottom:0}
.oppCopyBtn{border:none;background:transparent;color:var(--muted);cursor:pointer;
  padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}
.oppCopyBtn:hover{color:var(--txt);background:var(--surface-2)}
.oppBody{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;
  line-height:1.45;color:var(--txt);margin-top:8px}
.oppSection{padding:8px 0;border-top:1px solid var(--surface-2)}
.oppSection:first-child{border-top:none;padding-top:0}
.oppSectionTitle{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin-bottom:5px}
.oppBias{font-size:15px;font-weight:700;letter-spacing:.04em}
.oppBias.buy{color:var(--green)}
.oppBias.sell{color:var(--red)}
.oppBias.none{color:var(--muted)}
.oppSub{font-size:10px;color:var(--muted);margin-top:3px}
.oppReadiness{font-size:22px;font-weight:700;letter-spacing:.02em}
.oppReadyHigh{color:var(--green)}
.oppReadyMid{color:var(--amber)}
.oppReadyLow{color:var(--muted)}
.oppName{font-size:12px;font-weight:700;margin-bottom:3px}
.oppName.active{color:var(--txt)}
.oppName.inactive{color:var(--amber)}
.oppDesc{font-size:10px;color:var(--muted);line-height:1.4}
.oppGrade{font-size:16px;font-weight:700}
.oppGrade.oppA{color:var(--green)}
.oppGrade.oppB{color:var(--mfa77)}
.oppGrade.oppC{color:var(--amber)}
.oppGrade.oppNone{color:var(--muted)}
.oppRow{display:flex;justify-content:space-between;gap:8px;margin-bottom:2px}
.oppKey{color:var(--muted)}
.oppVal{text-align:right}
.oppHistNote{margin-top:5px;font-size:9px;color:var(--amber)}
.oppRisk{font-size:13px;font-weight:700}
.oppRiskLow{color:var(--green)}
.oppRiskMod{color:var(--amber)}
.oppRiskHigh{color:var(--red)}
.oppDisclaimer{margin:8px 0 0;font-size:9px;line-height:1.35}

/* AI Trading Desk (legacy) */
.tradingDeskCard{padding:12px 12px 10px}
.tdHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.tdHead .cardTitle{margin-bottom:0}
.tdCopyBtn{border:none;background:transparent;color:var(--muted);cursor:pointer;
  padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}
.tdCopyBtn:hover{color:var(--txt);background:var(--surface-2)}
.tdBody{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;
  line-height:1.45;color:var(--txt);margin-top:8px}
.tdSection{padding:8px 0;border-top:1px solid var(--surface-2)}
.tdSection:first-child{border-top:none;padding-top:0}
.tdSectionTitle{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin-bottom:5px}
.tdStatus{font-size:15px;font-weight:700;letter-spacing:.04em}
.tdStatus.wait{color:var(--amber)}
.tdStatus.go{color:var(--green)}
.tdStatus.invalidated{color:var(--red)}
.tdSubtitle{font-size:11px;font-weight:600;margin-top:2px;color:var(--txt);opacity:.92}
.tdTradeNote{margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--amber)}
.tdScenarioTitle{margin-bottom:3px}
.tdScenarioPath{color:var(--muted);font-size:10px}
.tdExecLine{margin-bottom:2px}
.tdExecKey{color:var(--muted)}
.tdInvalidation{color:var(--txt)}
.tdReasoning{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.tdReasoning li{display:flex;align-items:flex-start;gap:6px}
.tdReasonMark{flex-shrink:0;font-weight:700}
.tdReasoning li.ok .tdReasonMark{color:var(--green)}
.tdReasoning li.bad .tdReasonMark{color:var(--red)}

@media (max-width:1200px){
  .fgBody{grid-template-columns:1fr}
  .fgHistCol{min-height:88px}
}

/* ============================================================
   Candl drawing toolbox + Indicators modal (from github.com/rahulsangam7/Candl)
   ============================================================ */

/* Grouped drawing tools — flyout menus (Candl tool set). */
.drawToolSep{height:1px;margin:5px 6px;background:var(--border)}
.drawGroupBtn{position:relative}
.drawGroupBtn .drawCaret{position:absolute;right:2px;bottom:2px;width:0;height:0;
  border-left:3px solid transparent;border-bottom:3px solid currentColor;opacity:.55}
.drawFlyout{position:fixed;z-index:1000;min-width:188px;max-height:78vh;overflow-y:auto;
  background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px;
  box-shadow:0 10px 30px var(--mfs19);scrollbar-width:thin}
.drawFlyoutHdr{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);padding:4px 8px 6px}
.drawFlyoutItem{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;
  color:var(--txt);cursor:pointer;padding:6px 8px;border-radius:6px;font-size:13px;text-align:left;
  transition:background .12s ease}
.drawFlyoutItem:hover{background:var(--mfa53)}
.drawFlyoutItem.active{background:rgba(0,194,122,.16);color:var(--green)}
.drawFlyoutIcon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;
  flex:0 0 auto;color:var(--mfc182)}
.drawFlyoutItem.active .drawFlyoutIcon{color:var(--green)}
.drawFlyoutLbl{white-space:nowrap}

/* Indicators modal (TradingView-style picker, MoneyFlow design system). */
.indModalOverlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;
  background:var(--mfc183);backdrop-filter:blur(2px)}
.indModalOverlay[hidden]{display:none}
.indModal{display:flex;flex-direction:column;width:min(880px,92vw);height:min(620px,86vh);
  background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden;
  box-shadow:0 24px 80px var(--mfs20)}
.indModalHead{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}
.indModalTitle{font-size:18px;font-weight:600;color:var(--txt);letter-spacing:-.01em}
.indModalClose{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;
  background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;transition:color .12s,background .12s}
.indModalClose:hover{color:var(--txt);background:var(--surface-2)}
.indModalClose i{font-size:20px;line-height:1}
.indModalSearch{display:flex;align-items:center;gap:8px;margin:0 20px 12px;padding:9px 12px;
  background:var(--surface-2);border:1px solid var(--border);border-radius:9px;color:var(--muted)}
.indModalSearch i{font-size:18px;line-height:1}
.indModalSearch input{flex:1;border:none;background:transparent;color:var(--txt);font-size:14px;outline:none}
.indModalSearch input::placeholder{color:var(--muted)}
.indModalBody{flex:1;display:flex;min-height:0;border-top:1px solid var(--border)}
.indListWrap{flex:1;display:flex;flex-direction:column;min-width:0}
.indListHead,.indRow{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:10px}
.indListHead{padding:12px 20px 8px;font-size:10px;font-weight:700;letter-spacing:.07em;color:var(--muted);
  border-bottom:1px solid var(--border)}
.indList{flex:1;overflow-y:auto;padding:6px 10px 12px;scrollbar-width:thin}
.indRow{width:100%;border:none;background:transparent;color:var(--txt);cursor:pointer;
  padding:9px 10px;border-radius:8px;text-align:left;font-size:13.5px;transition:background .12s}
.indRow:hover{background:var(--surface-2)}
.indRow .indColName{display:flex;align-items:center;gap:8px;min-width:0}
.indColAuthor{color:var(--info);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.indAppliedTag{font-size:10px;font-weight:700;color:var(--green);background:rgba(0,194,122,.14);
  padding:1px 6px;border-radius:4px;letter-spacing:.03em}
.indEmpty{padding:28px 20px;color:var(--muted);font-size:13.5px;text-align:center}

/* Applied-indicator legend, stacked under the ticker name. */
.chartIndLegend{position:absolute;top:40px;left:10px;z-index:5;display:flex;flex-direction:column;gap:3px;
  pointer-events:none}
.chartIndLegend[hidden]{display:none}
.indLegendRow{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:520px;
  padding:2px 6px;border-radius:5px;background:var(--mfc184);pointer-events:auto}
.indLegendRow:hover{background:var(--mfc185)}
.indLegendRow.is-hidden .indLegendName{color:var(--muted);opacity:.72}
.indLegendRow.is-hidden .indLegendBtn[data-eye],
.indLegendRow.is-hidden .indLegendBtn[data-ta-eye]{display:inline-flex;color:var(--muted)}
.indLegendName{font-size:11.5px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-family:ui-monospace,Menlo,Consolas,monospace}
.indLegendBtn{display:none;align-items:center;justify-content:center;width:18px;height:18px;border:none;
  background:transparent;color:var(--muted);border-radius:4px;cursor:pointer;flex:0 0 auto}
.indLegendRow:hover .indLegendBtn{display:inline-flex}
.indLegendBtn:hover{color:var(--txt);background:var(--mfc25)}
.indLegendRows{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.indLegendToggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:fit-content;
  cursor:pointer;pointer-events:auto;padding:5px 11px;border-radius:7px;
  background:var(--mfc186);border:1px solid var(--border);color:var(--txt);
  font:13px/1 ui-monospace,Menlo,Consolas,monospace}
.indLegendToggle:hover{background:var(--mfc187);border-color:var(--muted)}
.indLegendToggle svg{color:var(--muted)}
.indLegendCount{font-weight:500;letter-spacing:.02em}
/* AUTHOR header column matches the NAME header (same font/colour). */
.indListHead .indColAuthor{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit}
/* Gear (settings) button on Library legend rows — matches the other row btns. */
.indLegendGear{color:var(--muted)}
.indLegendRow:hover .indLegendGear{display:inline-flex}

/* ===== Deep Profile — menu tag/gear, banner, tooltip, legend chip, modal ===== */
.indModeTag{margin-left:6px;font-size:10px;color:#7C8CFF;font-weight:600}
.indMenuItem:not(.active) .indModeTag{color:var(--muted,#8a96a3)}
.indGear{opacity:.55;font-size:12px;line-height:1;cursor:pointer;padding:0 2px;user-select:none}
.indGear:hover{opacity:1}
/* Bottom-left status — never share the symbol-header corner. */
.deepProfileBanner{position:absolute;top:auto;bottom:10px;left:10px;z-index:39;pointer-events:none;max-width:min(420px,60%);
  padding:5px 10px;border-radius:6px;font-size:11.5px;font-weight:600;letter-spacing:.1px;backdrop-filter:blur(3px);
  background:rgba(14,19,26,.92);border:1px solid var(--border,#2a3340);color:var(--txt,#e6e9ee)}
.deepProfileBanner[hidden]{display:none!important}
.deepProfileBanner.warn{background:rgba(255,92,92,.16);border:1px solid rgba(255,92,92,.5);color:#ffd7d7}
.deepProfileBanner.building{background:rgba(124,140,255,.16);border:1px solid rgba(124,140,255,.5);color:#cdd4ff}
.deepProfileBanner.recovering{background:rgba(245,166,35,.12);border:1px solid rgba(245,166,35,.45);color:#ffe2b0;
  font-weight:500;padding:4px 8px;font-size:11px;max-width:min(360px,50%)}
.deepProfileBanner.replay{background:rgba(0,194,122,.12);border:1px solid rgba(0,194,122,.4);color:#b8f5d8}
.deepProfileBanner.debug{background:rgba(14,19,26,.92);border:1px solid var(--border,#2a3340);color:var(--muted,#8a96a3)}
.deepProfileTooltip{position:absolute;z-index:60;pointer-events:none;min-width:132px;padding:7px 9px;border-radius:7px;
  font-size:11px;line-height:1.5;background:rgba(14,19,26,.94);border:1px solid var(--border,#2a3340);
  box-shadow:0 8px 24px rgba(0,0,0,.5);backdrop-filter:blur(4px);color:var(--txt,#e6e9ee)}
.deepProfileTooltip[hidden]{display:none}
.deepProfileTooltip .dpTipPx{font-weight:700;font-size:12px;margin-bottom:4px;padding-bottom:4px;
  border-bottom:1px solid var(--border,#2a3340);font-family:ui-monospace,monospace}
.deepProfileTooltip .dpTipRow{display:flex;justify-content:space-between;gap:16px}
.deepProfileTooltip .dpTipRow span{color:var(--muted,#8a96a3)}
.deepProfileTooltip .dpTipRow b{font-family:ui-monospace,monospace;font-weight:600}
.deepProfileTooltip .dpTipRow b.up{color:#00c27a}
.deepProfileTooltip .dpTipRow b.dn{color:#ff5c5c}
.indLegendParams{color:var(--muted);margin-left:2px}
.indRow.indRowHasGear{grid-template-columns:minmax(0,1fr) auto 160px}
.indRowActions{display:inline-flex;gap:2px;align-items:center}
.indRowGear{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;
  color:var(--muted,#8a96a3);cursor:pointer;transition:background .12s,color .12s}
.indRowGear:hover{background:var(--surface-2,#1a2029);color:var(--txt,#e6e9ee)}
.vpSettingsPanel .vpsCat{font-weight:700;font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted,#8a96a3);margin:12px 0 6px;padding-bottom:3px;border-bottom:1px solid var(--border,#2a3340)}
.vpSettingsPanel .vpsCat small{text-transform:none;letter-spacing:0;font-weight:400;opacity:.7}
.vpSettingsPanel .vpsColorGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.vpSettingsPanel .vpsColorGrid label{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px}
.vpSettingsPanel .vpsColorGrid input[type=color]{width:30px;height:20px;padding:0;border:1px solid var(--border,#2a3340);border-radius:4px;background:none;cursor:pointer}
.vpSettingsPanel .vpsSeg button.vpsSegDisabled,.vpSettingsPanel .vpsCheck.vpsDisabled{opacity:.4;cursor:not-allowed}
#deepProfileModalOverlay{z-index:2100}
.taSetBody .dpModalBody.vpSettingsPanel{position:static;width:auto;max-width:none;max-height:none;
  border:none;background:none;box-shadow:none;padding:0;overflow:visible}

/* ── Per-indicator settings panel (Candl-style gear screen) ─────────── */
.taSettingsOverlay{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;
  background:var(--mfc183);backdrop-filter:blur(2px)}
.taSettingsOverlay[hidden]{display:none}
.taSettingsModal{width:340px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--border);border-radius:12px;
  box-shadow:0 18px 48px rgba(0,0,0,.38);overflow:hidden}
.taSetHead{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 16px;border-bottom:1px solid var(--border)}
.taSetTitle{font-size:14px;font-weight:600;color:var(--txt)}
.taSetClose{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border:none;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer}
.taSetClose:hover{color:var(--txt);background:var(--surface-2)}
.taSetBody{flex:1;overflow-y:auto;padding:12px 16px;scrollbar-width:thin}
.taSetSub{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--muted);
  margin:10px 0 6px;text-transform:uppercase}
.taSetSub:first-child{margin-top:0}
.taSetSection{padding:6px 0;border-bottom:1px dashed var(--border)}
.taSetSection:last-child{border-bottom:none}
.taSetRow{display:grid;grid-template-columns:1fr 120px;align-items:center;gap:10px;padding:5px 0}
.taSetLabel{font-size:12.5px;color:var(--txt)}
.taSetNum,.taSetSelect{width:100%;height:30px;padding:0 8px;border-radius:7px;
  border:1px solid var(--border);background:var(--surface-2);color:var(--txt);font-size:12.5px}
.taSetNum:focus,.taSetSelect:focus{outline:none;border-color:var(--accent)}
.taSetColor{width:100%;height:30px;padding:2px;border:1px solid var(--border);border-radius:7px;
  background:var(--surface-2);cursor:pointer}
.taSetFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 16px;border-top:1px solid var(--border)}
.taSetReset{border:none;background:transparent;color:var(--muted);font-size:12.5px;cursor:pointer;
  padding:6px 4px;border-radius:6px}
.taSetReset:hover{color:var(--txt)}
.taSetDone{border:none;background:var(--accent);color:var(--on-accent,#fff);font-size:12.5px;font-weight:600;
  cursor:pointer;padding:7px 18px;border-radius:8px}
.taSetDone:hover{filter:brightness(1.06)}

/* ── Indicator modal tabs (Library / Custom) ────────────────────────── */
.indTabs{display:flex;align-items:center;gap:4px;padding:10px 16px 0;margin:0 4px}
.indTab{border:none;background:transparent;color:var(--muted);font-size:13.5px;font-weight:600;cursor:pointer;
  padding:7px 14px;border-radius:8px;transition:background .12s,color .12s}
.indTab:hover{color:var(--txt);background:var(--surface-2)}
.indTab.active{color:var(--accent);background:var(--mfc25,rgba(120,130,255,.12));
  box-shadow:inset 0 0 0 1px var(--accent)}

/* ── Custom tab: MY INDICATORS header + New indicator button ─────────── */
.indCustomHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 5px}
.indCustomHead .indGroupHead{padding:0}
.indNewBtn{display:inline-flex;align-items:center;gap:5px;border:none;cursor:pointer;
  background:var(--accent);color:var(--on-accent,#fff);font-size:12.5px;font-weight:600;
  padding:6px 12px;border-radius:8px}
.indNewBtn:hover{filter:brightness(1.06)}
.indNewBtn i{font-size:14px}
.indRowCustom{cursor:pointer;justify-items:stretch}
.indRowCustom:hover{background:var(--surface-2)}
.indColBadge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.03em;color:var(--muted);
  background:var(--surface-2);padding:1px 6px;border-radius:4px;margin-left:6px}
.indCustomActions{display:inline-flex;align-items:center;gap:2px;justify-content:flex-end}
.indRowBtn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;
  background:transparent;color:var(--muted);border-radius:6px;cursor:pointer}
.indRowBtn:hover{color:var(--txt);background:var(--mfc25,rgba(120,130,255,.14))}
.indRowCustom .indColBadge.indBadge-pane{color:var(--info)}

/* ── Custom-indicator editor: docked right side panel (TradingView Pine-editor style) */
.indEditorPanel{position:fixed;top:0;right:0;bottom:0;z-index:2100;width:min(560px,46vw);
  display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--border);
  box-shadow:-18px 0 60px rgba(0,0,0,.45)}
.indEditorPanel[hidden]{display:none}
.indEditorHead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;
  padding:14px 16px;border-bottom:1px solid var(--border)}
.indEditorTitle{font-size:15px;font-weight:600;color:var(--txt)}
.indEditorBody{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px 16px;overflow:auto}
.indEditorFoot{display:flex;align-items:center;gap:10px;flex:0 0 auto;
  padding:12px 16px;border-top:1px solid var(--border)}
.ceCodeWrap{flex:1;min-height:220px;display:flex;margin-top:12px}
.ceCode{flex:1;width:100%;min-height:0;resize:none;box-sizing:border-box;
  padding:12px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--txt);
  font:12.5px/1.55 ui-monospace,Menlo,Consolas,monospace;tab-size:2;white-space:pre;overflow:auto}
.ceCode:focus{outline:none;border-color:var(--accent)}
.ceError{margin-top:10px;padding:9px 11px;border-radius:8px;font-size:12px;line-height:1.4;flex:0 0 auto;
  color:var(--red,#ef5350);background:rgba(239,83,80,.12);border:1px solid rgba(239,83,80,.35);
  font-family:ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap}
.ceFootSpacer{flex:1}
.ceDelete{color:var(--red,#ef5350)}
.ceDelete:hover{background:rgba(239,83,80,.12)}
@media (max-width:640px){.indEditorPanel{width:100vw;border-left:none}}

/* Property-box text option (text / note drawings). */
.dsmTextRow{display:flex;align-items:center;gap:8px;margin-top:8px}
.dsmTextRow[hidden]{display:none}
.dsmTextInput{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--border);
  color:var(--txt);border-radius:7px;padding:6px 9px;font-size:13px;outline:none}
.dsmTextInput:focus{border-color:var(--muted)}
.dsmTextInput::placeholder{color:var(--muted)}

/* ============================================================
   Light theme — palette override. Applied via <html data-theme="light">.
   Layout/sizing vars are intentionally left to the base :root.
   ============================================================ */
:root[data-theme="light"]{
  --bg:#f4f6f8;
  --panel:#ffffff;
  --card:#ffffff;
  --border:#dde3e9;
  --txt:#0e1620;
  --muted:#5c6773;
  --accent:#04a86d;
  --blue:#04a86d;
  --green:#04a86d;
  --red:#e5484d;
  --amber:#c07700;
  --neutral:#b58a00;
  --purple:#6d4dff;
  --info:#1573d4;
  --surface-2:#eef1f4;
  --surface-3:#e3e8ee;
  --surface-elevated:#ffffff;
  --highlight:#e6f4ee;
  --logo:#0a9d63;
  color-scheme: light;
}
:root[data-theme="light"] body{ background:var(--bg); color:var(--txt); }
/* Soften dark translucent overlays that assume a black backdrop. */
:root[data-theme="light"] .indLegendRow,
:root[data-theme="light"] .indLegendToggle{ background:var(--mfc188); border-color:var(--border); }
:root[data-theme="light"] .indLegendName{ color:var(--txt); }
:root[data-theme="light"] .drawFlyout,
:root[data-theme="light"] .drawSettingsMenu{ box-shadow:0 10px 30px var(--mfc189); }

/* ============================================================
   Trade Logs page — full view shown when the rail's trade-logs section is active.
   ============================================================ */
/* In-flow page that occupies the same content area as the dashboard (right of
   the rail, below the top bar) — a real page, not an overlay. */
.tradeLogsPage{display:none;flex-direction:column;flex:1 1 auto;min-height:0;
  margin:0 12px 12px var(--rail-w);
  background:var(--mfc6);border:1px solid var(--mfc7);border-top:0;border-radius:0 0 16px 16px;
  padding:20px 24px 14px;overflow:hidden}
body[data-app-section="trade-logs"]{display:flex;flex-direction:column;height:100vh;overflow:hidden}
body[data-app-section="trade-logs"] .topbar{flex:0 0 auto}
body[data-app-section="trade-logs"] .tradeLogsPage{display:flex}
body[data-app-section="trade-logs"] main.layout{display:none}
body[data-app-section="replay-lab"] .tradeLogsPage{display:none!important}
body[data-app-section="replay-lab"] main.layout{display:flex}
/* Keep the shell topbar but strip the live feed switch / clock / date on this page. */
body[data-app-section="trade-logs"] .topbarCenter,
body[data-app-section="trade-logs"] .topbarRight{display:none}
@media (max-width:720px){.tradeLogsPage{margin:0;height:auto;border:0;border-radius:0}}
/* The topbar already shows the "Trade Logs" title — drop the duplicate in-page header. */
.tlHead{display:none}
.tlTitle{font-size:22px;font-weight:600;color:var(--txt);letter-spacing:-.01em}
.tlClose{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;
  background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;transition:color .12s,background .12s}
.tlClose:hover{color:var(--txt);background:var(--surface-2)}
.tlClose i{font-size:20px;line-height:1}
.tlStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;flex:0 0 auto;margin-bottom:16px}
.tlCard{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.tlCardLabel{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.tlCardVal{font-size:26px;font-weight:700;color:var(--txt);margin-top:6px;line-height:1.1}
.tlCardSub{font-size:12px;color:var(--muted);margin-top:3px}
.tlFilters{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;margin-bottom:12px}
.tlFilterBtn{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;
  padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500;transition:all .12s}
.tlFilterBtn:hover{color:var(--txt);border-color:var(--muted)}
.tlFilterBtn.active{background:rgba(0,194,122,.16);border-color:rgba(0,194,122,.45);color:var(--green)}
.tlTableWrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:12px;
  background:var(--card);scrollbar-width:thin}
.tlTable{width:100%;border-collapse:collapse;font-size:13.5px}
.tlTable thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--muted);
  font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-align:left;
  padding:11px 16px;border-bottom:1px solid var(--border)}
.tlTable tbody td{padding:10px 16px;border-bottom:1px solid var(--mfc190);color:var(--txt);white-space:nowrap}
.tlTable tbody tr:hover{background:var(--surface-2)}
.tlDate{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--muted)}
.tlBias{display:inline-block;padding:2px 9px;border-radius:5px;font-size:12px;font-weight:600}
.tlBias.buy{background:rgba(0,194,122,.16);color:var(--green)}
.tlBias.sell{background:var(--mfa60);color:var(--red)}
.tlBias.flat{background:var(--surface-3);color:var(--muted)}
.tlOut,.tlRes{display:inline-flex;align-items:center;gap:4px}
.tlOut.up{color:var(--green)}.tlOut.down{color:var(--red)}.tlOut.flat{color:var(--muted)}
.tlRes.win{color:var(--green)}.tlRes.loss{color:var(--red)}.tlRes.na{color:var(--muted)}
.tlEmpty{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px}
.tlEmpty.tlError{color:var(--red)}
.tlRetryBtn{margin-left:8px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:13px;cursor:pointer}
.tlRetryBtn:hover{background:var(--surface3)}
/* Pager: per-page dropdown (left) · range + chevrons (right). */
.tlPager{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;
  padding:12px 2px 2px;border-top:1px solid var(--border);margin-top:8px;background:var(--mfc6)}
.tlPerPageSel{appearance:auto;background:transparent;border:1px solid var(--border);color:var(--txt);
  border-radius:8px;padding:5px 8px;font-size:12.5px;cursor:pointer;outline:none}
.tlPerPageSel:hover{border-color:var(--muted)}
.tlRange{display:flex;align-items:center;gap:10px}
.tlRangeText{font-size:12.5px;color:var(--muted);white-space:nowrap}
.tlNavBtn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;
  background:transparent;color:var(--muted);border-radius:7px;cursor:pointer;transition:color .12s,background .12s}
.tlNavBtn:hover:not([disabled]){color:var(--txt);background:var(--surface-2)}
.tlNavBtn[disabled]{opacity:.35;cursor:default}
.tlNavBtn i{font-size:18px;line-height:1}

/* ============================================================
   Trading Rooms — Sprint 1 home + room detail shell (mock data)
   ============================================================ */
.trPage{display:none;flex-direction:column;flex:1 1 auto;min-height:0;
  margin:0 12px 12px var(--rail-w);
  background:var(--mfc6);border:1px solid var(--mfc7);border-top:0;border-radius:0 0 16px 16px;
  padding:12px 24px 16px;overflow:hidden}
body[data-app-section="trading-rooms"]{display:flex;flex-direction:column;height:100vh;overflow:hidden}
body[data-app-section="trading-rooms"] .topbar{flex:0 0 auto}
body[data-app-section="trading-rooms"] .trPage{display:flex}
body[data-app-section="trading-rooms"] main.layout{display:none}
body[data-app-section="trading-rooms"] .tradeLogsPage{display:none!important}
body[data-app-section="trading-rooms"] .topbarCenter{display:none}
/* Home: section title in brand; hide room chrome and default topbarRight widgets. */
body[data-app-section="trading-rooms"]:not([data-tr-view="room"]) .topbarRight{display:none}
body[data-app-section="trading-rooms"] .trTopbarRoom,
body[data-app-section="trading-rooms"] .trTopbarActions{display:none!important}
/* Room detail: compact single-row chrome in the global topbar. */
body[data-app-section="trading-rooms"][data-tr-view="room"] .topbar{
  height:52px;min-height:52px;padding:0 14px;align-items:center;
  grid-template-columns:minmax(0,1fr) auto}
body[data-app-section="trading-rooms"][data-tr-view="room"] .brand{display:none!important}
body[data-app-section="trading-rooms"][data-tr-view="room"] .trTopbarRoom{
  display:flex!important;align-items:center;gap:10px;min-width:0}
body[data-app-section="trading-rooms"][data-tr-view="room"] .topbarLeft{min-width:0}
body[data-app-section="trading-rooms"][data-tr-view="room"] .topbarRight{
  display:flex!important;align-items:center;justify-self:end;margin-left:auto}
body[data-app-section="trading-rooms"][data-tr-view="room"] .topbarRight > :not(.trTopbarActions){display:none!important}
body[data-app-section="trading-rooms"][data-tr-view="room"] .trTopbarActions{
  display:flex!important;align-items:center;gap:10px}
body[data-app-section="trade-logs"] .trPage{display:none!important}
.trTopbarRoom{min-width:0}
.trTopbarRoom .trRoomTitle{font-size:15px;font-weight:600;line-height:1.2;margin:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(42vw,360px)}
.trTopbarRoom .trLeaderBadge{flex:0 0 auto}
.trTopbarRoom .trLiveInline,.trTopbarRoom .trIdleInline{flex:0 0 auto}
.trLiveInline,.trIdleInline{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.trLiveInline{color:var(--green)}
.trIdleInline{color:var(--muted)}
.trTopbarIcons{display:flex;align-items:center;gap:2px}
.trIconBtn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;
  background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;transition:color .12s,background .12s}
.trIconBtn:hover{color:var(--txt);background:var(--surface-2)}
.trIconBtn i{font-size:17px;line-height:1}
.trShareBtn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;
  border:1px solid var(--border);background:var(--surface-2);color:var(--txt);font-size:12px;font-weight:600;
  cursor:pointer;transition:background .12s,border-color .12s}
.trShareBtn:hover{background:var(--surface-3);border-color:var(--muted)}
.trShareBtn i{font-size:14px;line-height:1}
.trShareBtn[aria-expanded="true"]{background:var(--surface-3);border-color:var(--muted)}

/* Share Room popover */
.trSharePopover{
  position:fixed;z-index:20060;width:min(400px,calc(100vw - 24px));padding:14px;
  border-radius:12px;border:1px solid var(--border);background:var(--card);
  box-shadow:0 12px 40px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:10px;
}
.trSharePopover[hidden]{display:none!important}
.trSharePopoverHead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.trSharePopoverTitle{margin:0;font-size:15px;font-weight:600;color:var(--txt);letter-spacing:-.01em}
.trSharePopoverHint{margin:0;font-size:12px;color:var(--muted);line-height:1.35}
.trShareUrlField{margin:0}
.trShareUrlRow{display:flex;align-items:stretch;gap:8px}
.trShareUrlInput{
  flex:1 1 auto;min-width:0;height:34px;padding:0 10px;border-radius:8px;
  border:1px solid var(--border);background:var(--surface-2);color:var(--txt);
  font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.trShareUrlInput:focus{outline:2px solid rgba(59,130,246,.45);outline-offset:1px}
.trShareCopyStatus{margin:0}
.trShareFuture{display:flex;gap:8px;padding-top:4px;border-top:1px solid var(--border)}
.trShareFutureBtn{
  flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:34px;border-radius:8px;border:1px dashed var(--border);background:transparent;
  color:var(--muted);font-size:12px;font-weight:600;cursor:not-allowed;opacity:.72;
}
.trShareFutureBtn i{font-size:14px;line-height:1}

/* Room Settings panel */
.trRoomSettingsModal{width:min(720px,100%);max-height:min(560px,calc(100vh - 48px));display:flex;flex-direction:column}
.trRoomSettingsLayout{display:grid;grid-template-columns:168px minmax(0,1fr);gap:0;min-height:280px;
  border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--card)}
.trRoomSettingsNav{display:flex;flex-direction:column;gap:2px;padding:8px;border-right:1px solid var(--border);
  background:var(--surface-2)}
.trRoomSettingsTab{
  display:flex;align-items:center;width:100%;height:34px;padding:0 10px;border:none;border-radius:8px;
  background:transparent;color:var(--muted);font-size:13px;font-weight:600;text-align:left;cursor:pointer;
  transition:background .12s,color .12s;
}
.trRoomSettingsTab:hover{background:var(--surface-3);color:var(--txt)}
.trRoomSettingsTab.is-active{background:var(--surface-3);color:var(--txt)}
.trRoomSettingsTab:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:1px}
.trRoomSettingsBody{padding:16px 18px;min-width:0;overflow:auto}
.trRoomSettingsPaneTitle{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--txt)}
.trRoomSettingsPlaceholder{margin:0;font-size:13px;line-height:1.5;color:var(--muted);max-width:42ch}
@media (max-width:900px){
  .trRoomSettingsLayout{grid-template-columns:1fr}
  .trRoomSettingsNav{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--border)}
  .trRoomSettingsTab{width:auto;flex:0 0 auto}
}

.trTopbarSep{width:1px;height:20px;background:var(--border);flex:0 0 auto}
.trPresentBtn.trPresentBtn--spotlightAlias{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important;opacity:0!important;
  pointer-events:none!important
}
.trPeopleTrigger{position:relative;z-index:41;display:inline-flex;align-items:center;gap:4px;height:32px;
  padding:0 8px 0 4px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--txt);
  cursor:pointer;pointer-events:auto;-webkit-appearance:none;appearance:none}
.trPeopleTrigger:hover,.trPeopleTrigger[aria-expanded="true"]{background:var(--surface-2);border-color:var(--border)}
.trPeopleTrigger:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px}
.trPeopleChevron{font-size:14px;color:var(--muted);line-height:1;pointer-events:none}
/* Stack + all avatar children must NOT capture hits — button is the only target. */
.trAvatarStack,.trAvatarStack *{pointer-events:none!important}
.trAvatarStack{display:flex;align-items:center;flex:0 0 auto}
.trStackAvatar,.trStackMore{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;font-size:11px;font-weight:700;color:#fff;border:2px solid var(--mfc6);
  margin-left:-7px;box-sizing:border-box;position:relative}
.trStackAvatar:first-child,.trStackMore:first-child{margin-left:0}
.trStackAvatar.is-presenting{box-shadow:0 0 0 2px rgba(59,130,246,.85)}
.trStackMore{background:var(--surface-3);color:var(--muted)}
/* Portaled to document.body — opaque surface above chart/cursors/drawings. */
.trPeopleMenu{
  position:fixed;
  z-index:20050;
  width:320px;
  max-width:calc(100vw - 24px);
  padding:12px;
  border-radius:12px;
  border:1px solid var(--border);
  /* --surface-1 never existed → transparent menu. Opaque elevated surface + hex fallback. */
  background:var(--surface-elevated, #12181e);
  background-color:#12181e;
  color:var(--txt);
  opacity:1;
  isolation:isolate;
  box-shadow:0 18px 48px rgba(0,0,0,.72), 0 0 0 1px rgba(255,255,255,.04);
  display:flex;
  flex-direction:column;
  gap:10px;
  pointer-events:auto;
  overflow:visible;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  filter:none;
  transform:translateZ(0);
}
.trPeopleMenu[hidden]{display:none!important}
.trPeopleMenuSelf{display:flex;flex-direction:column;gap:8px;padding:2px 2px 10px;border-bottom:1px solid var(--border);flex:0 0 auto}
.trPeopleSelfRow{display:flex;align-items:center;gap:10px;min-width:0;position:relative}
.trPeopleSelfMeta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.trPeopleSelfName{font-size:13px;font-weight:600;color:var(--txt);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trPeopleSelfStatus{font-size:11px;color:var(--muted);line-height:1.2}
.trPeopleSpotlightBtn{flex:1 1 auto;width:auto;min-width:0;height:34px;border-radius:8px;border:1px solid rgba(59,130,246,.55);
  background:rgba(59,130,246,.18);color:#93c5fd;font-size:13px;font-weight:650;cursor:pointer;position:relative;z-index:1}
.trPeopleSpotlightBtn:hover{background:rgba(59,130,246,.28)}
.trPeopleSpotlightBtn.is-active{border-color:rgba(0,194,122,.45);background:rgba(0,194,122,.14);color:var(--green)}
.trPeopleSelfActions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%}
.trPeopleVoiceBtn{flex:0 0 auto;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);
  background:var(--surface-2);color:var(--txt);display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:16px;position:relative;z-index:1}
.trPeopleVoiceBtn:hover{background:var(--surface-3);border-color:var(--border-strong, var(--border))}
.trPeopleVoiceBtn.is-active{color:var(--green);border-color:rgba(0,194,122,.4);background:rgba(0,194,122,.12)}
.trPeopleVoiceBtn.is-connecting{opacity:.7;cursor:default}
.trPeopleVoiceBtn.is-connecting i{animation:trPeopleVoiceSpin .8s linear infinite}
.trPeopleVoiceBtn:disabled{opacity:.55;cursor:default}
@keyframes trPeopleVoiceSpin{to{transform:rotate(360deg)}}
.trPeopleMenuListHead{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.02em;padding:2px 2px 0;flex:0 0 auto}
.trPeopleMenuList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;
  max-height:min(280px,50vh);overflow:auto;position:relative}
.trPeopleMenuRow{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 6px;border-radius:8px;
  min-width:0;position:relative;background:transparent}
.trPeopleMenuRow:hover{background:var(--surface-2)}
.trPeopleMenuRow > .trStackAvatar{flex:0 0 auto;margin-left:0;pointer-events:none}
.trPeopleMenuRowMain{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.trPeopleMenuName{font-size:13px;font-weight:600;color:var(--txt);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trPeopleMenuStatus{font-size:11px;color:var(--muted);line-height:1.2}
.trPeopleActionBtn{flex:0 0 auto;height:28px;padding:0 10px;border-radius:7px;border:1px solid var(--border);
  background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;
  position:relative;z-index:1}
.trPeopleActionBtn:hover{color:var(--txt);border-color:var(--border-strong, var(--border))}
.trPeopleActionBtn.is-primary{border-color:rgba(59,130,246,.45);color:#93c5fd;background:rgba(59,130,246,.12)}
.trPeopleActionBtn.is-audio{border-color:rgba(0,194,122,.35);color:var(--muted)}
.trPeopleActionBtn.is-audio:hover{color:var(--green);border-color:rgba(0,194,122,.5)}
.trPeopleActionBtn:disabled{opacity:.55;cursor:default}
.trPeopleMenuRowActions{display:flex;flex-direction:column;align-items:stretch;gap:4px;flex:0 0 auto}
.trFollowRequestCard{position:fixed;z-index:20060;width:min(300px,calc(100vw - 24px));
  top:72px;right:420px;padding:12px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface-elevated, #12181e);background-color:#12181e;opacity:1;isolation:isolate;
  box-shadow:0 14px 34px rgba(0,0,0,.65);display:flex;flex-direction:column;gap:10px;pointer-events:auto}
.trFollowRequestCard[hidden]{display:none!important}
.trFollowRequestText{margin:0;font-size:13px;font-weight:600;color:var(--txt);line-height:1.35}
.trFollowRequestActions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.trVoiceSessionToast{position:fixed;z-index:20055;width:min(300px,calc(100vw - 24px));
  top:72px;right:420px;padding:12px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface-elevated, #12181e);background-color:#12181e;opacity:1;isolation:isolate;
  box-shadow:0 14px 34px rgba(0,0,0,.65);display:flex;flex-direction:column;gap:10px;pointer-events:auto}
.trVoiceSessionToast[hidden]{display:none!important}
.trVoiceSessionToastText{margin:0;font-size:13px;font-weight:600;color:var(--txt);line-height:1.35}
.trVoiceSessionToastActions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
@media (max-width:1200px){
  .trFollowRequestCard,.trVoiceSessionToast{right:16px}
}
.trFollowStatus{margin-right:4px;font-size:11px;color:var(--muted);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}
.trOnlineCount{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--green);
  white-space:nowrap}
.trHome{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:12px}
.trHome[hidden],.trRoomShell[hidden]{display:none!important}
.trHomeHead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}
.trBtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;
  padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;
  border:1px solid transparent}
.trBtnPrimary{background:rgba(0,194,122,.16);border-color:rgba(0,194,122,.45);color:var(--green)}
.trBtnPrimary:hover{background:rgba(0,194,122,.24)}
.trBtnGhost{background:transparent;border-color:var(--border);color:var(--muted)}
.trBtnGhost:hover{color:var(--txt);border-color:var(--muted);background:var(--surface-2)}
.trBtn[disabled]{opacity:.45;cursor:default}
.trTabs{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 auto;min-width:0}
.trTabBtn{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;
  padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500;transition:all .12s}
.trTabBtn:hover{color:var(--txt);border-color:var(--muted)}
.trTabBtn.active{background:rgba(0,194,122,.16);border-color:rgba(0,194,122,.45);color:var(--green)}
.trGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;
  flex:1 1 auto;min-height:0;overflow:auto;align-content:start;padding:2px;scrollbar-width:thin}
.trRoomCard{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:8px;
  background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;
  transition:border-color .12s,background .12s}
.trRoomCard:hover{border-color:rgba(0,194,122,.35);background:var(--surface-2)}
.trRoomCardTop{display:flex;align-items:center;justify-content:space-between;gap:8px}
.trRoomSymbol{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.trLiveBadge,.trIdleBadge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px}
.trLiveBadge{background:rgba(0,194,122,.14);color:var(--green)}
.trIdleBadge{background:var(--surface-3);color:var(--muted)}
.trLiveDot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px rgba(0,194,122,.2)}
.trRoomCardTitle{margin:0;font-size:16px;font-weight:600;color:var(--txt);line-height:1.25}
.trRoomCardBlurb{margin:0;font-size:13px;color:var(--muted);line-height:1.45;flex:1 1 auto}
.trRoomCardMeta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}
.trRoomCardMeta i{margin-right:4px;vertical-align:-2px}
.trEmpty{padding:32px 12px;text-align:center;color:var(--muted);font-size:14px}
.trInviteCard{display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.trInviteKicker{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.trInviteTitle{font-size:15px;font-weight:600;color:var(--txt);margin-top:4px}
.trInviteSub{font-size:12px;color:var(--muted);margin-top:2px}
.trInviteActions{display:flex;gap:8px;flex:0 0 auto}
.trRoomShell{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:12px}
.trBackBtn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;
  background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;transition:color .12s,background .12s;flex:0 0 auto}
.trBackBtn:hover{color:var(--txt);background:var(--surface-2)}
.trBackBtn i{font-size:18px;line-height:1}
.trRoomTitle{margin:0;font-size:15px;font-weight:600;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trLeaderBadge{font-size:11px;font-weight:600;letter-spacing:.01em;
  padding:2px 8px;border-radius:999px;background:rgba(124,92,255,.18);color:#b7a6ff}
.trRoomBody{display:flex;flex-direction:row;flex:1 1 auto;min-height:0;gap:10px;align-items:stretch}
.trRoomMain{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;gap:10px}
.trChartStage{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;
  border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:hidden;position:relative}
.trChartToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 12px;border-bottom:1px solid var(--border);flex:0 0 auto;min-width:0}
.trChartToolbarLeft{display:flex;align-items:center;gap:8px;min-width:0}
.trChartSymbol{font-size:13px;font-weight:700;color:var(--txt);letter-spacing:.02em}
.trChartExchange{font-size:11px;font-weight:600;color:var(--muted);padding:2px 6px;border-radius:4px;background:var(--surface-2)}
.trChartToolbarHint{margin:0;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trChartPlaceholder{flex:1 1 auto;min-height:0;border:none;border-radius:0;
  background:linear-gradient(180deg,var(--mfc19) 0%,var(--mfc6) 100%);overflow:hidden;position:relative;
  display:flex;flex-direction:column}
body[data-tr-chart-mount="room"] .trChartToolbar{display:none}
body[data-tr-chart-mount="room"] .trCollabBar{display:flex}
.trCollabBar{display:none;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;
  padding:6px 10px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(0,194,122,.06),transparent)}
.trDevHarnessBanner{position:fixed;left:var(--rail-w);right:0;bottom:0;z-index:45;display:flex;align-items:center;
  flex-wrap:wrap;gap:10px;padding:12px 16px;border-top:1px solid rgba(124,92,255,.4);
  background:linear-gradient(90deg,rgba(124,92,255,.16),rgba(0,194,122,.1));box-shadow:0 -4px 24px rgba(0,0,0,.35)}
.trDevHarnessBanner[hidden]{display:none!important}
.trDevHarnessLabel{font-size:12px;color:var(--txt);flex:1 1 220px;min-width:0}
.trDevHarnessBtn{flex:0 0 auto;border:1px solid var(--border);background:var(--surface-2);color:var(--txt);
  font-size:11px;font-weight:700;padding:8px 14px;border-radius:8px;cursor:pointer;transition:border-color .12s,background .12s}
.trDevHarnessBtnLeader{border-color:rgba(124,92,255,.55);background:rgba(124,92,255,.14)}
.trDevHarnessBtnLeader:hover{background:rgba(124,92,255,.22)}
.trDevHarnessBtnViewer{border-color:rgba(0,194,122,.45);background:rgba(0,194,122,.12)}
.trDevHarnessBtnViewer:hover{background:rgba(0,194,122,.2)}
.trDevHarnessBtnReset{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.1);color:var(--amber)}
.trDevHarnessBtnReset:hover{background:rgba(245,158,11,.18)}
.trDevHarnessLink{font-size:11px;color:var(--info);text-decoration:none;white-space:nowrap}
.trDevHarnessLink:hover{text-decoration:underline}
body.mf-dev-harness-prompt{padding-bottom:56px}
.trDevIdentityBadge{flex:0 0 auto;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;
  border:1px solid rgba(124,92,255,.45);background:rgba(124,92,255,.12);color:#c4b5fd;white-space:nowrap}
body.mf-dev-room-user-viewer .trDevIdentityBadge{border-color:rgba(0,194,122,.45);background:rgba(0,194,122,.12);color:#86efac}
.trDevClaimLeaderBtn{flex:0 0 auto;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;
  border:1px solid rgba(124,92,255,.55);background:rgba(124,92,255,.14);color:#c4b5fd;cursor:pointer;white-space:nowrap}
.trDevClaimLeaderBtn:hover{background:rgba(124,92,255,.22)}
.trDevClaimLeaderBtn[hidden]{display:none!important}
.trCollabDrawingSync{margin-right:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.trPresentBtn{flex:0 0 auto;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);
  font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;cursor:pointer}
.trFollowStatus{margin-right:8px;font-size:11px;color:var(--muted);white-space:nowrap}
.trPresenterPicker{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-right:8px}
.trPresenterPickBtn{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);
  font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;cursor:pointer}
.trPresenterPickBtn:hover{color:var(--txt);border-color:var(--border-strong, var(--border))}
.trPresenterPickBtn.is-active{border-color:rgba(0,194,122,.45);background:rgba(0,194,122,.12);color:var(--green)}
.trStageInvite{position:absolute;top:44px;left:50%;transform:translateX(-50%);z-index:120;
  display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;
  border:1px solid var(--border);background:rgba(12,16,20,.96);box-shadow:0 4px 16px rgba(0,0,0,.35);
  color:var(--txt);font-size:12px;max-width:min(420px,92vw)}
.trStageInvite[hidden]{display:none!important}
.trStageInviteText{flex:1 1 auto;min-width:0}
.trStageInviteBtn{border:1px solid rgba(0,194,122,.45);background:rgba(0,194,122,.14);color:var(--green);
  font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer}
.trStageInviteDecline{border-color:var(--border);background:var(--surface-2);color:var(--muted)}
.trParticipantActions{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.trParticipantAction{border:1px solid var(--border);background:transparent;color:var(--muted);
  font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;cursor:pointer;white-space:nowrap}
.trParticipantAction:hover{color:var(--txt);border-color:var(--border-strong, var(--border))}
.trPresenterBadge{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border-radius:999px;
  border:1px solid rgba(0,194,122,.4);background:rgba(0,194,122,.12);color:var(--green);
  font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.trCoPresenterBadge{border-color:rgba(124,92,255,.45);background:rgba(124,92,255,.12);color:#c4b5fd}
.trWatchLevelsToggle{display:none !important}
.trRoomChartOverlay{display:none !important}
.trCollabPinHost{display:none !important}
.trPresentBtn:hover{color:var(--txt);border-color:var(--border-strong, var(--border))}
.trPresentBtn.active{border-color:rgba(0,194,122,.45);background:rgba(0,194,122,.12);color:var(--green)}
.trAvatarOnline.trAvatarOffline,.trStackAvatarOffline{opacity:.45}
.trAvatarOnline.trAvatarOffline{background:var(--muted)}
.trCollabCursorLayer{position:absolute;inset:0;z-index:500;pointer-events:none;overflow:visible}
.chartPane > .trCollabCursorLayer,
.chart.main > .trCollabCursorLayer,
.chartGridChartWrap > .trCollabCursorLayer,
#priceChart > .trCollabCursorLayer{z-index:500}
.trCollabFollowingBanner{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:113;
  padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(12,16,20,.88);
  color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.02em;pointer-events:none;
  box-shadow:0 2px 8px rgba(0,0,0,.28)}
.trCollabWsDegraded{position:absolute;top:10px;right:12px;z-index:113;
  padding:4px 10px;border-radius:8px;border:1px solid rgba(245,158,11,.45);background:rgba(20,16,8,.92);
  color:#fbbf24;font-size:11px;font-weight:600;letter-spacing:.01em;pointer-events:none;
  box-shadow:0 2px 8px rgba(0,0,0,.28)}
.trCollabEffectsLayer{position:absolute;inset:0;z-index:44;pointer-events:none;overflow:visible}
.trCollabPinHost{display:none !important;position:absolute;inset:0;pointer-events:none}
.trCollabPinHost .trCollabPin{pointer-events:auto}
.trCollabPulse{position:absolute;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;
  border:2px solid var(--tr-pulse-color, rgba(0,194,122,.85));animation:trCollabPulse 500ms ease-out forwards;pointer-events:none}
@keyframes trCollabPulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.8);opacity:0}}
.trCollabPin{position:absolute;left:0;top:0;display:flex;align-items:flex-start;gap:0;border:none;background:transparent;
  padding:0;cursor:pointer;transform:translate(-5px,-100%);text-align:left;max-width:min(220px,55vw)}
.trCollabPinHead{width:10px;height:10px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--tr-pin-color, var(--green));
  box-shadow:0 0 0 2px rgba(0,0,0,.25);flex:0 0 auto;margin-top:2px}
.trCollabPinCard{display:flex;flex-direction:column;gap:1px;margin-left:6px;padding:4px 8px;border-radius:6px;
  background:rgba(12,16,20,.92);border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.28);min-width:0}
.trCollabPinTitle{font-size:11px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trCollabPinMeta{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trCollabPinRemove{position:absolute;right:-4px;top:-6px;width:16px;height:16px;border-radius:50%;border:1px solid var(--border);
  background:var(--surface-2);color:var(--muted);font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;
  cursor:pointer;opacity:0;transition:opacity .12s}
.trCollabPin:hover .trCollabPinRemove,.trCollabPin:focus-visible .trCollabPinRemove{opacity:1}
.trCollabPinKind-support .trCollabPinHead{background:#00c27a}
.trCollabPinKind-resistance .trCollabPinHead{background:#ff5c5c}
.trCollabPinKind-entry .trCollabPinHead{background:#fff;border:1px solid var(--border)}
.trCollabPinKind-exit .trCollabPinHead{background:#f59e0b}
.trCollabPinKind-question .trCollabPinHead{background:#6366f1}
.trCollabPinActive .trCollabPinCard{box-shadow:0 0 0 1px var(--green),0 4px 16px rgba(0,0,0,.35)}
.trCollabPinType{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.trPinPopover{position:absolute;z-index:120;width:min(280px,calc(100% - 16px));padding:10px 12px;border-radius:10px;
  border:1px solid var(--border);background:var(--surface-1);box-shadow:0 8px 28px rgba(0,0,0,.45);pointer-events:auto}
.trPinPopoverHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.trPinPopoverTitle{font-size:12px;font-weight:700;color:var(--txt)}
.trPinPopoverClose{width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}
.trPinPopoverClose:hover{background:var(--surface-2);color:var(--txt)}
.trPinPopoverLevel{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--txt)}
.trPinTypeRow{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.trPinTypeBtn{padding:3px 7px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);
  color:var(--muted);font-size:10px;font-weight:600;cursor:pointer}
.trPinTypeBtn.active,.trPinTypeBtn:hover{border-color:var(--green);color:var(--txt);background:rgba(0,194,122,.08)}
.trPinTypeBadge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);color:var(--txt)}
.trPinType-watch{background:rgba(124,92,255,.15);color:#c4b5fd}
.trPinType-support{background:rgba(0,194,122,.12);color:#00c27a}
.trPinType-resistance{background:rgba(255,92,92,.12);color:#ff5c5c}
.trPinType-entry{background:rgba(255,255,255,.08);color:#fff}
.trPinType-exit{background:rgba(245,158,11,.12);color:#f59e0b}
.trPinType-question{background:rgba(99,102,241,.15);color:#a5b4fc}
.trPinWhy,.trPinBody{margin:0 0 8px;font-size:11px;line-height:1.45;color:var(--muted)}
.trPinWhyLabel{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--txt);margin-bottom:2px}
.trPinNoteInput,.trPinCommentInput{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;
  background:var(--surface-2);color:var(--txt);font-size:12px;padding:7px 8px;resize:vertical;min-height:0}
.trPinCommentCompose{display:flex;gap:6px;align-items:center;margin:8px 0}
.trPinCommentInput{flex:1 1 auto}
.trPinCommentSend{width:28px;height:28px;border:none;border-radius:8px;background:var(--green);color:#041;cursor:pointer;font-size:14px}
.trPinComments{max-height:120px;overflow:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.trPinCommentRow{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:8px;background:var(--surface-2)}
.trPinCommentAuthor{font-size:10px;font-weight:700;color:var(--txt)}
.trPinCommentText{font-size:11px;color:var(--muted);line-height:1.4}
.trPinCommentsEmpty{margin:0;font-size:11px;color:var(--muted);font-style:italic}
.trPinPopoverActions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}
.trPinCancelBtn,.trPinResolveBtn,.trPinDeleteBtn{font-size:11px;padding:5px 10px}
.trPinSubmitBtn{font-size:11px;padding:5px 12px}
.trBtnPrimary{border:none;border-radius:8px;background:var(--green);color:#041;font-weight:700;cursor:pointer}
.trBtnGhost{border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
.trBtnGhost:hover{color:var(--txt);border-color:var(--muted)}
.trCollabCursor{position:absolute;left:0;top:0;display:flex;align-items:flex-start;gap:0;will-change:transform;
  pointer-events:none;opacity:1}
.trCollabCursor.is-fading,.trCollabCursorLinger{transition:opacity .6s ease}
.trCollabCursorPointer{flex:0 0 auto;width:12px;height:12px;color:var(--tr-cursor-color,#7c5cff);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}
.trCollabCursorPointer::before{content:"";display:block;width:0;height:0;
  border-left:7px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;
  transform:rotate(-20deg)}
.trCollabCursorLabel{display:inline-block;margin-left:5px;margin-top:1px;padding:1px 6px;border-radius:999px;
  font-size:10px;font-weight:600;color:#fff;white-space:nowrap;line-height:14px;max-width:96px;overflow:hidden;
  text-overflow:ellipsis;box-shadow:0 1px 4px rgba(0,0,0,.35)}
body[data-tr-chart-mount="room"] .trChartStage{border-color:var(--border);background:var(--card);overflow:hidden}
body[data-tr-chart-mount="room"] .trChartPlaceholder{background:transparent;padding:0}
.trChartsEmbedded{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;min-width:0;
  border:none!important;padding:2px 4px!important;background:transparent!important;
  border-left:none!important;border-right:none!important}
.trChartsEmbedded .legend{flex:0 0 auto}
.trChartsEmbedded .chartWorkspace{flex:1 1 auto;min-height:0}
.trRoomChartOverlay{display:none !important;position:absolute;inset:0;z-index:14;pointer-events:none;overflow:hidden}
.trRoomChartOverlay .trChartLevelLine{pointer-events:auto}
.trChartCanvas{position:relative;width:100%;height:100%;min-height:100%;cursor:crosshair}
.trChartCanvasLeader{cursor:crosshair}
.trChartCanvasGrid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:100% 48px,80px 100%;opacity:.35}
.trChartLevelLine{position:absolute;left:0;right:0;height:0;border:none;border-top:1px dashed rgba(245,158,11,.55);
  background:transparent;padding:0;cursor:pointer;z-index:2}
.trChartLevelLineActive{border-top-color:rgba(0,194,122,.85);border-top-width:2px}
.trChartLevelTag{position:absolute;right:10px;top:-10px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;
  background:rgba(2,7,11,.72);color:var(--txt);border:1px solid var(--border);pointer-events:none}
.trChartLevelLineActive .trChartLevelTag{border-color:rgba(0,194,122,.45);color:var(--green)}
.trChartCanvasHint{position:absolute;left:12px;bottom:12px;right:12px;font-size:12px;color:var(--muted);pointer-events:none}
.trAutoBadge{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
  padding:2px 8px;border-radius:999px;background:var(--surface-2)}
.trLevelItemClickable{cursor:pointer;transition:border-color .12s,background .12s}
.trLevelItemClickable:hover{border-color:rgba(0,194,122,.35);background:rgba(0,194,122,.05)}
.trLevelItemActive{border-color:rgba(0,194,122,.55)!important;background:rgba(0,194,122,.08)!important}
.trLevelUnwatch{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}
.trLevelUnwatch:hover{color:var(--red)}
.trCheckToggle{border:1px solid var(--border);background:var(--surface-2);color:var(--txt);width:22px;height:22px;
  border-radius:6px;cursor:pointer;font-size:12px;line-height:1;flex:0 0 auto}
.trCheckToggle[aria-pressed=true]{background:rgba(0,194,122,.16);border-color:rgba(0,194,122,.45);color:var(--green)}
.trModalHint{margin:0;font-size:12px;color:var(--muted);line-height:1.45}
.trLeaderFocus{flex:0 0 auto;background:linear-gradient(90deg,rgba(0,194,122,.08),rgba(0,194,122,.02));
  border:1px solid rgba(0,194,122,.28);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.trLeaderFocusHead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.trLeaderFocusKicker{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}
.trLeaderFocusUpdated{font-size:11px;color:var(--muted)}
.trLeaderFocusLevel{margin:0;font-size:16px;font-weight:600;color:var(--txt);line-height:1.3}
.trLeaderFocusReason{margin:0;font-size:13px;color:var(--muted);line-height:1.45}
.trDecisionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:0 0 auto}
.trDecisionCard{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;min-width:0}
.trDecisionCardWide{grid-column:span 1}
.trDecisionCardHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.trDecisionCardTitle{margin:0;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.trDecisionCardAction{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:2px 6px;border-radius:6px}
.trDecisionCardAction:hover{color:var(--txt);background:var(--surface-2)}
.trReadinessPct{font-size:28px;font-weight:700;color:var(--txt);line-height:1;margin-bottom:8px}
.trReadinessBar{height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-bottom:10px}
.trReadinessFill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--amber),var(--green));transition:width .2s}
.trChecklist,.trWaitingList,.trLevelList,.trTimelineList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.trCheckItem{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--txt)}
.trCheckItem input{margin-top:2px;accent-color:var(--green)}
.trCheckItem.done{color:var(--muted);text-decoration:line-through}
.trWaitingItem,.trTimelineItem{font-size:13px;color:var(--txt);padding:8px 10px;border-radius:8px;background:var(--surface-2)}
.trWaitingKicker,.trTimelineKicker{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.trAiAction{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.trAiAction-wait{background:rgba(245,158,11,.14);color:var(--amber)}
.trAiAction-buy{background:rgba(0,194,122,.14);color:var(--green)}
.trAiAction-sell{background:rgba(239,68,68,.14);color:var(--red)}
.trAiField{margin-bottom:8px}
.trAiFieldLabel{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.trAiFieldBody{margin:0;font-size:13px;line-height:1.45;color:var(--txt)}
.trLevelItem{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;
  background:var(--surface-2);border:1px solid var(--border)}
.trLevelItem.trImp-high{border-color:rgba(0,194,122,.35)}
.trLevelItem.trImp-medium{border-color:rgba(245,158,11,.25)}
.trLevelMain{min-width:0}
.trLevelPrice{font-size:14px;font-weight:700;color:var(--txt)}
.trLevelLabel{font-size:12px;font-weight:600;color:var(--muted)}
.trLevelReason{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}
.trLevelBadge{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;flex:0 0 auto}
.trImp-high .trLevelBadge{background:rgba(0,194,122,.14);color:var(--green)}
.trImp-medium .trLevelBadge{background:rgba(245,158,11,.14);color:var(--amber)}
.trImp-low .trLevelBadge{background:var(--surface-3);color:var(--muted)}
.trTimelineItem{border-left:2px solid var(--border);border-radius:0 8px 8px 0}
.trTimelineItem.trEv-focus{border-left-color:var(--green)}
.trTimelineItem.trEv-ai{border-left-color:var(--mfc18)}
.trTimelineItem.trEv-thesis{border-left-color:var(--amber)}
.trTimelineItem.trEv-idea{border-left-color:var(--red)}
.trTimelineTitle{font-size:13px;font-weight:600;color:var(--txt)}
.trTimelineBody{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}
.trTimelineMeta{font-size:11px;color:var(--muted);margin-top:4px}
.trInlineForm{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.trInlineFormRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.trInlineForm input,.trInlineForm textarea,.trInlineForm select{
  border:1px solid var(--border);background:var(--surface-2);color:var(--txt);border-radius:8px;padding:7px 9px;font-size:13px;font-family:inherit}
.trInlineForm textarea{resize:vertical;min-height:56px}
.trBottomRow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;
  flex:0 0 auto;height:148px;min-height:0;align-items:stretch}
.trIntelCompact{display:contents}
.trIntelCard{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 12px;min-width:0;
  display:flex;flex-direction:column;gap:6px;justify-content:flex-start}
.trBottomRow .trIntelCard{background:linear-gradient(180deg,var(--mfc51) 0%,var(--mfc52) 100%);
  border:1px solid var(--mfc53);box-shadow:inset 0 1px 0 var(--mfc54),0 10px 24px var(--mfs15)}
.trIntelCardCompact{padding:8px 10px;gap:4px;min-height:0;height:100%;overflow:hidden}
.trIntelSummaryWide{min-height:0;overflow:hidden;height:100%}
.trIntelCardTitle{font-size:11px;font-weight:600;color:var(--txt);margin:0;line-height:1.2}
.trIntelCardHeadRow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.trIntelSentRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.trIntelSentBadge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;background:rgba(0,194,122,.14);color:var(--green)}
.trIntelSentBadge.trIntelBearish{background:rgba(239,68,68,.14);color:var(--red)}
.trIntelSentBadge.trIntelNeutral{background:rgba(245,158,11,.14);color:var(--amber)}
.trIntelSentPct{font-size:22px;font-weight:700;color:var(--green);line-height:1;font-variant-numeric:tabular-nums}
.trIntelSentPct.trIntelBearish{color:var(--red)}
.trIntelSentPct.trIntelNeutral{color:var(--amber)}
.trIntelFieldRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:11px;line-height:1.35}
.trIntelFieldLabel{color:var(--muted)}
.trIntelFieldVal{color:var(--txt);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.trIntelConfVal{font-weight:700;color:var(--green)}
.trIntelConfVal.trIntelConfMed{color:var(--amber)}
.trIntelConfVal.trIntelConfLow{color:var(--muted)}
.trIntelNarrKicker{font-size:16px;font-weight:700;color:var(--green);line-height:1.1}
.trIntelNarrKicker.trIntelBearish{color:var(--red)}
.trIntelNarrKicker.trIntelNeutral{color:var(--amber)}
.trIntelCardBody{margin:0;font-size:11px;line-height:1.45;color:var(--muted)}
.trIntelTrendRow{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:4px}
.trIntelTrendChip{font-size:10px;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:3px}
.trIntelTrendChip.trIntelBearish{color:var(--red)}
.trIntelTrendChip.trIntelNeutral{color:var(--amber)}
.trIntelCompact .trIntelThesisCard{gap:0;padding:8px 10px}
.trIntelCompact .trIntelThesisCard .cardTitle{margin-bottom:4px;font-size:11px}
.trIntelCompact .trIntelThesisCard .verdict{font-size:15px;margin-bottom:6px;line-height:1.15}
.trIntelCompact .trIntelThesisCard .edgeBar{height:5px;margin-bottom:6px}
.trIntelCompact .trIntelThesisCard .edgeNums{margin-bottom:0;font-size:10px}
.trIntelCompact .trIntelThesisCard .edgeNums b{font-size:11px}
.trIntelCompact .trIntelThesisCard .trThesisStatusRow{display:none}
.trIntelCompact .trIntelThesisCard .lockTag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
  line-height:1.2;font-size:9px}
.trIntelCompact .trIntelCardTitle{font-size:10px}
.trIntelCompact .trIntelSentPct{font-size:16px}
.trIntelCompact .trIntelSentBadge{font-size:9px;padding:2px 6px}
.trIntelCompact .trIntelFieldRow{font-size:10px;gap:6px}
.trIntelCompact .trIntelNarrKicker{font-size:13px}
.trIntelCompact .trIntelCardBody{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden}
.trIntelCompact .trIntelTrendRow{gap:6px;padding-top:2px;margin-top:auto}
.trIntelCompact .trIntelTrendChip{font-size:9px}
.trIntelCompact .trIntelLevelItem{font-size:10px;gap:4px}
.trIntelCompact .trIntelLevelList{gap:2px}
#trThesisEdgeFill{height:100%;width:50%;background:var(--green);transition:width .4s}
#trThesisEdgeFill.none{background:var(--muted);opacity:.35}
.trIntelLevelList{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;flex:1 1 auto}
.trIntelLevelItem{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}
.trIntelLevelLabel{font-weight:700;letter-spacing:.02em}
.trIntelLevelLabel.tone-bull{color:var(--green)}
.trIntelLevelLabel.tone-vwap{color:#60a5fa}
.trIntelLevelLabel.tone-bear{color:var(--red)}
.trIntelLevelLabel.tone-neutral{color:var(--txt)}
.trIntelLevelPrice{font-weight:700;font-variant-numeric:tabular-nums}
.trIntelLevelPrice.tone-bull{color:var(--green)}
.trIntelLevelPrice.tone-vwap{color:#60a5fa}
.trIntelLevelPrice.tone-bear{color:var(--red)}
.trIntelLevelPrice.tone-neutral{color:var(--txt)}
.trIntelSummaryMeta{font-size:10px;color:var(--muted)}
.trIntelThesisLine{font-size:11px;color:var(--muted);margin:0;line-height:1.4}
.trIntelThesisLine strong{color:var(--green);font-weight:700}
.trIntelThesisLine strong.trIntelBearish{color:var(--red)}
.trIntelCardKicker{font-size:11px;font-weight:700;color:var(--green);letter-spacing:.03em;text-transform:uppercase}
.trIntelCardKicker.trIntelBearish{color:var(--red)}
.trIntelCardKicker.trIntelNeutral{color:var(--amber)}
.trIntelCardMeta{font-size:11px;color:var(--muted);line-height:1.35}
.trRoomPanel{display:flex;flex-direction:column;min-height:0;flex:0 0 400px;width:400px;align-self:stretch;
  border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:hidden}
/* Collab stack: Ideas + Team Chat (people live in top-bar dropdown).
   Voice Room is an optional leading auto row when visible. */
.trCollabStack{display:grid;grid-template-rows:minmax(220px,48%) minmax(160px,1fr);
  flex:1 1 auto;min-height:0;height:100%;overflow:hidden}
.trCollabStack:has(#trPanelVoiceRoom:not([hidden])){
  grid-template-rows:auto minmax(220px,48%) minmax(160px,1fr);
}
#trPanelIdeas.trCollabSectionIdeas{min-height:0;overflow:hidden;display:flex;flex-direction:column;
  isolation:isolate;z-index:0}
#trIdeasBody.trCollabBodyIdeas,#trPanelIdeas .trCollabBodyIdeas{
  padding:4px 12px 20px;flex:1 1 auto;min-height:0;max-height:100%;
  overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.trCollabSection{display:flex;flex-direction:column;flex:0 0 auto;min-height:0;border-bottom:1px solid var(--border);
  overflow:hidden}
.trCollabSection:last-child{border-bottom:none}
#trPanelActivity.trChatDock{flex:1 1 auto;min-height:0;overflow:hidden;z-index:0;
  background:var(--card)}
.trCollabHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;flex:0 0 auto}
.trCollabTitle{margin:0;font-size:12px;font-weight:600;color:var(--txt)}
.trCollabTools{display:flex;align-items:center;gap:6px;color:var(--muted)}
.trCollabTool{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:14px}
.trCollabLinkBtn{border:none;background:transparent;color:#a78bfa;font-size:11px;font-weight:600;cursor:not-allowed;padding:0;opacity:.55}
.trCollabFilter{font-size:11px;color:var(--muted);padding:2px 8px;border-radius:6px;background:var(--surface-2)}
.trChatFilters{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}
.trChatFilterBtn{appearance:none;border:none;background:transparent;color:var(--muted);font-size:11px;font-weight:600;
  padding:3px 8px;border-radius:6px;cursor:pointer;line-height:1.2}
.trChatFilterBtn:hover{color:var(--txt)}
.trChatFilterBtn.is-active{background:var(--card);color:var(--txt);box-shadow:0 0 0 1px var(--border)}
.trCollabBody{padding:0 12px 10px;overflow:visible;scrollbar-width:thin}
/* Must beat .trCollabBody{overflow:visible} or Room Pulse is clipped with no scroll. */
#trIdeasBody.trCollabBody.trCollabBodyIdeas{
  overflow-x:hidden!important;overflow-y:auto!important;padding:4px 12px 24px}
.trCollabBodyGrow{max-height:none;flex:1 1 auto;min-height:0;overflow:auto}
.trChatDock{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;
  background:transparent;border-radius:0}
.trChatDock .trCollabHead{padding:10px 12px;border-bottom:none}
.trChatDock .trChatFeedWrap{flex:1 1 auto;min-height:0;position:relative;display:flex;flex-direction:column}
.trChatDock .trChatFeed{flex:1 1 auto;min-height:0;max-height:none;padding:8px 12px}
.trChatDock .trChatCompose{padding:8px 12px 10px;border-top:1px solid var(--border)}
.trChatTypingRow{flex:0 0 24px;height:24px;min-height:24px;max-height:24px;padding:0 12px;
  display:flex;align-items:center;pointer-events:none;overflow:hidden;box-sizing:border-box}
.trChatTypingContent{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}
.trChatTypingContent[hidden]{display:none!important}
.trChatTypingAvatars{display:inline-flex;align-items:center;flex:0 0 auto}
.trChatTypingAvatars .trChatTypingAvatar{width:18px;height:18px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;letter-spacing:0;
  box-shadow:0 0 0 1px var(--card);margin-left:-4px}
.trChatTypingAvatars .trChatTypingAvatar:first-child{margin-left:0}
.trChatTypingText{font-size:12px;line-height:1;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.trChatTypingDots{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;margin-left:2px}
.trChatTypingDots i{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.45;
  animation:trChatTypingDot 1.2s ease-in-out infinite}
.trChatTypingDots i:nth-child(2){animation-delay:.2s}
.trChatTypingDots i:nth-child(3){animation-delay:.4s}
@keyframes trChatTypingDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
.trChatDock .trChatInput{padding:8px 10px;font-size:12px}
.trChatDock .trChatEmojiBtn,.trChatDock .trChatSendBtn{width:32px;height:32px;font-size:15px}
.trChatFeedWrap{position:relative;min-height:0}
.trChatNewBadge{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);z-index:2;
  appearance:none;border:1px solid rgba(124,92,255,.4);background:rgba(124,92,255,.16);color:#c4b5fd;
  font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.trChatNewBadge:hover{background:rgba(124,92,255,.28)}
.trChatNewBadge[hidden]{display:none!important}
.trChatLoading{font-size:11px;color:var(--muted);text-align:center;padding:6px 0}
.trChatEmpty{margin:auto;padding:18px 12px;text-align:center;font-size:12px;color:var(--muted);line-height:1.45}
.trChatMsg{user-select:text;-webkit-user-select:text}
.trChatMsg.is-sending{opacity:.72}
.trChatMsg.is-failed .trChatText{color:var(--muted)}
.trChatMsg.is-failed .trChatRetry{margin-left:6px;border:none;background:transparent;color:#a78bfa;font-size:11px;font-weight:600;cursor:pointer;padding:0}
.trChatMsg.is-you .trChatAuthor::after{content:"";/* label handled in markup */}
.trChatActivity{display:flex;flex-direction:column;gap:1px;padding:2px 0 2px 4px;border-left:2px solid var(--border);margin-left:4px}
.trChatActivityText{font-size:11px;color:var(--muted);line-height:1.35}
.trChatActivityTime{font-size:10px;color:var(--muted);opacity:.85}
.trChatText{white-space:pre-wrap;word-break:break-word;user-select:text;-webkit-user-select:text}
.trParticipantList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.trParticipant{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:8px}
.trParticipant:hover{background:var(--surface-2)}
.trAvatarWrap{position:relative;flex:0 0 auto}
.trAvatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:700}
.trAvatarOnline{position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;
  background:var(--green);border:2px solid var(--card)}
.trParticipantMain{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.trParticipantName{font-size:13px;font-weight:600;color:var(--txt);line-height:1.2}
.trRoleBadge{display:inline-flex;align-items:center;width:fit-content;padding:2px 8px;border-radius:999px;
  font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1.3}
.trRole-leader{background:rgba(124,92,255,.18);color:#a78bfa}
.trRole-analyst{background:rgba(245,158,11,.14);color:var(--amber)}
.trRole-analyst-alt{background:rgba(59,130,246,.14);color:#60a5fa}
.trRole-analyst-pink{background:rgba(236,72,153,.14);color:#f472b6}
.trRole-viewer{background:var(--surface-3);color:var(--muted)}
.trParticipantMedia{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:15px;flex:0 0 auto}
.trParticipantMedia .trMicOff{color:var(--muted);opacity:.55}
.trParticipantMedia .trAudioListening{opacity:.75}
.trParticipantMedia .trAudioSpeakingBars{display:inline-flex;align-items:flex-end;gap:2px;height:14px;width:14px}
.trParticipantMedia .trAudioSpeakingBars i{display:block;width:3px;border-radius:1px;background:var(--green);
  animation:trAudioBar 0.7s ease-in-out infinite}
.trParticipantMedia .trAudioSpeakingBars i:nth-child(1){height:40%;animation-delay:0s}
.trParticipantMedia .trAudioSpeakingBars i:nth-child(2){height:80%;animation-delay:.15s}
.trParticipantMedia .trAudioSpeakingBars i:nth-child(3){height:55%;animation-delay:.3s}
.trParticipant .trAvatarWrap.is-speaking .trAvatar{box-shadow:0 0 0 2px rgba(0,194,122,.55)}
@keyframes trAudioBar{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}

/* Phase 1 LiveKit audio — sidebar Voice Room card (never overlays the chart) */
.trAudioMediaHost{position:fixed;left:-9999px;width:1px;height:1px;overflow:hidden;pointer-events:none}
.trVoiceRoomSection{flex:0 0 auto;position:relative;overflow:visible}
.trVoiceRoomSection[hidden]{display:none!important}
.trVoiceRoomHead{padding:10px 12px}
.trVoiceRoomHeadMeta{display:flex;align-items:center;gap:8px}
.trVoiceRoomBadge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--muted);
  padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}
.trVoiceRoomBadge.is-live{color:var(--green);border-color:rgba(0,194,122,.35);background:rgba(0,194,122,.1)}
.trVoiceRoomBadge.is-live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 0 rgba(0,194,122,.55);animation:trVoicePulse 1.4s ease-out infinite}
.trVoiceRoomBadge.is-connecting{color:var(--amber);border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.1)}
.trVoiceRoomBadge.is-unavailable{color:var(--red);border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
@keyframes trVoicePulse{0%{box-shadow:0 0 0 0 rgba(0,194,122,.45)}70%{box-shadow:0 0 0 6px rgba(0,194,122,0)}100%{box-shadow:0 0 0 0 rgba(0,194,122,0)}}
.trVoiceRoomIconBtn{appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);width:28px;height:28px;
  border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px}
.trVoiceRoomIconBtn:hover{background:var(--surface-3);color:var(--txt)}
.trVoiceRoomIconBtn[hidden]{display:none!important}
.trVoiceRoomBody{padding:0 12px 10px;display:flex;flex-direction:column;gap:8px;position:relative}
.trVoiceRoomIdle{margin:0;font-size:12px;color:var(--muted);line-height:1.35}
.trVoiceRoomIdle[hidden]{display:none!important}
.trVoiceRoomRoster{display:flex;flex-direction:column;gap:6px}
.trVoiceRoomRoster[hidden]{display:none!important}
.trVoiceRoomRow{display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 2px;border-radius:8px}
.trVoiceRoomRow.is-speaking .trVoiceRoomAvatar{box-shadow:0 0 0 2px rgba(0,194,122,.55)}
.trVoiceRoomAvatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(124,92,255,.28);color:#fff;font-size:11px;font-weight:700}
.trVoiceRoomRowMain{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}
.trVoiceRoomName{font-size:12px;font-weight:600;color:var(--txt);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trVoiceRoomSub{font-size:11px;color:var(--muted);line-height:1.2}
.trVoiceRoomRole{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.trVoiceRoomActions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.trAudioPrimaryBtn{appearance:none;border:1px solid rgba(0,194,122,.4);background:rgba(0,194,122,.12);
  color:var(--green);font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}
.trAudioPrimaryBtn:hover{background:rgba(0,194,122,.2)}
.trAudioPrimaryBtn:disabled{opacity:.55;cursor:default}
.trAudioPrimaryBtn[hidden]{display:none!important}
.trVoiceRoomActionBtn{appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--txt);
  font-size:11px;font-weight:600;padding:6px 9px;border-radius:8px;cursor:pointer;white-space:nowrap}
.trVoiceRoomActionBtn:hover{background:var(--surface-3)}
.trVoiceRoomActionBtn.is-muted{color:var(--muted)}
.trVoiceRoomActionBtn.is-live{color:var(--green);border-color:rgba(0,194,122,.35)}
.trVoiceRoomActionBtn[hidden]{display:none!important}
.trVoiceRoomStatus{margin:0;font-size:11px;color:var(--muted);min-height:0}
.trVoiceRoomAutoplay[hidden]{display:none!important}
.trAudioAutoplayBtn{appearance:none;border:1px solid rgba(245,158,11,.45);background:rgba(245,158,11,.12);color:var(--amber);
  font-size:12px;font-weight:600;padding:7px 12px;border-radius:8px;cursor:pointer;width:100%}
.trVoiceRoomInvite{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:8px;
  background:var(--surface-2);border:1px solid var(--border)}
.trVoiceRoomInvite[hidden]{display:none!important}
.trVoiceRoomInviteActions{display:flex;flex-wrap:wrap;gap:6px}
.trAudioInviteText{font-size:12px;color:var(--txt)}
.trAudioInviteBtn{appearance:none;border:1px solid rgba(0,194,122,.45);background:rgba(0,194,122,.14);color:var(--green);
  font-size:11px;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer}
.trAudioInviteDecline{border-color:var(--border);background:var(--surface-3);color:var(--muted)}
.trAudioSettings{position:absolute;left:12px;right:12px;top:100%;margin-top:4px;z-index:40;width:auto;padding:12px;border-radius:10px;
  background:var(--card);border:1px solid var(--border);box-shadow:0 12px 30px rgba(0,0,0,.42)}
.trAudioSettings[hidden]{display:none!important}
.trAudioSettingsHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.trAudioSettingsClose{appearance:none;border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;line-height:1}
.trAudioField{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);margin-bottom:10px}
.trAudioField select{appearance:none;background:var(--surface-2);border:1px solid var(--border);color:var(--txt);
  border-radius:6px;padding:7px 8px;font-size:12px}
.trAudioMeterWrap{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.trAudioMeter{height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.trAudioMeterFill{height:100%;width:0;background:var(--green);border-radius:999px;transition:width .08s linear}
.trAudioHint{margin:0}
/* Force-remove any leftover chart-mounted floating toolbar */
.trChartStage .trAudioControl,.trChartStage .trAudioInvite{display:none!important;pointer-events:none!important}
.trParticipantAction[data-tr-audio-invite],.trParticipantAction[data-tr-audio-remove],.trParticipantAction[data-tr-audio-leave]{
  border-color:rgba(0,194,122,.35)}
.trIdeasHeadTools{display:flex;align-items:center;gap:10px}
.trIdeasOverlayToggle{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);cursor:pointer;user-select:none}
.trIdeasOverlayToggle input{margin:0;accent-color:#7c5cff}
.trCollabLinkBtn.trIdeasNewBtn{cursor:pointer;opacity:1}
.trCollabLinkBtn.trIdeasNewBtn:disabled{cursor:not-allowed;opacity:.45}
.trCollabLinkBtn.trIdeasNewBtn[hidden]{display:none!important}
.trIdeasEmpty{padding:18px 8px 12px;text-align:center}
.trIdeasEmptyTitle{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--txt)}
.trIdeasEmpty .trBtn{margin-top:12px}
.trIdeaList{display:flex;flex-direction:column;gap:12px;padding:2px 0 16px}
.trIdeaCard{border:1px solid var(--border);border-radius:10px;padding:14px 14px 18px;background:var(--surface-2);
  display:flex;flex-direction:column;min-width:0}
.trIdeaCardHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
.trIdeaBiasBadge{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 8px;border-radius:6px;
  line-height:1.2}
.trIdea-buy .trIdeaBiasBadge{background:rgba(0,194,122,.16);color:var(--green)}
.trIdea-sell .trIdeaBiasBadge{background:rgba(239,68,68,.16);color:var(--red)}
.trIdea-wait .trIdeaBiasBadge{background:rgba(245,158,11,.16);color:var(--amber)}
.trIdeaStatusPill{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:4px 8px;border-radius:999px;
  background:var(--surface-3);color:var(--muted);line-height:1.2}
.trIdeaStatusPill-active{background:rgba(0,194,122,.14);color:var(--green)}
.trIdeaStatusPill-proposed{background:rgba(124,92,255,.14);color:#a78bfa}
.trIdeaStatusPill-draft{background:var(--surface-3);color:var(--muted)}
.trIdeaStatusPill-target_hit{background:rgba(0,194,122,.18);color:var(--green)}
.trIdeaStatusPill-invalidated,.trIdeaStatusPill-closed{background:rgba(239,68,68,.12);color:var(--red)}
.trIdeaAuthorLine{margin:0 0 8px;font-size:11px;color:var(--muted);line-height:1.35}
.trIdeaTitle{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--txt);line-height:1.3}
.trIdeaThesis{margin:0;font-size:12px;line-height:1.45;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.trIdeaLevels,.trIdeaAiBlock,.trIdeaPulse,.trIdeaVsBlock{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.trIdeaSectionLabel{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);
  margin:0 0 8px;line-height:1.2}
.trIdeaGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px;margin:0;width:100%}
.trIdeaMetricLabel{font-size:10px;color:var(--muted);margin-bottom:4px;line-height:1.2}
.trIdeaMetricVal{font-size:13px;font-weight:700;color:var(--txt);font-variant-numeric:tabular-nums;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trIdeaMetricVal.stop{color:var(--red)}
.trIdeaMetricVal.target{color:var(--green)}
.trIdeaMetricWide{grid-column:span 1;min-width:0}
.trIdeaPlanMissing{margin:8px 0 0;font-size:11px;color:var(--amber);line-height:1.35}
.trIdeaAiRow{display:flex;align-items:baseline;gap:10px;min-height:20px}
.trIdeaAiSide{font-size:13px;font-weight:700}
.trIdeaAi-bullish{color:var(--green)}
.trIdeaAi-bearish{color:var(--red)}
.trIdeaAi-no_edge{color:var(--amber)}
.trIdeaAiPct{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--txt);line-height:1.2}
.trIdeaAiPct.muted,.trIdeaAiMuted{font-size:12px;color:var(--muted);font-weight:500;line-height:1.35}
.trIdeaPulseGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.trIdeaVoteBtn{appearance:none;border:1px solid var(--border);background:var(--surface-3);border-radius:8px;
  padding:8px 6px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  cursor:pointer;color:var(--muted);font-size:10px;font-weight:600;min-width:0;line-height:1.15;
  transition:border-color .12s ease,background .12s ease}
.trIdeaVoteBtn strong{font-size:13px;color:var(--txt);font-variant-numeric:tabular-nums;font-weight:700}
.trIdeaVoteBtn em{font-style:normal;font-size:10px;color:var(--muted)}
.trIdeaVoteBtn.is-active{border-color:rgba(124,92,255,.45);background:rgba(124,92,255,.12);color:#c4b5fd}
.trIdeaVoteBtn.is-active strong{color:#e9e4ff}
.trIdeaVoteEmoji{font-size:13px;line-height:1}
.trIdeaPulseMeta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:11px;
  color:var(--muted);line-height:1.3}
.trIdeaConsensus{font-weight:600;color:var(--txt)}
.trIdeaVoteAvatars{display:flex;align-items:center;margin-top:8px}
.trIdeaVoteAvatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;color:#fff;margin-left:-4px;border:1px solid var(--card)}
.trIdeaVoteAvatar:first-child{margin-left:0}
.trIdeaVoteMore{margin-left:6px;font-size:10px;font-weight:700;color:var(--muted)}
.trIdeaVsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.trIdeaVsKey{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}
.trIdeaVsVal{font-size:12px;font-weight:700;color:var(--txt)}
.trIdeaLifecycle{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.trIdeaLifeBtn{appearance:none;border:1px solid var(--border);background:var(--surface-3);color:var(--txt);
  font-size:11px;font-weight:600;padding:5px 8px;border-radius:6px;cursor:pointer}
.trIdeaLifeBtn:hover{background:var(--surface-2)}
.trIdeaLifeEdit{color:#a78bfa;border-color:rgba(124,92,255,.3)}
.trIdeaModal .trIdeaDirRow{display:flex;gap:6px;margin-bottom:12px}
.trIdeaDirBtn{flex:1;appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);
  font-size:12px;font-weight:700;padding:8px;border-radius:8px;cursor:pointer}
.trIdeaDirBtn.is-active{border-color:rgba(124,92,255,.45);background:rgba(124,92,255,.12);color:#c4b5fd}
.trIdeaLevelsRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.trIdeaAttachPrice{appearance:none;border:none;background:transparent;color:#a78bfa;font-size:11px;font-weight:600;
  padding:0;margin:0 0 10px;cursor:pointer;text-align:left}
.trIdeaText{margin:0 0 8px;font-size:12px;line-height:1.45;color:var(--muted)}
.trChatFeed{flex:1 1 auto;min-height:0;overflow:auto;padding:8px 12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.trChatMsg{display:flex;gap:8px;align-items:flex-start;user-select:text;-webkit-user-select:text}
.trChatAvatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:11px;font-weight:700;flex:0 0 auto}
.trChatMain{min-width:0;flex:1 1 auto}
.trChatHead{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}
.trChatAuthor{font-size:12px;font-weight:600;color:var(--txt)}
.trChatYouHint{font-weight:500;color:var(--muted);font-size:11px}
.trChatTime{font-size:10px;color:var(--muted)}
.trChatText{margin:0;font-size:12px;line-height:1.45;color:var(--txt);white-space:pre-wrap;word-break:break-word;
  user-select:text;-webkit-user-select:text}
.trChatCompose{display:flex;align-items:flex-end;gap:8px;padding:8px 12px 10px;border-top:1px solid var(--border);flex:0 0 auto}
.trChatInput{flex:1 1 auto;min-width:0;border:1px solid var(--border);background:var(--surface-2);color:var(--txt);
  border-radius:8px;padding:8px 10px;font-size:12px;font-family:inherit;resize:none;max-height:96px;min-height:34px;line-height:1.35;outline:none}
.trChatInput:disabled{opacity:.55;cursor:not-allowed}
.trChatInput:focus{border-color:rgba(124,92,255,.45)}
.trChatEmojiBtn,.trChatSendBtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;
  border-radius:8px;background:rgba(124,92,255,.16);color:#a78bfa;cursor:pointer;opacity:1;font-size:16px;flex:0 0 auto}
.trChatEmojiBtn:disabled,.trChatSendBtn:disabled{cursor:not-allowed;opacity:.45}
.trChatEmojiBtn:not(:disabled):hover,.trChatSendBtn:not(:disabled):hover{background:rgba(124,92,255,.28)}
.trChatEmojiBtn[aria-expanded="true"]{background:rgba(124,92,255,.32);color:#c4b5fd}
.trChatEmojiPicker{position:fixed;z-index:20100;width:min(360px,calc(100vw - 24px));max-height:min(480px,70vh);
  overflow:hidden;padding:8px 8px 10px;border-radius:12px;border:1px solid var(--border);background:#12181e;
  box-shadow:0 12px 40px rgba(0,0,0,.55);color:var(--txt);isolation:isolate;opacity:1;display:flex;flex-direction:column}
.trChatEmojiPicker[hidden]{display:none!important}
.trChatEmojiPickerHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex:0 0 auto;padding:0 2px}
.trChatEmojiPickerTitle{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.trChatEmojiPickerClose{appearance:none;border:none;background:transparent;color:var(--muted);width:24px;height:24px;
  border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px}
.trChatEmojiPickerClose:hover{background:var(--surface-3);color:var(--txt)}
.trChatEmojiPickerMount{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.trChatEmojiPickerLoading{font-size:12px;color:var(--muted);padding:24px 12px;text-align:center}
.trChatEmojiPickerElement{width:100%;height:min(440px,58vh);max-height:440px;--background:#12181e;--border-color:#2b3444;
  --button-active-background:#1c2430;--button-hover-background:#1c2430;--category-font-color:#93a1b5;
  --input-border-color:#2b3444;--input-font-color:#e6ebf2;--input-placeholder-color:#8794a8;
  --outline-color:#7c5cff;--indicator-color:#7c5cff;--num-columns:8;border:none!important;
  font-family:inherit}
.trChatEmojiLimitHint{margin:6px 0 0;font-size:10px;color:var(--amber);line-height:1.3;flex:0 0 auto}
.trChatEmojiLimitHint[hidden]{display:none!important}
/* WhatsApp-style large emoji-only messages */
.trChatMsg.trChatMessage--emojiOnly .trChatText--emoji{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  background:transparent;border:none;padding:0;margin:2px 0 0;line-height:1.1;
  letter-spacing:.04em;user-select:text;-webkit-user-select:text}
.trChatMsg.trChatMessage--emoji1 .trChatText--emoji{font-size:64px;line-height:1.05}
.trChatMsg.trChatMessage--emoji2 .trChatText--emoji{font-size:52px;line-height:1.08}
.trChatMsg.trChatMessage--emoji3 .trChatText--emoji{font-size:44px;line-height:1.1}
.trChatMsg.trChatMessage--emojiMany .trChatText--emoji{font-size:22px;line-height:1.25}
.trChatMsg.trChatMessage--emojiOnly .trChatRetry{font-size:11px;margin-left:8px;vertical-align:middle}
.trCollabEmpty{padding:8px 0;font-size:12px;color:var(--muted);line-height:1.45}
@media (max-width:1200px){
  .trRoomPanel{flex-basis:360px;width:360px}
  .trBottomRow{grid-template-columns:repeat(3,minmax(0,1fr));height:auto;min-height:148px}
  .trIntelSummaryWide{grid-column:span 2}
}
@media (max-width:960px){
  .trRoomBody{flex-direction:column}
  .trRoomPanel{flex:0 0 auto;width:100%;min-height:280px;max-height:min(44vh,420px)}
  .trBottomRow{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:0}
  .trIntelSummaryWide{grid-column:span 2}
  #trPanelActivity.trChatDock{min-height:160px}
}
.trRoomTopActions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.trRoomCardActions{display:flex;gap:8px;margin-top:4px}
.trRoomCardWrap{display:flex;flex-direction:column;gap:8px}
.trEmpty.trError{color:var(--red)}
.trModalOverlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;
  background:rgba(2,7,11,.72);padding:24px}
.trModalOverlay[hidden]{display:none!important}
.trModal{width:min(480px,100%);background:var(--card);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 24px 64px rgba(0,0,0,.45);padding:18px 20px 20px}
.trModalHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.trModalTitle{margin:0;font-size:18px;font-weight:600;color:var(--txt)}
.trModalClose{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;
  background:transparent;color:var(--muted);border-radius:8px;cursor:pointer}
.trModalClose:hover{color:var(--txt);background:var(--surface-2)}
.trModalForm{display:flex;flex-direction:column;gap:12px}
.trField{display:flex;flex-direction:column;gap:6px;min-width:0}
.trFieldRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.trFieldLabel{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.trField input,.trField textarea,.trField select{border:1px solid var(--border);background:var(--surface-2);color:var(--txt);
  border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit}
.trField textarea{resize:vertical;min-height:72px}
.trModalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.trModalError{margin:0;font-size:13px;color:var(--red)}
.trLoading{padding:24px;text-align:center;color:var(--muted);font-size:14px}

/* ===== Auto-generated theme variables (dark defaults identical) ===== */
:root{
  --mfc1:#02070b;
  --mfc2:#8B96A1;
  --mfc3:rgba(148,163,184,.2);
  --mfc4:#071017;
  --mfc5:#e7eef5;
  --mfc6:#050a0f;
  --mfc7:rgba(30,41,59,.7);
  --mfc8:#122032;
  --mfc9:#9aa0ab;
  --mfc10:#f3f5f7;
  --mfc11:rgba(5,10,15,1);
  --mfc12:rgba(2,7,11,1);
  --mfc13:rgba(18,26,36,.94);
  --mfc14:rgba(9,15,23,.96);
  --mfc15:rgba(255,255,255,.04);
  --mfc16:#8f9aa6;
  --mfc17:#9aa4ae;
  --mfc18:#6e7a86;
  --mfc19:#111b24;
  --mfc20:#121a25;
  --mfc21:#1a2633;
  --mfc22:#06110c;
  --mfc23:#fff;
  --mfc24:rgba(8,12,18,.84);
  --mfc25:rgba(255,255,255,.08);
  --mfc26:#121b24;
  --mfc27:#162532;
  --mfc28:#1a1a1a;
  --mfc29:rgba(19,23,34,.82);
  --mfc30:rgba(255,255,255,.14);
  --mfc31:rgba(3,9,7,.86);
  --mfc32:rgba(15,13,4,.84);
  --mfc33:rgba(14,3,5,.86);
  --mfc34:rgba(255,255,255,.25);
  --mfc35:rgba(255,255,255,.22);
  --mfc36:rgba(255,255,255,.78);
  --mfc37:rgba(8,12,18,.86);
  --mfc38:rgba(255,255,255,.12);
  --mfc39:rgba(0,31,20,.82);
  --mfc40:rgba(38,33,8,.82);
  --mfc41:rgba(38,25,8,.82);
  --mfc42:rgba(40,12,14,.82);
  --mfc43:rgba(19,23,34,.96);
  --mfc44:rgba(255,255,255,.18);
  --mfc45:#07110c;
  --mfc46:#05090e;
  --mfc47:#0c141b;
  --mfc48:#0a1118;
  --mfc49:#172531;
  --mfc50:rgba(255,255,255,.025);
  --mfc51:#101923;
  --mfc52:#0b121a;
  --mfc53:#1d3040;
  --mfc54:rgba(255,255,255,.035);
  --mfc55:#b2bdc8;
  --mfc56:#8a99a8;
  --mfc57:#5d616e;
  --mfc58:#8d9aaa;
  --mfc59:#8f9baa;
  --mfc60:rgba(255,255,255,.03);
  --mfc61:rgba(255,255,255,.02);
  --mfc62:#111924;
  --mfc63:#213247;
  --mfc64:#2a2618;
  --mfc65:#8e9aab;
  --mfc66:#d9dee6;
  --mfc67:#f2f5f7;
  --mfc68:#151f2b;
  --mfc69:#223244;
  --mfc70:#dbe1e9;
  --mfc71:#e6ebf1;
  --mfc72:#f3f6fa;
  --mfc73:#243344;
  --mfc74:#8491a3;
  --mfc75:#121b27;
  --mfc76:#a7b2c2;
  --mfc77:#33485f;
  --mfc78:#2a3040;
  --mfc79:#c8cdd8;
  --mfc80:#e6e8ef;
  --mfc81:#4b5563;
  --mfc82:#1f2937;
  --mfc83:rgba(75,85,99,.25);
  --mfc84:rgba(75,85,99,.4);
  --mfc85:#0e2b21;
  --mfc86:#3a2f44;
  --mfc87:#1a1520;
  --mfc88:#5c3d4a;
  --mfc89:#2a1a22;
  --mfc90:#3a2228;
  --mfc91:#05090d;
  --mfc92:#14202a;
  --mfc93:rgba(30,41,59,.72);
  --mfc94:rgba(14,20,28,.86);
  --mfc95:rgba(5,10,15,.96);
  --mfc96:#9aa6b2;
  --mfc97:rgba(30,41,59,.8);
  --mfc98:rgba(16,20,23,.96);
  --mfc99:rgba(8,13,18,.98);
  --mfc100:#070c11;
  --mfc101:#8d98a3;
  --mfc102:#dbe4ee;
  --mfc103:#a8b3bd;
  --mfc104:#8995a0;
  --mfc105:#080d12;
  --mfc106:#02110b;
  --mfc107:#0b1117;
  --mfc108:#aeb8c2;
  --mfc109:#081018;
  --mfc110:#101417;
  --mfc111:rgba(30,41,59,.82);
  --mfc112:rgba(15,21,28,.98);
  --mfc113:rgba(7,12,17,.99);
  --mfc114:#f4f1cf;
  --mfc115:#0d1419;
  --mfc116:#cbd5df;
  --mfc117:#7e8a96;
  --mfc118:#d8e0e8;
  --mfc119:#8f9ba7;
  --mfc120:#eef4fb;
  --mfc121:#9aa7b4;
  --mfc122:#080e14;
  --mfc123:#a1adb8;
  --mfc124:#8a95a1;
  --mfc125:#e7e0bd;
  --mfc126:#717d88;
  --mfc127:#78838f;
  --mfc128:#0d141a;
  --mfc129:#eef5fb;
  --mfc130:#0d1318;
  --mfc131:#eaf8f1;
  --mfc132:#8e99a5;
  --mfc133:#aeb9c3;
  --mfc134:#141a20;
  --mfc135:#93a0ac;
  --mfc136:#0b1015;
  --mfc137:#7f8b97;
  --mfc138:rgba(148,163,184,.16);
  --mfc139:#121820;
  --mfc140:#808b96;
  --mfc141:#83909c;
  --mfc142:#111820;
  --mfc143:#f3f7fb;
  --mfc144:rgba(148,163,184,.22);
  --mfc145:#151b22;
  --mfc146:rgba(30,41,59,.86);
  --mfc147:#070c12;
  --mfc148:#dce6ef;
  --mfc149:#a9b4bf;
  --mfc150:#62707d;
  --mfc151:#0c1218;
  --mfc152:#82909d;
  --mfc153:#84919e;
  --mfc154:#0a1016;
  --mfc155:#aab6c2;
  --mfc156:rgba(30,41,59,.58);
  --mfc157:#1b2530;
  --mfc158:#94a3b8;
  --mfc159:rgba(148,163,184,.28);
  --mfc160:#090f15;
  --mfc161:#121a22;
  --mfc162:#9ba8b4;
  --mfc163:rgba(55,17,24,.32);
  --mfc164:#07130f;
  --mfc165:#1a0d11;
  --mfc166:rgba(30,34,45,.97);
  --mfc167:#0e171f;
  --mfc168:#1b2b38;
  --mfc169:rgba(148,163,184,.12);
  --mfc170:rgba(148,163,184,.18);
  --mfc171:rgba(148,163,184,.08);
  --mfc172:rgba(120,123,134,.2);
  --mfc173:#0d151d;
  --mfc174:#090f16;
  --mfc175:#1a2937;
  --mfc176:#26384b;
  --mfc177:#0b141e;
  --mfc178:#8fa0b2;
  --mfc179:#536273;
  --mfc180:#172532;
  --mfc181:#8997a4;
  --mfc182:#aab3bf;
  --mfc183:rgba(2,7,11,.62);
  --mfc184:rgba(10,13,15,.66);
  --mfc185:rgba(22,28,33,.92);
  --mfc186:rgba(13,17,23,.9);
  --mfc187:rgba(22,28,33,.95);
  --mfc188:rgba(255,255,255,.85);
  --mfc189:rgba(20,30,40,.18);
  --mfc190:rgba(27,35,42,.6);
}
:root[data-theme="light"]{
  --mfc1:#fdf8f4;
  --mfc2:#74695e;
  --mfc3:rgba(107,92,71,.2);
  --mfc4:#f8efe8;
  --mfc5:#18110a;
  --mfc6:#faf5f0;
  --mfc7:rgba(225,214,196,.7);
  --mfc8:#eddfcd;
  --mfc9:#655f54;
  --mfc10:#0c0a08;
  --mfc11:rgba(250,245,240,1);
  --mfc12:rgba(253,248,244,1);
  --mfc13:rgba(237,229,219,.94);
  --mfc14:rgba(246,240,232,.96);
  --mfc15:rgba(0,0,0,.04);
  --mfc16:#706559;
  --mfc17:#655b51;
  --mfc18:#918579;
  --mfc19:#eee4db;
  --mfc20:#ede5da;
  --mfc21:#e5d9cc;
  --mfc22:#f9eef3;
  --mfc23:#000000;
  --mfc24:rgba(247,243,237,.84);
  --mfc25:rgba(0,0,0,.08);
  --mfc26:#ede4db;
  --mfc27:#e9dacd;
  --mfc28:#e5e5e5;
  --mfc29:rgba(236,232,221,.82);
  --mfc30:rgba(0,0,0,.14);
  --mfc31:rgba(252,246,248,.86);
  --mfc32:rgba(240,242,251,.84);
  --mfc33:rgba(241,252,250,.86);
  --mfc34:rgba(0,0,0,.25);
  --mfc35:rgba(0,0,0,.22);
  --mfc36:rgba(0,0,0,.78);
  --mfc37:rgba(247,243,237,.86);
  --mfc38:rgba(0,0,0,.12);
  --mfc39:rgba(255,224,235,.82);
  --mfc40:rgba(217,222,247,.82);
  --mfc41:rgba(217,230,247,.82);
  --mfc42:rgba(215,243,241,.82);
  --mfc43:rgba(236,232,221,.96);
  --mfc44:rgba(0,0,0,.18);
  --mfc45:#f8eef3;
  --mfc46:#faf6f1;
  --mfc47:#f3ebe4;
  --mfc48:#f5eee7;
  --mfc49:#e8dace;
  --mfc50:rgba(0,0,0,.025);
  --mfc51:#efe6dc;
  --mfc52:#f4ede5;
  --mfc53:#e2cfbf;
  --mfc54:rgba(0,0,0,.035);
  --mfc55:#4d4237;
  --mfc56:#756657;
  --mfc57:#a29e91;
  --mfc58:#726555;
  --mfc59:#706455;
  --mfc60:rgba(0,0,0,.03);
  --mfc61:rgba(0,0,0,.02);
  --mfc62:#eee6db;
  --mfc63:#decdb8;
  --mfc64:#d5d9e7;
  --mfc65:#716554;
  --mfc66:#262119;
  --mfc67:#0d0a08;
  --mfc68:#eae0d4;
  --mfc69:#ddcdbb;
  --mfc70:#241e16;
  --mfc71:#19140e;
  --mfc72:#0c0905;
  --mfc73:#dbccbb;
  --mfc74:#7b6e5c;
  --mfc75:#ede4d8;
  --mfc76:#584d3d;
  --mfc77:#ccb7a0;
  --mfc78:#d5cfbf;
  --mfc79:#373227;
  --mfc80:#191710;
  --mfc81:#b4aa9c;
  --mfc82:#e0d6c8;
  --mfc83:rgba(180,170,156,.25);
  --mfc84:rgba(180,170,156,.4);
  --mfc85:#f1d4de;
  --mfc86:#c5d0bb;
  --mfc87:#e5eadf;
  --mfc88:#a3c2b5;
  --mfc89:#d5e5dd;
  --mfc90:#c5ddd7;
  --mfc91:#faf6f2;
  --mfc92:#ebdfd5;
  --mfc93:rgba(225,214,196,.72);
  --mfc94:rgba(241,235,227,.86);
  --mfc95:rgba(250,245,240,.96);
  --mfc96:#65594d;
  --mfc97:rgba(225,214,196,.8);
  --mfc98:rgba(239,235,232,.96);
  --mfc99:rgba(247,242,237,.98);
  --mfc100:#f8f3ee;
  --mfc101:#72675c;
  --mfc102:#241b11;
  --mfc103:#574c42;
  --mfc104:#766a5f;
  --mfc105:#f7f2ed;
  --mfc106:#fdeef4;
  --mfc107:#f4eee8;
  --mfc108:#51473d;
  --mfc109:#f7efe7;
  --mfc110:#efebe8;
  --mfc111:rgba(225,214,196,.82);
  --mfc112:rgba(240,234,227,.98);
  --mfc113:rgba(248,243,238,.99);
  --mfc114:#0b0e30;
  --mfc115:#f2ebe6;
  --mfc116:#342a20;
  --mfc117:#817569;
  --mfc118:#271f17;
  --mfc119:#706458;
  --mfc120:#110b04;
  --mfc121:#65584b;
  --mfc122:#f7f1eb;
  --mfc123:#5e5247;
  --mfc124:#756a5e;
  --mfc125:#181f42;
  --mfc126:#8e8277;
  --mfc127:#877c70;
  --mfc128:#f2ebe5;
  --mfc129:#110a04;
  --mfc130:#f2ece7;
  --mfc131:#15070e;
  --mfc132:#71665a;
  --mfc133:#51463c;
  --mfc134:#ebe5df;
  --mfc135:#6c5f53;
  --mfc136:#f4efea;
  --mfc137:#807468;
  --mfc138:rgba(107,92,71,.16);
  --mfc139:#ede7df;
  --mfc140:#7f7469;
  --mfc141:#7c6f63;
  --mfc142:#eee7df;
  --mfc143:#0c0804;
  --mfc144:rgba(107,92,71,.22);
  --mfc145:#eae4dd;
  --mfc146:rgba(225,214,196,.86);
  --mfc147:#f8f3ed;
  --mfc148:#231910;
  --mfc149:#564b40;
  --mfc150:#9d8f82;
  --mfc151:#f3ede7;
  --mfc152:#7d6f62;
  --mfc153:#7b6e61;
  --mfc154:#f5efe9;
  --mfc155:#55493d;
  --mfc156:rgba(225,214,196,.58);
  --mfc157:#e4dacf;
  --mfc158:#6b5c47;
  --mfc159:rgba(107,92,71,.28);
  --mfc160:#f6f0ea;
  --mfc161:#ede5dd;
  --mfc162:#64574b;
  --mfc163:rgba(200,238,231,.32);
  --mfc164:#f8ecf0;
  --mfc165:#e5f2ee;
  --mfc166:rgba(225,221,210,.97);
  --mfc167:#f1e8e0;
  --mfc168:#e4d4c7;
  --mfc169:rgba(107,92,71,.12);
  --mfc170:rgba(107,92,71,.18);
  --mfc171:rgba(107,92,71,.08);
  --mfc172:rgba(135,132,121,.2);
  --mfc173:#f2eae2;
  --mfc174:#f6f0e9;
  --mfc175:#e5d6c8;
  --mfc176:#d9c7b4;
  --mfc177:#f4ebe1;
  --mfc178:#705f4d;
  --mfc179:#ac9d8c;
  --mfc180:#e8dacd;
  --mfc181:#76685b;
  --mfc182:#554c40;
  --mfc183:rgba(253,248,244,.62);
  --mfc184:rgba(245,242,240,.66);
  --mfc185:rgba(233,227,222,.92);
  --mfc186:rgba(242,238,232,.9);
  --mfc187:rgba(233,227,222,.95);
  --mfc188:rgba(0,0,0,.85);
  --mfc189:rgba(235,225,215,.18);
  --mfc190:rgba(228,220,213,.6);
}
/* ===== accent overrides (dark identical, light darkened for contrast) ===== */
:root{
  --mfa1:#34d399;
  --mfa2:#ffe818;
  --mfa3:rgba(94,184,255,.15);
  --mfa4:#5eb8ff;
  --mfa5:rgba(245,185,66,.15);
  --mfa6:rgba(94,184,255,.18);
  --mfa7:rgba(94,184,255,.35);
  --mfa8:rgba(240,160,58,.18);
  --mfa9:rgba(240,160,58,.34);
  --mfa10:rgba(240,160,58,.08);
  --mfa11:rgba(240,160,58,.24);
  --mfa12:rgba(240,160,58,.12);
  --mfa13:rgba(240,160,58,.28);
  --mfa14:rgba(240,160,58,.2);
  --mfa15:rgba(240,160,58,.11);
  --mfa16:rgba(240,160,58,.22);
  --mfa17:#ffd166;
  --mfa18:rgba(40,243,155,.25);
  --mfa19:#ff5c5c;
  --mfa20:rgba(255,92,92,.5);
  --mfa21:#f8a5ab;
  --mfa22:rgba(255,92,92,.15);
  --mfa23:#5eead4;
  --mfa24:#4fd1c5;
  --mfa25:rgba(255,232,24,.44);
  --mfa26:rgba(255,92,92,.42);
  --mfa27:rgba(255,232,24,.5);
  --mfa28:rgba(255,92,92,.55);
  --mfa29:#b7ffdf;
  --mfa30:#fff36b;
  --mfa31:#ffc2c2;
  --mfa32:rgba(255,232,24,.34);
  --mfa33:rgba(255,232,24,.38);
  --mfa34:rgba(240,160,58,.4);
  --mfa35:rgba(255,92,92,.36);
  --mfa36:rgba(245,185,66,.12);
  --mfa37:rgba(255,92,92,.25);
  --mfa38:rgba(245,185,66,.5);
  --mfa39:rgba(245,185,66,.1);
  --mfa40:rgba(245,185,66,.35);
  --mfa41:#f5c842;
  --mfa42:#ffe08a;
  --mfa43:#f0a03a;
  --mfa44:#e6a23c;
  --mfa45:rgba(245,185,66,.3);
  --mfa46:#b794f6;
  --mfa47:rgba(255,92,92,.12);
  --mfa48:rgba(255,92,92,.35);
  --mfa49:rgba(255,92,92,.08);
  --mfa50:rgba(255,92,92,.2);
  --mfa51:rgba(255,92,92,.45);
  --mfa52:#ff8a8a;
  --mfa53:rgba(94,184,255,.12);
  --mfa54:#ff7777;
  --mfa55:rgba(255,92,92,.1);
  --mfa56:rgba(255,92,92,.09);
  --mfa57:#ff8585;
  --mfa58:#ff8b8b;
  --mfa59:rgba(255,92,92,.65);
  --mfa60:rgba(255,92,92,.16);
  --mfa61:rgba(154,111,245,.2);
  --mfa62:rgba(245,185,66,.45);
  --mfa63:#f05454;
  --mfa64:#f59e42;
  --mfa65:#e8c547;
  --mfa66:#7dd87d;
  --mfa67:#3dd68c;
  --mfa68:#f07178;
  --mfa69:#e6b450;
  --mfa70:rgba(61,214,140,.38);
  --mfa71:rgba(240,113,120,.4);
  --mfa72:rgba(230,180,80,.42);
  --mfa73:rgba(94,184,255,.38);
  --mfa74:#ffd25a;
  --mfa75:#ff6b6b;
  --mfa76:rgba(255,107,107,.1);
  --mfa77:#8ec8ff;
}
:root[data-theme="light"]{
  --mfa1:#26b07e;
  --mfa2:#d6c100;
  --mfa3:rgba(0,120,214,.15);
  --mfa4:#0078d6;
  --mfa5:rgba(203,139,11,.15);
  --mfa6:rgba(0,120,214,.18);
  --mfa7:rgba(0,120,214,.35);
  --mfa8:rgba(199,118,15,.18);
  --mfa9:rgba(199,118,15,.34);
  --mfa10:rgba(199,118,15,.08);
  --mfa11:rgba(199,118,15,.24);
  --mfa12:rgba(199,118,15,.12);
  --mfa13:rgba(199,118,15,.28);
  --mfa14:rgba(199,118,15,.2);
  --mfa15:rgba(199,118,15,.11);
  --mfa16:rgba(199,118,15,.22);
  --mfa17:#d69600;
  --mfa18:rgba(11,203,120,.25);
  --mfa19:#d60000;
  --mfa20:rgba(214,0,0,.5);
  --mfa21:#c70f1d;
  --mfa22:rgba(214,0,0,.15);
  --mfa23:#19bda4;
  --mfa24:#2caa9e;
  --mfa25:rgba(214,193,0,.44);
  --mfa26:rgba(214,0,0,.42);
  --mfa27:rgba(214,193,0,.5);
  --mfa28:rgba(214,0,0,.55);
  --mfa29:#00d677;
  --mfa30:#d6c500;
  --mfa31:#d60000;
  --mfa32:rgba(214,193,0,.34);
  --mfa33:rgba(214,193,0,.38);
  --mfa34:rgba(199,118,15,.4);
  --mfa35:rgba(214,0,0,.36);
  --mfa36:rgba(203,139,11,.12);
  --mfa37:rgba(214,0,0,.25);
  --mfa38:rgba(203,139,11,.5);
  --mfa39:rgba(203,139,11,.1);
  --mfa40:rgba(203,139,11,.35);
  --mfa41:#cb9b0b;
  --mfa42:#d69d00;
  --mfa43:#c7760f;
  --mfa44:#be7c18;
  --mfa45:rgba(203,139,11,.3);
  --mfa46:#5111c6;
  --mfa47:rgba(214,0,0,.12);
  --mfa48:rgba(214,0,0,.35);
  --mfa49:rgba(214,0,0,.08);
  --mfa50:rgba(214,0,0,.2);
  --mfa51:rgba(214,0,0,.45);
  --mfa52:#d60000;
  --mfa53:rgba(0,120,214,.12);
  --mfa54:#d60000;
  --mfa55:rgba(214,0,0,.1);
  --mfa56:rgba(214,0,0,.09);
  --mfa57:#d60000;
  --mfa58:#d60000;
  --mfa59:rgba(214,0,0,.65);
  --mfa60:rgba(214,0,0,.16);
  --mfa61:rgba(74,14,200,.2);
  --mfa62:rgba(203,139,11,.45);
  --mfa63:#c51111;
  --mfa64:#cb6e0b;
  --mfa65:#be9a18;
  --mfa66:#31a531;
  --mfa67:#25b16d;
  --mfa68:#c2141e;
  --mfa69:#bb861b;
  --mfa70:rgba(37,177,109,.38);
  --mfa71:rgba(194,20,30,.4);
  --mfa72:rgba(187,134,27,.42);
  --mfa73:rgba(0,120,214,.38);
  --mfa74:#d69c00;
  --mfa75:#d60000;
  --mfa76:rgba(214,0,0,.1);
  --mfa77:#006ed6;
}
/* ===== shadow softening (dark identical, light reduced) ===== */
:root{
  --mfs1:rgba(0,0,0,.42);
  --mfs2:rgba(0,0,0,.18);
  --mfs3:rgba(0,0,0,.46);
  --mfs4:rgba(0,0,0,.24);
  --mfs5:rgba(0,0,0,.45);
  --mfs6:rgba(0,0,0,.32);
  --mfs7:rgba(0,0,0,.58);
  --mfs8:rgba(0,0,0,.2);
  --mfs9:rgba(0,0,0,.9);
  --mfs10:rgba(0,0,0,.8);
  --mfs11:rgba(0,0,0,.85);
  --mfs12:rgba(0,0,0,.36);
  --mfs13:rgba(0,0,0,.35);
  --mfs14:rgba(0,0,0,.4);
  --mfs15:rgba(0,0,0,.22);
  --mfs16:rgba(0,0,0,.55);
  --mfs17:rgba(0,0,0,.12);
  --mfs18:rgba(0,0,0,.52);
  --mfs19:rgba(0,0,0,.5);
  --mfs20:rgba(0,0,0,.6);
}
:root[data-theme="light"]{
  --mfs1:rgba(0,0,0,0.134);
  --mfs2:rgba(0,0,0,0.058);
  --mfs3:rgba(0,0,0,0.147);
  --mfs4:rgba(0,0,0,0.077);
  --mfs5:rgba(0,0,0,0.144);
  --mfs6:rgba(0,0,0,0.102);
  --mfs7:rgba(0,0,0,0.186);
  --mfs8:rgba(0,0,0,0.064);
  --mfs9:rgba(0,0,0,0.288);
  --mfs10:rgba(0,0,0,0.256);
  --mfs11:rgba(0,0,0,0.272);
  --mfs12:rgba(0,0,0,0.115);
  --mfs13:rgba(0,0,0,0.112);
  --mfs14:rgba(0,0,0,0.128);
  --mfs15:rgba(0,0,0,0.07);
  --mfs16:rgba(0,0,0,0.176);
  --mfs17:rgba(0,0,0,0.038);
  --mfs18:rgba(0,0,0,0.166);
  --mfs19:rgba(0,0,0,0.16);
  --mfs20:rgba(0,0,0,0.192);
}

/* Keep the editable Profile settings page inside the app frame without an inner scrollbar. */
.settingsBody[data-settings-page="profile"] .settingsShell{overflow:hidden}
.settingsBody[data-settings-page="profile"] .settingsMain{padding-top:24px;padding-bottom:16px;overflow:hidden}
.settingsBody[data-settings-page="profile"] .settingsHero{margin-bottom:14px}
.settingsBody[data-settings-page="profile"] .settingsProfileLayout{grid-template-columns:minmax(0,640px) 320px;gap:12px}
.settingsBody[data-settings-page="profile"] .settingsPanel{padding:12px}
.settingsBody[data-settings-page="profile"] .settingsPanelHead{margin-bottom:8px}
.settingsBody[data-settings-page="profile"] .settingsPanelHead h3{font-size:13px}
.settingsBody[data-settings-page="profile"] .settingsPanelHead p{font-size:11px}
.settingsBody[data-settings-page="profile"] .settingsProfileForm{gap:9px}
.settingsBody[data-settings-page="profile"] .profileAvatarEditor{gap:12px;padding:9px}
.settingsBody[data-settings-page="profile"] .profileAvatarPreview{width:54px;height:54px;border-radius:14px;font-size:18px}
.settingsBody[data-settings-page="profile"] .profileAvatarEditor p{margin-top:6px;font-size:10px}
.settingsBody[data-settings-page="profile"] .settingsFormField{gap:5px}
.settingsBody[data-settings-page="profile"] .settingsFormField input,
.settingsBody[data-settings-page="profile"] .settingsFormField textarea{padding:7px 9px;font-size:11px}
.settingsBody[data-settings-page="profile"] .settingsFormField textarea{height:72px;min-height:72px}
.settingsBody[data-settings-page="profile"] .settingsActions{margin-top:8px;padding-top:10px}
.settingsBody[data-settings-page="profile"] .settingsProfileSide{gap:9px}
.settingsBody[data-settings-page="profile"] .settingsInfoCard{min-height:0}
.settingsBody[data-settings-page="profile"] .settingsSummaryRows{gap:4px}
.settingsBody[data-settings-page="profile"] .settingsSummaryRows div{padding:5px 0}

/* ============================================================
   Unified button interaction baseline — mirrors the moneyflow_live
   shadcn/ui button (rounded, transition-all, focus-visible ring,
   active press, disabled:opacity-50). Palette tokens already match.
   ============================================================ */
:root{ --ring: var(--green); }
button, [role="button"], .railBtn, .tfBtn, .lgToggle, .indicatorsBtn, .layoutBtn,
.feedSwitchBtn, .tlFilterBtn, .tlPageBtn, .drawToolBtn, .dsmWidthBtn,
.settingsThemeOption {
  transition: background .14s ease, color .14s ease, border-color .14s ease,
              box-shadow .14s ease, transform .04s ease;
}
button:focus-visible, [role="button"]:focus-visible, a.railBtn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ring) 45%, transparent);
}
/* Subtle press feedback (skip menu/popover triggers so panels don't jump). */
button:active:not([aria-haspopup]):not([disabled]),
.railBtn:active, .tfBtn:active, .lgToggle:active, .feedSwitchBtn:active,
.tlFilterBtn:active, .tlPageBtn:active, .drawToolBtn:active {
  transform: translateY(1px);
}
button:disabled {
  opacity: .5;
  pointer-events: none;
}
/* aria-disabled items (e.g. "coming soon" rail buttons) stay dimmed but must
   keep pointer events so their hover tooltip still shows; clicks are no-ops. */
[aria-disabled="true"] {
  opacity: .58;
  cursor: default;
}

/* ============================================================
   Trade Logs → Replay Lab merge: breadcrumb + clickable rows.
   ============================================================ */
.crumbs{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;min-width:0}
.crumbs[hidden]{display:none}
.crumb{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--muted);
  white-space:nowrap;max-width:42vw;overflow:hidden;text-overflow:ellipsis}
.crumbLink{cursor:pointer;transition:color .14s ease}
.crumbLink:hover{color:var(--txt)}
.crumbCurrent{color:var(--txt)}
.crumbSep{color:var(--muted);font-weight:400}
/* When the breadcrumb is showing, hide the section title (keep the logo). */
body.crumbs-active .brandText{display:none}
body.crumbs-active .brandText::before{content:none}

/* Clickable Trade Logs rows */
.tlRowLink{cursor:pointer}
.tlRowLink:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--ring) 55%, transparent)}
.tlView{color:var(--muted);font-size:12.5px;white-space:nowrap;text-align:right;
  display:flex;align-items:center;justify-content:flex-end;gap:2px;transition:color .14s ease}
.tlView i{font-size:15px;line-height:1}
.tlRowLink:hover .tlView{color:var(--green)}
body.crumbs-active #buildStamp{display:none}

/* ============================================================
   Drawing property box — TradingView-style text + rectangle options.
   ============================================================ */
.dsmTextSection, .dsmRectSection{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.dsmTextSection[hidden], .dsmRectSection[hidden]{display:none}
.dsmFontRow, .dsmAlignRow, .dsmOptRow{display:flex;align-items:center;gap:8px}
.dsmColorInput{width:30px;height:26px;padding:0;border:1px solid var(--border);border-radius:6px;
  background:var(--surface-2);cursor:pointer;flex:0 0 auto}
.dsmColorInput::-webkit-color-swatch-wrapper{padding:2px}
.dsmColorInput::-webkit-color-swatch{border:none;border-radius:4px}
.dsmSelect{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--border);color:var(--txt);
  border-radius:7px;padding:5px 8px;font-size:12.5px;outline:none;cursor:pointer}
.dsmSelect:focus{border-color:var(--muted)}
.dsmSelectWide{flex:2}
.dsmTglBtn{width:30px;height:26px;flex:0 0 auto;border:1px solid var(--border);background:var(--surface-2);
  color:var(--muted);border-radius:6px;cursor:pointer;font-size:13px;line-height:1}
.dsmTglBtn:hover{color:var(--txt)}
.dsmTglBtn.active{background:rgba(0,194,122,.16);border-color:rgba(0,194,122,.45);color:var(--green)}
.dsmTextArea{width:100%;min-height:64px;resize:vertical;background:var(--surface-2);border:1px solid var(--border);
  color:var(--txt);border-radius:8px;padding:7px 9px;font-size:13px;outline:none;font-family:inherit}
.dsmTextArea:focus{border-color:var(--muted)}
.dsmTextArea::placeholder{color:var(--muted)}
.dsmCheck{display:flex;align-items:center;gap:6px;flex:1;color:var(--txt);font-size:12.5px;cursor:pointer}
.dsmCheck input{accent-color:var(--green)}

/* ============================================================
   Mobile gate — product is tablet/desktop only. Below 768px show a
   message and hide the app behind a full-screen overlay.
   ============================================================ */
.mobileGate{display:none}
.mfBootFallback{position:fixed;inset:0;z-index:200000;display:flex;align-items:center;justify-content:center;
  background:var(--bg);color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.02em;pointer-events:none}
body[data-mf-boot="ready"] .mfBootFallback{display:none!important}
body[data-mf-boot="error"] .mfBootFallback{color:var(--amber)}
@media (max-width:767px){
  .mobileGate{
    display:flex;position:fixed;inset:0;z-index:100000;
    align-items:center;justify-content:center;padding:28px;
    background:var(--bg);text-align:center;
  }
  .mobileGateCard{max-width:340px;display:flex;flex-direction:column;align-items:center;gap:14px}
  .mobileGateLogo{width:56px;height:56px;object-fit:contain}
  .mobileGateCard h2{font-size:20px;font-weight:700;color:var(--txt);margin:0;letter-spacing:-.01em}
  .mobileGateCard p{font-size:14px;line-height:1.55;color:var(--muted);margin:0}
  /* Don't let the app scroll/interact behind the gate. */
  body{overflow:hidden}
}

/* ===== Chart settings modal (candl.live-style "Settings…") ===== */
.chartSettingsOverlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-start;
  justify-content:center;padding:48px 16px;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);overflow:auto}
.chartSettingsOverlay[hidden]{display:none}
.chartSettingsModal{width:420px;max-width:100%;background:var(--card);border:1px solid var(--border);
  border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.45);overflow:hidden;font-size:13.5px}
.csHead{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px}
.csTitle{font-size:16px;font-weight:700;color:var(--txt)}
.csClose{background:transparent;border:none;color:var(--muted);cursor:pointer;width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:18px;transition:color .12s,background .12s}
.csClose:hover{color:var(--txt);background:var(--surface-2)}
.csTabs{display:flex;gap:8px;padding:0 16px 4px}
.csTab{flex:1;background:transparent;border:1px solid transparent;color:var(--muted);font-size:13.5px;
  font-weight:600;padding:9px 10px;border-radius:10px;cursor:pointer;transition:color .12s,background .12s,border-color .12s}
.csTab:hover{color:var(--txt)}
.csTab.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);
  border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.csBody{padding:8px 18px 18px;max-height:62vh;overflow:auto}
.csSection{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  margin:16px 0 6px}
.csSection:first-child{margin-top:6px}
.csRow{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}
.csRow:last-child{border-bottom:none}
.csLabel{color:var(--txt);display:flex;flex-direction:column;gap:3px}
.csSub{color:var(--muted);font-size:11.5px;font-weight:400}
.csColor{display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.csColor input[type=color]{appearance:none;-webkit-appearance:none;width:28px;height:20px;padding:0;
  border:1px solid var(--border);border-radius:5px;background:transparent;cursor:pointer}
.csColor input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.csColor input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}
.csHex{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;min-width:120px;text-align:right}
.csNote{color:var(--muted);font-size:11.5px;line-height:1.5;margin:8px 0 2px}
.csNote b{color:var(--txt);font-weight:600}
.csToggle{position:relative;width:42px;height:24px;border-radius:999px;border:none;cursor:pointer;
  background:var(--surface-3);transition:background .15s}
.csToggle[aria-checked="true"]{background:var(--accent)}
.csKnob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;
  transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.csToggle[aria-checked="true"] .csKnob{transform:translateX(18px)}
.csFooter{margin-top:18px;display:flex;justify-content:flex-end}
.csReset{background:transparent;border:1px solid var(--border);color:var(--muted);font-size:12.5px;
  font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer;transition:color .12s,border-color .12s}
.csReset:hover{color:var(--txt);border-color:var(--muted)}
.csLegal{color:var(--muted);font-size:12.5px;line-height:1.6;margin:6px 0}

/* ===== TA indicator library (modal rows + badges) ===== */
.indGroupHead{padding:12px 12px 5px;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--muted)}
/* TA/library rows share the base .indRow grid (1fr 160px) so their AUTHOR
   column aligns with the built-in MoneyFlow rows. */
.indColBadge{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:lowercase;
  padding:2px 8px;border-radius:6px;border:1px solid var(--border);color:var(--muted)}
.indBadge-overlay{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,transparent)}
.indBadge-pane{color:var(--purple);border-color:color-mix(in srgb,var(--purple) 40%,transparent)}

/* Dynamic technical-indicator panes (RSI/MACD/etc.) */
.taPaneUnit{flex-shrink:0;height:120px;display:flex;flex-direction:column;border-top:1px solid var(--border)}
.taPaneTitle{display:flex;align-items:center;justify-content:space-between;gap:8px}
.taPaneChart{flex:1;min-height:0}
.taPaneClose{background:transparent;border:none;color:var(--muted);cursor:pointer;width:20px;height:20px;
  display:flex;align-items:center;justify-content:center;border-radius:5px;font-size:14px;line-height:1;
  transition:color .12s,background .12s}
.taPaneClose:hover{color:var(--txt);background:var(--surface-2)}

/* ===== Developer-only: Setup-scoring debug popup ===== */
.setupDebugPopup{position:fixed;z-index:9999;display:none;width:250px;
  background:var(--panel,#11151c);border:1px solid var(--border,#2a3340);
  border-radius:10px;padding:12px 13px;box-shadow:0 10px 30px rgba(0,0,0,.55);
  font-size:12px;color:var(--txt,#e6e9ee);font-variant-numeric:tabular-nums}
.setupDebugPopup .sdHead{display:flex;align-items:center;justify-content:space-between;
  margin:-2px 0 6px}
.setupDebugPopup .sdTitle{font-weight:700;font-size:13px;letter-spacing:.02em}
.setupDebugPopup .sdHead.sdRej .sdTitle{color:#ff8a65}
.setupDebugPopup .sdHead.sdAcc .sdTitle{color:#00c27a}
.setupDebugPopup .sdClose{cursor:pointer;color:var(--muted,#8a96a3);font-size:17px;
  line-height:1;padding:0 2px}
.setupDebugPopup .sdClose:hover{color:var(--txt,#e6e9ee)}
.setupDebugPopup .sdMeta{color:var(--muted,#8a96a3);font-size:11px;margin-bottom:6px}
.setupDebugPopup .sdScore{margin-bottom:9px;font-size:12px}
.setupDebugPopup .sdScore b{font-size:15px}
.setupDebugPopup .sdRow{display:flex;align-items:center;gap:7px;margin:3px 0}
.setupDebugPopup .sdK{width:64px;color:var(--muted,#8a96a3);flex:0 0 auto}
.setupDebugPopup .sdBarWrap{flex:1;height:6px;border-radius:4px;
  background:rgba(255,255,255,.07);overflow:hidden}
.setupDebugPopup .sdBar{display:block;height:100%;border-radius:4px}
.setupDebugPopup .sdBar.sdHi{background:#00c27a}
.setupDebugPopup .sdBar.sdMid{background:#ffb74d}
.setupDebugPopup .sdBar.sdLo{background:#ff5c5c}
.setupDebugPopup .sdV{width:34px;text-align:right;flex:0 0 auto}
.setupDebugPopup .sdV.sdHi{color:#00c27a}
.setupDebugPopup .sdV.sdMid{color:#ffb74d}
.setupDebugPopup .sdV.sdLo{color:#ff5c5c}
.setupDebugPopup .sdReasons{margin-top:9px;border-top:1px solid var(--border,#2a3340);
  padding-top:8px}
.setupDebugPopup .sdReasonsHdr{color:#ff8a65;font-weight:600;margin-bottom:4px;font-size:11px}
.setupDebugPopup .sdReason{color:var(--txt,#e6e9ee);margin:2px 0;font-size:11.5px}
.setupDebugPopup .sdReason.sdOk{color:#00c27a}
/* Dev badge */
.setupDebugBadge{position:fixed;left:8px;bottom:8px;z-index:9998;
  background:rgba(255,138,101,.14);border:1px solid #ff8a65;color:#ff8a65;
  font-size:10px;font-weight:700;letter-spacing:.05em;padding:3px 7px;border-radius:6px;
  cursor:pointer;user-select:none}
.setupDebugBadge:hover{background:rgba(255,138,101,.24)}
.setupDebugPopup .sdHead.sdSup .sdTitle{color:#7C8CFF}
.setupDebugPopup .sdOutcome{margin-top:9px;border-top:1px solid var(--border,#2a3340);padding-top:8px}
.setupDebugPopup .sdOutHdr{font-weight:600;font-size:11px;color:var(--muted,#8a96a3);
  margin-bottom:4px;display:flex;align-items:center;gap:6px}
.setupDebugPopup .sdOutTag{font-weight:700;font-size:10px;padding:1px 6px;border-radius:5px;
  background:rgba(255,255,255,.08);color:var(--txt,#e6e9ee)}
.setupDebugPopup .sdOutV{margin-left:auto;flex:0 0 auto;text-align:right;min-width:54px}
.setupDebugPopup .sdYes{color:#00c27a;font-weight:600}
.setupDebugPopup .sdNo{color:#ff5c5c;font-weight:600}
.setupDebugPopup .sdOutTag.sdYes{background:rgba(0,194,122,.16)}
.setupDebugPopup .sdOutTag.sdNo{background:rgba(255,92,92,.16)}

/* ===== Developer-only: daily candidate summary table ===== */
.setupDebugSummary{position:fixed;left:8px;bottom:38px;z-index:9998;display:none;
  width:300px;background:var(--panel,#11151c);border:1px solid var(--border,#2a3340);
  border-radius:10px;padding:10px 11px;box-shadow:0 10px 30px rgba(0,0,0,.55);
  font-size:11.5px;color:var(--txt,#e6e9ee);font-variant-numeric:tabular-nums}
.setupDebugSummary .sdsHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.setupDebugSummary .sdsTitle{font-weight:700;font-size:12px}
.setupDebugSummary .sdsTools{display:flex;align-items:center;gap:9px}
.setupDebugSummary .sdsOff{font-size:10px;color:#ff8a65;cursor:pointer;border:1px solid #ff8a65;
  border-radius:5px;padding:1px 6px}
.setupDebugSummary .sdsOff:hover{background:rgba(255,138,101,.18)}
.setupDebugSummary .sdsExport{font-size:10px;color:var(--accent,#00c27a);cursor:pointer;
  border:1px solid var(--accent,#00c27a);border-radius:5px;padding:1px 6px}
.setupDebugSummary .sdsExport:hover{background:rgba(0,194,122,.16)}
.setupDebugSummary .sdsClose{cursor:pointer;color:var(--muted,#8a96a3);font-size:16px;line-height:1}
.setupDebugSummary .sdsClose:hover{color:var(--txt,#e6e9ee)}
.setupDebugSummary table{width:100%;border-collapse:collapse}
.setupDebugSummary th{color:var(--muted,#8a96a3);font-weight:600;text-align:right;
  padding:3px 4px;font-size:10.5px;border-bottom:1px solid var(--border,#2a3340)}
.setupDebugSummary th:first-child{text-align:left}
.setupDebugSummary td{text-align:right;padding:4px 4px}
.setupDebugSummary td.sdsB{text-align:left;font-weight:600}
.setupDebugSummary .sdsDot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle}
.setupDebugSummary .sdsDot.sds-A{background:#00c27a}
.setupDebugSummary .sdsDot.sds-S{background:#7C8CFF}
.setupDebugSummary .sdsDot.sds-R{background:#9aa6b2}
.setupDebugSummary .sdsTot td{border-top:1px solid var(--border,#2a3340);color:var(--muted,#cfd6df);font-weight:600}
.setupDebugSummary .sdsFoot{margin-top:7px;color:var(--muted,#8a96a3);font-size:10px;line-height:1.35}

/* AI ENTER marker clarification tooltip (UI only) */
.aiEnterTip{position:fixed;z-index:9999;display:none;pointer-events:none;
  background:var(--panel,#11151c);border:1px solid var(--border,#2a3340);
  border-left:3px solid #00c27a;border-radius:7px;padding:5px 9px;
  font-size:11px;color:var(--txt,#e6e9ee);box-shadow:0 6px 18px rgba(0,0,0,.5);
  max-width:220px;line-height:1.3}

/* ===== Volume Profile settings popover (opened from the Indicators-menu gear) ===== */
.vpSettingsPanel{position:fixed;z-index:9999;width:236px;background:var(--panel,#11151c);
  border:1px solid var(--border,#2a3340);border-radius:10px;padding:11px 12px;
  box-shadow:0 12px 32px rgba(0,0,0,.55);font-size:11.5px;color:var(--txt,#e6e9ee)}
.vpSettingsPanel[hidden]{display:none}
.vpSettingsPanel .vpsHead{font-weight:700;font-size:12px;margin-bottom:8px}
.vpSettingsPanel .vpsSeg{display:inline-flex;gap:3px;flex-wrap:wrap}
.vpSettingsPanel .vpsSeg button{padding:3px 7px;border:1px solid var(--border,#2a3340);
  border-radius:6px;background:transparent;color:var(--muted,#cfd6df);font-size:10.5px;cursor:pointer}
.vpSettingsPanel .vpsSeg button.on{background:rgba(124,140,255,.18);border-color:#7C8CFF;color:#cdd4ff}
.vpSettingsPanel input[type=range]{flex:1;accent-color:#7C8CFF}
.vpSettingsPanel .vpsVAval{width:34px;text-align:right;flex:0 0 auto}
.vpSettingsPanel .vpsCheck{cursor:pointer}
.vpSettingsPanel .vpsCheck small{color:var(--muted,#8a96a3)}
.vpSettingsPanel .vpsDisabled{opacity:.5;cursor:default}
/* Indicators-menu Volume Profile row + settings gear */
.indMenuRow{display:flex;align-items:center;gap:2px}
.indMenuRow .indMenuItemFlex{flex:1}
.indMenuGear{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  flex:0 0 auto;border:none;background:transparent;color:var(--muted,#8a96a3);cursor:pointer;
  border-radius:6px;font-size:14px}
.indMenuGear:hover{background:rgba(255,255,255,.06);color:var(--txt,#e6e9ee)}

/* ===== VP settings popover — refined ===== */
.vpSettingsPanel{width:250px;padding:14px 15px 13px}
.vpSettingsPanel .vpsHead{display:flex;flex-direction:column;gap:2px;font-weight:700;
  font-size:13px;margin-bottom:13px}
.vpSettingsPanel .vpsEst{font-weight:400;font-size:10px;color:var(--muted,#8a96a3);font-style:italic}
.vpSettingsPanel .vpsGroupBlock{margin-bottom:13px}
.vpSettingsPanel .vpsSection{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted,#8a96a3);margin-bottom:7px;font-weight:600}
.vpSettingsPanel .vpsSeg{display:flex;gap:5px}
.vpSettingsPanel .vpsSeg button{flex:1;min-width:40px;padding:6px 6px;border:1px solid var(--border,#2a3340);
  border-radius:7px;background:transparent;color:var(--muted,#cfd6df);font-size:10.5px;cursor:pointer;
  transition:border-color .12s,background .12s}
.vpSettingsPanel .vpsSeg button:hover{border-color:var(--muted,#8a96a3)}
.vpSettingsPanel .vpsSeg button.on{background:rgba(124,140,255,.16);border-color:#7C8CFF;color:#cdd4ff}
.vpSettingsPanel .vpsVARow{display:flex;align-items:center;gap:11px}
.vpSettingsPanel .vpsVARow input[type=range]{flex:1;accent-color:#7C8CFF}
.vpSettingsPanel .vpsVAval{width:34px;text-align:right;font-size:11.5px}
.vpSettingsPanel .vpsCheck{display:flex;align-items:center;gap:8px;margin:2px 0 13px;
  cursor:pointer;font-size:11.5px}
.vpSettingsPanel .vpsCheck small{color:var(--muted,#8a96a3)}
.vpSettingsPanel .vpsCheck.vpsDisabled{opacity:.5;cursor:default}
