/* 花衫日报 · news.huashan.app
   设计规格：site-src/DESIGN.md（wired）
   黑白二重奏 / 直角 / 无阴影 / 发丝线分隔 / 叙事衬线·结构无衬线 */

:root{
  /* Colors — DESIGN.md §Colors，唯一彩色是行内链接蓝 */
  --ink:#000000;
  --ink-soft:#1a1a1a;
  --body:#757575;
  --canvas:#ffffff;
  --canvas-soft:#f5f5f5;
  --hairline:#e0e0e0;
  --link:#057dbc;

  /* Type — 专有字体的开源替代见 DESIGN.md §Note on Font Substitutes */
  --display:'Playfair Display','Noto Serif SC',Georgia,serif;
  --serif:'Lora','Noto Serif SC',Georgia,serif;
  --sans:'Manrope','Noto Sans SC',-apple-system,sans-serif;

  /* Spacing — 4px 基数 */
  --xxs:2px; --xs:4px; --sm:8px; --md:12px; --lg:16px;
  --xl:20px; --2xl:24px; --3xl:32px; --4xl:48px;

  --container:1400px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--serif);font-size:16px;line-height:1.5;
}
/* 全站直角 —— DESIGN.md: 品牌从不软化交互元素的转角 */
a,button,input,img,div,section,article{border-radius:0}
a{color:var(--ink);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:2px}

.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--2xl)}

/* ── 报头：一条细黑带，居中字标，无其他装饰 ───────────── */
.mast{background:var(--ink);color:var(--canvas)}
.mast-inner{max-width:var(--container);margin:0 auto;padding:var(--lg) var(--2xl);
  display:flex;align-items:center;justify-content:center;position:relative}
.wordmark{font-family:var(--display);font-size:clamp(30px,5.2vw,52px);font-weight:400;
  line-height:.93;letter-spacing:-.5px;color:var(--canvas)}
.wordmark:hover{text-decoration:none;opacity:.82}
.mast-nav{position:absolute;right:var(--2xl);display:flex;gap:var(--xl);
  font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.4px}
.mast-nav a{color:var(--canvas);opacity:.72}
.mast-nav a:hover{opacity:1;text-decoration:none}
.mast-sub{border-bottom:1px solid var(--hairline)}
.mast-sub-inner{max-width:var(--container);margin:0 auto;padding:var(--sm) var(--2xl);
  display:flex;justify-content:space-between;gap:var(--lg);
  font-family:var(--sans);font-size:12px;line-height:16px;color:var(--body)}

/* ── 刊头 ─────────────────────────────────────────── */
.issue-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--2xl);
  padding:var(--4xl) 0 var(--xl);border-bottom:1px solid var(--ink)}
.dateline .d-main{display:block;font-family:var(--display);font-weight:400;
  font-size:clamp(34px,5.6vw,52px);line-height:1;letter-spacing:-.4px}
.dateline .d-sub{display:block;font-family:var(--sans);font-size:14px;font-weight:400;
  letter-spacing:.4px;color:var(--body);margin-top:var(--sm)}
.tally{text-align:right;flex-shrink:0}
.tally-n{display:block;font-family:var(--display);font-size:clamp(36px,6vw,56px);line-height:1}
.tally-l{font-family:var(--sans);font-size:12px;letter-spacing:.4px;color:var(--body)}

/* 状态条：无衬线元数据层 */
.statusbar{display:flex;flex-wrap:wrap;gap:var(--sm) var(--lg);padding:var(--md) 0;
  border-bottom:1px solid var(--hairline);
  font-family:var(--sans);font-size:12px;line-height:16px;color:var(--body)}
.st i{font-style:normal;margin-right:var(--xs);color:var(--ink)}
.st-degraded i,.st-broken i{color:var(--link)}

/* ── 正文：导语 + 边栏 ─────────────────────────────── */
.issue-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;
  gap:var(--4xl);padding:var(--3xl) 0;align-items:start;min-width:0}

/* 导语用 BreveText 替代 Lora，19px lead */
.lede{font-size:19px;line-height:27.9px;letter-spacing:.108px;min-width:0;overflow-wrap:anywhere}
.lede :is(h1,h2,h3,h4){font-family:var(--display);font-weight:400;
  font-size:26px;line-height:28px;margin:var(--3xl) 0 var(--md)}
.lede :is(h1,h2,h3):first-child{margin-top:0}
.lede p{margin:0 0 var(--lg)}
.lede strong{font-weight:700}
.lede ol,.lede ul{margin:0 0 var(--lg);padding-left:var(--2xl)}
.lede li{margin:var(--sm) 0}
.lede a{color:var(--link)}

.rail{display:flex;flex-direction:column;gap:var(--3xl);position:sticky;top:var(--xl);min-width:0}
.rbox{border-top:2px solid var(--ink);padding-top:var(--md);min-width:0}
/* 分类眉标用无衬线 700 —— DESIGN.md §Principles */
.rbox h3{margin:0 0 var(--md);font-family:var(--sans);font-size:14px;font-weight:700;
  letter-spacing:.4px;text-transform:uppercase}
.rlist{list-style:none;margin:0;padding:0}
.rlist li{display:flex;justify-content:space-between;gap:var(--md);align-items:baseline;
  padding:var(--sm) 0;border-bottom:1px solid var(--hairline);font-size:14px}
.rlist li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}
.rlist li b{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--body);flex-shrink:0}
.tags{margin:0;font-family:var(--sans);font-size:13px;line-height:2;color:var(--body);
  display:flex;flex-wrap:wrap;gap:0 var(--md);min-width:0}
.tags span{white-space:normal;overflow-wrap:anywhere;min-width:0}
.tags sup{font-size:9px;margin-left:1px}

