:root{
  --ff-home-panel: rgba(9,46,28,.92);
  --ff-home-panel-deep: rgba(7,33,20,.96);
  --ff-home-panel-soft: rgba(18,75,46,.72);
  --ff-home-panel-soft-2: rgba(18,75,46,.28);

  --ff-home-line: rgba(134,239,172,.18);
  --ff-home-line-2: rgba(134,239,172,.22);
  --ff-home-line-3: rgba(134,239,172,.28);

  --ff-home-text: #ecfdf5;
  --ff-home-text-soft: #d1fae5;
  --ff-home-text-muted: #b7d7c4;
  --ff-home-text-accent: #c7f9dd;

  --ff-home-map-bg: #052e16;
  --ff-home-thumb-bg: #113322;

  --ff-home-btn-dark-1: rgba(16,63,39,.96);
  --ff-home-btn-dark-2: rgba(10,47,29,.96);

  --ff-home-btn-light-1: #f5fff8;
  --ff-home-btn-light-2: #d9fbe7;
  --ff-home-btn-light-3: #86efac;
  --ff-home-btn-light-4: #68db92;
  --ff-home-btn-text: #052e16;

  --ff-home-danger: #dc2626;
  --ff-home-warn: #f59e0b;

  --ff-phone-bar-height: 74px;
  --ff-phone-plus-size: 64px;
  --ff-phone-floating-gap: 14px;

  --ff-site-header-height-desktop: 76px;
  --ff-site-header-height-mobile: 62px;

  --ff-page-pad-desktop: .75rem;
  --ff-page-pad-mobile: .6rem;

  --ff-phone-bottom-safe-gap: 10px;

  --ff-screen-height: 100vh;
}

@supports (height: 100dvh){
  :root{
    --ff-screen-height: 100dvh;
  }
}

[x-cloak]{display:none!important}

.ff-app-shell{
  height:auto!important;
  min-height:0!important;
}

html,
body{
  height:100%;
  min-height:100%;
}

.ff-main{
  flex:1 1 auto !important;
  min-height:0 !important;
}

.forager-map-shell-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
}

.forager-map-shell{
  display:grid;
  grid-template-columns:320px minmax(0,1fr) 320px;
  grid-template-areas:"filters map details";
  gap:.85rem;
  align-items:stretch;
  min-width:1160px;
  min-height:calc(var(--ff-screen-height) - var(--ff-site-header-height-desktop) - (var(--ff-page-pad-desktop) * 2));
  height:calc(var(--ff-screen-height) - var(--ff-site-header-height-desktop) - (var(--ff-page-pad-desktop) * 2));
}

.forager-panel-left{
  grid-area:filters;
  min-height:0;
}

.forager-map-card{
  grid-area:map;
}

.forager-panel-right{
  grid-area:details;
  min-height:0;
}

.forager-panel{
  border:1px solid var(--ff-home-line-2);
  border-radius:.7rem;
  background:linear-gradient(180deg, var(--ff-home-panel), rgba(7,33,20,.94));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}

.forager-panel-header{
  padding:.75rem .9rem;
  border-bottom:1px solid rgba(134,239,172,.16);
  background:var(--ff-home-panel-soft);
  font-size:.95rem;
  color:var(--ff-home-text);
  flex:0 0 auto;
}

.forager-panel-body{
  padding:.9rem;
  overflow:auto;
  min-height:0;
  flex:1 1 auto;
  color:var(--ff-home-text-soft);
}

#detail-panel{
  overflow-y:auto;
  min-height:0;
}

.forager-map-card{
  border:1px solid var(--ff-home-line-2);
  border-radius:.7rem;
  background:linear-gradient(180deg, var(--ff-home-panel), rgba(7,33,20,.94));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  position:relative;
  isolation:isolate;
}

.forager-map-toolbar{
  padding:.65rem .9rem;
  border-bottom:1px solid rgba(134,239,172,.16);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:.65rem;
  background:var(--ff-home-panel-soft);
  color:var(--ff-home-text);
  flex:0 0 auto;
  position:relative;
  z-index:30;
}

.forager-map-toolbar-left{justify-self:start; min-width:0}

