@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+Devanagari:wght@400;500;600;700&display=swap";:root{--color-cream: #FDFAF5;--color-cream-warm: #FAF3EA;--color-terracotta: #D4613A;--color-terracotta-light: #E8845E;--color-terracotta-dark: #B8482A;--color-terracotta-glow: rgba(212, 97, 58, .15);--color-saffron: #EDA528;--color-saffron-light: #FDD97A;--color-saffron-glow: rgba(237, 165, 40, .12);--color-green: #3D8B5E;--color-green-light: #5CB87A;--color-green-dark: #2C6643;--color-green-glow: rgba(61, 139, 94, .1);--color-maroon: #8C3548;--color-gold: #C9982A;--color-brown: #5C3D2E;--color-brown-light: #8B6F5E;--color-text: #1A1207;--color-text-secondary: #5A4A38;--color-text-muted: #9E9083;--color-border: #EDE6DC;--color-border-light: #F4F0EB;--color-bg: var(--color-cream);--color-card: #FFFFFF;--color-card-hover: #FFFDFB;--color-card-shadow: 0 1px 3px rgba(92, 61, 46, .04), 0 4px 12px rgba(92, 61, 46, .06);--color-card-shadow-hover: 0 2px 8px rgba(92, 61, 46, .06), 0 8px 24px rgba(92, 61, 46, .1);--color-overlay: rgba(26, 18, 7, .4);--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-nepali: "Noto Sans Devanagari", sans-serif;--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 50%;--radius-pill: 100px;--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .12s var(--ease-out);--transition-normal: .2s var(--ease-out);--transition-slow: .35s var(--ease-out);--transition-bounce: .4s var(--ease-spring);--nav-height: 60px;--max-width: 430px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;letter-spacing:-.01em}#root{max-width:var(--max-width);margin:0 auto;padding:0;text-align:left;min-height:100vh;min-height:100dvh;position:relative}h1,h2,h3,h4{font-family:var(--font-body);font-weight:700;line-height:1.15;color:var(--color-text);letter-spacing:-.025em}h1{font-size:1.75rem;font-weight:800}h2{font-size:1.25rem;font-weight:700}h3{font-size:1.05rem;font-weight:600}p{line-height:1.55;color:var(--color-text-secondary)}a{color:var(--color-terracotta);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-terracotta-dark)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;background:none;font-size:.875rem;letter-spacing:-.005em;transition:all var(--transition-normal);-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:2px}button:active{transform:scale(.97)}img{max-width:100%;display:block}input{font-family:var(--font-body);letter-spacing:-.005em}.nepali-text{font-family:var(--font-nepali);letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-enter{animation:pageEnter .45s var(--ease-out) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes winnerGlow{0%,to{box-shadow:0 0 #d4613a33,var(--color-card-shadow)}50%{box-shadow:0 0 0 6px #d4613a14,0 4px 20px #d4613a26}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.navbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--max-width);height:var(--nav-height);background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-around;z-index:100;padding:0 var(--space-xs)}.navbar-tab{display:flex;flex-direction:column;align-items:center;gap:1px;padding:var(--space-sm) var(--space-xs);text-decoration:none;color:var(--color-text-muted);transition:all var(--transition-normal);position:relative;min-width:48px;border-radius:var(--radius-sm)}.navbar-tab__icon{font-size:1.25rem;line-height:1;transition:transform var(--transition-bounce)}.navbar-tab__label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;opacity:.7}.navbar-tab--active{color:var(--color-terracotta)}.navbar-tab--active .navbar-tab__icon{transform:scale(1.1) translateY(-1px)}.navbar-tab--active .navbar-tab__label{opacity:1}.navbar-tab--active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--color-terracotta);border-radius:0 0 2px 2px}.navbar-tab:hover:not(.navbar-tab--active){color:var(--color-text-secondary)}.home{display:flex;flex-direction:column;gap:var(--space-xl)}.home__date-section{text-align:center;padding:var(--space-2xl) 0 var(--space-lg);position:relative}.home__greeting{font-family:var(--font-nepali);font-size:.85rem;color:var(--color-text-muted);font-weight:500;margin-bottom:var(--space-xs)}.home__nepali-date{font-size:1.6rem;font-weight:700;color:var(--color-terracotta);margin-bottom:2px;letter-spacing:0}.home__english-date{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.home__day{font-size:.95rem;font-weight:600;color:var(--color-text-secondary);margin-top:var(--space-xs)}.home__status{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-md);animation:slideUp .4s var(--ease-out) .1s both}.home__status--veg{background:linear-gradient(135deg,#ecf7ef,#ddf0e2);border:1px solid rgba(61,139,94,.15)}.home__status--all{background:linear-gradient(135deg,#fef6ec,#fdecd4);border:1px solid rgba(237,165,40,.15)}.home__status-icon{font-size:1.75rem;line-height:1}.home__status-text{display:flex;flex-direction:column;gap:1px}.home__status-text strong{font-size:.8rem;letter-spacing:.05em;font-weight:700}.home__status--veg .home__status-text strong{color:var(--color-green-dark)}.home__status--all .home__status-text strong{color:var(--color-brown)}.home__status-reason{font-size:.75rem;color:var(--color-text-muted);font-weight:400}.home__festival{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#fef0f3,#fce4ec);border-radius:var(--radius-md);border:1px solid rgba(140,53,72,.1);animation:slideUp .4s var(--ease-out) .15s both}.home__festival-icon{font-size:1.3rem;line-height:1}.home__festival-name{font-weight:600;font-size:.85rem;color:var(--color-maroon)}.home__people-section{animation:slideUp .4s var(--ease-out) .2s both}.home__section-title{font-size:.95rem;font-weight:700;margin-bottom:var(--space-md);color:var(--color-text);letter-spacing:-.02em}.home__people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.home__person{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-md) var(--space-xs);border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-card);position:relative;transition:all var(--transition-normal);box-shadow:0 1px 2px #00000008}.home__person--active{border-color:var(--color-terracotta);background:linear-gradient(180deg,#fff8f5,#fff3ee);box-shadow:0 2px 8px var(--color-terracotta-glow)}.home__person:hover{transform:translateY(-2px);box-shadow:var(--color-card-shadow)}.home__person-emoji{font-size:1.75rem;line-height:1;transition:transform var(--transition-bounce)}.home__person--active .home__person-emoji{transform:scale(1.08)}.home__person-name{font-size:.65rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:0}.home__person-check{position:absolute;top:-3px;right:-3px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--color-terracotta);color:#fff;font-size:.5rem;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 1px 3px #d4613a4d;animation:scaleIn .2s var(--ease-spring) both}.home__cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xl) var(--space-lg);background:linear-gradient(145deg,var(--color-terracotta),var(--color-terracotta-dark));color:#fff;border-radius:var(--radius-lg);font-weight:700;box-shadow:0 4px 12px #d4613a40,inset 0 1px #ffffff1f;animation:slideUp .4s var(--ease-out) .3s both;position:relative;overflow:hidden}.home__cta:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent);pointer-events:none}.home__cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #d4613a59,inset 0 1px #ffffff1f}.home__cta:active:not(:disabled){transform:scale(.98) translateY(0)}.home__cta:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.3)}.home__cta-nepali{font-size:1.6rem;font-weight:700;animation:gentlePulse 3s ease-in-out infinite}.home__cta-english{font-size:.8rem;opacity:.8;font-weight:400}.home__history{animation:slideUp .4s var(--ease-out) .35s both}.home__history-list{display:flex;flex-direction:column;gap:var(--space-sm)}.home__history-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-card);border-radius:var(--radius-md);border:1px solid var(--color-border-light);text-align:left;transition:all var(--transition-normal);animation:fadeInUp .3s var(--ease-out) both;box-shadow:0 1px 2px #00000005}.home__history-item:hover{border-color:var(--color-border);box-shadow:var(--color-card-shadow);transform:translate(2px)}.home__history-left{display:flex;flex-direction:column;gap:1px;min-width:0}.home__history-name{font-size:.85rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home__history-nepali{font-size:.7rem;color:var(--color-text-muted)}.home__history-right{display:flex;flex-direction:column;align-items:flex-end;gap:0;flex-shrink:0}.home__history-ago{font-size:.75rem;font-weight:600;color:var(--color-terracotta)}.home__history-date,.home__history-time{font-size:.6rem;color:var(--color-text-muted)}.home__fridge-link{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-lg);background:var(--color-card);border-radius:var(--radius-md);border:1.5px dashed var(--color-border);font-weight:600;font-size:.9rem;color:var(--color-text-secondary);transition:all var(--transition-normal);animation:slideUp .4s var(--ease-out) .4s both;box-shadow:0 1px 2px #00000005}.home__fridge-link:hover{border-color:var(--color-saffron);background:var(--color-card-hover);box-shadow:var(--color-card-shadow);transform:translateY(-1px)}.home__fridge-arrow{margin-left:auto;color:var(--color-text-muted);font-size:1rem;transition:transform var(--transition-normal)}.home__fridge-link:hover .home__fridge-arrow{transform:translate(3px)}.spin{display:flex;flex-direction:column;gap:var(--space-xl)}.spin__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.spin__title{font-size:1.4rem;letter-spacing:-.03em}.spin__veg-badge{font-size:.7rem;font-weight:600;padding:4px 10px;background:linear-gradient(135deg,#ecf7ef,#ddf0e2);color:var(--color-green-dark);border-radius:var(--radius-pill);border:1px solid rgba(61,139,94,.12);letter-spacing:.02em}.spin__cards{display:flex;flex-direction:column;gap:var(--space-md)}.spin__card{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--space-xl);border:1.5px solid var(--color-border-light);position:relative;opacity:0;transform:translateY(20px);transition:all var(--transition-slow);box-shadow:0 1px 3px #00000008;overflow:hidden}.spin__card--revealed{animation:scaleIn .45s var(--ease-out) both}.spin__card--winner{border-color:var(--color-saffron);background:linear-gradient(145deg,#fffdf7,#fff8ec);animation:winnerGlow 2.5s ease-in-out infinite!important;opacity:1;transform:translateY(0)}.spin__card--winner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-saffron),var(--color-terracotta),var(--color-saffron));background-size:200% 100%;animation:shimmer 3s linear infinite}.spin__card--vetoed{opacity:.35;transform:scale(.96);pointer-events:none;filter:grayscale(.4)}.spin__card-vetoed-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;color:var(--color-maroon);opacity:.35;letter-spacing:6px;text-transform:uppercase;z-index:1}.spin__card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.spin__card-cuisine{font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:capitalize}.spin__card-veg{font-size:.55rem;font-weight:700;padding:2px 6px;background:var(--color-green);color:#fff;border-radius:var(--radius-xs);letter-spacing:.05em;text-transform:uppercase}.spin__card-name{font-size:1.15rem;font-weight:700;margin-bottom:2px;letter-spacing:-.02em}.spin__card-nepali{font-size:.8rem;color:var(--color-text-muted);margin-bottom:var(--space-md)}.spin__card-meta{display:flex;gap:var(--space-lg);font-size:.75rem;color:var(--color-text-muted)}.spin__card-difficulty{font-weight:500}.spin__card-votes{margin-top:var(--space-lg);display:flex;align-items:center;gap:var(--space-md)}.spin__vote-bar{flex:1;height:5px;background:var(--color-border-light);border-radius:var(--radius-pill);overflow:hidden}.spin__vote-fill{height:100%;background:linear-gradient(90deg,var(--color-terracotta),var(--color-saffron));border-radius:var(--radius-pill);transition:width .6s var(--ease-out);min-width:0}.spin__vote-count{font-size:.7rem;color:var(--color-text-muted);min-width:45px;text-align:right;font-weight:500}.spin__lets-cook{margin-top:var(--space-lg);width:100%;padding:var(--space-lg);background:linear-gradient(145deg,var(--color-terracotta),var(--color-terracotta-dark));color:#fff;border-radius:var(--radius-md);font-weight:700;font-size:1rem;box-shadow:0 4px 14px #d4613a4d;position:relative;overflow:hidden}.spin__lets-cook:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent);pointer-events:none}.spin__lets-cook:hover{transform:translateY(-1px);box-shadow:0 6px 20px #d4613a66}.spin__voting{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--color-border-light);box-shadow:var(--color-card-shadow)}.spin__voting-title{font-size:1rem;font-weight:700;margin-bottom:var(--space-lg);letter-spacing:-.02em}.spin__voters{display:flex;flex-direction:column;gap:var(--space-lg)}.spin__voter{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.spin__voter:last-child{border-bottom:none;padding-bottom:0}.spin__voter-info{display:flex;align-items:center;gap:var(--space-sm)}.spin__voter-emoji{font-size:1.3rem;line-height:1}.spin__voter-name{font-weight:600;font-size:.85rem;color:var(--color-text)}.spin__voter-voted{font-size:.65rem;color:var(--color-green);font-weight:700;background:var(--color-green-glow);padding:1px 6px;border-radius:var(--radius-pill)}.spin__voter-actions{display:flex;gap:6px;flex-wrap:wrap}.spin__vote-btn{padding:6px 10px;font-size:.7rem;font-weight:500;border-radius:var(--radius-sm);background:var(--color-cream);color:var(--color-text-secondary);border:1px solid var(--color-border);white-space:nowrap;transition:all var(--transition-fast)}.spin__vote-btn--selected{background:var(--color-terracotta);color:#fff;border-color:var(--color-terracotta);box-shadow:0 2px 6px var(--color-terracotta-glow)}.spin__vote-btn:hover:not(.spin__vote-btn--selected){border-color:var(--color-terracotta-light);background:var(--color-card-hover)}.spin__veto-actions{display:flex;gap:6px}.spin__veto-btn{width:26px;height:26px;font-size:.65rem;border-radius:var(--radius-full);background:#fef0f0;color:var(--color-maroon);border:1px solid #f5d0d0;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.spin__veto-btn:hover{background:var(--color-maroon);color:#fff;border-color:var(--color-maroon);transform:scale(1.1)}.spin__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-xl)}.spin__decide-btn{flex:2;padding:var(--space-lg);background:linear-gradient(145deg,var(--color-terracotta),var(--color-terracotta-dark));color:#fff;border-radius:var(--radius-md);font-weight:700;font-size:.95rem;box-shadow:0 3px 10px #d4613a33}.spin__decide-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.3)}.spin__decide-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #d4613a4d}.spin__respin-btn{flex:1;padding:var(--space-lg);background:var(--color-card);color:var(--color-terracotta);border-radius:var(--radius-md);font-weight:600;font-size:.8rem;border:1.5px solid var(--color-terracotta)}.spin__respin-btn:disabled{opacity:.3;cursor:not-allowed;border-color:var(--color-border);color:var(--color-text-muted)}.spin__respin-btn:hover:not(:disabled){background:linear-gradient(180deg,#fff8f5,#fff3ee)}.spin__deciding{text-align:center;padding:var(--space-3xl) var(--space-xl)}.spin__deciding-spinner{width:36px;height:36px;border:3px solid var(--color-border-light);border-top-color:var(--color-terracotta);border-radius:var(--radius-full);animation:spin .7s linear infinite;margin:0 auto var(--space-lg)}.spin__deciding p{color:var(--color-text-muted);font-weight:500;font-size:.85rem}.browser{display:flex;flex-direction:column;gap:var(--space-lg)}.browser__title{font-size:1.4rem;font-weight:800;letter-spacing:-.03em}.browser__search-input{width:100%;padding:var(--space-md) var(--space-lg);font-size:.85rem;font-family:var(--font-body);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card);color:var(--color-text);outline:none;transition:all var(--transition-normal);box-shadow:0 1px 2px #00000005}.browser__search-input:focus{border-color:var(--color-terracotta);box-shadow:0 0 0 3px var(--color-terracotta-glow)}.browser__search-input::placeholder{color:var(--color-text-muted)}.browser__filters{display:flex;flex-direction:column;gap:var(--space-md)}.browser__tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.browser__tabs::-webkit-scrollbar{display:none}.browser__tab{padding:6px 14px;font-size:.7rem;font-weight:600;border-radius:var(--radius-pill);background:var(--color-card);color:var(--color-text-muted);border:1px solid var(--color-border);white-space:nowrap;text-transform:capitalize;transition:all var(--transition-fast)}.browser__tab--active{background:var(--color-terracotta);color:#fff;border-color:var(--color-terracotta);box-shadow:0 2px 8px var(--color-terracotta-glow)}.browser__tab:hover:not(.browser__tab--active){background:var(--color-card-hover);border-color:var(--color-text-muted)}.browser__chips{display:flex;gap:6px;flex-wrap:wrap}.browser__chip{padding:5px 12px;font-size:.68rem;font-weight:500;border-radius:var(--radius-pill);background:var(--color-cream-warm);color:var(--color-text-secondary);border:1px solid var(--color-border-light);transition:all var(--transition-fast)}.browser__chip--active{background:linear-gradient(135deg,var(--color-saffron),var(--color-gold));color:#fff;border-color:var(--color-saffron);box-shadow:0 2px 6px var(--color-saffron-glow)}.browser__chip:hover:not(.browser__chip--active){background:var(--color-card);border-color:var(--color-border)}.browser__veg-toggle{display:flex;align-items:center;gap:var(--space-sm);font-size:.8rem;font-weight:500;cursor:pointer;color:var(--color-text-secondary)}.browser__veg-toggle input{accent-color:var(--color-green);width:15px;height:15px}.browser__count{font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.browser__grid{display:flex;flex-direction:column;gap:var(--space-sm)}.browser__card{display:flex;flex-direction:column;gap:4px;padding:var(--space-lg);background:var(--color-card);border-radius:var(--radius-md);border:1px solid var(--color-border-light);text-align:left;transition:all var(--transition-normal);box-shadow:0 1px 2px #00000005}.browser__card:hover{border-color:var(--color-border);transform:translateY(-1px);box-shadow:var(--color-card-shadow)}.browser__card-top{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:2px}.browser__card-cuisine{font-size:.95rem;line-height:1}.browser__card-veg{font-size:.55rem;font-weight:700;padding:1px 5px;background:var(--color-green);color:#fff;border-radius:var(--radius-xs);letter-spacing:.04em;text-transform:uppercase}.browser__card-name{font-size:.95rem;font-weight:600;letter-spacing:-.02em}.browser__card-nepali{font-size:.75rem;color:var(--color-text-muted)}.browser__card-meta{display:flex;gap:var(--space-lg);font-size:.7rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.browser__empty{text-align:center;padding:var(--space-3xl);color:var(--color-text-muted);font-size:.9rem}.recipe-detail{display:flex;flex-direction:column;gap:var(--space-xl)}.recipe-detail__back{align-self:flex-start;padding:var(--space-sm) var(--space-lg);font-size:.8rem;font-weight:600;color:var(--color-terracotta);border-radius:var(--radius-pill);background:linear-gradient(180deg,#fff8f5,#fff3ee);border:1px solid var(--color-terracotta-glow);transition:all var(--transition-normal)}.recipe-detail__back:hover{box-shadow:0 2px 8px var(--color-terracotta-glow);transform:translate(-2px)}.recipe-detail__header{padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border-light)}.recipe-detail__tags{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.recipe-detail__cuisine{font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:capitalize;padding:3px 10px;background:var(--color-cream-warm);border-radius:var(--radius-pill);border:1px solid var(--color-border-light)}.recipe-detail__veg{font-size:.65rem;font-weight:700;color:var(--color-green-dark);padding:3px 10px;background:linear-gradient(135deg,#ecf7ef,#ddf0e2);border-radius:var(--radius-pill);border:1px solid rgba(61,139,94,.1);letter-spacing:.02em}.recipe-detail__name{font-size:1.65rem;font-weight:800;line-height:1.1;margin-bottom:var(--space-xs);letter-spacing:-.03em}.recipe-detail__nepali{font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.recipe-detail__meta{display:flex;gap:var(--space-xl)}.recipe-detail__meta-item{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:var(--color-text-secondary)}.recipe-detail__meta-icon{font-size:.9rem;line-height:1}.recipe-detail__section{padding-bottom:var(--space-lg)}.recipe-detail__section h2{font-size:1.05rem;font-weight:700;margin-bottom:var(--space-lg);color:var(--color-text);display:flex;align-items:center;gap:var(--space-sm)}.recipe-detail__section h2:after{content:"";flex:1;height:1px;background:var(--color-border-light)}.recipe-detail__ingredients{list-style:none;display:flex;flex-direction:column;gap:0}.recipe-detail__ingredient{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border-light)}.recipe-detail__ingredient:last-child{border-bottom:none}.recipe-detail__ingredient-qty{min-width:75px;font-weight:600;font-size:.8rem;color:var(--color-terracotta);font-variant-numeric:tabular-nums}.recipe-detail__ingredient-name{font-size:.85rem;color:var(--color-text-secondary)}.recipe-detail__steps{list-style:none;display:flex;flex-direction:column;gap:var(--space-lg)}.recipe-detail__step{display:flex;gap:var(--space-lg);align-items:flex-start}.recipe-detail__step-num{flex-shrink:0;width:26px;height:26px;border-radius:var(--radius-full);background:linear-gradient(145deg,var(--color-terracotta),var(--color-terracotta-dark));color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px var(--color-terracotta-glow)}.recipe-detail__step p{font-size:.85rem;line-height:1.55;color:var(--color-text-secondary);padding-top:3px}.calendar{display:flex;flex-direction:column;gap:var(--space-lg)}.calendar__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-sm) 0}.calendar__nav-btn{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-card);border:1px solid var(--color-border);font-size:1rem;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #00000008;transition:all var(--transition-normal)}.calendar__nav-btn:hover{background:var(--color-card-hover);border-color:var(--color-terracotta-light);box-shadow:var(--color-card-shadow)}.calendar__month-info{text-align:center;cursor:pointer;transition:opacity var(--transition-fast)}.calendar__month-info:hover{opacity:.8}.calendar__month{font-size:1.4rem;font-weight:700;color:var(--color-terracotta);letter-spacing:0}.calendar__month-en{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar__weekday{font-size:.6rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-sm) 0}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar__cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--radius-sm);background:var(--color-card);border:1.5px solid transparent;padding:2px;min-height:44px;transition:all var(--transition-fast);box-shadow:0 1px 1px #00000005}.calendar__cell--blank{background:transparent;box-shadow:none}.calendar__cell--today{border-color:var(--color-terracotta);background:linear-gradient(180deg,#fff8f5,#fff3ee);box-shadow:0 2px 6px var(--color-terracotta-glow)}.calendar__cell--veg{background:#f4faf6}.calendar__cell--today.calendar__cell--veg{background:linear-gradient(145deg,#fff6f2,#f0f9f3);border-color:var(--color-terracotta)}.calendar__day-num{font-family:var(--font-nepali);font-size:.8rem;font-weight:600;color:var(--color-text);line-height:1}.calendar__cell--today .calendar__day-num{color:var(--color-terracotta);font-weight:700}.calendar__day-icons{display:flex;gap:1px;font-size:.5rem;line-height:1}.calendar__icon-veg{font-size:.45rem}.calendar__icon-fest{color:var(--color-saffron);font-size:.5rem}.calendar__icon-meal{font-size:.45rem}.calendar__legend{display:flex;justify-content:center;gap:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.calendar__legend-item{font-size:.65rem;color:var(--color-text-muted);font-weight:500}.fridge{display:flex;flex-direction:column;gap:var(--space-xl)}.fridge__back{align-self:flex-start;padding:var(--space-sm) var(--space-lg);font-size:.8rem;font-weight:600;color:var(--color-terracotta);border-radius:var(--radius-pill);background:linear-gradient(180deg,#fff8f5,#fff3ee);border:1px solid var(--color-terracotta-glow);transition:all var(--transition-normal)}.fridge__back:hover{box-shadow:0 2px 8px var(--color-terracotta-glow);transform:translate(-2px)}.fridge__header h1{font-size:1.4rem;font-weight:800;margin-bottom:var(--space-xs);letter-spacing:-.03em}.fridge__subtitle{font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.fridge__section-title{font-size:1rem;font-weight:700;margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);letter-spacing:-.02em}.fridge__count{font-size:.65rem;font-weight:600;font-family:var(--font-body);color:var(--color-green-dark);background:linear-gradient(135deg,#ecf7ef,#ddf0e2);padding:2px 10px;border-radius:var(--radius-pill);border:1px solid rgba(61,139,94,.1)}.fridge__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.fridge__item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-lg) var(--space-sm);border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-card);position:relative;transition:all var(--transition-normal);box-shadow:0 1px 2px #00000005}.fridge__item--in-stock{border-color:var(--color-green);background:linear-gradient(180deg,#f5fbf7,#eef7f1);box-shadow:0 2px 6px var(--color-green-glow)}.fridge__item:hover{transform:translateY(-2px);box-shadow:var(--color-card-shadow)}.fridge__item-emoji{font-size:1.6rem;line-height:1;transition:transform var(--transition-bounce)}.fridge__item--in-stock .fridge__item-emoji{transform:scale(1.05)}.fridge__item-name{font-size:.65rem;font-weight:600;color:var(--color-text-secondary);text-align:center;line-height:1.2}.fridge__item-check{position:absolute;top:-3px;right:-3px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--color-green);color:#fff;font-size:.5rem;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 1px 3px #3d8b5e4d;animation:scaleIn .2s var(--ease-spring) both}.fridge__suggest-btn{width:100%;padding:var(--space-lg);background:linear-gradient(145deg,var(--color-saffron),var(--color-gold));color:#fff;border-radius:var(--radius-md);font-weight:700;font-size:.95rem;box-shadow:0 4px 12px var(--color-saffron-glow),inset 0 1px #ffffff26;position:relative;overflow:hidden}.fridge__suggest-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent);pointer-events:none}.fridge__suggest-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #eda5284d}.fridge__suggestions{animation:fadeInUp .3s var(--ease-out) both}.fridge__suggestion-list{display:flex;flex-direction:column;gap:var(--space-sm)}.fridge__suggestion-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg);background:var(--color-card);border-radius:var(--radius-md);border:1px solid var(--color-border-light);text-align:left;transition:all var(--transition-normal);box-shadow:0 1px 2px #00000005}.fridge__suggestion-card:hover{border-color:var(--color-border);transform:translateY(-1px);box-shadow:var(--color-card-shadow)}.fridge__suggestion-info h3{font-size:.9rem;font-weight:600;margin-bottom:2px;letter-spacing:-.01em}.fridge__suggestion-nepali{font-size:.7rem;color:var(--color-text-muted)}.fridge__suggestion-meta{font-size:.65rem;color:var(--color-text-muted);margin-top:var(--space-xs);display:block;font-weight:500}.fridge__match{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.fridge__match-ring{position:relative;width:42px;height:42px}.fridge__match-svg{width:100%;height:100%;transform:rotate(-90deg)}.fridge__match-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.fridge__match-label{font-size:.55rem;color:var(--color-text-muted);font-weight:500}.fridge__empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted);font-size:.85rem}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--color-bg)}.app-content{flex:1;padding:var(--space-xl) var(--space-lg);padding-bottom:calc(var(--nav-height) + var(--space-xl));width:100%}
