:root{--bg:#040b12;--panel:#07131d;--panel2:#091925;--line:#173044;--line-soft:#102536;--table-head:#081722;--glass:rgba(9,25,37,.94);--ring-secondary:#8a3f08;--orange:#f28c28;--orange-primary:#ff9f32;--green:#35df86;--red:#ee6767;--blue:#61b6ff;--text:#f4f6f7;--text-soft:#d6e0e7;--text-dim:#8fa8ba;--text-mute:#607b8e;--grid:#163044;--mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--sans:'Manrope',Arial,sans-serif}
html[data-theme="light"]{--bg:#f2eee5;--panel:#fffdf8;--panel2:#f8f4ec;--line:#d7d0c3;--line-soft:#e5ded2;--table-head:#eee8dc;--glass:rgba(255,253,248,.98);--ring-secondary:#b96015;--orange:#f28c28;--orange-primary:#d96e0d;--green:#168a45;--red:#c94242;--blue:#397da9;--text:#18221d;--text-soft:#394941;--text-dim:#66746d;--text-mute:#7f8b84;--grid:#ddd6ca}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--text);font:13px/1.45 var(--mono)}body{background:radial-gradient(circle at 14% -10%,rgba(255,159,50,.055),transparent 35%),radial-gradient(circle at 82% 0%,rgba(54,132,183,.055),transparent 34%),linear-gradient(180deg,#040b12,#06101a 62%,#040b12)}html[data-theme="light"] body{background:radial-gradient(circle at 14% -10%,rgba(217,110,13,.085),transparent 35%),radial-gradient(circle at 82% 0%,rgba(57,125,169,.05),transparent 34%),linear-gradient(180deg,#f2eee5,#f7f3eb 62%,#f2eee5)}
.app{min-height:100vh;display:flex;flex-direction:column}.top{height:78px;flex:0 0 78px;display:grid;grid-template-columns:minmax(280px,1fr) minmax(420px,1.35fr) minmax(300px,1fr);align-items:center;padding:8px 22px;border-bottom:1px solid var(--line-soft);background:rgba(4,11,18,.66)}html[data-theme="light"] .top{background:rgba(236,230,218,.82)}.brand{display:flex;align-items:center;gap:12px}.home-link{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--orange-primary);text-decoration:none;background:rgba(242,140,40,.05)}.home-link svg{width:18px;height:18px;fill:currentColor}.divider{width:1px;height:30px;background:var(--line)}.ring{width:38px;height:38px;flex:0 0 38px;border:9px solid var(--orange-primary);border-right-color:var(--ring-secondary);border-radius:50%;box-shadow:0 0 16px rgba(242,140,40,.30)}.brand-name{font:800 20px var(--sans);color:var(--orange-primary)}.brand-sub{font-size:9px;color:var(--text-mute);letter-spacing:.11em}.header-mid{text-align:center}.header-mid h1{font:700 16px/1.2 var(--sans);letter-spacing:.13em;margin:0}.tagline{font-size:10px;color:var(--text-soft);margin-top:4px}.live-meta{font-size:8px;color:var(--text-mute);margin-top:3px}.live-tag{color:var(--green);font-size:11px;display:inline-flex;align-items:center;gap:5px;margin-left:5px;font-weight:700}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px rgba(53,223,134,.3);animation:heartbeat 2.2s ease-out infinite}@keyframes heartbeat{0%,55%,100%{box-shadow:0 0 5px rgba(53,223,134,.28);transform:scale(1)}12%{box-shadow:0 0 0 5px rgba(53,223,134,.10),0 0 13px rgba(53,223,134,.55);transform:scale(1.16)}24%{box-shadow:0 0 0 9px rgba(53,223,134,0);transform:scale(1)}}.header-right{display:flex;justify-content:flex-end;align-items:center;gap:12px}.clock{text-align:right}.clock .time{font-size:19px;font-weight:600}.clock .tz,.clock .date{font-size:8px;color:var(--text-dim)}.clock .tz{color:var(--orange-primary)}.status-box{border:1px solid var(--line);border-radius:8px;padding:6px 11px;text-align:right;background:rgba(242,140,40,.03)}.status-box .lbl{font-size:8px;color:var(--text-mute)}.status-box .val{font-size:10px;color:var(--green);font-weight:700;margin-top:2px}.theme-toggle{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:rgba(242,140,40,.04);color:var(--orange-primary);display:grid;place-items:center;cursor:pointer}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.theme-toggle .moon{fill:currentColor;stroke:none}.theme-toggle .sun{display:none}html[data-theme="light"] .theme-toggle .moon{display:none}html[data-theme="light"] .theme-toggle .sun{display:block}
.ticker{height:76px;flex:0 0 76px;display:grid;grid-template-columns:repeat(4,1fr);background:#06121c;border-bottom:1px solid var(--line-soft)}html[data-theme="light"] .ticker{background:#eee8dc}.tile{padding:10px 18px;display:flex;flex-direction:column;justify-content:center;position:relative;border-right:1px solid var(--line-soft)}.tile:last-child{border-right:0}.tile:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--orange-primary)}.tile label{font-size:8px;color:var(--text-dim);letter-spacing:.11em}.tile strong{font:700 20px var(--sans);margin-top:3px;white-space:nowrap}.tile:first-child strong,.tile:nth-child(4) strong{color:var(--orange-primary)}.tile small{font-size:8px;color:var(--text-mute);margin-top:2px}
.workspace{flex:1;min-height:0;padding:12px 14px 14px;background:rgba(6,16,26,.58)}html[data-theme="light"] .workspace{background:#f5f1e8}.card{background:linear-gradient(180deg,rgba(9,25,37,.94),rgba(6,18,28,.96));border:1px solid var(--line-soft);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}html[data-theme="light"] .card{background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(248,244,236,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px}.chartCard,.panel,.ledgerCard{border-radius:8px;overflow:hidden}.cardHead,.ph{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--orange-primary);font-size:9px;letter-spacing:.12em}.cardHead h2,.panel h2{margin:2px 0 0;font:700 17px var(--sans)}.chartHeadTools{display:flex;align-items:center;gap:16px}.legend{color:var(--text-mute);font-size:10px}.legend i{display:inline-block;width:18px;height:3px;margin:0 5px 2px 13px}.legend .u{background:var(--blue)}.legend .l{background:var(--orange-primary)}.rangeControls{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel2)}.range-btn{border:0;border-right:1px solid var(--line);background:transparent;color:var(--text-mute);height:28px;min-width:40px;padding:0 9px;font:700 9px var(--mono);cursor:pointer}.range-btn:last-child{border-right:0}.range-btn:hover{color:var(--text);background:rgba(242,140,40,.05)}.range-btn.active{background:var(--orange-primary);color:#08121a}.chartWrap{height:435px;padding:8px 12px;position:relative}#chart{width:100%;height:100%;overflow:visible}.sourcebar{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 16px;color:var(--text-mute);font-size:9px}.sourcebar span:first-child{color:var(--green)}aside{display:flex;flex-direction:column;gap:12px}.panel{padding:15px}.scenarios{margin-top:12px}.scenario{border:1px solid var(--line);background:rgba(5,17,26,.38);border-radius:7px;padding:10px;margin:7px 0;display:grid;grid-template-columns:1fr auto;gap:4px}html[data-theme="light"] .scenario{background:rgba(234,229,218,.55)}.scenario b{font-size:14px}.scenario span{color:var(--text-mute);font-size:10px}.scenario strong{grid-row:1/3;grid-column:2;font:700 23px var(--sans);color:var(--orange-primary);align-self:center}.forecastFoot{margin-top:11px;border-top:1px solid var(--line);padding-top:11px}.forecastFoot b,.forecastFoot small{display:block;color:var(--text-mute);font-size:9px}.forecastFoot strong{display:block;color:var(--orange-primary);font-size:19px;margin:3px 0}.intel b{color:var(--green)}.intel p{color:var(--text-soft);font-size:11px}.doctrine{border-top:1px solid var(--line);margin-top:13px;padding-top:12px;color:var(--text-mute);line-height:1.8;font-size:10px}.doctrine b{color:var(--text)}.ledgerCard{margin-top:12px}.meta{font-size:8px;color:var(--text-mute)}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse}thead{background:var(--table-head)}th,td{padding:9px 14px;text-align:left;border-bottom:1px solid var(--line-soft)}th{color:var(--text-dim);font-size:9px;letter-spacing:.09em}td{white-space:nowrap;font-size:11px}.hold{color:var(--text-mute)}.hike{color:var(--orange-primary)}.cut{color:var(--green)}
.chartTooltip{position:absolute;z-index:5;display:none;width:250px;padding:12px 13px;background:rgba(4,11,18,.97);border:1px solid var(--line);border-radius:7px;box-shadow:0 12px 30px rgba(0,0,0,.28);pointer-events:none;color:var(--text)}html[data-theme="light"] .chartTooltip{background:rgba(255,253,248,.98)}.chartTooltip.show{display:block}.tt-date{color:var(--text-mute);font-size:9px}.tt-title{margin-top:5px;color:var(--orange-primary);font-size:9px;letter-spacing:.12em}.tt-range{display:flex;align-items:center;gap:7px;margin:7px 0 9px;font:700 20px var(--sans)}.tt-range b{color:var(--text-mute);font-size:13px}.tt-grid{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding-top:8px;border-top:1px solid var(--line);font-size:9px}.tt-grid span{color:var(--text-mute)}
.footer{height:38px;flex:0 0 38px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;padding:0 18px;color:var(--text-mute);font-size:8px;background:#040b12}.footer .status{display:flex;gap:18px}.mini{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:5px}html[data-theme="light"] .footer{background:#ece6da}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
@media(max-width:1100px){.top{grid-template-columns:220px 1fr 230px}.header-mid h1{font-size:13px}.brand-sub,.status-box{display:none}.workspace{overflow:auto}main{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr}.chartWrap{height:390px}}
@media(max-width:760px){.top{height:auto;min-height:62px;grid-template-columns:1fr auto;padding:7px 10px}.header-mid{display:none}.clock .tz,.clock .date,.status-box{display:none}.ring{width:30px;height:30px;flex-basis:30px;border-width:7px}.home-link{width:30px;height:30px}.ticker{height:auto;grid-template-columns:1fr 1fr}.tile{min-height:62px}.workspace{padding:8px}.chartWrap{height:330px}.chartHeadTools .legend{display:none}aside{grid-template-columns:1fr}.footer{height:auto;min-height:36px;padding:8px 10px}.footer .status{display:none}}

/* ==========================================================
   TradeCPO FED Terminal V1.3.1
   FFB Theme Alignment - Layout Stability Hotfix
   ========================================================== */
html,body{width:100%;height:100%;min-height:100%}
body{overflow:hidden}
.app{width:100%;height:100vh;min-height:100vh;overflow:hidden;display:flex;flex-direction:column}
.top{flex:0 0 78px}.ticker{flex:0 0 76px}
.workspace{flex:1 1 auto;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;position:relative}
.workspace>main{display:grid!important;grid-template-columns:minmax(0,1fr) 360px;gap:12px;width:100%;min-height:520px;visibility:visible!important;opacity:1!important}
.workspace>main>.chartCard{display:flex;flex-direction:column;min-width:0;min-height:520px}
.chartWrap{flex:1 1 auto;height:auto;min-height:400px;position:relative}
.workspace>main>aside{min-width:0;min-height:520px}
.workspace>.ledgerCard{width:100%;margin-top:12px}
.footer{flex:0 0 38px}
@media(max-width:1100px){body{overflow:auto}.app{height:auto;min-height:100vh;overflow:visible}.workspace{overflow:visible}.workspace>main{grid-template-columns:1fr;min-height:0}.workspace>main>.chartCard,.workspace>main>aside{min-height:0}.chartWrap{height:390px;min-height:390px}}
@media(max-width:760px){.top{flex-basis:auto}.ticker{flex-basis:auto}.chartWrap{height:330px;min-height:330px}.footer{flex-basis:auto}}

/* ==========================================================
   TradeCPO FED Terminal V1.3.2
   Institutional Density Refinement
   Reduce dead space while preserving hierarchy and readability.
   ========================================================== */
.workspace{padding:8px 10px 10px}
.workspace>main{gap:8px;min-height:500px}
.workspace>main>.chartCard{min-height:500px}
.workspace>main>aside{min-height:500px;gap:8px}
.cardHead,.ph{padding:9px 14px}
.cardHead h2,.panel h2{margin-top:1px}
.chartHeadTools{gap:12px}
.chartWrap{padding:0 8px 4px;min-height:382px}
.sourcebar{padding:7px 14px}
.panel{padding:12px 14px}
.scenarios{margin-top:8px}
.scenario{padding:8px 10px;margin:5px 0;gap:2px 8px}
.forecastFoot{margin-top:8px;padding-top:8px}
.doctrine{margin-top:9px;padding-top:9px;line-height:1.65}
.workspace>.ledgerCard{margin-top:8px}
th,td{padding:8px 12px}
@media(max-width:1100px){.workspace{padding:8px}.workspace>main{gap:8px}.chartWrap{height:370px;min-height:370px}}
@media(max-width:760px){.workspace{padding:6px}.chartWrap{height:320px;min-height:320px}.panel{padding:10px 12px}.cardHead,.ph{padding:8px 12px}}

/* ==========================================================
   TradeCPO FED Terminal V1.3.3
   Structural Density Balance
   Dense internally; structurally aligned; equal-height columns.
   ========================================================== */
.workspace{padding:8px 10px 10px}
.workspace>main{gap:8px;align-items:stretch;min-height:500px}
.workspace>main>.chartCard{height:100%;min-height:500px}
.workspace>main>aside{height:100%;min-height:500px;display:flex;flex-direction:column;gap:8px}
.workspace>main>aside>.panel{min-height:0}
.workspace>main>aside>.panel:first-child{flex:0 0 auto}
.workspace>main>aside>.panel:last-child{flex:1 1 auto;display:flex;flex-direction:column}
.workspace>main>aside>.panel:last-child .doctrine{margin-top:auto}
.cardHead,.ph{padding:10px 14px}
.chartWrap{padding:3px 8px 5px;min-height:390px}
.panel{padding:13px 14px}
.scenarios{margin-top:9px}
.scenario{padding:8px 10px;margin:5px 0}
.forecastFoot{margin-top:9px;padding-top:9px}
.intel p{margin:8px 0}
.doctrine{padding-top:9px;line-height:1.65}
.workspace>.ledgerCard{margin-top:8px}
@media(max-width:1100px){.workspace>main>aside{height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr}.workspace>main>aside>.panel:last-child{display:block}.workspace>main>aside>.panel:last-child .doctrine{margin-top:9px}}
@media(max-width:760px){.workspace>main>aside{display:grid;grid-template-columns:1fr}.chartWrap{height:330px;min-height:330px}}

/* ==========================================================
   TradeCPO FED Terminal V1.4.3
   Founder Policy Scenario Map - FCPO Pattern Transplant
   Fixed right-edge launcher; drawer does not participate in layout.
   ========================================================== */
.scenario-drawer-tab{
  position:fixed;
  right:0;
  top:52%;
  z-index:80;
  border:1px solid var(--orange-accent);
  border-right:0;
  border-radius:9px 0 0 9px;
  background:var(--panel);
  color:var(--orange-primary);
  padding:14px 8px;
  width:auto;
  min-width:0;
  height:auto;
  min-height:0;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font:700 var(--fs-meta) var(--mono);
  letter-spacing:.12em;
  line-height:1.2;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
  cursor:pointer;
  display:block;
  transform:none;
  margin:0;
  white-space:nowrap;
}
.scenario-drawer-tab span,.scenario-drawer-tab small{display:inline;color:inherit;font:inherit;letter-spacing:inherit}
.scenario-drawer-tab small{margin-top:6px;color:var(--text-mute);font-size:8px}
.scenario-drawer-tab:hover,.scenario-drawer-tab[aria-expanded="true"]{background:rgba(242,140,40,.10);color:var(--orange-primary)}
html[data-theme="light"] .scenario-drawer-tab{background:#f3eee3}
.scenario-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:85;display:none}
.scenario-drawer-backdrop.open{display:block}
.scenario-drawer{
  position:fixed;
  right:0;
  top:0;
  bottom:0;
  width:min(440px,94vw);
  height:auto;
  z-index:90;
  background:var(--panel);
  border-left:1px solid var(--line);
  box-shadow:-24px 0 60px rgba(0,0,0,.48);
  transform:translateX(102%);
  transition:transform .24s ease;
  display:flex;
  flex-direction:column;
  color:var(--text);
}
.scenario-drawer.open{transform:translateX(0)}
html[data-theme="light"] .scenario-drawer{background:#f3eee3}
.scenario-drawer-head{height:88px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--panel)}
.scenario-drawer-head h2{margin:2px 0 0;font-size:var(--fs-value)}
.scenario-drawer-close{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font-size:20px;cursor:pointer}
.scenario-drawer-close:hover{border-color:var(--orange-primary);color:var(--orange-primary)}
.scenario-drawer-body{padding:16px;overflow:auto;flex:1 1 auto}
.scenario-epoch{margin-top:0;padding:14px;border:1px solid var(--line);background:var(--panel-2)}
.drawer-kicker{display:block;color:var(--text-mute);font-size:var(--fs-meta);letter-spacing:.12em}
.scenario-epoch strong{display:block;font-size:var(--fs-stat);margin-top:5px}
.scenario-epoch small{display:block;margin-top:6px;color:var(--green);font-size:10px;line-height:1.45}
.drawer-scenarios{margin-top:12px}
.drawer-scenarios .scenario{padding:12px;background:var(--panel-2);border:1px solid var(--line);margin:8px 0}
.drawer-base,.realized-outcome{margin-top:12px;padding:13px;border:1px solid var(--line);background:rgba(242,140,40,.06)}
.realized-outcome b,.realized-outcome small{display:block;color:var(--text-mute);font-size:var(--fs-meta)}
.realized-outcome strong{display:block;margin:5px 0;color:var(--green);font-size:var(--fs-value)}
.scenario-disclaimer{margin-top:12px;color:var(--text-soft);font-size:var(--fs-body);line-height:1.55}
.scenario-drawer-open{overflow:hidden}
.workspace>main{grid-template-columns:minmax(0,1fr) 360px}
.workspace>main>aside>.intel{height:100%;display:flex;flex-direction:column}
.workspace>main>aside>.intel .doctrine{margin-top:auto}
@media(max-width:1100px){.workspace>main{grid-template-columns:1fr}.workspace>main>aside{display:block}.scenario-drawer-tab{top:55%}}
@media(max-width:760px){.scenario-drawer{width:100vw}.scenario-drawer-tab{padding:12px 7px}.scenario-drawer-body{padding:14px}.scenario-drawer-head{padding:14px}.scenario-drawer-head h2{font-size:15px}}
