:root{--bg-base: #0f1115;--bg-surface: rgba(255, 255, 255, .03);--bg-surface-hover: rgba(255, 255, 255, .05);--border-subtle: rgba(255, 255, 255, .08);--border-glow: rgba(99, 102, 241, .5);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-gradient: linear-gradient(135deg, #6366f1, #a855f7, #ec4899);--accent-button: #6366f1;--accent-button-hover: #4f46e5;--accent-success: #10b981;--accent-danger: #ef4444;--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--glass-blur: blur(12px);--font-family: "Inter", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 50%,rgba(99,102,241,.15),transparent 25%),radial-gradient(circle at 85% 30%,rgba(168,85,247,.15),transparent 25%);background-attachment:fixed}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.page-container{max-width:1400px;margin:0 auto;padding:3rem 2rem}.page-header{text-align:center;margin-bottom:4rem;animation:fadeIn .8s ease-out}.page-title{font-size:3.5rem;font-weight:800;letter-spacing:-.02em;background:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.page-subtitle{font-size:1.125rem;color:var(--text-secondary);font-weight:300}.grid-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}@media(min-width:1024px){.grid-layout{grid-template-columns:1.2fr .8fr;gap:4rem}}.glass-panel{background:var(--bg-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:1.5rem;padding:2.5rem;box-shadow:var(--glass-shadow);animation:fadeIn .8s ease-out;transition:transform .3s ease,border-color .3s ease}.glass-panel:hover{border-color:#ffffff26}.sticky-panel{position:sticky;top:2rem}.panel-header{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.input-group{margin-bottom:1.5rem}.input-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.helper-text{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.premium-textarea{width:100%;height:320px;background:#0003;border:1px solid var(--border-subtle);border-radius:1rem;padding:1.5rem;color:var(--text-primary);font-family:var(--font-family);font-size:1rem;line-height:1.6;resize:none;transition:all .3s ease}.premium-textarea:focus,.premium-input:focus{outline:none;border-color:var(--border-glow);box-shadow:0 0 0 2px #6366f133;background:#0000004d}.premium-input{width:100%;background:#0003;border:1px solid var(--border-subtle);border-radius:.75rem;padding:1rem 1.25rem;color:var(--text-primary);font-family:var(--font-family);font-size:1rem;transition:all .3s ease}.btn-primary{width:100%;background:var(--accent-gradient);color:#fff;border:none;border-radius:.75rem;padding:1.25rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease;display:flex;justify-content:center;align-items:center;gap:.75rem;box-shadow:0 4px 15px #6366f166}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #6366f199}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:.75rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary);border-color:#fff3}.btn-icon{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-icon:hover{color:var(--accent-danger);background:#ef44441a}.btn-text{background:transparent;border:none;color:var(--accent-button);font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;transition:color .2s ease;gap:.25rem}.btn-text:hover{color:var(--text-primary);text-shadow:0 0 8px rgba(168,85,247,.5)}.flex-row{display:flex;gap:1rem}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:2rem}.mt-lg{margin-top:2rem}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.text-danger{color:var(--accent-danger)}.text-success{color:var(--accent-success)}.message-box{padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1.5rem;font-size:.95rem;animation:fadeIn .3s ease}.message-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.message-success{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#6ee7b7}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cookbook-list{display:flex;flex-direction:column;gap:1rem;max-height:700px;overflow-y:auto;padding-right:.5rem}.cookbook-list::-webkit-scrollbar{width:6px}.cookbook-list::-webkit-scrollbar-track{background:transparent}.cookbook-list::-webkit-scrollbar-thumb{background:var(--bg-surface-hover);border-radius:3px}.cookbook-list::-webkit-scrollbar-thumb:hover{background:var(--border-subtle)}.recipe-card{background:#0003;border:1px solid var(--border-subtle);border-radius:1rem;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.recipe-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#6366f10d,#ec48990d);opacity:0;transition:opacity .3s ease}.recipe-card:hover{transform:translateY(-2px);border-color:#a855f74d;box-shadow:0 4px 20px #0003}.recipe-card:hover:before{opacity:1}.recipe-card-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;position:relative;z-index:1}.recipe-ingredient{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem;display:flex;align-items:baseline;position:relative;z-index:1}.recipe-ingredient strong{color:var(--text-primary);margin-right:.25rem}.recipe-meta{font-size:.75rem;color:var(--text-muted);margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle);position:relative;z-index:1}.recipe-card .btn-icon,.recipe-card .btn-primary,.recipe-card .btn-secondary,.recipe-card .input-group,.recipe-card .flex-between,.recipe-card .ingredient-row,.recipe-card .empty-state{position:relative;z-index:2}.ingredient-row{display:flex;gap:.75rem;align-items:center;background:#00000026;padding:.5rem;border-radius:.75rem;border:1px solid var(--border-subtle);transition:border-color .2s ease}.ingredient-row:hover{border-color:#ffffff26}.drag-handle{color:var(--text-muted);cursor:grab}.drag-handle:active{cursor:grabbing}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;background:#00000026;border:1px dashed var(--border-subtle);border-radius:1rem;color:var(--text-muted)}.empty-state svg{margin-bottom:1rem;opacity:.5}
