*{margin:0;padding:0;box-sizing:border-box}:root{--primary-gradient: linear-gradient(135deg, #10b981 0%, #059669 100%);--secondary-gradient: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);--accent-gradient: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);--primary-color: #10b981;--primary-dark: #059669;--secondary-color: #06b6d4;--accent-color: #8b5cf6;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-light: #94a3b8;--border-color: #e2e8f0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .16);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:linear-gradient(135deg,#f0fdf4,#f0f9ff);min-height:100vh;color:var(--text-primary);overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:20px}h1{font-size:2.5rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:15px;text-align:center;letter-spacing:-.5px}h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:20px}h3{font-size:1.1rem;font-weight:600;color:var(--primary-color)}p{color:var(--text-secondary);line-height:1.6}.section{background:var(--bg-primary);border-radius:16px;padding:30px;margin-bottom:30px;box-shadow:var(--shadow-md);transition:all var(--transition-base);border:1px solid rgba(16,185,129,.08)}.section:hover{box-shadow:var(--shadow-lg);border-color:#10b98129}.btn{padding:12px 24px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#ffffff1a;transition:left var(--transition-fast);z-index:-1}.btn:hover:before{left:100%}.btn-primary{background:var(--primary-gradient);color:#fff;width:100%;box-shadow:0 4px 12px #10b9814d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color);border-color:var(--primary-color)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;width:100%}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #10b9814d}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;flex:1}.btn-warning:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b4d}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;flex:1}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ef44444d}.btn-small{padding:8px 16px;font-size:.9rem}.input-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}label{font-weight:600;color:var(--text-primary);font-size:.95rem}input[type=number],input[type=text],select{padding:12px 16px;border:2px solid var(--border-color);border-radius:10px;font-size:1rem;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base)}input[type=number]:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #10b9811a}.checkbox-group{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-tertiary);border-radius:10px;border:2px solid var(--border-color);transition:all var(--transition-base);cursor:pointer}.checkbox-group:hover{border-color:var(--primary-color);background:#10b9810a}.checkbox-group input[type=checkbox]{width:24px;height:24px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-label{font-weight:500;color:var(--text-primary);cursor:pointer;flex:1}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width: 768px){.grid{grid-template-columns:1fr}}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all var(--transition-base);display:flex;flex-direction:column;gap:12px}.card:hover{transform:translateY(-4px);border-color:var(--primary-color);box-shadow:0 12px 24px #10b98126}.card-header{display:flex;justify-content:space-between;align-items:start;gap:12px}.card-title{font-weight:600;color:var(--primary-color);font-size:1.1rem}.card-meta{font-size:.85rem;color:var(--text-light)}.card-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.recipe-details{background:var(--bg-tertiary);padding:15px;border-radius:8px;font-size:.9em;color:var(--text-secondary);border-left:4px solid var(--primary-color);white-space:pre-wrap;word-break:break-word}.shopping-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);transition:all var(--transition-base)}.shopping-item:hover{border-color:var(--primary-color);background:#10b9810a}.shopping-item.checked{background:#10b98114;border-color:var(--primary-color)}.shopping-item .checkmark{width:40px;height:40px;border-radius:10px;border:2px solid transparent;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.shopping-item .checkmark svg{width:18px;height:18px}.shopping-item.checked .checkmark{opacity:1;transform:scale(1);background:var(--success-color);border-color:var(--success-color)}.shopping-item-content{display:flex;flex-direction:column;gap:4px}.shopping-item-name{font-weight:600;color:var(--text-primary)}.shopping-item-details{font-size:.95rem;color:var(--text-light)}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#0006;backdrop-filter:blur(4px);animation:fadeIn var(--transition-base);align-items:center;justify-content:center}.modal.active{display:flex}@keyframes fadeIn{0%{opacity:0;backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(4px)}}.modal-content{background:var(--bg-primary);padding:40px;border-radius:16px;box-shadow:var(--shadow-xl);max-width:500px;width:90%;animation:slideIn var(--transition-base);border:1px solid rgba(16,185,129,.1)}@keyframes slideIn{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-content h2{margin-bottom:12px;color:var(--text-primary)}.modal-content p{margin-bottom:24px;color:var(--text-secondary)}.modal-buttons{display:flex;flex-direction:column;gap:12px}.modal-buttons-row{display:flex;gap:12px}.modal-buttons-row .btn{flex:1}.message{padding:16px 20px;border-radius:10px;margin-bottom:20px;animation:slideDown var(--transition-base);border:1px solid;display:none;align-items:center;gap:12px}.message.active{display:flex}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.error-message{background:#ef444414;color:#dc2626;border-color:#fecaca}.success-message{background:#10b98114;color:#059669;border-color:#86efac}.message-icon{flex-shrink:0;font-size:1.2rem}.loading-spinner{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:8px;border:3px solid rgba(255,255,255,.25);border-radius:50%;border-top-color:#fff;border-right-color:#fffc;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-loading{position:relative}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:10px;background:#ffffff1a;animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite;pointer-events:none}@keyframes pulse{0%,to{opacity:0}50%{opacity:.3}}.empty-state{text-align:center;color:var(--text-light);padding:60px 20px}.empty-state-icon{font-size:3rem;margin-bottom:16px;opacity:.5}@media (max-width: 768px){h1{font-size:2rem}.section{padding:20px}.modal-content{padding:24px}.container{padding:12px}}@media (max-width: 480px){h1{font-size:1.5rem}.btn{padding:10px 20px;font-size:.95rem}.section{padding:16px}}.section[data-astro-cid-63exeixb]{animation:slideUp .5s cubic-bezier(.4,0,.2,1);max-width:400px;margin:0 auto}select[data-astro-cid-63exeixb]{width:100%;padding:10px 40px 10px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:16px;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/csvg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:20px}select[data-astro-cid-63exeixb]:hover{border-color:var(--primary-color);background-color:var(--bg-secondary)}select[data-astro-cid-63exeixb]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.section[data-astro-cid-rsw37dpo]{animation:slideUp .6s cubic-bezier(.4,0,.2,1);animation-delay:.1s;animation-fill-mode:both}.section[data-astro-cid-vfcekyik]{animation:slideUp .6s cubic-bezier(.4,0,.2,1);animation-delay:.2s;animation-fill-mode:both}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#shoppingList[data-astro-cid-vfcekyik] .shopping-item[data-astro-cid-vfcekyik]{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:12px 16px;border-radius:12px;background:var(--bg-secondary);margin-bottom:12px;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);border:1px solid var(--border-color)}#shoppingList[data-astro-cid-vfcekyik] .shopping-item[data-astro-cid-vfcekyik]:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}#shoppingList[data-astro-cid-vfcekyik] .shopping-item[data-astro-cid-vfcekyik].checked{background:#10b9810f;border-color:#10b9814d}#shoppingList[data-astro-cid-vfcekyik] .shopping-item[data-astro-cid-vfcekyik] .checkmark[data-astro-cid-vfcekyik]{width:40px;height:40px;border-radius:10px;border:2px solid transparent;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}#shoppingList[data-astro-cid-vfcekyik] .shopping-item[data-astro-cid-vfcekyik] .checkmark[data-astro-cid-vfcekyik] svg[data-astro-cid-vfcekyik]{width:18px;height:18px}#shoppingList[data-astro-cid-vfcekyik] .shopping-item[data-astro-cid-vfcekyik].checked .checkmark[data-astro-cid-vfcekyik]{opacity:1;transform:scale(1);background:var(--success-color);border-color:var(--success-color)}#shoppingList[data-astro-cid-vfcekyik] .shopping-item-content[data-astro-cid-vfcekyik]{display:flex;flex-direction:column}#shoppingList[data-astro-cid-vfcekyik] .shopping-item-content[data-astro-cid-vfcekyik] .shopping-item-name[data-astro-cid-vfcekyik]{font-weight:600;color:var(--text-primary);margin-bottom:4px}#shoppingList[data-astro-cid-vfcekyik] .shopping-item-content[data-astro-cid-vfcekyik] .shopping-item-details[data-astro-cid-vfcekyik]{color:var(--text-secondary);font-size:.95rem}#shoppingList[data-astro-cid-vfcekyik] .btn-replace[data-astro-cid-vfcekyik]{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border:none;padding:12px 16px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer;box-shadow:0 6px 16px #06b6d440;transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast)}#shoppingList[data-astro-cid-vfcekyik] .btn-replace[data-astro-cid-vfcekyik] svg[data-astro-cid-vfcekyik]{width:18px;height:18px;display:block}#shoppingList[data-astro-cid-vfcekyik] .btn-replace[data-astro-cid-vfcekyik]:hover{transform:translateY(-2px);box-shadow:0 10px 20px #06b6d459}.modal[data-astro-cid-o2ctil55]{animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#formSection[data-astro-cid-j7pv25f6]{transition:opacity .3s ease,visibility .3s ease;opacity:1;visibility:visible}#formSection[data-astro-cid-j7pv25f6].hidden{opacity:0;visibility:hidden;display:none}.results-section[data-astro-cid-j7pv25f6]{transition:opacity .3s ease}.results-section[data-astro-cid-j7pv25f6].active{display:block!important;opacity:1}.results-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}.back-button[data-astro-cid-j7pv25f6]{background:var(--secondary-color);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);margin-bottom:20px}.back-button[data-astro-cid-j7pv25f6]:hover{background:var(--secondary-dark);transform:translate(-4px);box-shadow:var(--shadow-md)}@media (max-width: 1024px){.results-grid[data-astro-cid-j7pv25f6]{grid-template-columns:1fr!important}}
