/* 首页入口和收尾信息；角色、来源及站点配置保持可见。 */
body.home-page .newcomer-guide { padding: 32px 0 28px; }
body.home-page .newcomer-guide h2 { margin: 8px 0 0; font-size: clamp(28px, 2.5vw, 40px); line-height: 1.4; }
body.home-page .guide-links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 20px 0 14px; }
body.home-page .guide-card {
  --entry-accent: #967338;
  --entry-wash: #f4e8c9;
  display: grid;
  grid-template-rows: 1fr auto;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d8c8ac;
  border-radius: 12px;
  background: #fffcf5;
  box-shadow: 0 4px 16px #30243908;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.home-page .guide-card-keigetsu { --entry-accent: #9c3b50; --entry-wash: #f6e4e5; }
body.home-page .guide-card-notes { --entry-accent: #34426d; --entry-wash: #e9eaf3; }
body.home-page .guide-links .guide-card > a {
  min-height: 0; padding: 0; border: 0; border-radius: 0; background: none;
  box-shadow: none; transform: none; text-decoration: none;
}
body.home-page .guide-links .guide-card > a::before,
body.home-page .guide-links .guide-card > a::after { content: none; }
body.home-page .guide-links .guide-card > a.guide-card-main {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 176px;
  padding: 22px 130px 18px 24px;
  background: linear-gradient(105deg, #fffcf5 52%, var(--entry-wash));
}
body.home-page .guide-links .guide-card-notes > a.guide-card-main { padding-right: 24px; }
body.home-page .guide-links .guide-card-main > span,
body.home-page .guide-links .guide-card-main > strong {
  position: relative; z-index: 1; max-width: none; margin: 0; text-shadow: none;
  overflow-wrap: anywhere;
}
body.home-page .guide-links .guide-card-main > .guide-card-kicker {
  color: var(--entry-accent); font: 600 10px/1.5 var(--mono); letter-spacing: .1em;
}
body.home-page .guide-links .guide-card-main > strong {
  color: #302739; font: 700 clamp(20px, 1.5vw, 25px)/1.45 var(--serif);
}
body.home-page .guide-links .guide-card-main > .guide-card-description {
  color: #756575; font-size: 14px; line-height: 1.8;
}
body.home-page .guide-links .guide-card-main > .guide-card-action {
  display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 6px;
  color: var(--entry-accent); font-size: 14px; font-weight: 700; line-height: 1.7;
}
body.home-page .guide-links .guide-card-action > span {
  display: inline-block; max-width: none; margin: 0; color: inherit;
  transition: transform .18s ease;
}
body.home-page .guide-links .guide-card-main .guide-portrait {
  right: 8px; top: auto; bottom: 0; width: 116px; height: 174px;
  object-fit: contain; object-position: bottom; opacity: .9;
  mask-image: none; filter: none; transition: transform .18s ease;
}
body.home-page .guide-links .guide-card > a.guide-card-character {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 44px; padding: 8px 24px;
  border-top: 1px solid #e9dfce; color: #6c586c; font-size: 13px;
}
body.home-page .guide-links .guide-card-character > span { margin: 0; color: var(--entry-accent); }
body.home-page .guide-card:focus-within { border-color: var(--entry-accent); box-shadow: 0 6px 20px #30243916; }
body.home-page .guide-links .guide-card > a:focus-visible { outline: 3px solid #9c3b50; outline-offset: -4px; }
body.home-page .guide-links .guide-card-character:focus-visible { background: var(--entry-wash); }
body.home-page .newcomer-guide > .wrap > p:last-child { margin: 0; font-size: 13px; color: #756575; }
body.home-page .newcomer-guide > .wrap > p:last-child a { display: inline-flex; align-items: center; min-height: 44px; }

/* 将说明和投稿操作放在同一张紧凑卡片，再用浅色联系栏收尾。 */
body.home-page .about-section { padding: 0 0 36px; background: transparent; }
body.home-page .about-inner {
  min-height: 0;
  padding: clamp(28px, 3vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: start;
  gap: clamp(28px, 5vw, 80px);
  border: 1px solid #bda16b;
  border-radius: 12px;
  background: linear-gradient(120deg, #19213f, #11172f);
}
body.home-page .about-inner .eyebrow { margin: 0 0 10px; color: #d1b777; font-size: 10px; }
body.home-page .about-inner h2 { margin: 0; color: #fff5e4; font-size: clamp(27px, 2.2vw, 36px); line-height: 1.55; overflow-wrap: anywhere; }
body.home-page .about-inner h2 em { color: #ead291; }
body.home-page .about-content { min-width: 0; }
body.home-page .about-content > p { max-width: 70ch; margin: 0; color: #d1cbd4; font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }
body.home-page .about-actions { display: flex; flex-wrap: wrap; gap: 10px 14px; margin-top: 18px; }
body.home-page .about-actions a { display: inline-flex; align-items: center; justify-content: space-between; min-height: 44px; gap: 20px; padding: 10px 16px; border-radius: 6px; text-decoration: none; font-size: 13px; line-height: 1.5; }
body.home-page .about-actions .about-submit { border: 1px solid #e6cf94; background: #e6cf94; color: #28233c; font-weight: 700; }
body.home-page .about-actions .about-browse { border: 1px solid #cbbab252; color: #f1e6d3; }
body.home-page .about-actions a:focus-visible { outline: 3px solid #fff3ce; outline-offset: 3px; }
/* 公开父页面与子页面共享纸色联系栏、对齐的版权网格。 */
body.public-site-page .contact-steward { display: block; padding: 26px 0; border-top: 1px solid #d9c7a9; background: #f3eadb; color: #302739; }
body.public-site-page .contact-steward > .wrap { width: var(--public-browse-width, min(1160px, calc(100% - 64px))); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
body.public-site-page .contact-steward .eyebrow { margin: 0 0 7px; color: #916740; font-size: 10px; }
body.public-site-page .contact-steward h2 { margin: 0 0 6px; color: #302739; font-size: 23px; line-height: 1.5; }
body.public-site-page .contact-steward p { color: #756575; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
body.public-site-page .contact-steward > .wrap > div { min-width: 0; max-width: 66ch; }
body.public-site-page .contact-steward > .wrap > a { flex-shrink: 0; max-width: 100%; min-height: 44px; margin: 0; padding: 12px 18px; border-color: #a98753; background: #fffbf3; color: #765126; font-size: 14px; line-height: 1.6; }
body.public-site-page .contact-steward a span { margin: 3px 0 0; color: #765126; font-size: 12px; line-height: 1.6; }
body.public-site-page .contact-steward a:focus-visible { outline: 3px solid #9c3b50; outline-offset: 3px; }
body.public-site-page .site-footer { background: #151528; }
body.public-site-page .footer-inner { width: var(--public-browse-width, min(1160px, calc(100% - 64px))); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px 24px; min-height: 0; padding: 20px 0; font-size: 11px; line-height: 1.8; }
body.public-site-page .footer-inner > span { min-width: 0; margin: 0; overflow-wrap: anywhere; }
body.public-site-page .footer-inner > span:nth-child(2) { margin: 0; }
body.public-site-page .footer-inner > span:nth-child(3) { grid-column: 1 / -1; width: auto; font-size: 10px; }
body.public-site-page .footer-inner a { display: inline-flex; align-items: center; min-height: 24px; text-underline-offset: 4px; }

@media (hover: hover) and (pointer: fine) {
  body.home-page .guide-card:hover { border-color: var(--entry-accent); box-shadow: 0 8px 22px #30243919; transform: translateY(-3px); }
  body.home-page .guide-card-main:hover .guide-card-action > span { transform: translateX(4px); }
  body.home-page .guide-card-main:hover .guide-portrait { transform: translateY(-3px); }
  body.home-page .guide-card-character:hover { color: var(--entry-accent); background: var(--entry-wash); }
  body.home-page .about-submit:hover { background: #f3dfa9; border-color: #f3dfa9; }
  body.home-page .about-browse:hover { border-color: #e6cf94; background: #ffffff0c; }
  body.public-site-page .contact-steward a:hover { border-color: #967338; background: #fff5df; }
}
@media (max-width: 1100px) {
  body.home-page .guide-links { grid-template-columns: 1fr; gap: 14px; }
  body.home-page .guide-links .guide-card > a.guide-card-main { min-height: 150px; padding: 18px 122px 16px 22px; }
  body.home-page .guide-links .guide-card-notes > a.guide-card-main { padding-right: 22px; }
  body.home-page .guide-links .guide-card-main > strong { font-size: 22px; }
  body.home-page .guide-links .guide-card-main .guide-portrait { height: 146px; }
  body.home-page .about-inner { grid-template-columns: 1fr; gap: 20px; }
  body.home-page .about-inner h2 { font-size: 28px; }
}
@media (max-width: 800px) {
  body.public-site-page .contact-steward > .wrap,
  body.public-site-page .footer-inner { width: min(680px, calc(100% - 40px)); }
}
@media (max-width: 620px) {
  body.home-page .newcomer-guide { padding: 24px 0 20px; }
  body.home-page .guide-links { gap: 12px; margin: 16px 0 8px; }
  body.home-page .guide-links .guide-card > a.guide-card-main { min-height: 158px; padding: 18px 104px 14px 18px; }
  body.home-page .guide-links .guide-card-notes > a.guide-card-main { padding-right: 18px; }
  body.home-page .guide-links .guide-card-main > strong { font-size: 20px; }
  body.home-page .guide-links .guide-card-main > .guide-card-description { font-size: 13px; }
  body.home-page .guide-links .guide-card-main .guide-portrait { right: 4px; width: 94px; height: 154px; }
  body.home-page .guide-links .guide-card > a.guide-card-character { padding-inline: 18px; }
  body.home-page .about-section { padding-bottom: 24px; }
  body.home-page .about-inner { padding: 24px 22px; gap: 16px; }
  body.home-page .about-inner h2 { font-size: 27px; }
  body.home-page .about-content > p { font-size: 14px; }
  body.home-page .about-actions a { flex: 1; white-space: nowrap; }
  body.public-site-page .contact-steward { padding: 22px 0; }
  body.public-site-page .contact-steward > .wrap { width: min(540px, calc(100% - 32px)); flex-direction: column; align-items: stretch; gap: 16px; }
  body.public-site-page .contact-steward h2 { font-size: 21px; }
  body.public-site-page .contact-steward > .wrap > a { align-self: flex-start; }
  body.public-site-page .footer-inner { width: min(540px, calc(100% - 32px)); grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 18px 0; }
  body.public-site-page .footer-inner > span:nth-child(3) { grid-column: auto; }
}
body.home-page.motion-paused .guide-card,
body.home-page.motion-simple .guide-card,
body.home-page.motion-paused .guide-card-main .guide-portrait,
body.home-page.motion-simple .guide-card-main .guide-portrait,
body.home-page.motion-paused .guide-card-action > span,
body.home-page.motion-simple .guide-card-action > span { transform: none; transition: none; }
@media (prefers-reduced-motion: reduce) {
  body.home-page .guide-card,
  body.home-page .guide-card-main .guide-portrait,
  body.home-page .guide-card-action > span { transform: none; transition: none; }
}

/* 三扇雏宫入口：装饰和原生链接分离；一次描线、扇翼、掀页。 */
body.home-page .guide-card {
  --entry-accent: #89632c;
  --entry-wash: #f2dfaf;
  --entry-edge: #c5a262;
  --entry-paper: #fff9e9;
  border-color: #cfbc96;
  border-radius: 18px 18px 10px 10px;
  box-shadow: 0 7px 20px #503c2710;
}
body.home-page .guide-card-keigetsu {
  --entry-accent: #953a51; --entry-wash: #efd0d5; --entry-edge: #bf8292; --entry-paper: #fff4f3;
  border-color: #d8b8be;
}
body.home-page .guide-card-notes {
  --entry-accent: #3e4b76; --entry-wash: #d6deed; --entry-edge: #8492b1; --entry-paper: #f4f5fa;
  border-color: #b9c2d4;
}
body.home-page .guide-links .guide-card > a.guide-card-main {
  min-height: 194px;
  padding: 24px 145px 22px 24px;
  isolation: isolate;
  background: linear-gradient(110deg, #fffdf7 32%, var(--entry-paper) 62%, var(--entry-wash));
}
body.home-page .guide-links .guide-card > a.guide-card-main::before {
  content: ""; position: absolute; inset: 10px; pointer-events: none;
  border: 1px solid var(--entry-edge); border-radius: 11px 11px 4px 4px; opacity: .28;
}
body.home-page .guide-links .guide-card-main > .guide-card-kicker {
  display: flex; align-items: center; gap: 8px; margin-bottom: 2px;
}
body.home-page .guide-card-kicker::before {
  content: ""; width: 5px; height: 5px; flex: 0 0 5px;
  border: 1px solid currentColor; transform: rotate(45deg);
}
body.home-page .guide-links .guide-card-main > .guide-card-action { gap: 10px; padding-top: 10px; }
body.home-page .guide-links .guide-card-action > span {
  display: grid; place-items: center; width: 28px; height: 28px;
  border: 1px solid var(--entry-edge); border-radius: 50%; background: #ffffff73;
}
body.home-page .guide-links .guide-card-main .guide-portrait {
  z-index: 1; right: 12px; width: 120px; height: 185px; opacity: 1;
  filter: none;
}
body.home-page .guide-links .guide-card > a.guide-card-character {
  position: relative; z-index: 1; min-height: 46px;
  border-color: var(--entry-edge); background: var(--entry-paper); color: var(--entry-accent);
}
body.home-page .guide-links .guide-card-notes > a.guide-card-main {
  padding-right: 145px; min-height: 240px;
}
body.home-page .guide-ornament {
  position: absolute; z-index: 0; right: 0; bottom: 0; width: 166px; height: 206px;
  display: block; overflow: visible; pointer-events: none;
  color: var(--entry-accent); stroke-linecap: round; stroke-linejoin: round;
}
body.home-page .guide-letter { right: 8px; bottom: 16px; width: 150px; height: 188px; }
body.home-page .guide-art-halo { fill: var(--entry-wash); opacity: .6; }
body.home-page .guide-art-orbit { stroke: var(--entry-edge); stroke-width: 1; opacity: .65; }
body.home-page .guide-art-cloud { stroke: var(--entry-edge); stroke-width: 1; opacity: .48; }
body.home-page .guide-art-ribbon { stroke: currentColor; stroke-width: 8; opacity: .09; }
body.home-page .guide-art-sprig { stroke: currentColor; stroke-width: 1; opacity: .48; }
body.home-page .guide-art-star { fill: var(--entry-edge); opacity: .8; }
body.home-page .guide-wing-fill { fill: var(--entry-wash); stroke: currentColor; stroke-width: 1.1; }
body.home-page .guide-wing-vein { stroke: currentColor; stroke-width: .8; opacity: .6; }
body.home-page .guide-wing-body { stroke: currentColor; stroke-width: 1.2; }
body.home-page .guide-mouse-fill { fill: var(--entry-wash); stroke: currentColor; stroke-width: 1.1; }
body.home-page .guide-mouse-inner { fill: currentColor; opacity: .14; }
body.home-page .guide-mouse-dot { fill: currentColor; }
body.home-page .guide-mouse-line { stroke: currentColor; stroke-width: 1.3; }
body.home-page .guide-mouse-detail { stroke: currentColor; stroke-width: .8; }
body.home-page .guide-mouse-ear { transform-origin: 9px -10px; }
body.home-page .guide-mouse-tail { transform-origin: -15px 6px; }
body.home-page .guide-wing-left,
body.home-page .guide-wing-right { transform-origin: 0 0; }
body.home-page .guide-trace {
  stroke: currentColor; stroke-width: 1.4; opacity: .85;
  stroke-dasharray: 1; stroke-dashoffset: 1;
  transition: stroke-dashoffset .85s cubic-bezier(.2, .65, .3, 1);
}
body.home-page .guide-paper-back { fill: #dde3f0; stroke: #98a5bf; stroke-width: 1; }
body.home-page .guide-paper-front { fill: #fffdf7; stroke: #98a5bf; stroke-width: 1; }
body.home-page .guide-paper-fold { fill: #e2e7f0; stroke: #98a5bf; stroke-width: 1; }
body.home-page .guide-paper-rule { stroke: #a9b1c6; stroke-width: 1; }
body.home-page .guide-paper-sprig { stroke: #a98951; stroke-width: 1.2; }
body.home-page .guide-envelope { fill: #ced7e8; stroke: #8492b1; stroke-width: 1; }
body.home-page .guide-envelope-flap { stroke: #8492b1; stroke-width: 1; }
body.home-page .guide-letter-seal { fill: #bd9d63; stroke: #aa864c; stroke-width: 1; }
body.home-page .guide-seal-mark { stroke: #fff5dc; stroke-width: 1; }
body.home-page .guide-letter-page { transform: rotate(-8deg); transform-origin: 94px 177px; }
body.home-page .guide-card:focus-within .guide-trace,
body.home-page .guide-card:active .guide-trace { stroke-dashoffset: 0; }
body.home-page .guide-card:focus-within .guide-wing-left { animation: guide-wing-left .9s ease-in-out 1; }
body.home-page .guide-card:focus-within .guide-wing-right { animation: guide-wing-right .9s ease-in-out 1; }
body.home-page .guide-card:focus-within .guide-mouse-ear { animation: guide-mouse-listen .8s ease-in-out 1; }
body.home-page .guide-card:focus-within .guide-mouse-tail { animation: guide-mouse-tail .9s ease-in-out 1; }
body.home-page .guide-card:focus-within .guide-letter-page { animation: guide-open-letter 1s ease-in-out 1; }
body.home-page .guide-card-main:active { box-shadow: inset 0 0 0 2px var(--entry-edge); }
@media (hover: hover) and (pointer: fine) {
  body.home-page .guide-card:hover { box-shadow: 0 12px 26px #503c2724; }
  body.home-page .guide-card:hover .guide-trace { stroke-dashoffset: 0; }
  body.home-page .guide-card:hover .guide-wing-left { animation: guide-wing-left .9s ease-in-out 1; }
  body.home-page .guide-card:hover .guide-wing-right { animation: guide-wing-right .9s ease-in-out 1; }
  body.home-page .guide-card:hover .guide-mouse-ear { animation: guide-mouse-listen .8s ease-in-out 1; }
  body.home-page .guide-card:hover .guide-mouse-tail { animation: guide-mouse-tail .9s ease-in-out 1; }
  body.home-page .guide-card:hover .guide-letter-page { animation: guide-open-letter 1s ease-in-out 1; }
}
@keyframes guide-wing-left {
  0%, 100% { transform: scaleX(1); }
  28%, 62% { transform: scaleX(.3); }
  44%, 78% { transform: scaleX(.9); }
}
@keyframes guide-wing-right {
  0%, 100% { transform: scaleX(1); }
  28%, 62% { transform: scaleX(.3); }
  44%, 78% { transform: scaleX(.9); }
}
@keyframes guide-mouse-listen {
  0%, 100% { transform: rotate(0deg) scaleX(1); }
  30% { transform: rotate(9deg) scaleX(.85); }
  65% { transform: rotate(-4deg) scaleX(.97); }
}
@keyframes guide-mouse-tail {
  0%, 100% { transform: rotate(0deg); }
  35% { transform: rotate(-8deg); }
  70% { transform: rotate(4deg); }
}
@keyframes guide-open-letter {
  0%, 100% { transform: rotate(-8deg) translateY(0); }
  45% { transform: rotate(-12deg) translateY(-9px); }
  72% { transform: rotate(-9deg) translateY(-5px); }
}
@media (max-width: 1100px) {
  body.home-page .guide-links .guide-card > a.guide-card-main { min-height: 174px; padding: 20px 148px 18px 22px; }
  body.home-page .guide-links .guide-card-notes > a.guide-card-main { min-height: 194px; padding-right: 148px; }
  body.home-page .guide-links .guide-card-main .guide-portrait { width: 114px; height: 166px; }
  body.home-page .guide-ornament { width: 157px; height: 183px; }
  body.home-page .guide-letter { width: 145px; height: 176px; bottom: 4px; }
}
@media (max-width: 620px) {
  body.home-page .guide-links .guide-card > a.guide-card-main { min-height: 180px; padding: 20px 112px 17px 18px; }
  body.home-page .guide-links .guide-card-notes > a.guide-card-main { min-height: 198px; padding-right: 112px; }
  body.home-page .guide-links .guide-card-main .guide-portrait { right: 4px; width: 100px; height: 164px; }
  body.home-page .guide-ornament { right: -7px; width: 128px; height: 171px; }
  body.home-page .guide-letter { right: 1px; width: 112px; height: 159px; bottom: 9px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  body.home-page .guide-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home-page .guide-links .guide-card-notes { grid-column: 1 / -1; }
}
/* 暂停包含页面后台状态；静态图、边框、点击与键盘焦点仍完整可用。 */
body.home-page:is(.motion-paused, .motion-simple) .guide-card .guide-trace {
  transition: none; stroke-dashoffset: 1;
}
body.home-page:is(.motion-paused, .motion-simple) .guide-card :is(.guide-wing-left, .guide-wing-right, .guide-mouse-ear, .guide-mouse-tail, .guide-letter-page) {
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  body.home-page .guide-card .guide-trace { transition: none; stroke-dashoffset: 1; }
  body.home-page .guide-card :is(.guide-wing-left, .guide-wing-right, .guide-mouse-ear, .guide-mouse-tail, .guide-letter-page) { animation: none; }
}
