/* CK Labs Lab V3 — Light theme (version « pro matte » : blanc + bleu CK).
 * Refonte 2026-05-08 : moins de gradients, moins de glow, moins d'arrondis criards.
 * Token-based : on remappe les vars, on neutralise les ombres/gradients hérités du dark.
 */

:root[data-theme="light"]{
  /* Surfaces — blanc cassé / gris matte (style Linear/Notion).
   * Ni blanc pur ni gris froid : un gris très neutre, doux pour les yeux,
   * et qui laisse les CTAs charcoal et les médailles ressortir. */
  /* Light B — validé 2026-05-09. Plus gris que l'actuel, moins blanc agressif. */
  --bg:#e4e6ea;             /* fond gris perceptible */
  --surface:#eef0f3;        /* cartes plus claires que le fond */
  --surface2:#d8dce2;       /* zones secondaires (inputs, panels) */
  --surface3:#c5c9d0;       /* hover, sélection */
  --border:rgba(15,23,42,0.10);
  --border2:rgba(15,23,42,0.16);
  /* Texte */
  --text:#0f172a;           /* presque noir, jamais #000 */
  --muted:#475569;
  --muted2:#94a3b8;
  /* Sémantique */
  --danger:#b91c1c;
  /* Accents — bleu CK comme couleur primaire (matte, pas néon) */
  --accent:#2563eb;         /* CK blue — boutons, focus, liens */
  --accent2:#0f766e;        /* teal sobre — succès / résultats */
  --gold:#92400e;           /* gold matte — XP, légendes */
  --pink:#9d174d;
  --teal:#0e7490;
}

/* ═══════════════════════════════════════════════════════════════════
 * NEUTRALISATION DES EFFETS BRILLANTS DU DARK THEME
 * On override toutes les surfaces qui héritent de gradients ou de
 * box-shadow lumineux pour rester matte et pro.
 * ═══════════════════════════════════════════════════════════════════ */

