@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/assets/fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2)format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.woff)format("woff")}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-italic-ChpO6tcr.woff2)format("woff2"),url(/assets/fraunces-latin-400-italic-B7iDoVhm.woff)format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-RR2C27NP.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2)format("woff2"),url(/assets/source-sans-3-latin-600-normal-Ck0n4g8U.woff)format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2)format("woff2"),url(/assets/source-sans-3-latin-700-normal-B-h9tW5h.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-title:"Fredoka", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--title-weight:500;--parts-style:normal;--bg:#fff8f1;--surface:#fff;--text:#1f1b2e;--text-muted:#5a5468;--line:#efe6da;--line-strong:#cfc6dd;--accent:#4b3fcf;--accent-strong:#2e2591;--primary:#1f1b2e;--on-primary:#fff;--focus:#4b3fcf;--nav-bg:#1f1b2e;--nav-text:#d9d4ec;--nav-active-bg:#fff;--nav-active-text:#1f1b2e;--ok:#1c8f69;--ok-soft:#ddf5ec;--ok-text:#0f6b4d;--ring-track:#edeaf5;--gap:#d9480f;--gap-soft:#fde3d6;--gap-text:#9a2e0a;--restricted:#a11d33;--restricted-soft:#fde2e6;--restricted-text:#8a1529;--notice-bg:#fff1cc;--notice-text:#5c4100;--overlay:#1f1b2e8c;--breakfast-bg:#fff1cc;--breakfast-icon:#ffc93c;--breakfast-icon-fg:#1f1b2e;--breakfast-label:#6b4a00;--lunch-bg:#ffe4dc;--lunch-icon:#ff8466;--lunch-icon-fg:#1f1b2e;--lunch-label:#8f2a12;--dinner-bg:#e7e4fb;--dinner-icon:#4b3fcf;--dinner-icon-fg:#fff;--dinner-label:#3a2fb0;--snack-bg:#ddf5ec;--snack-icon:#3dd9a4;--snack-icon-fg:#1f1b2e;--snack-label:#0f6b4d;--step-bg:#ffc93c;--step-fg:#1f1b2e;--step-font:var(--font-title);--step-size:1rem;--radius-card:20px;--radius-control:14px;--radius-pill:999px;--tap:2.75rem}:root[data-theme=chaleureux]{--font-title:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;--title-weight:400;--parts-style:italic;--bg:#f7f1e6;--surface:#fffdf8;--text:#2a241d;--text-muted:#6b5f52;--line:#efe6d8;--line-strong:#d8cab5;--accent:#a9472a;--accent-strong:#7e3420;--primary:#2a241d;--on-primary:#fffdf8;--focus:#a9472a;--nav-bg:#2a241d;--nav-text:#e5daca;--nav-active-bg:#fffdf8;--nav-active-text:#2a241d;--ok:#4f5e2e;--ok-soft:#e6e9d8;--ok-text:#3e4a22;--ring-track:#ece3d4;--gap:#a9472a;--gap-soft:#f3ded2;--gap-text:#7e3420;--restricted:#8e2c1b;--restricted-soft:#f6dcd3;--restricted-text:#7a2617;--notice-bg:#f6e8c3;--notice-text:#5c4108;--overlay:#2a241d99;--breakfast-bg:#f6e8c3;--breakfast-icon:#d9a43a;--breakfast-icon-fg:#2a241d;--breakfast-label:#5c4108;--lunch-bg:#f3ded2;--lunch-icon:#c0623f;--lunch-icon-fg:#fffdf8;--lunch-label:#7e3420;--dinner-bg:#e3e7d2;--dinner-icon:#5e6b3a;--dinner-icon-fg:#fffdf8;--dinner-label:#3e4a22;--snack-bg:#eadfd9;--snack-icon:#8c5a4f;--snack-icon-fg:#fffdf8;--snack-label:#6b3e34;--step-bg:transparent;--step-fg:#a9472a;--step-font:var(--font-title);--step-size:1.5rem}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.45}h1,h2,h3,h4{font-family:var(--font-title);font-weight:var(--title-weight);margin:0;line-height:1.15}a{color:var(--accent)}a:hover{color:var(--accent-strong)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-direction:column;max-width:34rem;min-height:100vh;margin:0 auto;display:flex}.skip-link{position:absolute;left:-999px}.skip-link:focus{min-height:var(--tap);background:var(--surface);z-index:10;align-items:center;padding:0 .75rem;display:inline-flex;top:.5rem;left:1rem}main{flex:1;padding:1rem 1rem 6.5rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.page-header h2{font-size:1.75rem}.eyebrow{color:var(--text-muted);font-size:.8125rem;font-weight:700}.tab-bar{background:var(--nav-bg);z-index:5;border-radius:1.5rem;grid-template-columns:repeat(4,minmax(0,1fr));width:min(32rem,100% - 2rem);padding:.3rem;display:grid;position:fixed;bottom:.875rem;left:50%;transform:translate(-50%)}.tab-bar a{min-height:3.125rem;color:var(--nav-text);border-radius:1.2rem;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.tab-bar a[aria-current=page],.tab-bar a.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:700}.card{background:var(--surface);border-radius:var(--radius-card);margin:.75rem 0;padding:1rem}.notice{border-radius:var(--radius-card);background:var(--notice-bg);color:var(--notice-text);margin:.75rem 0;padding:.875rem 1rem}.notice h2,.notice h3{margin-bottom:.25rem;font-size:1.125rem}.state{border-radius:var(--radius-card);background:var(--surface);margin:.75rem 0;padding:1rem}.state h2,.state h3{margin-bottom:.25rem;font-size:1.125rem}.state-error{box-shadow:inset 0 0 0 2px var(--gap)}.state-error h2,.state-error h3{color:var(--gap-text)}.muted{color:var(--text-muted);font-size:.875rem}button,.button{min-height:var(--tap);border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font:inherit;cursor:pointer;border:none;justify-content:center;align-items:center;gap:.375rem;padding:0 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}button.secondary,.button.secondary{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}button:disabled{opacity:.55;cursor:not-allowed}.button-block{width:100%;min-height:3.375rem;font-size:1.0625rem}input,select,textarea{min-height:var(--tap);font:inherit;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--text);max-width:100%;padding:0 .875rem}textarea{width:100%;padding:.5rem .875rem}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--gap);border-width:2px}label{margin:.875rem 0 .25rem;font-weight:700;display:block}.field input,.field select{width:100%}.field-error{color:var(--gap-text);margin:.25rem 0 0;font-size:.9rem;font-weight:600}fieldset{border:none;margin:1rem 0;padding:0}fieldset[aria-invalid=true]{border-radius:var(--radius-control);box-shadow:inset 0 0 0 2px var(--gap);padding:.5rem}legend{padding:0 0 .5rem;font-weight:700}.check{min-height:var(--tap);grid-template-columns:auto 1fr;align-items:center;column-gap:.75rem;display:grid}.check input{width:1.375rem;height:1.375rem;min-height:0;accent-color:var(--ok);margin:0;padding:0}.check label{margin:0;font-weight:400}.check .muted{grid-column:2;margin:0}.tag{border-radius:var(--radius-pill);background:var(--surface);color:var(--text);align-items:center;gap:.25rem;padding:.125rem .625rem;font-size:.75rem;font-weight:700;line-height:1.5;display:inline-flex}.tag-gap,.tag-incomplete{background:var(--gap-soft);color:var(--gap-text)}.tag-ok{background:var(--ok-soft);color:var(--ok-text)}.tag-untested.tag-strong{background:var(--primary);color:var(--on-primary)}.flags{flex-wrap:wrap;gap:.375rem;margin:.375rem 0 0;display:flex}.lang-tag{color:var(--text-muted);border:1px solid var(--line-strong);border-radius:.25rem;padding:0 .25rem;font-size:.75em}.pill-group{flex-wrap:wrap;gap:.5rem;display:flex}.pill{min-height:var(--tap);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong);padding:0 1rem;font-weight:600}.pill[aria-pressed=true]{background:var(--primary);color:var(--on-primary);box-shadow:none}.plan-list{padding-left:1.25rem}.plan-list a{min-height:var(--tap);line-height:var(--tap);display:inline-block}.day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.day-strip.scroll{grid-template-columns:none;grid-auto-columns:minmax(2.75rem,1fr);grid-auto-flow:column;overflow-x:auto}.day-strip a{min-height:var(--tap);border-radius:var(--radius-control);background:var(--surface);color:var(--text);flex-direction:column;align-items:center;gap:.2rem;padding:.5rem 0;text-decoration:none;display:flex}.day-strip .weekday{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.day-strip .day-number{font-family:var(--font-title);font-size:1.125rem}.day-strip .dot{background:var(--ok);border-radius:50%;width:.375rem;height:.375rem}.day-strip .dot.gap{background:var(--gap)}.day-strip a[aria-current=date]{background:var(--primary);color:var(--on-primary)}.day-strip a[aria-current=date] .weekday{color:var(--on-primary)}.day-strip a[aria-current=date] .dot{background:var(--on-primary)}.day-card{border-radius:var(--radius-card);background:var(--surface);width:100%;color:var(--text);text-align:left;align-items:center;gap:.875rem;min-height:0;margin:0 0 .75rem;padding:.75rem .875rem;font-weight:400;display:flex}.day-card .summary{flex-direction:column;flex:1;gap:.15rem;display:flex}.day-card .day-title{font-family:var(--font-title);font-weight:var(--title-weight);font-size:1.3rem;line-height:1.1}.day-card .kcal{font-weight:700}.day-card .tag{align-self:flex-start}.ring text{font-family:var(--font-title);fill:var(--text)}.ring .track{stroke:var(--ring-track)}.ring .value{stroke:var(--ok)}.ring.tone-gap .value{stroke:var(--gap)}.ring.tone-meal-lunch .value{stroke:var(--lunch-icon)}.ring.tone-meal-breakfast .value{stroke:var(--breakfast-icon)}.ring.tone-meal-dinner .value{stroke:var(--dinner-icon)}.ring.tone-meal-snack .value{stroke:var(--snack-icon)}.meal-card{border-radius:var(--radius-card);align-items:flex-start;gap:.875rem;margin:0 0 .75rem;padding:.875rem 1rem;display:flex;position:relative}.meal-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.625rem;height:2.625rem;display:flex}.meal-card .body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.slot-label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.meal-card h3{font-size:1.2rem}.meal-card h3 a{color:var(--text);text-decoration:none}.meal-card h3 a:after{content:"";position:absolute;inset:0}.meal-card .parts{font-style:var(--parts-style)}.meal-card .meta{color:var(--text-muted);font-size:.875rem}.meal-card .tag{background:var(--surface);color:var(--text);position:relative}.meal-breakfast{background:var(--breakfast-bg)}.meal-breakfast .meal-icon{background:var(--breakfast-icon);color:var(--breakfast-icon-fg)}.meal-breakfast .slot-label{color:var(--breakfast-label)}.meal-lunch{background:var(--lunch-bg)}.meal-lunch .meal-icon{background:var(--lunch-icon);color:var(--lunch-icon-fg)}.meal-lunch .slot-label{color:var(--lunch-label)}.meal-dinner{background:var(--dinner-bg)}.meal-dinner .meal-icon{background:var(--dinner-icon);color:var(--dinner-icon-fg)}.meal-dinner .slot-label{color:var(--dinner-label)}.meal-snack{background:var(--snack-bg)}.meal-snack .meal-icon{background:var(--snack-icon);color:var(--snack-icon-fg)}.meal-snack .slot-label{color:var(--snack-label)}.dialog-backdrop{background:var(--overlay);z-index:20;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{background:var(--bg);border-radius:1.75rem;width:min(30rem,100%);max-height:calc(100vh - 2rem);padding:1.25rem;overflow-y:auto}.dialog-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.dialog-header h2{font-size:1.5rem}.icon-button{width:var(--tap);height:var(--tap);background:var(--surface);min-height:0;color:var(--text);border-radius:50%;flex:none;padding:0}.ring-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.ring-grid li{background:var(--surface);text-align:center;border-radius:1.125rem;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem .375rem;display:flex}.ring-grid li.gap{box-shadow:inset 0 0 0 2px var(--gap)}.ring-grid .name{font-size:.875rem;font-weight:700}.ring-grid .amount{color:var(--text-muted);font-size:.8125rem}.ring-grid li.gap .name,.ring-grid li.gap .amount{color:var(--gap-text);font-weight:700}.gap-text{background:var(--surface);border-radius:1.125rem;margin:0 0 .75rem;padding:.875rem 1rem}.disclaimer{color:var(--text-muted);text-align:center;margin:.5rem 0 0;font-size:.8125rem}.meal-hero{border-radius:0 0 1.75rem 1.75rem;flex-direction:column;gap:.75rem;margin:-1rem -1rem 1rem;padding:.75rem 1.25rem 1.25rem;display:flex}.meal-hero .back{min-height:var(--tap);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);align-self:flex-start;align-items:center;gap:.375rem;padding:0 .875rem 0 .625rem;font-weight:600;text-decoration:none;display:inline-flex}.meal-hero .slot{align-items:center;gap:.625rem;display:flex}.meal-hero .meal-icon{width:2.25rem;height:2.25rem}.meal-hero h2{font-size:1.75rem}.meal-hero .parts{font-style:var(--parts-style);margin:0;font-weight:600}.share{background:var(--surface);border-radius:1.125rem;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.share dl{text-align:center;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;margin:0;display:grid}.share dt{color:var(--text-muted);order:2;font-size:.75rem}.share dd{font-family:var(--font-title);order:1;margin:0;font-size:1.0625rem}.share dl>div{flex-direction:column;display:flex}.recipe{margin:0 0 1rem}.recipe-title{margin:1.25rem 0 .25rem;font-size:1.375rem}.panel{background:var(--surface);border-radius:var(--radius-card);margin:0 0 1rem;padding:1rem}.panel h3,.panel h4{margin-bottom:.375rem;font-size:1.25rem}.lines{margin:0;padding:0;list-style:none}.lines li{border-bottom:1px solid var(--line);padding:.5625rem 0}.lines li:last-child{border-bottom:none}.lines li.adjusted{border-radius:var(--radius-control);background:var(--dinner-bg);border:none;justify-content:space-between;align-items:center;gap:.5rem;margin:.375rem 0 .25rem;padding:.625rem .75rem;display:flex}.adapted{color:var(--dinner-label);font-size:.75rem;font-weight:700}.steps{counter-reset:step;flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:step;grid-template-columns:2rem 1fr;gap:.625rem;display:grid}.steps li:before{content:counter(step);background:var(--step-bg);width:1.75rem;height:1.75rem;color:var(--step-fg);font-family:var(--step-font);font-size:var(--step-size);text-align:center;border-radius:50%;line-height:1.75rem}.progress{background:var(--ring-track);border-radius:3px;height:.375rem;overflow:hidden}.progress>span{background:var(--ok);height:100%;display:block}.shopping-items{margin:0;padding:0;list-style:none}.shopping-items li{border-bottom:1px solid var(--line)}.shopping-items li:last-child{border-bottom:none}.shopping-items .check{min-height:2.875rem}.shopping-items .flags{margin:0 0 .375rem 2.125rem}label.ticked{color:var(--text-muted);text-decoration:line-through}.recipe-list{margin:0;padding:0;list-style:none}.recipe-list .card{flex-direction:column;gap:.25rem;display:flex}.recipe-list .card a{font-family:var(--font-title);color:var(--text);font-size:1.15rem;text-decoration:none}.line{border-radius:var(--radius-control);background:var(--surface);gap:.25rem;padding:.75rem;display:grid}.line-amount{flex-wrap:wrap;gap:0 1rem;display:flex}.line .muted{margin:0}.suggestions{gap:.25rem;margin:.25rem 0;padding:0;list-style:none;display:grid}.suggestions button{justify-content:flex-start}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0 0;display:flex}input[type=file]{padding:.5rem}.recipe-hero{background:var(--surface)}.basket{gap:.5rem;display:grid}.basket-count{font-family:var(--font-title);margin:0;font-size:1.125rem}.shopping-section h3{margin-bottom:.25rem;font-size:1.125rem}.plan-form .card{margin:0}.two-up{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.625rem;display:grid}.two-up label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:0;font-size:.8125rem}.stepper{align-items:center;gap:.375rem;display:flex}.stepper input{text-align:center;width:3.5rem;font-family:var(--font-title);padding:0;font-size:1.25rem}.stepper .icon-button{background:var(--bg);font-size:1.25rem}.meal-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;display:grid}.meal-toggle{border-radius:var(--radius-card);min-height:4rem;font-family:var(--font-title);font-weight:var(--title-weight);cursor:pointer;align-items:center;gap:.625rem;margin:0;padding:.5rem .75rem;font-size:1.0625rem;display:flex;box-shadow:inset 0 0 0 2px #0000}.meal-toggle input{width:1.25rem;height:1.25rem;accent-color:var(--primary);margin:0}.meal-toggle:has(input:checked){box-shadow:inset 0 0 0 3px var(--primary)}.meal-toggle:not(:has(input:checked)){background:var(--surface);color:var(--text-muted)}.meal-toggle:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.meal-toggle .meal-icon{width:2.25rem;height:2.25rem}.settings{gap:.5rem;display:grid}.setting-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.setting-row label{margin:0;font-weight:400}.plan-form{gap:1rem;display:grid}.plan-form fieldset{margin:0}.centered{text-align:center;margin:0}section[aria-labelledby=saved-plans]{margin-top:1.75rem}.search{border-radius:var(--radius-pill);background:var(--surface);border-color:#0000;width:100%;padding:0 1.125rem}.filters{margin:.75rem 0}.import{box-shadow:inset 0 0 0 2px var(--line-strong);background:0 0;margin-top:1.5rem}.import label{font-family:var(--font-title);font-weight:var(--title-weight);margin-top:0;font-size:1.0625rem}.review h3{margin-bottom:.25rem;font-size:1.375rem}.line+.line{margin-top:.625rem}.line legend{font-family:var(--font-title);font-weight:var(--title-weight)}.recipe-hero .tag,.recipe-hero .share{background:var(--bg)}.link-card{color:var(--text);flex-direction:column;gap:.25rem;text-decoration:none;display:flex}.link-card-title{font-family:var(--font-title);font-weight:var(--title-weight);font-size:1.25rem}.link-card-title:after{content:" ›"}.choice-group+.choice-group{margin-top:1rem}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;display:grid}.choice{border-radius:var(--radius-control);background:var(--bg);cursor:pointer;align-items:center;gap:.625rem;min-height:3.25rem;margin:0;padding:.5rem .75rem;font-weight:600;display:flex}.choice input{width:1.125rem;height:1.125rem;accent-color:var(--primary);margin:0}.choice:has(input:checked){box-shadow:inset 0 0 0 2px var(--primary)}.choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.theme-preview{gap:.125rem;display:inline-flex}.theme-preview span{border-radius:.25rem;width:.75rem;height:1.25rem}.preview-colore span:first-child{background:#ffc93c}.preview-colore span:nth-child(2){background:#ff8466}.preview-colore span:nth-child(3){background:#4b3fcf}.preview-chaleureux span:first-child{background:#d9a43a}.preview-chaleureux span:nth-child(2){background:#c0623f}.preview-chaleureux span:nth-child(3){background:#5e6b3a}.brand{display:none}.week{padding-bottom:.25rem;overflow-x:auto}.week-grid{gap:.625rem;display:grid}.day-head{border-radius:var(--radius-card);background:var(--surface);min-height:0;color:var(--text);flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;font-weight:400;display:flex}.day-head .day-title{font-family:var(--font-title);font-weight:var(--title-weight);font-size:1.0625rem}.day-head .kcal{font-size:.8125rem;font-weight:700}.day-head.gap{box-shadow:inset 0 0 0 2px var(--gap)}.day-head.today{background:var(--primary);color:var(--on-primary)}.day-head.today .ring text{fill:var(--on-primary)}.day-head.today .ring .track{stroke:var(--text-muted)}.week-cell{display:flex}.week-cell .meal-card{flex:1;margin:0}.meal-card.compact{border-radius:1.125rem;padding:.75rem}.meal-card.compact h3{font-size:1rem}.meal-card.compact .slot-label{font-size:.6875rem}.meal-card.compact .parts,.meal-card.compact .meta{font-size:.8125rem}@media (width>=64rem){.app{max-width:90rem}main{padding:1.5rem 2.5rem 2.5rem}.tab-bar{border-radius:0;order:-1;align-items:center;gap:.375rem;width:auto;padding:.75rem 2.5rem;display:flex;position:static;transform:none}.tab-bar a{min-height:var(--tap);border-radius:var(--radius-pill);flex-direction:row;gap:.5rem;padding:0 1.125rem;font-size:.9375rem}.brand{color:var(--on-primary);font-family:var(--font-title);font-weight:var(--title-weight);margin-right:1.5rem;font-size:1.375rem;display:block}}.meal-card .meal-more{background:0 0;margin:-.375rem -.5rem 0 auto;position:relative}.meal-card.compact .meal-more{width:2.25rem;height:2.25rem;margin:-.375rem -.375rem 0 auto}.meal-card .tag svg{flex:none}.meal-card .tag-pinned{background:var(--primary);color:var(--on-primary)}.meal-actions{flex-direction:column;gap:1rem;display:flex}.action-list{flex-direction:column;gap:.5rem;display:flex}.action{background:var(--surface);min-height:3.75rem;color:var(--text);text-align:left;border-radius:1rem;justify-content:flex-start;align-items:center;gap:.75rem;padding:.625rem .875rem;font-weight:400;text-decoration:none;display:flex}.action[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--primary)}.action-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.action-icon.tone-pin{background:var(--dinner-bg);color:var(--dinner-label)}.action-icon.tone-replace{background:var(--lunch-bg);color:var(--lunch-label)}.action-icon.tone-choose{background:var(--breakfast-bg);color:var(--breakfast-label)}.action-text{flex-direction:column;gap:.0625rem;display:flex}.action-title{font-weight:700}.action-hint{color:var(--text-muted);font-size:.875rem}.part-list{flex-direction:column;gap:.5rem;display:flex}.part-list-title{text-transform:uppercase;letter-spacing:.08em;margin:0}.part-link{background:var(--surface);min-height:3rem;box-shadow:inset 0 0 0 1px var(--line);color:var(--text);border-radius:.875rem;justify-content:space-between;align-items:center;gap:.625rem;padding:.5rem .875rem;font-weight:600;text-decoration:none;display:flex}.note{background:var(--notice-bg);color:var(--notice-text);border-radius:.875rem;align-items:flex-start;gap:.5rem;margin:0 0 1rem;padding:.625rem .75rem;font-size:.875rem;line-height:1.4;display:flex}.meal-actions .note{margin:0}.note-icon{flex:none;margin-top:.15rem;display:flex}.dialog-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.servings{font-family:var(--font-body);color:var(--text-muted);font-size:.875rem}.meal-hero .hint{margin:0}.search-label{flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:700;display:flex}.choice-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.choice{background:var(--surface);width:100%;min-height:4rem;color:var(--text);text-align:left;border-radius:1rem;justify-content:flex-start;gap:.75rem;padding:.625rem .875rem;font-weight:400}.choice-text{flex-direction:column;flex:1;gap:.125rem;display:flex}.choice-title{font-family:var(--font-title);font-weight:var(--title-weight);font-size:1.0625rem}.tag.tag-restricted{background:var(--restricted);color:#fff}.meal-card.meal-restricted{box-shadow:inset 0 0 0 2px var(--restricted)}.restricted-notice{border-radius:var(--radius-control);background:var(--restricted-soft);color:var(--text);align-items:flex-start;gap:.625rem;margin:0 0 .75rem;padding:.75rem .875rem;display:flex}.restricted-icon{color:var(--restricted);flex:none;margin-top:.125rem;display:flex}.confirm-restricted{flex-direction:column;gap:.5rem;display:flex}.confirm-restricted p{margin:0}.confirm-icon{background:var(--restricted-soft);width:2.75rem;height:2.75rem;color:var(--restricted);border-radius:50%;justify-content:center;align-items:center;display:flex}button.danger{color:var(--restricted-text);box-shadow:inset 0 0 0 2px var(--restricted);background:0 0}.restriction-group{border:none;border-top:1px solid var(--line-strong);flex-direction:column;gap:.625rem;margin:0;padding:1rem 0 0;display:flex}.restriction-group legend{float:left;width:100%;padding:0}.restriction-title{margin:0;font-size:1.3rem}.restriction-group .hint{color:var(--text-muted);margin:0}.toggle-chips{clear:both;flex-wrap:wrap;gap:.5rem;display:flex}.toggle-chip{min-height:var(--tap);border-radius:var(--radius-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--text);font:inherit;border:none;align-items:center;gap:.3rem;padding:0 .875rem;font-weight:600;display:inline-flex}.toggle-chip[aria-pressed=true]{background:var(--primary);color:var(--on-primary);box-shadow:none;font-weight:700}.limits{flex-direction:column;gap:1rem;display:flex}.limits-title{margin:0}.chip-choice{border:none;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.chip-choice legend{margin-bottom:.25rem;padding:0;font-weight:700}.chip-choice .hint{color:var(--text-muted);margin:-.25rem 0 0;font-size:.875rem}.chip-radio input{opacity:0;width:1px;height:1px;position:absolute}.chip-radio span{min-height:var(--tap);border-radius:var(--radius-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;align-items:center;gap:.3rem;padding:0 .875rem;font-weight:600;display:inline-flex}.chip-radio input:checked+span{background:var(--primary);color:var(--on-primary);box-shadow:none;font-weight:700}.chip-radio input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.limits-note{border-radius:var(--radius-control);background:var(--ok-soft);color:var(--ok-text);margin:0;padding:.625rem .75rem;font-size:.875rem}.collapsible{margin-top:.75rem}.collapsible-heading{margin:0;font-size:1rem}.collapsible-toggle{width:100%;min-height:var(--tap);border-radius:var(--radius-control);background:var(--surface);color:var(--text);box-shadow:none;justify-content:space-between;align-items:center;padding:0 .875rem;font-weight:700;display:flex}.chevron{transition:transform .15s;display:flex;transform:rotate(90deg)}.chevron.open{transform:rotate(-90deg)}.row-link{border-radius:var(--radius-control);background:var(--surface);width:100%;min-height:3rem;color:var(--text);box-shadow:none;justify-content:space-between;align-items:center;margin-top:.75rem;padding:0 1rem;font-weight:700;display:flex}.micronutrients{padding:.25rem .125rem 0}.micronutrients>p{margin:.5rem 0 0}.micro-group{margin:.875rem 0 .125rem}.micro-bars{margin:0;padding:0;list-style:none}.micro-bars li{border-bottom:1px solid var(--line);padding:.4rem 0}.micro-line{align-items:center;gap:.5rem;display:flex}.micro-name{flex-wrap:wrap;flex:1;align-items:center;gap:.375rem;display:flex}.micro-percent{font-variant-numeric:tabular-nums;font-weight:700}.micro-bar{background:var(--ring-track);border-radius:3px;height:6px;margin-top:.25rem;display:block;overflow:hidden}.micro-bar-fill{background:var(--accent);border-radius:3px;height:100%;display:block}.micro-missing{color:var(--text-muted);margin-top:.25rem;font-size:.8125rem;display:block}.tag.tag-gap-data{background:var(--notice-bg);color:var(--notice-text);font-size:.6875rem}.micro-note{border-radius:var(--radius-control);background:var(--notice-bg);color:var(--notice-text);padding:.625rem .75rem;font-size:.875rem}.micro-amounts{grid-template-columns:1fr 1fr;column-gap:1rem;margin:0;display:grid}.micro-amount{border-bottom:1px solid var(--line);justify-content:space-between;gap:.375rem;padding:.375rem 0;font-size:.875rem;display:flex}.micro-amounts dt{margin:0}.micro-amounts dd{white-space:nowrap;margin:0;font-weight:700}.micro-meal{margin-top:.5rem}@media (prefers-reduced-motion:reduce){.chevron{transition:none}}.offline-notice{background:var(--notice-bg);color:var(--notice-text);align-items:flex-start;gap:.625rem;margin:0;padding:.625rem 1rem;font-size:.875rem;display:flex}.offline-icon{flex:none;display:flex}.plan-cards{flex-direction:column;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.plan-card{border-radius:var(--radius-card);background:var(--surface);color:var(--text);align-items:center;gap:.75rem;padding:.75rem .875rem;text-decoration:none;display:flex}.plan-card.unavailable{opacity:.6}.plan-card-text{flex-direction:column;flex:1;align-items:flex-start;gap:.2rem;display:flex}.plan-card-title{font-family:var(--font-title);font-weight:var(--title-weight);font-size:1.125rem}.tag.tag-device{background:var(--ok-soft);color:var(--ok-text)}.tag.tag-unavailable{background:var(--bg);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--line-strong)}.offline-error{align-items:flex-start;gap:.5rem;display:flex}
