/* 周报（2026-10-24「按期翻的刊物版」）。只作用于 .v3-weekly，颜色用外壳令牌，深色模式跟着走。
   内容线 8 种颜色（--wl1…--wl8，超过 8 条循环）：浅色照老周报的线色，深色提亮一档，保证方块和线名在深底上看得清。 */
.v3-weekly{--wk-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wk-sh2:0 1px 2px rgba(12,12,14,.04),0 10px 30px -12px rgba(12,12,14,.16);
  --wk-rose2:color-mix(in srgb,var(--sv-rose) 82%,var(--sv-ink));
  --wl1:#a45991;--wl2:#2f8a62;--wl3:#e65b3d;--wl4:#157b92;--wl5:#4c64c8;--wl6:#b16d25;--wl7:#8b5bb0;--wl8:#687385}
html.dark .v3-weekly{--wk-sh2:0 1px 2px rgba(0,0,0,.3),0 12px 30px -12px rgba(0,0,0,.7);--wk-rose2:color-mix(in srgb,var(--sv-rose) 70%,#fff);
  --wl1:#d585c3;--wl2:#4fbf8c;--wl3:#ff8064;--wl4:#3fb5cf;--wl5:#8a9ff5;--wl6:#dd9c52;--wl7:#b993e6;--wl8:#9ea9bc}
.v3-weekly h1,.v3-weekly h2,.v3-weekly h3,.v3-weekly p,.v3-weekly ol{margin:0}
.v3-weekly h1,.v3-weekly h2,.v3-weekly h3{text-wrap:balance}
.v3-weekly ol{list-style:none;padding:0}
.v3-weekly .i{flex:none}
.v3-weekly .wk-sec{padding-top:88px}
.v3-weekly .v3-sh{margin-bottom:30px}
.v3-weekly .v3-sh .v3-h2{margin-top:10px}
.v3-weekly .v3-sh p{margin-top:12px}
.v3-weekly .sep{width:3px;height:3px;border-radius:50%;background:var(--sv-ink-3);opacity:.6;flex:none}
/* 线名：彩色小点 + 线名 */
.v3-weekly .lt{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--lc);white-space:nowrap}
.v3-weekly .lt::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lc);flex:none}
/* 没有封面的文章：线色淡底 + 栏目名 */
.v3-weekly .nc{display:grid;place-items:center;aspect-ratio:1200/630;width:100%;font-size:12px;font-weight:600;
  background:color-mix(in oklab,var(--lc,var(--sv-ink-3)) 16%,var(--sv-bg-2));color:var(--lc,var(--sv-ink-3))}

/* ---------- 刊头 ---------- */
.v3-weekly .wk-bar{display:flex;justify-content:space-between;align-items:baseline;gap:8px 12px;flex-wrap:wrap;padding:28px 0 14px;
  border-bottom:1.5px solid var(--sv-ink);font-size:13px;color:var(--sv-ink-3)}
.v3-weekly .wk-bar>b{font-size:15px;color:var(--sv-ink);letter-spacing:-.01em}
.v3-weekly .wk-bar>span{font-variant-numeric:tabular-nums}
.v3-weekly .wk-nav{display:flex;gap:6px;align-items:center}
.v3-weekly .wk-nav a,.v3-weekly .wk-nav span{display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;color:var(--sv-ink-2);
  padding:4px 10px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--sv-line);white-space:nowrap}
