:root{
  --bg:#ead8c2; --bg-soft:#f5ebdc; --bg2:rgba(255,249,239,.92);
  --card:rgba(255,249,239,.94); --card-h:#fff8ec;
  --border:rgba(76,48,28,.14); --border2:rgba(76,48,28,.26); --card-border:rgba(76,48,28,.20);
  --text:#342418; --text2:#735d49; --text3:#9c8368; --heading:#21150e;
  --accent:#9b6237; --accent2:#6f3d20; --accent-soft:rgba(155,98,55,.12);
  --shadow:0 1px 3px rgba(60,38,22,.06);
  --shadow2:0 24px 58px rgba(60,38,22,.16);
  --vocab-shadow:0 14px 32px rgba(60,38,22,.08);
  --reading-col:780px;
  --cat-ink:#fff8ec;
  --cat-ai:#9b6237; --cat-ai-bg:rgba(155,98,55,.10);
  --cat-tech:#3d6b6b; --cat-tech-bg:rgba(61,107,107,.10);
  --cat-finance:#806f25; --cat-finance-bg:rgba(128,111,37,.10);
  --cat-society:#a05548; --cat-society-bg:rgba(160,85,72,.10);
  --cat-world:#6b5a7a; --cat-world-bg:rgba(107,90,122,.10);
  --ok:#2e6b34; --ok-bg:rgba(46,107,52,.12);
  --dev:#2f5f8f; --dev-bg:rgba(47,95,143,.12);
  --dispute:#a85417; --dispute-bg:rgba(168,84,23,.12);
  --rumor:#ab3226; --rumor-bg:rgba(171,50,38,.12);
  --glow1:rgba(149,91,48,.18); --glow2:rgba(255,238,211,.34);
  --texture:rgba(111,61,32,.7); --texture2:rgba(111,61,32,.55); --texture-op:.14;
  /* 报刊编辑风 token：墨色 / 朱砂 / 栏线（新装饰一律引用 token，禁止写死色值） */
  --serif:"Noto Serif SC",Georgia,"Songti SC","STSong",SimSun,serif;
  --ink:#26190e; --ink-2:#4a3826;
  --vermilion:#b0402c; --vermilion-soft:rgba(176,64,44,.08);
  --rule:rgba(76,48,28,.22); --rule-strong:#4a3826;
}
[data-theme="dark"]{
  --bg:#1d1712; --bg-soft:#2a2119; --bg2:rgba(25,19,15,.92);
  --card:rgba(35,28,22,.94); --card-h:#2d231b;
  --border:rgba(244,207,167,.12); --border2:rgba(244,207,167,.24); --card-border:rgba(244,207,167,.18);
  --text:#f0dfcb; --text2:#d0b99f; --text3:#a38d75; --heading:#fff7ec;
  --accent:#e0ad78; --accent2:#f3c796; --accent-soft:rgba(224,173,120,.14);
  --shadow:0 1px 3px rgba(0,0,0,.3);
  --shadow2:0 24px 58px rgba(0,0,0,.48);
  --vocab-shadow:0 14px 32px rgba(0,0,0,.35);
  --cat-ink:#1d1712;
  --cat-ai:#e0ad78; --cat-ai-bg:rgba(224,173,120,.14);
  --cat-tech:#8fc4c0; --cat-tech-bg:rgba(143,196,192,.14);
  --cat-finance:#cfc07a; --cat-finance-bg:rgba(207,192,122,.14);
  --cat-society:#dd9a8c; --cat-society-bg:rgba(221,154,140,.14);
  --cat-world:#b3a3c6; --cat-world-bg:rgba(179,163,198,.14);
  --ok:#86c98e; --ok-bg:rgba(134,201,142,.14);
  --dev:#8fb7e8; --dev-bg:rgba(143,183,232,.14);
  --dispute:#e8a860; --dispute-bg:rgba(232,168,96,.14);
  --rumor:#e78b82; --rumor-bg:rgba(231,139,130,.14);
  --glow1:rgba(155,98,55,.2); --glow2:rgba(224,173,120,.12);
  --texture:rgba(224,173,120,.55); --texture2:rgba(224,173,120,.42); --texture-op:.31;
  --ink:#f4e8d6; --ink-2:#d8c3a8;
  --vermilion:#e0705b; --vermilion-soft:rgba(224,112,91,.12);
  --rule:rgba(244,207,167,.2); --rule-strong:#e6d2b8;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
body{
  background:
    radial-gradient(circle at 0% 0%,var(--glow1),transparent 32%),
    radial-gradient(circle at 100% 0%,var(--glow2),transparent 24%),
    linear-gradient(180deg,var(--bg-soft),var(--bg)) var(--bg);
  background-attachment:fixed;
  color:var(--text);font-family:-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.7}
/* 博客同款格纹纸纹理 */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:var(--texture-op);
  background-image:
    repeating-linear-gradient(0deg,transparent,transparent 23px,var(--texture) 23px,var(--texture) 24px),
    repeating-linear-gradient(90deg,transparent,transparent 23px,var(--texture2) 23px,var(--texture2) 24px);
  -webkit-mask-image:linear-gradient(90deg,black,transparent 45%,transparent 55%,black);
  mask-image:linear-gradient(90deg,black,transparent 45%,transparent 55%,black);
}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}

