/* =====================================================================
   GardenPilot · THÈME "COCKPIT DU COPILOTE"  (skin)
   Surcharge dash.css quand html[data-theme="cockpit"] est actif.
   Cible visuelle : démo /demo/v4.html — cockpit high-tech, bleu nuit /
   vert très sombre, fines bordures néon lime/cyan, glow, grilles,
   cadrans d'instruments, témoins LED, coins biseautés.
   Polices : Space Grotesk (titres / texte), IBM Plex Mono (chiffres/data).
   TOUT est scopé sous [data-theme="cockpit"]. Seuls les @keyframes sont
   globaux et préfixés cockpit-.
   ===================================================================== */

/* ---------- A. PALETTE GLOBALE ---------- */
[data-theme="cockpit"]{
  --bg:#060d12;
  --bg2:#0a141b;
  --panel:#0c1820;
  --panel2:#0f1e28;
  --lime:#9fff57;
  --lime2:#caff8c;
  --green:#36e2a8;
  --green-d:#1f6f4f;
  --text:#dcf2ec;
  --muted:#6f93a0;
  --border:rgba(54,226,168,.20);
  --card:rgba(54,226,168,.035);
  --blue:#3fd9ff;
  --gold:#ffb347;

  /* tokens internes au thème */
  --ck-line:#163041;
  --ck-line-soft:#102330;
  --ck-cyan:#3fd9ff;
  --ck-neon:#36e2a8;
  --ck-amber:#ffb347;
  --ck-red:#ff5d6c;
  --ck-faint:#3f5d68;
  --ck-grid:rgba(54,226,168,.05);
  --ck-glow:0 0 18px rgba(54,226,168,.35);
  --ck-glow-lime:0 0 16px rgba(159,255,87,.40);

  --ck-mono:'IBM Plex Mono','JetBrains Mono',ui-monospace,monospace;
  --ck-disp:'Space Grotesk','Inter',system-ui,sans-serif;
}

/* fond + grille technique + scan line (sur body, non sur layout) */
[data-theme="cockpit"] body{
  font-family:var(--ck-disp);
  background:
    radial-gradient(1200px 600px at 78% -10%, rgba(63,217,255,.08), transparent 60%),
    radial-gradient(900px 700px at 10% 110%, rgba(159,255,87,.06), transparent 55%),
    var(--bg);
  color:var(--text);
}
[data-theme="cockpit"] body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(var(--ck-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--ck-grid) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at 60% 25%,#000 0%,transparent 85%);
}
[data-theme="cockpit"] body::after{
  content:"";position:fixed;left:0;right:0;height:140px;top:-140px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(54,226,168,.06),transparent);
  animation:cockpit-scan 9s linear infinite;
}
@keyframes cockpit-scan{0%{top:-140px}100%{top:100%}}

/* l'app passe au-dessus de la grille/scan */
[data-theme="cockpit"] .app{position:relative;z-index:2}

/* titres en display, chiffres en mono */
[data-theme="cockpit"] h1,
[data-theme="cockpit"] h2,
[data-theme="cockpit"] h3{font-family:var(--ck-disp);letter-spacing:.02em}

/* keyframes utilitaires */
@keyframes cockpit-pulse{0%,100%{opacity:1}50%{opacity:.30}}
@keyframes cockpit-eq{0%,100%{height:4px}50%{height:16px}}
@keyframes cockpit-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes cockpit-needle{from{transform:rotate(-90deg)}}

/* =====================================================================
   B. COQUILLE (sidebar / topbar / titres / boutons / cartes)
   ===================================================================== */

/* --- console latérale --- */
[data-theme="cockpit"] .sidebar{
  background:linear-gradient(180deg,var(--panel2),var(--bg2));
  border-right:1px solid var(--ck-line);
  box-shadow:inset -1px 0 0 rgba(54,226,168,.06);
}
[data-theme="cockpit"] .side-logo img{
  filter:drop-shadow(0 0 10px rgba(54,226,168,.35));
}

/* onglets d'instrument */
[data-theme="cockpit"] .side-nav button{
  color:var(--muted);font-weight:600;border:1px solid transparent;position:relative;
  border-radius:9px;letter-spacing:.01em;transition:.18s;
}
[data-theme="cockpit"] .side-nav button:hover{
  color:var(--text);background:rgba(54,226,168,.06);
}
[data-theme="cockpit"] .side-nav button.active{
  color:#eafff5;
  background:linear-gradient(90deg,rgba(54,226,168,.14),rgba(54,226,168,.02));
  border-color:rgba(54,226,168,.35);
}
/* LED + barre lumineuse de l'onglet actif */
[data-theme="cockpit"] .side-nav button.active::before{
  content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:3px;border-radius:3px;
  background:var(--ck-neon);box-shadow:0 0 10px var(--ck-neon);
}
[data-theme="cockpit"] .side-nav button.active::after{
  content:"";position:absolute;right:11px;top:50%;transform:translateY(-50%);
  width:7px;height:7px;border-radius:50%;background:var(--ck-neon);
  box-shadow:0 0 8px var(--ck-neon);animation:cockpit-pulse 1.8s infinite;
}

[data-theme="cockpit"] .side-foot{border-top:1px solid var(--ck-line-soft)}
[data-theme="cockpit"] .side-edit{color:var(--muted);font-family:var(--ck-mono);font-size:12px;letter-spacing:.04em}
[data-theme="cockpit"] .side-edit:hover{color:var(--ck-neon);background:rgba(54,226,168,.06)}

