*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;background:#f5f5f5;padding-bottom:80px}.container{max-width:800px;margin:0 auto;padding:20px}h1{font-size:24px;margin-bottom:20px;color:#222}h2{font-size:20px;margin:20px 0 10px;color:#333}h3{font-size:18px;margin:15px 0 10px;color:#444}.error,.loading{text-align:center;padding:40px;font-size:18px}.error{color:#d32f2f}.search-box{margin-bottom:20px}.search-box input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px}.recipe-list{display:grid;grid-gap:15px;gap:15px}.recipe-card{background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:transform .2s;cursor:pointer}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.recipe-card-row{display:flex;align-items:center;gap:10px}.recipe-card-row h3{flex:1 1}.recipe-card h3{margin:0;color:#222;flex:0 0 auto}.recipe-card-tags{display:flex;gap:8px;margin-left:auto}.tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;color:#fff;font-weight:500;width:5.5em;text-align:center}.tag.technique{color:#333}.tag.category{color:#fff}.btn-remove-candidate{padding:6px 12px;background:#f44336;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap;margin-left:auto}.btn-remove-candidate:hover{background:#d32f2f}.btn-add-candidate{padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap;margin-left:auto}.btn-add-candidate:hover{background:#388e3c}.btn-candidate-active{padding:6px 12px;background:#ffc107;color:#333;border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap;margin-left:auto;width:73px}.btn-candidate-active:hover{background:#ffb300}.recipe-detail{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.recipe-detail-tags{display:flex;gap:8px;margin-bottom:20px}.tabs{display:flex;gap:10px;margin:20px 0;border-bottom:2px solid #e0e0e0}.tab{padding:10px 20px;background:none;cursor:pointer;font-size:16px;color:#666;border:none;border-bottom:2px solid transparent;margin-bottom:-2px}.tab.active{color:#1976d2;border-bottom-color:#1976d2}.ingredients-table{width:100%;border-collapse:collapse;margin-bottom:20px}.ingredients-table tr{border-bottom:1px solid #e0e0e0}.ingredients-table td{padding:8px 0}.ingredient-name{width:60%}.ingredient-amount{width:40%;text-align:right}.instructions{white-space:pre-wrap;line-height:1.8}.cooking-log-form{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.cooking-log-form,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.form-group textarea{min-height:100px;resize:vertical}.preview-image{max-width:100%;margin-top:10px;border-radius:4px}.btn{padding:10px 20px;background:#1976d2;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;margin-right:10px}.btn:hover{background:#1565c0}.btn:disabled{background:#ccc;cursor:not-allowed}.btn-primary{background:#1976d2}.btn-primary:hover{background:#1565c0}.btn-danger{background:#f44336}.btn-danger:hover{background:#d32f2f}.cooking-log-list{display:grid;grid-gap:20px;gap:20px}.log-item{background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.log-item img{width:100%;border-radius:4px}.log-item .log-header,.log-item img{margin-bottom:10px}.log-item .recipe-name{font-size:16px;margin:0 0 5px}.log-item .date{color:#666;font-size:14px}.log-item .comment{color:#333;margin-bottom:10px}.log-item .actions{display:flex;gap:10px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e0e0e0;display:flex;justify-content:space-around;padding:10px 0;box-shadow:0 -2px 4px rgba(0,0,0,.1)}.bottom-nav a{flex:1 1;padding:10px;text-align:center;color:#666;font-size:14px;text-decoration:none;transition:color .2s}.bottom-nav a.active{color:#1976d2;font-weight:500}.bottom-nav a:hover{color:#1976d2}.ingredients-list{list-style:none;padding:0}.ingredients-list li{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.ingredients-list li span:nth-child(2){flex:1 1}.ingredients-list li span:last-child{width:40%;max-width:30em;text-align:left;padding-left:1em}.ingredient-type{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:8px}.ingredient-type.red{background-color:#f44336}.ingredient-type.green{background-color:#4caf50}.ingredient-type.yellow{background-color:#ffeb3b}.ingredient-type.blue{background-color:#2196f3}