
:root{
  --bg:#f2ece3;
  --paper:#fbf7f0;
  --ink:#1c1a17;
  --muted:#625849;
  --line:#d9ccb8;
  --accent:#9c4731;
  --accent-2:#234c46;
  --warm:#d6b18a;
  --shadow:0 18px 40px rgba(41,27,18,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(circle at top,#f8f2ea 0,#efe6d9 42%,#efe7de 100%);color:var(--ink);font-family:"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei",sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.shell{max-width:1320px;margin:0 auto;padding:28px 26px 72px}
.top-nav{display:flex;gap:14px;flex-wrap:wrap;padding:10px 0 24px;color:var(--muted)}
.top-nav a{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.66)}
.hero{display:grid;grid-template-columns:1.3fr .9fr;gap:20px;align-items:stretch;margin-bottom:26px}
.hero-card,.panel,.card,.theme-card,.concept-card,.case-card,.plate-card,.gloss-card,.theme-strip,.side-panel,.data-card{background:var(--paper);border:1px solid rgba(156,71,49,.12);border-radius:28px;box-shadow:var(--shadow)}
.hero-main{padding:34px 34px 28px;position:relative;overflow:hidden}
.hero-main::after{content:"";position:absolute;inset:auto -40px -60px auto;width:260px;height:260px;background:radial-gradient(circle,var(--warm),transparent 68%);opacity:.28}
.eyebrow{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:#f7eee4;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.hero h1,.page-head h1{font-family:"Times New Roman","Songti SC",serif;font-size:56px;line-height:1.05;margin:18px 0 14px}
.hero p.lead{font-size:18px;color:#493f33;max-width:850px}
.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.stat{padding:14px 16px;background:#f7f0e8;border-radius:18px;border:1px solid rgba(0,0,0,.05)}
.stat strong{display:block;font-size:24px;color:var(--accent-2)}
.hero-side{display:grid;gap:18px}
.panel{padding:24px}
.panel h3,.section-head h2,.data-card h2,.subhead{font-size:22px;margin:0 0 12px}
.section{margin-top:28px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}
.section-head p{margin:0;color:var(--muted)}
.theme-grid,.concept-grid,.plate-grid,.gloss-grid,.case-grid{display:grid;gap:16px}
.theme-grid{grid-template-columns:repeat(3,1fr)}
.concept-grid{grid-template-columns:repeat(3,1fr)}
.plate-grid{grid-template-columns:repeat(3,1fr)}
.gloss-grid{grid-template-columns:repeat(3,1fr)}
.case-grid{grid-template-columns:repeat(3,1fr)}
.theme-card,.concept-card,.case-card,.plate-card,.gloss-card,.data-card{padding:22px}
.theme-card h3,.concept-card h3,.case-card h3,.plate-card h3{margin:8px 0 10px;font-size:24px}
.theme-card .meta,.concept-card .meta,.case-card .meta,.plate-card .meta,.page-meta{color:var(--muted);font-size:14px}
.tag-row{display:flex;gap:8px;flex-wrap:wrap}
.tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f7eee4;color:#6f503f;font-size:12px}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:white;color:var(--ink);font-weight:600}
.btn.primary{background:var(--accent-2);border-color:var(--accent-2);color:white}
.data-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.page-head{padding:28px 30px;background:linear-gradient(135deg,#f7efe6,#fffdfa)}
.page-columns{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;margin-top:20px}
.data-card{padding:24px}
.bullet-list,.gloss-list,.route-list{display:grid;gap:10px;padding:0;margin:0}
.bullet-list li,.gloss-list li,.route-list li{list-style:none;padding:0}
.route-list li{padding:12px 14px;background:#f7f0e8;border-radius:16px}
.source-item-deep{padding:18px;border-radius:18px;background:#fcf7ef;border:1px solid rgba(35,76,70,.12);margin-top:12px}
.source-item-deep h4{margin:0 0 8px;font-size:18px}
.answer-box{display:none;padding:14px 16px;border-radius:16px;background:#f7efe6;margin-top:10px}
.answer-box.show{display:block}
.viewer{padding:20px;background:#faf5ee;border-radius:22px;border:1px solid rgba(0,0,0,.05)}
.viewer-main{width:100%;aspect-ratio: 4 / 3;object-fit:contain;background:#f2ebe2;border-radius:18px;padding:10px}
.thumb-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.thumb-strip button{border:none;background:transparent;padding:0;cursor:pointer}
.thumb-strip img{aspect-ratio: 16 / 10;object-fit:contain;background:#efe6db;padding:8px;border-radius:14px;border:1px solid rgba(0,0,0,.05)}
.cluster{margin-top:14px;padding:18px;border:1px solid rgba(0,0,0,.06);border-radius:20px;background:#fffaf4}
.cluster h4{margin:0 0 10px}
.mini-case-list{display:grid;gap:10px}
.mini-case{padding:12px 14px;border-radius:16px;background:#f7f0e8}
.plate-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.plate-mini a{display:block}
.plate-mini img{aspect-ratio:16/10;object-fit:contain;background:#efe6db;padding:8px;border-radius:16px;border:1px solid rgba(0,0,0,.06)}
.search-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.search-bar input{min-width:260px;flex:1;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:white}
.filter-row{display:flex;gap:10px;flex-wrap:wrap}
.filter-btn{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer}
.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.case-card[data-hidden="true"]{display:none}
.case-layout{display:grid;grid-template-columns:1fr .9fr;gap:18px}
.case-body{padding:22px;background:var(--paper);border-radius:24px;border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow)}
.excerpt-box{white-space:pre-wrap;padding:16px;border-radius:16px;background:#fcf8f3;border:1px solid rgba(0,0,0,.05);font-size:15px}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.pager a{flex:1;padding:14px 16px;border-radius:18px;background:#f7f0e8;border:1px solid var(--line)}
.gloss-card strong{display:block;font-size:19px}
.footer-note{margin-top:26px;color:var(--muted);font-size:14px}
@media (max-width: 1080px){
  .hero,.data-wrap,.page-columns,.case-layout{grid-template-columns:1fr}
  .theme-grid,.concept-grid,.plate-grid,.gloss-grid,.case-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .shell{padding:18px 14px 56px}
  .hero h1,.page-head h1{font-size:38px}
  .hero-grid,.theme-grid,.concept-grid,.plate-grid,.gloss-grid,.case-grid,.plate-mini{grid-template-columns:1fr}
  .thumb-strip{grid-template-columns:1fr 1fr}
}
