:root{--motion-travel:cubic-bezier(.22, .61, .36, 1);--motion-enter:cubic-bezier(.32, .72, 0, 1);--motion-exit:ease-out;--motion-travel-duration:1.1s;--depth-0-z:100;--depth-1-z:400;--depth-2-z:700;--depth-3-z:1000;--depth-0-shadow:none;--depth-1-shadow:0 1px 3px #0000001f, 0 1px 2px #00000014;--depth-2-shadow:0 8px 24px #00000029, 0 2px 6px #0000001a;--depth-3-shadow:0 12px 40px #00000038, 0 4px 12px #00000024;--orb-size-lg:56px;--orb-size-md:36px;--orb-size-sm:22px;--orb-size-xs:18px}@media (prefers-reduced-motion:reduce){:root{--motion-travel-duration:0s}}:root{--accent-h:211;--accent-s:100%;--accent-l:50%;--success-h:142;--success-s:71%;--success-l:45%;--warning-h:35;--warning-s:100%;--warning-l:50%;--error-h:4;--error-s:100%;--error-l:59%;--bg-primary:#fff;--bg-secondary:#f5f5f7;--bg-tertiary:#e8e8ed;--bg-elevated:#fff;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#86868b;--border-color:#00000014;--border-strong:#00000026;--border-subtle:#0000000a;--accent-primary:hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-hover:hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 8%));--accent-subtle:hsla(var(--accent-h), var(--accent-s), var(--accent-l), .1);--accent-primary-text:hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent-success:hsl(var(--success-h), var(--success-s), var(--success-l));--accent-warning:hsl(var(--warning-h), var(--warning-s), var(--warning-l));--accent-error:hsl(var(--error-h), var(--error-s), var(--error-l));--gradient-primary:linear-gradient(135deg, hsl(var(--accent-h), var(--accent-s), var(--accent-l)) 0%, hsl(var(--accent-h), var(--accent-s), calc(var(--accent-l) - 12%)) 100%);--glass-bg:linear-gradient(135deg, #ffffffeb 0%, #f8faffe0 100%);--glass-bg-solid:#ffffffeb;--glass-border:#fff9;--glass-blur:20px;--glass-saturate:180%;--glass-inner-glow:inset 0 1px 0 #fffc;--shadow-sm:0 2px 4px #0000000a, 0 1px 2px #00000008;--shadow-md:0 4px 8px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 12px 24px #00000014, 0 6px 12px #0000000f;--shadow-primary:0 4px 14px hsla(var(--accent-h), var(--accent-s), var(--accent-l), .35);--overlay-dim:#0006;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--top-nav-height:56px;--search-row-height:52px;--hud-button-size:44px;--panel-radius:12px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-size-sm:13px;--font-size-base:15px;--font-size-lg:17px;--font-weight-medium:500;--font-weight-semibold:600;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--transition-fast:.15s var(--ease-out-quart);--transition-normal:.25s var(--ease-out-quart);--transition-panel:.3s var(--ease-out-expo);--z-map:1;--z-hud:110;--z-panels:100;--z-bottom-sheet:150;--z-top-nav:300;--z-overlay:400;--z-story-above-sheet:401;--z-modal:500;--z-toast:600}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden}#app{z-index:1;background:0 0;flex-direction:column;width:100%;height:100%;min-height:100vh;display:flex;position:relative}.view{flex-direction:column;width:100%;height:100%;min-height:100vh;display:none}.view.active{display:flex}.view-landing{overflow:hidden auto}.view-experience{height:100%;position:relative;overflow:hidden}.top-nav{height:calc(var(--top-nav-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);z-index:var(--z-top-nav);padding-left:calc(var(--space-md) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-md) + env(safe-area-inset-right,0px));justify-content:space-between;align-items:center;gap:var(--space-md);transition:transform var(--transition-normal), opacity var(--transition-normal);display:flex;position:fixed;top:0;left:0;right:0}.top-nav.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.top-nav__left{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.top-nav__icon{object-fit:cover;border-radius:8px;flex-shrink:0;width:32px;height:32px}.top-nav__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.top-nav__right{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.map-container{min-height:0;z-index:var(--z-map);flex:1;position:relative}:where(.glass){background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border:1px solid var(--glass-border);box-shadow:var(--glass-inner-glow), var(--shadow-md)}.hud{z-index:var(--z-hud);gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}.hud>*{pointer-events:auto}.hud--left{left:calc(var(--space-md) + env(safe-area-inset-left,0px))}.hud--right{right:calc(var(--space-md) + env(safe-area-inset-right,0px))}.hud--hidden{opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.side-panel:not(.open),.poi-panel:not(.open),.bottom-sheet-container:not(.sheet-preview):not(.sheet-fully-open){content-visibility:auto;contain-intrinsic-size:0 500px}.btn-icon{width:var(--hud-button-size);height:var(--hud-button-size);border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text-primary);cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;display:flex}.btn-icon:hover{background:var(--glass-bg-solid)}.btn-icon:active{transform:scale(.95)}.btn-icon i{font-size:20px}
