@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{--bg-deep: #0c0c0f;--bg-surface: #141418;--bg-elevated: #1c1c22;--bg-glass: rgba(28, 28, 34, .7);--bg-glass-hover: rgba(28, 28, 34, .85);--primary: #f5a623;--primary-soft: rgba(245, 166, 35, .15);--primary-glow: rgba(245, 166, 35, .4);--accent: #e8e4df;--accent-warm: #c9a87c;--text-primary: #fafaf9;--text-secondary: #a8a8a8;--text-muted: #6b6b6b;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--success: #4ade80;--warning: #fbbf24;--error: #f87171;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow: 0 8px 32px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(245, 166, 35, .15);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 8px;--radius: 12px;--radius-lg: 20px;--radius-xl: 28px;--font-display: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg-deep);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:9999}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--primary-soft);color:var(--primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2;letter-spacing:-.01em}a{color:inherit;text-decoration:none}.app-layout{min-height:100vh;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(245,166,35,.08),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(245,166,35,.05),transparent),var(--bg-deep)}.app-header{background:var(--bg-glass)!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border)!important;box-shadow:none!important;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;height:72px;padding:0 var(--space-xl)}.logo{display:flex;align-items:center;gap:var(--space-md)}.logo-icon{font-size:28px;filter:drop-shadow(0 0 12px var(--primary-glow))}.logo-text{font-family:var(--font-display);font-size:22px;color:var(--text-primary);letter-spacing:-.02em}.top-nav{border:none!important;background:transparent!important}.top-nav .ant-menu-item{font-family:var(--font-body);font-weight:500;font-size:14px;color:var(--text-secondary)!important;transition:color .2s ease;padding:0 var(--space-md)}.top-nav .ant-menu-item:hover,.top-nav .ant-menu-item-selected{color:var(--primary)!important}.top-nav .ant-menu-item-selected:after{border-bottom-color:var(--primary)!important}.app-content{max-width:1400px;margin:0 auto;padding:0 var(--space-xl) var(--space-3xl);width:100%}.unified-search{padding:var(--space-3xl) 0 var(--space-2xl);text-align:center}.unified-hero{margin-bottom:var(--space-2xl);animation:heroReveal .8s cubic-bezier(.16,1,.3,1) forwards;opacity:0}@keyframes heroReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.unified-title{font-family:var(--font-display);font-size:clamp(36px,6vw,64px);font-weight:400;line-height:1.05;margin-bottom:var(--space-lg);color:var(--text-primary);letter-spacing:-.03em}.unified-title .highlight{color:var(--primary);font-style:italic}.unified-subtitle{font-size:17px;color:var(--text-secondary);max-width:480px;margin:0 auto;font-weight:300}.unified-search-bar{position:relative;max-width:560px;margin:0 auto var(--space-xl);animation:searchReveal .8s cubic-bezier(.16,1,.3,1) .1s forwards;opacity:0;z-index:10}@keyframes searchReveal{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.unified-search-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--text-muted);pointer-events:none;transition:color .2s}.unified-search-bar:focus-within .unified-search-icon{color:var(--primary)}.unified-search-input{width:100%;height:56px;padding:14px 20px 14px 52px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:15px;font-family:var(--font-body);color:var(--text-primary);outline:none;transition:all .3s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.unified-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft),var(--shadow-glow);background:var(--bg-glass-hover)}.unified-search-input::placeholder{color:var(--text-muted)}.unified-search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;padding:var(--space-sm);list-style:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;text-align:left;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.unified-search-suggestions li{padding:10px 14px;cursor:pointer;color:var(--text-primary);font-size:14px;border-radius:var(--radius-sm);transition:all .15s ease}.unified-search-suggestions li:hover{background:var(--primary-soft);color:var(--primary)}.ingredients-card{display:flex;align-items:stretch;gap:0;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden;animation:fadeSlideUp .6s cubic-bezier(.16,1,.3,1) .15s forwards;opacity:0}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ingredient-column{flex:1;padding:var(--space-lg) var(--space-xl);min-width:0}.ingredient-column-divider{width:1px;background:var(--border);flex-shrink:0}.ingredient-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.ingredient-column-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px}.ingredient-column-empty{font-size:13px;color:var(--text-muted);font-style:italic;margin:0}.ingredient-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);min-height:36px}.chip{display:inline-flex;align-items:center;gap:0;padding:8px 10px 8px 14px;border-radius:100px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:default}.chip-name{flex:1;white-space:nowrap;transition:opacity .2s ease,text-decoration .2s ease}.chip-pantry{background:var(--bg-glass);color:var(--accent-warm);border:1px solid rgba(201,168,124,.25);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chip-pantry:hover{background:#c9a87c26;border-color:#c9a87c66;transform:translateY(-2px)}.chip-extra{background:var(--bg-glass);color:var(--primary);border:1px solid var(--primary-soft);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chip-extra:hover{background:var(--primary-soft);border-color:var(--primary);transform:translateY(-2px)}.chip-input{background:var(--bg-elevated);border:1px solid var(--primary);border-radius:100px;padding:8px 14px;font-size:13px;font-weight:500;font-family:var(--font-body);color:var(--text-primary);outline:none;min-width:100px;box-shadow:0 0 0 3px var(--primary-soft)}.chip-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:50%;transition:all .2s ease;opacity:0;flex-shrink:0;margin-left:4px}.chip:hover .chip-delete{opacity:1}.chip:has(.chip-delete:hover) .chip-name{opacity:.45;text-decoration:line-through;text-decoration-color:currentColor}.chip-delete:hover{background:#f8717126;color:var(--error)}.chip-delete svg{width:11px;height:11px;stroke-width:2.5}@media (hover: none) and (pointer: coarse){.chip-delete{opacity:1;color:var(--text-muted)}.chip:active .chip-delete{background:#f8717126;color:var(--error)}.chip:active .chip-name{opacity:.45;text-decoration:line-through;text-decoration-color:currentColor}}.chip-add{background:transparent;border:1px dashed var(--border-hover);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:100px;transition:all .2s ease}.chip-add:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);transform:scale(1.05)}.chip-add-extra{border-color:#f5a6234d}.chip-add-extra:hover{border-color:var(--primary)}.controls-row{display:flex;justify-content:center;align-items:center;gap:var(--space-xl);flex-wrap:wrap;animation:fadeSlideUp .6s cubic-bezier(.16,1,.3,1) .2s forwards;opacity:0;margin-top:var(--space-md)}.match-filter{display:flex;align-items:center;gap:var(--space-md)}.match-label{font-size:13px;color:var(--text-secondary);font-weight:500}.match-value{font-weight:700;font-size:14px;color:var(--primary);min-width:44px;text-align:left}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 24px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .2s}.btn:hover:before{opacity:1}.btn-primary{background:linear-gradient(135deg,var(--primary),#e09000);color:#0c0c0f;box-shadow:0 4px 16px #f5a6234d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #f5a62366}.btn-primary:disabled{background:var(--bg-elevated);color:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:none}.search-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 40px;font-size:15px;font-weight:700;border-radius:100px;min-width:200px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--primary),#e09000)!important;border:none!important;color:#0c0c0f!important;box-shadow:0 4px 24px #f5a62366,0 0 0 1px #f5a6231a;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.search-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px #f5a62380,0 0 0 1px #f5a62333}.search-btn:disabled{background:var(--bg-elevated)!important;color:var(--text-muted)!important;box-shadow:none;transform:none}.search-btn-content{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;z-index:2}.search-btn-icon{font-size:18px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.search-btn:hover:not(:disabled) .search-btn-icon{transform:scale(1.15) rotate(-5deg)}.search-btn.is-loading,.search-btn.is-fetching{cursor:wait}.search-btn.is-loading:before,.search-btn.is-fetching:before{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),rgba(255,255,255,.4),rgba(255,255,255,.2),transparent);animation:lightSweep 1.4s ease-in-out infinite;z-index:1;transform:skew(-20deg)}@keyframes lightSweep{0%{left:-75%}to{left:125%}}.search-btn-dots{display:flex;align-items:center;gap:5px}.search-btn-dots .dot{width:8px;height:8px;background:#0c0c0f;border-radius:50%;animation:orbBounce 1s ease-in-out infinite}.search-btn-dots .dot:nth-child(1){animation-delay:0s;width:5px;height:5px}.search-btn-dots .dot:nth-child(2){animation-delay:.12s;width:8px;height:8px}.search-btn-dots .dot:nth-child(3){animation-delay:.24s;width:5px;height:5px}@keyframes orbBounce{0%,to{transform:translateY(0) scale(.7);opacity:.5}50%{transform:translateY(-6px) scale(1);opacity:1}}.search-btn-progress{position:absolute;top:0;left:0;height:100%;width:0;background:linear-gradient(90deg,#00000026,#00000040,#00000026);z-index:0;transition:width .5s cubic-bezier(.4,0,.2,1);overflow:hidden}.search-btn-progress:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);animation:progressShimmer 1.8s ease-in-out infinite}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.search-progress{display:inline-flex;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);padding:14px 24px;background:var(--bg-glass);border:1px solid rgba(74,222,128,.2);border-radius:100px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeSlideUp .4s ease-out}.search-progress .progress-spinner{color:var(--success);animation:spin 1s linear infinite;font-size:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-progress span{font-size:13px;color:var(--success);font-weight:500}.search-progress .progress-bar{height:4px;width:80px;background:#4ade8033;border-radius:2px;overflow:hidden}.search-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--success),#86efac);border-radius:2px;transition:width .4s ease}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg);margin-top:var(--space-md)}.recipe-count-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:var(--space-md);padding:0 var(--space-xs)}.recipe-count-label{font-size:13px;color:var(--text-muted);font-weight:500}.recipe-count-label strong{color:var(--primary);font-weight:700}.recipe-count-skeleton{display:flex;justify-content:flex-end}.skeleton-count-text{width:180px;height:20px;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-glass) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;animation:skeletonPulse 2s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-image{width:100%;height:200px;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-surface))}.skeleton-body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.skeleton-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.skeleton-title{flex:1;height:24px;background:var(--bg-elevated);border-radius:var(--radius-sm);width:70%}.skeleton-badge{width:80px;height:20px;background:var(--bg-elevated);border-radius:100px}.skeleton-stats{display:flex;align-items:center;gap:var(--space-md)}.skeleton-bar{flex:1;height:5px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.skeleton-bar-fill{width:60%;height:100%;background:var(--bg-glass);border-radius:3px}.skeleton-count{width:40px;height:16px;background:var(--bg-elevated);border-radius:var(--radius-sm)}.skeleton-tags{display:flex;gap:6px}.skeleton-tag{width:60px;height:22px;background:var(--bg-elevated);border-radius:100px}.recipe-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:all .35s cubic-bezier(.16,1,.3,1);animation:cardReveal .5s cubic-bezier(.16,1,.3,1) forwards;opacity:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative}.recipe-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.3));pointer-events:none;z-index:1}.recipe-card-timer{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:6px 10px;background:#0c0c0fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:100px;color:var(--accent-warm);font-size:12px;font-weight:600;z-index:3;animation:timerReveal .4s cubic-bezier(.16,1,.3,1) forwards;opacity:0}@keyframes timerReveal{0%{opacity:0;transform:translateY(-8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.recipe-card-timer svg{opacity:.9}@keyframes cardReveal{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.recipe-card:nth-child(1){animation-delay:0s}.recipe-card:nth-child(2){animation-delay:.06s}.recipe-card:nth-child(3){animation-delay:.12s}.recipe-card:nth-child(4){animation-delay:.18s}.recipe-card:nth-child(5){animation-delay:.24s}.recipe-card:nth-child(6){animation-delay:.3s}.recipe-card:nth-child(7){animation-delay:.36s}.recipe-card:nth-child(8){animation-delay:.42s}.recipe-card:hover{transform:translateY(-8px) scale(1.02);border-color:var(--primary);box-shadow:var(--shadow-lg),0 0 40px #f5a62326}.recipe-card-image{width:100%;height:200px;object-fit:cover;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-surface));transition:transform .4s ease}.recipe-card:hover .recipe-card-image{transform:scale(1.05)}.recipe-card-image-placeholder{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-surface));font-size:48px}.recipe-card-body{padding:var(--space-lg);flex:1;display:flex;flex-direction:column;position:relative;z-index:2}.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.recipe-card-title{font-family:var(--font-display);font-size:17px;font-weight:400;color:var(--text-primary);line-height:1.3;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.site-badge{font-size:10px;padding:4px 10px;border-radius:100px;font-weight:600;white-space:nowrap;flex-shrink:0;letter-spacing:.02em}.recipe-card-stats{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.match-indicator{flex:1;display:flex;align-items:center;gap:var(--space-sm)}.match-bar{flex:1;height:5px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.match-bar-fill{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.16,1,.3,1)}.match-bar-fill.high{background:linear-gradient(90deg,var(--success),#86efac)}.match-bar-fill.medium{background:linear-gradient(90deg,var(--warning),#fcd34d)}.match-bar-fill.low{background:linear-gradient(90deg,var(--error),#fca5a5)}.match-text{font-size:13px;font-weight:700;min-width:44px;text-align:right}.match-text.high{color:var(--success)}.match-text.medium{color:var(--warning)}.match-text.low{color:var(--error)}.ingredient-count{font-size:12px;color:var(--text-muted);font-weight:500}.recipe-card-tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}.have-tag{display:inline-block;font-size:11px;padding:4px 10px;background:#4ade801f;color:var(--success);border-radius:100px;font-weight:500;border:1px solid rgba(74,222,128,.2)}.need-tag{display:inline-block;font-size:11px;padding:4px 10px;background:#f871711f;color:var(--error);border-radius:100px;font-weight:500;border:1px solid rgba(248,113,113,.2)}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-xl);margin-top:var(--space-2xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.empty-state-icon{font-size:64px;margin-bottom:var(--space-lg);display:block;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(245,166,35,.3))}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(3deg)}}.empty-state-title{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--text-primary);margin-bottom:var(--space-sm)}.empty-state-description{color:var(--text-secondary);max-width:360px;margin:0 auto;font-size:15px}.filter-warning-btn{background:none;border:none;color:var(--primary);font-size:15px;font-family:var(--font-body);cursor:pointer;text-decoration:underline;padding:0}.filter-warning-btn:hover{color:#f5b33a}.pantry-page{display:flex;flex-direction:column;gap:var(--space-xl)}.pantry-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-lg);padding-top:var(--space-2xl)}.pantry-header h1{font-family:var(--font-display);font-size:36px;font-weight:400;color:var(--text-primary);letter-spacing:-.02em}.pantry-form{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pantry-form-row{display:flex;gap:var(--space-md);flex-wrap:wrap}.pantry-input-wrapper{flex:1;min-width:260px}.pantry-input{width:100%;height:52px;padding:14px 18px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);font-size:15px;font-family:var(--font-body);color:var(--text-primary);outline:none;transition:all .25s ease}.pantry-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.pantry-input::placeholder{color:var(--text-muted)}.pantry-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.suggestion-tag{display:inline-flex;align-items:center;padding:6px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:100px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.suggestion-tag:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.filters-section{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ingredient-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.pantry-table-container{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.recipe-modal .ant-modal-content{background:var(--bg-surface)!important;border:1px solid var(--border);border-radius:var(--radius-xl)!important;overflow:hidden;box-shadow:var(--shadow-lg)}.recipe-modal .ant-modal-header{background:transparent!important;padding:var(--space-xl) var(--space-xl) var(--space-md)}.recipe-modal .ant-modal-body{padding:0}.recipe-modal .ant-modal-title{color:var(--text-primary)!important;font-family:var(--font-display);font-size:24px;font-weight:400}.recipe-modal .ant-modal-close{color:var(--text-secondary)!important;transition:color .2s}.recipe-modal .ant-modal-close:hover{color:var(--primary)!important}.recipe-modal .ant-modal-footer{border-top:1px solid var(--border);padding:var(--space-md) var(--space-xl)}.recipe-modal-image{width:100%;max-height:320px;object-fit:cover}.recipe-modal-header{padding:var(--space-xl);border-bottom:1px solid var(--border)}.recipe-modal-title{font-family:var(--font-display);font-size:28px;font-weight:400;color:var(--text-primary);margin-bottom:var(--space-md);line-height:1.2}.recipe-modal-meta{display:flex;gap:var(--space-sm);flex-wrap:wrap}.recipe-modal-body{padding:var(--space-xl);max-height:55vh;overflow-y:auto}.recipe-section{margin-bottom:var(--space-xl)}.recipe-section:last-child{margin-bottom:0}.recipe-section-title{font-family:var(--font-body);font-size:12px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.recipe-section-have{color:var(--success)}.recipe-section-missing{color:var(--error)}.recipe-modal-description{color:var(--text-secondary);margin-bottom:var(--space-lg);font-style:italic;font-size:14px;line-height:1.6}.recipe-ingredients-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-sm)}.recipe-ingredients-list li{padding:12px 16px;background:var(--bg-elevated);border-radius:var(--radius);display:flex;align-items:center;gap:var(--space-md);color:var(--text-primary);font-size:14px;transition:all .2s ease}.recipe-ingredients-list li:hover{background:var(--bg-glass);transform:translate(4px)}.recipe-ingredients-list li:before{content:"";width:6px;height:6px;background:var(--primary);border-radius:50%;flex-shrink:0}.recipe-instructions{line-height:1.8;color:var(--text-secondary);font-size:14px}.instruction-section{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border)}.instruction-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.instruction-header{font-family:var(--font-body);font-size:13px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.instruction-line{margin-bottom:var(--space-sm);line-height:1.7;color:var(--text-secondary)}.instruction-line:last-child{margin-bottom:0}.modal-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.modal-tag{padding:6px 14px;border-radius:100px;font-size:13px;font-weight:500}.modal-tag.have{background:#4ade801f;color:var(--success);border:1px solid rgba(74,222,128,.25)}.modal-tag.missing{background:#f871711f;color:var(--error);border:1px solid rgba(248,113,113,.25)}.ant-slider{margin:0 8px}.ant-slider-track{background:linear-gradient(90deg,var(--primary),#e09000)!important}.ant-slider-handle:after{background:var(--primary)!important;box-shadow:0 0 0 2px var(--primary)!important}.ant-slider-handle:hover:after,.ant-slider-handle:focus:after{box-shadow:0 0 0 4px var(--primary-soft),0 0 0 2px var(--primary)!important}.ant-slider-rail{background:var(--bg-elevated)!important}.ant-switch{background:var(--bg-elevated)!important;border:1px solid var(--border-hover)!important}.ant-switch-checked{background:linear-gradient(90deg,var(--primary),#e09000)!important;border-color:transparent!important}.ant-table{background:transparent!important}.ant-table-thead>tr>th{background:var(--bg-elevated)!important;color:var(--text-muted)!important;border-bottom:1px solid var(--border)!important;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1px}.ant-table-tbody>tr>td{background:transparent!important;color:var(--text-primary)!important;border-bottom:1px solid var(--border)!important;font-size:14px}.ant-table-tbody>tr:hover>td{background:var(--bg-glass)!important}.ant-btn-primary{background:linear-gradient(135deg,var(--primary),#e09000)!important;border:none!important;color:#0c0c0f!important;font-weight:600}.ant-btn-primary:hover{background:linear-gradient(135deg,#f5b33a,#e09000)!important;transform:translateY(-1px)}.ant-btn-dangerous{background:#f871711a!important;border:1px solid rgba(248,113,113,.25)!important;color:var(--error)!important}.ant-btn-dangerous:hover{background:#f8717133!important;border-color:var(--error)!important}.ant-tag{border-radius:100px!important;font-weight:500!important;font-size:11px!important;padding:2px 10px!important}.ant-popconfirm .ant-popover-inner{background:var(--bg-elevated)!important;border:1px solid var(--border);border-radius:var(--radius)!important}.ant-popconfirm .ant-popover-message-title{color:var(--text-primary)!important}.ant-divider{border-color:var(--border)!important}@media (max-width: 900px){.header-content{padding:0 var(--space-lg)}.app-content{padding:0 var(--space-lg) var(--space-2xl)}.unified-search{padding:var(--space-2xl) 0 var(--space-xl)}}@media (max-width: 768px){.header-content{padding:0 var(--space-md);height:64px}.logo-text{display:none}.app-content{padding:0 var(--space-md) var(--space-xl)}.unified-search{padding:var(--space-xl) 0 var(--space-lg)}.unified-title{font-size:32px}.unified-subtitle{font-size:15px}.unified-search-input{height:52px;font-size:15px}.controls-row{flex-direction:column;gap:var(--space-md)}.match-filter{width:100%;justify-content:space-between}.search-btn{width:100%}.recipe-grid{grid-template-columns:1fr;gap:var(--space-md)}.pantry-header{flex-direction:column;align-items:flex-start;padding-top:var(--space-xl)}.pantry-form-row{flex-direction:column}.pantry-input-wrapper{min-width:100%}.pantry-header h1{font-size:28px}}@media (max-width: 480px){.recipe-card-title{font-size:15px}.btn{padding:10px 16px;font-size:13px}.chip{font-size:12px;padding:6px 12px}.unified-title{font-size:26px}}
