/* Plantule 1.7.0 : couche visuelle. Chargée après app.css ; la retirer rend le rendu 1.6.9. */
/* Titres lisibles : le pixel reste pour le logo et les plantes (« c » y ressemblait à « o ») */
h1.view-title,h2.view-title,.lp-title,.lp-h2,.prof h1,.prof h2,.prof b{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-weight:800;letter-spacing:-.02em;background:none;-webkit-text-fill-color:currentColor;color:var(--ink)}
h1.view-title,h2.view-title{font-size:26px;margin:8px 0 12px}
.lp-title{font-size:clamp(32px,6vw,52px);line-height:1.08}
h2.sec{font:800 18px/1.3 Manrope,system-ui,sans-serif;letter-spacing:-.01em;text-transform:none;padding:0;margin:22px 0 10px}
.btn.alt,.big-cta{box-shadow:none;border-radius:12px}

/* Exposition : les plantes dès le premier écran */
.search{margin-bottom:8px}.search input{height:44px;min-height:44px}
.cat-chips{margin-bottom:12px}
@media (max-width:640px){
  #view>h2#serre{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
  .fgrid{gap:12px 10px}
}
.tcard.r-ultra .tc-back .tc-foil,.tcard.r-gold .tc-back .tc-foil,.tcard.r-legend .tc-back .tc-foil{opacity:.28}
.tcard:hover .tc-back .tc-foil,.tcard:focus-visible .tc-back .tc-foil{opacity:.5}

/* Sous la carte : j'aime + une seule action claire */
.pcell .pc-acts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;margin-top:8px}
.pcell .pc-acts>button{min-height:44px;border-radius:10px;border:1px solid var(--line,rgba(255,255,255,.14));background:transparent;color:var(--ink);font:700 14px Manrope,system-ui,sans-serif;padding:0 12px;cursor:pointer}
.pcell .pc-acts>.pc-go:only-child{grid-column:1/-1}
.pcell .pc-acts>.pc-go.is-trade{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* Pour toi */
.pt{margin:4px 0 16px}
.pt-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.pt-head h2{font:800 18px/1.3 Manrope,system-ui,sans-serif;margin:0;color:var(--ink)}
.pt-head .link{font-size:14px;min-height:44px;white-space:nowrap}
.pt-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;margin:0 -16px;padding-inline:16px;scrollbar-width:none}
.pt-rail::-webkit-scrollbar{display:none}
.pt-card{flex:0 0 136px;scroll-snap-align:start;display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px;border-radius:12px;border:1px solid var(--line,rgba(255,255,255,.14));background:var(--surface);color:var(--ink);cursor:pointer;font-family:Manrope,system-ui,sans-serif}
.pt-card .pt-px{width:96px;height:96px;image-rendering:pixelated;align-self:center;margin:-18px 0 -6px}
.pt-card b{font-size:13.5px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pt-card small{font-size:12.5px;color:var(--ink-2)}
.pt-card span{font-weight:800;font-size:14px;margin-top:2px}

/* Album */
.alb-card{display:block;width:100%;text-align:left;margin:14px 0 4px;padding:14px;border-radius:12px;border:1px solid var(--line,rgba(255,255,255,.14));background:var(--surface);color:var(--ink);cursor:pointer;font-family:Manrope,system-ui,sans-serif}
.alb-txt b{display:block;font-size:16px;font-weight:800}.alb-txt small{font-size:13.5px;color:var(--ink-2)}
.alb-bar{display:block;height:6px;border-radius:3px;background:var(--surface-2);margin-top:10px;overflow:hidden}
.alb-bar i{display:block;height:100%;min-width:6px;background:var(--pollen)}
.alb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:12px}
.alb-it{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:10px;border:1px solid var(--line,rgba(255,255,255,.14));background:transparent;color:var(--ink-2);cursor:pointer;font-family:Manrope,system-ui,sans-serif}
.alb-it img{width:56px;height:56px;image-rendering:pixelated;filter:grayscale(1) brightness(.75);opacity:.75}
.alb-it small{font-size:11.5px;line-height:1.2;text-align:center}
.alb-it.has{color:var(--ink);border-color:var(--pollen);cursor:default;opacity:1}.alb-it.has img{filter:none}
.alb-it.wish{border-color:var(--ink-2);border-style:dashed;color:var(--ink)}.alb-it.wish img{filter:none;opacity:1}

/* Accueil : comment ça marche */
.lp-steps{list-style:none;counter-reset:s;display:grid;gap:10px;padding:0;margin:18px 0}
.lp-steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;column-gap:12px;padding:14px;border-radius:12px;border:1px solid var(--line,rgba(255,255,255,.14));background:var(--surface)}
.lp-steps li::before{content:counter(s);grid-row:span 2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--pollen);color:var(--pollen);font-weight:800}
.lp-steps b{color:var(--ink);font-size:16px}.lp-steps span{color:var(--ink-2);font-size:14.5px}
@media (min-width:760px){.lp-steps{grid-template-columns:repeat(3,1fr)}}

