@font-face{font-family:Caprasimo;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/caprasimo-latin.woff2) format("woff2")}@font-face{font-family:Figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/figtree-latin.woff2) format("woff2")}:root{--paper: #f5ead8;--paper-2: #ebddc5;--card: #fdf6e9;--ink: #201e1d;--ink-2: #474238;--muted: #645c50;--rule: #dcd3c4;--rule-strong: #82796a;--terra: #c67139;--terra-ink: #8c491a;--terra-text: #8c491a;--terra-wash: #fff2eb;--hero-wash: #f8e6b8;--on-terra: #201e1d;--sage: #7a8a5e;--sage-ink: #3d472b;--sage-wash: #e3e8d6;--on-sage: #fdf6e9;--focus: #b2622d;--danger: #a63d2a;--danger-wash: #f6e4df;--past: #e7dfd0;--past-2: #ded5c4;--shadow-sm: 0 1px 2px rgba(46, 43, 37, .14);--shadow-md: 0 3px 10px rgba(46, 43, 37, .16);--display: "Caprasimo", Georgia, serif;--body: "Figtree", system-ui, sans-serif;--radius-card: 28px;--radius-tile: 18px}*{box-sizing:border-box}body{margin:0;background:var(--card);color:var(--ink);font:16px/1.45 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}h1,h2{font-family:var(--display);font-weight:400}a{color:inherit}small,.muted{color:var(--muted)}:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lbl{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.tab{font-variant-numeric:tabular-nums}.num{font-family:var(--display)}button,input,select,textarea{font:inherit;color:inherit}button{min-height:44px;padding:0 18px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s,color .15s}button:hover:not(:disabled){background:var(--ink);color:var(--paper)}button:disabled{background:var(--paper-2);border-color:var(--rule);color:var(--muted);cursor:not-allowed}button.primary{background:var(--terra);border-color:var(--terra);color:var(--on-terra)}button.primary:hover:not(:disabled){background:var(--terra-ink);border-color:var(--terra-ink);color:#fff}button.ghost{border-color:transparent;padding:0 12px}button.ghost:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}button.sm{min-height:34px;padding:0 12px;font-size:13px}button.ico{width:44px;padding:0;border-color:var(--rule-strong)}button svg{width:20px;height:20px;flex:none}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--rule-strong);border-radius:14px;background:var(--card)}input:hover,select:hover,textarea:hover{border-color:var(--ink-2)}label{display:grid;gap:4px;font-size:14px;color:var(--muted)}label.inline{display:flex;align-items:center;gap:10px;color:var(--ink)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:22px;min-height:22px;height:22px;padding:0;border:2px solid var(--ink-2);border-radius:7px;background:var(--card);display:inline-grid;place-content:center;cursor:pointer}input[type=checkbox]:checked{background:var(--sage);border-color:var(--sage)}input[type=checkbox]:checked:after{content:"";width:11px;height:6px;border-left:2.5px solid var(--on-sage);border-bottom:2.5px solid var(--on-sage);transform:translateY(-1.5px) rotate(-45deg)}.tag{white-space:nowrap;display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:700;border:1.5px solid var(--ink-2)}.tag svg{width:14px;height:14px}.tag--terra{border-color:transparent;background:var(--terra-wash);color:var(--terra-text)}.tag--sage{border-color:transparent;background:var(--sage-wash);color:var(--sage-ink)}.error{color:var(--danger);font-weight:600}.toast{padding:10px 14px;border-radius:14px;background:var(--sage-wash);color:var(--sage-ink);font-weight:600}.toast--error{background:var(--danger-wash);color:var(--danger)}.top{display:flex;align-items:center;gap:24px;padding:0 24px;height:76px;border-bottom:1px solid var(--rule)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--terra);font:400 28px var(--display);text-decoration:none}.top nav{display:flex;gap:4px;flex:1}.top nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;color:var(--ink-2);font-weight:600;text-decoration:none}.top nav a:hover{background:var(--paper-2);color:var(--ink)}.top nav a.on{background:var(--paper-2);color:var(--ink);font-weight:700}.page{max-width:1440px;margin:0 auto;padding:32px 40px 56px}.page-title{font-size:40px;line-height:1.05}.auth{position:relative;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:48px 64px}.auth__bird{position:absolute;right:30px;top:32px;width:min(46vw,657px);height:auto;color:var(--paper-2);z-index:0;pointer-events:none}.auth__top{position:relative;z-index:1}.auth .brand{font-size:30px;gap:9px}.auth__body{position:relative;z-index:1;margin-top:auto;display:grid;gap:32px;padding-bottom:40px;max-width:960px}.auth__title{font-size:clamp(44px,6.4vw,92px);line-height:1;max-width:900px}.auth__card{display:grid;gap:12px}.auth__form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;padding:20px;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-sm)}.auth__form--two{grid-template-columns:minmax(0,1fr) auto}.auth__form button.primary{min-height:52px;font-size:17px;padding:0 32px}.field-block{display:block}.field-block label{display:block;padding-bottom:6px;font-weight:700;color:var(--ink)}.auth input{min-height:52px}.pw{position:relative}.pw input{padding-right:56px}.pw .pw__eye{position:absolute;right:4px;top:4px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink-2)}.pw .pw__eye:hover:not(:disabled){background:transparent;color:var(--ink)}.auth__links{display:flex;justify-content:flex-end;align-items:center;gap:8px 24px;flex-wrap:wrap;padding:0 64px;font-size:14px;color:var(--ink-2)}button.link{min-height:0;height:auto;padding:2px 0;border:0;border-radius:4px;background:none;font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:underline}button.link:hover:not(:disabled){background:none;color:var(--ink)}button.link--strong{font-weight:700;color:var(--ink)}.promises{position:relative;z-index:1;display:flex;gap:12px 28px;flex-wrap:wrap;font-size:14px;font-weight:600;color:var(--ink-2)}.promises li{display:inline-flex;align-items:center;gap:8px}.promises svg{width:18px;height:18px;color:var(--terra-text)}@media (max-width: 900px){.auth{padding:24px}.auth__bird{width:340px;right:-2px;top:90px}.auth__card{padding:22px;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-sm);gap:16px}.auth__form,.auth__form--two{grid-template-columns:minmax(0,1fr);padding:0;background:none;box-shadow:none}.auth__links{padding:0;flex-direction:column-reverse;align-items:center;justify-content:center;text-align:center}.promises{display:none}}.consent{min-height:100vh;display:grid;place-items:center;padding:24px}.consent__card{width:min(520px,100%);display:grid;gap:16px;padding:32px;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-md)}.consent__target{display:grid;gap:2px;padding:14px 18px;border-radius:18px;background:var(--paper-2)}.consent__actions{display:flex;gap:12px;align-items:center}.app-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:18px;background:var(--card);box-shadow:var(--shadow-sm)}.week{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:0;margin:-32px -40px -56px;min-height:calc(100vh - 76px)}.week__main{padding:32px 40px 48px;display:flex;flex-direction:column;gap:20px;min-width:0}.week__head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.week__head>div:first-child{flex:1;display:grid;gap:6px;min-width:240px}.week__nav{display:flex;gap:8px;align-items:center}.week__aside{background:var(--card);border-left:1px solid var(--rule);padding:32px 28px 40px;display:flex;flex-direction:column;gap:18px}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;padding:28px;border-radius:var(--radius-card);background:var(--hero-wash);box-shadow:0 0 0 2px var(--terra),var(--shadow-md)}.hero__main{display:flex;flex-direction:column;gap:14px}.hero__title{font-size:44px;line-height:1.05}.hero__chips{display:flex;flex-wrap:wrap;gap:8px}.hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:8px}.hero__actions button{min-height:56px;font-size:17px;padding:0 26px}.hero__side{display:flex;flex-direction:column;gap:14px}.bubble{background:var(--card);border-radius:22px;box-shadow:var(--shadow-sm);padding:14px 16px;display:grid;gap:8px;align-content:start}.bubble h3{font:700 16px var(--body)}.checklist li{padding:3px 0}.checklist label{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:14.5px;cursor:pointer}.checklist input:checked+span{text-decoration:line-through;color:var(--muted)}.acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:52px;padding:0 18px;border-radius:18px;background:var(--card);box-shadow:var(--shadow-sm)}.acc>summary::-webkit-details-marker{display:none}.acc>summary:hover{filter:brightness(.98)}.acc>summary .chev{width:20px;height:20px;flex:none;margin-left:auto;transition:transform .15s}.acc[open]>summary .chev{transform:rotate(180deg)}.acc--past>summary{background:var(--past);box-shadow:none;border:1px solid var(--rule)}.acc__body{display:grid;gap:12px;padding-top:12px}.days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.days--all{grid-template-columns:repeat(4,minmax(0,1fr))}.day{display:flex;flex-direction:column;gap:12px;height:100%;padding:16px 16px 18px;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-sm)}.day--today{background:var(--terra-wash);box-shadow:0 0 0 2px var(--terra),var(--shadow-md)}.day--past{background:var(--past);box-shadow:none;border:1px solid var(--rule)}.day__head{display:flex;align-items:baseline;gap:8px}.day__head .tag,.day__head .day__state{margin-left:auto}.day__state{font-size:12.5px;font-weight:700;color:var(--muted)}.day__num{font-size:38px;line-height:1}.day--today .day__num{color:var(--terra-text)}.day--past .day__num{color:var(--muted)}.day__name{font-weight:700;font-size:15px;color:var(--ink-2)}.slot-block{display:grid;gap:6px}.meal{position:relative;display:flex;flex-direction:column;gap:6px;min-height:88px;padding:12px 14px;border-radius:var(--radius-tile);background:var(--paper)}.meal--cooked{background:var(--sage-wash);box-shadow:inset 0 0 0 1.5px var(--sage)}.meal__title{font:800 15px/1.25 var(--body);text-decoration:none;padding-right:30px}.meal__title:hover{text-decoration:underline}.meal__meta{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--muted)}.meal--cooked .meal__meta{color:var(--ink-2)}.meal__actions{display:flex;flex-wrap:wrap;gap:2px 4px;margin-top:auto}.meal__actions button{min-height:30px;font-size:12.5px;padding:0 8px}.badge-check{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:999px;background:var(--sage-ink);color:var(--on-sage);display:inline-flex;align-items:center;justify-content:center}.badge-check svg{width:14px;height:14px}.empty-past{min-height:88px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-tile);background:var(--past-2);color:var(--muted);font-size:14px}select.slot{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:88px;border:1.5px dashed var(--rule-strong);border-radius:var(--radius-tile);background:transparent;color:var(--muted);font-weight:600;text-align:center;text-align-last:center;cursor:pointer}select.slot:hover{background:var(--card);border-style:solid;border-color:var(--ink);color:var(--ink)}.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.chip{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border-radius:999px;background:var(--card);box-shadow:var(--shadow-sm);text-decoration:none}.chip--past{background:var(--past);box-shadow:none;border:1px solid var(--rule)}.chip .num{font-size:20px}.chip__names{flex:1;font-size:13.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip .badge-check{position:static;width:22px;height:22px;flex:none}.summary-line{display:flex;align-items:center;gap:16px;padding:14px 22px;border:1.5px dashed var(--rule-strong);border-radius:var(--radius-card)}.shopping h2{font-size:30px;line-height:1.1}.shopping .checklist li{padding:0;border-bottom:1px dotted var(--rule)}.shopping .checklist label{min-height:40px}.recipe{display:grid;gap:20px}.recipe__title{font-size:54px;line-height:1.04;max-width:900px}.recipe__summary{font-size:19px;color:var(--ink-2);max-width:700px}.strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:10px 28px;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-sm)}.stepper{display:inline-flex;align-items:center;gap:8px}.stepper button{width:36px;min-height:36px;padding:0}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button{min-height:52px}.plan{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;padding:16px;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-sm)}.two-col{display:grid;grid-template-columns:400px minmax(0,1fr);gap:24px;align-items:start}.section-bubble{display:grid;gap:12px;padding:24px;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-sm)}.section-bubble>header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--rule)}.section-bubble h2{font-size:28px}.ing li{padding:2px 0}.ing label{display:flex;gap:12px;align-items:center;min-height:44px;color:var(--ink);cursor:pointer;border-radius:14px;padding:0 8px}.ing label:hover{background:var(--paper-2)}.ing .q{font-weight:800;min-width:92px}.ing input:checked~span{text-decoration:line-through;color:var(--muted)}.steps li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:18px 0;border-bottom:1px solid var(--rule)}.steps .num{font-size:44px;line-height:.9;color:var(--terra)}.steps p{font-size:17.5px;line-height:1.55;max-width:62ch}.note{margin-top:12px;padding:18px 20px;border-radius:22px;background:var(--paper-2);display:grid;gap:8px}.recipe-list{display:grid;gap:10px}.recipe-list a{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-radius:22px;background:var(--card);box-shadow:var(--shadow-sm);text-decoration:none}.recipe-list a:hover{box-shadow:var(--shadow-md)}.new-recipe{display:grid;gap:14px;max-width:680px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cook{max-width:680px;margin:0 auto;display:grid;gap:20px}.cook__head{display:flex;justify-content:space-between;color:var(--muted);font-size:14px}.bar{height:8px;border-radius:999px;background:var(--paper-2)}.bar i{display:block;height:100%;border-radius:999px;background:var(--terra);transition:width .2s}.cook__title{font-size:32px}.cook__text{font-size:22px;line-height:1.5}.timer{display:flex;align-items:center;gap:20px}.timer__time{font:400 72px/1 var(--display);font-variant-numeric:tabular-nums}.timer__time.done{color:var(--terra)}.cook .actions button{min-height:64px;font-size:18px}.reminder{position:fixed;top:120px;right:16px;z-index:20;display:grid;gap:8px;max-width:min(340px,calc(100vw - 32px))}.reminder__item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:16px;background:var(--card);box-shadow:var(--shadow-md)}.reminder__item.done{box-shadow:inset 0 0 0 2px var(--terra),var(--shadow-md)}.reminder__name{flex:1 1 100%;font-size:13px;color:var(--muted)}.reminder__time{font:700 24px/1 var(--display);font-variant-numeric:tabular-nums;margin-right:auto}.confirm{border:0;border-radius:24px;padding:28px;max-width:min(460px,calc(100vw - 32px));background:var(--card);color:var(--ink);box-shadow:var(--shadow-md)}.confirm::backdrop{background:#0006}.confirm h2{margin-bottom:8px}.confirm .actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:20px}@media (max-width: 1100px){.week{grid-template-columns:minmax(0,1fr)}.week__aside{border-left:0;border-top:1px solid var(--rule)}.shopping .checklist{column-count:2;column-gap:40px}.shopping .checklist li{break-inside:avoid}.days--all{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:320px minmax(0,1fr)}}@media (max-width: 900px){.page{padding:24px 16px 48px}.week{margin:-24px -16px -48px}.week__main,.week__aside{padding:24px 16px}.top{padding:0 16px;gap:12px}.hero{grid-template-columns:minmax(0,1fr);padding:20px}.hero__title{font-size:34px}.days,.chips{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1fr)}.recipe__title{font-size:38px}.page-title{font-size:32px}}@media (max-width: 560px){.days,.days--all,.chips{grid-template-columns:minmax(0,1fr)}}:root{interpolate-size:allow-keywords;--ease: cubic-bezier(.2, .8, .2, 1)}a,button,summary,select,input,textarea,.meal,.day,.recipe-list a{transition:background-color .18s,color .18s,border-color .18s,box-shadow .2s,transform .2s var(--ease),filter .18s,outline-color .18s,outline-offset .2s var(--ease)}:where(a,button,summary,select,input,textarea){outline:2.5px solid transparent;outline-offset:6px}:focus-visible{outline-color:var(--focus);outline-offset:2px}button:active:not(:disabled),summary:active,.top nav a:active{transform:scale(.97)}.recipe-list a:hover,.meal:hover{transform:translateY(-2px)}.recipe-list a:active,.meal:active{transform:translateY(0) scale(.99)}.acc::details-content{block-size:0;overflow:clip;transition:block-size .32s var(--ease),content-visibility .32s allow-discrete}.acc[open]::details-content{block-size:auto}.collapse{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;margin-top:-8px;transition:grid-template-rows .35s var(--ease),opacity .25s,margin-top .35s var(--ease),visibility 0s .35s}.collapse[data-open=true]{grid-template-rows:1fr;opacity:1;visibility:visible;margin-top:0;transition-delay:0s}.collapse>*{min-height:0;overflow:hidden}.week__body{display:flex;flex-direction:column;gap:20px;view-transition-name:week-body}::view-transition-old(week-body),::view-transition-old(week-aside){animation:week-out .22s ease-in both}::view-transition-new(week-body),::view-transition-new(week-aside){animation:week-in .4s .08s var(--ease) both}:root[data-dir=back] ::view-transition-old(week-body),:root[data-dir=back] ::view-transition-old(week-aside){animation-name:week-out-back}:root[data-dir=back] ::view-transition-new(week-body),:root[data-dir=back] ::view-transition-new(week-aside){animation-name:week-in-back}@keyframes week-out{to{opacity:0;transform:translate(-40px)}}@keyframes week-in{0%{opacity:0;transform:translate(40px)}}@keyframes week-out-back{to{opacity:0;transform:translate(40px)}}@keyframes week-in-back{0%{opacity:0;transform:translate(-40px)}}::view-transition-group(title-midi),::view-transition-group(title-soir){animation-duration:.5s;animation-timing-function:cubic-bezier(.65,0,.25,1)}::view-transition-old(hero-chips),::view-transition-old(hero-actions),::view-transition-old(hero-ingredients){animation:hero-out .22s ease-in both}::view-transition-new(hero-chips),::view-transition-new(hero-actions),::view-transition-new(hero-ingredients){animation:hero-in .4s .12s cubic-bezier(.2,.8,.2,1) both}::view-transition-new(hero-actions){animation-delay:.2s}::view-transition-new(hero-ingredients){animation-delay:.28s}@keyframes hero-out{to{opacity:0;transform:translate(-24px)}}@keyframes hero-in{0%{opacity:0;transform:translate(32px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after,.acc::details-content{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:0s!important}}
