:root{color:#243126;font-synthesis:none;text-rendering:optimizelegibility;--ink:#243126;--muted:#667064;--cream:#f8f3e8;--paper:#fffdf8;--sage:#dbe4d5;--forest:#315744;--orange:#d66a3a;--line:#24312629;--shadow:0 24px 70px #3a372a1f;background:#f8f3e8;font-family:Avenir Next,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 5%, #d66a3a17, transparent 22rem), linear-gradient(180deg, var(--cream), #f5f0e5);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,Times New Roman,serif}.eyebrow{color:var(--orange);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.7rem;font-size:.74rem;font-weight:700}.auth-layout{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:center;gap:clamp(3rem,8vw,9rem);width:min(1120px,100% - 3rem);min-height:100vh;margin:0 auto;padding:5rem 0;display:grid}.auth-intro h1{letter-spacing:-.055em;max-width:12ch;margin-bottom:1.4rem;font-size:clamp(3.6rem,8vw,7.3rem);font-weight:500;line-height:.86}.intro-copy{max-width:34rem;color:var(--muted);font-size:clamp(1rem,2vw,1.22rem);line-height:1.7}.auth-card{box-shadow:var(--shadow);background:#fffdf8e6;border:1px solid #3157442b;border-radius:2rem;padding:clamp(2rem,5vw,3.4rem);position:relative;overflow:hidden}.auth-card:after{background:var(--sage);content:"";opacity:.55;pointer-events:none;border-radius:50%;width:13rem;height:13rem;position:absolute;bottom:-5rem;right:-4rem}.card-marker{width:3rem;height:3rem;color:var(--paper);background:var(--orange);border-radius:50%;place-items:center;margin-bottom:2rem;display:grid}.auth-card h2{letter-spacing:-.03em;margin-bottom:.6rem;font-size:clamp(2rem,4vw,2.7rem);font-weight:600}.auth-card>p{color:var(--muted);margin-bottom:2rem;line-height:1.6}.auth-card form{z-index:1;position:relative}.auth-card label{margin-bottom:.5rem;font-size:.85rem;font-weight:700;display:block}.auth-card input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:.8rem;outline:none;margin-bottom:1rem;padding:.95rem 1rem;transition:border-color .16s,box-shadow .16s}.auth-card input:focus{border-color:var(--forest);box-shadow:0 0 0 3px #31574421}.primary-button,.secondary-button{border-radius:999px;width:100%;padding:.95rem 1.2rem;font-weight:700;transition:transform .16s,box-shadow .16s}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button{border:1px solid var(--forest);color:#fff;background:var(--forest);box-shadow:0 8px 24px #3157442e}.secondary-button{z-index:1;border:1px solid var(--line);color:var(--ink);background:0 0;justify-content:center;align-items:center;gap:.65rem;display:flex;position:relative}.text-button{color:var(--forest);text-underline-offset:.2rem;background:0 0;border:0;margin:1rem auto 0;padding:0;text-decoration:underline;display:block}.divider{z-index:1;color:var(--muted);align-items:center;gap:.8rem;margin:1.4rem 0;font-size:.78rem;display:flex;position:relative}.divider:before,.divider:after{background:var(--line);content:"";flex:1;height:1px}.status-region{z-index:1;min-height:1.5rem;margin-top:1rem;position:relative}.success-message,.error-message{margin-bottom:0;font-size:.88rem;line-height:1.5}.success-message{color:var(--forest)}.error-message{color:#a63d2b}.app-shell{min-height:100vh}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;width:min(1180px,100% - 3rem);margin:0 auto;padding:1.4rem 0;display:flex}.brand{align-items:center;gap:.7rem;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:600;text-decoration:none;display:inline-flex}.brand>span:first-child{color:#fff;background:var(--orange);border-radius:50%;place-items:center;width:2rem;height:2rem;font-family:sans-serif;font-size:.75rem;display:grid}.account-actions{align-items:center;gap:.7rem;display:flex}.signed-in-email{max-width:15rem;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.header-button{border:1px solid var(--line);color:var(--ink);background:#fffdf899;border-radius:999px;padding:.55rem .85rem;font-size:.78rem;font-weight:700}.toast{z-index:10;border:1px solid var(--line);background:var(--paper);max-width:22rem;box-shadow:var(--shadow);border-radius:.8rem;padding:.8rem 1rem;position:fixed;top:5.2rem;right:1.5rem}.menu-section{width:min(1180px,100% - 3rem);margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.menu-heading{grid-template-columns:minmax(0,1fr) minmax(16rem,28rem);align-items:end;gap:3rem;margin-bottom:3rem;display:grid}.menu-heading h1{letter-spacing:-.05em;max-width:12ch;margin-bottom:0;font-size:clamp(3rem,7vw,5.6rem);font-weight:500;line-height:.94}.menu-heading>p{color:var(--muted);margin-bottom:.4rem;line-height:1.7}.week-tabs{border:1px solid var(--line);background:#fffdf873;border-radius:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem;display:grid;overflow:hidden}.week-tab{border:0;border-right:1px solid var(--line);color:var(--muted);background:0 0;justify-content:center;align-items:baseline;gap:.5rem;padding:1.1rem;display:flex}.week-tab:last-child{border-right:0}.week-tab strong{font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.week-tab.active{color:#fff;background:var(--forest)}.day-grid{gap:.75rem;display:grid}.day-card{border:1px solid var(--line);background:#fffdf8bf;border-radius:1rem;transition:box-shadow .18s;overflow:hidden}.day-card[open]{box-shadow:0 14px 34px #3a372a14}.day-card summary{cursor:pointer;grid-template-columns:3.2rem 1fr 2rem;align-items:center;gap:1.1rem;padding:1.25rem 1.4rem;list-style:none;display:grid}.day-card summary::-webkit-details-marker{display:none}.day-number{color:var(--orange);font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.day-title{align-items:baseline;gap:1.5rem;display:flex}.day-title>span{width:6.5rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.8rem;font-weight:700}.day-title strong{font-size:1.05rem}.expand-icon{color:var(--forest);font-size:1.4rem;transition:transform .18s}.day-card[open] .expand-icon{transform:rotate(45deg)}.recipe-content{border-top:1px solid var(--line);grid-template-columns:minmax(15rem,.8fr) minmax(18rem,1.2fr);gap:clamp(2rem,6vw,5rem);margin:0 1.4rem;padding:1.5rem 0 2rem 4.3rem;display:grid}.recipe-content h2{letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.8rem}.ingredient-list,.recipe-steps{margin:0;padding:0}.ingredient-list{list-style:none}.ingredient-list li{border-bottom:1px dotted var(--line);justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.9rem;display:flex}.ingredient-list strong{white-space:nowrap}.recipe-steps{padding-left:1.5rem}.recipe-steps li{color:var(--muted);margin-bottom:.8rem;padding-left:.4rem;line-height:1.65}.recipe-steps li::marker{color:var(--orange);font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:600}.loading-screen,.empty-state{min-height:60vh;color:var(--muted);place-items:center;display:grid}footer{border-top:1px solid var(--line);width:min(1180px,100% - 3rem);color:var(--muted);margin:0 auto;padding:1.5rem 0 3rem;font-family:Georgia,Times New Roman,serif;font-size:1.2rem}@media (width<=760px){.auth-layout{grid-template-columns:1fr;gap:2.5rem;width:min(100% - 2rem,34rem);padding:3rem 0}.auth-intro h1{font-size:clamp(3.4rem,17vw,5.2rem)}.site-header{align-items:flex-start;width:calc(100% - 2rem)}.brand>span:last-child,.signed-in-email{display:none}.account-actions{flex-wrap:wrap;justify-content:flex-end}.menu-section{width:calc(100% - 2rem);padding-top:3rem}.menu-heading{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2rem}.week-tab{flex-direction:column;gap:0;padding:.75rem .3rem;font-size:.68rem}.day-card summary{grid-template-columns:2.2rem 1fr 1.5rem;gap:.7rem;padding:1rem}.day-title{gap:.25rem;display:grid}.day-title>span{width:auto;font-size:.68rem}.recipe-content{grid-template-columns:1fr;gap:2rem;margin:0 1rem;padding:1.4rem 0 1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
