:root{--bg:#f6f7f9;--surface:#ffffff;--text:#1f2a37;--muted:#6b7280;--border:#e5e7eb;--accent:#1f2a37;--accent-text:#ffffff;--soft:#eceef2}[data-theme=dark]{--bg:#111827;--surface:#1f2937;--text:#f3f4f6;--muted:#9ca3af;--border:#374151;--accent:#f3f4f6;--accent-text:#111827;--soft:#2b3647}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111827;--surface:#1f2937;--text:#f3f4f6;--muted:#9ca3af;--border:#374151;--accent:#f3f4f6;--accent-text:#111827;--soft:#2b3647}}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,input,select,textarea{font:inherit}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.app-container{--content-max:640px;--pin-selected:#2563eb;--bottom-nav-h:60px;display:flex;flex-direction:column;min-height:100dvh;background:var(--bg);color:var(--text)}.app-container--wide{--content-max:1200px}.content-area{flex:1 1;width:100%;max-width:var(--content-max);margin:0 auto;padding:16px 20px 100px;display:flex;flex-direction:column;gap:16px}.content-area--map{padding:0 0 calc(var(--bottom-nav-h) + max(24px, env(safe-area-inset-bottom)));gap:0}.desktop-nav{display:none}.bottom-nav{display:flex}@media (min-width:720px) and (max-width:899px){.user-chip{display:none}}@media (min-width:720px){.desktop-nav{display:flex;align-items:center;gap:6px}.bottom-nav{display:none!important}.content-area{padding-bottom:40px}.content-area--map{padding:16px 20px 24px}}.b-card{gap:12px}.b-card,.b-card-interactive{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;display:flex;flex-direction:column}.b-card-interactive{color:var(--text);gap:10px;text-align:left;transition:border-color .15s ease,transform .1s ease;width:100%}.b-card-interactive:hover{border-color:var(--text)}.b-hero-card{text-align:left;background:var(--accent);color:var(--accent-text);border:0;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px;cursor:pointer;width:100%;transition:opacity .15s ease}.b-hero-card:hover{opacity:.95}.b-seg-btn{padding:8px 12px;font-size:13px;transition:all .15s ease}.b-pill,.b-seg-btn{border-radius:999px;font-weight:600}.b-pill{font-size:12px;padding:4px 8px;background:var(--soft);white-space:nowrap}.b-input{padding:10px 12px;border-radius:12px;border:1px solid var(--border);font-size:16px;font-weight:600;width:100%;box-sizing:border-box}.b-input,.b-stepper-btn{background:var(--bg);color:var(--text)}.b-stepper-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);font-size:18px;padding:0;display:flex;align-items:center;justify-content:center;line-height:1}.map-view{flex:1 1;min-height:0;display:flex;flex-direction:column}.map-stage{position:relative;isolation:isolate;flex:1 1;min-height:280px;background:var(--soft)}.map-canvas{position:absolute;inset:0;z-index:0;font:inherit;background:var(--soft)}.map-fit-btn{position:absolute;top:12px;left:12px;z-index:500;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:700;box-shadow:0 2px 8px rgb(0 0 0/.18)}.map-fit-btn:disabled{opacity:.5;cursor:default}.map-empty-note{position:absolute;left:12px;right:12px;top:68px;z-index:500;padding:10px 14px;border-radius:12px;border:1px dashed var(--border);background:var(--surface);color:var(--muted);font-size:13px;text-align:center}.map-side{flex:none;display:flex;flex-direction:column;gap:8px;padding:12px 0 0;background:var(--bg)}.map-side-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0;padding:0 16px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.map-side-head span{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.map-rail{list-style:none;margin:0;padding:0 16px 4px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:0 16px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;align-items:flex-start}.map-card,.map-rail{display:flex;gap:10px}.map-card{flex:0 0 min(82vw,300px);scroll-snap-align:center;flex-direction:column;padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.map-card.is-selected{border-color:var(--pin-selected);box-shadow:0 0 0 1px var(--pin-selected)}.map-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:0;border:0;background:none;color:var(--text);text-align:left;font:inherit}.map-card-main.is-static{gap:6px}.map-card-name{max-width:100%;font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-card-address,.map-card-meta{font-size:12px;color:var(--muted)}.map-card-address{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.map-card-actions{display:flex;gap:8px}.map-btn{flex:1 1;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.map-btn:hover{border-color:var(--text)}.map-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.bm-pin{display:block;line-height:0;transform-origin:50% 100%;transition:transform .15s ease;filter:drop-shadow(0 2px 3px rgb(0 0 0/.35))}.bm-pin-shape{fill:var(--accent)}.bm-pin-glyph{fill:none;stroke:var(--accent-text);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bm-pin.is-selected{transform:scale(1.3)}.bm-pin.is-selected .bm-pin-shape{fill:var(--pin-selected)}.bm-pin.is-selected .bm-pin-glyph{stroke:#fff}@media (min-width:720px){.map-view{gap:12px}.map-stage{border-radius:16px;border:1px solid var(--border);overflow:hidden;min-height:360px}.map-side{padding:0}.map-rail,.map-side-head{padding-left:0;padding-right:0}}@media (min-width:900px){.map-view{display:grid;grid-template-columns:340px minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-gap:16px;gap:16px;min-height:520px}.map-side{grid-column:1}.map-side,.map-stage{grid-row:1;min-height:0}.map-stage{grid-column:2}.map-rail{flex:1 1;min-height:0;flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;padding-bottom:0}.map-card{flex:none}.map-card:hover{border-color:var(--text)}.map-card.is-selected:hover{border-color:var(--pin-selected)}}@media (prefers-reduced-motion:reduce){.bm-pin{transition:none}}