.forager-map-toolbar-center{
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  flex-wrap:wrap;
  position:relative;
  min-width:0;
}

.forager-map-toolbar-right{
  justify-self:end;
  width:auto;
  height:auto;
  opacity:1;
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
}

.forager-toolbar-login-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.forager-map-wrap{
  flex:1 1 auto;
  min-height:0;
  position:relative;
  z-index:1;
  overflow:hidden;
}

#forager-map{
  width:100%;
  height:100%;
  min-height:0;
  background:var(--ff-home-map-bg);
  position:relative;
  z-index:1;
}

.forager-map-wrap.is-dragging .leaflet-popup-pane,
.forager-map-wrap.is-dragging .leaflet-tooltip-pane{
  visibility:hidden;
}

.forager-filter-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.65rem;
}

.forager-filter-grid label{
  display:block;
  font-size:.8rem;
  font-weight:600;
  margin-bottom:.3rem;
  color:var(--ff-home-text-soft);
}

.forager-filter-grid select,
.forager-filter-grid button{
  width:100%;
  border:1px solid var(--ff-home-line-2);
  border-radius:.55rem;
  padding:.52rem .72rem;
  font-size:.88rem;
  background:#0a2f1d;
  color:var(--ff-home-text);
}

.forager-filter-grid select:focus{
  outline:none;
  border-color:var(--ff-home-btn-light-3);
  box-shadow:0 0 0 3px rgba(134,239,172,.15);
}

.forager-filter-grid button{
  cursor:pointer;
  font-weight:700;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 34%),
    linear-gradient(180deg, rgba(20,82,50,.96), rgba(14,58,36,.96));
  color:var(--ff-home-text);
  border:1px solid rgba(134,239,172,.24);
  transition:transform .08s ease, box-shadow .12s ease, filter .12s ease, border-color .12s ease;
  box-shadow:
    0 6px 14px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.forager-filter-grid button:hover{
  filter:brightness(1.03);
  border-color:rgba(134,239,172,.38);
}

.forager-filter-grid button:active{
  transform:translateY(1px);
}

.forager-search-wrap{
  position:relative;
  display:grid;
  gap:4px;
}

.forager-search-wrap label{
  display:block;
  font-size:11px;
  font-weight:600;
  margin-bottom:0;
  color:var(--ff-home-text-soft);
}

.forager-search-wrap input{
  width:100%;
  border:1px solid var(--ff-home-line-2);
  border-radius:10px;
  padding:6px 8px;
  background:#0a2f1d;
  color:var(--ff-home-text);
  font-size:11px;
}

.forager-search-wrap input::placeholder{
  color:var(--ff-home-text-muted);
}

.forager-search-wrap input:focus{
  outline:none;
  border-color:var(--ff-home-btn-light-3);
  box-shadow:0 0 0 3px rgba(134,239,172,.15);
}

.forager-search-dropdown{
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  right:0;
  z-index:40;
  max-height:260px;
  overflow-y:auto;
  border:1px solid rgba(134,239,172,.26);
  border-radius:.55rem;
  background:#0a2f1d;
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}

.forager-search-option{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(134,239,172,.10);
  background:transparent;
  color:var(--ff-home-text);
  text-align:left;
  padding:.55rem .7rem;
  font-size:.88rem;
  cursor:pointer;
}

.forager-search-option:last-child{
  border-bottom:0;
}

.forager-search-option:hover{
  background:rgba(20,82,50,.78);
}

.forager-search-empty{
  padding:.55rem .7rem;
  font-size:.88rem;
  color:#a7cbb8;
}

.forager-results-section{display:block}

#result-list{
  max-height:calc((78px * 5) + (.55rem * 4));
  min-height:calc((78px * 5) + (.55rem * 4));
  overflow-y:auto;
  padding-right:2px;
  display:grid;
  gap:.55rem;
  align-content:start;
  scrollbar-gutter:stable;
}

.forager-result-item{
  border:1px solid rgba(134,239,172,.16);
  border-radius:.7rem;
  padding:.65rem;
  cursor:pointer;
  background:rgba(16,63,39,.72);
  display:grid;
  grid-template-columns:50px 1fr;
  gap:.65rem;
  align-items:start;
  text-align:left;
  width:100%;
  min-height:78px;
  color:var(--ff-home-text);
}

