/* 英文杂志观察报 — 新闻报风格 */
:root{
  --paper:#f8f5ef; --ink:#16130e; --muted:#6f6a5e; --accent:#a31621;
  --rule:#16130e; --hair:#d8d2c4; --card:#fffdf8;
  --serif:Georgia,"Times New Roman","Noto Serif SC","Songti SC","SimSun",serif;
  --sans:-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent);text-decoration:underline}

/* ---- masthead ---- */
.masthead{max-width:1060px;margin:0 auto;padding:18px 20px 0;text-align:center}
.mast-top{display:flex;justify-content:space-between;font-family:var(--sans);
  font-size:12px;color:var(--muted);border-bottom:1px solid var(--hair);
  padding-bottom:8px}
.mast-top a{color:var(--muted)}
.brand{font-size:clamp(34px,6vw,58px);margin:14px 0 4px;letter-spacing:.14em;font-weight:900}
.brand a:hover{text-decoration:none;color:var(--ink)}
.tagline{font-family:var(--sans);font-size:12px;letter-spacing:.28em;color:var(--muted);margin:0 0 14px}
.sections{border-top:3px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:8px 0;display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
.sections a{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.12em}

main{max-width:1060px;margin:0 auto;padding:28px 20px 10px}
.flash{background:#fdf3d8;border:1px solid #d9b23c;padding:8px 14px;margin-bottom:18px;font-family:var(--sans);font-size:14px}
.flash p{margin:2px 0}

/* ---- headlines ---- */
.kicker{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.22em;
  color:var(--accent);text-transform:uppercase;margin:0 0 8px}
.byline{font-family:var(--sans);font-size:12.5px;color:var(--muted);letter-spacing:.06em}
.hero{border-bottom:2px solid var(--rule);padding-bottom:24px;margin-bottom:8px;text-align:center}
.hero-title{font-size:clamp(26px,4.4vw,42px);line-height:1.3;margin:6px 0 12px;font-weight:900}
.hero-excerpt{max-width:760px;margin:0 auto 10px;font-size:16.5px;line-height:1.85;color:#33302a}

.post-list .list-item{border-bottom:1px solid var(--hair);padding:20px 4px}
.post-list .list-item h3{font-size:clamp(20px,2.6vw,25px);margin:2px 0 8px;line-height:1.4;font-weight:800}
.post-list .excerpt{margin:0;color:#3d3a33;font-size:15px;line-height:1.8}
.empty{color:var(--muted);font-family:var(--sans)}

/* ---- article ---- */
.article{max-width:760px;margin:0 auto}
.article-title{font-size:clamp(26px,4.2vw,40px);line-height:1.35;font-weight:900;margin:4px 0 10px}
.article .byline{border-bottom:1px solid var(--hair);padding-bottom:14px;margin-bottom:22px}
.article-body{font-size:16.8px;line-height:1.95;color:#211e19}
.article-body h1{font-size:26px;line-height:1.4;margin:30px 0 12px}
.article-body h2{font-size:22.5px;line-height:1.45;margin:32px 0 10px;
  border-bottom:2px solid var(--rule);padding-bottom:6px}
.article-body h3{font-size:19px;margin:24px 0 8px}
.article-body p{margin:0 0 16px}
.article-body ul,.article-body ol{margin:0 0 16px;padding-left:26px}
.article-body li{margin-bottom:6px}
.article-body blockquote{margin:18px 0;padding:4px 18px;border-left:3px solid var(--accent);
  color:#454138;background:transparent}
.article-body strong{font-weight:800}
.article-body table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14.5px;font-family:var(--sans)}
.article-body th,.article-body td{border:1px solid var(--hair);padding:6px 9px;text-align:left}
.article-body th{background:#efe9db}
.article-body code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:#efe9db;padding:1px 5px;border-radius:3px}
.article-body pre{background:#23201b;color:#f0ead9;padding:14px;overflow-x:auto;border-radius:4px}
.article-body pre code{background:transparent;color:inherit}
.article-body hr{border:none;border-top:1px solid var(--hair);margin:26px 0}
.back{max-width:760px;margin:26px auto 0;font-family:var(--sans);font-size:14px}

/* ---- forms / admin ---- */
.form-box{max-width:430px;margin:10px auto;background:var(--card);border:1px solid var(--hair);
  padding:26px 28px}
.form-box.wide{max-width:820px}
.form-box h2{margin:0 0 16px;font-size:24px}
.form-box label{display:block;font-family:var(--sans);font-size:13.5px;margin-bottom:14px;color:#3d3a33}
.form-box input[type=text],.form-box input[type=password],.form-box select,.form-box textarea{
  width:100%;margin-top:5px;padding:9px 10px;border:1px solid #bdb5a2;border-radius:3px;
  font-size:15px;font-family:var(--sans);background:#fff}
.form-box textarea{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.6}
.form-box label.check{display:flex;gap:8px;align-items:center}
.form-box button,.btn{display:inline-block;background:var(--accent);color:#fff;border:none;
  padding:9px 22px;font-family:var(--sans);font-size:14.5px;font-weight:700;border-radius:3px;cursor:pointer}
.form-box button:hover,.btn:hover{background:#7e1019;color:#fff;text-decoration:none}
.form-box .error{color:var(--accent);font-family:var(--sans);font-size:14px}
.form-box .hint{font-family:var(--sans);font-size:13px;color:var(--muted)}
.admin{max-width:900px;margin:0 auto}
.admin table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:14px;background:var(--card)}
.admin th,.admin td{border:1px solid var(--hair);padding:8px 10px;text-align:left;vertical-align:top}
.admin th{background:#efe9db}
.inline{display:inline}
.linklike{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px;padding:0}

footer{max-width:1060px;margin:26px auto 0;padding:16px 20px 34px;border-top:3px solid var(--rule);
  text-align:center;font-family:var(--sans);font-size:12.5px;color:var(--muted)}
@media (max-width:640px){
  .mast-top{flex-direction:column;gap:4px;align-items:center}
  .sections{gap:16px}
}
