
:root{
  --bg:#eff2fb;
  --paper:#f7f8fd;
  --panel:#ffffff;
  --panel-soft:#f4f6fb;
  --line:#cfd8eb;
  --ink:#132038;
  --muted:#54617c;
  --accent:#5073d9;
  --accent-2:#0e5a67;
  --gold:#f0b44b;
  --shadow:0 12px 38px rgba(20,36,70,.10);
  --ui:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
body[data-theme="dark"]{
  --bg:#0d1322;
  --paper:#10192d;
  --panel:#172339;
  --panel-soft:#1d2a43;
  --line:#334867;
  --ink:#ecf3ff;
  --muted:#b2c1df;
  --accent:#80a6ff;
  --accent-2:#89dce7;
  --gold:#ffd279;
  --shadow:0 14px 42px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ui);background:linear-gradient(rgba(128,166,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(128,166,255,.05) 1px,transparent 1px),var(--bg);background-size:40px 40px;color:var(--ink);line-height:1.62}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:18px;padding:10px clamp(14px,4vw,52px);background:rgba(247,248,253,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
body[data-theme="dark"] .topbar{background:rgba(16,25,45,.92)}
.brand{display:flex;align-items:center;gap:10px}
.brand span{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--accent);background:var(--panel);font-weight:900;color:var(--accent);box-shadow:5px 5px 0 rgba(80,115,217,.12)}
.brand strong{display:block}.brand em{display:block;font-style:normal;color:var(--muted);font-size:12px}
.topbar nav{margin-left:auto;display:flex;gap:8px;overflow:auto}
.topbar nav a,.button{border:1px solid var(--line);background:var(--panel);padding:8px 12px;border-radius:8px;font-weight:800;box-shadow:0 4px 10px rgba(20,36,70,.08);cursor:pointer}
.topbar nav a.active,.button.primary{background:var(--accent);color:#fff}
main{min-height:80vh}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.74fr);gap:34px;align-items:center;min-height:68vh;padding:54px clamp(18px,5vw,70px)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--accent);font-weight:900}
h1{font-size:clamp(40px,6.5vw,82px);line-height:1.04;margin:10px 0 18px}
.lead{font-size:19px;color:var(--muted);max-width:760px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.hero-panel,.panel,.card,.entry-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}
.hero-panel{padding:14px}.hero-panel img{width:100%;max-height:480px;object-fit:contain;background:var(--paper);border-radius:18px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.stats div,.fact{border:1px solid var(--line);background:var(--panel-soft);padding:10px;border-radius:16px}.stats strong{display:block;font-size:28px}.stats span,.fact span{display:block;color:var(--muted);font-size:12px}
.section{padding:40px clamp(18px,5vw,70px);border-top:1px solid rgba(80,115,217,.14)}
.section-head{display:grid;grid-template-columns:240px 1fr;gap:24px;margin-bottom:18px}.section h2,.panel h2{font-size:clamp(24px,3vw,40px);line-height:1.12;margin:0 0 8px}.section-head p,.panel p,.card p,.entry-card p{color:var(--muted)}
.entry-router{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.entry-card{padding:16px;min-height:155px}.entry-card span{display:block;color:var(--accent);font-size:12px;font-weight:900;text-transform:uppercase}.entry-card strong{display:block;font-size:22px;margin:8px 0}.entry-card.primary{background:linear-gradient(140deg,var(--accent),#6f97ff);color:#fff}.entry-card.primary p,.entry-card.primary span{color:#e7eeff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}
.card{display:block;padding:16px;min-height:170px}.card:hover{transform:translateY(-2px);transition:.18s ease}
.card small{color:var(--accent);font-weight:900}.card h3{font-size:23px;line-height:1.15;margin:8px 0}
.chapter-card img,.plate-card img{width:100%;height:176px;object-fit:contain;background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-bottom:10px}
.page-title{padding:42px clamp(18px,5vw,70px) 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end}.page-title h1{font-size:clamp(38px,6vw,72px)}.page-title p{color:var(--muted);font-size:18px}.crumb{font-size:13px;color:var(--accent);font-weight:900}
.style-board{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:18px;padding:0 clamp(18px,5vw,70px) 42px}.detail-panel{display:grid;gap:14px}.reading-card{border:1px solid var(--line);background:var(--panel-soft);padding:15px;border-radius:20px}.reading-card h2,.quiz-box h2,.viewer h2{font-size:24px}.reading-card p:first-of-type{margin-top:0}
.thesis{border-left:8px solid var(--accent);background:linear-gradient(145deg,#f6f8ff,var(--panel-soft))}
.detail-list{margin:10px 0 0;padding-left:24px}.detail-list li{margin:9px 0}.practice-list li::marker{color:var(--accent);font-weight:900}
.route-card{background:#edf3ff}.route-list{list-style:none;padding-left:0}.route-item{position:relative;padding:0 0 0 40px;margin:12px 0}.route-number{position:absolute;left:0;top:0;display:grid;place-items:center;width:24px;height:24px;background:var(--accent);color:#fff;font-weight:900;border-radius:50%}
.source-box{background:#f2f6ff}.source-caption{margin:2px 0 14px;color:var(--muted);font-size:15px}.source-expansion{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.source-item{border:1px solid var(--line);background:var(--panel);padding:12px;border-radius:18px}.source-item h3{margin:0 0 8px;font-size:18px;line-height:1.2}.source-item p{margin:0;color:var(--muted)}.source-meta{display:grid;gap:4px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.source-meta strong{font-size:12px;color:var(--accent)}.source-meta span{color:var(--ink)}.source-meta.caution span{color:#a13e55}
.plate-path-section{display:grid;gap:18px}.plate-path-group{border:1px solid var(--line);background:var(--panel);padding:16px;border-radius:20px}.plate-path-head{display:grid;grid-template-columns:minmax(160px,.35fr) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:12px}.plate-path-head h3{margin:0;font-size:28px;line-height:1.08}.plate-path-head p{margin:0;color:var(--muted)}
.visual-stack{position:sticky;top:84px;display:grid;gap:14px}.viewer{border:1px solid var(--line);background:var(--panel);padding:14px;border-radius:20px}.viewer-main{margin:0;display:grid;place-items:center;gap:8px}.viewer-main img{width:100%;max-height:520px;object-fit:contain;background:var(--paper);border:1px solid var(--line);border-radius:18px}.viewer-main figcaption{width:100%;color:var(--accent);font-weight:900}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:10px}.thumbs button{padding:3px;border:1px solid var(--line);background:var(--paper);border-radius:10px;cursor:pointer}.thumbs img{width:100%;height:58px;object-fit:contain}
.quiz-box{border:2px solid rgba(80,115,217,.24);background:#eef3ff;padding:16px;border-radius:20px}.quiz-box p{font-size:18px;color:var(--ink)}.answer{display:none;margin-top:12px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted)}.answer.is-open{display:block}
.term-cloud{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.term-chip{display:inline-flex;gap:6px;align-items:baseline;border:1px solid var(--line);background:var(--panel);padding:7px 10px;border-radius:999px;font-weight:850}.term-chip em{font-style:normal;color:var(--accent-2);font-size:12px}
.fact-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.plate-full{max-width:100%;max-height:72vh;object-fit:contain;background:var(--paper);border:1px solid var(--line);border-radius:18px}
.search{min-width:min(440px,100%);border:1px solid var(--line);background:var(--panel);padding:12px 14px;border-radius:12px;font:inherit;margin-bottom:16px}
.learning-path{display:grid;grid-template-columns:1fr 1fr;gap:12px}.single-column{grid-template-columns:1fr}.path-card{display:block;border:1px solid var(--line);background:var(--panel);padding:12px;border-radius:18px;box-shadow:0 6px 14px rgba(20,36,70,.06)}.path-card span{display:block;color:var(--accent);font-size:12px;font-weight:900}.path-card strong{display:block;line-height:1.25}.path-card.disabled{opacity:.5}
.glossary-table{display:grid;gap:12px}.glossary-row{display:grid;grid-template-columns:1.1fr .9fr 2fr;gap:16px;align-items:start;padding:16px 18px;border:1px solid var(--line);background:var(--panel);border-radius:18px}
.danger li{color:#a13e55}.footer{border-top:1px solid var(--line);padding:24px clamp(18px,5vw,70px);color:var(--muted)}
@media (max-width: 980px){.hero,.style-board,.section-head,.plate-path-head,.page-title{grid-template-columns:1fr}.entry-router,.learning-path,.glossary-row{grid-template-columns:1fr}.visual-stack{position:static}}
@media (max-width: 700px){.topbar{align-items:flex-start;flex-direction:column}.topbar nav{margin-left:0}.grid,.stats{grid-template-columns:1fr}.hero{padding-top:32px}}