.forager-result-item:hover{
  border-color:rgba(134,239,172,.36);
  background:rgba(20,82,50,.78);
}

.forager-result-item.is-selected{
  border-color:var(--ff-home-btn-light-3);
  background:rgba(20,110,62,.35);
  box-shadow:0 0 0 1px rgba(134,239,172,.18) inset;
}

.forager-blank-thumb{
  width:50px;
  height:50px;
  border-radius:.45rem;
  border:1px solid rgba(134,239,172,.16);
  background:var(--ff-home-thumb-bg);
  object-fit:cover;
}

.forager-detail-image{
  width:100%;
  aspect-ratio:16/10;
  border-radius:.7rem;
  border:1px solid rgba(134,239,172,.16);
  background:var(--ff-home-thumb-bg);
  object-fit:cover;
  margin-bottom:.75rem;
}

.forager-badge{
  display:inline-block;
  border:1px solid rgba(134,239,172,.24);
  background:rgba(20,82,50,.65);
  color:var(--ff-home-text-soft);
  border-radius:999px;
  padding:.12rem .5rem;
  font-size:.7rem;
  margin-top:.22rem;
}

.forager-kv{
  display:grid;
  grid-template-columns:105px 1fr;
  gap:.35rem .6rem;
  margin-top:.7rem;
  font-size:.84rem;
}

.forager-kv dt{color:#a7f3d0;font-weight:600}
.forager-kv dd{margin:0;color:var(--ff-home-text);overflow-wrap:anywhere}

.forager-empty{color:#a7cbb8;font-size:.88rem}
.forager-toolbar-metrics{font-size:.82rem;color:var(--ff-home-text-accent)}

.forager-refresh-pill{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border:1px solid rgba(134,239,172,.22);
  background:rgba(9,46,28,.7);
  color:var(--ff-home-text-soft);
  border-radius:999px;
  padding:.12rem .5rem;
  font-size:.7rem;
  margin-left:.45rem;
}

.forager-refresh-pill.is-dirty{
  border-color:#bef264;
  color:#ecfccb;
  background:rgba(77,124,15,.28);
}

.forager-point-icon{
  background:transparent !important;
  border:none !important;
}

.forager-plant-marker-shell{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.20));
}

.forager-plant-marker-svg{
  display:block;
  overflow:visible;
}

