
:root{
  --bg:#f3efe5;
  --paper:#fffdf8;
  --ink:#1e2732;
  --muted:#6b7280;
  --line:#d9cfbf;
  --accent:#9c4122;
  --accent-soft:#e7c9b7;
  --shadow:0 18px 42px rgba(73,49,25,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:"PingFang SC","Noto Serif SC",serif;background:radial-gradient(circle at top,#fbf7f0 0,#f1ebdf 55%,#ebe2d1 100%);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-shell{min-height:100vh}
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px 28px;background:rgba(255,253,248,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(156,65,34,.12)}
.brand{font-size:20px;font-weight:700;letter-spacing:.02em}
.topnav{display:flex;gap:18px;font-size:14px;color:var(--muted)}
main{padding:28px}
.hero,.chapter-hero{display:grid;grid-template-columns:1.25fr .85fr;gap:24px;margin-bottom:24px}
.hero-copy,.hero-panel,.panel,.chapter-side{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.hero-copy{padding:30px}
.hero-panel{padding:28px}
.hero h1,.chapter-hero h1{font-size:40px;line-height:1.1;margin:8px 0 12px}
.eyebrow{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hero-copy p,.chapter-thesis,.chapter-hero p,.panel p{font-size:16px;line-height:1.75}
.hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.hero-metrics div{padding:16px;border-radius:18px;background:#f6efe5;border:1px solid var(--line)}
.hero-metrics strong{display:block;font-size:30px}
.featured-strip,.part-block,section.panel,section.home-glance,section#chapters,section#concepts{margin-bottom:28px}
.featured-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.featured-plate{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.featured-plate img,.plate-card img,.thumb-button img,.mini-plate-grid img{aspect-ratio:4/5;object-fit:contain;background:#f6f0e6;border-radius:14px;padding:8px;border:1px solid rgba(0,0,0,.06)}
.route-grid,.concept-grid,.mini-plate-grid,.plate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.route-card,.concept-card,.plate-card{padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.route-card strong,.concept-card strong,.plate-card strong{display:block;font-size:18px;margin:8px 0}
.route-card p,.concept-card p,.plate-card p,.plate-card span{font-size:14px;line-height:1.65;color:#54606f}
.route-badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:#efe4d6;color:var(--accent);font-size:12px}
.chapter-layout,.concept-layout,.plate-library,.glossary-page,.plate-detail{padding:28px}
.chapter-side,.panel{padding:24px}
.viewer-main{width:100%;aspect-ratio:4/5;object-fit:contain;background:#f7f1e7;border-radius:20px;padding:12px;border:1px solid rgba(0,0,0,.07)}
.thumb-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-top:16px}
.thumb-button{padding:8px;border:1px solid var(--line);border-radius:16px;background:#f8f3eb;text-align:left;cursor:pointer}
.thumb-button span{display:block;font-size:12px;line-height:1.4;margin-top:8px;color:var(--muted)}
.dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.panel h2{margin-top:0;font-size:22px}
.panel ul,.panel ol{margin:0;padding-left:20px;line-height:1.8}
.deep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.source-item-deep{padding:18px;border-radius:18px;background:#faf6ef;border:1px solid rgba(0,0,0,.07)}
.deep-meta{font-weight:600}
.answer-toggle{border:none;background:var(--accent);color:#fff;padding:12px 18px;border-radius:999px;cursor:pointer}
.answer-box{margin-top:12px;padding:14px;border-radius:14px;background:#f6efe6}
.plate-group{margin-bottom:18px}
.pager{display:flex;justify-content:space-between;gap:12px;margin:26px 0 8px}
.pager a{flex:1;padding:16px 18px;border-radius:18px;background:#fff7ef;border:1px solid var(--line);text-align:center}
.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.filter-row button{border:none;background:#eadbcc;padding:10px 16px;border-radius:999px;cursor:pointer}
.filter-row button.active{background:var(--accent);color:#fff}
.plate-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.full-plate{width:100%;background:#f8f3eb;border-radius:22px;padding:16px;border:1px solid rgba(0,0,0,.06)}
.glossary-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--paper)}
.glossary-table th,.glossary-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.65}
.home-glance{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.home-glance>div{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
details summary{cursor:pointer;color:var(--accent)}
@media (max-width: 980px){
  .hero,.chapter-hero,.plate-detail-grid,.dual-grid,.home-glance{grid-template-columns:1fr}
  .hero h1,.chapter-hero h1{font-size:32px}
  .hero-metrics{grid-template-columns:1fr 1fr}
  .topbar{padding:14px 18px}
  .topnav{gap:12px;font-size:13px}
  main,.chapter-layout,.concept-layout,.plate-library,.glossary-page,.plate-detail{padding:18px}
}
