:root{--ink:#2b2d42;--ink-muted:#4a4d66;--bg:#fafafa;--surface:#fff;--rule:#2b2d42;--accent:#e63946;--accent-ink:#fff;--color-tomato:#e63946;--color-basil:#52b788;--color-corn:#ffb703;--color-charcoal:#2b2d42;--color-charcoal-soft:#4a4d66;--font-base:"Work Sans", system-ui, -apple-system, sans-serif;--measure:60ch;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;scrollbar-color:var(--rule) transparent;caret-color:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#f5f3f0;--ink-muted:#b8b5b0;--bg:#1a1b26;--surface:#24252f;--rule:#3d3e4a;--accent:#ff5563;--accent-ink:#1a1b26;--color-charcoal:#f5f3f0;--color-charcoal-soft:#b8b5b0}}*,:before,:after{box-sizing:border-box}html{overflow-x:clip}body{font-family:var(--font-base);-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg);margin:0;font-size:16px;line-height:1.6}.screen{min-height:100vh}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:.18em}.num{font-variant-numeric:tabular-nums}button,[role=button],summary,select,input[type=checkbox],input[type=radio]{min-height:44px}button{min-width:44px}input,select,textarea{font:inherit;font-size:max(1rem,16px)}img,video,canvas,svg{max-width:100%;height:auto}pre{overflow-x:auto}@media (width<=480px){.screen{padding-inline:1rem}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.header-back,.cuisine-tag,.recipe-card,.fab,.btn,.btn-remove,.btn-add,.list-item-input,.form-input,.form-textarea,.form-select,.search-bar{transition:all .15s cubic-bezier(.4,0,.2,1)}.fab:hover{transition:all .2s cubic-bezier(.4,0,.2,1)}}.app-container{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--surface);border-bottom:2px solid var(--rule);padding:var(--spacing-md) var(--spacing-lg);align-items:center;gap:var(--spacing-md);display:flex}.header-back{border:2px solid var(--rule);color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.25rem;font-weight:500;display:flex}.header-back:hover{background:var(--ink);color:var(--surface)}.header-title{color:var(--ink);font-size:1.25rem;font-weight:600}.main-content{padding:var(--spacing-xl);flex:1;width:100%;max-width:1200px;margin:0 auto}.search-bar{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--rule);font-family:var(--font-base);color:var(--ink);background:var(--surface);border-radius:2rem;outline:none;font-size:1rem}.search-bar:focus{border-color:var(--accent)}.cuisine-filters{gap:var(--spacing-sm);padding:var(--spacing-md) 0;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.cuisine-filters::-webkit-scrollbar{display:none}.cuisine-tag{padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-base);cursor:pointer;white-space:nowrap;border:none;border-radius:2rem;font-size:.875rem;font-weight:500}.cuisine-tag[data-cuisine=all]{background:var(--color-charcoal);color:var(--surface)}.cuisine-tag[data-cuisine=italian]{background:var(--color-tomato);color:var(--surface)}.cuisine-tag[data-cuisine=mexican]{background:var(--color-corn);color:var(--color-charcoal)}.cuisine-tag[data-cuisine=asian]{background:var(--color-basil);color:var(--surface)}.cuisine-tag[data-cuisine=american]{color:var(--surface);background:#8b4513}.cuisine-tag[data-cuisine=mediterranean]{color:var(--surface);background:#4169e1}.cuisine-tag[data-cuisine=indian]{color:var(--surface);background:tomato}.cuisine-tag[data-cuisine=french]{color:var(--surface);background:#2f4f4f}.cuisine-tag:not(.active){opacity:.6}.cuisine-tag:hover{opacity:1;transform:translateY(-1px)}.recipe-grid{gap:var(--spacing-lg);margin-top:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.recipe-card{background:var(--surface);border:2px solid var(--rule);padding:var(--spacing-lg);cursor:pointer;gap:var(--spacing-md);flex-direction:column;display:flex}.recipe-card:hover{transform:translateY(-2px)}.recipe-card-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.recipe-card-title{color:var(--ink);font-size:1.125rem;font-weight:600;line-height:1.3}.recipe-card-cuisine{white-space:nowrap;border-radius:2rem;flex-shrink:0;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.recipe-card-description{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.recipe-card-meta{color:var(--ink-muted);font-size:.875rem}.fab{bottom:var(--spacing-xl);right:var(--spacing-xl);background:var(--accent);width:3.5rem;height:3.5rem;color:var(--accent-ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:300;line-height:1;display:flex;position:fixed;box-shadow:0 4px 12px #e639464d}.fab:hover{transform:scale(1.1);box-shadow:0 6px 16px #e6394666}.empty-state{text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);color:var(--ink-muted)}.empty-state-icon{margin-bottom:var(--spacing-lg);font-size:4rem}.empty-state-title{color:var(--ink);margin-bottom:var(--spacing-sm);font-size:1.5rem;font-weight:600}.empty-state-text{margin-bottom:var(--spacing-lg);font-size:1rem}.detail-container{max-width:800px;margin:0 auto}.detail-header{margin-bottom:var(--spacing-xl)}.detail-title{color:var(--ink);margin-bottom:var(--spacing-md);font-size:2rem;font-weight:600;line-height:1.2}.detail-meta{gap:var(--spacing-md);flex-wrap:wrap;align-items:center;display:flex}.detail-cuisine{padding:var(--spacing-sm) var(--spacing-lg);border-radius:2rem;font-size:.875rem;font-weight:500}.detail-date{color:var(--ink-muted);font-size:.875rem}.detail-description{color:var(--ink-muted);margin-bottom:var(--spacing-xl);font-size:1.125rem;line-height:1.6}.detail-section{margin-bottom:var(--spacing-xl)}.detail-section-title{color:var(--ink);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--rule);font-size:1.5rem;font-weight:600}.ingredients-list{gap:var(--spacing-md);flex-direction:column;display:flex}.ingredient-item{padding:var(--spacing-md) var(--spacing-lg);background:var(--surface);border:2px solid var(--rule);font-size:1rem}.steps-list{gap:var(--spacing-lg);flex-direction:column;display:flex}.step-item{gap:var(--spacing-md);display:flex}.step-number{background:var(--accent);width:2rem;height:2rem;color:var(--accent-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.step-text{flex:1;padding-top:.25rem;line-height:1.6}.detail-actions{gap:var(--spacing-md);margin-top:var(--spacing-xxl);display:flex}.btn{padding:var(--spacing-md) var(--spacing-xl);font-family:var(--font-base);cursor:pointer;border:2px solid var(--rule);border-radius:2rem;flex:1;font-size:1rem;font-weight:500}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-primary:hover{background:#d32e3b;border-color:#d32e3b}.btn-secondary{background:var(--surface);color:var(--ink)}.btn-secondary:hover{background:var(--ink);color:var(--surface)}.btn-danger{background:var(--surface);color:#dc2626;border-color:#dc2626}.btn-danger:hover{color:var(--surface);background:#dc2626}.form-container{max-width:700px;margin:0 auto}.form-group{margin-bottom:var(--spacing-xl)}.form-label{color:var(--ink);margin-bottom:var(--spacing-sm);font-size:1rem;font-weight:600;display:block}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-md);border:2px solid var(--rule);font-family:var(--font-base);color:var(--ink);background:var(--surface);outline:none;font-size:1rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent)}.form-textarea{resize:vertical;min-height:120px;line-height:1.5}.list-input-group{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.list-item-row{gap:var(--spacing-sm);align-items:center;display:flex}.list-item-input{padding:var(--spacing-md);border:2px solid var(--rule);font-family:var(--font-base);color:var(--ink);background:var(--surface);outline:none;flex:1;font-size:1rem}.list-item-input:focus{border-color:var(--accent)}.btn-remove{background:var(--surface);color:#dc2626;cursor:pointer;border:2px solid #dc2626;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.25rem;font-weight:300;display:flex}.btn-remove:hover{color:var(--surface);background:#dc2626}.btn-add{padding:var(--spacing-md);border:2px solid var(--rule);background:var(--surface);color:var(--ink);font-family:var(--font-base);cursor:pointer;font-size:.875rem;font-weight:500}.btn-add:hover{background:var(--ink);color:var(--surface)}.form-actions{gap:var(--spacing-md);margin-top:var(--spacing-xxl);display:flex}@media (width<=768px){.main-content{padding:var(--spacing-lg)}.recipe-grid{grid-template-columns:1fr}.fab{bottom:var(--spacing-lg);right:var(--spacing-lg)}.detail-title{font-size:1.5rem}.detail-section-title{font-size:1.25rem}.form-actions,.detail-actions{flex-direction:column}.btn{width:100%}}@media (width<=480px){body,.container,[class*=container],section,header,footer,nav,main,article{padding-inline:max(1rem,16px)}}p,li,dt,dd,blockquote,figcaption,td,th{max-width:min(75ch,100%)}
