:root{color-scheme:light;--bg: #efe7d6;--bg-soft: #f8f3e7;--paper: rgba(255, 251, 243, .92);--panel: #fffdf8;--panel-strong: #f7f0e2;--line: rgba(45, 53, 44, .14);--text: #1f2c24;--muted: #58675f;--accent: #1f6f52;--accent-strong: #15553f;--accent-soft: rgba(31, 111, 82, .11);--warm: #c77e2e;--warm-soft: rgba(199, 126, 46, .12);--danger: #b64534;--shadow: 0 18px 46px rgba(32, 44, 35, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Space Grotesk,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(56,127,111,.18),transparent 28%),radial-gradient(circle at top right,rgba(221,165,90,.22),transparent 32%),linear-gradient(180deg,#f5efe3,#eee3cf)}a{color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:Fraunces,Georgia,serif;letter-spacing:-.02em}#root,.app{min-height:100vh}.app{display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 28px;border-bottom:1px solid rgba(45,53,44,.08);background:#fffaf2db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:700;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#0f4d38);color:#fff;font-size:13px;font-weight:700;box-shadow:0 12px 24px #1f6f5242}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.page-shell{width:min(1400px,calc(100vw - 32px));margin:0 auto;padding:24px 0 40px}.site-footer{padding:0 16px 28px;text-align:center;color:var(--muted)}.site-footer p{margin:0}.site-footer a{color:var(--accent-strong);text-decoration:none}.hero-panel,.tool-shell,.map-lab{border:1px solid rgba(45,53,44,.08);border-radius:28px;background:var(--paper);box-shadow:var(--shadow)}.hero-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;padding:28px;align-items:start}.hero-copy,.hero-stats{min-width:0}.hero-copy h1{margin:10px 0 12px;font-size:clamp(2.4rem,4vw,4.2rem);line-height:.95}.hero-text{max-width:700px;margin:0;font-size:1.05rem;line-height:1.7;color:var(--muted)}.hero-actions,.card-actions,.form-actions,.pagination,.view-toggle{display:flex;flex-wrap:wrap;gap:12px}.hero-actions{margin-top:20px}button,.button-link,.ghost-button,.active-pill,.mini-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}button,.button-link,.active-pill{padding:11px 18px;background:var(--accent);color:#fff;box-shadow:0 14px 28px #1f6f522e}.button-link.secondary,.ghost-button,button.ghost-button{background:#fff;color:var(--text);border-color:var(--line);box-shadow:none}.active-pill{background:#183f31}.mini-button{padding:7px 12px;background:#fff;color:var(--text);border-color:var(--line);font-size:.88rem;box-shadow:none}.mini-button.danger{border-color:#b6453433;color:var(--danger)}button:hover,.button-link:hover,.ghost-button:hover,.active-pill:hover,.mini-button:hover{transform:translateY(-1px)}button:focus-visible,.button-link:focus-visible,.ghost-button:focus-visible,.active-pill:focus-visible,.mini-button:focus-visible,.preset-card:focus-visible,.hotspot-list-summary:focus-visible,.hotspot-overlay-item:focus-visible,.hotspot-tips-summary:focus-visible{outline:3px solid rgba(31,111,82,.22);outline-offset:3px}button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.hero-stats{display:grid;gap:14px}.stat-card,.guide-card,.explain-card,.panel-card{border:1px solid rgba(45,53,44,.08);border-radius:22px;background:var(--panel)}.stat-card{padding:20px;background:linear-gradient(180deg,#ffffffeb,#f6eeddf0),var(--panel)}.stat-card span,.explain-card span,.hint,.lake-summary span,.toggle-row span,.survey-details dt,.card-kicker{color:var(--muted)}.stat-card strong{display:block;margin:6px 0 8px;font-size:2rem}.stat-card small{display:block;line-height:1.55;color:var(--muted)}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:18px 0 24px}.preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 18px}.preset-card{display:grid;gap:6px;width:100%;padding:16px;border-radius:20px;border:1px solid rgba(45,53,44,.1);background:linear-gradient(180deg,#fffffff5,#f7f0e2e6);color:var(--text);text-align:left;box-shadow:none}.preset-card strong{font-size:1rem}.preset-card span{color:var(--muted);line-height:1.45}.preset-card--active{border-color:#1f6f525c;background:linear-gradient(180deg,#e8f6eefa,#f4fbf7f5);box-shadow:0 14px 28px #1f6f521f}.guide-card{padding:20px}.guide-card h2{margin:0 0 8px;font-size:1.3rem}.guide-card p,.explain-card span{margin:0;line-height:1.6}.tool-shell{padding:24px}.tool-header,.results-header,.section-title,.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tool-header h2,.results-header h2,.section-title h2{margin:6px 0 0;font-size:clamp(1.8rem,3vw,2.6rem)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--muted)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:22px 0 18px}.origin-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.origin-grid .hero-actions{justify-content:flex-start;margin-top:0}.origin-field{min-width:0}.address-status{margin:14px 0 0;color:var(--muted);line-height:1.6}.analysis-filters{align-items:end}.field{display:grid;gap:8px}.field span{font-size:.92rem;color:var(--muted)}input,select,textarea{width:100%;border-radius:16px;border:1px solid rgba(45,53,44,.12);padding:13px 14px;color:var(--text);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:#1f6f5257;box-shadow:0 0 0 4px #1f6f5214}textarea{resize:vertical}.explainers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.explain-card{display:grid;gap:6px;padding:18px;background:linear-gradient(180deg,#fff,var(--panel-strong))}.results-header{margin-top:28px;margin-bottom:16px}.sliders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:22px}.slider-field{display:grid;gap:10px;padding:16px;border-radius:20px;border:1px solid rgba(45,53,44,.08);background:linear-gradient(180deg,#fffffff0,#f7f0e2e6)}.slider-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.slider-header span{color:var(--muted)}.slider-field small{color:var(--muted);line-height:1.5}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.analysis-card{display:grid;gap:16px;padding:18px;border:1px solid rgba(45,53,44,.08);border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f8f2e5fa)}.score-explainer{margin:-4px 0 0;color:var(--muted);line-height:1.55}.survey-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.survey-card{display:grid;gap:16px;padding:18px;border:1px solid rgba(45,53,44,.08);border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f8f2e5fa)}.survey-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.survey-card h3{margin:4px 0 0;font-size:1.5rem}.badge,.map-status-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:var(--warm-soft);color:#7f4f13;font-size:.84rem;white-space:nowrap}.map-status-pill{background:var(--accent-soft);color:var(--accent-strong)}.detail-pills{display:flex;flex-wrap:wrap;gap:8px}.detail-pills span{padding:8px 12px;border-radius:999px;background:#ffffffe0;border:1px solid rgba(45,53,44,.1);font-size:.9rem;line-height:1.35}.survey-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.survey-details div{padding:12px;border-radius:16px;background:#ffffffd1;border:1px solid rgba(45,53,44,.08)}.survey-details dt{font-size:.8rem;margin-bottom:4px}.survey-details dd{margin:0;font-weight:600}.table-scroll{overflow:auto;border:1px solid rgba(45,53,44,.08);border-radius:22px;background:#fff;-webkit-overflow-scrolling:touch}.survey-mobile-list{display:none}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid rgba(45,53,44,.08);text-align:left;white-space:normal;font-size:.92rem;vertical-align:top}.data-table th{position:sticky;top:0;background:#faf4e7;z-index:1}.data-table a{color:var(--accent-strong)}.pagination{align-items:center;justify-content:center;margin-top:18px}.empty-state{padding:28px;border-radius:22px;border:1px dashed rgba(45,53,44,.2);background:#fff9;text-align:center}.empty-state h3{margin:0 0 8px}.empty-state p{margin:0 0 16px;color:var(--muted)}.map-lab{margin-top:24px;padding:24px}.google-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;margin-top:20px;align-items:start}.hotspot-panel{display:grid;gap:20px}.hotspot-map-shell{position:relative;width:100%;aspect-ratio:1000 / 720;min-height:0;align-self:start;border-radius:24px;border:1px solid rgba(45,53,44,.08);background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 34%),linear-gradient(180deg,#0d4558,#10617d 48%,#0a3949);overflow:hidden}.hotspot-map-message{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;z-index:2}.hotspot-map-message--panel{gap:8px;background:#07171f7a;color:#fff7e9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.hotspot-map-message--panel strong{font-size:1.15rem}.hotspot-map-message--panel span{max-width:320px;text-align:center}.hotspot-map{width:100%;height:100%;display:block;shape-rendering:geometricPrecision;cursor:grab;touch-action:none}.hotspot-map-water{fill:#08222d61}.hotspot-outline{fill:#b4e9f529;stroke:#def7ffe6;stroke-width:2;vector-effect:non-scaling-stroke}.hotspot-contour{fill:none;stroke:#d7ebf03d;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hotspot-contour--active{stroke:#f7b43f;stroke-width:2.8;filter:drop-shadow(0 0 8px rgba(247,180,63,.32))}.hotspot-note{position:absolute;top:16px;left:16px;z-index:2;display:grid;gap:4px;max-width:320px;padding:12px 14px;border-radius:16px;background:#fffaf2eb;border:1px solid rgba(45,53,44,.08);box-shadow:0 12px 30px #07171f1f}.hotspot-note strong,.hotspot-note span{font-size:.92rem;line-height:1.5}.hotspot-note span{color:var(--muted)}.hotspot-warning{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;padding:12px 14px;border-radius:14px;background:#783311eb;border:1px solid rgba(255,210,181,.28);color:#fff5eb;font-size:.9rem;line-height:1.45;box-shadow:0 12px 30px #3d17043d}.hotspot-map-actions{position:absolute;top:16px;right:16px;z-index:2;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.hotspot-map-chip{border-radius:999px}.hotspot-list-overlay{position:absolute;right:16px;bottom:16px;z-index:2;width:min(360px,calc(100% - 32px))}.hotspot-list-summary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem 1rem;border-radius:999px;background:#fffaeff5;border:1px solid rgba(45,53,44,.12);box-shadow:0 12px 28px #07171f1f;cursor:pointer;font-size:.92rem;font-weight:700;list-style:none}.hotspot-list-summary::-webkit-details-marker{display:none}.hotspot-list-panel{display:grid;gap:8px;margin-top:10px}.hotspot-overlay-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(45,53,44,.12);border-radius:14px;background:#fffaeff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;font:inherit;text-align:left;color:inherit;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.hotspot-overlay-item strong{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#7c581f38;border:1px solid rgba(124,88,31,.24);color:#4a3309d1;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}.hotspot-overlay-item span{font-size:.92rem;line-height:1.35}.hotspot-overlay-item--active{background:#fff7e3fa;border-color:#9c630073;box-shadow:0 12px 26px #784c0024}.hotspot-overlay-item--active strong{background:linear-gradient(180deg,#f6be52,#d38a11);border-color:#7445006b;color:#fffaf0;box-shadow:0 8px 18px #9c630047;transform:scale(1.05)}.hotspot-controls-bar,.hotspot-controls-row,.hotspot-summary-grid,.hotspot-insight-list,.hotspot-full-width{display:grid;gap:16px}.hotspot-controls-row{grid-template-columns:minmax(0,1fr);align-items:end;gap:18px}.hotspot-filter-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.hotspot-slider-block{display:grid;gap:8px}.hotspot-slider-block strong{font-size:1.1rem}.hotspot-marker-ring{fill:#ffffff14;stroke:#ffffffd9;stroke-width:1.4}.hotspot-marker-core{fill:#fff4cf;stroke:#f7b43f;stroke-width:2.2}.hotspot-marker-label{fill:#fff9ea;font-size:18px;font-weight:700;paint-order:stroke;stroke:#07171f99;stroke-width:4px;stroke-linejoin:round}.hotspot-spot-hit-area{fill:transparent;pointer-events:all}.hotspot-spot-marker{cursor:pointer}.hotspot-spot-ring{fill:#f7b43f2e;stroke:#ffe59ff2;stroke-width:2}.hotspot-spot-marker--active .hotspot-spot-ring{fill:#f7b43f47;stroke:#fff4c6;stroke-width:3;filter:drop-shadow(0 0 12px rgba(247,180,63,.45))}.hotspot-spot-marker--active .hotspot-spot-core{transform-box:fill-box;transform-origin:center}.hotspot-spot-core{fill:#f7b43f;stroke:#533000e6;stroke-width:2}.hotspot-spot-rank{fill:#fff9ef;font-size:16px;font-weight:800;dominant-baseline:middle}.hotspot-spot-label{fill:#fff7df;font-size:15px;font-weight:700;paint-order:stroke;stroke:#07171fa6;stroke-width:4px;stroke-linejoin:round}.hotspot-access-ring{fill:#32a77629;stroke:#c2ffe3eb;stroke-width:1.5}.hotspot-access-core{fill:#67e3a8;stroke:#073123;stroke-width:1.4}.hotspot-access-label{fill:#e9fff3;font-size:16px;font-weight:700;paint-order:stroke;stroke:#07171fb3;stroke-width:4px;stroke-linejoin:round}.hotspot-access-shell{gap:12px}.hotspot-access-list{display:grid;gap:10px}.hotspot-access-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:#ffffffb8;border:1px solid rgba(45,53,44,.08)}button.hotspot-access-item{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.hotspot-access-item strong{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#0f6f52;color:#f3fff8}.hotspot-spot-item strong{background:#9c6300;color:#fff8e9}.hotspot-spot-item b{display:inline-block;margin-bottom:4px}.hotspot-spot-item--active{border-color:#9c630073;background:linear-gradient(180deg,#fffaeffa,#faeed2f5);box-shadow:0 10px 24px #784c001f}.hotspot-summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.hotspot-full-width{width:100%}.hotspot-tips-shell{gap:12px}.hotspot-tips-summary{cursor:pointer;font-weight:700;list-style:none}.hotspot-tips-summary::-webkit-details-marker{display:none}.map-target-shell{margin:14px 14px 0;border-radius:18px;background:#fffffff5;position:relative;z-index:1}.map-frame-shell,.selection-empty{border-radius:24px;border:1px solid rgba(45,53,44,.08);background:#fff;overflow:hidden}.map-frame-shell{min-height:520px}.map-frame{width:100%;height:100%;min-height:520px;border:0}.google-details{display:grid;gap:16px;align-content:start}.access-panel{display:grid;gap:12px}.access-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.access-list{display:grid;gap:12px}.access-card{display:grid;gap:10px;padding:16px;border-radius:18px;border:1px solid rgba(45,53,44,.08);background:linear-gradient(180deg,#fffffff2,#f7f0e2eb)}.access-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.access-card p,.access-card small{margin:0}.access-card p{line-height:1.5}.access-card small{color:var(--muted);line-height:1.5}.google-details h3{margin:4px 0 0;font-size:2rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.metric-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-box{display:grid;gap:6px;padding:16px;border-radius:18px;border:1px solid rgba(45,53,44,.08);background:linear-gradient(180deg,#fffffff2,#f7f0e2eb)}.metric-box span,.metric-box small{color:var(--muted)}.metric-box strong{font-size:1.15rem}.selection-empty{padding:32px;text-align:center}.selection-empty h3{margin:0 0 8px}.selection-empty p{margin:0;color:var(--muted)}.selected-lake-shell{margin-top:24px}.selected-lake-actions{align-items:center}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.map-layout{display:grid;grid-template-columns:370px minmax(0,1fr);gap:18px;margin-top:20px}.map-panel{display:grid;gap:14px;align-content:start}.panel-card{padding:18px}.panel-card h3{margin:0 0 10px;font-size:1.25rem}.layer-checklist{display:grid;gap:8px}.toggle-row{display:flex;align-items:center;gap:10px}.layer-actions{display:grid;gap:10px;margin-top:14px}.lake-summary{display:grid;gap:4px;padding:14px;border-radius:18px;background:#1f6f5214}.marker-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.marker-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border-radius:16px;background:var(--bg-soft);border:1px solid rgba(45,53,44,.08)}.marker-list strong,.lake-summary strong,.marker-list span,.marker-list small{display:block}.marker-actions{display:grid;gap:8px}.map-stage{position:relative;min-height:760px;border-radius:28px;overflow:hidden;border:1px solid rgba(45,53,44,.08);background:#d9e1e5}.map{position:absolute;top:0;right:0;bottom:0;left:0}.map-overlay-note{position:absolute;top:16px;left:16px;z-index:5;max-width:280px;padding:10px 12px;border-radius:16px;background:#fffbf3eb;border:1px solid rgba(45,53,44,.08);color:var(--muted);font-size:.9rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.error{margin:0;color:var(--danger);font-size:.95rem}.hint{margin:0;line-height:1.6}@media (max-width: 1180px){.hero-panel,.map-layout,.survey-grid,.analysis-grid,.explainers,.google-layout,.sliders-grid,.metric-grid,.origin-grid{grid-template-columns:1fr}.map-stage{min-height:560px}.hotspot-map-shell{aspect-ratio:1000 / 720}.hotspot-controls-row,.hotspot-summary-grid{grid-template-columns:1fr}.hotspot-list-overlay{position:static;width:100%;padding:0 16px 16px}.hotspot-map-actions{position:static;margin:16px 16px 0;justify-content:flex-start}.hotspot-warning{position:static;margin:16px 16px 0}}@media (max-width: 760px){.site-header,.tool-header,.results-header,.section-title,.panel-header{flex-direction:column;align-items:flex-start}.page-shell{width:min(100vw - 20px,1400px);padding-top:18px}.site-header{padding:16px;position:static}.hero-panel,.tool-shell,.map-lab{padding:18px;border-radius:22px}.filters-grid,.survey-details,.metric-grid.compact,.hotspot-filter-grid,.origin-grid{grid-template-columns:1fr}.tool-header h2,.results-header h2,.section-title h2{font-size:clamp(1.5rem,7vw,2rem)}.hotspot-map-shell{aspect-ratio:1 / 1}.hotspot-list-overlay{padding:0 12px 12px}.hotspot-map-actions,.hotspot-warning{margin:12px 12px 0}.hero-copy h1{font-size:clamp(2rem,10vw,2.8rem)}.survey-card-head,.card-actions,.header-actions,.hero-actions{align-items:stretch}.header-actions,.hero-actions,.card-actions,.pagination{width:100%}.header-actions>*,.hero-actions>*,.card-actions>*,.pagination>*{flex:1 1 100%}.map-frame-shell,.map-frame,.hotspot-map-shell,.hotspot-map{min-height:420px}.survey-table-desktop{display:none}.survey-mobile-list{display:grid;gap:14px}.badge,.map-status-pill{white-space:normal}}@media (min-width: 761px){.survey-mobile-list{display:none}}
