:root{
  --bg:#060608; --panel:#0d0d12; --panel-2:#111119; --raise:#16161f;
  --line:rgba(160,150,200,.1); --line-2:rgba(160,150,200,.18);
  --text:#e9e7f2; --dim:#9591ac; --dimmer:#5c586f;
  --green:#4ade80; --amber:#e7b24c; --red:#f0645c;
  --violet:#8b5cf6; --violet-2:#a78bfa; --violet-d:#7c3aed; --fuchsia:#d946ef; --fuchsia-2:#e879f9;
  --g1:linear-gradient(120deg,#8b5cf6,#7c3aed);
  --g2:linear-gradient(120deg,#a78bfa,#d946ef);
  --g-text:linear-gradient(116deg,#fff 6%,#c4b5fd 46%,#e879f9 98%);
  --disp:"Geist","Segoe UI Variable Display",system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,"Cascadia Code",Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--disp);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;position:relative;z-index:3}
::selection{background:rgba(217,70,239,.3)}
:focus-visible{outline:2px solid var(--fuchsia-2);outline-offset:3px;border-radius:6px}
@keyframes mesh{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-3%,2%,0) scale(1.08)}100%{transform:translate3d(2%,-2%,0) scale(1.04)}}
/* Фон страниц: три пятна света. Раньше это были простые градиенты под живым
   filter:blur(50px) на фиксированном слое больше экрана, и браузер размывал
   его заново на каждом кадре. Размытие посчитано заранее и зашито в точки
   градиентов: гауссиан σ=50px по тем же эллипсам, подгонка по экранам
   1024–2560 и отдельно по телефонам. От прежней картинки отличается не больше
   чем на 5 единиц яркости из 255. Кабинет задает свой фон у себя. */
.mesh{position:fixed;inset:-20% -10% -10% -10%;z-index:0;pointer-events:none;opacity:.5;
  background:
    radial-gradient(38% 34% at 72% 20%,rgba(124,58,237,.413) 0,rgba(124,58,237,.345) 15%,rgba(124,58,237,.234) 30%,rgba(124,58,237,.14) 42%,rgba(124,58,237,.075) 51%,rgba(124,58,237,.027) 60%,rgba(124,58,237,.007) 69%,rgba(124,58,237,.001) 81%,rgba(124,58,237,0) 96%),
    radial-gradient(30% 30% at 20% 60%,rgba(217,70,239,.222) 0,rgba(217,70,239,.187) 15.5%,rgba(217,70,239,.129) 31%,rgba(217,70,239,.077) 43.4%,rgba(217,70,239,.044) 52.7%,rgba(217,70,239,.019) 62%,rgba(217,70,239,.006) 71.3%,rgba(217,70,239,.001) 83.7%,rgba(217,70,239,0) 99.2%),
    radial-gradient(34% 30% at 55% 90%,rgba(74,222,128,.079) 0,rgba(74,222,128,.067) 15%,rgba(74,222,128,.043) 30%,rgba(74,222,128,.027) 42%,rgba(74,222,128,.015) 51%,rgba(74,222,128,.006) 60%,rgba(74,222,128,.002) 69%,rgba(74,222,128,0) 81%);
  animation:mesh 22s ease-in-out infinite alternate}
@media (max-width:600px){.mesh{background:
    radial-gradient(38% 34% at 72% 20%,rgba(124,58,237,.288) 0,rgba(124,58,237,.259) 15%,rgba(124,58,237,.192) 30%,rgba(124,58,237,.129) 42%,rgba(124,58,237,.088) 51%,rgba(124,58,237,.053) 60%,rgba(124,58,237,.03) 69%,rgba(124,58,237,.011) 81%,rgba(124,58,237,0) 96%),
    radial-gradient(30% 30% at 20% 60%,rgba(217,70,239,.141) 0,rgba(217,70,239,.128) 15.5%,rgba(217,70,239,.098) 31%,rgba(217,70,239,.068) 43.4%,rgba(217,70,239,.048) 52.7%,rgba(217,70,239,.031) 62%,rgba(217,70,239,.018) 71.3%,rgba(217,70,239,.008) 83.7%,rgba(217,70,239,0) 99.2%),
    radial-gradient(34% 30% at 55% 90%,rgba(74,222,128,.052) 0,rgba(74,222,128,.047) 15%,rgba(74,222,128,.033) 30%,rgba(74,222,128,.025) 42%,rgba(74,222,128,.017) 51%,rgba(74,222,128,.011) 60%,rgba(74,222,128,.007) 69%,rgba(74,222,128,.003) 81%,rgba(74,222,128,0) 96%)}}
