
:root{--ink:#172821;--muted:#5e726a;--line:#c8d6d0;--paper:#f5f3ea;--panel:#fffdf7;--accent:#2e786b;--accent2:#956427;--shadow:0 16px 42px rgba(23,40,33,.08);--display:"Songti SC","Noto Serif CJK SC","STSong",Georgia,serif}
*{box-sizing:border-box}body{margin:0;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:linear-gradient(rgba(46,120,107,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(149,100,39,.045) 1px,transparent 1px),var(--paper);background-size:34px 34px;color:var(--ink);line-height:1.7}a{text-decoration:none;color:inherit}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 26px;background:rgba(245,243,234,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(46,120,107,.16)}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:10px;background:#16362f;color:#fff9eb;font-family:var(--display);font-size:28px}.brand strong{display:block}.brand small{display:block;color:var(--muted)}
nav a{margin-left:16px;color:var(--muted);font-weight:700}nav a:hover,.brand:hover{color:var(--accent)}
main,section{padding-inline:clamp(20px,4vw,72px)}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:34px;align-items:center;min-height:80vh;padding-top:42px;padding-bottom:44px}.hero h1{margin:0 0 14px;font-family:var(--display);font-size:clamp(38px,6vw,72px);line-height:1.04;letter-spacing:0}.hero p{font-size:18px;color:#465a53}.hero figure{margin:0;padding:18px;border:1px solid rgba(46,120,107,.12);border-radius:10px;background:rgba(255,253,247,.9);box-shadow:var(--shadow)}.hero img{width:100%;max-height:560px;object-fit:contain;background:#fff;border:1px solid var(--line)}.hero figcaption{margin-top:10px;color:var(--muted);font-size:14px}
.eyebrow{margin:0 0 10px;color:var(--accent2);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.cta a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:6px;border:1px solid var(--accent);background:#fffdf8}.cta a:first-child{background:var(--accent);color:#fff}.cta a:last-child{color:var(--accent)}
.band,.grid-section{padding-top:22px;padding-bottom:16px}.band h2,.grid-section h2,.content h2,.side h2{margin:0 0 12px;font-family:var(--display);font-size:26px;line-height:1.2;letter-spacing:0}.route{display:flex;flex-wrap:wrap;gap:10px}.route span,.tag{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgba(46,120,107,.18);border-radius:999px;background:#fffdf8;color:#24423a;margin:4px 6px 0 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card{display:block;padding:18px;border:1px solid rgba(46,120,107,.16);border-radius:10px;background:rgba(255,253,247,.92);box-shadow:var(--shadow);min-height:170px}.card:hover{transform:translateY(-2px);border-color:rgba(46,120,107,.28)}.card span{display:block;color:var(--accent2);font-size:13px;font-weight:800}.card h3{margin:10px 0 8px;font-size:22px;line-height:1.25;letter-spacing:0}.card p{margin:0;color:var(--muted)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding-top:30px;padding-bottom:40px}.content{padding:26px;border:1px solid rgba(46,120,107,.16);border-radius:10px;background:rgba(255,253,247,.9);box-shadow:var(--shadow)}.content.narrow{max-width:980px;margin:32px auto}.content h1{margin:0 0 14px;font-family:var(--display);font-size:40px;line-height:1.12;letter-spacing:0}
.callout{padding:16px 18px;border-left:4px solid var(--accent);border-radius:6px;background:linear-gradient(135deg,rgba(46,120,107,.08),rgba(149,100,39,.08))}.deep-card{padding:16px;border:1px solid rgba(46,120,107,.14);border-radius:8px;background:#fff;margin:14px 0}.deep-card h3{margin-top:0;margin-bottom:8px;font-size:19px}.source{font-size:14px;color:var(--muted)}.section-note{margin:0 0 10px;color:var(--muted)}
.side{position:sticky;top:74px;align-self:start;padding:16px;border:1px solid rgba(46,120,107,.14);border-radius:10px;background:rgba(255,253,247,.94);box-shadow:var(--shadow);max-height:calc(100vh - 92px);overflow:auto}.viewer{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.viewer img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fafcff;border:1px solid var(--line)}.viewer p{margin:8px 0 0}.viewer b{display:block}.viewer span{display:block;color:var(--muted);font-size:13px}
.plate-group{margin-top:14px}.plate-group h3{margin:0 0 8px;font-size:14px;color:var(--accent2)}.plate-group-list{display:grid;grid-template-columns:1fr;gap:8px}.plate-pick{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;padding:8px;border:1px solid rgba(46,120,107,.12);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.plate-pick img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f7f8f3;border:1px solid var(--line)}.plate-pick span{font-size:13px;line-height:1.35}.plate-pick:hover{border-color:rgba(46,120,107,.3)}
.visual-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.visual-card{display:block;padding:8px;border:1px solid rgba(46,120,107,.14);border-radius:8px;background:#fff;color:var(--ink)}.visual-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f7f8f3;border:1px solid var(--line)}.visual-card span{display:block;margin-top:8px;font-size:13px;font-weight:700;line-height:1.35}.visual-card small{display:block;margin-top:4px;color:var(--muted)}
.image-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.image-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f7f8f3;border:1px solid var(--line);border-radius:6px}.plate-large img{width:100%;max-height:76vh;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}
.learn-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:28px}.learn-nav a{display:inline-flex;align-items:center;min-height:40px;padding:9px 12px;border:1px solid rgba(46,120,107,.16);border-radius:6px;background:#fff}.learn-nav a:hover{border-color:rgba(46,120,107,.32)}
details{margin:24px 0;padding:16px;border:1px solid rgba(46,120,107,.14);border-radius:8px;background:#fff}summary{cursor:pointer;font-weight:800}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid rgba(46,120,107,.14);border-radius:8px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
input.search{width:100%;min-height:42px;padding:10px 12px;border:1px solid rgba(46,120,107,.18);border-radius:6px;background:#fff}
.source-expansion{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.source-item-deep{padding:14px;border:1px solid rgba(46,120,107,.14);border-radius:8px;background:#fff}.source-item-deep h3{margin:0 0 8px;font-size:18px}.source-item-deep p{margin:0 0 10px}.source-meta{font-size:14px;color:var(--muted);margin-top:8px}.source-meta b{color:var(--ink)}
@media(max-width:920px){.hero,.layout{grid-template-columns:1fr}.side{position:static;max-height:none}.topbar{padding:12px 16px}nav a{margin-left:10px}.content{padding:18px}.learn-nav{display:block}.learn-nav a{display:block;margin-bottom:10px}}
