/* Scoped from issue/article.html by scripts/wechat/extract.mjs. */

/* 北极甜虾公众号 · “玩物有理”系列样式（第 16 期起）
   360px 宽排版，导出时放大 3 倍成 1080px。配合 _工具/play.py 使用：
     html = assemble(body, title, katex_css() + font_css(body) + extra_css, base="base_play.css")
   配色 P1（白纸 · 朱红）：白底、墨字，朱红是唯一的强调色；--teal 在本系列是墨灰（Z 方块的颜色）。
   字体：思源宋体（正文、定理、图注、署名）；思源黑体（标签，SiyuanHei，由 font_css() 内嵌）；
         得意黑（只用于大标题和节标题，SmileySans，由 font_css() 内嵌）。公式仍用 KaTeX。
   五档字号：44 / 24 / 16.5 / 15 / 14。分层靠底色深浅，不用边框线、阴影、光晕；不用节号、英文小标签、眉题短线。
   署名“北极甜虾（剑心犹在！）”用思源宋体。旧模版的类名都还能用（.sec-no、.sec-en、.hd-top、.hd-wm、.topbar 会被隐藏）。 */
.wx{
  --paper:#FFFFFF; --tone:#F1F0EE; --tone2:#E6E4E0; --ink:#121212; --ink2:#4D4B48;
  --red:#D23A1F; --teal:#3B3B3B; --hl:rgba(210,58,31,.14);
  --serif:"Noto Serif CJK SC","Songti SC",serif; --head:"SiyuanHei wx260abd","Noto Sans CJK SC","PingFang SC",sans-serif;
  --display:"SmileySans wx260abd","SiyuanHei wx260abd","PingFang SC",sans-serif;
}
.wx,.wx{margin:0;padding:0;background:var(--paper);}
.wx{margin:0;}
.wx .wx-page{width:360px;margin:0 auto;background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;position:relative;}
.wx .wrap{padding:0 20px;}
.wx p{font-size:16.5px;line-height:1.95;letter-spacing:.2px;margin:0 0 18px;text-align:left;}
.wx strong{font-weight:700;color:var(--ink);background:linear-gradient(transparent 62%, var(--hl) 62%);padding:0 1px;}
.wx .en,.wx .lat{font-style:normal;letter-spacing:0;}

/* 刊头：系列名、标题、副题、导语、署名 */
.wx .topbar,.wx .hd-top,.wx .hd-wm{display:none;}
.wx .hd{padding:30px 20px 6px;}
.wx .kicker{font-family:var(--head);font-weight:700;font-size:14px;color:var(--red);}
.wx h1{font-family:var(--display);font-weight:400;font-size:44px;line-height:1.1;letter-spacing:0;margin:14px 0 12px;color:var(--ink);}
.wx .h1sub{font-family:var(--head);font-weight:200;font-size:24px;line-height:1.3;color:var(--ink);}
.wx .lede{margin-top:24px;font-size:16.5px;line-height:1.95;color:var(--ink);}
.wx .byline{margin-top:14px;font-size:14px;color:var(--ink2);display:flex;align-items:center;gap:8px;}
.wx .byline .dot{display:none;}
.wx .byline b{font-weight:700;color:var(--ink);}

/* 图：底色块，方角，不描边；图注左对齐 */
.wx .fig{margin:26px 0 28px;}
.wx .card{background:var(--tone);padding:16px 14px;}
.wx .fig svg{display:block;}
.wx figcaption{font-size:14px;line-height:1.75;color:var(--ink2);text-align:left;margin-top:10px;}
.wx figcaption .num{font-family:var(--head);font-weight:700;color:var(--red);margin-right:6px;}

/* 节标题：只有一行兰亭黑，靠上方留白分节 */
.wx .sec{margin:56px 0 18px;}
.wx .sec-no,.wx .sec-en{display:none;}
.wx h2{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.3;letter-spacing:0;margin:0;color:var(--ink);}
.wx .h3{font-family:var(--head);font-weight:900;font-size:16.5px;line-height:1.5;margin:30px 0 12px;color:var(--ink);}

/* 定理、引理、证明 */
.wx .thm{margin:24px 0 14px;background:var(--tone);padding:14px 16px 6px;}
.wx .thm-h{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;flex-wrap:wrap;}
.wx .thm-h b{font-family:var(--head);font-weight:900;font-size:16.5px;color:var(--red);}
.wx .thm.cor .thm-h b{color:var(--teal);}
.wx .thm-h span{font-family:var(--head);font-weight:700;font-size:16.5px;color:var(--ink);}
.wx .thm p{font-size:16.5px;line-height:1.9;margin:0 0 8px;}
.wx .pf{margin:0 0 20px;}
.wx .pf p{font-size:15px;line-height:1.9;margin:0 0 8px;color:var(--ink2);}
.wx .pf-t{font-family:var(--head);font-weight:700;color:var(--ink);margin-right:6px;}
.wx .qed{float:right;color:var(--ink);margin-left:6px;}

