/* A consistent desk palette, clearer affordances, and compact phone surfaces. */
:root{--muted:#a9bac6;--line:#293a47}
::selection{background:#3be0a538;color:#fff}
a,button,input,select,summary{-webkit-tap-highlight-color:transparent}
:is(a,button,input,select,summary):focus-visible{outline:2px solid #6da8ff;outline-offset:4px}
button,summary{touch-action:manipulation}
summary{cursor:pointer}
input[type=range]{accent-color:#3be0a5}
.ticker-inner{font-size:13px;letter-spacing:.02em}.ticker b{margin-left:6px}
.section-head .label{display:inline-block;border-left:3px solid #3be0a5;padding-left:10px}
.metric{position:relative;background:linear-gradient(135deg,#101c25,#0b1118);border-top-color:#446071}
.metric:focus-visible,.metric.open{border-color:#6da8ff;background:#10202c}
.metric .k{color:#a9bac6}.metric .v{font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.metric-hint{color:#6da8ff}
.impact{letter-spacing:-.04em}
.scenario-stat{background:linear-gradient(140deg,#101d28,#0b131a);border-top-color:#405a6c}
.scenario-stat:has(#scenarioReturn){border-color:#3be0a56b;background:#0c2420}
.scenario-stat b{color:#adbec8;letter-spacing:.04em}.scenario-stat span{font-variant-numeric:tabular-nums}
.index-tab.active,.tone.active,.forecast-tools button[aria-pressed=true]{box-shadow:inset 0 -3px 0 currentColor}
.event-switch:has(input:checked){background:#0d2923;border-color:#3be0a5}
.event-switch:focus-within{outline:2px solid #6da8ff;outline-offset:2px}
.event-switch strong{color:#eef4f8}.event-switch small{color:#adbec8;line-height:1.45}
.macro-driver{background:linear-gradient(100deg,#0e1b24,#0a1219);border-color:#293a47}
.macro-driver output{color:#f0b85a;background:#f0b85a10;padding:4px;border-radius:3px}
.corr-reason,.scenario-summary{border-left:3px solid #f0b85a;background:#f0b85a08}
.search-wrap button,.btn.primary,.download-top{border-radius:3px}
.research-standard{border-left:3px solid #3be0a5}
.articles .article{border-radius:4px;border-color:#344958}
.articles .article .meta:last-child{align-self:flex-start;background:#07130de6;border:1px solid #3be0a56b;color:#65efbd;padding:9px 12px;font-weight:700}
.article p{color:#c5d2db}
.profile-grid{background:#233543}.profile-cell{background:#0b141c}
.about-link{border-radius:3px}.about-intro{border-top:3px solid #3be0a5}
.forecast-readout{background:#0d1a23;padding:10px 12px;border:1px solid #2c4353}
.forecast-readout strong,.forecast-readout b{font-size:1.08em}
/* Standalone reading pages use the same visual hierarchy as the models. */
body:has(.chapter-nav) .chapter-nav{scrollbar-width:thin;scrollbar-color:#3b5262 transparent}
body:has(.chapter-nav) .chapter-status{display:inline-block;padding:6px 10px;background:#3be0a50d;border:1px solid #3be0a53b;border-radius:3px}
body:has(.chapter-nav) .demo{border-top:3px solid #3be0a5;background:linear-gradient(135deg,#0e2029,#0b1118)}
body:has(.chapter-nav) .result-panel{background:#07141b;border-color:#3b5262}
body:has(.chapter-nav) .chapter-detail>summary,body:has(.chapter-nav) .reference-group>summary{padding:12px;background:#0d1821;border:1px solid #293a47;border-radius:3px;line-height:1.4}
body:has(.chapter-nav) details[open]>summary{color:#65efbd;border-color:#3be0a56b}
body:has(.chapter-nav) article h3{color:#eef4f8;margin-top:28px}
body:has(.feature) .takeaway{border-left:3px solid #3be0a5;background:linear-gradient(100deg,#0c2420,#0b141b);border-radius:0 4px 4px 0}
body:has(.feature) .takeaway strong{font-size:13px;letter-spacing:.1em}
body:has(.feature) .box{border-top:2px solid #3f5e6f;background:linear-gradient(135deg,#101d27,#0b1118)}
body:has(.feature) .box b{color:#afc0ca;font-size:13px}
body:has(.feature) .sources a{line-height:1.7;text-underline-offset:4px;overflow-wrap:anywhere}
body:has(.feature) .article h2{border-top:1px solid #293a47;padding-top:22px}
body:has(.feature) .feature img{max-height:390px;object-fit:cover;border-radius:4px}
@media(hover:hover){
  .metric:hover{border-color:#6da8ff;box-shadow:inset 0 2px 0 #6da8ff}
  summary:hover{color:#65efbd}.search-wrap button:hover,.btn.primary:hover{background:#65efbd}
}
@media(max-width:760px){
  .top nav{scrollbar-width:none}.top nav::-webkit-scrollbar{display:none}
  .top nav a{font-size:14px;padding-inline:12px}.top nav a.is-active{background:#3be0a50a}
  .phone-tabs{padding:4px;background:#0b151d;border:1px solid #293a47;border-radius:5px;gap:4px}
  .phone-tabs button{border-color:transparent;background:transparent;border-radius:3px;line-height:1.2}
  .phone-tabs button[aria-selected=true]{background:#13342b;color:#65efbd;border-color:#3be0a56b;box-shadow:inset 0 -2px 0 #3be0a5}
  .metrics{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#3b5262 transparent;gap:10px}
  .metric{flex-basis:155px}.metric-hint{display:block;position:static;font:600 12px var(--sans);margin-bottom:6px;opacity:1}
  .metric .k{font-size:12px}.metric .v{font-size:1.6rem}
  #positions{scroll-padding-inline:1px;scrollbar-width:thin;scrollbar-color:#3b5262 transparent}
  #positions tr{border-top:2px solid #3be0a578;background:linear-gradient(135deg,#0d2028,#0b131a);border-radius:4px}
  #positions td:nth-child(n+3):before{font-size:12px}.side{border-color:#3be0a56b;border-radius:3px}
  .terminal-head,.forecast-head{font-size:12px;line-height:1.4}.interactive-badge{font-size:11px;letter-spacing:.04em}
  .macro-driver strong,.macro-driver output{font-size:12px}.macro-driver{grid-template-columns:82px minmax(0,1fr) 64px}
  .scenario-stat{flex-basis:155px}.scenario-stat b{font-size:12px;line-height:1.4}.scenario-stat span{font-size:1.05rem}
  .event-switch{padding:11px 9px;gap:8px;border-radius:4px;min-width:0}.event-switch strong{font-size:13px;line-height:1.4}
  .forecast-inputs label,.forecast-tools button,.forecast-readout,.forecast-scrubber label{font-size:14px}
  .forecast-tools button,.forecast-inputs input{min-height:44px}.anchor-note{font-size:13px}
  .corr-lookup .asset-result p,.corr-reason{font:14px/1.5 var(--sans)}.corr-pair-title{font-size:16px}
  .corr-pair-note{font:13px/1.5 var(--sans)}.search-hint{font:12px/1.45 var(--sans)}
  .articles .article p{font-size:16px}.articles .article .meta:last-child{font-size:12px;padding:8px 10px}
  .research-standard span{font-size:15px}.facts{grid-template-columns:1fr 1fr}.fact span{font-size:14px;overflow-wrap:anywhere}
  body:has(.chapter-nav) .chapter-nav{box-shadow:0 8px 18px #06090de6;scroll-snap-type:x proximity}
  body:has(.chapter-nav) .chapter-nav a{scroll-snap-align:start;min-height:44px;border-radius:3px}
  body:has(.chapter-nav) .chapter-intro{font-size:16px;line-height:1.6}
  body:has(.chapter-nav) .chapter-detail p{font-size:16px}
  body:has(.chapter-nav) .hero .note{font-size:14px;line-height:1.5}
  body:has(.feature) .feature img{aspect-ratio:16/9;max-height:230px}
  body:has(.feature) .hero{padding:32px 0 26px}
  body:has(.feature) .layout{padding:28px 18px;min-width:0}
  body:has(.feature) .article,body:has(.feature) aside{min-width:0}
  body:has(.feature) .reaction,body:has(.feature) .metrics{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px}
  body:has(.feature) :is(.reaction,.metrics)>.box{flex:0 0 170px;scroll-snap-align:start}
  body:has(.feature) .desk-grid{grid-template-columns:1fr 1fr;gap:8px}
  body:has(.feature) .desk-grid .box{padding:12px;min-width:0}.desk-grid .box span{overflow-wrap:anywhere}
}
@media(max-width:380px){.corr-result{grid-template-columns:80px minmax(0,1fr)}.corr-ring{width:80px;height:80px}.corr-ring:after{inset:10px}.corr-number{font-size:1.3rem}.facts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.impact{text-shadow:none}}