header.scrolled{background:rgba(8,8,12,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:11px;font:700 18px var(--disp)}
.logo .mk{width:26px;height:26px}
.logo i{font:400 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);font-style:normal}
nav.top{display:flex;align-items:center;gap:26px}
nav.top a{color:var(--dim);font-size:14.5px;transition:color .2s;position:relative}
nav.top a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--g2);transition:right .28s}
nav.top a:not(.btn):hover{color:var(--text)}
nav.top a:not(.btn):hover::after{right:0}
.btn.lg{padding:16px 28px;font-size:16px}
/* полоса индикатора: высота 11px, растет от низа; раньше анимировалась сама
   высота, и браузер пересчитывал раскладку каждый кадр */
@keyframes eq{0%,100%{transform:scaleY(.2727)}50%{transform:scaleY(1)}}
.tag{display:inline-block;font:500 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--violet-2);margin-bottom:14px}
h2 .gt{background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv.in{opacity:1;transform:none}
@keyframes blink2{50%{opacity:.3}}
.split .w>span{display:inline-block;transform:translateY(112%);transition:transform .75s cubic-bezier(.16,1,.3,1)}
.split.in .w>span{transform:none}
#load.gone{opacity:0;visibility:hidden}
#load .lg{display:flex;align-items:center;gap:10px;font:600 17px var(--disp);color:var(--text)}
#load .lg svg{width:24px;height:24px}
#load .pct{font:700 clamp(40px,9vw,72px) var(--disp);letter-spacing:-.03em;line-height:1;background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent}
#load .barw{width:min(240px,60vw);height:2px;background:var(--line-2);border-radius:2px;overflow:hidden}
#load .bar{height:100%;width:0;background:var(--g2);box-shadow:0 0 10px var(--fuchsia);transition:width .1s linear}
#load .log{font:400 12px var(--mono);color:var(--dimmer);height:16px;letter-spacing:.03em}
.rfoot .cols{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}
.rfoot h4{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);margin:0 0 14px}
.rfoot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rfoot a{color:var(--dim);font-size:14px}
.rfoot a:hover{color:var(--text)}
.rfoot .about{color:var(--dimmer);font-size:13.5px;line-height:1.6;max-width:34ch}
.rfoot .about .logo{margin-bottom:14px}
.rfoot .status{display:inline-flex;align-items:flex-end;gap:8px;margin-top:14px;font:400 12px var(--mono);color:var(--violet-2)}
.rfoot .status i{width:2px;height:11px;border-radius:1px;background:currentColor;margin-bottom:1px;transform-origin:50% 100%;animation:eq 1.3s ease-in-out infinite}
.rfoot .end{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 30px;font:400 12px var(--mono);color:var(--dimmer);text-align:center}
/* постоянный блик призывных кнопок. Блик едет сдвигом (transform), а не
   свойством left: так его ведет компоновщик без перерисовки кнопки.
   466.667% собственной ширины = прежний путь от -70% до 140% ширины кнопки. */
.btn.primary{overflow:hidden}
.btn.primary::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-18deg);
  animation:prsheen 5.8s cubic-bezier(.4,0,.2,1) infinite}
@keyframes prsheen{0%,74%{transform:translateX(0) skewX(-18deg)}90%,100%{transform:translateX(466.667%) skewX(-18deg)}}
html.nx-lite .btn.primary::after{display:none}
/* nx-lite: без стекла, тяжелых слоев и вечных анимаций */
html.nx-lite *,html.nx-lite *::before,html.nx-lite *::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.nx-booted #load{display:none!important}
html.nx-lite .mesh,html.nx-lite .orbfx,html.nx-lite canvas.dust,html.nx-lite .btn.dl::after,html.nx-lite .marq::after{display:none!important}
html.nx-lite .term::before,html.nx-lite .appwin::before,html.nx-lite .band::before,
html.nx-lite .case,html.nx-lite .case .n,html.nx-lite .bento .cell::after,html.nx-lite .bento .idx{animation:none!important}
.nx-lite-offer{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:120;display:flex;align-items:center;gap:12px;
  padding:10px 12px 10px 16px;border:1px solid var(--line-2);border-radius:12px;background:rgba(13,13,18,.97);
  font:400 13px var(--disp);color:var(--dim);box-shadow:0 24px 50px -20px rgba(0,0,0,.9);max-width:92vw}
