/* ============================================================================
   NEODIGITA — assets communs (05/09/2026) — deux mondes opposés :
   ÉDEN (clair, nature + technologie, défaut) ◐ NÉON (cyberpunk, nuit profonde)
   + boutons/commandes dynamiques, transitions de page, curseur, katakana.
   ============================================================================ */

/* ---------- Palette NÉON (cyberpunk) : monde entier OU lentille "data-look" ---------- */
html[data-world="cyber"],[data-look="cyber"]{
  --fond:#0B1026; --fond2:#101736; --ciel:#0E1A3A; --aube:#160F33;
  --papier:#141B3A; --panneau:#141B3A; --panneau2:#1B2450; --nuit:#0B1026;
  --trait:#2C3B7A; --trait2:#3A4E92;
  --encre:#F5F8FF; --encre2:#CBD5F2; --encre3:#A3B0DA;
  --feuille:#34D399; --feuille-t:#5CF0BC;
  --cyan:#22D3EE; --cyan-t:#4DE3F8;
  --solaire:#F5C518; --solaire-t:#FFD95A;
  --orchidee:#E14ECF; --magenta:#E14ECF; --magenta-t:#F78BE6; --orchidee-t:#F78BE6;
}
html[data-world="cyber"]{color-scheme:dark}
/* ---------- Palette ÉDEN explicite (lentille éden dans le monde néon) ---------- */
[data-look="eden"]{
  --fond:#F4FBF7; --fond2:#E9F5EF; --ciel:#E4F3FF; --aube:#F1EBFF;
  --papier:#FFFFFF; --panneau:#FFFFFF; --panneau2:#EEF7F2; --nuit:#0D1F2D;
  --trait:#CBDFD6; --trait2:#B7D3C8;
  --encre:#0D1F2D; --encre2:#33506A; --encre3:#5E7797;
  --feuille:#34D399; --feuille-t:#15804C;
  --cyan:#22D3EE; --cyan-t:#0B7A8F;
  --solaire:#F5C518; --solaire-t:#8F6400;
  --orchidee:#E14ECF; --magenta:#E14ECF; --magenta-t:#A21CAF; --orchidee-t:#A21CAF;
}

