:root{--background:#fff;--foreground:#171717;--muted:#52525b;--muted-light:#71717a;--surface:#fafafa;--primary:#09090b}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}.home-page{background:var(--surface);min-height:100vh;color:var(--foreground);justify-content:center;align-items:center;padding:4rem 1.5rem;display:flex}.home-intro{text-align:center;width:100%;max-width:24rem}.home-eyebrow{color:var(--muted-light);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.home-title{letter-spacing:0;margin:0;font-size:2.5rem;font-weight:700}.home-description{color:var(--muted);margin:1rem 0 0;font-size:1rem;line-height:1.7}.primary-button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:.5rem;width:100%;height:3rem;margin-top:2rem;font-size:1rem;font-weight:600}.primary-button:hover{background:#27272a}.app-page{min-height:100vh;padding:2rem 2rem 6rem}.page-header{max-width:42rem}.page-header h1{margin:0;font-size:2rem}.page-header p{color:var(--muted);margin:.75rem 0 0;line-height:1.6}.page-eyebrow{color:var(--muted-light);margin:0 0 .5rem;font-size:.875rem;font-weight:700}.login-page{margin:20px}.login-intro{border:1px solid;border-radius:8px;padding:8px}.login-description{font-size:18px}.app-nav{background-color:#fff;border-top:1px solid #e5e5e7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.app-nav-link{color:#52525b;text-align:center;padding:.9rem .25rem;font-size:.8rem;font-weight:600;text-decoration:none}.app-nav-link:hover{color:#09090b;background:#f4f4f5}.meal-list{gap:1rem;margin-top:2rem;display:grid}.meal-card{cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;border:1px solid #e4e4e7;border-radius:.75rem;padding:1rem}.meal-card:active{transform:scale(.99)}.meal-card-header{justify-content:space-between;gap:1rem;display:flex}.meal-card h2{margin:0;font-size:1.15rem}.meal-card p{color:var(--muted);margin:.35rem 0 0;line-height:1.5}.meal-card span{color:var(--muted-light);flex:none;font-size:.8rem;font-weight:700}.ingredient-list{flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.ingredient-list li{color:var(--muted);background:#f4f4f5;border-radius:999px;padding:.35rem .55rem;font-size:.85rem}.sticky-action-bar{z-index:10;background:var(--background);padding:.75rem 0;position:sticky;top:0}.sticky-action-bar .primary-button{margin-top:0}.meal-form{background:#fff;border:1px solid #e4e4e7;border-radius:.75rem;gap:1rem;margin:1rem 0 2rem;padding:1rem;display:grid}.meal-form label{color:var(--foreground);gap:.4rem;font-size:.95rem;font-weight:700;display:grid}.meal-form input,.meal-form textarea{width:100%;color:var(--foreground);border:1px solid #d4d4d8;border-radius:.5rem;padding:.75rem;font-size:1rem}.meal-form textarea{resize:vertical}.empty-state{background:#fff;border:1px dashed #d4d4d8;border-radius:.75rem;margin-top:2rem;padding:1.25rem}.empty-state h2{margin:0;font-size:1.15rem}.empty-state p{color:var(--muted);margin:.75rem 0 0;line-height:1.6}
