:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{font-size:3rem;margin:0;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.app-header p{font-size:1.2rem;color:#ffffffe6;margin:.5rem 0}.error-banner{background:#ff6b6b;color:#fff;padding:1rem;border-radius:8px;margin:1rem 0;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0000001a}.retry-btn{background:#fff;color:#ff6b6b;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.retry-btn:hover{background:#f8f9fa;transform:translateY(-1px)}.app-main{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 8px 32px #0000001a;min-height:500px}.actions{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.test-btn,.refresh-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;font-size:.9rem}.test-btn{background:#4ecdc4;color:#fff}.test-btn:hover{background:#45b7b8;transform:translateY(-1px)}.refresh-btn{background:#6c5ce7;color:#fff}.refresh-btn:hover{background:#5f3dc4;transform:translateY(-1px)}.recipes-section h2{color:#2d3436;margin-bottom:1.5rem;font-size:1.8rem}.empty-state{text-align:center;padding:3rem;color:#74b9ff}.empty-state p{font-size:1.1rem;margin-bottom:1.5rem}.add-recipe-btn{background:#00b894;color:#fff;border:none;padding:1rem 2rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:1rem;transition:all .2s}.add-recipe-btn:hover{background:#00a085;transform:translateY(-2px);box-shadow:0 4px 12px #00b8944d}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.recipe-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;transition:all .2s;box-shadow:0 2px 8px #0000000d}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.recipe-card h3{margin:0 0 .5rem;color:#2d3436;font-size:1.2rem}.recipe-type{background:#74b9ff;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:capitalize}.recipe-actions{display:flex;gap:.5rem;margin-top:1rem}.view-btn,.edit-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.view-btn{background:#e9ecef;color:#495057}.view-btn:hover{background:#dee2e6}.edit-btn{background:#ffeaa7;color:#2d3436}.edit-btn:hover{background:#fdcb6e}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;color:#fff}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef;text-align:center;color:#6c757d}.app-footer code{background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.tip{font-size:.9rem;font-style:italic;margin-top:.5rem}@media (max-width: 768px){.app{padding:1rem}.app-header h1{font-size:2rem}.app-main{padding:1rem}.actions{flex-direction:column}.recipes-grid{grid-template-columns:1fr}}