.v3-weekly .wk-nav a:hover{background:var(--sv-bg-2);color:var(--sv-ink)}
.v3-weekly .wk-nav span{opacity:.4;cursor:default}
.v3-weekly .wk-h{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:end;padding:44px 0 40px;border-bottom:1px solid var(--sv-line)}
.v3-weekly .wk-hl{font-size:clamp(34px,4.6vw,58px);line-height:1.08;letter-spacing:-.035em;font-weight:700}
.v3-weekly .wk-lede{font-size:16px;line-height:1.7;color:var(--sv-ink-2)}
.v3-weekly .wk-n{display:grid;grid-template-columns:repeat(4,1fr);margin-top:26px}
.v3-weekly .wk-n div{padding-right:14px;min-width:0}
.v3-weekly .wk-n b{display:block;font-size:28px;font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.v3-weekly .wk-n b small{font-size:14px;letter-spacing:0;margin-left:2px}
.v3-weekly .wk-n span{display:block;font-size:12px;color:var(--sv-ink-3);margin-top:6px}
.v3-weekly .wk-empty{padding:44px 0;color:var(--sv-ink-2)}

/* ---------- 封面故事 + 本周必读 ---------- */
.v3-weekly .wk-cs{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:40px;align-items:start;padding-top:56px}
.v3-weekly .wk-cs.solo{grid-template-columns:minmax(0,1fr);max-width:760px}
.v3-weekly .wk-cover{display:flex;flex-direction:column;gap:12px;min-width:0}
.v3-weekly .wk-cover .media{display:block;border-radius:24px;overflow:hidden;aspect-ratio:1200/630;background:var(--sv-bg-3);box-shadow:inset 0 0 0 1px var(--sv-line)}
.v3-weekly .wk-cover .media img,.v3-weekly .wk-cover .media .nc{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.v3-weekly .wk-cover:hover .media img{transform:scale(1.03)}
.v3-weekly .wk-cover .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--sv-ink-3);margin-top:4px}
.v3-weekly .wk-cover .ck{color:var(--sv-rose);font-weight:600}
.v3-weekly .wk-cover h2{font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-.025em;font-weight:700;transition:color .15s}
.v3-weekly .wk-cover:hover h2{color:var(--wk-rose2)}
.v3-weekly .wk-cover p{font-size:15.5px;line-height:1.65;color:var(--sv-ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v3-weekly .wk-must{display:grid;min-width:0}
.v3-weekly .wk-must .k{font-size:13px;font-weight:600;color:var(--sv-rose);padding-bottom:12px;border-bottom:1px solid var(--sv-line)}
.v3-weekly .wk-mi{display:grid;grid-template-columns:36px minmax(0,1fr) 112px;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid var(--sv-line)}
.v3-weekly .wk-mi .no{font-size:26px;font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--sv-ink-3);font-variant-numeric:tabular-nums}
.v3-weekly .wk-mi .tx{min-width:0}
.v3-weekly .wk-mi h3{font-size:15.5px;line-height:1.45;letter-spacing:-.01em;font-weight:650;margin-top:6px;transition:color .15s}
.v3-weekly .wk-mi:hover h3{color:var(--wk-rose2)}
.v3-weekly .wk-mi p{font-size:13px;color:var(--sv-ink-2);margin-top:6px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v3-weekly .wk-mi .th{width:112px;aspect-ratio:1200/630;object-fit:cover;border-radius:9px;box-shadow:0 0 0 1px var(--sv-line)}

/* ---------- 本周节奏 ---------- */
.v3-weekly .wk-rhy{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;padding:28px 24px 18px;border-radius:24px;
  background:var(--sv-bg-2);box-shadow:inset 0 0 0 1px var(--sv-line)}
.v3-weekly .rd{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;min-width:0}
.v3-weekly .rd .stack{display:flex;flex-direction:column-reverse;gap:4px;height:200px;align-items:center;width:100%}
.v3-weekly .rd .stack a{width:min(84px,82%);flex:0 1 26px;min-height:5px;border-radius:6px;background:var(--lc);transition:transform .15s,opacity .2s,filter .15s}
.v3-weekly .rd .stack a:hover,.v3-weekly .rd .stack a:focus-visible{transform:scaleX(1.06);filter:brightness(1.1)}
.v3-weekly .rd .lab{text-align:center;font-size:12.5px;color:var(--sv-ink-3);line-height:1.4;border-top:1px solid var(--sv-line-2);padding-top:10px;width:100%;white-space:nowrap}
.v3-weekly .rd .lab b{display:block;font-size:14px;color:var(--sv-ink)}
.v3-weekly .rd .lab em{font-style:normal;font-family:var(--wk-mono);font-size:11.5px}
.v3-weekly .wk-lg{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.v3-weekly .wk-lg button{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--sv-ink-2);padding:6px 12px;border-radius:999px;
  box-shadow:inset 0 0 0 1px var(--sv-line);background:var(--sv-bg)}
.v3-weekly .wk-lg button::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lc)}
.v3-weekly .wk-lg button small{font-family:var(--wk-mono);font-size:11px;color:var(--sv-ink-3)}
.v3-weekly .wk-lg button:hover{color:var(--sv-ink)}
.v3-weekly .wk-lg button[aria-pressed="true"]{box-shadow:inset 0 0 0 1.5px var(--lc);color:var(--sv-ink)}
/* 点了某条线：其他线的方块和卡片变淡 */
.v3-weekly.f .rd .stack a:not(.on),.v3-weekly.f .lc:not(.on){opacity:.15}

