.article-layout{max-width:1180px;margin:0 auto;padding:clamp(34px,6vw,76px) clamp(18px,5vw,72px)}.article-body{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);padding:clamp(24px,5vw,64px)}.article-body h1{font-size:clamp(2.35rem,6vw,4.8rem);line-height:1.02;margin:0 0 28px}.article-body h2{font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.15;margin:52px 0 16px}.article-body p,.article-body li{color:#455149;font-size:1.04rem}.article-body p{max-width:72ch}.article-body li+li{margin-top:9px}.article-body figure{margin:34px 0}.article-body figure img{width:100%;height:auto;border:1px solid var(--line);background:#f4f6f2}.article-caption{font-size:.9rem!important;color:var(--muted)!important}.article-table{overflow-x:auto;margin:26px 0}.article-table table{width:100%;border-collapse:collapse;font-size:.94rem}.article-table th,.article-table td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.article-table th{background:var(--moss)}.article-body a{color:var(--leaf);font-weight:700}@media(max-width:860px){.article-header{position:static;top:auto;align-items:flex-start;flex-direction:column}.article-header .site-nav{display:flex;position:static;flex-direction:row;overflow-x:auto;border:0;padding:0;background:transparent;width:100%;white-space:nowrap}.article-layout{padding:18px 12px}.article-body{padding:24px 18px}}
.optin{margin:44px 0 8px;border:1px solid var(--line);background:var(--moss);padding:clamp(20px,4vw,32px)}
.optin h2{margin:0 0 10px!important;font-size:clamp(1.3rem,2.4vw,1.75rem)!important}
.optin p{margin:0 0 16px;max-width:60ch}
.optin form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.optin input[type=email]{flex:1 1 15rem;min-width:0;font:inherit;font-size:1rem;padding:12px 14px;border:1px solid var(--line);background:#fff;color:#2f3a32}
.optin input[type=email]:focus-visible{outline:2px solid var(--leaf);outline-offset:1px}
.optin button{font:inherit;font-size:1rem;font-weight:700;padding:12px 24px;border:0;background:#2f3a32;color:#fff;cursor:pointer}
.optin button:hover{background:#3f4f42}
.optin button:disabled{opacity:.55;cursor:default}
.optin button:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
.optin .fine{font-size:.86rem;color:var(--muted);margin:12px 0 0}
.optin .msg{margin:14px 0 0;font-weight:700;display:none}
.optin .msg.show{display:block}
.optin .msg.bad{color:#8a3b2f}
.optin .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.article-hero{margin:0 0 26px}
.article-hero img{width:100%;height:auto;display:block;border:1px solid var(--line);background:#f4f6f2;aspect-ratio:3/2;object-fit:cover}
.article-hero figcaption{font-size:.86rem;color:var(--muted);margin-top:8px}
.article-summary{border-left:3px solid var(--leaf);background:var(--moss);padding:18px 22px;margin:0 0 30px}
.article-summary p{margin:0;max-width:62ch;font-size:1.06rem}
.article-summary b{color:#2f3a32}
@media(max-width:860px){.article-summary{padding:15px 17px}}
/* 文章页在窄屏已直接展开导航（见上方 .article-header .site-nav），
   所以那颗 Menu 按钮点了也没作用，只是白占首屏 ~90px。隐藏它。 */
@media(max-width:860px){.article-header .nav-toggle{display:none}}
.worksheet-cta{margin:44px 0 8px;border:1px solid var(--line);background:var(--moss);padding:clamp(20px,4vw,32px)}
.worksheet-cta h2{margin:0 0 10px!important;font-size:clamp(1.3rem,2.4vw,1.75rem)!important}
.worksheet-cta p{margin:0 0 16px;max-width:60ch}
.worksheet-cta p:last-child{margin:0}
a.worksheet-link{display:inline-block;background:#2f3a32;color:#fff!important;font-weight:700;
  padding:13px 26px;text-decoration:none;font-size:1.02rem}
a.worksheet-link:hover{background:#3f4f42}
a.worksheet-link:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}

.picks{margin:44px 0;border:1px solid var(--line);border-top:3px solid var(--leaf);background:var(--paper);padding:clamp(20px,4vw,32px)}
.picks h2{margin:0 0 12px!important;font-size:clamp(1.3rem,2.4vw,1.75rem)!important}
.picks>p{max-width:62ch}
.pick{margin:26px 0;padding-left:16px;border-left:3px solid var(--moss)}
.pick p{max-width:62ch}
.pick-when{margin:0 0 8px;font-weight:700;color:var(--ink)}
a.pick-link{display:inline-block;margin-top:2px;color:var(--leaf);font-weight:700;
  text-decoration:underline;text-underline-offset:3px}
a.pick-link:hover{color:#245640}
a.pick-link:focus-visible{outline:2px solid var(--leaf);outline-offset:3px}
.pick-note{margin:22px 0 0;font-size:.94rem;color:var(--muted);max-width:62ch}
