@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;0,700;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,600;1,9..40,400&display=swap";:root{--color-bg:#0f0e0c;--color-surface:#1a1814;--color-elevated:#242019;--color-border:#3d3528;--color-text:#f4efe4;--color-muted:#a89b88;--color-accent:#c9a227;--color-accent-dim:#8a7020;--color-ai:#e85d4c;--font-display:"Cormorant Garamond", "Georgia", serif;--font-ui:"DM Sans", system-ui, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius:6px;--shadow:0 8px 32px #00000059;--tap-min:2.75rem;--shell-pad-x:clamp(var(--space-3), 2vw, var(--space-6));--shell-pad-y:clamp(var(--space-3), 2vw, var(--space-4));--content-max:1100px;--intro-measure:65ch}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-ui);margin:0;font-size:16px;line-height:1.5}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#1a1510;border-radius:var(--radius);font-weight:600;position:absolute;left:-9999px}.skip-link:focus{left:max(var(--space-4), env(safe-area-inset-left,0px));top:max(var(--space-4), env(safe-area-inset-top,0px));outline:2px solid var(--color-text);outline-offset:2px}:focus-visible{outline:2px solid var(--color-accent-dim);outline-offset:2px}:focus:not(:focus-visible){outline:none}.text-muted{color:var(--color-muted)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;font-weight:600}button,input,select,textarea{font:inherit}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-elevated);color:var(--color-text);cursor:pointer;touch-action:manipulation;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:var(--color-accent-dim);background:#2e2a22}.btn-primary{background:linear-gradient(180deg, #d4af37 0%, var(--color-accent-dim) 100%);border-color:var(--color-accent);color:#1a1510;font-weight:600}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:0 0}.btn-remove-x{min-width:var(--tap-min);min-height:var(--tap-min);width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius);color:var(--color-ai);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.65rem;font-weight:300;line-height:1;transition:background .15s;display:inline-flex}.btn-remove-x:hover{background:color-mix(in srgb, var(--color-ai) 14%, transparent)}.btn-remove-x:focus-visible{outline:2px solid var(--color-ai);outline-offset:2px}.btn-icon-edit{min-width:var(--tap-min);min-height:var(--tap-min);width:var(--tap-min);height:var(--tap-min);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-elevated);color:var(--color-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background .15s;display:inline-flex}.btn-icon-edit:hover{border-color:var(--color-accent-dim);background:var(--color-surface)}.btn-icon-edit:focus-visible{outline:2px solid var(--color-accent-dim);outline-offset:2px}.btn-icon-edit svg{width:1.35rem;height:1.35rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) + 2px);box-shadow:var(--shadow)}.empty-state{align-items:center;gap:var(--space-4);margin:var(--space-6) 0;padding:var(--space-8) var(--space-6);text-align:center;border-radius:calc(var(--radius) + 2px);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow);width:100%;max-width:var(--content-max);flex-direction:column;margin-inline:auto;display:flex}.empty-state__text{color:var(--color-muted);max-width:var(--intro-measure);margin:0;font-size:1rem;line-height:1.55}.empty-state__actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{color:var(--color-muted);font-size:.875rem}.field input,.field select,.field textarea{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);width:100%;max-width:100%}.field textarea{resize:vertical;min-height:6rem}.auth-card{width:100%;max-width:420px;margin-inline:auto}.layout-shell{max-width:var(--content-max);padding:calc(var(--shell-pad-y) + env(safe-area-inset-top,0px)) calc(var(--shell-pad-x) + env(safe-area-inset-right,0px)) calc(var(--shell-pad-y) + env(safe-area-inset-bottom,0px)) calc(var(--shell-pad-x) + env(safe-area-inset-left,0px));margin:0 auto}main#main{min-width:0}.wordmark{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);min-height:var(--tap-min);padding:var(--space-1) 0;align-items:center;font-size:clamp(1.35rem,3.8vw,1.75rem);font-weight:700;text-decoration:none;display:inline-flex}.wordmark:hover,.wordmark:focus-visible{text-decoration:none}.wordmark .ai{color:var(--color-ai)}.nav-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.nav-links{align-items:center;gap:var(--space-1);flex-wrap:wrap;flex:1;justify-content:flex-end;min-width:0;display:flex}.nav-links .nav-link{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--color-muted);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nav-links .nav-link:hover{color:var(--color-text);text-decoration:none}.nav-links .nav-link[aria-current=page]{color:var(--color-text);background:#c9a22714;font-weight:600}.nav-icon-btn{min-width:var(--tap-min);min-height:var(--tap-min);border-radius:var(--radius);color:var(--color-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.nav-icon-btn:hover{color:var(--color-text);border-color:var(--color-border);background:#c9a22714;text-decoration:none}.nav-icon-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nav-icon-btn[aria-current=page]{color:var(--color-text);border-color:var(--color-border);background:#c9a22714}.nav-icon-btn svg{flex-shrink:0;width:1.25rem;height:1.25rem}.table-wrap{-webkit-overflow-scrolling:touch;border-radius:calc(var(--radius) + 2px);border:1px solid var(--color-border);background:var(--color-surface);width:100%;box-shadow:var(--shadow);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9375rem}.data-table thead{background:var(--color-elevated);border-bottom:1px solid var(--color-border)}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#c9a2270a}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .row-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);white-space:nowrap;flex-wrap:wrap;display:flex}.data-table .row-actions .btn.sm{min-height:2.25rem}@media (width<=640px){.nav-bar{align-items:stretch;gap:var(--space-4);flex-direction:column}.nav-links{justify-content:center;gap:var(--space-2)}}.grid-recipes{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));display:grid}.recipe-card-img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--color-elevated);width:100%}.badge{background:var(--color-elevated);border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;padding:2px 8px;font-size:.75rem;display:inline-block}@media (width<=480px){.grid-recipes{gap:var(--space-3);grid-template-columns:1fr}}
