/* NEON RAINBOW — strato visual globale del Corso Hudolin (estende il DNA DEPENDEX). AA-friendly, rispetta prefers-reduced-motion. */
:root{--nx-rainbow:linear-gradient(90deg,#ff3344,#ff7700,#ffd700,#00ff77,#00d4ff,#3a55ff,#b829ff);--nx-glow-cyan:0 0 0 1px rgba(0,212,255,.35),0 10px 30px rgba(0,0,0,.45),0 0 26px rgba(0,212,255,.22);--nx-glow-gold:0 0 0 1px rgba(255,215,0,.4),0 10px 30px rgba(0,0,0,.45),0 0 26px rgba(255,215,0,.22)}
body.site-dependex{background:radial-gradient(1200px 600px at 10% -10%,rgba(0,212,255,.08),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(184,41,255,.07),transparent 60%),radial-gradient(900px 600px at 50% 110%,rgba(255,215,0,.05),transparent 60%),var(--bg,#070709);background-attachment:fixed}
[data-theme="light"] body.site-dependex{background:radial-gradient(1200px 600px at 10% -10%,rgba(0,119,255,.07),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(184,41,255,.05),transparent 60%),var(--bg)}
.topbar{position:sticky}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--nx-rainbow);background-size:200% 100%;box-shadow:0 0 12px rgba(0,212,255,.55),0 0 22px rgba(184,41,255,.3);animation:nxFlow 12s linear infinite}
@keyframes nxFlow{to{background-position:200% 0}}

/* Banner immagine epica */
.pg-hero{position:relative;height:clamp(190px,30vw,360px);overflow:hidden;isolation:isolate}
.pg-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;transform:scale(1.04);animation:nxKen 24s ease-in-out infinite alternate}
@keyframes nxKen{to{transform:scale(1.12) translateY(-2%)}}
.pg-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,9,.15) 0%,rgba(7,7,9,.45) 55%,var(--bg,#070709) 100%),radial-gradient(ellipse at 15% 100%,rgba(0,212,255,.25),transparent 60%)}
.pg-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--nx-rainbow);opacity:.85;box-shadow:0 0 18px rgba(0,212,255,.6)}
.pg-hero-chip{position:absolute;right:max(1rem,calc((100vw - 1120px)/2));top:1rem;padding:.4rem .85rem;border-radius:999px;font-weight:800;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(6,7,10,.7);border:1px solid rgba(255,215,0,.65);box-shadow:0 0 18px rgba(255,215,0,.35);backdrop-filter:blur(6px)}
[data-theme="light"] .pg-hero-shade{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.35) 60%,var(--bg) 100%)}
.has-pghero main.page{position:relative;z-index:1;margin-top:clamp(-150px,-11vw,-80px)}
.has-pghero main.page > .wrap > .kicker:first-child,.has-pghero main.page > .wrap > h1:first-of-type{text-shadow:0 2px 14px rgba(0,0,0,.85)}
.has-pghero main.page > .wrap > .auth{margin-top:0}

/* Titoli con firma rainbow */
main.page > .wrap h1:not(.lp-h2)::after,.books-page > h1::after{content:"";display:block;width:84px;height:4px;margin-top:.55rem;border-radius:4px;background:var(--nx-rainbow);box-shadow:0 0 14px rgba(0,212,255,.55)}
.between > h1::after{display:none !important}
.kicker{text-shadow:0 0 12px rgba(255,215,0,.35)}