/* ---------- 内容线 ---------- */
.v3-weekly .wk-lcs{columns:3;column-gap:20px}
.v3-weekly .lc{break-inside:avoid;margin-bottom:20px;border-radius:16px;background:var(--sv-bg);box-shadow:inset 0 0 0 1px var(--sv-line);
  padding:20px 20px 12px;position:relative;overflow:hidden;overflow:clip;transition:opacity .2s}
html.dark .v3-weekly .lc{background:var(--sv-raise)}
.v3-weekly .lc::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--lc)}
.v3-weekly .lc-h{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.v3-weekly .lc-h .no{font-family:var(--wk-mono);font-size:12px;font-weight:600;color:var(--lc)}
.v3-weekly .lc-h h3{font-size:17px;letter-spacing:-.015em;font-weight:700;min-width:0}
.v3-weekly .lc-h .cnt{margin-left:auto;font-size:12px;color:var(--sv-ink-3);white-space:nowrap}
.v3-weekly .lc li{padding:10px 0;border-top:1px solid var(--sv-line)}
.v3-weekly .lc li:first-child{border-top:0}
.v3-weekly .lc li a{display:block;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.005em}
.v3-weekly .lc li a:hover{color:var(--lc)}
.v3-weekly .lc li .m{display:block;font-size:11.5px;color:var(--sv-ink-3);margin-top:2px}
.v3-weekly .lc li.more{display:none}
/* 复选框不显示也不拿焦点（能拿焦点时点 label 页面会跳）；键盘用 label 本身（tabindex + weekly.js） */
.v3-weekly .lc .mx{display:none}
.v3-weekly .lc .mx:checked~ol li.more{display:block}
.v3-weekly .lc .tg{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--sv-ink-2);padding:8px 0 4px;cursor:pointer;user-select:none}
.v3-weekly .lc .tg:hover{color:var(--sv-ink)}
.v3-weekly .lc .tg:focus-visible{outline:2px solid var(--sv-rose);outline-offset:2px;border-radius:4px}
.v3-weekly .lc .tg .c{display:none}
.v3-weekly .lc .mx:checked~.tg .o{display:none}
.v3-weekly .lc .mx:checked~.tg .c{display:inline}
.v3-weekly .lc .tg .i{transition:transform .15s}
.v3-weekly .lc .mx:checked~.tg .i{transform:rotate(45deg)}