.skip-link{position:fixed;left:12px;top:8px;z-index:100;transform:translateY(-160%);background:var(--heading);color:var(--card-h);padding:8px 12px;border-radius:6px}
.skip-link:focus{transform:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.logo small{font-size:10.5px;color:var(--text3);font-weight:400;letter-spacing:.3em;text-transform:uppercase}
.report-controls{max-width:1180px;margin:0 auto;padding:0 20px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.report-controls[hidden]{display:none}
.period-tabs{display:flex;gap:8px}
.period-tabs a{padding:5px 13px;border:1px solid var(--rule);border-radius:0;color:var(--text2)}
.period-tabs a[aria-current="page"],.mtab[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--bg-soft);font-weight:600;text-decoration:none}
.archive-controls{display:flex;align-items:center;gap:8px;color:var(--text2);font-size:13px}
.archive-controls select{background:var(--card);color:var(--text);border:1px solid var(--border2);border-radius:6px;padding:5px 8px}
.legend-ok{color:var(--ok)}.legend-dev{color:var(--dev)}.legend-dispute{color:var(--dispute)}.legend-rumor{color:var(--rumor)}.legend-note{color:var(--text3)}
.trk-hist[hidden]{display:none}.trk-hist:not([hidden]){display:block}
.report-section{scroll-margin-top:150px}
.report-section .sec-title .n{font-size:12px;color:var(--text3);font-weight:400}
.section-empty{padding:20px;color:var(--text3);background:var(--card);border:1px dashed var(--card-border);border-radius:10px}
.weekly-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:18px 0 26px;padding:12px 0;border-block:3px double var(--rule-strong)}
.weekly-stats>div{padding:8px 12px;text-align:center;border-left:1px solid var(--rule)}
.weekly-stats>div:first-child{border-left:0}
.weekly-stats dt{font-size:12px;color:var(--text3)}.weekly-stats dd{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.coverage{margin-top:8px;color:var(--text2)!important;font-size:12px!important}
.representatives,.reading-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.representatives a,.reading-list a{display:inline-flex;padding:4px 10px;border:1px solid var(--border2);border-radius:999px}
button.act{font:inherit;background:transparent}
@media(max-width:600px){.hbar{align-items:stretch}.searchbox{order:3;width:100%}.searchbox input{width:100%}.datenav{margin-left:0}.weekly-stats{grid-template-columns:1fr 1fr}.report-controls{align-items:flex-start}.legend{padding-inline:8px}}

.wrap{max-width:1180px;margin:0 auto;padding:0 20px 60px;position:relative;z-index:1}

/* ---------- header ---------- */
header{border-bottom:1px solid var(--border);background:var(--bg2);position:sticky;top:0;z-index:10;
  backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)}
