:root{
  --y-bg:#f3f5f2;--y-paper:#fbfcfa;--y-ink:#0b1712;--y-muted:#66736c;--y-line:#dbe2dc;
  --y-green:#123f2d;--y-mint:#bbf7d0;--y-acid:#dfff4f;--y-blue:#dbeafe;--y-violet:#eee7ff;
  --y-orange:#ffe7cd;--y-shadow:0 18px 60px rgba(15,40,28,.08);--y-max:1360px;--y-r:24px;
}
*{box-sizing:border-box}body.y-site{margin:0;background:var(--y-bg);color:var(--y-ink);font-family:Inter,"Noto Sans SC","PingFang SC",system-ui,sans-serif}
body.y-site a{color:inherit;text-decoration:none}.y-wrap{width:min(var(--y-max),calc(100% - 52px));margin:auto}.y-mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
.y-nav{position:sticky;top:0;z-index:70;background:rgba(243,245,242,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(11,23,18,.08)}
.y-nav-in{height:70px;display:flex;align-items:center;gap:24px}.y-brand{font-weight:900;font-size:22px;letter-spacing:-.05em}.y-brand span{color:#1c7c54}.y-navlinks{display:flex;gap:26px;margin-left:20px;font-size:13px;font-weight:700;color:#415048}.y-navlinks a.active,.y-navlinks a:hover{color:#0c6b45}.y-search{margin-left:auto;border:1px solid var(--y-line);background:rgba(255,255,255,.75);border-radius:999px;padding:10px 14px;color:#6c7771;font-size:12px;min-width:220px}.y-nav-cta{background:var(--y-ink);color:white!important;border-radius:999px;padding:10px 15px;font-weight:800;font-size:12px}
.y-hero{padding:70px 0 42px}.y-kicker{font:700 11px/1.2 "SFMono-Regular",monospace;letter-spacing:.13em;text-transform:uppercase;color:#748078}.y-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;margin-top:18px}.y-hero-main{background:linear-gradient(140deg,#0d261b,#123f2d 62%,#22533d);color:#f7fff9;border-radius:34px;padding:48px;min-height:460px;position:relative;overflow:hidden}.y-hero-main:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(223,255,79,.3);border-radius:50%;right:-70px;top:-100px;box-shadow:0 0 0 60px rgba(223,255,79,.035),0 0 0 120px rgba(223,255,79,.02)}.y-hero-main h1{font-size:clamp(48px,6.3vw,88px);line-height:.96;letter-spacing:-.065em;max-width:850px;margin:22px 0 24px;position:relative;z-index:2}.y-hero-main p{font-size:18px;line-height:1.75;color:#bfd0c6;max-width:730px;position:relative;z-index:2}.y-hero-actions{display:flex;gap:10px;margin-top:30px;position:relative;z-index:2}.y-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 18px;font-size:13px;font-weight:800;border:1px solid rgba(255,255,255,.18)}.y-btn.acid{background:var(--y-acid);color:#152218;border-color:var(--y-acid)}.y-btn.ghost{color:#eefbf2;background:rgba(255,255,255,.05)}
.y-hero-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}.y-side-card{background:var(--y-paper);border:1px solid var(--y-line);border-radius:28px;padding:26px;display:flex;flex-direction:column;min-height:220px}.y-side-card .value{font-size:45px;font-weight:900;letter-spacing:-.06em;margin:22px 0 6px}.y-side-card p{color:var(--y-muted);line-height:1.55;margin:0}.y-side-card:last-child{background:var(--y-acid);border-color:#d4f33e}.y-side-card:last-child p{color:#33402f}
.y-section{padding:72px 0}.y-section.white{background:#fff}.y-section-head{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-bottom:30px}.y-section-head h2{font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.055em;margin:10px 0 0}.y-section-head p{color:var(--y-muted);max-width:470px;line-height:1.7;margin:0}.y-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.y-tab{border:1px solid var(--y-line);background:#fff;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;color:#526058;cursor:pointer}.y-tab.active{background:var(--y-ink);color:#fff;border-color:var(--y-ink)}
.y-feed{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.y-story-lead,.y-story{border:1px solid var(--y-line);background:var(--y-paper);border-radius:24px;padding:28px}.y-story-lead{min-height:380px}.y-story-meta{display:flex;gap:8px;align-items:center;font:700 10px "SFMono-Regular",monospace;color:#738078;letter-spacing:.08em}.y-pill{padding:5px 8px;border-radius:999px;background:#edf1ed;color:#506056}.y-story-lead h3{font-size:36px;line-height:1.12;letter-spacing:-.04em;margin:22px 0 14px}.y-story-lead p,.y-story p{color:var(--y-muted);line-height:1.7}.y-story-list{display:grid;gap:16px}.y-story h3{font-size:20px;line-height:1.35;margin:15px 0 8px}.y-story:hover,.y-field-card:hover{transform:translateY(-2px);box-shadow:var(--y-shadow);transition:.2s}
.y-landscape{background:#0e1713;color:#eaf4ee;border-radius:32px;padding:30px;overflow:hidden}.y-landscape-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.y-landscape-toolbar button{background:#17241e;color:#aebbb3;border:1px solid #2b3932;border-radius:999px;padding:8px 12px;font-size:11px;cursor:pointer}.y-landscape-toolbar button.active{background:var(--y-acid);color:#172017;border-color:var(--y-acid);font-weight:800}.y-map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.y-map-col{border:1px solid #2d3b34;border-radius:18px;padding:15px;background:#121d18}.y-map-col h4{margin:0 0 12px;font-size:13px;color:#b9c7bf}.y-node{padding:12px;border-radius:13px;margin:8px 0;background:#192720;border:1px solid #2f4037;cursor:pointer}.y-node b{display:block;font-size:13px}.y-node small{color:#839188;line-height:1.4}.y-node.hot{border-color:#a8c332;background:#1d2a1f}.y-node.active{outline:2px solid var(--y-acid)}.y-node-detail{margin-top:16px;border-top:1px solid #2d3b34;padding-top:18px;color:#b8c5bd;display:flex;justify-content:space-between;gap:20px}.y-node-detail strong{color:#fff}.y-node-detail span{max-width:760px;font-size:13px;line-height:1.6}
.y-field-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.y-field-card{border-radius:23px;padding:24px;min-height:245px;border:1px solid rgba(11,23,18,.08);display:flex;flex-direction:column}.y-field-card:nth-child(1){background:var(--y-blue)}.y-field-card:nth-child(2){background:var(--y-violet)}.y-field-card:nth-child(3){background:#dbf5e5}.y-field-card:nth-child(4){background:var(--y-orange)}.y-field-card .num{font:700 11px "SFMono-Regular",monospace;color:#65716b}.y-field-card h3{font-size:25px;letter-spacing:-.03em;margin:38px 0 10px}.y-field-card p{font-size:14px;line-height:1.6;color:#536058}.y-field-card .link{margin-top:auto;font-weight:800;font-size:12px}
.y-page-hero{padding:58px 0 36px}.y-page-hero h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.06em;margin:15px 0 20px;max-width:980px}.y-page-hero p{font-size:18px;line-height:1.7;color:var(--y-muted);max-width:760px}.y-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 30px}.y-filterbar a{border:1px solid var(--y-line);background:#fff;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:750}.y-filterbar a.active{background:var(--y-ink);color:#fff}
.y-article-shell{display:grid;grid-template-columns:250px minmax(0,760px) 260px;gap:34px;align-items:start}.y-toc,.y-ai-rail{position:sticky;top:92px}.y-toc{font-size:12px;color:#758178}.y-toc strong{display:block;color:#27352e;margin-bottom:12px}.y-toc a{display:block;padding:8px 0;border-left:2px solid var(--y-line);padding-left:12px;line-height:1.35}.y-toc a.active{border-color:#1a8055;color:#0c6b45;font-weight:800}.y-reading-progress{height:3px;background:#dce5df;position:fixed;top:69px;left:0;right:0;z-index:71}.y-reading-progress i{display:block;height:100%;background:#1b7e53;width:0%}.y-article{background:#fff;border:1px solid var(--y-line);border-radius:28px;padding:42px}.y-article h1{font-size:46px;line-height:1.05;letter-spacing:-.05em;margin:12px 0 18px}.y-article .dek{font-size:19px;line-height:1.65;color:#58665e}.y-article .article-meta{font-size:12px;color:#7d8a82;margin:20px 0 30px}.y-article h2{font-size:30px;letter-spacing:-.035em;margin:48px 0 16px;scroll-margin-top:110px}.y-article h3{font-size:21px;margin:30px 0 10px;scroll-margin-top:110px}.y-article p,.y-article li{font-size:16px;line-height:1.82;color:#334039}.y-article blockquote{margin:28px 0;padding:20px 22px;border-left:3px solid #2e8c61;background:#f1f7f3;color:#34453b;border-radius:0 14px 14px 0}.y-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.y-evidence div{background:#f4f7f4;border:1px solid #e0e7e2;border-radius:16px;padding:16px}.y-evidence b{font-size:25px;display:block;letter-spacing:-.04em}.y-evidence small{color:#768079;line-height:1.45}.y-interactive{border-radius:22px;background:#101a15;color:#e6f1ea;padding:24px;margin:30px 0}.y-interactive .bar{height:14px;border-radius:999px;background:#26342d;overflow:hidden;display:flex;margin:18px 0}.y-interactive .reuse{background:#b6e64a}.y-interactive .new{background:#5fa3ff}.y-interactive input{width:100%;accent-color:#b6e64a}.y-interactive .numbers{display:flex;justify-content:space-between;font:700 11px "SFMono-Regular",monospace;color:#aebbb3}.y-ai-card{border:1px solid #cde5d4;background:#f5fbf7;border-radius:20px;padding:20px}.y-ai-card .ai-title{font:800 11px "SFMono-Regular",monospace;color:#31704f;letter-spacing:.08em}.y-ai-card h3{font-size:18px;margin:12px 0 14px}.y-ai-card dl{margin:0}.y-ai-card dt{font-size:11px;font-weight:850;color:#6b776f;margin-top:14px}.y-ai-card dd{margin:5px 0 0;font-size:13px;line-height:1.55;color:#324039}.y-ai-card .ai-note{margin-top:16px;padding-top:12px;border-top:1px solid #d9e9de;font-size:10px;color:#7c8b82}.y-related{margin-top:18px;border:1px solid var(--y-line);border-radius:18px;padding:16px;background:#fff}.y-related strong{font-size:12px}.y-related a{display:block;font-size:12px;line-height:1.4;padding:9px 0;border-top:1px solid #edf0ed;margin-top:8px}
.y-footer{padding:36px 0;border-top:1px solid var(--y-line);font-size:12px;color:#718078}.y-footer-in{display:flex;justify-content:space-between;gap:30px}
@media(max-width:1050px){.y-article-shell{grid-template-columns:210px minmax(0,1fr)}.y-ai-rail{grid-column:2;position:static}.y-field-grid{grid-template-columns:1fr 1fr}.y-map-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.y-wrap{width:min(100% - 28px,var(--y-max))}.y-nav-in{height:62px}.y-navlinks,.y-search{display:none}.y-nav-cta{margin-left:auto}.y-hero{padding-top:36px}.y-hero-grid,.y-feed{grid-template-columns:1fr}.y-hero-main{padding:30px;min-height:410px}.y-hero-side{grid-template-columns:1fr 1fr;grid-template-rows:none}.y-side-card{min-height:190px;padding:20px}.y-section{padding:54px 0}.y-section-head{display:block}.y-section-head p{margin-top:16px}.y-field-grid,.y-map-grid{grid-template-columns:1fr}.y-article-shell{display:block}.y-toc{position:static;display:flex;gap:10px;overflow:auto;margin:0 0 14px}.y-toc strong{display:none}.y-toc a{border-left:0;border-bottom:2px solid var(--y-line);padding:8px 3px;white-space:nowrap}.y-article{padding:26px 20px}.y-article h1{font-size:37px}.y-evidence{grid-template-columns:1fr}.y-ai-rail{margin-top:16px}.y-reading-progress{top:61px}.y-footer-in{display:block}.y-footer-in div+div{margin-top:8px}}

/* ==== Y 站文章搜索弹层（spec：第一阶段关键词搜索） ==== */
.search-pop{position:fixed;top:12%;left:50%;transform:translateX(-50%);width:min(620px,calc(100% - 32px));background:var(--y-paper);border:1px solid var(--y-line);border-radius:var(--y-r);box-shadow:var(--y-shadow);padding:22px;display:none;z-index:99}
.search-pop.open{display:block}
.search-pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.search-pop-title{font:800 12px "SFMono-Regular",monospace;letter-spacing:.08em;color:#31704f;text-transform:uppercase}.search-pop-close{border:1px solid var(--y-line);background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer;color:var(--y-muted)}
.search-pop-field{width:100%;border:1px solid var(--y-line);background:#fff;border-radius:999px;padding:12px 16px;font-size:14px;color:var(--y-ink);outline:none}.search-pop-field:focus{border-color:#1a8055;box-shadow:0 0 0 3px rgba(26,128,85,.12)}
.search-count{font:700 11px "SFMono-Regular",monospace;color:var(--y-muted);margin:12px 0 8px}
.search-results{display:grid;gap:8px;max-height:360px;overflow:auto}.search-result{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--y-line);background:#fff;border-radius:16px;padding:12px;text-decoration:none}
.search-result:hover{border-color:#1a8055;box-shadow:var(--y-shadow)}
.search-cover{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0}
.search-title{display:block;font-weight:800;font-size:15px;letter-spacing:-.02em;color:var(--y-ink);line-height:1.3}
.search-snippet{display:block;font-size:12px;color:var(--y-muted);line-height:1.5;margin-top:2px}
.search-meta{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.search-empty{display:none;border:1px dashed var(--y-line);border-radius:16px;padding:16px;font-size:13px;color:var(--y-muted)}
.search-tag{border:1px solid var(--y-line);background:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;cursor:pointer}
.search-tag:hover{background:var(--y-ink);color:#fff}
@media(max-width:760px){.search-pop{top:6%;width:calc(100% - 20px);padding:16px}.search-results{max-height:280px}}

/* ---- 文章配图：与正文栏宽自适应对齐（图不越栏、随栏宽缩放） ---- */
.y-article figure{margin:30px 0}
.y-article figure img{display:block;box-sizing:border-box;width:100%;max-width:100%;height:auto;border:1px solid var(--y-line);border-radius:14px;cursor:zoom-in}
.y-article figcaption{margin-top:10px;font-size:12.5px;color:#758178;text-align:center;line-height:1.5}

/* ---- Lightbox：全屏看图（单击开 / ESC·再点关 / 左右切换） ---- */
.y-lightbox{position:fixed;inset:0;z-index:200;background:rgba(8,14,11,.94);display:none;align-items:center;justify-content:center}
.y-lightbox.open{display:flex}
.y-lightbox>img{max-width:94vw;max-height:86vh;width:auto;height:auto;border-radius:8px;cursor:zoom-out;user-select:none;-webkit-user-drag:none;box-shadow:0 20px 80px rgba(0,0,0,.5)}
.y-lb-caption{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#cfe0d5;font-size:13px;line-height:1.5;padding:0 48px;pointer-events:none}
.y-lb-btn{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:44px;height:44px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.y-lb-btn:hover{background:rgba(255,255,255,.28)}
.y-lb-close{top:18px;right:20px;font-size:20px}
.y-lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.y-lb-next{right:18px;top:50%;transform:translateY(-50%)}
.y-lb-count{position:absolute;top:28px;left:24px;color:#9fb5a8;font:700 12px "SFMono-Regular",monospace;letter-spacing:.08em;pointer-events:none}
@media(max-width:760px){
  .y-lightbox>img{max-width:100vw;max-height:78vh}
  .y-lb-prev{left:8px}.y-lb-next{right:8px}
  .y-lb-btn{width:38px;height:38px;background:rgba(255,255,255,.18)}
  .y-lb-count{top:18px;left:14px}
  .y-lb-caption{font-size:12px;padding:0 40px}
}
/* ---- 双语语言块（2026-09-14，规范见 design/spec.md §20）----
 * 只对「非当前语言」的块施加 display:none，当前语言块保持自身自然 display
 * （.y-story-meta 要继续是 flex，h1/dek 里的 span 要继续是 inline），
 * 所以绝不能反过来写 display:revert —— 那会把类里的 flex/inline 冲掉。
 * <html lang> 由 md2html 注入的 head 内联脚本在首帧前设好，不会闪现中文。 */
html[lang="zh-CN"] [data-lang-block="en"]{display:none}
html[lang="en"] [data-lang-block="zh-CN"]{display:none}
/* ---- 导航中英切换器（2026-09-14，替换原 y-nav-cta；视觉对齐 .y-search 胶囊） ---- */
.y-lang{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--y-line);background:rgba(255,255,255,.75);border-radius:999px;flex:0 0 auto}
.y-lang button{border:0;background:transparent;padding:7px 10px;border-radius:999px;font:700 11px "DM Mono",ui-monospace,monospace;color:#6c7771;cursor:pointer;line-height:1}
.y-lang button.active{background:var(--y-ink);color:#fff}
.y-lang button:focus-visible{outline:2px solid var(--y-ink);outline-offset:1px}
@media(max-width:900px){.y-lang button{padding:6px 8px;font-size:10px}}
