*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}.header{background-color:#2d5016;color:#fff;padding:1rem 0;box-shadow:0 2px 4px #0000001a}.header .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700}nav{display:flex;gap:1.5rem}nav a{color:#fff;text-decoration:none;font-weight:500}nav a:hover{text-decoration:underline}.main{flex:1;padding:2rem 0}.footer{background-color:#2d5016;color:#fff;padding:1rem 0;text-align:center;margin-top:auto}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.recipe-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s;cursor:pointer}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.recipe-card img{width:100%;height:200px;object-fit:cover}.recipe-card-content{padding:1rem}.recipe-card h3{margin-bottom:.5rem;color:#2d5016}.recipe-card p{color:#666;font-size:.9rem}.recipe-detail{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.recipe-detail img{width:100%;max-height:400px;object-fit:cover;border-radius:8px;margin-bottom:2rem}.recipe-detail h2{color:#2d5016;margin-bottom:1rem}.recipe-meta{display:flex;gap:2rem;margin-bottom:2rem;color:#666;align-items:center;flex-wrap:wrap}.servings-control{display:flex;align-items:center;gap:.5rem}.servings-control button{width:32px;height:32px;padding:0;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:#2d5016;color:#fff;border:none;cursor:pointer;transition:background-color .2s}.servings-control button:hover:not(:disabled){background-color:#3d6821}.servings-control button:disabled{background-color:#ccc;cursor:not-allowed}.servings-control .reset-button{width:auto;height:auto;padding:.25rem .75rem;font-size:.85rem;font-weight:400;background-color:#666}.servings-control .reset-button:hover{background-color:#777}.servings-control span{margin:0 .25rem;white-space:nowrap}.ingredients,.instructions{margin-bottom:2rem}.ingredients h3,.instructions h3{color:#2d5016;margin-bottom:1rem}.ingredients ul{list-style:none;padding:0}.ingredients li{padding:.5rem 0;border-bottom:1px solid #eee}.instructions ol{padding-left:1.5rem}.instructions li{margin-bottom:1rem;line-height:1.6}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group textarea{min-height:100px;resize:vertical}button{background-color:#2d5016;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}button:hover{background-color:#1f3710}button:disabled{background-color:#ccc;cursor:not-allowed}.error{color:#d32f2f;background-color:#ffebee;padding:1rem;border-radius:4px;margin-bottom:1rem}.loading{text-align:center;padding:2rem;color:#666}