/* ---------- Fond vivant : aurore (éden) / grille néon + scanlines (néon) ---------- */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#F7FCFA 0%,#EEF8FF 50%,#F3F0FF 100%)}
.aurora i{position:absolute;width:70vmax;height:70vmax;border-radius:50%;will-change:transform;animation:derive 32s ease-in-out infinite alternate}
.aurora i:nth-child(1){left:-20vmax;top:-25vmax;background:radial-gradient(circle,rgba(52,211,153,.34),rgba(52,211,153,0) 62%)}
.aurora i:nth-child(2){right:-25vmax;top:-15vmax;background:radial-gradient(circle,rgba(34,211,238,.30),rgba(34,211,238,0) 62%);animation-duration:38s;animation-delay:-9s}
.aurora i:nth-child(3){left:15vmax;bottom:-35vmax;background:radial-gradient(circle,rgba(196,181,253,.40),rgba(196,181,253,0) 62%);animation-duration:44s;animation-delay:-20s}
.aurora i:nth-child(4){right:5vmax;bottom:-30vmax;background:radial-gradient(circle,rgba(245,197,24,.24),rgba(245,197,24,0) 60%);animation-duration:50s;animation-delay:-30s}
.aurora::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(13,31,45,.075) 1px,transparent 1.2px);background-size:28px 28px}
@keyframes derive{0%{transform:translate(0,0) scale(1)}50%{transform:translate(8vmax,6vmax) scale(1.12)}100%{transform:translate(-6vmax,10vmax) scale(.95)}}
html[data-world="cyber"] .aurora{background:linear-gradient(180deg,#0B1026 0%,#0E1436 55%,#12102E 100%)}
html[data-world="cyber"] .aurora i:nth-child(1){background:radial-gradient(circle,rgba(225,78,207,.22),rgba(225,78,207,0) 62%)}
html[data-world="cyber"] .aurora i:nth-child(2){background:radial-gradient(circle,rgba(34,211,238,.20),rgba(34,211,238,0) 62%)}
html[data-world="cyber"] .aurora i:nth-child(3){background:radial-gradient(circle,rgba(52,211,153,.16),rgba(52,211,153,0) 62%)}
html[data-world="cyber"] .aurora i:nth-child(4){background:radial-gradient(circle,rgba(245,197,24,.12),rgba(245,197,24,0) 60%)}
html[data-world="cyber"] .aurora::after{background-image:linear-gradient(rgba(34,211,238,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.09) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.35));-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.35))}
html[data-world="cyber"] body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.05;background:repeating-linear-gradient(0deg,transparent 0 2px,#000 2px 3px)}
html[data-world="cyber"] body{background:var(--fond)!important;color:var(--encre)}
html[data-world="cyber"] ::selection{background:var(--magenta);color:#fff}

/* ---------- Barre de progression de lecture ---------- */
#neo-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:10000;background:linear-gradient(90deg,var(--feuille),var(--cyan),var(--magenta));box-shadow:0 0 12px rgba(34,211,238,.6);transition:width .12s linear}

/* ---------- NAV commune (sous-pages : injectée ; index : classe ajoutée) ---------- */
nav.neo-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(13,31,45,.08);box-shadow:0 8px 30px rgba(13,31,45,.06)}
html[data-world="cyber"] nav.neo-nav{background:rgba(11,16,38,.82);border-bottom-color:rgba(34,211,238,.22);box-shadow:0 8px 30px rgba(0,0,0,.35),0 1px 0 rgba(34,211,238,.25)}
nav.neo-nav .nav-in{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1120px;margin:0 auto;gap:14px}
nav.neo-nav .logo{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:.06em;color:var(--encre);text-decoration:none;white-space:nowrap}
nav.neo-nav .logo b{color:var(--cyan-t)}
nav.neo-nav .nav-links{display:flex;gap:22px;align-items:center}
nav.neo-nav .nav-links a{font-size:14.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--encre);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;position:relative;white-space:nowrap}
nav.neo-nav .nav-links a:hover,nav.neo-nav .nav-links a:focus-visible{color:var(--cyan-t);border-bottom-color:var(--feuille)}
nav.neo-nav .nav-links a.btn{border-bottom:0}
nav.neo-nav .nav-links a[aria-current="page"]{color:var(--cyan-t);border-bottom-color:var(--cyan-t)}
/* katakana qui s'allume au survol */
nav.neo-nav .nav-links a[data-jp]:not(.btn)::before{content:attr(data-jp);position:absolute;left:0;top:-13px;font-size:9.5px;letter-spacing:.22em;color:var(--feuille-t);opacity:0;transform:translateY(5px);transition:opacity .22s,transform .22s;pointer-events:none;white-space:nowrap}
nav.neo-nav .nav-links a[data-jp]:not(.btn):hover::before{opacity:1;transform:none}
html[data-world="cyber"] nav.neo-nav .nav-links a[data-jp]:not(.btn)::before{color:var(--magenta-t);text-shadow:0 0 8px rgba(225,78,207,.8)}
nav.neo-nav .burger{display:none;background:rgba(255,255,255,.85);border:1px solid var(--trait);border-radius:10px;width:46px;height:40px;padding:9px 11px;cursor:pointer;flex-direction:column;justify-content:space-between}
html[data-world="cyber"] nav.neo-nav .burger{background:rgba(20,27,58,.9)}
nav.neo-nav .burger span{display:block;height:2px;background:var(--cyan-t);border-radius:2px;transition:transform .2s,opacity .2s}
nav.neo-nav.open .burger span:nth-child(1){transform:translateY(9px) rotate(45deg)}
nav.neo-nav.open .burger span:nth-child(2){opacity:0}
nav.neo-nav.open .burger span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
@media(max-width:1100px){
  nav.neo-nav .burger{display:flex}
  nav.neo-nav .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--trait);padding:6px 24px 18px;box-shadow:0 20px 40px rgba(13,31,45,.12)}
  html[data-world="cyber"] nav.neo-nav .nav-links{background:rgba(11,16,38,.98)}
  nav.neo-nav.open .nav-links{display:flex}
  nav.neo-nav .nav-links a{display:block;padding:14px 0;border-bottom:1px solid var(--trait);font-size:16px}
  nav.neo-nav .nav-links a.btn{margin-top:14px;text-align:center;border-bottom:0}
  nav.neo-nav .nav-links a[data-jp]:not(.btn)::before{display:none}
  nav.neo-nav .world-switch{margin:12px 0 0}
}
body.neo-sub header.hero{padding-top:132px}
body.neo-sub main.wrap,body.neo-sub .wrap.page{scroll-margin-top:90px}

