
/* NonSoloPronostici V2 visual layer — additive, no business logic */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 15% 10%,rgba(245,215,110,.055),transparent 24%),radial-gradient(circle at 85% 22%,rgba(90,120,255,.045),transparent 26%)}
header{position:relative;overflow:hidden}
header::after{content:"";position:absolute;inset:auto -20% 0;height:1px;background:linear-gradient(90deg,transparent,rgba(245,215,110,.85),transparent);animation:nspHeaderSweep 7s ease-in-out infinite}
@keyframes nspHeaderSweep{0%,100%{transform:translateX(-20%);opacity:.35}50%{transform:translateX(20%);opacity:1}}
.nsp-hero{max-width:980px;margin:0 auto 34px;text-align:center;padding:26px 22px;border:1px solid rgba(245,215,110,.10);border-radius:20px;background:linear-gradient(180deg,rgba(15,22,43,.86),rgba(10,15,31,.54));box-shadow:0 18px 55px rgba(0,0,0,.24)}
.nsp-hero h1{font-size:clamp(30px,4.2vw,54px);line-height:1.08;margin:8px auto 14px;max-width:900px;color:var(--gold,#f5d76e)}
.nsp-hero p,.nsp-section-head p{max-width:780px;margin:0 auto;color:var(--text-muted,#9aa3c2);line-height:1.75}
.nsp-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--gold-soft,#f7e7a3)}
.nsp-seo-section,.nsp-faq{margin-top:28px;padding:28px;border:1px solid rgba(245,215,110,.10);border-radius:20px;background:rgba(15,22,43,.72);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.nsp-section-head{text-align:center;margin-bottom:22px}.nsp-section-head h2{color:var(--gold,#f5d76e);font-size:clamp(24px,3vw,36px);margin:7px 0 10px}
.nsp-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.nsp-info-grid article{padding:20px;border-radius:15px;border:1px solid rgba(245,215,110,.11);background:rgba(13,20,40,.76)}.nsp-info-grid h3{margin:0 0 8px;color:var(--gold-soft,#f7e7a3)}.nsp-info-grid p{margin:0;color:var(--text-muted,#9aa3c2);line-height:1.65}
.nsp-public-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.nsp-public-links a{color:var(--gold,#f5d76e);text-decoration:none;border:1px solid rgba(245,215,110,.24);padding:9px 13px;border-radius:999px;transition:.25s}.nsp-public-links a:hover{background:rgba(245,215,110,.10);transform:translateY(-2px)}
.nsp-faq details{border-bottom:1px solid rgba(245,215,110,.10);padding:14px 2px}.nsp-faq summary{cursor:pointer;color:var(--gold-soft,#f7e7a3);font-weight:700}.nsp-faq p{color:var(--text-muted,#9aa3c2);line-height:1.65;margin:10px 0 2px}
.card,.user-area,.stats-board,.content,.stat-card,.user-card,.referral-panel,.panel,.box{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background-color .28s ease}
.card:hover,.stat-card:hover,.user-card:hover{transform:translateY(-4px);border-color:rgba(245,215,110,.24)!important;box-shadow:0 20px 45px rgba(0,0,0,.34),0 0 0 1px rgba(245,215,110,.04)}
.btn,.btn-link,.modal-btn,.btn-logout-inline,.referral-copy,button{position:relative;overflow:hidden;isolation:isolate}.btn:active,.btn-link:active,.modal-btn:active,button:active{transform:scale(.985)}
.nsp-ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.28);transform:translate(-50%,-50%) scale(0);animation:nspRipple .55s ease-out;z-index:-1}@keyframes nspRipple{to{transform:translate(-50%,-50%) scale(12);opacity:0}}
.modal-overlay{transition:opacity .22s ease,backdrop-filter .22s ease}.modal-overlay.show .modal-box{animation:nspModalIn .28s cubic-bezier(.2,.8,.2,1) both}@keyframes nspModalIn{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
.nsp-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.2,1)}.nsp-reveal.nsp-visible{opacity:1;transform:none}
tr{transition:background-color .2s ease,transform .2s ease}tbody tr:hover{transform:translateX(2px)}
input,select,textarea{transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(245,215,110,.08)}
@media(max-width:800px){.nsp-info-grid{grid-template-columns:1fr}.nsp-seo-section,.nsp-faq{padding:20px}.nsp-hero{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.nsp-reveal{opacity:1!important;transform:none!important}}
