:root{
  --paper:#f4f1ea;--paper-2:#ece7dc;--card:#fffdf8;--ink:#161513;--soft:#4f4b44;--quiet:#6e6a61;--rule:#d9d2c3;--rule-strong:#161513;
  --brand:#c8102e;
  --c1:#a3262a;--c1-bg:#faf4f2;   /* 突发 */
  --c2:#2f5482;--c2-bg:#f2f5f8;   /* 重要 */
  --c3:#8a5d1e;--c3-bg:#f9f5ed;   /* 有趣 */
  --c4:#2f6b58;--c4-bg:#f1f5f2;   /* 喜欢 */
  --sans:"PingFang SC","Hiragino Sans GB","Noto Sans SC","Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif;
  --serif:"Songti SC","STSong","Noto Serif SC","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;
  --nav-h:56px;--on-c:#fff;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#121110;--paper-2:#1a1917;--card:#1d1c1a;--ink:#f1eee7;--soft:#c3beb3;--quiet:#9b968b;--rule:#33312d;--rule-strong:#f1eee7;
  --brand:#e23a4e;
  --on-c:#121110;--c1:#d9695f;--c1-bg:#1b1716;--c2:#8eaad0;--c2-bg:#16191e;--c3:#cfa56c;--c3-bg:#1c1915;--c4:#86b9a2;--c4-bg:#161c19;
}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 12px)}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
/* masthead */
.mast{padding:14px 0 0}
.mast-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--quiet);border-bottom:1px solid var(--rule);padding-bottom:10px}
.mast-top nav{display:flex;gap:16px}
.mast-top nav a{text-decoration:none}
.mast-top nav a[aria-current]{color:var(--ink);font-weight:600}
.nameplate{display:flex;align-items:center;justify-content:center;gap:18px;padding:26px 0 8px;text-decoration:none;color:var(--ink)}
.nameplate .seal{width:64px;height:64px;flex:0 0 auto}
.nameplate .word{height:66px;width:auto}
.tagline{text-align:center;font-family:var(--serif);font-size:18px;color:var(--soft);letter-spacing:.18em;padding-bottom:14px}
.dateline{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;border-top:3px double var(--rule-strong);border-bottom:1px solid var(--rule-strong);padding:9px 0;font-size:16px;font-family:var(--serif);font-weight:600}
.ed-badge{font-family:var(--sans);font-size:14px;font-weight:700;color:#fff;background:var(--brand);padding:1px 10px;border-radius:4px;letter-spacing:.08em}
.dateline .meta{font-family:var(--sans);font-weight:400;color:var(--quiet);font-size:15px}
.intro{margin:14px 0 0;font-size:15px;color:var(--quiet);text-align:center}
/* section nav */
.secnav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);margin-top:18px}
.secnav .wrap{display:flex;gap:8px;align-items:center;height:var(--nav-h);overflow-x:auto;scrollbar-width:none}
.secnav .wrap::-webkit-scrollbar{display:none}
.secnav a{flex:0 0 auto;display:flex;align-items:center;gap:6px;text-decoration:none;font-size:16px;font-weight:600;color:var(--soft);padding:5px 12px 5px 6px;border-radius:999px;border:1px solid transparent;transition:background .2s,color .2s}
.secnav a .ic{width:22px;height:22px;font-size:13px}
.secnav a .n{font-weight:400;color:var(--quiet);font-size:14px}
.secnav a.on{color:var(--on-c);background:var(--c)}
.secnav a.on .n{color:inherit;opacity:.8}
.secnav a.on .ic{background:transparent;color:var(--on-c);border:1.5px solid currentColor}
.secnav .brandmini{flex:0 0 auto;width:26px;height:26px;margin-right:4px;display:none}
.secnav.stuck .brandmini{display:block}
/* seal icon */
.ic{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:var(--c);color:var(--on-c);font-family:var(--serif);font-weight:700;line-height:1}
/* hero */
.hero{display:grid;grid-template-columns:1fr;gap:14px;padding:22px 0 8px}
.hero-label{font-size:14px;font-weight:700;letter-spacing:.2em;color:var(--brand);display:flex;align-items:center;gap:10px}
.hero-label::after{content:"";flex:1;height:1px;background:var(--rule)}
.lead,.sub{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--c);border-radius:4px;padding:20px 20px 16px;text-decoration:none;display:block}
.lead h2{font-family:var(--serif);font-size:30px;line-height:1.35;font-weight:700;margin:6px 0 10px}
.lead p{font-size:18px;color:var(--soft)}
.sub h3{font-family:var(--serif);font-size:21px;line-height:1.45;margin:4px 0 6px}
.sub p{font-size:16px;color:var(--soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.subs{display:grid;gap:14px}
/* sections */
.section{padding:30px 0 6px}
.sec-head{display:flex;align-items:center;gap:14px;background:var(--c);color:var(--on-c);border-radius:6px;padding:12px 16px;position:relative;overflow:hidden}
.sec-head .ic{width:44px;height:44px;font-size:26px;background:transparent;color:var(--on-c);border:1.5px solid currentColor}
.sec-head h2{font-family:var(--serif);font-size:26px;letter-spacing:.12em;font-weight:700}
.sec-head .desc{font-size:15px;opacity:.9}
.sec-head .cnt{margin-left:auto;font-size:15px;font-weight:600;background:rgba(0,0,0,.18);padding:2px 12px;border-radius:999px;white-space:nowrap}
ol.items{list-style:none;margin-top:10px}
.item{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;padding:18px 16px;background:var(--cb);border-radius:6px;margin-top:10px;border-left:3px solid var(--c)}
.num{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--c);line-height:1.2;text-align:right;font-variant-numeric:tabular-nums}
.body{min-width:0}
.item-top{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--quiet);flex-wrap:wrap}
.heat{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto}
.heat .bar{width:54px;height:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 12%,transparent);overflow:hidden}
.heat .bar i{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444)}
.item h3{font-family:var(--serif);font-size:22px;line-height:1.45;font-weight:700;margin:4px 0 6px}
.item p{color:var(--soft)}
.kw{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kw a{font-size:15px;text-decoration:none;color:var(--c);background:var(--card);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);padding:1px 10px;border-radius:999px}
.kw a:hover{background:var(--c);color:var(--on-c)}
.src{margin-top:8px;font-size:14px;color:var(--quiet);display:flex;flex-wrap:wrap;gap:2px 12px}
.src a{color:var(--quiet)}
.warn{font-size:13px;color:var(--c1)}
.cat-tag{font-size:13px;font-weight:700;color:var(--c)}
.c1{--c:var(--c1);--cb:var(--c1-bg)}.c2{--c:var(--c2);--cb:var(--c2-bg)}.c3{--c:var(--c3);--cb:var(--c3-bg)}.c4{--c:var(--c4);--cb:var(--c4-bg)}
/* other pages */
.page-title{font-family:var(--serif);font-size:28px;padding:22px 0 6px}
.search-box{display:flex;gap:10px;padding:18px 0 8px}
.search-box input{flex:1;font:inherit;font-size:19px;padding:10px 14px;border-radius:6px;border:1px solid var(--rule);background:var(--card);color:var(--ink)}
.search-box button{font:inherit;font-size:17px;padding:0 18px;border-radius:6px;border:0;background:var(--brand);color:#fff;cursor:pointer}
.ext{font-size:15px;color:var(--quiet);display:flex;gap:14px;flex-wrap:wrap}
.ext a{color:var(--brand)}
.count{color:var(--quiet);font-size:15px;padding:6px 0}
mark{background:color-mix(in srgb,var(--brand) 25%,transparent);color:inherit;border-radius:3px}
.archive-day{padding:16px 0;border-bottom:1px solid var(--rule)}
.archive-day h2{font-family:var(--serif);font-size:21px}
.archive-day a.ed{display:block;text-decoration:none;padding:10px 0}
.archive-day a.ed small{display:block;color:var(--quiet);font-size:15px}
.empty{color:var(--quiet);padding:30px 0}
footer.foot{color:var(--quiet);font-size:14px;padding:40px 0 60px;text-align:center;border-top:1px solid var(--rule);margin-top:40px}
footer.foot svg{width:28px;height:28px;vertical-align:middle;margin-right:6px}
@media (min-width:860px){
  body{font-size:19px}
  .nameplate .seal{width:88px;height:88px}.nameplate .word{height:92px}
  .tagline{font-size:20px}
  .hero{grid-template-columns:1.55fr 1fr;align-items:stretch}
  .hero-label{grid-column:1/-1}
  .lead{padding:26px 28px 22px}.lead h2{font-size:36px}
  .item{grid-template-columns:56px 1fr;padding:20px 22px}
  .num{font-size:30px}
  .item h3{font-size:23px}
}
@media (max-width:420px){
  .wrap{padding:0 14px}
  .nameplate{gap:12px;padding-top:20px}.nameplate .seal{width:50px;height:50px}.nameplate .word{height:50px}
  .tagline{font-size:15px;letter-spacing:.1em}
  .dateline{font-size:15px;gap:8px}
  .sec-head h2{font-size:22px}.sec-head .desc{display:none}
  .item{grid-template-columns:30px 1fr;padding:16px 12px;gap:2px 8px}.num{font-size:20px}
  .item h3{font-size:20px}.lead h2{font-size:26px}
}
.lead p{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:420px){.lead p{-webkit-line-clamp:4}}

/* v6 mark: 毕 seal as first character */
:root{--seal:#c8102e;--seal-knock:#fff;--mark-word:#3a3733}
@media (prefers-color-scheme:dark){:root{--seal:#e23a4e;--seal-knock:#121110;--mark-word:#c9c4ba}}
.np-seal{fill:var(--seal)}.np-knock{fill:var(--seal-knock);stroke:var(--seal-knock)}.np-line{stroke:var(--seal-knock)}.np-word{fill:var(--mark-word)}
.nameplate .mark-v6{height:80px;width:auto}
@media (min-width:900px){.nameplate .mark-v6{height:100px}}
@media (max-width:600px){.nameplate .mark-v6{height:60px}}
footer.foot .foot-contact{margin-top:6px;font-size:12px;opacity:.75}
footer.foot .foot-contact a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
footer.foot .foot-contact a:hover,footer.foot .foot-contact a:focus-visible{border-bottom-color:currentColor;opacity:1}

/* rev1 */
footer.foot .nw{white-space:nowrap}
.sec-head .desc b{font-weight:800;background:rgba(255,255,255,.22);padding:0 5px;border-radius:3px;margin:0 1px}
.sec-sub{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:14px;color:var(--quiet);margin-top:10px;padding:0 4px}
.sec-sub b{color:var(--c);font-weight:800;border-bottom:2px solid color-mix(in srgb,var(--c) 45%,transparent)}
.xbtn{font:inherit;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer}
.xbtn:hover{opacity:.85}
.acts{display:flex;gap:6px;margin-top:8px}
.acts button{font:inherit;font-size:13px;color:var(--quiet);background:transparent;border:1px solid var(--rule);border-radius:999px;padding:1px 10px;cursor:pointer}
.acts button:hover{color:var(--c);border-color:var(--c)}
.acts button.on{color:var(--c);border-color:var(--c);background:var(--card)}
.foryou{font-size:12px;font-weight:700;color:var(--c);border:1px solid var(--c);border-radius:3px;padding:0 6px;line-height:1.6}
.recs{margin-top:22px;border:1px dashed var(--rule);border-radius:6px;padding:12px 16px;background:var(--card)}
.recs h4{font-size:14px;letter-spacing:.15em;color:var(--brand);display:flex;align-items:center;gap:10px}
.recs h4 button,.prefs-clear{font:inherit;font-size:12px;letter-spacing:0;color:var(--quiet);background:none;border:0;text-decoration:underline;cursor:pointer;margin-left:auto}
.recs ul{list-style:none;margin-top:6px}
.recs li{padding:5px 0;border-top:1px solid var(--rule);font-size:16px}.recs li:first-child{border-top:0}
.recs li a{text-decoration:none;font-family:var(--serif);font-weight:700}
.recs li .cat-tag{margin-right:8px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:15px;padding:10px 18px;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.2);z-index:50;opacity:0;transition:opacity .25s;pointer-events:none;max-width:90vw;text-align:center}
.toast.show{opacity:1}

/* rev2: palette from Mars's header colours */
:root{--soft:#2f2c27;--quiet:#5a564e;
  --c1:#a8352d;--c1-bg:#fbf3f1;--c2:#2f5a75;--c2-bg:#f1f5f8;--c3:#7a5a10;--c3-bg:#fbf6ea;--c4:#476847;--c4-bg:#f2f6f1;
  --h1:#c4453c;--h1-ink:#fff;--h2:#3a6b8a;--h2-ink:#fff;--h3:#e0a82e;--h3-ink:#2b2b2b;--h4:#5b7f5b;--h4-ink:#fff}
@media (prefers-color-scheme:dark){:root{--soft:#e2ded5;--quiet:#b3aea3;
  --c1:#e58a80;--c1-bg:#1e1715;--c2:#8db6d0;--c2-bg:#151b1f;--c3:#e8bc5c;--c3-bg:#1d1a12;--c4:#9cc29c;--c4-bg:#161c16}}
.c1{--h:var(--h1);--hi:var(--h1-ink)}.c2{--h:var(--h2);--hi:var(--h2-ink)}.c3{--h:var(--h3);--hi:var(--h3-ink)}.c4{--h:var(--h4);--hi:var(--h4-ink)}
.sec-head{background:var(--h);color:var(--hi)}
.sec-head .ic{color:var(--hi)}
.sec-head .desc{opacity:1}
.sec-head .desc b{background:none;padding:0;margin:0;font-weight:inherit}
.secnav a.on{background:var(--h,var(--c));color:var(--hi,var(--on-c))}
.secnav a.on .ic{color:var(--hi,var(--on-c))}
.ic{background:var(--h,var(--c));color:var(--hi,var(--on-c))}
.kw a:hover{background:var(--h);color:var(--hi)}
.item p,.lead p,.sub p{color:var(--soft)}
.sec-sub{color:var(--soft)}
.acts .x1{font-weight:700;color:var(--ink);border-color:var(--ink);text-decoration:none;font-size:13px;border:1px solid;border-radius:999px;padding:1px 10px}
.acts .x1:hover{background:var(--ink);color:var(--paper)}
footer.foot .fl{line-height:1.9}
footer.foot .fl>span{white-space:nowrap}
footer.foot .brandline svg{width:1.15em;height:1.15em;vertical-align:-0.2em;margin:0 1px 0 0}
