/* 主城實景與淡石磚紋理，保留原有互動與資料版面。 */
:root { --bg: #edf3f4; --surface2: #e6eeec; --text: #243b37; --muted: #586b69; --line: #36565028; --gold: #8a672c; }
*, *::before, *::after { letter-spacing: 0 !important; }
body { background: var(--bg) url('/assets/scenery/stone-paper.webp') repeat; background-size: 128px 128px; }
.site-header { background: #fcfefd; border-bottom: 3px solid #a1b5a7; }
.button { border-radius: 3px; }
.button-primary { box-shadow: inset 0 2px #ffffff26, inset 0 -3px #133b2b66, 0 3px 0 #203a3424; }
.hero { height: min(660px, calc(100svh - 150px)); min-height: 480px; background: #a8c6cb; }
.hero-art { inset: 0; opacity: 1; }
.hero-art img { width: 100%; height: 100%; object-position: center 48%; opacity: 1; }
.hero-shade { background: #112d2533; }
.hero-content { padding-top: 64px; padding-bottom: 60px; color: white; text-shadow: 0 2px 5px #102e25; }
.hero .eyebrow { color: #fff; font-size: 12px; }
.hero h1 { font-size: 86px; line-height: 1.15; margin: 18px 0; font-weight: 800; letter-spacing: 0; }
.hero-tagline { font-size: 25px; line-height: 1.6; font-weight: 600; }
.hero-content > p { color: #fff; max-width: 420px; font-size: 14px; line-height: 1.9; margin-top: 15px; }
.hero-actions { margin-top: 24px; }
.hero-actions .button { text-shadow: none; }
.hero .button-ghost { background: #fffffff2; }
.hero .server-copy { color: #fff; font-size: 12px; text-shadow: 0 2px 3px #123e25; margin-top: 22px; }
.hero .server-copy .icon, .hero .server-copy small { color: #fff; }
.hero .signal-dot { background: #d4f5a3; box-shadow: none; }
.hero-coordinate, .hero-scroll { color: #fff; text-shadow: 0 2px 4px #143a2b; }
.hero-coordinate { bottom: 34px; font-size: 12px; }
.hero-coordinate span { font-size: 9px; }
.hero-scroll { font-size: 11px; bottom: 17px; }
.world-strip { background: #f9fcfb; border-bottom: 3px solid #becac4; }
.strip-inner { min-height: 70px; }
.section { padding-block: 68px; }
.eyebrow { color: #58715f; }
.section-heading h2, .growth-section h2 { line-height: 1.5; }
.page-heading { border-left: 4px solid #718c75; padding-left: 24px; }
.page-heading h1 { font-size: 40px; }
.feature-art img, .gameplay-visual img, .feature-card:hover img { transform: none; filter: none; width: 100%; object-position: center; }
.gameplay-visual { border-radius: 2px; border: 4px solid #fff; box-shadow: 0 3px 0 #acbdb6; }
.feature-card, .world-path, .class-card, .station-card, .screenshot-card { border-radius: 3px; border-color: #c4d1ca; box-shadow: 0 3px 0 #526b5914; }
.feature-number { background: #203b39c9; padding: 3px 7px; }
.growth-section { padding: 32px 0; border: 0; border-block: 2px solid #bdcec1; border-radius: 0; background: transparent; }
.news-section { background: #f9fcfb; }
.join-banner { border: 0; border-radius: 0; border-block: 2px solid #bdcec1; background: transparent; padding-inline: 0; }
.join-emblem { display: none; }
.join-world { border-radius: 2px; }
.join-world img { transform: none; opacity: 1; object-fit: cover; object-position: center; width: 100%; height: 100%; }
.site-footer { background: #e3ecea; border-top: 3px solid #a8bdb4; }
.class-heading h1, .farm-hero h1 { font-size: 46px; }
.farm-illustration { border-radius: 4px; background: #f9fcf9; }
.screenshot-card[data-gallery-category="主城"] .screenshot-open,
.screenshot-card[data-gallery-category="野外"] .screenshot-open { padding: 0; height: auto; aspect-ratio: 16 / 10; }
.screenshot-card[data-gallery-category="主城"] .screenshot-open img,
.screenshot-card[data-gallery-category="野外"] .screenshot-open img { object-fit: cover; }
@media (max-width: 800px) {
  .hero { min-height: 490px; }
  .hero h1 { font-size: 68px; }
  .hero-content { padding-top: 50px; }
  .hero-tagline { font-size: 22px; }
  .hero-coordinate { right: 22px; bottom: 24px; }
  .section { padding-block: 50px; }
}
@media (max-width: 580px) {
  .hero { height: auto; min-height: 0; }
  .hero-art { inset: 0; opacity: 1; }
  .hero-art img { object-position: 55% center; }
  .hero-shade { background: #102f254d; }
  .hero-content { padding-top: 38px; padding-bottom: 72px; }
  .hero h1 { font-size: 60px; line-height: 1.15; margin-block: 15px; }
  .hero .eyebrow { font-size: 10px; }
  .hero-tagline { font-size: 19px; }
  .hero-content > p { font-size: 12px; max-width: 320px; }
  .hero-actions { flex-wrap: wrap; gap: 10px; margin-top: 20px; }
  .hero-actions .button { padding: 11px 13px; font-size: 12px; }
  .hero .server-copy { font-size: 11px; }
  .hero-coordinate { font-size: 10px; bottom: 18px; }
  .hero-coordinate span { font-size: 8px; }
  .hero-scroll { bottom: 15px; font-size: 10px; }
  .page-heading { padding-left: 16px; }
  .page-heading h1, .class-heading h1, .farm-hero h1 { font-size: 30px; }
  .growth-section { padding: 24px 0; }
  .join-banner { padding: 28px 0; }
  #site-nav { background: #fcfefd; }
  .nav-join { white-space: nowrap; flex-shrink: 0; padding-inline: 8px; }
  .menu-button { flex-shrink: 0; }
}
