
*{box-sizing:border-box}
:root{
  --btc:#f7931a;--btc-soft:color-mix(in srgb,var(--btc) 12%,transparent);
  --btc-line:color-mix(in srgb,var(--btc) 35%,var(--line));
  /* Compatibility aliases for the two retained interactive instruments. */
  --blue:var(--info);--r3:var(--down);--bull:var(--up);--bear:var(--down);
  --grid:var(--line);--card:var(--panel);--ink:var(--text);--faint:var(--muted);
  --amber:var(--warn);--surface:var(--panel);--surface-brd:var(--line);
}
html[data-theme="dark"]{--btc:#f5a43b}
html body.page-vector{
  margin:0;padding:18px 0 0;background:var(--bg);color:var(--text);
  font-family:var(--font-ui);font-size:15px;line-height:1.48;--num:var(--font-mono);
}
body.page-vector::before{opacity:.46}
.site-nav .nav-links>.nav-dd:nth-last-child(3) .nav-sub>.nav-dd-menu{left:auto;right:100%}
.site-nav .nav-links>.nav-dd:nth-last-child(3) .nav-sub::after{left:auto;right:100%}
.vector-wrap{width:min(1500px,calc(100% - 40px));margin:0 auto;padding:8px 0 76px}
.shelf{position:relative;margin-top:18px;background:color-mix(in srgb,var(--panel) 96%,transparent);
  border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow)}
.shelf::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--btc);opacity:.88}
.shelf-inner{padding:22px 24px}
.shelf-head{display:flex;align-items:baseline;gap:10px;margin-bottom:15px}
.shelf-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--btc)}
.shelf-title{margin:0;font-size:16px;line-height:1.2;font-weight:760;letter-spacing:-.01em}
.shelf-sub{margin-left:auto;color:var(--muted);font-size:11.5px;white-space:nowrap}
.num{font-family:var(--num);font-variant-numeric:tabular-nums}
.tone-up{--tone:var(--up)}.tone-down{--tone:var(--down)}.tone-flat{--tone:var(--muted)}
.state-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--tone,var(--muted));flex:none}
.qm{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--line);
  border-radius:50%;color:var(--muted);font:700 10px/1 var(--font-ui);cursor:help}
.qm:hover,.qm:focus-visible{color:var(--text);border-color:var(--btc)}
a{color:var(--ink-link, var(--link))}

/* S1 — the read */
.hero{padding:26px 28px 22px;background:
  linear-gradient(110deg,color-mix(in srgb,var(--btc) 5%,var(--panel)),var(--panel) 43%)}
.hero-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.wordmark{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:780;letter-spacing:.01em}
.wordmark .mark{color:var(--btc);font:800 26px/1 var(--font-ui)}
.live-quote{display:flex;align-items:baseline;gap:8px;margin-left:auto}
.live-price{font:760 19px/1 var(--num);font-variant-numeric:tabular-nums}
.live-change{font:700 12px/1 var(--num);font-variant-numeric:tabular-nums}
.asof-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);
  border-radius:999px;color:var(--muted);font-size:10.5px;font-variant-numeric:tabular-nums}
.asof-chip i{width:5px;height:5px;border-radius:50%;background:var(--btc)}
.hero-read{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:end;margin:28px 0 8px}
.stance{margin:0;font-size:clamp(42px,6vw,82px);font-weight:820;letter-spacing:-.055em;line-height:.92;
  color:var(--text);text-wrap:balance}
.hero-summary{max-width:720px;margin:14px 0 0;color:var(--muted);font-size:14px}
.master-meter{padding:14px 16px;border-left:1px solid var(--line)}
.meter-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.meter-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}
.meter-score{font:760 24px/1 var(--num);font-variant-numeric:tabular-nums;color:var(--tone,var(--muted))}
.meter-rail{position:relative;height:4px;margin:11px 0 7px;border-radius:4px;background:var(--line)}
.meter-rail::before{content:"";position:absolute;left:50%;top:-3px;width:1px;height:10px;background:var(--muted);opacity:.45}
.meter-rail i{position:absolute;top:-3px;width:2px;height:10px;border-radius:2px;background:var(--tone,var(--muted));
  left:calc(60% - 1px)}
