:root{
  --bg:#fbfaf7; --paper:#ffffff; --ink:#1b1d21; --ink2:#33373d; --muted:#6b717a; --line:#e6e3dc; --soft:#f3f1ec;
  --link:#1f5f99; --accent:#b4441f;
  --c-ai:#2f62c9; --c-sci:#18805b; --c-tech:#8a5a00; --c-lon:#8b3a8f;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","Microsoft YaHei",sans-serif;
  --t-off:#1d7a4f; --t-peer:#2457a6; --t-pre:#9a6400; --t-media:#56606c; --t-paywall:#a04e14; --t-rumor:#b3261e; --t-mouse:#7a3f9e; --t-human:#0f7a85; --t-an:#6b717a;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#141518; --paper:#1b1d21; --ink:#e8e6e1; --ink2:#c9c6c0; --muted:#9a9ea6; --line:#2c2f35; --soft:#202328;
    --link:#8cbcf0; --accent:#f08a63; --c-ai:#86a8f0; --c-sci:#5fc79d; --c-tech:#e0b25a; --c-lon:#d796da;
    --t-off:#5fc79d; --t-peer:#86a8f0; --t-pre:#e0b25a; --t-media:#a9b1bb; --t-paywall:#f0a06a; --t-rumor:#f2867d; --t-mouse:#c9a0e6; --t-human:#5cc6d0; --t-an:#9a9ea6; }
}
*{box-sizing:border-box}
html{font-size:17px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.8;text-autospace:normal;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,var(--link) 35%,transparent)}
a:hover{text-decoration-color:currentColor}
p{margin:0 0 .6em}
/* sticky section bar */
.bar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.bar-in{max-width:1120px;margin:0 auto;padding:.5rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.chips{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:.35em;padding:.18rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink2);font-size:.82rem;font-weight:600;text-decoration:none;line-height:1.6}
.chip span{font-weight:500;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.chip:hover{border-color:currentColor}
.c-ai{color:var(--c-ai)}.c-sci{color:var(--c-sci)}.c-tech{color:var(--c-tech)}.c-lon{color:var(--c-lon)}
.links{display:flex;gap:1rem;font-size:.82rem;flex:none}
.links a{color:var(--muted);text-decoration:none}.links a:hover{color:var(--ink)}
/* layout */
.page{max-width:1120px;margin:0 auto;padding:0 1.25rem;display:grid;grid-template-columns:minmax(0,1fr);justify-content:center}
main{min-width:0;max-width:40rem;width:100%;margin:0 auto;padding:2.2rem 0 4rem}
.rail{display:none}
@media (min-width:1080px){
  .page{grid-template-columns:230px minmax(0,40rem);gap:4rem}
  main{margin:0}
  .rail{display:block;position:sticky;top:58px;align-self:start;max-height:calc(100vh - 70px);overflow:auto;padding:2.4rem 0 2rem;font-size:.78rem;line-height:1.5}
  .rail-h{font-weight:700;color:var(--muted);letter-spacing:.08em;font-size:.72rem;margin-bottom:1rem}
  .rail-sec{margin:1rem 0 .35rem;font-weight:700}
  .rail-sec a{text-decoration:none;color:var(--ink)}
  .r-ai a{color:var(--c-ai)}.r-sci a{color:var(--c-sci)}.r-tech a{color:var(--c-tech)}.r-lon a{color:var(--c-lon)}
  .rail ol{margin:0;padding:0;list-style:none;counter-reset:r}
  .rail li{counter-increment:r;display:flex;gap:.45em;margin:.3rem 0}
  .rail li::before{content:counter(r);color:var(--muted);font-variant-numeric:tabular-nums;min-width:1em}
  .rail li a{color:var(--ink2);text-decoration:none}
  .rail li a:hover{color:var(--link)}
}
/* masthead */
.mast{margin-bottom:1.6rem}
h1{font-size:1.05rem;letter-spacing:.12em;margin:0 0 .3rem;font-weight:800}
h1 a.home{color:inherit;text-decoration:none}
.meta{margin:0;display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;color:var(--muted);font-size:.86rem}
.meta time{color:var(--ink);font-weight:700;font-size:1.65rem;line-height:1.3;width:100%;letter-spacing:.01em}
/* top 3 */
.top3{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;padding:1.1rem 1.25rem .6rem;margin:0 0 1.2rem}
.top3 h2{font-size:.8rem;letter-spacing:.14em;color:var(--accent);margin:0 0 .6rem;font-weight:800}
.top3 ol{margin:0;padding:0;list-style:none;counter-reset:t}
.top3 li{counter-increment:t;position:relative;padding:0 0 .7rem 1.9rem;margin-bottom:.7rem;border-bottom:1px solid var(--soft)}
.top3 li:last-child{border-bottom:0;margin-bottom:0}
.top3 li::before{content:counter(t);position:absolute;left:0;top:.1rem;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--ink);color:var(--bg);font-size:.75rem;font-weight:700;display:grid;place-items:center;line-height:1}
.top3 p{margin:0 0 .3rem;font-size:.97rem;color:var(--ink2)}
.top3 p b{color:var(--ink);margin-right:.25em}
.top3 p.an{font-size:.88rem;color:var(--muted);line-height:1.7}
.top3 .jump{white-space:nowrap;margin-left:.3em;font-size:.82rem}
.top3 .jump a{text-decoration:none;font-weight:700}
/* digest */
.digest-box{margin:0 0 2.2rem;font-size:.86rem;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.digest-box summary{cursor:pointer;padding:.55rem 1rem;color:var(--muted);font-weight:600}
table.digest{width:100%;border-collapse:collapse;table-layout:fixed}
table.digest th{display:none}
table.digest td{padding:.4rem 1rem;border-top:1px solid var(--soft);vertical-align:top;line-height:1.5}
table.digest td.sec{width:4.2rem;color:var(--muted);font-size:.78rem}
table.digest a{color:var(--ink2);text-decoration:none}
table.digest a:hover{color:var(--link)}
/* sections */
.sec{margin:0 0 2.6rem}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:2px solid currentColor;padding-bottom:.35rem;margin-bottom:.4rem}
.sec-ai .sechead{color:var(--c-ai)}.sec-sci .sechead{color:var(--c-sci)}.sec-tech .sechead{color:var(--c-tech)}.sec-lon .sechead{color:var(--c-lon)}
.sechead h2{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:.02em}
.secmeta{font-size:.75rem;color:var(--muted);white-space:nowrap}
.secnote{font-size:.82rem;color:var(--muted);margin:.4rem 0 0}
/* story */
.story{padding:1.35rem 0 1.2rem;border-bottom:1px solid var(--line);scroll-margin-top:64px}
.story:target{background:color-mix(in srgb,var(--accent) 6%,transparent);box-shadow:-12px 0 0 color-mix(in srgb,var(--accent) 6%,transparent),12px 0 0 color-mix(in srgb,var(--accent) 6%,transparent)}
.kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.74rem;color:var(--muted);margin-bottom:.35rem;line-height:1.5}
.num{font-weight:800;color:var(--ink);letter-spacing:.04em}
.sec-ai .num{color:var(--c-ai)}.sec-sci .num{color:var(--c-sci)}.sec-tech .num{color:var(--c-tech)}.sec-lon .num{color:var(--c-lon)}
.org{margin-left:auto}
.tag{display:inline-block;font-size:.7rem;line-height:1.45;padding:0 .42em;border-radius:3px;border:1px solid currentColor;font-weight:600;white-space:nowrap;margin-right:.25em}
.t-off{color:var(--t-off)}.t-peer{color:var(--t-peer)}.t-pre{color:var(--t-pre)}.t-media{color:var(--t-media)}.t-paywall{color:var(--t-paywall)}.t-rumor{color:var(--t-rumor)}.t-mouse{color:var(--t-mouse)}.t-human{color:var(--t-human)}
.t-an{color:var(--t-an);border-style:dashed}
.story h3{font-size:1.2rem;line-height:1.45;margin:0 0 .45rem;font-weight:700;letter-spacing:.005em;text-wrap:balance}
.dek{font-weight:500;color:var(--ink)}
.story p{color:var(--ink2)}
.story .dek{color:var(--ink)}
.ctx{margin:.55rem 0 .4rem;padding-left:.8rem;border-left:2px solid var(--line)}
.ctx .lbl{font-size:.74rem;font-weight:800;color:var(--ink);letter-spacing:.06em;margin-right:.5em}
.ctx p{display:inline;margin:0;font-size:.94rem}
.ctx.next{border-left-color:var(--accent)}
.ctx.prev{border-left-style:dotted}
.sources{font-size:.78rem;color:var(--muted);margin:.7rem 0 0;line-height:1.6}
.sources span{font-weight:700;margin-right:.6em}
.sources a{color:var(--muted)}
.sources a:hover{color:var(--link)}
/* briefs */
.briefs{padding:1.1rem 0 .2rem}
.briefs h4{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.14em;color:var(--muted)}
.briefs ul{margin:0;padding:0;list-style:none}
.briefs li{padding:.55rem 0;border-bottom:1px dashed var(--line);font-size:.93rem;color:var(--ink2);line-height:1.75;scroll-margin-top:64px}
.briefs li:last-child{border-bottom:0}
.briefs li b{color:var(--ink);margin-right:.3em}
.bsrc{font-size:.76rem;color:var(--muted);white-space:normal}
.bsrc a{color:var(--muted)}
.skipped{font-size:.78rem;color:var(--muted);margin:.4rem 0 0;font-style:normal}
/* correction + footer */
.corr{border:1px solid var(--line);border-left:3px solid var(--t-rumor);background:var(--paper);padding:.7rem 1rem;font-size:.86rem;border-radius:4px;margin:0 0 1.6rem;color:var(--ink2)}
.corr b{margin-right:.6em;color:var(--t-rumor)}
footer{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem}
footer summary{cursor:pointer;font-weight:600}
.legend{padding-left:0;list-style:none;margin:.6rem 0 1rem}
.legend li{margin:.25rem 0}
.pn{display:flex;justify-content:space-between;margin:1rem 0}
.disc{font-size:.74rem}
@media (max-width:560px){
  html{font-size:16.5px}
  .bar-in{padding:.45rem .9rem}
  .page{padding:0 1.1rem}
  main{padding-top:1.5rem}
  .meta time{font-size:1.45rem}
  .top3{padding:1rem .9rem .5rem}
  .top3 li{padding-left:1.7rem}
  .story h3{font-size:1.14rem}
  .org{margin-left:0;width:100%}
  .links{gap:.7rem}
}
@media print{.bar,.rail,.digest-box{display:none}body{background:#fff}}

/* ===== shared additions (v2): masthead lede, AI daily, archive indexes ===== */
.mast .lede{margin:.7rem 0 0;font-size:1rem;color:var(--ink2);line-height:1.7;font-weight:500}
.empty{color:var(--muted);font-size:.9rem;padding:1rem 0;margin:0}
.from-ai{font-size:.78rem;margin:.5rem 0 0}
.from-ai a{font-weight:600}
.pn a:empty{display:none}
.notes{font-size:.78rem;color:var(--muted);margin:.4rem 0 1rem}
.notes b{color:var(--ink2);margin-right:.5em}
/* AI daily */
.ai-page .lede{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;padding:1rem 1.2rem .5rem;margin:0 0 2rem}
.ai-page .lede ol{margin:0;padding-left:1.3rem}
.ai-page .lede li{margin:0 0 .6rem;color:var(--ink2)}
.ai-page .lede p{margin:0 0 .6rem;color:var(--ink2)}
.ai-page .lede-h{font-size:.8rem;letter-spacing:.14em;color:var(--accent);margin:0 0 .5rem;font-weight:800}
.facts{margin:.3rem 0 .4rem;padding-left:1.15rem}
.facts li{margin:.25rem 0;color:var(--ink2)}
.story .plain p{color:var(--ink2)}
.sec-plain .sechead{color:var(--ink)}
.sec-signal .sechead{color:var(--t-rumor)}
.sec-update .sechead{color:var(--muted)}
.sec-brief .sechead{color:var(--c-ai)}
.sec-practice .sechead{color:var(--c-sci)}
.sec-main .sechead{color:var(--c-ai)}
.t-cross{color:var(--t-off);border-style:double;border-width:3px}
.t-other{color:var(--muted)}
.plainlist{margin:.6rem 0;padding-left:1.15rem}
.plainlist li{margin:.45rem 0;color:var(--ink2);font-size:.95rem}
/* archive / index pages */
.idx main{max-width:44rem}
.idx .mast .sub{color:var(--muted);font-size:.9rem;margin:.3rem 0 0}
.month{margin:2rem 0 0}
.month h2{font-size:.8rem;letter-spacing:.14em;color:var(--accent);margin:0 0 .3rem;font-weight:800}
.entries{list-style:none;margin:0;padding:0}
.entries li{border-bottom:1px solid var(--line)}
.entries a{display:block;padding:.85rem 0;text-decoration:none;color:inherit}
.entries .d{font-weight:700;color:var(--ink);font-size:1rem}
.entries .d span{font-weight:500;color:var(--muted);font-size:.82rem;margin-left:.6em}
.entries .b{display:block;color:var(--ink2);font-size:.9rem;line-height:1.65;margin-top:.15rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.entries a:hover .d{color:var(--link)}
.pager{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin:2rem 0 0;font-size:.86rem}
.pager a,.pager span{min-width:2.1rem;height:2.1rem;padding:0 .6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid var(--line);text-decoration:none;color:var(--ink2);background:var(--paper)}
.pager .current{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:700}
.pager .disabled{opacity:.35}
.bar .brand{font-weight:800;letter-spacing:.1em;color:var(--ink);text-decoration:none;font-size:.9rem;flex:none}
.links a[aria-current="page"]{color:var(--ink);font-weight:700}
.idx h1{font-size:1.6rem;letter-spacing:.06em}
@media (min-width:1080px){.idx .page{grid-template-columns:minmax(0,44rem);gap:0}.idx main{margin:0 auto}}
/* nav: home brand before the chips on content pages */
.bar .brand{margin-right:.15rem}
.bar-in>.chips{flex:1 1 auto;min-width:0}
@media (max-width:560px){.bar-in{gap:.6rem}.bar .brand{font-size:.84rem;letter-spacing:.04em}body:not(.idx) .links a.opt{display:none}.chip{padding:.16rem .55rem}}
/* ===== homepage + archives, design B「卡片」(rebuild_index.py, publish_ai_daily.py --index-only) ===== */
.home .bar .brand{display:inline-flex;align-items:center;gap:.55rem}
.home .bar .brand::before{content:"";width:1rem;height:1rem;flex:none;border-radius:2px;
  background:linear-gradient(var(--c-ai),var(--c-ai)) 0 0/calc(50% - 1px) calc(50% - 1px) no-repeat,
  linear-gradient(var(--c-sci),var(--c-sci)) 100% 0/calc(50% - 1px) calc(50% - 1px) no-repeat,
  linear-gradient(var(--c-tech),var(--c-tech)) 0 100%/calc(50% - 1px) calc(50% - 1px) no-repeat,
  linear-gradient(var(--c-lon),var(--c-lon)) 100% 100%/calc(50% - 1px) calc(50% - 1px) no-repeat}
.home .bar-in{max-width:62rem}
.home main.hm{max-width:62rem;margin:0 auto;padding:0 1.75rem}
.home a{text-decoration:none;color:inherit}
.hm-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:3rem 0 1.4rem}
.home .hm-intro h1{font-size:2.3rem;font-weight:800;letter-spacing:.04em;line-height:1.2;margin:0}
.hm-intro p{color:var(--muted);font-size:.92rem;margin:.5rem 0 0}
.hm-intro-sm{padding:2.4rem 0 .4rem}.home .hm-intro-sm h1{font-size:1.7rem}
.hm-stat{display:flex;gap:2rem;text-align:right}
.hm-stat b{display:block;font-size:1.6rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.3;color:var(--ink)}
.hm-stat span{font-size:.74rem;color:var(--muted);letter-spacing:.04em;white-space:nowrap}
.hm-hero{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -28px rgba(30,25,15,.28)}
@media (prefers-color-scheme:dark){.hm-hero{box-shadow:none}}
.hm-spectrum{display:grid;grid-template-columns:3fr 3fr 3fr 2fr;height:4px}
.hm-spectrum i:nth-child(1){background:var(--c-ai)}.hm-spectrum i:nth-child(2){background:var(--c-sci)}
.hm-spectrum i:nth-child(3){background:var(--c-tech)}.hm-spectrum i:nth-child(4){background:var(--c-lon)}
.hm-in{padding:2rem 2.2rem 2.2rem}
.hm-hrow{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:0}
.hm-date{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
.hm-date small{font-size:.9rem;font-weight:600;color:var(--muted);letter-spacing:.06em;margin-left:.5rem}
.hm-badge{font-size:.72rem;font-weight:700;letter-spacing:.16em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);padding:.12rem .6rem;border-radius:999px}
.home .hm-sum{font-size:1.38rem;line-height:1.6;font-weight:650;margin:1.1rem 0 .9rem;max-width:44rem;text-wrap:pretty}
.hm-sum a:hover{color:var(--accent)}
.hm-meta{font-size:.82rem;color:var(--muted);display:flex;gap:1rem;flex-wrap:wrap;margin:0}
.hm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.hm-card{display:flex;flex-direction:column;border-radius:12px;background:var(--soft);padding:1.05rem 1.1rem 1.15rem;transition:background .2s}
.hm-card:hover{background:color-mix(in srgb,var(--soft) 70%,var(--line))}
.hm-lb{display:flex;gap:.35rem;margin-bottom:.55rem}
.hm-tag{font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:.08rem .5rem;border-radius:5px;line-height:1.6}
.hm-tag.k-ai{color:var(--c-ai);background:color-mix(in srgb,var(--c-ai) 12%,transparent)}
.hm-tag.k-sci{color:var(--c-sci);background:color-mix(in srgb,var(--c-sci) 12%,transparent)}
.hm-tag.k-tech{color:var(--c-tech);background:color-mix(in srgb,var(--c-tech) 12%,transparent)}
.hm-tag.k-lon{color:var(--c-lon);background:color-mix(in srgb,var(--c-lon) 12%,transparent)}
.hm-n{font-size:.72rem;font-weight:700;color:var(--muted);opacity:.7;margin-left:auto;font-variant-numeric:tabular-nums}
.hm-ct{font-size:1.02rem;font-weight:750;line-height:1.5;color:var(--ink)}
.hm-cf{font-size:.84rem;color:var(--muted);line-height:1.65;margin-top:.4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hm-actions{display:flex;gap:.7rem;margin:1.6rem 0 0;flex-wrap:wrap}
.hm-btn{display:inline-flex;align-items:center;font-size:.88rem;font-weight:650;padding:.55rem 1.15rem;border-radius:10px;background:var(--ink);color:var(--bg)!important}
.hm-btn2{background:transparent;color:var(--c-ai)!important;border:1px solid color-mix(in srgb,var(--c-ai) 40%,transparent)}
.hm-btn:hover{opacity:.88}
.hm-arch{padding:3rem 0 1rem}
.hm-arch-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}
.home .hm-arch-h h2{font-size:1.25rem;font-weight:800;letter-spacing:.06em;margin:0;color:var(--ink)}
.hm-legend{font-size:.76rem;color:var(--muted);margin:0}
.hm-legend i{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.35rem;vertical-align:.08em;background:var(--c-ai)}
.hm-week{margin-top:1.5rem}
.home .hm-week h3{font-size:.74rem;font-weight:700;color:var(--muted);letter-spacing:.14em;padding:.4rem 0;margin:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}
.hm-week h3 span{font-weight:500;letter-spacing:.04em}
.hm-rows{list-style:none;margin:0;padding:0}
.hm-rows li{display:grid;grid-template-columns:6.4rem 1fr 4.6rem;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:.85rem 0}
.hm-main{display:contents}
.hm-d{font-variant-numeric:tabular-nums;font-weight:700;font-size:.95rem;color:var(--ink)}
.hm-d small{font-weight:500;color:var(--muted);font-size:.78rem;margin-left:.4rem}
.hm-b{font-size:.93rem;color:var(--ink2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.hm-rows li:hover .hm-b{color:var(--ink)}
.hm-st{display:flex;justify-content:flex-end}
.hm-pill{font-size:.68rem;font-weight:700;padding:.1rem .45rem;border-radius:5px;letter-spacing:.04em;line-height:1.6;white-space:nowrap}
.hm-pill.hm-ai{color:var(--c-ai);background:color-mix(in srgb,var(--c-ai) 12%,transparent)}
.hm-pill.hm-brief{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.hm-pill.hm-ai:hover,.hm-pill.hm-brief:hover{filter:brightness(.92)}
.hm-pill.hm-none{color:var(--muted);opacity:.6;border:1px dashed var(--line)}
.home .pager{margin-top:2rem}
.home .pager a,.home .pager span{border-radius:8px}
.hm-foot{max-width:62rem;margin:0 auto;padding:2.4rem 1.75rem 3rem;color:var(--muted);font-size:.78rem;display:flex;justify-content:space-between;gap:1rem}
.hm-foot a{color:inherit;text-decoration:none}.hm-foot a:hover{color:var(--ink)}
@media (max-width:760px){
  .home main.hm{padding:0 1.1rem}
  .hm-intro{padding:1.9rem 0 1.1rem;flex-direction:column;align-items:flex-start;gap:1rem}
  .home .hm-intro h1{font-size:1.8rem}.hm-stat{text-align:left;gap:1.6rem}.hm-stat b{font-size:1.25rem}
  .hm-intro-sm{padding:1.6rem 0 .2rem}
  .hm-hero{border-radius:14px}.hm-in{padding:1.3rem 1.15rem 1.4rem}
  .hm-date{font-size:2.1rem}.home .hm-sum{font-size:1.16rem;line-height:1.65}
  .hm-cards{grid-template-columns:1fr;gap:.6rem}.hm-cf{-webkit-line-clamp:3}
  .hm-rows li{grid-template-columns:4.6rem 1fr;gap:.2rem .8rem;padding:.8rem 0;align-items:start}
  .hm-d{font-size:.9rem}.hm-d small{display:block;margin:0}
  .hm-b{grid-column:2;grid-row:1 / span 2;-webkit-line-clamp:2}
  .hm-st{grid-column:1;grid-row:2;justify-content:flex-start}
  .hm-legend{display:none}
  .hm-foot{flex-direction:column;gap:.4rem;padding:2rem 1.1rem 2.6rem}
}
.hm-legend-brief i{background:var(--accent)}
.hm-intro-sm + .hm-arch{padding-top:.6rem}
@media (max-width:760px){.hm-pill.hm-none{display:none}}

/* ===== archive list polish (page/N + homepage 往期 + /ai/) ===== */
.hm-arch-head{padding:2.4rem 0 1.2rem;border-bottom:1px solid var(--line);margin-bottom:.4rem}
.hm-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.22em;color:var(--accent);margin:0 0 .55rem}
.hm-arch-head h1{font-size:2.1rem;font-weight:800;letter-spacing:.04em;margin:0;line-height:1.2}
.hm-arch-sub{margin:.55rem 0 0;font-size:.9rem;color:var(--muted)}
.hm-arch-sub a{color:var(--ink);font-weight:650;border-bottom:1px solid var(--line)}
.hm-arch-sub a:hover{border-color:currentColor;color:var(--accent)}
.hm-month{display:flex;align-items:baseline;gap:.55rem;margin:2.1rem 0 .7rem;font-size:1.35rem;font-weight:800;letter-spacing:.06em;color:var(--ink)}
.hm-month span{font-size:.72rem;font-weight:700;letter-spacing:.18em;color:var(--muted)}
.hm-arch-page .hm-month:first-child{margin-top:.8rem}
.hm-week{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.15rem 0 .15rem;margin-top:.75rem;overflow:hidden}
.hm-wh{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 1.2rem .75rem;border-bottom:1px solid var(--line)}
.hm-wh h3{font-size:.95rem;font-weight:750;letter-spacing:.02em;margin:0;color:var(--ink)}
.hm-wh span{font-size:.74rem;font-weight:600;color:var(--muted);letter-spacing:.02em;white-space:nowrap}
.hm-rows{list-style:none;margin:0;padding:0}
.hm-rows li{display:grid;grid-template-columns:5.6rem minmax(0,1fr) auto;align-items:center;gap:.2rem 1.1rem;padding:.95rem 1.2rem;border-bottom:1px solid var(--line);transition:background .15s}
.hm-rows li:last-child{border-bottom:0}
.hm-rows li:hover{background:var(--soft)}
.hm-main{display:contents}
.hm-d{display:flex;flex-direction:column;gap:.15rem}
.hm-d b{font-variant-numeric:tabular-nums;font-weight:800;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink);line-height:1.1}
.hm-d small{font-weight:600;color:var(--muted);font-size:.72rem;letter-spacing:.04em}
.hm-b{font-size:.93rem;color:var(--ink2);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
.hm-rows li:hover .hm-b{color:var(--ink)}
.hm-st{display:flex;justify-content:flex-end;min-width:4.2rem}
.hm-pill{font-size:.68rem;font-weight:700;padding:.18rem .55rem;border-radius:999px;letter-spacing:.04em;line-height:1.5;white-space:nowrap}
.hm-pill.hm-ai{color:var(--c-ai);background:color-mix(in srgb,var(--c-ai) 12%,transparent)}
.hm-pill.hm-brief{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.hm-pill.hm-ai:hover,.hm-pill.hm-brief:hover{filter:brightness(.92)}
.hm-empty{padding:2.4rem 1.2rem;text-align:center;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:14px}
.hm-pager{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;align-items:center;margin:2rem 0 0;padding:1rem;background:var(--paper);border:1px solid var(--line);border-radius:14px;font-size:.88rem}
.hm-pager a,.hm-pager span{min-width:2.3rem;height:2.3rem;padding:0 .7rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid transparent;text-decoration:none;color:var(--ink2);background:transparent}
.hm-pager a:hover{background:var(--soft);color:var(--ink)}
.hm-pager .current{background:var(--ink);color:var(--bg);font-weight:700}
.hm-pager .nav-btn{border-color:var(--line);background:var(--bg);font-weight:650;padding:0 1rem}
.hm-pager .disabled{opacity:.35}
.hm-pg-meta{text-align:center;font-size:.78rem;color:var(--muted);margin:.7rem 0 0;letter-spacing:.04em}
.hm-arch-page .hm-arch{padding-top:.4rem}
.hm-arch-page .hm-foot{border-top:1px solid var(--line);margin-top:1.2rem}
@media (max-width:760px){
  .hm-arch-head{padding:1.7rem 0 1rem}
  .hm-arch-head h1{font-size:1.7rem}
  .hm-month{font-size:1.15rem;margin:1.6rem 0 .55rem}
  .hm-week{border-radius:12px;margin-top:.6rem}
  .hm-wh{padding:.75rem 1rem .65rem;flex-wrap:wrap;gap:.25rem .8rem}
  .hm-wh h3{font-size:.9rem}
  .hm-rows li{grid-template-columns:3.8rem minmax(0,1fr);gap:.15rem .85rem;padding:.85rem 1rem;align-items:start}
  .hm-d b{font-size:.95rem}
  .hm-b{grid-column:2;grid-row:1 / span 2;-webkit-line-clamp:3}
  .hm-st{grid-column:1;grid-row:2;justify-content:flex-start;min-width:0}
  .hm-pager{padding:.75rem;gap:.3rem;border-radius:12px}
  .hm-pager a,.hm-pager span{min-width:2.1rem;height:2.1rem}
  .hm-pager .nav-btn{padding:0 .75rem;font-size:.82rem}
}
.hm-rows li:not(.has-side){grid-template-columns:5.6rem minmax(0,1fr)}
.hm-rows li:not(.has-side) .hm-st{display:none}
@media (max-width:760px){
  .hm-rows li:not(.has-side){grid-template-columns:3.8rem minmax(0,1fr)}
  .hm-rows li:not(.has-side) .hm-b{grid-row:1}
}
/* ===== pagination control (往期分页) ===== */
.pg{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:2.6rem auto 0;flex-wrap:nowrap}
.pg-nums{display:flex;align-items:center;gap:.3rem;list-style:none;margin:0;padding:.3rem;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.pg-nums li{display:flex}
.pg-n{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .8rem;border-radius:999px;font-size:.92rem;font-weight:650;font-variant-numeric:tabular-nums;color:var(--ink2);text-decoration:none;transition:background .15s,color .15s}
a.pg-n:hover{background:var(--soft);color:var(--ink)}
.pg-n.is-cur{background:var(--accent);color:#fff;box-shadow:0 4px 12px -6px color-mix(in srgb,var(--accent) 70%,transparent)}
.pg-gap{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:2.5rem;color:var(--muted);font-size:.9rem;letter-spacing:.1em}
.pg-btn{display:inline-flex;align-items:center;gap:.45rem;height:2.9rem;padding:0 1.15rem;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:.9rem;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .15s}
.pg-prev{padding-left:.9rem}.pg-next{padding-right:.9rem}
a.pg-btn:hover{border-color:var(--ink2);background:var(--soft)}
a.pg-btn:hover .pg-ic{transform:translateX(var(--nudge,0))}
.pg-prev{--nudge:-2px}.pg-next{--nudge:2px}
.pg-ic{flex:none;transition:transform .15s}
.pg-btn.is-off{color:var(--muted);opacity:.45;cursor:not-allowed;background:transparent;border-style:dashed}
.pg a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pg-compact{display:none;font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.pg-compact b{color:var(--ink);font-weight:800;font-size:1.05rem}
.pg-meta{text-align:center;font-size:.76rem;color:var(--muted);margin:.85rem 0 0;letter-spacing:.06em}
@media (prefers-color-scheme:dark){
  .pg-n.is-cur{color:#17191c;box-shadow:none}
  .pg-nums,.pg-btn{background:var(--paper)}
}
@media (max-width:560px){
  .pg{gap:.6rem;justify-content:space-between;margin-top:2rem}
  .pg-nums{display:none}
  .pg-compact{display:inline-block}
  .pg-meta .pg-pos{display:none}
  .pg-btn{height:2.75rem;padding:0 1rem;font-size:.86rem}
  .pg-prev{padding-left:.75rem}.pg-next{padding-right:.75rem}
}
/* ===== public pages: subscribe block, site footer, about/corrections ===== */
.sub{border:1px solid var(--line);background:var(--paper);border-radius:18px}
.sub-card{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;margin:2.6rem 0 0;padding:1.5rem 1.7rem;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--paper)),var(--paper) 60%)}
.sub-card h2{margin:0 0 .35rem;font-size:1.12rem;letter-spacing:.02em}
.sub-card p{margin:0;color:var(--ink2);font-size:.9rem;line-height:1.7}
.sub code{font-size:.82em;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:.05rem .4rem;white-space:nowrap}
.sub-act{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;flex:none}
.sub-rss{display:inline-flex;align-items:center;gap:.5rem;height:2.75rem;padding:0 1.2rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.sub-rss:hover{filter:brightness(1.07)}
.sub-rss:focus-visible,.sub-form :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sub-form{display:flex;gap:.4rem}
.sub-form input{height:2.75rem;min-width:13rem;padding:0 1rem;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}
.sub-form button{height:2.75rem;padding:0 1.1rem;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:inherit;font-weight:700;cursor:pointer}
.sub-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sub-slim{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.4rem 0 .4rem;padding:.9rem 1rem .9rem 1.2rem}
.sub-slim p{margin:0;font-size:.86rem;color:var(--ink2)}
.sub-slim .sub-rss{height:2.5rem;font-size:.84rem;padding:0 1rem}
.site-foot{display:block;border-top:1px solid var(--line);margin-top:2.4rem}
.site-foot .sf-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.sf-links{display:flex;gap:1.1rem;flex-wrap:wrap}
.sf-links a{padding:.35rem 0}
.sf-disc{margin:.9rem 0 0;font-size:.74rem;line-height:1.7;color:var(--muted);max-width:44rem}
body:not(.idx) .site-foot{max-width:62rem}
@media (prefers-color-scheme:dark){.sub-rss{color:#17191c}}
@media (max-width:560px){
  .sub-card{flex-direction:column;align-items:stretch;padding:1.2rem;gap:1rem}
  .sub-act{flex-direction:column;align-items:stretch}.sub-rss{justify-content:center}
  .sub-form{flex-direction:column}.sub-form input{min-width:0}
  .sub-slim{flex-direction:column;align-items:stretch;padding:1rem}
  .sf-links{gap:.9rem}
}
.doc{max-width:46rem}
.doc-head{margin-bottom:1.4rem}
.doc-head .lede{margin:.7rem 0 0;font-size:1rem;line-height:1.85;color:var(--ink2)}
.doc-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.3rem 1.6rem;margin:0 0 1rem}
.doc-card h2{margin:0 0 .7rem;font-size:1.05rem;display:flex;align-items:center;gap:.55rem}
.doc-card h2::before{content:"";width:.32rem;height:1.05rem;border-radius:3px;background:var(--accent)}
.doc-card p,.doc-card li{font-size:.94rem;line-height:1.85;color:var(--ink2)}
.doc-card p{margin:.4rem 0}
.doc-card ul,.doc-card ol{margin:.4rem 0;padding-left:1.2rem}
.doc-card a{color:var(--accent)}
.doc-two{list-style:none;padding:0!important}
.doc-two li{padding:.15rem 0}
.doc-secs{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:.8rem 0!important}
.doc-secs li{display:flex;align-items:center;gap:.6rem;background:var(--soft);border-radius:12px;padding:.55rem .8rem;font-size:.9rem}
.doc-sec{font-size:.75rem;color:#fff;border-radius:999px;padding:.05rem .55rem;flex:none}
.doc-ai{background:var(--c-ai)}.doc-sci{background:var(--c-sci)}.doc-tech{background:var(--c-tech)}.doc-lon{background:var(--c-lon)}
.doc-note{font-size:.85rem!important;color:var(--muted)!important}
.doc-score{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.doc-score li{background:var(--soft);border-radius:12px;padding:.6rem .85rem;font-size:.86rem;line-height:1.6}
.doc-score b{display:block;color:var(--ink);font-size:.92rem;margin-bottom:.1rem}
.doc-tbl{overflow-x:auto;margin:.6rem -.2rem 0}
.doc-tags{width:100%;border-collapse:collapse;font-size:.88rem}
.doc-tags th,.doc-tags td{padding:.55rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;line-height:1.6;color:var(--ink2)}
.doc-tags thead th{font-size:.75rem;color:var(--muted);font-weight:600;letter-spacing:.05em}
.doc-tags tbody th{font-size:.78rem;color:var(--muted);font-weight:600;white-space:nowrap;vertical-align:top}
.doc-tags td:nth-child(2),.doc-tags tr:has(th[scope=rowgroup]) td:first-of-type{white-space:nowrap}
.doc-todo{border:1.5px dashed var(--accent);border-radius:12px;padding:.8rem 1rem!important;background:color-mix(in srgb,var(--accent) 6%,transparent)}
.doc-todo b{color:var(--accent)}
.doc .sub-card{margin-top:1.6rem}
.cr-list{list-style:none;margin:0;padding:0!important}
.cr{display:grid;grid-template-columns:4.6rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px dashed var(--line)}
.cr:first-child{padding-top:.2rem}.cr:last-child{border-bottom:0;padding-bottom:.2rem}
.cr-d b{display:block;font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.cr-d small{font-size:.74rem;color:var(--muted)}
.cr-b p{margin:0 0 .35rem}
.cr-m{font-size:.8rem!important;color:var(--muted)!important;display:flex;gap:.9rem;flex-wrap:wrap}
.cr-m a{text-decoration:none}
.doc-small li{font-size:.86rem}
@media (max-width:560px){
  .doc-card{padding:1.1rem 1.1rem;border-radius:16px}
  .doc-secs,.doc-score{grid-template-columns:1fr}
  .cr{grid-template-columns:1fr;gap:.3rem}.cr-d b{display:inline;margin-right:.4rem}
}
@media (prefers-color-scheme:dark){.doc-sec{color:#17191c}}
