/* ===== newspaper-classic · 老报纸头版 ===== */
:root{
  --news:#f3efe6; --card:#fbf8f0; --ink:#141210; --sub:#4a463e; --dim:#8c8578;
  --rule:#141210; --hair:rgba(20,18,16,.2); --stamp:#a3251c;
  --serif:"Times New Roman",Georgia,"Songti SC","Noto Serif SC",serif;
  --sans:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,Consolas,monospace;
  --maxw:1100px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --news:#15140f; --card:#1c1a14; --ink:#ece6d6; --sub:#aaa392; --dim:#7a7363;
    --rule:#ece6d6; --hair:rgba(236,230,214,.2); --stamp:#e0726a;
    color-scheme:dark;
  }
}

*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{font-family:var(--serif);background:var(--news);color:var(--ink);line-height:1.55;min-height:100vh;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--ink);color:var(--news);}
kbd{font-family:var(--mono);font-size:11px;border:1px solid var(--hair);padding:1px 5px;color:var(--ink);}

.sheet{max-width:var(--maxw);margin:0 auto;padding:0 clamp(14px,4vw,40px) calc(40px + env(safe-area-inset-bottom));}

/* ear / announcement */
.ear{display:flex;align-items:center;gap:14px;padding:calc(10px + env(safe-area-inset-top)) 0 9px;border-bottom:1px solid var(--ink);font-family:var(--sans);}
.ear-l{background:var(--ink);color:var(--news);font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 9px;flex:none;}
.ear p{flex:1;font-size:12px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ear-r{font-family:var(--mono);font-size:12.5px;flex:none;}

/* nameplate */
.nameplate{text-align:center;padding:clamp(20px,4vw,38px) 0 14px;border-bottom:4px double var(--rule);}
.np-line{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--sans);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);padding-bottom:8px;border-bottom:1px solid var(--hair);}
.np-dot{color:var(--stamp);}
.np-title{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(48px,15vw,128px);line-height:1;letter-spacing:-.02em;margin:12px 0;text-transform:uppercase;word-break:break-word;}
.np-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--sans);font-size:11.5px;letter-spacing:.08em;color:var(--sub);text-transform:uppercase;border-top:1px solid var(--hair);padding-top:8px;flex-wrap:wrap;}
.np-mode{font-family:var(--sans);font-size:11px;background:transparent;border:1px solid var(--rule);color:var(--ink);padding:5px 12px;cursor:pointer;transition:.18s;text-transform:uppercase;letter-spacing:.06em;}
.np-mode:hover{background:var(--rule);color:var(--news);}

/* main */
main{padding-top:clamp(26px,4vw,42px);}

.splash{text-align:center;}
.overline{font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--stamp);margin-bottom:14px;}
.splash h1{font-family:var(--serif);font-weight:700;font-size:clamp(40px,11vw,96px);line-height:.98;letter-spacing:-.02em;text-transform:uppercase;word-break:break-word;}
.deck{font-family:var(--serif);font-style:italic;font-size:clamp(16px,3vw,22px);color:var(--sub);margin:14px auto 0;max-width:760px;padding-bottom:18px;border-bottom:1px solid var(--hair);}
.lede{text-align:justify;font-size:clamp(15px,2.6vw,17.5px);line-height:1.75;margin-top:20px;max-width:760px;margin-left:auto;margin-right:auto;}
.lede::first-letter{font-weight:700;}

