*{margin:0;padding:0;box-sizing:border-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton:after{animation:none!important}}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--surface-base);color:var(--fg-primary);line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-base);padding-top:var(--header-height);padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}:global(.dark) .app{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' opacity='.03'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23a)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:150px 150px}.app--offline{padding-top:calc(var(--header-height) + var(--offline-banner-height))}.main{flex:1;width:100%}.screen-content{width:100%;min-height:calc(100vh - var(--header-height) - var(--bottom-nav-height))}@media (min-width: 768px){.app{padding-left:var(--sidebar-width);padding-bottom:0}.app--offline{padding-bottom:0}.main{max-width:860px;margin-left:auto;margin-right:auto;width:100%}}@media (display-mode: standalone){.app{padding-top:calc(var(--header-height) + env(safe-area-inset-top))}}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease-out}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.activity-routes-container{position:relative;height:100%;width:100%}.activity-route{height:100%;overflow:auto;background:var(--surface-base)}:root{--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-muted: #ddd6fe;--accent-secondary: #10b981;--accent-secondary-hover: #059669;--accent-secondary-muted: #d1fae5;--accent-warm: #d97706;--accent-warm-hover: #b45309;--accent-warm-muted: #fef3c7;--badge-spicy: #ef4444;--badge-vegan: #22c55e;--badge-popular: var(--accent-warm);--badge-halal: #0d9488;--badge-kosher: #3b82f6;--badge-gluten-free: #f59e0b;--badge-dairy-free: #6366f1;--badge-nut-free: #f97316;--surface-base: #ffffff;--surface-raised: #fafafa;--surface-active: #f4f4f5;--surface-hover: #e4e4e7;--border-subtle: #e4e4e7;--border-default: #d4d4d8;--border-strong: #a1a1aa;--fg-primary: #18181b;--fg-secondary: #52525b;--fg-tertiary: #71717a;--fg-muted: #a1a1aa;--fg-inverse: #ffffff;--success: #10b981;--success-muted: #d1fae5;--warning: #f59e0b;--warning-dark: #b45309;--warning-text: #92400e;--warning-muted: #fef3c7;--error: #ef4444;--error-muted: #fee2e2;--info: #3b82f6;--info-muted: #dbeafe;--border-focus: var(--accent);--control-bg: var(--surface-base);--control-border: var(--border-default);--control-bg-disabled: var(--surface-active);--control-text-disabled: var(--fg-tertiary);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-float: 0 4px 20px rgba(0, 0, 0, .15);--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--shadow-up: 0 -10px 40px -15px rgba(0, 0, 0, .1);--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-display: "DM Serif Display", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base-sm: .8125rem;--text-sm-md: .875rem;--text-md: .9375rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-caps: .06em;--z-base: 1;--z-sticky: 10;--z-nav: 50;--z-overlay: 90;--z-header: 100;--z-banner: 101;--z-backdrop: 200;--z-modal: 201;--z-toast: 1000;--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--ease-default: ease;--ease-in: ease-in;--ease-out: ease-out;--ease-in-out: ease-in-out;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-snap: cubic-bezier(.32, .72, 0, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--overlay-light: rgba(0, 0, 0, .2);--overlay-medium: rgba(0, 0, 0, .45);--overlay-heavy: rgba(0, 0, 0, .7);--surface-glass: rgba(255, 255, 255, .95);--white-alpha-low: rgba(255, 255, 255, .2);--white-alpha-30: rgba(255, 255, 255, .3);--white-alpha-mid: rgba(255, 255, 255, .4);--white-alpha-high: rgba(255, 255, 255, .6);--focus-ring: 0 0 0 3px var(--accent-muted);--focus-outline: 2px solid var(--accent);--focus-outline-offset: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--header-height: 56px;--bottom-nav-height: 64px;--sticky-bottom-bar-height: 80px;--offline-banner-height: 36px;--sidebar-width: 220px}[data-theme=emerald]{--accent: #10b981;--accent-hover: #059669;--accent-muted: #d1fae5}.dark{--surface-base: #12111a;--surface-raised: #1c1b24;--surface-glass: rgba(28, 27, 36, .95);--surface-active: #2a2932;--surface-hover: #3a3942;--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .14);--border-strong: rgba(255, 255, 255, .22);--border-focus: rgba(255, 255, 255, .35);--fg-primary: #fafafa;--fg-secondary: #d4d4d8;--fg-tertiary: #a1a1aa;--fg-muted: #71717a;--fg-inverse: #12111a;--success: #34d399;--success-muted: rgba(52, 211, 153, .15);--warning: #fbbf24;--warning-dark: #fbbf24;--warning-text: #fcd34d;--warning-muted: rgba(251, 191, 36, .15);--error: #f87171;--error-muted: rgba(248, 113, 113, .15);--info: #60a5fa;--info-muted: rgba(96, 165, 250, .15);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .7), 0 8px 16px rgba(0, 0, 0, .5);--shadow-float: 0 4px 20px rgba(0, 0, 0, .5);--shadow-card: 0 2px 12px rgba(0, 0, 0, .4);--shadow-up: 0 -10px 40px -15px rgba(0, 0, 0, .5);--accent: #a78bfa;--accent-hover: #8b5cf6;--accent-muted: rgba(167, 139, 250, .15);--badge-spicy: #f87171;--badge-vegan: #4ade80;--accent-warm: #fbbf24;--accent-warm-hover: #f59e0b;--accent-warm-muted: rgba(251, 191, 36, .15);--badge-popular: var(--accent-warm);--badge-halal: #2dd4bf;--badge-kosher: #60a5fa;--badge-gluten-free: #fbbf24;--badge-dairy-free: #818cf8;--badge-nut-free: #fb923c;--control-bg: var(--surface-raised);--control-border: var(--border-default);--control-bg-disabled: var(--surface-active);--control-text-disabled: var(--fg-muted)}[data-theme=emerald].dark,.dark[data-theme=emerald]{--accent: #34d399;--accent-hover: #10b981;--accent-muted: rgba(52, 211, 153, .15)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-item{animation:fadeInUp var(--duration-normal) var(--ease-out) backwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.scroll-x{display:flex;gap:var(--space-3);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scroll-x::-webkit-scrollbar{display:none}
