/* base.css：只定义结构和排版骨架，颜色一律走 CSS 变量，
   由 palette-*.css 决定具体取值，两者职责分离方便新增配色方案。 */

* { box-sizing: border-box; }

body.gf-theme {
    margin: 0;
    background: var(--gf-bg);
    color: var(--gf-text);
    font-family: var(--gf-font-body, system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif);
    line-height: 1.7;
}

.gf-header-inner,
.gf-home,
.gf-footer {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 24px;
}

.gf-header {
    border-bottom: 1px solid var(--gf-border);
    background: var(--gf-header-bg);
}

.gf-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
}

.gf-logo { height: 40px; }
.gf-brand-text {
    font-family: var(--gf-font-heading, serif);
    font-size: 22px;
    color: var(--gf-brand-text);
}

.gf-nav ul {
    display: flex;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.gf-nav a { color: var(--gf-nav-text); text-decoration: none; }
.gf-nav a:hover { color: var(--gf-accent-effective); }

/* 网格布局 */
.gf-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    padding: 40px 0;
}
@media (max-width: 720px) {
    .gf-grid { grid-template-columns: 1fr; }
    .gf-header-inner { height: auto; padding: 16px 24px; flex-direction: column; gap: 12px; }
}

.gf-card { border-bottom: 1px solid var(--gf-border); padding-bottom: 16px; }
.gf-card-cover img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 4px; }
.gf-card-title { font-family: var(--gf-font-heading, serif); font-size: 18px; margin: 12px 0 8px; }
.gf-card-title a { color: var(--gf-text); text-decoration: none; }
.gf-card-title a:hover { color: var(--gf-accent-effective); }
.gf-card-excerpt { color: var(--gf-text-muted); font-size: 14px; }

/* 纹样背景：只在 gf-pattern-on 时生效，具体图片由 palette 决定是否覆盖 */
.gf-pattern-on .gf-header {
    background-image: var(--gf-pattern-image, none);
    background-repeat: repeat-x;
    background-position: bottom;
}

.gf-footer {
    padding: 32px 24px;
    color: var(--gf-text-muted);
    font-size: 13px;
    border-top: 1px solid var(--gf-border);
}

/* 点缀色最终取值：若用户填了合法 accent_override 则覆盖 palette 默认点缀色 */
:root { --gf-accent-effective: var(--gf-accent-override, var(--gf-accent)); }

