@font-face{font-family: "Bricolage Grotesque";src: url("/fonts/bricolage.woff2") format("woff2");font-weight: 200 800;font-display: swap}@font-face{font-family: "Nunito Sans";src: url("/fonts/nunito.woff2") format("woff2");font-weight: 200 1000;font-display: swap}@font-face{font-family: "Caveat";src: url("/fonts/caveat.woff2") format("woff2");font-weight: 700;font-display: swap}:root{color-scheme: light dark;--bg: #fff6ea;--surface: #ffffff;--surface-raised: #ffffff;--backdrop: rgb(43 30 47 / 0.5);--surface-soft: #fbd9c9;--text: #2b1e2f;--text-muted: #6e625a;--primary: #cf4024;--primary-hover: #b33519;--primary-ink: #b3381d;--on-primary: #ffffff;--accent: #f2b33d;--success: #3e7b4f;--border: #eadfd2;--danger: #b3261e;--shadow: 0 1px 2px rgb(43 30 47 / 0.06),0 4px 12px rgb(43 30 47 / 0.06);--tile: #f5e9da;--focus: #cf4024;--font-title: "Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--font-body: "Nunito Sans",ui-sans-serif,system-ui,sans-serif;--font-hand: "Caveat",cursive;--r-field: 12px;--r-card: 16px;--r-sheet: 24px;--r-pill: 999px;--tap: 48px;--ease: cubic-bezier(0.2,0.8,0.2,1);--gutter: 16px;--t-volaille: #fbd9c9;--t-boeuf: #f6cfc4;--t-agneau: #f6cfc4;--t-porc: #f9dfd2;--t-poisson: #d7e7ef;--t-fruits_de_mer: #d7e7ef;--t-oeuf: #fbe8b8;--t-legumineuses: #e2eccd;--t-fromage_laitier: #f9ecc8;--t-soja_tofu: #e2eccd;--t-aucune: #dcebd8}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg: #1e1621;--surface: #2b1e2f;--surface-raised: #3b2b41;--backdrop: rgb(8 4 10 / 0.72);--surface-soft: #3a2a3f;--text: #fff6ea;--text-muted: #b9aea6;--primary: #e8664a;--primary-hover: #f07b61;--primary-ink: #f08a72;--on-primary: #1e1621;--success: #6fb383;--border: #4a3a4f;--danger: #f2867e;--shadow: none;--focus: #e8664a;--tile: #3a2c3f;--t-volaille: #4a2f35;--t-boeuf: #4a2f35;--t-agneau: #4a2f35;--t-porc: #4b3335;--t-poisson: #2e3c47;--t-fruits_de_mer: #2e3c47;--t-oeuf: #4a4130;--t-legumineuses: #36412e;--t-fromage_laitier: #4a4130;--t-soja_tofu: #36412e;--t-aucune: #33412f}}:root[data-theme="dark"]{--bg: #1e1621;--surface: #2b1e2f;--surface-raised: #3b2b41;--backdrop: rgb(8 4 10 / 0.72);--surface-soft: #3a2a3f;--text: #fff6ea;--text-muted: #b9aea6;--primary: #e8664a;--primary-ink: #f08a72;--on-primary: #1e1621;--success: #6fb383;--border: #4a3a4f;--danger: #f2867e;--shadow: none;--tile: #3a2c3f;--t-volaille: #4a2f35;--t-boeuf: #4a2f35;--t-agneau: #4a2f35;--t-porc: #4b3335;--t-poisson: #2e3c47;--t-fruits_de_mer: #2e3c47;--t-oeuf: #4a4130;--t-legumineuses: #36412e;--t-fromage_laitier: #4a4130;--t-soja_tofu: #36412e;--t-aucune: #33412f}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-padding-bottom: 160px;scroll-padding-top: 72px}body{margin: 0;background: var(--bg);color: var(--text);font: 400 16px / 1.5 var(--font-body);min-height: 100dvh}h1,h2,h3,.h3{font-family: var(--font-title);line-height: 1.15;margin: 0 0 12px;letter-spacing: -0.01em}h1{font-size: 28px;font-weight: 800}h2{font-size: 22px;font-weight: 700;margin-top: 24px}h3,.h3{font-size: 18px;font-weight: 700;margin-top: 16px}p{margin: 0 0 12px}a{color: var(--primary-ink);text-underline-offset: 3px}img{max-width: 100%;height: auto}.muted{color: var(--text-muted)}.small{font-size: 14px}.lead{font-size: 18px}.hand{font: 700 22px / 1.2 var(--font-hand);color: var(--primary-ink);margin: 4px 0 0}:focus-visible{outline: 2px solid var(--focus);outline-offset: 2px}.skip-link{position: absolute;left: -9999px;top: 8px;background: var(--surface);padding: 8px 12px;z-index: 100}.skip-link:focus{left: 8px}.visually-hidden{position: absolute !important;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.wrap{max-width: 1120px;margin: 0 auto;padding: 0 var(--gutter)}.narrow{max-width: 720px}.section{padding-top: 32px;padding-bottom: 32px}.stack>* + *{margin-top: 12px}.row{display: flex;gap: 8px;flex-wrap: wrap;align-items: flex-end}.wordmark{font: 800 24px / 1 var(--font-title);color: var(--text);letter-spacing: -0.03em;white-space: nowrap}.wordmark--lg{font-size: 40px}.point{display: inline-block;width: 0.28em;height: 0.28em;border-radius: 50%;background: var(--primary);margin-left: 0.06em;vertical-align: baseline}.point--static{width: 10px;height: 10px}.point--lg{width: 20px;height: 20px}.point--bounce{animation: bounce 600ms var(--ease) 1}@keyframes bounce{0%{transform: translateY(0)}40%{transform: translateY(-8px)}70%{transform: translateY(0) scale(1.15,0.85)}100%{transform: none}}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: var(--tap);padding: 12px 20px;border-radius: var(--r-pill);border: 1.5px solid var(--border);background: var(--surface);color: var(--text);font: 700 16px / 1.2 var(--font-body);text-decoration: none;cursor: pointer;transition: background 150ms var(--ease)}.btn:disabled{opacity: 0.5;cursor: not-allowed}.btn--primary{background: var(--primary);border-color: var(--primary);color: var(--on-primary)}.btn--primary:hover:not(:disabled){background: var(--primary-hover)}.btn--secondary{background: var(--surface)}.btn--ghost{background: transparent;border-color: transparent;color: var(--primary-ink)}.btn--ghost:hover{text-decoration: underline}.btn--danger{background: var(--danger);border-color: var(--danger);color: #fff}.btn--block{width: 100%}.btn--lg{min-height: 56px;font-size: 18px}.btn--sm{min-height: 40px;padding: 8px 14px;font-size: 15px}.btn--xs{min-height: var(--tap);padding: 4px 10px;font-size: 14px}.btn--icon{width: var(--tap);padding: 0;border-color: transparent;background: transparent}.btn--icon.is-on,.btn.is-on{color: var(--primary-ink)}.field{display: flex;flex-direction: column;gap: 6px;flex: 1;min-width: 0}.field__label{font-weight: 700}.field__help{font-size: 14px;color: var(--text-muted)}.field__error{font-size: 14px;color: var(--danger);font-weight: 700}.input{width: 100%;min-height: var(--tap);padding: 10px 12px;border-radius: var(--r-field);border: 1.5px solid var(--border);background: var(--surface);color: var(--text);font: 400 16px / 1.4 var(--font-body)}.input--code{font-size: 24px;letter-spacing: 8px;text-align: center}.check{display: flex;gap: 10px;align-items: center;min-height: var(--tap)}.check input{width: 22px;height: 22px;accent-color: var(--primary)}.chips{display: flex;flex-wrap: wrap;gap: 8px;margin: 8px 0 12px;align-items: center}.chips__label{font-weight: 700;margin-right: 4px}.chip{min-height: 40px;padding: 8px 14px;border-radius: var(--r-field);border: 1.5px solid var(--border);background: var(--surface);color: var(--text);font: 600 15px / 1.2 var(--font-body);cursor: pointer;text-decoration: none}.chip--on{background: var(--text);color: var(--bg);border-color: var(--text)}.jay-pill{display: inline-flex;align-items: baseline;font: 800 14px / 1 var(--font-title);color: var(--text);white-space: nowrap}.jay-pill--minus{color: var(--primary-ink)}.tag{color: var(--success);font-weight: 700}.table-scroll{overflow-x: auto}.table{border-collapse: collapse;width: 100%;font-size: 15px}.table th,.table td{text-align: left;padding: 10px 8px;border-bottom: 1px solid var(--border);vertical-align: top}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation: none !important;transition: none !important}}.jaym{--jay-plus: var(--success);--jay-minus: color-mix(in srgb,var(--accent) 70%,var(--primary));display: inline-flex;align-items: center;gap: 10px;white-space: nowrap;vertical-align: middle}.jaym__track{position: relative;flex: none;display: block;width: 120px;height: 6px;border-radius: var(--r-pill);background: color-mix(in srgb,var(--text) 10%,transparent)}.jaym--lg{display: flex;width: 100%}.jaym--lg .jaym__track{flex: 1;width: auto;height: 8px}.jaym__fill{position: absolute;top: 0;bottom: 0;border-radius: var(--r-pill);background: var(--jay-plus)}.jaym--minus .jaym__fill{background: var(--jay-minus)}.jaym__zero{position: absolute;left: 50%;top: -3px;bottom: -3px;width: 2px;margin-left: -1px;border-radius: 1px;background: var(--text);opacity: 0.55}.jaym__num{font: 800 15px / 1 var(--font-title);min-width: 3.4em}.jaym--lg .jaym__num{font-size: 20px}.jay-unit{margin-left: 2px;font: 700 0.78em / 1 var(--font-title);letter-spacing: -0.02em;color: var(--text-muted)}.jayb{list-style: none;padding: 0;margin: 8px 0 0;display: grid;gap: 6px}.jayb__row{display: grid;grid-template-columns: minmax(7.5em,34%) 1fr 2em;align-items: center;gap: 10px;font-size: 14px}.jayb__label{color: var(--text-muted)}.jayb__track{position: relative;height: 10px;border-radius: var(--r-pill);background: color-mix(in srgb,var(--text) 6%,transparent)}.jayb__zero{position: absolute;left: 50%;top: -3px;bottom: -3px;width: 2px;margin-left: -1px;background: var(--text-muted)}.jayb__fill{position: absolute;top: 0;bottom: 0;border-radius: var(--r-pill);background: var(--success)}.jayb__row.is-minus .jayb__fill{background: color-mix(in srgb,var(--accent) 75%,var(--primary))}.jayb__val{font-weight: 800;text-align: right}.jay-scale{display: grid;grid-template-columns: 1fr auto 1fr;gap: 8px;font-size: 13px;color: var(--text-muted);margin-top: 4px}.jay-scale span:nth-child(2){text-align: center;font-weight: 700;color: var(--text)}.jay-scale span:last-child{text-align: right}.admin-head{display: flex;gap: 24px;align-items: center;flex-wrap: wrap;padding: 12px var(--gutter);border-bottom: 1px solid var(--border)}.admin-head a{text-decoration: none;color: var(--text);font-weight: 700}.admin-head nav{display: flex;gap: 16px}.admin-main{max-width: 1120px;margin: 0 auto;padding: 16px var(--gutter) 64px}.kpis{display: grid;grid-template-columns: repeat(auto-fill,minmax(160px,1fr));gap: 12px}.kpi{background: var(--surface);padding: 12px;border-radius: var(--r-card);display: flex;flex-direction: column}.kpi__value{font: 800 28px / 1 var(--font-title)}.kpi__label{font-size: 14px;color: var(--text-muted)}.admin-filters{display: flex;gap: 8px;flex-wrap: wrap;margin-bottom: 12px}.admin-filters .input{max-width: 280px}.admin-form{display: flex;flex-direction: column;gap: 12px;margin: 16px 0}.admin-form label{display: flex;flex-direction: column;gap: 4px;font-weight: 700}.admin-form .check{flex-direction: row;font-weight: 400}.admin-form fieldset{border: 1px solid var(--border);border-radius: var(--r-field)}.mono{font-family: ui-monospace,monospace;font-size: 14px}.issues .error{color: var(--danger);font-weight: 700}.issues .warn,li.warn{color: var(--text-muted)}.ok{color: var(--success);font-weight: 700}.admin-preview{background: var(--surface);padding: 12px 16px;border-radius: var(--r-card)}.flash{padding: 10px 14px;border-radius: var(--r-field);border-left: 4px solid var(--success);background: color-mix(in srgb,var(--success) 10%,transparent)}.admin-search{display: flex;gap: 8px;max-width: 560px;margin: 12px 0}.admin-search .input{flex: 1}.facts-list{display: grid;grid-template-columns: max-content 1fr;gap: 6px 20px;margin: 12px 0 20px}.facts-list dt{font-weight: 700}.facts-list dd{margin: 0}.admin-actions{display: flex;flex-wrap: wrap;gap: 8px}.admin-danger{display: grid;gap: 8px;max-width: 420px;padding: 14px;border: 1px solid var(--danger);border-radius: var(--r-card)}.badge{margin-left: 8px;padding: 2px 8px;border-radius: var(--r-pill);font-size: 12px;font-weight: 700;background: color-mix(in srgb,var(--text) 8%,transparent)}.admin-list{list-style: none;padding: 0;max-width: 560px}.admin-list li{display: flex;justify-content: space-between;align-items: center;gap: 12px;padding: 6px 0;border-bottom: 1px solid var(--border)}.app-head{position: sticky;top: 0;z-index: 10;display: flex;align-items: center;gap: 12px;padding: 8px max(var(--gutter),calc((100% - 720px) / 2 + var(--gutter)));background: var(--surface-raised);border-bottom: 1px solid var(--border);box-shadow: 0 2px 12px rgb(0 0 0 / 0.12);margin-bottom: 12px}.head-nav{display: none}.app-head__logo{text-decoration: none}.app-head__account{margin-left: auto;color: var(--text);width: var(--tap);height: var(--tap);display: grid;place-items: center}.badge-plus{background: var(--accent);color: #2b1e2f;font: 800 13px / 1 var(--font-body);padding: 5px 10px;border-radius: var(--r-pill)}.screen,.onboarding{max-width: 720px;margin: 0 auto;padding: 8px var(--gutter) calc(120px + env(safe-area-inset-bottom))}.screen-head{display: flex;justify-content: space-between;gap: 8px;align-items: flex-start;margin-bottom: 12px}.head-actions{display: flex}.seg{display: grid;grid-template-columns: 1fr 1fr;background: var(--surface);border-radius: var(--r-pill);padding: 4px;margin-bottom: 16px;border: 1px solid var(--border)}.seg button{min-height: 40px;border: 0;background: transparent;border-radius: var(--r-pill);font: 700 15px / 1 var(--font-body);color: var(--text);cursor: pointer}.seg button.on{background: var(--text);color: var(--bg)}@keyframes card-in{from{opacity: 0;transform: translateY(6px)}}.tabbar{position: fixed;left: 0;right: 0;bottom: 0;z-index: 20;display: grid;grid-template-columns: repeat(4,1fr);background: var(--surface);border-top: 1px solid var(--border);padding-bottom: env(safe-area-inset-bottom)}.tab{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;min-height: 64px;color: var(--text-muted);text-decoration: none;font: 700 13px / 1 var(--font-body)}.tab--on{color: var(--primary-ink)}.dots{display: flex;gap: 6px;margin: 8px 0 20px}.dots span{width: 24px;height: 6px;border-radius: 3px;background: var(--border)}.dots span.on{background: var(--primary)}.tiles{display: grid;gap: 10px;margin: 16px 0}.tile{min-height: 64px;border-radius: var(--r-card);border: 2px solid var(--border);background: var(--surface);color: var(--text);font: 700 18px / 1.2 var(--font-title);text-align: left;padding: 16px;cursor: pointer}.tile--on{border-color: var(--text)}.more{margin: 12px 0}.more summary{display: inline-flex;align-items: center;gap: 8px;width: fit-content;max-width: 100%;min-height: 40px;padding: 6px 14px;border-radius: var(--r-pill);border: 1px solid var(--border);background: var(--surface);font-weight: 700;font-size: 15px;color: var(--text);cursor: pointer;list-style: none}.more summary::-webkit-details-marker{display: none}.more summary::after{content: "";width: 7px;height: 7px;margin-left: 2px;border-right: 2px solid currentColor;border-bottom: 2px solid currentColor;transform: translateY(-2px) rotate(45deg);transition: transform 160ms var(--ease)}.more[open] summary::after{transform: translateY(2px) rotate(-135deg)}.more summary:hover{border-color: var(--text-muted)}.more[open]>:not(summary){margin-top: 12px}.more--inline summary{min-height: 36px}.stepper{display: flex;align-items: center;gap: 12px;min-height: var(--tap)}.stepper span{flex: 1;font-weight: 700}.stepper output{min-width: 24px;text-align: center;font-weight: 800}.daygrid{display: grid;gap: 6px}.daygrid__row{display: grid;grid-template-columns: 56px 1fr;align-items: center}.sheet-backdrop{position: fixed;inset: 0;z-index: 50;background: var(--backdrop);display: flex;align-items: flex-end;justify-content: center}.sheet{width: 100%;max-width: 720px;max-height: 90dvh;overflow-y: auto;background: var(--surface-raised);border: 1px solid var(--border);border-bottom: 0;box-shadow: 0 -12px 40px rgb(0 0 0 / 0.35);border-radius: var(--r-sheet) var(--r-sheet) 0 0;padding: 8px var(--gutter) calc(24px + env(safe-area-inset-bottom));animation: sheet-in 220ms var(--ease)}@keyframes sheet-in{from{transform: translateY(30%);opacity: 0.5}}.sheet__grip{width: 40px;height: 5px;border-radius: 3px;background: var(--border);margin: 4px auto 12px}.sheet__head{position: sticky;top: -8px;z-index: 1;display: flex;align-items: center;justify-content: space-between;gap: 12px;margin: 0 calc(-1 * var(--gutter)) 4px;padding: 8px var(--gutter) 12px;background: var(--surface-raised);border-bottom: 1px solid var(--border)}.sheet__title{font-size: 20px;line-height: 1.25;margin: 0}.sheet__close{flex: none}.sheet__body{padding-top: 12px;font-size: 15px;line-height: 1.55}.sheet__body>*{margin-top: 0;margin-bottom: 0}.sheet__body>* + *{margin-top: 16px}.sheet__body p{max-width: 62ch}.sheet__body h3,.sheet__body .h3{font-size: 16px;margin-top: 24px}.sheet__body .muted{font-size: 14px}.sheet__actions{display: flex;flex-direction: column;gap: 8px;margin-top: 12px}.ideas{list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 8px}.idea{width: 100%;display: flex;align-items: center;gap: 12px;padding: 8px;border-radius: var(--r-card);border: 1.5px solid var(--border);background: var(--surface);color: var(--text);text-align: left;cursor: pointer;font: inherit}.idea__text{display: flex;flex-direction: column;flex: 1}.idea__name{font: 700 17px / 1.2 var(--font-title)}.move-list{list-style: none;padding: 0;display: flex;flex-direction: column;gap: 6px}.out-pick{border: 0;padding: 0;margin: 8px 0 0}.out-pick legend{font-weight: 700}.benefits-list{padding-left: 22px}.benefits-list li{margin-bottom: 6px}.toasts{position: fixed;left: 0;right: 0;bottom: calc(76px + env(safe-area-inset-bottom));z-index: 60;display: flex;flex-direction: column;align-items: center;gap: 6px;pointer-events: none;padding: 0 var(--gutter)}.toast{pointer-events: auto;display: flex;gap: 12px;align-items: center;background: var(--text);color: var(--bg);border-radius: var(--r-field);padding: 10px 14px;max-width: 560px;width: 100%}.toast__undo{margin-left: auto;min-height: 40px;background: none;border: 0;color: var(--accent);font: 800 15px / 1 var(--font-body);cursor: pointer}.empty{text-align: center;padding: 40px 16px;display: flex;flex-direction: column;align-items: center;gap: 12px}.empty p{font: 700 19px / 1.3 var(--font-title)}.skeleton{display: flex;flex-direction: column;gap: 10px}.skeleton__card{height: 96px;border-radius: var(--r-card);background: var(--surface)}.cooking{max-width: 720px;margin: 0 auto;padding: 32px var(--gutter);display: flex;flex-direction: column;gap: 24px;min-height: 80dvh}.cooking__step{font: 700 28px / 1.3 var(--font-title);flex: 1}.cooking__nav{display: flex;gap: 8px}.cooking__nav .btn{flex: 1}.adapt{margin-top: 24px}.draft{background: var(--surface);border-radius: var(--r-card);padding: 16px;margin-top: 12px}.notice{background: var(--surface-soft);padding: 10px 12px;border-radius: var(--r-field);font-weight: 700}.ing-row .input--qty{max-width: 80px}.ing-row .input--unit{max-width: 130px}.add-ways{display: flex;flex-direction: column;gap: 8px}.mine{list-style: none;padding: 0}.mine li{display: flex;justify-content: space-between;align-items: center;border-bottom: 1px solid var(--border);min-height: 56px}.mine li.is-deleted span{text-decoration: line-through;color: var(--text-muted)}.body-profile{margin-bottom: 12px}.offers{display: flex;flex-direction: column;gap: 8px;margin: 16px 0}.offer{display: flex;flex-direction: column;gap: 4px;text-align: left;padding: 16px;border-radius: var(--r-card);border: 2px solid var(--border);background: var(--surface);color: var(--text);font: inherit;cursor: pointer}.offer--on{border-color: var(--primary)}.link-btn{background: none;border: 0;padding: 0;min-height: 32px;font: inherit;font-size: 14px;color: var(--primary-ink);text-decoration: underline;cursor: pointer}.jay-people{list-style: none;padding: 0;margin: 4px 0 0;display: grid;gap: 4px}.jay-people details{border-radius: var(--r-field)}.jay-people summary{display: flex;align-items: center;justify-content: space-between;gap: 12px;min-height: var(--tap);cursor: pointer;list-style: none}.jay-people summary::-webkit-details-marker{display: none}.jay-people__name{display: grid;font-weight: 700}.jay-people__name small{font-weight: 400;color: var(--text-muted);font-size: 13px}.jay-people details[open]{padding-bottom: 8px}.jay-examples{list-style: none;padding: 0;display: grid;gap: 10px}.jay-examples li{display: grid;grid-template-columns: auto 1fr;gap: 12px;align-items: center;font-size: 15px}.jay-basis{display: grid;grid-template-columns: minmax(8em,32%) 1fr;gap: 6px 12px;font-size: 14px;margin: 0}.jay-basis dt{font-weight: 700}.jay-basis dd{margin: 0;color: var(--text-muted)}@media (min-width: 900px){.tabbar{display: none}.chips--scroll{flex-wrap: wrap;overflow: visible;margin-inline: 0;padding-inline: 0}.head-nav{display: flex;gap: 4px;margin-left: 24px}.head-nav .tab{flex-direction: row;gap: 8px;min-height: 40px;padding: 0 14px;border-radius: var(--r-pill);font-size: 15px}.head-nav .tab:hover{background: var(--surface-soft);color: var(--text)}.head-nav .tab--on{background: color-mix(in srgb,var(--primary) 16%,transparent)}.toasts{bottom: 24px}.sheet-backdrop{align-items: center;padding: 24px}.sheet{max-width: 560px;max-height: 85dvh;border-bottom: 1px solid var(--border);border-radius: var(--r-sheet);padding: 8px 24px 24px}.sheet__head{margin-inline: -24px;padding-inline: 24px}.sheet__grip{display: none}}.chips--scroll{flex-wrap: nowrap;overflow-x: auto;scrollbar-width: none;padding-bottom: 4px;margin-inline: calc(-1 * var(--gutter));padding-inline: var(--gutter)}.chips--scroll>*{flex: none}.recipe-tags .tag{font-size: 12px;font-weight: 700;color: var(--text);background: color-mix(in srgb,var(--text) 7%,transparent);border-radius: var(--r-pill);padding: 3px 8px}.recipe-tags{display: flex;flex-wrap: wrap;gap: 6px;margin: 4px 0 12px}.recipe-tags .tag--cuisine{background: transparent;outline: 1px solid var(--border)}.btn.is-on{border-color: var(--success);color: var(--text)}.sheet__lead{font-size: 16px}.jay-cards{list-style: none;padding: 0;display: grid;gap: 8px}.jay-card{display: grid;grid-template-columns: auto 1fr;align-items: center;gap: 14px;padding: 12px 14px;border-radius: var(--r-field);background: color-mix(in srgb,var(--text) 5%,transparent)}.jay-card span{display: grid;gap: 2px}.jay-card small{color: var(--text-muted);font-size: 14px}.jay-list{list-style: none;padding: 0;display: grid;gap: 10px}.jay-list li{display: grid;gap: 2px}.jay-list span{color: var(--text-muted);font-size: 14px}.note{padding: 12px 14px;border-radius: var(--r-field);border-left: 4px solid var(--success);background: color-mix(in srgb,var(--success) 10%,transparent)}.inline-form{display: flex;gap: 8px;align-items: stretch}.inline-form .input{flex: 1;min-width: 0}.jay-hero{display: flex;align-items: center;gap: 14px}.jay-hero p{margin: 0;font-size: 16px}.jay-trio{list-style: none;padding: 0;display: grid;grid-template-columns: repeat(3,1fr);gap: 8px}.jay-trio li{display: grid;justify-items: center;gap: 6px;padding: 10px 6px;border-radius: var(--r-field);background: color-mix(in srgb,var(--text) 5%,transparent);text-align: center;font-size: 13px}.jay-factors{list-style: none;padding: 0;display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 10px 16px}.jay-factors li{display: grid;grid-template-columns: 32px 1fr;gap: 10px;align-items: center}.jay-factors__icon{width: 32px;height: 32px;border-radius: 50%;display: grid;place-items: center;background: color-mix(in srgb,var(--accent) 22%,transparent);color: var(--text)}.jay-factors li>span:last-child{display: grid;line-height: 1.3}.jay-factors small{color: var(--text-muted);font-size: 13px}.app-head__settings + .app-head__account{margin-left: 0}.settings__block,.settings>section{background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-card);padding: 16px;margin: 0 0 12px}.settings h2{font-size: 18px;margin: 0 0 12px}.settings .muted{margin: 0 0 12px}.segmented{display: grid;grid-template-columns: repeat(3,1fr);gap: 4px;padding: 4px;border-radius: var(--r-field);background: color-mix(in srgb,var(--text) 6%,transparent)}.segmented button{display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: 44px;padding: 6px 10px;border: 0;border-radius: calc(var(--r-field) - 4px);background: transparent;color: var(--text);font: 700 14px / 1.2 var(--font-body);cursor: pointer}.segmented button.on{background: var(--surface-raised);box-shadow: 0 1px 4px rgb(0 0 0 / 0.18)}.switch{display: flex;align-items: center;justify-content: space-between;gap: 16px;cursor: pointer}.switch + .switch{margin-top: 14px}.switch>span{display: grid;gap: 2px}.switch small{color: var(--text-muted);font-size: 14px}.switch input[type="checkbox"]{appearance: none;flex: none;width: 48px;height: 28px;border-radius: var(--r-pill);background: var(--border);position: relative;cursor: pointer;transition: background 160ms var(--ease)}.switch input[type="checkbox"]::after{content: "";position: absolute;top: 3px;left: 3px;width: 22px;height: 22px;border-radius: 50%;background: #fff;box-shadow: 0 1px 3px rgb(0 0 0 / 0.3);transition: transform 160ms var(--ease)}.switch input[type="checkbox"]:checked{background: var(--success)}.switch input[type="checkbox"]:checked::after{transform: translateX(20px)}.settings__links{display: grid;gap: 8px;margin: 0}.past-days{margin: 4px 0 8px;border-radius: var(--r-card);background: color-mix(in srgb,var(--text) 4%,transparent)}.past-days summary{display: flex;align-items: center;gap: 8px;min-height: 48px;padding: 0 16px;font-weight: 700;cursor: pointer;list-style: none}.past-days summary::-webkit-details-marker{display: none}.past-days summary::after{content: "";width: 7px;height: 7px;margin-left: auto;border-right: 2px solid currentColor;border-bottom: 2px solid currentColor;transform: rotate(45deg);transition: transform 160ms var(--ease)}.past-days[open] summary::after{transform: rotate(-135deg)}.past-list{list-style: none;margin: 0;padding: 0 8px 8px 16px;display: grid}.past-list li{display: grid;grid-template-columns: 5.5em 1fr auto;align-items: center;gap: 8px;min-height: 44px;border-top: 1px solid var(--border);font-size: 15px}.past-list__day{color: var(--text-muted);font-size: 13px}.past-list__name{color: var(--text);text-decoration: none;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.past-list__rate{display: flex;gap: 2px}.past-list__rate .is-on{color: var(--success)}.past-list__rate .is-on.is-down{color: var(--danger)}.settings__hint{margin: 10px 0 0 !important}.btn--two-lines{flex-direction: column;align-items: flex-start;gap: 2px;height: auto;padding-block: 10px;text-align: left}.btn--two-lines small{font-weight: 400;color: var(--text-muted)}.daypick__title{margin: 12px 0 6px;font-weight: 700}.daypick__grid{display: grid;grid-template-columns: repeat(7,1fr);gap: 4px;max-width: 420px;margin-bottom: 10px}.daypick__dow{text-align: center;font-size: 12px;color: var(--text-muted);font-weight: 700}.daypick__day{min-height: 40px;border-radius: 10px;border: 1px solid var(--border);background: var(--surface);color: var(--text);font: 700 14px / 1 var(--font-body);cursor: pointer}.daypick__day:disabled{opacity: 0.35;cursor: default}.daypick__day.is-today{border-color: var(--primary)}.daypick__day.is-on{background: var(--primary);border-color: var(--primary);color: var(--on-primary)}.recurring-list{list-style: none;padding: 0;margin: 0;display: grid;gap: 4px}.recurring-list li{display: flex;align-items: center;justify-content: space-between;gap: 8px;min-height: 40px;border-bottom: 1px solid var(--border)}.head-nav .tab--on{background: transparent;color: var(--text);box-shadow: inset 0 -2px 0 var(--primary);border-radius: 0}.rhythms{list-style: none;padding: 0;display: grid;gap: 8px}.rhythm{width: 100%;display: grid;grid-template-columns: 1fr auto;align-items: center;gap: 12px;padding: 12px 14px;border: 1px solid var(--border);border-radius: var(--r-card);background: var(--surface);color: var(--text);text-align: left;font: inherit;cursor: pointer}.rhythm.is-on{border: 2px solid var(--primary)}.rhythm__text{display: grid;gap: 4px}.rhythm__text small{color: var(--text-muted);font-size: 13px;line-height: 1.4}.rhythm__reco{display: inline-block;margin-left: 8px;padding: 2px 8px;border-radius: var(--r-pill);background: color-mix(in srgb,var(--success) 18%,transparent);font-size: 11px;font-weight: 700;vertical-align: 2px}.miniweek{display: flex;gap: 4px}.miniweek__day{display: grid;justify-items: center;gap: 4px}.miniweek__d{font-size: 10px;font-weight: 700;color: var(--text-muted)}.miniweek__m{display: inline-block;width: 10px;height: 10px;border-radius: 50%;vertical-align: middle}.miniweek__m--cook{background: var(--text)}.miniweek__m--same{border: 2px solid var(--text);background: transparent}.miniweek__m--off{width: 10px;height: 2px;border-radius: 1px;background: color-mix(in srgb,var(--text) 30%,transparent)}.miniweek-legend{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 10px}.rhythm-grid{display: grid;grid-template-columns: 3.2em repeat(7,1fr);gap: 6px;align-items: center}.rhythm-grid__d{text-align: center;font-size: 12px;font-weight: 700;color: var(--text-muted)}.rhythm-grid__row{font-size: 13px;font-weight: 700}.rhythm-grid__cell{height: 44px;border-radius: 10px;border: 1px solid var(--border);background: var(--surface);display: grid;place-items: center;cursor: pointer}.rhythm-grid__cell .miniweek__m{width: 14px;height: 14px}.rhythm-grid__cell--off .miniweek__m{width: 14px;height: 2px}.btn--google{gap: 10px}.or-line{display: flex;align-items: center;gap: 10px;color: var(--text-muted);font-size: 13px}.or-line::before,.or-line::after{content: "";flex: 1;height: 1px;background: var(--border)}.screen{max-width: 760px}.screen-head{display: flex;justify-content: space-between;align-items: flex-start;gap: 12px;margin: 8px 0 16px}.screen-head h1{margin-bottom: 4px}.screen-head p{margin: 0}.eyebrow{margin: 0 0 4px;font: 800 13px / 1.2 var(--font-body);text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted)}.panel{background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-card);padding: 16px;margin-bottom: 12px}.panel>h2:first-child,.panel>.h3:first-child,.panel>h3:first-child{margin-top: 0}.panel h2{font-size: 19px}.panels{display: grid;gap: 12px}.panels>.panel{margin: 0}.seg--sm{margin: 0}.seg--sm button{min-height: 36px;padding: 0 14px;font-size: 14px}.back-link{margin: 0 0 4px -8px;padding-left: 6px}.btn.is-on{border-color: var(--success);color: var(--text)}.screen .sticky-cta,.foyer .sticky-cta{position: fixed;left: 0;right: 0;bottom: calc(64px + env(safe-area-inset-bottom));max-width: 760px;margin: 0 auto;padding: 12px var(--gutter);background: linear-gradient(to top,var(--bg) 65%,transparent);z-index: 6}.chips--big .chip{min-height: 48px;padding: 10px 16px;font-size: 16px}.thumb{position: relative;flex-shrink: 0;border-radius: 14px;overflow: hidden}.thumb--tile{display: grid;place-items: center;background: var(--tile);color: var(--text);aspect-ratio: 1}.thumb--tile svg{opacity: 0.85}.thumb--sm{width: 56px;border-radius: 12px}.thumb--md{width: 88px}.thumb--lg{width: 100%;aspect-ratio: 16 / 9;max-height: 260px;border-radius: var(--r-card)}.thumb--photo{object-fit: cover;aspect-ratio: 4 / 3}.week-head{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-end;gap: 8px 16px;margin: 8px 0 16px}.week-head h1{font-size: 24px;margin: 0}.week-head__tools{display: flex;align-items: center;gap: 4px}.week-layout{display: flex;flex-direction: column;gap: 12px}.week-aside{display: contents}.week-summary{order: 1}.week-main{order: 2}.week-aside>:not(.week-summary){order: 3}.week-aside__cta{display: none}.week-summary{background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-card);overflow: hidden}.summary-row{display: grid;grid-template-columns: 48px 1fr auto;align-items: center;gap: 12px;width: 100%;min-height: 60px;padding: 8px 14px;border: 0;background: transparent;color: var(--text);text-align: left;font: inherit;cursor: pointer}.summary-row + .summary-row{border-top: 1px solid var(--border)}.summary-row:hover{background: color-mix(in srgb,var(--text) 3%,transparent)}.summary-row__icon{display: grid;place-items: center;width: 40px;height: 40px;border-radius: 12px;background: var(--tile)}.summary-row__jay{font: 800 22px / 1 var(--font-title);white-space: nowrap}.summary-row__jay.is-minus{color: var(--primary-ink)}.summary-row__text{display: grid;gap: 1px;min-width: 0}.summary-row__text small{font-size: 13px;color: var(--text-muted)}.summary-row__text strong{font-weight: 700}.summary-row__go{font-size: 14px;font-weight: 700;color: var(--primary-ink)}.summary-row__go svg{color: var(--text-muted)}.summary-people{list-style: none;margin: 0;padding: 0 14px 12px 74px;display: flex;flex-wrap: wrap;gap: 4px 16px;font-size: 14px;color: var(--text-muted)}.summary-people li{display: inline-flex;gap: 6px;align-items: baseline}.week-section{font: 800 13px / 1.2 var(--font-body);text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted);margin: 18px 0 8px}.week-main>.week-section:first-child{margin-top: 4px}.cards{list-style: none;margin: 0;padding: 0;background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-card);overflow: hidden}.meal{display: grid;grid-template-columns: 44px 1fr auto;align-items: center;gap: 4px 12px;padding: 10px 6px 10px 12px;animation: card-in 250ms var(--ease) both;animation-delay: calc(var(--i,0) * 30ms)}.meal + .meal{border-top: 1px solid var(--border)}@keyframes card-in{from{opacity: 0;transform: translateY(4px)}}.meal__when{display: grid;justify-items: center;line-height: 1;color: var(--text-muted)}.meal__dow{font: 800 12px / 1 var(--font-body);text-transform: uppercase;letter-spacing: 0.04em}.meal__date{font: 800 22px / 1.1 var(--font-title);color: var(--text)}.meal__midi{font-size: 11px;font-weight: 700}.meal__main{display: flex;align-items: center;gap: 12px;min-width: 0;color: var(--text);text-decoration: none}.meal__text{display: grid;gap: 2px;min-width: 0}.card__name{font: 700 17px / 1.2 var(--font-title)}@media (hover: hover){a.meal__main:hover .card__name,.recipe-tile__main:hover .recipe-tile__name{text-decoration: underline;text-underline-offset: 3px}}.card__meta{font-size: 14px;color: var(--text-muted)}.card__note{display: flex;flex-wrap: wrap;gap: 4px 10px;font-size: 13px;color: var(--text-muted)}.card__kept{display: inline-flex;align-items: center;gap: 3px;font-weight: 700;color: var(--text)}.meal__actions{display: flex;align-items: center}.meal__actions .btn--icon{color: var(--text-muted)}.meal__actions .btn--icon:hover{color: var(--text)}.meal--out .card__name,.meal--empty .card__name{font: 600 15px / 1.3 var(--font-body);color: var(--text-muted)}.meal--out{background: color-mix(in srgb,var(--text) 3%,var(--surface))}.cards--tonight{border: 1.5px solid var(--text)}.meal--today{grid-template-columns: 44px 1fr;padding: 14px 12px}.meal--today .meal__when{color: var(--primary-ink)}.meal--today .meal__date{color: var(--primary-ink)}.meal--today .card__name{font-size: 21px}.meal--today .meal__actions{grid-column: 2;gap: 4px}.card__cook{margin-right: auto}.past-days{background: transparent;border: 1px dashed var(--border);border-radius: var(--r-card);margin: 0 0 4px}.past-days summary{display: flex;align-items: center;gap: 8px;min-height: 48px;padding: 0 16px;font-weight: 700;cursor: pointer;list-style: none}.past-days summary::-webkit-details-marker{display: none}.past-days__hint{margin-left: auto;font-size: 13px;font-weight: 600;color: var(--text-muted)}.past-days summary::after{content: "";margin-left: 0;width: 7px;height: 7px;border-right: 2px solid currentColor;border-bottom: 2px solid currentColor;transform: rotate(45deg);transition: transform 160ms var(--ease)}.past-days[open] summary::after{transform: rotate(-135deg)}.past-list li{grid-template-columns: 6em 1fr auto}.banner{background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-card);padding: 14px 16px;display: grid;gap: 10px;justify-items: start}.banner p{margin: 0;font-size: 15px}.back-btn{justify-self: start}.week-sticky{z-index: 6}.recipe-hero{display: grid;gap: 16px;margin-bottom: 16px}.recipe-hero h1{font-size: 30px;margin-bottom: 8px}.recipe-hero .lead{color: var(--text-muted);font-size: 17px}.recipe-screen .facts{list-style: none;padding: 0;margin: 0 0 12px;display: flex;flex-wrap: wrap;gap: 8px}.recipe-screen .facts li{padding: 6px 12px;border-radius: var(--r-pill);background: var(--tile);font-size: 14px}.recipe-actions{display: flex;flex-wrap: wrap;gap: 8px;align-items: center}.recipe-body{display: grid;gap: 12px;margin-bottom: 12px}.recipe-body .panel{margin: 0}.recipe-screen .ingredients{list-style: none;padding: 0;margin: 0}.recipe-screen .ingredients li{padding: 8px 0;border-bottom: 1px solid var(--border)}.recipe-screen .ingredients li:last-child{border-bottom: 0}.recipe-screen .steps{counter-reset: step;list-style: none;padding: 0;margin: 0;display: grid;gap: 14px}.recipe-screen .steps li{counter-increment: step;display: grid;grid-template-columns: 28px 1fr;gap: 10px;margin: 0}.recipe-screen .steps li::before{content: counter(step);width: 28px;height: 28px;border-radius: 50%;display: grid;place-items: center;background: var(--tile);font: 800 14px / 1 var(--font-title)}.recipe-screen .tip{margin: 16px 0 0;background: var(--tile)}.note{border-left: 0;padding: 12px 14px;border-radius: var(--r-card);background: var(--tile);font-size: 15px}.jay-detail__head{display: flex;justify-content: space-between;align-items: baseline;gap: 8px;flex-wrap: wrap}.jay-detail__head .h3{margin: 0 0 8px}.platebar{margin: 0}.platebar__title{font: 700 18px / 1.2 var(--font-title);margin-bottom: 10px}.platebar__bar{display: flex;height: 14px;border-radius: var(--r-pill);overflow: hidden;gap: 2px}.platebar__part{display: block;min-width: 4px}.platebar__legend{list-style: none;padding: 0;margin: 10px 0 0;display: grid;grid-template-columns: 1fr 1fr;gap: 6px 12px;font-size: 14px}.platebar__legend li{display: flex;align-items: center;gap: 8px}.platebar__legend strong{margin-left: auto}.platebar__dot{width: 10px;height: 10px;border-radius: 3px;flex: none}.platebar__part--veg{background: var(--success)}.platebar__part--starch{background: color-mix(in srgb,var(--accent) 70%,var(--surface))}.platebar__part--protein{background: color-mix(in srgb,var(--text) 55%,var(--surface))}.platebar__part--rich{background: color-mix(in srgb,var(--text) 20%,var(--surface))}.period{background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-card);margin-bottom: 12px}.period summary{display: flex;align-items: center;gap: 10px;min-height: 52px;padding: 0 14px;cursor: pointer;list-style: none}.period summary::-webkit-details-marker{display: none}.period summary svg{color: var(--text-muted)}.period__change{margin-left: auto;font-size: 14px;font-weight: 700;color: var(--primary-ink)}.period[open] .period__change{color: var(--text-muted)}.period__body{padding: 0 14px 14px;border-top: 1px solid var(--border)}.period__body .chips{margin-top: 12px}.cart-progress{margin: 0 0 8px}.cart-progress__bar{height: 6px;border-radius: var(--r-pill);background: color-mix(in srgb,var(--text) 8%,transparent);overflow: hidden}.cart-progress__bar span{display: block;height: 100%;background: var(--success);border-radius: var(--r-pill);transition: width 240ms var(--ease)}.cart-progress p{margin: 6px 0 0}.offline{display: flex;align-items: center;gap: 8px;padding: 10px 14px;border-radius: var(--r-card);background: var(--tile);font-weight: 700}.aisle{margin-top: 8px}.aisle-title{display: flex;justify-content: space-between;align-items: baseline}.aisle__done{text-transform: none;letter-spacing: 0;color: var(--success)}.items{list-style: none;margin: 0;padding: 0;background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-card);overflow: hidden}.items>li + li{border-top: 1px solid var(--border)}.item-row{display: flex;align-items: center;gap: 4px;padding-right: 8px}.item{display: grid;grid-template-columns: 26px 1fr;align-items: center;gap: 12px;flex: 1;min-width: 0;min-height: 56px;padding: 8px 8px 8px 14px;border: 0;background: transparent;color: var(--text);text-align: left;font: inherit;cursor: pointer}li.item{display: block;padding: 12px 14px;min-height: 0}.item__box{width: 24px;height: 24px;border-radius: 50%;border: 2px solid color-mix(in srgb,var(--text) 35%,transparent);display: grid;place-items: center;color: var(--on-primary)}.item--checked .item__box{background: var(--success);border-color: var(--success)}.item__text{display: grid;gap: 1px;min-width: 0}.item__name{font-weight: 700}.item__name::first-letter{text-transform: uppercase}.item__for{font-size: 13px;color: var(--text-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.item__qty{font-weight: 800;color: var(--text)}.item--checked .item__name{color: var(--text-muted);text-decoration: line-through}.item__have{flex: none;min-height: 36px;padding: 0 10px;border-radius: var(--r-pill);border: 1px solid var(--border);background: transparent;color: var(--text-muted);font: 700 13px / 1 var(--font-body);cursor: pointer}.item__have:hover{color: var(--text);border-color: var(--text-muted)}.aisle__toggle{display: flex;align-items: center;gap: 6px;width: 100%;min-height: 48px;padding: 0 14px;border: 1px dashed var(--border);border-radius: var(--r-card);background: transparent;color: var(--text);font: 700 15px / 1 var(--font-body);cursor: pointer}.aisle--pantry .items{margin-top: 8px}.aisle--muted .items{background: transparent}.shopping--store .item__name{font-size: 20px}.shopping--store .item__for{font-size: 16px}.shopping--store .item{min-height: 68px}.add-item{display: grid;grid-template-columns: 1fr 6.5em auto;gap: 8px;align-items: end;margin-top: 20px}.list-footer{display: grid;gap: 4px;justify-items: start;margin-top: 16px}.filters{margin-bottom: 4px}.search{position: relative;display: block;margin: 0 0 4px}.search svg{position: absolute;left: 14px;top: 50%;transform: translateY(-50%);color: var(--text-muted)}.search .input{padding-left: 42px}.recipe-grid,.recipe-row{list-style: none;padding: 0;margin: 12px 0;display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 12px}.recipe-row{grid-template-columns: none;grid-auto-flow: column;grid-auto-columns: 150px;overflow-x: auto;scrollbar-width: thin;margin-inline: -16px;padding: 0 16px 6px}.recipe-tile{position: relative;background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-card);overflow: hidden}.recipe-tile__main{display: grid;gap: 4px;padding: 8px 8px 12px;color: var(--text);text-decoration: none;height: 100%;align-content: start}.recipe-tile__main .thumb{width: 100%;aspect-ratio: 4 / 3}.recipe-tile__name{font: 700 15px / 1.2 var(--font-title);margin-top: 4px}.recipe-tile__meta{font-size: 13px;color: var(--text-muted)}.recipe-tile__tags{display: flex;flex-wrap: wrap;gap: 4px}.recipe-tile__tags .tag,.recipe-tags .tag{font-size: 12px;font-weight: 700;color: var(--text);background: color-mix(in srgb,var(--text) 7%,transparent);border-radius: var(--r-pill);padding: 3px 8px}.tile-keep,.tile-tags{position: absolute;top: 14px;right: 14px;width: 36px;height: 36px;border-radius: 50%;display: grid;place-items: center;border: 1px solid var(--border);background: var(--surface);color: var(--text);cursor: pointer;box-shadow: var(--shadow)}.tile-keep.is-on{background: var(--text);border-color: var(--text);color: var(--bg)}.tile-tags{right: 56px}.taste-fill h2{margin-top: 0}.taste-fill .chips{margin: 14px 0 16px}.taste-fill--compact{border: 0;padding: 0;margin: 0}.taste-fill__or{margin: 12px 0 0;text-align: center}.taste-panel p{margin-bottom: 6px}.taste-panel .h3{margin-top: 16px}.taste-panel>.h3:first-child{margin-top: 0}.members{list-style: none;padding: 0;margin: 0 0 12px;display: grid;gap: 8px}.member{border: 1px solid var(--border);border-radius: 14px;padding: 8px 8px 4px}.member__head{display: flex;align-items: center;gap: 8px}.member__avatar{flex: none;width: 36px;height: 36px;border-radius: 50%;display: grid;place-items: center;background: var(--tile);font: 800 16px / 1 var(--font-title)}.member__name{flex: 1;min-width: 0;border-color: transparent;font-weight: 700}.member__name:hover,.member__name:focus{border-color: var(--border)}.member__age{width: auto;flex: none}.member__kind{font-size: 14px;color: var(--text-muted);padding: 0 8px}.member__more{margin: 4px 0 0}.member__more>summary{font-size: 14px;min-height: 40px}.evenings{list-style: none;padding: 0;margin: 8px 0 0;display: grid;gap: 6px}.evening{display: grid;grid-template-columns: 6.5em 1fr 1fr;gap: 8px;align-items: center}.evening__day{font-weight: 700}.evening__who{position: relative}.evening__who summary{min-height: var(--tap);display: flex;align-items: center;padding: 0 12px;border: 1.5px solid var(--border);border-radius: var(--r-field);cursor: pointer;list-style: none;font-size: 15px}.evening__who summary::-webkit-details-marker{display: none}.evening__who summary::after{content: none}.evening__who-list{padding: 4px 4px 0}.foyer .segmented{margin-top: 4px}.foyer .field{margin-top: 12px}@media (min-width: 900px){.screen,.onboarding{padding-top: 16px}.screen{max-width: 1080px}.screen.recipe-screen,.screen.shopping{max-width: 920px}.app-head{padding-inline: max(var(--gutter),calc((100% - 1080px) / 2 + var(--gutter)))}.week-layout{display: grid;grid-template-columns: minmax(0,1fr) 320px;gap: 24px;align-items: start}.week-aside{display: grid;gap: 10px;align-content: start;grid-column: 2;grid-row: 1;position: sticky;top: 88px}.week-main{grid-column: 1;grid-row: 1}.week-aside__cta{display: inline-flex}.week-sticky{display: none}.summary-people{padding-left: 14px}.meal{padding: 12px 10px 12px 16px}.meal--today .thumb--md{width: 104px}.recipe-hero{grid-template-columns: 300px 1fr;align-items: start;gap: 28px}.recipe-hero .thumb--lg{aspect-ratio: 1;max-height: none}.recipe-body{grid-template-columns: 2fr 3fr;align-items: start}.recipe-grid{grid-template-columns: repeat(auto-fill,minmax(180px,1fr))}.recipe-row{margin-inline: 0;padding-inline: 0}.panels{grid-template-columns: 1fr 1fr;align-items: start}.screen .sticky-cta,.foyer .sticky-cta{bottom: 0;max-width: 1080px}.foyer .sticky-cta .btn{max-width: 320px;margin-left: auto;display: flex}}.site-header{position: sticky;top: 0;z-index: 10;background: color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter: saturate(1.2) blur(6px);border-bottom: 1px solid var(--border)}.site-header__in{display: flex;align-items: center;gap: 16px;min-height: 60px}.site-header__logo{text-decoration: none}.site-nav{display: none;gap: 20px;margin-left: auto}.site-nav a{color: var(--text);text-decoration: none;font-weight: 700}.site-header .btn{margin-left: auto}@media (min-width: 720px){.site-nav{display: flex}.site-header .btn{margin-left: 0}}.hero{padding: 32px 0 40px}.hero__in{display: flex;flex-direction: column;align-items: flex-start;max-width: 640px}.hero__title{font-size: 36px;margin-top: 24px}.hero__sub{font-size: 19px}.hero__reassure{margin-top: 10px;color: var(--text-muted);font-weight: 600}@media (min-width: 720px){.hero__title{font-size: 52px}}.dialogue{display: flex;flex-direction: column;gap: 8px;width: 100%;max-width: 420px}.bubble{max-width: 80%;padding: 10px 16px;border-radius: 20px;font-size: 17px;margin: 0;opacity: 0;animation: bubble-in 400ms var(--ease) forwards}.bubble--left{align-self: flex-start;background: var(--surface);border: 1px solid var(--border);border-bottom-left-radius: 6px}.bubble--right{align-self: flex-end;background: var(--surface-soft);border-bottom-right-radius: 6px}.bubble:nth-child(2){animation-delay: 700ms}.bubble:nth-child(3){animation-delay: 1400ms}.dialogue--static .bubble{opacity: 1;animation: none}@keyframes bubble-in{from{opacity: 0;transform: translateY(6px)}to{opacity: 1;transform: none}}.reveal{display: grid;align-items: center;padding: 8px 18px 10px}.reveal__from,.reveal__to{grid-area: 1 / 1}.reveal__from{animation: reveal-out 500ms var(--ease) 2600ms forwards}.reveal__to{opacity: 0;animation: reveal-in 500ms var(--ease) 2900ms forwards}.reveal__to .wordmark--lg{font-size: 30px;line-height: 1;display: block}.reveal__to .point{animation: bounce 600ms var(--ease) 3400ms 1}@keyframes reveal-out{to{opacity: 0;filter: blur(2px);transform: translateY(-4px)}}@keyframes reveal-in{to{opacity: 1}}@media (prefers-reduced-motion: reduce){.bubble{opacity: 1}.reveal__from{opacity: 0}.reveal__to{opacity: 1}}.store{display: grid;gap: 24px;align-items: center}@media (min-width: 720px){.store{grid-template-columns: 1fr 1fr}}.mock-list{list-style: none;margin: 0;padding: 16px;background: var(--surface);border-radius: var(--r-card);box-shadow: var(--shadow)}.mock-list li{padding: 10px 0;border-bottom: 1px solid var(--border)}.mock-list li.is-checked{text-decoration: line-through;color: var(--text-muted)}.mock-list__aisle{font-size: 13px;font-weight: 800;color: var(--text-muted);text-transform: uppercase;letter-spacing: 0.04em}.jay-teaser{background: var(--surface-soft);border-radius: var(--r-card);margin-top: 16px;padding: 24px var(--gutter)}.founders{margin-top: 12px;font-weight: 700}.faq__item{border-bottom: 1px solid var(--border);padding: 12px 0}.faq__item summary{font-weight: 700;cursor: pointer;min-height: var(--tap);display: flex;align-items: center}.sticky-cta{position: sticky;bottom: 0;padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background: linear-gradient(to top,var(--bg) 70%,transparent);z-index: 5}.home .sticky-cta{position: fixed;left: 0;right: 0;transform: translateY(110%);transition: transform 200ms var(--ease)}.home .sticky-cta.is-visible{transform: none}@media (min-width: 720px){.home .sticky-cta{display: none}}.site-footer{border-top: 1px solid var(--border);padding: 32px 0 48px;margin-top: 32px}.site-footer__grid{display: grid;gap: 24px}@media (min-width: 720px){.site-footer__grid{grid-template-columns: 2fr 1fr 1fr 1fr}}.site-footer nav{display: flex;flex-direction: column;gap: 6px}.site-footer nav a{color: var(--text);min-height: 32px}.footer-title{font-size: 15px;margin: 0 0 4px}.crumbs ol{list-style: none;padding: 16px 0 0;margin: 0;display: flex;flex-wrap: wrap;gap: 6px;font-size: 14px;color: var(--text-muted)}.crumbs li + li::before{content: "›";margin-right: 6px}.crumbs a{color: var(--text-muted)}.chips-nav{list-style: none;padding: 0;display: flex;flex-wrap: wrap;gap: 8px}.rgrid{list-style: none;padding: 0;display: grid;grid-template-columns: repeat(2,1fr);gap: 14px}@media (min-width: 720px){.rgrid{grid-template-columns: repeat(4,1fr)}}.rcard__link{display: flex;flex-direction: column;gap: 6px;color: var(--text);text-decoration: none}.rcard__name{font: 700 16px / 1.2 var(--font-title)}.rcard__meta{font-size: 14px;color: var(--text-muted)}.recipe .thumb--lg{margin-bottom: 16px}.facts{list-style: none;padding: 0;display: flex;flex-wrap: wrap;gap: 8px 16px;margin: 8px 0 16px}.recipe__cols{display: grid;gap: 24px}@media (min-width: 720px){.recipe__cols{grid-template-columns: 1fr 2fr}}.ingredients,.steps{padding-left: 22px}.ingredients li,.steps li{margin-bottom: 8px}.tip{background: var(--surface-soft);padding: 12px 16px;border-radius: var(--r-card)}.cta-band{margin: 32px 0;padding: 20px;border-radius: var(--r-card);background: var(--surface);border: 1.5px solid var(--border);display: flex;flex-direction: column;gap: 12px;align-items: flex-start}.cta-band__title{font: 700 19px / 1.3 var(--font-title);margin: 0}.menu-list{list-style: none;padding: 0}.menu-list a{display: flex;flex-direction: column;padding: 14px 0;border-bottom: 1px solid var(--border);color: var(--text);text-decoration: none}.week-list{list-style: none;padding: 0}.week-list li{display: grid;grid-template-columns: 100px 1fr auto;gap: 8px;padding: 12px 0;border-bottom: 1px solid var(--border)}.week-list__day{font-weight: 800}.shop-columns{display: grid;gap: 8px 24px}@media (min-width: 720px){.shop-columns{grid-template-columns: repeat(3,1fr)}}.aisle-title{font: 800 13px / 1.3 var(--font-body);text-transform: uppercase;letter-spacing: 0.04em;color: var(--text-muted);margin: 20px 0 6px}.shared-items{list-style: none;padding: 0;margin: 0}.shared-items li{display: flex;justify-content: space-between;gap: 12px;padding: 8px 0;border-bottom: 1px solid var(--border)}.shared-items li.is-checked{text-decoration: line-through;color: var(--text-muted)}.prose h2{margin-top: 28px}.legal .formulaire{background: var(--surface);padding: 16px;border-radius: var(--r-card)}.simple-card{max-width: 480px;margin: 0 auto;padding: 32px var(--gutter)}.simple-card__logo{display: inline-block;margin-bottom: 24px;text-decoration: none}.simple-card .btn{margin-top: 8px}.recap{display: grid;grid-template-columns: auto 1fr;gap: 8px 16px;background: var(--surface);padding: 16px;border-radius: var(--r-card)}.recap dt{font-weight: 700}.recap dd{margin: 0}.dev-mail pre{white-space: pre-wrap;background: var(--surface);padding: 12px;border-radius: 8px}.jay-legend{display: grid;gap: 16px;margin: 16px 0}.jay-legend>div{display: grid;gap: 6px;background: var(--surface);border-radius: var(--r-card);padding: 14px 16px}.jay-legend p{margin: 0}.jay-examples-grid{display: grid;gap: 16px;grid-template-columns: repeat(auto-fit,minmax(280px,1fr))}.jay-example{margin: 0;background: var(--surface);border-radius: var(--r-card);padding: 14px 16px}.jay-example figcaption{font: 800 18px / 1.2 var(--font-title);margin-bottom: 8px}.jay-example__people{list-style: none;padding: 0;margin: 0;display: grid;gap: 14px}.jay-example__head{display: flex;justify-content: space-between;align-items: center;gap: 10px}.jay-example__head span:first-child{display: grid}.jay-example__head small{color: var(--text-muted);font-size: 13px}.jay-page .jay-basis{display: grid;grid-template-columns: minmax(8em,30%) 1fr;gap: 8px 14px}.jay-page .jay-basis dt{font-weight: 700}.jay-page .jay-basis dd{margin: 0}.jaym--svg svg{display: block;color: var(--text);flex: none}.jayb__svg{display: block;width: 100%;height: 12px;color: var(--text)}.jay-page .jayb__row{grid-template-columns: 8.5em 1fr 2em}.jay-example__head span:first-child{min-width: 0}.cta-row{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 16px;margin: 24px 0 0}.cta-row .muted{font-size: 14px}.hero__grid{display: grid;gap: 32px;align-items: center}.hero__copy{max-width: 600px}.hero__proof{list-style: none;padding: 0;margin: 20px 0 0;display: flex;flex-wrap: wrap;gap: 8px 20px;font-size: 14px;font-weight: 700;color: var(--text-muted)}.hero__proof li::before{content: "✓ ";color: var(--success)}.phone{margin: 0 auto;width: 100%;max-width: 360px;display: grid;gap: 10px;justify-items: center}.phone__screen{width: 100%;padding: 18px 12px 14px;border-radius: 36px;border: 8px solid var(--text);background: var(--bg);display: grid;gap: 10px;box-shadow: 0 24px 48px rgb(43 30 47 / 0.18);pointer-events: none}.phone__title{margin: 0 4px;font: 800 20px / 1.2 var(--font-title)}.phone .summary-row{min-height: 52px;grid-template-columns: auto 1fr;cursor: default}.phone .meal{padding: 8px 6px 8px 8px;grid-template-columns: 36px 1fr;animation: none}.phone .meal--today{padding: 8px 6px 8px 8px}.phone .meal--today .card__name{font-size: 15px}.phone .card__name{font-size: 15px}.phone .card__meta{font-size: 12px}.phone .meal__date{font-size: 18px}.phone .thumb--sm{width: 40px}.phone .cards--tonight,.phone .cards{border-width: 1px}.phone__cta{font-size: 15px;min-height: 44px}.phone figcaption{text-align: center}.section__title{font-size: 30px;margin: 0 0 8px}.section__lead{font-size: 18px;color: var(--text-muted);margin-bottom: 20px}.section--band{background: var(--surface);border-block: 1px solid var(--border)}.funnel-steps{list-style: none;padding: 0;margin: 20px 0 0;display: grid;gap: 12px}.fstep{display: grid;align-content: start;gap: 8px;padding: 20px;border-radius: var(--r-card);background: var(--surface);border: 1px solid var(--border)}.fstep h3{margin: 4px 0 0;font-size: 20px}.fstep p{margin: 0;color: var(--text-muted)}.fstep__n{width: 36px;height: 36px;border-radius: 50%;display: grid;place-items: center;background: var(--text);color: var(--bg);font: 800 18px / 1 var(--font-title)}.fstep__chips{list-style: none;padding: 0;margin: 8px 0 0;display: flex;flex-wrap: wrap;gap: 6px}.fstep__chips li{padding: 8px 12px;border-radius: var(--r-field);border: 1.5px solid var(--border);font-size: 14px;font-weight: 700}.fstep__chips li.is-on{background: var(--text);border-color: var(--text);color: var(--bg)}.fstep__swap{margin-top: 8px;display: flex;align-items: center;flex-wrap: wrap;gap: 8px;font-weight: 700;font-size: 14px}.fstep__from{color: var(--text-muted);text-decoration: line-through}.fstep__to{padding: 6px 10px;border-radius: var(--r-field);background: var(--tile)}.fstep .mock-list{margin-top: 8px;padding: 4px 12px;box-shadow: none;border: 1px solid var(--border);font-size: 14px}.fstep .mock-list li:last-child{border-bottom: 0}.mock-list li.is-checked{text-decoration: none;color: var(--text-muted)}.mock-box{display: inline-grid;place-items: center;width: 20px;height: 20px;margin-right: 8px;border-radius: 50%;border: 2px solid var(--border);font-size: 12px;font-weight: 800;vertical-align: -4px}.is-checked .mock-box{border-color: var(--success);background: var(--success);color: var(--surface)}.benefits{list-style: none;padding: 0;margin: 0 0 16px;display: grid;grid-template-columns: repeat(auto-fill,minmax(240px,1fr));gap: 12px}.benefit{padding: 18px;border-radius: var(--r-card);background: var(--bg);border: 1px solid var(--border)}.benefit h3{margin: 12px 0 6px;font-size: 18px}.benefit p{margin: 0;color: var(--text-muted);font-size: 15px}.benefit__icon{width: 44px;height: 44px;border-radius: 12px;display: grid;place-items: center;background: var(--tile)}@media (min-width: 900px){.hero{padding: 48px 0 64px}.hero__grid{grid-template-columns: minmax(0,1.2fr) minmax(0,0.8fr);gap: 56px}.funnel-steps{grid-template-columns: repeat(3,1fr)}.section__title{font-size: 36px}}.phone .week-summary{order: 0}.soon{min-height: 100dvh;display: grid;place-items: center;padding: 24px var(--gutter);background: radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--primary) 16%,transparent) 0 140px,transparent 141px),radial-gradient(circle at 8% 92%,color-mix(in srgb,var(--success) 14%,transparent) 0 120px,transparent 121px),var(--bg)}.soon__card{width: 100%;max-width: 520px;display: grid;justify-items: center;gap: 18px;padding: 36px 24px 28px;border-radius: 32px;background: var(--surface);border: 1px solid var(--border);box-shadow: 0 24px 60px rgb(43 30 47 / 0.12);text-align: center}.soon__dialogue{width: 100%;max-width: 340px}.soon__title{margin: 0;font-size: 40px;letter-spacing: -0.03em}.soon__sub{margin: 0;font-size: 18px;color: var(--text-muted)}.soon__fil{list-style: none;margin: 6px 0 0;padding: 0;display: flex;gap: 18px;font: 700 14px / 1.2 var(--font-title)}.soon__fil li{display: grid;justify-items: center;gap: 6px}.soon__dot{width: 30px;height: 30px;border-radius: 50%;display: grid;place-items: center;background: var(--primary);color: var(--on-primary);font: 800 13px / 1 var(--font-title)}.soon__contact{margin: 4px 0 0;font-size: 14px;color: var(--text-muted)}.pub-hero{position: relative;overflow: hidden;isolation: isolate;margin: 8px 0 20px;padding: 28px 22px;border-radius: 28px;background: #ecdff5}.pub-hero::before{content: "";position: absolute;z-index: -1;width: 240px;height: 240px;right: -60px;top: -90px;border-radius: 50%;background: var(--surface);opacity: 0.5}.pub-hero::after{content: "";position: absolute;z-index: -1;width: 14px;height: 14px;right: 30px;top: 26px;border-radius: 50%;background: var(--primary)}.pub-hero h1{margin: 0 0 8px;font-size: 34px;letter-spacing: -0.02em}.pub-hero .lead{max-width: 620px;color: #3d2c47}.pub-hero__cta{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 16px;margin: 18px 0 0}.pub-hero__cta .muted{color: #4a3a55}.cat-tiles{list-style: none;margin: 0 0 8px;padding: 0;display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px}.cat-tile{display: grid;align-content: space-between;gap: 14px;min-height: 96px;padding: 16px;border-radius: 20px;background: color-mix(in srgb,var(--g) 70%,var(--surface));color: #2b1e2f;text-decoration: none;box-shadow: inset 0 0 0 1px rgb(43 30 47 / 0.08);transition: transform 150ms var(--ease),box-shadow 150ms var(--ease)}.cat-tile__name{font: 800 17px / 1.2 var(--font-title)}.cat-tile__n{justify-self: start;padding: 4px 10px;border-radius: var(--r-pill);background: rgb(255 255 255 / 0.7);font: 700 13px / 1 var(--font-body)}.shelf{margin-top: 36px}.shelf__head{display: flex;align-items: baseline;justify-content: space-between;gap: 12px;margin-bottom: 12px}.shelf__head h2{margin: 0;font-size: 22px}.shelf__more{font-weight: 700;white-space: nowrap}.shelf__row{list-style: none;margin: 0 calc(-1 * var(--gutter));padding: 4px var(--gutter) 12px;display: grid;grid-auto-flow: column;grid-auto-columns: minmax(170px,46%);gap: 12px;overflow-x: auto;scroll-snap-type: x mandatory;scrollbar-width: thin}.shelf__row .rcard{scroll-snap-align: start}.rcard{border-radius: 20px;background: var(--surface);box-shadow: 0 1px 2px rgb(43 30 47 / 0.06);transition: transform 150ms var(--ease),box-shadow 150ms var(--ease)}.rcard__link{height: 100%;padding: 6px 6px 14px;gap: 8px}.rcard .thumb{width: 100%;aspect-ratio: 3 / 2;border-radius: 15px}.rcard__body{display: grid;gap: 6px;padding-inline: 6px}.rcard__meta{display: flex;flex-wrap: wrap;gap: 6px;align-items: center}.rcard__time{font-weight: 700}.rcard__tag{padding: 3px 8px;border-radius: var(--r-pill);font-size: 12px;font-weight: 700;color: color-mix(in srgb,var(--success) 55%,var(--text));background: color-mix(in srgb,var(--success) 14%,var(--surface))}.az h2{font-size: 20px}.az__list{list-style: none;margin: 0;padding: 0;columns: 2 220px;column-gap: 24px;font-size: 14px}.az__list li{break-inside: avoid;padding: 3px 0}.az__list a{color: var(--text);text-decoration: none}@media (hover: hover){.cat-tile:hover,.rcard:hover{transform: translateY(-2px);box-shadow: 0 8px 24px rgb(43 30 47 / 0.1)}.az__list a:hover{color: var(--primary-ink);text-decoration: underline}}@media (min-width: 720px){.pub-hero{padding: 40px 40px}.pub-hero h1{font-size: 44px}.cat-tiles{grid-template-columns: repeat(3,minmax(0,1fr))}.shelf__row{margin: 0;padding-inline: 0;grid-auto-flow: row;grid-auto-columns: auto;grid-template-columns: repeat(4,minmax(0,1fr));overflow: visible}.az__list{columns: 3 220px}}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pub-hero{background: #3a2a4a}:root:not([data-theme="light"]) .pub-hero .lead,:root:not([data-theme="light"]) .pub-hero__cta .muted{color: var(--text)}}:root[data-theme="dark"] .pub-hero{background: #3a2a4a}:root[data-theme="dark"] .pub-hero .lead,:root[data-theme="dark"] .pub-hero__cta .muted{color: var(--text)}.pub-hero--week{background: #ffe1d3}.pub-hero--plus{background: linear-gradient(135deg,#ffe9b0 0%,#ffe1d3 100%)}.pub-hero--week .lead,.pub-hero--plus .lead,.pub-hero--week .pub-hero__cta .muted{color: #4a3438}.reassure{list-style: none;margin: 18px 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: 8px 10px}.reassure li{display: inline-flex;align-items: center;gap: 8px;padding: 8px 14px;border-radius: var(--r-pill);background: rgb(255 255 255 / 0.75);color: #2b1e2f;font-size: 14px;font-weight: 700}.menu-feature{display: grid;gap: 18px;margin: 0 0 16px;padding: 22px;border-radius: 24px;background: var(--surface);border: 1px solid var(--border);color: var(--text);text-decoration: none;transition: transform 150ms var(--ease),box-shadow 150ms var(--ease)}.menu-feature__text{display: grid;gap: 6px}.menu-feature__text strong{font: 800 24px / 1.15 var(--font-title)}.menu-feature__go{display: inline-flex;align-items: center;gap: 6px;margin-top: 6px;font-weight: 800;color: var(--primary-ink)}.menu-feature__week{display: grid;grid-template-columns: repeat(7,minmax(0,1fr));gap: 6px;align-self: center}.menu-day{display: grid;place-items: center;aspect-ratio: 3 / 4;border-radius: 14px;background: var(--g);color: #2b1e2f;font: 800 15px / 1 var(--font-title);box-shadow: inset 0 0 0 1px rgb(43 30 47 / 0.08)}.menu-cards{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fill,minmax(240px,1fr));gap: 12px}.menu-card{height: 100%;display: grid;grid-template-rows: auto auto 1fr auto;gap: 8px;padding: 18px;border-radius: 20px;background: var(--surface);border: 1px solid var(--border);color: var(--text);text-decoration: none;transition: transform 150ms var(--ease),box-shadow 150ms var(--ease),border-color 150ms var(--ease)}.menu-card strong{font: 800 18px / 1.2 var(--font-title)}.menu-card .muted{font-size: 15px}.menu-card__icon{width: 44px;height: 44px;border-radius: 14px;display: grid;place-items: center;background: #ffe1d3;color: #b3381d}.menu-card__foot{display: inline-flex;align-items: center;gap: 6px;margin-top: 4px;font-size: 14px;font-weight: 800;color: var(--primary-ink)}@media (hover: hover){.menu-feature:hover,.menu-card:hover{transform: translateY(-2px);box-shadow: 0 10px 28px rgb(43 30 47 / 0.1)}.price-card:hover{box-shadow: 0 10px 28px rgb(43 30 47 / 0.08)}}.prices{display: grid;gap: 14px;margin: 0 0 8px}.price-card{position: relative;display: grid;align-content: start;gap: 10px;padding: 24px 22px;border-radius: 24px;background: var(--surface);border: 1px solid var(--border);transition: box-shadow 150ms var(--ease)}.price-card p{margin: 0}.price-card__name{font: 800 20px / 1.2 var(--font-title)}.price{font: 800 40px / 1 var(--font-title);letter-spacing: -0.02em}.price__per{font: 700 16px / 1 var(--font-body);color: var(--text-muted)}.price-card--plus{border: 2px solid var(--primary);background: linear-gradient(180deg,color-mix(in srgb,var(--accent) 16%,var(--surface)) 0%,var(--surface) 45%);box-shadow: 0 16px 40px color-mix(in srgb,var(--primary) 14%,transparent)}.price-card__badge{position: absolute;top: -13px;left: 22px;padding: 5px 12px;border-radius: var(--r-pill);background: var(--primary);color: var(--on-primary);font: 800 12px / 1 var(--font-body)}.price-card__lead{margin-top: 4px !important}.checks{list-style: none;margin: 4px 0 8px;padding: 0;display: grid;gap: 10px}.checks li{display: grid;grid-template-columns: 22px 1fr;gap: 8px;align-items: start;font-size: 15px}.checks svg{margin-top: 2px;padding: 2px;border-radius: 50%;background: color-mix(in srgb,var(--success) 16%,var(--surface));color: color-mix(in srgb,var(--success) 55%,var(--text))}.checks--plus svg{background: color-mix(in srgb,var(--primary) 14%,var(--surface));color: var(--primary-ink)}.compare th,.compare td{padding: 12px 14px}.compare th:not(:first-child),.compare td:not(:first-child){text-align: center;white-space: nowrap}.compare tbody tr:nth-child(even){background: color-mix(in srgb,var(--text) 3%,transparent)}.compare .yes,.compare .no{display: inline-grid;place-items: center;width: 28px;height: 28px;border-radius: 50%}.compare .yes{background: color-mix(in srgb,var(--success) 16%,var(--surface));color: color-mix(in srgb,var(--success) 55%,var(--text))}.compare .no{color: var(--text-muted)}@media (min-width: 720px){.menu-feature{grid-template-columns: 1.2fr 1fr;padding: 28px 32px}.prices{grid-template-columns: 1fr 1fr;align-items: start}}.pub-recipe__head{display: grid;gap: 18px;margin-bottom: 20px}.pub-recipe__head .thumb--lg{margin: 0;max-height: 240px}.pub-recipe__intro h1{margin: 0 0 8px;font-size: 32px;letter-spacing: -0.02em}.pub-recipe .facts{display: flex;flex-wrap: wrap;gap: 8px;padding: 0;list-style: none}.pub-recipe .facts li{padding: 6px 12px;border-radius: var(--r-pill);background: var(--surface);border: 1px solid var(--border);font-size: 14px}.pub-recipe .facts li:has(.jay-dots){padding: 0;border: 0;background: none;display: flex;align-items: center}.pub-recipe__cta{margin: 16px 0 0}.pub-panel{padding: 18px;border-radius: 20px;background: var(--surface);border: 1px solid var(--border)}.pub-panel h2,.pub-panel h3{margin-top: 0}.recipe__cols{display: grid;gap: 14px;margin-bottom: 16px}.menu-days{list-style: none;margin: 16px 0 28px;padding: 0;display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 10px}.menu-daycard{height: 100%;display: grid;align-content: start;gap: 8px;padding: 14px;border-radius: 18px;background: var(--surface);border: 1px solid var(--border);color: var(--text);text-decoration: none;transition: transform 150ms var(--ease),box-shadow 150ms var(--ease)}.menu-daycard strong{font: 700 16px / 1.25 var(--font-title)}.menu-daycard__day{justify-self: start;padding: 5px 10px;border-radius: var(--r-pill);background: var(--g);color: #2b1e2f;font: 800 12px / 1 var(--font-body);text-transform: uppercase}@media (hover: hover){.menu-daycard:hover{transform: translateY(-2px);box-shadow: 0 8px 22px rgb(43 30 47 / 0.1)}}.shop-columns{gap: 12px}@media (min-width: 720px){.pub-recipe__head{grid-template-columns: 300px 1fr;align-items: center;gap: 28px}.pub-recipe__head .thumb--lg{aspect-ratio: 1;max-height: none}.recipe__cols{grid-template-columns: 2fr 3fr;align-items: start}}:root{--sec: #ffe1d3;--sec-ink: #b3381d;--sec-strong: #cf4024;--r-hero: 28px}:root[data-section="shop"]{--sec: #dbefd9;--sec-ink: #2f6a40;--sec-strong: #3e7b4f}:root[data-section="recipes"]{--sec: #ecdff5;--sec-ink: #5b3a7a;--sec-strong: #8a63b0}:root[data-section="foyer"]{--sec: #dae8f3;--sec-ink: #2e5a73;--sec-strong: #4f86a6}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--sec: #4a2a28;--sec-ink: #f6a08a}:root:not([data-theme="light"])[data-section="shop"]{--sec: #24392a;--sec-ink: #9ad3a8}:root:not([data-theme="light"])[data-section="recipes"]{--sec: #3a2a4a;--sec-ink: #d6bff0}:root:not([data-theme="light"])[data-section="foyer"]{--sec: #21364a;--sec-ink: #a4cbe4}}:root[data-theme="dark"]{--sec: #4a2a28;--sec-ink: #f6a08a}:root[data-theme="dark"][data-section="shop"]{--sec: #24392a;--sec-ink: #9ad3a8}:root[data-theme="dark"][data-section="recipes"]{--sec: #3a2a4a;--sec-ink: #d6bff0}:root[data-theme="dark"][data-section="foyer"]{--sec: #21364a;--sec-ink: #a4cbe4}.tint-volaille{background: var(--t-volaille)}.tint-boeuf,.tint-agneau{background: var(--t-boeuf)}.tint-porc{background: var(--t-porc)}.tint-poisson,.tint-fruits_de_mer{background: var(--t-poisson)}.tint-oeuf{background: var(--t-oeuf)}.tint-fromage_laitier{background: var(--t-fromage_laitier)}.tint-legumineuses,.tint-soja_tofu{background: var(--t-legumineuses)}.tint-aucune{background: var(--t-aucune)}.thumb--tile svg{opacity: 1}.screen>.screen-head,.screen>.week-head{position: relative;isolation: isolate;overflow: hidden;margin: 4px 0 20px;padding: 20px 20px 22px;border-radius: var(--r-hero);background: var(--sec);align-items: flex-end}.screen>.screen-head::before,.screen>.week-head::before{content: "";position: absolute;z-index: -1;width: 180px;height: 180px;right: -48px;top: -70px;border-radius: 50%;background: var(--surface);opacity: 0.45}.screen>.screen-head::after,.screen>.week-head::after{content: "";position: absolute;z-index: -1;width: 14px;height: 14px;right: 28px;top: 22px;border-radius: 50%;background: var(--primary)}.screen>.screen-head h1,.screen>.week-head h1{padding-right: 24px;font-size: 30px;letter-spacing: -0.02em;margin: 0 0 4px}.screen>.screen-head .muted{color: color-mix(in srgb,var(--text) 78%,var(--sec));font-size: 16px}.screen>.screen-head .hand,.screen>.week-head .hand{color: var(--sec-ink)}.screen>.screen-head .btn--secondary{background: var(--surface);border-color: transparent}.screen>.screen-head .btn--icon{background: color-mix(in srgb,var(--surface) 60%,transparent);border-radius: 50%}.seg{background: color-mix(in srgb,var(--text) 7%,transparent);border: 0}.seg button{color: color-mix(in srgb,var(--text) 75%,transparent)}.seg button.on{background: var(--surface);color: var(--text);box-shadow: 0 1px 2px rgb(43 30 47 / 0.12),0 2px 8px rgb(43 30 47 / 0.08)}.tabbar{left: 12px;right: 12px;bottom: calc(10px + env(safe-area-inset-bottom));padding: 6px;gap: 4px;border: 1px solid var(--border);border-radius: 26px;background: var(--surface-raised);box-shadow: 0 10px 30px rgb(43 30 47 / 0.16)}.tabbar .tab{min-height: 54px;border-radius: 20px;font-size: 12px}.tabbar .tab--on{background: var(--sec);color: var(--sec-ink)}.screen .sticky-cta,.foyer .sticky-cta{bottom: calc(78px + env(safe-area-inset-bottom))}.toasts{bottom: calc(150px + env(safe-area-inset-bottom))}@media (min-width: 900px){.head-nav .tab--on{background: var(--sec);color: var(--sec-ink);box-shadow: none;border-radius: var(--r-pill)}.screen .sticky-cta,.foyer .sticky-cta{bottom: 0}.toasts{bottom: 24px}.screen>.screen-head,.screen>.week-head{padding: 28px 32px 30px}.screen>.screen-head h1,.screen>.week-head h1{font-size: 38px}.screen>.screen-head::before,.screen>.week-head::before{width: 260px;height: 260px;right: -60px;top: -110px}}.fil{margin: -6px 0 20px}.fil ol{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(3,minmax(0,1fr))}.fil__step{position: relative}.fil__step:not(:last-child)::after{content: "";position: absolute;top: 15px;left: calc(50% + 20px);right: calc(-50% + 20px);height: 3px;border-radius: 2px;background: var(--border)}.fil__step.is-done::after{background: var(--primary)}.fil__link{display: grid;justify-items: center;gap: 4px;padding: 0 4px;text-align: center;text-decoration: none;color: var(--text)}.fil__dot{width: 32px;height: 32px;border-radius: 50%;display: grid;place-items: center;border: 3px solid var(--border);background: var(--surface);color: var(--text-muted);font: 800 14px / 1 var(--font-title)}.is-done .fil__dot{background: var(--primary);border-color: var(--primary);color: var(--on-primary)}.is-now .fil__dot{border-color: var(--primary);color: var(--primary-ink);animation: fil-breathe 2.4s var(--ease) infinite}@keyframes fil-breathe{0%,100%{box-shadow: 0 0 0 0 color-mix(in srgb,var(--primary) 30%,transparent)}50%{box-shadow: 0 0 0 7px color-mix(in srgb,var(--primary) 0%,transparent)}}@media (prefers-reduced-motion: reduce){.is-now .fil__dot{animation: none;box-shadow: 0 0 0 4px color-mix(in srgb,var(--primary) 22%,transparent)}}.fil__label{font: 700 14px / 1.2 var(--font-title)}.is-here .fil__label{text-decoration: underline;text-decoration-thickness: 2px;text-underline-offset: 4px;text-decoration-color: var(--primary)}.fil__sub{font-size: 12px;line-height: 1.25;color: var(--text-muted);display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.is-now .fil__sub{color: var(--primary-ink);font-weight: 700}.card.meal--today{background: color-mix(in srgb,var(--primary) 7%,var(--surface));border-color: color-mix(in srgb,var(--primary) 35%,var(--border))}.recipes-layout{display: grid;grid-template-columns: minmax(0,1fr);gap: 24px}.recipes-layout>*{min-width: 0}.recipes-main{min-width: 0}.filters__row{display: flex;gap: 8px;align-items: center}.filters__row .search{flex: 1;margin: 0}.filters .chips--scroll{margin-top: 10px}.tag-filter{position: relative}.tag-filter>summary{list-style: none;min-height: var(--tap);white-space: nowrap}.tag-filter>summary::-webkit-details-marker{display: none}.tag-filter>summary.is-on{border-color: var(--text)}.tag-filter__menu{position: absolute;right: 0;top: calc(100% + 8px);z-index: 8;width: min(340px,calc(100vw - 32px));padding: 14px;border-radius: 20px;border: 1px solid var(--border);background: var(--surface-raised);box-shadow: 0 12px 32px rgb(43 30 47 / 0.16)}.tag-filter__menu p{margin: 10px 0 0}.family{margin-top: 24px}.family__title{display: flex;align-items: center;gap: 10px;margin: 0 0 12px;font-size: 20px}.family__dot{width: 14px;height: 14px;border-radius: 50%;box-shadow: inset 0 0 0 1px rgb(43 30 47 / 0.12)}.family__n{font: 700 14px / 1 var(--font-body);color: var(--text-muted);padding: 4px 9px;border-radius: var(--r-pill);background: color-mix(in srgb,var(--text) 7%,transparent)}.recipes .recipe-grid{margin: 0;gap: 14px;grid-template-columns: repeat(auto-fill,minmax(156px,1fr))}.recipes .recipe-grid + .btn{margin-top: 16px}.recipe-tile{border: 0;border-radius: 20px;box-shadow: 0 1px 2px rgb(43 30 47 / 0.06);transition: transform 160ms var(--ease),box-shadow 160ms var(--ease)}.recipe-tile__main{padding: 6px 6px 14px;gap: 2px}.recipe-tile__main .thumb{aspect-ratio: 3 / 2;border-radius: 15px;margin-bottom: 6px}.recipe-tile__name,.recipe-tile__meta,.recipe-tile__tags{padding-inline: 6px}@media (hover: hover){.recipe-tile:hover{transform: translateY(-2px);box-shadow: 0 8px 24px rgb(43 30 47 / 0.1)}}.tile-tools{position: absolute;top: 12px;right: 12px;display: flex;gap: 4px}.tile-tool{width: 32px;height: 32px;border-radius: 50%;border: 0;display: grid;place-items: center;background: color-mix(in srgb,var(--surface) 82%,transparent);color: var(--text);cursor: pointer}.tile-tool:hover{background: var(--surface)}@media (hover: hover){.tile-tools{opacity: 0;transition: opacity 150ms var(--ease)}.recipe-tile:hover .tile-tools,.recipe-tile:focus-within .tile-tools{opacity: 1}}.tile-keep{top: 12px;right: 12px;width: auto;height: 34px;padding: 0 12px 0 9px;gap: 4px;display: inline-flex;align-items: center;border-radius: var(--r-pill);border: 0;font: 800 13px / 1 var(--font-body);box-shadow: 0 2px 8px rgb(43 30 47 / 0.12)}.tile-keep.is-on{background: var(--success);color: #fff}.picks{position: relative;border-radius: var(--r-hero);padding: 20px;background: color-mix(in srgb,var(--sec) 55%,var(--surface));border: 1px solid color-mix(in srgb,var(--sec-strong) 25%,transparent)}.picks .hand{margin: 0 0 4px;color: var(--sec-ink)}.picks__taste{font-size: 17px;margin: 0}.picks__title{margin: 20px 0 10px;font-size: 18px}.picks__list{list-style: none;padding: 0 20px 4px;margin: 0 -20px;display: grid;grid-auto-flow: column;grid-auto-columns: minmax(250px,78%);gap: 10px;overflow-x: auto;scroll-snap-type: x mandatory;scrollbar-width: none}.pick{scroll-snap-align: start;display: flex;align-items: center;gap: 8px;padding: 8px;border-radius: 18px;background: var(--surface)}.pick__main{flex: 1;min-width: 0;display: flex;align-items: center;gap: 10px;color: var(--text);text-decoration: none}.pick .thumb--sm{width: 52px}.pick__text{display: grid;gap: 2px;min-width: 0}.pick__name{font: 700 15px / 1.2 var(--font-title);display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.pick__meta{font-size: 13px;color: var(--text-muted)}.pick__keep{flex-shrink: 0;display: inline-flex;align-items: center;gap: 4px;min-height: 40px;padding: 0 12px 0 10px;border-radius: var(--r-pill);border: 0;background: var(--primary);color: var(--on-primary);font: 800 13px / 1 var(--font-body);cursor: pointer}.pick__keep:hover{background: var(--primary-hover)}.picks__more{margin-top: 16px}.picks__more>summary{cursor: pointer;font-weight: 700;color: var(--sec-ink)}.picks__more .taste-fill{margin-top: 12px;background: transparent}.picks__why{margin: 14px 0 0;font-size: 13px;color: var(--text-muted)}@media (min-width: 900px){.recipes-layout{grid-template-columns: minmax(0,1fr) 340px;align-items: start;gap: 32px}.recipes-layout--single{grid-template-columns: minmax(0,1fr)}.picks{grid-column: 2;grid-row: 1;position: sticky;top: 88px}.recipes-main{grid-column: 1;grid-row: 1}.picks__list{grid-auto-flow: row;grid-auto-columns: auto;overflow: visible;padding: 0;margin: 0}.recipes .recipe-grid{grid-template-columns: repeat(auto-fill,minmax(180px,1fr))}.family:first-of-type{margin-top: 20px}}@media (max-width: 899px){.week-main{order: 1}.wish-entry{order: 2}.week-summary{order: 3}.week-aside>:not(.week-summary):not(.wish-entry){order: 4}}.wish-entry{display: flex;align-items: center;gap: 12px;width: 100%;padding: 14px 16px;border-radius: 22px;border: 1.5px dashed color-mix(in srgb,var(--primary) 45%,var(--border));background: var(--surface);color: var(--text);text-align: left;cursor: pointer;font: inherit}.wish-entry:hover{border-style: solid}.wish-entry__icon{width: 44px;height: 44px;flex-shrink: 0;border-radius: 14px;display: grid;place-items: center;background: var(--sec);color: var(--sec-ink)}.wish-entry__text{flex: 1;display: grid;gap: 2px;min-width: 0}.wish-entry__text strong{font: 700 16px / 1.2 var(--font-title)}.wish-entry__text small{font: 700 18px / 1.1 var(--font-hand);color: var(--text-muted)}.wish__input{min-height: 96px;resize: vertical;margin-top: 4px}.wish__examples{margin: 10px 0 4px}.chip--ghost{border-style: dashed;background: transparent;font-size: 14px;min-height: 36px;padding: 6px 12px}.wish__list{list-style: none;margin: 0 0 8px;padding: 0;display: grid;gap: 8px}.wish__row{display: grid;grid-template-columns: 64px 48px 1fr;align-items: center;gap: 10px;padding: 6px 10px 6px 6px;border-radius: 16px;background: var(--surface);border: 1px solid var(--border)}.wish__row .thumb--sm{width: 48px}.wish__day{text-align: center;font: 800 12px / 1.1 var(--font-title);text-transform: uppercase;color: var(--primary-ink)}.wish__icon{width: 48px;height: 48px;border-radius: 12px;display: grid;place-items: center;background: var(--tile)}.wish__text{display: grid;gap: 2px;min-width: 0}.wish__text strong{font: 700 15px / 1.2 var(--font-title)}.wish__text small{color: var(--text-muted);font-size: 13px}.slot-dish{display: flex;align-items: center;gap: 12px;padding: 10px;margin-bottom: 8px;border-radius: 18px;background: var(--tile)}.slot-dish>span{display: grid;gap: 2px}.slot-dish strong{font: 700 17px / 1.2 var(--font-title)}.action-group{margin: 18px 0 8px;font: 800 13px / 1.2 var(--font-body);text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted)}.action-list{list-style: none;margin: 0;padding: 0;border-radius: 18px;border: 1px solid var(--border);background: var(--surface);overflow: hidden}.action-list>li + li{border-top: 1px solid var(--border)}.action-row{width: 100%;display: flex;align-items: center;gap: 14px;min-height: 60px;padding: 10px 14px;border: 0;background: transparent;color: var(--text);text-align: left;font: inherit;cursor: pointer}.action-row:hover{background: color-mix(in srgb,var(--text) 4%,transparent)}.action-row__icon{width: 38px;height: 38px;flex-shrink: 0;border-radius: 12px;display: grid;place-items: center;background: var(--sec);color: var(--sec-ink)}.action-row__text{display: grid;gap: 2px}.action-row__text strong{font: 700 16px / 1.2 var(--font-body)}.action-row__text small{font-size: 13px;color: var(--text-muted)}.out-chips{margin: 0 0 6px}.rhythm{grid-template-columns: 1fr;gap: 12px;padding: 14px 16px;border-radius: 20px}.miniweek{display: grid;grid-template-columns: 34px repeat(7,minmax(0,1fr));align-items: center;gap: 5px 6px;justify-items: center}.miniweek__row{justify-self: start;font-size: 12px;font-weight: 700;color: var(--text-muted)}.miniweek__d{font-size: 11px;font-weight: 800;color: var(--text-muted)}.dish{display: inline-grid;place-items: center;width: 100%;max-width: 34px;height: 24px;border-radius: 8px;font: 800 12px / 1 var(--font-title);color: #2b1e2f;vertical-align: middle}.dish--c0{background: var(--dish-c0)}.dish--c1{background: var(--dish-c1)}.dish--c2{background: var(--dish-c2)}.dish--c3{background: var(--dish-c3)}.dish--c4{background: var(--dish-c4)}.dish--c5{background: var(--dish-c5)}.dish--again{background-image: repeating-linear-gradient(135deg,rgb(255 255 255 / 0.55) 0 3px,transparent 3px 6px)}.dish--off{background: transparent;border: 1.5px dashed color-mix(in srgb,var(--text) 25%,transparent)}.dish-legend{display: flex;flex-wrap: wrap;gap: 8px 16px;margin: 0 0 14px}.dish-legend>span{display: inline-flex;align-items: center;gap: 6px}.dish-legend .dish{width: 28px}.rhythm-grid__cell .dish{max-width: none;width: 80%;height: 28px}.when{margin: 0 0 16px;padding: 16px;border-radius: 24px;background: var(--surface);border: 1px solid var(--border)}.when__head{display: flex;align-items: center;gap: 12px}.when__icon{width: 44px;height: 44px;flex-shrink: 0;border-radius: 14px;display: grid;place-items: center;background: var(--sec);color: var(--sec-ink)}.when__text{flex: 1;display: grid;gap: 2px;min-width: 0}.when__text small{font-size: 13px;color: var(--text-muted);font-weight: 700}.when__text strong{font: 700 17px / 1.2 var(--font-title)}.when__meals{font: 800 13px / 1 var(--font-body);padding: 6px 10px;border-radius: var(--r-pill);background: var(--sec);color: var(--sec-ink);white-space: nowrap}.when__weeks{display: grid;grid-template-columns: repeat(4,1fr);gap: 4px;margin-top: 14px;padding: 4px;border-radius: var(--r-pill);background: color-mix(in srgb,var(--text) 7%,transparent)}.when__weeks button{min-height: 40px;border: 0;border-radius: var(--r-pill);background: transparent;color: var(--text);font: 700 14px / 1 var(--font-body);cursor: pointer}.when__weeks button.on{background: var(--surface);box-shadow: 0 1px 2px rgb(43 30 47 / 0.12),0 2px 8px rgb(43 30 47 / 0.08)}.when__cal{margin-top: 12px}.when__cal>summary{cursor: pointer;font-weight: 700;font-size: 14px;color: var(--sec-ink)}.cal{margin-top: 12px}.cal__grid{display: grid;grid-template-columns: repeat(7,minmax(0,1fr));row-gap: 4px}.cal__dow{text-align: center;font-size: 12px;font-weight: 800;color: var(--text-muted);padding-bottom: 4px}.cal__day{height: 40px;border: 0;padding: 0;background: transparent;color: var(--text);font: 700 14px / 1 var(--font-body);cursor: pointer;display: grid;place-items: center}.cal__day span{width: 36px;height: 36px;display: grid;place-items: center;border-radius: 50%}.cal__day:disabled{color: color-mix(in srgb,var(--text) 30%,transparent);cursor: default}.cal__day.is-on{background: var(--sec);color: var(--sec-ink)}.cal__day.is-start{border-radius: 20px 0 0 20px}.cal__day.is-end{border-radius: 0 20px 20px 0}.cal__day.is-start.is-end{border-radius: 20px}.cal__day.is-start span,.cal__day.is-end span{background: var(--sec-strong);color: #fff}.cal__day.is-today span{box-shadow: inset 0 0 0 2px var(--primary)}.cal__help{margin: 10px 0}:root{--dish-c0: #f6b49f;--dish-c1: #f5cf73;--dish-c2: #a9d3a6;--dish-c3: #a9cbe4;--dish-c4: #d3bde8;--dish-c5: #f0b9cc}.dish--c0,.link-c0{--g: var(--dish-c0)}.dish--c1,.link-c1{--g: var(--dish-c1)}.dish--c2,.link-c2{--g: var(--dish-c2)}.dish--c3,.link-c3{--g: var(--dish-c3)}.dish--c4,.link-c4{--g: var(--dish-c4)}.dish--c5,.link-c5{--g: var(--dish-c5)}.thumb-wrap{position: relative;display: inline-block;flex-shrink: 0;line-height: 0}.thumb-wrap.is-again .thumb::after{content: "";position: absolute;inset: 0;background-image: repeating-linear-gradient(135deg,rgb(255 255 255 / 0.45) 0 4px,transparent 4px 9px);border-radius: inherit}.link-badge{position: absolute;right: -6px;bottom: -6px;width: 24px;height: 24px;max-width: none;border-radius: 50%;font-size: 12px;line-height: 1;box-shadow: 0 0 0 2.5px var(--surface)}.meal--linked{box-shadow: inset 4px 0 0 var(--g)}.meal--linked .card__note{color: var(--text)}.meal--linked .card__note svg{color: var(--text-muted);vertical-align: -2px}.meal--linked.is-lit{background: color-mix(in srgb,var(--g) 22%,var(--surface));box-shadow: inset 4px 0 0 var(--g),0 0 0 2px var(--g)}.scope{display: grid;gap: 8px;margin: 0 0 16px}.scope__opt{display: flex;align-items: center;gap: 12px;width: 100%;padding: 12px 14px;border-radius: 18px;border: 1.5px solid var(--border);background: var(--surface);color: var(--text);text-align: left;font: inherit;cursor: pointer;transition: border-color 150ms var(--ease),background 150ms var(--ease)}.scope__opt>span:last-child{display: grid;gap: 2px}.scope__opt strong{font: 700 16px / 1.2 var(--font-body)}.scope__opt small{font-size: 13px;color: var(--text-muted)}.scope__opt .dish{width: 30px;max-width: none;height: 30px;border-radius: 50%;flex-shrink: 0}.scope__opt:hover{border-color: color-mix(in srgb,var(--text) 30%,var(--border))}.scope__opt.is-on{border-color: var(--text);background: color-mix(in srgb,var(--text) 4%,var(--surface));box-shadow: inset 0 0 0 1px var(--text)}.wish__mode{margin: 8px 0 0;font-size: 13px;font-weight: 700;color: var(--text-muted)}.wish__mode::before{content: "";display: inline-block;width: 8px;height: 8px;margin-right: 6px;border-radius: 50%;background: color-mix(in srgb,var(--text) 30%,transparent);vertical-align: 1px}.wish__mode.is-fine::before{background: var(--primary)}.wish__row--link{border-color: color-mix(in srgb,var(--g) 70%,var(--border))}.wish__row--link .wish__day.dish{justify-self: center;width: 34px;height: 34px;max-width: none;border-radius: 50%;font-size: 15px;color: #2b1e2f}.wish__plus{margin-top: 12px;padding: 14px 16px;border-radius: 18px;background: color-mix(in srgb,var(--accent) 22%,var(--surface));border: 1px solid color-mix(in srgb,var(--accent) 55%,transparent)}.wish__plus p{margin: 0 0 10px;font-size: 15px}.jay-unit{margin-left: 2px;font: 700 0.82em / 1 var(--font-title);letter-spacing: 0}.jay-pill{display: inline-flex;align-items: baseline;gap: 1px;height: 22px;padding: 0 8px;border-radius: var(--r-pill);font: 800 13px / 22px var(--font-title);background: color-mix(in srgb,var(--text) 7%,transparent);color: var(--text);vertical-align: 1px}.jay-pill--plus{background: color-mix(in srgb,var(--success) 16%,var(--surface));color: color-mix(in srgb,var(--success) 55%,var(--text))}.jay-pill--minus{background: color-mix(in srgb,var(--primary) 14%,var(--surface));color: var(--primary-ink)}.summary-row__jay{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;width: 48px;height: 48px;border-radius: 16px;background: color-mix(in srgb,var(--success) 16%,var(--surface));color: color-mix(in srgb,var(--success) 55%,var(--text));font: 800 19px / 1 var(--font-title)}.summary-row__jay .jay-unit{margin: 0;font-size: 11px;text-transform: uppercase;letter-spacing: 0.06em}.summary-row__jay.is-minus{background: color-mix(in srgb,var(--primary) 14%,var(--surface));color: var(--primary-ink)}:focus-visible{outline: 3px solid var(--focus);outline-offset: 2px;border-radius: 8px}.btn,.chip,.tab,.summary-row,.action-row,.pick,.recipe-tile,.card.meal,.cal__day,.when__weeks button,.seg button,.fil__link,.wish-entry{transition: background-color 150ms var(--ease),border-color 150ms var(--ease),box-shadow 150ms var(--ease),color 150ms var(--ease),transform 150ms var(--ease)}@media (hover: hover){.btn--secondary:hover:not(:disabled){border-color: color-mix(in srgb,var(--text) 35%,var(--border));background: color-mix(in srgb,var(--text) 4%,var(--surface))}.btn--icon:hover:not(:disabled){background: color-mix(in srgb,var(--text) 8%,transparent)}.btn--primary:hover:not(:disabled){box-shadow: 0 4px 14px color-mix(in srgb,var(--primary) 35%,transparent)}.chip:hover{border-color: color-mix(in srgb,var(--text) 40%,var(--border))}.chip--on:hover{border-color: var(--text)}.tab:hover{color: var(--text)}.tabbar .tab:not(.tab--on):hover{background: color-mix(in srgb,var(--text) 5%,transparent)}.summary-row:hover{background: color-mix(in srgb,var(--text) 4%,transparent)}.card.meal:hover{box-shadow: 0 6px 18px rgb(43 30 47 / 0.08)}.card.meal.meal--linked:hover{box-shadow: inset 4px 0 0 var(--g),0 6px 18px rgb(43 30 47 / 0.08)}.cal__day:not(:disabled):not(.is-on):hover span{background: color-mix(in srgb,var(--text) 8%,transparent)}.when__weeks button:not(.on):hover,.seg button:not(.on):hover{color: var(--text);background: color-mix(in srgb,var(--surface) 60%,transparent)}.fil__link:hover .fil__dot{transform: scale(1.08)}.fil__link:hover .fil__label{text-decoration: underline;text-decoration-thickness: 2px;text-underline-offset: 4px}.pick:hover{box-shadow: 0 4px 14px rgb(43 30 47 / 0.08)}a.pick__main:hover .pick__name{text-decoration: underline;text-underline-offset: 3px}}.btn:active:not(:disabled),.chip:active,.action-row:active,.scope__opt:active{transform: scale(0.98)}@media (prefers-reduced-motion: reduce){.btn:active:not(:disabled),.chip:active,.action-row:active,.scope__opt:active{transform: none}}.screen>.screen-head :focus-visible,.screen>.week-head :focus-visible{outline-color: var(--text)}.thumb--tile{box-shadow: inset 0 0 0 1px rgb(43 30 47 / 0.1)}.slot-dish{background: var(--surface);border: 1px solid var(--border)}.card__note{display: inline-flex;align-items: center;flex-wrap: wrap;gap: 4px 6px}.panel-title{display: flex;align-items: center;gap: 10px;margin: 0 0 14px;font-size: 19px}.panel-title__icon{width: 36px;height: 36px;flex-shrink: 0;border-radius: 12px;display: grid;place-items: center;background: var(--sec);color: var(--sec-ink)}.panel-title__n{margin-left: auto;font: 700 13px / 1 var(--font-body);color: var(--sec-ink);padding: 6px 10px;border-radius: var(--r-pill);background: var(--sec)}.avatar{width: 40px;height: 40px;flex-shrink: 0;border-radius: 50%;display: inline-grid;place-items: center;font: 800 17px / 1 var(--font-title);color: #2b1e2f;background: var(--dish-c0);box-shadow: 0 0 0 3px var(--surface)}.avatar.dish--c0,.avatar.dish--c1,.avatar.dish--c2,.avatar.dish--c3,.avatar.dish--c4,.avatar.dish--c5{background: var(--g)}.avatar--lg{width: 56px;height: 56px;font-size: 24px;background: var(--surface);color: var(--sec-ink)}.avatar--plus{background: var(--surface);color: var(--text-muted);border: 1.5px dashed var(--border)}.member__avoid{display: inline-flex;flex-wrap: wrap;align-items: center;gap: 4px 6px}.member__avoid-label{font-size: 13px;font-weight: 700;color: var(--text-muted)}.tag--avoid{padding: 3px 9px;border-radius: var(--r-pill);font-size: 12px;font-weight: 700;color: var(--primary-ink);background: color-mix(in srgb,var(--primary) 10%,var(--surface))}.evenings-all{margin: 6px 0 16px}.evening-strip{list-style: none;margin: 6px 0 12px;padding: 0;display: grid;grid-template-columns: repeat(7,minmax(0,1fr));gap: 6px}.eve{position: relative;display: grid;justify-items: center;align-content: start;gap: 2px;padding: 8px 2px 10px;border-radius: 16px;border: 1.5px solid transparent;text-align: center}.eve--t15{background: color-mix(in srgb,var(--success) 14%,var(--surface))}.eve--t30{background: var(--sec)}.eve--t45{background: color-mix(in srgb,var(--accent) 30%,var(--surface))}.eve--t60{background: color-mix(in srgb,var(--primary) 16%,var(--surface))}.eve--out{background: var(--surface);border: 1.5px dashed color-mix(in srgb,var(--text) 25%,transparent)}.eve__day{font: 800 12px / 1 var(--font-body);text-transform: uppercase;color: var(--text-muted)}.eve__value{font: 800 20px / 1.1 var(--font-title);color: var(--text);min-height: 22px;display: grid;place-items: center}.eve__unit{font-size: 11px;font-weight: 700;color: var(--text-muted);max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;padding-inline: 2px}.eve__who{font-size: 10px;font-weight: 700;color: var(--sec-ink)}.eve__select{position: absolute;inset: 0;width: 100%;height: 100%;opacity: 0;cursor: pointer;font-size: 16px}.eve:focus-within{outline: 3px solid var(--focus);outline-offset: 2px}@media (hover: hover){.eve:hover{border-color: color-mix(in srgb,var(--text) 30%,transparent)}}.foyer .evening .chips{margin: 0}.account .screen-head .avatar--lg{position: relative;z-index: 1}.account-hero{display: flex;gap: 16px;align-items: flex-start;margin-bottom: 16px}.account-hero h2{margin: 0 0 4px}.account-hero__icon{width: 52px;height: 52px;flex-shrink: 0;border-radius: 16px;display: grid;place-items: center;background: var(--sec);color: var(--sec-ink)}.plan-card{display: grid;gap: 10px;align-content: start}.plan-card .eyebrow,.duo-card .eyebrow{margin: 0}.plan-card__name{margin: 0;display: flex;align-items: center;flex-wrap: wrap;gap: 8px;font: 800 30px / 1.1 var(--font-title);letter-spacing: -0.02em}.plan-card--plus{background: linear-gradient(160deg,color-mix(in srgb,var(--accent) 26%,var(--surface)) 0%,var(--surface) 65%);border-color: color-mix(in srgb,var(--accent) 55%,var(--border))}.plan-card__pill{font: 800 12px / 1 var(--font-body);padding: 5px 9px;border-radius: var(--r-pill);background: var(--text);color: var(--bg);letter-spacing: 0}.plan-card__pill--warn{background: var(--danger);color: #fff}.plan-card__line{margin: 0;color: var(--text-muted)}.plan-card .btn,.duo-card .btn{justify-self: start}.duo-card{display: grid;gap: 10px;align-content: start}.duo-card h2{margin: 0;font-size: 19px}.duo-card p{margin: 0}.duo-card__faces{display: flex}.duo-card__faces .avatar + .avatar{margin-left: -10px}.action-row--danger,.action-row--danger strong{color: var(--danger)}.action-row--danger .action-row__icon{background: color-mix(in srgb,var(--danger) 12%,var(--surface));color: var(--danger)}a.action-row{text-decoration: none}.account .panel>.action-list{margin-top: 4px}.account-legal{margin: 16px 0 0;text-align: center}.period-pick{display: grid;gap: 6px}.period-pick__label{font-size: 13px;font-weight: 700;color: color-mix(in srgb,var(--text) 75%,transparent)}.period-pick .when__weeks{margin: 0;background: color-mix(in srgb,var(--text) 8%,transparent)}.period-pick .when__weeks button{min-height: 36px;padding: 0 12px;font-size: 13px}.week-head__tools{align-items: flex-end}.week-block{margin-top: 28px}.week-block__title{display: flex;align-items: center;gap: 10px;margin: 0 0 12px;font-size: 20px}.week-block__dot{width: 12px;height: 12px;border-radius: 50%;background: var(--primary);box-shadow: 0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}.jay-dots{display: inline-flex;align-items: center;gap: 3px;padding: 4px 6px;border-radius: var(--r-pill);vertical-align: -1px;cursor: help}.jay-dot{width: 8px;height: 8px;border-radius: 50%;background: currentColor}.jay-dot--ring{background: transparent;box-shadow: inset 0 0 0 2px currentColor}.jay-dots--plus{color: var(--success);background: color-mix(in srgb,var(--success) 12%,var(--surface))}.jay-dots--minus{color: var(--primary);background: color-mix(in srgb,var(--primary) 10%,var(--surface))}.jay-dots--zero{color: color-mix(in srgb,var(--text) 55%,transparent);background: color-mix(in srgb,var(--text) 6%,transparent)}.jay-dots--lg{gap: 4px;padding: 0;background: transparent}.jay-dots--lg .jay-dot{width: 11px;height: 11px}.summary-row__jay{gap: 0}.tile[aria-expanded="true"]{border-color: var(--primary);border-bottom-left-radius: 6px;border-bottom-right-radius: 6px}.kids-panel{margin-top: -6px;padding: 16px;display: grid;gap: 12px;border: 2px solid var(--primary);border-top: 0;border-radius: 0 0 var(--r-card) var(--r-card);background: color-mix(in srgb,var(--primary) 5%,var(--surface));animation: kids-open 220ms var(--ease)}@keyframes kids-open{from{opacity: 0;transform: translateY(-6px)}}@media (prefers-reduced-motion: reduce){.kids-panel{animation: none}}.kids-panel__q{margin: 0;font: 700 17px / 1.2 var(--font-title)}.kids-panel__row{display: grid;gap: 6px}.kids-panel__who{font-size: 14px;font-weight: 700;color: var(--text-muted)}.kids-panel__row .chips{margin: 0}.kids-panel__hint{margin: -4px 0 0}.more .kids-panel{margin-top: 12px;border-top: 2px solid var(--primary);border-radius: var(--r-card)}.day-chips .chip{min-width: 52px;justify-content: center}.onb-weeks{margin: 6px 0 18px}.action-row--static{cursor: default}.action-row--static:hover{background: transparent}.review-list{margin: 12px 0 4px}.news-card{position: fixed;left: 12px;right: 12px;bottom: calc(86px + env(safe-area-inset-bottom));z-index: 25;max-width: 520px;margin: 0 auto;display: flex;align-items: center;gap: 12px;padding: 12px 8px 12px 14px;border-radius: 22px;background: var(--surface-raised);border: 1px solid var(--border);box-shadow: 0 14px 40px rgb(43 30 47 / 0.2);animation: kids-open 260ms var(--ease)}.news-card__icon{width: 42px;height: 42px;flex-shrink: 0;border-radius: 14px;display: grid;place-items: center;background: color-mix(in srgb,var(--accent) 35%,var(--surface));color: #7d5208}.news-card__text{flex: 1;min-width: 0;display: grid;gap: 2px}.news-card__text .hand{margin: 0;font-size: 19px;line-height: 1}.news-card__text strong{font-size: 14px;line-height: 1.3}.news-card__close{width: 40px;min-height: 40px}@media (min-width: 900px){.news-card{left: auto;right: 24px;bottom: 24px;max-width: 420px}}.news-entry + .news-entry{margin-top: 22px;padding-top: 18px;border-top: 1px solid var(--border)}.news-entry__date{margin: 0 0 4px;font: 800 12px / 1.2 var(--font-body);text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted)}.news-entry__hello{margin: 0 0 12px;font-size: 20px}.news-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 10px}.news-item{display: grid;grid-template-columns: 34px 1fr;gap: 12px;align-items: start;font-size: 15px}.news-item__icon{width: 34px;height: 34px;border-radius: 12px;display: grid;place-items: center}.news-item--nouveau .news-item__icon{background: color-mix(in srgb,var(--primary) 14%,var(--surface));color: var(--primary-ink)}.news-item--mieux .news-item__icon{background: color-mix(in srgb,var(--success) 16%,var(--surface));color: color-mix(in srgb,var(--success) 55%,var(--text))}.news-item--corrige .news-item__icon{background: color-mix(in srgb,var(--text) 8%,transparent);color: var(--text)}.news-item__kind{display: block;font: 800 12px / 1.3 var(--font-body);text-transform: uppercase;letter-spacing: 0.05em;color: var(--text-muted)}.app-head{view-transition-name: app-head}.tabbar{view-transition-name: tabbar}::view-transition-old(root){animation: screen-out 140ms var(--ease) both}::view-transition-new(root){animation: screen-in 240ms var(--ease) both}@keyframes screen-out{to{opacity: 0;transform: translateY(-4px)}}@keyframes screen-in{from{opacity: 0;transform: translateY(10px)}}@supports not (view-transition-name: none){.screen,.onboarding{animation: screen-in 240ms var(--ease) both}}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root),.screen,.onboarding{animation: none !important}}button.eve{width: 100%;font: inherit;color: inherit;cursor: pointer}.evening-strip>li{display: grid}.themes{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 10px;margin-bottom: 10px}.theme-pick{display: grid;gap: 8px;padding: 8px 8px 10px;border-radius: 18px;border: 2px solid var(--border);background: var(--surface);color: var(--text);font: inherit;cursor: pointer}.theme-pick.is-on{border-color: var(--text);box-shadow: inset 0 0 0 1px var(--text)}.theme-pick__screen{position: relative;display: grid;align-content: start;gap: 6px;height: 78px;padding: 10px;border-radius: 12px;overflow: hidden;background: #fff6ea;box-shadow: inset 0 0 0 1px rgb(43 30 47 / 0.12)}.theme-pick--dark .theme-pick__screen{background: #1e1621}.theme-pick--auto .theme-pick__screen{background: linear-gradient(135deg,#fff6ea 50%,#1e1621 50%)}.theme-pick__bar{height: 10px;border-radius: 4px;background: #ffe1d3}.theme-pick__line{height: 6px;border-radius: 3px;background: rgb(43 30 47 / 0.25)}.theme-pick--dark .theme-pick__line{background: rgb(255 246 234 / 0.35)}.theme-pick--dark .theme-pick__bar{background: #4a2a28}.theme-pick__line--short{width: 60%}.theme-pick__dot{position: absolute;right: 10px;bottom: 10px;width: 12px;height: 12px;border-radius: 50%;background: var(--primary)}.theme-pick__label{display: inline-flex;align-items: center;justify-content: center;gap: 6px;font-weight: 700;font-size: 14px}.settings .switch{padding: 10px 0}.settings .switch + .switch,.settings__push{border-top: 1px solid var(--border)}.settings__push section{margin: 0;padding-top: 10px}.settings__push h2{font-size: 16px;margin: 0 0 4px}.aisle-more>summary{display: grid;gap: 2px}.aisle-more__title{font-weight: 700}.aisle-more__peek{font-size: 13px;font-weight: 400;color: var(--text-muted)}.aisle-block{margin-top: 10px}.settings .field__label{margin-top: 16px}html{scroll-behavior: smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}}.foyer .panel[id]{scroll-margin-top: 136px}.foyer-nav{position: sticky;top: 64px;z-index: 5;display: flex;gap: 8px;margin: -6px calc(-1 * var(--gutter)) 16px;padding: 8px var(--gutter);overflow-x: auto;scrollbar-width: none;background: linear-gradient(var(--bg) 80%,transparent)}.foyer-nav__link{flex-shrink: 0;display: inline-flex;align-items: center;gap: 6px;min-height: 40px;padding: 0 14px;border-radius: var(--r-pill);border: 1px solid var(--border);background: var(--surface);color: var(--text);font-weight: 700;font-size: 14px;text-decoration: none}.foyer-nav__link svg{color: var(--sec-ink)}@media (hover: hover){.foyer-nav__link:hover{border-color: var(--sec-ink)}}@media (min-width: 900px){.foyer-nav{flex-wrap: wrap;margin-inline: 0;padding-inline: 0;top: 72px}}.body-cards{list-style: none;margin: 12px 0;padding: 0;display: grid;gap: 12px}.body-card{padding: 14px;border-radius: 18px;border: 1px solid var(--border);background: color-mix(in srgb,var(--sec) 25%,var(--surface))}.body-card__who{display: flex;align-items: center;gap: 10px;margin: 0 0 6px;font: 700 17px / 1.2 var(--font-title)}.body-card__label{margin: 12px 0 6px;font: 800 12px / 1.2 var(--font-body);text-transform: uppercase;letter-spacing: 0.06em;color: var(--text-muted)}.body-card .chips{margin: 0}.goal-words{display: flex;flex-wrap: wrap;gap: 8px;margin-top: 8px}.goal-words .input{flex: 1 1 220px}.goal-plus{margin-top: 8px;padding: 0;border: 0;background: none;color: var(--primary-ink);font: 700 13px / 1.4 var(--font-body);text-align: left;cursor: pointer}.body-kids{margin: 0 0 10px}.plus-tag{display: inline-block;margin-left: 6px;padding: 3px 8px;border-radius: var(--r-pill);background: color-mix(in srgb,var(--accent) 35%,var(--surface));color: #5e3d05;font: 800 11px / 1.2 var(--font-body);letter-spacing: 0.02em;vertical-align: 2px;white-space: nowrap}.wish-entry .plus-tag{align-self: flex-start}.ways{list-style: none;margin: 0 0 12px;padding: 0;display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 10px}.way{width: 100%;height: 100%;display: grid;align-content: start;gap: 6px;padding: 16px;border-radius: 20px;border: 1px solid var(--border);background: var(--surface);color: var(--text);text-align: left;font: inherit;cursor: pointer;transition: transform 150ms var(--ease),box-shadow 150ms var(--ease)}.way strong{font: 700 16px / 1.25 var(--font-title)}.way small{font-size: 13px;color: var(--text-muted)}.way__icon{width: 44px;height: 44px;margin-bottom: 4px;border-radius: 14px;display: grid;place-items: center;background: var(--sec);color: var(--sec-ink)}@media (hover: hover){.way:hover{transform: translateY(-2px);box-shadow: 0 8px 22px rgb(43 30 47 / 0.1)}}.way:focus-within{outline: 3px solid var(--focus);outline-offset: 2px}.notes-preview{max-height: 220px;overflow: auto;margin: 12px 0;padding: 12px 14px;border-radius: 14px;background: var(--tile);font: 400 14px / 1.5 var(--font-body);white-space: pre-wrap}.notes-how{margin: 0;padding-left: 18px;display: grid;gap: 6px;font-size: 14px}