:root{--primary:#ff6b35;--accent:#f7931e;--bg:#fff;--surface:#f5f5f5;--text:#1a1a1a;--text-secondary:#666;--border:#e0e0e0;--error:#d32f2f;--shadow:#0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--primary);color:#fff;box-shadow:0 2px 4px var(--shadow);align-items:center;gap:1rem;padding:1rem;display:flex}.back-button{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.5rem;transition:background .2s;display:flex}.back-button:hover{background:#ffffff4d}.app-header h1{font-size:1.5rem;font-weight:600}.screen{flex:1;width:100%;max-width:800px;margin:0 auto;padding:1.5rem}.search-bar{border:2px solid var(--border);border-radius:.5rem;width:100%;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.search-bar:focus{border-color:var(--primary);outline:none}.recipe-list{flex-direction:column;gap:1rem;display:flex}.recipe-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:.75rem;padding:1.25rem;transition:all .2s}.recipe-card:hover{box-shadow:0 4px 8px var(--shadow);border-color:var(--primary);transform:translateY(-2px)}.recipe-card h2{color:var(--primary);margin-bottom:.5rem;font-size:1.25rem}.recipe-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.recipe-meta{color:var(--text-secondary);margin-top:.75rem;font-size:.85rem}.empty-state{text-align:center;padding:3rem 1rem}.empty-state-icon{margin-bottom:1rem;font-size:4rem}.empty-state h2{color:var(--text-secondary);margin-bottom:.5rem}.empty-state p{color:var(--text-secondary);margin-bottom:1.5rem}.btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background .2s;display:inline-flex}.btn:hover{background:var(--accent)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--error)}.btn-danger:hover{background:#b71c1c}.fab{background:var(--primary);color:#fff;cursor:pointer;width:3.5rem;height:3.5rem;box-shadow:0 4px 12px var(--shadow);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;transition:all .2s;display:flex;position:fixed;bottom:2rem;right:2rem}.fab:hover{background:var(--accent);box-shadow:0 6px 16px var(--shadow);transform:scale(1.1)}.recipe-detail{box-shadow:0 2px 8px var(--shadow);background:#fff;border-radius:.75rem}.recipe-header{border-bottom:1px solid var(--border);padding:2rem}.recipe-header h1{color:var(--primary);margin-bottom:.5rem}.recipe-header p{color:var(--text-secondary);margin-bottom:1rem}.recipe-actions{flex-wrap:wrap;gap:.75rem;display:flex}.servings-control{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:1rem;padding:2rem;display:flex}.servings-control label{font-weight:500}.servings-buttons{align-items:center;gap:.5rem;display:flex}.servings-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:.5rem;width:2.5rem;height:2.5rem;font-size:1.25rem;transition:all .2s}.servings-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.servings-display{text-align:center;min-width:3rem;font-size:1.25rem;font-weight:600}.recipe-section{padding:2rem}.recipe-section h2{color:var(--text);margin-bottom:1rem;font-size:1.25rem}.ingredients-list{list-style:none}.ingredient-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem;display:flex}.ingredient-item:last-child{border-bottom:none}.ingredient-name{font-weight:500}.ingredient-amount{color:var(--text-secondary);white-space:nowrap}.steps-list{counter-reset:step-counter;list-style:none}.step-item{counter-increment:step-counter;background:var(--surface);border-radius:.5rem;margin-bottom:1rem;padding:1rem 1rem 1rem 3.5rem;position:relative}.step-item:before{content:counter(step-counter);background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:600;display:flex;position:absolute;top:1rem;left:1rem}.form{box-shadow:0 2px 8px var(--shadow);background:#fff;border-radius:.75rem;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text);margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group textarea{border:1px solid var(--border);border-radius:.5rem;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);outline:none}.form-group textarea{resize:vertical;min-height:5rem}.ingredient-row{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:.5rem;margin-bottom:.75rem;display:grid}.remove-btn{background:var(--error);color:#fff;cursor:pointer;border:none;border-radius:.5rem;width:2.5rem;height:2.5rem;font-size:1.25rem;transition:background .2s}.remove-btn:hover{background:#b71c1c}.add-btn{background:var(--surface);color:var(--text);border:1px dashed var(--border);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.95rem;transition:all .2s;display:flex}.add-btn:hover{background:var(--border);border-style:solid}.step-row{grid-template-columns:1fr auto;align-items:start;gap:.5rem;margin-bottom:.75rem;display:grid}.step-input{min-height:4rem}.form-actions{border-top:1px solid var(--border);gap:.75rem;margin-top:2rem;padding-top:1.5rem;display:flex}@media (width<=600px){.screen{padding:1rem}.app-header h1{font-size:1.25rem}.ingredient-row{grid-template-columns:1fr}.ingredient-row input:last-of-type{grid-column:1}.remove-btn{width:100%}.fab{bottom:1rem;right:1rem}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}
