:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#13201f;background:#eef4f1;--panel: rgba(250, 253, 250, .9);--panel-strong: rgba(255, 255, 255, .96);--ink: #13201f;--muted: #5d6d68;--line: rgba(41, 65, 60, .16);--pine: #17493f;--teal: #237c77;--water: #2f80c9;--deep: #18286b;--amber: #c9862f;--shadow: 0 20px 54px rgba(19, 32, 31, .17)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit}.map-shell,.map{position:relative;width:100%;height:100%}.map{background:linear-gradient(180deg,#eff7f5b3,#dde8e566),#dce8e4}.base-map canvas,.base-map img{filter:saturate(.64) contrast(1.02) brightness(1.05)}.ortho-map canvas,.ortho-map img{filter:saturate(.92) contrast(.98) brightness(1.02)}.bathy-depth-zones canvas,.bathy-depth-zones img{mix-blend-mode:multiply}.relief-mode .bathy-contours canvas,.relief-mode .bathy-contours img{filter:contrast(1.65) saturate(1.45) drop-shadow(0 0 1px rgba(15,48,80,.9)) drop-shadow(0 0 3px rgba(255,255,255,.85))}.is-identifying .map{cursor:progress}.lake-panel{position:absolute;inset:20px auto 20px 20px;z-index:5;width:min(340px,calc(100% - 40px));max-height:calc(100% - 40px);overflow:auto;padding:16px;border:1px solid rgba(255,255,255,.7);border-radius:8px;background:linear-gradient(180deg,#ffffffdb,#f4faf7e6),var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1)}.panel-toggle{display:none}.floating-tools{position:absolute;right:18px;top:86px;z-index:6;display:grid;gap:10px}.map-tool-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.72);border-radius:999px;color:#17302d;background:#f9fdfbe6;box-shadow:0 12px 30px #13201f29;-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);cursor:pointer;font-size:1rem;font-weight:900;line-height:1;transition:transform .16s ease,color .16s ease,background-color .16s ease,box-shadow .16s ease}.map-tool-button:hover{transform:translateY(-1px);color:#f8fffc;background:linear-gradient(135deg,#17493f,#237c77)}.map-tool-button.is-active{color:#f8fffc;background:linear-gradient(135deg,#17493f,#237c77);box-shadow:0 16px 34px #13201f3d}.map-tool-button.is-loading{color:var(--muted);pointer-events:none}.info-button{font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-style:italic}.map-tool-button.panel-toggle,.panel-handle{display:none}.lake-badge{position:absolute;top:20px;right:20px;z-index:5;max-width:min(440px,calc(100% - 410px));padding:10px 13px;border:1px solid rgba(255,255,255,.72);border-radius:8px;color:#17302d;background:#f9fdfbe0;box-shadow:0 12px 32px #13201f1f;-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);font-size:.82rem;font-weight:820;line-height:1.25}.source-badge{position:absolute;left:390px;right:auto;bottom:14px;z-index:4;display:flex;flex-wrap:wrap;gap:4px 8px;max-width:min(340px,calc(100% - 700px));padding:3px 6px;border-radius:6px;color:#17302db3;background:#f9fdfb75;-webkit-backdrop-filter:blur(8px) saturate(1.02);backdrop-filter:blur(8px) saturate(1.02);font-size:.58rem;font-weight:760;line-height:1.25}.source-badge span:first-child{color:#17302de6}.source-badge span+span{position:relative;padding-left:10px}.source-badge span+span:before{position:absolute;left:0;color:#5d6d68ad;content:"·"}.compass-button{--north-rotation: 0rad}.north-arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(23,73,63,.18);border-radius:50%;color:var(--pine);background:#ffffff8a;font-size:.62rem;font-weight:920;font-variant-numeric:tabular-nums;transform:rotate(var(--north-rotation));transition:transform .16s ease,color .16s ease,background-color .16s ease}.north-label{display:block;transform:rotate(calc(-1 * var(--north-rotation)))}.north-arrow:before{position:absolute;top:-4px;left:50%;width:0;height:0;border-right:4px solid transparent;border-bottom:7px solid var(--pine);border-left:4px solid transparent;content:"";transform:translate(-50%)}.compass-button:hover .north-arrow,.compass-button.is-rotated .north-arrow{color:#f8fffc;background:#17493f38}.compass-button:hover .north-arrow:before,.compass-button.is-rotated .north-arrow:before{border-bottom-color:#f8fffc}.panel-kicker{color:var(--teal);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1{margin:8px 0;color:var(--ink);font-size:1.58rem;line-height:1.05;letter-spacing:0}.description{margin:0 0 12px;color:var(--muted);font-size:.83rem;line-height:1.42}.lake-select-label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin:0 0 12px;color:var(--muted);font-size:.76rem;font-weight:820}.lake-select-label select{min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--ink);background:#ffffffd1;font:inherit;font-size:.82rem;font-weight:820}.lake-select-label select:focus-visible{outline:3px solid rgba(201,134,47,.4);outline-offset:2px}.lake-combobox{position:relative;display:grid;gap:6px;margin:0 0 12px}.lake-combobox label{color:var(--muted);font-size:.74rem;font-weight:840}.lake-combobox input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;color:var(--ink);background:#ffffffdb;font-size:.9rem;font-weight:840}.search-helper{margin:-1px 0 0;color:#63756f;font-size:.68rem;font-weight:680;line-height:1.3}.lake-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:12;display:grid;gap:4px;max-height:min(240px,42vh);overflow:auto;padding:6px;border:1px solid rgba(41,65,60,.14);border-radius:8px;background:#fffffffa;box-shadow:0 16px 34px #13201f29}.lake-options[hidden]{display:none}.lake-option{min-height:38px;border:0;border-radius:7px;padding:9px 10px;color:#21302e;background:transparent;cursor:pointer;font-size:.84rem;font-weight:840;text-align:left}.lake-option:hover,.lake-option.is-active{color:#f8fffc;background:linear-gradient(135deg,#17493f,#237c77)}.coordinate-option{color:#163f39;background:#dfefebb8}.base-switch,.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#e7f0ecb3}.base-button,.mode-button{min-height:34px;border:0;border-radius:6px;padding:8px 10px;color:var(--muted);background:transparent;cursor:pointer;font-size:.7rem;font-weight:800;line-height:1.12;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.base-button:hover,.mode-button:hover{color:var(--ink);background:#ffffff9e}.base-button.is-active,.mode-button.is-active{color:#f8fffc;background:linear-gradient(135deg,#123f37,#1f7a72);box-shadow:0 10px 22px #14493f26}.preset-grid{display:grid;grid-template-columns:1fr;gap:6px;margin:0 0 10px}.preset-button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#223330;background:#ffffffbd;cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.preset-button span{font-size:.86rem;font-weight:840}.preset-button small{color:var(--muted);font-size:.69rem;font-weight:740;line-height:1.22;text-align:right;white-space:normal}.preset-button:hover{transform:translateY(-1px);border-color:#237c7775}.preset-button.is-active{border-color:#17493fad;color:#f8fffc;background:linear-gradient(135deg,#16483f,#236f67);box-shadow:0 12px 26px #14493f26}.preset-button.is-active small{color:#f8fffcc2}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.control-button{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:#21302e;background:#ffffffb8;cursor:pointer;font-size:.88rem;font-weight:740;line-height:1.15;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.control-button:hover{transform:translateY(-1px);border-color:#1f8b8480;box-shadow:0 10px 22px #14493f1a}.control-button:focus-visible,.base-button:focus-visible,.mode-button:focus-visible,.preset-button:focus-visible,.secondary-button:focus-visible,.map-tool-button:focus-visible,.panel-toggle:focus-visible,.panel-close:focus-visible,.tool-button:focus-visible,.inline-tool-button:focus-visible,.layer-toggle:focus-visible,.experiment-toggle:focus-visible,.popup-action:focus-visible,.popup-close:focus-visible,.lake-combobox input:focus-visible,.lake-option:focus-visible{outline:3px solid rgba(201,134,47,.4);outline-offset:2px}.control-button.is-active{border-color:#17493fad;color:#f8fffc;background:linear-gradient(135deg,var(--pine),#206c62);box-shadow:0 12px 28px #14493f2e}.control-button.is-loading,.secondary-button.is-loading{color:var(--muted);pointer-events:none}.control-button-wide{grid-column:1 / -1}.relief-helper{margin:0 0 10px;border-left:3px solid var(--amber);padding:9px 10px;color:#2d3632;background:#fff6e5db;border-radius:0 8px 8px 0;font-size:.77rem;line-height:1.45}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}.secondary-button{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;color:#21302e;background:#ffffffb8;cursor:pointer;font-size:.8rem;font-weight:800;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.secondary-button:hover{transform:translateY(-1px);border-color:#237c7770;background:#ffffffeb}.relief-helper p{margin:0}.relief-helper p+p{margin-top:6px;color:#6b5636;font-size:.78rem}.opacity-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 0 11px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-size:.82rem;font-weight:760}.opacity-control output{color:var(--teal);font-variant-numeric:tabular-nums}.opacity-control input{grid-column:1 / -1;width:100%;accent-color:var(--teal)}.legend{padding:10px 0 2px}.section-title{margin-bottom:10px;color:var(--muted);font-size:.72rem;font-weight:820;letter-spacing:.1em;text-transform:uppercase}.legend-row{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;margin:6px 0;color:#2b3936;font-size:.78rem}.legend-gradient{height:10px;border-radius:999px;background:linear-gradient(90deg,#b6edf0,#2b86e0,#106);box-shadow:inset 0 0 0 1px #13201f1f}.legend-line,.legend-boundary{display:block;width:38px;height:0;border-top:3px solid #7fbdd2}.legend-boundary{border-top-color:var(--pine);border-top-style:solid}.legend-dot{display:block;width:11px;height:11px;margin-left:14px;border:2px solid #f8fffc;border-radius:50%;background:var(--teal);box-shadow:0 0 0 2px #1f8b844d}.legend-density{display:block;width:22px;height:22px;margin-left:10px;border:2px solid rgba(181,103,19,.72);border-radius:50%;background:#df972c29}.panel-details{margin:9px 0 0;padding:9px 0 0;border-top:1px solid var(--line)}.panel-details summary{cursor:pointer;color:#31534e;font-size:.8rem;font-weight:840;list-style-position:outside}.user-tools-panel{color:#243633}.tool-note,.tool-hint,.safety-note{margin:8px 0;color:var(--muted);font-size:.72rem;line-height:1.42}.safety-note{margin-bottom:0;color:#55442e}.tool-grid{display:grid;grid-template-columns:1fr;gap:6px;margin:9px 0}.tool-button,.inline-tool-button{min-height:33px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#223330;background:#ffffffb8;cursor:pointer;font-size:.75rem;font-weight:820;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.tool-button:hover,.inline-tool-button:hover{transform:translateY(-1px);border-color:#237c7770;background:#fffffff0}.tool-button.is-active{border-color:#17493fad;color:#f8fffc;background:linear-gradient(135deg,#17493f,#246e66)}.tool-button.is-loading{color:var(--muted);pointer-events:none}.tool-readout{display:grid;gap:8px;margin:9px 0;padding:9px;border:1px solid rgba(41,65,60,.12);border-radius:8px;background:#f4faf7ad;font-size:.76rem;line-height:1.38}.tool-readout strong{display:block;color:var(--ink);font-weight:850}.tool-readout span{display:block;color:var(--muted)}.tool-readout .measurement-mobile-summary,.measurement-details-toggle{display:none}.measurement-detail,.measurement-header{min-width:0}.tool-readout ol{margin:6px 0 0;padding-left:18px}.tool-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.measurement-actions{grid-template-columns:1fr}.inline-tool-button{min-height:31px;padding:7px 9px;font-size:.72rem}.inline-tool-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.saved-block{margin-top:12px}.saved-heading{margin-bottom:6px;color:var(--muted);font-size:.7rem;font-weight:840;letter-spacing:.08em;text-transform:uppercase}.saved-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.mini-check{display:inline-flex;align-items:center;gap:5px;color:#34443f;font-size:.7rem;font-weight:800;letter-spacing:0;text-transform:none}.mini-check input{accent-color:var(--teal)}.saved-list{display:grid;gap:7px}.saved-item{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:9px;border:1px solid rgba(41,65,60,.12);border-radius:8px;background:#ffffffb3}.saved-item strong,.saved-item span,.saved-item small{display:block;min-width:0;overflow-wrap:anywhere}.saved-item strong{color:var(--ink);font-size:.8rem;font-weight:860}.saved-item span{margin-top:2px;color:var(--teal);font-size:.72rem;font-weight:800}.saved-item small{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.35}.saved-actions{display:flex;flex-wrap:wrap;gap:6px}.saved-actions button{border:1px solid rgba(41,65,60,.14);border-radius:7px;padding:6px 8px;color:#223330;background:#f4faf7c7;cursor:pointer;font-size:.68rem;font-weight:820}.saved-actions button:hover{border-color:#237c776b;background:#fff}.empty-list{margin:0;padding:8px 9px;border:1px dashed rgba(41,65,60,.2);border-radius:8px;color:var(--muted);font-size:.73rem;line-height:1.35}.local-storage-note{margin:10px 0 0;padding-top:10px;border-top:1px solid rgba(41,65,60,.12);color:var(--muted)}.local-storage-note summary{color:var(--pine);font-size:.76rem;font-weight:840}.local-storage-note p{margin:8px 0 0;font-size:.72rem;line-height:1.42}.public-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:18px}.public-modal[hidden]{display:none}.public-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b1c1c5c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.public-modal-sheet{position:relative;z-index:1;width:min(560px,100%);max-height:min(86dvh,760px);overflow:auto;padding:18px;border:1px solid rgba(255,255,255,.72);border-radius:10px;background:linear-gradient(180deg,#fffffff5,#f4faf7f7),var(--panel-strong);box-shadow:0 28px 78px #0b1c1c42}.public-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.public-modal h2{margin:4px 0 0;color:var(--ink);font-size:1.28rem;letter-spacing:0}.public-modal-content{color:#21302e;font-size:.9rem;line-height:1.55}.public-modal-content p{margin:0 0 12px}.info-list{display:grid;grid-template-columns:minmax(110px,.45fr) 1fr;gap:7px 12px;margin:14px 0}.info-list dt{color:var(--pine);font-weight:850}.info-list dd{margin:0;color:var(--muted)}.source-details{margin-top:14px;padding-top:12px;border-top:1px solid rgba(41,65,60,.14)}.source-details p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.modal-small-note{color:var(--muted);font-size:.82rem}.primary-modal-button{width:100%;min-height:42px;margin-top:4px;border:0;border-radius:8px;color:#f8fffc;background:linear-gradient(135deg,#17493f,#237c77);cursor:pointer;font-weight:880}.tool-status{position:absolute;left:390px;bottom:76px;z-index:5;display:grid;gap:8px;width:min(360px,calc(100% - 430px));pointer-events:none}.tool-status .tool-readout{display:none;margin:0;background:#f9fdfbe6;box-shadow:0 14px 34px #13201f24;-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);pointer-events:auto}body.is-measuring .tool-status .tool-readout:first-child,body.has-measurement .tool-status .tool-readout:first-child,body.is-routing .tool-status .tool-readout:nth-child(2),body.has-route .tool-status .tool-readout:nth-child(2){display:grid}.places-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12}.places-modal[hidden]{display:none}.places-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b1c1c47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.places-sheet{position:absolute;top:28px;right:28px;bottom:28px;width:min(390px,calc(100% - 56px));overflow:auto;padding:16px;border:1px solid rgba(255,255,255,.72);border-radius:10px;background:linear-gradient(180deg,#fffffff0,#f4faf7f5),var(--panel-strong);box-shadow:0 24px 70px #0b1c1c3d}.places-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.places-header h2{margin:4px 0 0;color:var(--ink);font-size:1.26rem;letter-spacing:0}.advanced-layers{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.layer-panel{margin:12px 0 0}.layer-toggle,.experiment-toggle{min-height:33px;border:1px solid var(--line);border-radius:8px;padding:8px 9px;color:#283936;background:#ffffffb8;cursor:pointer;font-size:.74rem;font-weight:800}.layer-toggle.is-active,.experiment-toggle.is-active{border-color:#17493fa6;color:#f8fffc;background:linear-gradient(135deg,#17493f,#246e66)}.experiment-toggle{width:100%;margin-top:2px}.wide-toggle{width:100%;margin-top:10px}.advanced-layers .wide-toggle{grid-column:1 / -1;margin-top:0}.experiment-note{margin:8px 0 0;color:#665741;font-size:.72rem;line-height:1.42}.quality-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;margin:10px 0 0;color:#2b3936;font-size:.73rem}.quality-grid dt{color:var(--muted)}.quality-grid dd{margin:0;color:var(--ink);font-weight:820;font-variant-numeric:tabular-nums}.audit-link{display:inline-flex;margin-top:12px;color:var(--pine);font-size:.78rem;font-weight:820;text-decoration-thickness:1px;text-underline-offset:3px}.disclaimer{margin:12px 0 10px;padding:9px;border:1px solid rgba(201,134,47,.3);border-radius:8px;color:#463b29;background:#fff8eadb;font-size:.72rem;line-height:1.45}.source{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}.source a{color:var(--pine);font-weight:760;text-decoration-thickness:1px;text-underline-offset:3px}.base-source-note{margin-top:6px}.map-popup{position:relative;min-width:260px;max-width:min(360px,calc(100vw - 32px));padding:16px 16px 14px;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:var(--panel-strong);box-shadow:0 20px 45px #0b1c1c33;transform:translateY(-16px)}.map-popup:after{position:absolute;bottom:-9px;left:50%;width:18px;height:18px;border-right:1px solid rgba(255,255,255,.72);border-bottom:1px solid rgba(255,255,255,.72);background:var(--panel-strong);content:"";transform:translate(-50%) rotate(45deg)}.popup-close{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer;font-size:1.3rem;line-height:1}.popup-close:hover{color:var(--ink);background:#13201f0f}.popup-eyebrow{margin-bottom:6px;color:var(--teal);font-size:.68rem;font-weight:820;letter-spacing:.1em;text-transform:uppercase}.popup-title{display:block;padding-right:24px;color:var(--ink);font-size:1.04rem;line-height:1.32}.popup-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-top:12px;border:1px solid rgba(23,73,63,.28);border-radius:8px;padding:8px 11px;color:#f8fffc;background:linear-gradient(135deg,#17493f,#237c77);cursor:pointer;font-size:.78rem;font-weight:840}.popup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.popup-actions .popup-action{margin-top:0}.popup-action:hover{border-color:#17493f7a;filter:brightness(1.03)}.popup-action.is-secondary{color:#21302e;background:#f4faf7eb}.popup-action.is-danger{border-color:#a6463642;color:#7c2f26;background:#fff6f2f2}.popup-form{display:grid;gap:10px;margin-top:12px}.popup-form label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;font-weight:820}.popup-form input,.popup-form select,.popup-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 9px;color:var(--ink);background:#ffffffe0;font-size:.8rem}.popup-form textarea{resize:vertical}.popup-form input:focus-visible,.popup-form select:focus-visible,.popup-form textarea:focus-visible{outline:3px solid rgba(201,134,47,.32);outline-offset:2px}.popup-coordinate{margin:0;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.popup-warning{margin:12px 0 0;color:#5a4631;font-size:.78rem;line-height:1.42}.popup-form-actions{display:flex;flex-wrap:wrap;gap:8px}.popup-form-actions .popup-action{margin-top:0}.popup-facts{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:12px 0 0;font-size:.8rem;line-height:1.35}.popup-facts dt{color:var(--muted)}.popup-facts dd{margin:0;color:#21302e;overflow-wrap:anywhere}.inspector{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:.78rem}.inspector summary{cursor:pointer;color:var(--pine);font-weight:780}.inspector dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:10px 0}.inspector dt{color:#6d7b77}.inspector dd{margin:0;color:#21302e;word-break:break-word}.inspector pre{overflow:auto;max-height:170px;margin:10px 0 0;padding:10px;border-radius:8px;color:#21302e;background:#e7f0ecc2;font-size:.72rem;line-height:1.4;white-space:pre-wrap}.toast{position:absolute;right:24px;bottom:34px;z-index:6;max-width:min(360px,calc(100% - 48px));padding:12px 14px;border:1px solid rgba(255,255,255,.7);border-radius:8px;color:#f8fffc;background:#13201feb;box-shadow:0 16px 36px #13201f38;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}.toast.is-visible{opacity:1;transform:translateY(0)}.ol-control button{background-color:#17493fdb}.ol-control button:hover,.ol-control button:focus{background-color:#1f8b84eb}.ol-scale-bar{left:auto;right:18px;bottom:44px;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ol-attribution,.ol-attribution.ol-uncollapsible{left:auto;right:18px;bottom:12px;max-width:min(360px,calc(100% - 430px));padding:2px 6px;border-radius:7px;background:#f9fdfbc2;box-shadow:0 4px 12px #13201f14;color:#17302db8;font-size:.62rem;line-height:1.25}.ol-attribution ul{margin:0}.ol-attribution a{color:#17302dc2}.ol-scale-text,.ol-scale-step-text{color:#17302d;font-weight:800;text-shadow:0 1px 2px rgba(255,255,255,.96),0 -1px 2px rgba(255,255,255,.96),1px 0 2px rgba(255,255,255,.88),-1px 0 2px rgba(255,255,255,.88)}.ol-scale-bar-inner{filter:drop-shadow(0 1px 2px rgba(255,255,255,.95)) drop-shadow(0 1px 2px rgba(16,35,34,.22))}@media(max-width:720px){html{overflow:hidden}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;overflow:hidden}#app{position:fixed;top:0;right:0;bottom:0;left:0}.panel-toggle{display:inline-flex;align-items:center;justify-content:center}.map-tool-button.panel-toggle{display:inline-flex}.floating-tools{top:auto;right:12px;bottom:calc(54px + env(safe-area-inset-bottom,0px));gap:8px}.map-tool-button{width:42px;height:42px;font-size:.95rem}body[data-mobile-panel-state=open] .panel-toggle,body[data-mobile-panel-state=peek] .panel-toggle,body[data-mobile-panel-state=open] .floating-tools,body[data-mobile-panel-state=peek] .floating-tools{display:none}.lake-panel{--panel-base-y: calc(100% + 18px) ;--panel-drag-y: 0px;inset:auto 10px 0;width:calc(100% - 20px);max-height:min(72dvh,600px);padding:10px 14px calc(16px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;overflow:auto;overscroll-behavior:contain;transform:translateY(calc(var(--panel-base-y) + var(--panel-drag-y)));transition:transform .22s cubic-bezier(.2,.78,.22,1);will-change:transform}.lake-panel.is-dragging{transition:none}body[data-mobile-panel-state=open] .lake-panel{--panel-base-y: 0px}body[data-mobile-panel-state=peek] .lake-panel{--panel-base-y: calc(100% - 176px) }body[data-mobile-panel-state=collapsed] .lake-panel{--panel-base-y: calc(100% + 18px) ;pointer-events:none}.panel-handle{position:sticky;top:-10px;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:-10px -14px 10px;padding:9px 14px 10px;border-bottom:1px solid rgba(41,65,60,.12);color:var(--pine);background:#fafdfaf5;cursor:grab;touch-action:none}.panel-handle:active{cursor:grabbing}.panel-grip{grid-column:1 / -1;justify-self:center;width:44px;height:4px;border-radius:999px;background:#29413c47}.panel-handle-title{font-size:.8rem;font-weight:880;letter-spacing:.08em;text-transform:uppercase}.panel-close{border:1px solid rgba(41,65,60,.13);border-radius:999px;padding:6px 10px;color:#223330;background:#ffffffd6;cursor:pointer;font-size:.7rem;font-weight:840}.lake-badge{top:12px;right:12px;left:48px;max-width:none;padding:8px 10px;font-size:.68rem}.source-badge{left:12px;right:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 238px);padding:6px 8px;gap:4px 8px;font-size:.56rem}.source-badge span{line-height:1.18;white-space:normal}.source-badge span+span{padding-left:0}.source-badge span+span:before{display:none}body[data-mobile-panel-state=open] .source-badge,body[data-mobile-panel-state=peek] .source-badge{display:none}h1{font-size:1.38rem}.description,.legend,.disclaimer,.source{font-size:.78rem}.control-grid{grid-template-columns:1fr;gap:7px;margin:14px 0}.base-switch,.mode-switch{grid-template-columns:1fr}.preset-button{grid-template-columns:1fr;gap:2px}.preset-button small{white-space:normal}.advanced-layers,.tool-row,.popup-form-actions{grid-template-columns:1fr}.popup-form-actions{display:grid}.control-button{min-height:38px;padding:9px 10px}.toast{right:12px;bottom:calc(236px + env(safe-area-inset-bottom,0px))}body[data-mobile-panel-state=peek] .toast{bottom:calc(190px + env(safe-area-inset-bottom,0px))}body[data-mobile-panel-state=open] .toast{bottom:calc(min(72dvh,600px) + 14px)}.tool-status{left:12px;right:66px;bottom:calc(58px + env(safe-area-inset-bottom,0px));width:auto}.tool-status .tool-readout{gap:6px;padding:5px;border-radius:999px;background:#f9fdfbe0;box-shadow:0 10px 24px #13201f24}body.is-measuring .tool-status .tool-readout:first-child,body.has-measurement .tool-status .tool-readout:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}#measure-readout{flex:1 1 auto;min-width:0}.measurement-header{display:block;align-items:center;min-width:0}.tool-readout .measurement-mobile-summary{display:block;overflow:hidden;color:var(--ink);padding:0 4px 0 8px;font-size:.75rem;font-weight:870;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}#measure-readout .measurement-detail,.measurement-details-toggle{display:none}.measurement-actions{display:flex;align-items:center;gap:4px;min-width:max-content}.measurement-actions #finish-measurement,.measurement-actions #new-measurement,.measurement-actions #clear-measurement{display:none}body.is-measuring .measurement-actions #finish-measurement{display:inline-flex}body.has-measurement:not(.is-measuring) .measurement-actions #new-measurement,body.has-measurement:not(.is-measuring) .measurement-actions #clear-measurement{display:inline-flex}.measurement-actions .inline-tool-button{align-items:center;justify-content:center;min-height:34px;min-width:58px;border-radius:999px;padding:6px 10px;font-size:0}.measurement-actions .inline-tool-button:after{content:attr(data-short-label);font-size:.68rem;line-height:1}.places-sheet{top:auto;right:10px;bottom:0;left:10px;width:auto;max-height:min(78dvh,680px);padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0}.ol-zoom{top:12px;left:12px}.ol-scale-bar{right:64px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:142px}.ol-attribution,.ol-attribution.ol-uncollapsible{right:64px;bottom:calc(52px + env(safe-area-inset-bottom,0px));max-width:152px;padding:2px 5px;font-size:.55rem}body[data-mobile-panel-state=peek] .ol-scale-bar,body[data-mobile-panel-state=open] .ol-scale-bar{bottom:calc(188px + env(safe-area-inset-bottom,0px))}body[data-mobile-panel-state=peek] .ol-attribution,body[data-mobile-panel-state=peek] .ol-attribution.ol-uncollapsible,body[data-mobile-panel-state=open] .ol-attribution,body[data-mobile-panel-state=open] .ol-attribution.ol-uncollapsible{bottom:calc(228px + env(safe-area-inset-bottom,0px))}}
