/* ============================================================
   THÈME "COZY GAME" — skin GardenPilot
   Reproduit la démo /demo/v1.html (Cozy Farm Game) :
   palette chaude saturée, claymorphism, Baloo 2 / Nunito,
   parcelles-jeu mignonnes, badges, micro-animations rebond/balancement.
   Toutes les règles sont scopées sous [data-theme="cozy"].
   ============================================================ */

/* ---------- @keyframes (global, préfixés cozy-) ---------- */
@keyframes cozy-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes cozy-ripe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.1)}}
@keyframes cozy-bob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-9px) rotate(2deg)}}
@keyframes cozy-wave{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(16deg)}20%{transform:rotate(-10deg)}30%{transform:rotate(16deg)}40%{transform:rotate(-6deg)}}
@keyframes cozy-sunglow{0%,100%{box-shadow:0 0 0 7px rgba(246,179,43,.25),0 0 38px rgba(255,210,63,.5),0 10px 0 rgba(168,90,40,.18)}50%{box-shadow:0 0 0 10px rgba(246,179,43,.32),0 0 60px rgba(255,210,63,.75),0 10px 0 rgba(168,90,40,.18)}}
@keyframes cozy-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
@keyframes cozy-drift{from{background-position:0 0,0 0}to{background-position:260px 0,-320px 0}}

/* ============================================================
   A. PALETTE GLOBALE + POLICE
   ============================================================ */
[data-theme="cozy"]{
  --bg:#eaf7da;
  --bg2:#def0c9;
  --panel:#fffdf6;
  --panel2:#fff8e8;
  --lime:#7ace3f;
  --lime2:#9be15d;
  --green:#6cbf3f;
  --green-d:#4f9e2a;
  --text:#4a3b22;
  --muted:#8a7654;
  --border:rgba(168,90,40,.18);
  --card:#fffdf6;
  --gold:#f6b32b;
  --blue:#8fcdf6;

  /* tokens cozy */
  --cz-grass:#6cbf3f;
  --cz-grass-d:#4f9e2a;
  --cz-grass-dd:#3c7d1f;
  --cz-terre:#c8743b;
  --cz-terre-d:#a85a28;
  --cz-soleil:#ffd23f;
  --cz-soleil-d:#f6b32b;
  --cz-cream:#fff8e8;
  --cz-rose:#ff9bb3;
  --cz-pad:#e8f4d6;
  --cz-ink:#4a3b22;
  --cz-ink-soft:#8a7654;
  --cz-shadow:0 10px 0 rgba(0,0,0,.06),0 14px 30px rgba(99,75,30,.16);
  --cz-r-xl:32px;
  --cz-r-lg:24px;
  --cz-r-md:20px;
}

[data-theme="cozy"] body{
  font-family:'Nunito',system-ui,sans-serif;
  color:var(--cz-ink);
  background:
    radial-gradient(circle at 12% -5%,#d7f0ff 0%,transparent 42%),
    radial-gradient(circle at 95% 0%,#fff0c2 0%,transparent 38%),
    linear-gradient(180deg,#eaf7da 0%,#def0c9 100%);
  background-attachment:fixed;
}
[data-theme="cozy"] h1,
[data-theme="cozy"] h2,
[data-theme="cozy"] h3,
[data-theme="cozy"] h4{font-family:'Baloo 2',cursive;letter-spacing:.2px}

/* ============================================================
   B. COQUILLE (sidebar / topbar / cards / boutons)
   ============================================================ */

/* --- sidebar : herbe en dégradé --- */
[data-theme="cozy"] .sidebar{
  background:linear-gradient(180deg,var(--cz-grass) 0%,var(--cz-grass-d) 100%);
  border-right:6px solid rgba(0,0,0,.08);
  box-shadow:6px 0 24px rgba(60,125,31,.25);
}
[data-theme="cozy"] .side-logo img{filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}

[data-theme="cozy"] .side-nav button{
  color:#fff;font-family:'Baloo 2';font-weight:700;font-size:15px;
  background:rgba(255,255,255,.10);
  border:2px solid transparent;border-radius:16px;margin-bottom:2px;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
  transition:transform .12s ease,background .15s;
}
[data-theme="cozy"] .side-nav button:hover{
  transform:translateX(4px);background:rgba(255,255,255,.22);color:#fff;
}
[data-theme="cozy"] .side-nav button.active{
  background:var(--cz-cream);color:var(--cz-grass-dd);
  border:2px solid #fff;box-shadow:0 5px 0 rgba(0,0,0,.12);text-shadow:none;
}

[data-theme="cozy"] .side-foot{
  border-top:3px dashed rgba(255,255,255,.4);
}
[data-theme="cozy"] .side-edit{
  color:#eef9e0;font-weight:700;border-radius:14px;
}
[data-theme="cozy"] .side-edit:hover{
  color:#fff;background:rgba(255,255,255,.18);
}

/* --- topbar : crème translucide, relief vert --- */
[data-theme="cozy"] .topbar{
  background:rgba(255,253,246,.88);
  backdrop-filter:blur(6px);
  border-bottom:4px solid rgba(108,191,63,.30);
}
[data-theme="cozy"] .topbar h1{
  font-family:'Baloo 2';font-weight:800;color:var(--cz-ink);
}
[data-theme="cozy"] .topbar .muted{color:var(--cz-ink-soft);font-weight:700}
[data-theme="cozy"] .topbar-auto{
  display:flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d));
  color:var(--cz-ink);font-family:'Baloo 2';font-weight:800;
  padding:8px 16px;border-radius:30px;border:3px solid #fff;
  box-shadow:0 6px 0 rgba(246,179,43,.5),0 8px 16px rgba(0,0,0,.12);
}
[data-theme="cozy"] .topbar-auto .muted{
  color:var(--cz-ink);font-size:11px;text-transform:uppercase;letter-spacing:.4px;display:inline;
}
[data-theme="cozy"] .topbar-auto b{
  color:var(--cz-ink);font-family:'Baloo 2';font-size:22px;font-weight:800;
}

/* --- card : claymorphism --- */
[data-theme="cozy"] .card{
  background:var(--cz-cream);
  border:3px solid #fff;
  border-radius:var(--cz-r-lg);
  box-shadow:var(--cz-shadow);
}
[data-theme="cozy"] .card h3{
  font-family:'Baloo 2';font-weight:800;font-size:1.05rem;color:var(--cz-ink);
}
[data-theme="cozy"] .card:hover{transform:translateY(-3px)}

/* --- section title --- */
[data-theme="cozy"] .section-title{
  font-family:'Baloo 2';font-weight:800;font-size:1.55rem;color:var(--cz-ink);
}

/* --- KPI générique --- */
[data-theme="cozy"] .kpi{color:var(--cz-grass-d);font-family:'Baloo 2'}
[data-theme="cozy"] .kpi small{color:var(--cz-ink-soft)}

/* --- bouton primaire : bouton-jeu rebondi --- */
[data-theme="cozy"] .btn-primary{
  background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d));
  color:var(--cz-ink);font-family:'Baloo 2';font-weight:800;
  border:3px solid #fff;border-radius:26px;
  box-shadow:0 6px 0 rgba(246,179,43,.55),0 8px 16px rgba(0,0,0,.12);
}
[data-theme="cozy"] .btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 0 rgba(246,179,43,.55),0 12px 22px rgba(0,0,0,.16);
}
[data-theme="cozy"] .btn-ghost2{
  background:#fff;color:var(--cz-grass-dd);font-weight:800;
  border:2px solid var(--cz-pad);border-radius:22px;
}

