@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT,WONK@0,9..144,300..900,0..100,0..1;1,9..144,300..900,0..100,0..1&family=Karla:ital,wght@0,400..800;1,400..800&display=swap";:root{--field:#edf1e2;--field-deep:#e3e9d2;--milk:#fffdf7;--ink:#22301b;--ink-soft:#55624b;--husk:#d6dcc4;--leaf:#4f6b41;--leaf-tint:#e0e8d5;--tomato:#c1440e;--tomato-deep:#a53a0c;--tomato-tint:#f6e3d7;--yolk:#e9a93d;--yolk-tint:#f7ecd2;--sky-tint:#dfe7ea;--font-display:"Fraunces", Georgia, serif;--font-body:"Karla", system-ui, sans-serif;--radius:16px;--radius-sm:10px;--shadow-card:0 1px 2px #22301b0f, 0 10px 30px #22301b14;--shadow-lift:0 2px 4px #22301b14, 0 16px 40px #22301b1f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--field);background-image:radial-gradient(ellipse 90% 55% at 50% -10%, #f6f8ec 0%, var(--field) 65%);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:16px;line-height:1.55}button{color:inherit;cursor:pointer;font-family:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--tomato);outline-offset:2px;border-radius:4px}.app-shell{max-width:960px;margin:0 auto;padding:0 1.25rem 5rem}.topbar{z-index:40;background:linear-gradient(to bottom, var(--field) 82%, transparent);align-items:center;gap:1.25rem;padding:1rem 0 .85rem;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-display);font-variation-settings:"opsz" 40, "SOFT" 60, "WONK" 1;letter-spacing:-.01em;color:var(--ink);font-size:1.5rem;font-weight:640}.nav-menu{scrollbar-width:none;flex:1;gap:.25rem;display:flex;overflow-x:auto}.nav-menu::-webkit-scrollbar{display:none}.nav-btn{color:var(--ink-soft);white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:.45rem .9rem;font-size:.95rem;font-weight:600;transition:background .15s,color .15s}.nav-btn:hover{color:var(--ink);background:var(--field-deep)}.nav-btn.active{background:var(--ink);color:var(--milk)}.sync-chip{border:1.5px solid var(--husk);background:var(--milk);letter-spacing:.02em;color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:.45rem 1rem;font-size:.85rem;font-weight:700;transition:border-color .15s,color .15s}.sync-chip:hover{border-color:var(--leaf);color:var(--leaf)}.sync-chip.signed-in{border-color:var(--leaf);color:var(--leaf);background:var(--leaf-tint)}.content-area{padding-top:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:.9rem;font-size:.78rem;font-weight:800}.tonight-hero{background:var(--milk);border-radius:var(--radius);border:1px solid var(--husk);box-shadow:var(--shadow-card);padding:clamp(1.5rem,4vw,2.75rem);animation:.45s cubic-bezier(.2,.7,.3,1) both deal-in}@keyframes deal-in{0%{opacity:0;transform:translateY(10px)rotate(-.4deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.hero-kicker{color:var(--tomato);margin-bottom:.35rem;font-size:1rem;font-weight:700}.dish-name{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 40, "WONK" 1;letter-spacing:-.015em;text-wrap:balance;margin-bottom:1.1rem;font-size:clamp(2rem,6.5vw,3.6rem);font-weight:560;line-height:1.04}.meta-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.meta-chip{background:var(--field);color:var(--ink-soft);border-radius:999px;padding:.3rem .75rem;font-size:.82rem;font-weight:700}.meta-chip.done{background:var(--leaf-tint);color:var(--leaf)}.rule-note{color:var(--ink-soft);max-width:46ch;margin-bottom:1.4rem;font-size:1.02rem}.swap-note{color:var(--ink-soft);margin:-.6rem 0 1.2rem;font-size:.9rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.btn-primary{background:var(--tomato);color:#fff;border:none;border-radius:999px;padding:.8rem 1.6rem;font-size:1.02rem;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 6px 16px #c1440e47}.btn-primary:hover{background:var(--tomato-deep)}.btn-primary:active{transform:translateY(1px);box-shadow:0 3px 8px #c1440e40}.btn-primary:disabled{opacity:.55;cursor:default}.btn-ghost{border:1.5px solid var(--husk);color:var(--ink);background:0 0;border-radius:999px;padding:.75rem 1.4rem;font-size:1rem;font-weight:700;transition:border-color .15s,background .15s}.btn-ghost:hover{border-color:var(--ink-soft);background:var(--milk)}.btn-ghost:disabled{opacity:.55;cursor:default}.btn-ghost.small{padding:.45rem 1rem;font-size:.85rem}.btn-primary.full,.btn-ghost.full,.btn-danger.full{width:100%;display:block}.btn-danger{color:var(--tomato);background:0 0;border:1.5px solid #c1440e66;border-radius:999px;padding:.7rem 1.3rem;font-size:.95rem;font-weight:700;transition:background .15s}.btn-danger:hover{background:var(--tomato-tint)}.link-btn{color:var(--leaf);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.92rem;font-weight:700;text-decoration:underline}.link-btn:hover{color:var(--ink)}.link-btn.danger{color:var(--tomato)}.cook-sheet{border-top:1px dashed var(--husk);grid-template-columns:minmax(200px,1fr) 2fr;gap:1.75rem;margin-top:1.75rem;padding-top:1.5rem;display:grid}.cook-sheet h3{font-family:var(--font-display);margin-bottom:.7rem;font-size:1.1rem;font-weight:600}.cook-ingredients ul{flex-direction:column;gap:.4rem;list-style:none;display:flex}.cook-ingredients li{padding-left:1rem;font-size:.95rem;position:relative}.cook-ingredients li:before{content:"";background:var(--yolk);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.cook-step-list{flex-direction:column;gap:.65rem;margin-bottom:1rem;list-style:none;display:flex}.cook-step-list.plain{padding-left:1.4rem;list-style:decimal}.cook-step-list.plain li{padding-left:.3rem;font-size:.97rem}.clock-band{margin:1.5rem 0}.clock-track{background:var(--field-deep);border-radius:14px;gap:4px;padding:4px;display:flex;position:relative}.window-seg{background:0 0;border-radius:10px;flex-basis:0;min-width:0;padding:.65rem .9rem;transition:background .2s}.window-seg .window-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap;font-size:.78rem;font-weight:800;display:block}.window-seg .window-hint{color:var(--ink-soft);font-size:.8rem;display:none}.window-seg.active{box-shadow:inset 0 0 0 1.5px #22301b1f}.window-seg.active .window-label{color:var(--ink)}.window-seg.active .window-hint{display:block}.window-seg.breakfast.active{background:var(--yolk-tint)}.window-seg.lunch.active{background:#f3ecd3}.window-seg.dinner.active{background:var(--sky-tint)}.now-dot{background:var(--tomato);border:2px solid var(--milk);border-radius:50%;width:10px;height:10px;margin-left:-5px;position:absolute;top:-5px;box-shadow:0 1px 4px #22301b4d}.water-row{background:var(--milk);border:1px solid var(--husk);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.1rem 1.4rem;display:flex}.water-row h3{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.water-row p{color:var(--ink-soft);font-size:.88rem}.water-cups{gap:.4rem;display:flex}.water-cup-btn{border:1.5px solid var(--husk);background:var(--milk);width:2.4rem;height:2.4rem;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.water-cup-btn:hover{border-color:#7fa3b0}.water-cup-btn.filled{background:var(--sky-tint);color:#35606f;border-color:#7fa3b0}.rest-of-day{margin-top:.5rem}.section-heading{font-family:var(--font-display);margin-bottom:.9rem;font-size:1.35rem;font-weight:600}.rest-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.9rem;margin-bottom:.9rem;display:grid}.mini-meal-card{text-align:left;background:var(--milk);border:1px solid var(--husk);border-radius:var(--radius-sm);flex-direction:column;gap:.15rem;padding:.9rem 1.1rem;transition:box-shadow .15s,transform .15s;display:flex}.mini-meal-card:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.mini-meal-card.done{opacity:.65}.mini-meal-type{text-transform:uppercase;letter-spacing:.12em;color:var(--tomato);font-size:.72rem;font-weight:800}.mini-meal-name{font-size:.98rem;font-weight:700}.mini-meal-time{color:var(--ink-soft);font-size:.82rem}.panel-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#22301b59;justify-content:flex-end;animation:.2s both fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sync-panel{background:var(--milk);width:min(420px,100%);height:100%;box-shadow:var(--shadow-lift);flex-direction:column;gap:1rem;padding:1.5rem 1.75rem 2rem;animation:.28s cubic-bezier(.2,.7,.3,1) both slide-in;display:flex;overflow-y:auto}@keyframes slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.sync-panel-head{justify-content:space-between;align-items:center;display:flex}.sync-panel-head h2{font-family:var(--font-display);font-size:1.5rem;font-weight:620}.icon-btn{background:var(--field);border:none;border-radius:50%;width:2.2rem;height:2.2rem;font-size:.95rem}.icon-btn:hover{background:var(--field-deep)}.sync-intro{color:var(--ink-soft);font-size:.92rem}.sync-section-title{font-family:var(--font-display);margin-bottom:.75rem;font-size:1.15rem;font-weight:600}.sync-panel form{flex-direction:column;gap:.35rem;display:flex}.sync-panel .link-btn{align-self:center;margin-top:.75rem}.sync-account{flex-direction:column;gap:1.25rem;display:flex}.sync-user-row{background:var(--leaf-tint);border-radius:var(--radius-sm);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:700;display:flex}.sync-divider{text-align:center;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin:.75rem 0;font-size:.8rem;font-weight:800}.group-code-display{font-family:var(--font-display);letter-spacing:.35em;text-indent:.35em;text-align:center;background:var(--field);border-radius:var(--radius-sm);margin-bottom:.5rem;padding:.75rem;font-size:2rem;font-weight:600}.sync-hint{color:var(--ink-soft);text-align:center;margin-bottom:.75rem;font-size:.85rem}.sync-members-title{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:1rem 0 .5rem;font-size:.8rem;font-weight:800}.member-list{flex-direction:column;gap:.4rem;margin-bottom:1rem;list-style:none;display:flex}.member-list li{background:var(--field);border-radius:var(--radius-sm);overflow-wrap:anywhere;justify-content:space-between;gap:.5rem;padding:.55rem .8rem;font-size:.9rem;font-weight:600;display:flex}.member-joined{color:var(--ink-soft);white-space:nowrap;font-weight:500}.sync-footer{border-top:1px dashed var(--husk);text-align:center;margin-top:auto;padding-top:1.5rem}.code-input{text-align:center;text-transform:uppercase;letter-spacing:.3em;font-size:1.2rem}.form-group{margin-bottom:.9rem}.form-group label{letter-spacing:.02em;color:var(--ink-soft);margin-bottom:.3rem;font-size:.82rem;font-weight:800;display:block}.form-control{width:100%;color:var(--ink);background:var(--milk);border:1.5px solid var(--husk);border-radius:var(--radius-sm);padding:.7rem .9rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.form-control:focus{border-color:var(--leaf);outline:none}.form-control:disabled{background:var(--field);color:var(--ink-soft)}.alert-error,.alert-success{border-radius:var(--radius-sm);padding:.8rem 1rem;font-size:.92rem;font-weight:600}.alert-error{background:var(--tomato-tint);color:var(--tomato-deep)}.alert-success{background:var(--leaf-tint);color:var(--leaf)}.toast{background:var(--ink);color:var(--milk);box-shadow:var(--shadow-lift);z-index:200;border-radius:999px;padding:.75rem 1.4rem;font-size:.92rem;font-weight:700;animation:.25s both toast-in;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.section-title{font-family:var(--font-display);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.6rem;font-weight:620;display:flex}.badge{background:var(--field);color:var(--ink-soft);border-radius:999px;padding:.28rem .7rem;font-size:.78rem;font-weight:800;display:inline-block}.badge-green{background:var(--leaf-tint);color:var(--leaf)}.badge-yellow{background:var(--yolk-tint);color:#8a6414}.badge-blue{background:var(--sky-tint);color:#35606f}.badge-orange{color:#9a5b1e;background:#f7e2cd}.badge-purple{color:#63537d;background:#e8e2ef}.badge-red{background:var(--tomato-tint);color:var(--tomato-deep)}button.badge{cursor:pointer;border:none}.flex-space{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.day-scroller{scrollbar-width:thin;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.day-tab{flex:none}.day-tab-btn{border:1.5px solid var(--husk);background:var(--milk);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:.1rem;min-width:76px;padding:.5rem .8rem;transition:border-color .15s,background .15s;display:flex}.day-tab-btn:hover{border-color:var(--ink-soft)}.day-tab-btn.active{background:var(--ink);border-color:var(--ink);color:var(--milk)}.day-tab-btn.active .day-label{color:var(--husk)}.day-tab-btn .day-num{font-size:.85rem;font-weight:800}.day-tab-btn .day-label{color:var(--ink-soft);font-size:.68rem}.day-progress-dot{background:var(--husk);border-radius:50%;width:7px;height:7px;margin-top:2px}.day-tab-btn.in-progress .day-progress-dot{background:var(--yolk)}.day-tab-btn.completed .day-progress-dot{background:var(--leaf)}.daily-tracker-header{font-family:var(--font-display);background:var(--milk);border:1px solid var(--husk);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.9rem 1.2rem;font-size:1.2rem;font-weight:600;display:flex}.hydration-banner{background:var(--milk);border:1px solid var(--husk);border-radius:var(--radius-sm);border-left:5px solid #7fa3b0;margin-bottom:1.25rem;padding:1.1rem 1.3rem}.hydration-banner h3{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.hydration-banner p{color:var(--ink-soft);margin:.4rem 0 .8rem;font-size:.88rem}.hydration-tracker{gap:.4rem;display:flex}.meals-container{flex-direction:column;gap:1.25rem;display:flex}.meal-card{background:var(--milk);border:1px solid var(--husk);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.meal-card-header{border-bottom:1px solid var(--husk);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.4rem;display:flex}.meal-card-header.breakfast{background:var(--yolk-tint)}.meal-card-header.lunch{background:#f3ecd3}.meal-card-header.dinner{background:var(--sky-tint)}.meal-card-title h3{font-family:var(--font-display);font-size:1.25rem;font-weight:620}.meal-card-title .time{color:var(--ink-soft);font-size:.82rem;font-weight:700}.meal-card-body{grid-template-columns:minmax(200px,1fr) 2fr;gap:1.5rem;padding:1.4rem;display:grid}.meal-rule-card{background:var(--field);border-radius:var(--radius-sm);grid-column:1/-1;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;font-size:.88rem;display:flex}.meal-ingredients-box h4,.meal-steps-box h4{font-family:var(--font-display);margin-bottom:.6rem;font-size:1rem;font-weight:600}.meal-ingredients-list{flex-direction:column;gap:.35rem;list-style:none;display:flex}.meal-ingredients-list li{font-size:.92rem}.meal-steps-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.custom-checkbox-container{cursor:pointer;align-items:flex-start;gap:.65rem;font-size:.95rem;display:flex}.custom-checkbox-container input{opacity:0;width:0;height:0;position:absolute}.custom-checkbox{border:1.5px solid var(--husk);background:var(--milk);border-radius:6px;flex:none;width:1.3rem;height:1.3rem;margin-top:.1rem;transition:background .15s,border-color .15s;position:relative}.custom-checkbox-container:hover .custom-checkbox{border-color:var(--leaf)}.custom-checkbox-container input:checked+.custom-checkbox{background:var(--leaf);border-color:var(--leaf)}.custom-checkbox-container input:checked+.custom-checkbox:after{content:"";border:2.5px solid #fff;border-width:0 2.5px 2.5px 0;width:.3rem;height:.6rem;position:absolute;top:.14rem;left:.38rem;transform:rotate(45deg)}.custom-checkbox-container input:checked~.label-text{color:var(--ink-soft);-webkit-text-decoration:line-through #55624b80;text-decoration:line-through #55624b80}.custom-checkbox-container input:focus-visible+.custom-checkbox{outline:3px solid var(--tomato);outline-offset:2px}.shopping-filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.search-input{border:1.5px solid var(--husk);background:var(--milk);min-width:200px;color:var(--ink);border-radius:999px;flex:1;padding:.7rem 1rem;font-family:inherit;font-size:.98rem}.search-input:focus{border-color:var(--leaf);outline:none}.bring-ui-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:.7rem;display:grid}.shopping-item-tile{background:var(--milk);border:1px solid var(--husk);border-radius:var(--radius-sm);cursor:pointer;padding:.8rem .9rem;transition:box-shadow .15s,transform .15s,border-color .15s}.shopping-item-tile:hover{box-shadow:var(--shadow-card);border-color:var(--leaf);transform:translateY(-1px)}.bring-ui-grid.acquired .shopping-item-tile{opacity:.55;background:var(--field)}.bring-ui-grid.acquired .shopping-item-tile .ingredient-name{text-decoration:line-through}.ingredient-name{font-size:.9rem;font-weight:700;line-height:1.3}.ingredient-qty{color:var(--ink-soft);margin-top:.2rem;font-size:.78rem}.shopping-sections h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.btn{border:1.5px solid var(--husk);background:var(--milk);color:var(--ink);border-radius:999px;padding:.5rem 1rem;font-size:.9rem;font-weight:700;transition:border-color .15s,background .15s}.btn:hover{border-color:var(--ink-soft)}.btn.active,.btn-blue.active{background:var(--ink);border-color:var(--ink);color:var(--milk)}.recipe-card{background:var(--milk);border:1px solid var(--husk);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.4rem}.recipe-card-header h3{font-family:var(--font-display);margin-bottom:.3rem;font-size:1.3rem;font-weight:620}.recipe-meta-container{flex-wrap:wrap;gap:.5rem;display:flex}.recipe-meta-badge{color:var(--ink-soft);background:var(--field);border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:700}.recipe-body{border-top:1px dashed var(--husk);grid-template-columns:minmax(200px,1fr) 2fr;gap:1.5rem;margin-top:1.4rem;padding-top:1.4rem;display:grid}.recipe-equipment-list{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.recipe-equipment-chip{background:var(--field);color:var(--ink-soft);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.recipe-steps-list{flex-direction:column;gap:.7rem;padding-left:1.3rem;font-size:.95rem;display:flex}.rules-container{flex-direction:column;gap:1.25rem;display:flex}.rule-full-card{background:var(--milk);border:1px solid var(--husk);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:1.4rem 1.6rem}.rule-full-card.morning{border-top:5px solid var(--yolk)}.rule-full-card.lunch{border-top:5px solid #cdb453}.rule-full-card.dinner{border-top:5px solid #7fa3b0}.rule-full-card h3{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.25rem;font-weight:620}.rule-full-card p{color:var(--ink-soft);margin-bottom:1rem;font-size:.95rem}.rules-checklists{flex-direction:column;gap:.7rem;display:flex}@media (width<=720px){.topbar{flex-wrap:wrap;gap:.6rem}.wordmark{order:1}.sync-chip{order:2;margin-left:auto}.nav-menu{flex-basis:100%;order:3}.cook-sheet,.meal-card-body,.recipe-body{grid-template-columns:1fr}.window-seg .window-label{letter-spacing:.04em;white-space:normal;font-size:.68rem}.window-seg{padding:.5rem .55rem}.hero-actions .btn-primary,.hero-actions .btn-ghost{text-align:center;flex:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
