
:root{
  --paper:#f7efd9;
  --white:#fffdf7;
  --panel:#fff9e8;
  --line:#cbb88b;
  --ink:#1e1811;
  --muted:#645e52;
  --deep:#184f51;
  --brick:#a45b33;
  --olive:#4f6d4e;
  --shadow:8px 8px 0 rgba(24,79,81,.10);
  --ui:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --display:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
body[data-theme="dark"]{
  --paper:#171513;
  --white:#1f1c19;
  --panel:#26211c;
  --line:#53473a;
  --ink:#f3ebdd;
  --muted:#c9baa8;
  --deep:#78c0bc;
  --brick:#f0a06d;
  --olive:#a9c691;
  --shadow:0 14px 36px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ui);
  background:
    linear-gradient(rgba(164,91,51,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(164,91,51,.04) 1px,transparent 1px),
    var(--paper);
  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:20;display:flex;align-items:center;gap:18px;
  padding:10px clamp(14px,4vw,52px);
  background:rgba(248,239,217,.92);
  border-bottom:2px solid rgba(164,91,51,.22);
  backdrop-filter:blur(10px);
}
body[data-theme="dark"] .topbar{background:rgba(23,21,19,.92)}
.brand{display:flex;align-items:center;gap:10px}
.brand span{
  display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--ink);
  background:var(--white);font-weight:950;box-shadow:5px 5px 0 rgba(164,91,51,.18)
}
.brand strong{display:block}
.brand em{display:block;font-style:normal;font-size:12px;color:var(--muted)}
.topbar nav{margin-left:auto;display:flex;gap:8px;overflow:auto}
.topbar nav a,.button{
  border:1px solid var(--line);background:var(--white);padding:8px 12px;border-radius:4px;
  font-weight:850;box-shadow:3px 3px 0 rgba(164,91,51,.15);cursor:pointer
}
.topbar nav a.active,.button.primary{background:#221910;color:#fff7de}
.button.ghost{background:var(--white)}
main{min-height:80vh}
.hero{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);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(--brick);font-weight:950}
h1{font-size:clamp(42px,7vw,84px);line-height:1.03;margin:10px 0 18px;letter-spacing:0}
.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)
}
.hero-panel{padding:14px}
.hero-panel img{display:block;width:100%;max-height:480px;object-fit:contain;background:var(--white)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.stats div,.fact{border:1px solid var(--line);background:#fff1bb;padding:10px}
body[data-theme="dark"] .stats div,body[data-theme="dark"] .fact{background:#32281f}
.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(164,91,51,.22)}
.section-head{display:grid;grid-template-columns:240px 1fr;gap:24px;margin-bottom:18px}
.section h2,.panel h2{font-size:clamp(25px,3vw,42px);line-height:1.12;margin:0 0 8px}
.section-head p,.panel p,.card p,.entry-card p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}
.card{display:block;padding:16px;min-height:160px}
.card:hover{transform:translateY(-2px);transition:.18s ease;box-shadow:10px 10px 0 rgba(24,79,81,.14)}
.card small{color:var(--brick);font-weight:900}
.card h3{font-size:23px;line-height:1.15;margin:8px 0}
.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(--brick);font-size:12px;font-weight:950;text-transform:uppercase}
.entry-card strong{display:block;font-size:22px;margin:8px 0}
.entry-card.primary{background:#221910;color:#fff7de}
.entry-card.primary p,.entry-card.primary span{color:#ffe7a7}
.chapter-thumb,.plate-card img{
  width:100%;height:178px;object-fit:contain;background:var(--white);
  border:1px solid rgba(203,184,139,.72);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,74px)}
.page-title p{color:var(--muted);font-size:18px}
.crumb{font-size:13px;color:var(--brick);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-board{align-items:start}
.panel{padding:18px}
.detail-panel{display:grid;gap:14px}
.reading-card{
  border:1px solid rgba(203,184,139,.84);background:rgba(255,251,234,.75);padding:15px
}
.reading-card h2,.quiz-box h2,.viewer h2{font-size:25px}
.reading-card p:first-of-type{margin-top:0}
.thesis{border-left:8px solid var(--deep);background:#fff5cd}
.detail-list{margin:10px 0 0;padding-left:24px}
.detail-list li{margin:9px 0}
.practice-list li::marker{color:var(--deep);font-weight:950}
.route-card{background:#edf2df}
.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(--deep);color:#fffbe8;font-weight:950
}
.source-box{background:#fff1b7}
.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 rgba(203,184,139,.75);background:#fff8dc;padding:12px}
.source-item h3{margin:0 0 8px;font-size:18px;line-height:1.2}
.source-item p{margin:0;color:var(--muted)}
.source-item-deep{background:#f3f7ef}
.source-meta{display:grid;gap:4px;margin-top:10px;padding-top:10px;border-top:1px dashed rgba(203,184,139,.9)}
.source-meta strong{font-size:12px;color:var(--brick)}
.source-meta span{color:var(--ink)}
.source-meta.caution span{color:#8a2e20}
.plate-path-section{display:grid;gap:18px}
.plate-path-group{border:1px solid rgba(203,184,139,.85);background:rgba(255,251,232,.78);padding:16px;box-shadow:7px 7px 0 rgba(24,79,81,.10)}
.plate-path-head{display:grid;grid-template-columns:minmax(160px,.32fr) 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)}
.plate-mini-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.visual-stack{position:sticky;top:84px;display:grid;gap:14px}
.viewer{border:1px solid rgba(203,184,139,.82);background:#fff8df;padding:14px}
.viewer-main{margin:0;display:grid;place-items:center;gap:8px}
.viewer-main img{width:100%;max-height:520px;object-fit:contain;background:var(--white);border:1px solid rgba(203,184,139,.7)}
.viewer-main figcaption{width:100%;color:var(--brick);font-weight:900}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:10px}
.thumbs button{padding:3px;box-shadow:none;background:#fffbe8;border:1px solid var(--line);cursor:pointer}
.thumbs img{display:block;width:100%;height:58px;object-fit:contain}
.quiz-box{border:2px solid rgba(164,91,51,.36);background:#fff1bb;padding:16px}
body[data-theme="dark"] .quiz-box{background:#32281f}
.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:#fff1bb;padding:7px 10px;border-radius:999px;font-weight:850}
body[data-theme="dark"] .term-chip{background:#32281f}
.term-chip em{font-style:normal;color:var(--deep);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(--white);border:1px solid rgba(203,184,139,.7)}
.search{min-width:min(440px,100%);border:1px solid var(--line);background:var(--white);padding:12px 14px;border-radius:4px;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:#fffbe8;padding:12px;box-shadow:4px 4px 0 rgba(164,91,51,.12)
}
body[data-theme="dark"] .path-card{background:#2c241d}
.path-card span{display:block;color:var(--brick);font-size:12px;font-weight:950}
.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.15fr .9fr 2fr;gap:16px;align-items:start;
  padding:16px 18px;border:1px solid var(--line);background:var(--white)
}
.danger li{color:#8a2e20}
.footer{border-top:2px solid rgba(164,91,51,.28);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}
}
