@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&family=JetBrains+Mono:wght@500;600&display=swap");
/* NEXORA : THÈME ACTIF — chargé en DERNIER par le panel, les pages seules, les guides et la connexion.
   Pour revenir au rendu d'avant : _sauvegarde_avant_theme_logo_rouge/assets/themes/actif.css (v8 rubis / émeraude).

   Thème « Médaillon rubis » (04/11), accordé au logo du propriétaire (médaillon gravé, N de pierre noire et cristal
   rouge, orbite magenta : assets/logo.png, assets/nexora_medaillon.webp) :
   rubis #ff2d4b / #e0193a / #7a0c1c · magenta lueur #ff3d8b / #d61f69 / #6e0f3f · acier #2a2a33 / #9aa0ab
   · or #f5c451 (gardé seulement pour les kamas et l'HDV) · vert #3ddc97 (seulement « en ligne » / succès).
   Les variables --emeraude* gardent leur nom (API du thème) mais portent maintenant le magenta.
   Rôles : rubis = marque, actions principales (boutons en dégradé rouge), onglet actif ; magenta = 2e accent,
   sélection, élevage / métiers. Fond quasi noir, surfaces en verre sombre, lueurs discrètes.
   - Le site de vente (body.vitrine) n'est jamais touché.
   - Couleurs posées sur `body` (pas sur :root) pour passer devant les anciennes teintes par section.
   Les classes et les id du panel ne changent pas : seulement des variables et des surfaces. */