/* ---------- 封面带 / 往期：横向滑动 ---------- */
.v3-weekly .wk-arr{display:flex;gap:6px}
.v3-weekly .wk-arr button{width:36px;height:36px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--sv-line-2);display:grid;place-items:center;color:var(--sv-ink-2)}
.v3-weekly .wk-arr button:hover{background:var(--sv-bg-2);color:var(--sv-ink)}
.v3-weekly .wk-arr button:disabled{opacity:.35;cursor:default;background:none}
.v3-weekly .wk-strip{display:grid;grid-auto-flow:column;grid-auto-columns:232px;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin;overscroll-behavior-x:contain}
.v3-weekly .wk-strip a{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;min-width:0}
.v3-weekly .wk-strip img,.v3-weekly .wk-strip .nc{aspect-ratio:1200/630;width:100%;object-fit:cover;border-radius:10px;box-shadow:0 0 0 1px var(--sv-line);transition:transform .3s}
.v3-weekly .wk-strip a:hover img{transform:translateY(-3px)}
.v3-weekly .wk-strip .lt{font-size:12px}
.v3-weekly .wk-strip .t{font-size:13px;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v3-weekly .wk-strip a:hover .t{color:var(--wk-rose2)}

.v3-weekly .wk-band{margin-top:96px;padding:80px 0 88px;background:var(--sv-bg-2);border-block:1px solid var(--sv-line)}
.v3-weekly .wk-arch{display:grid;grid-auto-flow:column;grid-auto-columns:156px;gap:10px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity;
  scrollbar-width:thin;position:relative;overscroll-behavior-x:contain}
.v3-weekly .ac{scroll-snap-align:start;background:var(--sv-bg);border-radius:16px;padding:12px;box-shadow:inset 0 0 0 1px var(--sv-line);
  display:flex;flex-direction:column;gap:8px;min-width:0;transition:box-shadow .2s,transform .15s}
html.dark .v3-weekly .ac{background:var(--sv-raise)}
.v3-weekly .ac:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--sv-line-2),var(--wk-sh2)}
.v3-weekly .ac.cur{box-shadow:inset 0 0 0 2px var(--sv-rose)}
.v3-weekly .ac .hd{display:flex;align-items:center;justify-content:space-between;gap:6px}
.v3-weekly .ac .hd b{font-size:18px;letter-spacing:-.03em;line-height:1.2}
.v3-weekly .ac .yr{font-family:var(--wk-mono);font-size:11px;color:var(--sv-ink-3)}
.v3-weekly .ac .new{font-size:10.5px;font-weight:600;color:#fff;background:var(--sv-rose);border-radius:999px;padding:0 7px;line-height:17px}
.v3-weekly .ac .rg{font-family:var(--wk-mono);font-size:11px;color:var(--sv-ink-3);margin-top:-6px}
.v3-weekly .ac .mos{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:9px;overflow:hidden;min-height:0}
.v3-weekly .ac .mos img,.v3-weekly .ac .mos .nc,.v3-weekly .ac .mos i{aspect-ratio:1200/630;object-fit:cover;width:100%;border-radius:0;font-size:10px}
.v3-weekly .ac .mos i,.v3-weekly .ac .mos img,.v3-weekly .wk-strip img,.v3-weekly .wk-mi .th{background:var(--sv-bg-2)}
html.dark .v3-weekly .ac .mos i{background:var(--sv-bg-3)}
.v3-weekly .ac .n{font-size:24px;font-weight:700;letter-spacing:-.04em;line-height:1;margin-top:2px}
.v3-weekly .ac .n small{font-size:12px;font-weight:600;letter-spacing:0;margin-left:2px;color:var(--sv-ink-3)}
.v3-weekly .ac .ln{font-size:12px;color:var(--sv-ink-2);line-height:1.5}
.v3-weekly .ac .go{margin-top:auto;padding-top:8px;border-top:1px solid var(--sv-line);font-size:12.5px;font-weight:600;color:var(--sv-ink)}
.v3-weekly .ac:hover .go{color:var(--wk-rose2)}
.v3-weekly .ac.cur .go{color:var(--sv-rose)}

/* ---------- 窄屏 ---------- */
@media (max-width:920px){
  .v3-weekly .wk-h,.v3-weekly .wk-cs{grid-template-columns:minmax(0,1fr);gap:28px}
  .v3-weekly .wk-lcs{columns:2}
  .v3-weekly .wk-rhy{gap:6px;padding:20px 12px 14px}
  .v3-weekly .rd .stack a{flex-basis:20px}
}
@media (max-width:600px){
  .v3-weekly .wk-sec{padding-top:60px}
  .v3-weekly .wk-bar{padding-top:20px}
  .v3-weekly .wk-bar>span{order:3;flex-basis:100%;font-size:12.5px}
  .v3-weekly .wk-h{padding:28px 0 30px;gap:20px}
  .v3-weekly .wk-hl{font-size:clamp(30px,8.6vw,40px);letter-spacing:-.03em}
  .v3-weekly .wk-n{grid-template-columns:1fr 1fr;gap:16px 0;margin-top:20px}
  .v3-weekly .wk-cs{padding-top:36px}
  .v3-weekly .wk-cover .media{border-radius:18px}
  .v3-weekly .wk-mi{grid-template-columns:30px minmax(0,1fr)}
  .v3-weekly .wk-mi .th{display:none}
  .v3-weekly .wk-lcs{columns:1}
  .v3-weekly .rd .stack{height:150px}
  .v3-weekly .rd .stack a{flex-basis:14px;border-radius:4px;width:86%}
  .v3-weekly .rd .lab{font-size:11px}
  .v3-weekly .rd .lab b{font-size:12.5px}
  .v3-weekly .rd .lab em{display:none}
  .v3-weekly .wk-strip{grid-auto-columns:72%}
  .v3-weekly .wk-band{margin-top:64px;padding:56px 0 64px}
  .v3-weekly .wk-arr{display:none}
}
