/* 显示主题独立于动效设置；白底用深铜金保证小字与操作态清楚。 */
:root {
  --on-accent: #171811;
  --orbit-gold-rgb: 216,181,121;
  --orbit-glint-rgb: 242,214,169;
  --orbit-core-rgb: 49,43,31;
  --orbit-fade-rgb: 16,17,15;
}
.header-controls { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.theme-switch { display: none; align-items: center; padding: 3px; gap: 2px; border: 1px solid var(--line-soft); border-radius: 5px; }
html[data-theme] .theme-switch { display: flex; }
.theme-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 10px; border-radius: 3px; background: transparent; color: var(--muted); font-size: 12px; white-space: nowrap; }
.theme-switch svg { width: 15px; height: 15px; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.theme-switch button[aria-pressed="true"] { background: var(--gold); color: var(--on-accent); }
.theme-switch button:hover:not([aria-pressed="true"]) { color: var(--gold-bright); background: var(--surface); }
.theme-switch button:focus-visible { outline-offset: 1px; }

html[data-theme="light"] {
  color-scheme: light;
  --ink: #ffffff;
  --surface: #f7f8f6;
  --surface-raised: #eef0eb;
  --text: #20271f;
  --muted: #596252;
  --gold: #805922;
  --gold-bright: #654315;
  --on-accent: #ffffff;
  --line: rgba(128,89,34,.29);
  --line-soft: rgba(32,39,31,.16);
  --orbit-gold-rgb: 128,89,34;
  --orbit-glint-rgb: 80,56,23;
  --orbit-core-rgb: 244,240,230;
  --orbit-fade-rgb: 255,255,255;
}
html[data-theme="light"] body::before { opacity: .009; }
html[data-theme="light"] .site-header { background: rgba(255,255,255,.96); }
html[data-theme="light"] .site-header.scrolled { background: rgba(255,255,255,.99); }
html[data-theme="light"] :is(.site-header nav a, .hero-kicker, .hero-description, .hero-beliefs, .orbit-label, .orbit-ui p, .scroll-cue, .hero-side-note, .visual-caption, .case-industry, .case-points, .project-body > p, .shipping-node span, .report-heading > p, .report-numbers span, .weight-legend > span, .weight-panel > p, .report-features span, .path-steps button, .path-steps button > span, .path-steps small, .path-panel > p, .plan-body > p, .lab-card p, .footer-top > p, .footer-bottom, .footer-note, .lab-note, .noscript-note, .dialog-note) { color: var(--muted); }
html[data-theme="light"] :is(.case-lead, .path-deliverables, .plan-body ul, #dialog-points) { color: var(--text); }
html[data-theme="light"] :is(.muted-line, .footer-wordmark > span) { color: #69725f; }
html[data-theme="light"] :is(.text-link, .status-pill, .project-bottom > a, .report-download, .lab-link, .footer-bottom > a) { color: var(--gold); border-color: var(--line); }
html[data-theme="light"] :is(.site-header nav a:hover, .site-header nav a:focus-visible, .site-header nav a.active, .text-link:hover, .text-link:focus-visible) { color: var(--gold-bright); }
html[data-theme="light"] :is(.button.primary, .filters button[aria-pressed="true"]) { color: var(--on-accent); }
html[data-theme="light"] .button.outline { border-color: var(--line); }
html[data-theme="light"] .button.outline:hover { background: #f6f1e8; }
html[data-theme="light"] :is(.image-preview, .project-card, .project-dialog, .market-workbench, .path-panel, #opc-calculator) { background: var(--surface); border-color: var(--line-soft); }
html[data-theme="light"] .image-preview { box-shadow: 0 16px 38px rgba(50,58,42,.10); }
html[data-theme="light"] :is(.preview-affordance, .media-label, .dialog-close) { background: var(--ink); color: var(--text); border-color: var(--line); box-shadow: 0 3px 14px rgba(50,58,42,.10); }
html[data-theme="light"] :is(.project-media, .dialog-image-wrap) { background: var(--surface-raised); }
html[data-theme="light"] .project-card:hover { border-color: var(--gold); }
html[data-theme="light"] .project-card::after { background: radial-gradient(400px circle at var(--pointer-x) var(--pointer-y), rgba(128,89,34,.05), transparent 72%); }
html[data-theme="light"] .filters button:not([aria-pressed="true"]) { color: var(--muted); }
html[data-theme="light"] .shipping-art { background: radial-gradient(ellipse at 50% 48%, rgba(128,89,34,.06), transparent 62%), var(--surface); }
html[data-theme="light"] .shipping-node { background: var(--ink); border-color: var(--line); }
html[data-theme="light"] .shipping-core { background: var(--gold); color: var(--on-accent); border-color: var(--gold); }
html[data-theme="light"] .shipping-orbit { border-color: var(--line); }
html[data-theme="light"] .shipping-orbit::after { border-color: var(--line); }
html[data-theme="light"] .shipping-orbit::before { background: linear-gradient(transparent, var(--gold)); }
html[data-theme="light"] .shipping-core::before, html[data-theme="light"] .shipping-core::after { background: var(--gold); }
html[data-theme="light"] .report-focus { background: linear-gradient(120deg, #fbf8f1, #ffffff 70%); border-color: var(--line); box-shadow: none; }
html[data-theme="light"] .path-steps button[aria-selected="true"] { color: var(--gold-bright); background: #f6f1e8; }
html[data-theme="light"] .path-number { color: rgba(128,89,34,.07); }
html[data-theme="light"] .project-dialog { background: var(--ink); box-shadow: 0 26px 90px rgba(32,39,31,.22); }
html[data-theme="light"] .project-dialog::backdrop { background: rgba(35,42,31,.42); }
html[data-theme="light"] .dialog-shell { scrollbar-color: #9a845b #f7f8f6; }
html[data-theme="light"] .dialog-close:hover { color: var(--on-accent); background: var(--gold); }

/* 产品关系使用完整的浅色表面与独立高亮，保留三种模式的状态。 */
html[data-theme="light"] .hero-network #orbit-canvas { opacity: .82; }
html[data-theme="light"] .orbit-aura { background: radial-gradient(ellipse, rgba(128,89,34,.06), transparent 68%); }
html[data-theme="light"] .orbit-modes { background: var(--surface); }
html[data-theme="light"] .orbit-modes button { color: var(--muted); }
html[data-theme="light"] .orbit-modes button[aria-pressed="true"] { background: #ebe2d2; color: var(--gold-bright); }
html[data-theme="light"] #network-links :is(path,line) { stroke: rgba(128,89,34,.3); }
html[data-theme="light"] #network-links :is(.is-related,.is-active,.is-selected,.is-highlight) { stroke: #805922; }
html[data-theme="light"] .network-node { background: var(--ink); color: var(--text); border-color: #9e8a6c; box-shadow: 0 3px 12px rgba(50,58,42,.08); }
html[data-theme="light"] .network-node :is(.node-mark,.node-planned) { color: var(--muted); }
html[data-theme="light"] .network-node.is-related { background: #f7f1e6; border-color: #98703c; }
html[data-theme="light"] .network-node:is(.is-dimmed,.is-muted) { color: #596252; border-color: #a7b09e; }
html[data-theme="light"] .network-node:is(:hover,:focus-visible) { background: #eee4d3; color: var(--gold-bright); border-color: var(--gold); }
html[data-theme="light"] .network-node:is(.is-selected,[aria-pressed="true"]) { background: var(--gold); color: var(--on-accent); border-color: var(--gold); box-shadow: 0 0 0 3px rgba(128,89,34,.10), 0 4px 16px rgba(50,58,42,.1); }
html[data-theme="light"] .network-node:is(.is-selected,[aria-pressed="true"]) :is(.node-mark,.node-planned) { color: var(--on-accent); }
html[data-theme="light"] :is(.network-explainer, .network-explainer > span, .network-relation-description, .market-note, .method-note, .evidence-kicker, .opc-step p, .opc-economics p, .opc-results span, .calculator-results span) { color: var(--muted); }
html[data-theme="light"] .market-intro > p:not(.section-kicker):not(.status-pill),
html[data-theme="light"] .opc-heading > p:not(.section-kicker):not(.status-pill),
html[data-theme="light"] .opc-evidence p:not(.evidence-kicker):not(.evidence-value) { color: var(--muted); }
html[data-theme="light"] :is(.opc-evidence a, .opc-step > span, .opc-economics .section-kicker, #rail-prev, #rail-next) { color: var(--gold); }
html[data-theme="light"] :is(#filter-count, #dialog-description, #network-description, #network-relations button, #network-relations a, #ribbon-toggle, #market-summary, #market-evidence, #opc-calculator label, #opc-calculator .calculator-note, #opc-calculator > p) { color: var(--muted); }
html[data-theme="light"] #network-relations :is(button,a):hover,
html[data-theme="light"] #ribbon-toggle:is(:hover,:focus-visible) { color: var(--gold-bright); }
html[data-theme="light"] .word-ribbon { color: #737c6a; }
html[data-theme="light"] .word-ribbon b { color: var(--gold); }
html[data-theme="light"] .market-tabs button { color: var(--muted); }
html[data-theme="light"] .market-tabs button:hover { background: #eef0eb; color: var(--gold-bright); }
html[data-theme="light"] .market-tabs button:is([aria-selected="true"],[aria-pressed="true"],.is-active) { background: #ece4d5; color: var(--gold-bright); }
html[data-theme="light"] #opc-calculator input[type="range"]::-webkit-slider-runnable-track { background: #aaa58f; }
html[data-theme="light"] #opc-calculator input[type="range"]::-webkit-slider-thumb { border-color: var(--surface); box-shadow: 0 0 0 1px var(--gold); }
html[data-theme="light"] #opc-calculator input[type="range"]::-moz-range-track { background: #aaa58f; }
html[data-theme="light"] #opc-calculator input[type="range"]::-moz-range-thumb { border-color: var(--surface); box-shadow: 0 0 0 1px var(--gold); }
html[data-theme="light"] .section-rail { border-color: var(--line-soft); }
html[data-theme="light"] .section-rail a { color: var(--muted); }
html[data-theme="light"] .section-rail a:is(:hover,.is-active,.active,[aria-current="location"],[aria-current="true"]) { color: var(--gold-bright); background: #f4eee3; }

@media (max-width: 1100px) { .site-header { gap: 14px; } .site-header nav { gap: 14px; } .header-controls { gap: 8px; } }
@media (max-width: 900px) { .site-header nav { display: none; } }
@media (max-width: 600px) {
  .site-header { gap: 8px; padding-inline: 16px; }
  .header-controls { gap: 8px; }
  .theme-switch button { padding-inline: 8px; gap: 5px; }
  .theme-switch svg { display: none; }
  .theme-switch button { min-width: 44px; }
  .header-controls .motion-toggle { width: 44px; padding: 0; }
  .header-controls #motion-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