/* ---------- Interrupteur de monde : ÉDEN ◐ NÉON ---------- */
.world-switch{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--trait2);background:rgba(255,255,255,.65);border-radius:999px;padding:4px 6px;cursor:pointer;font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--encre2);position:relative;transition:box-shadow .3s,border-color .3s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.world-switch:hover{box-shadow:0 0 0 3px rgba(34,211,238,.18)}
.world-switch .ws-l{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:999px;transition:color .3s,opacity .3s;opacity:.55}
.world-switch .ws-l i{font-style:normal;font-size:12px}
.world-switch .ws-knob{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--feuille),var(--cyan));box-shadow:0 0 10px rgba(52,211,153,.6);transition:transform .35s cubic-bezier(.68,-.3,.32,1.3),background .3s}
html:not([data-world="cyber"]) .world-switch .ws-l.eden{opacity:1;color:var(--feuille-t)}
html[data-world="cyber"] .world-switch{background:rgba(20,27,58,.7);border-color:var(--magenta)}
html[data-world="cyber"] .world-switch .ws-l.cyber{opacity:1;color:var(--magenta-t);text-shadow:0 0 8px rgba(225,78,207,.7)}
html[data-world="cyber"] .world-switch .ws-knob{background:linear-gradient(135deg,var(--magenta),var(--cyan));box-shadow:0 0 12px rgba(225,78,207,.8)}
.world-switch .ws-knob{order:0}.world-switch .ws-l.eden{order:-1}.world-switch .ws-l.cyber{order:1}

/* ---------- Transition circulaire (View Transitions API) ---------- */
::view-transition-old(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){animation:neo-circle .8s cubic-bezier(.4,0,.2,1);mix-blend-mode:normal}
@keyframes neo-circle{from{clip-path:circle(0px at var(--vt-x,50%) var(--vt-y,50%))}to{clip-path:circle(var(--vt-r,150vmax) at var(--vt-x,50%) var(--vt-y,50%))}}

/* ---------- Boutons : lumière balayante, ondes, aimantation, katakana ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;will-change:transform;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .3s,color .3s}
.btn::before{content:"";position:absolute;top:-10%;left:-70%;width:45%;height:120%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-22deg);transition:left .55s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:1}
.btn:hover::before,.btn:focus-visible::before{left:135%}
.btn .rp{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:neo-rp .65s ease-out forwards;pointer-events:none;z-index:2}
@keyframes neo-rp{to{transform:scale(3.2);opacity:0}}
.btn>span.lbl{position:relative;z-index:3;display:inline-block}
html[data-world="cyber"] .btn-cyan{color:#031A1E!important;box-shadow:0 0 16px rgba(34,211,238,.6),0 0 42px rgba(52,211,153,.28);animation:neo-glow 2.6s ease-in-out infinite}
html[data-world="cyber"] .btn-ghost{border-color:var(--magenta);color:var(--magenta-t)!important;background:rgba(20,27,58,.65);box-shadow:inset 0 0 14px rgba(225,78,207,.16),0 0 14px rgba(225,78,207,.28)}
html[data-world="cyber"] .btn-ghost:hover{background:rgba(225,78,207,.16)}
@keyframes neo-glow{0%,100%{box-shadow:0 0 14px rgba(34,211,238,.5),0 0 36px rgba(52,211,153,.22)}50%{box-shadow:0 0 24px rgba(34,211,238,.85),0 0 60px rgba(52,211,153,.4)}}
/* texte "décodé" (scramble katakana) */
.neo-scr{font-variant-numeric:tabular-nums}

