:root{--bg:#faf8f4;--bg-surface:#ffffff;--bg-elevated:#f3f0ea;--bg-overlay:rgba(250,248,244,0.92);--bg-glass:rgba(250,248,244,0.82);--accent:#e8670a;--accent-dim:rgba(232,103,10,0.10);--accent-glow:rgba(232,103,10,0.22);--accent-dark:#c05508;--accent-light:#fff4ec;--teal:#0d9488;--teal-dim:rgba(13,148,136,0.10);--purple:#7c3aed;--purple-dim:rgba(124,58,237,0.10);--rose:#e11d48;--rose-dim:rgba(225,29,72,0.10);--text:#1a1612;--text-2:#6b6358;--text-3:#a89f94;--border:rgba(26,22,18,0.08);--border-hover:rgba(26,22,18,0.18);--border-accent:rgba(232,103,10,0.22);--shadow-sm:0 1px 4px rgba(26,22,18,0.08);--shadow-md:0 4px 20px rgba(26,22,18,0.10);--shadow-lg:0 12px 48px rgba(26,22,18,0.14);--shadow-accent:0 4px 20px rgba(232,103,10,0.28);--shadow-sheet:0 -4px 32px rgba(26,22,18,0.12);--shadow-glossy:0 2px 12px rgba(232,103,10,0.30),inset 0 1px 0 rgba(255,255,255,0.25);--map-chrome-bg:rgba(250,248,244,0.88);--map-chrome-border:rgba(26,22,18,0.10);--glass-bg:rgba(255,255,255,0.72);--glass-border:rgba(0,0,0,0.10);--glass-active:rgba(232,103,10,0.88);--glass-text:#1a1612;--r-xs:6px;--r-sm:10px;--r-md:16px;--r-lg:20px;--r-xl:28px;--r-full:9999px;--font-body:var(--font-geist-sans,"Geist"),system-ui,sans-serif;--font-display:var(--font-geist-sans,"Geist"),system-ui,sans-serif;--font-mono:var(--font-geist-mono,"Geist Mono"),monospace;--nav-h:72px;--bottom-h:calc(68px + env(safe-area-inset-bottom, 0px));--max-w:480px}[data-theme=dark]{--bg:#1c1916;--bg-surface:#252119;--bg-elevated:#2e2a22;--bg-overlay:rgba(28,25,22,0.92);--bg-glass:rgba(28,25,22,0.80);--accent:#f07820;--accent-dim:rgba(240,120,32,0.16);--accent-glow:rgba(240,120,32,0.28);--accent-dark:#d06010;--accent-light:#2a1a0a;--text:#f0ebe2;--text-2:#a89f94;--text-3:#6b6358;--border:rgba(255,245,235,0.10);--border-hover:rgba(255,245,235,0.20);--border-accent:rgba(240,120,32,0.25);--shadow-sm:0 1px 4px rgba(0,0,0,0.35);--shadow-md:0 4px 20px rgba(0,0,0,0.45);--shadow-lg:0 12px 48px rgba(0,0,0,0.60);--shadow-accent:0 4px 20px rgba(240,120,32,0.35);--shadow-sheet:0 -4px 32px rgba(0,0,0,0.55);--shadow-glossy:0 2px 12px rgba(240,120,32,0.35),inset 0 1px 0 rgba(255,255,255,0.08);--map-chrome-bg:rgba(15,13,11,0.80);--map-chrome-border:rgba(255,245,235,0.08);--glass-bg:rgba(10,8,6,0.62);--glass-border:rgba(255,245,235,0.16);--glass-active:rgba(240,120,32,0.85);--glass-text:#ede8e0}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{height:100%;color-scheme:light;transition:background .25s}[data-theme=dark]{color-scheme:dark}body{min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background .25s,color .25s}p{line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2}button{font-family:inherit;cursor:pointer;border:none;background:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes pulse-ring{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.6);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:root{--spring:cubic-bezier(0.34,1.56,0.64,1);--ease-out:cubic-bezier(0.16,1,0.3,1)}.press-scale:active{transform:scale(.96)}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.shimmer{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-surface) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.mapboxgl-ctrl-bottom-left{left:12px!important}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{bottom:calc(env(safe-area-inset-bottom, 0px) + 16px)!important;z-index:1!important}.mapboxgl-ctrl-bottom-right{right:12px!important}