/* Card con hover glow */
.card,.unit-item,.quiz-q,.viewer,.toc,.book-card,.badge-card,.note,.auth{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.card:hover,.book-card:hover,.badge-card:hover,.note:hover{border-color:rgba(0,212,255,.5);box-shadow:var(--nx-glow-cyan)}
.auth,.verify.card{position:relative;background:linear-gradient(var(--card),var(--card)) padding-box,var(--nx-rainbow) border-box;border:1.5px solid transparent;box-shadow:0 20px 50px rgba(0,0,0,.55),0 0 34px rgba(0,212,255,.18)}
.auth h1::after{margin-left:0}

/* Unità nella dashboard: miniatura epica + glow */
.unit-item{position:relative}
.unit-item:not(.locked):hover{transform:translateY(-3px);border-color:rgba(0,212,255,.55);box-shadow:var(--nx-glow-cyan)}
.unit-item[data-ukey] .unit-h{position:relative;padding-left:calc(1.15rem + 132px);min-height:96px}
.unit-item[data-ukey] .unit-h::before{content:"";position:absolute;left:.8rem;top:.8rem;bottom:.8rem;width:120px;border-radius:12px;background:#0c0f18 center/cover no-repeat;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 6px 16px rgba(0,0,0,.5)}
.unit-item.locked[data-ukey] .unit-h::before{filter:grayscale(.85) brightness(.6)}
.unit-item[data-ukey="M1"] .unit-h::before{background-image:url(../img/units/M1-480.webp)}
.unit-item[data-ukey="M2"] .unit-h::before{background-image:url(../img/units/M2-480.webp)}
.unit-item[data-ukey="M3"] .unit-h::before{background-image:url(../img/units/M3-480.webp)}
.unit-item[data-ukey="M4"] .unit-h::before{background-image:url(../img/units/M4-480.webp)}
.unit-item[data-ukey="M5"] .unit-h::before{background-image:url(../img/units/M5-480.webp)}
.unit-item[data-ukey="M6"] .unit-h::before{background-image:url(../img/units/M6-480.webp)}
.unit-item[data-ukey="TK1"] .unit-h::before{background-image:url(../img/units/TK1-480.webp)}
.unit-item[data-ukey="TK2"] .unit-h::before{background-image:url(../img/units/TK2-480.webp)}
.unit-item[data-ukey="TK3"] .unit-h::before{background-image:url(../img/units/TK3-480.webp)}
.unit-item[data-ukey="TK4"] .unit-h::before{background-image:url(../img/units/TK4-480.webp)}
.unit-item[data-ukey="TK5"] .unit-h::before{background-image:url(../img/units/TK5-480.webp)}
@media (max-width:560px){.unit-item[data-ukey] .unit-h{padding-left:1.15rem;padding-top:calc(.8rem + 118px)}.unit-item[data-ukey] .unit-h::before{left:.8rem;right:.8rem;top:.8rem;bottom:auto;width:auto;height:106px}}

/* Progress bar neon */
.progress{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.progress > span{position:relative;background:var(--nx-rainbow) !important;background-size:200% 100% !important;box-shadow:0 0 12px rgba(0,212,255,.6),0 0 22px rgba(184,41,255,.35);animation:nxFlow 6s linear infinite;overflow:hidden}
.progress > span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-100%);animation:nxShine 2.8s ease-in-out infinite}
@keyframes nxShine{to{transform:translateX(100%)}}
.pct{background:var(--nx-rainbow);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:900;font-size:1.6rem}

/* Pulsanti luminosi */
.btn{transition:transform .18s ease,box-shadow .2s ease,filter .2s ease}
.btn:hover{filter:brightness(1.08)}
.btn-gold,.btn.btn-gold{background:linear-gradient(135deg,#ffe866 0%,#ffd700 45%,#ff9a1f 100%) !important;color:#14110a !important;text-shadow:none !important;border:1px solid rgba(255,232,102,.9) !important;box-shadow:0 8px 24px rgba(255,170,0,.32),0 0 22px rgba(255,215,0,.22) !important}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,170,0,.48),0 0 32px rgba(255,215,0,.35) !important}
.btn-rainbow-outline{background:linear-gradient(rgba(14,18,28,.92),rgba(14,18,28,.92)) padding-box,var(--nx-rainbow) border-box !important;border:1.5px solid transparent !important}
.btn-rainbow-outline:hover{box-shadow:0 0 18px rgba(0,212,255,.4),0 0 30px rgba(184,41,255,.25) !important}

/* Form: focus luminoso */
input:not([type=checkbox]):not([type=radio]):focus,textarea:focus,select:focus{outline:none;border-color:var(--teal-2) !important;box-shadow:0 0 0 3px rgba(0,212,255,.25),0 0 18px rgba(0,212,255,.25) !important}

/* Viewer slide: cornice neon */
.viewer{border-color:rgba(0,212,255,.35);box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 28px rgba(0,212,255,.14)}
.viewer-stage{box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 30px rgba(0,212,255,.18)}
.viewer-nav{transition:transform .15s,box-shadow .2s}
.viewer-nav:hover{transform:scale(1.08);box-shadow:0 0 18px rgba(255,215,0,.5)}
.viewer-thumbs button.is-on{box-shadow:0 0 0 2px var(--gold),0 0 16px rgba(255,215,0,.5)}
.viewer-anchor{border-left:3px solid transparent;border-image:var(--nx-rainbow) 1}

/* Quiz */
.quiz-q{border-color:rgba(0,212,255,.22)}
.quiz-q:focus-within{border-color:rgba(0,212,255,.6);box-shadow:var(--nx-glow-cyan)}
.opt:has(input:checked){box-shadow:0 0 0 1px var(--teal-2),0 0 16px rgba(0,212,255,.3)}
.result-ok{border-color:rgba(68,255,153,.55) !important;box-shadow:0 0 18px rgba(0,255,119,.14)}
.result-ko{border-color:rgba(255,138,144,.5) !important}
.celebrate{box-shadow:0 0 28px rgba(255,215,0,.18);animation:nxPop .6s ease both}
@keyframes nxPop{from{transform:scale(.97);opacity:0}to{transform:none;opacity:1}}

/* Badge e indice */
.badge{box-shadow:0 0 12px rgba(0,212,255,.25)}
.badge.toolkit{box-shadow:0 0 12px rgba(255,215,0,.3)}
.toc a.is-on{box-shadow:inset 3px 0 0 var(--teal-2)}
.book-cover{transition:transform .4s ease,box-shadow .4s ease}
.book-card:hover .book-cover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 18px 34px rgba(0,0,0,.55),0 0 22px rgba(255,215,0,.2)}
.site-footer-rainbow{box-shadow:0 0 16px rgba(0,212,255,.5)}

@media (prefers-reduced-motion:reduce){
  .topbar::after,.progress > span,.progress > span::after,.pg-hero img,.celebrate{animation:none !important}
  .card,.unit-item,.quiz-q,.viewer,.btn,.book-cover{transition:none !important}
  .unit-item:not(.locked):hover,.btn-gold:hover{transform:none}
}

/* Correzioni di coerenza */
@media (max-width:859px){.header-actions .head-cta{display:none !important}}
.verify h1::after{margin-left:auto !important;margin-right:auto !important}
.field input:not([type]),input[type=url],input[type=tel]{width:100%;font:inherit;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--line-2);background:var(--input-bg);color:var(--ink)}
@media (max-width:480px){.topbar .brand-text small{display:none}.topbar .brand-text b{white-space:nowrap;font-size:.92rem}}
