:root{--bg:#f7f5f0;--fg:#16161a;--muted:#6b6b76;--accent:#c8861a;--line:#e2ded4;--card:#ffffff;--base:15px;--ratio:1.28;--lh:1.62;--hw:600;--ls:0px;--radius:0px;--bw:1px;--shadow:none;--cols:3;--gap:22px;--pad:20px;--imgr:16/10;}

*{box-sizing:border-box}
body.mg-body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system, 'Segoe UI', 'Noto Sans SC', 'Microsoft YaHei', sans-serif;font-size:var(--base);line-height:var(--lh)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.mg-masthead{max-width:960px;margin:0 auto;padding:calc(var(--pad)*1.6) var(--pad) var(--pad);text-align:center}
.mg-kicker{margin:0 0 6px;color:var(--accent);font-size:max(12px,calc(var(--base)*.76));letter-spacing:var(--ls)}
.mg-title{display:block;font-size:calc(var(--base)*var(--ratio)*var(--ratio)*1.5);font-weight:600;letter-spacing:var(--ls);text-transform:none}
.mg-nav{margin-top:10px;color:var(--muted);font-size:max(12px,calc(var(--base)*.84))}
.mg-nav a:hover{color:var(--accent)}
.mg-dot{margin:0 8px;color:var(--line)}
.mg-issue{margin:10px 0 0;color:var(--muted);font-size:max(12px,calc(var(--base)*.74));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0}
.mg-main{max-width:760px;margin:0 auto;padding:calc(var(--pad)*1.4) var(--pad) calc(var(--pad)*3)}
h1{font-size:calc(var(--base)*var(--ratio)*1.5);font-weight:600;margin:0 0 10px;line-height:1.25}
.mg-feature{margin:0 0 calc(var(--pad)*1.5)}
.mg-feature img{aspect-ratio:var(--imgr);object-fit:cover;border-radius:var(--radius)}
.mg-feature h3{font-size:calc(var(--base)*var(--ratio)*1.05);margin:12px 0 4px;font-weight:600}
.mg-deck{margin:0;color:var(--muted)}
.mg-note{border-left:3px solid var(--accent);padding:4px 0 4px 14px;margin:calc(var(--pad)*1.2) 0;color:var(--muted)}
.mg-list{counter-reset:mg;list-style:none;margin:0;padding:0}
.mg-list li{counter-increment:mg;padding:10px 0 10px 44px;position:relative;border-bottom:1px solid var(--line)}
.mg-list li:before{content:counter(mg,decimal-leading-zero);position:absolute;left:0;top:10px;color:var(--accent);font-weight:700;font-size:max(12px,calc(var(--base)*.86))}
.mg-ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin:calc(var(--pad)*1.3) 0;color:var(--muted);font-size:max(12px,calc(var(--base)*.84))}
.mg-ribbon a{margin-right:10px;white-space:nowrap}
.mg-stream{list-style:none;margin:0;padding:0}
.mg-stream-it{display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px dotted var(--line)}
.mg-stream-it time{color:var(--muted);font-size:max(12px,calc(var(--base)*.74))}
.mg-stream-it em{font-style:normal;color:var(--muted);font-size:max(12px,calc(var(--base)*.74))}
.mg-article img.mg-hero{aspect-ratio:var(--imgr);object-fit:cover;border-radius:var(--radius);margin:0 0 16px}
.mg-facts{margin:0 0 16px;color:var(--muted);font-size:max(12px,calc(var(--base)*.84));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.mg-facts b{color:var(--fg);font-weight:600}
.mg-body-copy p{margin:0 0 14px}
.mg-pull{border-left:3px solid var(--line);padding-left:14px;color:var(--muted)}
.mg-nextprev{display:flex;justify-content:space-between;gap:12px;margin-top:calc(var(--pad)*1.6);border-top:1px solid var(--line);padding-top:12px;font-size:max(12px,calc(var(--base)*.86))}
.mg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
.mg-grid article img{aspect-ratio:var(--imgr);object-fit:cover;border-radius:var(--radius)}
.mg-grid h3{font-size:max(12px,calc(var(--base)*.95));margin:8px 0 0;font-weight:600}
.mg-colophon{max-width:960px;margin:0 auto;padding:calc(var(--pad)*1.6) var(--pad) calc(var(--pad)*2.4);text-align:center;color:var(--muted);border-top:1px solid var(--line);font-size:max(12px,calc(var(--base)*.8))}
.mg-small{font-size:max(12px,calc(var(--base)*.72))}
@media(max-width:700px){.mg-grid{grid-template-columns:1fr}.mg-stream-it{grid-template-columns:1fr;gap:2px}}


@media(max-width:700px){
.mg-nav a{display:inline-block;padding:10px 8px}
.mg-ribbon a{display:inline-block;padding:7px 6px;margin:0 6px 0 0}
.mg-stream-it a{display:inline-block;padding:10px 0}
.mg-list li a{display:inline-block;padding:10px 0}
.mg-list li{padding:12px 0 12px 44px}
.mg-title{font-size:calc(var(--base)*1.7);line-height:1.25}
h1{font-size:calc(var(--base)*1.35)}
.mg-masthead{padding:calc(var(--pad)*1.1) var(--pad) var(--pad)}
.mg-nav{margin-top:8px}
}
