/* NeuroM.A.X. — общий скин (кабинет, вход, оплата, тексты). Подключается ПОСЛЕ site.css / pay.css.
   Использует переменные --neon-*, --bg, --card, --text, --muted, --card-border → платные темы кабинета продолжают работать. */
:root{--neon-blue:#4C8DFF;--neon-purple:#9B5CFF;--pink:#e23bff;--bg:#07080f;--card:#12142a;--text:#eceefb;--muted:#a3a8cf;--card-border:rgba(255,255,255,.13);--e:cubic-bezier(.22,1,.36,1);color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*:before,*:after{box-sizing:border-box}
body{font-family:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
body.glow{background:var(--bg)}
body::before{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;opacity:.38;filter:blur(70px);background:radial-gradient(40vmax 40vmax at 15% 10%,var(--neon-blue),transparent 70%),radial-gradient(40vmax 40vmax at 90% 40%,var(--neon-purple),transparent 70%),radial-gradient(35vmax 35vmax at 40% 105%,var(--pink),transparent 70%);animation:aur 20s ease-in-out infinite alternate}
body::after{content:"";position:fixed;right:-30px;bottom:-20px;width:clamp(150px,22vw,300px);aspect-ratio:1;z-index:-1;pointer-events:none;opacity:.24;background:var(--decor,url(/static/img/pencil.webp)) center/contain no-repeat;animation:fl 7s ease-in-out infinite}
@keyframes aur{to{transform:translate(3%,4%) scale(1.08)}}
@keyframes fl{50%{transform:translateY(-14px) rotate(3deg)}}
@keyframes rv{from{opacity:0;translate:0 28px}}
h1,h2,h3{font-family:Unbounded,Manrope,system-ui,sans-serif;line-height:1.2}
a{color:var(--neon-blue)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:3px}
/* карточки */
.feature-card,.dash-card,body>.card{background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid var(--card-border);border-radius:24px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -34px rgba(0,0,0,.8);animation:rv .8s var(--e) both;transition:transform .45s var(--e),border-color .3s,box-shadow .3s}
.dash-card:hover,.feature-card:hover{transform:translateY(-4px);border-color:rgba(155,92,255,.55);box-shadow:0 30px 60px -30px rgba(155,92,255,.45)}
.dash-card:nth-child(2){animation-delay:.07s}.dash-card:nth-child(3){animation-delay:.14s}.dash-card:nth-child(4){animation-delay:.21s}.dash-card:nth-child(5){animation-delay:.28s}.dash-card:nth-child(6){animation-delay:.35s}.dash-card:nth-child(7){animation-delay:.42s}

/* ---- Дашборд: секции, кольцо прогресса, скелетон загрузки, тактильный фидбек ---- */
.dash-section{margin-bottom:34px;animation:rv .6s var(--e) both}
.dash-section-title{display:flex;align-items:center;gap:8px;font:800 15px Unbounded,Manrope,sans-serif;color:var(--text);margin:0 0 14px;letter-spacing:.01em}
.dash-section-title .n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:9px;background:linear-gradient(135deg,var(--neon-blue),var(--neon-purple));font-size:13px;flex:none}
.dash-card--hero{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
@property --pct{syntax:'<number>';inherits:true;initial-value:0}
.ring{--pct:0;width:86px;height:86px;border-radius:50%;flex:none;position:relative;display:grid;place-items:center;background:conic-gradient(var(--neon-blue) calc(var(--pct)*1%),rgba(255,255,255,.08) 0);transition:--pct 1s var(--e)}
.ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#12142a}
.ring span{position:relative;font:800 13px Unbounded,sans-serif;color:var(--text);text-align:center;line-height:1.2}
.ring span small{display:block;font:600 9px Manrope,sans-serif;color:var(--muted);margin-top:1px}
.profile-info{flex:1;min-width:160px;display:flex;flex-direction:column;gap:3px;font-size:14px;color:var(--muted)}
.profile-info b{color:var(--text)}
.profile-mini{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--card-border);font-size:13px;color:var(--muted);width:100%}
.profile-mini b{color:var(--text)}
.skel{display:inline-block;height:14px;width:70%;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.06) 75%);background-size:200% 100%;animation:skel 1.3s ease-in-out infinite}
@keyframes skel{to{background-position:-200% 0}}
.dash-card button:active:not(:disabled),.btn-primary:active,.btn-secondary:active{transform:scale(.95)!important}
#spin-btn{transition:transform .3s var(--e),box-shadow .3s}
#spin-btn:not(:disabled):hover{box-shadow:0 16px 34px -10px rgba(155,92,255,.85)}
.wheel-wrap{transition:filter .3s}
#roulette-result:not(:empty){animation:pop .45s var(--e) both}
@keyframes pop{from{opacity:0;scale:.7}}
#referral-copy.copied{background:linear-gradient(120deg,#2ee6a6,#3dffa0)!important;color:#07230f!important}
@media(prefers-reduced-motion:reduce){.ring{transition:none}.skel{animation:none;opacity:.5}}
.dash-card h3{font-size:17px;margin-bottom:14px}
.modal-box{background:var(--card);border:1px solid var(--card-border);border-radius:24px;animation:rv .4s var(--e) both}
.modal-backdrop{backdrop-filter:blur(6px)}
/* кнопки */
.btn-primary,body>.card button,body>.card .btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:0;border-radius:14px;color:#fff;font:700 16px Manrope,system-ui,sans-serif;text-decoration:none;text-align:center;cursor:pointer;background:linear-gradient(120deg,var(--neon-blue),var(--neon-purple) 60%,var(--pink));box-shadow:0 12px 30px -10px rgba(155,92,255,.8);transition:transform .35s var(--e),box-shadow .35s}
.btn-primary:before,body>.card button:before,body>.card .btn:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translateX(-120%);animation:shn 3.6s ease-in-out infinite}
@keyframes shn{60%,100%{transform:translateX(120%)}}
.btn-primary:hover,body>.card button:hover,body>.card .btn:hover{transform:translateY(-2px) scale(1.02);background:linear-gradient(120deg,var(--neon-blue),var(--neon-purple) 60%,var(--pink))}
.btn-primary:active,body>.card button:active{transform:scale(.97)}
body>.card button,body>.card .btn{width:100%}
.btn-secondary,#subscription-card .btn-secondary,.modal-box .btn-secondary{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--card-border);border-radius:12px;min-height:44px;padding:0 20px;cursor:pointer;font:600 14px Manrope,system-ui,sans-serif;transition:background .25s,transform .3s var(--e)}
.btn-secondary:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn-danger{border-radius:12px;min-height:44px;font-family:Manrope,system-ui,sans-serif}
.task-row button,.model-row button,.theme-row button{background:rgba(255,255,255,.07);border:1px solid var(--card-border);color:var(--text);border-radius:10px;min-height:36px;padding:0 14px;cursor:pointer;font:600 13px Manrope,system-ui,sans-serif;transition:transform .3s var(--e),background .25s}
.task-row button:hover,.model-row button:hover,.theme-row button:hover:not(:disabled){transform:scale(1.05)}
.task-row button,.model-row button.active,.theme-row button.active{background:linear-gradient(120deg,var(--neon-blue),var(--neon-purple));border-color:transparent;color:#fff}
/* поля */
input:not([type=hidden]):not([type=checkbox]):not([type=radio]){width:100%;min-height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--card-border);background:rgba(7,8,15,.7);color:var(--text);font:inherit;transition:border-color .25s,box-shadow .25s}
input::placeholder{color:#7b80a6}
input:focus{border-color:var(--neon-blue);box-shadow:0 0 0 3px rgba(76,141,255,.25);outline:0}
.task-row input{flex:1;min-width:0;width:auto}
.field{display:block;margin:0 0 14px;font-size:14px;font-weight:600;color:var(--muted)}
.field input{margin-top:6px}
.consent{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;font-size:13px;color:var(--muted);font-weight:400;cursor:pointer}
.consent input{width:auto;min-height:0;margin-top:3px;flex:none;accent-color:var(--neon-purple)}
.consent a{color:var(--neon-blue)}
.hist-entry,.task-row,.model-row,.theme-row,.sub-row{border-color:var(--card-border)}
.sub-row span,.hist-entry .q{color:var(--muted)}
#wheel-img{filter:drop-shadow(0 0 26px rgba(155,92,255,.6))}
/* вход / поддержка */
.auth{max-width:440px;margin:0 auto;padding:44px 20px 60px}
.auth .logo{display:block;text-align:center;font:800 20px Unbounded,sans-serif;color:var(--text);text-decoration:none;margin-bottom:6px}
.auth .mas{width:120px;height:120px;margin:0 auto -30px;position:relative;z-index:1;cursor:pointer;animation:fl 6s ease-in-out infinite}
.auth .mas .mascot-img{filter:drop-shadow(0 18px 22px rgba(76,60,255,.5))}
.auth .feature-card{padding:44px 28px 30px}
.auth h2{text-align:center;font-size:24px;margin:0 0 6px}
.auth h3{font-size:15px;color:var(--muted);text-align:center;margin:20px 0 14px}
.auth form .btn-primary{width:100%}
.auth .back{display:block;text-align:center;margin-top:22px;font-size:14px;color:var(--muted);text-decoration:none}
/* оплата / успех / ошибка / тексты */
body>.card{border-radius:28px}
body>.card img{border-radius:18px;box-shadow:0 20px 40px -20px rgba(76,60,255,.7)}
body>.card h1{font-size:22px}
.price{background:linear-gradient(100deg,var(--neon-blue),var(--neon-purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent!important;font-family:Unbounded,sans-serif;font-weight:800}
.note{color:var(--muted)!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
