:root {
  color-scheme: dark;
  --forest: #26241f; --forest-deep: #161714; --green: #e4b02b; --paper: #181916;
  --surface: #252522; --ink: #eee6d4; --muted: #b5ae9c; --line: #514b3e; --amber: #f1bd2e;
  --serif: "Microsoft YaHei", "PingFang SC", sans-serif;
}
body { background: radial-gradient(ellipse at 85% 0, #69492135, transparent 55%), repeating-linear-gradient(0deg, #ffffff02 0 1px, transparent 1px 4px), #181916; color: var(--ink); }
body, button, input, select { font-family: "Microsoft YaHei", "PingFang SC", sans-serif; }
a:hover { color: var(--amber); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline-color: #f1bd2e; }
.sidebar { background: linear-gradient(150deg, #23251f, #11120f 80%); border-right: 1px solid #645437; }
.sidebar::after { background-image: repeating-linear-gradient(135deg, transparent 0 50px, #c99b48 51px, transparent 52px); opacity: .05; }
.brand-symbol { background: #303129; color: #e9b937; border-color: #957441; border-radius: 3px; box-shadow: inset 0 0 0 3px #151711; }
.brand-text { color: #ded4bc; font-family: Impact, "Arial Narrow", sans-serif; letter-spacing: 2px; }
.brand-text strong { font-family: "Microsoft YaHei", sans-serif; font-weight: 900; color: #efb827; font-size: 22px; text-shadow: 2px 2px #080905; }
.sidebar-caption, .nav-caption { color: #b0a488; }
.category-button { color: #ddd5c1; border-radius: 3px; border: 1px solid transparent; }
.category-button:hover { background: #34342b; color: #ffe7a3; }
.category-button.active { background: linear-gradient(100deg, #7258226b, #36332a); border-color: #b18d3f; color: #f7c634; box-shadow: inset 3px 0 #eabc28; }
.category-count { color: #c4b89c; background: #141511; border: 1px solid #514d3c; border-radius: 2px; }
.category-button.active .category-count { color: #f5cc53; background: #29271d; }
.supply-link { display: inline-block; padding: 7px 10px; border: 1px solid #93763b; color: #f4c342; background: #332e21; font-weight: 700; font-size: 11px; text-decoration: none; white-space: nowrap; }
.header-title { min-width: 0; }
.title-row { display: flex; align-items: center; gap: 12px; }
.title-row h1 { min-width: 0; }
.page-help { flex-shrink: 0; }
.page-help summary { display: grid; place-items: center; width: 32px; height: 32px; color: #d8bd77; border: 1px solid transparent; border-radius: 50%; list-style: none; }
.page-help summary::-webkit-details-marker { display: none; }
.page-help summary:hover, .page-help[open] summary { color: #f4c342; border-color: #93763b; background: #332e21; }
.page-help svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.page-header .page-help p { top: calc(100% + 8px); left: 0; right: auto; width: 280px; color: #dfd1ae; background: #2c2a20; border-color: #8a7445; }
.page-help[open]::after { content: ""; position: absolute; left: 12px; top: calc(100% + 4px); width: 7px; height: 7px; background: #2c2a20; border: solid #8a7445; border-width: 1px 0 0 1px; transform: rotate(45deg); z-index: 11; }
.page-header { position: relative; z-index: 3; }
#renewableOnly { accent-color: var(--amber); }
.category-nav { scrollbar-color: #8a7751 #1d1e19; }
.sidebar-bottom { border-color: #504931; }
.sidebar-bottom a, .game-version { color: #bcb39e; }
.edition-label { color: #e0d6b8; }
.status-dot { background: #e0b735; box-shadow: 0 0 8px #dfad2445; }
.main-content { background: linear-gradient(110deg, #302a2035, transparent 65%); }
.eyebrow { color: #c8b280; font-family: Impact, "Arial Narrow", sans-serif; font-size: 11px; letter-spacing: 2px; }
h1 { color: #f0bd2f; font-weight: 900; text-shadow: 2px 3px #080907; letter-spacing: 1px; }
.page-header p { color: #c2bba7; }
.header-emblem { color: #ba9350; border-color: #5b4b32; }
.search-field > span, .select-field > span { color: #d9caa9; }
.input-wrap input, .select-field select, .filter-select select, .results-toolbar select { background: #22231f; color: #e7e0d1; border-color: #625b4b; border-radius: 3px; }
.input-wrap svg { color: #c7af77; }
.input-wrap input::placeholder { color: #a59d8b; }
kbd { border-color: #5b5646; color: #c5b995; background: #33332c; }
.reset-button { background: #33342d; border-color: #6a6350; border-radius: 3px; color: #e2d9c3; }
.reset-button:hover { background: #494537; }
.player-filters { border-color: #514935; }
.filter-select, .check-filter, .results-toolbar label, #filterSummary { color: #bcb49f; }
.filter-chip { color: #d5cdb8; border-color: #62583e; border-radius: 2px; background: #26261f; }
.filter-chip.active { background: #dcaf2d; border-color: #efc944; color: #272318; font-weight: 700; }
.filter-chip:hover { border-color: #c99f46; }
.entry-list, .detail-content { scrollbar-color: #8a7751 #1d1e19; }
/* Chromium/WebView 下的经典滚动条带箭头按钮，统一替换为主题色细滚动条。 */
.entry-list::-webkit-scrollbar, .detail-content::-webkit-scrollbar, .category-nav::-webkit-scrollbar,
.ingredient-options::-webkit-scrollbar, .pantry-materials::-webkit-scrollbar,
.cooking-thresholds::-webkit-scrollbar { width: 10px; height: 10px; }
.entry-list::-webkit-scrollbar-track, .detail-content::-webkit-scrollbar-track, .category-nav::-webkit-scrollbar-track,
.ingredient-options::-webkit-scrollbar-track, .pantry-materials::-webkit-scrollbar-track,
.cooking-thresholds::-webkit-scrollbar-track { background: #1d1e19; }
.entry-list::-webkit-scrollbar-thumb, .detail-content::-webkit-scrollbar-thumb, .category-nav::-webkit-scrollbar-thumb,
.ingredient-options::-webkit-scrollbar-thumb, .pantry-materials::-webkit-scrollbar-thumb,
.cooking-thresholds::-webkit-scrollbar-thumb { background: #565040; border-radius: 5px; border: 2px solid #1d1e19; }
.entry-list::-webkit-scrollbar-thumb:hover, .detail-content::-webkit-scrollbar-thumb:hover, .category-nav::-webkit-scrollbar-thumb:hover,
.ingredient-options::-webkit-scrollbar-thumb:hover, .pantry-materials::-webkit-scrollbar-thumb:hover,
.cooking-thresholds::-webkit-scrollbar-thumb:hover { background: #7a6f52; }
.entry-list::-webkit-scrollbar-button, .detail-content::-webkit-scrollbar-button, .category-nav::-webkit-scrollbar-button,
.ingredient-options::-webkit-scrollbar-button, .pantry-materials::-webkit-scrollbar-button,
.cooking-thresholds::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
.entry-list::-webkit-scrollbar-corner, .detail-content::-webkit-scrollbar-corner { background: transparent; }
.entry-card { background: linear-gradient(135deg, #30312b, #20211e); border-color: #68634f; border-radius: 3px; box-shadow: inset 0 0 0 2px #11130f; padding: 17px; }
.entry-card:hover { border-color: #ad965b; background: linear-gradient(135deg, #3c3b31, #24251e); transform: translateY(-1px); }
.entry-card.active { border-color: #e3b82e; background: linear-gradient(135deg, #4a4329, #282920); box-shadow: inset 0 0 0 2px #1b1b14, 0 0 12px #e7ad2512; }
.entry-art { background: linear-gradient(140deg, #3b3d35, #20221d); border: 1px solid #676756; border-radius: 3px; box-shadow: inset 0 0 0 2px #161813; }
.entry-art img { padding: 5px; }
.entry-name { color: #f4ecda; font-weight: 800; }
.entry-meta, .entry-description, .entry-description.material-preview { color: #c0b8a0; }
.quality-label { color: #ebbf4e; }
.tag { background: #373528; border-color: #6d603d; color: #e2d0a3; border-radius: 2px; }
.tag-count { color: #e7bb56; }
button.tag:hover { background: #53472b; border-color: #ce9b3f; }
.icon-uses { position: absolute; left: 4px; bottom: 3px; z-index: 1; color: #fff; font: 800 12px/1.2 "Microsoft YaHei", sans-serif; text-shadow: -1px -1px 2px #000, 1px 1px 2px #000, 0 0 4px #000; pointer-events: none; }
.detail-art .icon-uses { font-size: 15px; left: 5px; bottom: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.portion-note { color: #c1b9a2; font-size: 13px; }
.ingredient-field { position: relative; }
.ingredient-field summary { height: 46px; padding: 12px 14px; border: 1px solid #625b4b; border-radius: 3px; background: #22231f; cursor: pointer; color: #e7e0d1; font-size: 12px; }
.ingredient-field details[open] summary { border-color: var(--amber); }
.ingredient-menu { position: absolute; top: 100%; left: 0; width: max(100%, 320px); max-width: calc(100vw - 32px); padding: 12px; margin-top: 5px; z-index: 20; background: #22231f; border: 1px solid #93763b; box-shadow: 0 12px 30px #0009; }
.ingredient-menu .input-wrap { display: block; margin-bottom: 8px; }
.ingredient-menu input { height: 38px; }
.ingredient-options { display: flex; flex-direction: column; max-height: min(280px, 42dvh); overflow-y: auto; scrollbar-color: #8a7751 #1d1e19; }
.ingredient-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 8px; border: 0; border-bottom: 1px solid #514b3e; background: transparent; color: var(--ink); text-align: left; }
.ingredient-option:hover, .ingredient-option:focus-visible { background: #51432a; }
.ingredient-option small { color: #bfb298; font-size: 10px; white-space: nowrap; }
.selected-materials { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 10px; }
.material-chip { padding: 5px 9px; border: 1px solid #9d8050; border-radius: 3px; background: #393023; color: #f2d796; font-size: 11px; }
.material-chip:hover { background: #56422b; }
.material-help, .card-stat-caption { color: var(--muted); font-size: 10px; }
.card-stat-caption { display: block; margin: 8px 0 4px; }
.item-tag-line { color: #bdb49d; font-size: 12px; margin-top: 8px; }
.food-facts { display: flex; flex-wrap: wrap; gap: 7px 16px; padding: 12px 0; margin-bottom: 12px; border-bottom: 1px solid var(--line); color: #c8bea5; font-size: 12px; }
.tier-label { color: #e1bd70; font-size: 11px; font-weight: 500; }
.language-switch { display: inline-flex; flex-direction: column; gap: 3px; color: #c7bfa9; font-size: 9px; flex-shrink: 0; }
.language-switch select, .picker-filters select { background: #25261f; color: #eee2c4; border: 1px solid #897344; border-radius: 3px; padding: 6px 8px; min-height: 32px; font: inherit; font-size: 12px; }
.header-actions { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: center; max-width: 330px; }
.guide-header { flex-wrap: wrap; gap: 12px; }
.ingredient-facets { padding: 12px 0 9px; border-bottom: 1px solid var(--line); }
.facet-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 7px; }
.facet-row > span { flex: 0 0 64px; color: #bbb39b; font-size: 11px; }
.facet-options { display: flex; gap: 5px; flex-wrap: wrap; }
.facet-select { display: none; background: #25261f; color: #eee2c4; border: 1px solid #897344; border-radius: 3px; padding: 8px; font: inherit; }
.facet-chip { display: inline-flex; gap: 7px; align-items: center; padding: 5px 9px; background: #292b23; color: #d3c9af; border: 1px solid #605d44; border-radius: 3px; font: inherit; font-size: 11px; cursor: pointer; }
.facet-chip small { color: #bbb29a; font-size: 10px; }
.facet-chip:hover { border-color: #cba858; }
.facet-chip.active { color: #ffdf91; border-color: #d3ae59; background: #48402b; box-shadow: inset 0 -2px #d3ae59; }
.entry-name-row { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; }
.tier-badge { display: inline-block; flex-shrink: 0; padding: 2px 6px; border: 1px solid; border-radius: 2px; font-size: 10px; font-weight: 700; line-height: 1.5; }
.tier-1 { color: #f1d078; border-color: #c39b43; background: #42371f; }
.tier-2 { color: #aeda9c; border-color: #7f9d64; background: #2c3823; }
.tier-3 { color: #c9c5b7; border-color: #7e7b68; background: #31322b; }
.tier-none { color: #b5c3ca; border-color: #61717a; background: #283036; }
.picker-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.picker-filters label { flex: 1; display: flex; flex-direction: column; gap: 4px; color: #c5baa0; font-size: 10px; }
.ingredient-menu { width: min(560px, calc(100vw - 40px)); }
.ingredient-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.ingredient-option { display: flex; align-items: center; gap: 9px; justify-content: flex-start; min-height: 66px; padding: 8px; }
.ingredient-option .entry-art { width: 38px; height: 38px; flex-shrink: 0; }
.ingredient-option-text { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; min-width: 0; text-align: left; }
.ingredient-option-text > span:first-child { width: 100%; font-size: 12px; }
.ingredient-option-text small { font-size: 10px; }
.ingredient-option-text .tier-badge { font-size: 9px; }
html[lang="en"] .facet-row > span { flex-basis: 92px; }
html[lang="en"] .page-header h1 { font-size: 29px; }
html[lang="en"] .category-label { white-space: normal; }
@media (max-width: 720px) {
  .page-header { flex-direction: column; align-items: stretch; gap: 12px; }
  .page-header .header-actions { width: 100%; max-width: none; justify-content: space-between; }
  .title-row { position: relative; gap: 8px; }
  .page-help { position: static; }
  .page-help summary { width: 28px; height: 28px; }
  .page-header .page-help p { top: calc(100% + 6px); width: min(320px, 100%); }
  .page-help[open]::after { display: none; }
  .language-switch { font-size: 8px; }
  .language-switch select { padding: 5px; font-size: 11px; }
  .header-actions { max-width: 160px; }
  .ingredient-facets { display: flex; gap: 12px; }
  .facet-row { display: block; flex: 1; min-width: 0; }
  .facet-row > span { display: block; margin-bottom: 5px; }
  .facet-options { display: none; }
  .facet-select { display: block; width: 100%; font-size: 12px; }
  .facet-chip { flex-shrink: 0; min-height: 32px; }
  .tier-badge { font-size: 9px; padding: 1px 4px; }
  .ingredient-options { grid-template-columns: minmax(0, 1fr); }
  html[lang="en"] .entry-list { grid-template-columns: minmax(0,1fr); }
  html[lang="en"] .page-header h1 { font-size: 24px; }
}
@media (max-width: 960px) and (min-width: 721px) {
  .app-shell { height: auto; min-height: 100dvh; }
  .workspace { flex: none; height: 65dvh; min-height: 400px; }
  .main-content { height: auto; }
}
@media (min-width: 961px) and (max-height: 760px) {
  .app-shell { min-height: 760px; }
}
.secondary-stats { margin: 12px 0; color: var(--muted); font-size: 11px; }
.secondary-stats summary { cursor: pointer; }
.secondary-stats .highlights { margin-top: 8px; }
.card-stats { border-color: #575440; }
.card-stat { color: #c0b8a1; }
.card-stat b, .stat-tile dd { color: #aacd7b; font-family: "Arial Narrow", "Microsoft YaHei", sans-serif; font-weight: 800; }
.card-stat b.negative, .stat-tile.negative dd { color: #efa58b; }
.card-stat b.zero, .stat-tile.zero dd { color: #c1b9a5; }
.detail-panel { background: #26251f; border-color: #9d8050; border-radius: 3px; box-shadow: 0 8px 30px #0006, inset 0 0 0 2px #151510; }
.detail-panel::backdrop { background: #0d0e0cda; }
.detail-toolbar { background: linear-gradient(90deg, #d8c5a0, #bda57b); color: #392b1d; border-color: #967548; font-weight: 700; }
.detail-category { color: #d8b879; }
.detail-hero h2 { color: #f0bb35; font-weight: 900; text-shadow: 1px 2px #0c0c08; }
.detail-art { background: #35362d; border-radius: 3px; }
.detail-id, .section-heading span, .stat-help, .detail-description, .detail-source { color: #bdb49d; }
.section-heading { color: #e6c26e; }
.stat-tile { background: #313329; border-color: #606247; border-radius: 2px; box-shadow: inset 0 0 0 2px #202218; }
.stat-tile dt { color: #c6bfa9; }
.stat-tile.negative { background: #3c2c23; border-color: #795943; }
.food-note { color: #e0c796; background: #41351f; border-color: #c49a45; border-radius: 0; }
.food-info b { color: #d8bd77; }
.quality-tab { color: #d9cba9; border-color: #76633f; border-radius: 2px; background: #333027; }
.quality-tab.active { background: #dcad2b; border-color: #f0cd55; color: #211e16; font-weight: 800; }
.quality-tab[data-quality="失败"].active { background: #7e4c37; border-color: #bc825a; color: #fff1dc; }
.product-caption, .ingredient-label { color: #c1b9a2; }
.relation-item { background: #343326; border-color: #71613e; color: #e2cd96; border-radius: 2px; }
a.relation-item:hover { background: #4d432c; border-color: #c7a458; }
button.relation-item { font: inherit; cursor: pointer; }
button.relation-item:hover { background: #4d432c; border-color: #c7a458; color: #f2d796; }
.material-link { text-decoration: none; }
.recipe-group { border: 1px solid #57503a; border-radius: 2px; background: #2b2a22; padding: 12px 12px 10px; margin: 0 0 10px; }
.recipe-group-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.recipe-level { flex-shrink: 0; display: inline-flex; gap: 5px; align-items: baseline; padding: 2px 7px; border: 1px solid #6d603d; border-radius: 2px; background: #373528; color: #e2d0a3; font-size: 10px; }
.dye-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin-top: 9px; }
.dye-label { flex-shrink: 0; color: #c1b9a2; font-size: 10px; }
.dye-chip { display: inline-flex; align-items: center; padding: 3px 8px; border: 1px solid #65583a; border-radius: 10px; background: #26261f; color: #cfc4a4; font-size: 10px; text-decoration: none; }
a.dye-chip { color: #e2cd96; cursor: pointer; }
a.dye-chip:hover { background: #4d432c; border-color: #c7a458; color: #f2d796; }
.relation-id { color: #bbb098; }
.highlight-row, .recipe-link, .raw-details, .config-row { border-color: #504b3a; }
.highlight-row dt, .config-row dt, .config-row dt small, .recipe-link .recipe-hint { color: #bdb49e; }
.recipe-link .recipe-name, .recipe-link .recipe-effect { color: #e3c982; }
.recipe-link:hover .recipe-name { color: #f1bf35; }
.more-recipes { background: #3d3622; border-color: #ad8a42; border-radius: 2px; color: #f2d084; }
.notes-list { color: #d3c9b1; }
.detail-permalink { color: #e0bd64; }
.empty-state button, .load-error button { background: #e5b528; color: #241e12; border: 1px solid #f6d354; border-radius: 3px; font-weight: 800; }
.load-error { background: #43301f; border-color: #aa7843; }
.empty-state h2 { color: #eadabc; }
.empty-state > span { color: #d4b671; }
.page-footer { color: #bcb39d; }
.guide-header { background: #191b16; border-bottom: 2px solid #af873e; }
.guide-header a, .breadcrumbs a { color: #e3c582; }
.guide-header a:first-child { color: #f2bd2c; font-weight: 900; }
body > main section, body > main details, .category-card, .catalog-card { background: linear-gradient(135deg, #303028, #24251f); border-color: #7c6944; border-radius: 3px; }
body > main h2, body > main h3 { color: #e9c66b; }
body > main .fields > div { border-color: #504b38; }
body > main .category-card p, body > main .catalog-card p, .breadcrumbs, .muted { color: #c1b79e; }
body > main .entry-art, body > main .catalog-card img { background: #35372d; border-color: #787052; border-radius: 3px; }
.guide-item-art { display: inline-flex; position: relative; width: 192px; height: 192px; flex-shrink: 0; }
.guide-item-art > img { width: 100%; height: 100%; object-fit: contain; }
.guide-item-art .icon-uses { font-size: 18px; left: 7px; bottom: 6px; }
.guide-item-art.small { width: 72px; height: 72px; }
.guide-item-art.small .icon-uses { font-size: 13px; left: 4px; bottom: 3px; }
body > main .guide-item-art .icon-uses { color: #fff; }
.quality > .guide-item-art { float: right; margin: 0 0 12px 12px; }
.quality .stats { clear: both; }
body > main .stats div { background: #343729; border: 1px solid #69694b; border-radius: 2px; }
body > main .stats dt { color: #c7bfa5; }
body > main .stats dd { color: #bdd38c; }
body > main .quality { border-color: #7a6540; border-radius: 2px; background: #29291f; }
body > main .action-link { background: #e3b128; color: #282111; border: 1px solid #f1ce5f; border-radius: 2px; font-weight: 800; }
body > footer { color: #bfb59d; border-color: #635436; }
body > footer a, body > main a { color: #e4c77f; }
.portion-form { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.portion-form label { font-size: 12px; color: #cec3a6; }
.portion-form input { display: block; margin-top: 5px; width: 130px; padding: 9px; background: #20221b; border: 1px solid #867248; border-radius: 2px; color: #f0e5ca; }
.portion-result { font-size: 13px; color: #f1c643; }
.planting-filters { padding: 13px 0 10px; border-bottom: 1px solid var(--line); }
.planting-controls { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.planting-container { grid-template-columns: minmax(180px, 2fr) minmax(100px, 1fr) minmax(130px, 1fr); margin-top: 12px; align-items: end; }
.planting-manual { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 460px; margin-top: 10px; }
.planting-controls label { display: flex; flex-direction: column; gap: 6px; min-width: 0; color: #d2c7ac; font-size: 11px; }
.planting-controls select, .planting-controls input { width: 100%; min-width: 0; height: 36px; padding: 7px 9px; border: 1px solid #796742; border-radius: 3px; background: #25261f; color: #eee2c4; font: inherit; font-size: 12px; }
.planting-controls select:disabled { color: #a59d8b; border-color: #514d3c; }
.planting-controls input::placeholder { color: #a59d8b; }
.planting-check { display: flex; flex-direction: row; gap: 8px; align-items: center; color: #e4c77f; font-size: 12px; cursor: pointer; }
.planting-controls .planting-check { flex-direction: row; align-self: center; padding-top: 17px; }
.planting-check input { width: 16px; height: 16px; margin: 0; accent-color: #e5b528; }
.planting-unchecked { color: #bdb49d; }
.planting-help { margin-top: 9px; color: #c5bca3; font-size: 11px; line-height: 1.7; }
.planting-help summary { color: #d8bd77; cursor: pointer; width: fit-content; }
.planting-help p { margin: 9px 0; max-width: 850px; }
.plant-verdict { display: block; font-size: 11px; line-height: 1.6; margin: 0 0 8px; }
.plant-verdict.suitable { color: #bdd38c; }
.plant-verdict.blocked { color: #df9c88; }
.planting-context { display: flex; flex-wrap: wrap; gap: 6px 15px; align-items: baseline; margin-top: 9px; font-size: 10px; color: #c5bca3; }
.planting-context output { color: #e4c77f; }
.planting-context a, .planting-context summary { color: #d8bd77; cursor: pointer; }
.planting-context details { margin-left: auto; max-width: 100%; }
.planting-context details[open] { flex-basis: 100%; }
.planting-context p { margin: 8px 0 0; max-width: 720px; line-height: 1.8; }
.plant-facts { display: flex; flex-wrap: wrap; gap: 6px 11px; padding-top: 8px; border-top: 1px solid #575440; font-size: 11px; color: #d9c99e; }
.effect-chip b { color: #e8c369; margin-left: 3px; }
.entry-materials { display: grid; grid-template-columns: minmax(0, 1fr); gap: 5px 10px; margin-top: 11px; padding-top: 9px; border-top: 1px solid #575440; align-items: center; }
.entry-materials-level, .entry-material-note { color: #b5ae9c; font-size: 10px; }
.entry-material { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-size: 11px; color: #ded4b6; }
.entry-material .entry-art { width: 28px; height: 28px; border-radius: 4px; background: #31332a; border: 1px solid #5b584a; }
.entry-material .entry-art img { padding: 1px; }
.entry-material .entry-art svg { width: 16px; height: 16px; }
.entry-material-name { overflow-wrap: anywhere; }
.entry-material-count { color: #e8c369; white-space: nowrap; }
@media (min-width: 721px) {
  .entry-materials { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
  .entry-materials-level, .entry-material-note { grid-column: 1 / -1; }
}
.plant-requirements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0; }
.plant-requirements > div { background: #313329; border: 1px solid #606247; padding: 12px 5px; text-align: center; }
.plant-requirements dt { color: #c6bfa9; font-size: 10px; }
.plant-requirements dd { margin: 8px 0 0; color: #e8c369; font-size: 20px; font-weight: 700; }
.plant-seeds { color: #d8bd77; font-size: 12px; }
.image-credit { color: #bdb49d; font-size: 10px; line-height: 1.7; margin: 7px 0 0; }
.source-links { display: flex; flex-direction: column; gap: 7px; }
.source-link { display: flex; align-items: center; gap: 10px; padding: 11px; color: #e4c77f; border: 1px solid #71613e; background: #343326; text-decoration: none; font-size: 12px; }
.source-link > span:last-child { margin-left: auto; }
.source-link:hover { background: #4d432c; border-color: #c7a458; }
@media (max-width: 720px) {
  .planting-controls { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 10px; }
  .planting-controls select, .planting-controls input { height: 38px; }
  .planting-context details { margin-left: 0; }
  .planting-container .planter-field { grid-column: 1 / -1; }
  .planting-controls .planting-check { padding-top: 16px; }
  body:has(#plantingFilters:not([hidden])) .query-tools { position: static; }
}
@media (max-width: 960px) { .sidebar { border-right: 0; border-bottom: 1px solid #6c5938; } }
@media (max-width: 720px) {
  .guide-item-art { width: 90px; height: 90px; }
  .guide-item-art .icon-uses { font-size: 15px; left: 4px; bottom: 3px; }
  .catalog-card .guide-item-art.small { width: 54px; height: 54px; }
}
@media (prefers-reduced-motion: reduce) { .entry-card:hover { transform: none; } }
.cooking-mode { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; padding: 8px 0; }
.cooking-mode label { display: flex; gap: 10px; align-items: center; color: #d7cba9; font-size: 12px; }
.cooking-mode select { background: #303126; color: #f1dfa6; border: 1px solid #97783d; padding: 8px; font: inherit; }
.cooking-mode p, .cooking-rules p { color: #c3baa2; font-size: 11px; line-height: 1.7; margin: 3px 0; }
.cooking-rules { padding: 6px 0 10px; color: #ddc181; font-size: 11px; }
.cooking-rules p { max-width: 900px; margin-top: 10px; }
.cooking-thresholds { overflow-x: auto; margin-top: 10px; }
.cooking-thresholds table { border-collapse: collapse; color: #d4c8aa; }
.cooking-thresholds th, .cooking-thresholds td { padding: 5px 18px 5px 0; border-bottom: 1px solid #544d3a; text-align: left; }
.pantry-materials { display: flex; flex-wrap: wrap; gap: 6px; max-height: 102px; overflow-y: auto; padding: 6px 0; }
.pantry-item { display: flex; align-items: center; gap: 6px; padding: 6px; background: #303128; border: 1px solid #746547; border-radius: 2px; font-size: 11px; }
.pantry-item .entry-art { width: 30px; height: 30px; flex-shrink: 0; }
.pantry-item label { display: flex; align-items: center; gap: 6px; }
.pantry-item input { width: 56px; background: #191b16; border: 1px solid #827345; color: #f5dea2; font: inherit; padding: 6px 3px; }
.pantry-item button { background: transparent; border: 0; color: #bbae91; cursor: pointer; padding: 5px; }
.pantry-summary { display: block; color: #ebca77; font-size: 11px; padding: 5px 0; line-height: 1.7; }
.pantry-recipe { color: #e4c36f; font-size: 11px; line-height: 1.7; display: block; border-top: 1px solid #655839; padding-top: 9px; margin-top: 10px; }
.pantry-recipe small { display: block; color: #bdb49d; margin-top: 3px; }
@media (min-width: 721px) {
  .app-shell:has(#pantryMaterials:not([hidden])) { height: auto; min-height: 100dvh; }
  body:has(#pantryMaterials:not([hidden])) .main-content { height: auto; }
  body:has(#pantryMaterials:not([hidden])) .workspace { flex: none; height: 65dvh; min-height: 420px; }
}
@media (max-width: 720px) {
  body:has(#cookingModeField:not([hidden])) .query-tools { position: static; }
  .pantry-materials { max-height: 210px; }
  .pantry-item { flex: 1 1 100%; min-width: 0; }
  .pantry-item label { flex: 1; justify-content: space-between; min-width: 0; }
  .pantry-item label > span { overflow-wrap: anywhere; }
}
.header-action-row { display: flex; gap: 8px; align-items: center; }
.github-star { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid #565040; color: #ded5bf; background: #252522; font-weight: 700; font-size: 11px; text-decoration: none; white-space: nowrap; border-radius: 3px; }
.github-star svg { width: 14px; height: 14px; fill: currentColor; stroke: none; flex-shrink: 0; }
.github-star:hover { color: #f4c342; border-color: #93763b; }
.github-star strong { font: 10px/1 Georgia, serif; color: #c4b89c; background: #141511; border: 1px solid #514d3c; border-radius: 2px; padding: 3px 5px; }
.star-prompt { position: fixed; right: 18px; bottom: 18px; z-index: 30; width: min(300px, calc(100vw - 36px)); padding: 16px 16px 14px; background: linear-gradient(150deg, #2a2b24, #1b1c17 80%); border: 1px solid #93763b; border-radius: 4px; box-shadow: 0 14px 34px #000a; }
.star-prompt-title { margin: 0 0 6px; font-weight: 900; color: #f4c342; font-size: 14px; }
.star-prompt-text { margin: 0 0 12px; color: #cfc7b2; font-size: 12px; line-height: 1.7; }
.star-prompt-cta { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid #93763b; color: #f4c342; background: #332e21; font-weight: 700; font-size: 12px; text-decoration: none; border-radius: 3px; }
.star-prompt-cta svg { width: 14px; height: 14px; fill: currentColor; stroke: none; }
.star-prompt-cta:hover { color: #ffe7a3; background: #3d3826; }
.star-prompt-close { position: absolute; right: 4px; top: 4px; width: 28px; height: 28px; border: 0; background: transparent; color: #8f8672; font-size: 17px; line-height: 1; }
.star-prompt-close:hover { color: #f4c342; }
@media (max-width: 480px) {
  .star-prompt { right: 12px; left: 12px; bottom: 12px; width: auto; }
  .github-star span { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .star-prompt:not([hidden]) { animation: star-prompt-arrive .3s ease-out; }
  @keyframes star-prompt-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
}
