/* 明亮米白與森林綠主題；延用原有版面與響應式規則。 */
:root {
  color-scheme: light;
  --bg: #f8f7f1;
  --surface: #ffffff;
  --surface2: #eef2e9;
  --line: #254b3426;
  --text: #243f30;
  --muted: #5c6b60;
  --gold: #826030;
  --gold-light: #6d4a1e;
  --green: #316044;
}
::selection { background: #dce9c8; color: #243f30; }
:focus-visible { outline-color: #316044; }
.button-primary { background: #316044; border-color: #316044; color: #fff; }
.button-primary:hover { background: #254e35; border-color: #254e35; }
.button-ghost { background: #ffffffb8; color: #316044; }
.button-ghost:hover { background: #eef2e9; }
.button-discord { background: #e7eddf; color: #294a34; border-color: #b9c9ae; }
.button-discord:hover { background: #d9e5ce; }
.nav-join { color: #316044; background: #fff; border-color: #bccbb5; }
.text-link:hover { color: #316044; }
.muted { color: #71806e; }
.tag { color: #45603e; border-color: #c7d3bb; background: #f2f6ec; }
.skip-link { color: #fff; background: #316044; }
.toast { color: #243f30; background: #fff; box-shadow: 0 12px 40px #24482b26; }
.site-header { background: #fdfcf7; }
.logo-text { color: #2a4934; }
.server-logo { width: 44px; height: 44px; object-fit: contain; }
#site-nav > a { color: #64705f; }
#site-nav > a:hover, #site-nav > a[aria-current] { color: #244b33; }
.hero { background: #eef2e6; }
.hero-art img { opacity: 1; }
.hero-shade {
  background: linear-gradient(90deg, #f8f7f1 0%, #f8f7f1f5 24%, #f8f7f19c 43%, #f8f7f100 68%),
    linear-gradient(0deg, #f8f7f1, #f8f7f100 22%);
}
.accent-word { color: #42714b; }
.hero-content > p { color: #53644f; }
.server-copy { color: #365637; }
.server-copy .icon, .server-copy small { color: #5c7155; }
.signal-dot { background: #588344; box-shadow: 0 0 10px #58834433; }
.hero-coordinate { color: #324f38; }
.hero-scroll { color: #4f6948; }
.world-strip { background: #edf1e6; }
.strip-inner > span, .strip-inner > div { color: #607056; }
.strip-inner strong { color: #2f5038; }
.tiny-diamond { color: #7d6b42; }
.feature-card, .calculator, .admin-login, .admin-card { background: #fff; }
.feature-card:hover, .world-path:hover { border-color: #86a078; }
.feature-art, .gameplay-visual { background: #dce7cc; }
.feature-art img { filter: saturate(.9); }
.feature-1 img { filter: hue-rotate(12deg) saturate(.8); }
.feature-2 img { filter: sepia(.12) saturate(.85); }
.feature-art:after { background: linear-gradient(0deg, #213c3266, transparent 65%); }
.feature-number, .feature-icon { color: #fff7da; }
.feature-body p, .news-item p, .join-banner p { color: var(--muted); }
.news-section { background: #f0f3e9; }
.news-item time, .news-item > .icon { color: #667b57; }
.join-banner { background: radial-gradient(ellipse at 90% 100%, #c9d8ad77, transparent 70%), #edf3e4; border-color: #c4d2b6; }
.join-emblem { color: #5c79490a; }
.site-footer { background: #edf0e6; }
.footer-top p, .footer-links, .footer-bottom { color: #5c6b55; }
.subtle-note { color: #526448; background: #f0f4e9; }
.store-notice { background: #fbf3df; border-color: #dac79e; }
.store-notice strong { color: #765723; }
.store-notice p { color: #746449; }
.status-pill { background: #f3e8ca; border-color: #d8c49a; }
.sponsor-card { background: radial-gradient(ellipse at 50% 15%, #dbe5bd77, transparent 70%), #fff; }
.exchange-rate, .sponsor-info, .account-pending, .calculator .checkout-note { color: #5e7152; }
.exchange-rate > span:nth-child(2), .sponsor-info .icon, .calculator label span { color: #68775e; }
.amount-field { background: #fafbf5; border-color: #b6c7a7; }
.amount-field input { color: #2f5038; }
.amount-presets button { background: #f2f5ec; color: #4d6941; }
.amount-presets button.selected, .amount-presets button:hover { color: #2f573b; border-color: #7e9b6a; background: #e5edda; }
.payment-disabled, .payment-disabled:hover { background: #e8ecdf; color: #66715a; border-color: #cbd3bd; }
.faq-block summary, .prose h2 { color: #294b34; }
.address-copy { background: #edf3e3; border-color: #b8cba3; color: #34592f; }
.join-world { background: #dce6c9; }
.join-world span, .gameplay-visual span { color: #fff8df; background: #29422dbb; padding: 5px 10px; border-radius: 3px; }
.admin-login .login-help { color: #67765c; }
.admin-login { min-width: 0; }
.admin-login .button-discord { white-space: normal; gap: 8px; padding-inline: 12px; font-size: 13px; }
.admin-login label, .admin-card label { color: #3e5a37; }
.admin-login input, .admin-card input, .admin-card textarea { color: #2b4833; background: #fbfcf7; border-color: #b8c5ad; }
.form-error, .danger { color: #a73527; }
.admin-status { background: #eaf2df; border-color: #c0d1ac; color: #3f6334; }
.admin-top > #logout { flex-shrink: 0; white-space: nowrap; }
#admin-panel > .admin-card + .admin-card { margin-top: 20px; }
@media (max-width: 580px) {
  .admin-tabs { gap: 8px; }
  .admin-tabs button { flex: 1; min-width: 0; padding-inline: 0; font-size: 11px; white-space: nowrap; }
}
.save-bar { background: #f0f5e8; box-shadow: 0 6px 25px #3150310d; }
th { color: #36572e; }
select { color-scheme: light; }
.world-path, .class-card, .recipe-card, .station-card, .screenshot-card { box-shadow: 0 6px 24px #28432e05; }
.farm-preview { background: radial-gradient(ellipse at 50% 80%, #ebd9ac77, transparent 65%), #edf4df; }
.farm-preview > span { color: #6f8c51; }
.screenshot-preview, .screenshot-open { background: #e8eddf; }
.farm-illustration { background: radial-gradient(ellipse at 50% 65%, #d8e9b5aa, transparent 70%), #f3f6ea; }
.farm-grain { color: #7c9757; }
.farm-steam { color: #91866588; }
.farm-pot { background: linear-gradient(120deg, #8b9f7c, #5c7755); border-color: #57744f; color: #ffedc4; box-shadow: 0 25px 60px #43662c1c; }
.farm-pot:before, .farm-pot:after { border-color: #57744f; }
.farm-caption { color: #58724b; }
.recipe-filters label { color: #48633e; }
.recipe-filters input, .recipe-filters select, .class-toolbar input { color: var(--text); background: #fcfdf8; border-color: #bdcbb0; }
input::placeholder, textarea::placeholder { color: #74806c; }
.recipe-expand, .recipe-ingredients, .class-skills summary { color: #48633e; }
.recipe-card[open] { border-color: #9aac7d; }
.gold-badge { color: #785222; border-color: #d2bc8d; background: #faf2dd; }
.choice-or, .chance, .recipe-id { color: #5e7052; }
.crafting-grid > span { background: #e9efdd; border-color: #c5d1b6; }
.recipe-title { display: flex; align-items: center; gap: 12px; margin: 13px 0 8px; }
.recipe-title strong { font-size: 18px; line-height: 1.6; overflow-wrap: anywhere; }
.recipe-icon { display: inline-block; width: 32px; height: 32px; object-fit: contain; image-rendering: pixelated; flex: 0 0 auto; vertical-align: middle; }
.recipe-title > .recipe-icon { width: 48px; height: 48px; padding: 3px; background: #f2f5eb; border: 1px solid #d5dec9; border-radius: 5px; }
.recipe-icon-empty { display: inline-grid; place-items: center; color: #839674; font-size: 20px; }
.recipe-item { display: inline-flex; gap: 7px; align-items: center; max-width: 100%; vertical-align: middle; }
.recipe-item > span { overflow-wrap: anywhere; }
.recipe-ingredients li { padding-block: 3px; }
.crafting-grid { grid-template-columns: repeat(3, 56px); gap: 4px; }
.crafting-grid > span { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 58px; padding: 2px; }
.crafting-grid .recipe-icon { width: 34px; height: 34px; }
.crafting-grid small { font-size: 9px; line-height: 1.3; color: #556b46; }
.crafting-layout p { margin-block: 6px; }
.station-guides, .equipment-section { margin-bottom: 70px; }
.station-guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.station-guide { background: #fff; border: 1px solid var(--line); border-radius: 5px; min-width: 0; padding: 20px 23px; }
.station-guide summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.station-guide summary::-webkit-details-marker { display: none; }
.station-guide summary strong { font-size: 15px; }
.station-guide summary > span { margin-left: auto; color: var(--gold); }
.station-guide[open] summary > span { transform: rotate(45deg); }
.station-guide ol { padding-left: 21px; font-size: 13px; color: var(--muted); line-height: 2; margin-block: 20px 16px; }
.station-guide li + li { margin-top: 9px; }
.station-guide > p { font-size: 12px; color: #6e694e; border-left: 2px solid #c5b78e; padding-left: 12px; }
.station-guide > .text-link { margin-top: 20px; margin-right: 18px; }
.class-body > .class-quote { color: #866335; }
.class-index { color: #fff4d6; }
.gallery-filters button[aria-pressed=true] { color: #2f573b; background: #e7efdc; border-color: #9db88b; }
.screenshot-open > span { color: #315133; background: #fffdf4f0; border-color: #c6d2b9; }
.screenshot-dialog { background: #fdfdf8; border-color: #a8ba96; box-shadow: 0 20px 80px #17321e44; }
.screenshot-dialog::backdrop { background: #203527b3; }
.growth-section { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 32px; padding: 32px; margin: 0 0 64px; border: 1px solid #c3d3b1; border-radius: 6px; background: #eff5e7; }
.growth-section h2 { font-size: 27px; margin-top: 10px; }
.growth-section h3 { font-size: 18px; margin: 8px 0; }
.growth-section p { color: var(--muted); font-size: 13px; line-height: 2; }
.growth-section .text-link { margin-top: 16px; }
.class-switch { display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; border: 1px solid #c3d3b1; background: #edf4e4; border-radius: 4px; color: #385c37; font-size: 13px; margin-top: 22px; }
@media(max-width:800px) {
  .hero-shade { background: linear-gradient(90deg, #f8f7f1, #f8f7f1c9 35%, #f8f7f100 85%), linear-gradient(0deg, #f8f7f1, #f8f7f100 30%); }
  .growth-section { grid-template-columns: 1fr 1fr; gap: 24px; }
  .growth-section > div:first-child { grid-column: 1 / -1; }
}
@media(max-width:580px) {
  .server-logo { width: 34px; height: 34px; }
  .station-guide-grid { grid-template-columns: 1fr; }
  .equipment-section { margin-bottom: 44px; }
  .station-guide { padding: 19px; }
  .station-guide summary strong { font-size: 14px; }
  .recipe-title strong { font-size: 17px; }
  #site-nav { background: #fdfcf7; border-bottom-color: #c5d1b8; }
  .hero-shade { background: linear-gradient(180deg, #f8f7f1 0%, #f8f7f1ec 38%, #f8f7f118 74%, #f8f7f1 100%), linear-gradient(90deg, #f8f7f188, #f8f7f100); }
  .growth-section { grid-template-columns: 1fr; padding: 24px; gap: 24px; margin-bottom: 44px; }
  .growth-section h2 { font-size: 24px; }
  .class-switch { font-size: 12px; padding: 8px 11px; }
}
/* 食材取得圖鑑：沿用食譜頁的配色與可鍵盤操作的原生展開。 */
.acquisition-section { scroll-margin-top: 100px; padding: 50px 0; border-top: 1px solid var(--line, #d9dfd4); }
.acquisition-intro, .acquisition-footnote { color: #566353; line-height: 1.8; max-width: 72ch; }
.acquisition-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 22px; }
.acquisition-shortcuts button { border: 1px solid #bdcaba; background: #f6f8f1; color: #28553b; padding: 7px 14px; cursor: pointer; font: inherit; border-radius: 4px; }
.acquisition-shortcuts button:hover { background: #e4eddf; }
.acquisition-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.acquisition-card { background: #fffef9; border: 1px solid #d4ddce; min-width: 0; border-radius: 6px; }
.acquisition-card > summary { cursor: pointer; list-style: none; padding: 20px; }
.acquisition-card > summary::-webkit-details-marker { display: none; }
.acquisition-card-top { display: flex; align-items: center; gap: 12px; }
.acquisition-card-top .recipe-icon { flex: 0 0 56px; width: 56px; height: 56px; image-rendering: pixelated; object-fit: contain; }
.acquisition-card-top > span:nth-child(2) { min-width: 0; flex: 1; }
.acquisition-card-top small { display: block; font-size: 11px; letter-spacing: .08em; color: #66735e; margin-bottom: 5px; }
.acquisition-card-top strong { font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.acquisition-toggle { color: #3c674a; flex: 0 0 16px; }
.acquisition-card[open] > summary .acquisition-toggle { transform: rotate(45deg); }
.acquisition-preview { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 1.8; font-size: 13px; color: #566353; margin-top: 15px; }
.acquisition-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.acquisition-tags > span { color: #3d6147; font-size: 11px; border-bottom: 1px solid #c9d5c3; }
.acquisition-detail { border-top: 1px solid #e2e7dc; padding: 0 20px 20px; }
.acquisition-method { margin-top: 20px; }
.acquisition-method h4 { margin: 0 0 8px; line-height: 1.8; font-size: 14px; }
.acquisition-method p { margin: 0; font-size: 13px; line-height: 1.9; color: #495543; }
.acquisition-biomes { margin-top: 12px; font-size: 12px; }
.acquisition-biomes summary, .acquisition-recipes > summary { cursor: pointer; color: #315e41; line-height: 1.8; }
.acquisition-biomes ul { padding-left: 18px; }
.acquisition-biomes li { margin: 8px 0; }
.acquisition-biomes code { display: block; font-size: 10px; color: #66735e; }
.acquisition-recipes { margin-top: 20px; }
.acquisition-recipes > .recipe-grid { grid-template-columns: minmax(0, 1fr); margin-top: 12px; }
.acquisition-recipes .recipe-card { min-width: 0; }
.acquisition-recipes .crafting-layout { display: block; }
.acquisition-recipes .recipe-card-detail { padding: 12px; }
.acquisition-recipes .crafting-grid { margin: 10px 0; }
.acquisition-id { margin: 22px 0 0; font-size: 11px; color: #687360; line-height: 1.9; overflow-wrap: anywhere; }
.acquisition-id code, .acquisition-biomes code { overflow-wrap: anywhere; }
.acquisition-card:focus-within, .acquisition-shortcuts button:focus-visible { outline: 2px solid #518061; outline-offset: 3px; }
@media (max-width: 1050px) { .acquisition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .acquisition-grid { grid-template-columns: minmax(0, 1fr); } .acquisition-section { padding: 32px 0; } }