.nx-lite-offer button{border:0;cursor:pointer;font:600 12.5px var(--disp)}
.nx-lite-offer .on{color:#fff;background:var(--g2);padding:7px 14px;border-radius:8px;
  box-shadow:0 6px 18px -8px rgba(217,70,239,.5);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,filter .25s}
.nx-lite-offer .on:hover{transform:translateY(-1px);filter:brightness(1.09);box-shadow:0 10px 24px -8px rgba(217,70,239,.65)}
.nx-lite-offer .x{transition:color .2s}
.nx-lite-offer .x:hover{color:var(--text)}
.nx-lite-offer .x{background:transparent;color:var(--dimmer);font-size:16px;padding:4px 6px}
.nx-lite-toggle{border:0;background:transparent;color:var(--dimmer);cursor:pointer;font:400 12px var(--mono);padding:0;
  text-decoration:underline dotted;text-underline-offset:3px}
.nx-lite-toggle:hover{color:var(--dim)}
/* критично до полного CSS: ничего не мигает при загрузке */
.lang-m,.nxlt-t{opacity:0;visibility:hidden}
#pgfade{position:fixed;inset:0;z-index:200;background:#060608;pointer-events:none}
/* плавающий свет: сферы живут в странице и скроллятся с ней */
body{position:relative}
.orbfx{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden;
  opacity:0;transition:opacity .5s ease}
.orbfx.on{opacity:1}
.orbfx .orbin{position:absolute;inset:0}
/* Сфера: раньше диск цвета под filter:blur(72px), размытие пересчитывалось на
   каждом кадре дрейфа. Теперь то же размытие записано градиентом: точки на
   радиусе диска ±k·72px, яркость по профилю размытого гауссианом диска.
   Поля 216px (3σ) вокруг диска держат ореол, центр и дрейф прежние.
   Отличие от прежнего вида до 4 единиц яркости из 255. */
.orbfx i{position:absolute;display:block;box-sizing:content-box;padding:216px;margin:-216px}
.orbfx .o1{width:44vmin;height:44vmin;top:18vh;left:58vw;animation:gfxA 49s ease-in-out infinite alternate;
  background:radial-gradient(circle,rgba(124,58,237,.1288) 0,rgba(124,58,237,.1252) calc(22vmin - 144px),rgba(124,58,237,.1025) calc(22vmin - 72px),rgba(124,58,237,.08) calc(22vmin - 36px),rgba(124,58,237,.0554) 22vmin,rgba(124,58,237,.0322) calc(22vmin + 36px),rgba(124,58,237,.0155) calc(22vmin + 72px),rgba(124,58,237,.0061) calc(22vmin + 108px),rgba(124,58,237,.0019) calc(22vmin + 144px),rgba(124,58,237,.0005) calc(22vmin + 180px),rgba(124,58,237,0) calc(22vmin + 216px))}
.orbfx .o2{width:34vmin;height:34vmin;top:125vh;left:4vw;animation:gfxB 63s ease-in-out infinite alternate;
  background:radial-gradient(circle,rgba(217,70,239,.08) 0,rgba(217,70,239,.0732) calc(17vmin - 144px),rgba(217,70,239,.0599) calc(17vmin - 72px),rgba(217,70,239,.0468) calc(17vmin - 36px),rgba(217,70,239,.0322) 17vmin,rgba(217,70,239,.0186) calc(17vmin + 36px),rgba(217,70,239,.0089) calc(17vmin + 72px),rgba(217,70,239,.0035) calc(17vmin + 108px),rgba(217,70,239,.0011) calc(17vmin + 144px),rgba(217,70,239,.0003) calc(17vmin + 180px),rgba(217,70,239,0) calc(17vmin + 216px))}
