:root{
    --bg:#f3efe4;
    --paper:#fbf8f1;
    --ink:#1d1914;
    --muted:#655e53;
    --line:#e3d8c6;
    --cinnabar:#9d2c2c;
    --cinnabar-deep:#6d1d1d;
    --gold:#9a7840;
    --river:#1d6b66;
    --header:#fbf8f1;
    --shadow:0 16px 40px rgba(70,42,18,.08);
    --max:1180px;
}
html[data-mode="night"]{
    --bg:#10141b;
    --paper:#171d27;
    --ink:#f4ecdf;
    --muted:#c3b7a4;
    --line:#2d3646;
    --cinnabar:#ef6a58;
    --cinnabar-deep:#ffc2b6;
    --gold:#e4c78a;
    --river:#8fd9d1;
    --header:#141a24;
    --shadow:0 16px 40px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
    background:
        radial-gradient(circle at 100% 0, rgba(154,120,64,.16), transparent 28%),
        var(--bg);
    color:var(--ink);
    font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    font-size:16px;
    line-height:1.7;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--cinnabar)}
img{max-width:100%;height:auto}
button,input{font:inherit}
.skip{
    position:absolute;left:-999px;top:0;
}
.skip:focus{left:12px;top:12px;z-index:9;background:var(--paper);padding:8px 12px}
.wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.topbar{
    background:var(--cinnabar-deep);
    color:#f8efe4;
    font-size:13px;
}
html[data-mode="night"] .topbar{background:#0c1016;color:#eadfce}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:36px}
.topbar a{color:inherit}
.top-actions{display:flex;gap:8px;align-items:center}
.top-actions button,.ghost{
    border:1px solid rgba(255,255,255,.35);
    background:transparent;
    color:inherit;
    border-radius:999px;
    padding:2px 10px;
    cursor:pointer;
}
.mast{background:var(--header);border-bottom:1px solid var(--line)}
.mast .wrap{display:flex;align-items:center;gap:18px;padding:18px 0}
.seal{
    width:74px;height:74px;flex:none;
    border:2px solid var(--cinnabar);
    border-radius:50%;
    display:grid;place-items:center;
    box-shadow:inset 0 0 0 4px var(--paper), inset 0 0 0 6px var(--cinnabar);
    color:var(--cinnabar);
    font-family:"Songti SC","SimSun",serif;
    font-size:34px;
    background:var(--paper);
}
.brand{flex:1;min-width:0}
.brand .eyebrow{margin:0;color:var(--gold);letter-spacing:.28em;font-size:12px}
.brand h1{margin:2px 0;font-family:"Songti SC","SimSun",serif;font-size:34px;font-weight:600;line-height:1.2}
.brand p{margin:0;color:var(--muted)}
.search{display:flex;border:1px solid var(--line);background:var(--paper);border-radius:999px;overflow:hidden;min-width:220px}
.search input{border:0;background:transparent;padding:8px 14px;width:160px;color:var(--ink);outline:none}
.search button{border:0;background:var(--cinnabar);color:#fff;padding:0 14px;cursor:pointer}
.nav{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.nav .wrap{display:flex;align-items:center;gap:8px}
.nav-toggle{display:none;margin:8px 0;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:6px 12px}
.menu{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}
.menu a{display:block;padding:12px 14px;border-bottom:2px solid transparent}
.menu a.on,.menu a:hover{border-color:var(--cinnabar);color:var(--cinnabar)}
.hero{padding:34px 0 10px}
.hero-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;align-items:stretch}
.hero-copy,.card,.panel,.stat,.kid,.topic{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
}
.hero-copy{padding:32px;position:relative;overflow:hidden}
.hero-copy:before{
    content:"";
    position:absolute;right:-40px;bottom:-50px;width:220px;height:220px;border-radius:50%;
    border:18px solid rgba(157,44,44,.08);
}
.kicker{color:var(--river);font-size:13px;letter-spacing:.18em;margin:0 0 8px}
.hero-copy h2{font-family:"Songti SC","SimSun",serif;font-size:42px;line-height:1.25;margin:0 0 12px}
.quote{font-family:"Songti SC","SimSun",serif;color:var(--cinnabar);margin:0 0 12px}
.lead{color:var(--muted);margin:0 0 18px}
.hero-side{display:flex;flex-direction:column;gap:12px}
.side-news{display:block;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.side-news b{display:block;font-weight:600}
.side-news span{color:var(--gold);font-size:13px}
.svc{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;padding:18px 0}
.svc a{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 8px;text-align:center}
.svc i{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 6px;border-radius:50%;background:rgba(157,44,44,.1);color:var(--cinnabar);font-style:normal;font-family:"Songti SC","SimSun",serif}
.layout{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;padding-bottom:22px}
.panel{padding:18px 20px}
.panel h3,.block-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;font-family:"Songti SC","SimSun",serif;font-size:24px}
.more{font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-size:13px;color:var(--river)}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}
.rows time,.meta{color:var(--muted);font-size:13px;flex:none}
.notice li a:before{content:"告";display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:4px;background:var(--cinnabar);color:#fff;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:22px}
.stat{padding:16px 18px}
.stat b{display:block;font-family:"Songti SC","SimSun",serif;font-size:28px;color:var(--cinnabar)}
.stat span{color:var(--muted);font-size:13px}
.kids,.topics{padding-bottom:22px}
.kid-grid,.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kid,.topic{padding:14px 16px}
.kid small,.topic small{display:block;color:var(--gold);font-size:12px}
.kid b,.topic b{display:block;font-family:"Songti SC","SimSun",serif;font-size:18px}
.topic p{margin:6px 0 0;color:var(--muted);font-size:14px}
.zones{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.zone{display:block;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--bg)}
.zone b{display:block;font-family:"Songti SC","SimSun",serif;font-size:17px}
.zone span{color:var(--muted);font-size:13px}
.hotline{list-style:none;margin:0;padding:0}
.hotline li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}
.hotline b{color:var(--cinnabar);font-variant-numeric:tabular-nums}
.dir-head{display:flex;justify-content:space-between;gap:16px;align-items:end;padding-bottom:8px}
.dir-head input{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 14px;min-width:220px}
.dir{column-count:4;column-gap:18px;padding-bottom:28px}
.town{break-inside:avoid;margin:0 0 14px;padding:12px 12px 8px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.town strong{display:block;margin-bottom:6px}
.town a,.town em{display:inline-block;margin:0 8px 6px 0;font-size:13px;color:var(--muted);font-style:normal}
.town em{color:var(--cinnabar)}
.foot{background:#241812;color:#f3e7d6;padding:28px 0 18px;font-size:14px}
html[data-mode="night"] .foot{background:#090c11}
.foot a{color:#f3e7d6}
.foot-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:18px}
.foot h2{font-family:"Songti SC","SimSun",serif;margin:0 0 8px}
.crumb{color:var(--muted);font-size:14px;padding:18px 0 0}
.crumb a{color:var(--river)}
.page{padding:12px 0 36px}
.sheet{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.sheet h2{font-family:"Songti SC","SimSun",serif;font-size:32px;margin:0 0 8px}
.prose p{margin:0 0 12px}
.list a.item{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
.list a.item b{display:block;font-size:18px}
.pages{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}
.pages a{border:1px solid var(--line);border-radius:8px;padding:4px 10px;background:var(--paper)}
.pages a.on{background:var(--cinnabar);color:#fff;border-color:var(--cinnabar)}
.article-meta{color:var(--muted);margin-bottom:16px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.contact div{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg)}
@media (max-width:980px){
    .hero-grid,.layout,.foot-grid,.contact{grid-template-columns:1fr}
    .svc{grid-template-columns:repeat(4,1fr)}
    .stats,.kid-grid,.topic-grid{grid-template-columns:1fr 1fr}
    .dir{column-count:2}
    .brand h1{font-size:28px}
    .hero-copy h2{font-size:32px}
    .mast .wrap{flex-wrap:wrap}
    .mast .search{flex-basis:100%;min-width:0}
    .mast .search input{flex:1;width:auto}
}
@media (max-width:720px){
    .nav-toggle{display:block}
    .menu{display:none;width:100%;padding-bottom:8px}
    .nav.open .menu,.menu.open{display:block}
    .menu a{padding:10px 4px}
    .mast .wrap{align-items:flex-start}
    .seal{width:56px;height:56px;font-size:26px}
    .svc,.stats,.kid-grid,.topic-grid{grid-template-columns:1fr 1fr}
    .zones{grid-template-columns:1fr}
    .hero-copy{padding:22px}
    .sheet{padding:20px}
    .dir{column-count:1}
    .topbar .wrap{align-items:flex-start;padding:6px 0}
    .dir-head{flex-direction:column;align-items:stretch}
}