/* ── 分节标题 ─────────────────────────────────────── */
.sec{font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,48px);
  line-height:1.05;letter-spacing:-.4px;margin:var(--4xl) 0 var(--xl);
  padding-bottom:var(--md);border-bottom:2px solid var(--ink);
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--lg)}
.sec em{font-family:var(--sans);font-style:normal;font-size:14px;font-weight:700;
  letter-spacing:.4px;color:var(--body);flex-shrink:0}

/* ── 精选：杂志式故事网格（1 大 + 2 中 + 堆叠）───────── */
.feature{padding:0 0 var(--3xl);border-bottom:1px solid var(--hairline)}
.eyebrow{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.4px;
  text-transform:uppercase;color:var(--body);display:block;margin-bottom:var(--md)}
.feature h3{margin:0 0 var(--lg);font-family:var(--display);font-weight:400;
  font-size:clamp(30px,4.4vw,48px);line-height:1.05;letter-spacing:-.4px}
.feature p{margin:0 0 var(--lg);font-size:19px;line-height:27.9px;color:var(--ink-soft);max-width:74ch}
.byline{font-family:var(--sans);font-size:12px;line-height:16px;color:var(--body)}
.byline b{font-weight:700;color:var(--ink-soft)}

.two-up{display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-bottom:1px solid var(--hairline)}
.two-up .story{padding:var(--2xl) var(--2xl) var(--2xl) 0}
.two-up .story:last-child{padding-left:var(--2xl);padding-right:0;
  border-left:1px solid var(--hairline)}
.story h3{margin:0 0 var(--md);font-family:var(--display);font-weight:400;
  font-size:32px;line-height:35.2px;letter-spacing:-.3px}
.story p{margin:0 0 var(--md);font-size:16px;line-height:24px;color:var(--body)}

/* 竖排故事行：发丝线分隔 */
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--2xl);
  align-items:baseline;padding:var(--lg) 0;border-bottom:1px solid var(--hairline)}
.rows h3{margin:0 0 var(--xs);font-family:var(--display);font-weight:400;
  font-size:26px;line-height:28px}
.rows .meta{font-family:var(--sans);font-size:12px;line-height:16px;color:var(--body);
  text-align:right;white-space:nowrap}

/* ── 全部更新：紧凑清单 ───────────────────────────── */
ol.stream{list-style:none;margin:0;padding:0;border-top:1px solid var(--hairline)}
ol.stream li{display:grid;grid-template-columns:56px minmax(0,1fr) 200px;gap:var(--lg);
  align-items:baseline;padding:var(--md) 0;border-bottom:1px solid var(--hairline)}
ol.stream li:hover{background:var(--canvas-soft)}
.s-time,.s-feed{font-family:var(--sans);font-size:12px;line-height:16px;color:var(--body)}
.s-feed{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
ol.stream li a,.s-title{font-size:17px;line-height:22px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;display:block}

/* ── 往期 ─────────────────────────────────────────── */
ol.arch{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
ol.arch li{border-bottom:1px solid var(--hairline)}
ol.arch a{display:grid;grid-template-columns:150px 60px 70px minmax(0,1fr);
  gap:var(--lg);align-items:baseline;padding:var(--lg) 0}
ol.arch a:hover{background:var(--canvas-soft);text-decoration:none}
.a-date{font-family:var(--display);font-size:26px;line-height:28px}
.a-week,.a-n,.a-kw{font-family:var(--sans);font-size:12px;line-height:16px;color:var(--body)}
.a-n{font-weight:700;color:var(--ink)}
.a-kw{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-kw i{font-style:normal;margin:0 var(--md) 0 var(--xxs)}

.colophon{font-family:var(--sans);font-size:12px;line-height:16px;color:var(--body);
  margin:var(--3xl) 0 0;padding-top:var(--lg);border-top:1px solid var(--hairline)}

/* ── 页脚：黑带，只有文字 ─────────────────────────── */
.foot{background:var(--ink);color:var(--canvas);margin-top:var(--4xl)}
.foot-inner{max-width:var(--container);margin:0 auto;padding:var(--4xl) var(--2xl);
  display:flex;justify-content:space-between;align-items:flex-end;gap:var(--2xl);flex-wrap:wrap}
.foot .wordmark{font-size:32px}
.foot p{margin:0;font-family:var(--sans);font-size:12px;line-height:16px;opacity:.66}
.foot a{color:var(--canvas);opacity:.66}
.foot a:hover{opacity:1}

/* ── 响应式 ───────────────────────────────────────── */
@media (max-width:1024px){
  .issue-body{grid-template-columns:1fr;gap:var(--3xl)}
  .rail{position:static;flex-direction:row;flex-wrap:wrap;gap:var(--2xl)}
  .rbox{flex:1 1 240px}
}
@media (max-width:768px){
  .wrap,.mast-inner,.mast-sub-inner,.foot-inner{padding-left:var(--lg);padding-right:var(--lg)}
  .mast-nav{position:static;margin-left:auto}
  .mast-inner{justify-content:space-between}
  .two-up{grid-template-columns:1fr}
  .two-up .story{padding:var(--xl) 0}
  .two-up .story:last-child{padding-left:0;border-left:none;border-top:1px solid var(--hairline)}
  ol.stream li{grid-template-columns:50px minmax(0,1fr);row-gap:var(--xxs)}
  .s-feed{grid-column:2;text-align:left}
  ol.arch a{grid-template-columns:110px 50px 56px;row-gap:var(--xs)}
  .a-kw{grid-column:1/-1}
  .rows li{grid-template-columns:1fr;gap:var(--xs)}
  .rows .meta{text-align:left}
}
