:root { --ink:#171714; --paper:#f3efe5; --paper-2:#e8e1d3; --red:#bd2b22; --muted:#6f6a60; --line:#c9c0af; --font-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif; --font-sans:"Noto Sans SC","Source Han Sans SC","Microsoft YaHei","PingFang SC","Hiragino Sans GB",sans-serif; font-family:var(--font-sans); color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); font-family:var(--font-sans); font-size:18px; line-height:1.75; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
button,a { font:inherit; }
button { color:inherit; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,.brand,footer strong,.speaker strong { font-family:var(--font-serif); }
.site-header { height:92px; padding:0 max(28px,calc((100vw - 1320px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:3; }
.brand { display:flex; align-items:center; gap:14px; font-size:18px; font-weight:700; letter-spacing:.1em; line-height:1.2; }
.brand-mark { width:44px; height:44px; display:block; flex:0 0 auto; overflow:hidden; border:1px solid var(--ink); border-radius:50%; background:#fff; }
.brand-mark img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 47%; transform:scale(1.55); transform-origin:center; }
.brand small { display:block; margin-top:7px; color:var(--muted); font:12px/1.3 var(--font-sans); font-weight:400; letter-spacing:.14em; }
.date-nav { display:flex; gap:10px; font:14px/1 var(--font-sans); letter-spacing:.06em; }
.date-nav a,.date-nav span { padding:11px 13px; border:1px solid transparent; transition:background-color .16s ease,color .16s ease,border-color .16s ease; }
.date-nav a:hover,.date-nav a:focus-visible { border-color:var(--ink); outline:0; }
.date-nav .active { color:var(--paper); background:var(--ink); }
.date-nav [aria-disabled] { color:#9a9387; cursor:not-allowed; }
.home-hero { min-height:calc(100vh - 92px); padding:clamp(64px,7vw,112px) max(28px,calc((100vw - 1320px)/2)); position:relative; display:flex; flex-direction:column; justify-content:center; overflow:hidden; border-bottom:1px solid var(--line); }
.issue-meta { display:flex; gap:18px; align-items:center; font:13px/1.2 var(--font-sans); letter-spacing:.1em; }
.status { padding:7px 10px; border:1px solid var(--red); color:var(--red); }
.eyebrow { margin:34px 0 16px; color:var(--red); font:700 12px/1.5 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; }
.home-hero h1 { max-width:1080px; margin:0; font-size:clamp(44px,5.25vw,80px); line-height:1.22; letter-spacing:-.02em; font-weight:700; }
.hero-title-trigger { display:block; width:100%; color:inherit; font:inherit; letter-spacing:inherit; line-height:inherit; text-align:left; }
.quote-link { border:0; padding:0; background:none; cursor:pointer; text-decoration-color:var(--red); text-underline-offset:5px; }
.quote-link:hover,.quote-link:focus-visible { text-decoration:underline; }
.keywords { display:flex; flex-wrap:wrap; gap:22px; padding:0; margin:0 0 34px; list-style:none; font:13px/1.2 var(--font-sans); letter-spacing:.08em; }
.keywords li::before { content:'◆'; color:var(--red); margin-right:8px; font-size:8px; }
.primary-action { width:max-content; border-bottom:1px solid var(--ink); padding:9px 0; font:15px/1.4 var(--font-sans); }
.primary-action span { color:var(--red); margin-left:12px; }
.hero-index { position:absolute; right:max(28px,calc((100vw - 1320px)/2)); bottom:-.18em; color:rgba(23,23,20,.045); font:700 clamp(180px,28vw,410px)/1 var(--font-sans); pointer-events:none; }
.daily-shell { max-width:1320px; margin:auto; padding:112px 28px 104px; display:grid; grid-template-columns:220px minmax(0,920px); gap:clamp(56px,6vw,88px); }
.daily-aside { color:var(--muted); font-size:14px; line-height:1.75; }
.daily-aside .eyebrow { margin-top:7px; }
.rule { width:40px; height:1px; background:var(--red); margin:30px 0; }
.daily-intro { padding-bottom:78px; position:relative; }
.section-number { color:var(--red); font:700 76px/1 var(--font-sans); opacity:.15; position:absolute; right:0; top:0; }
.daily-intro .eyebrow { margin-top:0; }
.daily-intro h2.daily-section-title { margin:0 0 32px; font-size:clamp(30px,2.5vw,38px); line-height:1.3; letter-spacing:.035em; }
.editor-note { padding:28px 30px; background:var(--paper-2); display:grid; grid-template-columns:150px minmax(0,1fr); align-items:start; gap:26px; }
.editor-note span { color:var(--red); font:600 13px/1.65 var(--font-sans); letter-spacing:.08em; white-space:nowrap; }
.editor-note p { margin:0; }
.editor-note #daily-main-line { font-size:19px; line-height:1.8; }
.editor-context { margin-top:12px!important; color:var(--muted); font-size:16px; line-height:1.8; }
.cards { border-top:1px solid var(--ink); }
.story-card { padding:62px 0 68px; border-bottom:1px solid var(--line); }
.card-meta { display:flex; gap:18px; color:var(--red); font:13px/1.2 var(--font-sans); letter-spacing:.08em; }
.card-meta span:first-child { font-size:26px; font-weight:700; }
.story-card h3 { max-width:840px; margin:24px 0 22px; font-size:clamp(32px,3vw,44px); line-height:1.36; }
.editor-subtitle { margin:0 0 30px; color:var(--muted); font-size:18px; line-height:1.75; }
.quote-body { width:100%; max-width:820px; display:grid; grid-template-columns:minmax(0,1fr) 24px; gap:14px; margin:0 0 20px; padding:26px 24px; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:none; cursor:pointer; text-align:left; }
.quote-body:hover,.quote-body:focus-visible { background:rgba(189,43,34,.045); outline:2px solid transparent; border-color:var(--red); }
.quote-paragraphs { min-width:0; }
.quote-paragraphs p { margin:0; color:#393730; font-size:19px; line-height:1.85; }
.quote-paragraphs p+p { margin-top:14px; }
.quote-open { align-self:end; color:var(--red); font:15px/1 var(--font-sans); }
.card-time { max-width:820px; display:flex; flex-wrap:wrap; gap:7px 18px; margin:0 0 20px; color:var(--muted); font:12px/1.6 var(--font-sans); letter-spacing:.035em; }
.card-time span+span { position:relative; }
.card-time span+span::before { content:'·'; position:absolute; left:-11px; color:var(--red); }
.evidence-trigger { border:0; border-bottom:1px solid var(--ink); padding:8px 0; background:none; cursor:pointer; font:14px/1.5 var(--font-sans); }
.evidence-trigger span { color:var(--red); margin-left:10px; }
.more-section { border-bottom:1px solid var(--ink); }
.more-toggle { width:100%; display:grid; grid-template-columns:1fr auto 28px; align-items:center; gap:20px; padding:34px 0; border:0; background:none; cursor:pointer; text-align:left; }
.more-toggle b { color:var(--red); font:700 30px/1 var(--font-sans); }
.more-toggle i { color:var(--red); font:normal 26px/1 var(--font-sans); }
.more-list { border-top:1px solid var(--line); }
.story-card-more { padding:46px 0 50px; }
.story-card-more h3 { margin:18px 0 18px; font-size:clamp(25px,2.4vw,34px); line-height:1.42; }
.story-card-more .editor-subtitle { margin-bottom:24px; font-size:17px; }
.story-card-more .quote-body { padding-top:22px; padding-bottom:22px; }
.story-card-more .quote-paragraphs p { font-size:17px; line-height:1.85; }
.bottom-nav { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:54px 0; color:var(--muted); font:14px/1.55 var(--font-sans); }
.bottom-nav a,.bottom-nav span { min-height:60px; padding:14px 0; border-top:1px solid var(--line); }
.bottom-nav a { color:var(--ink); }
.bottom-nav a:hover,.bottom-nav a:focus-visible { border-color:var(--red); color:var(--red); outline:0; }
.bottom-nav a:last-child,.bottom-nav span:last-child { text-align:right; }
.bottom-nav small { display:block; color:var(--muted); }
.bottom-nav [aria-disabled] { color:#9a9387; }
body[aria-busy="true"] main { opacity:.55; pointer-events:none; }
footer { min-height:270px; padding:76px max(28px,calc((100vw - 1320px)/2)); color:var(--paper); background:var(--ink); display:grid; grid-template-columns:1fr 2fr auto; gap:54px; align-items:start; }
footer strong { font-size:26px; letter-spacing:.14em; }
footer p { margin:0; color:#bbb5aa; max-width:560px; font-size:16px; line-height:1.75; }
footer span { color:var(--red); font:14px/1 var(--font-sans); }
.drawer-layer { position:fixed; inset:0; width:100vw; height:100dvh; overflow:hidden; z-index:20; }
.drawer-layer[hidden] { display:none; }
.drawer-backdrop { position:absolute; inset:0; background:rgba(15,14,12,.52); }
.drawer { position:absolute; inset:0 0 0 auto; width:min(600px,94vw); padding:38px 44px 64px; overflow:auto; background:var(--paper); box-shadow:-20px 0 70px rgba(0,0,0,.18); outline:0; animation:drawer-in .22s ease-out; }
@keyframes drawer-in { from { transform:translateX(100%); } }
.drawer-handle { display:none; }
.drawer header { display:flex; justify-content:space-between; align-items:start; padding-bottom:24px; border-bottom:1px solid var(--ink); }
.drawer header .eyebrow { margin:0 0 8px; }
.drawer h2 { margin:0; font-size:32px; }
.drawer-close { width:44px; height:44px; border:1px solid var(--ink); background:none; font:28px/1 var(--font-sans); cursor:pointer; }
.source-type { width:max-content; margin:30px 0; padding:8px 11px; color:var(--paper); background:var(--ink); font:13px/1 var(--font-sans); }
.speaker { display:flex; justify-content:space-between; align-items:end; margin-bottom:26px; color:var(--muted); font:13px/1.2 var(--font-sans); }
.speaker strong { color:var(--ink); font-size:24px; font-weight:700; line-height:1.15; }
.drawer-section { margin-top:38px; }
.drawer-section + .drawer-section { padding-top:38px; border-top:1px solid var(--ink); }
.drawer-section-title { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:16px; }
.drawer-section-title .eyebrow { margin:0 0 7px; }
.drawer-section-title h3 { margin:0; font-size:24px; line-height:1.3; }
.drawer-section-title > span { flex:0 0 auto; color:var(--red); font:700 13px/1 var(--font-sans); }
.context-note { margin:0 0 20px; padding:16px 18px; color:var(--muted); background:var(--paper-2); font-size:14px; line-height:1.7; }
.evidence-stack { border-top:1px solid var(--line); }
.evidence-text { padding:24px 0 24px 18px; border-bottom:1px solid var(--line); opacity:.6; }
.evidence-text.current { border-left:3px solid var(--red); opacity:1; }
.evidence-text p { margin:12px 0 0; font-size:19px; line-height:1.9; }
.evidence-text .evidence-time { margin:10px 0 0; color:var(--muted); font:12px/1.6 var(--font-sans); }
.evidence-order { display:flex; justify-content:space-between; color:var(--red); font:12px/1.2 var(--font-sans); }
.context-stack .evidence-text { opacity:1; }
.time-block { margin-top:36px; padding:22px; background:var(--paper-2); }
.time-block .eyebrow { margin:0 0 18px; }
.time-block dl { margin:0; display:grid; grid-template-columns:1fr; gap:3px; }
.time-block dt { margin-top:12px; color:var(--muted); font:12px/1.5 var(--font-sans); }
.time-block dd { margin:0; }
.load-error { padding:80px 24px; }
@media (max-width:1100px) and (min-width:768px) {
  .daily-shell { grid-template-columns:180px minmax(0,1fr); gap:40px; }
  .editor-note { grid-template-columns:140px minmax(0,1fr); gap:22px; }
}
@media (max-width:767px) {
  body { font-size:17px; line-height:1.75; }
  .site-header { height:76px; padding:0 16px; gap:8px; }
  .brand small { display:none; }
  .brand { gap:9px; font-size:16px; letter-spacing:.07em; }
  .brand-mark { width:38px; height:38px; }
  .date-nav { flex:0 0 auto; gap:0; font-size:12px; letter-spacing:.02em; }
  .date-nav a,.date-nav span { padding:9px 6px; }
  .home-hero h1,.hero-title-trigger,.story-card h3 { overflow-wrap:anywhere; word-break:break-word; }
  .home-hero { min-height:calc(100svh - 76px); padding:50px 20px 66px; justify-content:flex-start; }
  .issue-meta { flex-wrap:wrap; gap:10px; }
  .home-hero .eyebrow { margin-top:42px; }
  .home-hero h1 { font-size:clamp(34px,10vw,44px); line-height:1.3; letter-spacing:-.015em; }
  .hero-index { right:-20px; bottom:-20px; font-size:190px; }
  .daily-shell { display:block; padding:68px 20px 72px; }
  .daily-aside { display:none; }
  .daily-intro { padding-bottom:54px; }
  .section-number { font-size:60px; }
  .daily-intro h2.daily-section-title { margin-bottom:26px; font-size:29px; }
  .editor-note { display:block; padding:22px 20px; }
  .editor-note span { display:block; margin-bottom:12px; white-space:normal; }
  .editor-note #daily-main-line { font-size:18px; line-height:1.8; }
  .editor-context { font-size:16px; line-height:1.8; }
  .story-card { padding:46px 0 52px; }
  .story-card h3 { margin:20px 0 18px; font-size:30px; line-height:1.42; }
  .editor-subtitle { margin-bottom:25px; font-size:17px; }
  .quote-body { grid-template-columns:minmax(0,1fr) 20px; gap:9px; padding:20px 14px; }
  .quote-paragraphs p { font-size:17px; line-height:1.85; }
  .card-time { font-size:12px; line-height:1.65; }
  .story-card-more { padding:38px 0 42px; }
  .story-card-more h3 { font-size:26px; line-height:1.45; }
  .story-card-more .editor-subtitle { font-size:16px; }
  .story-card-more .quote-paragraphs p { font-size:17px; }
  .bottom-nav { gap:20px; }
  footer { min-height:0; padding:50px 20px; display:block; }
  footer p { margin:18px 0 28px; font-size:16px; }
  .drawer { inset:auto 0 0; width:100%; height:94svh; padding:18px 20px 50px; border-radius:18px 18px 0 0; animation:sheet-in .22s ease-out; }
  @keyframes sheet-in { from { transform:translateY(100%); } }
  .drawer-handle { display:block; width:42px; height:4px; margin:0 auto 18px; border-radius:4px; background:var(--line); }
  .drawer h2 { font-size:28px; }
  .drawer-section { margin-top:32px; }
  .drawer-section + .drawer-section { padding-top:32px; }
  .drawer-section-title h3 { font-size:22px; }
  .evidence-text { padding-left:14px; }
  .evidence-text p { font-size:17px; line-height:1.85; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