/* headline box / main domain */
.headline-box{margin:clamp(30px,5vw,50px) 0;border:3px solid var(--rule);padding:0;}
.hb-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:var(--ink);color:var(--news);padding:9px 18px;font-family:var(--sans);}
.hb-cat{font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.hb-live{display:inline-flex;align-items:center;gap:7px;font-size:12px;}
.hb-live i{width:7px;height:7px;border-radius:999px;background:var(--stamp);}
.hb-domain{font-family:var(--serif);font-weight:700;font-size:clamp(28px,7vw,58px);text-align:center;padding:24px 18px;word-break:break-all;border-bottom:1px solid var(--hair);}
.hb-act{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;padding:18px;font-family:var(--sans);}
.press{font-family:var(--sans);font-size:14px;font-weight:700;padding:11px 24px;cursor:pointer;border:2px solid var(--rule);transition:.16s;text-transform:uppercase;letter-spacing:.04em;}
.press-fill{background:var(--rule);color:var(--news);}
.press-fill:hover{background:var(--stamp);border-color:var(--stamp);}
.press-line{background:transparent;color:var(--ink);}
.press-line:hover{background:var(--rule);color:var(--news);}
.hb-save{font-family:var(--sans);font-size:12.5px;color:var(--sub);cursor:pointer;border-bottom:1px solid var(--stamp);}
.hb-save:hover{color:var(--stamp);}

/* sections */
.section{padding:clamp(28px,5vw,46px) 0;border-top:1px solid var(--hair);}
.kicker-h{font-family:var(--serif);font-weight:700;font-size:clamp(22px,5vw,34px);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:22px;padding-bottom:10px;border-bottom:2px solid var(--rule);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.kh-no{font-family:var(--mono);font-size:.55em;color:var(--stamp);}
.kh-sub{font-family:var(--sans);font-size:.4em;letter-spacing:.2em;color:var(--dim);margin-left:auto;}

/* classifieds / backups */
.classifieds{list-style:none;columns:2;column-gap:40px;}
@media (max-width:680px){.classifieds{columns:1;}}
.classified{break-inside:avoid;display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px dotted var(--hair);font-family:var(--sans);}
.cl-no{font-family:var(--mono);font-size:13px;color:var(--stamp);}
.cl-host{flex:1;font-size:clamp(13.5px,3.2vw,15.5px);word-break:break-all;}
.cl-ok{font-size:11.5px;color:var(--dim);}
.cl-cp{font-family:var(--sans);font-size:11.5px;background:transparent;border:1px solid var(--hair);color:var(--ink);padding:5px 11px;cursor:pointer;transition:.16s;}
.cl-cp:hover{background:var(--rule);color:var(--news);border-color:var(--rule);}

/* notice columns */
.notice-cols{columns:2;column-gap:40px;}
@media (max-width:680px){.notice-cols{columns:1;}}
.notice-cols p{break-inside:avoid;margin-bottom:14px;text-align:justify;font-size:15px;line-height:1.7;}
.boxed-note{margin-top:14px;font-family:var(--sans);font-size:13.5px;border:2px solid var(--rule);padding:12px 16px;background:var(--card);}
.boxed-note strong{color:var(--stamp);}

/* desk / contact */
.desk{border-top:2px solid var(--rule);}
.desk-row{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--hair);font-family:var(--sans);cursor:pointer;transition:.16s;}
.desk-row:hover{padding-left:12px;}
.dr-k{width:130px;flex:none;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);}
.dr-v{flex:1;font-family:var(--serif);font-size:clamp(16px,3.6vw,21px);word-break:break-all;}
.dr-a{font-size:12.5px;color:var(--stamp);opacity:0;transition:.16s;}
.desk-row:hover .dr-a{opacity:1;}

/* imprint / footer */
.imprint{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:22px 0 calc(8px + env(safe-area-inset-bottom));border-top:4px double var(--rule);font-family:var(--sans);}
.im-id{font-family:var(--serif);font-weight:700;font-size:16px;text-transform:uppercase;}
.imprint nav{display:flex;flex-wrap:wrap;gap:16px;}
.imprint nav a{color:var(--sub);font-size:13px;transition:.16s;}
.imprint nav a:hover{color:var(--stamp);}
.imprint small{color:var(--dim);font-size:12px;width:100%;}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,16px);z-index:50;opacity:0;pointer-events:none;font-family:var(--sans);font-size:14px;font-weight:700;background:var(--rule);color:var(--news);padding:12px 22px;transition:.26s cubic-bezier(.2,.8,.2,1);text-transform:uppercase;letter-spacing:.04em;}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto;}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);}
.reveal.on{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;}
}