.orbfx .o3{width:28vmin;height:28vmin;top:250vh;left:70vw;animation:gfxC 55s ease-in-out infinite alternate;
  background:radial-gradient(circle,rgba(167,139,250,.07) 0,rgba(167,139,250,.0597) calc(14vmin - 144px),rgba(167,139,250,.0493) calc(14vmin - 72px),rgba(167,139,250,.0384) calc(14vmin - 36px),rgba(167,139,250,.0266) 14vmin,rgba(167,139,250,.0153) calc(14vmin + 36px),rgba(167,139,250,.0073) calc(14vmin + 72px),rgba(167,139,250,.0028) calc(14vmin + 108px),rgba(167,139,250,.0009) calc(14vmin + 144px),rgba(167,139,250,.0002) calc(14vmin + 180px),rgba(167,139,250,0) calc(14vmin + 216px))}
.orbfx .o4{width:38vmin;height:38vmin;top:385vh;left:10vw;animation:gfxC 59s ease-in-out infinite alternate;
  background:radial-gradient(circle,rgba(124,58,237,.0996) 0,rgba(124,58,237,.0942) calc(19vmin - 144px),rgba(124,58,237,.0768) calc(19vmin - 72px),rgba(124,58,237,.06) calc(19vmin - 36px),rgba(124,58,237,.0413) 19vmin,rgba(124,58,237,.024) calc(19vmin + 36px),rgba(124,58,237,.0115) calc(19vmin + 72px),rgba(124,58,237,.0045) calc(19vmin + 108px),rgba(124,58,237,.0014) calc(19vmin + 144px),rgba(124,58,237,.0003) calc(19vmin + 180px),rgba(124,58,237,0) calc(19vmin + 216px))}
.orbfx .o5{width:30vmin;height:30vmin;top:505vh;left:64vw;animation:gfxA 67s ease-in-out infinite alternate;
  background:radial-gradient(circle,rgba(217,70,239,.07) 0,rgba(217,70,239,.0613) calc(15vmin - 144px),rgba(217,70,239,.0504) calc(15vmin - 72px),rgba(217,70,239,.0394) calc(15vmin - 36px),rgba(217,70,239,.0272) 15vmin,rgba(217,70,239,.0157) calc(15vmin + 36px),rgba(217,70,239,.0075) calc(15vmin + 72px),rgba(217,70,239,.0029) calc(15vmin + 108px),rgba(217,70,239,.0009) calc(15vmin + 144px),rgba(217,70,239,.0002) calc(15vmin + 180px),rgba(217,70,239,0) calc(15vmin + 216px))}
.orbfx .o6{width:34vmin;height:34vmin;top:615vh;left:30vw;animation:gfxB 53s ease-in-out infinite alternate;
  background:radial-gradient(circle,rgba(167,139,250,.08) 0,rgba(167,139,250,.0732) calc(17vmin - 144px),rgba(167,139,250,.0599) calc(17vmin - 72px),rgba(167,139,250,.0468) calc(17vmin - 36px),rgba(167,139,250,.0322) 17vmin,rgba(167,139,250,.0186) calc(17vmin + 36px),rgba(167,139,250,.0089) calc(17vmin + 72px),rgba(167,139,250,.0035) calc(17vmin + 108px),rgba(167,139,250,.0011) calc(17vmin + 144px),rgba(167,139,250,.0003) calc(17vmin + 180px),rgba(167,139,250,0) calc(17vmin + 216px))}
/* на узком экране (меньшая сторона до 540px) диск мал рядом с размытием,
   и профиль другой: центр тусклее, ореол шире */
