@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--font-family:"Outfit", system-ui, -apple-system, sans-serif;--bg-base:#f7f9fc;--bg-card:#ffffffb3;--bg-card-hover:#ffffffe6;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#fff6;--border-color-strong:#0000000d;--accent-color:#3b82f6;--accent-hover:#2563eb;--color-coral:coral;--color-sunflower:#f4c430;--color-mint:#98ff98;--color-lavender:#e6e6fa;--color-sky:#87ceeb;--color-peach:#ffe5b4;--color-rose:#ffb6c1;--color-sage:#9dc183;--color-dine-out:#ef4444;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-glass:0 8px 32px 0 #1f268712;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--transition-fast:.15s ease-out;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}input,select,textarea{font-size:16px}body{font-family:var(--font-family);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0 0,#100f1508 0,#0000 50%),radial-gradient(at 50% 0,#2f3e6a08 0,#0000 50%),radial-gradient(at 100% 0,#72274108 0,#0000 50%);min-height:100dvh}#root{flex-direction:column;min-height:100dvh;display:flex}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-glass)}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-md);border-radius:var(--radius-xl);border:1px solid #ffffff80}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.2}h1{letter-spacing:-.02em;font-size:2.5rem}h2{letter-spacing:-.01em;font-size:2rem}h3{font-size:1.5rem}p{line-height:1.6}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0003}.hover-lift{transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.active-scale:active{transform:scale(.97)}@media (width<=768px){.hidden-mobile,.mobile-nav-container{display:none!important}.bottom-nav{-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-color);padding:1rem 1rem calc(env(safe-area-inset-bottom,0px) + 1.25rem);z-index:50;background:#ffffffd9;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000d}.bottom-nav-item{color:var(--text-muted);transition:color var(--transition-fast);flex-direction:column;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--accent-color)}main{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))!important}}@media (width>=769px){.bottom-nav{display:none}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.gradient-cooked{animation:6s infinite gradientShift;background:linear-gradient(135deg,#4285f433 0%,#9b72d92e 33%,#34a88f2e 66%,#eab30824 100%) 0 0/200% 200%!important;border:1.5px solid #9b72d938!important}body.scroll-locked{overflow:hidden!important}.grocery-check-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:flex;position:relative}.check-ring{border:2px solid var(--accent-color);border-radius:50%;transition:background .2s,border-color .2s;position:absolute;inset:0}.check-mark{z-index:1;color:#fff;opacity:0;font-size:.85rem;font-weight:700;transition:opacity .15s;position:relative}.grocery-check-btn.checked .check-ring{background:var(--accent-color);border-color:var(--accent-color)}.grocery-check-btn.checked .check-mark{opacity:1}
