:root{font-family:system-ui,sans-serif;color:#173e29;background:#fff9ec;font-size:16px}*{box-sizing:border-box}body{margin:0}header,main,aside,nav{max-width:760px;margin:auto}header{display:flex;align-items:center;gap:14px;padding:24px}header strong{font:700 1.5rem Georgia,serif}small{display:block;font-size:.88rem;margin-top:5px}.mark{width:68px;height:68px;flex-shrink:0;display:grid;place-items:center;background:#1e4d2b;color:#f4c430;border-radius:50%;font:700 1.2rem Georgia}aside{padding:10px 24px;background:#f7e9bc;font-size:.85rem}main{padding:24px 24px 120px}h1{font:700 2rem Georgia;margin:8px 0 20px}h2{font-size:1.15rem}p{line-height:1.6}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #b7c6b7;border-radius:14px;background:white;color:#173e29;padding:14px 18px;min-height:48px}button.primary{background:#1e4d2b;color:white;border:0;width:100%;margin-top:16px;font-weight:650}button:hover{filter:brightness(.94)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c58108;outline-offset:3px}label{display:block;margin:16px 0 6px;font-weight:600}input,select{display:block;width:100%;padding:14px;border:1px solid #a6b4a5;border-radius:10px;background:#fffef8;color:#173e29}.card{background:white;border:1px solid #dedfcf;border-radius:20px;padding:20px;margin:16px 0}.muted{color:#576958;font-size:.9rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric{background:#eaf0dc;border-radius:16px;padding:18px;min-width:0}.metric b{display:block;font:700 2rem Georgia;margin:8px 0;overflow-wrap:anywhere}.tag{display:inline-block;background:#f9df86;color:#173e29;border-radius:20px;padding:5px 10px;font-size:.85rem}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.notice{padding:14px;background:#e4f0dd;border-radius:12px}.hero{background:#1e4d2b;color:white;border-radius:24px;padding:24px}.hero button{background:#f4c430;border:0;font-weight:bold}nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fffef8;border-top:1px solid #ddd;padding:8px 8px max(8px,env(safe-area-inset-bottom))}nav button{border:0;background:transparent;padding:8px;font-size:24px}nav span{display:block;font-size:.8rem}nav button[aria-current=page]{background:#f8df88}ul{padding-left:20px}li{margin:10px 0}a{color:inherit}.empty{text-align:center;padding:30px} @media(min-width:800px){main{padding-top:36px}header{padding-top:32px}.grid{gap:20px}} @media(max-width:380px){header strong{font-size:1.2rem}main{padding:16px 16px 115px}.metric{padding:12px}}
/* Phase 2: keep five navigation entries on one mobile row. */ nav{grid-template-columns:repeat(5,minmax(0,1fr))}nav button{min-width:0;padding:8px 2px}nav span{font-size:.72rem;overflow-wrap:anywhere}button:disabled{opacity:.55;cursor:not-allowed}

.metric b.unavailable{font:600 .95rem system-ui,sans-serif;overflow-wrap:normal} .card button{margin:3px 0} summary{cursor:pointer;min-height:44px;padding:10px 0} .card h2{overflow-wrap:anywhere}

@media(max-width:500px){.grid.card{padding:12px;gap:8px}.grid.card .metric{padding:12px}.grid.card .metric b:not(.unavailable){font-size:1.65rem}}
.date-planned{border-left:4px dashed #9a6500;padding-left:10px;background:#fff5db}.date-actual,.date-real{border-left:4px solid #32704b;padding-left:10px;background:#eaf7ee}.date-estimated{border-left:4px dotted #69508c;padding-left:10px;background:#f3edfa}fieldset{border:1px solid #cad8ca;border-radius:12px;margin:12px 0;min-width:0}input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}#culture-editor:empty{display:none}.culture-actions{display:grid;gap:4px}small,article p{overflow-wrap:anywhere}

/* Historique et statistiques */
.stat-line{padding:12px 0;border-bottom:1px solid #dedfcf;overflow-wrap:anywhere}.stat-line>strong,.stat-line>span{display:block}.stat-month{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid #dedfcf}.stat-month meter{width:100%;height:18px;accent-color:#32704b}.stat-month span{font-size:.9rem}.stat-line h3{font-size:1rem}

/* Calendrier : gestes lisibles et dates incertaines séparées. */
nav{grid-template-columns:repeat(6,minmax(0,1fr))}.calendar-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.calendar-tabs [aria-pressed=true],.current-day{background:#f9df86;border-color:#9a6500}.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:20px 0}.calendar-month>strong{text-align:center}.calendar-month button{padding:5px 1px;border-radius:8px;font-size:.9rem;min-width:0}.calendar-month small{font-size:.65rem}.calendar-month [hidden]{display:none}.calendar-entry h3{margin:4px 0;overflow-wrap:anywhere}.calendar-entry p{margin:8px 0}.late{background:#ffe0d7;color:#7e2915}#calendar-period{display:block}#calendar-period button{margin-top:8px}#calendar-editor:empty{display:none}@media(min-width:600px){.calendar-tabs{grid-template-columns:repeat(4,1fr)}}

nav{grid-template-columns:repeat(5,minmax(0,1fr))}.settings-button{margin-left:auto;padding:8px 12px}header>div{min-width:0}header{gap:10px}

.agronomy {overflow-wrap:anywhere}.agronomy h3{font-size:1rem}.agronomy-details>div{border-top:1px solid #ddd;padding-block:.6rem}.agronomy small{display:block}

.recommendation-access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.recommendation-access button{margin:0;white-space:normal}.recommendation-status{font-weight:650}.recommendation details{margin:12px 0}.recommendation a{overflow-wrap:anywhere}

/* PHASE 11C: quiet visual references, natural image proportions. */
.crop-image{margin:12px 0;display:flex;align-items:center;gap:14px;min-width:0}.crop-image img{display:block;object-fit:contain;background:#f5eedb;border-radius:18px;flex-shrink:0}.crop-image.compact img{width:80px;height:80px}.crop-image.full{align-items:flex-start}.crop-image.full img{width:clamp(90px,30vw,180px);height:clamp(110px,36vw,200px)}.crop-image figcaption{min-width:0;flex:1;font-size:.82rem;color:#53664b;overflow-wrap:anywhere}.crop-image small{font-size:.77rem}.image-kind{font-weight:650}.image-more{display:block;font-size:.78rem;min-height:44px;padding:8px 0;border:0;background:transparent;text-decoration:underline;text-align:left}.image-provenance p{margin:6px 0}.personal-photo{border:1px solid #dedfcf;border-radius:14px;padding:12px;margin:12px 0}.personal-photo label{margin-top:0}.personal-photo p{font-size:.85rem}.personal-photo input{max-width:100%;font-size:.8rem}@media(max-width:380px){.crop-image{gap:10px}.crop-image.compact img{width:64px;height:64px}}

.planner-timeline{padding-left:1.5rem;border-left:2px solid #8baf76}.planner-timeline li{margin-bottom:1rem}#planner-editor{scroll-margin-top:2rem}

.weather-risk{border:2px solid #986400;background:#fff4d6;padding:14px;border-radius:16px}.weather-day{border-bottom:1px solid #dedfcf;padding:8px 0}.weather-day h3{margin-bottom:6px}.weather-day p{margin:5px 0}#weather-map{position:relative;overflow:hidden;background:#d9e7ea;cursor:crosshair;border:1px solid #567563}#weather-map img{position:absolute;width:256px;height:256px;max-width:none}.map-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:32px;color:#7c1d1d;pointer-events:none}#weather-results button{width:100%;text-align:left}

.finance-month meter, #app meter {display:block;width:100%;height:14px;margin:4px 0;}

.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.photo-entry{border:1px solid #ccd6c5;border-radius:14px;padding:10px;overflow-wrap:anywhere}.photo-entry img{width:100%;height:140px;object-fit:cover;border-radius:10px}.photo-entry button{max-width:100%}.photo-dialog{max-width:min(90vw,800px);max-height:90vh;border:1px solid #8c9d79;border-radius:16px}.photo-dialog img{display:block;max-width:100%;height:auto;max-height:70vh;object-fit:contain}.personal-photo input,.personal-photo select{max-width:100%}.photo-entry p{margin:.4rem 0}

.entity-photo{margin:12px 0}.entity-photo img{max-width:100%;width:240px;height:180px;object-fit:contain;border-radius:12px}.entity-photo figcaption{font-size:.85rem}
/* Accueil officiel : même palette crème, vert potager et jaune doux. */
.home-heading p{margin:0 0 12px;color:#576958}.home-heading h1{margin:12px 0}.home-quick{position:relative;margin:4px 0 12px!important}.home-toolbar{display:flex;gap:8px;flex-wrap:wrap}.home-toolbar button{background:transparent}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.home-card{margin:0;padding:18px;min-width:0}.home-card h2{margin:0 0 12px}.home-card p{margin:10px 0}.home-card button{width:100%;font-size:.9rem}.home-number{display:block;font:700 clamp(1.5rem,5vw,2rem) Georgia;overflow-wrap:anywhere}.home-weight,.home-value{background:#eaf0dc}.home-weather,.home-today,.home-probable,.home-suggestion,.home-goal,.home-week,.home-planner{grid-column:1/-1}.home-alert{background:#fff0cf;border-left:4px solid #8e5f00;border-radius:8px;padding:12px;margin:12px 0}.home-alert p{margin:6px 0}.home-access button{display:block;width:100%;margin:6px 0}.home-goal progress{width:100%;height:20px;accent-color:#32704b;animation:home-progress .4s ease-out}.home-number{animation:home-arrive .25s ease-out}.no-motion *{animation:none!important;transition:none!important}.home-order-row{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}.home-order-row label{margin:0}.home-order-row>div{grid-column:2}.home-order-row button{padding:10px;font-size:.9rem}.home-drag{touch-action:none;cursor:grab;font-size:1.8rem!important}.home-drag.dragging{background:#f9df86;outline:3px solid #8e5f00}.home-order-row input{vertical-align:middle}.home-order-row:has(.dragging){border-color:#8e5f00}@keyframes home-progress{from{opacity:.5}to{opacity:1}}@keyframes home-arrive{from{opacity:.65;transform:translateY(2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.home *{animation:none!important;transition:none!important}}@media(min-width:600px){.home-weather,.home-today,.home-probable,.home-suggestion,.home-goal,.home-week{grid-column:auto}}@media(max-width:380px){.home-card{padding:12px}.home-grid{gap:8px}.home-card h2{font-size:1rem}.home-card button{padding:10px}.home-number{font-size:1.5rem}} 
/* Lutin décoratif léger ; aucune photo personnelle sur l’accueil. */
header{padding:18px 20px;gap:10px}header strong{font-family:ui-rounded,system-ui,sans-serif;font-size:1.25rem;line-height:1.2;display:block}.home-mascot{width:64px;height:64px;object-fit:contain;flex-shrink:0}header small{font-size:.78rem}.home-card{background:#fffefd;box-shadow:0 4px 16px #25442e09;border-color:#ebe8dd}.home-weight{background:linear-gradient(135deg,#f5f9ed,#fffefd)}.home-value{background:linear-gradient(135deg,#fff7e6,#fffefd)}.home-quick{background:linear-gradient(120deg,#4f9551,#2e783f)!important;box-shadow:0 3px 10px #27563420}.home-heading h1{font-family:ui-rounded,system-ui,sans-serif;font-size:1.6rem}.home-card h2{font-family:ui-rounded,system-ui,sans-serif;font-weight:700}.home-weight h2:before{content:'🌱 ';font-size:1.1rem}.home-value h2:before{content:'◉ ';color:#99640a}.home-today h2:before{content:'▦ ';color:#287b56}.home-goal h2:before{content:'◎ ';color:#287b56}.home-suggestion h2:before{content:'☀ ';color:#976717}.home-card button{background:#f8faf5;border-color:#d4ddce}.home-number{font-family:ui-rounded,system-ui,sans-serif;font-weight:750}.home-toolbar{justify-content:flex-end}.home-toolbar button{font-size:.9rem;min-height:44px;padding:10px 14px}.home-heading{margin-bottom:12px}.home-order-row{scroll-margin:100px}@media(max-width:380px){header{padding:14px 16px;gap:8px}.home-mascot{width:54px;height:54px}header strong{font-size:1.08rem}.home-number{font-size:1.4rem}.home-heading h1{font-size:1.45rem}}

/* Phase 19: preference applies to every screen. */
body[data-density="compact"] .card{padding:12px;margin-block:8px}body[data-animations="off"] *,body[data-animations="off"] *::before,body[data-animations="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.health{border-left:5px solid;padding:8px 14px;margin-block:12px}.health.green{border-color:#326644}.health.orange{border-color:#ac710c}.health.red{border-color:#a52a32}.guidance-note{background:#edf3e9;padding:14px;border-radius:12px}#user-settings input:not([type="checkbox"]),#user-settings select{max-width:100%;box-sizing:border-box}

.onboarding-choices{display:grid;gap:12px;margin:20px 0}.onboarding-choices button{width:100%;min-height:52px}dialog{max-width:min(420px,90vw);border:2px solid #48774a;border-radius:16px;padding:20px}dialog::backdrop{background:#1238}dialog button{min-height:44px;margin:6px}input[hidden]{display:none}

/* Pré-bêta : lisibilité, cibles tactiles et dialogues sur petit écran. */
button,input,select,textarea{max-width:100%}button{white-space:normal;overflow-wrap:anywhere}textarea{font:inherit;color:inherit}
.settings-button{min-width:48px;flex-shrink:0}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #855700;outline-offset:3px}
h1,h2,h3,legend{overflow-wrap:anywhere}input,select,textarea{scroll-margin-block:100px}main{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}dialog button{max-width:calc(100% - 12px)}
.home-quick{background:linear-gradient(120deg,#397b3b,#2e783f)!important}
@media(max-width:380px){.calendar-month{gap:2px;margin-inline:-16px}.calendar-month button{min-height:44px}}