@media (max-width:539px),(max-height:539px){
  .orbfx .o1{background:radial-gradient(circle,rgba(124,58,237,.0696) 0,rgba(124,58,237,.0696) calc(22vmin - 144px),rgba(124,58,237,.067) calc(22vmin - 72px),rgba(124,58,237,.0568) calc(22vmin - 36px),rgba(124,58,237,.0405) 22vmin,rgba(124,58,237,.0238) calc(22vmin + 36px),rgba(124,58,237,.0115) calc(22vmin + 72px),rgba(124,58,237,.0045) calc(22vmin + 108px),rgba(124,58,237,.0014) calc(22vmin + 144px),rgba(124,58,237,.0003) calc(22vmin + 180px),rgba(124,58,237,0) calc(22vmin + 216px))}
  .orbfx .o2{background:radial-gradient(circle,rgba(217,70,239,.0332) 0,rgba(217,70,239,.0332) calc(17vmin - 144px),rgba(217,70,239,.0289) calc(17vmin - 72px),rgba(217,70,239,.0265) calc(17vmin - 36px),rgba(217,70,239,.0199) 17vmin,rgba(217,70,239,.0122) calc(17vmin + 36px),rgba(217,70,239,.006) calc(17vmin + 72px),rgba(217,70,239,.0024) calc(17vmin + 108px),rgba(217,70,239,.0007) calc(17vmin + 144px),rgba(217,70,239,.0002) calc(17vmin + 180px),rgba(217,70,239,0) calc(17vmin + 216px))}
  .orbfx .o3{background:radial-gradient(circle,rgba(167,139,250,.0183) 0,rgba(167,139,250,.0183) calc(14vmin - 144px),rgba(167,139,250,.0183) calc(14vmin - 72px),rgba(167,139,250,.0176) calc(14vmin - 36px),rgba(167,139,250,.0139) 14vmin,rgba(167,139,250,.0088) calc(14vmin + 36px),rgba(167,139,250,.0045) calc(14vmin + 72px),rgba(167,139,250,.0018) calc(14vmin + 108px),rgba(167,139,250,.0006) calc(14vmin + 144px),rgba(167,139,250,.0001) calc(14vmin + 180px),rgba(167,139,250,0) calc(14vmin + 216px))}
  .orbfx .o4{background:radial-gradient(circle,rgba(124,58,237,.0471) 0,rgba(124,58,237,.0471) calc(19vmin - 144px),rgba(124,58,237,.0426) calc(19vmin - 72px),rgba(124,58,237,.0377) calc(19vmin - 36px),rgba(124,58,237,.0277) 19vmin,rgba(124,58,237,.0166) calc(19vmin + 36px),rgba(124,58,237,.0081) calc(19vmin + 72px),rgba(124,58,237,.0032) calc(19vmin + 108px),rgba(124,58,237,.001) calc(19vmin + 144px),rgba(124,58,237,.0002) calc(19vmin + 180px),rgba(124,58,237,0) calc(19vmin + 216px))}
  .orbfx .o5{background:radial-gradient(circle,rgba(217,70,239,.0206) 0,rgba(217,70,239,.0206) calc(15vmin - 144px),rgba(217,70,239,.0206) calc(15vmin - 72px),rgba(217,70,239,.0195) calc(15vmin - 36px),rgba(217,70,239,.0151) 15vmin,rgba(217,70,239,.0095) calc(15vmin + 36px),rgba(217,70,239,.0047) calc(15vmin + 72px),rgba(217,70,239,.0019) calc(15vmin + 108px),rgba(217,70,239,.0006) calc(15vmin + 144px),rgba(217,70,239,.0001) calc(15vmin + 180px),rgba(217,70,239,0) calc(15vmin + 216px))}
  .orbfx .o6{background:radial-gradient(circle,rgba(167,139,250,.0332) 0,rgba(167,139,250,.0332) calc(17vmin - 144px),rgba(167,139,250,.0289) calc(17vmin - 72px),rgba(167,139,250,.0265) calc(17vmin - 36px),rgba(167,139,250,.0199) 17vmin,rgba(167,139,250,.0122) calc(17vmin + 36px),rgba(167,139,250,.006) calc(17vmin + 72px),rgba(167,139,250,.0024) calc(17vmin + 108px),rgba(167,139,250,.0007) calc(17vmin + 144px),rgba(167,139,250,.0002) calc(17vmin + 180px),rgba(167,139,250,0) calc(17vmin + 216px))}
}
@keyframes gfxA{to{transform:translate(-13vw,9vh) scale(1.12)}}
@keyframes gfxB{to{transform:translate(9vw,-7vh) scale(.92)}}
@keyframes gfxC{to{transform:translate(-7vw,-11vh) scale(1.07)}}
.dust{position:fixed;inset:0;z-index:1;pointer-events:none}
/* шапка-капсула */
header{background:transparent!important;border-bottom:0!important}
header.scrolled{backdrop-filter:none!important}
.hd{height:56px;margin-top:14px;padding:0 8px 0 20px;border:1px solid var(--line);border-radius:100px;
  background:rgba(10,10,15,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  transition:background .3s,box-shadow .3s,border-color .3s}
header.scrolled .hd{background:rgba(8,8,12,.85);border-color:var(--line-2);box-shadow:0 18px 44px -22px rgba(0,0,0,.85)}
.logo{font-size:17px}
nav.top{gap:20px}
nav.top a{font-size:14px}
.sep{width:1px;height:16px;background:var(--line-2)}
/* язык: тихий текстовый пункт */
.lang{position:relative}
.lang-b{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--dim);cursor:pointer;font:500 12px var(--mono);letter-spacing:.08em;padding:6px 2px;transition:color .2s}
.lang-b::after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.lang-b:hover,.lang.open .lang-b{color:var(--text)}
.lang.open .lang-b::after{transform:rotate(-135deg) translateY(2px)}
.lang-m{position:absolute;top:calc(100% + 18px);right:-8px;min-width:172px;padding:6px;border:1px solid var(--line-2);border-radius:12px;background:rgba(13,13,18,.97);box-shadow:0 24px 50px -20px rgba(0,0,0,.9);display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,visibility .2s,transform .2s}
.lang.open .lang-m{opacity:1;visibility:visible;transform:none}
.lang-m button{border:0;background:transparent;color:var(--dim);cursor:pointer;text-align:left;font:500 13px var(--disp);padding:9px 11px;border-radius:7px;transition:color .15s,background .15s}
.lang-m button:hover:not(:disabled){color:var(--text);background:rgba(139,92,246,.1)}
.lang-m button.on{color:var(--violet-2)}
.lang-m button:disabled{color:var(--dimmer);cursor:default}
nav.top .lang-m a{display:flex;align-items:center;color:var(--dim);font:500 13px var(--disp);padding:9px 11px;border-radius:7px;transition:color .15s,background .15s}
.lang-m button{display:flex;align-items:center}
.lang-m .fl{width:17px;height:12px;border-radius:2px;margin-right:10px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.09)}
.nxlt{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:100px;
  border:1px solid rgba(167,139,250,.2);background:rgba(109,40,217,.06);font:500 10px var(--mono);letter-spacing:.08em;
  color:var(--dim);cursor:pointer;white-space:nowrap;text-decoration:none!important;
  transition:border-color .3s,color .3s,background .3s,box-shadow .3s,transform .3s}