.meter-note{font-size:10.5px;color:var(--muted)}
.tape-shell{position:relative;padding:14px 12px 4px;border-top:1px solid var(--line)}
.tape-legend{position:absolute;top:18px;left:14px;z-index:2;display:flex;gap:13px;align-items:center;
  color:var(--muted);font-size:10px;pointer-events:none}
.tape-legend span{display:inline-flex;align-items:center;gap:5px}
.tape-legend i{width:9px;height:3px;border-radius:2px}
.what-changed{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:13px;margin-top:5px;border-top:1px solid var(--line)}
.what-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:var(--muted);margin-right:3px}
.change-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--text);font-size:11.5px}
.change-chip i{width:5px;height:5px;border-radius:50%;background:var(--muted);flex:none}
.change-chip span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.all-alerts{margin-left:auto;font-size:11.5px;text-decoration:none}

/* S2 — one verdict */
.decision-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(430px,1.45fr);gap:0;border-top:1px solid var(--line)}
.decision-main{padding:28px;border-right:1px solid var(--line)}
.decision-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:750}
.decision-action{margin-top:8px;font-size:clamp(28px,3.7vw,50px);font-weight:820;letter-spacing:-.035em;line-height:1.02;
  color:var(--tone,var(--text))}
.decision-basis{margin-top:12px;color:var(--muted);font-size:12.5px}
.decision-basis b{color:var(--text)}
.decision-detail{padding:25px 28px}
.exposure-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.exposure-band{font:800 36px/1 var(--num);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.risk-context{text-align:right;color:var(--muted);font-size:11px}
.risk-context b{display:block;color:var(--text);font:760 20px/1.1 var(--num);font-variant-numeric:tabular-nums}
.exposure-rail{position:relative;height:10px;margin:14px 0 5px;border-radius:6px;background:var(--panel2);overflow:visible}
.exposure-rail .model{position:absolute;top:-4px;width:2px;height:18px;background:var(--text)}
.exposure-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:9.5px}
.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.level{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.level .k{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em}
.level b{display:block;margin-top:4px;font:720 13px/1.25 var(--num);font-variant-numeric:tabular-nums}
.decision-foot{margin-top:14px;color:var(--muted);font-size:11px}

/* S3 — why */
.axis-board{border-top:1px solid var(--line)}
.axis-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(130px,.75fr) 170px 120px 24px;
  gap:18px;align-items:center;min-height:66px;padding:12px 22px;border-bottom:1px solid var(--line)}
