:root{--forest:#0f4b32;--forest2:#1f6b42;--leaf:#4f942f;--lime:#8fc45f;--cream:#fffaf0;--paper:#fffef9;--sun:#f4bd48;--orange:#ed7a35;--purple:#7651a8;--pink:#d94d8b;--ink:#20382c;--muted:#68796d;--line:#dfe8db;--shadow:0 16px 45px #123b2718}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f3e7;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:9999;background:white;padding:10px}.site-grid{display:grid;grid-template-columns:150px minmax(0,1080px) 150px;gap:14px;max-width:1410px;margin:auto}.app{background:var(--paper);min-height:100vh;box-shadow:0 0 0 1px #ebe4d7}.advert{padding-top:110px}.ad-box{position:sticky;top:100px;border:1px dashed #cddcc6;border-radius:18px;background:#fffdf8;text-align:center;padding:18px 10px;color:#50705b}.ad-caption{font-size:8px;letter-spacing:.15em;font-weight:900}.ad-symbol{font-size:35px;margin:16px}.ad-box strong{display:block;font-size:12px}.ad-box small{color:#9a9f96;font-size:9px}
.top{height:78px;display:flex;align-items:center;gap:16px;padding:0 22px;border-bottom:1px solid var(--line);background:#fffefa;position:sticky;top:0;z-index:900}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--forest)}.brand img{border-radius:14px}.brand strong{font:700 18px Georgia,serif;line-height:.95}.brand small{display:block;font-size:9px;color:#94784c;margin-top:4px}.v2-badge{margin-left:auto;background:#e8f3df;color:var(--forest);font-size:9px;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:7px 10px}.top-links{display:flex;gap:15px}.top-links a{text-decoration:none;color:#42624e;font-size:11px;font-weight:800}
.hero{padding:42px 36px 35px;background:linear-gradient(145deg,#fff1c7,#dcefd0);position:relative;overflow:hidden}.hero:after{content:"🌿";position:absolute;right:28px;bottom:-22px;font-size:115px;opacity:.12}.overline,.eyebrow{font-size:10px;font-weight:950;letter-spacing:.15em;color:#91611e}.hero h1{font:700 clamp(34px,5vw,56px)/.98 Georgia,serif;color:var(--forest);margin:10px 0}.hero p{max-width:700px;color:#4f6858;line-height:1.55;margin:0}.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.hero-pills span{background:#fff9e8;border:1px solid #e6d7ad;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}
.tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:sticky;top:78px;z-index:850;background:#fffefa;border-bottom:1px solid var(--line);padding:7px}.tab{border:0;background:transparent;border-radius:13px;padding:10px 6px;color:#5f7766;font-size:18px;cursor:pointer}.tab span{display:block;font-size:10px;font-weight:850;margin-top:2px}.tab.active{background:#e4f0dc;color:var(--forest);box-shadow:inset 0 0 0 1px #c6ddbc}.content{padding:30px 30px 55px}.panel[hidden]{display:none}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.section-head h2{font:700 31px Georgia,serif;color:var(--forest);margin:5px 0 0}.counter{background:#eef5e8;color:#396948;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:850}.muted{color:var(--muted);line-height:1.55}.tiny{font-size:11px;color:#758276}.season-card{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#eaf5e0,#fff7d6);border:1px solid #d7e6c9;border-radius:17px;padding:14px 16px;margin:20px 0 12px}.season-card>div{display:flex;align-items:center;gap:12px}.season-icon{font-size:30px}.season-card strong,.season-card small{display:block}.season-card small{font-size:11px;color:#66806b;margin-top:3px}.ghost,.text-btn{border:0;background:transparent;color:#497052;font-weight:800;font-size:11px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.quest-builder{border:1px solid #dfe9d8;border-radius:18px;background:#fff;padding:16px;margin-bottom:16px}.quest-title{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:12px}.quest-title span{font-size:11px;color:#738271}.suggestions{display:flex;gap:8px;flex-wrap:wrap}.suggestion{border:1px solid #d9e5d4;background:#f9fbf5;border-radius:999px;padding:8px 11px;display:flex;gap:6px;align-items:center;font-size:11px;cursor:pointer}.suggestion:has(input:checked){background:#dff0d3;border-color:#77ad64;color:#174c31;font-weight:800}.suggestion input{accent-color:var(--forest)}.loading-pill{font-size:11px;color:#768471}
.map-shell{display:grid;grid-template-columns:215px 1fr;border:1px solid #dce7d7;border-radius:20px;overflow:hidden;background:#fff;min-height:500px}.filters{padding:17px 14px;background:#fbfcf7;border-right:1px solid #e0e8dc}.filter-head{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-bottom:12px}.filter-list{display:grid;gap:6px}.filters label{display:flex;align-items:center;gap:8px;font-size:11px;padding:6px;border-radius:9px}.filters label:hover{background:#eef5ea}.filters input{accent-color:var(--forest)}.filters hr{border:0;border-top:1px solid #e2e8df;margin:14px 0}.filter-label{font-size:11px;display:block;margin-bottom:6px}.filter-note{background:#e9f3fa;color:#416274;border-radius:11px;padding:10px;font-size:10px;line-height:1.45;margin-top:12px}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 1px #ffffff inset,0 0 0 1px #c3cfc4}.forming{background:#9acb7a}.nearly{background:#f0d657}.few{background:#ef8b3f}.abundant{background:#357b4b}.unknown{background:#aeb5b0}.map-wrap{position:relative}.map-wrap #map{height:100%;min-height:500px;background:#e6efdf}.map-legend{position:absolute;z-index:500;left:12px;bottom:12px;background:#fffffff0;border-radius:12px;padding:8px 10px;display:flex;gap:10px;flex-wrap:wrap;box-shadow:0 5px 20px #173d271c;font-size:9px}.map-legend span{display:flex;align-items:center;gap:5px}.map-pin{width:33px;height:33px;border-radius:13px;background:#fff;display:grid;place-items:center;font-size:18px;border:3px solid var(--pin,#aaa);box-shadow:0 4px 12px #203a2940;position:relative}.map-pin:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--pin,#aaa);bottom:-9px;border:2px solid #fff}.actions{display:flex;gap:10px;margin-top:14px}.primary,.secondary{border:0;border-radius:13px;padding:12px 15px;font-weight:850;cursor:pointer}.primary{background:var(--forest);color:#fff;box-shadow:0 8px 18px #174f382c}.secondary{background:#edf4e8;color:#285d3b;border:1px solid #ccdec5}.notice{background:#fff0d8;border-left:4px solid #e88c3d;border-radius:13px;padding:12px 14px;font-size:11px;line-height:1.55;color:#6f5639;margin-top:14px}
.catalog-tools{display:grid;gap:10px;margin:17px 0}.catalog-tools input{width:100%;border:1px solid #cfdccb;border-radius:13px;padding:12px 14px;font:inherit}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #d7e4d2;background:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:750;color:#536d5a;cursor:pointer}.chip.selected{background:#dfeeda;color:#174c31;border-color:#8cb67d}.plant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plant-card{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid #dfe8db;background:#fff;border-radius:15px;padding:12px;cursor:pointer}.plant-card:hover{border-color:#9dc191}.pict{width:42px;height:42px;border-radius:13px;background:#edf5e7;display:grid;place-items:center;font-size:23px;flex:none}.plant-card .inner{min-width:0;flex:1}.pname{display:block;font-weight:850;color:#245838}.plant-card small{display:block;color:#7a887e;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.go{font-size:22px;color:#8da091}.loading,.empty{text-align:center;color:#758276;border:1px dashed #cbdcc4;background:#fbfdf8;border-radius:15px;padding:24px}
.progress{height:11px;background:#e1eadf;border-radius:999px;overflow:hidden;margin:15px 0}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#4c9a54,#f1b84d);transition:.2s}.mission-list{display:grid;gap:10px}.mission{display:flex;gap:12px;border:1px solid #dfe8db;border-radius:16px;padding:14px;background:#fff}.mission.done{background:#ebf5e6;border-color:#a9ca9c}.mission .badge-emoji{font-size:27px;width:44px;height:44px;border-radius:13px;background:#e7f2e1;display:grid;place-items:center}.mission h3{margin:0 0 4px;color:#245638}.mission p{margin:0 0 8px;font-size:11px;color:#738174}.small-button{border:0;border-radius:9px;padding:7px 9px;background:#dfeeda;color:#255c39;font-weight:800;font-size:10px}.badge-block{margin:15px 0;background:#fff4d8;border:1px solid #ead5a5;border-radius:15px;padding:14px;font-size:12px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{border:1px solid #dfe7db;border-radius:17px;background:#fff;padding:15px}.basket-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0ea}.basket-row:last-child{border:0}.basket-status{display:flex;gap:5px;grid-column:1/-1}.status-btn{border:1px solid #d8e4d4;background:#f9fbf7;border-radius:999px;padding:5px 8px;font-size:9px}.status-btn.active{background:#dfeeda;border-color:#86b777;color:#174b31}.remove{border:0;background:#f6ece3;color:#875b3d;border-radius:8px;padding:6px 8px}.end-walk{display:grid;gap:6px;margin-top:10px}.end-walk small{color:#7c887f}.pantry{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pantry label{border:1px solid #dfe8db;background:#fff;border-radius:12px;padding:10px;font-size:11px}.pantry input{accent-color:var(--forest)}.recipe-box{margin-top:12px;border-radius:16px;background:#eef5e9;border:1px solid #d4e4cc;padding:15px}.recipe-box p{font-size:11px;color:#68796c;line-height:1.5}.recipe{background:#fff;border-radius:12px;padding:10px;margin-top:8px}.recipe strong{color:#275d3b}
.watch-demo{display:grid;grid-template-columns:270px 1fr;gap:30px;align-items:center;background:radial-gradient(circle at 18% 50%,#dcebd4,transparent 38%);padding:25px;border-radius:24px;border:1px solid #dce8d7}.watch{width:210px;height:250px;border-radius:70px;background:#27322c;box-shadow:inset 0 0 0 9px #65716a,0 16px 30px #213b2835;display:grid;place-items:center;margin:auto}.watch-screen{width:184px;height:220px;border-radius:57px;background:linear-gradient(#082317,#0b321f);color:white;display:flex;flex-direction:column;align-items:center;padding:16px 10px;gap:4px}.watch-title{font-size:8px;letter-spacing:.12em;color:#9dc8a7}.watch-quest{font-size:30px}.watch-screen strong{font-size:15px}.compass{margin:3px 0}.compass-ring{width:70px;height:70px;border:2px solid #8db79a;border-radius:50%;position:relative;display:grid;place-items:center}.compass-ring span{position:absolute;top:3px;font-size:7px;color:#a8cbb0}.compass-ring i{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:28px solid #f6bd45;transform-origin:50% 100%;transform:rotate(25deg);transition:transform .3s}.watch-screen b{font-size:18px}.watch-screen small{font-size:8px;color:#a8c9b1}.watch-controls{display:grid;gap:9px;max-width:330px}.watch-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.watch-info>div{border:1px solid #dfe8db;background:#fff;border-radius:15px;padding:13px}.watch-info span{font-size:25px}.watch-info strong{display:block;color:#245a38;margin:7px 0 4px}.watch-info p{font-size:10px;color:#748174;margin:0;line-height:1.45}
.details{border:1px solid #cdddcb;border-radius:22px;max-width:min(600px,calc(100% - 18px));max-height:88vh;width:100%;padding:22px;background:#fffdf6;color:var(--ink);box-shadow:0 20px 70px #1027157a;overflow:auto}.details::backdrop{background:#0d201ab5}.dialog-top{display:flex;justify-content:space-between;font-size:10px;font-weight:900;letter-spacing:.1em;color:#a86c28}.dialog-top button{border:0;background:#eaf0e5;border-radius:50%;width:34px;height:34px}.reference-photo{height:220px;border-radius:16px;background:#edf3e9;overflow:hidden;margin:10px 0 14px;display:grid;place-items:center}.reference-photo img{width:100%;height:100%;object-fit:cover}.photo-placeholder{color:#6e7f70;font-size:12px}.photo-credit{font-size:9px;color:#78867b;margin-top:4px}.details h2{font:700 30px Georgia,serif;color:var(--forest);margin:8px 0 2px}.protection-banner{background:#eaf3ff;border-left:4px solid #4a80bd;border-radius:12px;padding:11px;font-size:11px;margin:12px 0}.detail{border-top:1px solid #e5ebde;padding:10px 0}.detail strong{font-size:11px;color:#2b6840}.detail p{font-size:12px;line-height:1.5;margin:4px 0 0;white-space:pre-line}.timeline-card{border:1px solid #e0e6dc;border-radius:15px;padding:13px;background:#fff;margin:13px 0}.timeline-card p,.timeline-empty{font-size:11px;color:#758276;line-height:1.5}.full{width:100%}.footer{padding:25px;text-align:center;background:#103c2c;color:#d7eadf;font-size:10px}
.bottom-pages{display:none}
@media(max-width:1200px){.site-grid{grid-template-columns:1fr;max-width:1100px}.advert{display:none}}
@media(max-width:800px){body{padding-bottom:72px}.top{height:66px;padding:0 13px}.top-links{display:none}.v2-badge{font-size:7px;padding:5px 7px}.tabbar{top:66px}.hero{padding:29px 16px}.hero h1{font-size:35px}.content{padding:19px 13px 35px}.map-shell{grid-template-columns:1fr}.filters{border-right:0;border-bottom:1px solid #dfe8db;display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}.filter-head,.filters hr,.filter-label,.filter-note{grid-column:1/-1}.map-wrap #map{min-height:390px}.plant-list,.two-col,.watch-demo{grid-template-columns:1fr}.watch-info{grid-template-columns:1fr}.bottom-pages{position:fixed;left:0;right:0;bottom:0;z-index:1500;display:grid;grid-template-columns:repeat(5,1fr);background:#fffefa;border-top:1px solid #dfe8d8;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 25px #183d2612}.bottom-pages a{text-decoration:none;color:#5f7866;display:flex;flex-direction:column;align-items:center;font-size:19px}.bottom-pages small{font-size:9px;font-weight:800}.map-legend{right:8px;left:8px}.pantry{grid-template-columns:1fr}.quest-title{align-items:start;flex-direction:column}.season-card{align-items:flex-start}.hero-pills{gap:5px}.hero-pills span{font-size:9px}.section-head h2{font-size:25px}}
@media(max-width:430px){.tab{font-size:16px;padding:8px 2px}.tab span{font-size:8px}.filters{grid-template-columns:1fr}.filter-head,.filters hr,.filter-label,.filter-note{grid-column:1}.actions{display:grid;grid-template-columns:1fr 1fr}.watch-demo{padding:16px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.compass-ring i,.progress-fill{transition:none}}
/* V2.1 — filtres sans doublon, météo et contexte de balade */
.season-examples{margin-top:12px;padding-top:11px;border-top:1px solid #e5ebdf;font-size:10px;line-height:1.6;color:#6c7f70}
.season-examples strong{color:#2a633f}
.select-line{display:grid!important;gap:6px!important;align-items:start!important}
.select-line select{width:100%;border:1px solid #cfddd0;border-radius:9px;background:white;color:#365945;padding:7px;font:inherit}
.weather-card{margin-top:12px;display:flex;gap:12px;align-items:center;border:1px solid #cfe0d8;background:linear-gradient(100deg,#eef7e9,#edf6fb);border-radius:16px;padding:12px 14px}
.weather-card .weather-icon{font-size:29px;flex:none}
.weather-card strong{color:#235c3b}
.weather-card p{margin:3px 0;font-size:11px;color:#5f7869;line-height:1.45}
.weather-card small{font-size:9px;color:#829089}
.loading-weather{opacity:.72}
@media(max-width:800px){.actions{display:grid!important;grid-template-columns:1fr 1fr!important}.actions .secondary:last-child{grid-column:1/-1}.weather-card{align-items:flex-start}}
