:root{--bg:#fff;--fg:#1b1f23;--muted:#5c6670;--line:#d9dee3;--accent:#1f6f50;--accent-fg:#fff;--danger:#c92a2a;--chip:#f1f3f5;--shadow:0 2px 10px #0000002e;--notice-bg:#fff3bf;--notice-fg:#4a3b00;--notice-line:#e6d27a;--tab-h:56px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14181c;--fg:#e8ecef;--muted:#9aa4ad;--line:#2b333a;--chip:#232a30;--accent:#3fa57c;--accent-fg:#0b1510;--danger:#ff6b6b;--shadow:0 2px 10px #00000080;--notice-bg:#3a3000;--notice-fg:#ffe9a3;--notice-line:#9c8000}}*{box-sizing:border-box}html,body{height:100%;margin:0}html{font-size:100%}@supports (font:-apple-system-body){html{font:-apple-system-body}}body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.4;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}#map{inset:0 0 calc(var(--tab-h) + var(--sab)) 0;position:fixed}.maplibregl-ctrl-bottom-right{margin-right:var(--sar)}.maplibregl-ctrl-group button{width:44px;height:44px}.maplibregl-ctrl-attrib-button{background-position:50%;background-repeat:no-repeat;border-radius:22px;width:44px;height:44px}.maplibregl-ctrl-attrib.maplibregl-compact{border-radius:22px;min-height:40px;padding:2px 44px 2px 0}.maplibregl-ctrl-attrib.maplibregl-compact-show{min-height:20px;padding:12px 48px 12px 12px}.topbar{z-index:6;padding-top:var(--sat);pointer-events:none;flex-direction:column;gap:4px;display:flex;position:fixed;top:0;left:0;right:0}.chips{padding:8px calc(var(--sar) + 8px) 8px calc(var(--sal) + 8px);scrollbar-width:none;pointer-events:none;gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{pointer-events:auto;white-space:nowrap;background:var(--bg);border:1px solid var(--line);min-height:44px;box-shadow:var(--shadow);border-radius:22px;flex:none;padding:0 16px}.chip .dots{vertical-align:-3px;background:#fff;border-radius:999px;gap:2px;margin-right:6px;padding:2px;display:inline-flex}.chip .dot{border-radius:50%;width:12px;height:12px}.hint{color:var(--muted);margin:4px 0 12px;font-size:.85rem}.chip[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 16%, var(--bg));border:2px solid var(--accent);color:var(--fg);font-weight:600}.chip[aria-pressed=true]:before{content:"✓";content:"✓" / "";color:var(--accent);margin-right:4px}.banner{margin:0 calc(var(--sar) + 8px) 0 calc(var(--sal) + 8px);pointer-events:auto;background:var(--notice-bg);min-height:44px;color:var(--notice-fg);border:1px solid var(--notice-line);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;align-items:flex-start;gap:0 8px;padding:0 48px 0 14px;font-size:.9375rem;display:flex;position:relative}.banner>span{flex:1;padding:11px 0}.banner .btn{flex:0 auto;min-height:36px;margin:4px 0;padding:0 12px}.banner-close{width:44px;height:44px;color:inherit;background:0 0;border:0;font-size:min(1.5rem,32px);position:absolute;top:0;right:4px}[hidden]{display:none!important}.tabs{z-index:10;height:calc(var(--tab-h) + var(--sab));padding:0 var(--sar) var(--sab) var(--sal);background:var(--bg);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{min-width:0;min-height:44px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:min(.8125rem,18px);font-weight:600;line-height:1.2;display:flex}.tabs .icon{--pill-x:16px;padding:2px var(--pill-x);border-radius:14px;display:block;position:relative}.tabs .icon svg{display:block}.tabs button[aria-current]{color:var(--accent)}.tabs button[aria-current] .icon{background:color-mix(in srgb, var(--accent) 18%, transparent)}.tabs button[data-badge] .icon:after{content:"";top:0;right:calc(var(--pill-x) - 6px);background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute}body:has(#banner:not([hidden])) .tabs button[data-badge] .icon:after{display:none}.panel{z-index:8;inset:0 0 calc(var(--tab-h) + var(--sab)) 0;background:var(--bg);padding:calc(var(--sat) + 16px) calc(var(--sar) + 16px) 24px calc(var(--sal) + 16px);-webkit-overflow-scrolling:touch;position:fixed;overflow-y:auto}.panel h2{margin:0 0 12px;font-size:1.25rem}.panel label{margin:14px 0 4px;font-weight:600;display:block}.panel input[type=number],.panel input[type=text]{width:100%;min-height:44px;font:inherit;color:inherit;background:var(--chip);border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:max(1rem,16px)}.panel .field{position:relative}.panel .field input{padding-right:56px}.panel .field .unit{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.panel .row{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:44px;padding:8px 0;display:flex}.panel .row>:first-child{flex:1}.panel .muted,.muted{color:var(--muted);font-size:.875rem}.btn{border:1px solid var(--line);background:var(--chip);min-height:44px;color:var(--fg);font:inherit;text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.btn.destructive{color:var(--danger);border-color:var(--line);background:0 0}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.overlay{z-index:20;background:var(--bg);padding:var(--sat) var(--sar) 0 var(--sal);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.overlay header{flex:none;align-items:center;gap:4px;min-height:44px;padding:0 16px 0 4px;display:flex}.overlay header h2{overflow-wrap:anywhere;flex:1;margin:0;font-size:1.2rem}#reviews-title:focus{outline:none}.overlay .back{min-width:44px;min-height:44px;color:var(--accent);background:0 0;border:0;flex:none;padding:0 12px;font-weight:600}.overlay[data-state=google] #reviews-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reviews-body{min-height:0;padding:8px 16px calc(var(--sab) + 16px);flex:1;overflow-y:auto}.overlay[data-state=google] .reviews-body{padding:0 0 var(--sab);flex-direction:column;display:flex}.reviews-body gmp-place-details{flex:1;min-height:0}.fatal{z-index:30;padding:calc(var(--sat) + 16px) 16px 16px;background:var(--danger);color:var(--bg);margin:0;position:fixed;inset:0 0 auto}.panel h2:not(:first-child){margin-top:28px}.panel .actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.panel .btn:disabled{opacity:.5;cursor:default}.panel .progress{align-items:center;gap:12px;display:flex}.panel .progress progress{height:12px;accent-color:var(--accent);flex:1}.panel .error{color:var(--danger);font-weight:600}.panel a{color:var(--accent)}.weather h3{margin:12px 0 4px;font-size:.95rem}.weather svg{width:100%;max-width:480px;height:auto;display:block}.weather text{fill:var(--muted);font-size:12px}.weather text.value{fill:var(--fg);paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round;font-weight:600}.weather .bar.ok{fill:#3b82c4}.weather .bar.over,.weather text.value.over{fill:var(--danger)}.weather .threshold{stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 3}.nearby-item{border:0;border-bottom:1px solid var(--line);width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;background:0 0;grid-template-columns:1fr auto 12px;align-items:center;gap:2px 12px;padding:8px 0;display:grid}.nearby-item>span:nth-child(2){color:var(--muted);grid-column:1;font-size:.875rem}.nearby-item .gust{white-space:nowrap;grid-area:1/2/span 2;font-weight:600}.nearby-item .gust.over{color:var(--danger)}.nearby-item:after{content:"›";content:"›" / "";color:var(--muted);grid-area:1/3/span 2;font-size:min(1.25rem,20px)}.nearby-item:active{background:var(--chip)}.panel .caption{margin:-6px 0 8px}.panel .note,.overlay .note{color:var(--muted);font-size:.875rem}@media (prefers-color-scheme:dark){.maplibregl-ctrl-group,.maplibregl-ctrl-attrib,.maplibregl-ctrl-attrib.maplibregl-compact{background:var(--bg);color:var(--fg)}.maplibregl-ctrl-attrib a{color:var(--fg)}.maplibregl-ctrl button .maplibregl-ctrl-icon,.maplibregl-ctrl-attrib-button{filter:invert()hue-rotate(180deg)}}@media (orientation:landscape) and (height<=500px){:root{--tab-h:44px}.tabs button{flex-direction:row;gap:6px}.tabs .icon{--pill-x:8px}.banner{display:none!important}body:has(#banner:not([hidden])) .tabs button[data-badge] .icon:after{display:block}}:root{--sheet-max:calc(88dvh - var(--tab-h) - var(--sab));--card-w:360px;--sheet-medium:min(calc(45dvh + max(0px, 1rem - 17px) * 3), var(--sheet-max))}.sheet{z-index:9;left:0;right:0;bottom:calc(var(--tab-h) + var(--sab));height:var(--sheet-h,var(--sheet-medium));max-height:var(--sheet-max);overscroll-behavior:contain;padding:0 calc(var(--sar) + 16px) 16px calc(var(--sal) + 16px);background:var(--bg);border-radius:16px 16px 0 0;position:fixed;overflow-y:auto;box-shadow:0 -2px 16px #00000040}.sheet[data-detent=large]{--sheet-h:var(--sheet-max)}body.sheet-open .banner{display:none}.sheet .grabber,.overlay .grabber{z-index:1;background:var(--bg);touch-action:none;border:0;width:100%;height:44px;padding:0;display:block;position:sticky;top:0}.sheet .grabber:before,.overlay .grabber:before{content:"";background:var(--muted);opacity:.5;border-radius:3px;width:36px;height:5px;margin:6px auto 0;display:block}.overlay .grabber{flex:none}.sheet-header{touch-action:none}.sheet h2{overflow-wrap:anywhere;margin:0 48px 2px 0;font-size:1.2rem}.sheet[data-detent=medium] h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#sheet-title:focus{outline:none}.sheet p{overflow-wrap:anywhere;margin:6px 0}.sheet .subtitle{color:var(--muted);font-size:.875rem}.sheet .close{z-index:2;top:34px;right:calc(var(--sar) + 4px);background:0 0;border:0;width:48px;height:48px;font-size:min(1.75rem,36px);position:absolute}.sheet .fit-warning{background:var(--notice-bg);color:var(--notice-fg);border:1px solid var(--notice-line);border-radius:10px;padding:8px 12px;font-weight:600}.sheet .note{color:var(--muted);font-size:.875rem}.sheet a:not(.btn){color:var(--accent)}.sheet .primary-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.sheet .primary-actions .btn{flex:auto;min-height:48px;font-weight:600}.sheet .phone{color:var(--muted)}.sheet>h3{margin:20px 0 4px;font-size:.95rem}.sheet .link-list{margin:0;padding:0;list-style:none}.sheet .link-list a{border-bottom:1px solid var(--line);min-height:44px;color:var(--fg);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;text-decoration:none;display:flex}.sheet .link-list a:after{content:"↗";content:"↗" / "";color:var(--muted)}.sheet .facilities{flex-wrap:wrap;gap:4px 14px;margin:8px 0;padding:0;list-style:none;display:flex}.sheet .facilities li{font-size:.875rem}.sheet .facilities li:before{content:"✓ ";content:"✓ " / "";color:var(--accent)}@media (prefers-reduced-motion:no-preference){.sheet{transition:transform .22s cubic-bezier(.2,.8,.2,1),height .22s}.sheet[data-entering],.sheet[data-dragging],.sheet[data-instant]{transition:none}.sheet[data-entering]{transform:translateY(100%)}}body:has(#sheet:not([hidden])[data-detent=medium]) .maplibregl-ctrl-bottom-right{bottom:var(--sheet-medium)}@media (prefers-reduced-motion:no-preference){.maplibregl-ctrl-bottom-right{transition:bottom .22s cubic-bezier(.2,.8,.2,1),right .22s cubic-bezier(.2,.8,.2,1)}}@media (orientation:landscape) and (height<=500px){.sheet,.sheet[data-detent=large]{width:calc(var(--card-w) + var(--sar));height:calc(100dvh - var(--tab-h) - var(--sab) - 16px);border-radius:16px 0 0 16px;max-height:none;padding-top:12px;padding-left:16px;left:auto;right:0}.sheet .grabber{display:none}.sheet[data-detent=medium] h2{display:block;overflow:visible}.sheet .close{top:0}body:has(#sheet:not([hidden])[data-detent]) .maplibregl-ctrl-bottom-right{bottom:0;right:var(--card-w)}body.sheet-open .topbar{right:calc(var(--card-w) + var(--sar))}}