.axis-row:last-child{border-bottom:none}
.axis-name{display:flex;align-items:center;gap:9px;font-weight:690;font-size:13px}
.axis-state{font-weight:740;font-size:13px;color:var(--tone,var(--muted))}
.axis-spark{width:150px;height:34px}
.axis-spark polyline{fill:none;stroke:var(--tone,var(--muted));stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.axis-micro{text-align:right}
.axis-micro b{display:block;font:720 13px/1 var(--num);font-variant-numeric:tabular-nums}
.axis-micro span{display:block;margin-top:4px;color:var(--muted);font-size:9.5px}

/* S4 — watch conditions */
.watch-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.watch-item{padding:18px 22px;min-height:116px;border-right:1px solid var(--line)}
.watch-item:last-child{border-right:none}
.watch-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.watch-name{font-weight:720;font-size:13px}
.watch-state{font-size:10px;font-weight:720;color:var(--tone,var(--muted))}
.watch-copy{margin-top:9px;color:var(--muted);font-size:11.5px;line-height:1.48}
.projection-note{padding:10px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:10.5px}

/* S5 — complex */
.complex-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.complex-card{min-width:0;padding:16px 16px 13px;border-right:1px solid var(--line)}
.complex-card:last-child{border-right:none}
.complex-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.complex-symbol{font:740 10px/1 var(--num);letter-spacing:.08em;color:var(--muted)}
.complex-name{margin-top:5px;font-weight:680;font-size:12px}
.complex-value{font:740 13px/1 var(--num);font-variant-numeric:tabular-nums;white-space:nowrap}
.complex-chart{margin:7px 0 3px}
.complex-context{min-height:28px;color:var(--muted);font-size:9.5px;line-height:1.4}

/* S6 — study shelf */
.study-list{border-top:1px solid var(--line)}
.study-fold{margin:0;border-bottom:1px solid var(--line);background:var(--panel)}
.study-fold:last-child{border-bottom:none}
.study-fold>summary{display:grid;grid-template-columns:180px 1fr auto;gap:14px;align-items:center;
  padding:15px 22px;list-style:none;cursor:pointer;color:var(--text)}
.study-fold>summary::-webkit-details-marker{display:none}
.study-fold>summary::after{content:"▾";color:var(--muted);font-size:11px;transition:transform .18s}
.study-fold[open]>summary::after{transform:rotate(180deg)}
.fold-title{font-weight:720;font-size:13px}
.fold-hint{color:var(--muted);font-size:11.5px}
.fold-stat{color:var(--muted);font:650 11px/1 var(--num);font-variant-numeric:tabular-nums;text-align:right}
.study-body{padding:22px;border-top:1px solid var(--line);background:var(--bg)}
.study-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.study-card{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.study-card h3{margin:0 0 11px;font-size:13px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.metric{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.metric .k{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.metric .v{margin-top:5px;font:760 20px/1 var(--num);font-variant-numeric:tabular-nums}
.metric .sub{margin-top:5px;color:var(--muted);font-size:9.5px;line-height:1.35}
.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.fact{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.fact .k{color:var(--muted);font-size:9.5px}.fact .v{margin-top:4px;font:720 13px/1.2 var(--num);font-variant-numeric:tabular-nums}
.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}
.chart-card{padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.chart-title{margin-bottom:8px;font-size:11px;font-weight:700;color:var(--muted)}
.receipt-line{margin-top:12px;color:var(--muted);font-size:10.5px}
.data-table{width:100%;border-collapse:collapse;font-size:11.5px;font-variant-numeric:tabular-nums}
.data-table th{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);color:var(--muted);
  font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.data-table td{padding:8px;border-bottom:1px solid var(--line)}
.data-table tr:last-child td{border-bottom:none}
.data-table .blown td{color:var(--ink-down, var(--down))}

/* strategy fold */
.strategy-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px}
.strategy-tab{font:650 11px/1 var(--font-ui);padding:8px 11px;border:1px solid var(--line);border-radius:8px;
  color:var(--muted);background:var(--panel);cursor:pointer}
.strategy-tab.on{color:var(--text);border-color:var(--btc-line);background:var(--btc-soft)}
.strategy-panel[hidden]{display:none}
.strategy-thesis{margin:0 0 13px;color:var(--muted);font-size:11.5px;max-width:1050px}
.equity-box{margin-top:13px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.equity-box svg{height:250px!important}
.strategy-split{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}
.rule-list{margin:0;padding-left:18px;color:var(--muted);font-size:11.5px}.rule-list li{margin:5px 0}

/* time machine — retained advanced instrument */
.vtm-wrap{position:relative;margin:2px 0}
.vtm-canvas{display:block;width:100%;height:64px;cursor:ew-resize;border-radius:8px;touch-action:none}
.vtm-range{appearance:none;width:100%;height:16px;background:transparent;margin:2px 0 0;cursor:ew-resize}
.vtm-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--line)}
.vtm-range::-webkit-slider-thumb{appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;
  background:var(--text);border:2px solid var(--panel)}
.vtm-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
.vtm-btn{font:650 11px/1 var(--font-ui);cursor:pointer;background:var(--panel);border:1px solid var(--line);
  border-radius:7px;padding:7px 10px;color:var(--muted)}
.vtm-play{width:32px}.vtm-play-ico{display:inline-block;width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;
  border-color:transparent transparent transparent var(--text)}
.vtm-play.is-playing .vtm-play-ico{width:8px;height:10px;border:none;border-left:2px solid var(--text);border-right:2px solid var(--text)}
.vtm-presets{display:flex;gap:5px;flex-wrap:wrap}
.vtm-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:9.5px;color:var(--muted);margin:7px 0}
.vtm-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px}
.vtm-readout{border:1px solid var(--line);border-radius:9px;padding:13px 14px;margin-top:10px;background:var(--panel)}
.vtm-asof{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.vtm-date{font:760 16px/1 var(--num)}.vtm-tag{font-size:9px;text-transform:uppercase;letter-spacing:.06em;
  padding:2px 7px;border-radius:7px;background:var(--panel2);color:var(--muted)}
.vtm-price{margin-left:auto;font:740 14px/1 var(--num)}
.vtm-badges{display:flex;align-items:center;gap:7px 13px;flex-wrap:wrap;margin-top:11px;font-size:10.5px;color:var(--muted)}
.vtm-badge{padding:3px 8px;border-radius:7px;font-weight:700;background:var(--panel2);color:var(--text)}
.vtm-badges .kv b{color:var(--text)}
.vtm-gauge{margin-top:11px}.vtm-glabel{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:4px}
.vtm-grail{position:relative;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--up),var(--line) 50%,var(--down))}
.vtm-grail i{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--text);border:2px solid var(--panel);transform:translate(-50%,-50%)}