:root[data-theme="light"] body{background:#e4e6ea}

/* Topbars — fond légèrement plus clair que le body (subtil), fine border */
:root[data-theme="light"] .v3p-top,
:root[data-theme="light"] .v3-topbar,
:root[data-theme="light"] .hub-top{
  background:#eef0f3 !important;
  border-bottom:1px solid rgba(15,23,42,0.08);
  box-shadow:none;
}

/* Hub cards — surface légèrement plus claire que le fond pour le contraste matte */
:root[data-theme="light"] .hub-col,
:root[data-theme="light"] .hub-col.learn,
:root[data-theme="light"] .hub-col.practice,
:root[data-theme="light"] .hub-col.explore{
  background:#eef0f3 !important;
  border:1px solid rgba(15,23,42,0.10);
  box-shadow:none;
}
:root[data-theme="light"] .hub-col:hover{
  border-color:#2563eb;
  box-shadow:0 1px 3px rgba(15,23,42,0.05);
}

/* CTAs primaires — version « sober pro » : charcoal / blanc, pas de bleu vif */
:root[data-theme="light"] .hub-cta-main,
:root[data-theme="light"] .v3p-btn-run,
:root[data-theme="light"] .v3p-btn-validate,
:root[data-theme="light"] .btn-primary{
  background:#0f172a !important;
  color:#ffffff !important;
  box-shadow:none !important;
  border:none;
  font-weight:700;
  letter-spacing:0;
}
:root[data-theme="light"] .hub-cta-main:hover,
:root[data-theme="light"] .v3p-btn-run:hover,
:root[data-theme="light"] .btn-primary:hover{
  background:#1e293b !important;
  filter:none;
  transform:none;
}
/* Le bleu CK reste l'accent (focus, liens, brand mark) — pas le CTA */

/* Boutons secondaires / ghost — bordure fine, fond surface (matte) */
:root[data-theme="light"] .hub-cta-ghost,
:root[data-theme="light"] .v3p-btn-hint,
:root[data-theme="light"] .btn-secondary{
  background:#eef0f3 !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,0.18) !important;
  box-shadow:none !important;
}
:root[data-theme="light"] .hub-cta-ghost:hover,
:root[data-theme="light"] .v3p-btn-hint:hover,
:root[data-theme="light"] .btn-secondary:hover{
  border-color:#2563eb !important;
  color:#2563eb !important;
}

/* Streak bar — fond gris très neutre, pas d'orange criard */
:root[data-theme="light"] .hub-streak-bar{
  background:#d8dce2 !important;
  border:1px solid rgba(15,23,42,0.08) !important;
}
:root[data-theme="light"] .hub-rew-img{background:#d8dce2;border-color:rgba(15,23,42,0.10)}

/* Hero proof badge */
:root[data-theme="light"] .hub-hero-proof{
  background:#d8dce2 !important;
  border:1px solid rgba(37,99,235,0.18) !important;
  color:#475569 !important;
}

/* Logo — gardez la couleur bleu CK */
:root[data-theme="light"] .hub-logo,
:root[data-theme="light"] .v3p-brand,
:root[data-theme="light"] .v3-tb-brand{color:#0f172a}
:root[data-theme="light"] .hub-logo em,
:root[data-theme="light"] .v3p-brand span,
:root[data-theme="light"] .v3-tb-brand span{color:#2563eb;text-shadow:none !important}

/* Pro tab dans le header — bleu CK plus discret */
:root[data-theme="light"] .v3-pro-tab{
  background:rgba(37,99,235,0.08) !important;
  color:#2563eb !important;
  border-color:rgba(37,99,235,0.25) !important;
}
:root[data-theme="light"] .v3-pro-tab:hover{
  background:rgba(37,99,235,0.14) !important;
  color:#1d4ed8 !important;
  border-color:rgba(37,99,235,0.45) !important;
}

/* Tier pills (ligues) — version matte */
:root[data-theme="light"] .v3p-tier-pills{background:#d8dce2}
:root[data-theme="light"] .v3p-tier-pill{color:#475569}
:root[data-theme="light"] .v3p-tier-pill.active{background:#eef0f3;color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,0.06)}
:root[data-theme="light"] .v3p-tier-pill.is-my-league{box-shadow:0 0 0 1.5px #2563eb,0 1px 2px rgba(15,23,42,0.06)}

/* Editor SQL — fond gris matte (pas blanc) */
:root[data-theme="light"] .v3p-editor-textarea,
:root[data-theme="light"] .v3p-editor-overlay{background:#eef0f3;color:#0f172a;caret-color:#2563eb}
:root[data-theme="light"] .v3p-editor-wrap{background:#eef0f3}

/* Syntaxe SQL — palette matte cohérente bleu CK */
:root[data-theme="light"] .v3p-tok-comment{color:#64748b;font-style:italic}
:root[data-theme="light"] .v3p-tok-keyword{color:#2563eb;font-weight:700}
:root[data-theme="light"] .v3p-tok-string{color:#0f766e}
:root[data-theme="light"] .v3p-tok-number{color:#92400e}
:root[data-theme="light"] .v3p-tok-fn{color:#7c3aed}
:root[data-theme="light"] .v3p-result-error{background:#fef2f2;color:#b91c1c;border-color:rgba(185,28,28,0.2)}

/* Chat panel */
:root[data-theme="light"] .v3p-chat-body,
:root[data-theme="light"] .v3-chat-body{background:#d8dce2}
:root[data-theme="light"] .v3-msg-bubble{background:#eef0f3;border:1px solid rgba(15,23,42,0.08);color:#0f172a;box-shadow:none}
:root[data-theme="light"] .v3-msg.user .v3-msg-bubble{background:#2563eb;color:#ffffff;border-color:#2563eb}

/* Résultats table */
:root[data-theme="light"] .v3p-result-table th{background:#d8dce2;color:#0f172a;border-color:rgba(15,23,42,0.10)}
:root[data-theme="light"] .v3p-result-table tr:nth-child(even){background:#e4e6ea}

/* Side panel / Snapshot */
:root[data-theme="light"] .v3p-side{background:#eef0f3;border-color:rgba(15,23,42,0.10)}
:root[data-theme="light"] .v3p-side-tab.active{color:#2563eb;border-bottom-color:#2563eb}

/* Brief banner — fond matte */
:root[data-theme="light"] .v3p-brief{background:#eef0f3;border-bottom:1px solid rgba(15,23,42,0.08)}
:root[data-theme="light"] .v3p-brief-icon{background:rgba(37,99,235,0.06);border-color:rgba(37,99,235,0.20)}

/* Reco toast popup — version pro */
:root[data-theme="light"] .hub-reco-toast{background:#eef0f3;border:1px solid rgba(15,23,42,0.12);box-shadow:0 6px 20px rgba(15,23,42,0.08)}
:root[data-theme="light"] .hub-reco-toast .hub-reco-eyebrow{color:#475569}
:root[data-theme="light"] .hub-reco-toast .hub-reco-title{color:#0f172a}
:root[data-theme="light"] .hub-reco-toast .hub-reco-cta{background:#2563eb;color:#ffffff}

/* Theme toggle */
.v3-theme-toggle{background:transparent;border:1px solid var(--border2);color:var(--muted);padding:5px 10px;border-radius:6px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:5px;font-family:inherit;cursor:pointer}
.v3-theme-toggle:hover{border-color:var(--accent);color:var(--text)}
.v3-theme-toggle [data-theme-icon]{font-size:13px;line-height:1}

/* Visite guidée — bleu CK pour le focus + arrière-plan plus discret en light */
:root[data-theme="light"] .ttour-cut{box-shadow:0 0 0 9999px rgba(15,23,42,0.35),0 0 0 2px #2563eb,0 0 24px rgba(37,99,235,0.30) !important}
:root[data-theme="light"] .ttour-tip{background:#eef0f3;border:1px solid rgba(15,23,42,0.12);color:#0f172a;box-shadow:0 8px 28px rgba(15,23,42,0.10)}
:root[data-theme="light"] .ttour-tip-h{color:#0f172a}
:root[data-theme="light"] .ttour-tip-b{color:#475569}

/* League modal — surfaces matte */
:root[data-theme="light"] #cklabs-league-modal .cklm-card{background:#eef0f3 !important;color:#0f172a;border-color:rgba(15,23,42,0.12)}
:root[data-theme="light"] #cklabs-league-modal .cklm-back{background:rgba(15,23,42,0.45);backdrop-filter:none;-webkit-backdrop-filter:none}
:root[data-theme="light"] #cklabs-league-modal .cklm-title{color:#0f172a}
:root[data-theme="light"] #cklabs-league-modal .cklm-sub,
:root[data-theme="light"] #cklabs-league-modal .cklm-helper{color:#475569}
:root[data-theme="light"] #cklabs-league-modal .cklm-card-l{background:#e4e6ea !important;border-color:rgba(15,23,42,0.10)}
:root[data-theme="light"] #cklabs-league-modal .cklm-card-l:hover{background:#eef0f3 !important;border-color:#2563eb}

/* Floating Skilly — moins de glow en light */
:root[data-theme="light"] #skilly-fl-btn{background:#eef0f3;border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,0.18),0 1px 3px rgba(15,23,42,0.08)}
:root[data-theme="light"] #skilly-fl-bubble{background:#eef0f3;border-color:rgba(15,23,42,0.12);color:#0f172a;box-shadow:0 8px 24px rgba(15,23,42,0.10)}
:root[data-theme="light"] .sk-fl-name{color:#2563eb}
:root[data-theme="light"] .sk-fl-msg{color:#0f172a}
:root[data-theme="light"] .sk-fl-chip{background:#d8dce2;border-color:rgba(15,23,42,0.12);color:#0f172a}
:root[data-theme="light"] .sk-fl-chip:hover{background:#eef0f3;border-color:#2563eb;color:#2563eb}
:root[data-theme="light"] .sk-fl-cta{background:#2563eb;color:#ffffff}

/* Ne pas hériter du @keyframes sk-pulse violet — pulse bleu CK en light */
:root[data-theme="light"] #skilly-fl-btn{animation:sk-pulse-light 2.6s ease-in-out infinite}
@keyframes sk-pulse-light{0%,100%{box-shadow:0 4px 12px rgba(37,99,235,0.18),0 0 0 0 rgba(37,99,235,0.35)}50%{box-shadow:0 4px 12px rgba(37,99,235,0.18),0 0 0 10px rgba(37,99,235,0)}}
