:root{color-scheme:light;--bg:#f5f7f5;--surface:#fff;--ink:#10211d;--muted:#65736f;--line:#dce3df;--green:#087b69;--green-dark:#07584e;--green-soft:#e2f1ed;--blue:#147fd1;--orange:#f25523;--shadow:0 22px 60px #18382f1c;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;-webkit-font-smoothing:antialiased}button,input{font:inherit}.hidden{display:none!important}.skip-link{position:fixed;z-index:1000;top:-60px;left:16px;padding:12px 16px;border-radius:12px;background:#fff;color:var(--ink)}.skip-link:focus{top:16px}.topbar{position:relative;z-index:20;height:68px;padding:env(safe-area-inset-top) 22px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f7f8f6ed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:18px;font-weight:730;letter-spacing:-.025em;text-decoration:none}.brand img{width:34px;height:34px;border-radius:9px}.brand b{padding:4px 8px;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:12px;letter-spacing:.02em}.account-actions{display:flex;align-items:center;gap:10px}.account-label{max-width:240px;overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.button{min-height:43px;padding:0 17px;border:0;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);font-weight:680;text-decoration:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary{background:var(--green);color:#fff}.quiet{border:1px solid var(--line);background:#fff}.wide{width:100%}.map-shell{height:calc(100% - 68px);display:grid;grid-template-columns:minmax(0,1fr) 390px}.map-stage{position:relative;min-width:0;background:#dae0dc}.map-stage #map{position:absolute;inset:0}.side-panel{position:relative;z-index:10;overflow-y:auto;border-left:1px solid var(--line);background:var(--surface)}.panel-content{padding:36px 30px max(36px,env(safe-area-inset-bottom))}.eyebrow{margin:0 0 12px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.panel-content h1,.panel-content h2{margin:0;line-height:1.02;letter-spacing:-.045em}.panel-content h1{font-size:48px}.panel-content h2{font-size:34px}.lead{margin:18px 0;color:var(--muted);font-size:18px;line-height:1.5}.lead.compact{font-size:15px}.notice{margin:26px 0;padding:15px 16px;border-radius:16px;background:#f0f3f1}.notice strong,.notice span{display:block}.notice strong{margin-bottom:5px;font-size:14px}.notice span{color:var(--muted);font-size:13px;line-height:1.45}.feature-list{margin:24px 0 30px;padding:0;display:grid;gap:19px;list-style:none}.feature-list li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center}.feature-list li>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:19px;font-weight:750}.feature-list strong,.feature-list small{display:block}.feature-list strong{font-size:15px}.feature-list small{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.35}.map-toolbar{position:absolute;z-index:5;top:16px;left:16px;display:flex;gap:9px}.segmented{padding:4px;display:flex;border:1px solid #fff9;border-radius:14px;background:#ffffffdf;box-shadow:0 8px 26px #12362d24;backdrop-filter:blur(16px)}.style-button{height:38px;padding:0 15px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:680;cursor:pointer}.style-button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px #16362e1a}.icon-button{width:48px;height:48px;border:1px solid #fff9;border-radius:14px;background:#ffffffdf;color:var(--green);box-shadow:0 8px 26px #12362d24;font-size:25px;font-weight:700;cursor:pointer;backdrop-filter:blur(16px)}.status-pill{position:absolute;z-index:5;top:80px;left:16px;padding:8px 12px;display:flex;align-items:center;gap:8px;border-radius:999px;background:#ffffffdf;box-shadow:0 7px 20px #12362d1a;color:var(--muted);font-size:12px;backdrop-filter:blur(14px)}.status-pill span{width:9px;height:9px;border-radius:50%;background:var(--green)}.status-pill.loading span{animation:pulse 1s infinite}.map-actions{position:absolute;z-index:5;left:16px;bottom:24px;display:flex;gap:9px}.map-message{position:absolute;z-index:6;left:50%;bottom:82px;max-width:min(440px,calc(100% - 32px));padding:11px 15px;border-radius:12px;background:#17241fea;color:#fff;font-size:13px;line-height:1.4;transform:translateX(-50%);box-shadow:var(--shadow)}.back-button{margin:0 0 28px;padding:0;border:0;background:none;color:var(--green);font-weight:680;cursor:pointer}.source-hero{display:flex;gap:15px;align-items:center}.source-hero p{margin:0 0 3px;color:var(--green);font-size:12px;font-weight:750;text-transform:uppercase}.water-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:28px;font-weight:800}.source-facts{margin:27px 0;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.source-facts div{padding:17px 4px}.source-facts div+div{border-left:1px solid var(--line)}.source-facts dt,.source-facts dd{text-align:center}.source-facts dt{color:var(--muted);font-size:11px}.source-facts dd{margin:6px 0 0;font-size:15px;font-weight:760}.muted{color:var(--muted);font-size:14px;line-height:1.5}.route-summary{margin:25px 0;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:16px}.route-summary div{padding:17px;text-align:center}.route-summary div+div{border-left:1px solid var(--line)}.route-summary strong,.route-summary span{display:block}.route-summary strong{font-size:21px}.route-summary span{margin-top:3px;color:var(--muted);font-size:11px}.field{margin:17px 0;display:grid;gap:7px}.field span{font-size:13px;font-weight:680}.field input{width:100%;height:48px;padding:0 13px;border:1px solid #cbd5d0;border-radius:12px;background:#fff;color:var(--ink);outline:0}.field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #087b6920}.form-result{min-height:20px;margin:13px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.form-result.error{color:#b42318}.form-result.success{color:var(--green)}.login-dialog{width:min(440px,calc(100% - 28px));padding:0;border:0;border-radius:26px;background:#fff;color:var(--ink);box-shadow:0 35px 100px #071b165c}.login-dialog::backdrop{background:#0c1815a8;backdrop-filter:blur(5px)}.login-dialog form{position:relative;padding:31px}.dialog-close{position:absolute;top:15px;right:15px;width:36px;height:36px;border:0;border-radius:50%;background:#eef1ef;color:var(--muted);font-size:24px;cursor:pointer}.dialog-icon{width:45px;height:45px;border-radius:12px}.login-dialog h2{max-width:330px;margin:15px 0 8px;font-size:31px;line-height:1.05;letter-spacing:-.04em}.login-dialog>form>p:not(.eyebrow){color:var(--muted);font-size:14px}.login-dialog .eyebrow{margin-top:18px}.dialog-footer{text-align:center}.dialog-footer a{color:var(--green);font-weight:680}.maplibregl-popup-content{padding:0!important;border-radius:16px!important;box-shadow:0 16px 44px #14382f3b!important;overflow:hidden}.mini-popup{padding:13px 15px;min-width:190px}.mini-popup small,.mini-popup strong{display:block}.mini-popup small{color:var(--green);font-size:10px;font-weight:750;text-transform:uppercase}.mini-popup strong{margin-top:4px;font-size:14px}.maplibregl-ctrl-bottom-right{bottom:10px!important}.maplibregl-ctrl-attrib{font-size:10px!important}@keyframes pulse{50%{opacity:.28}}@media(max-width:860px){.map-shell{grid-template-columns:1fr}.side-panel{position:absolute;z-index:8;right:14px;top:82px;width:min(360px,calc(100% - 28px));max-height:calc(100% - 110px);border:1px solid #fff9;border-radius:24px;box-shadow:var(--shadow);background:#fffffff2;backdrop-filter:blur(18px)}.panel-content{padding:25px}.panel-content h1{font-size:39px}.map-toolbar{right:14px}.desktop-only,.account-label{display:none}.status-pill{top:auto;bottom:81px}.map-actions{bottom:20px}.maplibregl-ctrl-bottom-right{bottom:72px!important}}@media(max-width:600px){.topbar{height:60px;padding-inline:14px}.map-shell{height:calc(100% - 60px)}.brand b{display:none}.brand img{width:31px;height:31px}.side-panel{top:auto;left:9px;right:9px;bottom:9px;width:auto;max-height:52%;border-radius:22px}.panel-content{padding:21px}.panel-content h1{font-size:34px}.lead{font-size:15px}.feature-list{display:none}.notice{margin:18px 0}.map-toolbar{top:10px;left:10px;right:auto}.status-pill{top:68px;bottom:auto;left:10px}.map-actions{left:10px;bottom:calc(52% + 18px)}.map-stage.detail-open .map-actions{display:none}.segmented{padding:3px}.style-button{height:35px;padding-inline:12px}.icon-button{width:43px;height:43px}.source-facts{margin-block:20px}.login-dialog form{padding:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.availability-card{margin:0 0 22px;padding:18px;border-radius:18px;background:linear-gradient(145deg,#e7f5f1,#f7faf8);border:1px solid #d5e9e3}.availability-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.premium-label{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.availability-card strong{color:var(--green);font-size:31px;letter-spacing:-.04em}.availability-card h3{margin:12px 0 5px;font-size:19px}.availability-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.poi-detail-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#eef1ef;color:var(--green);font-size:22px;font-weight:800}.poi-detail{margin:24px 0;padding:14px 16px;border-radius:15px;background:#f0f3f1;color:var(--muted);font-size:14px;line-height:1.5}.poi-detail:empty{display:none}
