:root{--ink:#19352b;--green:#1c4736;--yellow:#edc452;--paper:#f7f8f4;--line:#dce3da;--muted:#607168;--surface:#ffffff;--soft:#edf2e7;--accent-text:#1c4736;--ink-on-accent:#19352b;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#eef3ee;--paper:#101d17;--line:#28392f;--muted:#9fb3a6;--surface:#16261f;--soft:#1e3129;--accent-text:#6fd7ab}}:root[data-theme=dark]{--ink:#eef3ee;--paper:#101d17;--line:#28392f;--muted:#9fb3a6;--surface:#16261f;--soft:#1e3129;--accent-text:#6fd7ab;color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif;padding-bottom:env(safe-area-inset-bottom)}button,input,select{font:inherit}button{cursor:pointer}header{padding:22px 5%;padding-top:calc(22px + env(safe-area-inset-top));padding-left:calc(5% + env(safe-area-inset-left));padding-right:calc(5% + env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface)}.header-actions{display:flex;align-items:center;gap:16px}.theme-toggle{border:1px solid var(--accent-text);border-radius:8px;background:transparent;color:var(--accent-text);padding:8px 12px;font-size:13px;font-weight:650}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:750;font-size:19px}.mark{background:var(--green);color:var(--yellow);font-family:Georgia,serif;padding:0 10px;border-radius:10px;font-size:28px}.header-note{font-size:14px;color:var(--muted)}main{max-width:1220px;margin:auto;padding:38px 32px}.intro{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-bottom:35px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.13em;color:var(--accent-text);margin:0 0 12px}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(32px,4vw,49px);line-height:1.12;margin:0 0 16px}.intro p:not(.eyebrow){max-width:590px;color:var(--muted);margin:0}.intro img{object-fit:cover;border-radius:20px;max-width:32%;height:210px}.workspace{display:grid;grid-template-columns:440px 1fr;gap:28px;align-items:start}.pantry{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}.section-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:22px}h2{font-size:19px;line-height:1.3;margin:0}.section-top>span{font-size:13px;color:var(--muted);white-space:nowrap}label,legend{font-size:14px;font-weight:650;display:block;margin-bottom:7px}input:not([type=radio]):not([type=checkbox]),select{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink)}input:focus,select:focus,button:focus-visible{outline:3px solid #edc452;outline-offset:3px}.add-row{display:flex;gap:8px}.add-row button{background:var(--green);color:white;border:0;border-radius:9px;padding:10px 13px;font-size:14px}.hint{font-size:13px;line-height:1.45;color:var(--muted);margin:8px 0 15px}#input-message{font-size:14px;color:#9b471c}.pantry-item{display:flex;align-items:center;gap:7px;background:var(--soft);border-radius:9px;padding:9px;margin:7px 0}.pantry-item .name{flex:1;min-width:0;text-transform:capitalize;font-size:14px}.pantry-item input{max-width:78px;padding:6px!important;font-size:14px}.unit{font-size:13px}.remove{background:none;border:none;font-size:22px;color:var(--muted);padding:0 5px}.sample{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 0 21px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.text-button{padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:var(--accent-text);font-size:13px}.settings{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;margin:22px 0}.settings select{font-size:14px}fieldset{border:0;padding:0;margin:22px 0}legend{padding:0}.radio,.check{display:flex;align-items:center;gap:8px;font-weight:450;margin:8px 0}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.allergens{display:flex;flex-wrap:wrap;gap:0 16px;margin-bottom:16px}.allergens label{font-size:13px}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:10px;padding:15px 18px;background:var(--yellow);color:var(--ink-on-accent);font-weight:750}.primary:hover{background:#e2b537}.privacy{font-size:12px;color:var(--muted);text-align:center;margin:13px 0 0}.results{padding-top:6px}.empty{border:1px dashed #bdcbbd;border-radius:20px;min-height:355px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;text-align:center}.empty-icon{font-size:48px;color:#6f8949}.empty h3{font:28px Georgia,serif;margin:16px 0 10px}.empty p{max-width:390px;color:var(--muted);margin:0}.example-line{margin-top:24px;font-size:14px;padding:8px 16px;background:var(--soft);border-radius:30px}.recipe-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:17px;margin-bottom:16px;padding:22px}.fav-toggle{position:absolute;top:14px;right:14px;background:none;border:0;font-size:22px;line-height:1;color:var(--yellow);cursor:pointer;padding:4px}.browse-catalog{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}.browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;align-items:stretch}.browse-grid .recipe-card{margin-bottom:0;display:flex;flex-direction:column}.browse-bar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:18px 0 22px}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px}.filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:30px;padding:8px 16px;font-size:13px;font-weight:650;cursor:pointer}.filter-chip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.browse-card{gap:0}.card-eyebrow{font-size:11px;font-weight:750;letter-spacing:.08em;color:var(--accent-text)}.browse-card h3{font:22px/1.25 Georgia,serif;margin:10px 0 8px}.card-kcal{font-size:15px;font-weight:650;margin-bottom:12px}.card-kcal span{font-weight:450;font-size:12px;color:var(--muted);margin-left:4px}.ingredient-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;flex:1}.chip{background:var(--soft);color:var(--muted);border-radius:6px;padding:4px 9px;font-size:12px}.chip-more{background:none;padding:4px 2px;color:var(--muted)}.browse-cta{margin-top:auto;width:100%;border:1px solid var(--accent-text);border-radius:8px;background:var(--surface);color:var(--accent-text);padding:11px 14px;font-weight:650;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}
@media(prefers-reduced-motion:no-preference){.browse-grid .recipe-card{transition:transform .15s,box-shadow .15s}.browse-grid .recipe-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.filter-chip{transition:background .15s,color .15s}.browse-cta{transition:background .15s,color .15s}.browse-cta:hover{background:var(--accent-text);color:var(--surface)}}.browse-bar input{flex:1;min-width:200px}.browse-fav{white-space:nowrap;margin:0}.recipe-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.recipe-detail-top h2{margin:0}.fav-toggle.fav-toggle-detail{position:static;font-size:26px;flex-shrink:0}.badge{display:inline-block;background:#edf3e7;color:#355425;padding:4px 9px;border-radius:6px;font-size:12px;font-weight:650}.badge.missing{background:#fff2cc;color:#775518}.recipe-card h3{font:26px/1.2 Georgia,serif;margin:15px 0 10px}.meta{color:var(--muted);font-size:14px}.recipe-card p{font-size:14px}.ingredients-summary{color:var(--muted)}.recipe-card button{border:1px solid var(--accent-text);border-radius:8px;background:var(--surface);color:var(--accent-text);padding:9px 14px;font-weight:650;font-size:14px}.notice{font-size:14px;color:var(--muted);background:var(--soft);padding:14px 16px;border-radius:12px;margin-bottom:18px}footer{border-top:1px solid var(--line);margin-top:35px;padding-top:19px;font-size:12px;color:var(--muted)}dialog{width:min(640px,calc(100% - 32px));max-height:88vh;border:0;border-radius:20px;padding:28px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#10271bb0}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top button{border:0;background:var(--soft);color:var(--ink);border-radius:50%;font-size:25px;width:38px;height:38px}dialog h2{font:32px/1.2 Georgia,serif;margin:15px 0}dialog h3{font-size:17px;margin-top:24px}dialog li{margin:10px 0}dialog ul,dialog ol{padding-left:22px}.quantity-missing{color:#936615}.detail-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}@media(max-width:960px){.workspace{grid-template-columns:minmax(320px,1fr) 1fr}.pantry{padding:20px}.intro img{max-width:30%}}@media(max-width:720px){header{padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top));padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}.brand{font-size:16px}.header-note{display:none}main{padding:26px 18px}.intro{gap:15px}.intro img{width:110px;height:140px;border-radius:14px}.intro p:not(.eyebrow){font-size:14px}.eyebrow{font-size:11px}.workspace{grid-template-columns:1fr;gap:25px}.results{padding:0}.section-top>span{white-space:normal;text-align:right}h2{font-size:18px}.settings{grid-template-columns:1fr 1fr}dialog{padding:22px}.empty{min-height:270px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,transform .15s}.recipe-card{animation:appear .2s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}

.nutrition{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:15px 0}.calories{display:flex;flex-direction:column;flex-shrink:0}.calories strong{font-size:21px}.calories span{font-size:12px;color:var(--muted)}.macros{display:flex;flex-wrap:wrap;gap:8px 15px}.macros span{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.macros b{font-size:14px;color:var(--ink)}.allergen-note{font-size:13px!important;color:#705221;background:#fff6df;padding:10px 12px;border-radius:8px}.more-allergens{margin-bottom:16px}.more-allergens summary,.nutrition-reference summary{cursor:pointer;font-size:14px;font-weight:650}.nutrition-reference{font-size:13px;color:var(--muted);margin:24px 0}.nutrition-reference li{font-size:12px}a{color:var(--accent-text)}@media(max-width:380px){.nutrition{flex-direction:column;align-items:flex-start;gap:10px}}

[hidden]{display:none!important}.view-tabs{display:flex;gap:5px;padding:5px;background:var(--soft);border-radius:12px;width:fit-content;margin-bottom:30px}.view-tabs button{background:transparent;border:0;border-radius:8px;padding:10px 22px;color:var(--accent-text);font-size:15px;font-weight:650}.view-tabs button[aria-selected=true]{background:var(--green);color:white}.wellbeing-heading{margin-bottom:30px}.wellbeing-heading>p:last-child{color:var(--muted);max-width:600px}.wellbeing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.habit-card{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:27px}.habit-number{font-size:12px;letter-spacing:.09em;font-weight:750;color:var(--accent-text)}.habit-card h2{font:29px/1.2 Georgia,serif;margin-top:18px}.habit-time{font-size:13px;color:var(--muted)}.habit-card>p:not(.habit-reference):not(.habit-time){font-size:16px}.habit-tip{padding:15px 17px;background:var(--soft);border-radius:10px;font-size:14px}.habit-reference{font-size:13px;color:var(--muted)}.habit-card a{font-size:13px;text-underline-offset:3px}.rest-card{background:#193c35;color:#fff}.rest-card .habit-number,.rest-card .habit-time,.rest-card .habit-reference{color:#c8d7ce}.rest-card .habit-tip{background:#2c5147}.rest-card a{color:var(--yellow)}.daily-rhythm{margin-top:30px;border:1px solid var(--line);border-radius:18px;padding:26px;background:var(--soft)}.daily-rhythm>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:12px}.daily-rhythm p{margin:10px 0;font-size:14px}.daily-rhythm strong,.daily-rhythm span{display:block}.daily-rhythm span{margin-top:8px;color:var(--muted)}.wellbeing-note{font-size:13px;color:var(--muted);margin:20px 0}@media(max-width:720px){.wellbeing-grid{grid-template-columns:1fr}.habit-card{padding:23px}.daily-rhythm>div{grid-template-columns:1fr 1fr}.view-tabs{width:100%;margin-bottom:25px}.view-tabs button{flex:1;padding:11px 14px}.habit-card h2{font-size:27px}}

.diary-top{display:flex;gap:25px;align-items:center;margin:24px 0}.diary-top>div{min-width:200px}.diary-top>p{font-size:13px;color:var(--muted);max-width:610px}.diary-totals{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.diary-totals>div{background:var(--green);color:white;padding:22px 25px;border-radius:16px;display:flex;flex-direction:column}.diary-totals span{font-size:14px}.diary-totals strong{font:36px Georgia,serif;margin:6px 0}.diary-totals small{font-size:12px;color:#dce7dc}.diary-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.diary-block{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.diary-block h2{margin-bottom:22px}.diary-block form label{margin-top:15px}.diary-add{border:0;border-radius:9px;background:var(--yellow);color:var(--ink-on-accent);padding:12px 16px;font-weight:650;font-size:14px}.diary-entry{border-top:1px solid var(--line);padding:16px 0;margin-top:14px;display:flex;align-items:flex-start;gap:15px}.diary-entry>div{flex:1;min-width:0;overflow-wrap:anywhere}.diary-entry strong{display:block;font-size:15px}.diary-entry p{font-size:13px;color:var(--muted);margin:4px 0}.diary-entry button{border:0;background:transparent;color:var(--muted);font-size:13px;text-decoration:underline}.diary-empty{color:var(--muted);font-size:14px;margin-top:22px}#diary-message,#recipe-diary-message{font-size:14px;color:var(--accent-text)}@media(max-width:720px){.diary-top{flex-direction:column;align-items:stretch;gap:5px}.diary-grid{grid-template-columns:1fr}.diary-totals{gap:12px}.diary-totals>div{padding:17px}.diary-totals strong{font-size:29px}.view-tabs button{font-size:13px;padding:10px 9px}}

.daily-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px;align-items:start}.daily-grid .habit-card{padding:23px}.daily-grid h2,.daily-grid h3{font:27px/1.2 Georgia,serif}.daily-grid .recipe-card{margin:0}.daily-grid .habit-card .diary-add{margin-top:15px}.daily-grid .text-button{border:0;padding:0;margin-top:16px;font-size:13px}.daily-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--soft);border-radius:15px;padding:20px 25px;margin-top:25px}.daily-bottom p{font-size:14px;color:var(--muted);max-width:720px;margin:0}.daily-bottom strong{color:var(--ink)}.daily-bottom button{flex-shrink:0}.weekly{margin-top:30px;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:25px}.week-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.week-summary>div{padding:16px;background:var(--soft);border-radius:12px}.week-summary strong{display:block;font:29px Georgia,serif}.week-summary span{font-size:13px;color:var(--muted)}.week-table-wrap{overflow-x:auto}.week-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.week-table caption{text-align:left;font-size:13px;color:var(--muted);margin-bottom:10px}.week-table th,.week-table td{padding:12px 10px;border-bottom:1px solid var(--line)}.week-table thead{font-size:13px;color:var(--muted)}.week-table th:first-child{min-width:110px}.week-table td{min-width:115px}.week-table tr:last-child td,.week-table tr:last-child th{border-bottom:0}button:disabled{opacity:.5;cursor:default}#daily-message{font-size:14px}.view-tabs{flex-wrap:wrap}@media(max-width:960px){.daily-grid{grid-template-columns:1fr 1fr}.daily-recipe{grid-column:1/-1}}@media(max-width:720px){.daily-grid{grid-template-columns:1fr}.daily-recipe{grid-column:auto}.daily-bottom{flex-direction:column;align-items:stretch;padding:20px}.weekly{padding:20px}.week-summary{grid-template-columns:1fr;gap:8px}.week-summary>div{display:flex;align-items:center;gap:15px}.week-summary strong{font-size:25px;min-width:80px}.view-tabs button{flex:1 1 40%;font-size:14px}}

.account-tools{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}#account-dialog{max-width:550px;width:calc(100% - 32px)}#account-dialog input{display:block;width:100%;margin:8px 0 18px}#account-form label,#recovery-form label{display:block;font-weight:600}#account-form button{margin:8px 8px 8px 0}#account-message{color:var(--accent-text)}#account-dialog[open]{max-height:90vh;overflow:auto}button:disabled{opacity:.55;cursor:wait}

.shopping-top{margin:20px 0}.shopping-top .add-row input{width:auto;flex:1;min-width:0}.shopping-top .add-row #shopping-quantity{flex:0 0 110px}.shopping-item span em{font-style:normal;color:var(--muted)}#shopping-locked .empty{min-height:auto;padding:30px}.shopping-tools{display:flex;gap:16px;margin:10px 0 6px}.shopping-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.shopping-item label{display:flex;align-items:center;gap:10px;font-weight:450;margin:0}.shopping-item input[type=checkbox]{width:18px;height:18px}.shopping-item.done span{text-decoration:line-through;color:var(--muted)}.shopping-item button{border:0;background:transparent;color:var(--muted);font-size:20px;padding:0 6px}#shopping-count{font-size:13px;color:var(--muted)}
#delete-account-zone{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}#delete-account-confirm{margin-top:12px}#delete-account-confirm .hint{margin-bottom:10px}#delete-account-input{display:block;margin-bottom:12px}#delete-account-confirm-button{margin-right:16px}
.password-field{position:relative;margin:8px 0 18px}#account-dialog .password-field input{margin:0;padding-right:52px}#account-dialog .password-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;background:transparent;color:var(--accent-text);border:0;border-radius:8px;cursor:pointer}.password-eye:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}.password-eye .eye-slash{display:none}.password-eye[aria-pressed=true] .eye-slash{display:block}

.wellbeing-heading h1{font-size:clamp(30px,4vw,44px);margin:8px 0 14px}.wellbeing-heading{margin-bottom:26px}.daily-grid .habit-card,.daily-grid .recipe-card{box-shadow:0 5px 22px #19352b08}.recipe-serving-bar{display:flex;gap:20px;align-items:center;justify-content:space-between;background:var(--soft);padding:16px;border-radius:14px;margin:20px 0}.recipe-serving-bar label{display:block;font-weight:700;margin-bottom:6px}.recipe-serving-bar select{width:160px}.recipe-serving-bar p{margin:0;max-width:220px}.recipe-ingredient-list{padding:0;list-style:none}.recipe-ingredient-list li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px 0;margin:0}.recipe-ingredient-list small{font-size:12px;text-align:right}.recipe-total{font-size:13px;color:var(--muted)}.member-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.header-actions{gap:8px}.view-tabs{position:sticky;top:0;z-index:2;background:var(--paper);padding:8px 0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}@media(max-width:520px){.recipe-serving-bar{align-items:flex-start;gap:12px}.recipe-serving-bar p{font-size:12px;max-width:145px}.recipe-serving-bar select{width:140px}.header-actions button{font-size:12px;padding:8px}.brand{font-size:14px}.brand .mark{font-size:23px}.view-tabs{gap:5px}.view-tabs button{font-size:12px;padding:10px 6px}.recipe-ingredient-list li{gap:8px}}

.intro h1{font-size:clamp(30px,4vw,42px);margin:8px 0 12px}.intro{margin-bottom:24px}.daily-bottom{border-radius:14px}.recipe-ingredient-list strong{font-variant-numeric:tabular-nums}.browse-catalog{scroll-margin-top:80px}

:root[data-theme=dark] .quantity-missing{color:#edc452}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .quantity-missing{color:#edc452}}

.season-box{background:var(--surface,#f4f7ef);border:1px solid var(--border,#cbd6c4);padding:20px;border-radius:18px;margin:18px 0}.season-box h3{margin:6px 0 14px}.season-box select{padding:8px;border-radius:8px}.season-box #season-produce{line-height:1.8}.season-box .check{margin:12px 0}

/* Le carnet de cuisine : familles, lignes légères et navigation discrète. */
#panel-recipes .intro{margin:8px 0 28px;align-items:center}#panel-recipes .intro h1{font-size:clamp(30px,3.2vw,42px);line-height:1.15}#panel-recipes .intro img{width:220px;height:135px;border-radius:3px;max-width:25%;filter:saturate(.8)}#panel-recipes .intro p:not(.eyebrow){font-size:16px}#panel-recipes .eyebrow{font-size:12px;font-weight:500;letter-spacing:.17em}
#panel-recipes .browse-catalog{margin:0;padding:0;border:0}#panel-recipes .browse-catalog>.section-top{margin:0 0 16px}#panel-recipes .browse-catalog>.section-top h2{font:26px/1.2 Georgia,serif;font-weight:400}#panel-recipes .browse-bar{margin:0 0 18px;gap:20px}#panel-recipes #recipe-search{border-radius:0;border-width:0 0 1px;background:transparent;padding:12px 0;font-size:16px}#panel-recipes .browse-fav{font-size:14px;color:var(--muted);font-weight:400}
#panel-recipes .filter-chips{gap:22px;flex-wrap:wrap;margin:0;border-bottom:1px solid var(--line)}#panel-recipes .filter-chip{border:0;border-radius:0;padding:9px 0 12px;background:transparent;color:var(--muted);font-size:14px;font-weight:450;position:relative}#panel-recipes .filter-chip[aria-pressed=true]{color:var(--ink);background:transparent}#panel-recipes .filter-chip[aria-pressed=true]::after{content:'';height:2px;background:var(--accent-text);position:absolute;left:0;right:0;bottom:-1px}
#panel-recipes .season-box{background:transparent;border:0;border-radius:0;padding:12px 0;margin:0 0 28px;border-bottom:1px solid var(--line)}.season-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.season-caption{font:italic 18px Georgia,serif;color:var(--muted)}#panel-recipes .season-box select{width:auto;min-width:135px;background:transparent;border:0;padding:8px 12px;font-size:14px}#panel-recipes .season-box .check{margin:0 0 0 auto;font-size:14px;font-weight:400}.season-details{margin-top:8px;color:var(--muted);font-size:14px}.season-details summary{cursor:pointer;font-size:14px}.season-details[open]{max-width:720px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#browse-area.browse-grid{display:block}.recipe-collection{margin-bottom:36px;scroll-margin-top:90px}.collection-heading{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-bottom:8px}.collection-heading h3{font:28px/1.2 Georgia,serif;font-weight:400;margin:0}.collection-heading>span{font-size:13px;color:var(--muted)}.collection-recipes{display:grid;grid-template-columns:1fr 1fr;column-gap:42px}.recipe-entry{position:relative;border-bottom:1px solid var(--line);padding:22px 65px 22px 0;min-width:0;display:flex;align-items:center}.entry-copy{min-width:0}.recipe-entry .entry-meta{font-size:12px;color:var(--muted);letter-spacing:.04em;margin:0 0 8px}.recipe-entry h4{margin:0}.recipe-title-button{font:22px/1.25 Georgia,serif;font-weight:400;text-align:left;background:none;color:var(--ink);border:0;padding:0;max-width:100%}.recipe-title-button:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.recipe-entry .entry-ingredients{font-size:14px;color:var(--muted);margin:8px 0 0}.recipe-entry .entry-calories{font-size:13px;color:var(--muted);margin:5px 0 0}.entry-calories span{font-size:12px}.recipe-entry .fav-toggle{top:17px;right:0;width:38px;height:38px;border:0;background:transparent;color:var(--muted);font-size:22px}.recipe-entry .fav-toggle[aria-pressed=true]{color:var(--accent-text)}.entry-open{position:absolute;right:0;bottom:24px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--accent-text)}.entry-open:hover{background:var(--soft)}.collection-more{border:0;border-bottom:1px solid var(--line);padding:8px 0;margin-top:14px;background:transparent;color:var(--accent-text);font-size:14px}.pantry-drawer{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.pantry-drawer>summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;font:25px Georgia,serif;padding-bottom:20px}.pantry-drawer>summary::after{content:'+';font:25px system-ui}.pantry-drawer[open]>summary::after{content:'−'}.pantry-summary-note{font:14px system-ui;color:var(--muted);margin-left:auto}.pantry-drawer .workspace{padding-top:12px}
@media(max-width:720px){#panel-recipes .intro{margin:0 0 26px;gap:20px}#panel-recipes .intro h1{font-size:31px}#panel-recipes .intro img{height:110px;width:90px;max-width:25%}#panel-recipes .intro p:not(.eyebrow){font-size:14px}#panel-recipes .filter-chips{gap:20px;flex-wrap:nowrap;overflow:auto;padding-top:2px}#panel-recipes .filter-chip{white-space:nowrap;flex-shrink:0}#panel-recipes .season-box .check{margin-left:0}.season-controls{gap:8px 16px}.season-caption{font-size:16px}#panel-recipes .season-box select{min-width:120px}.season-details{margin-top:12px}.collection-recipes{grid-template-columns:1fr}.collection-heading h3{font-size:25px}.recipe-entry{padding-top:20px;padding-bottom:20px}.recipe-title-button{font-size:23px}.pantry-summary-note{display:none}.pantry-drawer>summary{font-size:23px}.recipe-collection{margin-bottom:32px}#panel-recipes .browse-bar{gap:12px}.browse-fav{margin-left:auto!important}}
@media(prefers-reduced-motion:no-preference){.recipe-entry{transition:background .15s}.recipe-title-button{transition:color .15s}}

@media(max-width:720px){.view-tabs{flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:4px;scrollbar-width:none}.view-tabs::-webkit-scrollbar{display:none}.view-tabs button{flex:0 0 auto;white-space:nowrap;padding:11px 15px}#panel-recipes .browse-bar{display:grid;grid-template-columns:1fr;gap:10px}#panel-recipes #recipe-search{width:100%;min-width:0}#panel-recipes .browse-fav{justify-self:end;margin:0!important}.filter-chips{scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}}

.sport-heading{margin-bottom:30px}.sport-heading h1{font-size:clamp(34px,4vw,47px)}.sport-library{margin-bottom:44px}.sport-library>.section-top h2,.wellbeing-section-heading h2{font:28px/1.2 Georgia,serif;font-weight:400}.sport-filters{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.sport-filters button{position:relative;border:0;background:transparent;color:var(--muted);padding:10px 0 12px;font-size:14px;white-space:nowrap}.sport-filters button[aria-pressed=true]{color:var(--ink)}.sport-filters button[aria-pressed=true]::after{content:'';height:2px;background:var(--accent-text);position:absolute;left:0;right:0;bottom:-1px}.sport-library>.hint{margin:14px 0 18px;font-size:14px;max-width:720px}.sport-sessions{display:grid;grid-template-columns:1fr 1fr;gap:0 42px;align-items:start}.sport-session{border-bottom:1px solid var(--line)}.sport-session>summary{display:flex;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;list-style:none}.sport-session>summary::-webkit-details-marker{display:none}.sport-session-copy{display:flex;flex-direction:column;gap:7px}.sport-session-meta{font-size:12px;letter-spacing:.03em;color:var(--muted)}.sport-session-title{font:24px/1.2 Georgia,serif;color:var(--ink)}.sport-session-subtitle{font-size:14px;color:var(--muted)}.sport-expand{font:24px system-ui;color:var(--accent-text)}.sport-session[open] .sport-expand{font-size:0}.sport-session[open] .sport-expand::after{content:'−';font-size:24px}.sport-session-detail{padding:0 25px 24px 0;font-size:16px}.sport-session-detail ol{padding-left:22px;margin:10px 0 20px}.sport-session-detail li{padding:0 0 10px 5px}.sport-gear{font-size:14px;color:var(--muted);margin:0}.sport-log{border:1px solid var(--line);background:var(--surface);color:var(--accent-text);padding:11px 15px;border-radius:4px;font-size:14px}.sport-source{font-size:14px;color:var(--muted);margin-top:20px}.sport-photo{margin:20px 0 0;border-radius:12px;overflow:hidden;background:var(--soft);height:150px}.sport-photo img{display:block;width:100%;height:100%;object-fit:cover}.stretch-illustration{margin:20px 0 0;border-radius:12px;background:var(--soft);height:150px;display:flex;align-items:center;justify-content:center;padding:16px}.stretch-illustration svg{width:100%;height:100%;max-width:150px}.si-line{stroke:var(--accent-text);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;fill:none}.si-head{stroke:var(--accent-text);stroke-width:5;fill:var(--surface)}.si-floor{stroke:var(--line);stroke-width:3;stroke-linecap:round}.si-wall,.si-seat,.si-screen{stroke:var(--muted);stroke-width:4;stroke-linecap:round;fill:none}.si-arrow{stroke:var(--accent-text);stroke-width:4.5;stroke-linecap:round;fill:none;opacity:.55}.si-arrow-head{fill:var(--accent-text);opacity:.55}.wellbeing-section-heading{border-top:1px solid var(--line);padding-top:28px;margin-bottom:24px}@media(max-width:720px){.sport-sessions{grid-template-columns:1fr}.sport-session-title{font-size:23px}.sport-session>summary{padding:20px 0}.sport-session-detail{padding-right:0}.sport-filters{gap:22px}.sport-library>.section-top{align-items:baseline}.sport-heading h1{font-size:34px}}

.energy-fields{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:18px 0}.energy-preview{font:22px/1.35 Georgia,serif;color:var(--ink)}.energy-explanation{font-size:14px;color:var(--muted)}.energy-explanation summary{cursor:pointer}.diary-totals{grid-template-columns:repeat(3,1fr)}@media(max-width:720px){.diary-totals{grid-template-columns:1fr}.energy-preview{font-size:21px}}

.entry-budget{font-size:14px;color:var(--accent-text);margin:8px 0 0}.entry-budget span{color:var(--muted);font-size:12px}.budget-note{font-size:14px;color:var(--muted);margin:-10px 0 26px;max-width:750px}.recipe-budget{margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}.recipe-budget strong{font:24px Georgia,serif}.price-settings{border-top:1px solid var(--line);margin-top:28px;padding:22px 0;scroll-margin-top:90px}.price-settings>summary{cursor:pointer;font:24px Georgia,serif}.price-settings>.hint{max-width:750px;margin-top:18px;font-size:14px}.price-editor{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.price-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);margin:0;font-size:16px;font-weight:400}.price-row small{display:block;font-size:12px;color:var(--muted)}.price-row input{max-width:100px!important;text-align:right}.price-settings #price-status{font-size:14px;color:var(--muted)}@media(max-width:720px){.price-editor{grid-template-columns:1fr}.budget-note{margin-top:0}}
.recipe-photo{margin:0;position:relative;overflow:hidden;border-radius:12px;background:var(--soft)}.recipe-photo img{display:block;width:100%;height:100%;object-fit:cover}.recipe-photo figcaption{position:absolute;bottom:5px;right:5px;padding:2px 6px;border-radius:4px;background:#19352bcc;color:white;font-size:10px;line-height:1.2}.recipe-entry .recipe-photo{width:92px;height:92px;flex:0 0 92px;margin-right:16px}.recipe-card>.recipe-photo{width:100%;height:160px;margin-bottom:16px}.recipe-photo-detail{width:100%;height:230px;margin:4px 0 20px}.recipe-photo-daily{width:100%;height:170px;margin:10px 0 16px}@media(max-width:720px){.recipe-entry .recipe-photo{width:76px;height:76px;flex-basis:76px;margin-right:12px}.recipe-photo-detail{height:190px}}

/* Two clear recipe paths, with all destinations reachable on a phone. */
.nav-compact{display:none}
.recipe-mode-switch{display:grid;grid-template-columns:1fr 1fr;max-width:620px;gap:6px;padding:6px;margin:0 0 28px;background:var(--soft);border:1px solid var(--line);border-radius:14px}
.recipe-mode-switch button{min-width:0;min-height:48px;border:0;border-radius:10px;padding:12px 16px;color:var(--ink);background:transparent;font-size:16px;font-weight:600}
.recipe-mode-switch button[aria-pressed=true]{background:var(--green);color:white}
#panel-recipes .intro{margin-bottom:22px}#panel-recipes .intro h1{font-size:clamp(28px,3.2vw,38px)}
#panel-recipes .workspace{grid-template-columns:minmax(0,420px) minmax(0,1fr)}
.pantry-preferences{margin:20px 0;padding:14px 0;border-block:1px solid var(--line)}
.pantry-preferences>summary,.catalog-options>summary,.catalog-season>summary{cursor:pointer;font-size:15px;font-weight:600;min-height:44px;align-content:center}
.pantry-preferences fieldset{margin-top:14px;border:0;padding:0}
#panel-recipes #browse-filters{display:block;border:0;overflow:visible;padding:0;margin:16px 0}
.recipe-category-options,.recipe-extra-options{display:flex;flex-wrap:wrap;gap:8px}
#panel-recipes #browse-filters button{position:relative;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px 14px;margin:0;background:var(--surface);font-size:14px;color:var(--ink);white-space:normal;font-weight:500}
#panel-recipes #browse-filters button[aria-pressed=true]{border-color:var(--accent-text);background:var(--soft);color:var(--accent-text)}
#panel-recipes #browse-filters button::after{display:none}
.catalog-options,.catalog-season{border-bottom:1px solid var(--line);padding:6px 0;margin-top:12px}
.recipe-extra-options{padding:8px 0 16px}
.filter-group{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.filter-group:first-child{margin-top:6px;padding-top:0;border-top:0}.filter-group-label{font-size:12px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.filter-group .cash-budget-fields{margin-top:10px}
#panel-recipes .season-box{margin:8px 0 14px;border:0;padding:0}
#panel-recipes .budget-note{margin:18px 0 24px;font-size:14px}
#panel-recipes #show-all-recipes{min-height:44px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-text);font-size:14px}
#panel-recipes .collection-more{min-height:44px;padding:12px 0}
#panel-recipes .browse-catalog .section-top{flex-wrap:wrap;align-items:baseline}
main>section,main>div,.workspace>*{min-width:0}
.recipe-title-button,.shopping-item span,.brand,.habit-card,.recipe-card,footer{overflow-wrap:anywhere}
button,a,input,select,summary{touch-action:manipulation}
.recipe-ingredient-list li>span{min-width:0}.recipe-ingredient-list small{flex-shrink:0;max-width:40%;overflow-wrap:anywhere}
@media(max-width:960px){#panel-recipes .workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:720px){
 main{padding:22px 16px calc(96px + env(safe-area-inset-bottom))}
 header{flex-wrap:wrap;gap:12px;padding-left:16px;padding-right:16px}
 .brand{gap:8px;font-size:15px}.header-actions{gap:6px}.header-actions button{min-height:40px;font-size:13px}
 .view-tabs{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;width:100%;margin:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-radius:0;background:var(--surface);overflow:visible}
 .view-tabs button{min-width:0;min-height:48px;width:100%;padding:8px 2px;font-size:13px;white-space:normal;border-radius:8px}
 .nav-full{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-compact{display:block}
 #panel-recipes .intro{align-items:flex-start;gap:16px;margin-bottom:20px}#panel-recipes .intro>div{min-width:0;flex:1}
 #panel-recipes .intro h1{font-size:30px;line-height:1.15}#panel-recipes .intro p:not(.eyebrow){font-size:16px}
 #panel-recipes .intro img{width:80px;height:96px;max-width:24%;border-radius:8px}
 .recipe-mode-switch{margin-bottom:22px;gap:4px;padding:4px}.recipe-mode-switch button{font-size:14px;padding:10px 8px;min-height:48px}
 #panel-recipes .workspace{grid-template-columns:minmax(0,1fr);gap:24px}
 .pantry{padding:20px 16px;border-radius:14px}.pantry .section-top{flex-wrap:wrap;gap:6px;margin-bottom:16px}.pantry .section-top h2{font:24px Georgia,serif}
 input:not([type=radio]):not([type=checkbox]),select{font-size:16px}
 .settings{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 .add-row{min-width:0}.add-row input{min-width:0}.add-row button{flex-shrink:0;min-height:44px}
 .pantry-item .name{overflow-wrap:anywhere}.pantry-item input{max-width:75px}.pantry-item .remove{min-width:36px;min-height:44px}
 #panel-recipes .results .section-top h2{font:25px Georgia,serif}.results{scroll-margin-top:20px}
 #panel-recipes .recipe-category-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
 #panel-recipes #browse-filters .recipe-category-options button{font-size:13px;padding:10px 3px}
 #panel-recipes .recipe-extra-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.budget-custom{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0 4px}.budget-custom label{font-size:13px;font-weight:650;margin:0;white-space:nowrap}.budget-custom input{width:90px;flex:0 0 auto}.budget-custom span{font-size:13px;color:var(--muted)}
 #panel-recipes #browse-filters .recipe-extra-options button{font-size:14px;padding:10px}
 #panel-recipes .browse-catalog>.section-top h2{font-size:26px}
 #catalogue-preview-note{font-size:14px;max-width:36rem}
 .collection-heading{align-items:center;flex-wrap:wrap}.collection-title{display:flex;align-items:center;gap:12px}.collection-icon{width:36px;height:36px;flex-shrink:0;border-radius:10px;background:var(--green);color:var(--yellow);display:flex;align-items:center;justify-content:center}.collection-heading h3{font-size:25px}
 .recipe-entry{padding-right:52px}.recipe-entry .fav-toggle,.entry-open{width:44px;height:44px}.recipe-title-button{font-size:23px;min-height:44px}
 .recipe-serving-bar{flex-wrap:wrap}.recipe-serving-bar>div{min-width:0}.recipe-serving-bar p{max-width:none;font-size:14px}
 dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:20px 16px;margin:auto;border-radius:16px}
 dialog h2{font-size:28px}.dialog-top button{min-width:44px;min-height:44px}
 .shopping-top .add-row{flex-wrap:wrap}.shopping-top .add-row #shopping-name{flex:1 1 100%}.shopping-top .add-row #shopping-quantity{flex:1 1 50%}
 .shopping-item label{min-width:0;flex:1}.shopping-item input[type=checkbox]{flex-shrink:0}
 .daily-rhythm>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .week-table-wrap{max-width:100%}.diary-top>div{min-width:0}.diary-block,.weekly{padding:20px 16px}
 .habit-card,.daily-grid .habit-card{padding:22px 18px}.sport-filters{flex-wrap:wrap;gap:8px 18px;overflow:visible}.sport-filters button{min-height:44px}
 #panel-wellbeing .rest-card{scroll-margin-top:20px}
}
@media(max-width:360px){.header-actions{width:100%;justify-content:flex-end}.recipe-mode-switch button{font-size:14px}.pantry-item{gap:4px}.pantry-item .unit{font-size:12px}.recipe-ingredient-list li{flex-wrap:wrap}.recipe-ingredient-list small{max-width:100%;text-align:left}}

#panel-recipes .browse-fav{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%}#panel-recipes .browse-fav input{width:18px;height:18px;flex:0 0 18px;margin:0}

/* A unified, soft-edged kitchen notebook. */
button{border-radius:10px}
.primary,.diary-add,.add-row button,.theme-toggle,#panel-recipes #show-all-recipes{border-radius:12px}
.recipe-taste-switch{display:flex;gap:10px;max-width:420px;margin:4px 0 20px}
.recipe-taste-switch button{display:flex;justify-content:center;align-items:center;gap:10px;flex:1;min-height:48px;border:1px solid var(--line);padding:12px 20px;background:var(--surface);color:var(--ink);border-radius:12px;font-size:16px;font-weight:650}
.recipe-taste-switch button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}
.recipe-taste-switch span{font-size:13px;font-weight:450;opacity:.85}
#panel-recipes .recipe-category-options{grid-template-columns:repeat(4,minmax(0,1fr))}
#panel-recipes #browse-filters button{border-radius:10px}
#panel-recipes .intro img{border-radius:14px}
.collection-recipes{gap:12px 24px}
.recipe-entry{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 64px 22px 20px;align-items:flex-start}
.recipe-entry .entry-meta{font-size:13px;letter-spacing:0}
.recipe-entry .fav-toggle{right:10px;top:12px;border-radius:50%}
.recipe-entry .entry-open{right:10px;bottom:16px;border-radius:50%}
.recipe-title-button{border-radius:0}
#panel-recipes .pantry{border-radius:18px}
#panel-recipes .browse-catalog>.section-top h2{font-size:30px}
.catalog-options,.catalog-season{padding:10px 0}
@media(max-width:720px){.recipe-entry{padding:20px 56px 20px 16px;border-radius:14px}.recipe-entry .fav-toggle,.recipe-entry .entry-open{right:6px}.recipe-taste-switch{max-width:none;margin-bottom:18px}.recipe-taste-switch button{padding:12px 16px}#panel-recipes .browse-catalog>.section-top h2{font-size:28px}}
@media(prefers-reduced-motion:no-preference){.recipe-entry{transition:border-color .16s,box-shadow .16s}.recipe-entry:hover{border-color:var(--accent-text);box-shadow:0 5px 18px #19352b08}}
#panel-recipes .browse-fav input{min-width:18px;max-width:18px}
#panel-recipes:has(#recipes-catalogue:not([hidden]))>.intro{display:none}
#catalogue-preview-note{display:none}

.cash-budget{padding:22px;background:#eff5ef;border:1px solid #dbe5dc;border-radius:18px;margin:20px 0}.cash-budget h3{margin-top:0}.cash-budget-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.cash-budget-fields label{display:grid;gap:6px;font-size:14px}.cash-budget-fields input{width:130px}.cash-budget-fields select{min-width:130px}.cash-currency{padding-bottom:12px}.cash-budget #budget-feedback{font-size:14px;color:#32553d}.purchase-detail{padding:16px;border-radius:14px;background:#f1f5ee;margin:16px 0}.purchase-detail li{margin:8px 0}.purchase-detail small{display:block;color:#637061}.price-editor .price-row{display:block;padding:14px;border-bottom:1px solid #ddd}.price-row label{display:flex;align-items:center;justify-content:space-between;gap:10px}.price-row input{width:100px;min-width:0}.price-format{font-size:12px;margin:8px 0}.price-row>small{display:block;font-size:12px;line-height:1.5}.cash-budget-fields button{border-radius:12px}@media(max-width:420px){.cash-budget{padding:16px}.cash-budget-fields{gap:8px}.cash-budget-fields input{width:105px}.cash-budget-fields select{min-width:110px}.cash-budget-fields button{width:100%}.price-row input{width:85px}}

[data-theme="dark"] .cash-budget,[data-theme="dark"] .purchase-detail{background:#22382c;border-color:#405247}[data-theme="dark"] .cash-budget #budget-feedback,[data-theme="dark"] .purchase-detail small{color:#c4dbca}

@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .cash-budget,:root:not([data-theme="light"]) .purchase-detail{background:#22382c;border-color:#405247}:root:not([data-theme="light"]) .cash-budget #budget-feedback,:root:not([data-theme="light"]) .purchase-detail small{color:#c4dbca}}

/* Direction 2026 : studio éditorial profond, graphiques de données en relief. */
:root{--forest-deep:#0f352d;--forest-mid:#1d5948;--lime:#b9e06f;--sun:#f3c85b;--chart-shadow:rgba(8,32,26,.28)}
body{background:radial-gradient(circle at 84% 5%,rgba(185,224,111,.12),transparent 25rem),var(--paper)}
header{position:relative;z-index:8;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px)}
.brand .mark{box-shadow:0 7px 20px rgba(15,53,45,.18);transform:rotate(-4deg)}
.view-tabs{box-shadow:0 12px 32px rgba(15,53,45,.08)}
.today-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.82fr);align-items:stretch;gap:42px;margin:10px 0 34px}
.today-hero .wellbeing-heading{align-self:center;margin:0;padding:18px 0}
.today-hero h1{font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-.045em;max-width:660px}
.today-hero h1 em{color:var(--accent-text);font-weight:400}
.today-hero .wellbeing-heading>p:last-child{font-size:18px;line-height:1.65;max-width:560px}
.week-spark-card{position:relative;isolation:isolate;overflow:hidden;min-height:335px;padding:27px 28px 21px;border-radius:28px;background:linear-gradient(145deg,#123b31,#1b5847 68%,#286d56);color:#fff;box-shadow:0 25px 60px rgba(15,53,45,.24)}
.week-spark-card::before{content:"";position:absolute;z-index:-1;width:250px;height:250px;border-radius:50%;right:-70px;top:-100px;background:radial-gradient(circle,rgba(185,224,111,.28),transparent 68%)}
.spark-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.spark-head span,.chart-title span{display:block;font-size:11px;letter-spacing:.13em;font-weight:800;opacity:.7}.spark-head h2{font:28px/1.15 Georgia,serif;margin:8px 0 0}.spark-head strong{font:25px/1 Georgia,serif;color:var(--lime);white-space:nowrap}.week-spark-card>p{margin:9px 0 0;font-size:12px;color:#c7dcd3}
.daily-grid .recipe-card,.daily-grid .habit-card{border-radius:23px;box-shadow:0 18px 45px rgba(15,53,45,.07);transition:transform .25s ease,box-shadow .25s ease}.daily-grid .rest-card{background:linear-gradient(145deg,#123b31,#1a4e41)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.daily-grid .recipe-card:hover,.daily-grid .habit-card:hover{transform:translateY(-5px);box-shadow:0 25px 55px rgba(15,53,45,.13)}}
.diary-totals>div{position:relative;overflow:hidden;background:linear-gradient(145deg,#123b31,#1d5948);box-shadow:0 15px 35px rgba(15,53,45,.14)}.diary-totals>div::after{content:"";position:absolute;width:90px;height:90px;right:-28px;bottom:-40px;border-radius:50%;background:rgba(185,224,111,.12)}
.weekly{border-radius:25px;box-shadow:0 22px 55px rgba(15,53,45,.08)}
.insight-charts{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin:22px 0}
.insight-chart-card{min-width:0;border-radius:20px;padding:22px;background:linear-gradient(150deg,#f0f5ed,#e7f0e8);border:1px solid #d7e4d7}.chart-card-meals{background:linear-gradient(150deg,#fff8e4,#f7ebc8);border-color:#ecdfb7}
.chart-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.chart-title h3{font:25px/1.2 Georgia,serif;margin:5px 0 0}.chart-title i{width:11px;height:11px;border-radius:50%;background:var(--forest-mid);box-shadow:0 0 0 7px rgba(29,89,72,.1)}.chart-card-meals .chart-title i{background:#c98a25;box-shadow:0 0 0 7px rgba(201,138,37,.11)}
.chart-3d{--bar-front:#2f8066;--bar-side:#1b5947;--bar-top:#b9e06f;display:grid;grid-template-columns:repeat(7,minmax(24px,1fr));align-items:end;gap:clamp(10px,2vw,20px);height:220px;padding:36px 16px 28px 4px;perspective:800px;transform-style:preserve-3d;border-bottom:1px solid rgba(25,53,43,.18);background:repeating-linear-gradient(to top,transparent 0,transparent 54px,rgba(25,53,43,.08) 55px)}
.chart-card-meals .chart-3d{--bar-front:#e0a23e;--bar-side:#a76b20;--bar-top:#ffe198}
.chart-column{position:relative;height:max(8px,var(--height));min-height:8px;transform-style:preserve-3d;transform:rotateX(-5deg) rotateY(-13deg);transform-origin:bottom center;filter:drop-shadow(10px 11px 8px var(--chart-shadow));transition:height .55s cubic-bezier(.2,.8,.2,1)}
.chart-column::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bar-front),color-mix(in srgb,var(--bar-front) 72%,#fff));border-radius:5px 5px 2px 2px;transform:translateZ(8px)}
.chart-column::after{content:"";position:absolute;left:8px;top:0;width:100%;height:100%;background:var(--bar-side);transform-origin:left center;transform:rotateY(90deg);border-radius:0 4px 4px 0}
.chart-column .bar-top{position:absolute;z-index:2;left:0;top:-8px;width:100%;height:16px;background:var(--bar-top);transform:translateZ(8px) rotateX(70deg);transform-origin:bottom;border-radius:5px}
.chart-column .bar-value{position:absolute;z-index:3;top:-31px;left:50%;transform:translateX(-50%) translateZ(16px) rotateY(13deg);font-size:12px;font-weight:800;color:var(--ink);white-space:nowrap}
.chart-column .bar-label{position:absolute;z-index:3;bottom:-29px;left:50%;transform:translateX(-50%) translateZ(12px) rotateY(13deg);font-size:11px;font-weight:700;color:var(--muted);text-transform:capitalize}
.chart-3d-compact{--bar-front:#7ecb9d;--bar-side:#39775f;--bar-top:#c8f083;height:202px;margin-top:10px;padding:43px 8px 27px;border-bottom-color:rgba(255,255,255,.18);background:repeating-linear-gradient(to top,transparent 0,transparent 48px,rgba(255,255,255,.08) 49px)}.chart-3d-compact .chart-column .bar-value,.chart-3d-compact .chart-column .bar-label{color:#fff}.chart-3d-compact .chart-column{filter:drop-shadow(8px 10px 7px rgba(0,0,0,.24))}
.week-details{border-top:1px solid var(--line);padding-top:16px;margin-top:25px}.week-details>summary{cursor:pointer;font-size:14px;font-weight:750;color:var(--accent-text);margin-bottom:14px}.week-details .week-table-wrap{margin-top:8px}
[data-theme=dark] .insight-chart-card{background:linear-gradient(150deg,#1c3129,#243c32);border-color:#355044}[data-theme=dark] .chart-card-meals{background:linear-gradient(150deg,#342d1d,#413722);border-color:#594a2c}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .insight-chart-card{background:linear-gradient(150deg,#1c3129,#243c32);border-color:#355044}:root:not([data-theme=light]) .chart-card-meals{background:linear-gradient(150deg,#342d1d,#413722);border-color:#594a2c}}
@media(max-width:900px){.today-hero{grid-template-columns:1fr;gap:18px}.today-hero .wellbeing-heading{padding:4px 0}.week-spark-card{min-height:300px}.insight-charts{grid-template-columns:1fr}}
@media(max-width:720px){.today-hero{margin-top:0}.today-hero h1{font-size:43px}.today-hero .wellbeing-heading>p:last-child{font-size:16px}.week-spark-card{padding:23px 18px;border-radius:22px}.spark-head h2{font-size:24px}.chart-3d{height:190px;gap:8px;padding-left:0;padding-right:4px}.insight-chart-card{padding:18px 14px}.chart-title h3{font-size:22px}.chart-column .bar-value{font-size:10px}.chart-column .bar-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.chart-column{transition:none;transform:rotateY(-10deg)}.daily-grid .recipe-card,.daily-grid .habit-card{transition:none}}
.photo-meal{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:24px}.photo-meal>summary{cursor:pointer;font-weight:650;font-size:15px;list-style:none;display:flex;align-items:center;gap:9px}.photo-meal>summary::-webkit-details-marker{display:none}.photo-meal[open]{padding-bottom:18px}.photo-meal label{margin-top:15px}.beta-tag{font-size:11px;font-weight:750;letter-spacing:.04em;background:var(--yellow);color:var(--ink-on-accent);padding:2px 8px;border-radius:20px}#meal-photo-preview{max-width:220px;max-height:220px;border-radius:12px;object-fit:cover;margin:12px 0;display:block}#meal-photo-analyze{margin-top:12px}.photo-portion-choices{display:flex;gap:8px;margin:6px 0}.portion-choice{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:20px;padding:7px 14px;font-size:13px}.portion-choice[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}#meal-photo-status{font-size:14px;color:var(--accent-text);margin:10px 0}#meal-photo-add{margin-top:15px}.photo-known-dishes{margin:14px 0}.photo-known-dishes>summary{cursor:pointer;font-weight:650;font-size:14px;list-style:none}.photo-known-dishes>summary::-webkit-details-marker{display:none}.photo-known-dishes .hint{margin:8px 0}#meal-photo-known-list{font-style:italic}.photo-tier-choice{margin:16px 0;display:grid;gap:10px}.photo-tier-option{border:1px solid var(--line);border-radius:10px;padding:10px 13px}.photo-tier-option.photo-tier-soon{opacity:.82;border-style:dashed}.photo-tier-name{font-weight:650;font-size:14px;margin:0 0 4px;display:flex;align-items:center;gap:8px}.photo-tier-option .hint{margin:0}.soon-tag{font-size:11px;font-weight:750;letter-spacing:.03em;background:var(--soft);color:var(--muted);border:1px solid var(--line);padding:2px 8px;border-radius:20px}
.daily-reminder{border:1px solid var(--line);border-radius:15px;padding:20px 25px;margin-top:16px}.daily-reminder h2{font:22px/1.2 Georgia,serif;margin-bottom:14px}.daily-reminder .check{margin:0 0 4px}#reminder-time-row{display:flex;align-items:center;gap:10px;margin:12px 0 4px}#reminder-time-row label{margin:0;white-space:nowrap}#reminder-time{width:auto}#reminder-note{margin:10px 0 0}@media(max-width:720px){.daily-reminder{padding:18px}}
