:root{--background:#0d1013;--foreground:#eeebe5;--card:#14181bf0;--card-foreground:var(--foreground);--primary:#e9e4dc;--primary-foreground:#0a0e11;--secondary:#171b1f;--muted:var(--secondary);--muted-foreground:#969ca3;--accent:#1e2226;--border:#ebe7e21c;--input:#ebe7e23d;--ring:#e2ddd5;--highlight:#92d1d8;--shadow-lch:.08 .01 250;--pin-glyph:color-mix(in srgb, var(--category,#888) 30%, black);--pin-food:#e69e79;--pin-coffee:#ceb079;--pin-bars:#7cb3eb;--pin-culture:#85c19a;--pin-clubs:#c398d6;--pin-shops:#d999ca;--pin-leisure:#76c1bc;--cat-food:#1a232f;--cat-coffee:#19242e;--cat-bars:#19242f;--cat-culture:#18271b;--cat-clubs:#222033;--cat-shops:#2f1c27;--cat-leisure:#102825;--cat-ink-food:#e69e79;--cat-ink-coffee:#ceb079;--cat-ink-bars:#7cb3eb;--cat-ink-culture:#85c19a;--cat-ink-clubs:#c398d6;--cat-ink-shops:#d999ca;--cat-ink-leisure:#76c1bc;--photo-fg:#e3caa2;--tile-filter:invert(1) hue-rotate(180deg) saturate(.35) brightness(.8) contrast(.9);--cta:var(--primary);--cta-foreground:var(--primary-foreground);--cta-accent:var(--primary-foreground);--paper:var(--background);--paper-deep:var(--secondary);--ink:var(--foreground);--line:var(--border);--accent-ink:var(--primary-foreground);--sand:var(--card);--sand-ink:var(--primary);--shadow:0 0 0 1px #ffffff17, 0 8px 24px -10px #00000075;--glass:#070a0ec2;--glass-strong:#101419d6;--glass-border:#f5f1ec24;--glass-filter:blur(10px) saturate(1.08);--glass-shadow:0 0 0 1px #ffffff09 inset, 0 1px 2px #00000029, 0 6px 20px -8px #0000006b;--radius-card:18px;--radius-chip:13px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--serif:var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--background);color:var(--foreground)}@supports (color:lab(0% 0 0)){:root{--background:lab(4.43033% -.525832 -2.05922);--foreground:lab(93.0632% .45988 3.01539);--card:lab(7.77007% -.869103 -3.16566/.94);--primary:lab(90.7594% .565499 4.55731);--primary-foreground:lab(3.69159% -.508212 -2.07633);--secondary:lab(9.50825% -.902012 -3.17309);--muted-foreground:lab(64.0287% -1.28588 -4.2711);--accent:lab(12.9871% -1.00497 -3.52685);--border:lab(91.9032% .460118 3.01553/.11);--input:lab(91.9032% .460118 3.01553/.24);--ring:lab(88.4393% .566572 4.55799);--highlight:lab(79.699% -19.5726 -10.4287);--pin-food:lab(71.5959% 24.5711 30.7392);--pin-coffee:lab(73.4678% 5.78174 32.3943);--pin-bars:lab(70.7194% -7.09879 -34.2924);--pin-culture:lab(73.2878% -26.6471 13.684);--pin-clubs:lab(68.4509% 25.0233 -25.8884);--pin-shops:lab(70.7529% 30.3864 -15.5202);--pin-leisure:lab(73.0149% -25.1811 -5.0966);--cat-food:lab(13.4873% -1.35635 -9.22884);--cat-coffee:lab(13.5595% -2.69957 -8.02911);--cat-bars:lab(13.5206% -2.1127 -8.98734);--cat-culture:lab(13.9705% -8.94223 5.77324);--cat-clubs:lab(13.1765% 5.2215 -11.9768);--cat-shops:lab(13.1008% 11.2069 -3.30113);--cat-leisure:lab(13.9409% -10.2865 -1.0657);--cat-ink-food:lab(71.5959% 24.5711 30.7392);--cat-ink-coffee:lab(73.4678% 5.78174 32.3943);--cat-ink-bars:lab(70.7194% -7.09879 -34.2924);--cat-ink-culture:lab(73.2878% -26.6471 13.684);--cat-ink-clubs:lab(68.4509% 25.0233 -25.8884);--cat-ink-shops:lab(70.7529% 30.3864 -15.5202);--cat-ink-leisure:lab(73.0149% -25.1811 -5.0966);--photo-fg:lab(82.7145% 4.50268 23.4966);--glass:lab(2.74524% -.443712 -1.92561/.76);--glass-strong:lab(6.17897% -.933118 -3.92346/.84);--glass-border:lab(95.3832% .459492 3.01512/.14)}}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--sans);background:var(--paper);color:var(--ink);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.45}button,input,summary{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.eyebrow{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem}h1,h2,.serif{font-family:var(--serif);letter-spacing:-.025em;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--paper);flex-direction:column;height:100dvh;display:flex}.topbar{justify-content:space-between;align-items:flex-end;gap:12px;padding:14px 16px 8px;display:flex}.topbar h1{margin:2px 0 0;font-size:1.7rem;line-height:1.05}.wordmark{text-decoration:none}.top-meta{color:var(--muted-foreground);flex-direction:column;align-items:flex-end;gap:6px;font-size:.95rem;display:flex}.badge{background:var(--sand);min-height:28px;color:var(--sand-ink);letter-spacing:.02em;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.filter-row{gap:8px;padding:4px 16px 12px;display:flex;overflow-x:auto}.chip,.btn,.icon-btn,.text-btn,.row-btn,.view-toggle button,.locate-btn,.dock-toggle,.maps-choice-item{border-radius:var(--radius-chip);border:1px solid var(--line);background:var(--card);cursor:pointer;min-width:44px;min-height:44px}.chip{flex:none;min-width:72px;padding:0 16px}.chip.is-active,.btn-accent,.view-toggle button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--accent-ink)}.btn{justify-content:center;align-items:center;padding:0 18px;font-weight:650;text-decoration:none;display:inline-flex}.btn-accent{font-weight:700}.btn[disabled],.chip[disabled]{background:var(--paper-deep);color:var(--muted-foreground);border-color:var(--line);cursor:not-allowed}.workspace{flex:1;min-height:0;position:relative;overflow:hidden}.list-column,.map-column{position:absolute;inset:0}.app-shell[data-view=map] .list-column,.app-shell[data-view=list] .map-column{display:none}.list-column{background:var(--paper);flex-direction:column;display:flex}.spot-list,.result-list{margin:0;padding:0;list-style:none;overflow:auto}.spot-row,.row-btn{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:12px;width:100%;min-height:76px;padding:10px 16px;display:flex}.spot-row.is-selected,.row-btn.is-selected{background:var(--accent)}.spot-row-copy,.result-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.spot-row-copy strong,.result-copy strong{font-size:1rem}.spot-row-copy span,.result-copy span,.muted{color:var(--muted-foreground)}.one-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spot-photo{aspect-ratio:16/10;object-fit:cover;background:var(--paper-deep);border-radius:12px;width:100%;display:block}.spot-photo.is-placeholder{object-fit:contain;background:var(--secondary);padding:12px}.spot-row .spot-photo,.row-thumb{aspect-ratio:auto;border-radius:10px;flex:none;width:56px;height:56px}.spot-row .spot-photo.is-placeholder{padding:6px}.map-column{background:var(--paper-deep);overflow:hidden}.map-canvas{width:100%;height:100%}.map-placeholder{background:var(--secondary)}.map-fallback{text-align:center;place-items:center;height:100%;margin:0;padding:24px 16px;display:grid}.bottom-bar{padding:10px 12px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card);flex-direction:column;gap:8px;display:flex}.view-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.view-toggle button{font-weight:650}.pin-ghost{pointer-events:none}.sheet{z-index:30;background:var(--card);max-height:min(78dvh,680px);box-shadow:0 -16px 40px oklch(var(--shadow-lch) / .3);padding:6px 18px max(18px, env(safe-area-inset-bottom));pointer-events:none;border-radius:16px 16px 0 0;flex-direction:column;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%)}.sheet:not(.is-open){visibility:hidden}.sheet.is-open{pointer-events:auto;transform:translate(0,0)}.sheet-handle{touch-action:none;cursor:grab;place-items:center;width:44px;height:28px;margin:0 auto;display:grid}.sheet-handle:before{content:"";background:var(--line);border-radius:999px;width:36px;height:4px}.sheet-top{justify-content:flex-end;display:flex}.sheet-body{padding-bottom:8px;overflow:auto}.sheet-close{min-height:44px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;padding:0 12px}.spot-detail-overlay{z-index:29;opacity:0;background:#0000002e;transition:opacity .18s ease-out;position:fixed;inset:0}.spot-detail-overlay[data-state=open]{opacity:1}.spot-detail-overlay[data-vaul-overlay][data-state=open]{animation-duration:.28s;animation-timing-function:cubic-bezier(.32,.72,0,1)}.spot-detail-overlay[data-vaul-overlay][data-state=closed]{animation-duration:.22s;animation-timing-function:cubic-bezier(.4,0,1,1)}.spot-detail-drawer{z-index:30;border:1px solid var(--border);max-height:calc(100dvh - 236px);box-shadow:var(--shadow);background:#101418;background:lab(6.18316% -.806056 -3.23802);border-radius:16px 16px 0 0;outline:none;flex-direction:column;display:flex;position:fixed;bottom:88px;left:0;right:0;overflow:hidden}.spot-detail-drawer[data-vaul-drawer][data-state=open]{animation-duration:.28s;animation-timing-function:cubic-bezier(.32,.72,0,1)}.spot-detail-drawer[data-vaul-drawer][data-state=closed]{animation-duration:.22s;animation-timing-function:cubic-bezier(.4,0,1,1)}.spot-detail-drawer [data-vaul-handle]{background:var(--input);touch-action:none;cursor:grab;border-radius:999px;flex:none;width:36px;height:4px;margin:12px auto}.spot-detail{overscroll-behavior:contain;min-height:0;overflow-y:auto}.spot-detail-media .spot-photo{aspect-ratio:auto;object-fit:cover;outline-offset:-1px;border-radius:0;outline:1px solid #ffffff1a;width:100%;height:min(30dvh,240px)}.spot-detail-media .spot-photo.is-placeholder{padding:28px}.spot-detail-media .spot-photo.is-placeholder svg{width:48px;height:48px}.spot-detail-copy{padding:14px 18px max(18px, env(safe-area-inset-bottom))}.spot-detail-copy .spot-category{margin:0}.spot-detail-title{margin:2px 0 4px;font-size:1.35rem;font-weight:600;line-height:1.15}.spot-detail-note{color:var(--muted-foreground);margin:0;font-size:.95rem;line-height:1.45}.spot-detail-copy .maps-choice{margin-top:12px}.empty-copy{color:var(--muted-foreground);margin:24px 16px}.picker,.status-page{max-width:720px;min-height:100dvh;margin:0 auto;padding:32px 20px 48px}.picker h1,.status-page h1{margin:8px 0 12px;font-size:clamp(2.4rem,8vw,4.2rem);line-height:.95}.status-actions{flex-direction:column;gap:12px;margin-top:28px;display:flex}.search-form{gap:8px;margin:18px 0;display:flex}.search-form input,.field input,.field textarea,.share-panel input,.title-input{border:1px solid var(--input);background:var(--card);border-radius:14px;width:100%;min-height:44px;padding:10px 14px;font-size:16px}.title-input{font-family:var(--serif);background:0 0;border:0;flex:1;width:auto;min-width:0;padding-left:0;font-size:1.35rem}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field span,.search-form+.attrib,.attrib{color:var(--muted-foreground);font-size:.85rem}.quick-cities{flex-wrap:wrap;gap:8px;display:flex}.form-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.form-actions .btn{flex:1}.editor-tools{flex-direction:column;gap:8px;padding:0 16px 10px;display:flex}.editor-head{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px 0;display:flex}.share-panel{flex-direction:column;gap:6px;margin:0 16px 10px;display:flex}.hint{color:var(--muted-foreground);margin:0 16px 8px}details.menu summary{cursor:pointer;align-items:center;min-height:44px;display:inline-flex}.issue-list{color:var(--muted-foreground);padding-left:18px}.maplibregl-ctrl-attrib{font-size:11px}.maplibregl-ctrl-bottom-left{display:none}@media (max-width:1023px){.map-column .maplibregl-ctrl-bottom-right{bottom:8px}}@media (min-width:768px){.sheet{opacity:0;pointer-events:none;border-radius:16px;width:min(380px,100vw - 48px);max-height:none;inset:88px auto 24px 24px;transform:translateY(12px)}.sheet.is-open{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){.sheet,.spot-detail-overlay,.spot-detail-drawer{transition:none!important;animation:none!important}.card-dock .dock-list{scroll-behavior:auto}.locate-dot,.locate-accuracy{animation:none}.spot-dock-card,.chip,.locate-btn,.pin,.maps-choice-menu{transition:none}}@media (prefers-reduced-transparency:reduce){.viewer-shell .chip,.viewer-shell .create-map-btn,.viewer-shell .view-toggle,.viewer-shell .dock-toggle,.viewer-shell .locate-btn{-webkit-backdrop-filter:none;backdrop-filter:none;background:#111b28f5;background:lab(9.39468% -1.22011 -10.5573/.96)}}button,a,input{touch-action:manipulation}[data-category=leisure]{--category:var(--pin-leisure);--category-tint:var(--cat-leisure);--category-ink:var(--cat-ink-leisure)}[data-category=food]{--category:var(--pin-food);--category-tint:var(--cat-food);--category-ink:var(--cat-ink-food)}[data-category=coffee]{--category:var(--pin-coffee);--category-tint:var(--cat-coffee);--category-ink:var(--cat-ink-coffee)}[data-category=bars]{--category:var(--pin-bars);--category-tint:var(--cat-bars);--category-ink:var(--cat-ink-bars)}[data-category=galleries],[data-category=culture]{--category:var(--pin-culture);--category-tint:var(--cat-culture);--category-ink:var(--cat-ink-culture)}[data-category=clubs]{--category:var(--pin-clubs);--category-tint:var(--cat-clubs);--category-ink:var(--cat-ink-clubs)}[data-category=shopping],[data-category=shops]{--category:var(--pin-shops);--category-tint:var(--cat-shops);--category-ink:var(--cat-ink-shops)}.pin{width:44px;height:44px;color:var(--category,#888);box-shadow:none;filter:none;cursor:pointer;transform-origin:50%;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:none;display:grid;position:relative}.pin:before{content:none}.pin-glass{width:30px;height:30px;box-shadow:none;transform-origin:50%;background:#101419;background:lab(6.16643% -.647038 -4.03218);border:1px solid #fff3;border-radius:50%;place-items:center;transition:transform .16s ease-out,opacity .16s ease-out,filter .16s ease-out,background-color .16s ease-out,border-color .16s ease-out;display:grid;position:relative;transform:scale(1)}.pin-icon{z-index:1;color:var(--category);filter:none;display:block;position:relative}.pin.is-inactive .pin-glass{opacity:.3;filter:grayscale()saturate(0);border-color:#ffffff26;transform:scale(.9)}.pin.is-selected{z-index:2;background:0 0}.pin.is-selected .pin-glass{border-color:color-mix(in srgb, var(--category) 72%, black);background:var(--category);box-shadow:none;transform:scale(1.08)}.pin.is-selected .pin-icon{color:color-mix(in srgb, var(--category) 22%, black)}.pin-ghost{opacity:.7}.pin-ghost .pin-glass{border-style:dashed;border-color:#fff6}@media (prefers-reduced-motion:reduce){.pin-glass{transition:none}}.spot-photo.is-placeholder{background:var(--category-tint);color:var(--photo-fg);place-items:center;display:grid}.spot-photo.is-placeholder svg{color:var(--category-ink)}.maplibregl-canvas{filter:var(--tile-filter)}.map-canvas .maplibregl-ctrl-attrib,.map-canvas .maplibregl-ctrl.maplibregl-ctrl-attrib.maplibregl-compact{color:var(--foreground);background:#101524e6;background:lab(7.0146% 1.07401 -10.8019/.9)}.map-canvas .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-inner,.map-canvas .maplibregl-ctrl-attrib a{color:var(--foreground)}.map-canvas .maplibregl-ctrl-attrib-button{filter:invert()}.viewer-shell{isolation:isolate;position:relative;overflow:hidden}.viewer-shell .workspace{position:absolute;inset:0}.viewer-shell .topbar{z-index:2;pointer-events:none;align-items:flex-start;padding:12px}.viewer-shell .topbar .sr-only{margin:-1px}.viewer-shell .profile-trigger,.viewer-shell .sound-toggle{border:1px solid var(--glass-border);background:var(--glass);height:48px;box-shadow:var(--glass-shadow);color:var(--foreground);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);cursor:pointer;pointer-events:auto;touch-action:manipulation}.viewer-shell .profile-trigger{text-align:left;border-radius:14px;align-items:center;gap:8px;width:auto;max-width:min(220px,100vw - 76px);padding:5px 11px 5px 5px;display:flex}.viewer-shell .sound-toggle{border-radius:50%;place-items:center;width:44px;height:44px;margin-left:auto;padding:0;display:grid}.viewer-shell .sound-toggle[aria-pressed=false]{color:#969ca39e;color:lab(64.0287% -1.28588 -4.2711/.62)}.profile-avatar{background:var(--foreground);width:36px;height:36px;color:var(--background);font-family:var(--serif);border-radius:50%;place-items:center;font-size:1rem;font-weight:600;display:grid}.profile-trigger .profile-avatar{color:inherit;background:0 0;flex:0 0 36px}.profile-trigger-copy{flex-direction:column;min-width:0;line-height:1.15;display:flex}.profile-trigger-copy strong,.profile-trigger-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-trigger-copy strong{font-size:.78rem;font-weight:600}.profile-trigger-copy span{color:var(--muted-foreground);margin-top:2px;font-size:.68rem}.profile-logo{object-fit:contain;border-radius:50%;width:100%;height:100%;display:block}.profile-avatar-large{flex:none;width:64px;height:64px;font-size:1.45rem}.viewer-shell .profile-trigger[aria-pressed=true]{border-color:#ffffff3d}.viewer-shell .badge{min-height:22px;padding:0;font-size:.7rem}.viewer-shell .badge:before{content:"";background:var(--primary);border-radius:50%;width:6px;height:6px;margin-right:6px}.viewer-shell .filter-row{z-index:2;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;align-self:stretch;gap:6px;width:100%;max-width:100%;padding:0 40px 0 12px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 0% calc(100% - 36px),#0000 100%);mask-image:linear-gradient(90deg,#000 0% calc(100% - 36px),#0000 100%)}.viewer-shell .filter-row::-webkit-scrollbar{height:0;display:none}.viewer-shell .chip{border-color:var(--glass-border);background:var(--glass);min-width:54px;box-shadow:var(--glass-shadow);letter-spacing:-.005em;padding-inline:11px;font-size:.76rem;font-weight:500}.viewer-shell .chip.is-active{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.viewer-shell .search-toggle,.viewer-shell .spot-search{border:1px solid var(--glass-border);background:var(--glass);height:44px;box-shadow:var(--glass-shadow);color:var(--foreground);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-radius:13px;flex:none}.viewer-shell .search-toggle{cursor:pointer;place-items:center;width:44px;min-width:44px;padding:0;display:grid}.viewer-shell .spot-search{width:min(240px,100vw - 76px);position:relative}.viewer-shell .spot-search:focus-within{border-color:#ffffff7a}.viewer-shell .spot-search-icon{z-index:1;color:var(--muted-foreground);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.viewer-shell .spot-search input{border-radius:inherit;width:100%;height:100%;color:var(--foreground);font:inherit;background:0 0;border:0;outline:0;padding:0 44px 0 38px;font-size:16px}.viewer-shell .spot-search input::placeholder{color:var(--muted-foreground);opacity:.78}.viewer-shell .spot-search input::-webkit-search-cancel-button{display:none}.viewer-shell .spot-search-clear{z-index:1;width:44px;height:44px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.viewer-shell .search-toggle:focus-visible,.viewer-shell .spot-search-clear:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.viewer-shell .bottom-bar{z-index:4;padding:0 12px max(24px, env(safe-area-inset-bottom));pointer-events:none;background:0 0;border:0;position:absolute;inset:auto 0 0}.viewer-shell .bottom-bar>*{pointer-events:none}.viewer-shell .map-chrome{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.viewer-shell .map-chrome>*{pointer-events:auto}.viewer-shell .create-map-btn{border:1px solid var(--glass-border);border-radius:var(--radius-chip);background:var(--glass-strong);min-height:44px;color:var(--foreground);box-shadow:var(--glass-shadow);letter-spacing:-.005em;flex:none;margin-left:auto;padding-inline:14px;font-size:.78rem;font-weight:500}.viewer-shell .view-toggle{border:1px solid var(--glass-border);background:var(--glass);height:44px;box-shadow:var(--glass-shadow);border-radius:13px;align-self:flex-start;align-items:center;gap:2px;padding:0;display:flex;overflow:hidden}.viewer-shell .view-toggle button{letter-spacing:-.005em;background:0 0;border:0;border-radius:11px;min-width:64px;height:44px;min-height:44px;font-size:.78rem;font-weight:500}.viewer-shell .view-toggle button[aria-pressed=true]{background:var(--foreground);color:var(--background)}.viewer-shell .dock-toggle{border:1px solid var(--glass-border);border-radius:var(--radius-chip);background:var(--glass);min-height:44px;box-shadow:var(--glass-shadow);letter-spacing:-.005em;padding:0 14px;font-size:.78rem;font-weight:500}.viewer-shell .locate-btn{border:1px solid var(--glass-border);border-radius:var(--radius-chip);background:var(--glass);width:44px;height:44px;box-shadow:var(--glass-shadow);color:var(--foreground);place-items:center;padding:0;display:grid}.viewer-shell .chip,.viewer-shell .create-map-btn,.viewer-shell .view-toggle,.viewer-shell .dock-toggle,.viewer-shell .locate-btn{-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);corner-shape:initial}.viewer-shell .locate-btn[aria-pressed=true]{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.viewer-shell .sound-toggle:focus-visible{outline-color:var(--foreground)}.viewer-shell .locate-btn[data-state=denied],.viewer-shell .locate-btn[data-state=unavailable]{border-color:var(--highlight)}.locate-toast{z-index:5;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--muted-foreground);pointer-events:none;border-radius:14px;margin:0;padding:10px 14px;font-size:.8rem;position:absolute;bottom:168px;left:12px;right:12px}.viewer-shell[data-view=list] .locate-toast{display:none}.locate-marker{pointer-events:none;width:0;height:0;position:relative}.locate-dot,.locate-accuracy{border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.locate-dot{background:#3b82f6;border:3px solid #fff;width:16px;height:16px;box-shadow:0 0 0 1px #2563eb66,0 4px 12px #0f172a59}.locate-accuracy{background:#3b82f62e;border:1px solid #3b82f659}@media (prefers-reduced-motion:no-preference){.locate-dot{animation:2.4s ease-out infinite locate-pulse}}@keyframes locate-pulse{0%{box-shadow:0 0 #3b82f673,0 4px 12px #0f172a59}70%{box-shadow:0 0 0 10px #3b82f600,0 4px 12px #0f172a59}to{box-shadow:0 0 #3b82f600,0 4px 12px #0f172a59}}.viewer-shell .list-column{background:var(--background);top:142px;bottom:140px;overflow:auto}.viewer-shell[data-view=list] .card-dock{display:none}.viewer-shell[data-view=list] .profile-trigger{box-shadow:none}.viewer-shell .profile-summary{border-bottom:1px solid var(--border);align-self:center;align-items:center;gap:14px;width:min(100%,760px);padding:20px 16px;display:flex}.viewer-shell .profile-summary-copy{min-width:0}.viewer-shell .profile-summary-copy h2{margin:0;font-size:1.35rem;line-height:1.15}.viewer-shell .profile-summary-copy>p{color:var(--muted-foreground);margin:4px 0 0;font-size:.82rem}.viewer-shell .profile-summary .badge{flex:none;margin-left:auto}.viewer-shell .spot-list{align-self:center;width:min(100%,760px);overflow:visible}.viewer-shell .spot-row{padding-block:14px}.card-dock{z-index:3;--card-width:min(78vw, 320px);position:absolute;inset:auto 0 90px}.card-dock .dock-list,.card-dock .dock-list[blossom-carousel]{padding:8px calc((100% - var(--card-width)) / 2) 12px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;white-space:normal;scroll-behavior:auto;gap:12px;max-inline-size:none;margin:0;list-style:none;display:flex;position:relative;overflow:auto hidden}.dock-list::-webkit-scrollbar{display:none}.card-dock .dock-list>li,.card-dock .dock-list[blossom-carousel]>li{width:var(--card-width);flex:0 0 var(--card-width);scroll-snap-align:center;display:block}.viewer-shell[data-dock-open=false] .card-dock{visibility:hidden;pointer-events:none}.spot-dock-card{background:var(--card);border-radius:var(--radius-card);cursor:pointer;height:100%;min-height:268px;box-shadow:var(--shadow);border:1px solid #0000;flex-direction:column;transition:border-color .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden}.spot-dock-card[data-selected=true]{border-color:#0000;box-shadow:0 0 0 1px #fff3,0 10px 28px -12px #00000080}.spot-dock-card .spot-photo{aspect-ratio:3/2;object-fit:cover;outline-offset:-1px;border-radius:0;outline:1px solid #ffffff1a;flex:none;height:112px}.spot-card-copy{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.spot-dock-card .spot-card-copy{flex:1;gap:5px;min-height:0;padding:13px 14px 14px}.spot-category{flex-wrap:wrap;align-items:center;gap:5px;margin:0;font-size:.7rem;font-weight:500;display:flex}.spot-category-part{color:var(--category-ink);align-items:center;gap:5px;display:inline-flex}.spot-category-sep{color:var(--muted-foreground);opacity:.7;margin:0 2px}.spot-address{background:color-mix(in srgb, var(--foreground) 6%, transparent);border-radius:12px;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.spot-address-text{color:var(--muted-foreground);flex:1;margin:0;font-size:.88rem;line-height:1.4}.spot-address-copy{min-width:44px;min-height:44px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:.75rem;display:inline-flex}.spot-address-copy:hover{color:var(--foreground)}.spot-dock-card h2{flex-shrink:0;margin:0;font-size:1rem;font-weight:600;line-height:1.25}.spot-dock-card h2 button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:8px;padding:0;display:flex}.spot-card-title-text{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.spot-card-detail-icon{color:var(--muted-foreground);opacity:.55;flex:none;margin-top:3px}.spot-dock-card[data-selected=true] .spot-card-detail-icon{color:var(--foreground);opacity:.9}.spot-dock-card h2 button:after{content:"";position:absolute;inset:0}.spot-dock-card .maps-choice{z-index:1;margin-top:auto;position:relative}.spot-dock-card:has(button:focus-visible){outline:2px solid var(--ring);outline-offset:2px}.spot-dock-card .spot-note{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;margin:0;font-size:.79rem;line-height:1.4;display:-webkit-box;overflow:hidden}.maps-link{gap:6px;min-height:44px;padding-inline:12px;font-size:.75rem;font-weight:500}.maps-choice-menu{z-index:41;border:1px solid var(--glass-border);box-shadow:var(--shadow);background:#101418f7;background:lab(6.18316% -.806056 -3.23802/.97);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed}.maps-choice-menu.is-contained{position:absolute}.maps-choice-item{width:100%;min-height:44px;color:var(--foreground);background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;padding:0 14px;font-size:.9rem;font-weight:650;text-decoration:none;display:flex}.maps-choice-item:focus-visible{background:var(--accent)}.viewer-shell[data-detail-open=true] .card-dock{visibility:hidden}.viewer-shell[data-detail-open=true] .bottom-bar{visibility:hidden;pointer-events:none}.viewer-shell[data-detail-open=true] .locate-toast{visibility:hidden}.editor-shell{isolation:isolate;position:relative}.editor-head,.editor-tools,.editor-shell>.hint,.editor-shell>.attrib,.editor-shell>.share-panel,.editor-shell>.result-list{z-index:2;background:var(--background);flex-shrink:0;position:relative}.editor-head{padding-bottom:8px}.editor-tools .search-form{margin:0}.editor-actions{align-items:center;gap:8px;display:flex}.editor-actions .text-btn{padding-inline:14px}.editor-shell .workspace{isolation:isolate}.editor-shell .result-list{max-height:24dvh;overflow:auto}.editor-shell>.attrib{margin:0;padding:0 16px 8px}.editor-shell .share-panel p{margin:0;font-size:.8rem}.city-picker-panel{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--foreground);background:var(--background);border:0;margin:0;padding:0;position:fixed;inset:0;overflow:auto}.city-picker-panel>.btn{position:absolute;top:16px;right:16px}@media (hover:hover) and (pointer:fine){.chip:not(.is-active):hover,.btn:not(.btn-accent):hover,.spot-row:hover,.maps-choice-item:hover{background:var(--accent)}.viewer-shell .chip:not(.is-active):hover,.viewer-shell .dock-toggle:hover,.viewer-shell .locate-btn:hover,.viewer-shell .create-map-btn:hover,.viewer-shell .sound-toggle:hover,.viewer-shell .search-toggle:hover{background:#161b20db;background:lab(9.50177% -1.15329 -4.20978/.86);border-color:#ffffff3d}.spot-dock-card:hover{border-color:var(--input)}}@media (prefers-reduced-motion:no-preference){.viewer-shell .chip,.viewer-shell .create-map-btn,.viewer-shell .view-toggle button,.viewer-shell .dock-toggle,.viewer-shell .locate-btn,.viewer-shell .sound-toggle,.viewer-shell .search-toggle{transition:background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out,scale .12s ease-out}.viewer-shell .profile-trigger:active,.viewer-shell .sound-toggle:active,.viewer-shell .chip:active,.viewer-shell .view-toggle button:active,.viewer-shell .dock-toggle:active,.viewer-shell .locate-btn:active,.viewer-shell .create-map-btn:active,.viewer-shell .search-toggle:active,.viewer-shell .spot-search-clear:active{scale:.97}}@media (max-height:700px){.card-dock{bottom:82px}.spot-dock-card{min-height:230px}.spot-dock-card .spot-photo{height:64px}.viewer-shell .bottom-bar{padding-bottom:16px}}@media (max-height:700px) and (min-width:768px){.spot-detail-drawer{max-height:calc(100dvh - 190px);bottom:80px}}@media (min-width:768px){.editor-shell .sheet{top:180px;bottom:24px;left:24px}.editor-head{gap:16px}.editor-tools{flex-direction:row;align-items:center}.editor-tools .search-form{width:min(480px,60vw)}.spot-detail-drawer{width:min(420px,100vw - 48px);max-height:calc(100dvh - 112px);box-shadow:var(--shadow);border-radius:16px;left:24px;right:auto}.spot-detail-media .spot-photo{height:min(34dvh,260px)}.viewer-shell:has(.create-map-btn) .map-column .maplibregl-ctrl-bottom-right{bottom:24px;right:120px}}@media (max-width:767px){.viewer-shell .bottom-bar{padding-bottom:max(44px, env(safe-area-inset-bottom))}.viewer-shell .map-chrome{gap:6px}.viewer-shell .view-toggle button{min-width:46px;padding-inline:10px}.viewer-shell .dock-toggle{padding-inline:10px}.viewer-shell .create-map-btn{padding-inline:12px}.card-dock{bottom:110px}.spot-detail-drawer{max-height:min(92dvh, calc(100dvh - env(safe-area-inset-top,0px) - 8px));background:#16181c;border-bottom:0;border-radius:16px 16px 0 0;bottom:0}.viewer-shell .list-column{bottom:112px}.locate-toast{bottom:148px}}.spot-subgroup{color:var(--muted-foreground);font-size:.7rem;font-weight:400}.map-credit{color:var(--muted-foreground)}.viewer-shell .profile-trigger:has(.map-credit){max-width:min(340px,100vw - 76px)}
