@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Chewy&display=swap";:root{--primary: #cd1c18;--primary-light: rgba(205, 28, 24, .12);--primary-foreground: #ffffff;--secondary: #f2ebe0;--secondary-foreground: #5b4c3f;--background: #faf5ec;--foreground: #2b241d;--card: #fffaf2;--card-foreground: #2b241d;--muted: #ece2d3;--muted-foreground: #7c6c5b;--accent-token: #ffa896;--accent-foreground: #38000a;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--border: rgba(43, 36, 29, .11);--ring: #cd1c18;--nav-bg: rgba(250, 245, 236, .92);--shadow-xs: 0 1px 2px rgba(43, 36, 29, .05);--shadow-sm: 0 1px 2px rgba(43, 36, 29, .05), 0 2px 8px rgba(43, 36, 29, .07);--shadow-md: 0 2px 6px rgba(43, 36, 29, .07), 0 4px 16px rgba(43, 36, 29, .09);--shadow-lg: 0 4px 12px rgba(43, 36, 29, .09), 0 8px 32px rgba(43, 36, 29, .11);--shadow-primary: 0 4px 20px rgba(205, 28, 24, .28);--bg: var(--background);--surface: var(--card);--surface-raised: var(--muted);--surface-hairline: var(--border);--text: var(--foreground);--text-dim: var(--muted-foreground);--text-faint: color-mix(in srgb, var(--muted-foreground) 75%, transparent);--accent: var(--primary);--accent-strong: var(--primary);--accent-ink: var(--primary-foreground);--danger: var(--error);--radius-lg: 1rem;--radius-md: .875rem;--radius-sm: .75rem;--shadow-card: var(--shadow-sm);--font-display: "Space Grotesk", "Inter", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-xl: 1.5rem;--radius-2xl: 2rem;--shadow-float: 0 12px 32px rgba(43, 36, 29, .14), 0 4px 12px rgba(43, 36, 29, .08);--shadow-hero: 0 24px 64px rgba(43, 36, 29, .18);--ease-premium: cubic-bezier(.22, 1, .36, 1);--duration-fast: .18s;--duration-base: .28s;--duration-slow: .45s;--category-card-bg: var(--card);--category-card-text: var(--foreground);--category-card-glow: var(--primary);--home-header-accent: var(--accent);--category-card-font: "Chewy", "Space Grotesk", cursive;--category-card-text-shadow: none;--doodle-image: url(doodle-pattern-light.bbd047f7ae0d139a.png);--doodle-opacity: .85}.dark{--primary: #3b82f6;--primary-light: rgba(59, 130, 246, .12);--primary-foreground: #ffffff;--secondary: #131d32;--secondary-foreground: #cbd5e1;--background: #06091a;--foreground: #f0f4ff;--card: #0d1426;--card-foreground: #f0f4ff;--muted: #1a2540;--muted-foreground: #64748b;--accent-token: #06b6d4;--accent-foreground: #ffffff;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--border: rgba(255, 255, 255, .08);--ring: #3b82f6;--nav-bg: rgba(6, 9, 26, .94);--shadow-xs: 0 1px 3px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .35), 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .4), 0 8px 32px rgba(0, 0, 0, .3);--shadow-primary: 0 4px 20px rgba(59, 130, 246, .3);--shadow-float: 0 12px 32px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .3);--shadow-hero: 0 24px 64px rgba(0, 0, 0, .55);--category-card-bg: var(--card);--category-card-text: var(--foreground);--category-card-glow: var(--primary);--home-header-white: #ffffff;--category-card-text-shadow: none;--doodle-image: url(doodle-pattern-dark.54e830f06624e1d8.png);--doodle-opacity: .2}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}body{display:flex;justify-content:center;background:color-mix(in srgb,var(--bg) 88%,black 12%)}@media (min-width: 900px){body{background:var(--bg)}}app-root{width:100%;max-width:480px;min-height:100vh;background:var(--bg);box-shadow:var(--shadow-lg);position:relative;z-index:0}@media (min-width: 900px){app-root{max-width:none;box-shadow:none}}app-root:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--doodle-image);background-repeat:repeat;background-position:0 0;background-size:320px 175px;opacity:var(--doodle-opacity);transition:background-image .25s ease,opacity .25s ease}h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0 0 8px;letter-spacing:-.01em}h1{font-size:28px;line-height:1.15}@media (min-width: 900px){h1{font-size:clamp(28px,3vw,36px)}}h2{font-size:21px}h3{font-size:16px;font-family:var(--font-body);font-weight:700}p{margin:0 0 12px;color:var(--text-dim);line-height:1.5}a{color:inherit}button{font-family:var(--font-body)}::-webkit-scrollbar{width:0;height:0}.screen{min-height:100vh;padding:28px 24px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column}@media (min-width: 900px){.screen{max-width:720px;width:100%;box-sizing:border-box;margin:0 auto}}.screen-scroll{flex:1;overflow-y:auto;padding:16px;margin-top:-16px;margin-bottom:-16px;width:100%}@media (min-width: 900px){.screen-scroll{max-width:720px;margin-left:auto;margin-right:auto}}@media (min-width: 900px){.screen-scroll--wide{max-width:1320px}}.btn{appearance:none;border:none;border-radius:999px;padding:15px 20px;font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.btn:active{transform:scale(.96);opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-primary)}.btn-outline{background:transparent;border:1px solid var(--surface-hairline);color:var(--text)}.btn-ghost{background:transparent;color:var(--text-dim);padding:10px}.btn-link{background:none;border:none;color:var(--accent);font-weight:700;font-size:14px;cursor:pointer;padding:4px;width:auto}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:600;color:var(--text-dim);margin-bottom:8px}.field input,.field select,.field textarea{width:100%;background:var(--surface);border:1px solid var(--surface-hairline);border-radius:var(--radius-sm);padding:14px 16px;font-size:15px;color:var(--text);font-family:var(--font-body)}.field input::placeholder,.field select::placeholder,.field textarea::placeholder{color:var(--text-faint)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field-hint{font-size:12px;color:var(--text-faint);margin-top:6px}.field-error{font-size:12px;color:var(--danger);margin-top:6px}.card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-card);border:1px solid var(--surface-hairline)}.card-lift{transition:transform .22s ease,box-shadow .22s ease}.card-lift:active{transform:scale(.98)}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--primary-light);color:var(--accent-strong)}.banner-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;margin-bottom:16px}.banner-success{background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);color:var(--success);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;margin-bottom:16px}.divider-row{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-faint);font-size:12px}.divider-row:before,.divider-row:after{content:"";flex:1;height:1px;background:var(--surface-hairline)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:spin .7s linear infinite}a,button{transition:box-shadow .18s ease,transform .15s ease;border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent}@media (hover: hover) and (pointer: fine){a:hover,button:not(:disabled):hover{box-shadow:0 0 10px color-mix(in srgb,var(--primary) 50%,transparent)!important;transform:scale(1.02);z-index:5}}a:active,button:not(:disabled):active{box-shadow:0 0 10px color-mix(in srgb,var(--primary) 50%,transparent)!important;transform:scale(.98);z-index:5}.category-arrow{transition:color .18s ease}@media (hover: hover) and (pointer: fine){button.category-arrow:hover{box-shadow:none!important;transform:translateY(-50%)!important;color:var(--primary)}}button.category-arrow:active{box-shadow:none!important;transform:translateY(-50%)!important;color:var(--primary)}.heart-btn,.star-btn,.dish-heart-btn{transition:color .18s ease,transform .15s ease}@media (hover: hover) and (pointer: fine){button.heart-btn:hover,button.dish-heart-btn:hover{box-shadow:none!important;color:var(--danger);transform:scale(1.15)}button.star-btn:hover{box-shadow:none!important;color:var(--accent-strong);transform:scale(1.15)}}button.heart-btn:active,button.dish-heart-btn:active{box-shadow:none!important;color:var(--danger);transform:scale(1.15)}button.star-btn:active{box-shadow:none!important;color:var(--accent-strong);transform:scale(1.15)}.btn-link,.maps-link,.see-all{transition:text-shadow .18s ease,font-size .18s ease}@media (hover: hover) and (pointer: fine){.btn-link.btn-link:hover,.maps-link.maps-link:hover,.see-all.see-all:hover{box-shadow:none!important;transform:none!important;text-shadow:0 0 8px color-mix(in srgb,var(--primary) 55%,transparent);font-size:105%}}.btn-link.btn-link:active,.maps-link.maps-link:active,.see-all.see-all:active{box-shadow:none!important;transform:none!important;text-shadow:0 0 8px color-mix(in srgb,var(--primary) 55%,transparent);font-size:105%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .32s cubic-bezier(.22,1,.36,1) both}.stagger-1{animation-delay:0s}.stagger-2{animation-delay:45ms}.stagger-3{animation-delay:.09s}.stagger-4{animation-delay:.135s}.stagger-5{animation-delay:.18s}.stagger-6{animation-delay:.225s}.stagger-7{animation-delay:.27s}.stagger-8{animation-delay:.315s}@keyframes scaleIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.scale-in{animation:scaleIn .3s cubic-bezier(.22,1,.36,1) both}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer{background:linear-gradient(90deg,var(--muted) 25%,color-mix(in srgb,var(--foreground) 8%,transparent) 50%,var(--muted) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.btn-press{transition:transform .15s ease,opacity .15s ease}.btn-press:active{transform:scale(.95);opacity:.88}
