
:root{--ink:#162421;--muted:#5f726d;--line:#c9d8d1;--paper:#f5f6f1;--panel:#fffef8;--accent:#286f64;--accent2:#9b6a23;--shadow:0 16px 42px rgba(22,36,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(40,111,100,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(155,106,35,.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,246,241,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(40,111,100,.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:#14342f;color:#fff8ea;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}.hero p{font-size:18px;color:#465a53}.hero figure{margin:0;padding:18px;border:1px solid rgba(40,111,100,.12);border-radius:10px;background:rgba(255,254,248,.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}.route{display:flex;flex-wrap:wrap;gap:10px}.route span,.tag{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgba(40,111,100,.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(40,111,100,.16);border-radius:10px;background:rgba(255,254,248,.92);box-shadow:var(--shadow);min-height:170px}.card:hover{transform:translateY(-2px);border-color:rgba(40,111,100,.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}.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(40,111,100,.16);border-radius:10px;background:rgba(255,254,248,.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}
.callout{padding:16px 18px;border-left:4px solid var(--accent);border-radius:6px;background:linear-gradient(135deg,rgba(40,111,100,.08),rgba(155,106,35,.08))}.deep-card{padding:16px;border:1px solid rgba(40,111,100,.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(40,111,100,.14);border-radius:10px;background:rgba(255,254,248,.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(40,111,100,.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(40,111,100,.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(40,111,100,.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(40,111,100,.16);border-radius:6px;background:#fff}.learn-nav a:hover{border-color:rgba(40,111,100,.32)}
details{margin:24px 0;padding:16px;border:1px solid rgba(40,111,100,.14);border-radius:8px;background:#fff}summary{cursor:pointer;font-weight:800}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid rgba(40,111,100,.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(40,111,100,.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(40,111,100,.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}}