/* --- barre d'état de vol --- */
[data-theme="cockpit"] .topbar{
  border-bottom:1px solid var(--ck-line);
  background:rgba(8,17,23,.82);backdrop-filter:blur(10px);
}
[data-theme="cockpit"] .topbar h1{font-family:var(--ck-disp);letter-spacing:.03em}
[data-theme="cockpit"] .topbar .muted{font-family:var(--ck-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
[data-theme="cockpit"] .topbar-auto .muted{font-size:9px;letter-spacing:.22em;color:var(--ck-faint)}
[data-theme="cockpit"] .topbar-auto b{
  font-family:var(--ck-mono);font-weight:700;color:var(--lime);
  text-shadow:0 0 16px rgba(159,255,87,.5);
}

/* titres de section type "SYSTÈMES" */
[data-theme="cockpit"] .section-title{
  font-family:var(--ck-disp);font-weight:700;letter-spacing:.10em;text-transform:uppercase;
  color:#eafff5;position:relative;padding-left:16px;
}
[data-theme="cockpit"] .section-title::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:18px;border-radius:2px;background:var(--ck-neon);box-shadow:0 0 10px var(--ck-neon);
}

/* bouton principal */
[data-theme="cockpit"] .btn-primary{
  color:#031a0e;font-family:var(--ck-disp);font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  border-radius:8px;border:1px solid rgba(159,255,87,.5);
  background:linear-gradient(135deg,var(--lime),var(--green));
  box-shadow:0 0 18px rgba(54,226,168,.30);
}
[data-theme="cockpit"] .btn-primary:hover{
  box-shadow:0 0 26px rgba(159,255,87,.5);transform:translateY(-1px);
}
[data-theme="cockpit"] .btn-ghost2,
[data-theme="cockpit"] .g-btn{
  border:1px solid var(--ck-line);background:rgba(54,226,168,.04);color:var(--muted);
  font-family:var(--ck-mono);letter-spacing:.04em;border-radius:8px;
}

/* --- panneau d'instrument (.card) : coins biseautés + fines bordures glow --- */
[data-theme="cockpit"] .card{
  background:linear-gradient(180deg,var(--panel),var(--bg2));
  border:1px solid var(--ck-line);border-radius:14px;position:relative;overflow:hidden;
  box-shadow:0 0 0 1px rgba(54,226,168,.03),0 10px 30px rgba(0,0,0,.4);
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
}
[data-theme="cockpit"] .card:hover{
  border-color:rgba(54,226,168,.4);box-shadow:0 0 0 1px rgba(54,226,168,.08),0 12px 34px rgba(0,0,0,.5);
}
[data-theme="cockpit"] .card h3{
  font-family:var(--ck-disp);font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ck-faint);font-size:12px;
}
[data-theme="cockpit"] .kpi{
  font-family:var(--ck-mono);font-weight:700;color:var(--lime);letter-spacing:0;
  text-shadow:0 0 16px rgba(159,255,87,.35);
}
[data-theme="cockpit"] .kpi small{font-family:var(--ck-mono);color:var(--ck-neon)}

/* =====================================================================
   C. ACCUEIL "POTAGER VIVANT" → cockpit
   ===================================================================== */

