@font-face{font-family:PuHuiTi;src:url(/_astro/puhuiti-regular.Dh6uoFaN.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PuHuiTi;src:url(/_astro/puhuiti-bold.DEAu_h5b.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--page:#e3ebe4;--surface:#f4f7f3;--card:#fff;--footer:#e6f1ea;--ink:#1e2a23;--ink-2:#33403a;--muted:#4c5f56;--muted-2:#5d7065;--faint:#73877b;--line:#e6efe9;--line-2:#d3e0d6;--line-3:#dbe8e0;--accent:#2f8163;--accent-dark:#276b52;--accent-bg:#e8f2ec;--accent-line:#cbe6d7}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--surface);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:PuHuiTi,-apple-system,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.85}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}p,li{text-wrap:pretty}h1,h2,h3{text-wrap:balance}::selection{background:var(--accent-line)}.skip-link{z-index:20;background:var(--ink);color:var(--card);border-radius:999px;padding:9px 14px;font-weight:700;position:fixed;top:8px;left:12px;transform:translateY(-160%)}.skip-link:focus{color:var(--card);transform:translateY(0)}.wrap{width:100%;padding:0 clamp(20px,4vw,40px);padding-left:max(clamp(20px, 4vw, 40px), env(safe-area-inset-left));padding-right:max(clamp(20px, 4vw, 40px), env(safe-area-inset-right));margin:0 auto}.wrap-wide{max-width:940px}.wrap-narrow{max-width:720px}.site-header{background:var(--card);border-bottom:1px solid var(--line)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:15px;padding-bottom:15px;display:flex}.logo{color:var(--ink);align-items:center;gap:9px;display:flex;position:relative}.logo:after{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.logo:hover{color:var(--ink)}.logo-brand{letter-spacing:.14em;color:var(--accent);border:1px solid #bfe0cf;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.logo-name{font-size:19px;font-weight:700}.site-header nav{flex-wrap:wrap;gap:clamp(8px,2vw,22px);font-size:14.5px;display:flex}.site-header nav a{min-height:44px;color:var(--muted);align-items:center;display:inline-flex}.site-header nav a:hover,.site-header nav a.on{color:var(--accent)}.site-header nav a.on{text-underline-offset:7px;font-weight:700;text-decoration:underline 2px}main.wrap{padding-top:clamp(22px,3vw,30px);padding-bottom:clamp(44px,5vw,64px)}.site-footer{background:var(--footer);border-top:1px solid var(--line-3)}.site-footer .wrap{padding-top:clamp(26px,3.5vw,40px);padding-bottom:max(clamp(26px, 3.5vw, 40px), env(safe-area-inset-bottom))}.site-footer p{color:#47615a;margin:0;font-size:13.5px;line-height:1.8}.eyebrow{letter-spacing:.12em;color:var(--accent);margin:0;font-size:12px;font-weight:700}.crumb{color:var(--muted-2);margin:0 0 clamp(16px,2vw,20px);font-size:13.5px}.crumb a{padding:8px 0}.crumb .sep{color:var(--line-2)}.meta{color:var(--muted-2);border-bottom:1px solid var(--line-2);margin:0 0 clamp(26px,3vw,34px);padding-bottom:clamp(20px,2.5vw,28px);font-size:14px}.editor-note{background:var(--card);border-left:3px solid var(--accent);color:var(--muted);margin:0 0 clamp(24px,3vw,32px);padding:14px 16px}.editor-note strong{color:var(--ink);font-size:14px}.editor-note p{margin:5px 0 0;font-size:13.5px;line-height:1.75}.editor-note a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}h1{margin:12px 0 0;font-size:clamp(27px,3.6vw,40px);font-weight:700;line-height:1.28}h2{margin:0;font-size:clamp(18px,2.1vw,23px);font-weight:700;line-height:1.4}h3{margin:0;font-size:17px;font-weight:700}.lede{max-width:56ch;color:var(--muted);margin:18px 0 0;font-size:clamp(15.5px,1.6vw,18px);line-height:1.9}section{margin-top:clamp(30px,4vw,44px)}section:first-of-type{margin-top:0}.hero{padding-top:clamp(22px,3vw,46px)}.learning-path{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px;display:grid}.path-step{min-height:72px;color:var(--ink);background:var(--card);border:1px solid var(--accent-line);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:11px 13px;transition:border-color .16s,background-color .16s;display:grid}.path-step:hover{background:var(--accent-bg);color:var(--ink);border-color:#9fcab4}.path-step .n{background:var(--accent-bg);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-weight:700;display:grid}.path-step .copy{display:grid}.path-step .label{color:var(--muted-2);font-size:12px}.path-step .title{color:var(--ink);font-size:14px;font-weight:700}.list-head{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.list-head .count{color:var(--muted-2);font-size:13px}.post-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.post-card{background:var(--card);border:1px solid var(--line);border-radius:18px;align-items:flex-start;gap:clamp(14px,2vw,20px);padding:clamp(18px,2.4vw,24px);transition:transform .16s,box-shadow .16s;display:flex}.post-card:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 16px 30px -18px #23503c47}.badge{background:var(--accent-bg);width:38px;height:38px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.post-card .body{min-width:0}.post-card .t{color:var(--ink);font-size:clamp(17px,1.9vw,20px);font-weight:700;line-height:1.4;display:block}.post-card .d{color:var(--muted);margin-top:8px;font-size:14.5px;line-height:1.75;display:block}.post-card .go{color:var(--accent);margin-top:12px;font-size:13.5px;font-weight:700;display:inline-block}.sec{margin-bottom:clamp(28px,3.5vw,40px)}.sec-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.sec-head .n{background:var(--accent-bg);width:30px;height:30px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.sec p{color:var(--ink-2);max-width:64ch;margin:0 0 14px;font-size:clamp(15.5px,1.6vw,17px);line-height:1.95}.sources{border-top:1px solid var(--line-2);padding-top:24px}.sources p,.sources li{color:var(--muted);font-size:14px}.sources ul{margin:10px 0 0;padding-left:20px}.cross{margin-top:32px}.cross ul{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.cross li{background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:14px 16px}.cross a{font-weight:700}.cross p{color:var(--muted);margin:6px 0 0;font-size:13.5px;line-height:1.7}.cross-site{color:var(--muted);border:1px solid var(--line-2);border-radius:4px;margin-left:8px;padding:1px 7px;font-size:11.5px}.station-list{gap:12px;margin:0 0 clamp(22px,2.5vw,28px);padding:0;list-style:none;display:grid}.station-list li{background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px}.station-list a{font-weight:700}.station-role{color:var(--muted);margin-top:4px;font-size:13.5px;line-height:1.7;display:block}.body-text{color:var(--ink-2);margin:0 0 clamp(22px,2.5vw,28px);font-size:clamp(15.5px,1.6vw,17px);line-height:1.95}.try-box{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-top:clamp(20px,3vw,30px);padding:clamp(20px,2.6vw,26px)}.try-box .t{color:var(--ink);font-size:17px;font-weight:700}.try-box p{color:var(--muted);margin:8px 0 0;font-size:15px;line-height:1.8}.try-btn{background:var(--accent);color:#fff;border-radius:999px;align-items:center;min-height:44px;margin-top:14px;padding:10px 24px;font-size:15px;font-weight:700;transition:background-color .16s,scale .12s;display:inline-flex}.try-btn:hover{background:var(--accent-dark);color:#fff}.try-btn:active{scale:.97}.next-head{margin:clamp(30px,4vw,40px) 0 14px}@media (width<=600px){.site-header .wrap{flex-wrap:nowrap;align-items:center;padding-top:10px;padding-bottom:10px}.site-header nav{scrollbar-width:none;flex-wrap:nowrap;flex:1;justify-content:flex-end;overflow-x:auto}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a{flex:none}.learning-path{grid-template-columns:1fr 1fr}.post-card{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}
