#darkToggle{display: none !important}
html{color-scheme: light;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%}
body{background: var(--paper);
color: var(--ink)}
:where(a, button, input, select, textarea, summary, [role="button"], [role="tab"], [tabindex]):focus-visible{outline: 3px solid color-mix(in oklch, var(--brand) 72%, var(--ink));
outline-offset: 3px;
box-shadow: none}
:where(button, .btn-main, .btn-sec, input, select, textarea){font-family: var(--font-body, "Commissioner", system-ui, sans-serif)}
:where(.btn-main, .btn-sec, button:not(.chk):not(.info-pop)){min-height: 44px;
display: inline-flex;
align-items: center;
justify-content: center}
:where(.compte-jump a){min-height: 44px;
display: inline-flex;
align-items: center}
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea){min-height: 46px;
font-size: 16px;
line-height: 1.35}
:where(.page-masthead-meta, .page-masthead-eyebrow, .dash-section-eyebrow,
.dash-stat-eyebrow, .recipe-price-tag, .recipe-nutri-lbl, .recipe-startat,
.recipe-ing-qty, .ing-history, .recette-cuisiner-note, .recipe-enrichir-note,
.cuisine-eyebrow, .cuisine-step-counter, .cuisson-note-counter,
.scan-card-eyebrow, .scan-card-meta, .scan-status, .scan-hint,
.rap-eyebrow-sm, .rap-eyebrow-md, .rap-spark-eyebrow, .rap-text-muted,
.profil-toggle-help, .profil-exclus-hint, .profil-ville-hint,
.profil-ville-confirm, .profil-radio-desc, .abo-section-lede,
.tarif-badge, .tarif-trial, .tarif-current, .tarif-name-suffix,
.cph-tile-meta, .app-footer-trust, .app-footer-links, .app-footer-copy){font-size: 13px !important;
line-height: 1.45}
.page-masthead{max-width: 900px;
margin-bottom: clamp(28px, 5vw, 48px)}
.page-masthead-title{text-wrap: balance}
.page-masthead-lede{max-width: 62ch;
color: var(--ink-soft)}
.card,
.dash-section,
.recipe-panel,
.lp,
.onb-card,
.scan-card,
.tarif,
.auth-testimonial,
.contact-form,
.contact-editorial-form-card,
.letter{box-shadow: none !important}
.sidebar,
.topbar,
.mobile-tabbar,
.composer-bar,
.composer-sheet-panel{background: var(--paper-sheet)}
.sidebar{border-right-color: var(--border2)}
.logo-sub{letter-spacing: .02em;
text-transform: none}
.weather-strip{background: transparent;
border-top: 1px solid var(--border2);
border-bottom: 1px solid var(--border2);
border-radius: 0}
.w-ai{font-size: 13px !important;
line-height: 1.45}
.nav .ni,
.nav-group-toggle{min-height: 44px;
display: flex;
align-items: center}
.nav .ni.on{background: transparent;
color: var(--brand-dark);
font-weight: 700}
.nav .ni.on::before{content: "";
width: 5px;
height: 5px;
border-radius: 50%;
background: var(--brand);
margin-right: 8px;
flex: 0 0 auto}
.nav .ni.on .nico{display: none}
.topbar{border-bottom-color: var(--border2)}
.live-pill{border-radius: 999px;
box-shadow: none}
.mobile-tabbar{box-shadow: 0 -1px 0 var(--border2) !important;
backdrop-filter: none !important}
.mtab{min-height: 56px !important;
font-size: 13px !important}
.mtab.on{background: transparent !important}
.composer-bar{border: 1px solid var(--border2);
box-shadow: 0 3px 12px oklch(0.22 0.016 75 / .08) !important}
.composer-sheet-panel{box-shadow: 0 -8px 28px oklch(0.22 0.016 75 / .12) !important}
.composer-suggestion{min-height: 44px;
border-radius: 0;
border: 0;
border-bottom: 1px solid var(--border2);
background: transparent;
text-align: left}
.dash-hero,
.dash-section,
.pantry-urgence{border-color: var(--border2)}
.dash-hero{background: transparent}
.dash-hero-ring-pct,
.dash-stat-value,
.rap-stat-num-xl,
.rap-stat-num-lg,
.rap-stat-num{font-variant-numeric: tabular-nums}
.pantry-urgence{background: var(--accent-tint);
box-shadow: none}
.pantry-time{min-height: 60px;
box-shadow: none}
.pantry-time-active{background: var(--paper-sheet);
border-color: var(--brand)}
.pantry-group-title,
.pantry-legend-item{font-size: 13px !important}
.menu-day-strip,
.menu-day-card,
.menu-recipe-cover{box-shadow: none !important}
.menu-day-card{border-color: var(--border2)}
.menu-day-card.is-active,
.menu-day-card.on{background: var(--accent-tint);
border-color: var(--brand)}
.recipe-tag-pill,
.recipe-chip,
.recipe-acc-pill,
.pantry-tag,
.expire-tag,
.si-pct{border-radius: 999px;
box-shadow: none}
.recipe-layout{gap: clamp(28px, 5vw, 56px)}
.recipe-panel{border: 1px solid var(--border2);
background: var(--paper-sheet)}
.recipe-cover-detail{box-shadow: none}
.recipe-title{font-family: var(--font-display);
font-size: clamp(30px, 4vw, 46px);
line-height: 1.04;
font-weight: 400;
letter-spacing: -.025em}
.rmeta{display: flex;
flex-wrap: wrap;
gap: 0;
padding: 16px 0;
border-top: 1px solid var(--border2);
border-bottom: 1px solid var(--border2)}
.rmeta + .rmeta{border-top: 0;
padding-top: 0}
.rm{min-height: 44px;
display: inline-flex;
align-items: center;
padding: 8px 16px;
border-right: 1px solid var(--border2);
font-size: 15px}
.rm:first-child{padding-left: 0}
.rm:last-child{border-right: 0}
.rm-portion-btn{min-width: 38px;
min-height: 38px !important}
.recipe-startat,
.recipe-description{max-width: 66ch}
.recipe-tags-row{gap: 8px}
.recipe-tag-pill{background: transparent !important;
border: 0 !important;
padding-left: 0 !important;
padding-right: 0 !important;
color: var(--brand-dark) !important}
.recipe-tag-pill + .recipe-tag-pill::before{content: "·";
color: var(--ink-muted);
margin-right: 8px}
.recipe-section-head,
.recipe-instructions-head,
.recipe-section-h{margin-top: 32px;
padding-top: 20px;
border-top: 1px solid var(--border2)}
.ing-row{min-height: 58px;
border-bottom-color: var(--border2)}
.recipe-tip-card{background: transparent !important;
border: 0 !important;
padding: 0 !important}
.recipe-tip-list li,
.recipe-sub-row{padding-top: 12px;
padding-bottom: 12px;
border-bottom: 1px solid var(--border2)}
.recipe-nutri-grid{border-top: 1px solid var(--border2);
border-bottom: 1px solid var(--border2)}
.recipe-nutri-cell{background: transparent !important;
border-radius: 0 !important;
box-shadow: none !important}
.recipe-nutri-num{font-family: var(--font-display);
font-weight: 400}
.lp{border: 0;
border-top: 1px solid var(--ink);
border-radius: 0;
background: transparent}
.cuisine-shell{max-width: 900px;
margin-inline: auto}
.cuisine-header{padding-bottom: 16px;
border-bottom: 1px solid var(--border2)}
.cuisine-step{min-height: min(46vh, 440px);
border: 0 !important;
border-bottom: 1px solid var(--border2) !important;
border-radius: 0 !important;
background: transparent !important;
box-shadow: none !important;
padding-inline: clamp(0px, 2vw, 18px)}
.cuisine-step-num{font-family: var(--font-display);
font-size: clamp(48px, 8vw, 78px);
color: var(--brand-dark);
background: transparent !important;
border: 0 !important}
.cuisine-step-text{font-size: clamp(23px, 3.3vw, 34px);
line-height: 1.38;
max-width: 32ch;
text-wrap: pretty}
.cuisine-progress{height: 3px;
background: var(--paper-deep)}
.cuisine-timer{box-shadow: none !important;
background: var(--accent-tint);
border: 1px solid var(--border2)}
.cuisine-timer-display{font-family: var(--font-display);
font-variant-numeric: tabular-nums}
.cuisine-nav{gap: 12px}
.cuisine-nav .btn-main,
.cuisine-nav .btn-sec{min-height: 52px}
.cuisine-end{box-shadow: none !important;
border: 1px solid var(--border2);
background: var(--paper-sheet)}
.feedback-btn{min-width: 86px;
min-height: 64px !important;
box-shadow: none !important}
.scan-editorial,
.scan-wrapper{max-width: 820px}
.scan-editorial{background: transparent !important;
box-shadow: none !important;
border-top: 1px solid var(--ink);
border-bottom: 1px solid var(--border2);
border-radius: 0 !important;
padding-inline: 0 !important}
.scan-editorial-eyebrow,
.scan-editorial-note,
.scan-share-hint,
.scan-dropzone-text,
.scan-manual summary{font-size: 13px !important}
.scan-editorial-title{font-family: var(--font-display);
font-weight: 400;
text-wrap: balance}
.scan-editorial-form .btn-main{min-height: 52px}
.scan-dropzone{border-width: 1px !important;
border-color: var(--border2) !important;
background: var(--paper-sheet) !important;
box-shadow: none !important}
.scan-video-frame{border-radius: 18px;
box-shadow: none !important;
border: 1px solid var(--border2);
overflow: hidden}
.scan-status,
.scan-hint{backdrop-filter: none !important}
.scan-manual{margin-top: 16px;
border-top: 1px solid var(--border2);
border-bottom: 1px solid var(--border2)}
.scan-manual summary{min-height: 48px;
display: flex;
align-items: center;
cursor: pointer}
.scan-card{border: 1px solid var(--border2);
border-radius: 16px;
background: var(--paper-sheet)}
.scan-prix-row{min-height: 48px}
.scan-prix-flag{font-size: 13px !important}
.onb-cards{display: grid;
grid-template-columns: 1fr;
gap: 0 !important}
.onb-card{border: 0 !important;
border-bottom: 1px solid var(--border2) !important;
border-radius: 0 !important;
background: transparent !important;
padding-inline: 0 !important}
.onb-card-title{font-family: var(--font-display);
font-weight: 400;
font-size: 19px}
.rapport-tabs .dash-tabs-nav{overflow-x: auto;
scrollbar-width: none;
border-bottom: 1px solid var(--border2)}
.rapport-tabs .dash-tabs-nav::-webkit-scrollbar{display: none}
.rapport-tabs .dash-tab{min-height: 48px;
white-space: nowrap;
border-radius: 0;
background: transparent}
.rapport-tabs .dash-tab.is-active{color: var(--brand-dark);
border-bottom: 2px solid var(--brand);
background: transparent}
.rap-card--accent{border: 0 !important;
border-top: 1px solid var(--ink) !important;
border-bottom: 1px solid var(--border2) !important;
border-radius: 0 !important;
background: transparent !important;
padding-inline: 0 !important}
.rap-stat-num-xl{font-size: clamp(52px, 8vw, 86px) !important;
font-family: var(--font-display);
font-weight: 400;
letter-spacing: -.035em}
.rap-spark-card{border-radius: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
padding-inline: 0 !important}
.rapport-tabs .surveillance-stats{gap: 0 !important;
border-top: 1px solid var(--border2);
border-bottom: 1px solid var(--border2)}
.rapport-tabs .surveillance-stats > .card{border: 0 !important;
border-right: 1px solid var(--border2) !important;
border-radius: 0 !important}
.rapport-tabs .surveillance-stats > .card:last-child{border-right: 0 !important}
.profil-grid{gap: clamp(22px, 4vw, 40px)}
.profil-grid > .card{border-radius: 16px}
.profil-toggle-row{min-height: 52px;
border-bottom: 1px solid var(--border2);
border-radius: 0 !important;
padding: 8px 0 !important;
background: transparent !important}
.profil-toggle-cb{min-width: 22px;
min-height: 22px}
.profil-radio-row{display: grid;
grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
gap: 0 !important;
border-top: 1px solid var(--border2)}
.profil-ptag{min-height: 94px;
border: 0 !important;
border-bottom: 1px solid var(--border2) !important;
border-radius: 0 !important;
background: transparent !important;
box-shadow: none !important}
.profil-ptag.on{background: var(--accent-tint) !important}
.profil-advanced,
.profil-actions-more{border-top: 1px solid var(--border2);
border-bottom: 1px solid var(--border2)}
.profil-advanced-summary,
.profil-actions-more-summary{min-height: 52px}
.compte-pwa-hub .cph-tile{box-shadow: none !important}
.abo-section-title{margin-top: clamp(36px, 6vw, 64px);
font-family: var(--font-display);
font-weight: 400;
font-size: clamp(28px, 3.5vw, 42px);
line-height: 1.08;
letter-spacing: -.02em}
.abo-section-lede{max-width: 68ch;
color: var(--ink-soft);
font-size: 16px !important}
.abo-plans{gap: clamp(18px, 3vw, 30px)}
.tarif{border: 1px solid var(--border2);
border-radius: 16px;
background: var(--paper-sheet);
transform: none !important}
.tarif-featured{border: 1.5px solid var(--brand) !important}
.tarif-badge{position: static !important;
transform: none !important;
display: inline-block;
width: fit-content;
margin-bottom: 16px;
padding: 0 !important;
border-radius: 0 !important;
background: transparent !important;
color: var(--brand-dark) !important;
letter-spacing: .08em !important}
.tarif-head{border-bottom-color: var(--border2)}
.tarif-features li{min-height: 44px}
.tarif-current{padding: 16px 0;
border-top: 1px solid var(--border2);
color: var(--brand-dark);
font-weight: 700}
.auth-page,
.auth-layout,
.auth-form-side{background: var(--paper) !important}
.auth-brand{background: var(--paper-soft) !important;
color: var(--ink) !important;
border-right: 1px solid var(--border2)}
.auth-brand::before,
.auth-brand::after{display: none !important}
.auth-logo,
.auth-logo strong,
.auth-brand-title,
.auth-brand-sub,
.auth-feature-title,
.auth-feature-desc,
.auth-testimonial,
.auth-testimonial p,
.auth-testimonial cite{color: var(--ink) !important}
.auth-brand-sub,
.auth-feature-desc,
.auth-testimonial cite{color: var(--ink-soft) !important}
.auth-features{border-top: 1px solid var(--border2)}
.auth-feature{min-height: 64px;
padding: 12px 0 !important;
border-bottom: 1px solid var(--border2)}
.auth-feature-icon{width: 34px !important;
height: 34px !important;
min-width: 34px;
border: 0 !important;
border-radius: 0 !important;
background: transparent !important;
box-shadow: none !important;
color: var(--brand-dark) !important}
.auth-testimonial{border: 0 !important;
border-top: 1px solid var(--ink) !important;
border-bottom: 1px solid var(--border2) !important;
border-radius: 0 !important;
padding: 24px 0 !important;
background: transparent !important}
.auth-form-wrap{max-width: 540px}
.auth-eyebrow,
.auth-sub,
.auth-footer,
.wiz-help,
.wiz-label-help,
.wiz-recap-label,
.wiz-recap-anchor,
.wiz-step-label,
.wiz-grocery-note,
.onb-intro,
.onb-skip-note{font-size: 13px !important;
line-height: 1.5}
.auth-form label,
.wiz-label,
.onb-field-label{font-size: 13px !important}
.wiz-progress{background: transparent !important;
border-bottom: 1px solid var(--border2)}
.wiz-progress-step{box-shadow: none !important}
.wiz-pills,
.wiz-grocery-grid,
.tag-cloud{gap: 8px !important}
.wiz-pill,
.wiz-grocery,
.ptag{min-height: 44px;
box-shadow: none !important}
.wiz-recap{border: 0 !important;
border-top: 1px solid var(--ink) !important;
border-bottom: 1px solid var(--border2) !important;
border-radius: 0 !important;
background: transparent !important;
padding-inline: 0 !important}
.onb-section{border-top: 1px solid var(--border2);
padding-top: 24px}
.onb-section + .onb-section{margin-top: 32px}
.onb-sticky-actions{background: var(--paper-sheet) !important;
border-top: 1px solid var(--border2);
box-shadow: none !important}
.site-nav,
.site-footer{background: var(--paper-sheet);
box-shadow: none !important}
.site-nav.scrolled{box-shadow: none !important}
.hero::before{display: none !important}
.mockup-budget,
.cta-banner{background: var(--accent-tint) !important}
.hero-editorial-eyebrow::after,
.tarifs-hero-eyebrow::after{background: var(--border) !important}
.receipt-hero{background-image: none !important}
:where(.masthead, .hero-editorial-eyebrow, .hero-editorial-cta .hero-note,
.hero-ticker-source, .calc-editorial-result-label, .calc-editorial-cta .hero-note,
.calc-editorial-source, .sources-label, .source-meta, .sources-note,
.letter-signature, .letter-signature em, .back-cover-note, .section-label,
.hero-note, .hero-stat-lbl, .mockup-status, .mockup-header p,
.mockup-budget-label, .mockup-budget-sub, .mockup-meal-detail,
.pull-attribution, .chapter-label, .stats-rule-eyebrow, .receipt-meta,
.receipt-footer, .receipt-head small, .receipt-line em, .toc-page,
.tarifs-hero-eyebrow, .tarif-trial, .tarifs-special-eyebrow,
.tarifs-special-meta, .tarifs-recevoir-eyebrow, .tarifs-trust,
.toc-aside-label, .toc-aside-link::before, .invite-eyebrow, .invite-field label,
.invite-hint, .invite-fineprint, .contact-editorial-label,
.contact-editorial-item-label, .contact-editorial-item-meta,
.contact-editorial-form-eyebrow, .contact-editorial-form label,
.home-hero-cta-note, .home-plan-tag, .home-plan-meta,
.feat-bonus-eyebrow, .feat-bonus-meta, .chapter-fineprint){font-size: 13px !important;
line-height: 1.45}
.masthead{min-height: 52px}
.hero-editorial-lede{font-size: clamp(17px, 1.4vw, 19px) !important}
.hero-ticker{font-size: 16px}
.stats-rule-item{box-shadow: none}
.stats-rule-eyebrow{letter-spacing: .09em !important}
.calc-editorial{box-shadow: none !important;
border-radius: 16px}
.letter{border-radius: 4px;
transform: none !important}
.source:hover,
.toc-entry:hover,
.letter:hover{transform: none !important}
.tarifs-special-grid,
.tarifs-recevoir-inner,
.home-plan,
.feat-bonus-card,
.invite-card{box-shadow: none !important}
.error-page{min-height: 100dvh;
display: flex;
align-items: center;
justify-content: center;
padding: calc(28px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(22px + env(safe-area-inset-left));
background: var(--paper)}
.error-shell{width: min(100%, 680px)}
.error-brand{margin-bottom: 32px;
font-family: var(--font-display);
font-size: 23px;
color: var(--ink)}
.error-rule{border-top: 1px solid var(--ink);
padding-top: 24px}
.error-eyebrow,
.error-quiet{font-size: 13px;
line-height: 1.45;
color: var(--ink-muted)}
.error-code{margin: 8px 0 2px;
font-family: var(--font-display);
font-size: clamp(64px, 16vw, 112px);
line-height: .9;
letter-spacing: -.05em;
color: var(--brand-dark)}
.error-title{margin: 16px 0 12px;
max-width: 20ch;
font-family: var(--font-display);
font-size: clamp(30px, 6vw, 46px);
line-height: 1.05;
font-weight: 400}
.error-copy{max-width: 52ch;
font-size: 16px;
line-height: 1.65;
color: var(--ink-soft)}
.error-actions{display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 28px}
.error-quiet{margin-top: 32px}
@media (max-width: 1024px){.content{--gouttiere: clamp(20px, 4vw, 36px);
padding-left: var(--gouttiere);
padding-right: var(--gouttiere)}
.recipe-layout{grid-template-columns: minmax(0, 1fr)}
.recipe-layout > div:last-child{max-width: none}
}
@media (max-width: 900px){.page-masthead{margin-bottom: 28px}
.page-masthead-title{line-height: 1.02}
.page-masthead-meta{flex-wrap: wrap;
row-gap: 8px}
.auth-brand{display: none !important}
.auth-form-side{padding-inline: max(20px, env(safe-area-inset-left)) !important}
.masthead{font-size: 13px !important;
letter-spacing: .08em !important}
.hero-editorial-eyebrow{font-size: 13px !important}
.hero-editorial-lede{font-size: 16px !important}
.stats-rule-eyebrow{font-size: 13px !important}
.stats-rule-value{font-size: clamp(30px, 8vw, 42px) !important}
.chapter-label{font-size: 13px !important}
}
@media (max-width: 768px){:where(.content, .section, .hero-editorial, .chapter, .sources,
.letters-inner, .back-cover, .tarifs-hero, .tarifs-plans,
.contact-editorial, .home-chapters, .home-pricing){padding-left: max(18px, env(safe-area-inset-left)) !important;
padding-right: max(18px, env(safe-area-inset-right)) !important}
.page-masthead-title{font-size: clamp(34px, 10.2vw, 48px)}
.page-masthead-lede{font-size: 16px !important}
.recipe-panel{border-left: 0;
border-right: 0;
border-radius: 0;
width: auto;
margin-inline: calc(var(--gouttiere, 16px) * -1)}
.recipe-body{padding-inline: 16px}
.rmeta{display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr))}
.rm,
.rm:first-child{padding: 8px 8px 8px 0;
border-right: 0;
border-bottom: 1px solid var(--border2)}
.rm:nth-last-child(-n+2){border-bottom: 0}
.recipe-ing-meta{max-width: 100%}
.cuisine-header{align-items: flex-start}
.cuisine-header-actions{flex-wrap: wrap;
justify-content: flex-end}
.cuisine-step{min-height: 44vh;
padding-top: 28px;
padding-bottom: 28px}
.cuisine-step-text{font-size: clamp(22px, 6vw, 29px)}
.cuisine-nav{position: sticky;
bottom: calc(66px + env(safe-area-inset-bottom));
z-index: 8;
padding: 8px 0;
background: var(--paper)}
.cuisine-nav > *{flex: 1}
.feedback-btn{min-width: 0;
flex: 1}
.scan-editorial,
.scan-wrapper{width: 100%}
.scan-editorial-form .btn-main,
.scan-actions .btn-main,
.scan-actions .btn-sec{width: 100%}
.scan-card-head{align-items: flex-start}
.rapport-tabs .surveillance-stats{grid-template-columns: 1fr !important}
.rapport-tabs .surveillance-stats > .card{border-right: 0 !important;
border-bottom: 1px solid var(--border2) !important}
.rapport-tabs .surveillance-stats > .card:last-child{border-bottom: 0 !important}
.profil-grid{grid-template-columns: 1fr !important}
.profil-radio-row{grid-template-columns: 1fr}
.abo-plans{grid-template-columns: 1fr !important}
.tarif{padding: 24px 20px !important}
.stats-rule{grid-template-columns: 1fr !important;
border-top: 1px solid var(--ink)}
.stats-rule-item,
.stats-rule-item:last-child{border-right: 0 !important;
border-bottom: 1px solid var(--border2) !important;
text-align: left !important;
padding: 16px 0 !important}
.stats-rule-item:last-child{border-bottom: 0 !important}
.stats-rule-value sub{display: inline !important;
margin-left: 8px !important}
.sources-list{grid-template-columns: 1fr !important}
.source{padding: 24px 0 !important;
border-left: 0 !important;
border-right: 0 !important}
.letters-stack{gap: 16px !important}
.letter{padding: 32px 24px 24px !important}
}
@media (max-width: 430px){.content{--gouttiere: max(16px, env(safe-area-inset-left));
padding-left: var(--gouttiere) !important;
padding-right: max(16px, env(safe-area-inset-right)) !important}
.page-masthead-title{font-size: clamp(32px, 10.5vw, 42px)}
.page-masthead-meta .page-masthead-sep{display: none}
.page-masthead-meta{gap: 4px 8px}
.mobile-tabbar .mtab{padding-inline: 2px !important}
.mobile-tabbar .mtab-label{font-size: 13px !important}
.composer-bar{left: 12px !important;
right: 12px !important;
transform: none !important}
.recipe-body{padding-inline: 16px}
.recipe-title{font-size: 30px}
.recipe-sub-row{grid-template-columns: 1fr !important;
gap: 4px !important}
.recipe-sub-arrow{display: none}
.cuisine-header-actions .cuisine-tts-label{display: none}
.cuisine-nav{gap: 8px}
.cuisine-nav .btn-main,
.cuisine-nav .btn-sec{padding-inline: 12px}
.scan-card-head{display: grid !important;
grid-template-columns: 72px minmax(0, 1fr);
gap: 16px}
.scan-card-image{width: 72px !important;
height: 72px !important}
.tarifs-toggle-option{min-width: 0 !important; padding-inline: 16px !important}
}
@media (max-width: 375px){.page-masthead-title{font-size: 38px}
.page-masthead-lede{font-size: 16px !important}
.rmeta{grid-template-columns: 1fr}
.rm,
.rm:nth-last-child(-n+2){border-bottom: 1px solid var(--border2)}
.rm:last-child{border-bottom: 0}
.cuisine-step-num{font-size: 54px}
.cuisine-step-text{font-size: 23px}
.cuisine-header-actions .btn-sec{padding-inline: 8px}
.hero-editorial-title{font-size: 38px !important}
.calc-editorial{padding: 24px 16px !important}
}
@media (max-width: 320px){.content{padding-left: max(14px, env(safe-area-inset-left)) !important;
padding-right: max(14px, env(safe-area-inset-right)) !important}
.page-masthead-title{font-size: 30px}
.mobile-tabbar .mtab-label{font-size: 13px !important}
.mobile-tabbar .mtab-icon{width: 21px !important; height: 21px !important}
.cuisine-nav .btn-main,
.cuisine-nav .btn-sec{font-size: 15px}
.hero-editorial-title{font-size: 38px !important}
.hero-editorial-lede{font-size: 16px !important}
}
@media (display-mode: standalone){.mobile-tabbar{padding-bottom: calc(6px + env(safe-area-inset-bottom)) !important}
.composer-sheet-panel{padding-bottom: env(safe-area-inset-bottom)}
}
@media (max-width: 900px){:where(.topbar, .nav .ni, .nav-group-toggle, .mtab, .cuisine-header,
.cuisine-nav, .scan-status, .profil-toggle-row, .tarif-head){height: auto !important}
}
@media (prefers-reduced-motion: reduce){*, *::before, *::after{scroll-behavior: auto !important;
transition-duration: .01ms !important;
animation-duration: .01ms !important;
animation-iteration-count: 1 !important}
}
.menu-day-today{display: inline-block;
margin-top: 8px;
padding: 2px 8px;
border-radius: 980px;
background: var(--accent-deep);
color: var(--cream-fixed);
font-family: var(--font-body);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
white-space: nowrap}
.menu-recipe-cover-stat-sub{display: block;
margin-top: 2px;
font-family: var(--font-body);
font-size: 13px;
font-weight: 500;
color: var(--ink-muted);
letter-spacing: 0;
text-transform: none}
.menu-why{margin: var(--space-lg) 0;
padding-top: var(--space-md);
border-top: 1px solid var(--border2)}
.menu-why-title{margin: 0 0 var(--space-sm);
font-family: var(--font-body);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ink-muted)}
.menu-why-list{display: grid;
gap: var(--space-xs);
margin: 0;
padding: 0;
list-style: none}
.menu-why-item{display: flex;
align-items: center;
gap: var(--space-sm);
font-size: 15px;
line-height: 1.4;
color: var(--ink)}
.menu-why-icon{flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 34px;
height: 34px;
border-radius: 50%;
background: var(--accent-tint);
color: var(--accent-deep)}
@media (min-width: 560px){.menu-why-list{grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))}
}
.menu-days{display: flex;
flex-wrap: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scroll-snap-type: x proximity;
padding-inline: 2px}
.menu-days > .menu-day{flex: 0 0 auto;
min-width: 62px;
scroll-snap-align: start}
.menu-days > .menu-day.is-today{min-width: 104px}
.menu-day-today{max-width: 100%;
overflow: hidden;
text-overflow: ellipsis}
.menu-recipe-cover-stat{flex-wrap: wrap}
.menu-recipe-cover-stat-sub{flex: 0 0 100%}
.menu-recipe-cover-stat--cout{flex: 0 0 100%;
margin-top: 4px;
padding-top: 8px;
border-top: 1px solid var(--border2)}
.page-masthead--compact .page-masthead-title{font-size: clamp(26px, 7.2vw, 34px) !important;
line-height: 1.08 !important;
text-wrap: balance}
.page-masthead--compact .page-masthead-lede{font-size: 15px !important;
line-height: 1.45;
margin-top: var(--space-2xs);
max-width: 46ch}
.page-masthead--compact{margin-bottom: var(--space-md)}
@media (max-width: 900px){.menu-recipe-cover-stats{display: flex !important;
flex-direction: row !important;
flex-wrap: wrap;
gap: var(--space-2xs);
padding-right: 0 !important;
border-right: 0 !important;
margin-bottom: var(--space-sm)}
.menu-recipe-cover-stat{flex: 1 1 auto;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0;
padding: 8px 12px;
border: 1px solid var(--border2);
border-radius: 12px;
background: var(--paper-soft)}
.menu-recipe-cover-stat-num{font-size: 19px !important;
line-height: 1.1}
.menu-recipe-cover-stat-unit{font-size: 12px !important;
letter-spacing: 0.04em !important;
color: var(--ink-muted)}
.menu-recipe-cover-stat--cout{flex: 1 1 auto;
margin-top: 0;
padding-top: 8px;
border-top: 1px solid var(--border2)}
.menu-recipe-cover-stat-sub{flex: none;
margin-top: 2px;
font-size: 12px}
}
.menu-recipe-cta{display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 52px;
font-size: 15px}
@media (max-width: 900px){.menu-recipe-cover--editorial::before{font-size: clamp(140px, 34vw, 200px) !important;
right: -12px !important;
bottom: -28px !important;
opacity: 0.05 !important}
}
.recipe-faits{margin: var(--space-sm) 0 var(--space-lg);
font-size: 15px;
line-height: 1.5;
color: var(--ink-soft)}
.recipe-faits strong{color: var(--ink);
font-weight: 700}
.recipe-faits span[aria-hidden]{color: var(--ink-fade);
margin: 0 4px}
.recipe-portions{display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: var(--space-md);
margin-bottom: var(--space-lg);
padding: var(--space-sm) 0;
border-top: 1px solid var(--border2);
border-bottom: 1px solid var(--border2)}
.recipe-portions .rm-portions{display: inline-flex;
align-items: center;
gap: var(--space-sm)}
.recipe-portions-val{font-size: 16px;
color: var(--ink);
min-width: 92px;
text-align: center}
.recipe-portions-cout{display: flex;
flex-direction: column;
align-items: flex-end;
line-height: 1.25}
.recipe-portions-cout-lbl{font-size: 12px;
color: var(--ink-muted);
letter-spacing: 0.04em}
.recipe-portions-cout strong{font-family: var(--font-display);
font-size: 19px;
font-weight: 400;
color: var(--ink);
font-variant-numeric: tabular-nums}
.dash-hero-vierge-texte{margin: var(--space-md) 0 var(--space-sm);
max-width: 46ch;
font-size: 16px;
line-height: 1.55;
color: var(--ink-soft)}
.dash-hero-vierge-texte strong{color: var(--ink);
font-weight: 700}
.prix-couverture{margin: var(--space-sm) 0 var(--space-lg);
max-width: 62ch;
font-size: 14px;
line-height: 1.6;
color: var(--ink-soft)}
.prix-couverture strong{color: var(--ink);
font-weight: 700}
.prix-couverture--complet{color: var(--brand-dark, var(--brand))}
.prix-couverture-marque{margin-right: 4px;
font-weight: 700}
.prix-couverture-lien{display: inline-flex;
align-items: center;
min-height: 44px;
margin-top: 2px;
color: var(--brand-dark, var(--brand));
font-weight: 600;
text-decoration: none}
.prix-couverture-lien:hover,
.prix-couverture-lien:focus-visible{text-decoration: underline}
@media (max-width: 620px){.menu-days{display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
gap: 4px;
overflow: visible;
padding-inline: 0}
.menu-days > .menu-day,
.menu-days > .menu-day.is-today{min-width: 0;
padding-inline: 2px}
.menu-day-head{align-items: center}
.menu-day-name,
.menu-day-date{text-align: center}
.menu-day-today{position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap}
.menu-days > .menu-day.is-today{position: relative}
.menu-days > .menu-day.is-today::after{content: "";
position: absolute;
bottom: 6px;
left: 50%;
transform: translateX(-50%);
width: 5px;
height: 5px;
border-radius: 50%;
background: var(--brand)}
.menu-days > .menu-day.is-today .menu-day-date{color: var(--brand-dark, var(--brand));
font-weight: 700}
.menu-day-recipe,
.menu-day-meta{display: none}
}
.menu-recipe-cover-stat--inconnu .menu-recipe-cover-stat-num{color: var(--ink-fade)}
.profil-rythme{margin: var(--space-md) 0 var(--space-lg)}
.profil-rythme > summary{min-height: 44px;
display: flex;
align-items: center;
gap: 6px;
cursor: pointer;
font-weight: 600}
.profil-rythme-hint{font-weight: 400;
color: var(--ink-muted)}
.profil-rythme-lede{margin: var(--space-sm) 0 var(--space-md);
max-width: 60ch;
font-size: 14px;
line-height: 1.55;
color: var(--ink-soft)}
.profil-rythme-grille{display: grid;
gap: 8px}
.profil-rythme-jour{display: grid;
grid-template-columns: 6.5rem 4.5rem 1fr;
align-items: center;
gap: 8px}
.profil-rythme-nom{font-size: 14px;
color: var(--ink-soft)}
.profil-rythme-jour select{min-height: 44px;
font-size: 15px}
@media (max-width: 420px){.profil-rythme-jour{grid-template-columns: 4.5rem 1fr;
grid-template-areas: "nom cv" "nom mn";
row-gap: 6px}
.profil-rythme-nom{grid-area: nom}
}
.recipe-entete{display: flex;
align-items: start;
gap: clamp(14px, 4vw, 28px);
width: 100%}
.recipe-entete .page-masthead-title{flex: 1 1 auto;
min-width: 0;
margin: 0;
font-size: clamp(24px, 6.2vw, 40px);
line-height: 1.06}
.recipe-photo{flex: 0 0 auto;
width: clamp(112px, 30vw, 176px);
margin: 0}
.recipe-photo img{display: block;
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
border-radius: 14px;
border: 1px solid var(--border2)}
.recipe-photo figcaption{margin-top: 6px;
font-size: 12px;
line-height: 1.35;
color: var(--ink-muted);
text-align: center}
@media (max-width: 340px){.recipe-entete{flex-direction: column}
.recipe-photo{width: 128px}
.recipe-photo figcaption{text-align: left}
}
.menu-list-group-head{display: flex;
align-items: baseline;
justify-content: space-between;
gap: 12px}
.menu-list-group-count{flex: 0 0 auto;
font-size: 13px;
font-weight: 600;
color: var(--brand-dark, var(--brand));
white-space: nowrap}
.cuisson-photo-wrap{margin: var(--space-md) 0}
.cuisson-photo-btn{display: inline-flex;
align-items: center;
gap: 8px;
min-height: 48px;
padding: 0 16px;
border: 1px solid color-mix(in oklch, var(--brand) 35%, var(--border2));
border-radius: 10px;
background: var(--paper-sheet);
color: var(--brand-dark, var(--brand));
font-weight: 600;
cursor: pointer}
.cuisson-photo-btn:hover,
.cuisson-photo-btn:focus-within{border-color: var(--brand)}
.cuisson-photo-apercu{display: block;
width: 100%;
max-width: 320px;
margin-top: 10px;
border-radius: 10px;
border: 1px solid var(--border2)}
.cuisson-photo-note{margin: 6px 0 0;
font-size: 13px;
color: var(--ink-muted)}
.vignette{--vignette-taille: 56px;
flex: 0 0 auto;
display: grid;
place-items: center;
width: var(--vignette-taille);
height: var(--vignette-taille);
border-radius: 10px;
overflow: hidden;
background: var(--paper-soft);
border: 1px solid var(--border2)}
.vignette--sm{--vignette-taille: 44px}
.vignette--md{--vignette-taille: 56px}
.vignette--lg{--vignette-taille: 84px}
.vignette img{width: 100%;
height: 100%;
object-fit: cover;
display: block}
.vignette--sans-photo{background: oklch(0.94 0.035 var(--vignette-teinte, 143));
border-color: oklch(0.88 0.045 var(--vignette-teinte, 143))}
.vignette-initiale{font-family: var(--font-display, serif);
font-size: calc(var(--vignette-taille) * 0.4);
line-height: 1;
color: oklch(0.42 0.07 var(--vignette-teinte, 143))}
.enseigne-badge{display: inline-flex;
align-items: center;
padding: 3px 9px;
border: 1px solid currentColor;
border-radius: 999px;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--ink-muted);
white-space: nowrap}
.enseigne-badge--maxi{color: oklch(0.5 0.14 255)}
.enseigne-badge--superc{color: oklch(0.5 0.15 25)}
.enseigne-badge--iga{color: oklch(0.52 0.17 25)}
.enseigne-badge--metro{color: oklch(0.5 0.13 145)}
.enseigne-badge--provigo{color: oklch(0.5 0.14 60)}
.enseigne-badge--adonis{color: oklch(0.52 0.12 70)}
.enseigne-badge--walmart{color: oklch(0.5 0.14 240)}
.enseigne-badge--costco{color: oklch(0.48 0.15 20)}
.produit-rangee{display: flex;
align-items: center;
gap: 12px;
min-height: 64px}
.produit-rangee-corps{flex: 1 1 auto;
min-width: 0}
.produit-rangee-nom{display: block;
font-weight: 600;
line-height: 1.3;
overflow-wrap: anywhere}
.produit-rangee-meta{display: flex;
align-items: center;
gap: 8px;
margin-top: 3px;
font-size: 13px;
color: var(--ink-muted)}
.produit-rangee-prix{flex: 0 0 auto;
text-align: right;
font-variant-numeric: tabular-nums}
.ing-row--vignette{display: grid;
grid-template-columns: auto minmax(0, 1fr);
grid-template-areas:
"vignette nom"
"vignette meta";
column-gap: 12px;
row-gap: 4px;
align-items: start;
padding: 12px 14px;
border: 1px solid var(--border2);
border-radius: 14px;
background: var(--paper-sheet);
box-shadow: 0 1px 2px oklch(0.22 0.016 75 / .04)}
.ing-row--vignette + .ing-row--vignette{margin-top: 8px}
.ing-row--vignette > .vignette{grid-area: vignette}
.ing-row--vignette > span:not(.vignette){grid-area: nom; min-width: 0}
.ing-row--vignette > .recipe-ing-meta{grid-area: meta}
.recipe-ing-list .ing-row--vignette{border-bottom: 1px solid var(--border2)}
.dash-deal.produit-rangee{padding: 12px 14px;
border: 1px solid var(--border2);
border-radius: 14px;
background: var(--paper-sheet);
box-shadow: 0 1px 2px oklch(0.22 0.016 75 / .04)}
.dash-deal.produit-rangee + .dash-deal.produit-rangee{margin-top: 10px}
.ing-row--vignette > span:first-of-type{flex: 1 1 auto;
min-width: 0}
.menu-list-carte{padding: 4px 14px 6px;
border: 1px solid var(--border2);
border-radius: 16px;
background: var(--paper-sheet);
box-shadow: 0 1px 2px oklch(0.22 0.016 75 / .04)}
.menu-list-carte + .menu-list-carte{margin-top: 12px}
.menu-list-group-head{display: flex;
align-items: center;
gap: 10px;
padding: 12px 0 10px;
border-bottom: 1px solid var(--border2)}
.menu-list-group-marque{flex: 0 0 auto;
display: grid;
place-items: center;
width: 34px;
height: 34px;
border-radius: 10px;
background: var(--accent-tint);
color: var(--brand-dark, var(--brand))}
.menu-list-group-title{flex: 1 1 auto;
min-width: 0;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--brand-dark, var(--brand))}
.menu-list-group-count{flex: 0 0 auto;
padding: 4px 10px;
border-radius: 999px;
background: var(--accent-tint);
font-size: 12px;
font-weight: 700;
color: var(--brand-dark, var(--brand));
white-space: nowrap}
.menu-list-carte .menu-list-item{padding: 12px 0;
border-bottom: 1px solid var(--border2)}
.menu-list-carte .menu-list-item:last-child{border-bottom: 0}
.dash-meal{padding: 12px 14px;
border: 1px solid var(--border2);
border-radius: 14px;
background: var(--paper-sheet);
box-shadow: 0 1px 2px oklch(0.22 0.016 75 / .04)}
.dash-meal + .dash-meal{margin-top: 10px}
.dash-meal-photo{flex: 0 0 auto;
display: block;
width: 56px;
height: 56px;
border-radius: 10px;
overflow: hidden;
border: 1px solid var(--border2)}
.dash-meal-photo img{width: 100%;
height: 100%;
object-fit: cover;
display: block}
.recipe-chip-meteo{position: static;
display: inline-flex;
align-items: center;
gap: 6px;
padding: 4px 12px;
background: var(--accent-tint);
color: var(--brand-dark, var(--brand));
font-size: 13px;
font-weight: 600;
border: 1px solid color-mix(in oklch, var(--brand) 22%, transparent)}
.ing-subst-btn{position: relative;
display: inline-grid;
place-items: center;
width: 26px;
height: 26px;
box-sizing: border-box;
padding: 0;
line-height: 0;
flex: 0 0 auto;
margin-left: 6px;
padding: 0;
border: 0;
border-radius: 999px;
background: var(--paper-soft);
color: var(--ink-muted);
text-decoration: none;
vertical-align: -6px;
cursor: pointer;
min-height: 0}
.ing-subst-btn::after{content: "";
position: absolute;
inset: -9px}
.ing-subst-btn:hover,
.ing-subst-btn:focus-visible{background: var(--accent-tint);
color: var(--brand-dark, var(--brand))}
.recipe-subst-aide{display: flex;
align-items: center;
flex-wrap: wrap;
gap: 4px;
margin: 0 0 var(--space-md);
font-size: 13px;
line-height: 1.5;
color: var(--ink-muted)}
.recipe-subst-aide-icone{color: var(--ink-soft);
vertical-align: -3px}
.ing-subst-btn.is-loading{color: var(--brand-dark, var(--brand));
background: var(--accent-tint)}
.ing-subst-btn.is-loading svg{animation: subst-tourne 900ms linear infinite}
@keyframes subst-tourne{to{transform: rotate(360deg)}
}
@media (prefers-reduced-motion: reduce){.ing-subst-btn.is-loading svg{animation: none; opacity: .5}
}
.app-footer-version{margin-left: 8px;
padding: 1px 7px;
border-radius: 999px;
background: var(--paper-soft);
color: var(--ink-fade);
font-size: 11px;
font-variant-numeric: tabular-nums;
letter-spacing: 0.02em}
.admin-refresh-form{display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
margin-top: var(--space-md)}
.admin-refresh-note{flex: 1 1 20ch;
font-size: 13px;
line-height: 1.45;
color: var(--ink-muted)}
@media (max-width: 900px){.content{padding-bottom: calc(136px + env(safe-area-inset-bottom)) !important}
}
