:root{--ink:#1e2a36;--ink-soft:#5b6773;--paper:#fffbf5ed;--paper-solid:#fffbf5;--paper-2:#f4ece1;--paper-3:#eadfce;--line:#1e2a361a;--primary:#155e75;--primary-ink:#fff;--accent:#d9643a;--success:#2f8f5b;--danger:#c2412d;--focus:0 0 0 3px #155e7573;--shadow:0 1px 2px #1e2a3614, 0 8px 24px #1e2a361f;--shadow-lift:0 2px 4px #1e2a361a, 0 14px 32px #1e2a3629;--r-ctl:10px;--r-card:16px;--display:"Fredoka Variable", "Fredoka", ui-rounded, system-ui, sans-serif;--body:"Nunito Variable", "Nunito", system-ui, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--gap:16px;--safe-top:max(var(--gap), env(safe-area-inset-top));--safe-left:max(var(--gap), env(safe-area-inset-left));--safe-right:max(var(--gap), env(safe-area-inset-right))}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font:400 15px/1.45 var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#eadfcf;margin:0;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}svg{display:block}[hidden]{display:none!important}#scene{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene:focus-visible{box-shadow:none;outline-offset:-3px;outline:3px solid #155e7573}#scene.is-pointer{cursor:pointer}#scene.is-grab{cursor:grab}#scene.is-grabbing{cursor:grabbing}#scene.is-move{cursor:crosshair}.panel{background:var(--paper);-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);border-radius:var(--r-card);box-shadow:var(--shadow);border:1px solid #ffffffa6}.icon-btn{border-radius:var(--r-ctl);width:40px;height:40px;color:var(--ink);transition:background-color .15s var(--ease), transform .15s var(--ease), color .15s;background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn svg,.mode-switch svg,.search svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.icon-btn:hover{background:#1e2a360f}.icon-btn:active{background:#1e2a361f}.icon-btn[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}.fill-accent{fill:var(--accent);stroke:var(--accent)!important}#compass-icon path:last-child{fill:var(--ink-soft);stroke:var(--ink-soft)}:focus-visible{box-shadow:var(--focus);outline:none}.loader{z-index:50;transition:opacity .6s var(--ease), visibility .6s;background:radial-gradient(1200px 700px at 50% 30%,#fff6ea 0%,#0000 60%),linear-gradient(#bcd9ef 0%,#f6e7d2 55%,#eadfcf 100%);place-items:center;display:grid;position:fixed;inset:0}.loader.is-done{opacity:0;visibility:hidden}.loader-card{text-align:center;width:min(320px,80vw)}.loader-mark{width:88px;height:88px;margin:0 auto 12px;animation:2.4s ease-in-out infinite bob}.lm-ground{fill:#9cc57a}.lm-left{fill:#e8d5be}.lm-right{fill:#cf9a7a}.lm-roof{fill:#d9643a}.loader-title{font:600 34px/1.1 var(--display);letter-spacing:-.01em;margin:0 0 6px}.loader-title span,.brand h1 span{color:var(--accent)}.loader-step{color:var(--ink-soft);min-height:1.45em;margin:0 0 16px}.loader-bar{background:#1e2a361a;border-radius:99px;height:8px;overflow:hidden}.loader-bar span{transform-origin:0;border-radius:inherit;background:linear-gradient(90deg, var(--primary), #2b8aa6);width:100%;height:100%;transition:transform .25s var(--ease);display:block;transform:scaleX(0)}.loader.is-error .loader-bar span{background:var(--danger)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.search-panel{top:var(--safe-top);left:var(--safe-left);z-index:10;width:344px;max-height:calc(100dvh - 2 * var(--gap) - 48px);flex-direction:column;display:flex;position:fixed;overflow:hidden}.brand{align-items:center;gap:12px;padding:12px 12px 8px 16px;display:flex}.brand-mark{flex:none;width:40px;height:40px}.brand-text{flex:1;min-width:0}.brand h1{font:600 20px/1.1 var(--display);letter-spacing:-.01em;margin:0}.brand p{color:var(--ink-soft);margin:2px 0 0;font-size:13px}.collapse-btn svg{transition:transform .25s var(--ease)}.search-panel.is-collapsed .collapse-btn svg{transform:rotate(180deg)}.search-panel.is-collapsed .search-body{display:none}.search-body{flex-direction:column;min-height:0;padding:0 12px 12px;display:flex}.search-row{gap:8px;display:flex}.search-row .search{flex:1;min-width:0}.filter-btn{background:var(--paper-2);flex:none;width:44px;height:44px;display:none;position:relative}.filter-btn:hover{background:color-mix(in srgb, var(--paper-2) 94%, var(--ink))}.filter-btn:active{background:color-mix(in srgb, var(--paper-2) 88%, var(--ink))}.filter-btn[aria-expanded=true]{background:var(--primary);color:var(--primary-ink)}.filter-btn.has-filter:after{content:"";background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 2px var(--paper-2);border-radius:999px;position:absolute;top:8px;right:8px}.filter-btn.has-filter[aria-expanded=true]:after{box-shadow:0 0 0 2px var(--primary)}.search{border-radius:var(--r-ctl);background:var(--paper-2);border:1px solid #0000;align-items:center;gap:8px;height:44px;padding:0 10px 0 12px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.search:focus-within{box-shadow:var(--focus);background:#fff;border-color:#155e7573}.search svg{color:var(--ink-soft);flex:none}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:15px}.search input::placeholder{color:#7d8792}.search input::-webkit-search-cancel-button{cursor:pointer}.search kbd{font:600 12px/1 var(--display);color:var(--ink-soft);border:1px solid var(--line);background:#fff;border-bottom-width:2px;border-radius:6px;padding:3px 6px}.search:focus-within kbd{display:none}.chips{flex-wrap:wrap;gap:6px;padding:10px 0 2px;display:flex}.chip{border:1px solid var(--line);height:32px;font:500 13px/1 var(--display);transition:background-color .15s, border-color .15s, opacity .15s, transform .15s var(--ease);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 6px;display:inline-flex}.chip:hover{border-color:#1e2a3638;transform:translateY(-1px)}.chip:active{transform:translateY(0)}.chip .dot{background:var(--c);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;display:grid}.chip .dot svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.chip .count{color:var(--ink-soft);font-weight:500}.chip[aria-pressed=false]{opacity:.55;background:0 0}.chip[aria-pressed=false] .dot{background:#b8b2a8}.results-wrap{flex-direction:column;min-height:0;display:flex}.results-meta{color:var(--ink-soft);margin:8px 4px 4px;font-size:12.5px}.results-meta:empty{display:none}.results{overscroll-behavior:contain;min-height:0;margin:0;padding:0 2px 2px;list-style:none;overflow-y:auto}.results li{border-radius:var(--r-ctl);cursor:pointer;align-items:center;gap:10px;padding:8px;transition:background-color .12s;display:flex}.results li:hover,.results li[aria-selected=true]{background:var(--paper-2)}.results li[aria-selected=true]{box-shadow:inset 0 0 0 2px #155e7559}.results .r-icon{background:var(--c);color:#fff;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid}.results .r-icon svg,.info-cat svg,.nearby .r-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.results .r-text{flex-direction:column;min-width:0;display:flex}.results .r-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.results .r-sub{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.results mark{color:inherit;background:#d9643a2e;border-radius:3px}.mode-switch{top:var(--safe-top);z-index:10;border-radius:14px;gap:4px;padding:4px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.mode-switch button{height:40px;font:500 15px/1 var(--display);background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:0 14px 0 12px;transition:background-color .15s,color .15s;display:inline-flex}.mode-switch button:hover{background:#1e2a360f}.mode-switch button[aria-pressed=true]{background:var(--primary);color:#fff}.mode-switch button[data-mode=walk][aria-pressed=true]{background:var(--accent)}.tools{top:var(--safe-top);right:var(--safe-right);z-index:10;border-radius:14px;gap:4px;padding:4px;display:flex;position:fixed}.tools .icon-btn:disabled{opacity:.4;cursor:default}.info{top:calc(var(--gap) + 60px);right:var(--gap);z-index:11;width:360px;max-height:calc(100dvh - var(--gap) * 2 - 60px - 72px);overscroll-behavior:contain;animation:slide-in .32s var(--ease);position:fixed;overflow-y:auto}@keyframes slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.info-close{z-index:1;position:absolute;top:10px;right:10px}.info-body{padding:18px}.info-cat{background:color-mix(in srgb, var(--c) 14%, white);height:28px;color:color-mix(in srgb, var(--c) 75%, black);font:600 13px/1 var(--display);border-radius:999px;align-items:center;gap:7px;padding:0 10px 0 4px;display:inline-flex}.info-cat .dot{background:var(--c);color:#fff;border-radius:99px;place-items:center;width:22px;height:22px;display:grid}.info-cat .dot svg{width:13px;height:13px}.info h2{font:600 25px/1.15 var(--display);letter-spacing:-.01em;overflow-wrap:anywhere;text-wrap:balance;margin:10px 40px 4px 0}.info .sub{color:var(--ink-soft);margin:0 0 12px}.status{align-items:center;gap:8px;margin:2px 0 12px;font-weight:700;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:99px;width:9px;height:9px}.status.is-open{color:var(--success)}.status.is-closed{color:var(--danger)}.status.is-unknown{color:var(--ink-soft)}.actions{flex-wrap:wrap;gap:8px;margin:4px 0 14px;display:flex}.btn{border-radius:var(--r-ctl);border:1px solid var(--line);height:40px;font:500 14.5px/1 var(--display);color:var(--ink);transition:background-color .15s, transform .15s var(--ease), box-shadow .15s;background:#fff;justify-content:center;align-items:center;gap:8px;padding:0 14px;text-decoration:none;display:inline-flex}.btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{box-shadow:none;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#c95831}.facts{gap:2px;margin:0 0 12px;padding:0;list-style:none;display:grid}.facts li{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:7px 0;display:flex}.facts li:first-child{border-top:0}.facts svg{fill:none;width:18px;height:18px;stroke:var(--ink-soft);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:2px}.facts a{color:var(--primary);overflow-wrap:anywhere;font-weight:700;text-decoration:none}.facts a:hover{text-decoration:underline}.hours{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:2px;font-size:14px}.hours td{vertical-align:top;padding:2px 0}.hours td:first-child{width:48px;color:var(--ink-soft)}.hours tr.is-today td{color:var(--ink);font-weight:800}.tags{flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.tags li{background:var(--paper-2);color:var(--ink-soft);border-radius:99px;padding:4px 9px;font-size:12.5px;font-weight:700}.section-title{font:600 13px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:16px 0 6px}.nearby{margin:0;padding:0;list-style:none}.nearby li{border-radius:var(--r-ctl);cursor:pointer;align-items:center;gap:10px;margin:0 -6px;padding:6px;display:flex}.nearby li:hover{background:var(--paper-2)}.nearby .r-icon{background:var(--c);color:#fff;border-radius:9px;flex:none;place-items:center;width:28px;height:28px;display:grid}.nearby .r-icon svg{width:15px;height:15px}.nearby .n-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.nearby .n-dist{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.building-note{color:var(--ink-soft);margin:12px 0 0;font-size:13px}.source{color:var(--ink-soft);margin:14px 0 0;font-size:12px}.source a{color:inherit}.legend{right:var(--gap);z-index:9;min-width:150px;padding:12px 14px;position:fixed;bottom:88px}.legend-title{font:600 13px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 6px}.legend ul{gap:3px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.legend li{align-items:center;gap:8px;display:flex}.legend i{background:var(--c);border-radius:4px;width:14px;height:14px}.street-name{top:calc(var(--gap) + 62px);z-index:9;color:#fff;font:500 15px/1.2 var(--display);white-space:nowrap;pointer-events:none;background:#1e2a36c7;border-radius:999px;margin:0;padding:6px 14px;position:fixed;left:50%;transform:translate(-50%)}.street-name:empty{display:none}.minimap-wrap{left:var(--gap);z-index:9;border-radius:999px;padding:6px;position:fixed;bottom:44px}#minimap{cursor:pointer;border-radius:999px;width:168px;height:168px;display:block}.minimap-n{font:700 11px/1 var(--display);color:#fff;background:var(--ink);border-radius:99px;padding:3px 5px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.feedback-btn{right:var(--safe-right);z-index:10;height:40px;color:var(--ink);font:500 14.5px/1 var(--display);transition:background-color .15s, transform .15s var(--ease), box-shadow .15s;border-radius:999px;align-items:center;gap:8px;padding:0 16px 0 13px;display:inline-flex;position:fixed;bottom:40px}.feedback-btn svg,.segmented svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:19px;height:19px}.feedback-btn .fb-plus{display:none}.feedback-btn:hover{background:var(--paper-solid);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.feedback-btn:active{box-shadow:var(--shadow);transform:none}.feedback-btn:focus-visible{box-shadow:var(--focus), var(--shadow)}.feedback{width:420px;max-width:calc(100% - 2 * var(--gap));max-height:calc(100dvh - 2 * var(--gap));color:var(--ink);box-shadow:var(--shadow-lift);overscroll-behavior:contain;margin:auto;padding:0;overflow-y:auto}.feedback[open]{animation:dialog-in .28s var(--ease)}.feedback::backdrop{background:#1e2a364d}.feedback[open]::backdrop{animation:backdrop-in .28s var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.feedback-inner{padding:18px;position:relative}.feedback-close{position:absolute;top:10px;right:10px}.feedback h2{font:600 24px/1.15 var(--display);letter-spacing:-.01em;margin:4px 44px 4px 0}.feedback-lead{color:var(--ink-soft);text-wrap:pretty;margin:0 0 14px}.segmented{background:var(--paper-2);border-radius:14px;gap:4px;margin:0 0 16px;padding:4px;display:flex}.segmented button{height:40px;font:500 14.5px/1 var(--display);white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:auto;justify-content:center;align-items:center;gap:7px;padding:0 12px;transition:background-color .15s,color .15s;display:inline-flex}.segmented svg{width:18px;height:18px}.segmented button:hover{background:#1e2a360f}.segmented button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}.feedback-field-label{font:600 14px/1.2 var(--display);margin:0 0 6px;display:block}.feedback textarea{resize:vertical;border-radius:var(--r-ctl);background:var(--paper-2);width:100%;min-height:120px;color:var(--ink);font:400 15px/1.45 var(--body);border:1px solid #0000;margin:0;padding:10px 12px;transition:border-color .15s,background-color .15s;display:block}.feedback textarea::placeholder{color:#7d8792}.feedback textarea:focus{box-shadow:var(--focus);background:#fff;border-color:#155e7573;outline:none}.feedback-send{width:100%;height:44px;margin:14px 0 0}.fb-kinds{grid-template-columns:1fr 1fr;margin-bottom:8px;display:grid}.fb-kind-hint{color:var(--ink-soft);text-wrap:pretty;min-height:1.45em;margin:0 2px 14px;font-size:13.5px}.fb-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fb-field{min-width:0;margin:0 0 12px}.fb-opt{font:400 13px/1 var(--body);color:var(--ink-soft)}.fb-input{border-radius:var(--r-ctl);background:var(--paper-2);width:100%;height:42px;color:var(--ink);font:400 15px/1.2 var(--body);border:1px solid #0000;margin:0;padding:0 12px;transition:border-color .15s,background-color .15s;display:block}select.fb-input{appearance:none;cursor:pointer;background:var(--paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6773' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 16px;padding-right:32px}.fb-input::placeholder{color:#7d8792}.fb-input:focus{box-shadow:var(--focus);background-color:#fff;border-color:#155e7573;outline:none}.feedback [aria-invalid=true]{border-color:var(--danger);background-color:color-mix(in srgb, var(--danger) 6%, white)}.feedback textarea.fb-short{min-height:64px}.fb-note{color:var(--ink-soft);text-wrap:pretty;margin:6px 2px 0;font-size:12.5px}.fb-privacy{margin:2px 2px 0}.fb-link{color:var(--primary);font:700 13.5px/1.2 var(--body);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.fb-link:hover{color:var(--ink)}.fb-dupe{border-radius:var(--r-ctl);background:color-mix(in srgb, var(--primary) 8%, white);flex-wrap:wrap;align-items:center;gap:8px 10px;margin:-4px 0 12px;padding:10px 12px;font-size:13.5px;display:flex}.fb-dupe p{text-wrap:pretty;flex:180px;margin:0}.fb-dupe .btn{height:36px;font-size:14px}.fb-target{margin-top:0}.fb-target>span{flex:1;min-width:0}.fb-picker{position:relative}.fb-pick-list{border-radius:var(--r-ctl);background:var(--paper-solid);max-height:232px;box-shadow:inset 0 0 0 1px var(--line);margin-top:6px;padding:4px}.fb-pick-list .fb-pick-empty{cursor:default;color:var(--ink-soft);font-size:13.5px;display:block}.fb-pick-list .fb-pick-empty:hover{background:0 0}.fb-checks{border:0;padding:0}.fb-checks legend{padding:0}.fb-check-list{flex-wrap:wrap;gap:6px;display:flex}.fb-check-list label{cursor:pointer;display:inline-flex;position:relative}.fb-check-list input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.fb-check-list span{background:var(--paper-2);height:34px;font:500 14px/1 var(--display);border-radius:999px;align-items:center;padding:0 12px;transition:background-color .15s,color .15s;display:inline-flex}.fb-check-list label:hover span{background:var(--paper-3)}.fb-check-list input:checked+span{background:var(--primary);color:var(--primary-ink)}.fb-check-list input:checked+span:before{content:"✓";margin-right:6px;font-weight:700}.fb-check-list input:focus-visible+span{box-shadow:var(--focus)}.fb-edit{border:0;border-top:1px solid var(--line);width:100%;color:var(--ink-soft);font:400 13.5px/1.3 var(--body);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;margin:14px 0 0;padding:10px 0 0;display:flex}.fb-edit svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.fb-edit u{color:var(--primary);text-underline-offset:2px;font-weight:700}.fb-edit:hover u{color:var(--ink)}.fb-edit:focus-visible{box-shadow:var(--focus);border-radius:6px;outline:none}.btn:disabled,.btn:disabled:hover{opacity:.45;cursor:default;box-shadow:none;transform:none}.btn-primary:disabled:hover{background:var(--accent)}.feedback-form:focus{outline:none}.feedback-send[aria-busy=true]:disabled{opacity:.8;cursor:progress}.feedback-send[aria-busy=true] svg{animation:fb-sending .9s var(--ease) infinite alternate}@keyframes fb-sending{0%{transform:translate(-2px,2px)}to{transform:translate(2px,-2px)}}.feedback-hp{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.feedback-error{border-radius:var(--r-ctl);background:color-mix(in srgb, var(--danger) 9%, white);color:var(--ink);margin:12px 0 0;padding:10px 12px;font-size:14px}.feedback-error p{text-wrap:pretty;margin:0}.feedback-error p:before{content:"";background:var(--danger);border-radius:99px;width:8px;height:8px;margin:0 8px 1px 0;display:inline-block}.feedback-error-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.feedback-error-actions .btn{flex:auto;height:40px}.feedback-error-actions [hidden]{display:none}.feedback-done{text-align:center;padding:14px 0 0}.feedback-done-mark{background:color-mix(in srgb, var(--success) 14%, white);width:52px;height:52px;color:var(--success);border-radius:999px;place-items:center;margin:0 0 10px;display:inline-grid}.feedback-done-mark svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.feedback .feedback-done h2{margin:0 0 4px}.feedback-done .feedback-lead{margin-bottom:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.tooltip{z-index:20;pointer-events:none;color:#fff;max-width:260px;box-shadow:var(--shadow);background:#1e2a36e6;border-radius:10px;padding:6px 10px;font-size:13.5px;line-height:1.3;position:fixed;transform:translate(14px,14px)}.tooltip b{font-weight:800;display:block}.tooltip span{opacity:.8}.hint{z-index:8;color:var(--ink-soft);white-space:nowrap;pointer-events:none;border-radius:999px;margin:0;padding:8px 14px;font-size:13.5px;transition:opacity .4s;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}.hint kbd{font:600 12px/1 var(--display);color:var(--ink);border:1px solid var(--line);background:#fff;border-bottom-width:2px;border-radius:5px;padding:2px 5px}.hint b{color:var(--ink);font-weight:700}.hint:empty{display:none}.attribution{z-index:8;color:var(--ink-soft);background:#fffbf5bf;border-radius:8px;padding:3px 8px;font-size:11.5px;position:fixed;bottom:8px;right:10px}.attribution a{color:inherit}.toast{z-index:30;background:var(--ink);color:#fff;box-shadow:var(--shadow-lift);animation:toast-in .3s var(--ease);border-radius:12px;padding:10px 16px;font-weight:700;position:fixed;bottom:86px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.noscript{font:600 18px var(--display);place-items:center;display:grid;position:fixed;inset:0}.credit{left:var(--safe-left);z-index:8;background:var(--paper);-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);height:34px;box-shadow:var(--shadow);color:var(--ink-soft);font:500 13px/1 var(--display);white-space:nowrap;transition:transform .15s var(--ease), box-shadow .15s, color .15s;border:1px solid #ffffffa6;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 9px;text-decoration:none;display:inline-flex;position:fixed;bottom:12px}.credit b{color:var(--ink);font-weight:600}.credit:hover{box-shadow:var(--shadow-lift);color:var(--ink);transform:translateY(-1px)}.credit:active{transform:none}.credit-eye{flex:none;width:24px;height:19px;overflow:visible}.credit-eye .eye{transform-box:fill-box;transform-origin:50%;animation:6s ease-in-out infinite mb-float}.credit-eye .wink{transform-box:fill-box;transform-origin:50%;animation:6s infinite mb-wink}@keyframes mb-float{0%{transform:translateY(0)rotate(0)}41.7%{transform:translateY(-1.5px)rotate(-3deg)}50%{transform:translateY(-1.5px)rotate(-2.4deg)}to{transform:translateY(0)rotate(0)}}@keyframes mb-wink{0%,66.6%{transform:scaleY(1)}69.2%,70.8%{transform:scaleY(.05)}73.5%{transform:scaleY(1.06)}75.5%,to{transform:scaleY(1)}}body.is-night .credit{color:#c9d2e8;background:#141a2eb8;border-color:#ffffff14}body.is-night .credit b{color:#fff}.minimap-wrap{bottom:58px}.hint{bottom:56px}body.is-night .attribution{color:#c9d2e8;background:#141a2eb3}body.is-night .hint{color:#5b6773}@media (max-width:760px){:root{--gap:10px;--safe-top:max(var(--gap), env(safe-area-inset-top));--safe-left:max(var(--gap), env(safe-area-inset-left));--safe-right:max(var(--gap), env(safe-area-inset-right));--bar-bottom:max(44px, calc(28px + env(safe-area-inset-bottom)))}.search-panel{width:auto;right:calc(var(--gap) + 56px);max-height:62dvh}.brand{gap:10px;padding:8px 8px 6px 12px}.brand-mark{width:30px;height:30px}.brand h1{font-size:17px}.brand p,.search kbd{display:none}.filter-btn{display:inline-grid}.search-panel:not(.filters-open) .chips{display:none}.chip{flex:none;height:40px;padding-right:12px}.tools{top:var(--safe-top);right:var(--safe-right);flex-direction:column}.mode-switch{top:auto;bottom:var(--bar-bottom);left:calc(50% - (var(--safe-right) + 50px) / 2)}.feedback-btn{bottom:var(--bar-bottom);justify-content:center;width:50px;height:50px;padding:0}.feedback-btn .fb-chat{display:none}.feedback-btn .fb-plus{width:24px;height:24px;display:block}.feedback-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.feedback{width:calc(100% - 2 * var(--gap));max-width:none;margin:var(--safe-top) auto auto;max-height:calc(100dvh - var(--safe-top) - var(--gap))}.feedback-close{width:44px;height:44px;top:8px;right:8px}.segmented button{gap:6px;height:44px;padding:0 8px;font-size:14px}.feedback textarea,.fb-input{font-size:16px}.fb-input{height:44px}.fb-check-list span{height:40px}.feedback-error-actions .btn{height:44px}.info{top:auto;left:var(--gap);right:var(--gap);bottom:calc(var(--gap) + env(safe-area-inset-bottom));z-index:12;width:auto;max-height:58dvh;animation-name:sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.hint{display:none}.legend{bottom:calc(var(--bar-bottom) + 58px);right:var(--gap)}.street-name{top:auto;bottom:150px}.minimap-wrap{top:76px;bottom:auto;left:var(--gap);padding:4px}#minimap{width:112px;height:112px}.attribution{text-align:right;max-width:calc(100% - 192px);font-size:10px;bottom:4px;right:6px}.credit{height:auto;box-shadow:none;border-radius:8px;gap:4px;padding:3px 7px 3px 5px;font-size:10px;bottom:4px;left:6px}.credit-eye{width:15px;height:12px}.toast{bottom:150px}}@media (max-width:480px){.fb-row{grid-template-columns:1fr;gap:0}}@media (max-width:360px){.mode-switch button{gap:5px;padding:0 10px 0 8px}}.spot-menu{z-index:21;pointer-events:none;position:fixed;top:0;left:0}.spot-dot{background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 0 #d9643a80, var(--shadow);border:2.5px solid #fff;border-radius:99px;animation:1.6s ease-out infinite spot-pulse;position:absolute;top:-7px;left:-7px}.spot-btn{pointer-events:auto;background:var(--paper);-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);width:max-content;max-width:min(300px,100vw - 48px);min-height:48px;box-shadow:var(--shadow-lift);text-align:left;transform-origin:0;animation:spot-in .26s var(--ease);transition:background-color .15s, transform .15s var(--ease);border:1px solid #ffffffb3;border-radius:14px;align-items:center;gap:10px;padding:8px 14px 8px 10px;display:flex;position:absolute;top:-6px;left:14px}.spot-menu.is-left .spot-btn{transform-origin:100%;left:auto;right:14px}.spot-menu.is-up .spot-btn{top:auto;bottom:-6px}.spot-btn:hover{background:var(--paper-solid);transform:translateY(-1px)}.spot-btn:active{transform:none}.spot-btn svg{fill:none;width:22px;height:22px;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.spot-btn>span{flex-direction:column;min-width:0;display:flex}.spot-q{font:600 14.5px/1.2 var(--display);color:var(--ink)}.spot-where{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.spot-menu.is-touch .spot-btn{transform-origin:50% 100%;animation-name:spot-in-touch;top:auto;bottom:30px;right:auto}.spot-menu.is-touch.is-down .spot-btn{transform-origin:50% 0;top:46px;bottom:auto}@keyframes spot-in-touch{0%{opacity:0;transform:translateY(6px)scale(.92)}to{opacity:1;transform:none}}@keyframes spot-in{0%{opacity:0;transform:translate(-6px)scale(.92)}to{opacity:1;transform:none}}@keyframes spot-pulse{0%{box-shadow:0 0 0 0 #d9643a8c, var(--shadow)}to{box-shadow:0 0 0 14px #d9643a00, var(--shadow)}}.feedback-spot{border-radius:var(--r-ctl);background:color-mix(in srgb, var(--accent) 10%, white);color:var(--ink);align-items:center;gap:8px;margin:-4px 0 14px;padding:8px 10px;font-size:13.5px;display:flex}.feedback-spot svg{fill:none;width:18px;height:18px;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.feedback-spot b{overflow-wrap:anywhere;font-weight:800}.hold-ring{z-index:21;pointer-events:none;width:80px;height:80px;position:fixed;top:-40px;left:-40px}.hold-ring svg{width:100%;height:100%;animation:hold-grow .3s var(--ease) both;transform:rotate(-90deg)}.hold-ring circle{fill:none;stroke-width:4px}.hold-track{stroke:#fffbf5bf}.hold-arc{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;animation:hold-fill var(--hold-ms,1.7s) linear forwards}@keyframes hold-grow{0%{opacity:0;scale:.55}to{opacity:1;scale:1}}@keyframes hold-fill{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.hold-ring svg,.hold-arc,.credit-eye .eye,.credit-eye .wink{animation:none!important}.hold-arc{stroke-dashoffset:0}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.feedback::backdrop{animation:none}}