body:not(.vitrine){
  --rubis:#e0193a; --rubis-hi:#ff2d4b; --rubis-pale:#ffc9d2; --rubis-deep:#7a0c1c;
  --emeraude:#d61f69; --emeraude-hi:#ff3d8b; --emeraude-pale:#ffd0e2; --emeraude-deep:#6e0f3f;
  --or:#f5c451; --or-hi:#fff1b8;
  /* panel complet */
  --a1:#e0193a; --a2:#ff2d4b; --a3:#d61f69; --a-soft:rgba(224,25,58,.13); --a-line:rgba(255,45,75,.45);
  --fond:#060608; --bg:#060608; --deep:#030304;
  --surf1:rgba(26,22,28,.62); --surf2:rgba(11,10,13,.78);
  --side1:rgba(16,12,16,.86); --side2:rgba(7,6,9,.92);
  --carte1:rgba(34,28,36,.5); --carte2:rgba(13,12,16,.74);
  --line:rgba(255,255,255,.075); --line2:rgba(255,255,255,.14); --hover-line:rgba(255,45,75,.4);
  --text:#f3eef0; --muted:#a69ca2; --faint:#6d6469;
  --gold:#f5c451; --gold-hi:#fff1b8;
  --rail:rgba(12,11,14,.8); --panel2:rgba(255,255,255,.045);
  --verre:rgba(12,11,14,.6);
  --bord-lum:linear-gradient(135deg,rgba(255,45,75,.5),rgba(255,255,255,.06) 38%,rgba(255,255,255,.04) 62%,rgba(255,61,139,.42));
  --lueur:0 0 0 1px rgba(255,255,255,.02),0 18px 48px -26px rgba(224,25,58,.55);
  --ombre:0 1px 0 rgba(255,255,255,.04) inset,0 22px 50px -30px rgba(0,0,0,.95);
  --grad:linear-gradient(120deg,#ff2d4b 0%,#e0193a 45%,#d61f69 100%);
  --ui:"Inter","Segoe UI",system-ui,sans-serif; --title:"Plus Jakarta Sans","Inter","Segoe UI",sans-serif;
  --serif:"Plus Jakarta Sans","Inter",sans-serif; --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  /* pages seules */
  --bg-haut:#0b0809; --accent:#e0193a; --accent-hi:#ffc9d2; --cyan:#ff3d8b; --violet:#d61f69;
  --grad-doux:linear-gradient(135deg,rgba(224,25,58,.14),rgba(255,255,255,.02) 50%,rgba(214,31,105,.14));
  --panel:rgba(22,19,24,.62); --panel-plein:#120f13;
  /* connexion */
  --neon:#ff2d4b; --neon-hi:#ffc9d2; --ink:#1a0309;
  font-family:var(--ui);
}
/* une 3e couleur par grand écran, toujours dans la même famille : on garde un seul panel cohérent */
body:not(.vitrine)[data-vue="elevage"],body:not(.vitrine)[data-vue="metiers"],body:not(.vitrine)[data-vue="leveling"],
body:not(.vitrine)[data-section="elevage"],body:not(.vitrine)[data-section="leveling"]{
  --a1:#d61f69;--a2:#ff3d8b;--a3:#e0193a;--a-soft:rgba(214,31,105,.13);--a-line:rgba(255,61,139,.45);--accent:#d61f69;--accent-hi:#ffd0e2}
body:not(.vitrine)[data-vue="hdv"],body:not(.vitrine)[data-vue="acheter"],body:not(.vitrine)[data-section="hdv"]{
  --a1:#d9a521;--a2:#f5c451;--a3:#e0193a;--a-soft:rgba(245,196,81,.12);--a-line:rgba(245,196,81,.45);--accent:#d9a521;--accent-hi:#fff1b8}

/* ---------- fond : nuit profonde, deux lueurs (rubis en haut, émeraude en bas), trame très fine ---------- */
body:not(.vitrine){
  background:
    radial-gradient(900px 560px at 92% -12%,rgba(224,25,58,.16),transparent 62%),
    radial-gradient(820px 560px at -8% 110%,rgba(214,31,105,.13),transparent 62%),
    radial-gradient(600px 400px at 50% 50%,rgba(245,196,81,.025),transparent 70%),
    linear-gradient(180deg,#09080a,#050506) !important;
  background-attachment:fixed !important;color:var(--text)}
body:not(.vitrine)::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;mix-blend-mode:normal !important;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:44px 44px;-webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000,transparent 85%);mask-image:radial-gradient(80% 70% at 50% 30%,#000,transparent 85%)}
body:not(.vitrine)::after{
  background:radial-gradient(34% 26% at 18% 20%,rgba(224,25,58,.14),transparent 70%),
    radial-gradient(30% 24% at 82% 34%,rgba(214,31,105,.11),transparent 70%),
    radial-gradient(40% 28% at 55% 92%,rgba(224,25,58,.08),transparent 70%) !important;
  opacity:.9 !important;filter:blur(30px) !important}

/* ---------- typographie ---------- */
body:not(.vitrine) h1,body:not(.vitrine) h2,body:not(.vitrine) h3,body:not(.vitrine) .top-title,body:not(.vitrine) .box-h h2{font-family:var(--title);letter-spacing:-.01em}
body:not(.vitrine) .nx-hero h1,body:not(.vitrine) .hero h1{font-family:var(--title) !important;letter-spacing:-.02em !important;font-weight:800 !important}
body:not(.vitrine) .nx-hero h1 span,body:not(.vitrine) .hero h1 span,body:not(.vitrine) .grad{
  background-image:linear-gradient(90deg,#ff7a8c,#ff2d4b 40%,#ff3d8b) !important;-webkit-background-clip:text;background-clip:text;color:transparent}
body:not(.vitrine) .top-title{background-image:linear-gradient(90deg,#ffffff,#ffd3da) !important;-webkit-background-clip:text;background-clip:text;color:transparent}
body:not(.vitrine) code,body:not(.vitrine) pre,body:not(.vitrine) .console{font-family:var(--mono)}

/* ---------- menu de gauche ---------- */
body:not(.vitrine) .side{background:linear-gradient(180deg,var(--side1),var(--side2)) !important;border-right:1px solid var(--line) !important;
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:inset -1px 0 0 rgba(255,45,75,.08),18px 0 50px -40px rgba(224,25,58,.6)}
body:not(.vitrine) .side .brand,body:not(.vitrine) .top .brand,body:not(.vitrine) #top .brand{font-family:var(--title) !important;font-weight:800 !important;letter-spacing:.12em !important;color:#fff}
body:not(.vitrine) .side .brand i,body:not(.vitrine) #top .brand i{background-image:linear-gradient(90deg,#ff2d4b,#ff3d8b) !important;-webkit-background-clip:text;background-clip:text;color:transparent !important}
body:not(.vitrine) .side .brand .logo,body:not(.vitrine) .top .brand img,body:not(.vitrine) .brand img{border-radius:0 !important;background:none !important;box-shadow:none !important;
  filter:drop-shadow(0 6px 14px rgba(224,25,58,.45)) drop-shadow(0 0 18px rgba(214,31,105,.18)) !important}
body:not(.vitrine) .nav-sep{color:var(--faint) !important;opacity:1 !important;font-size:10.5px !important;letter-spacing:.18em !important}
body:not(.vitrine) .nav button{color:var(--muted) !important}
body:not(.vitrine) .nav button:hover{background:rgba(255,255,255,.045) !important;color:var(--text) !important}
body:not(.vitrine) .nav button[aria-current=true]{color:#fff !important;
  background:linear-gradient(90deg,rgba(224,25,58,.26),rgba(224,25,58,.06) 70%,transparent) !important;
  box-shadow:inset 0 0 0 1px rgba(255,45,75,.28),0 10px 26px -16px rgba(224,25,58,.9) !important}
body:not(.vitrine) .nav button[aria-current=true]::before{background:linear-gradient(180deg,#ff2d4b,#e0193a) !important;box-shadow:0 0 12px #ff2d4b !important}
body:not(.vitrine) .nav button[aria-current=true] .ic{color:#ff7a8c !important;filter:drop-shadow(0 0 6px rgba(255,45,75,.7)) !important}
body:not(.vitrine) .nav button[data-view="lanceur"] .ic{color:#ff3d8b !important}
body:not(.vitrine) .nav button[data-view="lanceur"]{background:linear-gradient(90deg,rgba(214,31,105,.12),transparent 80%) !important;box-shadow:inset 0 0 0 1px rgba(255,61,139,.16)}
body:not(.vitrine) .nav button[data-view="lanceur"][aria-current=true]{background:linear-gradient(90deg,rgba(214,31,105,.3),rgba(214,31,105,.06) 70%,transparent) !important;
  box-shadow:inset 0 0 0 1px rgba(255,61,139,.35),0 10px 26px -16px rgba(214,31,105,.9) !important}
body:not(.vitrine) .nav button[data-view="lanceur"][aria-current=true]::before{background:linear-gradient(180deg,#ff3d8b,#d61f69) !important;box-shadow:0 0 12px #ff3d8b !important}

/* ---------- barre du haut ---------- */
body:not(.vitrine) .top,body:not(.vitrine) #top{background:rgba(8,7,9,.66) !important;border-bottom:1px solid var(--line) !important;
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}

/* ---------- surfaces : verre dépoli, bord rubis -> émeraude, profondeur ---------- */
body:not(.vitrine) .box{border:1px solid transparent !important;border-radius:18px !important;
  background:linear-gradient(180deg,var(--surf1),var(--surf2)) padding-box,var(--bord-lum) border-box !important;
  box-shadow:var(--ombre),var(--lueur) !important;backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}
body:not(.vitrine) .box::before{background:linear-gradient(90deg,transparent,rgba(255,45,75,.7),rgba(255,61,139,.5),transparent) !important;opacity:.8}
body:not(.vitrine) .box-h{border-bottom-color:var(--line) !important}
body:not(.vitrine) .card,body:not(.vitrine) .nx-kpi,body:not(.vitrine) .nx-tuile,body:not(.vitrine) .nx-carte,body:not(.vitrine) .carte,body:not(.vitrine) .tab{
  background:linear-gradient(180deg,var(--carte1),var(--carte2)) !important;border-color:var(--line) !important;
  backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%)}
body:not(.vitrine) .card:hover,body:not(.vitrine) .nx-kpi:hover,body:not(.vitrine) .nx-carte:hover,body:not(.vitrine) .nx-tuile:hover{
  border-color:rgba(255,45,75,.3) !important;box-shadow:0 18px 40px -24px rgba(224,25,58,.8) !important;transform:translateY(-2px)}
body:not(.vitrine) .nx-kpi::after{opacity:.5}
body:not(.vitrine) .nx-kpi:nth-child(odd){--c:#e0193a !important}body:not(.vitrine) .nx-kpi:nth-child(even){--c:#d61f69 !important}
body:not(.vitrine) .nx-kpi b,body:not(.vitrine) .nx-kpi .v,body:not(.vitrine) .kamas{font-variant-numeric:tabular-nums}
body:not(.vitrine) .app > aside{background:rgba(9,8,11,.62) !important;border-right:1px solid var(--line) !important}

/* bandeau d'en-tête de chaque écran : verre, deux lueurs, images du jeu gardées */
body:not(.vitrine) .nx-hero,body:not(.vitrine) .hero{
  background:radial-gradient(120% 160% at 0% 0%,rgba(224,25,58,.22),transparent 52%) padding-box,
    radial-gradient(90% 140% at 100% 100%,rgba(214,31,105,.16),transparent 55%) padding-box,
    linear-gradient(120deg,rgba(24,18,22,.88),rgba(9,8,10,.92)) padding-box,var(--bord-lum) border-box !important;
  border:1px solid transparent !important;box-shadow:0 30px 70px -40px rgba(224,25,58,.6),var(--ombre) !important}
body:not(.vitrine) .nx-hero .eti,body:not(.vitrine) .hero .eti{border-color:rgba(255,45,75,.45) !important;color:#ffc9d2 !important;background:rgba(224,25,58,.12) !important}
body:not(.vitrine) .nx-illu img{filter:drop-shadow(0 12px 18px rgba(0,0,0,.7)) drop-shadow(0 0 16px rgba(255,45,75,.28)) !important}

/* ---------- boutons ---------- */
body:not(.vitrine) .btn.go,body:not(.vitrine) .hbtn.go,body:not(.vitrine) .btn.primaire,body:not(.vitrine) button.primaire{color:#fff !important;text-shadow:0 1px 1px rgba(60,0,10,.45) !important;border:0 !important;
  background:linear-gradient(135deg,#ff5a6e 0%,#e0193a 48%,#8e0d22 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 10px 28px -12px rgba(214,31,105,.9) !important;font-weight:750 !important}
body:not(.vitrine) .btn.go:hover:not(:disabled),body:not(.vitrine) .hbtn.go:hover:not(:disabled){filter:brightness(1.07) saturate(1.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 14px 34px -10px rgba(214,31,105,1) !important;transform:translateY(-1px)}
body:not(.vitrine) .btn.go:disabled,body:not(.vitrine) .hbtn.go:disabled{filter:grayscale(.75) brightness(.55);box-shadow:none !important}
body:not(.vitrine) .btn.stop,body:not(.vitrine) .hbtn.stop,body:not(.vitrine) .tbtn.del,body:not(.vitrine) .btn.danger{
  color:#ffd3da !important;border:1px solid rgba(255,45,75,.45) !important;background:linear-gradient(180deg,rgba(224,25,58,.22),rgba(122,12,28,.3)) !important}
body:not(.vitrine) .btn.stop:hover:not(:disabled),body:not(.vitrine) .hbtn.stop:hover:not(:disabled),body:not(.vitrine) .tbtn.del:hover:not(:disabled){
  background:linear-gradient(180deg,rgba(224,25,58,.42),rgba(122,12,28,.45)) !important;box-shadow:0 8px 22px -12px rgba(224,25,58,.9)}
body:not(.vitrine) .tbtn,body:not(.vitrine) .hbtn:not(.go):not(.stop),body:not(.vitrine) .btn:not(.go):not(.stop):not(.danger):not(.primaire){
  background:rgba(255,255,255,.045) !important;border:1px solid var(--line2) !important;color:var(--text)}
body:not(.vitrine) .tbtn:hover:not(:disabled),body:not(.vitrine) .hbtn:not(.go):not(.stop):hover:not(:disabled),body:not(.vitrine) .btn:not(.go):not(.stop):not(.danger):not(.primaire):hover:not(:disabled){
  background:rgba(255,255,255,.08) !important;border-color:rgba(255,45,75,.42) !important;color:#fff}
body:not(.vitrine) .btn,body:not(.vitrine) .tbtn,body:not(.vitrine) .hbtn{transition:background .16s,border-color .16s,box-shadow .2s,transform .16s,filter .16s}
body:not(.vitrine) .nx-n{background:linear-gradient(135deg,#ff2d4b,#b8122f) !important;color:#fff !important;box-shadow:0 0 0 3px rgba(224,25,58,.18),0 6px 16px -6px #e0193a !important}

/* ---------- champs ---------- */
body:not(.vitrine) select,body:not(.vitrine) input[type=number],body:not(.vitrine) input[type=text],body:not(.vitrine) input[type=password],
body:not(.vitrine) input[type=search],body:not(.vitrine) input[type=email],body:not(.vitrine) input[type=url],body:not(.vitrine) textarea{
  background-color:rgba(4,4,6,.62) !important;border:1px solid var(--line2) !important;color:var(--text)}
body:not(.vitrine) select:focus,body:not(.vitrine) input:focus,body:not(.vitrine) textarea:focus{border-color:rgba(255,61,139,.65) !important;box-shadow:0 0 0 3px rgba(214,31,105,.16) !important;outline:none}
body:not(.vitrine) input:focus-visible,body:not(.vitrine) select:focus-visible,body:not(.vitrine) textarea:focus-visible,body:not(.vitrine) button:focus-visible,body:not(.vitrine) a:focus-visible{outline:2px solid #ff3d8b !important;outline-offset:2px}
body:not(.vitrine) input[type=checkbox],body:not(.vitrine) input[type=radio]{accent-color:#d61f69}

/* ---------- onglets ---------- */
body:not(.vitrine) .subtabs{background:transparent !important;border-bottom-color:var(--line) !important}
body:not(.vitrine) .subtabs button[aria-selected=true]{color:#fff !important}
body:not(.vitrine) .subtabs button[aria-selected=true]::after{background:linear-gradient(90deg,#ff2d4b,#e0193a) !important;box-shadow:0 0 12px rgba(255,45,75,.8) !important}
body:not(.vitrine) .subtabs button[aria-selected=true] .ic{color:#ff7a8c !important}

/* ---------- tableaux, listes, barres ---------- */
body:not(.vitrine) table th{color:var(--muted);font-weight:600;letter-spacing:.02em}
body:not(.vitrine) table tbody tr:hover td{background:rgba(255,255,255,.025)}
body:not(.vitrine) .bar{background:rgba(255,255,255,.07) !important}
body:not(.vitrine) .meter.life .bar i{background:linear-gradient(90deg,#b8122f,#ff2d4b) !important}
body:not(.vitrine) .meter.pods .bar i{background:linear-gradient(90deg,#0e9a66,#ff3d8b) !important}
body:not(.vitrine) .dot.on{background:#ff3d8b !important;box-shadow:0 0 10px #ff3d8b !important}
body:not(.vitrine) .dot.err{background:#ff2d4b !important;box-shadow:0 0 10px #ff2d4b !important}
body:not(.vitrine) .msg.ok{color:#ffb0cf !important}
body:not(.vitrine) .msg.err{color:#ff9db0 !important}
body:not(.vitrine) .lz-perso.on,body:not(.vitrine) .lz-groupe.on,body:not(.vitrine) .lz-script.on,
body:not(.vitrine) .lz-choix3 button[aria-checked=true],body:not(.vitrine) .lz-choix2 button[aria-checked=true]{
  border-color:#ff3d8b !important;box-shadow:0 0 0 1px rgba(255,61,139,.6),0 12px 30px -16px rgba(214,31,105,.9) !important;
  background:linear-gradient(180deg,rgba(214,31,105,.16),rgba(13,12,16,.78)) !important}
body:not(.vitrine) .lz-perso.on .lz-coche{background:linear-gradient(135deg,#ff3d8b,#d61f69) !important}
body:not(.vitrine) .lz-seg button[aria-selected=true]{background:linear-gradient(135deg,rgba(224,25,58,.75),rgba(122,12,28,.7)) !important;box-shadow:0 6px 16px -8px #e0193a !important}

/* ---------- barres de défilement ---------- */
body:not(.vitrine) *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}
body:not(.vitrine) ::-webkit-scrollbar{width:10px;height:10px}
body:not(.vitrine) ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:10px;border:2px solid transparent;background-clip:padding-box}
body:not(.vitrine) ::-webkit-scrollbar-thumb:hover{background:rgba(255,45,75,.4);background-clip:padding-box;border:2px solid transparent}
body:not(.vitrine) ::selection{background:rgba(224,25,58,.38);color:#fff}

/* ---------- animations sobres : chaque écran entre en fondu ---------- */
@keyframes nxEntre{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
body:not(.vitrine) .view:not([hidden]),body:not(.vitrine) main > section,body:not(.vitrine) #acctView .pane.on{animation:nxEntre .32s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){
  body:not(.vitrine)::after{animation:none}
  body:not(.vitrine) .view,body:not(.vitrine) main > section,body:not(.vitrine) #acctView .pane{animation:none !important}
  body:not(.vitrine) .card:hover,body:not(.vitrine) .nx-kpi:hover,body:not(.vitrine) .nx-tuile:hover{transform:none}
}

/* ---------- pages seules (assets/autonome.css) ---------- */
body:not(.vitrine) #top nav a{color:var(--muted)}
body:not(.vitrine) #top nav a:hover{color:#fff;background:rgba(255,255,255,.05)}
body:not(.vitrine) #top nav a[aria-current=page]{color:#fff !important;background:linear-gradient(180deg,rgba(224,25,58,.24),rgba(224,25,58,.08)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,45,75,.35) !important}
body:not(.vitrine) .panel,body:not(.vitrine) .bloc,body:not(.vitrine) section.carte-section{
  background:linear-gradient(180deg,var(--surf1),var(--surf2)) padding-box,var(--bord-lum) border-box !important;border:1px solid transparent !important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--ombre) !important}

/* ---------- page de connexion (login.html) ---------- */
body:not(.vitrine) > main:has(> .tabs){background:linear-gradient(180deg,rgba(28,20,24,.78),rgba(9,8,10,.9)) padding-box,var(--bord-lum) border-box !important;
  border:1px solid transparent !important;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 0 70px -24px rgba(224,25,58,.6),0 40px 90px -40px #000 !important}
body:not(.vitrine) > main:has(> .tabs) .brand{font-family:var(--title);letter-spacing:.12em}
body:not(.vitrine) > main:has(> .tabs) .tabs,body:not(.vitrine) > main:has(> .tabs) input{background:rgba(4,4,6,.7) !important}
body:not(.vitrine) > main:has(> .tabs) button:not(.tabs button){color:#fff !important;background:linear-gradient(135deg,#ff5a6e,#e0193a 48%,#8e0d22) !important;
  box-shadow:0 10px 28px -12px rgba(214,31,105,.9)}
body:not(.vitrine) > main:has(> .tabs) .tabs button[aria-selected="true"]{background:rgba(224,25,58,.2) !important;color:#fff !important}

/* =====================================================================
   Nouveaux éléments de la refonte (03/11) : assistant, fiche Succès / Caractéristiques,
   lancer par serveur, assistant d'ajout de compte pas à pas.
   ===================================================================== */
/* bouton flottant de l'assistant */
.nx-ia-fab{position:fixed;right:22px;bottom:22px;z-index:900;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 14px;
  border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#fff;font:700 14.5px/1 var(--ui,Inter,sans-serif);cursor:pointer;
  background:linear-gradient(135deg,rgba(224,25,58,.92),rgba(122,12,28,.92) 55%,rgba(110,15,63,.92));
  box-shadow:0 16px 40px -14px rgba(224,25,58,.85),0 0 0 6px rgba(224,25,58,.08),inset 0 1px 0 rgba(255,255,255,.3);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .18s,box-shadow .18s}
.nx-ia-fab:hover{transform:translateY(-2px);box-shadow:0 22px 48px -14px rgba(224,25,58,1),0 0 0 8px rgba(224,25,58,.1),inset 0 1px 0 rgba(255,255,255,.35)}
.nx-ia-fab .orbe{width:28px;height:28px;border-radius:50%;flex:none;position:relative;
  background:radial-gradient(circle at 35% 30%,#fff 0 8%,#ff3d8b 22%,#d61f69 52%,#6e0f3f 100%);box-shadow:0 0 14px rgba(255,61,139,.8)}
.nx-ia-fab .orbe::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(255,61,139,.5);animation:nxOrbe 2.4s ease-out infinite}
@keyframes nxOrbe{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.5);opacity:0}}
.nx-ia-fab[aria-expanded=true]{opacity:0;pointer-events:none;transform:scale(.9)}
.nx-ia{position:fixed;right:22px;bottom:22px;z-index:901;width:min(420px,calc(100vw - 24px));height:min(620px,calc(100vh - 44px));
  display:flex;flex-direction:column;border-radius:22px;overflow:hidden;color:#f3eef0;font:14px/1.5 var(--ui,Inter,sans-serif);
  background:linear-gradient(180deg,rgba(26,20,24,.86),rgba(8,7,9,.94)) padding-box,
    linear-gradient(135deg,rgba(255,45,75,.6),rgba(255,255,255,.06) 45%,rgba(255,61,139,.5)) border-box;border:1px solid transparent;
  backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);
  box-shadow:0 40px 90px -30px #000,0 0 80px -40px rgba(224,25,58,.8);transform-origin:100% 100%;animation:nxIaIn .22s cubic-bezier(.2,.8,.2,1)}
.nx-ia[hidden]{display:none}
@keyframes nxIaIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.nx-ia-h{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.nx-ia-h .orbe{width:30px;height:30px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#fff 0 8%,#ff3d8b 22%,#d61f69 52%,#6e0f3f 100%);box-shadow:0 0 16px rgba(255,61,139,.7)}
.nx-ia-h b{font-family:var(--title,Inter);font-size:15.5px;display:block}
.nx-ia-h small{color:#a69ca2;font-size:12px}
.nx-ia-h .sp{flex:1}
.nx-ia-ib{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#f3eef0;cursor:pointer;display:grid;place-items:center}
.nx-ia-ib:hover{background:rgba(255,255,255,.1)}
.nx-ia-ib[aria-pressed=true]{border-color:rgba(255,61,139,.6);color:#ff3d8b;background:rgba(214,31,105,.14)}
.nx-ia-ib svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nx-ia-fil{flex:1;overflow:auto;padding:14px 14px 6px;display:flex;flex-direction:column;gap:10px}
.nx-ia-m{max-width:88%;padding:10px 13px;border-radius:16px;white-space:pre-wrap;word-wrap:break-word;animation:nxEntre .2s ease both}
.nx-ia-m.moi{align-self:flex-end;background:linear-gradient(135deg,rgba(224,25,58,.85),rgba(150,14,36,.85));border-bottom-right-radius:5px;color:#fff}
.nx-ia-m.ia{align-self:flex-start;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:5px}
.nx-ia-m.ia.err{border-color:rgba(255,45,75,.45);color:#ffc9d2}
.nx-ia-acts{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.nx-ia-act{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:6px 9px;border-radius:10px;background:rgba(0,0,0,.25);white-space:normal}
.nx-ia-act i{width:18px;height:18px;border-radius:50%;flex:none;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800}
.nx-ia-act.ok i{background:rgba(214,31,105,.25);color:#ff3d8b}.nx-ia-act.ko i{background:rgba(224,25,58,.25);color:#ff7a8c}
.nx-ia-tape{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05)}
.nx-ia-tape i{width:7px;height:7px;border-radius:50%;background:#a69ca2;animation:nxTape 1s infinite}
.nx-ia-tape i:nth-child(2){animation-delay:.15s}.nx-ia-tape i:nth-child(3){animation-delay:.3s}
@keyframes nxTape{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.nx-ia-sugg{display:flex;gap:6px;flex-wrap:wrap;padding:4px 14px 8px}
.nx-ia-sugg button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#e9dfe3;border-radius:999px;padding:5px 11px;font:inherit;font-size:12.5px;cursor:pointer}
.nx-ia-sugg button:hover{border-color:rgba(255,61,139,.55);color:#fff}
.nx-ia-bas{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}
.nx-ia-bas textarea{flex:1;min-height:42px;max-height:120px;resize:none;border-radius:14px !important;padding:10px 12px;font:inherit;color:#f3eef0;
  background:rgba(4,4,6,.7) !important;border:1px solid rgba(255,255,255,.14) !important}
.nx-ia-mic{width:42px;height:42px;border-radius:50%;flex:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#f3eef0;cursor:pointer;display:grid;place-items:center;position:relative}
.nx-ia-mic svg,.nx-ia-env svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nx-ia-mic.ecoute{background:linear-gradient(135deg,#ff2d4b,#b8122f);border-color:transparent;color:#fff}
.nx-ia-mic.ecoute::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(255,45,75,.7);animation:nxOrbe 1.2s ease-out infinite}
.nx-ia-mic:disabled{opacity:.35;cursor:not-allowed}
.nx-ia-env{width:42px;height:42px;border-radius:50%;flex:none;border:0;cursor:pointer;color:#fff;display:grid;place-items:center;
  background:linear-gradient(135deg,#ff5a6e,#e0193a 48%,#8e0d22);box-shadow:0 8px 20px -8px rgba(214,31,105,.9)}
.nx-ia-env:disabled{filter:grayscale(.8) brightness(.6);cursor:not-allowed}
.nx-ia-note{font-size:11.5px;color:#7d7378;padding:0 14px 10px;background:rgba(0,0,0,.18)}
@media (max-width:640px){.nx-ia-fab{right:12px;bottom:76px;height:46px;padding:0 14px 0 10px}.nx-ia-fab span.t{display:none}
  .nx-ia{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100vh - 16px);border-radius:18px}}

/* fiche du perso : Succès / Caractéristiques */
.nx-fiche{padding:16px;display:flex;flex-direction:column;gap:14px}
.nx-fiche-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nx-fiche-h h3{margin:0;font-size:17px}
.nx-fiche-h .sp{flex:1}
.nf-pastilles{display:flex;gap:8px;flex-wrap:wrap}
.nf-pastille{display:inline-flex;align-items:baseline;gap:6px;padding:7px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.035);font-size:13px;color:var(--muted)}
.nf-pastille b{color:#fff;font-size:16px;font-variant-numeric:tabular-nums}
.nf-pastille.or b{color:#f5c451}.nf-pastille.vert b{color:#ff3d8b}
.nx-succes-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.nx-succes{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,var(--carte1),var(--carte2))}
.nx-succes .med{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;font-weight:800;color:#2a1a00;
  background:radial-gradient(circle at 35% 30%,#fff1b8,#f5c451 45%,#b9821f);box-shadow:0 6px 16px -8px #f5c451,inset 0 1px 0 rgba(255,255,255,.6)}
.nx-succes b{display:block;font-size:14px;line-height:1.3}
.nx-succes small{color:var(--muted);font-size:12px}
.nx-succes .pts{margin-left:auto;font-weight:800;color:#f5c451;font-variant-numeric:tabular-nums;white-space:nowrap}
.nf-filtres{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.nf-filtres input[type=search]{flex:1 1 220px;height:36px;border-radius:10px;padding:0 12px}
.nf-filtres select{height:36px;border-radius:10px}
.nf-vide{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:16px}
.nf-vide b{display:block;color:var(--text);font-size:15px;margin-bottom:4px}
.nx-caracs{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.nx-carac{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(180deg,var(--carte1),var(--carte2))}
.nx-carac .ic2{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;grid-row:1/3;font-size:18px;
  background:color-mix(in srgb,var(--c) 18%,transparent);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);color:var(--c)}
.nx-carac .nm{font-weight:700}
.nx-carac .val{font:800 22px/1 var(--title,Inter);font-variant-numeric:tabular-nums;color:#fff;text-align:right}
.nx-carac .det{grid-column:2/3;color:var(--muted);font-size:12px}
.nx-carac .pl{grid-column:3;display:flex;gap:5px;justify-content:flex-end}
.nx-carac .pl button{height:28px;min-width:40px;padding:0 9px;border-radius:9px;font:700 12.5px/1 var(--ui);cursor:pointer;color:#ffd0e2;
  border:1px solid rgba(255,61,139,.4);background:rgba(214,31,105,.12)}
.nx-carac .pl button:hover:not(:disabled){background:rgba(214,31,105,.28);color:#fff}
.nx-carac .pl button:disabled{opacity:.3;cursor:not-allowed}
.nx-carac .barre{grid-column:1/4;height:5px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden}
.nx-carac .barre i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 70%,#000),var(--c))}
.nx-libres{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;
  background:radial-gradient(120% 200% at 0 0,rgba(214,31,105,.18),transparent 60%),linear-gradient(180deg,var(--carte1),var(--carte2));border:1px solid rgba(255,61,139,.3)}
.nx-libres .gros{font:800 30px/1 var(--title,Inter);color:#ff3d8b;font-variant-numeric:tabular-nums}
.nx-libres .sp{flex:1}
.nx-msg{font-size:13px;min-height:1.2em}
.nx-msg.ok{color:#ffb0cf}.nx-msg.err{color:#ff9db0}
.nx-bientot{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 9px;border-radius:999px;background:rgba(245,196,81,.12);color:#f5c451;border:1px solid rgba(245,196,81,.35)}

/* fenêtre de confirmation */
.nx-modal{position:fixed;inset:0;z-index:950;display:grid;place-items:center;padding:16px;background:rgba(3,2,4,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:nxEntre .18s ease}
.nx-modal[hidden]{display:none}
.nx-modal .boite{width:min(440px,100%);border-radius:20px;padding:20px;color:#f3eef0;
  background:linear-gradient(180deg,rgba(30,22,26,.94),rgba(10,9,11,.97)) padding-box,linear-gradient(135deg,rgba(255,45,75,.6),rgba(255,255,255,.06) 50%,rgba(255,61,139,.4)) border-box;
  border:1px solid transparent;box-shadow:0 40px 90px -30px #000}
.nx-modal h3{margin:0 0 6px;font-size:18px}
.nx-modal p{margin:0 0 14px;color:#c9bfc4;line-height:1.5}
.nx-modal .bts{display:flex;gap:8px;justify-content:flex-end}
.nx-modal .bts button{height:38px;padding:0 16px;border-radius:11px;font:700 14px/1 var(--ui);cursor:pointer}

/* Lancer : persos rangés par serveur */
.lz-serveur{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:8px 0 2px;padding:7px 10px;border-radius:12px;
  background:linear-gradient(90deg,rgba(224,25,58,.14),transparent 70%);border:1px solid rgba(255,45,75,.18)}
.lz-serveur:first-child{margin-top:0}
.lz-serveur b{font-family:var(--title);font-size:14px}
.lz-serveur small{color:var(--muted);font-size:12px}
.lz-serveur button{margin-left:auto}
.lz-multi{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.lz-multi span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12.5px;background:rgba(214,31,105,.12);border:1px solid rgba(255,61,139,.3);color:#ffd0e2}
.lz-multi span b{color:#fff}

/* Ajouter un compte : un pas à la fois */
.nx-pas{display:flex;align-items:center;gap:0;margin:0 0 16px;counter-reset:pas}
.nx-pas button{flex:1;display:flex;align-items:center;gap:10px;background:none;border:0;color:var(--muted);font:600 13.5px/1.2 var(--ui);cursor:pointer;padding:6px 4px;position:relative;text-align:left}
.nx-pas button + button::before{content:"";position:absolute;left:-12px;right:calc(100% - 4px);top:50%;height:2px;background:var(--line2)}
.nx-pas button i{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-style:normal;font-weight:800;border:2px solid var(--line2);color:var(--muted);background:rgba(0,0,0,.25)}
.nx-pas button.fait i{background:linear-gradient(135deg,#ff3d8b,#d61f69);border-color:transparent;color:#fff}
.nx-pas button.cours{color:#fff}
.nx-pas button.cours i{border-color:#ff2d4b;color:#fff;box-shadow:0 0 0 4px rgba(224,25,58,.18);background:rgba(224,25,58,.25)}
.nx-pas-nav{display:flex;gap:8px;align-items:center;margin-top:14px}
.nx-pas-nav .sp{flex:1}
.nx-charger.pas-a-pas .nx-etapes{display:block}
.nx-charger.pas-a-pas .nx-etape{max-width:640px}
.nx-recap{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);max-width:640px}
.nx-recap dt{color:var(--muted)}.nx-recap dd{margin:0;font-weight:600;word-break:break-all}
@media (max-width:640px){.nx-pas button span{display:none}.nx-pas button{justify-content:center}}

/* ajustements des nouveaux blocs */
.nx-fiche-h .btn,.nx-pas-nav .btn,.nx-modal .btn{flex:none !important;min-width:120px;padding:0 18px}
.nf-filtres select{flex:0 0 240px;width:auto !important;max-width:100%}
@media (max-width:640px){.nf-filtres select{flex:1 1 100%}.nx-fiche{padding:12px}.nx-caracs,.nx-succes-grille{grid-template-columns:1fr}}
body:not(.vitrine) .ak-bar{background:linear-gradient(90deg,rgba(224,25,58,.08),rgba(255,255,255,.02)) !important;border-color:var(--line) !important}
body:not(.vitrine) .el-start{display:flex;justify-content:flex-end;padding:0 24px}
body:not(.vitrine) .el-start .btn{flex:0 0 auto;min-width:200px}
@media (max-width:640px){body:not(.vitrine) .nx-lancer-hero .nx-illu{display:none}.nx-libres{flex-wrap:wrap}.nx-libres > div:first-child{min-width:110px}}

/* restes de l'ancien bleu nuit (pages seules, runs, créateur de scripts, métiers) : même verre que le reste */
body:not(.vitrine) .tdm-e,body:not(.vitrine) .tuile,body:not(.vitrine) .tuile-mt,body:not(.vitrine) .bloc,body:not(.vitrine) .cp-col,
body:not(.vitrine) .cp-ligne,body:not(.vitrine) .choix-cartes label,body:not(.vitrine) .cp-srv button{
  background:linear-gradient(180deg,var(--carte1),var(--carte2)) !important;border-color:var(--line) !important}
body:not(.vitrine) .tuile:hover,body:not(.vitrine) .tuile-mt:hover,body:not(.vitrine) .cp-ligne:hover{border-color:rgba(255,45,75,.38) !important;box-shadow:0 16px 36px -22px rgba(224,25,58,.85) !important}
body:not(.vitrine) .tuile[aria-pressed=true],body:not(.vitrine) .choix-cartes label:has(input:checked),body:not(.vitrine) .cp-ligne.choisi,body:not(.vitrine) .cp-ligne.ouvert{
  background:linear-gradient(180deg,rgba(214,31,105,.16),rgba(13,12,16,.8)) !important;box-shadow:0 0 0 1.5px #ff3d8b,0 14px 34px -20px rgba(214,31,105,.9) !important}
body:not(.vitrine) .demo-pill{background:rgba(14,10,12,.9) !important;border-color:rgba(255,45,75,.4) !important;color:#ffd3da !important}
body:not(.vitrine) .tdm-e .n{color:#ff7a8c !important}
/* =====================================================================
   Couche « Médaillon rubis » (04/11) : acier, lueurs discrètes, états sémantiques
   ===================================================================== */
body:not(.vitrine){--acier:#2a2a33;--acier-hi:#9aa0ab;--magenta:#ff3d8b;--vert:#3ddc97;
  --surf1:rgba(24,20,26,.66);--surf2:rgba(10,9,12,.82);--carte1:rgba(32,26,34,.55);--carte2:rgba(12,11,15,.78);
  --muted:#b0a6ac;--faint:#867b81}
/* fond : halo rubis derrière le contenu, médaillon en filigrane très léger (coin bas droit) */
body:not(.vitrine){
  background:
    radial-gradient(900px 560px at 92% -12%,rgba(224,25,58,.18),transparent 62%),
    radial-gradient(760px 520px at -8% 110%,rgba(214,31,105,.12),transparent 62%),
    radial-gradient(520px 520px at 100% 100%,rgba(122,12,28,.22),transparent 70%),
    linear-gradient(180deg,#0a080b,#050506) !important;background-attachment:fixed !important}
/* marque : logo rond (médaillon recadré) avec halo rouge */
body:not(.vitrine) .side .brand .logo,body:not(.vitrine) .top .brand img,body:not(.vitrine) .brand img{border-radius:50% !important;
  filter:drop-shadow(0 0 10px rgba(255,45,75,.45)) drop-shadow(0 6px 14px rgba(0,0,0,.7)) !important}
body:not(.vitrine) .side .brand i,body:not(.vitrine) #top .brand i{background-image:linear-gradient(90deg,#ff2d4b,#ff3d8b) !important}
body:not(.vitrine) .nx-hero h1 span,body:not(.vitrine) .hero h1 span,body:not(.vitrine) .grad{
  background-image:linear-gradient(90deg,#ffb3c0,#ff2d4b 45%,#ff3d8b) !important}
/* titres de section du menu en acier */
body:not(.vitrine) .nav-sep{color:#8c858c !important}
/* boutons principaux : dégradé rouge, reflet en haut, lueur */
body:not(.vitrine) .btn.go,body:not(.vitrine) .hbtn.go,body:not(.vitrine) .btn.primaire,body:not(.vitrine) button.primaire{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(0,0,0,.25),0 10px 28px -12px rgba(224,25,58,.95) !important}
body:not(.vitrine) .btn.go:hover:not(:disabled),body:not(.vitrine) .hbtn.go:hover:not(:disabled){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 14px 34px -10px rgba(255,45,75,1),0 0 0 3px rgba(255,61,139,.14) !important}
/* champs : focus rubis */
body:not(.vitrine) select:focus,body:not(.vitrine) input:focus,body:not(.vitrine) textarea:focus{border-color:rgba(255,45,75,.7) !important;box-shadow:0 0 0 3px rgba(224,25,58,.18) !important}
body:not(.vitrine) input:focus-visible,body:not(.vitrine) select:focus-visible,body:not(.vitrine) textarea:focus-visible,
body:not(.vitrine) button:focus-visible,body:not(.vitrine) a:focus-visible{outline:2px solid #ff7a8c !important}
body:not(.vitrine) input[type=checkbox],body:not(.vitrine) input[type=radio]{accent-color:#e0193a}
/* états qui doivent rester lisibles comme tels : en ligne / réussi en vert, erreur en rouge clair */
body:not(.vitrine) .dot.on{background:#3ddc97 !important;box-shadow:0 0 10px rgba(61,220,151,.9) !important}
body:not(.vitrine) .msg.ok,body:not(.vitrine) .nx-msg.ok{color:#8ef0c2 !important}
body:not(.vitrine) .msg.err,body:not(.vitrine) .nx-msg.err{color:#ff9aa8 !important}
body:not(.vitrine) .nx-ia-act.ok i{background:rgba(61,220,151,.22);color:#8ef0c2}
body:not(.vitrine) .meter.pods .bar i{background:linear-gradient(90deg,#6e0f3f,#ff3d8b) !important}
/* boutons « + » des caractéristiques : texte clair sur fond magenta sombre (contraste AA) */
.nx-carac .pl button{color:#ffe1ec}
/* cartes : léger reflet de verre en haut */
body:not(.vitrine) .box{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),var(--ombre),var(--lueur) !important}
body:not(.vitrine) .box::before{background:linear-gradient(90deg,transparent,rgba(255,45,75,.75),rgba(255,61,139,.55),transparent) !important}
/* bandeaux d'en-tête : braise rouge à gauche, magenta à droite */
body:not(.vitrine) .nx-hero,body:not(.vitrine) .hero{
  background:radial-gradient(120% 160% at 0% 0%,rgba(224,25,58,.26),transparent 52%) padding-box,
    radial-gradient(90% 140% at 100% 100%,rgba(214,31,105,.16),transparent 55%) padding-box,
    linear-gradient(120deg,rgba(26,16,20,.9),rgba(9,8,10,.94)) padding-box,var(--bord-lum) border-box !important}
@media (prefers-reduced-motion:reduce){body:not(.vitrine) .btn.go:hover{transform:none}}
/* icônes du menu : acier au repos, rubis pour l'écran ouvert (remplace les anciennes couleurs par écran) */
body:not(.vitrine) .side .nav button .ic{color:#9aa0ab !important}
body:not(.vitrine) .side .nav button:hover .ic{color:#ffc9d2 !important}
body:not(.vitrine) .side .nav button[aria-current=true] .ic{color:#ff7a8c !important}
body:not(.vitrine) .side .nav button[data-view="lanceur"] .ic{color:#ff3d8b !important}
/* accès rapide de l'Accueil : icônes dans la palette (rubis, magenta, acier) */
body:not(.vitrine) #nxTuiles .nx-tuile:nth-child(3n+1){--c:#ff5a6e !important}
body:not(.vitrine) #nxTuiles .nx-tuile:nth-child(3n+2){--c:#ff5a9c !important}
body:not(.vitrine) #nxTuiles .nx-tuile:nth-child(3n){--c:#c9ced6 !important}

/* section Archimonstres (04/11) */
body:not(.vitrine)[data-section="archi"]{--a1:#a855f7;--a2:#c084fc;--a3:#e0193a;--a-soft:rgba(192,132,252,.13);--a-line:rgba(192,132,252,.45);--accent:#a855f7;--accent-hi:#ecdcff}

/* 05/11 (mise en ligne) : téléphone — les images du bandeau ne flottent plus derrière le texte (coupées, floues) :
   petite rangée nette au-dessus du titre. Toutes les pages (panel complet et pages seules). */
/* un champ (menu, saisie) ne dépasse jamais son cadre : un menu prenait la largeur de sa plus longue option */
body:not(.vitrine) select, body:not(.vitrine) input, body:not(.vitrine) textarea{max-width:100%}
body:not(.vitrine) label.ch{max-width:100%;min-width:0}
@media (max-width:700px){
  body:not(.vitrine) .nx-illu{position:relative !important;inset:auto !important;transform:none !important;
    width:auto !important;height:auto !important;opacity:1 !important;display:flex;flex-wrap:wrap;gap:8px;
    margin:0 0 12px;pointer-events:none}
  body:not(.vitrine) .nx-illu img{position:static !important;width:44px !important;height:44px !important;
    object-fit:contain;animation:none !important;padding:4px;border-radius:12px;background:rgba(255,255,255,.05)}
  body:not(.vitrine) .nx-lancer-hero .nx-illu{display:none}
}
/* 05/11 (contrôle total) : fond de la page sous le calque fixe du thème (html et body étaient transparents : blanc du
   navigateur visible un instant quand on tire la page au-delà du bas sur téléphone) */
html{background-color:#060608}

/* 05/11 (contrôle total) : téléphone, panel complet. Le bouton de l'assistant se posait sur la barre du bas entre
   641 et 760 px et cachait la fin du contenu ; la barre du bas coupait son dernier onglet sans montrer qu'elle défile. */
@media (max-width:760px){
  body:not(.vitrine) .nx-ia-fab{right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));height:46px;padding:0 14px 0 10px}
  body:not(.vitrine) .nx-ia-fab span.t{display:none}
  body:not(.vitrine) .app{padding-bottom:150px !important}
  body:not(.vitrine) .side .nav{scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent);
            mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent)}
  body:not(.vitrine) .side .nav button{scroll-snap-align:start}
  /* rangées d'onglets du contenu (Comptes, Zones…) : à la ligne plutôt que coupées au bord de l'écran */
  body:not(.vitrine) .subtabs{flex-wrap:wrap !important;overflow:visible !important;row-gap:6px}
  body:not(.vitrine) .subtabs > *{flex:0 1 auto;white-space:nowrap}
}