.page-foot{margin-top:28px;text-align:center;color:var(--muted);font-size:10.5px}
:focus-visible{outline:2px solid var(--btc);outline-offset:2px}
@media(max-width:1050px){
  .complex-grid{grid-template-columns:repeat(3,1fr)}.complex-card{border-bottom:1px solid var(--line)}
  .complex-card:nth-child(3){border-right:none}.complex-card:nth-last-child(-n+2){border-bottom:none}
  .axis-row{grid-template-columns:minmax(170px,1fr) 130px 150px 105px 24px}
}
@media(max-width:780px){
  .vector-wrap{width:min(100% - 24px,1500px)}.shelf-inner{padding:18px}
  .hero{padding:20px 18px}.hero-read{grid-template-columns:1fr;gap:16px}.master-meter{border-left:none;border-top:1px solid var(--line);padding:13px 0 0}
  .decision-grid{grid-template-columns:1fr}.decision-main{border-right:none;border-bottom:1px solid var(--line);padding:22px 18px}.decision-detail{padding:20px 18px}
  .axis-row{grid-template-columns:1fr auto 24px;gap:8px 12px;padding:13px 17px}
  .axis-spark{grid-column:1/2;width:100%;height:28px}.axis-micro{grid-column:2/3;grid-row:2;text-align:right}.axis-row>.qm{grid-column:3;grid-row:1/3}
  .watch-grid{grid-template-columns:1fr}.watch-item{border-right:none;border-bottom:1px solid var(--line);min-height:0}.watch-item:last-child{border-bottom:none}
  .complex-grid{grid-template-columns:repeat(2,1fr)}.complex-card:nth-child(3){border-right:1px solid var(--line)}
  .complex-card:nth-child(even){border-right:none}.complex-card:nth-last-child(2){border-bottom:1px solid var(--line)}
  .complex-card:last-child{grid-column:1/-1;border-bottom:none}
  .study-fold>summary{grid-template-columns:1fr auto;gap:4px 10px}.fold-hint{grid-column:1}.fold-stat{grid-column:1;text-align:left}
  .study-body{padding:16px}.study-grid,.chart-grid,.strategy-split{grid-template-columns:1fr}.metric-grid,.fact-grid{grid-template-columns:repeat(2,1fr)}
  .level-grid{grid-template-columns:1fr 1fr}.level:last-child{grid-column:1/-1}
}
@media(max-width:480px){
  .vector-wrap{width:calc(100% - 16px)}.shelf{margin-top:12px}.stance{font-size:42px}
  .wordmark{width:100%}.live-quote{margin-left:0}.asof-chip{margin-left:auto}
  .tape-shell{padding-left:2px;padding-right:2px}.tape-legend{position:static;margin:0 8px 5px}
  .what-changed{align-items:flex-start}.all-alerts{margin-left:0;width:100%}
  .level-grid,.complex-grid,.metric-grid,.fact-grid{grid-template-columns:1fr}
  .complex-card,.complex-card:nth-child(3),.complex-card:nth-child(even){border-right:none;border-bottom:1px solid var(--line)}
  .complex-card:last-child{grid-column:auto}.equity-box svg{height:210px!important}
  .axis-row{grid-template-columns:1fr auto 22px}.axis-name{font-size:12px}.axis-state{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.ilx-path,.ilx-bar{animation:none!important}}


body.crypto-page,
body.page-vector {
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display",
    "SF Pro Text", Inter, system-ui, "Segoe UI", Roboto, sans-serif;
  --font-data: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Text",
    system-ui, "Segoe UI", Roboto, sans-serif;
  --font-mono: var(--font-data);
  --num: var(--font-data);
  --deck-accent: var(--info);
  --deck-glass: color-mix(in srgb, var(--panel) 86%, transparent);
  --deck-border: color-mix(in srgb, var(--text) 12%, transparent);
  --deck-shadow: 0 8px 32px rgba(0, 0, 0, .34),
    inset 0 1px 0 color-mix(in srgb, #fff 7%, transparent);
  --deck-hover-shadow: 0 12px 36px rgba(0, 0, 0, .40),
    inset 0 1px 0 color-mix(in srgb, #fff 9%, transparent);
  font-family: var(--font-data);
  font-size: 14px;
  line-height: 1.48;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

html[data-theme="light"] body.crypto-page,
html[data-theme="light"] body.page-vector {
  --deck-glass: rgba(255, 255, 255, .80);
  --deck-border: rgba(28, 36, 48, .08);
  --deck-shadow: 0 4px 20px rgba(20, 30, 50, .08),
    inset 0 1px 0 rgba(255, 255, 255, .92);
  --deck-hover-shadow: 0 8px 28px rgba(20, 30, 50, .12),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

body.crypto-page :is(h1, h2, h3, .hero-word, .hero-stance),
body.page-vector :is(h1, h2, h3, .stance, .decision-action, .exposure-band) {
  font-family: var(--font-display);
}

body.crypto-page :is(.num, .rank, .asset b, .market-value, .market-change,
  .reading, .meter-score b, .exposure-big b, .lane-symbol, .lane-price,
  .equity b, .eq-price, .event-date, .deriv-fact b),
body.page-vector :is(.num, .live-price, .live-change, .meter-score,
  .exposure-band, .risk-context b, .axis-micro b, .complex-symbol,
  .complex-value, .fold-stat, .metric .v, .fact .v, .vtm-date, .vtm-price) {
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* Shared page rhythm: the Macro/Commodities centered command surface. */
body.crypto-page,
html body.page-vector {
  padding-top: 24px;
}

.crypto-rail,
.vector-wrap {
  width: min(1320px, calc(100% - 40px));
  margin-inline: auto;
  padding: 18px 0 72px;
}

body.crypto-page .crypto-shelf,
body.page-vector .shelf {
  margin-top: 16px;
  border: 1px solid var(--deck-border);
  border-radius: 16px;
  background: var(--deck-glass);
  box-shadow: var(--deck-shadow);
  backdrop-filter: saturate(165%) blur(18px);
  -webkit-backdrop-filter: saturate(165%) blur(18px);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.crypto-page .crypto-shelf:hover,
body.page-vector .shelf:hover {
  border-color: color-mix(in srgb, var(--text) 18%, transparent);
  box-shadow: var(--deck-hover-shadow);
}

body.crypto-page .crypto-shelf::before,
body.page-vector .shelf::before {
  display: none;
}

body.crypto-page .shelf-pad,
body.page-vector .shelf-inner {
  padding: 18px 20px;
}

body.crypto-page .shelf-head,
body.page-vector .shelf-head {
  gap: 9px;
  margin-bottom: 13px;
}

body.crypto-page :is(.shelf-index, .shelf-kicker),
body.page-vector .shelf-kicker {
  color: var(--muted);
  font-family: var(--font-data);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
}

body.crypto-page .shelf-index,
body.page-vector .shelf-kicker {
  color: var(--deck-accent);
}

body.crypto-page .shelf-title,
body.page-vector .shelf-title {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: .005em;
}

body.crypto-page .shelf-sub,
body.page-vector .shelf-sub {
  font-size: 11px;
}

body.crypto-page :is(.market-board, .triptych, .heat-layout, .deriv-fold,
  .alloc-grid, .lane-grid, .equity-grid, .calendar-grid),
body.page-vector :is(.decision-grid, .axis-board, .watch-grid, .complex-grid,
  .study-list) {
  overflow: hidden;
  border-color: var(--line);
  border-radius: 12px;
}

body.crypto-page :is(.market-row, .sensor, .deriv-fact, .asset-lane, .equity, .event),
body.page-vector :is(.axis-row, .watch-item, .complex-card, .study-fold) {
  transition: background .16s ease, border-color .16s ease;
}

body.crypto-page :is(.market-row:not(.market-head), .asset-lane, .equity, .event):hover,
body.page-vector :is(.axis-row, .watch-item, .complex-card):hover {
  background: color-mix(in srgb, var(--panel2) 70%, transparent);
}

body.crypto-page :is(.live-chip, .history-chip),
body.page-vector :is(.asof-chip, .change-chip, .strategy-tab, .vtm-btn, .vtm-tag) {
  border-radius: 999px;
}

body.crypto-page :focus-visible,
body.page-vector :focus-visible {
  outline-color: var(--deck-accent);
}

/* Crypto Intelligence: turn the oversized editorial cover into the same compact
   page header + dominant stance pattern used by Commodities. */
body.crypto-page {
  --crypto: var(--info);
  --crypto-soft: color-mix(in srgb, var(--info) 10%, transparent);
  --crypto-line: color-mix(in srgb, var(--info) 30%, var(--line));
}

body.crypto-page .hero {
  background: var(--deck-glass);
}

body.crypto-page .hero-grid {
  grid-template-columns: minmax(310px, .82fr) minmax(480px, 1.18fr);
  gap: 30px;
  align-items: center;
  padding: 26px 28px;
}

body.crypto-page .hero-word {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.15;
  font-weight: 650;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.crypto-page .hero-stance {
  max-width: 690px;
  margin-top: 18px;
  color: var(--text);
  font-size: clamp(38px, 5vw, 62px);
  line-height: .96;
  font-weight: 800;
  letter-spacing: -.035em;
  text-wrap: balance;
}

body.crypto-page .hero-copy {
  max-width: 58ch;
  margin-top: 12px;
  font-size: 13.5px;
  line-height: 1.55;
}

body.crypto-page .hero-meta {
  margin-top: 16px;
}

body.crypto-page .live-chip {
  padding: 4px 10px;
  border-color: var(--line);
  color: var(--muted);
  background: color-mix(in srgb, var(--panel2) 55%, transparent);
}

body.crypto-page .hero-viz {
  padding-left: 28px;
}

body.crypto-page .hero-stats {
  gap: 8px;
  border: 0;
  background: transparent;
}

body.crypto-page .hero-stat {
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel2) 72%, transparent);
}

body.crypto-page .hero-stat:last-child {
  border-right: 1px solid var(--line);
}

body.crypto-page .hero-stat b {
  font-size: 18px;
}

body.crypto-page .market-head {
  background: color-mix(in srgb, var(--panel2) 72%, transparent);
}

body.crypto-page .compact-market {
  background: transparent;
  gap: 8px;
  padding: 10px;
}

body.crypto-page .compact-asset {
  border: 1px solid var(--line);
  border-radius: 9px;
  background: color-mix(in srgb, var(--panel2) 68%, transparent);
}

body.crypto-page .sensor {
  min-height: 150px;
}

body.crypto-page .heat-meter,
body.crypto-page .alloc-side {
  background: color-mix(in srgb, var(--panel2) 62%, transparent);
}

body.crypto-page .meter-rail,
body.crypto-page .alloc-bar {
  border-radius: 999px;
  overflow: hidden;
}

body.crypto-page .alloc-top h3 {
  font-size: 21px;
}

body.crypto-page .alloc-key {
  border-color: var(--line);
}

body.crypto-page .lane-symbol {
  font-size: 28px;
  letter-spacing: -.035em;
}

body.crypto-page .lane-state {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 650;
}

body.crypto-page .event h3 {
  font-size: 12.5px;
}

/* Bitcoin Vector: preserve orange as the asset/data cue, while page structure,
   focus and shelf hierarchy use the shared Mastermind blue accent. */
body.page-vector {
  --btc-structural: var(--deck-accent);
}

body.page-vector .shelf::before {
  background: var(--btc-structural);
}

body.page-vector .hero {
  padding: 24px 26px 20px;
  background: transparent;
}

body.page-vector .wordmark {
  color: var(--muted);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: .04em;
}

body.page-vector .wordmark .mark {
  font-family: var(--font-display);
  font-size: 22px;
}

body.page-vector .hero-read {
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 24px;
  margin: 24px 0 10px;
}

body.page-vector .stance {
  max-width: 900px;
  font-size: clamp(40px, 5.2vw, 66px);
  line-height: .95;
  font-weight: 800;
  letter-spacing: -.04em;
}

body.page-vector .hero-summary {
  margin-top: 12px;
  font-size: 13.5px;
  line-height: 1.55;
}

body.page-vector .master-meter {
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--panel2) 68%, transparent);
}

body.page-vector .tape-shell {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

body.page-vector .what-changed {
  margin-top: 12px;
}

body.page-vector .decision-main,
body.page-vector .decision-detail {
  padding: 22px 24px;
}

body.page-vector .decision-action {
  font-size: clamp(28px, 3.2vw, 42px);
}

body.page-vector .level,
body.page-vector :is(.study-card, .metric, .fact, .chart-card, .equity-box, .vtm-readout) {
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel2) 56%, transparent);
}

body.page-vector .study-body {
  background: color-mix(in srgb, var(--bg) 46%, transparent);
}

body.page-vector .strategy-tab.on {
  color: var(--deck-accent);
  border-color: color-mix(in srgb, var(--deck-accent) 45%, var(--line));
  background: color-mix(in srgb, var(--deck-accent) 9%, transparent);
}

body.page-vector .all-alerts {
  color: var(--ink-link, var(--link));
}

@media (prefers-reduced-motion: reduce) {
  body.crypto-page .crypto-shelf,
  body.page-vector .shelf,
  body.crypto-page :is(.market-row, .sensor, .asset-lane, .equity, .event),
  body.page-vector :is(.axis-row, .watch-item, .complex-card, .study-fold) {
    transition: none;
  }
}

@media (max-width: 1050px) {
  body.crypto-page .hero-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .crypto-rail,
  .vector-wrap {
    width: min(100% - 24px, 1320px);
    padding-top: 10px;
  }

  body.crypto-page .hero-grid,
  body.page-vector .hero {
    padding: 20px 18px;
  }

  body.crypto-page .hero-viz {
    padding-left: 0;
  }

  body.crypto-page .hero-stance,
  body.page-vector .stance {
    font-size: 40px;
  }

  body.page-vector .master-meter {
    border: 1px solid var(--line);
    padding: 14px 15px;
  }
}

@media (max-width: 480px) {
  .crypto-rail,
  .vector-wrap {
    width: calc(100% - 16px);
  }

  body.crypto-page .crypto-shelf,
  body.page-vector .shelf {
    margin-top: 12px;
    border-radius: 13px;
  }

  body.crypto-page .hero-stance,
  body.page-vector .stance {
    font-size: 35px;
  }

  body.crypto-page .hero-stats {
    gap: 7px;
  }
}