.hbar{max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.logo{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:.14em;color:var(--ink)}
.logo span{color:var(--ink)}
.datenav{display:flex;align-items:center;gap:6px;margin-left:auto}
.datenav button,#dayCtrls button{background:var(--card-h);border:1px solid var(--border2);color:var(--text);padding:5px 11px;border-radius:6px;cursor:pointer;font-size:13px}
.datenav button:hover:not(:disabled),#dayCtrls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent2)}
.datenav button:disabled,#dayCtrls button:disabled{opacity:.35;cursor:default}
.datenav select{background:var(--card-h);border:1px solid var(--border2);color:var(--text);padding:5px 8px;border-radius:6px;font-size:13px;cursor:pointer}
#dayCtrls{display:flex;align-items:center;gap:6px}
.tabs-main{max-width:1180px;margin:0 auto;padding:0 20px 10px;display:flex;gap:6px;flex-wrap:wrap}
.mtab{padding:6px 16px;border-radius:0;border:1px solid var(--rule);background:transparent;color:var(--text2);cursor:pointer;font-size:13.5px;user-select:none;transition:.15s}
.mtab:hover{border-color:var(--ink-2);color:var(--ink)}
.mtab.on{background:var(--ink);border-color:var(--ink);color:var(--bg-soft);font-weight:600}
.feed-day{background:transparent;font-family:var(--serif);font-weight:700;font-size:22px;color:var(--ink);padding:14px 0 8px;border-bottom:4px double var(--rule-strong);margin:14px 0 12px}
.feed-day .n{font-size:12px;color:var(--text3);font-weight:400;margin-left:8px}
.feed-day.clk{cursor:pointer;user-select:none}
.feed-day.clk:hover{color:var(--accent2)}
.feed-day>button{appearance:none;background:none;border:0;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}
.feed-bar{display:flex;align-items:center;gap:10px;margin:14px 0 4px}
.feed-bar input{flex:1;max-width:460px;background:var(--card);border:1px solid var(--border);color:var(--text);padding:8px 13px;border-radius:8px;font-size:13.5px}
.feed-bar input:focus{outline:none;border-color:var(--accent)}
.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.topic-card{background:transparent;border:1px solid var(--rule);border-radius:0;padding:12px 14px;cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:6px}
.topic-card:hover{border-color:var(--accent);background:var(--card-h)}
.topic-card b{font-family:var(--serif);color:var(--ink);font-size:14px}
.tc-go{font-size:12px;color:var(--text3)}
.topic-card:hover .tc-go{color:var(--accent2)}
.brief-delta{margin-top:8px;font-size:12.5px;color:var(--text3)}
.brief-delta b{color:var(--accent2);font-weight:700}
#backTop{position:fixed;right:22px;bottom:22px;z-index:30;display:none;background:var(--card);border:1px solid var(--border2);color:var(--text);padding:9px 15px;border-radius:999px;cursor:pointer;font-size:13px;box-shadow:var(--shadow2)}
#backTop.show{display:block}
#backTop:hover{border-color:var(--accent);color:var(--accent2)}

/* ---------- masthead / brief ---------- */
.masthead{margin:24px 0 18px;color:var(--ink)}
.mast-plate{position:relative;display:grid;grid-template-columns:70px 1fr 110px;align-items:center;min-height:82px;padding:10px 4px;border-top:1px solid var(--rule-strong);border-bottom:4px double var(--rule-strong);text-align:center}
.mast-name{font-family:var(--serif);font-size:34px;font-weight:700;letter-spacing:.18em;line-height:1.35}
.mast-issue{font-family:var(--serif);font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.date-seal{display:grid;place-items:center;width:52px;height:52px;margin-inline:auto;border:2px solid var(--vermilion);box-shadow:inset 0 0 0 2px var(--bg-soft),inset 0 0 0 3px var(--vermilion);color:var(--vermilion);font-family:var(--serif);font-size:13px;line-height:1.35;transform:rotate(-6deg)}
.date-seal b{font-weight:700}
.mast-meta{display:flex;justify-content:center;gap:8px 18px;flex-wrap:wrap;padding:8px 4px 0;color:var(--text3);font-size:12px;font-variant-numeric:tabular-nums}
.mast-meta span+span::before{content:"·";margin-right:18px;color:var(--rule-strong)}
.mast-lead{max-width:680px;margin:12px auto 0;text-align:center;font-family:var(--serif);font-size:20px;line-height:1.65;font-weight:700;color:var(--ink)}
.brief{margin:22px 0 6px;padding:16px 18px;background:var(--card-h);border:1px solid var(--card-border);border-left:3px solid var(--accent);border-radius:10px;box-shadow:var(--shadow)}
.brief .bt{font-size:12px;color:var(--accent2);font-weight:600;letter-spacing:1px;margin-bottom:6px}
.brief p{color:var(--text);font-size:14.5px}
.daily-report .brief h1{font-size:17px;line-height:1.7;font-weight:700;color:var(--heading)}

/* ---------- 今日主线 ---------- */
.mainlines{margin:18px 4px 10px;padding:16px 18px;background:transparent;border:1px solid var(--ink-2);outline:1px solid var(--ink-2);outline-offset:3px;box-shadow:none}
.ml-h{font-family:var(--serif);font-size:12px;color:var(--vermilion);font-weight:700;letter-spacing:.35em;margin-bottom:10px}
.ml-item{padding:8px 0;border-top:1px dashed var(--border)}
.ml-item:first-of-type{border-top:none;padding-top:0}
.ml-t{font-size:14px;font-weight:700;color:var(--heading)}
.ml-o{font-size:13px;color:var(--text2);margin:3px 0 6px}
.ml-chips{display:flex;flex-wrap:wrap;gap:6px}
.ml-chip{font-size:12px;padding:2px 10px;border-radius:12px;border:1px solid var(--border2);color:var(--text2);cursor:pointer;background:var(--card);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ml-chip:hover{border-color:var(--accent);color:var(--accent2)}

/* ---------- filter tabs ---------- */
.tabs{display:flex;gap:8px;margin:20px 0 4px;flex-wrap:wrap}
.tab{padding:6px 15px;border-radius:0;border:1px solid var(--rule);background:transparent;color:var(--text2);cursor:pointer;font-size:13px;transition:.15s}
.tab:hover{border-color:var(--ink-2)}
.tab.on{background:var(--ink);border-color:var(--ink);color:var(--bg-soft);font-weight:600}
.tab .n{opacity:.7;font-size:11.5px;margin-left:3px}
.tabs.sub{margin:10px 0 0}
.tab.sub{padding:3px 11px;font-size:12px;border-radius:0}

/* ---------- section ---------- */
.sec-title{margin:30px 0 12px;font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.08em;color:var(--ink);display:flex;align-items:center;gap:10px}
.sec-title::before{content:"";width:14px;height:3px;background:var(--vermilion)}
.sec-title::after{content:"";flex:1;height:4px;border-top:1px solid var(--rule);box-shadow:0 3px 0 var(--rule)}
[data-category="ai"]>.sec-title::before{background:var(--cat-ai)}
[data-category="tech"]>.sec-title::before{background:var(--cat-tech)}
[data-category="finance"]>.sec-title::before{background:var(--cat-finance)}
[data-category="society"]>.sec-title::before{background:var(--cat-society)}
[data-category="world"]>.sec-title::before{background:var(--cat-world)}

/* ---------- pick cards ---------- */
.card{background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;padding:18px 2px 16px;display:flex;flex-direction:column;gap:9px;transition:.15s;box-shadow:none}
.card:hover{background:transparent}
.card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.score{font-weight:800;font-size:15px;min-width:40px;text-align:center;padding:2px 8px;border-radius:6px;background:transparent;font-variant-numeric:tabular-nums}
.score.hi{background:var(--accent);color:var(--card-h)}
.score.mid{color:var(--accent2);box-shadow:inset 0 0 0 1px var(--accent)}
.score.lo{color:var(--text3);box-shadow:inset 0 0 0 1px var(--border2)}
.tag{font-size:12px;padding:0;border-radius:0;font-weight:600;letter-spacing:.03em}
.tag.cat-ai{color:var(--cat-ai)}
.tag.cat-tech{color:var(--cat-tech)}
.tag.cat-finance{color:var(--cat-finance)}
.tag.cat-society{color:var(--cat-society)}
.tag.cat-world{color:var(--cat-world)}
.tag.st-已确认{color:var(--ok)}
.tag.st-发展中{color:var(--dev)}
.tag.st-有争议{color:var(--dispute)}
.tag.st-仅传言{color:var(--rumor)}
.tag.st-已确认::before,.tag.st-发展中::before,.tag.st-有争议::before,.tag.st-仅传言::before{content:"● ";font-size:8px;vertical-align:2px}
.tag.update-mark{color:var(--vermilion);font-weight:700}
.continuation-link{font-size:12px;color:var(--accent2);text-decoration:none;border-bottom:1px solid currentColor}
.continuation-link:hover{color:var(--accent)}
.score-num{font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--text3);font-size:12.5px;margin-left:auto}
.tag.stype{background:transparent;border:1px solid var(--border);color:var(--text3);font-weight:400;padding:1px 8px}
.card h3{font-family:var(--serif);font-size:19px;line-height:1.55;font-weight:700;color:var(--ink)}
.card h3 a{color:inherit}
.card .sum{color:var(--text);font-size:14.5px}
.kv{font-size:13.5px;line-height:1.7;color:var(--text2);padding-left:10px;border-left:2px solid var(--rule)}
.kv b{color:var(--text2);font-weight:600;font-family:var(--serif)}
.kv.why{border-left-color:var(--vermilion)}
.kv.ctx{border-left-color:var(--rule)}
.kv.sig{border-left-color:var(--vermilion);background:var(--vermilion-soft);border-radius:0;padding:6px 10px}
.kv.watch{border-left-color:var(--rule)}
.srcs{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:auto;padding-top:8px;border-top:1px dashed var(--border2);font-size:12px}
.srcs a{color:var(--text2)}
.srcs a:hover{color:var(--accent2)}
.srcs .stp{color:var(--text3);font-size:11px}
/* 中文预览页（pick 详情，页内路由） */
.detail-wrap{max-width:var(--reading-col);margin:0 auto}
.dback{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;font-size:13px;color:var(--text2);cursor:pointer}
.dback:hover{color:var(--accent2)}
.dback:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.detail-title{font-family:var(--serif);font-size:clamp(26px,4vw,36px);line-height:1.32;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:10px 0 14px;overflow-wrap:anywhere}
.detail-lede{font-family:var(--serif);font-size:18px;color:var(--ink-2);line-height:1.8;padding:8px 0 8px 18px;background:transparent;border-left:3px solid var(--vermilion);border-radius:0;margin-bottom:24px}
.detail-body{font-size:16px;line-height:1.85;color:var(--text)}
.detail-body p{margin:0 0 15px}
.detail-kv{display:flex;flex-direction:column;gap:10px;margin:22px 0}
.detail-sec-t{margin:28px 0 12px;font-size:16px;font-weight:800;color:var(--heading);letter-spacing:.5px}
.evidence-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px;color:var(--text3)}
.evidence-meta span{padding:3px 7px;border:1px solid var(--border);border-radius:12px}
.evidence-meta .evidence-degraded{color:var(--rumor);border-color:var(--rumor)}
.detail-takeaway{margin:4px 4px 24px;padding:16px 18px;background:transparent;border:1px solid var(--ink-2);outline:1px solid var(--ink-2);outline-offset:3px;border-radius:0;box-shadow:none}
.detail-takeaway .label{display:block;color:var(--accent2);font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:7px}
.detail-takeaway p{margin:0;font-size:17px;line-height:1.7;font-weight:650;color:var(--heading)}
.detail-claims{display:flex;flex-direction:column;gap:9px}
.detail-claim{padding:11px 4px;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent}
.detail-claim .claim-kind{display:inline-block;min-width:52px;margin-right:8px;font-size:11px;font-weight:700;color:var(--text3)}
.detail-claim.kind-fact{border-left:3px solid var(--ok)}.detail-claim.kind-analysis{border-left:3px solid var(--accent)}.detail-claim.kind-uncertain{border-left:3px solid var(--rumor)}
.claim-sources{margin-top:6px;font-size:11.5px;color:var(--text3)}

@media(max-width:600px){
  .detail-wrap{max-width:none}.detail-title{font-size:26px}.detail-lede{font-size:16px;padding:13px 14px}
  .detail-body{font-size:16px;line-height:1.8}
  .detail-sources.collapsed span:nth-child(n+3){display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{transition:none!important}}

/* ---------- more list ---------- */
.more-list{display:flex;flex-direction:column;gap:6px}
.row{display:flex;align-items:baseline;gap:10px;padding:9px 2px;background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;flex-wrap:wrap}
.row:hover{background:var(--card-h)}
.row .score{font-size:12.5px;min-width:34px;padding:1px 6px}
.row .rt{font-weight:600;font-size:13.5px;flex:1;min-width:200px}
.more-list .row strong{font-size:14.5px;font-weight:600;color:var(--heading)}
.row .rt a{color:var(--text)}
.row .rs{color:var(--text3);font-size:12px}
.toggle-more{margin:14px auto 0;display:block;background:var(--card);border:1px solid var(--border);color:var(--text2);padding:8px 26px;border-radius:20px;cursor:pointer;font-size:13px}
.toggle-more:hover{border-color:var(--accent);color:var(--text)}

/* ---------- 反馈操作（仅有效个人会话可见） ---------- */
.acts{display:flex;gap:8px;flex-wrap:wrap;padding-top:6px;border-top:1px dashed var(--border)}
.act{font-size:12px;color:var(--text3);cursor:pointer;border:1px solid var(--border);border-radius:12px;padding:2px 10px;user-select:none}
.act:hover{color:var(--text);border-color:var(--accent)}
.act.done{color:var(--ok);border-color:var(--ok)}
.action-overflow{position:relative}
.action-overflow>summary{list-style:none}
.action-overflow>summary::-webkit-details-marker{display:none}
.action-menu{position:absolute;z-index:5;right:0;bottom:calc(100% + 6px);display:flex;min-width:max-content;max-width:calc(100vw - 28px);gap:6px;flex-wrap:wrap;justify-content:flex-end;padding:8px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow2)}
.fb-panel:empty{display:none}
.fb-panel{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:10px 12px}
.fb-tip{font-size:12px;color:var(--text2);margin-bottom:6px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:12px;padding:3px 10px;border-radius:12px;border:1px solid var(--border);cursor:pointer;color:var(--text2);user-select:none}
.chip.on,.chip:hover{border-color:var(--accent);color:var(--accent2)}
.fb-note{width:100%;margin-top:8px;background:var(--card);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 8px;font-size:12.5px;min-height:44px;resize:vertical;font-family:inherit}
.fb-btns{margin-top:8px;display:flex;gap:8px}
.fb-go{background:var(--accent);border:none;color:var(--card-h);padding:5px 14px;border-radius:6px;cursor:pointer;font-size:12.5px}
.fb-cancel{background:var(--card);border:1px solid var(--border);color:var(--text2);padding:5px 14px;border-radius:6px;cursor:pointer;font-size:12.5px}
.hidden-bar{margin-top:10px;font-size:12.5px;color:var(--text3)}
.hidden-bar a{cursor:pointer}
.hidden-row{display:flex;gap:10px;padding:6px 12px;background:var(--card);border:1px solid var(--border);border-radius:6px;margin-top:6px;font-size:12.5px;color:var(--text3);align-items:baseline}
.hidden-row .rt{flex:1}
.hidden-row a{cursor:pointer}
/* ---------- 追踪中 ---------- */
.trk{background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;padding:10px 2px;margin-bottom:0;box-shadow:none}
.trk-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;cursor:pointer}
.trk-top b{font-size:13.5px}
.trk-upd{font-size:12px;color:var(--text3);margin-left:auto}
.trk-hist{display:none;margin-top:8px;font-size:12.5px;color:var(--text2);border-left:2px solid var(--rule);padding-left:10px}
.trk.open .trk-hist{display:block}
/* ---------- 搜索 ---------- */
.searchbox{position:relative}
.searchbox input{background:var(--card);border:1px solid var(--border);color:var(--text);padding:5px 11px;border-radius:6px;font-size:13px;width:190px}
.searchbox input:focus{outline:none;border-color:var(--accent)}
.search-res{display:none;position:absolute;top:115%;left:0;width:min(440px,90vw);max-height:60vh;overflow-y:auto;background:var(--card-h);border:1px solid var(--rule-strong);border-radius:3px;z-index:40;box-shadow:var(--shadow2)}
.search-res.open{display:block}
.sr{padding:8px 12px;font-size:12.5px;cursor:pointer;border-bottom:1px solid var(--border);color:var(--text)}
.sr:last-child{border-bottom:none}
.sr:hover{background:var(--card-h)}
.sr-d{color:var(--text3);margin-right:8px;font-size:11.5px}
.sr-c{color:var(--accent2);margin-right:8px;font-size:11.5px}
.sr.none{color:var(--text3);cursor:default}
.card.hl,.row.hl,.deep.hl{outline:2px solid var(--accent)}
/* ---------- 深度阅读 ---------- */
.deep{background:transparent;border:1px solid var(--ink-2);outline:1px solid var(--ink-2);outline-offset:3px;border-radius:0;padding:14px 16px;margin:5px 5px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:none}
.deep-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.deep-t{font-weight:700;font-size:14.5px;color:var(--text)}
.deep h3{font-weight:700;font-size:15.5px;line-height:1.5;color:var(--heading)}
/* 今日论文 / 舆论观察：复用 .deep 特稿框，框内左上角小字目名区分（分类色仅存的细节位） */
.deep.paper::before,.deep.pulse::before{font-family:var(--serif);font-size:11px;letter-spacing:.4em;font-weight:700}
.deep.paper::before{content:"论文";color:var(--cat-world)}
.deep.pulse::before{content:"舆情";color:var(--dispute)}
/* ---------- 周视图 ---------- */
.wk-thread{padding:8px 0;border-bottom:1px solid var(--border)}
.wk-thread:last-child{border-bottom:none}
.wk-thread b{font-size:14px;color:var(--text)}
.wk-thread .dt{font-size:12.5px;color:var(--text2)}
.wk-recap{font-size:13px;color:var(--text);padding:5px 0;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.wk-recap .note{color:var(--text2);font-size:12.5px}
.tag.dir-新增{background:var(--accent-soft);color:var(--accent2)}
.tag.dir-推进{background:var(--dev-bg);color:var(--dev)}
.tag.dir-反转{background:var(--rumor-bg);color:var(--rumor)}
.tag.dir-停滞{background:var(--card-h);color:var(--text3)}
.tag.rc-兑现{background:var(--accent-soft);color:var(--accent2)}
.tag.rc-部分兑现{background:var(--dispute-bg);color:var(--dispute)}
.tag.rc-未兑现{background:var(--card-h);color:var(--text3)}
.tag.rc-反转{background:var(--rumor-bg);color:var(--rumor)}
/* ---------- 稍后读抽屉 ---------- */
.drawer{position:fixed;top:0;right:-400px;width:min(380px,92vw);height:100%;background:var(--card-h);border-left:1px solid var(--border2);z-index:50;transition:right .2s;padding:16px 18px;overflow-y:auto;box-shadow:var(--shadow2)}
.drawer.open{right:0}
.rl-head{font-weight:700;margin-bottom:12px;display:flex;justify-content:space-between;font-size:15px}
.rl-close{cursor:pointer;color:var(--text3)}
.rl-item{padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}
.rl-item.done .rl-t a{text-decoration:line-through;color:var(--text3)}
.rl-meta{font-size:11.5px;color:var(--text3);margin-top:2px}
.rl-ops{margin-top:4px;display:flex;gap:12px;font-size:12px}
.rl-ops span{cursor:pointer;color:var(--text3)}
.rl-ops span:hover{color:var(--accent2)}
.rl-ops button{appearance:none;background:none;border:0;color:var(--text3);font:inherit;cursor:pointer;padding:2px 0}.rl-ops button:hover{color:var(--accent2)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--card-h);border:1px solid var(--rule-strong);color:var(--text);padding:8px 18px;border-radius:3px;z-index:60;font-size:13px;box-shadow:var(--shadow2)}
.toast.err{border-color:var(--rumor)}