.forager-plant-marker-hex{
  fill:url(#ffMarkerGrad);
  stroke:rgba(46, 71, 55, .95);
  stroke-width:2.1;
}

.forager-plant-marker-shell.is-selected .forager-plant-marker-hex{
  fill:url(#ffMarkerGradSelected);
  stroke:rgba(38, 60, 45, 1);
  stroke-width:2.5;
}

.forager-plant-marker-stem{
  fill:none;
  stroke:#3e5d44;
  stroke-width:3.2;
  stroke-linecap:round;
}

.forager-plant-marker-leaf-left,
.forager-plant-marker-leaf-right{
  fill:none;
  stroke:#4f7357;
  stroke-width:3.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.forager-plant-marker-shell.is-selected .forager-plant-marker-stem{
  stroke:#365240;
}

.forager-plant-marker-shell.is-selected .forager-plant-marker-leaf-left,
.forager-plant-marker-shell.is-selected .forager-plant-marker-leaf-right{
  stroke:#45684e;
}

.forager-cluster-sidebar{
  position:fixed;
  z-index:9999;
  display:none;
  pointer-events:auto;
  user-select:none;
  background:rgba(7,33,20,.93);
  backdrop-filter:blur(6px);
  border:1px solid rgba(134,239,172,.18);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  border-radius:0 14px 14px 0;
  padding:8px 10px;
  max-width:520px;
  color:var(--ff-home-text);
}
.forager-cluster-sidebar.is-visible{display:block}
.forager-cluster-images{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.forager-cluster-img-chip{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}
.forager-cluster-img-chip img{
  width:36px;
  height:36px;
  object-fit:cover;
  display:block;
  border-radius:10px;
  border:1px solid rgba(134,239,172,.14);
  background:var(--ff-home-thumb-bg);
}
.forager-cluster-sidebar-label{
  margin-left:8px;
  font-size:11px;
  color:#bbf7d0;
  white-space:nowrap;
  opacity:.9;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.leaflet-popup-content-wrapper,.leaflet-popup-content{overflow:visible!important}
.popup-log-btn-wrap{position:relative;display:inline-flex;justify-content:center}

.forager-anchor-card{
  background:rgba(7,33,20,.96);
  border:1px solid rgba(134,239,172,.2);
  border-radius:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  backdrop-filter:blur(6px);
  color:var(--ff-home-text);
}

.forager-anchor-tip{
  width:12px;
  height:12px;
  background:#0b2f1d;
  border-left:1px solid rgba(134,239,172,.2);
  border-bottom:1px solid rgba(134,239,172,.2);
  transform:rotate(-45deg);
  margin:-6px auto 0;
}

.forager-inline-login-popup{
  position:absolute;
  top:calc(100% + 8px);
  bottom:auto;
  left:50%;
  transform:translateX(-50%);
  width:min(300px, calc(100vw - 28px));
  z-index:960;
}

.popup-login-inline{
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  transform:translateX(-50%);
  width:230px;
  z-index:25;
}

.forager-popup-panel{padding:10px}
.forager-popup-panel h4{margin:0;font-size:12px;font-weight:700;color:var(--ff-home-text)}
.forager-popup-panel .sub{margin-top:4px;font-size:11px;line-height:1.35;color:var(--ff-home-text-accent)}

.forager-upload-field{margin-top:8px;display:grid;gap:4px}
.forager-upload-field label{font-size:11px;font-weight:600;color:var(--ff-home-text-soft)}

.forager-upload-file{
  width:100%;
  border:1px solid rgba(134,239,172,.22);
  border-radius:10px;
  padding:6px 8px;
  background:#0a2f1d;
  color:var(--ff-home-text);
  font-size:11px;
}

.forager-upload-file::placeholder{
  color:var(--ff-home-text-muted);
}

.forager-upload-file:focus{
  outline:none;
  border-color:var(--ff-home-btn-light-3);
  box-shadow:0 0 0 3px rgba(134,239,172,.15);
}

.forager-overlay-species-wrap{
  position:relative;
}

.forager-upload-actions{
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}

.forager-mini-btn{
  border:1px solid rgba(134,239,172,.18);
  background:linear-gradient(180deg, var(--ff-home-btn-dark-1), var(--ff-home-btn-dark-2));
  color:var(--ff-home-text-soft);
  border-radius:9px;
  padding:5px 8px;
  font:600 11px system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  cursor:pointer;
  box-shadow:
    0 4px 10px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.04);
}
.forager-mini-btn:hover{
  filter:brightness(1.04);
  border-color:rgba(134,239,172,.3);
}
.forager-mini-btn.is-primary{
  border-color:var(--ff-home-btn-light-3);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.5), transparent 34%),
    linear-gradient(180deg, var(--ff-home-btn-light-1) 0%, var(--ff-home-btn-light-2) 30%, var(--ff-home-btn-light-3) 72%, var(--ff-home-btn-light-4) 100%);
  color:var(--ff-home-btn-text);
  box-shadow:
    0 8px 18px rgba(22,101,52,.18),
    inset 0 1px 0 rgba(255,255,255,.75);
}
.forager-mini-btn.is-primary:hover{
  filter:brightness(.99);
}
.forager-mini-btn[disabled]{opacity:.5;cursor:not-allowed}

.forager-upload-result{
  margin-top:8px;
  border-radius:10px;
  border:1px solid rgba(134,239,172,.14);
  padding:8px;
  background:#0a2f1d;
  font-size:11px;
  line-height:1.35;
  color:var(--ff-home-text-soft);
  max-height:150px;
  overflow:auto;
}
.forager-upload-result.is-ok{border-color:#4ade80;background:rgba(22,101,52,.28);color:#dcfce7}
.forager-upload-result.is-warn{border-color:#bef264;background:rgba(77,124,15,.24);color:#ecfccb}
.forager-upload-result.is-bad{border-color:#f87171;background:rgba(127,29,29,.26);color:#fee2e2}

.forager-upload-textarea{
  width:100%;
  border:1px solid rgba(134,239,172,.22);
  border-radius:10px;
  padding:7px 9px;
  background:#0a2f1d;
  color:var(--ff-home-text);
  font-size:11px;
  line-height:1.35;
  min-height:68px;
  resize:vertical;
}

.forager-geo-box{
  margin-top:8px;
  border:1px solid rgba(134,239,172,.14);
  background:var(--ff-home-panel-soft-2);
  border-radius:10px;
  padding:8px;
}
.forager-geo-box .geo-title{font-size:11px;font-weight:700;color:var(--ff-home-text);margin-bottom:4px}
.forager-geo-box .geo-status{font-size:11px;color:var(--ff-home-text-soft);line-height:1.35}
.forager-geo-box .geo-status.is-ok{color:#bbf7d0}
.forager-geo-box .geo-status.is-bad{color:#fecaca}
.forager-geo-box .geo-status.is-warn{color:#fef08a}
.forager-field-help{font-size:10px;color:#a7cbb8;line-height:1.3}

.forager-map-overlay{
  position:absolute;
  inset:0;
  z-index:980;
  display:grid;
  place-items:center;
}

.forager-map-overlay-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,10,6,.5);
  backdrop-filter:blur(2px);
}

.forager-map-overlay-panel{
  position:relative;
  z-index:1;
  width:min(360px, calc(100% - 24px));
  max-height:calc(100% - 24px);
  overflow:auto;
}
.forager-map-overlay-panel.is-existing{
  width:min(360px, calc(100% - 24px));
}

.forager-user-finds{margin-top:.95rem}
.forager-user-finds-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  flex-wrap:wrap;
}
.forager-user-finds-title{
  font-weight:700;
  margin:0;
  font-size:13px;
  color:var(--ff-home-text);
}
.forager-view-finds-btn{
  border:1px solid rgba(134,239,172,.2);
  background:linear-gradient(180deg, var(--ff-home-btn-dark-1), var(--ff-home-btn-dark-2));
  color:#e6fff0;
  border-radius:999px;
  padding:4px 9px;
  min-width:122px;
  justify-content:center;
  text-align:center;
  font:700 10px system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  cursor:pointer;
  line-height:1.2;
  box-shadow:
    0 4px 10px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.forager-view-finds-btn:hover{
  filter:brightness(1.04);
  border-color:rgba(134,239,172,.34);
}
.forager-view-finds-btn[disabled]{opacity:.6;cursor:not-allowed}

.forager-user-finds-popup-list{
  margin-top:8px;
  display:grid;
  gap:.55rem;
  max-height:calc((88px * 4.15) + (.55rem * 3.15));
  min-height:calc((88px * 4.15) + (.55rem * 3.15));
  overflow-y:auto;
  padding-right:2px;
  scrollbar-gutter:stable;
  align-content:start;
}

.forager-user-find-card{
  border:1px solid rgba(134,239,172,.14);
  border-radius:.7rem;
  padding:.65rem;
  background:rgba(16,63,39,.72);
  display:grid;
  grid-template-columns:64px 1fr;
  gap:.65rem;
  align-items:start;
  min-height:88px;
}

.forager-user-find-img{
  width:64px;
  height:64px;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:.55rem;
  border:1px solid rgba(134,239,172,.14);
  background:var(--ff-home-thumb-bg);
  display:block;
}

.forager-user-find-meta{
  display:grid;
  gap:.18rem;
  min-width:0;
}

.forager-user-find-user{
  font-size:12px;
  font-weight:700;
  color:var(--ff-home-text);
  line-height:1.2;
}

.forager-user-find-sub{
  font-size:10px;
  color:var(--ff-home-text-muted);
  line-height:1.2;
}

.forager-user-find-comment{
  font-size:11px;
  line-height:1.3;
  color:var(--ff-home-text-soft);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  margin-top:.12rem;
}

.forager-panel-body hr{border-color:rgba(134,239,172,.14)!important}
.forager-panel-body .text-slate-500,
.forager-panel-body .text-slate-700,
.forager-panel-body .text-xs.text-slate-500{color:var(--ff-home-text-muted)!important}
.forager-map-toolbar strong.text-sm{color:var(--ff-home-text)}
#results-count{color:var(--ff-home-text-muted)!important}

.forager-toolbar-icon-btn{
  width:42px;
  height:42px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ff-home-btn-light-3) !important;
  background:linear-gradient(180deg, #effff4, #bdf5d0 45%, var(--ff-home-btn-light-3) 100%) !important;
  color:#06361c !important;
  border-radius:999px !important;
  box-shadow:
    0 8px 18px rgba(22,101,52,.18),
    inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .08s ease, box-shadow .12s ease, filter .12s ease;
  padding:0 !important;
  flex:0 0 auto;
  position:relative;
  z-index:31;
}

.forager-toolbar-icon-btn:hover{
  filter:brightness(.99);
  box-shadow:
    0 10px 20px rgba(22,101,52,.22),
    inset 0 1px 0 rgba(255,255,255,.78);
}

.forager-toolbar-icon-btn:active{
  transform:translateY(1px);
}

.forager-toolbar-icon-btn svg{
  width:18px;
  height:18px;
  display:block;
}

.forager-toolbar-cta-btn{
  border:1px solid var(--ff-home-btn-light-3) !important;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.55), transparent 34%),
    linear-gradient(180deg, var(--ff-home-btn-light-1) 0%, var(--ff-home-btn-light-2) 30%, var(--ff-home-btn-light-3) 72%, var(--ff-home-btn-light-4) 100%) !important;
  color:var(--ff-home-btn-text) !important;
  border-radius:999px !important;
  box-shadow:
    0 10px 22px rgba(22,101,52,.2),
    inset 0 1px 0 rgba(255,255,255,.78);
  font-weight:800 !important;
  padding:.58rem .98rem !important;
  font-size:.76rem !important;
  line-height:1.1 !important;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  letter-spacing:.01em;
  white-space:nowrap;
  position:relative;
  z-index:31;
  max-width:100%;
}

.forager-toolbar-cta-btn:hover{
  filter:brightness(.99);
}

.forager-toolbar-cta-btn:active{
  transform:translateY(1px);
}

.forager-toolbar-cta-icon{
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(5,46,22,.10);
  box-shadow:inset 0 0 0 1px rgba(5,46,22,.10);
  flex:0 0 auto;
}

.forager-toolbar-cta-icon svg{
  width:14px;
  height:14px;
  display:block;
}

#fit-results-btn{
  display:none !important;
}

.leaflet-popup-content-wrapper{
  background:#0b2f1d !important;
  color:var(--ff-home-text) !important;
  border:1px solid rgba(134,239,172,.2);
  box-shadow:0 12px 24px rgba(0,0,0,.25);
}
.leaflet-popup-tip{
  background:#0b2f1d !important;
  border:1px solid rgba(134,239,172,.16);
}
.leaflet-container a.leaflet-popup-close-button{
  color:var(--ff-home-text-soft) !important;
}
.leaflet-container a.leaflet-popup-close-button:hover{
  color:var(--ff-home-text) !important;
}

.forager-phone-map-chip,
.forager-phone-bottom-bar{
  display:none;
}

@media (max-width: 1024px){
  .forager-map-shell-wrap{
    overflow-x:visible;
    overflow-y:visible;
  }

  .forager-map-shell{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"map";
    grid-template-rows:minmax(0,1fr);
    gap:0;
    min-width:0;
    min-height:calc(var(--ff-screen-height) - var(--ff-site-header-height-desktop) - (var(--ff-page-pad-desktop) * 2));
    height:calc(var(--ff-screen-height) - var(--ff-site-header-height-desktop) - (var(--ff-page-pad-desktop) * 2));
    width:100%;
  }

  .forager-panel-left,
  .forager-panel-right{
    display:none !important;
  }

  .forager-map-card{
    width:100%;
    min-width:0;
    height:100%;
    min-height:0;
    position:relative;
    overflow:hidden;
    isolation:isolate;
    border-radius:1rem;
  }

  .forager-map-toolbar{
    grid-template-columns:1fr auto 1fr;
    gap:.5rem;
    padding:.6rem .75rem;
    position:relative;
    z-index:30;
  }

  .forager-map-toolbar-left,
  .forager-map-toolbar-center,
  .forager-map-toolbar-right{
    min-width:0;
  }

  .forager-map-toolbar-center{
    overflow:visible;
  }

  .forager-toolbar-login-wrap{
    min-width:0;
  }

  .forager-toolbar-cta-btn{
    max-width:100%;
    position:relative;
    z-index:31;
  }

  .forager-map-wrap{
    position:relative;
    z-index:1;
    min-height:0;
    height:100%;
    overflow:hidden;
    border-bottom-left-radius:1rem;
    border-bottom-right-radius:1rem;
  }

  #forager-map{
    width:100%;
    height:100%;
    min-height:0;
    position:relative;
    z-index:1;
  }
}

@media (max-width:640px){
  .ff-page-wrap{
    padding:.6rem;
    min-height:calc(var(--ff-screen-height) - var(--ff-site-header-height-mobile));
  }

  .forager-map-shell-wrap{
    overflow-x:visible;
    overflow-y:visible;
  }

  .forager-map-shell{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "filters"
      "map"
      "details";
    grid-template-rows:auto minmax(0,1fr) auto;
    gap:.6rem;
    min-width:0;
    min-height:calc(var(--ff-screen-height) - var(--ff-site-header-height-mobile) - (var(--ff-page-pad-mobile) * 2));
    height:calc(var(--ff-screen-height) - var(--ff-site-header-height-mobile) - (var(--ff-page-pad-mobile) * 2));
    align-items:stretch;
  }

  .forager-panel-left,
  .forager-panel-right{
    min-height:0;
    height:auto;
  }

  .forager-map-card{
    min-height:0;
    height:100%;
    border-radius:1rem;
    overflow:hidden;
    box-shadow:0 14px 30px rgba(0,0,0,.22);
    padding-bottom:0;
  }

  .forager-map-wrap{
    height:100%;
    min-height:0;
  }

  #forager-map{
    width:100%;
    height:100%;
    min-height:0;
  }

  .forager-phone-map-chip{
    position:absolute;
    top:12px;
    left:12px;
    right:12px;
    z-index:700;
    display:flex;
    flex-direction:column;
    gap:2px;
    align-items:flex-start;
    width:auto;
    max-width:max-content;
    padding:.7rem .85rem;
    border:1px solid rgba(134,239,172,.18);
    border-radius:16px;
    background:rgba(7,33,20,.86);
    backdrop-filter:blur(10px);
    box-shadow:0 12px 26px rgba(0,0,0,.22);
    color:var(--ff-home-text);
  }

  .forager-phone-map-chip__title{
    font-size:.84rem;
    font-weight:800;
    line-height:1.05;
    letter-spacing:.01em;
  }

  .forager-phone-map-chip__sub{
    font-size:.68rem;
    line-height:1.2;
    color:var(--ff-home-text-accent);
  }

  .forager-map-overlay{
    position:absolute;
    inset:0;
    z-index:980;
    padding:14px;
  }

  .forager-map-overlay-panel,
  .forager-map-overlay-panel.is-existing{
    width:min(380px, calc(100% - 8px));
    max-height:calc(100% - 8px);
    border-radius:18px;
  }

  .forager-popup-panel{
    padding:14px;
  }

  .forager-popup-panel h4{
    font-size:14px;
  }

  .forager-popup-panel .sub{
    font-size:12px;
    line-height:1.4;
  }

  .forager-user-finds-popup-list{
    max-height:min(52svh, 420px);
    min-height:auto;
  }

  .forager-phone-bottom-bar{
    position:absolute;
    left:12px;
    right:12px;
    bottom:max(var(--ff-phone-bottom-safe-gap), env(safe-area-inset-bottom));
    z-index:760;
    height:var(--ff-phone-bar-height);
    padding:0 14px;
    border:1px solid rgba(134,239,172,.16);
    border-radius:999px;
    background:rgba(7,33,20,.88);
    backdrop-filter:blur(12px);
    box-shadow:0 16px 34px rgba(0,0,0,.28);
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
  }

  .forager-phone-bottom-btn{
    min-height:48px;
    border:0;
    background:transparent;
    color:var(--ff-home-text);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    font:700 11px system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    cursor:pointer;
    padding:.35rem .45rem;
    border-radius:16px;
  }

  .forager-phone-bottom-btn:hover{
    background:rgba(255,255,255,.04);
  }

  .forager-phone-bottom-btn:first-child{
    justify-self:start;
  }

  .forager-phone-bottom-btn:last-child{
    justify-self:end;
  }

  .forager-phone-bottom-btn__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    color:var(--ff-home-text-accent);
  }

  .forager-phone-bottom-btn__icon svg{
    width:18px;
    height:18px;
    display:block;
  }

  .forager-phone-plus-btn{
    width:var(--ff-phone-plus-size);
    height:var(--ff-phone-plus-size);
    border-radius:999px;
    border:1px solid var(--ff-home-btn-light-3);
    background:
      radial-gradient(circle at top left, rgba(255,255,255,.6), transparent 34%),
      linear-gradient(180deg, var(--ff-home-btn-light-1) 0%, var(--ff-home-btn-light-2) 30%, var(--ff-home-btn-light-3) 72%, var(--ff-home-btn-light-4) 100%);
    color:var(--ff-home-btn-text);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:
      0 14px 26px rgba(22,101,52,.26),
      inset 0 1px 0 rgba(255,255,255,.82);
    transform:translateY(calc(var(--ff-phone-plus-size) * -0.24));
    cursor:pointer;
  }

  .forager-phone-plus-btn:hover{
    filter:brightness(.99);
  }

  .forager-phone-plus-btn:active{
    transform:translateY(calc(var(--ff-phone-plus-size) * -0.24 + 1px));
  }

  .forager-phone-plus-btn svg{
    width:24px;
    height:24px;
    display:block;
  }

  .forager-result-item{
    min-height:72px;
    padding:.58rem;
    grid-template-columns:46px 1fr;
    gap:.58rem;
  }

  .forager-blank-thumb{
    width:46px;
    height:46px;
  }

  .forager-detail-image{
    margin-bottom:.65rem;
  }

  .forager-kv{
    grid-template-columns:92px 1fr;
    gap:.28rem .5rem;
    font-size:.8rem;
  }

  .forager-user-find-card{
    min-height:80px;
    grid-template-columns:56px 1fr;
    gap:.55rem;
    padding:.55rem;
  }

  .forager-user-find-img{
    width:56px;
    height:56px;
  }

  .forager-upload-actions{
    gap:8px;
  }

  .popup-login-inline,
  .forager-inline-login-popup{
    width:min(320px, calc(100vw - 28px));
  }

  .leaflet-control-zoom{
    margin-top:76px !important;
    margin-bottom:calc(var(--ff-phone-bar-height) + 18px) !important;
  }

  .forager-map-wrap.is-phone-popup-open .leaflet-control-zoom{
    display:none !important;
  }
}

@media (max-width:640px) and (max-height:760px){
  :root{
    --ff-phone-bar-height: 68px;
    --ff-phone-plus-size: 58px;
    --ff-phone-bottom-safe-gap: 8px;
  }

  .forager-phone-bottom-btn{
    font-size:10px;
  }

  .forager-phone-map-chip{
    padding:.6rem .72rem;
  }

  .forager-map-overlay{
    padding:10px;
  }
}

@media (max-width:640px) and (max-height:520px){
  :root{
    --ff-phone-bar-height: 62px;
    --ff-phone-plus-size: 54px;
    --ff-phone-bottom-safe-gap: 6px;
  }

  .forager-phone-bottom-bar{
    left:10px;
    right:10px;
    bottom:max(var(--ff-phone-bottom-safe-gap), env(safe-area-inset-bottom));
  }

  .forager-phone-bottom-btn{
    min-height:40px;
    gap:2px;
    font-size:9px;
  }

  .forager-phone-plus-btn svg{
    width:20px;
    height:20px;
  }

  .forager-phone-map-chip{
    top:10px;
    left:10px;
    right:10px;
    padding:.52rem .64rem;
  }

  .forager-popup-panel{
    padding:12px;
  }
}