:root{--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--bg:#0f0f0e;--surface:#1a1a18;--surface-elevated:#222220;--border:#2d2d2a;--text:hsla(0,0%,100%,.92);--text-body:hsla(0,0%,100%,.8);--muted:#a0a09a;--accent:#e8b86d;--accent-hover:#f0c97a;--accent-active:#ddaa5c;--radius-card:16px;--radius-btn:12px;--shadow-soft:0 2px 8px rgba(0,0,0,.12);--shadow-hover:0 6px 20px rgba(0,0,0,.2);--shadow-card:0 2px 8px rgba(0,0,0,.12);--shadow-card-hover:0 4px 16px rgba(0,0,0,.18);--font-title:1.5rem;--font-title-weight:600;--font-section:1.1rem;--font-section-weight:500;--font-body:0.95rem}*{box-sizing:border-box}body{margin:0;font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:var(--font-body);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{border-radius:var(--radius-btn);transition:opacity .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.hoverLift{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.hoverLift:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.headerNavLink{transition:opacity .2s ease}.headerNavLink:hover{opacity:.85}.recipeCardPlaceholder:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,hsla(0,0%,100%,.05) 0,transparent 50%);pointer-events:none}.app-container{max-width:1100px;margin:0 auto;padding:var(--space-32) var(--space-24)}.app-container,.app-wide{padding-bottom:calc(var(--space-32) + 88px)}.app-wide{width:100%;padding-left:32px;padding-right:32px;padding-top:var(--space-32)}.libraryGrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;grid-gap:var(--space-24);gap:var(--space-24)}@media (min-width:640px){.libraryGrid{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.libraryGrid{grid-template-columns:repeat(3,1fr)}}button:hover:not(:disabled){opacity:.92}button:active:not(:disabled){opacity:.88}button:disabled{opacity:.6;cursor:not-allowed}.recipe-card-hover{transition:box-shadow .2s ease,transform .2s ease}.recipe-card-hover:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}