.popover.farm-card { position: fixed; z-index: 60; min-width: 0; padding: 0; animation: none; width: 21rem; max-width: calc(100vw - 1.25rem); max-height: min(34rem, calc(100vh - 6rem)); display: flex; flex-direction: column;
  border: 1px solid rgba(242, 198, 106, .42); border-radius: 1.05rem; background: rgba(10, 14, 22, .94); color: #f4ecd8; box-shadow: 0 .8rem 2.2rem rgba(0, 0, 0, .5); overflow: hidden }
.is-hud:not(.hud-solid) .farm-card { background: rgba(8, 13, 22, .82); -webkit-backdrop-filter: blur(.75rem); backdrop-filter: blur(.75rem) }
.popover.farm-card.is-sheet { left: .5rem !important; right: .5rem; bottom: calc(var(--mnav-h, 4rem) + .5rem); top: auto !important; width: auto; max-width: none; max-height: 62vh }
.fc-head { display: flex; align-items: center; gap: .6rem; padding: .65rem .6rem .55rem .7rem; border-bottom: 1px solid rgba(242, 198, 106, .16) }
.fc-art { display: grid; place-items: center; flex: none; width: 2.6rem; height: 2.6rem; border-radius: .7rem; background: radial-gradient(circle at 40% 30%, rgba(160, 210, 120, .3), rgba(30, 50, 26, .6)); border: 1px solid rgba(160, 210, 120, .35) }
.fc-art .item-img { width: 2.1rem; height: 2.1rem }
.fc-art .ia-emblem { width: 1.6rem; height: 1.6rem; color: var(--skill) }
.fc-title { flex: 1; min-width: 0; display: grid }
.fc-title small { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-2) }
.fc-title strong { font-size: 1.18rem; line-height: 1.15; color: var(--gold-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.popover.farm-card .fc-body { display: grid; gap: .55rem; padding: .7rem .75rem .75rem; overflow-y: auto; overscroll-behavior: contain }
.fc-lead { margin: 0; font-size: .92rem; line-height: 1.35; color: #ece3cc }
.fc-fact { margin: 0; font-size: .84rem; line-height: 1.35; color: #cfc6b0 }
.fc-note { display: flex; align-items: center; gap: .4rem; margin: 0; font-size: .82rem; color: #c8bfa8 }
.fc-note .ia-glyph { flex: none; width: 1rem; height: 1rem; color: var(--gold-2) }
.fc-note .item-img { width: 1.4rem; height: 1.4rem }
.fc-grow { display: grid; gap: .25rem }
.fc-grow small { justify-self: end; font-size: .84rem; color: #e8dfc8 }
.fc-compost { display: flex; flex-wrap: wrap; gap: .35rem }
.fc-chip { display: inline-flex; align-items: center; gap: .3rem; min-height: 2.2rem; padding: .2rem .55rem; border: 1px solid rgba(242, 198, 106, .25); border-radius: .7rem; background: rgba(255, 255, 255, .05); color: #e8dfc8; font: 600 .8rem/1 inherit; cursor: pointer }
.fc-chip .item-img { width: 1.25rem; height: 1.25rem }
.fc-chip small { color: #b9b09a }
.fc-chip.is-on { border-color: var(--gold-2); background: rgba(242, 198, 106, .16); color: #fff3cf }
.fc-chip:disabled { opacity: .45; cursor: default }
.fc-seeds { display: grid; gap: .35rem }
.popover.farm-card .fc-seeds.is-long { max-height: 19rem; overflow-y: auto; overscroll-behavior: contain; padding-right: .2rem }
.fc-seed { display: flex; align-items: center; gap: .55rem; width: 100%; min-height: 3rem; padding: .35rem .6rem .35rem .4rem; border: 1px solid rgba(143, 210, 122, .32); border-radius: .8rem;
  background: linear-gradient(180deg, rgba(48, 78, 36, .5), rgba(24, 40, 18, .55)); color: #f0ead6; text-align: left; font: inherit; cursor: pointer; transition: border-color .12s, background .12s }
.fc-seed:hover, .fc-seed:focus-visible { border-color: #b8eaa0; background: linear-gradient(180deg, rgba(64, 104, 46, .7), rgba(32, 56, 24, .7)); outline: none }
.fc-seed:disabled { opacity: .5; cursor: default }
.fc-seed-art { display: grid; place-items: center; flex: none; width: 2.3rem; height: 2.3rem; border-radius: .6rem; background: rgba(0, 0, 0, .25) }
.fc-seed-art .item-img { width: 1.9rem; height: 1.9rem }
.fc-seed-copy { flex: 1; min-width: 0; display: grid; gap: .1rem }
.fc-seed-copy strong { font-size: .95rem }
.fc-seed-copy strong em { font-style: normal; font-size: .76rem; margin-left: .25rem }
.fc-seed-copy small { font-size: .76rem; color: #c9c0aa; white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.fc-seed-have { flex: none; min-width: 2rem; padding: .15rem .45rem; border-radius: .6rem; background: rgba(0, 0, 0, .3); color: #e8dfc8; font-size: .8rem; text-align: center }
.fc-buy { display: flex; align-items: center; gap: .45rem; padding: .3rem .4rem; border-radius: .7rem; background: rgba(255, 255, 255, .04) }
.fc-buy > .item-img { width: 1.9rem; height: 1.9rem; flex: none }
.fc-buy > span { flex: 1; min-width: 0; display: grid }
.fc-buy strong { font-size: .88rem }
.fc-buy small { font-size: .74rem; color: #b9b09a }
.fc-buy.is-locked > .item-img { opacity: .5 }
.fc-buy + .fc-buy { margin-top: .25rem }
.fc-stall { display: grid; gap: .25rem }
.fc-stall-head { display: block; margin: .55rem .15rem .2rem; font-size: .7rem; color: #b9b09a }
.fc-stall > .fc-stall-head:first-child { margin-top: 0 }
.fc-harvest { font-size: 1.05rem }
.fc-dig { justify-self: start }
.fc-foot { display: flex; justify-content: flex-end; padding: .35rem .6rem .5rem; border-top: 1px solid rgba(242, 198, 106, .12) }
@media (prefers-reduced-motion: reduce) { .fc-seed { transition: none } }

.is-hud .hudbar.is-farm { gap: .55rem }
.is-hud .hudbar.is-farm .world-title { margin-right: .4rem }
.is-hud .hudbar.is-farm .world-title small { color: #cfe6bf }
.is-hud .hudbar.is-farm .btn-primary { --tone-top: rgba(143, 210, 122, .32); --tone-mid: rgba(96, 160, 80, .28); --tone-bottom: rgba(60, 110, 50, .3); --tone-edge: rgba(170, 230, 150, .6); --tone-text: #f2ffe8 }
@media (max-width: 1180px) { .is-hud .hudbar.is-farm .world-title small { display: none } }

.fc-cross { display: flex; align-items: flex-start; gap: .4rem; margin: 0; padding: .35rem .5rem; border-radius: .6rem; background: rgba(150, 200, 110, .1); border: 1px solid rgba(190, 230, 150, .25); font-size: .82rem; line-height: 1.35; color: #dcefc8 }
.fc-cross .ia-glyph { flex: none; width: 1rem; height: 1rem; margin-top: .1rem; color: #d8f0a0 }
.fc-cross.is-strong { border-color: rgba(233, 247, 168, .6); background: rgba(190, 230, 120, .14) }
.fc-crosses { margin-left: .3rem; padding: 0 .35rem; border-radius: .4rem; background: rgba(150, 200, 110, .18); color: #dff3c4; font-size: .72rem; font-style: normal; font-weight: 600 }
.fc-finds { display: grid; gap: .3rem; margin: 0; padding: 0; list-style: none }
.fc-steps { display: grid; gap: .3rem; margin: 0; padding: .45rem .6rem .45rem 1.55rem; border-radius: .6rem; background: rgba(255, 255, 255, .035); font-size: .8rem; color: #d9d1bd }
.fc-steps li::marker { color: var(--skill, #d6aa60); font-weight: 700 }
.fc-find { display: flex; align-items: center; gap: .5rem; padding: .3rem .45rem; border-radius: .6rem; background: rgba(255, 255, 255, .035) }
.fc-find-art { flex: none; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .55rem; background: color-mix(in srgb, var(--find) 18%, rgba(0, 0, 0, .25)); border: 1px solid color-mix(in srgb, var(--find) 45%, transparent) }
.fc-find-art .item-img { width: 1.7rem; height: 1.7rem }
.fc-find-art .ia-glyph { width: .9rem; height: .9rem; color: #8d8574 }
.fc-find-copy { flex: 1; min-width: 0; display: grid }
.fc-find-copy strong { font-size: .86rem }
.fc-find-copy small { font-size: .74rem; color: #b9b09a }
.fc-find-in { display: flex; align-items: center; gap: .25rem; font-size: .72rem; color: #a8dc8c; white-space: nowrap }
.fc-find-in .ia-glyph { width: .8rem; height: .8rem }
.fc-find-in.is-yet { color: #8d8574 }
.fc-find:not(.is-have) .fc-find-copy strong { color: #c9c0aa }

@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  .popover.farm-card.is-sheet { bottom: calc(var(--nav, 4rem) + .5rem); max-height: min(62vh, calc(100dvh - var(--band-b, var(--top, 5rem)) - var(--nav, 4rem) - 1.5rem)) }
  .popover.farm-card .fc-seeds.is-long { max-height: none; overflow: visible; padding-right: 0 }
  .farm-card .btn, .farm-card .btn-sm { min-height: 3.3rem; font-size: .95rem }
  .farm-card .btn-icon { width: 3.3rem }
  .fc-chip { min-height: 3.3rem; font-size: .95rem }
  .fc-seed { min-height: 3.6rem }
  .fc-title small, .fc-chip small, .fc-seed-copy strong em, .fc-seed-copy small, .fc-buy small, .fc-stall-head, .fc-crosses, .fc-find-copy small, .fc-find-in { font-size: .9rem }
  .fc-fact, .fc-note, .fc-grow small, .fc-seed-have, .fc-buy strong, .fc-cross, .fc-steps, .fc-find-copy strong { font-size: .95rem }
  .fc-stall-head { letter-spacing: .08em }
  .farming-page :is(.btn, .btn-sm, .segmented button) { min-height: 3.3rem; font-size: .95rem }
  .farming-page .hero-level small, .farming-page .hero-bar small, .farming-page .rate small, .farming-page .t-caps, .farming-page .bar-label, .farming-page .fact small, .farming-page .fact .fact-note,
  .farming-page .farm-badge, .farming-page .plot-tile .plot-label small, .farming-page .plot-tile .plot-status .chip, .farming-page .plot-tile .plot-status .grow small, .farming-page .chip { font-size: .9rem }
  .farming-page :is(.fact > div, .plot-copy p, .callout, .detail-summary) { font-size: .95rem }
  .farming-page .farm-badge { min-width: 1.4rem; padding: .1rem .35rem }
  .farming-page .hero-level small { letter-spacing: .08em }
}

@media (max-height: 500px) and (pointer: coarse) {
  .world-first .popover.farm-card.is-sheet { left: auto !important; right: calc(var(--rail, 0px) + .5rem); width: min(26rem, calc(100% - var(--rail, 0px) - 1rem)); bottom: calc(.5rem + env(safe-area-inset-bottom)); max-height: calc(100dvh - var(--band-b, var(--top, 4rem)) - 1.5rem - env(safe-area-inset-bottom)) }
}