/* 引文、金句、留言、方法框、观点 */
.wx .q{margin:4px 0 20px;padding:14px 16px 12px;background:var(--tone);font-size:16.5px;line-height:1.85;color:var(--ink);}
.wx .q .src{display:block;margin-top:6px;font-size:14px;color:var(--ink2);}
.wx .q .src::before{content:"—— ";}
.wx .pq{margin:30px 0;padding:22px 18px 20px;background:var(--tone);font-family:var(--head);font-weight:900;font-size:24px;line-height:1.35;letter-spacing:-.01em;color:var(--ink);text-align:left;}
.wx .pq .qm{display:none;}
.wx .ask{margin:28px 0 8px;background:var(--tone);padding:14px 16px 4px;}
.wx .ask-t{font-family:var(--head);font-weight:700;font-size:14px;color:var(--red);margin-bottom:6px;}
.wx .ask p{font-size:15px;line-height:1.85;margin-bottom:12px;}
.wx .tip{margin:24px 0 26px;background:var(--tone);padding:14px 16px 6px;}
.wx .tip-t{font-family:var(--head);font-weight:700;font-size:14px;color:var(--red);margin-bottom:8px;}
.wx .tip ol{margin:0 0 8px;padding-left:20px;}
.wx .tip li{font-size:15px;line-height:1.85;margin-bottom:6px;}
.wx .view{margin:0 0 20px;padding:12px 16px 4px;background:var(--tone);}
.wx .view h4{margin:0 0 8px;font-family:var(--head);font-weight:900;font-size:16.5px;line-height:1.5;color:var(--ink);}
.wx .view p{margin-bottom:8px;}
.wx .rows .row{display:flex;gap:12px;align-items:center;padding:10px 0;}
.wx .rows svg{flex:none;}
.wx .rows .t b{display:block;font-family:var(--head);font-weight:700;font-size:15px;color:var(--ink);margin-bottom:2px;}
.wx .rows .t span{display:block;font-size:14px;color:var(--ink2);line-height:1.7;}

/* 数字卡、时间线 */
.wx .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 24px;}
.wx .stats div{background:var(--tone);padding:12px 6px 10px;}
.wx .stats b{display:block;font-family:var(--head);font-weight:900;font-size:24px;line-height:1.15;color:var(--red);}
.wx .stats span{display:block;font-size:14px;color:var(--ink);margin-top:2px;}
.wx .stats i{display:block;font-style:normal;font-size:14px;color:var(--ink2);}
.wx .tl-row{display:flex;}
.wx .tl-y{width:60px;flex:none;padding-right:12px;font-family:var(--head);font-weight:900;font-size:15px;color:var(--red);line-height:1.6;}
.wx .tl-t{flex:1;font-size:15px;line-height:1.75;color:var(--ink2);padding:0 0 14px;}
.wx .tl-row.hot .tl-t{color:var(--ink);}

/* 参考资料、署名 */
.wx .refs{margin:30px 0 0;font-size:14px;line-height:1.75;color:var(--ink2);}
.wx .refs-t{font-family:var(--head);font-weight:700;font-size:14px;color:var(--ink);margin-bottom:6px;}
.wx .refs ol{margin:0;padding-left:20px;}
.wx .refs li{margin-bottom:4px;}
.wx .refs-note{margin-top:10px;}
.wx .sign{margin:38px 0 0;display:flex;align-items:center;justify-content:center;gap:14px;}
.wx .seal{width:50px;height:50px;background:var(--red);border-radius:5px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;padding:5px;box-sizing:border-box;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px #FBF3E8, inset 0 0 0 3.5px var(--red);}
.wx .seal span{font-family:"Songti SC";font-weight:900;font-size:17px;line-height:1;color:#FBF3E8;display:flex;align-items:center;justify-content:center;}
.wx .sign-name{font-weight:700;font-size:16.5px;color:var(--ink);}
.wx .end{text-align:center;font-size:14px;color:var(--ink2);letter-spacing:2px;margin:26px 0 0;padding-bottom:36px;}
@font-face{font-family:"SiyuanHei wx260abd";src:url("fonts/f01.woff2") format("woff2");font-weight:100 599;font-style:normal;font-display:block;}
@font-face{font-family:"SiyuanHei wx260abd";src:url("fonts/f02.woff2") format("woff2");font-weight:600 799;font-style:normal;font-display:block;}
@font-face{font-family:"SiyuanHei wx260abd";src:url("fonts/f03.woff2") format("woff2");font-weight:800 900;font-style:normal;font-display:block;}
@font-face{font-family:"SmileySans wx260abd";src:url("fonts/f04.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:block;}

.wx h1{line-height:1.2;}
.wx .note{margin:22px 0 22px;font-size:14px;line-height:1.8;color:var(--ink2);}
.wx .list{margin:0 0 20px;padding-left:1.4em;font-size:16.5px;line-height:1.95;}
.wx ol.list{list-style:decimal;} .wx ul.list{list-style:disc;}
.wx .list li{margin:0 0 4px;padding-left:2px;}
.wx .list li::marker{color:var(--red);}
.wx .dateline{text-align:right;font-size:14px;color:var(--ink2);}
.wx .wrap>.sign:last-child{padding-bottom:40px;}