/* --- bandeau saisonnier = panneau d'instrument central --- */
[data-theme="cockpit"] .season-hero{
  border:1px solid var(--ck-line);border-radius:16px;
  background:linear-gradient(180deg,var(--panel),var(--bg2));
  box-shadow:0 0 0 1px rgba(54,226,168,.04),0 14px 40px rgba(0,0,0,.45);
  overflow:hidden;
}
/* le ciel devient un fond techno sombre (on neutralise les dégradés saison) */
[data-theme="cockpit"] .season-hero .sky{
  background:
    radial-gradient(600px 300px at 18% -20%, rgba(63,217,255,.10), transparent 60%),
    linear-gradient(160deg,#0a1b24,#07121a 70%)!important;
}
/* grille fine + ligne d'horizon dans le hero */
[data-theme="cockpit"] .season-hero .sky::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(54,226,168,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(54,226,168,.05) 1px,transparent 1px);
  background-size:30px 30px;
  mask-image:linear-gradient(180deg,transparent,#000 40%);
}
/* nuages → balayage radar discret */
[data-theme="cockpit"] .season-hero .clouds{
  background:conic-gradient(from 0deg at 80% 30%,transparent 0deg,rgba(63,217,255,.07) 30deg,transparent 60deg)!important;
  opacity:.6;
}

/* --- .sun = CADRAN / JAUGE D'AUTONOMIE central, piloté par --p --- */
[data-theme="cockpit"] .season-hero .sun{
  width:138px;height:138px;border-radius:50%;color:var(--lime);
  /* arc de remplissage 0-100% via --p (conic) + couronne de graduations */
  background-color:#070f15;
  background-image:
    conic-gradient(
      var(--lime) 0,
      var(--ck-cyan) calc(var(--p)*0.5%),
      var(--lime) calc(var(--p)*1%),
      rgba(54,226,168,.10) calc(var(--p)*1%),
      rgba(54,226,168,.10) 100%),
    repeating-conic-gradient(from 0deg,
      rgba(220,242,236,.30) 0deg 1deg,
      transparent 1deg 18deg);
  box-shadow:
    0 0 0 1px var(--ck-line),
    0 0 28px rgba(54,226,168,.35),
    inset 0 0 24px rgba(0,0,0,.55);
  animation:none;
  position:relative;display:grid;place-content:center;text-align:center;
}
/* disque central sombre (cadran) qui transforme le conic en anneau */
[data-theme="cockpit"] .season-hero .sun::before{
  content:"";position:absolute;inset:14px;border-radius:50%;
  background:radial-gradient(circle at 40% 32%,#0e2230,#070f15 75%);
  box-shadow:inset 0 0 18px rgba(0,0,0,.7),0 0 6px rgba(54,226,168,.2);
  border:1px solid rgba(54,226,168,.18);
}
/* aiguille pilotée par --p sur un arc 180° (haut) */
[data-theme="cockpit"] .season-hero .sun::after{
  content:"";position:absolute;left:50%;top:50%;width:3px;height:48px;
  background:linear-gradient(180deg,var(--lime),transparent);
  border-radius:2px;transform-origin:50% 100%;
  transform:translate(-50%,-100%) rotate(calc((var(--p) * 1.8deg) - 90deg));
  box-shadow:0 0 8px var(--lime);
  filter:drop-shadow(0 0 4px var(--lime));
}
[data-theme="cockpit"] .season-hero .sun b{
  position:relative;z-index:2;font-family:var(--ck-mono);font-weight:700;font-size:30px;
  color:var(--lime);text-shadow:0 0 18px rgba(159,255,87,.6);
}
[data-theme="cockpit"] .season-hero .sun b i{font-family:var(--ck-mono);font-size:15px;color:var(--ck-neon);font-style:normal}
[data-theme="cockpit"] .season-hero .sun span{
  position:relative;z-index:2;font-family:var(--ck-disp);font-size:9px;font-weight:700;
  letter-spacing:.2em;color:var(--ck-faint);text-transform:uppercase;
}

/* copy du hero (texte clair sur fond sombre désormais) */
[data-theme="cockpit"] .sh-copy{color:var(--text)}
[data-theme="cockpit"] .sh-season{
  font-family:var(--ck-mono);font-size:10px;font-weight:600;letter-spacing:.22em;
  color:var(--ck-cyan);background:rgba(63,217,255,.08);
  border:1px solid rgba(63,217,255,.3);
}
[data-theme="cockpit"] .sh-copy h2{font-family:var(--ck-disp);font-weight:700;color:#eafff5;letter-spacing:.01em}
[data-theme="cockpit"] .sh-copy p{color:var(--muted);font-family:var(--ck-mono);font-size:13px}

/* Marcel = copilote, bulle "radio" */
[data-theme="cockpit"] .sh-marcel img{
  filter:drop-shadow(0 4px 16px rgba(54,226,168,.35));animation:cockpit-bob 3s ease-in-out infinite;
}
[data-theme="cockpit"] .sh-marcel .bubble{
  background:rgba(63,217,255,.06);color:#eafff5;border:1px solid rgba(63,217,255,.3);
  border-radius:14px 14px 4px 14px;box-shadow:0 8px 22px rgba(0,0,0,.4);
  font-family:var(--ck-disp);font-weight:500;
}
[data-theme="cockpit"] .sh-marcel .bubble::before{
  content:"// COPILOTE ";display:block;font-family:var(--ck-mono);font-size:9px;letter-spacing:.18em;
  color:var(--ck-cyan);margin-bottom:5px;
}
[data-theme="cockpit"] .sh-marcel .bubble::after{border-left-color:rgba(63,217,255,.3)}

/* --- planche potager = tableau de moniteurs de bord --- */
[data-theme="cockpit"] .potager{
  border:1px solid var(--ck-line);border-radius:16px;
  background:
    radial-gradient(700px 300px at 80% -10%, rgba(63,217,255,.06), transparent 60%),
    linear-gradient(180deg,var(--panel),var(--bg2));
}
[data-theme="cockpit"] .pot-head h3{
  font-family:var(--ck-disp);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#eafff5;font-size:14px;
}
[data-theme="cockpit"] .pot-head .muted{font-family:var(--ck-mono);font-size:11px;color:var(--ck-faint);letter-spacing:.04em}

/* --- .bed = MONITEUR DE BORD avec témoin LED selon l'état --- */
[data-theme="cockpit"] .bed{
  border-radius:11px;background:linear-gradient(180deg,var(--panel2),rgba(0,0,0,.20));
  border:1px solid var(--ck-line);
  box-shadow:0 0 0 1px rgba(54,226,168,.03),0 6px 18px rgba(0,0,0,.4);
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
[data-theme="cockpit"] .bed:hover{
  transform:translateY(-2px);border-color:rgba(54,226,168,.4);
  box-shadow:0 0 0 1px rgba(54,226,168,.1),0 10px 26px rgba(0,0,0,.5);
}
/* coin biseauté lumineux en haut à droite du moniteur */
[data-theme="cockpit"] .bed::after{
  content:"";position:absolute;top:0;right:0;width:18px;height:18px;z-index:3;pointer-events:none;
  border-top:1px solid var(--ck-line);border-right:1px solid var(--ck-line);
  background:linear-gradient(225deg,rgba(54,226,168,.14),transparent);
}
/* écran du moniteur : fond sombre techno + balayage, plus de terre */
[data-theme="cockpit"] .bed-soil{
  background:
    radial-gradient(circle at 50% 120%, color-mix(in srgb,var(--c) 22%,transparent), transparent 60%),
    repeating-linear-gradient(90deg,rgba(54,226,168,.04) 0 1px,transparent 1px 18px),
    linear-gradient(180deg,#0c1c26,#08131a)!important;
  border-bottom:1px solid var(--ck-line-soft);
}
[data-theme="cockpit"] .bed.st-attente .bed-soil,
[data-theme="cockpit"] .bed.st-repos .bed-soil{
  background:
    repeating-linear-gradient(90deg,rgba(54,226,168,.03) 0 1px,transparent 1px 18px),
    linear-gradient(180deg,#0a151c,#070f15)!important;
}
[data-theme="cockpit"] .sprout{filter:drop-shadow(0 0 6px rgba(54,226,168,.4))}
[data-theme="cockpit"] .bed.st-attente .sprout{color:var(--ck-faint);filter:none}
[data-theme="cockpit"] .bed-more{
  background:rgba(54,226,168,.12);color:var(--ck-neon);font-family:var(--ck-mono);
  border:1px solid rgba(54,226,168,.3);
}

/* barre de niveau du moniteur */
[data-theme="cockpit"] .bed-grow{background:rgba(0,0,0,.5);height:6px}
[data-theme="cockpit"] .bed-grow i{
  background:linear-gradient(90deg,var(--ck-neon),var(--lime));
  box-shadow:0 0 8px rgba(159,255,87,.5);
}

/* pied du moniteur + témoin LED selon état (via .bed-stage) */
[data-theme="cockpit"] .bed-foot{padding:11px 12px 5px}
[data-theme="cockpit"] .bed-name{
  font-family:var(--ck-disp);font-weight:600;color:#eafff5;font-size:13px;
}
[data-theme="cockpit"] .bed-stage{
  font-family:var(--ck-mono);font-size:9px;font-weight:600;letter-spacing:.08em;
  border:1px solid var(--ck-line);background:rgba(0,0,0,.3);
  display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 7px;
}
/* la pastille LED devant chaque état */
[data-theme="cockpit"] .bed-stage::before{
  content:"";width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:currentColor;
  box-shadow:0 0 7px currentColor;
}
[data-theme="cockpit"] .bed-stage.st-recolte{color:var(--lime);border-color:rgba(159,255,87,.4);background:rgba(159,255,87,.07)}
[data-theme="cockpit"] .bed-stage.st-recolte::before{animation:cockpit-pulse 1.5s infinite}
[data-theme="cockpit"] .bed-stage.st-pousse{color:var(--ck-neon);border-color:rgba(54,226,168,.35);background:rgba(54,226,168,.06)}
[data-theme="cockpit"] .bed-stage.st-semis,
[data-theme="cockpit"] .bed-stage.st-plant{color:var(--ck-amber);border-color:rgba(255,179,71,.35);background:rgba(255,179,71,.06)}
[data-theme="cockpit"] .bed-stage.st-attente,
[data-theme="cockpit"] .bed-stage.st-repos{color:var(--ck-faint);border-color:var(--ck-line)}

[data-theme="cockpit"] .bed-meta{
  font-family:var(--ck-mono);font-size:10.5px;color:var(--muted);letter-spacing:.02em;
}

/* --- signpost / signs / sign = checklist "plan de vol" --- */
[data-theme="cockpit"] .garden-cols h3,
[data-theme="cockpit"] .signpost h3,
[data-theme="cockpit"] .packets-wrap h3{
  font-family:var(--ck-disp);font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#eafff5;font-size:13px;
}
[data-theme="cockpit"] .sign{
  background:rgba(0,0,0,.22)!important;background-image:none!important;
  border:1px solid var(--ck-line);border-radius:10px;color:var(--text);
  box-shadow:inset 0 0 10px rgba(54,226,168,.04);transition:.16s;
}
[data-theme="cockpit"] .sign:hover{border-color:rgba(54,226,168,.35);background:rgba(54,226,168,.05)!important}
/* le "piquet" devient un connecteur lumineux */
[data-theme="cockpit"] .sign::before{
  background:var(--ck-neon);width:3px;height:7px;box-shadow:0 0 6px var(--ck-neon);
}
/* case à cocher façon checklist mission devant chaque ligne */
[data-theme="cockpit"] .sign .sg-em{
  font-size:16px;position:relative;
}
[data-theme="cockpit"] .sign .sg-tx{font-family:var(--ck-disp);font-weight:500;color:#eafff5;font-size:13.5px}
[data-theme="cockpit"] .sign em{font-family:var(--ck-mono);font-size:9px;letter-spacing:.1em;font-weight:600}
[data-theme="cockpit"] .sign-semis em{background:rgba(255,179,71,.16);color:var(--ck-amber)}
[data-theme="cockpit"] .sign-plant em{background:rgba(54,226,168,.16);color:var(--ck-neon)}
[data-theme="cockpit"] .sign-recolte em{background:rgba(159,255,87,.16);color:var(--lime)}

/* --- packets / packet = jauges / compteurs d'instruments --- */
[data-theme="cockpit"] .packet{
  background:linear-gradient(180deg,var(--panel2),rgba(0,0,0,.18));
  border:1px solid var(--ck-line);border-radius:12px;
  box-shadow:0 0 0 1px rgba(54,226,168,.03),0 6px 16px rgba(0,0,0,.35);
  transition:transform .18s,border-color .18s;
}
[data-theme="cockpit"] .packet::before{
  height:2px;border-radius:0;background:linear-gradient(90deg,var(--ck-neon),var(--lime));opacity:.8;
  box-shadow:0 0 10px rgba(54,226,168,.5);
}
[data-theme="cockpit"] .packet:hover{transform:translateY(-2px);border-color:rgba(54,226,168,.4)}
[data-theme="cockpit"] .pk-ic{filter:drop-shadow(0 0 6px rgba(54,226,168,.3))}
[data-theme="cockpit"] .pk-v{
  font-family:var(--ck-mono);font-weight:700;color:var(--lime);
  text-shadow:0 0 14px rgba(159,255,87,.4);
}
[data-theme="cockpit"] .pk-l{
  font-family:var(--ck-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ck-faint);
}

/* =====================================================================
   D. COMPOSANTS COMMUNS
   ===================================================================== */

/* --- .ring = instrument circulaire --- */
[data-theme="cockpit"] .ring .bg{stroke:rgba(54,226,168,.10)}
[data-theme="cockpit"] .ring .pr{
  stroke:var(--lime);filter:drop-shadow(0 0 6px rgba(159,255,87,.6));
}
[data-theme="cockpit"] .ring .c b{font-family:var(--ck-mono);color:var(--lime);text-shadow:0 0 16px rgba(159,255,87,.5)}
[data-theme="cockpit"] .ring .c span{font-family:var(--ck-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ck-faint)}
/* graduations autour de l'anneau */
[data-theme="cockpit"] .ring::after{
  content:"";position:absolute;inset:-2px;border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(from -90deg,
    rgba(220,242,236,.20) 0deg 1deg,transparent 1deg 30deg);
  -webkit-mask:radial-gradient(circle,transparent 56px,#000 56px,#000 62px,transparent 62px);
  mask:radial-gradient(circle,transparent 56px,#000 56px,#000 62px,transparent 62px);
}

/* --- barres de niveau (.bar / .barline / mini-bar) --- */
[data-theme="cockpit"] .bar{
  background:rgba(0,0,0,.4);border:1px solid var(--ck-line-soft);border-radius:5px;
  background-image:repeating-linear-gradient(90deg,transparent 0 17px,rgba(54,226,168,.05) 17px 18px);
}
[data-theme="cockpit"] .bar i{
  background:linear-gradient(90deg,var(--ck-neon),var(--lime));
  box-shadow:0 0 12px rgba(159,255,87,.4);
}
[data-theme="cockpit"] .mini-bar{background:rgba(0,0,0,.4);border:1px solid var(--ck-line-soft)}
[data-theme="cockpit"] .mini-bar i{background:linear-gradient(90deg,var(--ck-neon),var(--lime));box-shadow:0 0 8px rgba(159,255,87,.4)}
[data-theme="cockpit"] .barline{font-family:var(--ck-disp)}
[data-theme="cockpit"] .row-h{font-family:var(--ck-disp)}
[data-theme="cockpit"] .row-h b{font-family:var(--ck-mono);color:var(--lime)}
[data-theme="cockpit"] .cov{font-family:var(--ck-mono);color:var(--lime)}

/* --- table de télémétrie (.tbl) --- */
[data-theme="cockpit"] .tbl th{
  font-family:var(--ck-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ck-faint);border-bottom:1px solid var(--ck-line);
}
[data-theme="cockpit"] .tbl td{
  border-bottom:1px solid rgba(54,226,168,.06);font-size:13.5px;
}
[data-theme="cockpit"] .tbl td:nth-child(n+2){font-family:var(--ck-mono)}
[data-theme="cockpit"] .tbl tr:hover td{background:rgba(54,226,168,.03)}

/* --- calendrier (.cal / .cal-cell) = grille de plan de vol --- */
[data-theme="cockpit"] .cal-cell{
  background:linear-gradient(180deg,var(--panel2),rgba(0,0,0,.18));
  border:1px solid var(--ck-line);border-radius:11px;
}
[data-theme="cockpit"] .cal-cell.empty{opacity:.45}
[data-theme="cockpit"] .cal-cell h4{font-family:var(--ck-disp);font-weight:600;letter-spacing:.04em;color:#eafff5}
[data-theme="cockpit"] .cal-cell.now{
  border-color:var(--ck-neon);box-shadow:0 0 0 1px var(--ck-neon),0 0 26px rgba(54,226,168,.18);
}
[data-theme="cockpit"] .cal-now{
  font-family:var(--ck-mono);font-size:9px;letter-spacing:.06em;color:#031a0e;background:var(--lime);
}
[data-theme="cockpit"] .cal-cell .chip{font-family:var(--ck-mono);font-size:10px;letter-spacing:.02em;border-radius:5px}
[data-theme="cockpit"] .chip.semis{background:rgba(255,179,71,.13);color:var(--ck-amber)}
[data-theme="cockpit"] .chip.plant{background:rgba(54,226,168,.16);color:var(--ck-neon)}
[data-theme="cockpit"] .chip.recolte{background:rgba(159,255,87,.14);color:var(--lime)}

/* --- plan du jardin (.garden / .gplot) = grille de zones --- */
[data-theme="cockpit"] .gplot{
  border:1px solid rgba(54,226,168,.35);border-radius:10px;
  font-family:var(--ck-disp);font-weight:600;color:#eafff5;
  box-shadow:inset 0 0 30px rgba(0,0,0,.45),0 0 0 1px rgba(54,226,168,.05);
  position:relative;overflow:hidden;
}
[data-theme="cockpit"] .gplot::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 8px);
  mix-blend-mode:overlay;
}
[data-theme="cockpit"] .gplot small{font-family:var(--ck-mono);opacity:.85}

/* --- carte de prix (.pcard) en plan d'abonnement --- */
[data-theme="cockpit"] .pcard.featured{
  border-color:var(--ck-neon);
  background:linear-gradient(180deg,rgba(54,226,168,.08),var(--bg2));
  box-shadow:0 0 0 1px rgba(54,226,168,.2),0 16px 40px rgba(54,226,168,.12);
}
[data-theme="cockpit"] .pcard.current{outline:2px solid var(--ck-neon);outline-offset:-2px}
[data-theme="cockpit"] .pc-tag{
  background:linear-gradient(135deg,var(--lime),var(--green));color:#031a0e;
  font-family:var(--ck-mono);letter-spacing:.04em;box-shadow:0 0 14px rgba(54,226,168,.5);
}
[data-theme="cockpit"] .pc-name{
  font-family:var(--ck-mono);color:var(--ck-neon);letter-spacing:.18em;
}
[data-theme="cockpit"] .pc-price{font-family:var(--ck-mono);font-weight:700;color:#eafff5;letter-spacing:0}
[data-theme="cockpit"] .pc-price span{font-family:var(--ck-mono);color:var(--muted)}
[data-theme="cockpit"] .pc-yr{font-family:var(--ck-mono);color:var(--lime)}
[data-theme="cockpit"] .bill-cur{font-family:var(--ck-mono);font-size:13px}
[data-theme="cockpit"] .bill-cur a,
[data-theme="cockpit"] .bill-cur b{color:var(--lime)}

/* --- next actions (.acts / .act / .tag) --- */
[data-theme="cockpit"] .act{
  background:rgba(0,0,0,.22);border:1px solid var(--ck-line);border-radius:10px;
  font-family:var(--ck-disp);transition:.16s;
}
[data-theme="cockpit"] .act:hover{border-color:rgba(54,226,168,.35);background:rgba(54,226,168,.05)}
[data-theme="cockpit"] .act .am{font-family:var(--ck-mono);font-size:10px;letter-spacing:.06em;color:var(--ck-faint)}
[data-theme="cockpit"] .tag{font-family:var(--ck-mono);font-size:9px;letter-spacing:.06em;font-weight:600;border-radius:5px}
[data-theme="cockpit"] .tag.semis{background:rgba(255,179,71,.16);color:var(--ck-amber)}
[data-theme="cockpit"] .tag.plant{background:rgba(54,226,168,.18);color:var(--ck-neon)}
[data-theme="cockpit"] .tag.recolte{background:rgba(159,255,87,.16);color:var(--lime)}

/* --- KPI strip (.kpi-c / .kpi-ic / .kpi-v) --- */
[data-theme="cockpit"] .kpi-ic{
  background:linear-gradient(135deg,rgba(54,226,168,.18),rgba(63,217,255,.08));
  border:1px solid var(--ck-line);border-radius:11px;
  box-shadow:inset 0 0 12px rgba(54,226,168,.15);
  filter:drop-shadow(0 0 4px rgba(54,226,168,.2));
}
[data-theme="cockpit"] .kpi-v{
  font-family:var(--ck-mono);font-weight:700;color:var(--lime);letter-spacing:0;
  text-shadow:0 0 14px rgba(159,255,87,.4);
}
[data-theme="cockpit"] .kpi-l{font-family:var(--ck-disp);font-weight:600;letter-spacing:.03em;color:#eafff5}
[data-theme="cockpit"] .kpi-s{font-family:var(--ck-mono);font-size:10.5px;letter-spacing:.04em;color:var(--ck-faint)}

/* chips génériques (.ch) */
[data-theme="cockpit"] .ch{
  font-family:var(--ck-mono);font-size:11px;letter-spacing:.04em;
  background:rgba(54,226,168,.05);border:1px solid var(--ck-line);color:var(--muted);
}
[data-theme="cockpit"] .ch.warn{color:var(--ck-amber);border-color:rgba(255,179,71,.35);background:rgba(255,179,71,.06)}

/* =====================================================================
   E. CHAT MARCEL (transmission radio)
   ===================================================================== */
[data-theme="cockpit"] .marcel-fab{
  border:1px solid rgba(54,226,168,.4);
  background:linear-gradient(135deg,var(--green),var(--green-d));
  color:#eafff5;font-family:var(--ck-disp);font-weight:700;letter-spacing:.03em;
  box-shadow:0 0 24px rgba(54,226,168,.35),0 12px 34px rgba(0,0,0,.45);
}
[data-theme="cockpit"] .marcel-fab:hover{box-shadow:0 0 32px rgba(54,226,168,.55),0 14px 38px rgba(0,0,0,.5)}
[data-theme="cockpit"] .marcel-fab img{filter:drop-shadow(0 0 8px rgba(54,226,168,.45))}

[data-theme="cockpit"] .marcel-panel{
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--ck-line);border-radius:16px;
  box-shadow:0 0 0 1px rgba(54,226,168,.06),0 30px 70px rgba(0,0,0,.6);
}
[data-theme="cockpit"] .marcel-head{
  border-bottom:1px solid var(--ck-line);
  background:linear-gradient(135deg,rgba(54,226,168,.16),transparent);
}
[data-theme="cockpit"] .marcel-id b{font-family:var(--ck-disp);font-weight:700;letter-spacing:.04em;color:#eafff5}
[data-theme="cockpit"] .marcel-id span{font-family:var(--ck-mono);font-size:10px;letter-spacing:.1em;color:var(--ck-cyan);text-transform:uppercase}
[data-theme="cockpit"] .marcel-head button{color:var(--muted)}
[data-theme="cockpit"] .marcel-head button:hover{color:var(--ck-neon)}

/* messages = transmissions */
[data-theme="cockpit"] .marcel-log .msg{font-family:var(--ck-disp);font-size:13.5px}
[data-theme="cockpit"] .marcel-log .msg.user{
  background:linear-gradient(135deg,var(--green),var(--lime));color:#031a0e;font-weight:600;
  box-shadow:0 0 12px rgba(54,226,168,.3);
}
[data-theme="cockpit"] .marcel-log .msg.bot{
  background:rgba(63,217,255,.06);border:1px solid rgba(63,217,255,.25);color:#eafff5;
}
[data-theme="cockpit"] .marcel-log .msg.bot::before{
  content:"// ";color:var(--ck-cyan);font-family:var(--ck-mono);
}
[data-theme="cockpit"] .marcel-suggest button{
  border:1px solid var(--ck-line);background:rgba(54,226,168,.04);color:var(--muted);
  font-family:var(--ck-mono);font-size:11px;letter-spacing:.02em;
}
[data-theme="cockpit"] .marcel-suggest button:hover{color:var(--ck-neon);border-color:rgba(54,226,168,.45)}
[data-theme="cockpit"] .marcel-input{border-top:1px solid var(--ck-line)}
[data-theme="cockpit"] .marcel-input input{
  background:#07131a;border:1px solid var(--ck-line);color:var(--text);font-family:var(--ck-disp);
}
[data-theme="cockpit"] .marcel-input input:focus{outline:none;border-color:var(--ck-neon);box-shadow:0 0 0 1px rgba(54,226,168,.3)}
[data-theme="cockpit"] .marcel-input button{
  background:linear-gradient(135deg,var(--lime),var(--green));color:#031a0e;
  box-shadow:0 0 12px rgba(54,226,168,.35);
}

/* chat plein écran (vue assistant) cohérent */
[data-theme="cockpit"] .chat-input input{background:#07131a;border:1px solid var(--ck-line);color:var(--text)}
[data-theme="cockpit"] .chat-input input:focus{border-color:var(--ck-neon);outline:none}
[data-theme="cockpit"] .chat-suggest button{
  border:1px solid var(--ck-line);background:rgba(54,226,168,.04);color:var(--muted);font-family:var(--ck-mono);font-size:12px;
}
[data-theme="cockpit"] .chat-suggest button:hover{color:var(--ck-neon);border-color:rgba(54,226,168,.45)}
[data-theme="cockpit"] .chat-log .msg.user{background:linear-gradient(135deg,var(--green),var(--lime));color:#031a0e}
[data-theme="cockpit"] .chat-log .msg.bot{background:rgba(63,217,255,.06);border:1px solid rgba(63,217,255,.25);color:#eafff5}

/* =====================================================================
   F. SÉLECTEUR DE THÈME (doit rester lisible)
   ===================================================================== */
[data-theme="cockpit"] .theme-quick{border-bottom:1px solid var(--ck-line)}
[data-theme="cockpit"] .theme-quick button{
  border:1px solid var(--ck-line);background:rgba(54,226,168,.04);
}
[data-theme="cockpit"] .theme-quick button:hover{border-color:rgba(54,226,168,.5)}
[data-theme="cockpit"] .theme-quick button.on{
  background:rgba(54,226,168,.18);border-color:var(--ck-neon);box-shadow:0 0 0 1px var(--ck-neon),0 0 10px rgba(54,226,168,.4);
}
[data-theme="cockpit"] .theme-card{
  background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--ck-line);color:var(--text);
}
[data-theme="cockpit"] .theme-card:hover{border-color:rgba(54,226,168,.5);box-shadow:0 14px 34px rgba(0,0,0,.5)}
[data-theme="cockpit"] .theme-card.sel{
  border-color:var(--ck-neon);box-shadow:0 0 0 2px var(--ck-neon),0 14px 34px rgba(0,0,0,.5);
}
[data-theme="cockpit"] .tc-body b{font-family:var(--ck-disp);font-weight:700;color:#eafff5}
[data-theme="cockpit"] .tc-body p{color:var(--muted)}
[data-theme="cockpit"] .tc-check{
  background:var(--lime);color:#031a0e;font-family:var(--ck-mono);font-size:10px;letter-spacing:.04em;
}

/* toast */
[data-theme="cockpit"] .toast{
  background:linear-gradient(135deg,var(--green),var(--green-d));color:#eafff5;
  border:1px solid rgba(54,226,168,.4);font-family:var(--ck-disp);
  box-shadow:0 0 24px rgba(54,226,168,.3),0 14px 40px rgba(0,0,0,.6);
}

/* empty states */
[data-theme="cockpit"] .empty-state{font-family:var(--ck-mono);color:var(--ck-faint);letter-spacing:.04em}

/* =====================================================================
   Onboarding & auth restent cohérents (champs sombres, focus néon)
   ===================================================================== */
[data-theme="cockpit"] .ob-field input,
[data-theme="cockpit"] .auth-card input{background:#07131a;border:1px solid var(--ck-line);color:var(--text)}
[data-theme="cockpit"] .ob-field input:focus,
[data-theme="cockpit"] .auth-card input:focus{border-color:var(--ck-neon);outline:none;box-shadow:0 0 0 1px rgba(54,226,168,.3)}
[data-theme="cockpit"] .ob-choices button.sel,
[data-theme="cockpit"] .ob-objs button.sel,
[data-theme="cockpit"] .ob-crops .chip.sel,
[data-theme="cockpit"] .auth-tabs button.active{
  background:rgba(54,226,168,.16);border-color:var(--ck-neon);color:var(--ck-neon);
}

/* =====================================================================
   Responsive : on n'altère pas le layout — la sidebar repliée hérite
   des couleurs sombres ; rien à surcharger côté grille.
   ===================================================================== */

/* ===== NAV cockpit : barre HUD ===== */
/* La nav "vivante" (étiquettes plantées dans la terre) devient une barre
   d'instruments de bord : boutons segmentés néon, LED système actif,
   filet de scan lumineux à la place de la bande de terre.
   Tout scopé sous [data-theme="cockpit"]. */

/* --- barre d'état de vol (header complet) --- */
[data-theme="cockpit"] .gpnav{
  background:linear-gradient(180deg,rgba(10,20,27,.96),rgba(6,13,18,.96));
  border-bottom:1px solid var(--ck-line);
  box-shadow:0 0 0 1px rgba(54,226,168,.04),0 10px 30px rgba(0,0,0,.45);
  backdrop-filter:blur(10px);position:relative;z-index:5;
}
/* ligne de balayage horizontale animée en haut de la barre */
[data-theme="cockpit"] .gpnav::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--ck-neon),var(--ck-cyan),transparent);
  opacity:.5;box-shadow:0 0 8px rgba(54,226,168,.5);
}

[data-theme="cockpit"] .gpnav-bar{
  border-bottom:1px solid var(--ck-line-soft);
}
[data-theme="cockpit"] .gpnav-bar .brand{
  font-family:var(--ck-disp);font-weight:700;letter-spacing:.06em;color:#eafff5;
  text-shadow:0 0 14px rgba(54,226,168,.3);
}
[data-theme="cockpit"] .gpnav-bar .brand img{filter:drop-shadow(0 0 10px rgba(54,226,168,.4))}

/* bloc utilisateur = télémétrie à droite */
[data-theme="cockpit"] .gpnav-user{font-family:var(--ck-mono);letter-spacing:.04em;color:var(--muted)}
[data-theme="cockpit"] .gpnav-user #gName{color:#eafff5;font-family:var(--ck-disp);font-weight:600}
[data-theme="cockpit"] .gpnav-user #autoBadge{
  font-family:var(--ck-mono);font-weight:700;color:var(--lime);
  text-shadow:0 0 14px rgba(159,255,87,.5);
}
[data-theme="cockpit"] #moreBtn{
  border:1px solid var(--ck-line);background:rgba(54,226,168,.05);color:var(--muted);
  border-radius:8px;font-family:var(--ck-mono);
}
[data-theme="cockpit"] #moreBtn:hover{color:var(--ck-neon);border-color:rgba(54,226,168,.45)}
[data-theme="cockpit"] #morePanel{
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--ck-line);border-radius:12px;
  box-shadow:0 0 0 1px rgba(54,226,168,.05),0 20px 50px rgba(0,0,0,.55);
}

/* --- la bande de terre disparaît, remplacée par un filet de scan --- */
[data-theme="cockpit"] .soil{display:none}
[data-theme="cockpit"] .navwrap{position:relative;padding-bottom:2px}
[data-theme="cockpit"] .navwrap::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,
    transparent,
    rgba(54,226,168,.15) 12%,
    rgba(63,217,255,.35) 50%,
    rgba(54,226,168,.15) 88%,
    transparent);
  box-shadow:0 0 10px rgba(63,217,255,.35);
}

/* --- rangée d'onglets = console segmentée (défilable) --- */
[data-theme="cockpit"] .seedrow{
  overflow-x:auto;overflow-y:hidden;gap:8px;padding:10px 2px;
  scrollbar-width:thin;scrollbar-color:rgba(54,226,168,.4) transparent;
}
[data-theme="cockpit"] .seedrow::-webkit-scrollbar{height:5px}
[data-theme="cockpit"] .seedrow::-webkit-scrollbar-thumb{
  background:rgba(54,226,168,.3);border-radius:3px;
}

/* --- .tab : bouton segmenté à plat (on gomme l'effet "étiquette plantée") --- */
[data-theme="cockpit"] .tab{
  transform:none!important;flex:0 0 auto;position:relative;padding:0;
}
[data-theme="cockpit"] .tab .pick{display:none}
[data-theme="cockpit"] .tab .label{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 13px;
  background:linear-gradient(180deg,rgba(15,30,40,.9),rgba(8,17,23,.9));
  border:1px solid var(--ck-line);
  /* coins légèrement carrés / biseautés cohérents cockpit */
  border-radius:4px;
  clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
  box-shadow:inset 0 0 12px rgba(0,0,0,.4);
  transition:.16s;
}
[data-theme="cockpit"] .tab:hover .label{
  border-color:rgba(54,226,168,.4);
  background:linear-gradient(180deg,rgba(54,226,168,.08),rgba(8,17,23,.9));
}
[data-theme="cockpit"] .tab .ic{
  font-size:14px;line-height:1;filter:drop-shadow(0 0 5px rgba(54,226,168,.3));opacity:.9;
}
[data-theme="cockpit"] .tab .tx{
  font-family:var(--ck-mono);font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}

/* --- .tab.active : onglet "système actif" (glow néon + LED + soulignement) --- */
[data-theme="cockpit"] .tab.active .label{
  border-color:rgba(54,226,168,.55);
  background:linear-gradient(180deg,rgba(54,226,168,.16),rgba(54,226,168,.03));
  box-shadow:
    inset 0 0 14px rgba(54,226,168,.12),
    0 0 16px rgba(54,226,168,.35);
}
[data-theme="cockpit"] .tab.active .tx{
  color:#eafff5;text-shadow:0 0 12px rgba(159,255,87,.55);
}
[data-theme="cockpit"] .tab.active .ic{opacity:1;filter:drop-shadow(0 0 7px rgba(54,226,168,.6))}
/* témoin LED clignotant "système en ligne" */
[data-theme="cockpit"] .tab.active .label::before{
  content:"";width:6px;height:6px;border-radius:50%;flex:0 0 auto;
  background:var(--ck-neon);box-shadow:0 0 8px var(--ck-neon);
  animation:cockpit-pulse 1.7s infinite;
}
/* soulignement lumineux sous l'onglet actif */
[data-theme="cockpit"] .tab.active .label::after{
  content:"";position:absolute;left:9px;right:9px;bottom:-3px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--ck-neon),var(--lime));
  box-shadow:0 0 10px rgba(159,255,87,.6);
}

/* ===== Chat Marcel cockpit ===== */
/* Le chat de Marcel devient une CONSOLE DE TRANSMISSION RADIO avec le
   copilote : FAB = bouton "COM" lumineux (LED), panneau = terminal sombre
   à fines bordures glow + scanline, en-tête "COPILOTE · EN LIGNE" (mono,
   LED clignotante), bulles façon messages radio (mono), suggestions
   segmentées, saisie techno. Lettrage IBM Plex Mono. Crédible, pas kitsch.
   Tout scopé sous [data-theme="cockpit"], @keyframes préfixés cockpit-. */

/* --- bouton "COM" : appel radio lumineux avec témoin LED --- */
[data-theme="cockpit"] .marcel .marcel-fab{
  position:relative;overflow:visible;
  border:1px solid rgba(54,226,168,.5);border-radius:10px;
  background:
    linear-gradient(180deg,rgba(54,226,168,.16),transparent 60%),
    linear-gradient(135deg,var(--panel2),var(--bg2));
  color:#eafff5;font-family:var(--ck-mono);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  box-shadow:
    inset 0 0 14px rgba(54,226,168,.10),
    0 0 22px rgba(54,226,168,.30),
    0 12px 30px rgba(0,0,0,.5);
}
[data-theme="cockpit"] .marcel .marcel-fab span{
  font-family:var(--ck-mono);font-size:11px;letter-spacing:.14em;
}
[data-theme="cockpit"] .marcel .marcel-fab img{
  filter:drop-shadow(0 0 9px rgba(54,226,168,.5));
}
/* témoin LED "COM" clignotant en coin du bouton */
[data-theme="cockpit"] .marcel .marcel-fab::after{
  content:"";position:absolute;top:8px;right:8px;
  width:7px;height:7px;border-radius:50%;
  background:var(--ck-neon);box-shadow:0 0 9px var(--ck-neon);
  animation:cockpit-com-led 1.6s ease-in-out infinite;
}
[data-theme="cockpit"] .marcel .marcel-fab:hover{
  border-color:var(--ck-neon);
  box-shadow:
    inset 0 0 16px rgba(54,226,168,.16),
    0 0 30px rgba(54,226,168,.5),
    0 14px 36px rgba(0,0,0,.55);
}
@keyframes cockpit-com-led{0%,100%{opacity:1}50%{opacity:.25}}

/* --- panneau : terminal de transmission sombre + scanline --- */
[data-theme="cockpit"] .marcel .marcel-panel{
  position:relative;overflow:hidden;
  background:
    radial-gradient(420px 200px at 88% -8%,rgba(63,217,255,.07),transparent 60%),
    linear-gradient(180deg,var(--panel2),var(--bg2));
  border:1px solid rgba(54,226,168,.30);border-radius:14px;
  box-shadow:
    0 0 0 1px rgba(54,226,168,.06),
    inset 0 0 40px rgba(0,0,0,.45),
    0 30px 70px rgba(0,0,0,.65);
}
/* grille technique très discrète dans le terminal */
[data-theme="cockpit"] .marcel .marcel-panel::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(54,226,168,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(54,226,168,.04) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(180deg,#000,transparent 70%);
}
/* léger effet scanline qui descend dans le terminal */
[data-theme="cockpit"] .marcel .marcel-panel::after{
  content:"";position:absolute;left:0;right:0;top:0;height:46px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(54,226,168,.08),transparent);
  animation:cockpit-com-scan 6s linear infinite;
}
@keyframes cockpit-com-scan{0%{transform:translateY(-46px)}100%{transform:translateY(120%)}}
/* contenu au-dessus de la grille/scan */
[data-theme="cockpit"] .marcel .marcel-head,
[data-theme="cockpit"] .marcel .marcel-log,
[data-theme="cockpit"] .marcel .marcel-suggest,
[data-theme="cockpit"] .marcel .marcel-input{position:relative;z-index:2}

/* --- en-tête : "COPILOTE · EN LIGNE" avec LED clignotante --- */
[data-theme="cockpit"] .marcel .marcel-head{
  border-bottom:1px solid rgba(54,226,168,.30);
  background:linear-gradient(180deg,rgba(54,226,168,.12),transparent);
}
[data-theme="cockpit"] .marcel .marcel-head img{
  filter:drop-shadow(0 0 7px rgba(54,226,168,.4));
}
[data-theme="cockpit"] .marcel .marcel-id b{
  font-family:var(--ck-mono);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:#eafff5;font-size:13px;
}
/* sous-titre transformé en statut radio + LED "EN LIGNE" */
[data-theme="cockpit"] .marcel .marcel-id span{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--ck-mono);font-size:9px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ck-cyan);
  font-size:0; /* on masque le texte original, on réécrit en mono */
}
[data-theme="cockpit"] .marcel .marcel-id span::before{
  content:"";width:6px;height:6px;border-radius:50%;flex:0 0 auto;
  background:var(--ck-neon);box-shadow:0 0 8px var(--ck-neon);
  animation:cockpit-com-led 1.7s ease-in-out infinite;
}
[data-theme="cockpit"] .marcel .marcel-id span::after{
  content:"COPILOTE · EN LIGNE";
  font-family:var(--ck-mono);font-size:9px;font-weight:600;
  letter-spacing:.18em;color:var(--ck-cyan);
}
[data-theme="cockpit"] .marcel .marcel-head button{
  color:var(--muted);font-family:var(--ck-mono);
  border:1px solid var(--ck-line);border-radius:6px;background:rgba(0,0,0,.25);
}
[data-theme="cockpit"] .marcel .marcel-head button:hover{
  color:var(--ck-red);border-color:rgba(255,93,108,.4);background:rgba(255,93,108,.08);
}

/* --- journal des transmissions --- */
[data-theme="cockpit"] .marcel .marcel-log .msg{
  font-family:var(--ck-mono);font-size:12.5px;line-height:1.55;letter-spacing:.01em;
  border-radius:8px;
}
/* transmission ENTRANTE (copilote) : glow lime/cyan, préfixe radio */
[data-theme="cockpit"] .marcel .marcel-log .msg.bot{
  background:linear-gradient(180deg,rgba(63,217,255,.07),rgba(54,226,168,.04));
  border:1px solid rgba(63,217,255,.28);color:#eafff5;
  box-shadow:inset 0 0 14px rgba(63,217,255,.06),0 0 12px rgba(54,226,168,.10);
}
[data-theme="cockpit"] .marcel .marcel-log .msg.bot::before{
  content:"RX // ";color:var(--ck-cyan);font-family:var(--ck-mono);
  font-weight:700;letter-spacing:.08em;text-shadow:0 0 8px rgba(63,217,255,.5);
}
/* transmission SORTANTE (pilote) : message émis */
[data-theme="cockpit"] .marcel .marcel-log .msg.user{
  background:linear-gradient(135deg,rgba(54,226,168,.18),rgba(159,255,87,.10));
  border:1px solid rgba(159,255,87,.4);color:#eafff5;font-weight:500;
  box-shadow:inset 0 0 12px rgba(159,255,87,.08),0 0 10px rgba(159,255,87,.15);
}
[data-theme="cockpit"] .marcel .marcel-log .msg.user::before{
  content:"TX // ";color:var(--lime);font-family:var(--ck-mono);
  font-weight:700;letter-spacing:.08em;text-shadow:0 0 8px rgba(159,255,87,.5);
}

/* --- suggestions = boutons segmentés (presets de canal) --- */
[data-theme="cockpit"] .marcel .marcel-suggest button{
  border:1px solid var(--ck-line);background:rgba(54,226,168,.04);color:var(--muted);
  font-family:var(--ck-mono);font-size:10.5px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  border-radius:4px;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
  box-shadow:inset 0 0 10px rgba(0,0,0,.35);transition:.16s;
}
[data-theme="cockpit"] .marcel .marcel-suggest button:hover{
  color:var(--ck-neon);border-color:rgba(54,226,168,.5);
  background:rgba(54,226,168,.10);box-shadow:inset 0 0 10px rgba(54,226,168,.12),0 0 10px rgba(54,226,168,.25);
}

/* --- saisie : ligne d'émission techno --- */
[data-theme="cockpit"] .marcel .marcel-input{
  border-top:1px solid rgba(54,226,168,.30);
  background:linear-gradient(180deg,transparent,rgba(54,226,168,.04));
}
[data-theme="cockpit"] .marcel .marcel-input input{
  background:#07131a;border:1px solid var(--ck-line);border-radius:7px;
  color:var(--text);font-family:var(--ck-mono);font-size:12.5px;letter-spacing:.02em;
}
[data-theme="cockpit"] .marcel .marcel-input input::placeholder{
  color:var(--ck-faint);font-family:var(--ck-mono);letter-spacing:.04em;
}
[data-theme="cockpit"] .marcel .marcel-input input:focus{
  outline:none;border-color:var(--ck-neon);
  box-shadow:0 0 0 1px rgba(54,226,168,.35),inset 0 0 12px rgba(54,226,168,.06);
}
[data-theme="cockpit"] .marcel .marcel-input button{
  border:1px solid rgba(159,255,87,.5);border-radius:7px;
  background:linear-gradient(135deg,var(--lime),var(--green));color:#031a0e;
  font-weight:700;
  box-shadow:0 0 14px rgba(54,226,168,.4);transition:.16s;
}
[data-theme="cockpit"] .marcel .marcel-input button:hover{
  box-shadow:0 0 22px rgba(159,255,87,.6);transform:translateY(-1px);
}

/* surfaces jardin accordées au thème cockpit (HUD sombre néon) */
[data-theme="cockpit"]{--soil:#0a141b;--soil2:#0f2230;--wood:#1f6f59;--sky1:#0c2a20;--sky2:#9fff57;--sky-ink:#dffbe6;--tool-tx:#cfeede;--note-bg:#0c1820;--note-tx:#d6f5e2;}
