.map-app{--sheet-peek:188px;--sheet-top:calc(max(var(--space-2), env(safe-area-inset-top)) + var(--tap-min) + var(--space-3));background:var(--map-land);position:fixed;inset:0;overflow:hidden}.map-app .map-canvas{position:absolute;inset:0}.map-canvas:focus-visible,.map-canvas .maplibregl-canvas-container:focus-visible{outline-offset:-4px}.map-status,.map-notice{z-index:3;max-width:calc(100% - 2 * var(--space-4));padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-200);box-shadow:var(--shadow-card);color:var(--ink);text-align:center;margin:0;font-size:14px;line-height:20px;position:absolute;left:50%;transform:translate(-50%)}.map-status{top:50%}.map-notice{bottom:calc(max(var(--space-4), env(safe-area-inset-bottom)) + 64px)}.map-top{z-index:2;padding-top:max(var(--space-2), env(safe-area-inset-top));pointer-events:none;position:absolute;top:0;left:0;right:0}.map-top>*{pointer-events:auto}.map-bar{gap:var(--space-2);padding:0 calc(var(--gutter-right) + var(--tap-min) + var(--space-2)) 0 var(--gutter-left);align-items:center;display:flex}.map-icon-button{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-200);color:var(--ink);box-shadow:var(--shadow-card);cursor:pointer;flex:none;place-items:center;padding:0;display:inline-grid}.map-icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.map-icon-button:active{background:var(--surface-300)}.map-search{flex:1;min-width:0}.map-search input{width:100%;height:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-200);box-shadow:var(--shadow-card);color:var(--ink);font:inherit;font-size:16px}.map-search input::placeholder{color:var(--ink-muted)}.map-search{position:relative}.map-search input{padding-right:calc(var(--tap-min) + var(--space-1))}.map-search-clear{width:var(--tap-min);height:var(--tap-min);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;font-size:22px;position:absolute;top:0;right:0}.map-search-summary{min-height:var(--tap-min);margin:var(--space-2) var(--gutter-right) 0 var(--gutter-left);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-200);box-shadow:var(--shadow-card);color:var(--ink);cursor:pointer;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.map-results{margin:var(--space-2) var(--gutter-right) 0 var(--gutter-left);padding:0 0 var(--space-1);overscroll-behavior:contain;border-radius:var(--radius-md);background:var(--surface-200);max-height:55dvh;box-shadow:var(--shadow-card);overflow-y:auto}.map-results ul{margin:0;padding:0;list-style:none}.map-results-head{gap:var(--space-3);padding:0 var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-200);color:var(--ink-muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex;position:sticky;top:0}.map-results-head button{min-height:var(--tap-min);padding:0 var(--space-3);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.map-results li button{width:100%;min-height:var(--tap-min);padding:var(--space-2) var(--space-4);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;display:flex}.map-results li button:active{background:var(--surface-300)}.map-result-name{font-weight:600}.map-result-flag{margin-left:var(--space-2);color:var(--ink-muted);font-size:12px;font-weight:400}.map-result-ja,.map-result-distance,.map-results-empty{color:var(--ink-muted);font-size:14px;line-height:20px}.map-results-empty{padding:var(--space-3) var(--space-4)}.map-chips{margin-top:var(--space-2);padding:var(--space-1) var(--gutter-right) var(--space-2) var(--gutter-left);scroll-padding-inline:var(--gutter-left)}.map-chips .chip{box-shadow:var(--shadow-card)}.map-locate{right:var(--gutter-right);bottom:calc(max(var(--space-4), env(safe-area-inset-bottom)) + var(--space-6));z-index:2;width:52px;height:52px;position:absolute}.map-app[data-selection=open] .map-locate{bottom:calc(var(--sheet-peek) + var(--space-4))}.map-locate-prompt{left:var(--gutter-left);right:calc(var(--gutter-right) + 52px + var(--space-3));bottom:calc(max(var(--space-4), env(safe-area-inset-bottom)) + var(--space-6));z-index:3;max-width:24rem;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-200);box-shadow:var(--shadow-card);color:var(--ink);position:absolute}.map-locate-prompt-title{margin:0;font-size:16px;font-weight:600;line-height:22px}.map-locate-prompt-text{margin:var(--space-1) 0 0;color:var(--ink-muted);font-size:14px;line-height:20px}.map-locate-prompt-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.map-app .maplibregl-ctrl-bottom-left{bottom:max(0px, env(safe-area-inset-bottom))}.map-app .maplibregl-ctrl-attrib.maplibregl-ctrl{background:color-mix(in srgb, var(--surface-200) 85%, transparent);color:var(--ink-muted)}.map-app .maplibregl-ctrl-attrib.maplibregl-ctrl a{color:var(--ink)}.map-app .maplibregl-ctrl-attrib-button{width:var(--tap-min);height:var(--tap-min);background-position:50%;background-repeat:no-repeat}.sheet{z-index:4;height:100dvh;padding-top:var(--space-1);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface-200);box-shadow:var(--shadow-sheet);color:var(--ink);transform:translateY(calc(100dvh - var(--sheet-peek)));flex-direction:column;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;inset:0 0 auto}.sheet[data-snap=half]{transform:translateY(45dvh)}.sheet[data-snap=full]{transform:translateY(var(--sheet-top))}.sheet[data-dragging=true]{transition:none}.sheet-grip{padding:var(--space-3) var(--gutter-right) var(--space-2) var(--gutter-left);touch-action:none;cursor:grab;flex:none;position:relative}.sheet-handle{width:100%;height:20px;margin:calc(-1 * var(--space-3)) 0 var(--space-1);cursor:grab;background:0 0;border:0;padding:0;display:block}.sheet-handle:before{content:"";border-radius:var(--radius-pill);background:var(--border-strong);width:40px;height:4px;margin:8px auto;display:block}.sheet-head{padding-right:calc(var(--tap-min) + var(--space-2))}.sheet-close{top:var(--space-6);right:var(--gutter-right);box-shadow:none;position:absolute}.sheet-kicker{gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.sheet-title{font-family:var(--font-sans);font-size:20px;font-weight:600;line-height:26px}.sheet-title:focus{outline:none}.sheet-ja{color:var(--ink-muted);font-size:14px;line-height:20px}.sheet-chain-note{margin-top:var(--space-1);color:var(--ink);font-size:14px;line-height:20px}.sheet-meta{color:var(--ink-muted);letter-spacing:.02em;font-size:13px;font-weight:600;line-height:16px}.sheet-cats{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.sheet-distance{margin-top:var(--space-2);font-size:14px;line-height:20px}.sheet-distance-ask{min-height:var(--tap-min);margin-top:var(--space-1);color:var(--ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.map-results-locate{gap:0 var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);border-bottom:1px solid var(--border);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0;font-size:14px;line-height:20px;display:flex}.map-results-locate button{min-height:var(--tap-min);padding:0 var(--space-2);color:var(--ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-weight:600;text-decoration:underline}.sheet-open{margin-top:var(--space-2);font-size:14px;font-weight:600;line-height:20px}.sheet-open-open{color:var(--cat-retro)}.sheet-open-closed{color:var(--seal)}.sheet-next{gap:var(--space-2);margin-top:var(--space-6);display:grid}.sheet-next ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.sheet-next button{width:100%;min-height:var(--tap-min);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-100);color:var(--ink);font:inherit;text-align:left;cursor:pointer;gap:2px;display:grid}.sheet-next button:hover{border-color:var(--border-strong)}.sheet-next-name{font-weight:600}.sheet-next-why{color:var(--ink-muted);font-size:14px;line-height:20px}.sheet-credit{margin-top:var(--space-4)}.sheet-franchises{margin-top:var(--space-2);color:var(--ink-muted);font-size:14px;line-height:20px}.sheet-body{overscroll-behavior:contain;padding:var(--space-2) var(--gutter-right) max(var(--space-8), env(safe-area-inset-bottom)) var(--gutter-left);flex:1;overflow-y:auto}.sheet[data-snap=peek] .sheet-body{overflow:hidden}.sheet-status{margin-bottom:var(--space-4);color:var(--ink-muted);font-size:14px;line-height:20px}.sheet-status strong{color:var(--ink)}.sheet-status-verified{gap:var(--space-2);align-items:center;display:flex}.seal{border:2px double var(--seal);width:28px;height:28px;color:var(--seal);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.sheet-actions{gap:var(--space-2);display:grid}.sheet-secondary{gap:var(--space-2);flex-wrap:wrap;display:flex}.sheet-secondary .button-secondary{flex:auto;font-size:14px}.sheet-photos{gap:var(--space-3);margin:0 calc(-1 * var(--gutter-right)) var(--space-4) calc(-1 * var(--gutter-left));padding:0 var(--gutter-right) var(--space-1) var(--gutter-left);scroll-snap-type:x mandatory;list-style:none;display:flex;overflow-x:auto}.sheet-photos li{gap:var(--space-1);scroll-snap-align:start;flex:none;width:160px;display:grid}.sheet-photos img{border-radius:var(--radius-md);object-fit:cover;width:160px;height:120px}.sheet-photo-credit{color:var(--ink-muted);font-size:12px;line-height:16px}.sheet-modes{gap:var(--space-3);margin-top:var(--space-6);display:grid}.sheet-mode{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-300);font-size:14px;line-height:20px;display:grid}.sheet-mode-name{font-weight:600}.sheet-facts{gap:var(--space-3) var(--space-4);margin:var(--space-6) 0 0;grid-template-columns:auto 1fr;font-size:14px;line-height:20px;display:grid}.sheet-facts dt{color:var(--ink-muted);font-weight:600}.sheet-facts dd{gap:var(--space-1);overflow-wrap:anywhere;margin:0;display:grid}.sheet-facts a{min-height:var(--tap-min);margin-block:calc((20px - var(--tap-min)) / 2);align-items:center;display:inline-flex}.sheet-hours{gap:var(--space-3);justify-content:space-between;display:flex}.sheet-hours .data{white-space:nowrap}.sheet-links{gap:var(--space-3) var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.sheet-page-link{min-height:var(--tap-min);align-items:center;font-weight:600;display:inline-flex}.sheet-curate{font-size:14px}.sheet-list{margin:0;padding:0;list-style:none}.sheet-list button{gap:var(--space-3);width:100%;min-height:var(--tap-min);padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;align-items:center;display:flex}.floor-badge{min-width:36px;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--action);color:var(--on-action);font-family:var(--font-mono);letter-spacing:.04em;text-align:center;font-size:12px;font-weight:500;line-height:16px;display:inline-block}.driver-dialog{width:min(100% - 2 * var(--space-4), 36rem);max-height:calc(100dvh - 2 * var(--space-4));padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface-200);color:var(--ink);border:0}.driver-dialog::backdrop{background:#000000a0}.driver-name{margin-top:var(--space-4);font-size:24px;font-weight:700;line-height:32px}.driver-address{margin-top:var(--space-4);font-size:28px;font-weight:700;line-height:40px}.driver-request{margin:var(--space-6) 0;font-size:20px;line-height:28px}@media (width>=56rem){.map-app{--rail-width:11.5rem;--panel-top:calc(var(--space-4) + var(--tap-min) + var(--space-3))}.map-top{width:26rem;padding-top:var(--space-4);right:auto}.map-bar{padding-right:0}.map-chips{width:calc(var(--gutter-left) + var(--rail-width));margin-top:var(--space-3);padding:0 0 0 var(--gutter-left);cursor:default;flex-direction:column;overflow:visible}.map-chips .chip{justify-content:flex-start}.map-toggles{width:calc(var(--gutter-left) + var(--rail-width));margin-top:var(--space-3);padding:var(--space-3) 0 0 var(--gutter-left);flex-direction:column;align-items:stretch}.map-toggles .chip{justify-content:flex-start}.sheet{inset:var(--panel-top) auto var(--space-4) calc(var(--gutter-left) + var(--rail-width) + var(--space-3));border-radius:var(--radius-lg);width:24rem;height:auto;transform:none}.sheet[data-snap]{transform:none}.sheet-grip,.sheet-handle{cursor:default}.sheet-handle{display:none}.sheet[data-snap=peek] .sheet-body{overflow-y:auto}.map-app[data-selection=open] .map-locate{bottom:calc(max(var(--space-4), env(safe-area-inset-bottom)) + var(--space-6))}}@media (prefers-reduced-motion:reduce){.sheet{transition:none}}.sheet-status-care{border-left:3px solid var(--seichi);padding-left:var(--space-3)}.sheet-subtitle{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-sans);font-size:15px;font-weight:600;line-height:20px}.sheet-place-kind{color:var(--text-200)}.map-toggles{gap:var(--space-2);padding:0 var(--gutter-right) var(--space-2) var(--gutter-left);flex-wrap:wrap;display:flex}.map-toggles .chip-practical{--chip-color:var(--action);--chip-on:var(--on-action)}.map-toggles .chip-places{--chip-color:var(--seichi);--chip-on:var(--on-seichi)}
