.lp[data-v-03c30cc0]{position:relative;align-self:center}.lp-trigger[data-v-03c30cc0]{display:inline-flex;align-items:center;gap:5px;background:#ffffff0f;border:1px solid transparent;border-radius:999px;padding:4px 10px 4px 9px;color:#f1ebd9;font:inherit;font-size:13px;font-weight:500;cursor:pointer}.lp-trigger[data-v-03c30cc0]:hover{background:#ffffff24}.lp-trigger.set[data-v-03c30cc0]{background:var(--accent)}.lp-trigger.nudging[data-v-03c30cc0]{animation:lp-pulse-03c30cc0 2s ease-in-out infinite}@keyframes lp-pulse-03c30cc0{0%,to{box-shadow:0 0 #e8c34a00}50%{box-shadow:0 0 0 4px #e8c34a66}}@media (prefers-reduced-motion: reduce){.lp-trigger.nudging[data-v-03c30cc0]{animation:none}}.lp-pin[data-v-03c30cc0]{font-size:12px}.lp-caret[data-v-03c30cc0]{font-size:10px;opacity:.8}.lp-nudge[data-v-03c30cc0]{position:absolute;top:calc(100% + 9px);left:0;z-index:19;display:flex;align-items:center;gap:2px;background:var(--card);color:var(--ink);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #00000038;padding:1px 2px;white-space:nowrap;animation:lp-fade-03c30cc0 .3s ease}@keyframes lp-fade-03c30cc0{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.lp-nudge[data-v-03c30cc0]:before{content:"";position:absolute;top:-5px;left:16px;width:9px;height:9px;background:var(--card);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}.lp-nudge-body[data-v-03c30cc0]{background:none;border:none;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;padding:6px;border-radius:5px}.lp-nudge-body[data-v-03c30cc0]:hover{color:var(--accent)}.lp-nudge-x[data-v-03c30cc0]{background:none;border:none;cursor:pointer;color:var(--ink-soft);font-size:11px;padding:6px 8px;border-radius:5px;line-height:1}.lp-nudge-x[data-v-03c30cc0]:hover{color:var(--ink);background:var(--accent-soft)}@media (max-width: 800px){.lp-nudge[data-v-03c30cc0]{white-space:normal;max-width:210px}}.lp-panel[data-v-03c30cc0]{position:absolute;z-index:20;top:calc(100% + 6px);left:0;min-width:220px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px #00000038;padding:6px;display:flex;flex-direction:column;max-height:320px}.lp-search[data-v-03c30cc0]{padding:2px 2px 6px}.lp-search input[data-v-03c30cc0]{width:100%;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;box-sizing:border-box;color:var(--ink);background:var(--bg)}.lp-opts[data-v-03c30cc0]{list-style:none;margin:0;padding:0;overflow-y:auto}.lp-opt[data-v-03c30cc0]{width:100%;text-align:left;background:none;border:none;font:inherit;font-size:13px;color:var(--ink);padding:6px 8px;border-radius:4px;cursor:pointer}.lp-opt[data-v-03c30cc0]:hover{background:var(--accent-soft)}.lp-opt.active[data-v-03c30cc0]{background:var(--accent-soft);color:var(--accent);font-weight:600}.lp-empty[data-v-03c30cc0]{padding:8px;color:var(--ink-soft);font-size:13px;text-align:center}.app-header[data-v-8a70a974]{background:var(--ink);color:#f1ebd9;padding:14px 24px;display:flex;align-items:baseline;gap:16px;box-shadow:var(--shadow)}.brand[data-v-8a70a974]{color:#f1ebd9;font-weight:600;font-size:18px;text-decoration:none}.brand-mark[data-v-8a70a974]{color:#a7d6a7;margin-right:6px}.tagline[data-v-8a70a974]{color:#c9c0a4;font-size:13px}.spacer[data-v-8a70a974]{flex:1}.support[data-v-8a70a974]{align-self:center;color:#2a1f0a;background:#e8c34a;font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:background .12s,transform .08s}.support[data-v-8a70a974]:hover{background:#f0cf5e;transform:translateY(-1px);text-decoration:none}.nav-link[data-v-8a70a974]{color:#f1ebd9;text-decoration:none;font-size:14px;font-weight:500;padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:#ffffff0f}.nav-link[data-v-8a70a974]:hover{background:#ffffff24;text-decoration:none}.nav-link-active[data-v-8a70a974]{background:var(--accent);color:#fff}.nav-link .count[data-v-8a70a974]{background:#e0a512;color:#2a1f0a;font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px;line-height:1.4}.nav-link-active .count[data-v-8a70a974]{background:#ffffffd9;color:var(--accent)}main[data-v-8a70a974]{padding:24px;max-width:1280px;margin:0 auto}.app-footer[data-v-8a70a974]{max-width:1280px;margin:0 auto;padding:20px 24px 32px;display:flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:13px}.app-footer a[data-v-8a70a974]{color:var(--ink-soft)}.app-footer a[data-v-8a70a974]:hover{color:var(--accent)}.app-footer .dot[data-v-8a70a974]{opacity:.5}@media (max-width: 800px){.app-header[data-v-8a70a974]{padding:10px 14px;flex-wrap:wrap;gap:8px}.brand[data-v-8a70a974]{font-size:16px}.tagline[data-v-8a70a974]{font-size:12px}main[data-v-8a70a974]{padding:14px}}.search-bar[data-v-b3f8b6a0]{margin-bottom:16px}input[data-v-b3f8b6a0]{width:100%;padding:12px 14px;font-size:16px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--ink)}input[data-v-b3f8b6a0]:focus{outline:2px solid var(--accent);outline-offset:-1px}.chip[data-v-7e767a6d]{border:1px solid var(--border);background:var(--card);color:var(--ink-soft);padding:4px 10px;border-radius:999px;font-size:13px;margin:2px;transition:background .1s,border-color .1s,color .1s}.chip[data-v-7e767a6d]:hover{border-color:var(--accent);color:var(--ink)}.chip.active[data-v-7e767a6d]{background:var(--accent);border-color:var(--accent);color:#fff}.ms[data-v-5077ee75]{position:relative}.trigger[data-v-5077ee75]{width:100%;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:7px 10px;font:inherit;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left}.trigger[data-v-5077ee75]:hover{border-color:var(--accent)}.trigger.open[data-v-5077ee75]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.trigger.has .summary[data-v-5077ee75]{font-weight:500}.summary[data-v-5077ee75]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count[data-v-5077ee75]{background:var(--accent);color:#fff;font-size:11px;font-weight:600;border-radius:999px;padding:1px 7px}.caret[data-v-5077ee75]{color:var(--ink-soft);font-size:11px}.panel[data-v-5077ee75]{position:absolute;z-index:10;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0000001f;padding:6px;max-height:280px;display:flex;flex-direction:column}.search-row[data-v-5077ee75]{padding:4px}.search-row input[data-v-5077ee75]{width:100%;font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:5px;box-sizing:border-box}.actions[data-v-5077ee75]{padding:2px 6px 4px}.link[data-v-5077ee75]{background:none;border:none;color:var(--accent);font-size:12px;padding:0;cursor:pointer}.link[data-v-5077ee75]:hover{text-decoration:underline}.opts[data-v-5077ee75]{list-style:none;margin:0;padding:0;overflow-y:auto}.opt[data-v-5077ee75]{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:13px}.opt[data-v-5077ee75]:hover{background:var(--accent-soft)}.opt input[data-v-5077ee75]{margin:0}.empty[data-v-5077ee75]{padding:8px;color:var(--ink-soft);font-size:13px;text-align:center}.filter-panel[data-v-ca123ee2]{background:var(--card);border-radius:10px;padding:14px 16px;position:sticky;top:16px;max-height:calc(100vh - 20px);overflow-y:auto}.filter-head[data-v-ca123ee2]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}h2[data-v-ca123ee2]{font-size:16px;margin:0}h3[data-v-ca123ee2]{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:14px 0 6px}.clear[data-v-ca123ee2]{background:none;border:none;color:var(--accent);font-size:12px;padding:0}.clear[data-v-ca123ee2]:hover{text-decoration:underline}.close[data-v-ca123ee2]{display:none;background:none;border:none;font-size:18px;color:var(--ink-soft);padding:0 4px;margin-left:8px;cursor:pointer}@media (max-width: 800px){.filter-panel[data-v-ca123ee2]{max-height:none;height:100%;border-radius:0;padding-bottom:32px}.close[data-v-ca123ee2]{display:inline-block}}.filter-group[data-v-ca123ee2]{padding-top:8px}.chips[data-v-ca123ee2]{display:flex;flex-wrap:wrap;gap:2px}input[type=range][data-v-ca123ee2]{width:100%}.range-label[data-v-ca123ee2]{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-soft);margin-top:6px}.range-value[data-v-ca123ee2]{font-weight:500}.toggle[data-v-ca123ee2]{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.fav[data-v-86a8394b]{background:#ffffffeb;border:1px solid var(--border);border-radius:999px;cursor:pointer;color:var(--ink-soft);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .1s,transform .08s,background .1s}.fav[data-v-86a8394b]:hover{color:#d4a017;transform:scale(1.06)}.fav.active[data-v-86a8394b]{color:#e0a512;background:#fff8e1;border-color:#e8cf7a}.size-sm[data-v-86a8394b]{width:30px;height:30px;font-size:18px}.size-md[data-v-86a8394b]{width:38px;height:38px;font-size:22px}.card[data-v-2dd79c28]{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;color:inherit;text-decoration:none;transition:transform .08s,box-shadow .08s}.card[data-v-2dd79c28]:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000014;text-decoration:none}.image-wrap[data-v-2dd79c28]{height:160px;background:var(--accent-soft);overflow:hidden;position:relative}.fav-overlay[data-v-2dd79c28]{position:absolute;top:8px;right:8px;box-shadow:0 1px 4px #00000026}.image-wrap img[data-v-2dd79c28]{width:100%;height:100%;object-fit:cover;display:block}.placeholder[data-v-2dd79c28]{height:100%;display:grid;place-items:center;color:var(--accent);font-size:42px}.body[data-v-2dd79c28]{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.common[data-v-2dd79c28]{font-weight:600;font-size:15px}.sci[data-v-2dd79c28]{font-style:italic;color:var(--ink-soft);font-size:13px}.meta[data-v-2dd79c28]{display:flex;gap:6px;flex-wrap:wrap}.badge[data-v-2dd79c28]{background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:999px;font-size:12px;text-transform:capitalize}.traits[data-v-2dd79c28]{display:flex;flex-wrap:wrap;gap:4px}.trait[data-v-2dd79c28]{font-size:11px;padding:2px 7px;border-radius:4px;border:1px solid}.trait-cut[data-v-2dd79c28]{color:#8a4a8a;border-color:#d4b3d4;background:#f4e8f4}.trait-edible[data-v-2dd79c28]{color:#8a5a2a;border-color:#d9c2a3;background:#f6ecdc}.trait-spread[data-v-2dd79c28]{color:#8a4a2a;border-color:#e0b89a;background:#fae5d4}.colors[data-v-2dd79c28]{display:flex;gap:4px}.dot[data-v-2dd79c28]{width:14px;height:14px;border-radius:50%;border:1px solid transparent;display:inline-block}.cal-scroll[data-v-80277282]{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:10px;background:var(--card)}.cal[data-v-80277282]{min-width:640px}.cal-head[data-v-80277282],.cal-row[data-v-80277282]{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(12,1fr);align-items:stretch}.cal-head[data-v-80277282]{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0}.cal-row[data-v-80277282]{border-bottom:1px solid var(--border);color:inherit;text-decoration:none;transition:background .08s}.cal-row[data-v-80277282]:last-child{border-bottom:none}.cal-row[data-v-80277282]:hover{background:var(--accent-soft);text-decoration:none}.cell[data-v-80277282]{padding:6px 8px;min-height:38px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--border);font-size:12px}.cell[data-v-80277282]:last-child{border-right:none}.month-cell[data-v-80277282]{text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:11px}.season-spring[data-v-80277282]{background:#7ea36b14}.season-summer[data-v-80277282]{background:#e9c84a1a}.season-fall[data-v-80277282]{background:#e08b3a1a}.label-cell[data-v-80277282]{background:var(--card)}.common[data-v-80277282]{font-weight:600;font-size:13px}.sci[data-v-80277282]{font-style:italic;color:var(--ink-soft);font-size:11px}.bloom-cell[data-v-80277282]{margin:8px 3px;border-right:none;border-radius:3px;min-height:22px}.bloom-cell.filled[data-v-80277282]{box-shadow:inset 0 0 0 1px #0000001a}.empty[data-v-80277282]{padding:24px;text-align:center;color:var(--ink-soft)}.layout[data-v-a63b1810]{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start;position:relative}.drawer-backdrop[data-v-a63b1810],.filters-btn[data-v-a63b1810]{display:none}@media (max-width: 800px){.layout[data-v-a63b1810]{grid-template-columns:1fr}.filters-btn[data-v-a63b1810]{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 14px;color:var(--ink);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px}.filters-btn .count[data-v-a63b1810]{background:var(--accent);color:#fff;font-size:11px;border-radius:999px;padding:1px 7px;font-weight:700}.sidebar[data-v-a63b1810]{position:fixed;top:0;left:0;bottom:0;width:min(320px,88vw);z-index:30;transform:translate(-100%);transition:transform .2s ease;max-height:100vh;border-radius:0;box-shadow:2px 0 18px #0000002e}.layout.drawer-open .sidebar[data-v-a63b1810]{transform:translate(0)}.drawer-backdrop[data-v-a63b1810]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s ease}.layout.drawer-open .drawer-backdrop[data-v-a63b1810]{opacity:1;pointer-events:auto}}.toolbar[data-v-a63b1810]{position:sticky;top:0;z-index:15;background:var(--bg);padding:12px 0 10px;margin-bottom:14px;border-bottom:1px solid var(--border)}.toolbar-row[data-v-a63b1810]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar[data-v-a63b1810] .search-bar{flex:1 1 240px;margin-bottom:0;min-width:0}.tb-fav[data-v-a63b1810]{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}.tb-fav[data-v-a63b1810]:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.tb-fav .star[data-v-a63b1810]{color:#e0a512;font-size:13px}.tb-fav .count[data-v-a63b1810]{background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px}.toolbar-meta[data-v-a63b1810]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px;font-size:13px;color:var(--ink-soft)}.result-count[data-v-a63b1810]{white-space:nowrap;margin-right:4px}.muted[data-v-a63b1810]{color:var(--ink-soft)}.sort[data-v-a63b1810]{display:flex;align-items:center;gap:6px;font-size:13px}.sort select[data-v-a63b1810]{font:inherit;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--ink)}.view-toggle[data-v-a63b1810]{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle button[data-v-a63b1810]{background:var(--card);color:var(--ink-soft);border:none;padding:5px 10px;font-size:13px}.view-toggle button.active[data-v-a63b1810]{background:var(--accent);color:#fff}.grid[data-v-a63b1810]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}@media (max-width: 800px){.grid[data-v-a63b1810]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.tb-fav-label[data-v-a63b1810]{display:none}}.empty[data-v-a63b1810]{background:var(--card);border:1px dashed var(--border);border-radius:10px;padding:24px;text-align:center;color:var(--ink-soft)}.empty button[data-v-a63b1810]{background:none;border:none;color:var(--accent);margin-left:6px;text-decoration:underline}.active-chip[data-v-a63b1810]{background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);border-radius:999px;font-size:12px;padding:3px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.active-chip[data-v-a63b1810]:hover{background:var(--card)}.active-chip .x[data-v-a63b1810]{font-size:10px;opacity:.7}.clear-chip[data-v-a63b1810]{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:3px 6px}.clear-chip[data-v-a63b1810]:hover{text-decoration:underline}.trait-icon[data-v-bffd1c47]{display:block;flex:none}.trait-groups[data-v-0a906a67]{display:flex;flex-wrap:wrap;gap:10px 22px;margin:16px 0 4px}.grp[data-v-0a906a67]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grp-label[data-v-0a906a67]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:600}.grp-pills[data-v-0a906a67]{display:inline-flex;flex-wrap:wrap;gap:6px}.pill[data-v-0a906a67]{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;padding:5px 11px 5px 9px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--ink)}.pill-cond[data-v-0a906a67]{background:var(--accent-soft);color:var(--accent);border-color:transparent}.b-keystone[data-v-0a906a67]{color:#2f6b2f;border-color:#a9d2a9;background:#e1f0e1}.b-deer[data-v-0a906a67]{color:#4a6a4a;border-color:#b3d4b3;background:#e8f4e8}.b-cut[data-v-0a906a67]{color:#8a4a8a;border-color:#d4b3d4;background:#f4e8f4}.b-edible[data-v-0a906a67]{color:#8a5a2a;border-color:#d9c2a3;background:#f6ecdc}.b-ephemeral[data-v-0a906a67]{color:#3d6e7a;border-color:#b3d4d9;background:#e3f0f3}.strip[data-v-f5b494ea]{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;border:1px solid var(--border);border-radius:8px;padding:6px;background:var(--card)}.month[data-v-f5b494ea]{display:flex;flex-direction:column;align-items:stretch;gap:4px;border-radius:4px;padding:2px}.season-spring[data-v-f5b494ea]{background:#7ea36b14}.season-summer[data-v-f5b494ea]{background:#e9c84a1a}.season-fall[data-v-f5b494ea]{background:#e08b3a1a}.bar[data-v-f5b494ea]{height:22px;border-radius:3px;background:transparent}.bar.on[data-v-f5b494ea]{box-shadow:inset 0 0 0 1px #0000001a}.m-label[data-v-f5b494ea]{text-align:center;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--ink-soft)}.caption[data-v-f5b494ea]{font-size:12.5px;color:var(--ink-soft);margin:8px 0 0}.cap-label[data-v-f5b494ea]{text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.cap-val[data-v-f5b494ea]{text-transform:capitalize}.caption.none[data-v-f5b494ea]{font-style:italic}.range-map[data-v-2eddf56a]{margin-bottom:6px}.map[data-v-2eddf56a]{width:100%;height:auto;display:block}.map-skeleton[data-v-2eddf56a]{width:100%;aspect-ratio:1028 / 746;border-radius:8px;background:var(--accent-soft);animation:skeleton-pulse-2eddf56a 1.4s ease-in-out infinite}@keyframes skeleton-pulse-2eddf56a{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.map-skeleton[data-v-2eddf56a]{animation:none;opacity:.7}}.state[data-v-2eddf56a]{fill:#e7e7e2;stroke:var(--card);stroke-width:1;transition:fill .1s}.state.native[data-v-2eddf56a]{fill:var(--accent)}.state[data-v-2eddf56a]:hover{fill:#d3d3cc}.state.native[data-v-2eddf56a]:hover{fill:var(--accent);filter:brightness(1.08)}.legend[data-v-2eddf56a]{display:flex;gap:16px;margin-top:6px;font-size:12px;color:var(--ink-soft)}.key[data-v-2eddf56a]{display:inline-flex;align-items:center;gap:6px}.sw[data-v-2eddf56a]{width:12px;height:12px;border-radius:3px;background:#e7e7e2;display:inline-block}.sw.native[data-v-2eddf56a]{background:var(--accent)}.extra[data-v-2eddf56a]{font-size:13px;color:var(--ink-soft);margin:8px 0 0}.detail[data-v-7343ff6c]{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;max-width:860px;margin:0 auto}.back[data-v-7343ff6c]{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;padding:7px 14px;text-decoration:none;transition:background .12s,color .12s,border-color .12s}.back[data-v-7343ff6c]:hover{background:var(--accent);color:#fff;border-color:var(--accent);text-decoration:none}.header[data-v-7343ff6c]{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;margin:14px 0 6px}.image-wrap[data-v-7343ff6c]{height:140px;border-radius:8px;overflow:hidden;background:var(--accent-soft);position:relative}.img-credit[data-v-7343ff6c]{position:absolute;right:4px;bottom:4px;font-size:10px;padding:2px 6px;border-radius:3px;background:#0000008c;color:#fff;text-decoration:none}.img-credit[data-v-7343ff6c]:hover{background:#000000bf}.image-wrap img[data-v-7343ff6c]{width:100%;height:100%;object-fit:cover;display:block}.placeholder[data-v-7343ff6c]{height:100%;display:grid;place-items:center;color:var(--accent);font-size:64px}.wiki-link[data-v-7343ff6c]{margin:8px 0 0;font-size:13px}h1[data-v-7343ff6c]{margin:0 0 4px;font-size:26px}.title-row[data-v-7343ff6c]{display:flex;align-items:center;gap:12px}.sci[data-v-7343ff6c]{font-style:italic;color:var(--ink-soft)}.alt-names[data-v-7343ff6c]{margin-top:6px;font-size:13px;color:var(--ink-soft)}.notes[data-v-7343ff6c]{background:var(--accent-soft);border-left:3px solid var(--accent);padding:12px 14px;border-radius:4px;margin:18px 0}.group[data-v-7343ff6c]{margin-top:22px}.group h2[data-v-7343ff6c]{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.facts[data-v-7343ff6c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 24px;margin:0}.facts>div[data-v-7343ff6c]{padding-bottom:4px}.facts>div.wide[data-v-7343ff6c]{grid-column:1 / -1}dt[data-v-7343ff6c]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}dd[data-v-7343ff6c]{margin:2px 0 0;font-size:14px}.cap[data-v-7343ff6c]{text-transform:capitalize}.use-tags[data-v-7343ff6c]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.use-tag[data-v-7343ff6c]{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:1px 8px;font-size:12px}.use-tag[data-v-7343ff6c]:first-letter{text-transform:uppercase}.deer-caveat[data-v-7343ff6c],.host-note[data-v-7343ff6c]{font-size:12px;color:var(--ink-soft);font-style:italic;margin:10px 0 0}.gallery[data-v-7343ff6c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.gallery-item[data-v-7343ff6c]{display:block;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--accent-soft)}.gallery-item img[data-v-7343ff6c]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.gallery-item:hover img[data-v-7343ff6c]{transform:scale(1.05)}.gallery-credit[data-v-7343ff6c]{font-size:11px;color:var(--ink-soft);margin-top:8px}.skeleton[data-v-7343ff6c]{background:#d6d6d6;animation:skeleton-pulse-7343ff6c 1.4s ease-in-out infinite}@keyframes skeleton-pulse-7343ff6c{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion: reduce){.skeleton[data-v-7343ff6c]{animation:none;opacity:.7}}.lightbox[data-v-7343ff6c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:24px}.lb-figure[data-v-7343ff6c]{margin:0;max-width:92vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:8px}.lb-figure img[data-v-7343ff6c]{max-width:92vw;max-height:80vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 40px #00000080}.lb-caption[data-v-7343ff6c]{color:#ffffffd9;font-size:12px;text-align:center;max-width:92vw}.lb-caption a[data-v-7343ff6c]{color:#fff;text-decoration:underline}.lb-close[data-v-7343ff6c],.lb-nav[data-v-7343ff6c]{position:absolute;background:#ffffff1f;border:none;color:#fff;cursor:pointer;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:background .12s}.lb-close[data-v-7343ff6c]:hover,.lb-nav[data-v-7343ff6c]:hover{background:#ffffff47}.lb-close[data-v-7343ff6c]{top:16px;right:16px;width:40px;height:40px;font-size:18px}.lb-nav[data-v-7343ff6c]{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:30px;line-height:1}.lb-prev[data-v-7343ff6c]{left:16px}.lb-next[data-v-7343ff6c]{right:16px}@media (max-width: 800px){.lb-nav[data-v-7343ff6c]{width:40px;height:40px;font-size:24px}.lb-prev[data-v-7343ff6c]{left:8px}.lb-next[data-v-7343ff6c]{right:8px}}.companions-sub[data-v-7343ff6c]{font-size:13px;color:var(--ink-soft);margin:-4px 0 12px}.companions-row[data-v-7343ff6c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}@media (max-width: 800px){.companions-row[data-v-7343ff6c]{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;-webkit-overflow-scrolling:touch}.companions-row[data-v-7343ff6c]>*{flex:0 0 70%;scroll-snap-align:start}}.favorites[data-v-8342e6cc]{max-width:1280px;margin:0 auto}.head[data-v-8342e6cc]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}h1[data-v-8342e6cc]{margin:0 0 4px;font-size:24px}.muted[data-v-8342e6cc]{color:var(--ink-soft);font-size:14px;margin:0}.head-actions[data-v-8342e6cc]{display:flex;gap:8px;flex-shrink:0}.action-btn[data-v-8342e6cc]{background:none;border:1px solid var(--border);border-radius:6px;padding:6px 12px;color:var(--ink-soft);font-size:13px;cursor:pointer}.action-btn[data-v-8342e6cc]:hover{color:var(--accent);border-color:var(--accent)}.coverage[data-v-8342e6cc]{background:var(--card);border-radius:10px;padding:14px 18px;margin-bottom:16px}.coverage-summary[data-v-8342e6cc]{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"stat strip" "stat gaps";gap:6px 20px;align-items:center}.stat[data-v-8342e6cc]{grid-area:stat;text-align:center;padding-right:8px}.stat-num[data-v-8342e6cc]{font-size:28px;font-weight:700;color:var(--accent);line-height:1}.stat-denom[data-v-8342e6cc]{font-size:16px;font-weight:500;color:var(--ink-soft)}.stat-label[data-v-8342e6cc]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-top:4px}.coverage-strip[data-v-8342e6cc]{grid-area:strip;display:grid;grid-template-columns:repeat(12,1fr);gap:3px}.cov-cell[data-v-8342e6cc]{background:#0000000d;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--ink-soft);text-transform:uppercase}.cov-cell.active[data-v-8342e6cc]{background:var(--accent);color:#fff}.gaps[data-v-8342e6cc]{grid-area:gaps;font-size:13px;color:var(--ink-soft)}.gaps strong[data-v-8342e6cc]{color:var(--ink);font-weight:600}.suggest[data-v-8342e6cc]{background:var(--card);border-radius:10px;padding:14px 18px;margin-bottom:16px}.suggest-head[data-v-8342e6cc]{margin-bottom:12px}.suggest-head h2[data-v-8342e6cc]{margin:0 0 2px;font-size:16px}.suggest-head .muted[data-v-8342e6cc]{font-size:13px}.suggest-list[data-v-8342e6cc]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.suggest-card[data-v-8342e6cc]{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:8px 8px 8px 12px}.suggest-link[data-v-8342e6cc]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;text-decoration:none;color:inherit}.suggest-link:hover .suggest-name[data-v-8342e6cc]{color:var(--accent)}.suggest-name[data-v-8342e6cc]{font-weight:600;font-size:14px}.suggest-sci[data-v-8342e6cc]{font-style:italic;color:var(--ink-soft);font-size:11px}.suggest-fills[data-v-8342e6cc]{font-size:11px;color:var(--ink-soft);margin-top:3px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.fill-chip[data-v-8342e6cc]{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:1px 6px;font-weight:600}.view-row[data-v-8342e6cc]{margin-bottom:12px}.view-toggle[data-v-8342e6cc]{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle button[data-v-8342e6cc]{background:var(--card);color:var(--ink-soft);border:none;padding:5px 12px;font-size:13px;cursor:pointer}.view-toggle button.active[data-v-8342e6cc]{background:var(--accent);color:#fff}.grid[data-v-8342e6cc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.beds[data-v-8342e6cc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;align-items:start}.bed[data-v-8342e6cc]{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.bed-head[data-v-8342e6cc]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--accent-soft);border-bottom:1px solid var(--border)}.bed-title[data-v-8342e6cc]{font-weight:700;font-size:13px;color:var(--accent)}.bed-count[data-v-8342e6cc]{font-size:12px;font-weight:600;color:var(--accent);background:var(--card);border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.bed-plants[data-v-8342e6cc]{list-style:none;margin:0;padding:6px 0}.bed-plants li[data-v-8342e6cc]{border-top:1px solid var(--border)}.bed-plants li[data-v-8342e6cc]:first-child{border-top:none}.bed-plants a[data-v-8342e6cc]{display:flex;flex-direction:column;gap:1px;padding:7px 14px;text-decoration:none;color:inherit}.bed-plants a[data-v-8342e6cc]:hover{background:var(--accent-soft)}.bp-name[data-v-8342e6cc]{font-weight:600;font-size:13px}.bp-sci[data-v-8342e6cc]{font-style:italic;color:var(--ink-soft);font-size:11px}@media (max-width: 800px){.grid[data-v-8342e6cc]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.coverage-summary[data-v-8342e6cc]{grid-template-columns:1fr;grid-template-areas:"stat" "strip" "gaps";gap:10px}.stat[data-v-8342e6cc]{text-align:left;padding-right:0}.stat-num[data-v-8342e6cc]{display:inline}.stat-label[data-v-8342e6cc]{display:inline;margin-left:8px}}.empty[data-v-8342e6cc]{background:var(--card);border:1px dashed var(--border);border-radius:10px;padding:36px 24px;text-align:center;color:var(--ink-soft)}.empty p[data-v-8342e6cc]{margin:6px 0}.print-sheet[data-v-8342e6cc]{display:none}@media print{.favorites[data-v-8342e6cc]>*:not(.print-sheet){display:none!important}.print-sheet[data-v-8342e6cc]{display:block}.ps-head h2[data-v-8342e6cc]{font-size:18px;margin:0 0 2px;color:#111}.ps-head p[data-v-8342e6cc]{font-size:11px;color:#555;margin:0 0 12px}.ps-table[data-v-8342e6cc]{width:100%;border-collapse:collapse;font-size:11px;color:#111}.ps-table th[data-v-8342e6cc],.ps-table td[data-v-8342e6cc]{border:1px solid #bbb;padding:5px 7px;text-align:left;vertical-align:top}.ps-table th[data-v-8342e6cc]{background:#eee;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}.ps-name[data-v-8342e6cc]{font-weight:700}.ps-sci[data-v-8342e6cc]{font-style:italic;color:#555;font-size:10px}.ps-check[data-v-8342e6cc]{width:16px;text-align:center;font-size:13px}.ps-qty[data-v-8342e6cc]{width:38px}.print-sheet .cap[data-v-8342e6cc]{text-transform:capitalize}.ps-table tr[data-v-8342e6cc]{page-break-inside:avoid}}.sources[data-v-89346585]{max-width:760px;margin:0 auto}.back[data-v-89346585]{font-size:13px;display:inline-block;margin-bottom:12px}h1[data-v-89346585]{margin:0 0 12px;font-size:24px}.intro[data-v-89346585]{color:var(--ink-soft);line-height:1.6;margin:0 0 24px}.group[data-v-89346585]{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:16px}.group h2[data-v-89346585]{margin:0 0 12px;font-size:16px}.group ul[data-v-89346585]{list-style:none;margin:0;padding:0}.group li[data-v-89346585]{padding:10px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:3px}.group li[data-v-89346585]:first-child{border-top:none}.name[data-v-89346585]{font-weight:600;font-size:14px}.name a[data-v-89346585]{color:var(--accent)}.note[data-v-89346585]{color:var(--ink-soft);font-size:13px;line-height:1.5}.footnote[data-v-89346585]{color:var(--ink-soft);font-size:13px;line-height:1.6;margin-top:8px}:root{--bg: #f7f5f0;--card: #ffffff;--ink: #1f3320;--ink-soft: #4a5a4b;--accent: #3d7a3d;--accent-soft: #d9e9d9;--border: #d8d3c4;--shadow: 0 1px 3px rgba(0, 0, 0, .06)}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}@media print{.app-header,.app-footer{display:none!important}main{padding:0!important;max-width:none!important}html,body,#app{background:#fff}}
