@property --nva-a{syntax:'<angle>';inherits:false;initial-value:0deg}

main.nva{
  --nva-p:var(--green,#1d6ff2);
  --nva-p2:var(--green2,#7c3aed);
  --nva-p3:color-mix(in oklch,var(--nva-p) 55%,#ff4d8d);
  --nva-bg:var(--bg,#f6f7fb);
  --nva-card:color-mix(in oklch,var(--surface,#fff) 78%,transparent);
  --nva-ink:var(--ink,#0f172a);
  --nva-mut:var(--muted,#64748b);
  --nva-line:color-mix(in oklch,var(--line,#e2e8f0) 85%,transparent);
  --nva-field:color-mix(in oklch,var(--surface,#fff) 70%,var(--nva-bg));
  --nva-r:26px;
  --nva-ease:cubic-bezier(.22,1,.36,1);
  position:relative;isolation:isolate;overflow:hidden;
  max-width:none;width:100%;margin:0;
  min-height:calc(100vh - 140px);min-height:calc(100dvh - 140px);
  padding:48px 18px 72px;
  display:grid;place-items:center;
  color:var(--nva-ink);
}
html[data-theme="dark"] main.nva{--nva-card:color-mix(in oklch,var(--surface,#1b1f2a) 72%,transparent);--nva-field:color-mix(in oklch,var(--surface2,#262b38) 70%,transparent)}

.nva-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 86%,transparent 100%)}
.nva-bg i{position:absolute;display:block;border-radius:50%;opacity:.5;background:radial-gradient(closest-side,var(--c) 0%,color-mix(in oklch,var(--c) 45%,transparent) 45%,transparent 100%)}
.nva-bg .b1{--c:var(--nva-p);width:760px;height:760px;top:-220px;right:-240px;animation:nva-float 18s var(--nva-ease) infinite alternate}
.nva-bg .b2{--c:var(--nva-p3);width:700px;height:700px;bottom:-200px;left:-240px;animation:nva-float 22s var(--nva-ease) infinite alternate-reverse}
.nva-bg .b3{--c:var(--nva-p2);width:520px;height:520px;top:40%;left:45%;opacity:.28;animation:nva-float2 26s ease-in-out infinite}
html[data-theme="dark"] .nva-bg i{opacity:.32}
html[data-theme="dark"] .nva-bg .b3{opacity:.18}
.nva-grid{position:absolute;inset:0;background-image:linear-gradient(color-mix(in oklch,var(--nva-ink) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--nva-ink) 6%,transparent) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at center,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 10%,transparent 70%)}
@keyframes nva-float{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-80px,60px) scale(1.15)}}
@keyframes nva-float2{0%,100%{transform:translate(-50%,-50%) scale(.9)}50%{transform:translate(-30%,-65%) scale(1.2)}}

.nva-card{
  position:relative;width:100%;max-width:980px;
  display:grid;grid-template-columns:1fr 1.08fr;
  border-radius:var(--nva-r);
  background:var(--nva-card);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);
  box-shadow:0 30px 80px -30px color-mix(in oklch,var(--nva-p) 45%,transparent),0 2px 0 0 color-mix(in oklch,#fff 35%,transparent) inset;
  animation:nva-rise .9s var(--nva-ease) both;
  --mx:50%;--my:50%;
}
.nva-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--nva-a),transparent 0 55%,var(--nva-p) 70%,var(--nva-p3) 80%,transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:nva-spin-a 6s linear infinite;
}
.nva-card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(420px circle at var(--mx) var(--my),color-mix(in oklch,var(--nva-p) 14%,transparent),transparent 60%);
  opacity:0;transition:opacity .4s;
}
.nva-card.is-hover::after{opacity:1}
.nva-card-solo{grid-template-columns:1fr;max-width:470px}
@keyframes nva-spin-a{to{--nva-a:360deg}}
@keyframes nva-rise{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}

.nva-side{
  position:relative;overflow:hidden;margin:10px;border-radius:calc(var(--nva-r) - 8px);
  padding:44px 36px;display:flex;flex-direction:column;justify-content:center;gap:14px;
  color:#fff;
  background:
    radial-gradient(circle at 20% 15%,color-mix(in oklch,#fff 22%,transparent),transparent 45%),
    linear-gradient(145deg,var(--nva-p),color-mix(in oklch,var(--nva-p) 45%,var(--nva-p3)) 60%,var(--nva-p3));
  background-size:100% 100%,220% 220%;
  animation:nva-hue 12s ease-in-out infinite alternate;
}
.nva-side::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 22px,color-mix(in oklch,#fff 5%,transparent) 22px 23px);pointer-events:none}
@keyframes nva-hue{from{background-position:0 0,0% 50%}to{background-position:0 0,100% 50%}}
.nva-orbit{position:relative;width:150px;height:150px;margin-bottom:10px;transform:translate3d(var(--tx,0),var(--ty,0),0);transition:transform .5s var(--nva-ease)}
.nva-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed color-mix(in oklch,#fff 45%,transparent);animation:nva-rot 14s linear infinite}
.nva-ring.r2{inset:20px;animation-duration:9s;animation-direction:reverse;border-style:solid;border-color:color-mix(in oklch,#fff 25%,transparent)}
.nva-ring.r3{inset:-18px;animation-duration:22s;border-color:color-mix(in oklch,#fff 18%,transparent)}
.nva-ring i{position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff;box-shadow:0 0 14px 3px color-mix(in oklch,#fff 70%,transparent)}
.nva-ring.r2 i{width:7px;height:7px;top:-3.5px;margin-left:-3.5px}
.nva-ring.r3 i{background:color-mix(in oklch,#fff 80%,var(--nva-p3))}
@keyframes nva-rot{to{transform:rotate(360deg)}}
.nva-core{position:absolute;inset:42px;border-radius:22px;display:grid;place-items:center;background:color-mix(in oklch,#fff 20%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px -8px rgba(0,0,0,.3),inset 0 1px 0 color-mix(in oklch,#fff 50%,transparent);animation:nva-bob 4s ease-in-out infinite}
.nva-core b{font-size:34px;font-weight:900;line-height:1}
.nva-core img{max-width:48px;max-height:48px;object-fit:contain}
@keyframes nva-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}
.nva-side-title{margin:0;font-size:calc(26px * var(--fz-base,1));font-weight:900;line-height:1.35;color:#fff}
.nva-side-text{margin:0;opacity:.9;line-height:1.9;font-size:calc(14px * var(--fz-base,1))}
.nva-perks{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.nva-perks li{display:flex;align-items:center;gap:10px;font-size:calc(13px * var(--fz-base,1));font-weight:700;opacity:0;animation:nva-slide .7s var(--nva-ease) forwards;animation-delay:calc(.5s + var(--d) * .12s)}
.nva-perks li span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in oklch,#fff 18%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,#fff 25%,transparent)}
@keyframes nva-slide{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}

.nva-pane{position:relative;z-index:1;padding:40px 38px 32px;display:flex;flex-direction:column;gap:18px;min-width:0}
.nva-in{opacity:0;animation:nva-up .75s var(--nva-ease) forwards;animation-delay:calc(.25s + var(--i,0) * .07s)}
@keyframes nva-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.nva-head h1{margin:8px 0 6px;font-size:calc(25px * var(--fz-base,1));font-weight:900;line-height:1.4;color:var(--nva-ink)}
.nva-head p{margin:0;color:var(--nva-mut);font-size:calc(13.5px * var(--fz-base,1));line-height:1.9}
.nva-head-center{text-align:center;display:flex;flex-direction:column;align-items:center}
.nva-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;font-size:calc(11.5px * var(--fz-base,1));font-weight:800;color:var(--nva-p);background:color-mix(in oklch,var(--nva-p) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--nva-p) 25%,transparent)}
.nva-grad{background:linear-gradient(90deg,var(--nva-p),var(--nva-p3),var(--nva-p));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:nva-shine-t 5s linear infinite}
@keyframes nva-shine-t{to{background-position:200% center}}
.nva-seal{position:relative;display:grid;place-items:center;width:74px;height:74px;border-radius:24px;color:#fff;background:linear-gradient(135deg,var(--nva-p),var(--nva-p3));box-shadow:0 16px 36px -12px var(--nva-p);animation:nva-bob 4s ease-in-out infinite}
.nva-seal::before,.nva-seal::after{content:"";position:absolute;inset:-8px;border-radius:30px;border:2px solid color-mix(in oklch,var(--nva-p) 40%,transparent);animation:nva-pulse 2.4s ease-out infinite}
.nva-seal::after{animation-delay:1.2s}
@keyframes nva-pulse{from{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}

.nva-tabs{position:relative;display:flex;gap:4px;padding:5px;border-radius:16px;background:var(--nva-field);box-shadow:inset 0 0 0 1px var(--nva-line)}
.nva-tabs a{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border-radius:12px;font-size:calc(13px * var(--fz-base,1));font-weight:800;color:var(--nva-mut);text-decoration:none;transition:color .35s var(--nva-ease);white-space:nowrap}
.nva-tabs a:hover{color:var(--nva-ink)}
.nva-tabs a.on{color:#fff}
.nva-tabs-ink{position:absolute;z-index:0;top:5px;bottom:5px;right:5px;width:0;border-radius:12px;background:linear-gradient(135deg,var(--nva-p),var(--nva-p3));box-shadow:0 8px 20px -8px var(--nva-p);transition:transform .5s var(--nva-ease),width .5s var(--nva-ease)}
.nva-tabs:not(.is-ready) a.on{background:linear-gradient(135deg,var(--nva-p),var(--nva-p3))}

.nva-form{display:flex;flex-direction:column;gap:16px;margin:0}
.nva-f{position:relative}
.nva-f input,.nva-f select{
  width:100%;height:58px;margin:0;padding:22px 48px 6px 16px;
  border:0;border-radius:16px;outline:0;
  background:var(--nva-field);color:var(--nva-ink);
  box-shadow:inset 0 0 0 1.5px var(--nva-line);
  font:inherit;font-size:calc(15px * var(--fz-base,1));font-weight:600;
  transition:box-shadow .35s var(--nva-ease),background .35s,transform .35s var(--nva-ease);
  -webkit-appearance:none;appearance:none;
}
.nva-f input[dir="ltr"]{text-align:left}
.nva-f input::placeholder{color:var(--nva-mut);opacity:0;transition:opacity .3s}
.nva-f input:focus::placeholder{opacity:.55}
.nva-f label{position:absolute;right:48px;top:50%;transform:translateY(-50%);transform-origin:right center;pointer-events:none;color:var(--nva-mut);font-size:calc(14px * var(--fz-base,1));font-weight:700;transition:transform .35s var(--nva-ease),top .35s var(--nva-ease),color .3s;white-space:nowrap}
.nva-f label em{font-style:normal;font-weight:500;opacity:.7}
.nva-f input:focus~label,.nva-f input:not(:placeholder-shown)~label,.nva-f select~label{top:17px;transform:translateY(-50%) scale(.78);color:var(--nva-p)}
.nva-f input:not(:focus):not(:placeholder-shown)~label{color:var(--nva-mut)}
.nva-f-ic{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:grid;color:var(--nva-mut);transition:color .3s,transform .4s var(--nva-ease);pointer-events:none}
.nva-f:focus-within .nva-f-ic{color:var(--nva-p);transform:translateY(-50%) scale(1.12)}
.nva-f input:focus,.nva-f select:focus{background:color-mix(in oklch,var(--nva-field) 70%,var(--surface,#fff));box-shadow:inset 0 0 0 2px var(--nva-p),0 10px 30px -14px var(--nva-p)}
.nva-f-bar{position:absolute;left:18px;right:18px;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--nva-p3),var(--nva-p));transform:scaleX(0);transition:transform .5s var(--nva-ease);pointer-events:none}
.nva-f:focus-within .nva-f-bar{transform:scaleX(1)}
.nva-f.is-bad input{box-shadow:inset 0 0 0 2px var(--red,#ef4444);animation:nva-shake .45s}
.nva-f.is-bad .nva-f-ic,.nva-f.is-bad label{color:var(--red,#ef4444)}
.nva-f.is-ok input:not(:focus){box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--nva-p) 45%,transparent)}
.nva-f select{cursor:pointer;padding-left:40px}
.nva-f-caret{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--nva-mut);pointer-events:none;display:grid}
.nva-eye{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:12px;background:transparent;color:var(--nva-mut);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s}
.nva-eye:hover{background:color-mix(in oklch,var(--nva-p) 10%,transparent);color:var(--nva-p)}
.nva-eye svg{grid-area:1/1;transition:opacity .25s,transform .35s var(--nva-ease)}
.nva-eye svg:last-child{opacity:0;transform:scale(.5) rotate(-30deg)}
.nva-eye.on svg:first-child{opacity:0;transform:scale(.5) rotate(30deg)}
.nva-eye.on svg:last-child{opacity:1;transform:none}
.nva-f:has(.nva-eye) input{padding-left:54px}
.nva-caps{display:block;max-height:0;overflow:hidden;opacity:0;color:var(--gold,#d97706);font-size:calc(11.5px * var(--fz-base,1));font-weight:700;padding-right:6px;transition:max-height .3s,opacity .3s,margin .3s}
.nva-f.is-caps .nva-caps{max-height:24px;opacity:1;margin-top:6px}
@keyframes nva-shake{0%,100%{transform:none}20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}

.nva-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:-6px}
.nva-meter span{height:5px;border-radius:5px;background:var(--nva-line);position:relative;overflow:hidden}
.nva-meter span::after{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--nva-ease),background .3s;background:var(--c,var(--nva-p))}
.nva-meter[data-s="1"]{--c:var(--red,#ef4444)}
.nva-meter[data-s="2"]{--c:var(--gold,#f59e0b)}
.nva-meter[data-s="3"]{--c:#22c55e}
.nva-meter[data-s="4"]{--c:var(--nva-p)}
.nva-meter[data-s="1"] span:nth-child(-n+1)::after,.nva-meter[data-s="2"] span:nth-child(-n+2)::after,.nva-meter[data-s="3"] span:nth-child(-n+3)::after,.nva-meter[data-s="4"] span:nth-child(-n+4)::after{transform:scaleX(1)}
.nva-meter small{grid-column:1/-1;color:var(--nva-mut);font-size:calc(11.5px * var(--fz-base,1));font-weight:600;transition:color .3s}
.nva-meter:not([data-s="0"]) small{color:var(--c)}

.nva-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:calc(13px * var(--fz-base,1));font-weight:600;color:var(--nva-mut);user-select:none}
.nva-check input{position:absolute;opacity:0;width:1px;height:1px}
.nva-check-box{flex:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--nva-field);box-shadow:inset 0 0 0 1.5px var(--nva-line);transition:background .3s,box-shadow .3s,transform .3s var(--nva-ease)}
.nva-check-box svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .4s var(--nva-ease) .05s}
.nva-check input:checked+.nva-check-box{background:linear-gradient(135deg,var(--nva-p),var(--nva-p3));box-shadow:0 6px 16px -6px var(--nva-p);transform:scale(1.08)}
.nva-check input:checked+.nva-check-box svg{stroke-dashoffset:0}
.nva-check input:focus-visible+.nva-check-box{box-shadow:0 0 0 3px color-mix(in oklch,var(--nva-p) 30%,transparent)}
.nva-check.is-bad .nva-check-box{box-shadow:inset 0 0 0 2px var(--red,#ef4444);animation:nva-shake .45s}
.nva-check a,.nva-note a{color:var(--nva-p);font-weight:800;text-decoration:none}

.nva-btn{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;margin-top:4px;
  border:0;border-radius:16px;cursor:pointer;text-decoration:none;
  color:#fff;font:inherit;font-size:calc(15.5px * var(--fz-base,1));font-weight:900;
  background:linear-gradient(135deg,var(--nva-p),var(--nva-p3),var(--nva-p));background-size:200% 100%;
  box-shadow:0 14px 30px -12px var(--nva-p),inset 0 1px 0 color-mix(in oklch,#fff 35%,transparent);
  transition:transform .35s var(--nva-ease),box-shadow .35s var(--nva-ease),background-position .8s var(--nva-ease);
}
.nva-btn::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,color-mix(in oklch,#fff 45%,transparent),transparent);transform:skewX(-20deg);animation:nva-sweep 3.6s ease-in-out infinite}
@keyframes nva-sweep{0%,60%{left:-60%}100%{left:130%}}
.nva-btn:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 20px 40px -14px var(--nva-p),inset 0 1px 0 color-mix(in oklch,#fff 35%,transparent);color:#fff}
.nva-btn:active{transform:translateY(0) scale(.98)}
.nva-btn:focus-visible{outline:3px solid color-mix(in oklch,var(--nva-p) 40%,transparent);outline-offset:3px}
.nva-btn-ic{display:grid;transition:transform .4s var(--nva-ease)}
.nva-btn:hover .nva-btn-ic{transform:translateX(-5px)}
.nva-spin{position:absolute;width:22px;height:22px;border-radius:50%;border:2.5px solid color-mix(in oklch,#fff 35%,transparent);border-top-color:#fff;opacity:0;transform:scale(.4);transition:opacity .3s,transform .3s}
.nva-btn.is-busy{pointer-events:none}
.nva-btn.is-busy .nva-btn-t,.nva-btn.is-busy .nva-btn-ic{opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s}
.nva-btn.is-busy .nva-spin{opacity:1;transform:none;animation:nva-rot .7s linear infinite}
.nva-btn-ghost{background:transparent;color:var(--nva-p);box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--nva-p) 45%,transparent)}
.nva-btn-ghost::before{background:linear-gradient(100deg,transparent,color-mix(in oklch,var(--nva-p) 16%,transparent),transparent)}
.nva-btn-ghost:hover{color:var(--nva-p);background:color-mix(in oklch,var(--nva-p) 8%,transparent);box-shadow:inset 0 0 0 1.5px var(--nva-p)}
.nva-btn-ghost .nva-spin{border-color:color-mix(in oklch,var(--nva-p) 25%,transparent);border-top-color:var(--nva-p)}
.nva-ripple{position:absolute;z-index:-1;border-radius:50%;background:color-mix(in oklch,#fff 45%,transparent);transform:scale(0);animation:nva-ripple .7s ease-out forwards;pointer-events:none}
@keyframes nva-ripple{to{transform:scale(4);opacity:0}}

.nva-note{margin:0;text-align:center;color:var(--nva-mut);font-size:calc(12px * var(--fz-base,1));line-height:1.9}
.nva-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;font-size:calc(12.5px * var(--fz-base,1));line-height:1.8;color:var(--gold,#b45309);background:color-mix(in oklch,var(--gold,#f59e0b) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--gold,#f59e0b) 30%,transparent)}
.nva-alert svg{flex:none;margin-top:3px}

.nva-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;border-top:1px dashed var(--nva-line)}
.nva-foot-center{justify-content:center}
.nva-foot a,.nva-foot span{display:inline-flex;align-items:center;gap:6px;font-size:calc(13px * var(--fz-base,1));text-decoration:none}
.nva-link-strong{color:var(--nva-p);font-weight:900;position:relative}
.nva-link-strong::after{content:"";position:absolute;right:0;left:0;bottom:-3px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--nva-ease)}
.nva-link-strong:hover::after{transform:scaleX(1);transform-origin:right}
.nva-link-soft{color:var(--nva-mut);font-weight:700;transition:color .3s}
a.nva-link-soft:hover{color:var(--nva-ink)}

.nva-otp{position:relative;display:flex;justify-content:center;gap:10px;direction:ltr}
.nva-otp-src{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;font-size:16px;color:transparent;background:transparent;caret-color:transparent;z-index:2;letter-spacing:0;cursor:text}
.nva-otp:not(.is-ready) .nva-otp-src{position:static;opacity:1;height:58px;border-radius:16px;text-align:center;letter-spacing:10px;font-size:22px;font-weight:900;color:var(--nva-ink);background:var(--nva-field);box-shadow:inset 0 0 0 1.5px var(--nva-line)}
.nva-otp-cell{position:relative;flex:1;max-width:58px;height:64px;border-radius:16px;display:grid;place-items:center;font-size:calc(24px * var(--fz-base,1));font-weight:900;color:var(--nva-ink);background:var(--nva-field);box-shadow:inset 0 0 0 1.5px var(--nva-line);transition:box-shadow .3s var(--nva-ease),transform .3s var(--nva-ease),background .3s}
.nva-otp-cell.on{box-shadow:inset 0 0 0 2px var(--nva-p),0 10px 24px -12px var(--nva-p);transform:translateY(-3px)}
.nva-otp-cell.on:empty::after{content:"";width:2px;height:26px;border-radius:2px;background:var(--nva-p);animation:nva-caret 1s steps(2) infinite}
.nva-otp-cell.fill{animation:nva-pop .35s var(--nva-ease)}
.nva-otp-cell.fill:not(.on){background:color-mix(in oklch,var(--nva-p) 8%,var(--nva-field));box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--nva-p) 40%,transparent)}
.nva-otp.is-full .nva-otp-cell{box-shadow:inset 0 0 0 2px var(--nva-p);animation:nva-wave .6s var(--nva-ease) both;animation-delay:calc(var(--k) * .05s)}
.nva-otp.is-bad .nva-otp-cell{box-shadow:inset 0 0 0 2px var(--red,#ef4444)}
.nva-otp.is-bad{animation:nva-shake .45s}
@keyframes nva-caret{to{opacity:0}}
@keyframes nva-pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes nva-wave{0%,100%{transform:none}40%{transform:translateY(-7px)}}

.nva-resend-f{margin:-4px 0 0}
.nva-resend{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;border:0;border-radius:14px;background:transparent;color:var(--nva-p);font:inherit;font-size:calc(13.5px * var(--fz-base,1));font-weight:800;cursor:pointer;transition:background .3s,color .3s}
.nva-resend:hover:not(:disabled){background:color-mix(in oklch,var(--nva-p) 8%,transparent)}
.nva-resend:disabled{color:var(--nva-mut);cursor:default}
.nva-resend-ring{width:22px;height:22px;transform:rotate(-90deg);display:none}
.nva-resend:disabled .nva-resend-ring{display:block}
.nva-resend-ring circle{fill:none;stroke-width:3;stroke:var(--nva-line)}
.nva-resend-ring .p{stroke:var(--nva-p);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:var(--off,0);transition:stroke-dashoffset 1s linear}

.nva-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:10px}
.nva-steps li{counter-increment:s;position:relative;padding:12px 52px 12px 14px;border-radius:14px;background:var(--nva-field);box-shadow:inset 0 0 0 1px var(--nva-line);font-size:calc(13px * var(--fz-base,1));line-height:1.8}
.nva-steps li::before{content:counter(s);position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:13px;background:linear-gradient(135deg,var(--nva-p),var(--nva-p3))}

.nva .nf-cap{display:grid;gap:6px}
.nva .nf-cap-row{display:flex;flex-wrap:nowrap;gap:10px;align-items:flex-end;width:100%}
.nva .nf-cap-field{flex:1 1 auto;min-width:0;display:block;margin:0}
.nva .nf-cap-field span{display:block;margin-bottom:6px;color:var(--nva-mut);font-size:calc(12px * var(--fz-base,1));font-weight:700}
.nva .nf-cap-field input{width:100%;height:52px;margin:0;border:0;border-radius:14px;padding:0 10px;background:var(--nva-field);color:var(--nva-ink);box-shadow:inset 0 0 0 1.5px var(--nva-line);font:inherit;font-size:calc(16px * var(--fz-base,1));font-weight:800;letter-spacing:4px;text-align:center;outline:0;transition:box-shadow .3s}
.nva .nf-cap-field input::placeholder{letter-spacing:4px;opacity:.45}
.nva .nf-cap-field input:focus{box-shadow:inset 0 0 0 2px var(--nva-p)}
.nva .nf-cap-box{flex:0 0 auto;display:flex;align-items:stretch;gap:0;width:auto;height:52px;margin:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1.5px var(--nva-line)}
.nva .nf-cap-img{display:block;flex:0 0 auto;width:auto;height:52px;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:#fff;cursor:pointer;object-fit:contain}
.nva .nf-cap-btn{position:static;flex:0 0 44px;width:44px;height:auto;margin:0;padding:0;border:0;border-radius:0;display:grid;place-items:center;background:color-mix(in oklch,var(--nva-p) 10%,#fff);color:var(--nva-p);font-size:18px;line-height:1;cursor:pointer;box-shadow:inset 1.5px 0 0 var(--nva-line),inset -1.5px 0 0 var(--nva-line);transition:background .25s,color .25s}
.nva .nf-cap-btn:hover{background:var(--nva-p);color:#fff;transform:none}
.nva .nf-cap-btn:active{background:color-mix(in oklch,var(--nva-p) 80%,#000)}
.nva .nf-cap-hint{display:block;color:var(--nva-mut);font-size:calc(11px * var(--fz-base,1));line-height:1.8}
.nva-cap:empty{display:none}

@media (max-width:420px){
  .nva .nf-cap-row{gap:8px}
  .nva .nf-cap-box,.nva .nf-cap-img,.nva .nf-cap-field input{height:48px}
  .nva .nf-cap-btn{flex-basis:40px;width:40px}
  .nva .nf-cap-field input{letter-spacing:2px;font-size:15px}
  .nva .nf-cap-field input::placeholder{letter-spacing:2px}
}
@media (max-width:359px){
  .nva .nf-cap-row{flex-wrap:wrap}
  .nva .nf-cap-field{flex-basis:100%}
  .nva .nf-cap-box{width:100%}
  .nva .nf-cap-img{flex:1 1 auto;min-width:0}
}
@media (max-width:860px){
  .nva-card{grid-template-columns:1fr;max-width:480px}
  .nva-side{padding:26px 22px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 16px}
  .nva-orbit{width:74px;height:74px;margin:0}
  .nva-core{inset:16px;border-radius:14px}
  .nva-core b{font-size:20px}
  .nva-core img{max-width:28px;max-height:28px}
  .nva-ring.r3{inset:-8px}
  .nva-side-title{flex:1;min-width:0;font-size:calc(19px * var(--fz-base,1))}
  .nva-side-text{flex-basis:100%;font-size:calc(12.5px * var(--fz-base,1))}
  .nva-perks{display:none}
}
@media (max-width:520px){
  main.nva{padding:18px 12px 90px;place-items:start center}
  .nva-pane{padding:26px 20px 22px}
  .nva-head h1{font-size:calc(21px * var(--fz-base,1))}
  .nva-tabs a span{font-size:calc(12px * var(--fz-base,1))}
  .nva-otp{gap:7px}
  .nva-otp-cell{height:56px;border-radius:13px}
  .nva-bg .b1,.nva-bg .b2{width:320px;height:320px}
}
@media (max-width:860px),(hover:none) and (pointer:coarse){
  .nva-bg{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 70%,transparent 96%);mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 70%,transparent 96%)}
  .nva-bg i{animation:none;opacity:.22}
  .nva-bg .b1{width:420px;height:420px;top:-180px;right:-180px}
  .nva-bg .b2{width:380px;height:380px;top:45%;bottom:auto;left:-200px}
  html[data-theme="dark"] .nva-bg i{opacity:.16}
  .nva-bg .b3,.nva-grid{display:none}
  .nva-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface,#fff);box-shadow:0 12px 32px -18px color-mix(in oklch,var(--nva-p) 40%,transparent);animation:nva-fade .3s ease-out both}
  html[data-theme="dark"] .nva-card{background:var(--surface,#1b1f2a)}
  .nva-card::before{animation:none;background:linear-gradient(135deg,color-mix(in oklch,var(--nva-p) 55%,transparent),transparent 45%,transparent 60%,color-mix(in oklch,var(--nva-p3) 45%,transparent))}
  .nva-card::after{display:none}
  .nva-side{animation:none;background-size:100% 100%,100% 100%}
  .nva-side::after{display:none}
  .nva-ring,.nva-core,.nva-seal,.nva-grad,.nva-btn-ic{animation:none}
  .nva-ring.r3{display:none}
  .nva-ring i{box-shadow:none}
  .nva-core{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 6px 16px -8px rgba(0,0,0,.3)}
  .nva-seal{box-shadow:0 10px 22px -12px var(--nva-p)}
  .nva-seal::before,.nva-seal::after{display:none}
  .nva-grad{background-size:100% auto}
  .nva-in,.nva-perks li{opacity:1;animation:none}
  .nva-btn{box-shadow:0 10px 22px -14px var(--nva-p);transition:transform .2s,box-shadow .2s}
  .nva-btn::before{display:none}
  .nva-btn:hover{transform:none}
  .nva-f input,.nva-f select{transition:box-shadow .2s}
  .nva-f input:focus,.nva-f select:focus{box-shadow:inset 0 0 0 2px var(--nva-p)}
  .nva-f-bar{display:none}
  .nva-f:focus-within .nva-f-ic{transform:translateY(-50%)}
  .nva-otp-cell{transition:box-shadow .2s}
  .nva-otp-cell.on{transform:none;box-shadow:inset 0 0 0 2px var(--nva-p)}
  .nva-otp.is-full .nva-otp-cell{animation:none}
}
@keyframes nva-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  main.nva *,main.nva *::before,main.nva *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .nva-in,.nva-perks li{opacity:1}
}

/* ─── ورود با اثر انگشت ─── */
.nva-pk{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;padding:6px 0}
.nva-pk-btn{
  width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:22px 18px;border-radius:20px;cursor:pointer;background:transparent;color:inherit;
  border:1.5px dashed color-mix(in oklch,var(--nva-p,var(--accent,#1d6ff2)) 55%,transparent);
  font-family:inherit;transition:border-color .2s,background .2s,transform .2s;
}
.nva-pk-btn:hover{border-color:var(--nva-p,var(--accent,#1d6ff2));background:color-mix(in oklch,var(--nva-p,var(--accent,#1d6ff2)) 7%,transparent)}
.nva-pk-btn .nv-i,.nva-pk-btn>svg,.nva-pk-btn>span:first-child{color:var(--nva-p,var(--accent,#1d6ff2))}
.nva-pk-btn span{font-weight:700;font-size:15px}
.nva-pk-btn small{color:var(--muted,#7a8494);font-weight:400;font-size:12px;line-height:1.8}
.nva-pk-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.nva-pk-btn.is-busy{cursor:progress;animation:nva-pk-pulse 1.1s ease-in-out infinite}
@keyframes nva-pk-pulse{0%,100%{opacity:1}50%{opacity:.45}}
.nva-pk-msg{min-height:1em;margin:0;color:var(--danger,#d33);font-size:12.5px}

/* ─── مدیریت دستگاه‌ها در «اطلاعات حساب» ─── */
.pk-list{display:grid;gap:10px;margin-bottom:16px}
.pk-item{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line,rgba(127,127,127,.18));
  border-radius:14px;background:var(--surface,rgba(127,127,127,.05))
}
.pk-item-ic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;flex:none;
  background:color-mix(in oklch,var(--accent,#1d6ff2) 12%,transparent);color:var(--accent,#1d6ff2)}
.pk-item-tx{flex:1;min-width:0}
.pk-item-tx b{display:block;font-size:13.5px}
.pk-item-tx small{color:var(--muted,#7a8494);font-size:11.5px;direction:ltr;display:block;text-align:right}
.pk-add{display:grid;gap:8px}
.pk-add-row{display:flex;gap:8px;flex-wrap:wrap}
.pk-add-row input{flex:1;min-width:180px}
.pk-add small{color:var(--muted,#7a8494)}
