/*
Theme Name: 好料社 / Haoliao News
Theme URI: https://horliaonews.com/
Author: 好料社
Description: 移动优先、来源可追溯、可受控切换公开索引的好料社 WordPress 主题。
Version: 1.1.3
Text Domain: haoliaoshe
*/

:root { --ink:#172126; --muted:#5e6b70; --line:#dce5e5; --paper:#f7faf8; --card:#fff; --brand:#0e776d; --brand-dark:#07564f; --accent:#f4b63d; --max:1160px; }
* { box-sizing:border-box; }
html { max-width:100%; scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif; font-size:16px; line-height:1.72; }
a { color:var(--brand-dark); text-underline-offset:3px; }
a:hover { color:var(--brand); }
img { display:block; max-width:100%; height:auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { position:fixed; z-index:100; top:12px; left:12px; width:auto; height:auto; margin:0; padding:.5rem .75rem; overflow:visible; clip:auto; color:#fff; background:#000; }
.shell { width:min(calc(100% - 32px),var(--max)); margin-inline:auto; }
.site-header { background:#fff; border-bottom:1px solid var(--line); }
.site-header__inner { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:inline-flex; align-items:center; gap:.6rem; color:var(--ink); text-decoration:none; font-weight:800; letter-spacing:.02em; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:var(--brand); font-size:1.1rem; }
.brand small { display:block; color:var(--muted); font-size:.68rem; font-weight:500; letter-spacing:0; line-height:1.25; }
.menu { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.25rem .85rem; margin:0; padding:0; list-style:none; }
.menu a { color:var(--ink); text-decoration:none; font-size:.9rem; font-weight:700; }
.menu a:hover,.menu .current-menu-item a { color:var(--brand); }
.site-main { min-height:60vh; padding-block:2rem 3.5rem; }
.eyebrow { margin:0 0:.45rem; color:var(--brand-dark); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
h1,h2,h3 { line-height:1.28; letter-spacing:-.02em; }
h1 { font-size:clamp(2rem,7vw,3.6rem); margin:.1em 0 .35em; }
h2 { font-size:clamp(1.35rem,4vw,2.05rem); margin:2rem 0 .7rem; }
h3 { font-size:1.08rem; margin:.2rem 0 .5rem; }
.lead { max-width:720px; color:var(--muted); font-size:1.06rem; }
.notice { max-width:760px; margin:1rem 0 1.5rem; padding:.8rem 1rem; border-left:4px solid var(--accent); background:#fff8e7; color:#554117; }
.hero { padding:clamp(2rem,7vw,5rem) 0; background:linear-gradient(145deg,#e5f5f2,#fff8e7); }
.hero__grid { display:grid; align-items:end; gap:1.2rem; }
.hero-card { padding:1.25rem; border:1px solid #c9e5df; border-radius:16px; background:rgba(255,255,255,.8); box-shadow:0 18px 38px rgba(17,65,59,.08); }
.hero-card strong { display:block; margin-bottom:.25rem; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:2.5rem 0 1rem; }
.section-heading h2 { margin:0; }
.post-grid { display:grid; gap:1rem; }
.card { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--card); box-shadow:0 8px 24px rgba(21,42,43,.05); }
.card__body { padding:1rem; }
.card__image { position:relative; aspect-ratio:1200/630; overflow:hidden; background:#dfe9e7; }
.card__image img { width:100%; height:100%; object-fit:cover; }
.card__image span { position:absolute; top:.65rem; left:.65rem; padding:.15rem .45rem; border-radius:4px; color:#fff; background:rgba(0,0,0,.7); font-size:.72rem; font-weight:700; }
.card h3 a { color:var(--ink); text-decoration:none; }
.card p { margin:.4rem 0 0; color:var(--muted); font-size:.91rem; }
.article { width:min(calc(100% - 32px),780px); min-width:0; margin-inline:auto; }
.article__header { margin-bottom:1.5rem; }
.article-meta { display:flex; flex-wrap:wrap; gap:.25rem .7rem; color:var(--muted); font-size:.86rem; }
.article-meta span { min-width:0; }
.article-meta span + span::before { content:"·"; margin-right:.7rem; }
.article__featured { margin:1.25rem 0 1.7rem; }
.article__featured img { width:100%; aspect-ratio:1200/630; object-fit:cover; border-radius:12px; }
.article__featured figcaption { margin-top:.45rem; color:var(--muted); font-size:.84rem; }
.article__header,.article__content,.article__featured,.source-box,.correction-box,.related { min-width:0; }
.article__content > * { max-width:100%; }
.article__content p { margin:0 0 1.05rem; }
.article__content p,.article__content li,.article__content a { overflow-wrap:anywhere; word-break:break-word; }
.article__content figure { width:100%; margin-inline:0; }
.article__content iframe,.article__content video,.article__content svg { max-width:100%; }
.article__content pre { max-width:100%; overflow-x:auto; }
.article__content table { display:block; overflow-x:auto; width:100%; border-collapse:collapse; font-size:.92rem; }
.article__content th,.article__content td { padding:.55rem; border:1px solid var(--line); text-align:left; vertical-align:top; }
.source-box,.correction-box,.related { margin:2rem 0 0; padding:1.15rem; border-radius:12px; background:#fff; border:1px solid var(--line); }
.source-box h2,.correction-box h2,.related h2 { margin:.1rem 0 .6rem; font-size:1.25rem; }
.source-box ol,.source-box ul,.correction-box ul { margin:.5rem 0 0; padding-left:1.3rem; }
.source-box li,.correction-box li { margin:.35rem 0; overflow-wrap:anywhere; }
.related .post-grid { margin-top:1rem; }
.empty { max-width:700px; padding:1.25rem; border:1px dashed #9ab5b0; border-radius:12px; background:#fff; }
.site-footer { padding:2rem 0; color:#dfeeed; background:#173f3a; }
.footer-grid { display:grid; gap:1rem; }
.site-footer a { color:#fff; }
.site-footer p { margin:0; }
.site-footer small { color:#b9d3ce; }
@media (min-width:700px) { .site-header__inner { min-height:78px; } .hero__grid { grid-template-columns:1.35fr .65fr; } .post-grid { grid-template-columns:repeat(3,1fr); } .footer-grid { grid-template-columns:1.1fr 1.4fr 1fr; align-items:start; } }
@media (max-width:699px) {
	.site-header__inner { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:.75rem; padding-block:.75rem; }
	.site-header__inner > *,.site-header__inner nav { width:100%; min-width:0; }
	.menu { max-width:none; justify-content:flex-start; gap:.35rem .75rem; }
	.menu li,.menu a { min-width:0; overflow-wrap:anywhere; }
	.brand small { max-width:160px; }
	.site-main { padding-top:1.4rem; }
	.article-meta { gap:.3rem .65rem; }
	.article-meta span + span::before { content:none; margin-right:0; }
}
