:root{--bg:#fff;--fg:#1b1f23;--muted:#5c6670;--line:#d9dee3;--accent:#1f6f50;--accent-fg:#fff;--chip:#f1f3f5;--shadow:0 2px 10px #0000002e;--tab-h:56px;--chips-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;--shadow:0 2px 10px #00000080}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;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}.chips{z-index:5;padding:calc(var(--sat) + 8px) calc(var(--sar) + 8px) 8px calc(var(--sal) + 8px);scrollbar-width:none;pointer-events:none;gap:8px;display:flex;position:fixed;top:0;left:0;right:0;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{pointer-events:auto;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:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.banner{z-index:6;left:calc(var(--sal) + 8px);right:calc(var(--sar) + 8px);top:calc(var(--sat) + var(--chips-h) + 4px);color:#4a3b00;box-shadow:var(--shadow);background:#fff3bf;border-radius:12px;padding:10px 14px;position:fixed}[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-height:44px;color:var(--muted);background:0 0;border:0;flex:1;font-weight:500}.tabs button[aria-current]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent);font-weight:700}.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}.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}.sheet{z-index:9;left:0;right:0;bottom:calc(var(--tab-h) + var(--sab));max-height:70vh;padding:12px 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 h2{overflow-wrap:anywhere;margin:0 48px 2px 0;font-size:1.2rem}.sheet p{overflow-wrap:anywhere;margin:6px 0}.sheet .subtitle{color:var(--muted);font-size:.875rem}.sheet .close{top:4px;right:calc(var(--sar) + 4px);background:0 0;border:0;width:48px;height:48px;font-size:1.75rem;position:absolute}.sheet .facilities{flex-wrap:wrap;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.sheet .facilities li{background:var(--chip);border-radius:12px;padding:2px 10px;font-size:.875rem}.sheet .fit-warning{color:#4a3b00;background:#fff3bf;border-radius:10px;padding:8px 12px;font-weight:600}.sheet .note{color:var(--muted);font-size:.875rem}.sheet a{color:var(--accent)}.sheet .actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.sheet .actions .button,.sheet .actions button,.btn{border:1px solid var(--line);background:var(--chip);min-height:44px;color:inherit;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.sheet .actions .button{color:var(--fg)}.btn.primary,.sheet .actions .primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.overlay{z-index:20;background:var(--bg);padding:calc(var(--sat) + 56px) calc(var(--sar) + 16px) calc(var(--sab) + 16px) calc(var(--sal) + 16px);position:fixed;inset:0;overflow-y:auto}.overlay .close{top:calc(var(--sat) + 4px);right:calc(var(--sar) + 4px);background:0 0;border:0;width:48px;height:48px;font-size:1.5rem;position:fixed}.fatal{z-index:30;padding:calc(var(--sat) + 16px) 16px 16px;color:#fff;background:#e03131;margin:0;position:fixed;inset:0 0 auto}.banner a{min-height:24px;color:inherit;font-weight:600;display:block}.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:#e03131;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);font-weight:600}.weather .bar.ok{fill:#3b82c4}.weather .bar.over{fill:#e03131}.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;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:#e03131}.panel .note{color:var(--muted);font-size:.875rem}