/* ---------- 英语单词本 ---------- */
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:860px){.vgrid{grid-template-columns:1fr}}
.vdate-h{margin:22px 0 10px;font-size:14px;font-weight:700;color:var(--heading);display:flex;align-items:center;gap:8px}
.vdate-h .vdate-n{font-size:12px;font-weight:400;color:var(--text3)}
.vcard{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:13px 15px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--vocab-shadow)}
.vcard:hover{background:var(--card-h)}
.vcard.mastered{opacity:.6}
.vhead{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.vword{font-size:18px;font-weight:800;color:var(--heading);letter-spacing:.3px}
.vph{font-size:13px;color:var(--accent2);font-family:"Segoe UI",sans-serif}
.vpos{font-size:12px;color:var(--text3);font-style:italic}
.vsense{font-size:14px;color:var(--text)}
.vex{font-size:12.5px;color:var(--text2);line-height:1.5;padding-left:9px;border-left:2px solid var(--accent);font-style:italic}
.vmeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11.5px;color:var(--text3);margin-top:1px}
.vsrc{border:1px solid var(--border2);border-radius:9px;padding:1px 7px}
.vsrc.manual{color:var(--dev);border-color:var(--dev)}
.vacts{display:flex;gap:8px;flex-wrap:wrap;padding-top:6px;border-top:1px dashed var(--border);margin-top:2px}
/* 单词本视图控件 */
.vbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 4px}
.vadd{display:flex;gap:8px;flex:1;min-width:220px}
.vadd input{flex:1;background:var(--card);border:1px solid var(--border);color:var(--text);padding:6px 11px;border-radius:6px;font-size:13px}
.vadd input:focus{outline:none;border-color:var(--accent)}
.vadd button{background:var(--accent);border:none;color:var(--card-h);padding:6px 16px;border-radius:6px;cursor:pointer;font-size:13px}
.vsearch{background:var(--card);border:1px solid var(--border);color:var(--text);padding:6px 11px;border-radius:6px;font-size:13px;width:180px}
.vsearch:focus{outline:none;border-color:var(--accent)}
.vpending{background:var(--card);border:1px dashed var(--border2);border-radius:8px;padding:9px 13px;font-size:12.5px;color:var(--text2);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.vpending b{color:var(--dev)}
.empty{color:var(--text3);text-align:center;padding:60px 0;font-size:14px}
footer{color:var(--text3);font-size:12px;text-align:center;margin-top:50px;line-height:2;border-top:4px double var(--rule-strong);padding-top:16px}
.legend{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- shared shell ---------- */
.desktop-sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:240px;padding:28px 22px;border-right:1px solid var(--border);background:var(--bg-soft);display:flex;flex-direction:column;gap:28px}
.desktop-sidebar .logo{display:flex;flex-direction:column;line-height:1.4;padding-bottom:14px;border-bottom:4px double var(--rule-strong)}
.sidebar-nav{display:flex;flex-direction:column;counter-reset:nav}
.sidebar-nav .mtab{border:0;border-radius:0;background:transparent;padding:11px 4px;font-family:var(--serif);font-size:14.5px;border-bottom:1px solid var(--rule);counter-increment:nav}
.sidebar-nav .mtab::before{content:counter(nav,cjk-ideographic) "　";color:var(--text3);font-size:12px}
.sidebar-nav .mtab[aria-current="page"]{background:transparent;color:var(--ink);font-weight:700;border-left:3px solid var(--vermilion);padding-left:8px}
.sidebar-nav .mtab[aria-current="page"]::before{color:var(--vermilion)}
.desktop-blog-home{margin-top:auto;display:flex;align-items:center;padding:11px 4px;border-top:1px solid var(--rule);font-family:var(--serif);font-size:14px;color:var(--text2)}
.desktop-blog-home:hover{color:var(--ink);text-decoration:none}
.site-header{margin-left:240px}
.mobile-primary,.mobile-nav{display:none}
.mobile-blog-home{display:none}
.mobile-blog-home svg{width:18px;height:18px}
.content-column{margin-left:240px;min-width:0;position:relative;z-index:1}
.content-toolbar{max-width:1180px;margin:0 auto;padding:22px 20px 0;display:flex;align-items:center;gap:9px}
.content-search{min-width:0;flex:1;display:flex;align-items:center;gap:9px}
.content-search .searchbox{flex:1}
.content-search .searchbox input{width:100%;min-height:40px;padding-inline:14px}
.content-toolbar button{min-height:40px;padding:0 12px;border:1px solid var(--border2);border-radius:6px;background:var(--card);color:var(--text);cursor:pointer}
.search-close{display:none}
.icon-button{appearance:none;border:1px solid var(--border2);border-radius:5px;background:var(--card);color:var(--text);width:38px;height:38px;font:inherit;cursor:pointer}
.mobile-actions{display:flex;gap:7px;margin-left:auto}
.report-controls{max-width:1180px}

@media(min-width:900px){
  .reports-view .site-header{position:static;backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;border:0}
  .reports-view .report-controls{position:fixed;left:240px;top:0;bottom:0;width:220px;max-width:none;margin:0;padding:28px 18px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:18px;flex-wrap:nowrap;overflow-y:auto;border-right:1px solid var(--border);background:var(--bg2);z-index:19;backdrop-filter:blur(16px)}
  .reports-view .report-controls .period-tabs{display:grid;grid-template-columns:1fr 1fr}
  .reports-view .report-controls .period-tabs a{text-align:center}
  .reports-view .report-controls .archive-controls{align-items:stretch;flex-direction:column}
  .reports-view .report-controls .archive-controls select{width:100%}
  .reports-view .report-controls #dayCtrls{display:grid;grid-template-columns:1fr 1fr}
  .reports-view .content-column{margin-left:460px}
}

@media(max-width:899.98px){
  .desktop-sidebar{display:none}
  .site-header{margin-left:0;position:sticky;top:0;border-bottom:0;background:var(--bg2);backdrop-filter:blur(16px)}
  .mobile-primary{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}
  .mobile-primary .logo{font-size:16px;white-space:nowrap}
  .mobile-primary .logo small{display:none}
  .mobile-blog-home{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px}
  .mobile-nav{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:4px;padding:8px 14px;border-bottom:1px solid var(--border);scrollbar-width:none}
  .mobile-nav::-webkit-scrollbar{display:none}
  .mobile-nav .mtab{flex:0 0 auto;border:0;background:transparent;border-radius:4px;padding:6px 12px}
  .mobile-nav .mtab[aria-current="page"]{background:var(--accent-soft);color:var(--accent2);font-weight:700}
  .mobile-report-controls{padding:8px 14px;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;border-bottom:1px solid var(--border);scrollbar-width:none}
  .mobile-report-controls::-webkit-scrollbar{display:none}
  .mobile-report-controls>*{flex:0 0 auto}
  .content-column,.reports-view .content-column{margin-left:0}
  .content-toolbar{display:contents}
  .content-search{position:fixed;inset:0;z-index:45;max-width:none;padding:12px 14px;align-items:flex-start;background:var(--bg2);backdrop-filter:blur(18px)}
  .content-search .searchbox{display:flex;gap:8px;position:relative}
  .content-search .searchbox input{min-height:44px}
  .content-search .search-res{top:52px;width:100%;max-height:calc(100vh - 76px)}
  .search-close{display:block;flex:0 0 44px;border:1px solid var(--border2);border-radius:6px;background:var(--card);color:var(--text);font-size:22px}
  .content-search>button{display:none}
  .shell-read-later{position:fixed;z-index:25;top:10px;right:147px;width:38px;height:38px;min-height:38px!important;padding:0!important;overflow:hidden;font-size:0}
  .shell-read-later::before{content:"📥";font-size:16px}
  .wrap{padding-inline:14px}
  .report-section{scroll-margin-top:190px}
  .mobile-nav .mtab,.mobile-report-controls :where(a,button,select),.tab,.timeline-mainline a,.acts .act,.srcs a,.toggle-more,.all-tools input,.all-tools select{min-height:44px}
  .mobile-nav .mtab,.tab,.timeline-mainline a,.acts .act,.srcs a,.toggle-more{display:inline-flex;align-items:center}
}

/* ---------- content views ---------- */
.daily-report,.weekly-report{max-width:var(--reading-col);margin-inline:auto}
.daily-report{container-type:inline-size}
.report-list,.timeline-list,.favorites-list{display:flex;flex-direction:column;gap:0}
.timeline-mainline{margin:18px auto 22px;max-width:var(--reading-col);padding:14px 18px;background:transparent;border:1px solid var(--ink-2);outline:1px solid var(--ink-2);outline-offset:3px;border-radius:0}
.timeline-mainline h2{margin:0 0 5px;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--accent2)}
.timeline-mainline a{display:flex;justify-content:space-between;gap:16px;padding:7px 0;color:var(--text)}
.timeline-mainline small{flex:none;color:var(--text3)}
.timeline-stream,.all-timeline{position:relative;margin-top:18px;padding-left:0;border-left:0}
.timeline-stream{max-width:var(--reading-col);margin:18px auto 0}
.timeline-day,.all-day{position:relative;margin-bottom:24px}
.timeline-day>.feed-day,.all-day>.feed-day{margin:0 0 10px}
.timeline-day>.feed-day::before,.all-day>.feed-day::before{content:none}
.timeline-entry,.all-entry{position:relative;box-shadow:none;border-width:0 0 1px;border-radius:0;padding:12px 4px}
.timeline-entry h3 a::after{content:"";position:absolute;inset:0}.timeline-entry .srcs,.timeline-entry .acts,.timeline-entry .fb-panel{position:relative;z-index:1}
.timeline-time,.continuation-mark,.all-entry-meta{font-size:11.5px;color:var(--text3);font-variant-numeric:tabular-nums}
.continuation-mark{padding:1px 7px;border:1px solid var(--border2);border-radius:999px;color:var(--accent2)}
.all-tools{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.all-tools input,.all-tools select{min-height:38px;padding:7px 10px;border:1px solid var(--rule);border-radius:0;background:var(--card);color:var(--text)}
.all-list{display:flex;flex-direction:column}.all-entry{display:grid;gap:5px}.all-entry-meta{display:flex;align-items:center;gap:8px}
.weekly-reading{display:flex;flex-direction:column;gap:20px}.weekly-section{margin:0}.weekly-threads .wk-thread{padding-block:12px;border-bottom:1px solid var(--border)}
.topic-event-group{margin-bottom:24px}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:7px}.topic-card{padding:9px 11px;box-shadow:none}
.reading-view{font-family:var(--font-body,inherit)}
@container (min-width:740px){
  .supplemental:is([data-kind="more"],[data-kind="papers"],[data-kind="tracking"]) .more-list{display:block;columns:2;column-gap:36px;column-rule:1px solid var(--rule)}
  .supplemental:is([data-kind="more"],[data-kind="papers"],[data-kind="tracking"]) .more-list>*{break-inside:avoid;margin-bottom:8px}
}
@media(hover:hover) and (pointer:fine){.card:not(.timeline-entry):hover{background:var(--card-h)}[data-theme="dark"] .card:not(.timeline-entry):hover{background:var(--card-h)}}
@media(max-width:600px){
  .mast-plate{grid-template-columns:50px 1fr;min-height:70px}.mast-name{font-size:25px;letter-spacing:.12em}.mast-issue{grid-column:1/-1;margin-top:5px}.date-seal{width:44px;height:44px;font-size:11px;transform:none}.mast-meta{gap:4px 10px}.mast-meta span+span::before{margin-right:10px}.mast-lead{font-size:18px}
  .timeline-mainline a{display:flex;align-items:flex-start;flex-direction:column;gap:2px}.timeline-mainline small{display:block;margin-top:2px}
  .all-tools>*{flex:1 1 100%}.all-tools input,.all-tools select{width:100%;min-height:44px}
  .card{padding:14px 2px}.card h3{font-size:16px}.sec-title{font-size:17px}.weekly-stats>div:nth-child(3){border-left:0}
  .detail-title{font-size:28px}.topic-card{min-height:44px}
  .card h3 a,.deep h3,.more-list .row strong,.timeline-mainline span{overflow-wrap:anywhere}
}