/* Official candidate enhancements */
a{transition:color .18s ease,transform .18s ease}.gf-brand{display:flex;align-items:center;text-decoration:none}.gf-home{min-height:62vh}.gf-home:before{content:"";display:block;width:72px;height:3px;margin:32px 0 0;background:var(--gf-accent-effective);opacity:.82}.gf-card-cover{display:block;overflow:hidden}.gf-card-cover img{display:block;transition:transform .35s ease}.gf-card:hover .gf-card-cover img{transform:scale(1.025)}.gf-kicker{display:inline-block;color:var(--gf-accent-effective);font-size:12px;letter-spacing:.22em}.gf-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;align-items:center;padding:44px 0;border-bottom:1px solid var(--gf-border)}.gf-hero h1{font-family:var(--gf-font-heading,serif);font-size:clamp(30px,4vw,52px);line-height:1.25;margin:10px 0 16px}.gf-hero h1 a,.gf-story h2 a{color:var(--gf-text);text-decoration:none}.gf-hero p,.gf-story p{color:var(--gf-text-muted)}.gf-hero-media img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;display:block}.gf-grid-compact{grid-template-columns:repeat(2,1fr)}.gf-magazine-head{padding:38px 0 18px}.gf-magazine-head h1{font-family:var(--gf-font-heading,serif);margin:6px 0}.gf-magazine{border-top:1px solid var(--gf-border)}.gf-story{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:28px 0;border-bottom:1px solid var(--gf-border)}.gf-story-cover img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px;display:block}.gf-story-no{font-size:11px;color:var(--gf-accent-effective);letter-spacing:.15em}.gf-story h2{font-family:var(--gf-font-heading,serif);margin:5px 0 8px}.gf-story-lead{grid-template-columns:1fr 1fr}.gf-story-lead h2{font-size:28px}.gf-empty{padding:72px 0;text-align:center;color:var(--gf-text-muted)}.gf-article{max-width:780px;margin:0 auto;padding:52px 24px 72px}.gf-article-title{font-family:var(--gf-font-heading,serif);font-size:clamp(30px,5vw,48px);line-height:1.3;margin:8px 0 16px}.gf-article-meta{color:var(--gf-text-muted);font-size:13px;margin-bottom:28px}.gf-article-cover{width:100%;max-height:520px;object-fit:cover;border-radius:6px;margin:0 0 30px}.gf-article-content{font-size:17px;line-height:1.9;overflow-wrap:anywhere}.gf-article-content img{max-width:100%;height:auto}.gf-footer p{margin:0}a:focus-visible{outline:2px solid var(--gf-accent-effective);outline-offset:4px}@media(max-width:720px){.gf-nav ul{gap:14px;flex-wrap:wrap;justify-content:center}.gf-hero,.gf-story,.gf-story-lead{grid-template-columns:1fr}.gf-grid-compact{grid-template-columns:1fr}.gf-article{padding-top:36px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Daiying official visual refresh 1.1 */
body.gf-theme{background:linear-gradient(180deg,var(--gf-bg),color-mix(in srgb,var(--gf-bg) 92%,#fff));min-height:100vh}.gf-topline{font-size:12px;color:var(--gf-text-muted);border-bottom:1px solid var(--gf-border);background:var(--gf-header-bg)}.gf-topline>div{max-width:1180px;margin:auto;padding:7px 28px}.gf-header{position:sticky;top:0;z-index:20;background:var(--gf-header-bg)}.gf-header-inner,.gf-home,.gf-footer{max-width:1180px}.gf-header-inner{height:78px}.gf-brand{gap:12px}.gf-brand-text{font-size:28px;font-weight:700;letter-spacing:.08em}.gf-brand i{font-style:normal;background:var(--gf-accent-effective);color:#fff;padding:5px 6px;border-radius:4px;font-size:11px;writing-mode:vertical-rl;letter-spacing:.12em}.gf-nav a{font-size:14px;padding:27px 2px 23px;border-bottom:2px solid transparent}.gf-nav a:hover{border-bottom-color:var(--gf-accent-effective)}.gf-search{text-decoration:none;color:var(--gf-text);font-size:24px}.gf-home:before{display:none}.gf-showcase{position:relative;min-height:390px;margin:24px 0 0;border:1px solid var(--gf-border);border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;background:radial-gradient(circle at 78% 24%,rgba(179,38,42,.18) 0 42px,transparent 44px),linear-gradient(115deg,var(--gf-header-bg),#d8e0dc);box-shadow:0 18px 60px rgba(50,38,28,.08)}.gf-showcase.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--gf-header-bg) 0%,rgba(251,246,236,.86) 42%,transparent 74%),var(--gf-hero-image) center/cover no-repeat;z-index:0}.gf-showcase-copy{position:relative;z-index:2;padding:52px 58px}.gf-eyebrow{font-size:13px;letter-spacing:.3em;color:var(--gf-text-muted);margin:0 0 12px}.gf-showcase h1{font-family:var(--gf-font-heading,serif);font-size:clamp(34px,4.5vw,58px);line-height:1.22;letter-spacing:.05em;margin:0 0 12px}.gf-lead{font-size:17px;letter-spacing:.12em;color:var(--gf-text-muted);margin:0 0 28px}.gf-primary{display:inline-flex;gap:12px;align-items:center;padding:12px 26px;border-radius:999px;background:var(--gf-accent-effective);color:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(179,38,42,.2)}.gf-primary:hover{color:#fff;transform:translateY(-2px)}.gf-seal{position:absolute;left:24px;top:24px;border:1px solid var(--gf-accent-effective);color:var(--gf-accent-effective);padding:4px 5px;font-family:serif;font-size:12px}.gf-mountain{position:relative;height:100%;z-index:1;opacity:.92;overflow:hidden}.gf-sun{position:absolute;width:92px;height:92px;border-radius:50%;right:72px;top:42px;background:var(--gf-accent);opacity:.58}.gf-peak{position:absolute;bottom:-55px;background:linear-gradient(135deg,#8d9a94,#263c3b 68%,#182e2e);clip-path:polygon(50% 0,100% 100%,0 100%)}.p1{width:280px;height:280px;left:8%;opacity:.55}.p2{width:360px;height:360px;left:30%;opacity:.82}.p3{width:260px;height:260px;right:-2%;opacity:.68}.gf-pavilion{position:absolute;right:48px;bottom:54px;font-family:serif;font-size:58px;color:#442b26}.gf-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 34px}.gf-categories>div{display:flex;align-items:center;gap:14px;background:var(--gf-header-bg);border:1px solid var(--gf-border);border-radius:10px;padding:16px 18px}.gf-categories b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(179,38,42,.08);color:var(--gf-accent-effective);font-family:serif}.gf-categories span{display:flex;flex-direction:column}.gf-categories strong{font-size:14px}.gf-categories small{color:var(--gf-text-muted);font-size:11px}.gf-section-head>div{display:flex;align-items:baseline;gap:12px}.gf-section-head span{display:inline-block;width:4px;height:26px;background:var(--gf-accent-effective);border-radius:3px}.gf-section-head h2{font-family:var(--gf-font-heading,serif);font-size:25px;margin:0}.gf-section-head p{font-size:12px;color:var(--gf-text-muted);margin:0}.gf-grid{gap:18px;padding:18px 0 54px}.gf-card{overflow:hidden;padding:0;border:1px solid var(--gf-border);border-radius:10px;background:var(--gf-header-bg);box-shadow:0 8px 28px rgba(50,38,28,.05)}.gf-card-cover img,.gf-cover-fallback{aspect-ratio:16/9;border-radius:0}.gf-cover-fallback{display:grid;place-items:center;text-decoration:none;background:radial-gradient(circle at 75% 25%,rgba(179,38,42,.55) 0 24px,transparent 25px),linear-gradient(145deg,#dce3df,#7c918e);color:#fff;font-family:serif;font-size:34px;letter-spacing:.2em}.gf-card-body{padding:15px 17px 18px}.gf-card-title{font-size:19px;margin:4px 0 7px}.gf-card-excerpt{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gf-empty-elegant{margin:18px 0 58px;padding:70px 24px;border:1px solid var(--gf-border);border-radius:12px;background:linear-gradient(135deg,var(--gf-header-bg),#e6e6df);position:relative;overflow:hidden}.gf-empty-elegant>span{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid var(--gf-accent-effective);color:var(--gf-accent-effective);font-family:serif;font-size:24px}.gf-empty-elegant h2{font-family:var(--gf-font-heading,serif);font-size:25px;margin:14px 0 4px}.gf-empty-elegant p{margin:0;color:var(--gf-text-muted)}.gf-footer{display:grid;grid-template-columns:1fr auto;gap:10px 30px;align-items:center;padding-top:34px;padding-bottom:34px}.gf-footer-brand{display:flex;flex-direction:column}.gf-footer-brand strong{font-family:var(--gf-font-heading,serif);font-size:20px;color:var(--gf-text)}.gf-footer-brand span,.gf-footer-mark{font-size:12px;color:var(--gf-text-muted)}.gf-footer p{grid-column:1/-1;border-top:1px solid var(--gf-border);padding-top:14px}
@media(max-width:760px){.gf-topline{display:none}.gf-header{position:relative}.gf-header-inner{flex-direction:row;height:66px;padding:0 18px}.gf-brand-text{font-size:21px}.gf-brand i{display:none}.gf-nav{display:none}.gf-showcase{grid-template-columns:1fr;min-height:430px;margin-top:12px}.gf-showcase-copy{padding:42px 28px 210px}.gf-showcase h1{font-size:34px}.gf-lead{font-size:14px}.gf-mountain{position:absolute;inset:auto 0 0;height:230px}.gf-categories{grid-template-columns:1fr 1fr}.gf-categories>div{padding:12px}.gf-section-head p{display:none}.gf-grid{grid-template-columns:1fr}.gf-footer{grid-template-columns:1fr}.gf-footer-mark{display:none}}


/* ===== ZhuHong DaiQing 1.2 visual system ===== */
:root{
  --gf-paper:#fbf7ee;--gf-ink:#213238;--gf-ink-soft:#506066;
  --gf-vermilion:#b53a32;--gf-vermilion-deep:#8e2925;--gf-jade:#5f7774;
  --gf-shadow:0 18px 50px rgba(45,35,27,.08);
}
body.gf-theme{
  background:
    radial-gradient(circle at 18% 2%,rgba(181,58,50,.045),transparent 26rem),
    linear-gradient(180deg,var(--gf-bg),#f5f0e7 72%,var(--gf-bg));
}
.gf-topline>div{max-width:1240px;padding:8px 30px;letter-spacing:.16em}
.gf-header-inner,.gf-home,.gf-footer{max-width:1240px}
.gf-header{backdrop-filter:blur(14px);background:color-mix(in srgb,var(--gf-header-bg) 93%,transparent)}
.gf-header-inner{height:82px}
.gf-brand-text{font-size:29px;letter-spacing:.12em}
.gf-nav ul{gap:32px}.gf-nav a{font-family:var(--gf-font-heading,serif);font-size:15px}
.gf-search{font-size:20px}

.gf-showcase{
  min-height:470px;margin-top:28px;border-radius:18px;
  border:1px solid color-mix(in srgb,var(--gf-border) 80%,#fff);
  background:
    radial-gradient(circle at 78% 22%,rgba(181,58,50,.34) 0 52px,transparent 54px),
    linear-gradient(125deg,#fbf6ec 0 43%,#d9e0dc 44%,#9aaba6 100%);
  box-shadow:var(--gf-shadow)
}
.gf-showcase:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.26;
  background:
    linear-gradient(155deg,transparent 0 55%,rgba(30,52,54,.2) 55.3% 56%,transparent 56.3%),
    linear-gradient(25deg,transparent 0 66%,rgba(181,58,50,.12) 66.3% 67%,transparent 67.3%);
}
.gf-showcase.has-image:after{
  background:linear-gradient(90deg,var(--gf-header-bg) 0%,rgba(251,246,236,.92) 38%,rgba(251,246,236,.18) 72%,transparent 100%),var(--gf-hero-image) center/cover no-repeat
}
.gf-showcase-copy{padding:68px 68px}.gf-seal{left:30px;top:30px}
.gf-eyebrow{color:var(--gf-vermilion-deep);font-family:var(--gf-font-heading,serif)}
.gf-showcase h1{max-width:620px;font-size:clamp(38px,5vw,64px);font-weight:650}
.gf-lead{max-width:620px;font-size:16px}
.gf-primary{background:var(--gf-vermilion);box-shadow:0 12px 30px rgba(181,58,50,.2)}
.gf-sun{width:112px;height:112px;right:84px;top:48px;background:#c54c43;opacity:.62}
.gf-peak{filter:saturate(.72);box-shadow:inset 0 0 60px rgba(255,255,255,.16)}
.p1{width:330px;height:320px;left:2%}.p2{width:430px;height:420px;left:25%}.p3{width:310px;height:300px;right:-3%}
.gf-pavilion{right:70px;bottom:62px;font-size:72px;color:#6f332d;text-shadow:0 2px 0 rgba(255,255,255,.4)}

.gf-categories{gap:16px;margin:20px 0 44px}
.gf-categories>div{position:relative;overflow:hidden;border-radius:12px;padding:18px 20px;box-shadow:0 7px 24px rgba(45,35,27,.035)}
.gf-categories>div:after{content:"";position:absolute;right:-18px;bottom:-24px;width:74px;height:74px;border:1px solid rgba(181,58,50,.12);border-radius:50%}
.gf-categories b{background:rgba(181,58,50,.09);color:var(--gf-vermilion-deep)}

.gf-section-head{margin-top:4px;padding-bottom:8px;border-bottom:1px solid var(--gf-border)}
.gf-section-head span{background:var(--gf-vermilion)}
.gf-section-head h2{font-size:27px;letter-spacing:.06em}

.gf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-top:22px}
.gf-card{border-radius:12px;box-shadow:0 10px 34px rgba(45,35,27,.055);transition:transform .25s ease,box-shadow .25s ease}
.gf-card:hover{transform:translateY(-4px);box-shadow:0 16px 42px rgba(45,35,27,.09)}
.gf-card-title{font-size:20px}.gf-kicker{color:var(--gf-vermilion-deep)}
.gf-cover-fallback{background:
 radial-gradient(circle at 76% 22%,rgba(181,58,50,.72) 0 27px,transparent 28px),
 linear-gradient(145deg,#e7e3da 0%,#91a09c 54%,#405a59 100%)}

.gf-empty-elegant{
  min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:
    radial-gradient(circle at 80% 22%,rgba(181,58,50,.12) 0 42px,transparent 44px),
    linear-gradient(145deg,#fbf7ee,#e6e7df);
}
.gf-empty-elegant:after{content:"山河有影";position:absolute;right:28px;bottom:22px;color:rgba(33,50,56,.09);font:700 46px/1 var(--gf-font-heading,serif);letter-spacing:.18em}

/* Banner */
.gf-layout-banner .gf-hero{position:relative;min-height:400px;margin-top:28px;padding:58px;border:1px solid var(--gf-border);border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#fbf7ee,#dce4e0);box-shadow:var(--gf-shadow)}
.gf-layout-banner .gf-hero:after{content:"";position:absolute;right:4%;top:8%;width:120px;height:120px;border-radius:50%;background:rgba(181,58,50,.18)}
.gf-layout-banner .gf-hero>div{position:relative;z-index:2}.gf-layout-banner .gf-hero h1{font-size:clamp(36px,5vw,60px)}
.gf-layout-banner .gf-hero-media{position:relative;z-index:2}.gf-layout-banner .gf-hero-media img{border-radius:12px;box-shadow:0 18px 42px rgba(25,38,39,.16)}
.gf-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:28px}

/* Magazine */
.gf-magazine-head{margin-top:28px;padding:42px 42px 30px;border-radius:16px 16px 0 0;background:linear-gradient(120deg,#fbf7ee,#e3e7e2);border:1px solid var(--gf-border)}
.gf-magazine-head h1{font-size:38px;letter-spacing:.08em}
.gf-magazine{border:1px solid var(--gf-border);border-top:0;background:rgba(251,247,238,.62);padding:0 38px 18px}
.gf-story{grid-template-columns:250px 1fr;padding:32px 0}.gf-story-lead{grid-template-columns:1.05fr .95fr;padding-top:38px}
.gf-story-lead h2{font-size:34px}

/* Article */
.gf-article{max-width:860px;padding-top:64px}.gf-article-title{letter-spacing:.04em}
.gf-article-content{font-family:var(--gf-font-heading,serif);font-size:18px;line-height:2}
.gf-article-content p{margin:1.2em 0}.gf-article-content blockquote{margin:2em 0;padding:14px 22px;border-left:3px solid var(--gf-vermilion);background:rgba(181,58,50,.04)}

.gf-footer{margin-top:34px;padding-top:42px;padding-bottom:42px}
.gf-footer-brand strong{font-size:22px;letter-spacing:.08em}

@media(max-width:900px){
 .gf-showcase{min-height:430px}.gf-showcase-copy{padding:54px 42px}.gf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .gf-header-inner{height:68px}.gf-logo{max-width:160px;object-fit:contain}
 .gf-showcase{min-height:470px;border-radius:12px}.gf-showcase-copy{padding:44px 26px 225px}
 .gf-showcase h1{font-size:36px}.gf-sun{width:82px;height:82px;right:40px}
 .gf-categories{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:32px}
 .gf-grid{grid-template-columns:1fr}.gf-layout-banner .gf-hero{grid-template-columns:1fr;padding:34px 24px}
 .gf-magazine-head{padding:30px 24px 22px}.gf-magazine{padding:0 22px}.gf-story,.gf-story-lead{grid-template-columns:1fr}
}

/* ===== Daiying Guofeng 1.6.0 canonical visual system ===== */
.gf-theme{--gf-seal:#9b2f29}
.gf-showcase{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  display:block!important;min-height:430px!important;
  background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;
}
.gf-showcase.has-image:after{display:none!important}
.gf-showcase:before{display:none!important}
.gf-mountain,.gf-sun,.gf-peak,.gf-pavilion{display:none!important}

/* EXACTLY one raster background layer; no gradient is baked into background-image. */
.gf-style-shan-shui .gf-showcase{background-image:url("../visual/shan-shui.webp")!important}
.gf-style-gongque .gf-showcase{background-image:url("../visual/gongque.webp")!important}
.gf-style-jiangnan .gf-showcase{background-image:url("../visual/jiangnan.webp")!important}
.gf-style-mozhu .gf-showcase{background-image:url("../visual/mozhu.webp")!important}
.gf-style-night .gf-showcase{background-image:url("../visual/night.webp")!important}
.gf-style-xuan-paper .gf-showcase{background-image:url("../visual/xuan-paper.webp")!important}

/* Copy is a transparent overlay, not a panel. */
.gf-showcase-copy{
  position:relative!important;z-index:2!important;
  width:min(48%,590px)!important;max-width:none!important;
  padding:62px 0 58px 62px!important;
  background:transparent!important;
}
.gf-showcase-copy:before{
  content:"";position:absolute;z-index:-1;inset:-22px -72px -22px -34px;
  background:radial-gradient(ellipse at 20% 50%,rgba(250,247,239,.28),rgba(250,247,239,.10) 45%,transparent 72%);
  pointer-events:none;
}
.gf-style-night .gf-showcase-copy:before{
  background:radial-gradient(ellipse at 20% 50%,rgba(7,18,28,.30),rgba(7,18,28,.10) 45%,transparent 72%);
}
.gf-showcase h1,.gf-showcase p{position:relative}
.gf-showcase h1{font-family:"STKaiti","KaiTi","Kaiti SC","Songti SC",serif!important}
.gf-style-night .gf-showcase h1,.gf-style-night .gf-showcase p,.gf-style-night .gf-eyebrow{color:#f2e7d7!important;text-shadow:0 2px 5px rgba(0,0,0,.55)}
.gf-style-shan-shui .gf-showcase h1,.gf-style-gongque .gf-showcase h1,.gf-style-jiangnan .gf-showcase h1,.gf-style-mozhu .gf-showcase h1,.gf-style-xuan-paper .gf-showcase h1{color:#27211d!important;text-shadow:0 1px 2px rgba(255,255,255,.45)}

/* Seal system: irregular carved impression, not UI badges. */
.gf-brand i,.gf-seal,.gf-showcase-copy:after,.gf-empty-elegant>span,.gf-categories b{
  font-family:"STFangsong","FangSong","Songti SC",serif!important;
  font-weight:700!important;color:var(--gf-seal)!important;
  background:rgba(155,47,41,.035)!important;
  border:2px solid var(--gf-seal)!important;border-radius:3px!important;
  box-shadow:inset 0 0 0 1px rgba(155,47,41,.25),0 0 0 1px rgba(155,47,41,.05)!important;
  text-shadow:.4px .3px 0 rgba(155,47,41,.28)!important;
}
.gf-brand i{font-style:normal!important;writing-mode:vertical-rl!important;padding:7px 6px!important;line-height:1!important;letter-spacing:.14em!important;transform:rotate(-1.2deg)}
.gf-seal{padding:6px 7px!important;transform:rotate(-1.6deg)}
.gf-showcase-copy:after{
  content:"戴影";display:inline-block;margin:0 0 0 10px;padding:6px 8px!important;
  font-size:12px;letter-spacing:.10em;transform:rotate(-4deg);
}
.gf-empty-elegant>span{
  position:relative;width:58px!important;height:58px!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;border-radius:50%!important;
  font-size:22px!important;transform:rotate(-3deg)
}
.gf-empty-elegant>span:after{
  content:"";position:absolute;inset:6px;border:1px solid rgba(155,47,41,.55);border-radius:50%
}
.gf-categories b{border-radius:50%!important;background:rgba(155,47,41,.045)!important}

/* Empty state is restrained ink-paper, not geometric blobs. */
.gf-empty-elegant{
  background:
    linear-gradient(180deg,rgba(250,247,239,.96),rgba(244,242,234,.96))!important;
}
.gf-empty-elegant:before{
  content:"";position:absolute;right:-4%;bottom:-18%;width:48%;height:54%;opacity:.13;
  background:url("../visual/xuan-paper.webp") center/cover no-repeat;
  filter:grayscale(1)
}

@media(max-width:760px){
  .gf-showcase{min-height:500px!important;background-position:62% center!important}
  .gf-showcase-copy{width:82%!important;padding:42px 24px 180px!important}
  .gf-showcase-copy:before{inset:-12px -30px -12px -18px}
}

/* 1.6.1 brand contract */
.gf-logo{
  display:block;
  max-width:220px;
  max-height:52px;
  width:auto!important;
  height:auto!important;
  object-fit:contain;
}
@media(max-width:760px){
  .gf-logo{max-width:170px;max-height:42px}
}

/* ===== 1.6.2 rendered_blocks article typography ===== */
.gf-article-content{
  font-size:18px;
  line-height:1.9;
  overflow-wrap:anywhere;
}
.gf-article-content > :first-child{margin-top:0}
.gf-article-content > :last-child{margin-bottom:0}
.gf-article-content p,
.gf-article-content ul,
.gf-article-content ol,
.gf-article-content blockquote,
.gf-article-content pre,
.gf-article-content table,
.gf-article-content figure{margin:1.15em 0}
.gf-article-content h2{font-size:1.55em;margin:1.8em 0 .75em;line-height:1.35}
.gf-article-content h3{font-size:1.3em;margin:1.6em 0 .7em;line-height:1.4}
.gf-article-content h4{font-size:1.12em;margin:1.4em 0 .65em;line-height:1.45}
.gf-article-content img,
.gf-article-content video{
  max-width:100%;
  height:auto;
  border-radius:8px;
}
.gf-article-content figure img{display:block}
.gf-article-content figcaption{
  margin-top:.55em;
  text-align:center;
  font-size:.86em;
  opacity:.68;
}
.gf-article-content blockquote{
  padding:.2em 0 .2em 1.1em;
  border-left:3px solid var(--gf-seal,#9b2f29);
  opacity:.88;
}
.gf-article-content ul,
.gf-article-content ol{padding-left:1.6em}
.gf-article-content table{
  width:100%;
  border-collapse:collapse;
  display:block;
  overflow-x:auto;
}
.gf-article-content th,
.gf-article-content td{
  border:1px solid rgba(70,60,50,.18);
  padding:.6em .75em;
}
.gf-article-content pre{
  overflow:auto;
  padding:1em;
  border-radius:6px;
  background:rgba(40,40,35,.06);
}
.gf-article-content code{font-size:.9em}
.gf-article-content a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
  .gf-article-content{font-size:16px;line-height:1.85}
}

/* ===== 1.7.0 feature closeout ===== */
.gf-sealed-cover{position:relative;display:block;overflow:hidden;min-height:220px;background:#efe9dc;isolation:isolate}
.gf-cover-art,.gf-cover-paper,.gf-cover-seal,.gf-cover-hint{position:absolute;inset:0}
.gf-cover-art{background-position:center;background-size:cover;transform:scale(1.03);transition:filter .7s ease,transform .7s ease;filter:saturate(.92) contrast(.96)}
.gf-seal-v1 .gf-cover-art{background-image:url("../visual/cover-1.svg")}.gf-seal-v2 .gf-cover-art{background-image:url("../visual/cover-2.svg")}.gf-seal-v3 .gf-cover-art{background-image:url("../visual/cover-3.svg")}.gf-seal-v4 .gf-cover-art{background-image:url("../visual/cover-4.svg")}.gf-seal-v5 .gf-cover-art{background-image:url("../visual/cover-5.svg")}.gf-seal-v6 .gf-cover-art{background-image:url("../visual/cover-6.svg")}
.gf-cover-paper{background:rgba(247,241,228,.87);transition:opacity .65s ease}
.gf-cover-seal{display:grid;place-items:center;z-index:2;pointer-events:none}
.gf-cover-seal>span{position:absolute;display:grid;place-items:center;width:118px;height:118px;border:7px solid #9b2f29;color:#9b2f29;background:rgba(250,244,232,.82);font-family:"STFangsong","FangSong","Songti SC",serif;font-size:76px;font-weight:700;line-height:1;box-shadow:inset 0 0 0 2px rgba(155,47,41,.35);transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .55s ease,filter .25s ease}
.gf-seal-left{clip-path:polygon(0 0,57% 0,47% 21%,58% 40%,46% 59%,56% 77%,48% 100%,0 100%)}
.gf-seal-right{clip-path:polygon(55% 0,100% 0,100% 100%,46% 100%,54% 77%,44% 59%,56% 40%,46% 21%)}
.gf-sealed-cover:hover .gf-cover-seal>span{filter:drop-shadow(0 0 8px rgba(155,47,41,.38));transform:translateY(-2px)}
.gf-cover-hint{inset:auto 0 18px;text-align:center;color:#7b6657;font-size:12px;letter-spacing:.14em;opacity:.72;z-index:3;transition:opacity .25s ease}
.gf-sealed-cover.is-open .gf-cover-paper{opacity:0}.gf-sealed-cover.is-open .gf-cover-art{transform:scale(1);filter:none}.gf-sealed-cover.is-open .gf-seal-left{transform:translateX(-150px) rotate(-13deg);opacity:0}.gf-sealed-cover.is-open .gf-seal-right{transform:translateX(150px) rotate(13deg);opacity:0}.gf-sealed-cover.is-open .gf-cover-hint{opacity:0}
.gf-comments{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(90,70,50,.16)}.gf-comments-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:1.2rem}.gf-comments-head h2{margin:0}.gf-comment-list{list-style:none;padding:0;margin:0 0 1.5rem}.gf-comment-item{padding:1rem 0;border-bottom:1px solid rgba(90,70,50,.12)}.gf-comment-item time{margin-left:.75rem;font-size:.86em;opacity:.58}.gf-comment-item p{margin:.55rem 0 0}.gf-comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.gf-comment-form label{display:grid;gap:.35rem;margin:.8rem 0}.gf-comment-form input,.gf-comment-form textarea,.gf-search-form input{width:100%;box-sizing:border-box;border:1px solid rgba(90,70,50,.22);background:rgba(255,255,255,.55);border-radius:6px;padding:.75rem .85rem;font:inherit}.gf-comment-form button,.gf-search-form button,.gf-inline-form button{border:0;border-radius:999px;background:var(--gf-seal,#9b2f29);color:#fff;padding:.72rem 1.15rem;font:inherit;cursor:pointer}.gf-comment-notice{padding:.8rem 1rem;background:rgba(85,120,80,.08)}.gf-comment-error{padding:.8rem 1rem;background:rgba(160,55,45,.08)}.gf-muted{opacity:.68}
.gf-search-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:3rem 0 4rem}.gf-search-head{max-width:760px;margin-bottom:2rem}.gf-search-head h1{font-size:clamp(2rem,4vw,3rem);margin:.35rem 0 1rem}.gf-search-form{display:flex;gap:.7rem}.gf-search-form input{flex:1}.gf-pagination{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin-top:2rem}.gf-pagination a{padding:.45rem .7rem;border:1px solid rgba(90,70,50,.16);border-radius:6px}.gf-pagination a[aria-current="page"]{background:rgba(155,47,41,.08);border-color:rgba(155,47,41,.35)}
@media(max-width:760px){.gf-comment-fields{grid-template-columns:1fr}.gf-search-form{flex-direction:column}.gf-cover-seal>span{width:96px;height:96px;font-size:61px}.gf-sealed-cover{min-height:190px}}
@media(prefers-reduced-motion:reduce){.gf-cover-art,.gf-cover-paper,.gf-cover-seal>span,.gf-cover-hint{transition:none!important}.gf-sealed-cover.is-open .gf-seal-left,.gf-sealed-cover.is-open .gf-seal-right{display:none}}

/* ===== 1.7.1 approved seal artwork + real Guofeng reveal ===== */
.gf-sealed-cover{position:relative;display:block;overflow:hidden;min-height:220px;background:#181512;isolation:isolate}
.gf-cover-art,.gf-cover-door,.gf-door-left,.gf-door-right,.gf-cover-hint{position:absolute}
.gf-cover-art{inset:0;background-position:center;background-size:cover;transform:scale(1.025);transition:transform .72s ease,filter .72s ease;filter:saturate(.96) contrast(.98)}
.gf-seal-v1 .gf-cover-art{background-image:url("../visual/cover-reveal-1.webp")!important}.gf-seal-v2 .gf-cover-art{background-image:url("../visual/cover-reveal-2.webp")!important}.gf-seal-v3 .gf-cover-art{background-image:url("../visual/cover-reveal-3.webp")!important}.gf-seal-v4 .gf-cover-art{background-image:url("../visual/cover-reveal-4.webp")!important}.gf-seal-v5 .gf-cover-art{background-image:url("../visual/cover-reveal-5.webp")!important}.gf-seal-v6 .gf-cover-art{background-image:url("../visual/cover-reveal-6.webp")!important}
.gf-cover-door{inset:0;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.25))}
.gf-door-left,.gf-door-right{inset:0;background:url("../visual/sealed-cover.webp") center/cover no-repeat;transition:transform .72s cubic-bezier(.2,.8,.2,1),opacity .62s ease;will-change:transform,opacity}
.gf-door-left{clip-path:polygon(0 0,52% 0,48% 15%,53% 31%,47% 47%,53% 63%,47% 80%,51% 100%,0 100%)}
.gf-door-right{clip-path:polygon(50% 0,100% 0,100% 100%,49% 100%,53% 80%,47% 63%,53% 47%,47% 31%,52% 15%)}
.gf-cover-hint{left:50%;bottom:13px;z-index:3;transform:translateX(-50%);padding:5px 11px;border-radius:999px;background:rgba(20,15,12,.58);color:#ead9b8;font-size:12px;letter-spacing:.14em;white-space:nowrap;transition:opacity .3s ease}
.gf-sealed-cover:hover:not(.is-open) .gf-cover-door{filter:drop-shadow(0 0 8px rgba(177,89,53,.4))}
.gf-sealed-cover.is-open .gf-door-left{transform:translateX(-102%) rotate(-1.5deg);opacity:.08}.gf-sealed-cover.is-open .gf-door-right{transform:translateX(102%) rotate(1.5deg);opacity:.08}.gf-sealed-cover.is-open .gf-cover-art{transform:scale(1);filter:none}.gf-sealed-cover.is-open .gf-cover-hint{opacity:0}
@media(max-width:760px){.gf-sealed-cover{min-height:190px}}
@media(prefers-reduced-motion:reduce){.gf-cover-art,.gf-door-left,.gf-door-right,.gf-cover-hint{transition:none!important}.gf-sealed-cover.is-open .gf-door-left,.gf-sealed-cover.is-open .gf-door-right{display:none}}
