/* Power Terminal — core CSS (extracted from PT.CSS in pt-core.js) */

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#F2EDE4;--surf:#EDE7DC;--raised:#E6DFD3;
  --border:#D4CCBF;--bhi:#BFB8AD;
  --ink:#1A1814;--dim:#6A6058;--muted:#A89E92;
  --green:#1A7A3A;--green2:#0F4A22;
  --teal:#0088AA;--indigo:#4244C8;--amber:#A87800;
  --pos:#1A7A3A;--neg:#C41230;
  --MN:'Space Mono',monospace;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--bg);color:var(--ink);
  font-family:'Instrument Sans','DM Sans',sans-serif;
  -webkit-font-smoothing:antialiased}
em{font-style:italic}
a{color:inherit}

/* ── TAPE ── */
.tape{height:26px;background:var(--ink);overflow:hidden;display:flex;align-items:center;position:relative}
.tape::before,.tape::after{content:'';position:absolute;top:0;bottom:0;width:40px;z-index:2}
.tape::before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.tape::after{right:0;background:linear-gradient(270deg,var(--ink),transparent)}
.tape-track{display:flex;animation:tape 60s linear infinite;white-space:nowrap}
@keyframes tape{to{transform:translateX(-50%)}}
.tick{display:inline-flex;align-items:center;gap:6px;padding:0 16px;border-right:1px solid #2A2420;height:26px}
.t-hub{font:700 7px/1 var(--MN);letter-spacing:.12em;text-transform:uppercase;color:#4A4038}
.t-price{font:700 9px/1 var(--MN);color:#C8BFB4}
.t-up{font:400 8px/1 var(--MN);color:#2A8A4A}
.t-dn{font:400 8px/1 var(--MN);color:#C41230}

/* ── NAV ── */
.pt-nav{position:sticky;top:0;z-index:200;background:var(--bg);border-bottom:1px solid var(--border)}
.pt-nav-bar{display:flex;align-items:center;height:52px;padding:0 56px;gap:0}
.pt-logo{display:flex;align-items:center;gap:9px;text-decoration:none;margin-right:44px}
.pt-mark{width:26px;height:26px;background:var(--green);display:flex;align-items:center;justify-content:center;font:700 9px/1 var(--MN);color:#fff;letter-spacing:.02em;flex-shrink:0}
.pt-word{font:700 11px/1 'Instrument Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.pt-nl{font:500 11px/1 'Instrument Sans',sans-serif;color:var(--muted);text-decoration:none;padding:0 13px;height:52px;display:flex;align-items:center;letter-spacing:.02em;transition:color .15s;position:relative;flex-shrink:0}
.pt-nl::after{content:'';position:absolute;bottom:0;left:13px;right:13px;height:2px;background:var(--green);transform:scaleX(0);transition:transform .2s}
.pt-nl:hover{color:var(--ink)}
.pt-nl:hover::after,.pt-nl.on::after{transform:scaleX(1)}
.pt-nl.on{color:var(--ink)}
.pt-cta{margin-left:auto;font:700 9px/1 var(--MN);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--green);padding:9px 20px;text-decoration:none;transition:background .15s;flex-shrink:0}
.pt-cta:hover{background:var(--green2)}

/* ── PAGE SHELL ── */
.pt-page{padding:0 56px 80px;max-width:1400px;margin:0 auto}
.pt-head{padding:44px 0 32px;border-bottom:1px solid var(--border);margin-bottom:32px}
.pt-eyebrow{font:400 8px/1 var(--MN);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.pt-eyebrow::before{content:'';width:16px;height:1px;background:currentColor}
.pt-h1{font:400 48px/1.06 'DM Serif Display',Georgia,serif;letter-spacing:-.02em;color:var(--ink)}
.pt-sub{font:400 15px/1.8 'Instrument Sans',sans-serif;color:var(--dim);max-width:560px;margin-top:12px}

/* ── CONTROLS ── */
.pt-controls{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-bottom:24px;border:1px solid var(--border);background:var(--surf)}
.ctrl-col{display:flex;flex-direction:column;gap:6px;padding:12px 18px}
.ctrl-lbl{font:400 7px/1 var(--MN);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ctrl-sep{width:1px;background:var(--border);align-self:stretch}
.pt-sel{font:400 11px/1 var(--MN);padding:7px 10px;border:1px solid var(--border);background:var(--bg);color:var(--ink);outline:none;cursor:pointer;transition:border-color .15s}
.pt-sel:focus,.pt-sel:hover{border-color:var(--green)}

/* ── REQUEST-ACCESS BUTTON (for granular-data CTA on data pages) ── */
.req-access-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;background:transparent;color:var(--green);border:1px solid var(--green);font:700 9px/1 var(--MN);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .15s;white-space:nowrap}
.req-access-btn:hover{background:var(--green);color:#fff}

/* ── RANGE PICKER ── */
.rp{display:flex;gap:0;flex-wrap:wrap}
.rp-btn{font:400 8px/1 var(--MN);letter-spacing:.08em;padding:6px 10px;border:1px solid var(--border);border-right:none;background:var(--bg);color:var(--dim);cursor:pointer;transition:all .15s;white-space:nowrap}
.rp-btn:last-child{border-right:1px solid var(--border)}
.rp-btn:hover{background:var(--raised);color:var(--ink)}
.rp-btn.on{background:var(--green);color:#fff;border-color:var(--green)}

/* ── KPIS ── */
.pt-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-bottom:24px}
.kpi{background:var(--surf);padding:22px 22px}
.kv{font:400 28px/1 'DM Serif Display',Georgia,serif;color:var(--ink);letter-spacing:-.02em}
.kl{font:700 8px/1 var(--MN);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:7px}
.ks{font:400 10px/1.4 'Instrument Sans',sans-serif;color:var(--muted);margin-top:4px}

/* ── CHARTS ── */
.cc{background:var(--surf);border:1px solid var(--border);margin-bottom:1px}
.cc-top{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px 10px}
.cc-title{font:600 13px/1.3 'Instrument Sans',sans-serif;color:var(--ink);margin-bottom:3px}
.cc-sub{font:400 10px/1 var(--MN);color:var(--muted);letter-spacing:.04em}
.cc-body{padding:0 22px 18px;position:relative}
.pt-loading{display:flex;align-items:center;justify-content:center;font:400 9px/1 var(--MN);color:var(--muted);letter-spacing:.1em}

/* ── GRIDS ── */
.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:1px;background:var(--border);margin-bottom:1px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);margin-bottom:1px}

/* ── TABLE ── */
.pt-tw{border:1px solid var(--border);margin-bottom:24px}
.pt-tw-head{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--surf)}
.pt-tw-label{font:700 9px/1 var(--MN);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.pt-t{width:100%;border-collapse:collapse;font:400 11px/1 'Instrument Sans',sans-serif}
.pt-t th{font:700 7px/1 var(--MN);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);background:var(--surf);white-space:nowrap}
.pt-t td{padding:9px 14px;border-bottom:1px solid var(--border);color:var(--dim);vertical-align:middle}
.pt-t tr:last-child td{border-bottom:none}
.pt-t tr:hover td{background:var(--raised)}
.pt-t .r{text-align:right;font-family:var(--MN);font-size:10px}

/* ── FOOTER ── */
.ft{padding:20px 56px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font:400 8px/1 var(--MN);letter-spacing:.08em;color:var(--muted)}

/* ── DISCLAIMER ── */
.pt-disc{font:400 9px/1.6 var(--MN);color:var(--bhi);letter-spacing:.04em;padding:16px 0 4px;border:none;opacity:.7}
.pt-disc a{color:var(--bhi);text-decoration:underline}