/* ============================================================
   C. ACCUEIL — POTAGER VIVANT (viewOverview)
   ============================================================ */

/* --- season-hero : grand bandeau ciel arrondi --- */
[data-theme="cozy"] .season-hero{
  border-radius:var(--cz-r-xl);
  border:3px solid #fff;
  box-shadow:var(--cz-shadow);
  overflow:hidden;
}
/* ciels saisonniers doux et chauds */
[data-theme="cozy"] .s-printemps .sky{background:linear-gradient(160deg,#bdeaf7 0%,#d6f3c0 60%,#eaffd6 130%)}
[data-theme="cozy"] .s-ete .sky{background:linear-gradient(160deg,#bfe4ff 0%,#d4f3ad 58%,#eaffd6 130%)}
[data-theme="cozy"] .s-automne .sky{background:linear-gradient(160deg,#ffd9a3 0%,#f0b66a 52%,#ffeccb 130%)}
[data-theme="cozy"] .s-hiver .sky{background:linear-gradient(160deg,#d6e8f7 0%,#bcd2e6 52%,#eef4fb 135%)}
[data-theme="cozy"] .season-hero .clouds{
  opacity:.65;
  background:
    radial-gradient(120px 50px at 25% 30%,rgba(255,255,255,.85),transparent 70%),
    radial-gradient(160px 60px at 70% 22%,rgba(255,255,255,.7),transparent 70%);
  animation:cozy-drift 38s linear infinite;
}

/* soleil = jauge d'autonomie ludique (anneau épais + badge) */
[data-theme="cozy"] .season-hero .sun{
  width:128px;height:128px;color:var(--cz-ink);
  background:conic-gradient(var(--cz-soleil) calc(var(--p)*1%),rgba(74,59,34,.16) 0);
  border:4px solid #fff;
  box-shadow:0 0 0 7px rgba(246,179,43,.25),0 0 38px rgba(255,210,63,.5),0 10px 0 rgba(168,90,40,.18);
  animation:cozy-sunglow 4s ease-in-out infinite;
}
[data-theme="cozy"] .season-hero .sun::before{
  inset:15px;background:radial-gradient(circle at 38% 34%,#fff2c4,#ffce3a 72%);
  box-shadow:inset 0 -4px 8px rgba(246,179,43,.4);
}
[data-theme="cozy"] .season-hero .sun::after{
  content:"☀️";position:absolute;top:-12px;left:50%;transform:translateX(-50%) rotate(-12deg);
  z-index:3;font-size:24px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2));
  animation:cozy-bob 3.4s ease-in-out infinite;
}
[data-theme="cozy"] .season-hero .sun b{font-family:'Baloo 2';font-size:32px;font-weight:800;color:var(--cz-ink)}
[data-theme="cozy"] .season-hero .sun b i{font-size:16px;font-weight:800}
[data-theme="cozy"] .season-hero .sun span{color:var(--cz-ink);opacity:.85}

/* copy */
[data-theme="cozy"] .sh-copy{color:var(--cz-ink)}
[data-theme="cozy"] .sh-season{
  background:#fff;border:3px solid var(--cz-soleil);color:var(--cz-terre-d);
  font-family:'Baloo 2';font-weight:800;border-radius:30px;
  box-shadow:0 4px 0 rgba(246,179,43,.4);
}
[data-theme="cozy"] .sh-copy h2{
  font-family:'Baloo 2';font-size:30px;font-weight:800;color:var(--cz-ink);
}
[data-theme="cozy"] .sh-copy h2::after{
  content:"👋";display:inline-block;margin-left:6px;
  animation:cozy-wave 2.4s ease-in-out infinite;transform-origin:70% 70%;
}
[data-theme="cozy"] .sh-copy p{color:#5e4a2a;font-weight:700}

/* Marcel compagnon + bulle BD */
[data-theme="cozy"] .sh-marcel img{
  width:108px;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.2));
  animation:cozy-bob 3.4s ease-in-out infinite;
}
[data-theme="cozy"] .sh-marcel .bubble{
  background:#fff;color:var(--cz-ink);font-weight:700;
  border:3px solid var(--cz-grass);
  border-radius:18px 18px 4px 18px;
  box-shadow:0 6px 0 rgba(108,191,63,.3);
}
[data-theme="cozy"] .sh-marcel .bubble::after{
  border-left-color:var(--cz-grass);
}

/* --- potager : planche avec terre cuite + herbe --- */
[data-theme="cozy"] .potager{
  border:3px solid #fff;border-radius:var(--cz-r-xl);
  box-shadow:var(--cz-shadow);
  background:
    radial-gradient(circle at 90% 8%,rgba(255,210,63,.18),transparent 40%),
    linear-gradient(160deg,#eaffd6 0%,#d4f3ff 100%);
}
[data-theme="cozy"] .pot-head h3{font-family:'Baloo 2';font-weight:800;color:var(--cz-ink)}
[data-theme="cozy"] .pot-head .muted{
  background:var(--cz-pad);color:var(--cz-grass-dd);font-weight:800;
  padding:6px 14px;border-radius:20px;border:2px solid #fff;font-size:.82rem;
}

/* --- BED = case-jeu mignonne --- */
[data-theme="cozy"] .bed{
  border-radius:var(--cz-r-md);
  border:3px solid #fff;
  overflow:hidden;
  background:
    repeating-linear-gradient(45deg,rgba(200,116,59,.05) 0 12px,transparent 12px 24px),
    linear-gradient(180deg,#fffef9 0%,#f4ffe8 100%);
  box-shadow:0 8px 0 rgba(168,90,40,.14),0 12px 22px rgba(99,75,30,.10);
}
[data-theme="cozy"] .bed:hover{
  transform:translateY(-6px) rotate(-.6deg);
  box-shadow:0 14px 0 rgba(168,90,40,.16),0 18px 30px rgba(99,75,30,.16);
}
/* terre = bande de terre cuite en bas, teintée de la culture */
[data-theme="cozy"] .bed-soil{
  min-height:96px;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--c) 22%,#fffef4),#fffef4 70%),
    transparent;
  position:relative;
}
[data-theme="cozy"] .bed-soil::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:24px;
  background:linear-gradient(180deg,var(--cz-terre),var(--cz-terre-d));
  border-top:3px dashed rgba(255,255,255,.45);
}
[data-theme="cozy"] .bed.st-attente .bed-soil,
[data-theme="cozy"] .bed.st-repos .bed-soil{
  background:linear-gradient(180deg,#fffaf0,#f3ead8 70%);
}
/* pousses qui se balancent */
[data-theme="cozy"] .sprout{
  font-size:26px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18));
  animation:cozy-sway 3.6s ease-in-out infinite;animation-delay:var(--d);
  position:relative;z-index:1;
}
[data-theme="cozy"] .bed.st-recolte .sprout{font-size:28px;animation:cozy-ripe 2.6s ease-in-out infinite;animation-delay:var(--d)}
[data-theme="cozy"] .bed.st-attente .sprout{font-size:11px;opacity:.55;color:var(--cz-ink-soft);animation:none}
[data-theme="cozy"] .bed-more{
  background:rgba(168,90,40,.22);color:var(--cz-terre-d);font-weight:800;
  border-radius:999px;align-self:center;position:relative;z-index:1;
}
/* jauge qui se remplit */
[data-theme="cozy"] .bed-grow{height:13px;background:#e9eddf;border-top:2px solid #fff}
[data-theme="cozy"] .bed-grow i{
  background:linear-gradient(90deg,var(--cz-grass),var(--cz-grass-d));
}
/* pied + badge de stade */
[data-theme="cozy"] .bed-name{font-family:'Baloo 2';font-weight:800;font-size:1rem;color:var(--cz-ink)}
[data-theme="cozy"] .bed-stage{
  font-family:'Nunito';font-weight:800;border:2px solid #fff;
  box-shadow:0 3px 0 rgba(0,0,0,.06);
  animation:cozy-pop .4s ease both;
}
[data-theme="cozy"] .bed-stage.st-recolte{background:#ffe1a8;color:#a85a28}
[data-theme="cozy"] .bed-stage.st-pousse{background:#d7f0c2;color:#3c7d1f}
[data-theme="cozy"] .bed-stage.st-semis,
[data-theme="cozy"] .bed-stage.st-plant{background:#cfe7ff;color:#1f6bb0}
[data-theme="cozy"] .bed-stage.st-attente,
[data-theme="cozy"] .bed-stage.st-repos{background:#efe7d6;color:var(--cz-ink-soft)}
[data-theme="cozy"] .bed-meta{color:var(--cz-ink-soft);font-weight:700}

/* --- signpost : panneaux de jardin ludiques --- */
[data-theme="cozy"] .signpost h3,
[data-theme="cozy"] .packets-wrap h3{font-family:'Baloo 2';font-weight:800;color:var(--cz-ink)}
[data-theme="cozy"] .sign{
  background-image:none;
  background:linear-gradient(120deg,#fff8e8,#fffdf6);
  border:2px solid #ffe3b0;border-radius:18px;color:var(--cz-ink);
  box-shadow:0 4px 0 rgba(246,179,43,.22);
  transition:transform .12s;
}
[data-theme="cozy"] .sign:hover{transform:translateX(5px)}
[data-theme="cozy"] .sign::before{
  width:6px;height:10px;background:var(--cz-terre-d);bottom:-10px;border-radius:0 0 3px 3px;
}
[data-theme="cozy"] .sign .sg-em{font-size:24px}
[data-theme="cozy"] .sign .sg-tx{font-weight:800;color:var(--cz-ink)}
[data-theme="cozy"] .sign em{font-family:'Nunito';font-weight:800;border:2px solid #fff}
[data-theme="cozy"] .sign-semis em{background:#cfe7ff;color:#1f6bb0}
[data-theme="cozy"] .sign-plant em{background:#d7f0c2;color:#3c7d1f}
[data-theme="cozy"] .sign-recolte em{background:#ffe1a8;color:#a85a28}

/* --- packets : tuiles badge/récompense --- */
[data-theme="cozy"] .packet{
  background:#fffdf6;border:3px solid #fff;border-radius:var(--cz-r-md);
  box-shadow:0 7px 0 rgba(0,0,0,.06),0 10px 18px rgba(99,75,30,.1);
}
[data-theme="cozy"] .packet:nth-child(1){background:linear-gradient(135deg,#e6ffd2,#cdf3a8)}
[data-theme="cozy"] .packet:nth-child(2){background:linear-gradient(135deg,#ffe9c4,#ffd58a)}
[data-theme="cozy"] .packet:nth-child(3){background:linear-gradient(135deg,#d4ecff,#a8d6ff)}
[data-theme="cozy"] .packet:nth-child(4){background:linear-gradient(135deg,#ffe0e9,#ffc1d2)}
[data-theme="cozy"] .packet::before{
  height:0;
}
[data-theme="cozy"] .packet:hover{transform:translateY(-4px) rotate(-.5deg)}
[data-theme="cozy"] .pk-ic{font-size:28px}
[data-theme="cozy"] .pk-v{font-family:'Baloo 2';font-weight:800;color:var(--cz-grass-dd)}
[data-theme="cozy"] .pk-l{color:var(--cz-ink-soft);font-weight:800}

/* ============================================================
   D. COMPOSANTS COMMUNS (autres onglets)
   ============================================================ */

/* --- ring (autonomie) --- */
[data-theme="cozy"] .ring .bg{stroke:#e9eddf;stroke-width:14}
[data-theme="cozy"] .ring .pr{stroke:var(--cz-grass-d);stroke-width:14}
[data-theme="cozy"] .ring .c b{font-family:'Baloo 2';color:var(--cz-grass-d)}
[data-theme="cozy"] .ring .c span{color:var(--cz-ink-soft);font-weight:700}

/* --- bars --- */
[data-theme="cozy"] .bar{background:#e9eddf;border:2px solid #fff;border-radius:20px;height:13px}
[data-theme="cozy"] .bar i{background:linear-gradient(90deg,var(--cz-grass),var(--cz-grass-d))}
[data-theme="cozy"] .row-h b{color:var(--cz-grass-d);font-family:'Baloo 2'}
[data-theme="cozy"] .barline{color:var(--cz-ink)}
[data-theme="cozy"] .mini-bar{background:#e9eddf;border:1px solid #fff}
[data-theme="cozy"] .mini-bar i{background:linear-gradient(90deg,var(--cz-grass),var(--cz-grass-d))}
[data-theme="cozy"] .cov{color:var(--cz-grass-d);font-family:'Baloo 2';font-weight:800}

/* --- table --- */
[data-theme="cozy"] .tbl th{color:var(--cz-ink-soft);font-weight:800;border-bottom:2px solid var(--cz-pad)}
[data-theme="cozy"] .tbl td{border-bottom:1px solid rgba(168,90,40,.1);color:var(--cz-ink);font-weight:600}

/* --- calendar --- */
[data-theme="cozy"] .cal-cell{
  background:linear-gradient(180deg,#fffef9,#f4ffe8);
  border:3px solid #fff;border-radius:18px;
  box-shadow:0 6px 0 rgba(168,90,40,.10);
}
[data-theme="cozy"] .cal-cell.now{
  border-color:var(--cz-soleil);
  box-shadow:0 0 0 2px var(--cz-soleil),0 6px 0 rgba(246,179,43,.3);
}
[data-theme="cozy"] .cal-cell h4{font-family:'Baloo 2';font-weight:800;color:var(--cz-ink)}
[data-theme="cozy"] .cal-now{background:var(--cz-soleil);color:var(--cz-ink);font-weight:800}
[data-theme="cozy"] .cal-cell .chip{border-radius:10px;font-weight:700}
[data-theme="cozy"] .cal-cell .chip.semis{background:#cfe7ff;color:#1f6bb0}
[data-theme="cozy"] .cal-cell .chip.plant{background:#d7f0c2;color:#3c7d1f}
[data-theme="cozy"] .cal-cell .chip.recolte{background:#ffe1a8;color:#a85a28}

/* --- garden plan plots --- */
[data-theme="cozy"] .gplot{
  border-radius:18px;border:3px solid #fff;font-family:'Baloo 2';font-weight:700;
  box-shadow:0 7px 0 rgba(0,0,0,.12),0 10px 18px rgba(99,75,30,.14);
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
[data-theme="cozy"] .gplot:hover{transform:translateY(-4px) rotate(-.5deg)}

/* --- next actions (.acts/.act/.tag) --- */
[data-theme="cozy"] .act{
  background:linear-gradient(120deg,#fff8e8,#fffdf6);
  border:2px solid #ffe3b0;border-radius:16px;font-weight:700;color:var(--cz-ink);
  box-shadow:0 4px 0 rgba(246,179,43,.2);
}
[data-theme="cozy"] .act:hover{transform:translateX(4px)}
[data-theme="cozy"] .act .am{color:var(--cz-ink-soft);font-weight:800}
[data-theme="cozy"] .tag{font-weight:800;border:2px solid #fff}
[data-theme="cozy"] .tag.semis{background:#cfe7ff;color:#1f6bb0}
[data-theme="cozy"] .tag.plant{background:#d7f0c2;color:#3c7d1f}
[data-theme="cozy"] .tag.recolte{background:#ffe1a8;color:#a85a28}

/* --- KPI strip --- */
[data-theme="cozy"] .kpi-c{border:3px solid #fff;border-radius:var(--cz-r-md);box-shadow:0 7px 0 rgba(0,0,0,.06),0 10px 18px rgba(99,75,30,.1)}
[data-theme="cozy"] .kpi-c:hover{transform:translateY(-4px);border-color:#fff}
[data-theme="cozy"] .kpi-ic{
  background:linear-gradient(135deg,#ffe9c4,#ffd58a);
  border:3px solid #fff;border-radius:16px;
}
[data-theme="cozy"] .kpi-v{font-family:'Baloo 2';font-weight:800;color:var(--cz-grass-dd)}
[data-theme="cozy"] .kpi-l{color:var(--cz-ink);font-weight:800}
[data-theme="cozy"] .kpi-s{color:var(--cz-ink-soft)}

/* --- chips / autres --- */
[data-theme="cozy"] .ch{background:var(--cz-pad);border:2px solid #fff;color:var(--cz-grass-dd);font-weight:700;border-radius:999px}
[data-theme="cozy"] .ch.warn{background:#ffe1c4;color:#a85a28;border-color:#fff}
[data-theme="cozy"] .empty-state{color:var(--cz-ink-soft);font-weight:700}

/* --- Abonnement (.pcard) --- */
[data-theme="cozy"] .bill-cur{background:var(--cz-cream);color:var(--cz-ink);font-weight:700}
[data-theme="cozy"] .bill-cur a{color:var(--cz-grass-d);font-weight:800}
[data-theme="cozy"] .bill-toggle2 span{color:var(--cz-ink-soft);font-weight:800}
[data-theme="cozy"] .bill-toggle2 span.on{color:var(--cz-ink)}
[data-theme="cozy"] .bill-toggle2 em{background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d));color:var(--cz-ink)}
[data-theme="cozy"] .pcard{background:var(--cz-cream)}
[data-theme="cozy"] .pcard.featured{
  border-color:var(--cz-soleil);
  background:linear-gradient(180deg,#fff6db,var(--cz-cream));
  box-shadow:0 16px 40px rgba(246,179,43,.18);
}
[data-theme="cozy"] .pcard.current{outline:3px solid var(--cz-grass);outline-offset:-3px}
[data-theme="cozy"] .pc-tag{background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d));color:var(--cz-ink);font-weight:800;border:2px solid #fff}
[data-theme="cozy"] .pc-name{color:var(--cz-grass-dd);font-family:'Baloo 2'}
[data-theme="cozy"] .pc-price{font-family:'Baloo 2';font-weight:800;color:var(--cz-ink)}
[data-theme="cozy"] .pc-yr{color:var(--cz-grass-d);font-weight:800}
[data-theme="cozy"] .pcard li{color:var(--cz-ink);font-weight:600}

/* --- switch (onboarding/billing) --- */
[data-theme="cozy"] .switch{background:#eadfc8;border:2px solid #fff}
[data-theme="cozy"] .switch.on{background:rgba(108,191,63,.35)}
[data-theme="cozy"] .switch i{background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d))}

/* ============================================================
   E. CHAT MARCEL
   ============================================================ */
[data-theme="cozy"] .marcel-fab{
  background:linear-gradient(135deg,var(--cz-grass),var(--cz-grass-d));
  color:#fff;font-family:'Baloo 2';font-weight:800;
  border:3px solid #fff;
  box-shadow:0 10px 0 rgba(60,125,31,.4),0 12px 28px rgba(0,0,0,.25);
}
[data-theme="cozy"] .marcel-fab:hover{transform:translateY(-3px)}
[data-theme="cozy"] .marcel-fab img{animation:cozy-bob 3.4s ease-in-out infinite}
[data-theme="cozy"] .marcel-panel{
  background:var(--cz-cream);
  border:3px solid #fff;border-radius:24px;
  box-shadow:0 30px 60px rgba(99,75,30,.35);
}
[data-theme="cozy"] .marcel-head{
  background:linear-gradient(135deg,rgba(108,191,63,.28),transparent);
  border-bottom:3px solid var(--cz-pad);
}
[data-theme="cozy"] .marcel-id b{font-family:'Baloo 2';color:var(--cz-ink)}
[data-theme="cozy"] .marcel-id span{color:var(--cz-ink-soft);font-weight:700}
[data-theme="cozy"] .marcel-head button{color:var(--cz-ink-soft)}
[data-theme="cozy"] .marcel-head button:hover{color:var(--cz-ink)}
[data-theme="cozy"] .marcel-log .msg{font-weight:600}
[data-theme="cozy"] .marcel-log .msg.user{
  background:linear-gradient(135deg,var(--cz-grass),var(--cz-grass-d));color:#fff;
  border-radius:16px 16px 4px 16px;
}
[data-theme="cozy"] .marcel-log .msg.bot{
  background:#fff;border:2px solid var(--cz-pad);color:var(--cz-ink);
  border-radius:16px 16px 16px 4px;
}
[data-theme="cozy"] .marcel-suggest button{
  background:#fff;border:2px solid var(--cz-pad);color:var(--cz-ink-soft);
  font-weight:700;border-radius:999px;
}
[data-theme="cozy"] .marcel-suggest button:hover{color:var(--cz-grass-dd);border-color:var(--cz-grass)}
[data-theme="cozy"] .marcel-input{border-top:3px solid var(--cz-pad)}
[data-theme="cozy"] .marcel-input input{
  background:#fff;border:2px solid var(--cz-pad);color:var(--cz-ink);border-radius:14px;
}
[data-theme="cozy"] .marcel-input input:focus{border-color:var(--cz-grass)}
[data-theme="cozy"] .marcel-input button{
  background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d));color:var(--cz-ink);
  border-radius:14px;
}

/* fields focus cohérents */
[data-theme="cozy"] .ob-field input{background:#fff;border:2px solid var(--cz-pad);color:var(--cz-ink);border-radius:12px}
[data-theme="cozy"] .ob-field input:focus{border-color:var(--cz-grass)}
[data-theme="cozy"] .ob-field>label{color:var(--cz-ink-soft);font-weight:800}

/* ============================================================
   F. SÉLECTEUR DE THÈME (lisible + embelli)
   ============================================================ */
[data-theme="cozy"] .theme-quick{border-bottom:2px dashed rgba(255,255,255,.4)}
[data-theme="cozy"] .theme-quick button{
  background:rgba(255,255,255,.85);border:2px solid #fff;border-radius:12px;
}
[data-theme="cozy"] .theme-quick button:hover{transform:translateY(-2px);border-color:var(--cz-soleil)}
[data-theme="cozy"] .theme-quick button.on{
  background:var(--cz-cream);border-color:var(--cz-soleil);
  box-shadow:0 0 0 2px var(--cz-soleil);
}
[data-theme="cozy"] .theme-card{
  background:var(--cz-cream);border:3px solid #fff;border-radius:var(--cz-r-lg);
  color:var(--cz-ink);box-shadow:0 8px 0 rgba(0,0,0,.05),0 10px 22px rgba(99,75,30,.12);
}
[data-theme="cozy"] .theme-card:hover{transform:translateY(-4px);border-color:var(--cz-soleil)}
[data-theme="cozy"] .theme-card.sel{
  border-color:var(--cz-grass);
  box-shadow:0 0 0 3px var(--cz-grass),0 10px 22px rgba(99,75,30,.16);
}
[data-theme="cozy"] .tc-body b{font-family:'Baloo 2';color:var(--cz-ink)}
[data-theme="cozy"] .tc-body p{color:var(--cz-ink-soft);font-weight:600}
[data-theme="cozy"] .tc-check{background:var(--cz-grass);color:#fff;font-weight:800}

/* ============================================================
   Toast
   ============================================================ */
[data-theme="cozy"] .toast{
  background:linear-gradient(135deg,var(--cz-grass),var(--cz-grass-d));
  color:#fff;font-family:'Baloo 2';font-weight:800;
  border:3px solid #fff;border-radius:18px;
  box-shadow:0 14px 40px rgba(99,75,30,.4);
}

/* ============================================================
   Accessibilité : réduire les animations
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  [data-theme="cozy"] .sprout,
  [data-theme="cozy"] .sh-marcel img,
  [data-theme="cozy"] .season-hero .sun,
  [data-theme="cozy"] .season-hero .sun::after,
  [data-theme="cozy"] .marcel-fab img,
  [data-theme="cozy"] .sh-copy h2::after,
  [data-theme="cozy"] .bed-stage{animation:none!important}
}

/* ===== NAV cozy : dock en bas ===== */
/* @keyframes du dock (préfixés cozy-) */
@keyframes cozy-dock-in{from{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes cozy-tab-bounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-7px)}70%{transform:translateY(-2px)}}
@keyframes cozy-active-glow{0%,100%{box-shadow:0 0 0 4px rgba(255,255,255,.6),0 6px 0 var(--cz-grass-dd),0 0 22px rgba(122,206,63,.65)}50%{box-shadow:0 0 0 4px rgba(255,255,255,.6),0 6px 0 var(--cz-grass-dd),0 0 38px rgba(122,206,63,.9)}}

/* --- .gpnav : réduite à une fine barre logo + user + ⋮ en haut --- */
[data-theme="cozy"] .gpnav{
  background:rgba(255,253,246,.9);
  backdrop-filter:blur(6px);
  border-bottom:4px solid rgba(108,191,63,.30);
  box-shadow:0 4px 14px rgba(99,75,30,.10);
}
[data-theme="cozy"] .gpnav-bar{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:8px 16px;min-height:54px;
}
[data-theme="cozy"] .gpnav .brand{display:flex;align-items:center;gap:8px;text-decoration:none}
[data-theme="cozy"] .gpnav .brand img{filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}
[data-theme="cozy"] .gpnav .brand .name{
  font-family:'Baloo 2',cursive;font-weight:800;font-size:1.1rem;color:var(--cz-ink);
}
[data-theme="cozy"] .gpnav-user{display:flex;align-items:center;gap:12px}
[data-theme="cozy"] .gpnav-garden b{font-family:'Baloo 2';font-weight:800;color:var(--cz-ink)}
[data-theme="cozy"] .gpnav-garden span{color:var(--cz-ink-soft);font-weight:700;font-size:.82rem}
[data-theme="cozy"] .gpnav-auto{
  display:flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d));
  color:var(--cz-ink);font-family:'Baloo 2';font-weight:800;
  padding:5px 13px;border-radius:30px;border:2px solid #fff;
  box-shadow:0 4px 0 rgba(246,179,43,.5);
}
[data-theme="cozy"] .gpnav-auto span{font-size:10px;text-transform:uppercase;letter-spacing:.4px}
[data-theme="cozy"] .gpnav-auto b{font-size:18px}
[data-theme="cozy"] .gpnav .more-btn{
  background:#fff;border:2px solid var(--cz-pad);border-radius:14px;
  color:var(--cz-ink);font-weight:800;width:38px;height:38px;cursor:pointer;
  box-shadow:0 3px 0 rgba(0,0,0,.06);transition:transform .12s;
}
[data-theme="cozy"] .gpnav .more-btn:hover{transform:translateY(-2px);border-color:var(--cz-soleil)}

/* la bande de terre n'a pas de sens avec un dock */
[data-theme="cozy"] .soil{display:none}

/* --- .navwrap : barre flottante fixée en bas, claymorphism crème --- */
[data-theme="cozy"] .navwrap{
  position:fixed;left:0;right:0;bottom:14px;z-index:50;
  display:flex;justify-content:center;pointer-events:none;
  padding:0 14px;
  animation:cozy-dock-in .5s cubic-bezier(.34,1.56,.64,1) both;
}

/* --- .seedrow : conteneur dock centré, arrondi, ombre douce --- */
[data-theme="cozy"] .seedrow{
  pointer-events:auto;
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:6px;
  max-width:max-content;
  padding:10px 14px;
  background:linear-gradient(180deg,var(--cz-cream),#fff8e8);
  border:3px solid #fff;
  border-radius:30px;
  box-shadow:0 10px 0 rgba(168,90,40,.14),0 16px 36px rgba(99,75,30,.22);
  overflow:visible;
}

/* --- .tab : pastille-icône arrondie (on gomme l'étiquette plantée) --- */
[data-theme="cozy"] .tab{
  transform:none!important;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:transparent;border:none;cursor:pointer;
  padding:0;margin:0;
  transition:transform .15s ease;
}
[data-theme="cozy"] .tab .pick{display:none}
[data-theme="cozy"] .tab .label{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;
  width:auto;min-width:54px;
  padding:8px 12px;
  background:#fff;
  border:2px solid var(--cz-pad);
  border-radius:18px;
  box-shadow:0 4px 0 rgba(168,90,40,.10);
  transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;
}
[data-theme="cozy"] .tab .ic{font-size:21px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
[data-theme="cozy"] .tab .tx{
  font-family:'Nunito';font-weight:800;font-size:10px;color:var(--cz-ink-soft);
  max-width:64px;text-align:center;line-height:1.1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* survol : léger rebond ludique */
[data-theme="cozy"] .tab:hover .label{
  border-color:var(--cz-grass);
  box-shadow:0 6px 0 rgba(168,90,40,.12);
}
[data-theme="cozy"] .tab:hover .ic{animation:cozy-tab-bounce .5s ease}

/* actif : pastille verte surlignée + glow */
[data-theme="cozy"] .tab.active .label{
  background:linear-gradient(135deg,var(--cz-lime,#7ace3f),var(--cz-grass-d));
  border-color:#fff;
  animation:cozy-active-glow 2.4s ease-in-out infinite;
}
[data-theme="cozy"] .tab.active .ic{filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
[data-theme="cozy"] .tab.active .tx{color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.18)}

/* --- décale le contenu pour ne pas être masqué par le dock --- */
[data-theme="cozy"] .view{padding-bottom:96px}

/* --- Responsive : le dock prend ~toute la largeur sur mobile --- */
@media(max-width:640px){
  [data-theme="cozy"] .navwrap{bottom:8px;padding:0 8px}
  [data-theme="cozy"] .seedrow{
    max-width:100%;width:100%;
    gap:2px;padding:8px 6px;border-radius:26px;
    justify-content:space-around;flex-wrap:nowrap;
    overflow-x:auto;
  }
  [data-theme="cozy"] .tab .label{min-width:44px;padding:7px 7px;border-radius:15px}
  [data-theme="cozy"] .tab .ic{font-size:19px}
  [data-theme="cozy"] .tab .tx{display:none} /* place réduite : icône seule */
  [data-theme="cozy"] .gpnav-garden span{display:none}
  [data-theme="cozy"] .view{padding-bottom:84px}
}

/* accessibilité : pas d'animation du dock si réduit */
@media(prefers-reduced-motion:reduce){
  [data-theme="cozy"] .navwrap,
  [data-theme="cozy"] .tab.active .label,
  [data-theme="cozy"] .tab:hover .ic{animation:none!important}
}

/* ===== Chat Marcel cozy ===== */
/* @keyframes (préfixés cozy-) */
@keyframes cozy-fab-bounce{0%,100%{transform:translateY(0) rotate(-1deg)}30%{transform:translateY(-10px) rotate(2deg)}55%{transform:translateY(-3px) rotate(-1deg)}}
@keyframes cozy-fab-glow{0%,100%{box-shadow:0 0 0 5px rgba(255,210,63,.30),0 12px 0 rgba(60,125,31,.42),0 16px 34px rgba(99,75,30,.30)}50%{box-shadow:0 0 0 9px rgba(255,210,63,.42),0 12px 0 rgba(60,125,31,.42),0 18px 48px rgba(255,210,63,.55)}}
@keyframes cozy-panel-in{from{transform:translateY(24px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes cozy-msg-in{from{transform:translateY(8px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}

/* conteneur */
[data-theme="cozy"] .marcel{font-family:'Nunito',system-ui,sans-serif}

/* --- FAB : pastille ronde rebondissante, Marcel en grand + glow chaud --- */
[data-theme="cozy"] .marcel-fab{
  display:flex;align-items:center;gap:10px;
  padding:8px 20px 8px 8px;
  background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d));
  color:var(--cz-ink);font-family:'Baloo 2',cursive;font-weight:800;font-size:15px;
  border:4px solid #fff;border-radius:999px;cursor:pointer;
  box-shadow:0 0 0 5px rgba(255,210,63,.30),0 12px 0 rgba(60,125,31,.42),0 16px 34px rgba(99,75,30,.30);
  animation:cozy-fab-glow 3.6s ease-in-out infinite;
  transition:transform .15s cubic-bezier(.34,1.56,.64,1);
}
[data-theme="cozy"] .marcel-fab:hover{transform:translateY(-4px) scale(1.04)}
[data-theme="cozy"] .marcel-fab:active{transform:translateY(-1px) scale(.98)}
[data-theme="cozy"] .marcel-fab img{
  width:52px;height:52px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%,#fff6d8,#ffe49a);
  border:3px solid #fff;padding:3px;object-fit:contain;
  box-shadow:0 4px 10px rgba(0,0,0,.18);
  animation:cozy-fab-bounce 2.8s ease-in-out infinite;
}
[data-theme="cozy"] .marcel-fab span{text-shadow:0 1px 0 rgba(255,255,255,.5)}

/* --- panneau : gros radius claymorphism, fond crème --- */
[data-theme="cozy"] .marcel-panel{
  background:linear-gradient(180deg,var(--cz-cream),#fffdf6);
  border:4px solid #fff;border-radius:var(--cz-r-xl);
  box-shadow:0 0 0 4px rgba(108,191,63,.16),0 26px 60px rgba(99,75,30,.34);
  overflow:hidden;
  animation:cozy-panel-in .35s cubic-bezier(.34,1.56,.64,1) both;
}

/* --- en-tête chaleureux : herbe douce + Marcel rond --- */
[data-theme="cozy"] .marcel-head{
  display:flex;align-items:center;gap:11px;
  padding:13px 16px;
  background:linear-gradient(135deg,var(--cz-grass),var(--cz-grass-d));
  border-bottom:4px solid rgba(0,0,0,.08);
}
[data-theme="cozy"] .marcel-head img{
  width:42px;height:42px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%,#fff6d8,#ffe49a);
  border:3px solid #fff;padding:2px;object-fit:contain;
  box-shadow:0 4px 9px rgba(0,0,0,.2);
}
[data-theme="cozy"] .marcel-id b{
  font-family:'Baloo 2',cursive;font-weight:800;font-size:1.05rem;color:#fff;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}
[data-theme="cozy"] .marcel-id span{color:#eef9e0;font-weight:700;font-size:.78rem}
[data-theme="cozy"] .marcel-head button{
  margin-left:auto;width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.55);
  border-radius:50%;color:#fff;font-weight:800;cursor:pointer;
  transition:transform .12s,background .15s;
}
[data-theme="cozy"] .marcel-head button:hover{transform:rotate(90deg) scale(1.05);background:rgba(255,255,255,.35);color:#fff}

/* --- journal : fond doux pointillé --- */
[data-theme="cozy"] .marcel-log{
  background:
    radial-gradient(circle at 18% 0%,rgba(255,210,63,.10),transparent 45%),
    var(--cz-cream);
}
[data-theme="cozy"] .marcel-log .msg{
  font-weight:600;line-height:1.4;
  animation:cozy-msg-in .28s ease both;
}
/* bulle bot : douce, crème bordée */
[data-theme="cozy"] .marcel-log .msg.bot{
  background:#fff;border:2px solid var(--cz-pad);color:var(--cz-ink);
  border-radius:20px 20px 20px 6px;
  box-shadow:0 4px 0 rgba(168,90,40,.08);
}
/* bulle user : vert vif arrondi */
[data-theme="cozy"] .marcel-log .msg.user{
  background:linear-gradient(135deg,var(--cz-lime,#7ace3f),var(--cz-grass-d));
  color:#fff;border:2px solid #fff;
  border-radius:20px 20px 6px 20px;
  box-shadow:0 4px 0 rgba(60,125,31,.28);
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}

/* --- suggestions : pastilles rebondissantes --- */
[data-theme="cozy"] .marcel-suggest button{
  background:#fff;border:2px solid var(--cz-pad);color:var(--cz-grass-dd);
  font-family:'Nunito';font-weight:800;font-size:.82rem;
  border-radius:999px;cursor:pointer;
  box-shadow:0 3px 0 rgba(168,90,40,.10);
  transition:transform .12s cubic-bezier(.34,1.56,.64,1),border-color .15s,background .15s;
}
[data-theme="cozy"] .marcel-suggest button:hover{
  transform:translateY(-2px);
  border-color:var(--cz-grass);background:var(--cz-pad);
}
[data-theme="cozy"] .marcel-suggest button:active{transform:translateY(0) scale(.97)}

/* --- saisie : champ arrondi + bouton envoi soleil --- */
[data-theme="cozy"] .marcel-input{
  border-top:4px solid var(--cz-pad);
  background:var(--cz-panel2,#fff8e8);
  gap:8px;
}
[data-theme="cozy"] .marcel-input input{
  background:#fff;border:2px solid var(--cz-pad);color:var(--cz-ink);
  border-radius:999px;padding:10px 16px;font-weight:600;
  transition:border-color .15s,box-shadow .15s;
}
[data-theme="cozy"] .marcel-input input::placeholder{color:var(--cz-ink-soft)}
[data-theme="cozy"] .marcel-input input:focus{
  border-color:var(--cz-grass);
  box-shadow:0 0 0 3px rgba(108,191,63,.20);outline:none;
}
[data-theme="cozy"] .marcel-input button{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;flex:0 0 auto;
  background:linear-gradient(135deg,var(--cz-soleil),var(--cz-soleil-d));
  color:var(--cz-ink);font-weight:800;font-size:16px;
  border:3px solid #fff;border-radius:50%;cursor:pointer;
  box-shadow:0 5px 0 rgba(246,179,43,.5),0 7px 14px rgba(0,0,0,.12);
  transition:transform .12s cubic-bezier(.34,1.56,.64,1);
}
[data-theme="cozy"] .marcel-input button:hover{transform:translateY(-3px) scale(1.05)}
[data-theme="cozy"] .marcel-input button:active{transform:translateY(0) scale(.95)}

/* accessibilité : couper les anims du chat si réduit */
@media(prefers-reduced-motion:reduce){
  [data-theme="cozy"] .marcel-fab,
  [data-theme="cozy"] .marcel-fab img,
  [data-theme="cozy"] .marcel-panel,
  [data-theme="cozy"] .marcel-log .msg{animation:none!important}
}

/* surfaces jardin accordées au thème cozy */
[data-theme="cozy"]{--soil:#5b4029;--soil2:#6d4e33;--wood:#a8814d;--sky1:#cdeba6;--sky2:#7ace3f;--note-bg:#fffdf6;--note-tx:#4a3826;}
