:root{--bg:#FFFFFF;--bg2:#F5F5F7;--bg3:#E9E9EC;--ink:#1D1D1F;--muted:#6E6E73;--line:#E5E5EA;--accent:#C8412B;--accent-soft:#FBEDEA;--ok:#2F7D4F;--warn:#B7791F;--zh:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;--r:18px;--glyph-op:.05;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--bg2:#1C1C1E;--bg3:#2C2C2E;--ink:#F5F5F7;--muted:#98989D;--line:#38383A;--accent:#E0563F;--accent-soft:#3A241F;--ok:#6CC38E;--warn:#E0B05A;--glyph-op:.08;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--bg2:#1C1C1E;--bg3:#2C2C2E;--ink:#F5F5F7;--muted:#98989D;--line:#38383A;--accent:#E0563F;--accent-soft:#3A241F;--ok:#6CC38E;--warn:#E0B05A;--glyph-op:.08;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;padding-inline:20px;padding-block:0;-webkit-font-smoothing:antialiased}@media(max-width:600px){body{font-size:17px}}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}h1,h2,h3{margin:0;letter-spacing:-.02em;text-wrap:balance;line-height:1.1}h1{font-size:clamp(2.1rem,6vw,3.25rem);font-weight:700}h2{font-size:clamp(1.5rem,3.4vw,2rem);font-weight:700}h3{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}p{margin:0}.zh{font-family:var(--zh);font-weight:600}.muted{color:var(--muted)}.small{font-size:.875rem}.wrap{max-width:980px;margin:0 auto}.narrow{max-width:640px;margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:600;font-size:.95rem;background:var(--bg2);color:var(--ink);transition:background .15s,transform .1s}.btn:hover{background:var(--bg3)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent);filter:brightness(.94)}.btn.small{padding:8px 14px;font-size:.85rem}.btn.block{width:100%}.link{color:var(--accent);font-weight:600}.link:hover{text-decoration:underline}.chev{color:var(--muted);flex:none}.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);margin-inline:-20px;padding-inline:20px}.top .wrap{display:flex;align-items:center;justify-content:space-between;height:52px}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--zh);font-size:.95rem;font-weight:600}.nav{display:flex;gap:20px;font-size:.9rem;color:var(--muted)}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}@media(max-width:720px){.nav{gap:14px;font-size:.85rem}.nav a:nth-child(n+6){display:none}}section{padding-block:56px 0}.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px}.sec-head p{color:var(--muted);margin-top:6px;max-width:40em}.sec-head .link{white-space:nowrap;font-size:.9rem}.hero{position:relative;padding-block:56px 16px;text-align:center}.hero .bg-glyph{position:absolute;left:50%;top:-10px;transform:translate(-50%);font-family:var(--zh);font-size:min(60vw,360px);line-height:1;color:var(--accent);opacity:var(--glyph-op);pointer-events:none;user-select:none;font-weight:600;z-index:-1}.hero p{font-size:1.15rem;color:var(--muted);max-width:34em;margin:14px auto 0}@media(max-width:600px){.hero{padding-block:36px 12px}.hero p{font-size:1.05rem}}.list{background:var(--bg2);border-radius:var(--r);overflow:hidden}.row{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:13px 18px;border-top:1px solid var(--line);color:var(--ink);width:100%;text-align:left}.row:first-child{border-top:0}.row:hover{background:var(--bg3)}.row .g{width:44px;height:44px;border-radius:12px;background:var(--bg);color:var(--accent);display:grid;place-items:center;font-family:var(--zh);font-size:1.35rem}.row b{font-weight:600;letter-spacing:-.01em}.row b .zh{font-weight:500;color:var(--muted);font-size:.9em;margin-left:6px}.row span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:.875rem}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.hscroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding-inline:20px;padding-bottom:6px;scrollbar-width:none}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{flex:0 0 250px;scroll-snap-align:start}@media(min-width:720px){.hscroll{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;margin-inline:0;padding-inline:0}.hscroll>*{flex:auto}}.card{background:var(--bg2);border-radius:var(--r);padding:18px;display:grid;gap:8px;align-content:start;text-align:left;color:var(--ink)}a.card:hover{background:var(--bg3)}.card .g{font-family:var(--zh);font-size:2rem;line-height:1;color:var(--accent)}.card h3 .zh{font-weight:500;color:var(--muted);font-size:.9em;margin-left:6px}.card .meta{display:flex;gap:10px;color:var(--muted);font-size:.85rem;flex-wrap:wrap}.card p{color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.spice{color:var(--accent);letter-spacing:1px}.spice.none{color:var(--muted)}details.pane{background:var(--bg2);border-radius:var(--r);margin-top:10px}details.pane summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;font-weight:600;cursor:pointer}details.pane summary::-webkit-details-marker{display:none}details.pane summary:after{content:"+";color:var(--muted);font-size:1.3rem;font-weight:400;line-height:1}details.pane[open] summary:after{content:"–"}details.pane .body{padding:0 18px 18px;display:grid;gap:12px}.steps{margin:0;padding-left:20px;display:grid;gap:8px;font-size:.95rem}.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:.92rem;align-items:baseline}.kv b{font-size:1.1rem;color:var(--accent);font-variant-numeric:tabular-nums}.say{display:grid;gap:6px;background:var(--bg2);border-radius:14px;padding:14px;margin-top:8px}.say .zh{font-size:1.2rem}.say .py{font-style:italic;color:var(--muted);font-size:.9rem}.showcard{background:var(--ink);color:var(--bg);border-radius:14px;padding:16px;display:grid;gap:6px}.showcard .zh{font-size:1.25rem;line-height:1.45}.showcard .en{font-size:.85rem;opacity:.7}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:9px 14px;border-radius:999px;background:var(--bg2);font-size:.875rem;font-weight:600}.pill:hover{background:var(--bg3)}.page{padding-block:32px 48px;max-width:640px;margin:0 auto}.page.wide{max-width:980px}.crumbs{display:flex;gap:8px;color:var(--muted);font-size:.85rem;margin-bottom:22px;flex-wrap:wrap}.crumbs a:hover{color:var(--ink)}.page h1{font-size:clamp(1.8rem,4.5vw,2.6rem)}.page .dek{font-size:1.15rem;color:var(--muted);margin-top:14px}.page .meta{color:var(--muted);font-size:.85rem;margin-top:12px;display:flex;gap:12px;flex-wrap:wrap}.page h2{font-size:1.35rem;margin-top:36px;margin-bottom:10px}.page h3{margin-top:22px;margin-bottom:6px}.page p{margin-top:12px}.page ul,.page ol{margin:12px 0 0;padding-left:20px;display:grid;gap:8px}.page .grid{margin-top:14px}.callout{background:var(--bg2);border-radius:var(--r);padding:18px;margin-top:28px;display:grid;gap:8px}.callout b{display:block}.glyph-hero{font-family:var(--zh);font-size:3.2rem;line-height:1;color:var(--accent);font-weight:600;margin-bottom:12px}.checked{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.guides a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.guides a:first-child{border-top:0}.guides a:hover h3{color:var(--accent)}.guides span{color:var(--muted);font-size:.85rem;white-space:nowrap}.map{background:var(--bg2);border-radius:22px;padding:8px;position:relative}.map svg{width:100%;height:auto;display:block}.map .land{fill:var(--bg);stroke:var(--line);stroke-width:1.2}.map .river{fill:none;stroke:#8fb8c9;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.map .route{fill:none;stroke:var(--muted);stroke-width:1.4;stroke-dasharray:5 5;opacity:.6}.map .node circle{fill:var(--accent);stroke:var(--bg);stroke-width:3}.map .node text{font-family:var(--sans);font-size:15px;font-weight:600;fill:var(--ink)}.map .node .zhl{font-family:var(--zh);fill:var(--muted);font-size:12px;font-weight:500}.map .node .g{font-family:var(--zh);font-size:14px;fill:#fff;font-weight:600}.map .node:hover circle{r:16}.map .legend{position:absolute;left:18px;bottom:14px;font-size:.8rem;color:var(--muted)}.route-lines{display:grid;gap:8px;margin-top:14px}.route-line{display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;margin-inline:-20px;padding-inline:20px}.route-line::-webkit-scrollbar{display:none}.node-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 12px 9px 9px;border-radius:12px;background:var(--bg2);font-weight:600;white-space:nowrap;flex:none}.node-chip:hover{background:var(--bg3)}.node-chip .g{width:28px;height:28px;border-radius:8px;background:var(--bg);color:var(--accent);display:grid;place-items:center;font-family:var(--zh);font-size:.95rem}.node-chip small{color:var(--muted);font-weight:500;font-size:.75rem}.leg{position:relative;flex:1 0 64px;text-align:center;font-size:.72rem;color:var(--muted);padding-bottom:9px;white-space:nowrap}.leg:after{content:"";position:absolute;left:8px;right:8px;bottom:2px;border-top:1px solid var(--line)}footer{margin-top:72px;padding-block:28px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;display:grid;gap:14px}footer .links{display:flex;flex-wrap:wrap;gap:16px}footer a:hover{color:var(--ink)}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:96px;border-radius:12px;padding:10px;font-size:.75rem;background:var(--bg2)}.swatch i{display:block;height:44px;border-radius:8px;margin-bottom:6px}@media(prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}[hidden]{display:none!important}