/* ---------- Cartes : inclinaison 3D + reflet ---------- */
.tilt{transform-style:preserve-3d;transition:transform .16s ease-out,box-shadow .2s;position:relative}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.28),transparent 55%);opacity:0;transition:opacity .2s}
html[data-world="cyber"] .tilt::after{background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(34,211,238,.22),transparent 55%)}
.tilt:hover::after{opacity:1}

/* ---------- Curseur (pointeur fin uniquement) ---------- */
#neo-cursor{position:fixed;top:0;left:0;width:30px;height:30px;border:2px solid var(--cyan-t);border-radius:50%;pointer-events:none;z-index:10001;transform:translate(-50%,-50%);transition:width .2s,height .2s,border-color .2s,opacity .3s,background .2s;opacity:0;mix-blend-mode:multiply}
html[data-world="cyber"] #neo-cursor{mix-blend-mode:screen;box-shadow:0 0 12px rgba(34,211,238,.6)}
#neo-cursor.on{opacity:.9}
#neo-cursor.hot{width:54px;height:54px;border-color:var(--magenta);background:rgba(225,78,207,.08)}
@media(pointer:coarse){#neo-cursor{display:none}}

/* ---------- Transition de page : rideau de barres + signature ---------- */
#neo-warp{position:fixed;inset:0;z-index:9999;pointer-events:none;visibility:hidden}
#neo-warp .bars{position:absolute;inset:0;display:flex}
#neo-warp .bars i{flex:1;background:linear-gradient(180deg,var(--feuille),var(--cyan));transform:scaleY(0);transform-origin:bottom;transition:transform .42s cubic-bezier(.76,0,.24,1)}
html[data-world="cyber"] #neo-warp .bars i{background:linear-gradient(180deg,var(--magenta),#1B2450 55%,var(--cyan))}
#neo-warp .bars i:nth-child(2){transition-delay:.05s}#neo-warp .bars i:nth-child(3){transition-delay:.1s}#neo-warp .bars i:nth-child(4){transition-delay:.15s}#neo-warp .bars i:nth-child(5){transition-delay:.2s}#neo-warp .bars i:nth-child(6){transition-delay:.25s}
#neo-warp .sig{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .25s .22s;color:#fff;font-family:var(--display,'Chakra Petch',sans-serif);text-shadow:0 2px 24px rgba(0,0,0,.35)}
#neo-warp .sig .jp{font-size:clamp(30px,6vw,66px);letter-spacing:.32em;font-weight:700}
#neo-warp .sig .lat{font-size:13px;letter-spacing:.55em;margin-top:10px;opacity:.9}
#neo-warp .sig .ln{width:min(50vw,320px);height:2px;margin-top:18px;background:rgba(255,255,255,.9);transform:scaleX(0);transition:transform .45s .3s cubic-bezier(.2,.8,.2,1)}
html.neo-leaving #neo-warp{visibility:visible;pointer-events:all}
html.neo-leaving #neo-warp .bars i{transform:scaleY(1)}
html.neo-leaving #neo-warp .sig{opacity:1}
html.neo-leaving #neo-warp .sig .ln{transform:scaleX(1)}
html.neo-entering #neo-warp{visibility:visible}
html.neo-entering #neo-warp .bars i{transform:scaleY(1);transform-origin:top;transition:none}
html.neo-entering #neo-warp .sig{opacity:1;transition:none}
html.neo-entering #neo-warp .sig .ln{transform:scaleX(1);transition:none}
html.neo-entering.neo-go #neo-warp .bars i{transform:scaleY(0);transition:transform .5s cubic-bezier(.76,0,.24,1)}
html.neo-entering.neo-go #neo-warp .bars i:nth-child(2){transition-delay:.04s}html.neo-entering.neo-go #neo-warp .bars i:nth-child(3){transition-delay:.08s}html.neo-entering.neo-go #neo-warp .bars i:nth-child(4){transition-delay:.12s}html.neo-entering.neo-go #neo-warp .bars i:nth-child(5){transition-delay:.16s}html.neo-entering.neo-go #neo-warp .bars i:nth-child(6){transition-delay:.2s}
html.neo-entering.neo-go #neo-warp .sig{opacity:0;transition:opacity .18s}
html.neo-entering.neo-go #neo-warp .sig .ln{transform:scaleX(0);transition:transform .2s}

/* ---------- Lentille "l'autre monde" dans le héro (Ange & Démon) ---------- */
.hero{position:relative}
.hero-alt{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;align-items:center;clip-path:circle(0px at 50% 50%);transition:clip-path .08s linear;overflow:hidden}
.hero-alt .alt-bg{position:absolute;inset:0}
[data-look="cyber"] .alt-bg{background:linear-gradient(180deg,#0B1026,#12102E);background-image:linear-gradient(rgba(34,211,238,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.12) 1px,transparent 1px),radial-gradient(circle at var(--lx,50%) var(--ly,50%),rgba(225,78,207,.28),transparent 40%),linear-gradient(180deg,#0B1026,#12102E);background-size:48px 48px,48px 48px,auto,auto}
[data-look="eden"] .alt-bg{background:radial-gradient(circle at var(--lx,50%) var(--ly,50%),rgba(52,211,153,.35),transparent 45%),linear-gradient(180deg,#F7FCFA,#EEF8FF 50%,#F3F0FF)}
.hero-alt::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--lx,50%) var(--ly,50%),transparent calc(var(--lr,170px) - 6px),var(--cyan) calc(var(--lr,170px) - 4px),var(--cyan) calc(var(--lr,170px) - 2px),transparent var(--lr,170px))}
[data-look="cyber"].hero-alt::after{background:radial-gradient(circle at var(--lx,50%) var(--ly,50%),transparent calc(var(--lr,170px) - 6px),var(--magenta) calc(var(--lr,170px) - 4px),var(--magenta) calc(var(--lr,170px) - 2px),transparent var(--lr,170px))}
.hero-alt .hero-in{position:relative}
.hero-hint{position:absolute;right:24px;bottom:22px;z-index:4;font-family:var(--display);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--encre2);opacity:.85;background:rgba(255,255,255,.55);border:1px solid var(--trait);border-radius:999px;padding:8px 14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}
html[data-world="cyber"] .hero-hint{background:rgba(20,27,58,.6)}
@media(pointer:coarse),(max-width:760px){.hero-alt,.hero-hint{display:none}}

/* ---------- Looks NÉON des composants de l'index (et de la lentille) ---------- */
html[data-world="cyber"] .hero,[data-look="cyber"] .hero{background:linear-gradient(180deg,rgba(11,16,38,.2),rgba(14,20,54,.25) 60%,rgba(11,16,38,.95))}
html[data-world="cyber"] .hero-panel,[data-look="cyber"] .hero-panel{background:rgba(14,20,48,.74);border:1px solid rgba(34,211,238,.35);border-left:4px solid var(--magenta);box-shadow:0 0 0 1px rgba(225,78,207,.18),0 30px 80px rgba(0,0,0,.45),inset 0 0 80px rgba(34,211,238,.06)}
[data-look="eden"] .hero-panel{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.95);border-left:4px solid var(--feuille);box-shadow:0 0 0 1px rgba(52,211,153,.18),0 30px 80px rgba(13,31,45,.12),inset 0 0 80px rgba(255,255,255,.55)}
html[data-world="cyber"] h1.glitch,[data-look="cyber"] h1.glitch{text-shadow:0 0 18px rgba(34,211,238,.35),0 0 40px rgba(225,78,207,.25)}
[data-look="eden"] h1.glitch{text-shadow:none}
html[data-world="cyber"] .ticker{background:rgba(11,16,38,.7);border-color:var(--trait)}
html[data-world="cyber"] .fait,html[data-world="cyber"] .disc,html[data-world="cyber"] .palier,html[data-world="cyber"] .peda,html[data-world="cyber"] .couche,html[data-world="cyber"] .ia-col,html[data-world="cyber"] .auto,html[data-world="cyber"] .prog,html[data-world="cyber"] .card{background:rgba(20,27,58,.86);border:1px solid rgba(58,78,146,.75);box-shadow:0 1px 0 rgba(34,211,238,.08),0 12px 34px rgba(0,0,0,.35)}
html[data-world="cyber"] .disc:hover,html[data-world="cyber"] .peda:hover,html[data-world="cyber"] .card:hover,html[data-world="cyber"] .prog:hover{box-shadow:0 0 0 1px rgba(34,211,238,.45),0 18px 44px rgba(34,211,238,.18)}
html[data-world="cyber"] .promethee{background:linear-gradient(180deg,rgba(22,15,51,0),rgba(22,15,51,.9) 28%,rgba(14,26,58,.9) 72%,rgba(11,16,38,0))}
html[data-world="cyber"] .ia-sec{background:linear-gradient(180deg,rgba(14,26,58,0),rgba(14,26,58,.92) 28%,rgba(16,23,54,.92) 72%,rgba(11,16,38,0))}
html[data-world="cyber"] .final{background:linear-gradient(180deg,rgba(11,16,38,0),rgba(16,23,54,.92) 25%,rgba(22,15,51,.92) 75%,rgba(11,16,38,0))}
html[data-world="cyber"] .final::before{background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 6deg,rgba(225,78,207,.10) 6deg 7deg)}
html[data-world="cyber"] .case,html[data-world="cyber"] .case::before{background:#141B3A;color:var(--encre)}
html[data-world="cyber"] .case{border-color:var(--cyan);box-shadow:6px 6px 0 rgba(34,211,238,.35)}
html[data-world="cyber"] .case.flash{background:linear-gradient(135deg,#141B3A 60%,rgba(245,197,24,.18))}
html[data-world="cyber"] .tag:hover{background:var(--panneau2)}
html[data-world="cyber"] footer{background:rgba(11,16,38,.85);border-top-color:var(--trait)}
html[data-world="cyber"] .ngal figure{border-color:var(--trait2)}
html[data-world="cyber"] .btn-ghost{background:rgba(20,27,58,.65)}
html[data-world="cyber"] .hero-badges span b{color:var(--solaire)}
html[data-world="cyber"] .kata{color:var(--cyan-t)}
html[data-world="cyber"] .tagline b{color:var(--feuille-t)}
/* sous-pages (gabarit fiches) en néon */
html[data-world="cyber"] body.neo-sub{background:var(--fond)!important}
html[data-world="cyber"] body.neo-sub .lead{color:var(--encre2)}
html[data-world="cyber"] body.neo-sub nav.fil,html[data-world="cyber"] body.neo-sub footer,html[data-world="cyber"] body.neo-sub .stat a{color:var(--encre3)}
html[data-world="cyber"] body.neo-sub .stat,html[data-world="cyber"] body.neo-sub .mesh{background:rgba(20,27,58,.88);border-color:var(--trait);box-shadow:0 10px 30px rgba(0,0,0,.35)}
html[data-world="cyber"] body.neo-sub header.hero{background:radial-gradient(1200px 400px at 20% -10%,rgba(225,78,207,.22),transparent),radial-gradient(1000px 400px at 90% 0%,rgba(34,211,238,.18),transparent)}
html[data-world="cyber"] body.neo-sub .tagd{background:rgba(34,211,238,.14)}
html[data-world="cyber"] body.neo-sub h1,html[data-world="cyber"] body.neo-sub h2{color:var(--encre)}
html[data-world="cyber"] body.neo-sub .blk{border-top-color:var(--trait)}

/* ---------- Révélations sur sous-pages ---------- */
body.neo-sub .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
body.neo-sub .reveal.on{opacity:1;transform:none}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  .aurora i,.btn-cyan,#neo-warp .bars i,.world-switch .ws-knob{animation:none!important;transition:none!important}
  #neo-warp{display:none}
  .hero-alt,.hero-hint,#neo-cursor{display:none}
  .tilt{transform:none!important}
  ::view-transition-new(root){animation:none}
  body.neo-sub .reveal{opacity:1;transform:none}
}
