@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/nunito-latin-500-normal-EugFkASW.woff2)format("woff2"),url(/assets/nunito-latin-500-normal-B5klmw3Q.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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--petrole:#0e4e5c;--petrole-deep:#093a45;--eau:#9edbcf;--eau-soft:#ddf2ec;--corail:#ff6f61;--corail-soft:#ffe0d9;--noir:#121212;--on-dark:#fff;--bg:#f2ece3;--bg-deep:#e8dfd2;--surface:#fff;--surface-muted:#f7f3ed;--text:#121212;--text-muted:#5c5a56;--border:#e4dcd0;--primary:#121212;--primary-hover:#2b2b2b;--primary-soft:#ddf2ec;--on-primary:#fff;--accent:#2c8a7b;--accent-soft:#ddf2ec;--success:#0e4e5c;--success-soft:#ddf2ec;--warning:#ff6f61;--warning-soft:#ffe0d9;--danger:#e2574a;--danger-soft:#ffe0d9;--radius-sm:12px;--radius-md:20px;--radius-lg:28px;--shadow-card:0 2px 10px #1212120d;--font-display:"Nunito", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--sidebar-width:232px;--tabbar-height:68px;font-family:Nunito,ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-weight:500;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0f0f;--bg-deep:#181818;--surface:#1c1c1c;--surface-muted:#232323;--text:#f2ece3;--text-muted:#a8a39b;--border:#2c2c2c;--primary:#9edbcf;--primary-hover:#b8e6dd;--primary-soft:#1f3a36;--on-primary:#121212;--accent:#9edbcf;--accent-soft:#1f3a36;--success:#9edbcf;--success-soft:#1f3a36;--warning:#ff6f61;--warning-soft:#3a2320;--danger:#ff8a7e;--danger-soft:#3a2320;--shadow-card:none}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800}h2{font-size:1.65rem;line-height:1.15}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--eau);outline-offset:2px}.app{min-height:100vh}.app-main{max-width:900px;padding:1.1rem 1rem calc(var(--tabbar-height) + 2.5rem);margin:0 auto}.app-topbar{justify-content:space-between;align-items:center;max-width:900px;margin:0 auto;padding:.9rem 1rem 0;display:flex}.app-logo{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin:0;font-size:1.55rem;font-weight:900}.app-logo span{color:var(--corail)}.app-sidebar{display:none}.app-tabbar{z-index:40;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding:0 .5rem env(safe-area-inset-bottom);background:var(--noir);border-radius:24px 24px 0 0;grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.tab-item{color:#a8a39b;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:.68rem;font-weight:700;display:flex}.tab-item svg{width:22px;height:22px}.tab-item.active{color:var(--eau)}.tab-add{border:4px solid var(--bg);background:var(--corail);width:56px;height:56px;color:var(--noir);cursor:pointer;border-radius:50%;justify-self:center;place-items:center;margin-top:-30px;display:grid;box-shadow:0 8px 20px #ff6f6173}.tab-add svg{width:26px;height:26px}.sheet-backdrop{z-index:50;background:#12121273;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:520px;padding:.75rem 1rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:28px 28px 0 0}.sheet-handle{background:var(--border);border-radius:99px;width:40px;height:5px;margin:0 auto .9rem}.sheet h3{margin:0 .25rem .75rem;font-size:1.1rem}.sheet-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;display:grid}.sheet-link{text-align:left;color:var(--noir);background:var(--bg);cursor:pointer;border:none;border-radius:20px;flex-direction:column;gap:.35rem;padding:1rem;font-size:.95rem;font-weight:800;display:flex}.sheet-link svg{width:24px;height:24px}.sheet-grid.three{grid-template-columns:repeat(3,1fr)}.sheet-grid.three .sheet-link{text-align:center;align-items:center;padding:.9rem .5rem;font-size:.85rem}.sheet-link small{opacity:.72;font-size:.75rem;font-weight:600}.sheet-link.b-petrole{background:var(--petrole);color:var(--on-dark)}.sheet-link.b-eau{background:var(--eau)}.sheet-link.b-corail{background:var(--corail)}.sheet-link.active{outline:3px solid var(--noir)}@media (width>=900px){.app{grid-template-columns:var(--sidebar-width) 1fr;display:grid}.app-topbar,.app-tabbar{display:none}.app-sidebar{background:var(--noir);height:100vh;color:var(--on-dark);flex-direction:column;gap:.25rem;padding:1.6rem 1rem;display:flex;position:sticky;top:0}.app-sidebar .app-logo{color:var(--eau);margin:0 .75rem 1.5rem;font-size:1.8rem}.sidebar-add{background:var(--corail);color:var(--noir);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;margin:0 .25rem 1.25rem;padding:.7rem 1rem;font-size:.95rem;font-weight:800;display:flex}.sidebar-add svg{width:18px;height:18px}.sidebar-link{color:#bdb8b0;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.7rem;padding:.62rem .9rem;font-size:.95rem;font-weight:700;display:flex}.sidebar-link svg{flex:none;width:20px;height:20px}.sidebar-link:hover{color:var(--on-dark);background:#ffffff0f}.sidebar-link.active{background:var(--eau);color:var(--noir)}.sidebar-spacer{flex:1}.app-main{width:100%;max-width:1280px;padding:2rem 2.25rem 3rem}}.reference-manager{max-width:480px;margin-bottom:2rem}.reference-manager h3{margin-bottom:.5rem}.reference-filter-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;margin-bottom:.5rem;padding:.4rem .6rem}.reference-empty{color:var(--text-muted);justify-content:center;font-size:.85rem}.reference-item-list{flex-direction:column;gap:.3rem;max-height:360px;margin:0 0 .75rem;padding:0;list-style:none;display:flex;overflow-y:auto}.reference-item-list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.reference-item-list li span{flex:1}.reference-item-list li input{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:4px;flex:1;padding:.3rem .5rem}.reference-add-form{gap:.5rem;display:flex}.reference-add-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;flex:1;padding:.5rem .65rem}.reference-add-form button{border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);border:none;padding:.5rem 1rem}.reference-add-form button:hover{background:var(--primary-hover)}.journal-date-nav{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.journal-date-nav button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);white-space:nowrap;padding:.45rem .85rem}.journal-date-label{text-align:center;flex-direction:column;align-items:center;gap:.15rem;display:flex}.journal-date-label strong{text-transform:capitalize;font-family:var(--font-display)}.journal-date-picker{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.2rem .4rem;font-size:.8rem}.journal-meal-picker{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.journal-meal-picker select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.4rem .6rem}.journal-meal-group{margin-bottom:1rem}.journal-meal-header{justify-content:space-between;align-items:baseline;margin-bottom:.4rem;display:flex}.journal-meal-header h3{margin:0;font-size:1.05rem}.journal-meal-header span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.journal-meal-bilan{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0 0 .5rem;font-size:.78rem}.trend-chart{width:100%;max-width:400px;height:auto;margin:.75rem 0}.trend-chart-label{font-size:8px}.bilan-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1.25rem 1rem;display:flex}.bilan-hero-side{flex-direction:column;flex:1;align-items:center;display:flex}.bilan-hero-gap{border-left:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;align-items:center;padding:0 .5rem;display:flex}.bilan-hero-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.bilan-hero-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.bilan-hero-gap-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.bilan-hero-unit{color:var(--text-muted);font-size:.72rem}.bilan-hero-good .bilan-hero-gap-value{color:var(--success)}.bilan-hero-over .bilan-hero-gap-value{color:var(--danger)}.bilan-hero-under .bilan-hero-gap-value{color:var(--accent)}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1rem;padding:1.1rem}.summary-card h4{margin:0 0 .6rem;font-size:1rem}.water-actions{align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.beverage-breakdown{margin-top:.3rem}.beverage-add-row{border-top:1px solid var(--border);flex-wrap:wrap;gap:.4rem;margin-top:.6rem;padding-top:.6rem;display:flex}.beverage-add-row select,.beverage-add-row .ingredient-qty{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.4rem .5rem}.beverage-add-row .ingredient-qty{width:4rem}.bilan-stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin:1rem 0;display:grid}.bilan-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:.3rem;padding:.85rem 1rem;display:flex}.bilan-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.bilan-stat-value{font-family:var(--font-display);color:var(--primary);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.gap-chart-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1.25rem 0;display:grid}.gap-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:.85rem 1rem .6rem}.gap-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.4rem;display:flex}.gap-chart-title{font-size:.9rem;font-weight:600}.gap-chart-legend{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.7rem;display:flex}.gap-chart-legend-dot{border-radius:999px;width:8px;height:8px;margin-right:.15rem;display:inline-block}.gap-chart-legend-dot.over{background:var(--danger)}.gap-chart-legend-dot.under{background:var(--success);margin-left:.5rem}.gap-chart-svg{width:100%;height:120px;display:block;overflow:visible}.gap-chart-baseline{stroke:var(--border);stroke-width:1px}.gap-chart-line{fill:none;stroke:var(--text);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.gap-chart-area{stroke:none}.gap-chart-area.over{fill:var(--danger);opacity:.12}.gap-chart-area.under{fill:var(--success);opacity:.12}.gap-chart-dot{stroke:var(--surface);stroke-width:1px;transition:r .1s}.gap-chart-dot.over{fill:var(--danger)}.gap-chart-dot.under{fill:var(--success)}.gap-chart-dot.active{stroke-width:1.5px}.gap-chart-axis-label{fill:var(--text-muted);text-anchor:middle;font-size:3.5px}.gap-chart-tooltip{background:var(--surface-muted);border-radius:var(--radius-sm);margin-top:.4rem;padding:.35rem .6rem;font-size:.8rem;display:inline-block}.month-calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);max-width:400px;margin-bottom:1.25rem;padding:1rem}.month-calendar-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.month-calendar-header strong{text-transform:capitalize;font-family:var(--font-display)}.month-calendar-header button{color:var(--text);background:0 0;border:none;padding:.25rem .5rem;font-size:1rem}.month-calendar-grid{grid-template-columns:repeat(7,1fr);gap:.3rem;display:grid}.month-calendar-weekday{text-align:center;color:var(--text-muted);font-size:.7rem;font-weight:600}.month-calendar-day{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);font-variant-numeric:tabular-nums;font-size:.8rem}.month-calendar-day:disabled{opacity:.35}.month-calendar-day.today{border-color:var(--text);font-weight:700}.month-calendar-day.selected{outline:2px solid var(--primary);outline-offset:-2px}.month-calendar-day.cal-day-ok{background:var(--success-soft);color:var(--success)}.month-calendar-day.cal-day-under,.month-calendar-day.cal-day-over{background:var(--warning-soft);color:var(--warning)}.month-calendar-day.cal-day-far{background:var(--danger-soft);color:var(--danger)}.activity-summary-list{flex-direction:column;gap:.3rem;margin:.5rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.activity-summary-list li{background:var(--surface-muted);border-radius:var(--radius-sm);justify-content:space-between;gap:.5rem;padding:.35rem .5rem;display:flex}.gi-explainer{margin:.5rem 0}.gi-explainer summary{cursor:pointer;color:var(--text-muted);font-size:.85rem}.gi-appreciation{border-radius:999px;margin:.5rem 0 0;padding:.3rem .65rem;font-size:.85rem;font-weight:600;display:inline-block}.gi-appreciation.gi-very-low{background:var(--success-soft);color:var(--success)}.gi-appreciation.gi-low{background:var(--primary-soft);color:var(--primary)}.gi-appreciation.gi-moderate{background:var(--warning-soft);color:var(--warning)}.gi-appreciation.gi-high{background:var(--danger-soft);color:var(--danger)}.journal-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1.25rem;padding:1.25rem}.journal-summary-hero{margin-bottom:1rem}.journal-summary-value{font-family:var(--font-display);color:var(--primary);font-variant-numeric:tabular-nums;margin-right:.3rem;font-size:2rem;font-weight:700}.journal-summary-unit{color:var(--text-muted);font-size:.95rem}.meter-group{flex-direction:column;gap:.65rem;margin-bottom:.75rem;display:flex}.meter-row-header{justify-content:space-between;margin-bottom:.25rem;font-size:.85rem;display:flex}.meter-row-value{color:var(--text-muted);font-variant-numeric:tabular-nums}.meter-track{background:var(--surface-muted);border-radius:999px;height:8px;overflow:hidden}.meter-fill{border-radius:999px;height:100%;transition:width .2s}.meter-fill.meter-over{background:var(--warning)}.meter-fill.meter-far{background:var(--danger)}.bilan-line{font-variant-numeric:tabular-nums}.journal-micro-details summary{cursor:pointer;color:var(--text);margin-top:.5rem;font-weight:600}.journal-micro-group{margin-top:.75rem}.journal-micro-group h5{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 .35rem;font-size:.75rem;font-weight:600}.journal-micro-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.journal-micro-list li{background:var(--surface-muted);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;justify-content:space-between;padding:.3rem .5rem;display:flex}.journal-entry-list{flex-direction:column;gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.journal-entry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.journal-entry.activity-entry{flex-direction:column;align-items:stretch}.journal-entry-row{align-items:center;gap:.75rem;width:100%;display:flex}.manual-nutrition-toggle{margin-top:.4rem;font-size:.78rem}.manual-nutrition-form{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.manual-nutrition-title{margin:0 0 .2rem;font-size:.9rem;font-weight:600}.manual-nutrition-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin:.5rem 0;display:grid}.manual-nutrition-grid input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;width:100%;padding:.4rem .5rem}.manual-nutrition-actions{align-items:center;gap:.75rem;display:flex}.climbing-fields{grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:.75rem;display:grid}.climbing-fields select,.climbing-fields input{min-width:0}.feeling-scale{flex-direction:column;gap:.3rem;display:flex}.feeling-scale label{color:var(--text-muted);font-size:.78rem}.feeling-scale-buttons{gap:.3rem;display:flex}.feeling-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);flex:1;padding:.4rem 0;font-weight:600}.feeling-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.activity-detail-line{margin-top:.3rem}.session-exercises{margin-top:.4rem}.session-exercises-total{margin:.3rem 0 .5rem;font-weight:600}.session-exercises-body{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.session-exercises-list{flex-direction:column;gap:.3rem;margin:0 0 .5rem;padding:0;font-size:.85rem;list-style:none;display:flex}.session-exercises-list li{background:var(--surface-muted);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.3rem .5rem;display:flex}.session-exercises-form{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.session-exercises-form .searchable-select{flex:100%;min-width:0}.session-exercises-form select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.4rem .5rem}.session-exercises-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:4.5rem;color:var(--text);font:inherit;padding:.4rem .5rem}.journal-entry-main{flex-direction:column;flex:1;display:flex}.journal-entry-qty{color:var(--text-muted);font-size:.8rem}.journal-entry-qty.editable{cursor:pointer}.journal-entry-qty-edit{align-items:center;gap:.35rem;display:inline-flex}.journal-entry-qty-edit input{border:1px solid var(--border);background:var(--surface);width:4.5rem;color:var(--text);font:inherit;border-radius:4px;padding:.25rem .4rem}.journal-entry-kcal{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.85rem}.warning-icon{cursor:help}.endorsement{align-items:center;gap:.6rem;margin-top:1rem;display:flex}.endorsement button{border:1px solid var(--primary);background:var(--surface);color:var(--primary);border-radius:999px;padding:.45rem .9rem;font-weight:500}.endorsement button.endorsed{background:var(--primary);color:var(--on-primary)}.profile-section{max-width:560px}.profile-form{grid-template-columns:1fr 1fr;align-items:end;gap:.75rem;display:grid}.profile-form .field select,.profile-form .field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:.5rem .65rem}.sports-selected-list{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}:is(.profile-form .field:has(#profile-sport-select),.profile-form .field:has(#profile-climbing-route),.profile-form .field:has(#profile-climbing-boulder)){grid-column:1/-1}.profile-form button[type=submit]{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;grid-column:1/-1;justify-self:start;padding:.55rem 1.3rem}.profile-form button[type=submit]:hover{background:var(--primary-hover)}.profile-saved-hint{color:var(--success);align-self:center;font-size:.85rem}.profile-targets{background:var(--primary-soft);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:1rem;padding:.85rem 1.1rem}.profile-targets h4{margin:0 0 .4rem;font-size:1rem}.profile-targets ul{font-variant-numeric:tabular-nums;margin:0;padding-left:1.1rem}.journal-gi-badge{background:var(--primary-soft);color:var(--primary);white-space:nowrap;cursor:help;border-radius:999px;margin-left:.4rem;padding:.05rem .45rem;font-size:.72rem}.journal-gl-badge{background:var(--accent-soft);color:var(--accent)}.warning-icon.unavailable{color:var(--danger);font-weight:600}.warning-hint{color:var(--warning);background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius-sm);padding:.55rem .75rem}.auth-status{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);max-width:420px;margin-bottom:1.5rem;padding:1rem 1.1rem}.auth-status form{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.account-data{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:1rem;padding-top:1rem;display:flex}.auth-status button[type=submit]{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;align-self:flex-start;padding:.55rem 1.2rem}.journal-add-forms{flex-direction:column;gap:1.5rem;max-width:560px;display:flex}.journal-add-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.1rem}.journal-add-form h3{margin-top:0}.journal-add-row{grid-template-columns:1.4fr 4.5rem 1fr auto;align-items:center;gap:.4rem;margin-bottom:.75rem;display:grid}.journal-add-row-wrap{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.journal-ingredient-field{flex:160px;min-width:0}.journal-add-row-rest{flex:auto;align-items:center;gap:.4rem;display:flex}.journal-add-row-rest .ingredient-qty{flex:0 0 4.5rem}.journal-add-row-rest .searchable-select{flex:100px;min-width:0}.journal-add-row-rest .dictation-button{flex:none}.journal-quick-add{max-width:560px}.journal-quick-add .tag-filter{flex-wrap:wrap;gap:.4rem;display:flex}.journal-add-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;width:100%;padding:.5rem .6rem}.activity-form-actions{align-items:center;gap:.75rem;display:flex}.journal-add-form button[type=submit]{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;padding:.55rem 1.2rem}.journal-add-form button[type=submit]:hover{background:var(--primary-hover)}.library-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.button,button{font:inherit;cursor:pointer}a.button{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:.55rem 1.2rem;font-weight:500;text-decoration:none;display:inline-block}a.button:hover{background:var(--primary-hover)}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;margin-bottom:.75rem;padding:.55rem .8rem}.tag-filter{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.recipe-category-filters{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:1rem;display:flex}.recipe-category-filters .field{margin-bottom:0}.tag-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.3rem .75rem;font-size:.85rem}.tag-chip.selected{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.tag-chip.clear{color:var(--text-muted);border-style:dashed}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:inherit;padding:1.1rem;text-decoration:none;transition:transform .12s,box-shadow .12s;display:block}.card h3{margin:0 0 .2rem;font-size:1.05rem}.card-subtitle{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0 0 .5rem;font-size:.78rem}.card-photo{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:120px;margin-bottom:.5rem;display:block}.card-photo-sm{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:44px;height:44px}.detail-photo{object-fit:cover;border-radius:var(--radius-lg);width:100%;max-height:320px;margin:.75rem 0;display:block}.photo-preview{align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.photo-preview img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:120px;height:120px}.ingredient-list{margin:.5rem 0;padding-left:1.2rem}.ingredient-rows{flex-direction:column;gap:.5rem;display:flex}.ingredient-row{grid-template-columns:4.5rem 1fr 1.4fr auto;align-items:start;gap:.4rem;display:grid}.workout-exercise-row-wrap{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.4rem;padding-bottom:.5rem;display:flex}.workout-exercise-name-field{flex:100%;min-width:0}.workout-exercise-row-rest{flex-wrap:wrap;flex:auto;align-items:center;gap:.4rem;display:flex}.workout-exercise-row-rest .ingredient-qty{width:4.5rem}.workout-exercise-row-rest select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.5rem}.ingredient-qty{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;width:100%;padding:.5rem}.remove-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--danger);padding:.5rem .6rem}.add-row{border:1px dashed var(--text-muted);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);align-self:flex-start;margin-top:.5rem;padding:.4rem .8rem}.searchable-select{position:relative}.searchable-select-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;padding:0 .5rem;display:flex}.searchable-select-input .search-icon{opacity:.6;font-size:.8rem}.searchable-select-input input{color:var(--text);font:inherit;background:0 0;border:none;outline:none;width:100%;padding:.5rem .4rem}.searchable-select-options{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:220px;margin:.2rem 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 14px #201f1a1f}.searchable-select-options li button{text-align:left;width:100%;color:var(--text);font:inherit;background:0 0;border:none;border-radius:4px;padding:.4rem .5rem;display:block}.searchable-select-options li button:hover{background:var(--surface-muted)}.searchable-select-options li.add-new-option{border-top:1px solid var(--border);margin-top:.2rem;padding-top:.2rem}.searchable-select-options li.add-new-option button{color:var(--primary);font-weight:600}.searchable-select-suggestion{background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius-sm);margin-top:.35rem;padding:.5rem .6rem;font-size:.82rem}.searchable-select-suggestion-actions{gap:.75rem;margin-top:.35rem;display:flex}.searchable-select-suggestion-actions button{border:1px solid var(--warning);background:var(--surface);color:var(--text);border-radius:999px;padding:.25rem .65rem;font-size:.8rem}.searchable-select-suggestion-actions button.link-button{color:var(--text-muted);border:none;padding:.25rem 0}.tags{flex-wrap:wrap;gap:.3rem;margin:.5rem 0;display:flex}.tag{background:var(--surface-muted);color:var(--text);border-radius:999px;padding:.15rem .55rem;font-size:.75rem}.tag.muted{background:var(--accent-soft);color:var(--accent)}.empty{color:var(--text-muted)}.entry-form{flex-direction:column;gap:1rem;max-width:560px;display:flex}.field{flex-direction:column;gap:.3rem;display:flex}.field label{font-size:.9rem;font-weight:600}.field input,.field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;resize:vertical;padding:.5rem .65rem}.hint{color:var(--text-muted);margin:0;font-size:.78rem}.entry-form>button[type=submit]{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;align-self:flex-start;padding:.6rem 1.3rem}.entry-form>button[type=submit]:hover{background:var(--primary-hover)}.entry-form>button[type=submit]:disabled{opacity:.6}.link-button{color:var(--text-muted);background:0 0;border:none;margin-top:.5rem;padding:0;text-decoration:underline}.detail{max-width:640px}.back-link{color:var(--text-muted);font-size:.9rem;text-decoration:none}.preserve-lines{white-space:pre-wrap}.meta{color:var(--text-muted);font-size:.8rem}.actions{gap:.6rem;margin-top:1.5rem;display:flex}.actions button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.5rem 1.1rem}.actions button.danger{border-color:var(--danger);color:var(--danger)}.error{color:var(--danger)}.caption-import{background:var(--accent-soft);border-radius:var(--radius-md);padding:.85rem 1rem}.caption-import textarea{width:100%}.caption-import-actions{align-items:center;gap:.5rem;display:flex}.dictation-button{border:1px solid var(--border);background:var(--surface);border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;padding:0;font-size:1.1rem;display:flex}.dictation-button.listening{background:var(--danger-soft);border-color:var(--danger)}.ocr-photo-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:.85rem;display:inline-flex}.ocr-photo-button input[type=file]{display:none}.compare-goals{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;display:flex}.compare-label{font-weight:600}.compare-goals .tag-filter{margin:0}.compare-controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:.75rem;display:flex}.compare-controls .field{flex:12rem;min-width:0}.compare-controls .field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.5rem .65rem}.compare-controls .compare-grams{flex:0 0 6rem}.compare-controls button[type=submit]{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;padding:.55rem 1.2rem}.compare-controls button[type=submit]:disabled{opacity:.6}.compare-questions{margin-bottom:1rem}.compare-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow-x:auto}.compare-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.compare-table th,.compare-table td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:.5rem .6rem}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:none}.compare-table .compare-name-col{text-align:left;white-space:normal;background:var(--surface);min-width:10rem;font-weight:500;position:sticky;left:0}.compare-table tbody .compare-name-col{align-items:flex-start;gap:.35rem;display:flex}.compare-sort{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.compare-sort.active,.compare-table td.active{color:var(--primary);font-weight:600}.compare-pin{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1.2}.compare-best th,.compare-best td,.compare-table .compare-best .compare-name-col{background:var(--warning-soft)}.compare-status{color:var(--text-muted);text-align:left!important}.compare-usda{margin-top:2rem}.compare-usda-results{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.compare-usda-results li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.compare-usda-results li>div{flex-direction:column;gap:.15rem;min-width:0;display:flex}.journal-blocks{grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem;display:grid}@media (width>=700px){.journal-blocks{grid-template-columns:repeat(2,1fr);align-items:start;gap:1rem}.journal-blocks .block-calories{grid-column:1/-1}}@media (width>=1200px){.journal-blocks{grid-template-columns:repeat(3,1fr)}.journal-blocks .block-calories{grid-column:auto}}.block{border-radius:var(--radius-lg);min-width:0;padding:1.15rem 1.2rem}.block-label{letter-spacing:.02em;text-transform:uppercase;margin:0 0 .5rem;font-size:.8rem;font-weight:800}.block-number-line{flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;margin:0 0 .6rem;display:flex}.block-number{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2.75rem;font-weight:900;line-height:1}.block-caption{opacity:.8;font-size:.9rem;font-weight:700}.block-meta{opacity:.85;font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-size:.82rem;font-weight:600}.block-progress{background:#ffffff38;border-radius:999px;height:10px;margin-bottom:.25rem;overflow:hidden}.block-progress>div{background:var(--eau);border-radius:999px;height:100%}.b-petrole{background:var(--petrole);color:var(--on-dark)}.b-eau{background:var(--eau);color:var(--noir)}.b-corail{background:var(--corail);color:var(--noir)}.b-noir{background:var(--noir);color:var(--on-dark)}.b-blanc{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.b-petrole a,.b-noir a{color:var(--eau)}.b-eau a,.b-corail a{color:var(--noir);font-weight:700}.b-petrole .hint,.b-noir .hint{color:#ffffffbf}.b-eau .hint,.b-corail .hint{color:#121212b8}.b-eau .meter-row-value,.b-corail .meter-row-value{color:var(--noir);font-weight:700}.b-eau .meter-track,.b-corail .meter-track{background:#1212121f}.b-eau .gi-appreciation,.b-corail .gi-appreciation{color:var(--noir);font-weight:800}.b-eau .warning-hint,.b-corail .warning-hint{background:#ffffff8c}.b-corail .activity-summary-list li{border-color:#12121226}.b-corail .activity-summary-list .hint{color:var(--noir)}.meter-track{height:10px}.meter-fill.meter-ok{background:var(--petrole)}.meter-fill.meter-under{background:#0e4e5c73}.meter-fill.meter-over,.meter-fill.meter-far{background:var(--corail)}@media (prefers-color-scheme:dark){.b-blanc .meter-fill.meter-ok{background:var(--eau)}}.meter-row-header{font-weight:700}.warning-hint{color:var(--text);background:var(--warning-soft);border:none;border-left:4px solid var(--corail);border-radius:var(--radius-sm);padding:.65rem .85rem;font-weight:600}.error{color:var(--text);background:var(--danger-soft);border-left:4px solid var(--corail);border-radius:var(--radius-sm);padding:.55rem .8rem;font-weight:700}.journal-date-nav{background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;padding:.35rem}.journal-date-nav button{background:var(--bg);border:none;border-radius:999px;padding:.5rem .9rem;font-weight:700}.journal-date-label strong{font-size:1.05rem;font-weight:800}.journal-date-picker{color:var(--text-muted);background:0 0;border:none}.summary-card,.card,.journal-entry,.detail,.auth-status{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:none}.card{padding:1.1rem 1.2rem}.card h3{font-weight:800}.card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #1212121a}.library-header h2{margin:0}a.button,.entry-form>button[type=submit],.profile-form button[type=submit],.auth-status button[type=submit],.journal-add-form button[type=submit],.compare-controls button[type=submit]{border-radius:999px;font-weight:800}.tag-chip{box-shadow:var(--shadow-card);border-color:#0000;padding:.4rem .9rem;font-weight:700}.tag-chip.selected{box-shadow:none}.field input,.field textarea,.field select,.search-input{border-radius:var(--radius-sm);border:1.5px solid var(--border)}.field input:focus,.field textarea:focus,.field select:focus,.search-input:focus{border-color:var(--petrole);outline:none}.training-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-bottom:.6rem;display:flex}.training-header h2{margin:0}.section-tabs{gap:.4rem;display:flex}@media (width>=900px){.sheet-backdrop{align-items:center}.sheet{border-radius:28px;max-width:460px;padding-bottom:1.25rem}.sheet-handle{display:none}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}.actions button.primary{background:var(--corail);border-color:var(--corail);color:var(--noir);font-weight:800}@media (width<=480px){.date-nav-word{display:none}.journal-date-nav button{min-width:44px;padding:.5rem .75rem}}.journal-add-row.two-cols{grid-template-columns:1fr 1fr}@media (width<=480px){.journal-add-row.two-cols{grid-template-columns:1fr}}.journal-add-row input,.journal-add-row select,.journal-add-row .searchable-select-input{min-width:0}.water-actions button:not(.link-button),.beverage-add-row button{background:var(--eau);color:var(--noir);border:none;border-radius:999px;padding:.5rem 1rem;font-weight:800}.beverage-add-row{align-items:center}.feeling-btn{min-width:36px;min-height:36px}.journal-add-row>button:not(.link-button):not(.remove-row){background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;padding:.55rem 1rem;font-weight:800}.journal-add-row>button:disabled{opacity:.5}.field .searchable-select-input input,.searchable-select-input input{box-shadow:none;border:none}.searchable-select-input:focus-within{border-color:var(--petrole)}.recipe-category-filters select,.journal-meal-picker select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.45rem .7rem;font-weight:700}.training-header+.hint{margin-bottom:.75rem}.omega-ratio{margin:0 0 .5rem;font-size:.9rem;font-weight:600}.met-field{align-items:center;gap:.4rem;display:flex}.met-field input{width:100%;min-width:0}.exercise-amount{flex-direction:column;gap:.45rem;margin:.45rem 0;display:flex}.exercise-amount-mode{gap:.35rem;display:flex}.exercise-amount-mode .tag-chip{padding:.3rem .8rem;font-size:.8rem}.exercise-amount-fields{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.exercise-amount-duration{grid-template-columns:1fr auto;gap:.3rem;display:grid}.exercise-amount input,.exercise-amount select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text);font:inherit;padding:.5rem .6rem}.tab-add.active{border-color:var(--eau)}@media (width>=900px){.sidebar-add.active{box-shadow:0 0 0 3px var(--eau)}}.settings-tabs{flex-wrap:wrap;margin-bottom:1.1rem}.settings-page .reference-manager,.settings-page .auth-status{max-width:560px}.account-data-links{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.account-data-links .link-button{margin-top:0;font-size:.82rem}.account-delete-confirm h3{margin:.25rem 0 .6rem;font-size:1.15rem}.account-delete-confirm p{margin:0 0 .6rem}.account-delete-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.9rem;display:flex}.account-delete-actions .primary-dark{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;padding:.6rem 1.2rem;font-weight:800}.account-delete-actions .link-button.danger{color:var(--text);-webkit-text-decoration-color:var(--corail);text-decoration-color:var(--corail);margin-top:0;font-weight:700;text-decoration-thickness:2px}.auth-status>button:not(.link-button){border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.5rem 1.1rem;font-weight:700}.workout-exercise-row-rest{grid-template-columns:1fr 1fr auto;align-items:center;gap:.4rem;display:grid!important}.workout-exercise-row-rest .ingredient-qty{width:100%;min-width:0}.workout-exercise-row-rest select{grid-column:1/3;min-width:0}.workout-exercise-row-rest .remove-row{grid-area:1/3/3}.journal-add-row input[type=date],.journal-add-row input[type=text],.journal-add-row input[type=number]:not(.ingredient-qty){border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;color:var(--text);font:inherit;padding:.5rem .6rem}.journal-add-row .searchable-select-input input[type=text]{background:0 0;border:none;padding:.5rem .4rem}.test-form{max-width:640px}.test-date{max-width:220px;margin-bottom:.75rem}.test-date input{width:100%}.test-list{flex-direction:column;gap:.9rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.test-item{border-top:1px solid var(--border);padding-top:.8rem}.test-item-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem .75rem;display:flex}.test-item-head label{font-weight:800}.test-item>.hint{margin:.2rem 0 .45rem}.test-value{align-items:center;gap:.5rem;max-width:260px;display:flex}.test-unit{color:var(--text-muted);white-space:nowrap;font-weight:700}.test-value input,.test-other input,.ruffier-inputs input,.test-date input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text);font:inherit;padding:.5rem .6rem}.test-value input{width:100%}.ruffier-inputs,.test-other{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.ruffier-result{margin:.45rem 0 0}.test-media-inputs{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.test-file{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:700;display:flex}.test-file input{font-size:.85rem}.test-saved{background:var(--eau-soft);border-left:4px solid var(--eau);border-radius:var(--radius-sm);padding:.55rem .8rem;font-weight:700}.test-delta{margin:.25rem 0 .5rem;font-weight:800}.test-delta.good{color:var(--petrole)}.test-delta.bad{color:var(--text);border-left:4px solid var(--corail);padding-left:.5rem}.test-entry-media{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.test-media-thumb{object-fit:cover;border-radius:var(--radius-sm);width:96px;height:96px;display:block}.test-media-video{border-radius:var(--radius-sm);width:100%;max-width:320px}.test-reminder h3{margin:.25rem 0 .6rem}@media (prefers-color-scheme:dark){.test-delta.good{color:var(--eau)}}.test-illustration{max-width:320px;margin:.3rem 0 .6rem}.test-illustration img,.test-illustration video,.test-illustration svg{object-fit:contain;background:var(--surface);border-radius:var(--radius-sm);width:100%;max-height:200px;display:block}.test-illustration.drawing svg{background:var(--eau-soft);padding:.5rem}.test-illustration figcaption{color:var(--text-muted);margin-top:.25rem;font-size:.7rem}.test-illustration figcaption a{color:inherit}.cycle-today{margin-bottom:1rem}.phase-block-regles{background:var(--corail);color:var(--noir)}.phase-block-fertile,.phase-block-ovulation{background:var(--eau);color:var(--noir)}.phase-block-luteale{background:var(--petrole);color:var(--on-dark)}.phase-block-folliculaire{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.cycle-calendar{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);max-width:460px;padding:1rem}.cycle-calendar-header{text-transform:capitalize;justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.cycle-calendar-header button{background:var(--bg);width:36px;height:36px;color:var(--text);border:none;border-radius:999px;font-weight:800}.cycle-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cycle-calendar-weekday{text-align:center;color:var(--text-muted);padding-bottom:2px;font-size:.7rem;font-weight:800}.cycle-day{aspect-ratio:1;font-variant-numeric:tabular-nums;color:var(--text);border-radius:10px;place-items:center;font-size:.85rem;font-weight:700;display:grid}.cycle-day.phase-regles,.cycle-swatch.phase-regles{background:var(--corail);color:var(--noir)}.cycle-day.phase-fertile,.cycle-swatch.phase-fertile{background:var(--eau);color:var(--noir)}.cycle-day.phase-ovulation,.cycle-swatch.phase-ovulation{background:var(--eau);color:var(--noir);box-shadow:inset 0 0 0 3px var(--petrole)}.cycle-day.phase-luteale,.cycle-swatch.phase-luteale{background:#0e4e5c2e}.cycle-day.phase-folliculaire,.cycle-swatch.phase-folliculaire{background:var(--bg)}.cycle-day.predicted,.cycle-swatch.predicted{opacity:.55;outline-offset:-3px;outline:2px dashed #12121259}.cycle-day.noted-start{font-weight:900;text-decoration:underline;text-decoration-thickness:2px}.cycle-day.today{box-shadow:0 0 0 3px var(--noir)}.cycle-day.phase-ovulation.today{box-shadow:inset 0 0 0 3px var(--petrole), 0 0 0 3px var(--noir)}.cycle-legend{color:var(--text-muted);flex-wrap:wrap;gap:.35rem .9rem;margin:.8rem 0 0;padding:0;font-size:.75rem;font-weight:700;list-style:none;display:flex}.cycle-legend li{align-items:center;gap:.35rem;display:flex}.cycle-swatch{border-radius:4px;width:14px;height:14px;display:inline-block}.cycle-disclaimer{max-width:460px;margin:.6rem 0 1rem}.cycle-length-line{margin-top:.6rem}.cycle-length-line .link-button{font-size:inherit;margin-top:0}.cycle-length-edit{margin-top:.8rem}.cycle-history-title{margin:1.4rem 0 .5rem;font-size:1rem}@media (prefers-color-scheme:dark){.cycle-day.phase-luteale,.cycle-swatch.phase-luteale{background:#9edbcf2e}}.bilan-page .section-tabs{margin-bottom:1rem}.bilan-period{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.bilan-period .journal-date-nav{flex:1;min-width:240px;margin-bottom:0}.bilan-period-toggle{background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;padding:.3rem;display:inline-flex}.bilan-period-toggle button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.4rem .9rem;font-weight:700}.bilan-period-toggle button.selected{background:var(--noir);color:var(--on-dark)}.bilan-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.bilan-chips .tag-chip{cursor:pointer;font-size:.8rem}.bilan-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.bilan-calendar-weekday{text-align:center;color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.bilan-day{border-radius:var(--radius-sm);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);font:inherit;color:var(--text);cursor:pointer;text-align:center;border:2px solid #0000;flex-direction:column;align-items:stretch;gap:.2rem;padding:.35rem .25rem;display:flex}.bilan-day.empty{background:var(--surface-muted);box-shadow:none}.bilan-day.today{border-color:var(--petrole)}.bilan-day.open{border-color:var(--noir)}.bilan-day-number{justify-content:center;align-items:center;gap:.2rem;font-size:.85rem;font-weight:800;display:flex}.bilan-day-period{background:var(--corail);border-radius:50%;width:6px;height:6px}.bilan-pill{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:.15rem .1rem;font-size:.72rem;font-weight:700;display:block;overflow:hidden}.bilan-pill small{opacity:.75;font-weight:600}.bilan-calendar.mois .bilan-pill{padding:.1rem 0;font-size:.6rem}.bilan-calendar.mois .bilan-day{padding:.25rem .1rem}.level-none{color:var(--text-muted);background:0 0}.level-low{color:var(--petrole-deep);background:#c8dfe3}.level-ok{background:var(--eau);color:var(--noir)}.level-over{background:var(--corail);color:var(--noir)}.level-deficit{background:var(--petrole);color:var(--on-dark)}.level-act1{background:var(--eau-soft);color:var(--petrole-deep)}.level-act2{color:var(--on-dark);background:#4f9aa3}.level-act3{background:var(--petrole);color:var(--on-dark)}.bilan-legend{gap:.35rem;margin:.9rem 0;padding:0;font-size:.78rem;list-style:none;display:grid}.bilan-legend li{flex-wrap:wrap;align-items:center;gap:.3rem .8rem;display:flex}.bilan-legend li span{color:var(--text-muted);align-items:center;gap:.3rem;display:inline-flex}.bilan-swatch{border-radius:4px;width:12px;height:12px;display:inline-block}.bilan-day-detail{margin-top:.5rem}.bilan-day-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.bilan-day-detail-head h3{margin:0}.bilan-day-detail-head h3:first-letter{text-transform:uppercase}.bilan-curve{margin-top:1rem}.daily-chart-bar{fill:var(--petrole)}.daily-chart-bar.over{fill:var(--corail)}.daily-chart-bar.active{opacity:.7}.daily-chart-target{stroke:var(--noir);stroke-width:1.5px;stroke-dasharray:4 3}.bilan-test-group h3{margin:1.25rem 0 .6rem}.bilan-test-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.bilan-test-head{font-variant-numeric:tabular-nums;justify-content:space-between;gap:.5rem;display:flex}.bilan-test-card .trend-chart{margin:.25rem 0 0}@media (width>=900px){.bilan-calendar.semaine .bilan-day{min-height:120px;padding:.5rem .4rem}.bilan-calendar.mois .bilan-pill{font-size:.72rem}.bilan-calendar.mois .bilan-day{min-height:88px}}@media (width<=899px){.bilan-pill small{display:none}.bilan-calendar.semaine .bilan-pill{font-size:.66rem}}.bilan-pill-compact,.bilan-calendar.mois .bilan-pill-full{display:none}.bilan-calendar.mois .bilan-pill-compact{display:inline}@media (width<=899px){.bilan-pill-full{display:none}.bilan-pill-compact{display:inline}}@media (width>=900px){.bilan-calendar.mois .bilan-pill-full{display:inline}.bilan-calendar.mois .bilan-pill-compact{display:none}}.bilan-page .bilan-stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.daily-chart-axis{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.65rem;display:flex}.daily-chart-axis span{text-align:center;white-space:nowrap;flex:1;overflow:visible}@media (width<=400px){.bilan-calendar{gap:.2rem}.bilan-day,.bilan-calendar.mois .bilan-day{padding:.25rem .05rem}.bilan-calendar.semaine .bilan-pill{letter-spacing:-.02em;font-size:.62rem}}.bilan-pill{justify-content:space-between;align-items:center;gap:.2rem;padding:.15rem .3rem;display:flex}.bilan-pill-label{opacity:.85;align-items:center;gap:.15rem;font-weight:800;display:inline-flex}.bilan-pill-abbr{font-size:.85em}@media (width<=899px){.bilan-pill{flex-direction:column;gap:0;padding:.15rem .05rem;line-height:1.15}.bilan-pill-label{font-size:.56rem}.bilan-calendar.mois .bilan-pill-abbr{display:none}}.bilan-view-toggle{margin-bottom:.9rem}.criteria-chart-list{gap:.9rem;display:grid}@media (width>=900px){.criteria-chart-list{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}}.criteria-chart{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin:0;padding:.8rem .6rem .4rem}.criteria-chart svg{width:100%;height:auto;display:block}.criteria-chart-legend{flex-wrap:wrap;gap:.3rem .8rem;margin:0 .2rem .4rem;font-size:.8rem;font-weight:700;display:flex}.criteria-chart-legend>span{align-items:center;gap:.3rem;display:inline-flex}.criteria-chart-swatch{border-radius:2px;width:14px;height:4px}.criteria-chart-row{cursor:pointer}.criteria-chart-rowbg{fill:#0000}.criteria-chart-row:nth-child(2n) .criteria-chart-rowbg{fill:var(--surface-muted)}.criteria-chart-row.open .criteria-chart-rowbg{fill:var(--eau-soft)}.criteria-chart-day{fill:var(--text);font-size:11px;font-weight:700}.criteria-chart-tick{fill:var(--text-muted);text-anchor:middle;font-size:9px}.criteria-chart-grid{stroke:var(--border);stroke-width:1px}.criteria-chart-zero{stroke:var(--noir);stroke-width:1px}.bilan-view-toggle button{font-size:.9rem}.criteria-chart{width:100%;max-width:640px}.bilan-stat-wide{grid-column:1/-1}.bilan-activity-ranking{counter-reset:rang;gap:.3rem;margin:.3rem 0 0;padding:0;list-style:none;display:grid}.bilan-activity-ranking li{counter-increment:rang;border-bottom:1px solid var(--border);grid-template-columns:1.4rem 1fr auto auto;align-items:baseline;gap:.5rem;padding:.3rem 0;display:grid}.bilan-activity-ranking li:last-child{border-bottom:none}.bilan-activity-ranking li:before{content:counter(rang);color:var(--petrole);font-weight:800}.bilan-activity-ranking li:first-child span:first-of-type{font-weight:800}.bilan-activity-ranking strong{text-align:right;min-width:2.2rem}.bilan-stat-sources{color:var(--text-muted);margin-top:.3rem;font-size:.75rem;line-height:1.35}.criteria-chart svg{width:auto;max-width:100%}.criteria-chart-col{fill:#0000;cursor:pointer}.criteria-chart-col.odd{fill:var(--surface-muted)}.criteria-chart-col.open{fill:var(--eau-soft)}.criteria-chart-tick{text-anchor:end;font-size:10px}.criteria-chart-day{fill:var(--text);text-anchor:middle;font-size:11px;font-weight:800}.criteria-chart-date{fill:var(--text-muted);text-anchor:middle;font-size:10px}.criteria-chart-list+.hint,.criteria-chart-list+.bilan-day-detail{margin-top:.9rem}.fav-bar{margin-bottom:.9rem}.fav-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.fav-chip{background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.fav-chip button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;font-size:.82rem;font-weight:700}.fav-chip button:first-child{padding:.4rem .3rem .4rem .8rem}.fav-chip .fav-remove{color:var(--text-muted);padding:0 .7rem 0 .35rem;font-size:1.05rem;line-height:1}.fav-chip.selected{background:var(--noir);box-shadow:none}.fav-chip.selected button{color:var(--on-dark)}.fav-chip.selected .fav-remove{color:#ffffffb3}.fav-chip .fav-remove:hover{color:var(--corail)}.fav-add{border:1.5px dashed var(--petrole);background:var(--surface);width:100%;max-width:360px;font:inherit;color:var(--petrole);border-radius:999px;padding:.5rem .8rem;font-size:.85rem;font-weight:700}.fav-add:disabled{border-color:var(--border);color:var(--text-muted)}.fav-hint{margin:.4rem 0 0;font-size:.75rem}.criteria-chart-readout{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.25rem .8rem;margin:.5rem .3rem .3rem;padding:0;font-size:.82rem;list-style:none;display:grid}.criteria-chart-readout li{align-items:center;gap:.3rem;display:flex}.criteria-chart-dot{border-radius:50%;flex:none;width:8px;height:8px}.criteria-chart-note{margin:.4rem .3rem .2rem;font-size:.75rem}.criteria-chart-legend svg{flex:none}.criteria-chart-readout{grid-template-columns:1fr}.criteria-chart-readout li{display:block}.criteria-chart-readout .criteria-chart-dot{vertical-align:middle;margin-right:.35rem;display:inline-block}@media (width>=600px){.criteria-chart-readout{grid-template-columns:repeat(2,1fr)}}.bilan-pill-text{-webkit-line-clamp:3;white-space:normal;text-align:left;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;font-size:.66rem;line-height:1.2;display:-webkit-box;overflow:hidden}.bilan-calendar.mois .bilan-pill-text{-webkit-line-clamp:2;font-size:.55rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem;margin-top:1rem;display:grid}@media (width>=900px){.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}.recipe-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--text);flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.recipe-card:hover{transform:translateY(-2px)}.recipe-card-media{position:relative}.recipe-image{aspect-ratio:4/3;background:var(--bg-deep);width:100%;position:relative;overflow:hidden}.recipe-image img{object-fit:cover;width:100%;height:100%;display:block}.recipe-image-badge{color:var(--on-dark);background:#121212a6;border-radius:999px;padding:.15rem .45rem;font-size:.65rem;font-weight:800;position:absolute;bottom:.5rem;left:.5rem}.recipe-image-tile{justify-content:center;align-items:center;font-size:3rem;display:flex}.recipe-image-tile span{filter:drop-shadow(0 4px 8px #00000026)}.tile-eau{background:linear-gradient(135deg, var(--eau-soft), var(--eau))}.tile-petrole{background:linear-gradient(135deg, #4f9aa3, var(--petrole))}.tile-corail{background:linear-gradient(135deg, var(--corail-soft), var(--corail))}.tile-beige{background:linear-gradient(135deg, var(--surface-muted), var(--bg-deep))}.recipe-card-badges{gap:.2rem;display:flex;position:absolute;top:.4rem;right:.4rem}.recipe-card-badges span{background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;padding:.1rem .3rem;font-size:.8rem}.recipe-card-category{background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;padding:.15rem .5rem;font-size:.68rem;font-weight:800;position:absolute;top:.4rem;left:.4rem}.recipe-card-body{flex-direction:column;flex:1;gap:.35rem;padding:.6rem .75rem .75rem;display:flex}.recipe-card-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.25;display:-webkit-box;overflow:hidden}.recipe-card-kcal{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:.3rem;margin:0;font-size:.78rem;display:flex}.recipe-card-kcal strong{color:var(--text);font-size:.9rem}.recipe-card-ig{background:var(--eau-soft);color:var(--petrole);border-radius:999px;margin-left:auto;padding:.05rem .4rem;font-size:.68rem;font-weight:800}.macro-bar{background:var(--border);border-radius:999px;height:6px;margin-top:auto;display:flex;overflow:hidden}.macro-p{background:var(--petrole)}.macro-g{background:var(--eau)}.macro-l{background:var(--corail)}.recipe-card-macros{color:var(--text-muted);flex-wrap:wrap;gap:.5rem;margin:0;font-size:.68rem;font-weight:700;display:flex}.recipe-hero{border-radius:var(--radius-lg);aspect-ratio:16/9;box-shadow:var(--shadow-card);margin:.5rem 0 1rem}.recipe-hero.recipe-image-tile{font-size:4.5rem}@media (width>=900px){.recipe-hero{max-width:720px}}.recipe-detail-title{margin:0 0 .5rem}.recipe-detail-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.recipe-chip{background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;padding:.3rem .75rem;font-size:.82rem;font-weight:700}.recipe-chip-parts{background:var(--petrole);color:var(--on-dark)}.recipe-chip-missing{background:var(--surface);border-left:4px solid var(--corail)}.recipe-servings-quick{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1rem;padding:.8rem 1rem}.recipe-servings-quick label{margin-bottom:.4rem;font-weight:700;display:block}.recipe-servings-quick div{gap:.5rem;display:flex}.recipe-servings-quick input{width:6rem}.recipe-per-part{background:var(--petrole);color:var(--on-dark);border-radius:var(--radius-sm);margin:.5rem 0 .8rem;padding:.7rem .85rem}.recipe-per-part-label{text-transform:uppercase;letter-spacing:.03em;opacity:.85;margin-bottom:.35rem;font-size:.75rem;font-weight:800;display:block}.recipe-per-part-values{flex-wrap:wrap;gap:.3rem 1rem;font-size:.85rem;display:flex}.recipe-per-part-values strong{font-size:1.15rem}.recipe-whole-label{margin:.2rem 0;font-size:.8rem;font-weight:800}.recipe-parts-box{background:var(--eau-soft);border-radius:var(--radius-sm);margin:.6rem 0;padding:.7rem .8rem}.recipe-parts-servings{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:700;display:flex}.recipe-parts-servings input{width:5.5rem}.recipe-parts-summary{margin:0 0 .5rem;font-size:.88rem}.recipe-parts-shortcuts{margin:0}.recipe-servings-quick input,.recipe-parts-servings input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.5rem .65rem}.recipe-servings-quick input:focus,.recipe-parts-servings input:focus{border-color:var(--petrole);outline:none}.recipe-servings-quick button{background:var(--noir);color:var(--on-dark);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.5rem 1rem;font-weight:700}.recipe-servings-quick button:disabled{opacity:.4;cursor:default}.profile-switcher{color:var(--on-dark);font:inherit;cursor:pointer;background:#ffffff14;border:none;border-radius:999px;align-items:center;gap:.5rem;max-width:100%;margin:0 0 1rem;padding:.35rem .8rem .35rem .35rem;font-weight:700;display:inline-flex}.profile-switcher-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-switcher.compact{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card);margin:0;font-size:.88rem}.app-topbar{gap:.75rem}.profile-avatar{background:var(--eau);width:30px;height:30px;color:var(--noir);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.profile-avatar.secondary{background:var(--corail)}.profile-list{gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.profile-option{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:.7rem;padding:.6rem .75rem;display:flex}.profile-option span:nth-child(2){flex-direction:column;flex:1;display:flex}.profile-option small{color:var(--text-muted);font-size:.78rem}.profile-option.active{border-color:var(--petrole);background:var(--eau-soft)}.profile-check{color:var(--petrole);font-weight:800}.profile-add-button{border:1.5px dashed var(--petrole);border-radius:var(--radius-sm);width:100%;color:var(--petrole);font:inherit;cursor:pointer;background:0 0;padding:.65rem;font-weight:800}.profile-add-form{gap:.6rem;display:grid}.profile-add-form .field{gap:.25rem;display:grid}.profile-add-actions{align-items:center;gap:.75rem;display:flex}.child-tips{gap:.35rem;margin:.6rem 0 0;padding-left:0;font-size:.88rem;list-style:none;display:grid}.welcome{max-width:960px;margin:0 auto;padding:1.2rem 1rem 3rem}.welcome-hero{padding:1rem 0 1.5rem}.welcome-hero .app-logo{margin-bottom:1.4rem;font-size:2rem}.welcome-hero h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .9rem;font-size:clamp(2rem,7vw,3.2rem);font-weight:900;line-height:1.05}.welcome-lead{color:var(--text-muted);max-width:34rem;margin:0 0 1.3rem;font-size:1.08rem}.welcome-cta{background:var(--corail);color:var(--noir);border-radius:999px;padding:.8rem 1.4rem;font-weight:800;text-decoration:none;display:inline-block;box-shadow:0 8px 20px #ff6f6159}.welcome-features{grid-template-columns:1fr;gap:.8rem;margin-bottom:1.5rem;display:grid}@media (width>=700px){.welcome-features{grid-template-columns:1fr 1fr}}.welcome-feature h2{margin:.3rem 0 .35rem;font-size:1.1rem}.welcome-feature p{margin:0;font-size:.92rem;line-height:1.45}.welcome-feature-emoji{font-size:1.8rem}.welcome-auth{max-width:460px;margin:0 auto;scroll-margin-top:1rem}.welcome-auth-tabs{background:var(--bg);border-radius:999px;grid-template-columns:1fr 1fr;margin-bottom:1rem;padding:.25rem;display:grid}.welcome-auth-tabs button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.55rem .5rem;font-size:.88rem;font-weight:800}.welcome-auth-tabs button.selected{background:var(--noir);color:var(--on-dark)}.welcome-auth form{gap:.75rem;display:grid}.welcome-auth .field{gap:.3rem;display:grid}.welcome-auth .field input{padding:.7rem .8rem;font-size:1rem}.welcome-auth button[type=submit]{background:var(--noir);color:var(--on-dark);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.8rem;font-weight:800}.welcome-fine-print{color:var(--text-muted);gap:.4rem;margin:1rem 0 0;padding:0;font-size:.78rem;list-style:none;display:grid}.recipe-owner-toggle{margin-bottom:.9rem}.page-intro{background:var(--eau-soft);border-radius:var(--radius-lg);border-left:4px solid var(--petrole);margin:0 0 1rem;padding:.9rem 1rem .8rem}.page-intro-title{margin:0 0 .35rem;font-size:1rem;font-weight:800}.page-intro-body p{margin:0 0 .45rem;font-size:.9rem;line-height:1.45}.page-intro-ok{background:var(--petrole);color:var(--on-dark);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.4rem 1rem;font-size:.85rem;font-weight:800}.page-intro-reopen{color:var(--text-muted);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin:0 0 .6rem;padding:0;font-size:.78rem;text-decoration:underline}.first-steps{margin-bottom:1rem}.first-steps-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.first-steps-head h3{margin:0 0 .6rem;font-size:1.05rem}.first-steps-count{color:var(--petrole);font-weight:800}.first-steps ol{gap:.55rem;margin:0 0 .6rem;padding:0;list-style:none;display:grid}.first-steps li{align-items:flex-start;gap:.6rem;display:flex}.first-steps li p{color:var(--text-muted);margin:.1rem 0 0;font-size:.82rem}.first-steps li a{color:var(--petrole);font-weight:800}.first-steps-check{border:2px solid var(--petrole);width:22px;height:22px;color:var(--on-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:900;display:inline-flex}.first-steps li.done .first-steps-check{background:var(--petrole)}.first-steps li.done strong{color:var(--text-muted);text-decoration:line-through}.hydration-strip{background:var(--surface);box-shadow:var(--shadow-card);border-radius:999px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.6rem;padding:.45rem .5rem .45rem 1rem;display:flex}.hydration-strip-main{min-width:0;color:var(--text);flex:1;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .6rem;font-size:.85rem;text-decoration:none;display:grid}.hydration-strip-label{font-weight:800}.hydration-strip-value{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-self:end}.hydration-strip-bar{background:var(--eau-soft);border-radius:999px;grid-column:1/-1;height:4px;overflow:hidden}.hydration-strip-bar span{background:var(--petrole);border-radius:999px;height:100%;display:block}.hydration-strip-add{background:var(--eau);color:var(--noir);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.45rem .8rem;font-size:.8rem;font-weight:800}.hydration-strip .error{flex-basis:100%}.hydration-total{margin-bottom:1rem}.hydration-quick{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.hydration-quick .tag-chip{cursor:pointer}.hydration-quick small{color:var(--text-muted);font-weight:600}.recipe-fixes{background:var(--corail-soft);border-left:4px solid var(--corail);border-radius:var(--radius-sm);margin:.5rem 0 .9rem;padding:.75rem .85rem}.recipe-fixes-title{margin:0 0 .5rem;font-size:.9rem;font-weight:800}.recipe-fixes ul{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.recipe-fixes li>p{margin:0 0 .4rem;font-size:.88rem}.recipe-fix-button{background:var(--noir);color:var(--on-dark);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.45rem .95rem;font-size:.85rem;font-weight:800}.recipe-fix-button:disabled{opacity:.4}.recipe-fix-weight{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.recipe-fix-weight label{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.88rem;display:flex}.recipe-fix-weight input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:5rem;font:inherit;padding:.4rem .5rem}.recipe-fixes .manual-nutrition-form{background:var(--surface);border-radius:var(--radius-sm);padding:.6rem}.reference-section-title{margin:1rem 0 .4rem;font-size:.95rem}.reference-row{display:block!important}.reference-row-main{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.reference-name{flex-direction:column;min-width:0;display:flex}.reference-values{color:var(--text-muted);font-size:.75rem}.reference-values.missing{color:var(--text);border-left:3px solid var(--corail);padding-left:.35rem}.reference-actions{flex:none;align-items:center;gap:.5rem;display:flex}.reference-row-edit{flex-wrap:wrap;gap:.4rem;display:flex}.reference-shared{margin-top:1rem}.reference-shared summary{cursor:pointer;margin-bottom:.4rem;font-size:.9rem;font-weight:800}.reference-manager .manual-nutrition-form{margin-top:.5rem}.recipe-categories{scrollbar-width:thin;gap:.4rem;margin-bottom:.4rem;padding:.2rem .1rem .5rem;display:flex;overflow-x:auto}@media (width>=900px){.recipe-categories{flex-wrap:wrap;overflow:visible}}.recipe-category{background:var(--surface);box-shadow:var(--shadow-card);font:inherit;cursor:pointer;color:var(--text);border:none;border-radius:999px;flex:none;align-items:center;gap:.3rem;padding:.4rem .8rem;font-size:.85rem;font-weight:700;display:inline-flex}.recipe-category small{color:var(--text-muted);font-weight:800}.recipe-category.selected{background:var(--noir);color:var(--on-dark)}.recipe-category.selected small{color:var(--eau)}.recipe-category.empty{opacity:.45;box-shadow:none;cursor:default}.library-group{margin-top:1.4rem;scroll-margin-top:1rem}.library-group-title{margin:0 0 .2rem;font-size:1.15rem}.library-group-title span{color:var(--text-muted);font-size:.9rem;font-weight:700}.recipe-card-missing{color:var(--text);border-left:3px solid var(--corail);margin:0;padding-left:.4rem;font-size:.72rem;font-weight:700}.ingredient-missing{color:var(--text);border-left:3px solid var(--corail);margin-left:.3rem;padding-left:.3rem;font-size:.8rem;font-weight:700}.recipe-missing-banner{background:var(--corail-soft);border-left:4px solid var(--corail);border-radius:var(--radius-sm);color:var(--text);margin:0 0 1rem;padding:.6rem .8rem;font-size:.88rem;font-weight:700;text-decoration:none;display:block}.recipe-select-row{margin-bottom:.6rem}.recipe-select{gap:.25rem;margin-bottom:.6rem;font-size:.85rem;font-weight:700;display:grid}.recipe-select select{border:1.5px solid var(--border);background:var(--surface);width:100%;max-width:420px;font:inherit;color:var(--text);border-radius:999px;padding:.55rem .8rem;font-weight:700}.recipe-select select:focus{border-color:var(--petrole);outline:none}:root{--alerte:#d8342a}.meter-row-value.is-over{color:var(--alerte);font-weight:800}.b-petrole .block-number.is-over,.b-petrole .meter-row-value.is-over{color:var(--corail)}.dry-weight-hint{background:var(--eau-soft);border-left:3px solid var(--petrole);border-radius:var(--radius-sm);margin:.4rem 0;padding:.45rem .6rem;font-size:.85rem}.daily-activity{border:1.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin:.4rem 0 1rem;padding:.8rem .9rem}.daily-activity legend{padding:0 .3rem;font-weight:800}.daily-activity-options{gap:.4rem;margin:.5rem 0;display:grid}@media (width>=700px){.daily-activity-options{grid-template-columns:repeat(3,1fr)}}.daily-activity-option{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem;padding:.5rem .6rem;display:grid}.daily-activity-option small{color:var(--text-muted);grid-column:2;font-size:.75rem}.daily-activity-option.selected{border-color:var(--petrole);background:var(--eau-soft)}.daily-activity-week summary,.daily-activity-vacation summary{cursor:pointer;margin-top:.5rem;font-weight:700}.weekday-grid{gap:.3rem;margin-top:.4rem;display:grid}.weekday-row{grid-template-columns:6rem 1fr;align-items:center;gap:.5rem;font-size:.88rem;display:grid}.weekday-row select,.vacation-row input,.vacation-row select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;padding:.4rem .5rem}.vacation-row{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:.4rem;display:flex}.vacation-row label{align-items:center;gap:.35rem;font-size:.88rem;display:flex}.profile-form .daily-activity{grid-column:1/-1;min-width:0}.meter-row-toggle{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.meter-row-chevron{opacity:.7;font-size:.8em}.meter-breakdown{border-radius:var(--radius-sm);color:var(--text);background:#ffffff8c;gap:.35rem;margin:.45rem 0 .2rem;padding:.5rem .6rem;font-size:.8rem;list-style:none;display:grid}.b-petrole .meter-breakdown{color:var(--on-dark);background:#ffffff1f}.meter-breakdown li{grid-template-columns:1fr auto;align-items:baseline;gap:.15rem .5rem;display:grid}.meter-breakdown-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meter-breakdown-value{font-variant-numeric:tabular-nums;white-space:nowrap}.meter-breakdown-bar{background:#00000014;border-radius:999px;grid-column:1/-1;height:3px;overflow:hidden}.meter-breakdown-bar span{background:var(--petrole);height:100%;display:block}.meter-breakdown-rest{color:var(--text-muted);font-style:italic;display:block!important}.omega-ratio.ok{border-left:3px solid var(--petrole);padding-left:.5rem}.omega-ratio.warn{border-left:3px solid var(--corail);padding-left:.5rem}.omega-guide{gap:.4rem;margin:.6rem 0 .4rem;padding:0;font-size:.85rem;line-height:1.4;list-style:none;display:grid}.more-info{margin:.35rem 0}.more-info>summary{cursor:pointer;color:var(--text-muted);text-underline-offset:2px;font-size:.78rem;font-weight:700;text-decoration:underline;list-style:none;display:inline-block}.more-info>summary::-webkit-details-marker{display:none}.b-petrole .more-info>summary{color:var(--eau)}.more-info[open]>summary{margin-bottom:.3rem}.more-info-body>p:first-child{margin-top:0}.weekday-row select{width:100%;min-width:0}.weekday-row-all{border-bottom:1px dashed var(--border);margin-bottom:.2rem;padding-bottom:.35rem;font-weight:700}.protein-questionnaire,.allergies-tastes{border:1.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;margin:.4rem 0 1rem;padding:.8rem .9rem}.protein-questionnaire legend,.allergies-tastes legend{padding:0 .3rem;font-weight:800}.protein-result{background:var(--eau-soft);border-left:4px solid var(--accent);border-radius:var(--radius-sm);margin-top:.6rem;padding:.6rem .8rem}.protein-result p{margin:0 0 .3rem}.protein-result ul{margin:0;padding-left:1.1rem}.field-label{margin:.7rem 0 .35rem;font-size:.9rem;font-weight:700}.checkbox-row{cursor:pointer;align-items:flex-start;gap:.5rem;margin:.4rem 0;font-size:.9rem;display:flex}.checkbox-row input{flex:none;margin-top:.2rem}.allergen-chips{margin-bottom:.5rem}.food-list-input-row{gap:.4rem;display:flex}.food-list-input-row input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;font:inherit;flex:1;padding:.45rem .6rem}.food-list-input-row button{flex:none;min-width:2.4rem}.food-list-input .sports-selected-list{margin-top:.4rem}.recipe-advanced-filters{border:1.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin:.6rem 0;padding:.5rem .8rem}.recipe-advanced-filters>summary{cursor:pointer;padding:.2rem 0;font-weight:800}.recipe-advanced-block{border-top:1px solid var(--border);margin-top:.4rem;padding:.3rem 0 .6rem}.pantry-picker{gap:.35rem;margin-top:.4rem;display:grid}.pantry-picker .link-button{justify-self:start}.pantry-group summary{cursor:pointer;padding:.25rem 0;font-size:.9rem;font-weight:700}.pantry-items{flex-wrap:wrap;gap:.35rem;padding:.3rem 0 .5rem;display:flex}.pantry-item{border:1.5px solid var(--border);cursor:pointer;background:var(--surface);border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.85rem;display:inline-flex}.pantry-item input{margin:0}.pantry-item.checked{background:var(--eau-soft);border-color:var(--accent)}.recipe-conflicts{background:var(--corail-soft);border-left:4px solid var(--corail);border-radius:var(--radius-sm);margin:0 0 1rem;padding:.5rem .8rem;font-size:.9rem}.recipe-conflicts p{margin:.2rem 0}.healthy-tips{background:var(--eau-soft);border-radius:var(--radius-lg);margin:1rem 0;padding:.7rem .9rem}.healthy-tips h3{margin-top:0}.healthy-tips ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.healthy-tips li p{margin:0 0 .2rem}.healthy-tip-saving{color:var(--petrole);white-space:nowrap}.recipe-similar{background:var(--corail-soft);border-left:4px solid var(--corail);border-radius:var(--radius-sm);margin-top:.4rem;padding:.5rem .8rem;font-size:.9rem}.recipe-similar p{margin:.15rem 0}.recipe-similar ul{margin:.2rem 0;padding-left:1.1rem}.sheet-grid.three.two-by-two{grid-template-columns:repeat(2,1fr)}.feedback-footer{text-align:center;margin:2rem 0 .5rem;font-size:.85rem}.feedback-page h2{margin-bottom:.3rem}.feedback-form,.feedback-thanks{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);margin:.8rem 0 1.2rem;padding:.9rem 1rem}.feedback-thanks{background:var(--eau-soft);border-color:var(--accent)}.feedback-kinds{border:none;min-width:0;margin:.6rem 0;padding:0}.feedback-kinds legend{margin-bottom:.4rem;font-weight:700}.feedback-kind-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}@media (width>=700px){.feedback-kind-grid{grid-template-columns:repeat(4,1fr)}}.feedback-kind{text-align:left;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.6rem .7rem;display:flex}.feedback-kind small{color:var(--text-muted);font-size:.78rem;line-height:1.25}.feedback-kind.selected{background:var(--eau-soft);border-color:var(--accent)}.feedback-kind-emoji{font-size:1.3rem}.feedback-form textarea,.feedback-admin textarea{box-sizing:border-box;border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font:inherit;background:var(--surface);color:var(--text);padding:.5rem .6rem}.feedback-stars{gap:.2rem;display:flex}.feedback-stars button{color:var(--border);cursor:pointer;background:0 0;border:none;padding:.1rem .2rem;font-size:1.7rem;line-height:1}.feedback-stars button.on{color:var(--corail)}.feedback-scale{grid-template-columns:repeat(11,1fr);gap:.2rem;display:grid}.feedback-scale button{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text);font:inherit;cursor:pointer;padding:.45rem 0;font-size:.85rem}.feedback-scale button.selected{background:var(--petrole);border-color:var(--petrole);color:var(--on-dark)}.feedback-ideas ul,.feedback-mine ul,.feedback-admin-list{gap:.6rem;margin:.5rem 0 1.2rem;padding:0;list-style:none;display:grid}.feedback-ideas li{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:.7rem;padding:.6rem .7rem;display:flex}.feedback-ideas li p{margin:0 0 .2rem}.feedback-vote{border:1.5px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:.35rem .6rem}.feedback-vote.voted{background:var(--eau-soft);border-color:var(--accent);font-weight:700}.feedback-mine li,.feedback-admin-item{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .8rem}.feedback-mine li p{margin:0 0 .25rem}.feedback-reply{background:var(--eau-soft);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:.4rem .6rem}.feedback-admin{border-top:2px solid var(--border);margin-top:1.5rem;padding-top:.5rem}.feedback-badge{background:var(--corail);color:var(--on-dark);vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.8rem}.feedback-stats ul{margin:.3rem 0 .8rem;padding-left:1.1rem;font-size:.9rem}.feedback-admin-filters{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.feedback-admin-filters select,.feedback-admin-controls select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;min-width:0;max-width:100%;padding:.4rem .5rem}.feedback-admin-item.status-nouveau{border-left:4px solid var(--corail)}.feedback-admin-head{flex-wrap:wrap;gap:.3rem .8rem;margin:0 0 .3rem;font-size:.85rem;font-weight:700;display:flex}.feedback-message{margin:0 0 .3rem}.feedback-admin-controls{gap:.5rem;margin-top:.4rem;display:grid}.feedback-admin-controls label{align-items:center;gap:.5rem;font-size:.88rem;display:flex}.feedback-admin-reply{gap:.3rem;display:grid}.feedback-admin-reply button,.feedback-admin-publish-actions button{justify-self:start}.feedback-admin-publish summary{cursor:pointer;font-size:.88rem;font-weight:700}.feedback-admin-publish-actions{align-items:center;gap:.6rem;margin-top:.3rem;display:flex}.feedback-form button[type=submit],.feedback-thanks button,.feedback-admin-reply button,.feedback-admin-publish-actions button:not(.link-button),.food-list-input-row button{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;padding:.5rem 1.2rem;font-weight:600}.food-list-input-row button{padding:.4rem .8rem}.feedback-form button[type=submit]:hover,.feedback-thanks button:hover,.feedback-admin-reply button:hover,.feedback-admin-publish-actions button:not(.link-button):hover,.food-list-input-row button:hover{background:var(--primary-hover)}.feedback-form button[type=submit]:disabled,.feedback-admin-reply button:disabled,.feedback-admin-publish-actions button:disabled,.food-list-input-row button:disabled{opacity:.45;cursor:default}.welcome-forgot{margin-top:.6rem;display:block}.welcome-info{background:var(--eau-soft);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:.5rem .7rem;font-size:.9rem}.change-password{margin:1rem 0}.change-password summary{cursor:pointer;font-weight:700}.new-password-form{gap:.2rem;max-width:26rem;margin-top:.5rem;display:grid}.new-password-form button[type=submit]{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;justify-self:start;padding:.5rem 1.2rem;font-weight:600}.share-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);margin:.8rem 0;padding:.8rem .9rem}.share-card textarea{box-sizing:border-box;border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font:inherit;background:var(--surface);color:var(--text);padding:.5rem .6rem}.share-link{word-break:break-all;margin:.5rem 0 .2rem;font-weight:700}.share-main{border-radius:var(--radius-lg);background:var(--primary);width:100%;color:var(--on-primary);border:none;flex-direction:column;align-items:center;gap:.1rem;margin:.4rem 0 .8rem;padding:.8rem 1rem;font-size:1.05rem;font-weight:800;display:flex}.share-main small{opacity:.8;font-size:.8rem;font-weight:500}.share-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.share-option{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.45rem .25rem;font-size:.8rem;font-weight:700;text-decoration:none;display:flex}.share-option span{font-size:1.05rem;line-height:1}.share-tip{margin-top:1rem}.privacy-content h3{margin:1.1rem 0 .4rem;font-size:1.05rem}.privacy-content ul{margin:.3rem 0;padding-left:1.2rem}.privacy-content li{margin-bottom:.35rem;line-height:1.45}.welcome-privacy{margin-top:.8rem;font-size:.9rem}.welcome-privacy summary{cursor:pointer;font-weight:700}.scan-block{margin:.8rem 0}.scan-open{border:1.5px dashed var(--accent);border-radius:var(--radius-lg);background:var(--eau-soft);width:100%;color:var(--text);flex-direction:column;align-items:center;gap:.1rem;padding:.75rem 1rem;font-size:1rem;font-weight:800;display:flex}.scan-open small{color:var(--text-muted);font-size:.8rem;font-weight:500}.barcode-scanner,.scanned-food{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);gap:.6rem;padding:.8rem;display:grid}.barcode-video-wrap{border-radius:var(--radius-sm);background:var(--noir);aspect-ratio:4/3;position:relative;overflow:hidden}.barcode-video{object-fit:cover;width:100%;height:100%;display:block}.barcode-target{border:3px solid var(--eau);border-radius:10px;position:absolute;inset:32% 12%;box-shadow:0 0 0 999px #00000059}.barcode-help{text-align:center;color:var(--on-dark);margin:0;font-size:.85rem;font-weight:700;position:absolute;bottom:.5rem;left:0;right:0}.barcode-manual label{margin-bottom:.3rem;font-size:.85rem;font-weight:700;display:block}.scanned-head{align-items:flex-start;gap:.7rem;display:flex}.scanned-img{object-fit:contain;border-radius:var(--radius-sm);background:var(--surface-muted);flex:none;width:64px;height:64px}.scanned-name{margin:0 0 .15rem;font-weight:800}.scanned-head .hint{margin:0 0 .15rem}.scanned-options{flex-wrap:wrap;gap:.35rem;display:flex}.scanned-amount{align-items:center;gap:.4rem;display:flex}.scanned-amount input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:7rem;font:inherit;padding:.45rem .6rem}.scanned-total{margin:0;font-size:.9rem}.scanned-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.scanned-add{background:var(--primary);color:var(--on-primary);border:none;border-radius:999px;padding:.55rem 1.2rem;font-weight:700}.scanned-add:disabled{opacity:.5}.scanned-source{margin:0}.scanned-food .field input{box-sizing:border-box;width:100%}