.nxlt:hover{border-color:rgba(167,139,250,.4);color:var(--text);box-shadow:0 0 16px rgba(167,139,250,.1);transform:translateY(-1px)}
.nxlt-i{width:13px;height:13px;flex:none;color:var(--fuchsia-2);opacity:.78;transition:color .25s,opacity .25s,transform .35s cubic-bezier(.16,1,.3,1)}
.nxlt-l{line-height:1}
.nxlt-s{position:relative;width:18px;height:10px;flex:none;border:1px solid rgba(196,181,253,.25);border-radius:100px;background:rgba(196,181,253,.06);transition:border-color .28s,background .28s}
.nxlt-s::after{content:"";position:absolute;width:6px;height:6px;left:1px;top:1px;border-radius:50%;background:currentColor;opacity:.52;
  transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s,background .25s}
.nxlt-t{position:absolute;left:50%;top:calc(100% + 12px);z-index:120;width:258px;padding:13px 15px;border:1px solid rgba(196,181,253,.22);border-radius:12px;
  background:rgba(12,8,22,.97);box-shadow:0 18px 44px rgba(0,0,0,.5);color:var(--dim);text-align:left;white-space:normal;
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-5px) scale(.97);transform-origin:top center;
  transition:opacity .2s,visibility .2s,transform .25s cubic-bezier(.16,1,.3,1)}
.nxlt-t::before{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;border-left:1px solid rgba(196,181,253,.22);border-top:1px solid rgba(196,181,253,.22);
  background:rgba(12,8,22,.97);transform:translateX(-50%) rotate(45deg)}