/* Concours : une seule ligne sur téléphone, le détail reste dans la fiche */
@media (max-width:640px){
  .v1-banner.cb{flex-wrap:nowrap;padding:6px 44px 6px 12px!important;min-height:40px}
  .v1-banner.cb .cb-go{display:none}
  .v1-banner.cb .cb-txt{flex:1;min-width:0;flex-basis:auto}
  .v1-banner.cb .cb-tick{font-size:13px;min-height:28px;line-height:28px}
  .v1-banner.cb .cb-bar{height:3px;margin-top:2px}.v1-banner.cb .cb-bar em{display:none}
  .v1-banner.cb .v1-x{width:32px;height:32px;top:4px;right:6px}
}
/* Le message reste en haut, loin du bouton d'échange, et ne bloque aucun clic */
#toast{pointer-events:none}
/* Sur ordinateur, la pastille suit le mot « Échanges » au lieu de le chevaucher */
@media (min-width:1024px){nav.tabs .dot{position:static;margin-left:6px}}
/* Le visiteur n'a pas à lire « Photo à venir » coupé dans l'éventail de l'accueil */
.lp-fan .tc-nophoto>:not(img){display:none}
/* 1.7.2 */
.lp-a-cta{display:grid;gap:10px}
.lp-found{text-align:center;color:var(--ink-2);font-size:14.5px;margin:10px 0 0}
.pollen-why{display:block;min-height:44px;font-size:14px}
.xch-nudge{display:grid;gap:4px;margin:12px 0 4px;padding:14px;border-radius:12px;border:1px solid var(--pollen);background:var(--surface)}
.xch-nudge b{color:var(--ink);font-size:15.5px}.xch-nudge span{color:var(--ink-2);font-size:14px}
.xch-nudge .btn{margin-top:8px;justify-self:start;min-height:44px}
/* Dans le formulaire d alerte, seul l e-mail compte */
#sheet .est-actions{display:none}
/* 1.8.0 : guide du premier échange, mur des échanges */
.tg{padding:16px;border-radius:12px;border:1px solid var(--pollen);background:var(--surface);margin:8px 0 18px}
.tg h2{font:800 18px/1.3 Manrope,system-ui,sans-serif;margin:0 0 12px;color:var(--ink)}
.tg ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tg li{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;color:var(--ink-2)}
.tg li>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:1px solid var(--line,rgba(255,255,255,.14))}
.tg li.ok>span{background:var(--surface-2);color:var(--ink)}.tg li.ok b{font-weight:600;text-decoration:line-through}
.tg li.cur>span{color:var(--pollen);border:2px solid var(--pollen)}
.tg li .btn{width:100%;min-height:44px}
.mur{margin:4px 0 16px}.mur .pt-head small{color:var(--ink-2);font-size:13.5px}
.mur .note{margin:0}
.mur-it{flex:0 0 220px;scroll-snap-align:start;display:grid;gap:4px;padding:12px;border-radius:12px;border:1px solid var(--line,rgba(255,255,255,.14));background:var(--surface);font-family:Manrope,system-ui,sans-serif}
.mur-it b{font-size:14px;line-height:1.3;color:var(--ink)}.mur-it small{font-size:12.5px;color:var(--ink-2)}
/* 1.8.1 : thème clair « Fraîcheur » ; ces éléments gardaient des couleurs écrites pour le sombre */
:root[data-theme="light"] nav.tabs{background:rgba(255,255,255,.96)!important}
:root[data-theme="light"] nav.tabs .nav-plus{background:var(--pollen);color:var(--pollen-ink)}
@media (min-width:1024px){:root[data-theme="light"] nav.tabs .nav-add{background:var(--pollen);color:var(--pollen-ink)}}
:root[data-theme="light"] .cat-chips button[aria-pressed="true"],:root[data-theme="light"] .var-chips button[aria-pressed="true"],:root[data-theme="light"] .pot-chips button[aria-pressed="true"],:root[data-theme="light"] .btn.dark{color:#FFFFFF}
:root[data-theme="light"] .tnext.me,:root[data-theme="light"] .meet-code b{color:var(--accent)}

/* =====================================================================
   1.9.0 : refresh « doux et lisible » — arrondis, bulles, ombres légères, touches de vert.
   Thème clair seulement : le sombre (data-theme="dark") garde son rendu.
   ===================================================================== */
:root[data-theme="light"]{
  --r-card:20px;--r-bubble:18px;
  --soft:0 1px 2px rgba(18,50,31,.06),0 8px 24px rgba(18,50,31,.08);
  --soft-hover:0 2px 4px rgba(18,50,31,.08),0 14px 32px rgba(18,50,31,.12);
  --bubble:#E2EFDD;
}
/* Lecture : interligne aéré, petits textes jamais sous 13 px */
:root[data-theme="light"] body{line-height:1.55}
:root[data-theme="light"] #view p.note,:root[data-theme="light"] .sheet p.note{font-size:15px;line-height:1.55}
:root[data-theme="light"] h2.sec{color:var(--green)}

/* Recherche en pilule, comme une barre de recherche de place de marché */
:root[data-theme="light"] #view .search input{border-radius:999px;border:0!important;box-shadow:var(--soft);height:52px;min-height:52px;padding-left:48px;
  background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231B6E3A' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") no-repeat 18px 50%!important}
:root[data-theme="light"] .search input:focus-visible{outline:3px solid var(--green);outline-offset:2px}

/* Puces et boutons : pilules sans bord dur */
:root[data-theme="light"] .cat-chips button{border-color:transparent;box-shadow:var(--soft)}
:root[data-theme="light"] .btn,:root[data-theme="light"] .btn-xch,:root[data-theme="light"] .pcell .pc-acts>button{border-radius:999px}
:root[data-theme="light"] .btn.ghost{border-color:transparent;box-shadow:var(--soft);background:#FFFFFF}
:root[data-theme="light"] .pcell .pc-acts>button{border-color:transparent;background:#FFFFFF;box-shadow:var(--soft)}
:root[data-theme="light"] .pcell .pc-acts>.pc-go.is-trade{background:var(--green);color:#FFFFFF}
:root[data-theme="light"] .icon-btn,:root[data-theme="light"] .pill{border-radius:999px;border-color:transparent;box-shadow:var(--soft)}

/* Cartes et blocs : coins ronds, ombre douce au lieu d'un trait */
:root[data-theme="light"] :is(.pt-card,.mur-it,.alb-card,.tg,.lp-steps li,.stat,.trow,.conv-row,.notif-row,.xch-nudge,.lp-stats>div,.rank-list>*){border-radius:var(--r-card);border-color:transparent;box-shadow:var(--soft)}
:root[data-theme="light"] .tg,:root[data-theme="light"] .xch-nudge{border:2px solid var(--pollen)}
:root[data-theme="light"] :is(.pt-card,.trow,.conv-row,.alb-card){transition:box-shadow .15s,transform .15s}
@media (hover:hover){:root[data-theme="light"] :is(.pt-card,.trow,.conv-row,.alb-card):hover{box-shadow:var(--soft-hover);transform:translateY(-2px)}}
:root[data-theme="light"] .stat b{color:var(--green)}

/* Bulles pour les textes d'explication */
:root[data-theme="light"] :is(#view>p.note,#view>p.lead,#view>.lead,.sheet>p.note,.xch-sheet>p.note,.pd-note,.chasse>.note){background:var(--bubble)!important;border:1px solid rgba(27,110,58,.10);border-radius:var(--r-bubble);padding:12px 16px;color:var(--ink)}
:root[data-theme="light"] .empty{background:var(--bubble);border:0;border-radius:24px;box-shadow:none}

/* Fiche, panneaux, messages */
:root[data-theme="light"] .sheet{border-radius:28px 28px 0 0}
@media (min-width:760px){:root[data-theme="light"] .sheet{border-radius:28px}}
:root[data-theme="light"] #toast{border-radius:999px;box-shadow:var(--soft-hover)}
:root[data-theme="light"] .pd-facts>div{border-radius:14px}

/* Navigation blanche et arrondie */
@media (max-width:1023px){:root[data-theme="light"] nav.tabs{border-radius:22px 22px 0 0;border-top:0!important;box-shadow:0 -6px 24px rgba(18,50,31,.10)}}
@media (min-width:1024px){:root[data-theme="light"] nav.tabs{box-shadow:0 4px 20px rgba(18,50,31,.06)}}

/* Cartes à collectionner : même concept, intérieur clair et coins plus ronds */
:root[data-theme="light"] .tcard :is(.tc-front,.tc-back,.tc-foil,.tc-glare){border-radius:7cqw}
:root[data-theme="light"] .tcard .tc-body{border-radius:5cqw;background:linear-gradient(180deg,#FFFFFF,#EEF6EA);color:#12321F}
:root[data-theme="light"] .tcard :is(.tb3-art,.tf3-ph){border-radius:4.5cqw;border-width:max(1px,.5cqw);background:radial-gradient(120% 90% at 50% 78%,#FFFFFF 0%,color-mix(in srgb,var(--h1) 30%,#EEF7EA) 72%)}
:root[data-theme="light"] .tcard .tc-body li,:root[data-theme="light"] .tcard .tf3-o{background:#F1F8EE;box-shadow:inset 0 0 0 1px rgba(27,110,58,.08);border-radius:3cqw}
:root[data-theme="light"] .tcard .tc-body :is(h3,b){color:#12321F!important}
:root[data-theme="light"] .tcard .tc-body :is(small,em,span:not(.tb-state,.tf3-av)){color:#4E6656!important}
:root[data-theme="light"] .tcard .tb3-name{font-size:max(12px,6cqw)}
:root[data-theme="light"] .tcard .tc-back .tc-body small,:root[data-theme="light"] .tcard .tc-back .tc-body span:not(.tb-state){font-size:max(10px,3.4cqw)}
:root[data-theme="light"] .tcard .tc-back .tc-body em{font-size:max(9px,3.2cqw)}
/* Les rangées qui défilent gardent leurs ombres entières */
:root[data-theme="light"] :is(.pt-rail,.cat-chips){padding-top:4px;padding-bottom:16px;margin-bottom:-8px;background:none}
:root[data-theme="light"] .tcard :is(.tb3-name,.tf3-name){color:#12321F!important}
:root[data-theme="light"] #view .pt{margin-top:22px}

/* 1.9.1 : finitions — fonds, bordures, bulles, couleurs de texte, cartes */
:root[data-theme="light"] #view a:not(.btn),:root[data-theme="light"] .sheet a:not(.btn),:root[data-theme="light"] .link{color:var(--green);text-decoration-thickness:1.5px;text-underline-offset:3px}
:root[data-theme="light"] .pd-facts div{border-bottom-color:rgba(27,110,58,.10)}
/* Invitation : carte douce au lieu du pointillé */
:root[data-theme="light"] .invite-card{border:0;border-radius:24px;padding:18px;background:linear-gradient(160deg,#FFF6D8 0%,#FFFFFF 70%);box-shadow:var(--soft)}
:root[data-theme="light"] .invite-px,:root[data-theme="light"] .invite-link{border:0;border-radius:16px;background:var(--bubble)}
/* Pour toi : la plante sur une pastille verte, la raison en vert */
:root[data-theme="light"] .pt-card .pt-px{background:radial-gradient(circle at 50% 62%,#E3F2DC 0 54%,transparent 55%)}
:root[data-theme="light"] .pt-card small{color:var(--green);font-weight:700}
/* Cartes : cadre commune plus frais, ombre douce, plante posée sur le sol */
:root[data-theme="light"] .tcard.r-commune{--h1:#9ED3A8;--h2:#3F8F55;--h3:#E3F4E2}
:root[data-theme="light"] .tcard :is(.tc-front,.tc-back){box-shadow:0 0 0 1px rgba(18,50,31,.08),0 12px 26px -10px rgba(18,50,31,.35)}
:root[data-theme="light"] .tcard .tb-sprite{filter:drop-shadow(0 1.2cqw 1.4cqw rgba(18,50,31,.22))}
:root[data-theme="light"] .tcard .tb3-art::after{content:"";position:absolute;left:24%;right:24%;bottom:1.5%;height:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(18,50,31,.20),transparent);z-index:0}
:root[data-theme="light"] .tcard .tc-body li.pr b{color:#1B6E3A!important}
/* initiale du membre : même teinte que le cadre, assez foncée pour le blanc */
:root[data-theme="light"] .tcard .tf3-av{background:color-mix(in srgb,var(--h2) 70%,#000);color:#FFFFFF!important}

/* =====================================================================
   2.0.0 : « serre en pixels » — la grande couche visuelle.
   Papier peint de feuilles pixel sur les bords, halos de couleur, verre dépoli,
   bords en dégradé, bulles avec pousse, boutons en relief avec reflet,
   cartes à rayons de lumière, guilloché et étincelles.
   Thème clair seulement ; les mouvements sont coupés si l'appareil demande moins d'animation.
   ===================================================================== */
:root[data-theme="light"]{
  --grad:linear-gradient(160deg,#23804A 0%,#1B6E3A 55%,#145A2F 100%);
  --ring:linear-gradient(150deg,rgba(27,110,58,.30),rgba(27,110,58,.07) 45%,rgba(181,96,42,.18));
  --face:linear-gradient(180deg,#FFFFFF 0%,#F9FCF7 100%);
  --lift:inset 0 1px 0 rgba(255,255,255,.95),0 1px 2px rgba(18,50,31,.06),0 10px 28px -12px rgba(18,50,31,.26);
  --lift-hover:inset 0 1px 0 rgba(255,255,255,.95),0 2px 4px rgba(18,50,31,.08),0 20px 40px -14px rgba(18,50,31,.32);
  --shine:linear-gradient(110deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.5) 45%,rgba(255,255,255,0) 60%);
  --px-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' shape-rendering='crispEdges'%3E%3Crect x='9' y='0' width='2' height='1' fill='%23145A2F'/%3E%3Crect x='7' y='1' width='2' height='1' fill='%23145A2F'/%3E%3Crect x='9' y='1' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='10' y='1' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='5' y='2' width='2' height='1' fill='%23145A2F'/%3E%3Crect x='7' y='2' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='8' y='2' width='1' height='1' fill='%233E9B5C'/%3E%3Crect x='9' y='2' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='10' y='2' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='6' y='3' width='3' height='1' fill='%233E9B5C'/%3E%3Crect x='9' y='3' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='10' y='3' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='4' y='4' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='5' y='4' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='7' y='4' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='8' y='4' width='1' height='1' fill='%233E9B5C'/%3E%3Crect x='9' y='4' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='10' y='4' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='2' y='5' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='3' y='5' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='4' y='5' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='6' y='5' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='7' y='5' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='9' y='5' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='10' y='5' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='2' y='6' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='3' y='6' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='4' y='6' width='1' height='1' fill='%233E9B5C'/%3E%3Crect x='5' y='6' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='6' y='6' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='8' y='6' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='9' y='6' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='1' y='7' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='2' y='7' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='3' y='7' width='1' height='1' fill='%233E9B5C'/%3E%3Crect x='4' y='7' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='5' y='7' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='7' y='7' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='8' y='7' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='1' y='8' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='2' y='8' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='3' y='8' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='4' y='8' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='6' y='8' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='7' y='8' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='1' y='9' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='2' y='9' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='3' y='9' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='4' y='9' width='3' height='1' fill='%23145A2F'/%3E%3Crect x='0' y='10' width='1' height='1' fill='%23145A2F'/%3E%3Crect x='2' y='10' width='2' height='1' fill='%23145A2F'/%3E%3Crect x='0' y='11' width='1' height='1' fill='%23145A2F'/%3E%3C/svg%3E");--px-sprout:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 12' shape-rendering='crispEdges'%3E%3Crect x='1' y='0' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='8' y='0' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%233E9B5C'/%3E%3Crect x='2' y='1' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='3' y='1' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='7' y='1' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='8' y='1' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='9' y='1' width='1' height='1' fill='%233E9B5C'/%3E%3Crect x='10' y='1' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='1' y='2' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='3' y='2' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='6' y='2' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='7' y='2' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='8' y='2' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='10' y='2' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='2' y='3' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='4' y='3' width='3' height='1' fill='%231B6E3A'/%3E%3Crect x='7' y='3' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='9' y='3' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='2' y='4' width='3' height='1' fill='%231B6E3A'/%3E%3Crect x='6' y='4' width='3' height='1' fill='%231B6E3A'/%3E%3Crect x='5' y='5' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='5' y='6' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='2' y='7' width='7' height='1' fill='%23B5602A'/%3E%3Crect x='2' y='8' width='7' height='1' fill='%238A4317'/%3E%3Crect x='3' y='9' width='5' height='1' fill='%23B5602A'/%3E%3Crect x='3' y='10' width='5' height='1' fill='%23B5602A'/%3E%3Crect x='4' y='11' width='3' height='1' fill='%238A4317'/%3E%3C/svg%3E");--px-spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 7' shape-rendering='crispEdges'%3E%3Crect x='3' y='0' width='1' height='1' fill='%23E5B53A'/%3E%3Crect x='3' y='1' width='1' height='1' fill='%23E5B53A'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23E5B53A'/%3E%3Crect x='3' y='2' width='1' height='1' fill='%23FFF3C4'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23E5B53A'/%3E%3Crect x='0' y='3' width='2' height='1' fill='%23E5B53A'/%3E%3Crect x='2' y='3' width='3' height='1' fill='%23FFF3C4'/%3E%3Crect x='5' y='3' width='2' height='1' fill='%23E5B53A'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23E5B53A'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23FFF3C4'/%3E%3Crect x='4' y='4' width='1' height='1' fill='%23E5B53A'/%3E%3Crect x='3' y='5' width='1' height='1' fill='%23E5B53A'/%3E%3Crect x='3' y='6' width='1' height='1' fill='%23E5B53A'/%3E%3C/svg%3E");--px-swash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 6' shape-rendering='crispEdges'%3E%3Crect x='7' y='0' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='17' y='0' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='27' y='0' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='31' y='0' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='6' y='1' width='4' height='1' fill='%231B6E3A'/%3E%3Crect x='16' y='1' width='4' height='1' fill='%231B6E3A'/%3E%3Crect x='26' y='1' width='4' height='1' fill='%231B6E3A'/%3E%3Crect x='30' y='1' width='1' height='1' fill='%233E9B5C'/%3E%3Crect x='31' y='1' width='1' height='1' fill='%238ACF98'/%3E%3Crect x='32' y='1' width='2' height='1' fill='%233E9B5C'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='5' y='2' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='9' y='2' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='15' y='2' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='19' y='2' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='25' y='2' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='29' y='2' width='1' height='1' fill='%231B6E3A'/%3E%3Crect x='31' y='2' width='3' height='1' fill='%233E9B5C'/%3E%3Crect x='0' y='3' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='4' y='3' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='10' y='3' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='14' y='3' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='20' y='3' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='24' y='3' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='32' y='3' width='1' height='1' fill='%233E9B5C'/%3E%3Crect x='1' y='4' width='4' height='1' fill='%231B6E3A'/%3E%3Crect x='11' y='4' width='4' height='1' fill='%231B6E3A'/%3E%3Crect x='21' y='4' width='4' height='1' fill='%231B6E3A'/%3E%3Crect x='2' y='5' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='12' y='5' width='2' height='1' fill='%231B6E3A'/%3E%3Crect x='22' y='5' width='2' height='1' fill='%231B6E3A'/%3E%3C/svg%3E");
  background:var(--bg);
}

/* Fond : feuilles pixel visibles sur les bords, halos vert, crème et lilas aux coins */
:root[data-theme="light"] body{background:transparent!important}
html:root[data-theme="light"] body::before,html:root[data-theme="light"] body:not(.auth-mode)::before{content:""!important;position:fixed!important;inset:0!important;width:auto!important;height:auto!important;z-index:-2!important;pointer-events:none;
  background:url(img/feuilles.png) 0 0/224px 224px repeat!important;opacity:.14;image-rendering:pixelated;
  -webkit-mask-image:radial-gradient(125% 85% at 50% 42%,transparent 40%,#000 85%);mask-image:radial-gradient(125% 85% at 50% 42%,transparent 40%,#000 85%)}
:root[data-theme="light"] body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(55vw 42vh at -4% -6%,rgba(206,233,196,.9),rgba(206,233,196,0) 70%),
    radial-gradient(46vw 36vh at 104% -4%,rgba(255,234,200,.75),rgba(255,234,200,0) 68%),
    radial-gradient(60vw 44vh at 104% 106%,rgba(214,237,205,.8),rgba(214,237,205,0) 70%),
    radial-gradient(42vw 30vh at -4% 102%,rgba(232,222,246,.5),rgba(232,222,246,0) 70%)}

/* Navigation en verre dépoli, onglet actif en pastille verte */
:root[data-theme="light"] nav.tabs{background:rgba(255,255,255,.80)!important;-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6)}
@media (min-width:1024px){:root[data-theme="light"] nav.tabs{box-shadow:0 1px 0 rgba(27,110,58,.10),0 8px 28px -10px rgba(18,50,31,.18)!important}}
:root[data-theme="light"] nav.tabs button[aria-current="page"]{background:linear-gradient(180deg,#EEF8EA,#D9EED1)!important;color:#1B6E3A!important;box-shadow:inset 0 1px 0 #FFFFFF,inset 0 0 0 1px rgba(27,110,58,.14);border-radius:16px}

/* Titres : dégradé vert profond et vague pixel dessous ; feuille pixel devant les rubriques */
:root[data-theme="light"] #view>.view-title,:root[data-theme="light"] .lp-title{background:linear-gradient(100deg,#12321F 0%,#1B6E3A 62%,#2E7D4F 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important}
:root[data-theme="light"] #view>.view-title::after,:root[data-theme="light"] .lp-title::after{content:"";display:block;width:108px;height:18px;margin-top:8px;background:var(--px-swash) no-repeat 0 0/108px 18px}
:root[data-theme="light"] :is(.pt-head h2,h2.sec:not(.grp),.lp-h2,.invite-t)::before{content:""!important;display:inline-block;width:20px;height:20px;margin-right:10px;vertical-align:-.18em;background:var(--px-leaf) no-repeat center/contain!important;border-radius:0!important}

/* Cartes et blocs : bord en dégradé, face nacrée, relief doux */
:root[data-theme="light"] :is(.pt-card,.mur-it,.alb-card,.stat,.trow,.conv-row,.notif-row,.lp-stats>div,.rank-list>.row,.lp-steps li,.lp-links a){border:1px solid transparent!important;background:var(--face) padding-box,var(--ring) border-box!important;box-shadow:var(--lift)!important}
:root[data-theme="light"] :is(.pt-card,.mur-it,.alb-card,.trow,.conv-row,.rank-list>.row,.lp-links a){transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
@media (hover:hover){:root[data-theme="light"] :is(.pt-card,.mur-it,.alb-card,.trow,.conv-row,.rank-list>.row,.lp-links a):hover{transform:translateY(-3px);box-shadow:var(--lift-hover)!important}}
/* Chiffres : pastille menthe au coin, nombre en dégradé */
:root[data-theme="light"] #app :is(.stat,.lp-stats>div){background:radial-gradient(circle at 100% 0,#E3F2DC 0 26px,rgba(227,242,220,0) 27px) padding-box,var(--face) padding-box,var(--ring) border-box!important}
:root[data-theme="light"] :is(.stat b,.lp-stats b){text-shadow:none!important;background:linear-gradient(180deg,#23804A,#145A2F);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* Pour toi : la plante sur un soleil de la couleur de sa rareté */
:root[data-theme="light"] .pt-card{--t:#D6ECCD}
:root[data-theme="light"] .pt-card.r-rare{--t:#D8E6FA}:root[data-theme="light"] .pt-card.r-ultra{--t:#F6E6BF}:root[data-theme="light"] .pt-card.r-gold{--t:#F6DFA6}:root[data-theme="light"] .pt-card.r-legend{--t:#E4D8FA}
:root[data-theme="light"] .pt-card .pt-px{transform-origin:50% 88%;background:radial-gradient(circle at 50% 60%,var(--t) 0 30px,rgba(255,255,255,0) 31px),radial-gradient(circle at 50% 60%,rgba(255,255,255,0) 0 33px,#FFFFFF 47px),repeating-conic-gradient(from 0deg at 50% 60%,rgba(255,255,255,0) 0 9deg,var(--t) 9deg 18deg)}

/* Mur des échanges : ticket avec liseré vert, flèches dans une pastille */
:root[data-theme="light"] #app .mur-it{box-shadow:inset 4px 0 0 #1B6E3A,var(--lift)!important;padding-left:18px}
:root[data-theme="light"] .mur-it b span{display:inline-grid;place-items:center;width:22px;height:22px;margin:0 4px;border-radius:50%;background:var(--grad);color:#FFFFFF;font-size:12px;vertical-align:1px;box-shadow:0 3px 8px -3px rgba(27,110,58,.6)}

/* Bulles : dégradé menthe, petite pousse pixel, coin en bec */
:root[data-theme="light"] :is(#view>p.note,#view>p.lead,#view>.lead,.sheet>p.note,.xch-sheet>p.note,.pd-note,.chasse>.note){background:var(--px-sprout) no-repeat 16px 13px/22px 24px,linear-gradient(135deg,#EAF5E4 0%,#DCEDD4 100%)!important;padding:13px 16px 13px 50px!important;border-radius:22px 22px 22px 6px!important;border:1px solid rgba(27,110,58,.13)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 18px -12px rgba(18,50,31,.28)}
:root[data-theme="light"] #view>p.note.cm-privacy{background:linear-gradient(135deg,#EAF5E4 0%,#DCEDD4 100%)!important;padding-left:16px!important}

/* Boutons : relief, reflet qui traverse au survol, petite pression au clic */
:root[data-theme="light"] :is(.btn,.btn-xch,.pc-acts>button,.cat-chips button){transition:transform .12s,box-shadow .2s,background-position .7s cubic-bezier(.2,.8,.2,1)}
:root[data-theme="light"] :is(.btn,.btn-xch,.pc-acts>button,.cat-chips button):active{transform:translateY(1px) scale(.985)}
:root[data-theme="light"] .btn.alt{background:var(--shine) 160% 0/250% 100% no-repeat,linear-gradient(180deg,#FFE07A 0%,#F4B73B 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 18px -8px rgba(196,135,20,.65)!important}
:root[data-theme="light"] :is(.btn:not(.ghost,.alt,.link),.pc-acts>.pc-go.is-trade,.cat-chips button[aria-pressed="true"]){background:var(--shine) 160% 0/250% 100% no-repeat,var(--grad)!important;color:#FFFFFF!important;border-color:transparent!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 18px -8px rgba(20,90,47,.7)!important}
@media (hover:hover){:root[data-theme="light"] :is(.btn.alt,.btn:not(.ghost,.alt,.link),.pc-acts>.pc-go.is-trade,.cat-chips button[aria-pressed="true"]):hover{background-position:-60% 0,0 0!important}}
:root[data-theme="light"] :is(.btn.ghost,.pc-acts>button:not(.is-trade),.cat-chips button:not([aria-pressed="true"]),.btn-xch.ghost){border:1px solid transparent!important;background:var(--face) padding-box,var(--ring) border-box!important;box-shadow:var(--lift)!important}
@media (hover:hover){:root[data-theme="light"] :is(.btn.ghost,.pc-acts>button:not(.is-trade),.cat-chips button:not([aria-pressed="true"]),.btn-xch.ghost):hover{background:linear-gradient(180deg,#F3FAF0,#E4F2DE) padding-box,var(--ring) border-box!important}}
:root[data-theme="light"] .cat-chips .chip-trade:not([aria-pressed="true"]){background:linear-gradient(180deg,#F2F9EF,#E2F1DB) padding-box,linear-gradient(135deg,#1B6E3A,#8ACF98) border-box!important}
:root[data-theme="light"] #view .search input{box-shadow:inset 0 0 0 1px rgba(27,110,58,.12),var(--lift)!important}
:root[data-theme="light"] #view .search input:focus{box-shadow:inset 0 0 0 1px rgba(27,110,58,.35),0 0 0 4px rgba(27,110,58,.14),var(--lift)!important}

/* Étapes : numéros dans une feuille verte, plus aucun carré jaune */
:root[data-theme="light"] .lp-steps li::before,:root[data-theme="light"] .how .steps li::before{border:0!important;background:var(--grad)!important;color:#FFFFFF!important;border-radius:50% 50% 50% 6px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 14px -6px rgba(20,90,47,.7)}
:root[data-theme="light"] .how .steps li{border:1px solid transparent;background:var(--face) padding-box,var(--ring) border-box;box-shadow:var(--lift);border-radius:20px;padding:14px 16px}

/* Questions : chaque question dans une bulle, ouverte en menthe */
:root[data-theme="light"] .faq details{border:1px solid transparent!important;background:var(--face) padding-box,var(--ring) border-box;border-radius:18px;box-shadow:var(--lift);padding:0 16px;margin-bottom:10px}
:root[data-theme="light"] .faq details[open]{background:linear-gradient(180deg,#FFFFFF,#EEF7EA) padding-box,var(--ring) border-box}

/* Bandeau final : vert profond feuillu, texte blanc lisible (avant : vert foncé sur sombre) */
:root[data-theme="light"] .lp-final{background:radial-gradient(120% 90% at 100% 0%,rgba(138,207,152,.35),rgba(138,207,152,0) 60%),linear-gradient(rgba(16,74,40,.86),rgba(12,58,31,.94)),url(img/feuilles.png) 0 0/224px 224px!important;background-color:#145A2F!important;border-radius:28px!important;box-shadow:0 18px 40px -18px rgba(12,58,31,.7)}
:root[data-theme="light"] .lp-final .lp-final-t{color:#FFFFFF!important}
:root[data-theme="light"] .lp-final p{color:#E3F2DC!important}

/* Plante de la semaine : cadre or et vert, étiquette en pastille, rayons derrière la carte */
:root[data-theme="light"] .week{border:1px solid transparent!important;background:linear-gradient(135deg,#F4FAF1,#FFFFFF) padding-box,linear-gradient(135deg,#E5B53A,rgba(229,181,58,.15) 40%,#1B6E3A) border-box!important;border-radius:26px!important;box-shadow:var(--lift)}
:root[data-theme="light"] .week-tag{display:inline-block;padding:4px 11px;border-radius:12px;background:var(--grad);color:#FFFFFF!important;letter-spacing:.04em}
:root[data-theme="light"] :is(.week-card,.lp-fan){position:relative;isolation:isolate}
:root[data-theme="light"] :is(.week-card,.lp-fan)::before{content:"";position:absolute;inset:-12%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0) 60%),repeating-conic-gradient(from 0deg,rgba(138,207,152,0) 0 8deg,rgba(138,207,152,.32) 8deg 16deg);
  -webkit-mask-image:radial-gradient(closest-side,#000 35%,transparent 100%);mask-image:radial-gradient(closest-side,#000 35%,transparent 100%)}
:root[data-theme="light"] .lp-fan::before{inset:-10% -4%}
:root[data-theme="light"] .week-card::before{background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0) 60%),repeating-conic-gradient(from 0deg,rgba(229,181,58,0) 0 8deg,rgba(229,181,58,.30) 8deg 16deg)}
/* Accueil : deux feuilles pixel qui flottent derrière l'éventail de cartes */
:root[data-theme="light"] .lp-fan::after{content:"";position:absolute;inset:-6% 0;z-index:-1;pointer-events:none;background:var(--px-leaf) 3% 6%/34px 34px no-repeat,var(--px-leaf) 97% 92%/26px 26px no-repeat}

/* Invitation : menthe et liseré or-vert */
:root[data-theme="light"] .invite-card{border:1px solid transparent!important;background:radial-gradient(circle at 100% 0,rgba(229,181,58,.18) 0 64px,rgba(229,181,58,0) 65px) padding-box,linear-gradient(160deg,#EAF6E4 0%,#FFFFFF 70%) padding-box,linear-gradient(135deg,#E5B53A,rgba(229,181,58,.12) 45%,#1B6E3A) border-box!important;box-shadow:var(--lift)!important}

/* Cartes à collectionner : rayons de lumière derrière la plante, guilloché discret, étincelles */
:root[data-theme="light"] .tcard :is(.tb3-art,.tf3-ph){background:radial-gradient(55% 42% at 50% 84%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%),
  repeating-conic-gradient(from 0deg at 50% 84%,rgba(255,255,255,0) 0 6deg,rgba(255,255,255,.5) 6deg 12deg),
  radial-gradient(120% 90% at 50% 78%,#FFFFFF 0%,color-mix(in srgb,var(--h1) 38%,#EEF7EA) 72%)}
:root[data-theme="light"] .tcard .tc-body{background:repeating-radial-gradient(circle at 0 0,rgba(27,110,58,0) 0 7px,rgba(27,110,58,.045) 7px 8px),repeating-radial-gradient(circle at 100% 100%,rgba(27,110,58,0) 0 7px,rgba(27,110,58,.045) 7px 8px),linear-gradient(180deg,#FFFFFF,#EEF6EA);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),inset 0 0 0 max(2px,.8cqw) color-mix(in srgb,var(--h2) 14%,transparent)}
:root[data-theme="light"] .tcard :is(.tb3-name,.tf3-name){background:linear-gradient(90deg,color-mix(in srgb,var(--h2) 50%,transparent),rgba(255,255,255,0) 75%) no-repeat 0 100%/100% max(1px,.45cqw)}
:root[data-theme="light"] .tcard .tc-body i{color:#4E6656!important}
:root[data-theme="light"] .tcard .tc-body li,:root[data-theme="light"] .tcard .tf3-o{background:linear-gradient(180deg,#FFFFFF,#EEF7EA);box-shadow:inset 0 1px 0 #FFFFFF,inset 0 0 0 1px rgba(27,110,58,.10),0 1px 2px rgba(18,50,31,.06)}
:root[data-theme="light"] .tcard:is(.r-ultra,.r-gold,.r-legend) :is(.tb3-art,.tf3-ph)::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:var(--px-spark) 86% 12%/max(7px,3.2cqw) no-repeat,var(--px-spark) 76% 34%/max(5px,2.2cqw) no-repeat,var(--px-spark) 12% 46%/max(6px,2.6cqw) no-repeat}

/* Mouvements : seulement si l'appareil ne demande pas moins d'animation */
@media (prefers-reduced-motion:no-preference){
  :root[data-theme="light"] .tcard:is(.r-ultra,.r-gold,.r-legend) :is(.tb3-art,.tf3-ph)::before{animation:pl-twinkle 2.8s ease-in-out infinite}
  :root[data-theme="light"] .lp-fan::after{animation:pl-float 7s ease-in-out infinite}
  @media (hover:hover){:root[data-theme="light"] .pt-card:hover .pt-px{animation:pl-sway .9s ease-in-out}}
  @supports (animation-timeline:view()){
    :root[data-theme="light"] :is(.lp-steps li,.how .steps li,.faq details,.alb-card,.invite-card,.week,.lp-stats>div,.lp-final,.mur-it){animation:pl-rise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  }
}
@keyframes pl-twinkle{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes pl-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -8px;rotate:-6deg}}
@keyframes pl-sway{0%,100%{rotate:0deg}30%{rotate:-5deg}65%{rotate:4deg}}
@keyframes pl-rise{from{translate:0 22px}to{translate:0 0}}

/* =====================================================================
   2.0.1 : J'aime et Commenter visibles — sous la photo de la fiche, sur la photo en grand
   et sur ma propre fiche ; commentaires ouverts, en bulles, avec idées de compliments.
   ===================================================================== */
.pd-acts{display:flex;gap:10px;margin:0 0 14px}
.pd-acts .act-btn{flex:1}
.act-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:15px;font-weight:800;cursor:pointer;-webkit-tap-highlight-color:transparent}
.act-btn .px-ic{width:18px;height:18px;flex:none;fill:currentColor}
.act-btn .px-ic .px-2{opacity:.45}
.act-btn b{font-weight:800;color:var(--ink-2);font-variant-numeric:tabular-nums;min-width:1ch}
.act-btn.is-static{cursor:default}
.act-like.on,.act-like.on b{color:#C2334D}
.act-cm .px-ic{color:var(--green)}
.act-btn:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.act-like.pop .px-ic{animation:likePop .35s ease}
/* photo en grand : la barre sous la photo, la photo garde toute sa place au-dessus */
.photo-zoom:has(.pz-bar) img{height:calc(100% - 96px)}
.pz-bar{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;gap:10px;padding:8px;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.pz-bar .act-btn{background:#FFFFFF!important;color:#12321F!important;border:0!important;box-shadow:none!important;min-width:138px}
.pz-bar .act-btn b{color:#4E6656}
.pz-bar .act-like.on,.pz-bar .act-like.on b{color:#C2334D!important}
/* commentaires */
.pd-cm{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;scroll-margin-top:12px}
.pd-cm h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:18px;font-weight:800;color:var(--ink)}
.pd-cm h3 small{min-width:26px;height:26px;padding:0 8px;border-radius:999px;display:inline-grid;place-items:center;font-size:13px;font-weight:800;background:var(--surface-2);color:var(--green)}
.cmt{grid-template-columns:36px 1fr;column-gap:10px;align-items:start}
.cmt-av{grid-row:span 3;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#FFFFFF;font-weight:800;font-size:15px}
.cmt>b,.cmt>.cmt-txt,.cmt>small{grid-column:2}
.cmt-txt{line-height:1.45;overflow-wrap:anywhere}
.cm-quick{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin:0 -2px;scrollbar-width:none}
.cm-quick::-webkit-scrollbar{display:none}
.cm-quick button{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.pd-cm .composer{align-items:center}
.pd-cm .composer .btn{flex:none;min-height:46px}
.pd-cm .composer input{min-height:46px;font-size:16px}

/* clair : même langage que la 2.0 */
:root[data-theme="light"] .act-btn,:root[data-theme="light"] .cm-quick button{border:1px solid transparent!important;background:var(--face) padding-box,var(--ring) border-box!important;box-shadow:var(--lift)!important;transition:transform .12s,box-shadow .2s}
:root[data-theme="light"] .act-btn:not(.is-static):active,:root[data-theme="light"] .cm-quick button:active{transform:translateY(1px) scale(.985)}
:root[data-theme="light"] .act-like.on{background:linear-gradient(180deg,#FFF4F6,#FFE4EA) padding-box,linear-gradient(135deg,#E86A80,#F6C1CB) border-box!important}
@media (hover:hover){:root[data-theme="light"] .act-btn:not(.is-static):hover,:root[data-theme="light"] .cm-quick button:hover{box-shadow:var(--lift-hover)!important}}
:root[data-theme="light"] .cmt{border:1px solid rgba(27,110,58,.10)!important;background:linear-gradient(135deg,#F3FAF0,#E9F4E4)!important;border-radius:18px 18px 18px 6px!important;padding:10px 12px!important;box-shadow:0 6px 14px -10px rgba(18,50,31,.25)}
:root[data-theme="light"] .cmt-av{background:var(--grad);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
:root[data-theme="light"] .cmt>b{color:#1B6E3A}
:root[data-theme="light"] .cmt small{color:#4E6656}
:root[data-theme="light"] .pd-cm .composer input{border-radius:999px!important;border:1px solid transparent!important;background:#FFFFFF padding-box,var(--ring) border-box!important;box-shadow:var(--lift);padding:0 18px}
:root[data-theme="light"] .pd-cm .composer input:focus{outline:none;box-shadow:0 0 0 4px rgba(27,110,58,.14),var(--lift)}

/* fiche : finitions — cœur discret tant qu'on n'a pas aimé, liens en pastilles, menus clairs, bas collant sans cadre blanc */
.act-like .px-ic{color:#6F8275}
.act-like.on .px-ic,.act-like.is-static .px-ic{color:#C2334D}
@media (min-width:760px){.pd-title{padding-right:44px}}
.pd-body .pd-acts{margin:14px 0 4px}
:root[data-theme="light"] .pd .pd-main{background:linear-gradient(to top,#F4F8F2 78%,rgba(244,248,242,0))!important}
:root[data-theme="light"] .pd-links{gap:8px!important;margin-top:16px}
:root[data-theme="light"] .pd-links>.link,:root[data-theme="light"] .pd-links .pd-pop>summary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid transparent;background:var(--face) padding-box,var(--ring) border-box;box-shadow:var(--lift);color:#1B6E3A;font-size:14px;font-weight:700;text-decoration:none!important}
:root[data-theme="light"] .pd-links .pd-dots>summary{min-width:44px;padding:0 12px;letter-spacing:.1em}
:root[data-theme="light"] .pd-pop[open]>div{background:#FFFFFF!important;border:1px solid rgba(27,110,58,.14)!important;border-radius:16px!important;box-shadow:0 18px 40px -14px rgba(18,50,31,.35)!important}
:root[data-theme="light"] .pd-pop[open]>div .link{color:#1B6E3A;min-height:40px}
:root[data-theme="light"] .flip-note{margin:12px 0 12px}
/* panneau opaque : le bas collant (bouton d'échange) se fond dedans, sans rectangle plus clair */
:root[data-theme="light"] .sheet{background-color:#F4F8F2!important}

/* =====================================================================
   2.0.3 : croix bien visible pour revenir au dessin de la carte ;
   le membre sur la carte ouvre son profil (ville, avis, toutes ses plantes).
   ===================================================================== */
.tcard .tc-x{position:absolute;top:max(8px,3cqw);right:max(8px,3cqw);z-index:5;width:max(34px,11cqw);height:max(34px,11cqw);display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#12321F;box-shadow:0 2px 10px rgba(18,50,31,.30),inset 0 0 0 1px rgba(18,50,31,.08);cursor:pointer;transition:transform .15s}
.tcard .tc-x svg{width:55%;height:55%}
.tcard .tc-x:focus-visible{outline:3px solid #1B6E3A;outline-offset:2px}
@media (hover:hover){.tcard .tc-x:hover{transform:scale(1.07)}}
.tcard .tf3-who{display:flex;align-items:center;gap:2cqw;flex:1;min-width:0;min-height:32px;margin:-6px 0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:2cqw}
.tcard .tf3-who>div{flex:1;min-width:0}
.tcard .tf3-go{flex:none;font:800 max(13px,5.2cqw)/1 Manrope,sans-serif;padding:0 1cqw}
.tcard .tf3-who:focus-visible{outline:3px solid #1B6E3A;outline-offset:2px}
@media (hover:hover){.tcard .tf3-who:hover b{text-decoration:underline;text-underline-offset:2px}}
:root[data-theme="light"] .tcard .tf3-go{color:#1B6E3A!important}
/* profil : pastilles de confiance en vert, comme le reste */
:root[data-theme="light"] .chip.ok{border:1px solid rgba(27,110,58,.30)!important;background:#EEF7EA!important;color:#1B6E3A!important}

/* 2.0.4 : sous la carte — petite bulle J'aime, Échanger au milieu en grand, bulle Commentaires ;
   un clic sur la face détaillée fait juste bouger la carte (la croix la referme) */
.pcell .pc-acts{grid-template-columns:auto minmax(0,1fr) auto!important;align-items:stretch;gap:5px!important}
.pcell .pc-acts>.pc-go{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(13px,3.6vw,15px);letter-spacing:-.01em;padding:0 4px}
/* icône au-dessus du chiffre : les deux bulles restent petites, Échanger garde la place */
.pcell .pc-acts>:is(.pc-like,.pc-cm){display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:40px;padding:0 6px;line-height:1}
.pcell .pc-acts>:is(.pc-like,.pc-cm) b{font-size:12px}
.pcell .pc-acts .px-ic{width:16px;height:16px;flex:none;fill:currentColor}
.pcell .pc-acts b{font-weight:800;font-variant-numeric:tabular-nums}
.pcell .pc-like .px-ic{color:#6F8275}
.pcell .pc-like[aria-pressed="true"] .px-ic,.pcell .pc-like[aria-pressed="true"] b{color:#C2334D}
.pcell .pc-cm .px-ic{color:var(--green)}
.pcell .pc-cm .px-ic .px-2{opacity:.45}
.tcard.tc-bump{animation:tcBump .32s ease}
@keyframes tcBump{40%{scale:.965}100%{scale:1}}
@media (prefers-reduced-motion:reduce){.tcard.tc-bump{animation:none}}

/* =====================================================================
   2.0.6 : chaque rareté a son cadre, son fond et ses effets, identiques sur les deux faces
   commune : satin vert, grille · rare : bleu métal, losanges, reflet
   ultra : or, rosaces, reflet + holo · mise en avant : or riche, soleil, reflet fort + holo
   légendaire : arc-en-ciel, rosace holo qui change de couleur
   Les effets restent sur le cadre (sous le contenu) ; motifs du fond ≤ 18 % derrière le texte.
   ===================================================================== */
:root[data-theme="light"] .tcard.r-commune{
  --frame:linear-gradient(135deg,#E3F4E2 0%,#9ED3A8 22%,#3F8F55 45%,#D3EED7 55%,#4E9D63 75%,#E3F4E2 100%);
  --pat:linear-gradient(rgba(27,110,58,.09) 1px,rgba(27,110,58,0) 1px) 0 0/11px 11px,linear-gradient(90deg,rgba(27,110,58,.09) 1px,rgba(27,110,58,0) 1px) 0 0/11px 11px,linear-gradient(180deg,#FFFFFF,#EDF6E9);
  --art:radial-gradient(55% 42% at 50% 84%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%),linear-gradient(rgba(27,110,58,.08) 1px,rgba(27,110,58,0) 1px) 0 0/12px 12px,linear-gradient(90deg,rgba(27,110,58,.08) 1px,rgba(27,110,58,0) 1px) 0 0/12px 12px,linear-gradient(180deg,#F7FCF5,#DCEFD4);
  --holo:none;--shine:0}
:root[data-theme="light"] .tcard.r-rare{
  --frame:linear-gradient(135deg,#EEF4FF 0%,#9DB8F0 20%,#3B5FC4 42%,#F4F8FF 52%,#5A7BD8 70%,#CADAFB 100%);
  --pat:radial-gradient(rgba(56,108,196,.22) 1px,rgba(56,108,196,0) 1.8px) 0 0/12.73px 12.73px,repeating-linear-gradient(45deg,rgba(56,108,196,.12) 0 1px,rgba(56,108,196,0) 1px 9px),repeating-linear-gradient(-45deg,rgba(56,108,196,.12) 0 1px,rgba(56,108,196,0) 1px 9px),linear-gradient(180deg,#FFFFFF,#E7EFFC);
  --art:radial-gradient(55% 42% at 50% 84%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%),repeating-conic-gradient(from 0deg at 50% 84%,rgba(255,255,255,.6) 0 3deg,rgba(255,255,255,0) 3deg 9deg),repeating-linear-gradient(45deg,rgba(56,108,196,.08) 0 1px,rgba(56,108,196,0) 1px 10px),linear-gradient(180deg,#F5F9FF,#CFDFFA);
  --holo:none;--shine:.55}
:root[data-theme="light"] .tcard.r-ultra{
  --frame:linear-gradient(135deg,#FFF6D6 0%,#F1C75B 20%,#B57A1C 42%,#FFF3C4 52%,#D99A2B 72%,#FBE3A0 100%);
  --pat:repeating-radial-gradient(circle at 0 0,rgba(190,140,30,0) 0 6px,rgba(190,140,30,.16) 6px 7px),repeating-radial-gradient(circle at 100% 0,rgba(190,140,30,0) 0 6px,rgba(190,140,30,.16) 6px 7px),repeating-radial-gradient(circle at 50% 100%,rgba(27,110,58,0) 0 8px,rgba(27,110,58,.09) 8px 9px),linear-gradient(180deg,#FFFEF8,#FAF1DA);
  --art:radial-gradient(55% 42% at 50% 84%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%),repeating-conic-gradient(from 0deg at 50% 84%,rgba(255,255,255,.6) 0 6deg,rgba(255,255,255,0) 6deg 12deg),radial-gradient(120% 90% at 50% 78%,#FFFBEA 0%,#F4DD9E 75%);
  --holo:repeating-linear-gradient(115deg,rgba(255,107,107,.55) 0 6%,rgba(255,209,102,.55) 6% 12%,rgba(123,228,149,.55) 12% 18%,rgba(95,200,255,.55) 18% 24%,rgba(169,139,255,.55) 24% 30%);--shine:.7}
:root[data-theme="light"] .tcard.r-gold{
  --frame:linear-gradient(135deg,#FFF0B8 0%,#E9B23A 20%,#9C6410 42%,#FFE9A3 52%,#C9861A 72%,#FFD36B 100%);
  --pat:repeating-conic-gradient(from 0deg at 50% 0,rgba(214,160,40,.16) 0 4deg,rgba(214,160,40,0) 4deg 10deg),repeating-radial-gradient(circle at 50% 0,rgba(190,140,30,0) 0 7px,rgba(190,140,30,.13) 7px 8px),linear-gradient(180deg,#FFFDF4,#FAF0D6);
  --art:radial-gradient(50% 38% at 50% 84%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%),repeating-conic-gradient(from 0deg at 50% 84%,rgba(233,178,58,.42) 0 5deg,rgba(255,255,255,.35) 5deg 10deg),radial-gradient(120% 90% at 50% 78%,#FFF6D9 0%,#F2CF73 80%);
  --holo:repeating-linear-gradient(115deg,rgba(255,236,160,.7) 0 5%,rgba(255,180,60,.55) 5% 10%,rgba(255,250,220,.7) 10% 15%);--shine:.85}
:root[data-theme="light"] .tcard.r-legend{
  --frame:conic-gradient(from 210deg,#FF6FB5,#FFD25E,#7BE495,#5FC8FF,#A98BFF,#FF6FB5);
  --pat:linear-gradient(120deg,rgba(236,72,153,.16),rgba(250,204,21,.16),rgba(34,197,94,.16),rgba(56,189,248,.16),rgba(139,92,246,.16),rgba(236,72,153,.16)) 0 50%/300% 300%,repeating-conic-gradient(from 0deg at 50% 45%,rgba(124,58,237,.10) 0 3deg,rgba(124,58,237,0) 3deg 9deg),repeating-radial-gradient(circle at 50% 45%,rgba(124,58,237,0) 0 7px,rgba(124,58,237,.11) 7px 8px),linear-gradient(180deg,#FFFFFF,#F2ECFC);
  --art:radial-gradient(48% 36% at 50% 84%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%),repeating-conic-gradient(from 0deg at 50% 84%,rgba(255,111,181,.32) 0 6deg,rgba(255,210,94,.32) 6deg 12deg,rgba(123,228,149,.32) 12deg 18deg,rgba(95,200,255,.32) 18deg 24deg,rgba(169,139,255,.32) 24deg 30deg),linear-gradient(180deg,#FFFFFF,#F1E8FF);
  --holo:conic-gradient(from 0deg at 30% 30%,rgba(255,111,181,.8),rgba(255,210,94,.8),rgba(123,228,149,.8),rgba(95,200,255,.8),rgba(169,139,255,.8),rgba(255,111,181,.8));--shine:.8}
/* cadre (les côtés), identique sur le dessin et sur le dos */
:root[data-theme="light"] .tcard :is(.tc-front,.tc-back){background:var(--frame)!important}
/* fond du corps et fenêtre du dessin / de la photo */
:root[data-theme="light"] .tcard .tc-body{background:var(--pat)!important}
:root[data-theme="light"] .tcard :is(.tb3-art,.tf3-ph){background:var(--art)!important}
/* holo et reflet : sous le contenu, donc seulement sur le cadre, sur les deux faces */
:root[data-theme="light"] .tcard .tc-foil{z-index:0!important;opacity:1!important;animation:none!important;overflow:hidden;background:var(--holo)!important;mix-blend-mode:soft-light!important}
:root[data-theme="light"] .tcard.r-legend .tc-foil{mix-blend-mode:color!important;opacity:.55!important}
:root[data-theme="light"] .tcard .tc-foil::after{content:"";position:absolute;inset:-10% 0;border-radius:inherit;pointer-events:none;opacity:var(--shine);
  background:linear-gradient(105deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 65%);transform:translateX(-130%)}
:root[data-theme="light"] .tcard .tc-body{z-index:1}
@media (prefers-reduced-motion:no-preference){
  /* seulement la face visible bouge */
  :root[data-theme="light"] .tcard:is(.r-rare,.r-ultra,.r-gold,.r-legend):not(.is-flipped) .tc-front .tc-foil::after,
  :root[data-theme="light"] .tcard:is(.r-rare,.r-ultra,.r-gold,.r-legend).is-flipped .tc-back .tc-foil::after{animation:tcFrameShine 5s ease-in-out infinite}
  :root[data-theme="light"] .tcard.r-gold:not(.is-flipped) .tc-front .tc-foil::after,:root[data-theme="light"] .tcard.r-gold.is-flipped .tc-back .tc-foil::after{animation-duration:3.6s}
  :root[data-theme="light"] .tcard.r-legend:not(.is-flipped) .tc-front .tc-foil,:root[data-theme="light"] .tcard.r-legend.is-flipped .tc-back .tc-foil{animation:tcHue 8s linear infinite!important}
  :root[data-theme="light"] .tcard.r-legend .tc-body{animation:tcHolo 9s ease-in-out infinite alternate}
}
@keyframes tcFrameShine{0%,45%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes tcHue{to{filter:hue-rotate(360deg)}}
@keyframes tcHolo{0%{background-position:0% 50%,0 0,0 0,0 0}100%{background-position:100% 50%,0 0,0 0,0 0}}
/* « Mise en avant » : les anciennes feuilles gravées passaient sur le texte ; le soleil doré les remplace */
:root[data-theme="light"] .tcard.r-gold .tc-body::before,:root[data-theme="light"] .tcard.r-gold .tc-body::after{display:none}
/* badges du coin de la photo (Légendaire, Mise en avant, Nouveau, Ma plante) : lisibles, avec leurs couleurs */
:root[data-theme="light"] .tcard .tc-body .tc-flag span{color:inherit!important}
:root[data-theme="light"] .tcard .tc-body span.tc-flag{color:#FFFFFF!important}
:root[data-theme="light"] .tcard .tc-body span.tc-flag.f-new{color:#0D1410!important}
:root[data-theme="light"] .tcard.r-gold .tc-body span.tc-flag.f-feat{color:#F6D488!important}
:root[data-theme="light"] .tcard:not(.r-gold) .tc-body span.tc-flag:not(.f-new){background:rgba(18,26,20,.88)!important}

/* =====================================================================
   2.0.7 : filtres prix et rareté (Exposition et Échanges), invitation avec la carte, partage
   ===================================================================== */
.sort-chips{margin-top:-6px}
.sort-chips .rar-chip::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-.05em;background:var(--dot)}
.rar-chip.r-commune{--dot:#3F8F55}.rar-chip.r-rare{--dot:#3B5FC4}.rar-chip.r-ultra{--dot:#D99A2B}
.rar-chip.r-legend{--dot:conic-gradient(#FF6FB5,#FFD25E,#7BE495,#5FC8FF,#A98BFF,#FF6FB5)}
.xch-browse{margin-top:26px}
.xch-browse .fgrid{margin-top:6px}
.invite-lead{font-size:16px;line-height:1.5;margin:0 0 10px}
.invite-vis{width:min(240px,72%);margin:8px auto 16px}
.invite-vis .tcard{width:100%!important;max-width:100%!important;margin:0}
.share-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;margin-top:12px}
.share-row .btn{min-height:48px;padding:0 10px;font-size:15px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.invite-story{width:100%;margin-top:8px}
.cm-near-list .cm-pl-txt small{white-space:nowrap}

/* =====================================================================
   2.0.8 : la vraie photo de la plante derrière le dessin, en couleurs naturelles et en transparence ;
   un liseré blanc autour du dessin le garde net devant la photo
   ===================================================================== */
:root[data-theme="light"] .tcard .tb3-ph{opacity:.58;filter:saturate(1.05)!important}
:root[data-theme="light"] .tcard .tb3-art:has(.tb3-ph) .tb-sprite{filter:drop-shadow(0 0 .9cqw rgba(255,255,255,.95)) drop-shadow(0 0 .3cqw rgba(255,255,255,.95)) drop-shadow(0 1.2cqw 1.4cqw rgba(18,50,31,.25))}
