/* EPIC Cabins · land map (css/land-map.css). Used with js/land-map.js. */
.lm{
  --lm-ink:#F2EEE4; --lm-dim:rgba(242,238,228,.62); --lm-faint:rgba(242,238,228,.42);
  --lm-line:rgba(242,238,228,.22); --lm-soft:rgba(242,238,228,.05); --lm-accent:#D2B472;
  --lm-solid:#D2B472; --lm-on-solid:#16271D; --lm-err:#E8B59A; --lm-grid:rgba(242,238,228,.14);
  --lm-mono:'Space Mono',ui-monospace,monospace; --lm-serif:'Fraunces',Georgia,serif; --lm-sans:inherit;
  border:1px solid var(--lm-line); padding:22px 22px 18px; margin:0 0 22px; color:var(--lm-ink); font-family:var(--lm-sans);
}
.lm--light{
  --lm-ink:#1a1a18; --lm-dim:#4a4a44; --lm-faint:#8a8a80; --lm-line:#deded8; --lm-soft:#ffffff;
  --lm-accent:#8F6C32; --lm-solid:#1a1a18; --lm-on-solid:#ffffff; --lm-err:#c0392b; --lm-grid:#e6e6e0;
  --lm-mono:ui-monospace,'SFMono-Regular',Menlo,monospace; --lm-serif:'Cormorant Garamond',Georgia,serif;
  border-radius:10px; background:#fbfbf9;
}
.lm *{box-sizing:border-box;}
.lm [hidden]{display:none !important;}
.lm-title{font-family:var(--lm-serif);font-size:22px;line-height:1.2;margin:0 0 6px;color:var(--lm-ink);}
.lm-sub{margin:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--lm-dim);max-width:64ch;}
.lm .lm-lbl{display:block;margin:0 0 7px;font-family:var(--lm-mono);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lm-accent);font-weight:400;}
.lm .lm-opt{text-transform:none;letter-spacing:0;font-family:var(--lm-serif);font-style:italic;font-size:13px;color:var(--lm-faint);}
.lm-coords{display:grid;grid-template-columns:1fr 1fr auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:end;}
.lm-coords .lm-lbl:nth-of-type(1){grid-column:1;grid-row:1;}
.lm-coords .lm-lbl:nth-of-type(2){grid-column:2;grid-row:1;}
.lm-coords input{grid-row:2;width:100%;margin:0;}
.lm-coords .lm-btn{grid-row:2;}
.lm input[type=text]{font-size:15px;padding:.75rem .85rem;}
.lm-btn{appearance:none;border:1px solid var(--lm-line);background:transparent;color:var(--lm-ink);font-family:var(--lm-mono);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;padding:.95rem 1rem;cursor:pointer;white-space:nowrap;border-radius:0;transition:border-color .25s,background .25s,color .25s;}
.lm--light .lm-btn{border-radius:8px;}
.lm-btn:hover{border-color:var(--lm-accent);}
.lm-btn--solid{background:var(--lm-solid);border-color:var(--lm-solid);color:var(--lm-on-solid);}
.lm-btn--solid:hover{opacity:.9;}
.lm-btn--quiet{border-color:transparent;color:var(--lm-dim);}
.lm-btn:focus-visible,.lm-tool:focus-visible,.lm-select:focus-visible{outline:2px solid var(--lm-accent);outline-offset:2px;}
.lm-mapwrap{margin-top:16px;}
.lm-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;}
.lm-tools{display:flex;flex-wrap:wrap;gap:6px;}
.lm-tool{appearance:none;border:1px solid var(--lm-line);background:transparent;color:var(--lm-dim);font-size:13px;padding:.5rem .8rem;cursor:pointer;border-radius:0;font-family:inherit;}
.lm--light .lm-tool,.lm--light .lm-select{border-radius:6px;}
.lm-tool[aria-pressed="true"]{border-color:var(--lm-accent);color:var(--lm-ink);background:var(--lm-soft);}
.lm .lm-select{width:auto;font-size:13px;padding:.5rem 2.2rem .5rem .8rem;background-color:transparent;color:var(--lm-ink);border:1px solid var(--lm-line);}
.lm-map{height:420px;width:100%;background:#d9dccf;border:1px solid var(--lm-line);}
.lm-map .leaflet-control-attribution{font-size:10px;}
.lm-map .lm-tip{background:#16271D;color:#F2EEE4;border:0;font:11px/1.2 ui-monospace,monospace;padding:2px 6px;box-shadow:none;}
.lm-map .lm-tip::before{display:none;}
.lm-legend{display:flex;align-items:center;gap:10px;margin-top:8px;font-family:var(--lm-mono);font-size:11px;color:var(--lm-dim);}
.lm-legend i{flex:0 0 160px;height:8px;background:linear-gradient(90deg,#466651,#819D6C,#CCCD97,#D6B583,#AA7E62);}
.lm-status{min-height:1.4em;margin:10px 0 0;font-size:13.5px;color:var(--lm-dim);}
.lm-status.is-error,.lm-binfo.is-error{color:var(--lm-err);}
.lm-readout{margin:4px 0 0;font-size:14px;color:var(--lm-ink);}
.lm-readout:empty{display:none;}
.lm-profile{margin-top:16px;padding-top:14px;border-top:1px solid var(--lm-line);}
.lm-k{margin:0 0 8px;font-family:var(--lm-mono);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lm-accent);}
.lm-chart svg{display:block;width:100%;height:auto;}
.lm-chart .lm-grid{stroke:var(--lm-grid);stroke-width:1;}
.lm-chart .lm-ax{fill:var(--lm-faint);font-size:12px;font-family:inherit;}
.lm-chart .lm-area{fill:var(--lm-accent);opacity:.16;}
.lm-chart .lm-line{fill:none;stroke:var(--lm-accent);stroke-width:2.4;}
.lm-psum{margin:6px 0 2px;font-size:14.5px;color:var(--lm-ink);}
.lm-pdet{margin:0;font-size:13px;line-height:1.55;color:var(--lm-dim);max-width:70ch;}
.lm-boundary{margin-top:18px;padding-top:16px;border-top:1px solid var(--lm-line);}
.lm .lm-lbl--block{margin-bottom:9px;}
.lm-boundary input[type=file]{width:100%;font-size:14px;padding:.6rem;color:var(--lm-dim);background:transparent;border:1px dashed var(--lm-line);}
.lm-binfo{margin:8px 0 0;font-size:14px;color:var(--lm-ink);}
.lm-binfo:empty{display:none;}
.lm-brow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.lm-note{margin:16px 0 0;font-size:12px;line-height:1.55;color:var(--lm-faint);max-width:80ch;}
@media(max-width:640px){
  .lm{padding:18px 14px 14px;}
  .lm-coords{grid-template-columns:1fr 1fr;row-gap:8px;}
  .lm-coords .lm-btn{grid-row:auto;}
  .lm-map{height:340px;}
}
.lm-boundary input[type=file]::file-selector-button{font-family:var(--lm-mono);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;padding:.7rem .9rem;margin-right:12px;border:1px solid var(--lm-line);background:transparent;color:var(--lm-ink);cursor:pointer;}
.lm--light .lm-boundary input[type=file]::file-selector-button{border-radius:6px;}
.lm-boundary input[type=file]::file-selector-button:hover{border-color:var(--lm-accent);}