.nxlt-t strong{display:block;margin-bottom:5px;color:var(--text);font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.nxlt-t>span{display:block;font:400 12px/1.5 var(--disp);letter-spacing:0;text-transform:none}
.nxlt:hover .nxlt-t{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
html.nx-lite .nxlt{background:var(--g2);border-color:var(--violet);color:#fff;box-shadow:0 0 20px rgba(217,70,239,.18)}
html.nx-lite .nxlt .nxlt-i{color:#fff;opacity:1;transform:scale(1.08)}
html.nx-lite .nxlt .nxlt-s{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.16)}
html.nx-lite .nxlt .nxlt-s::after{transform:translateX(8px);opacity:1;background:#fff}
@media (max-width:900px){.nxlt{display:none}}
nav.top .lang-m a:hover{color:var(--text);background:rgba(139,92,246,.1)}
nav.top .lang-m a::after{display:none}
.lang-m{max-height:70vh;overflow:auto}
/* Скачать: единственная заливная кнопка шапки, с тихим бликом */
.btn.dl{border:0;color:#fff;font-weight:700;font-size:14px;padding:10px 20px;border-radius:100px;background:var(--g2);
  overflow:hidden;box-shadow:0 10px 28px -12px rgba(217,70,239,.55),inset 0 1px 0 rgba(255,255,255,.22)}
.btn.dl:hover{background:var(--g2)}
.btn.dl::after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-18deg);animation:dlsheen 5.2s cubic-bezier(.4,0,.2,1) infinite}
/* 436.364% собственной ширины = прежний путь от -90% до 150% ширины кнопки */
@keyframes dlsheen{0%,74%{transform:translateX(0) skewX(-18deg)}92%,100%{transform:translateX(436.364%) skewX(-18deg)}}
.btn.dl{transition:transform .55s cubic-bezier(.22,.61,.36,1),box-shadow .55s ease}
.btn.dl:hover{transform:translateY(-1px);box-shadow:0 16px 32px -12px rgba(217,70,239,.62),inset 0 1px 0 rgba(255,255,255,.22)}
@media (max-width:1220px){nav.top{gap:14px}nav.top a{font-size:13px}}
@media (max-width:900px){
  .sep{display:none}
  nav.top{margin-left:auto;gap:10px}
  .lang{display:block!important}
  .lang-b{min-width:38px;min-height:38px;justify-content:center;padding:8px 7px;border:1px solid var(--line-2);border-radius:100px;background:rgba(139,92,246,.06)}
  .lang-m{position:fixed;z-index:240;top:82px;right:14px;width:min(260px,calc(100vw - 28px));max-height:calc(100vh - 100px);padding:8px;border-radius:16px}
  nav.top .lang-m a{display:flex!important}
  .lang-m button,nav.top .lang-m a{min-height:42px;padding:10px 12px}
}
@media (max-width:560px){
  .hd{height:52px;margin-top:10px;padding:0 6px 0 16px}
  .logo i{display:none}
  .lang-m{top:72px;right:10px;width:calc(100vw - 20px);max-height:calc(100vh - 84px)}
  .btn.dl{padding:9px 14px;font-size:13px}
}
/* мягкая смена страниц: вуаль поверх, фон не пересобирается */
html{background:#060608}
#pgfade{position:fixed;inset:0;z-index:200;background:#060608;pointer-events:none;opacity:0;
  transition:opacity .21s ease;animation:pgin .6s ease}
html.pageout #pgfade{opacity:1}
@keyframes pgin{0%,40%{opacity:1}100%{opacity:0}}
/* скролл: премиальное появление, три канала с разным таймингом */
.rv{opacity:0;transform:translateY(18px);filter:blur(12px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.15s cubic-bezier(.22,1,.36,1),filter 1.05s cubic-bezier(.22,1,.36,1)}
.rv.in{opacity:1;transform:none;filter:blur(0)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;filter:none}}
/* футер: тонкая световая линия вместо плоской границы, колонки без дублей */
.rfoot{border-top:0!important;position:relative}
.rfoot::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(167,139,250,.4) 30%,rgba(217,70,239,.4) 70%,transparent)}
.rfoot .cols{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.rfoot h4{display:flex;align-items:center;gap:9px}
.rfoot h4::before{content:"";width:14px;height:1px;background:var(--g2);flex:none}
.rfoot ul a{display:inline-block;transition:color .3s ease,transform .5s cubic-bezier(.22,.61,.36,1)}
.rfoot ul a:hover{color:var(--text);transform:translateX(3px)}
.rfoot .ftg{display:flex;width:max-content;align-items:center;gap:9px;margin-top:18px;
  font:500 13px var(--mono);color:var(--violet-2);transition:color .3s ease}
.rfoot .ftg svg{width:14px;height:14px;flex:none}
.rfoot .ftg:hover{color:var(--fuchsia-2)}
.rfoot .ftg em{font-style:normal;color:var(--dimmer)}
@media (max-width:1000px){.rfoot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rfoot .cols{grid-template-columns:1fr}}
