@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/inter-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/inter-600-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-weight:800;font-display:swap;src:url(/fonts/inter-800-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-weight:800;font-display:swap;src:url(/fonts/inter-800-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0a0a0c;--card:#121216;--line:#27272a;--text:#fff;--dim:#9ca3af;--dim2:#6b7280;--accent:#cf0;--accent-t:#cf0;--on-accent:#000;--glow:#cf03;--fly:#cf0c;--sans:"Inter",system-ui,sans-serif;--mono:"Courier New",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;max-width:100vw;line-height:1.5;overflow-x:clip}body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor input,body.has-cursor textarea,body.has-cursor label{cursor:none}::selection{background:var(--accent);color:#000}.wrap{max-width:1280px;margin:0 auto;padding:0 24px}.skip{background:var(--accent);color:#000;z-index:100;padding:8px 14px;font-weight:600;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}.cur-dot,.cur-ring{z-index:9999;pointer-events:none;border-radius:50%;display:none;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}.has-cursor .cur-dot,.has-cursor .cur-ring{display:block}.cur-dot{background:var(--accent-t);width:8px;height:8px}.cur-ring{border:1px solid var(--glow);width:36px;height:36px;transition:transform .15s ease-out}.ticker{background:var(--card);border-bottom:1px solid var(--line);font-family:var(--mono);white-space:nowrap;z-index:2;padding:6px 0;font-size:12px;position:relative;overflow:hidden}.ticker-in{color:var(--dim);gap:32px;padding-left:100%;animation:24s linear infinite marquee;display:inline-flex}.ticker b{color:var(--accent-t);font-weight:700}.ticker i{font-style:normal}.ticker em{color:var(--text);font-variant-numeric:tabular-nums;font-style:normal}.ticker em.up{color:#4ade80}.ticker em.down{color:#f87171}@keyframes marquee{to{transform:translate(-100%)}}.hdr{border-bottom:1px solid var(--line);z-index:1;position:relative}.hdr .wrap{justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;display:flex}.logo{font-family:var(--mono);letter-spacing:.05em;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;font-size:20px;font-weight:700;transition:color .2s;display:inline-flex}.logo:hover{color:var(--accent-t)}.logo i{opacity:0;filter:blur(4px);transform:translate(var(--lx),var(--ly)) rotate(var(--lr)) scale(.6);transition:transform .6s cubic-bezier(.18,1.3,.3,1) var(--ld),opacity .35s ease var(--ld),filter .45s ease var(--ld);font-style:normal;display:inline-block}.logo.in i{opacity:1;filter:none;transform:none}.logo i.acc{color:var(--accent-t)}@media (width<=860px){.logo i{filter:none;transform:translateX(var(--lx));transition:transform .45s cubic-bezier(.2,.9,.25,1.1) var(--ld),opacity .3s ease var(--ld)}}@media (prefers-reduced-motion:reduce){.logo i{opacity:1;filter:none;transition:none;transform:none}}.hr{align-items:center;gap:8px;display:flex}.hbtn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text);border:1px solid var(--line);background:0 0;padding:8px 16px;font-size:12px;text-decoration:none;transition:border-color .3s,background .3s}.hbtn:hover{border-color:var(--accent-t);background:var(--glow)}main{z-index:1;position:relative}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:64px 0 96px;display:grid}.badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent-t);border:1px solid var(--glow);background:var(--glow);backdrop-filter:blur(4px);margin-bottom:16px;padding:4px 12px;font-size:12px;display:inline-block}h1{letter-spacing:-.025em;margin-bottom:24px;font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1.1}.lead{color:var(--dim);max-width:32rem;margin-bottom:32px;font-size:18px}.btn{background:var(--accent);color:var(--on-accent);cursor:pointer;font-weight:600;font-family:var(--sans);box-shadow:0 0 20px var(--glow);border:0;justify-content:center;align-items:center;gap:8px;padding:16px 32px;font-size:16px;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.btn:hover{background:var(--text);color:var(--bg);box-shadow:0 0 30px var(--glow);transform:translateY(-4px)}.btn.wide{text-transform:uppercase;letter-spacing:.08em;width:100%;font-size:14px;font-weight:700}.btn:disabled{opacity:.6;transform:none}.preview{border:1px solid var(--line);background:var(--card);padding:24px;transition:border-color .5s;box-shadow:0 20px 40px #00000026}.preview:hover{border-color:var(--glow)}.tabs{border-bottom:1px solid var(--line);gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.tab{font-family:var(--mono);color:var(--dim);background:0 0;border:0;padding:4px 12px;font-size:12px;transition:all .2s}.tab:hover{color:var(--text)}.tab.on{background:var(--accent);color:var(--on-accent);font-weight:700}.pv{font-family:var(--mono);min-height:140px;color:var(--text);flex-direction:column;justify-content:center;font-size:14px;display:flex}.pv-t{color:var(--accent-t);margin-bottom:4px}.pv-d{color:var(--dim);font-size:12px;line-height:1.6}.build{border-top:1px solid var(--line);padding:80px 0}.over{font-family:var(--mono);color:var(--dim2);text-transform:uppercase;letter-spacing:.14em;margin-bottom:48px;font-size:12px;font-weight:400;line-height:1.5}.cards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.card{border:1px solid var(--line);background:var(--card);padding:32px;transition:border-color .3s,transform .3s}.card:hover{border-color:var(--accent-t);transform:translateY(-4px)}.card .n{font-family:var(--mono);color:var(--accent-t);transform-origin:0;margin-bottom:24px;font-size:14px;transition:transform .3s}.card:hover .n{transform:scale(1.1)}.card h3{margin-bottom:12px;font-size:20px;font-weight:700;transition:color .2s}.card:hover h3{color:var(--accent-t)}.card p{color:var(--dim);font-size:14px;line-height:1.65}.ctor{border-top:1px solid var(--line);padding:80px 0}.ctor-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:48px;display:flex}.ctor-grid{grid-template-columns:2fr 1fr;gap:32px;display:grid}.nodes{grid-template-columns:1fr 1fr;gap:16px;display:grid}.node{text-align:left;border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--text);font-family:var(--sans);padding:24px;transition:border-color .4s,background .4s,box-shadow .4s,transform .4s}.node:hover{border-color:var(--accent-t)}.node.active{border-color:var(--accent-t);background:var(--glow);box-shadow:0 0 25px var(--glow);transform:translateY(-4px)}.node-t{font-family:var(--mono);color:var(--accent-t);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;display:flex}.ind{border:1px solid var(--line);border-radius:50%;width:16px;height:16px;transition:all .3s}.node:hover .ind{border-color:var(--accent-t)}.node.active .ind{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--glow)}.node .node-h{letter-spacing:0;margin-bottom:4px;font-size:18px;font-weight:700}.node p{color:var(--dim);font-size:12px;line-height:1.6}.schema{border:1px solid var(--line);background:var(--card);font-family:var(--mono);flex-direction:column;justify-content:space-between;min-height:320px;padding:24px;display:flex;position:relative;overflow:hidden}.schema .ghost{color:var(--line);opacity:.35;user-select:none;font-size:96px;font-weight:700;line-height:1;position:absolute;top:-40px;right:-40px}.sch{color:var(--dim);gap:12px;font-size:12px;display:grid;position:relative}.sch .wait{color:#eab308}.sch .ln{color:var(--dim2)}.sch .okl{color:var(--accent-t)}.sch-f{border-top:1px solid var(--line);margin-top:24px;padding-top:24px;position:relative}.sch-st{color:var(--dim);justify-content:space-between;margin-bottom:16px;font-size:12px;display:flex}.sch-st b.off{color:#f87171}.sch-st b.on{color:var(--accent-t)}@media (width<=960px){.ctor-grid{grid-template-columns:1fr}}@media (width<=640px){.nodes{grid-template-columns:1fr}.ctor{padding:56px 0}}.stack{border-top:1px solid var(--line);padding:48px 0}.chips{opacity:.7;flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.chips span{font-family:var(--mono);border:1px solid var(--line);background:var(--card);padding:8px 16px;font-size:14px}.contact{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:48px;margin-bottom:80px;padding:80px 0;display:grid}h2{margin-bottom:16px;font-size:30px;font-weight:700}.sub{color:var(--dim);margin-bottom:24px;font-size:14px}.calc{border:1px solid var(--line);background:var(--card);font-family:var(--mono);color:var(--text);padding:24px;font-size:12px;line-height:1.8}.calc-h{color:var(--accent-t);text-transform:uppercase;margin-bottom:8px}form{gap:24px;display:grid}form label{gap:8px;display:grid}form label>span,.lb{font-family:var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.lb{margin-bottom:8px;display:block}form input:not([type=checkbox]),form textarea{background:var(--card);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--sans);resize:none;padding:16px;font-size:16px;transition:border-color .2s}form input:focus,form textarea:focus{border-color:var(--accent-t);outline:none}.checks{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checks label{border:1px solid var(--line);cursor:pointer;user-select:none;align-items:center;gap:10px;padding:12px;font-size:14px;transition:border-color .2s;display:flex}.checks label:hover{border-color:var(--accent-t)}.checks input{opacity:0;pointer-events:none;position:absolute}.checks i{border:1px solid var(--line);flex:none;width:14px;height:14px;transition:all .2s}.checks label:has(input:checked){border-color:var(--accent-t)}.checks label:has(input:checked) i{background:var(--accent);border-color:var(--accent)}.hp{position:absolute;left:-9999px}.result{font-family:var(--mono);min-height:1.6em;color:var(--dim);font-size:13px}.result.err{color:#ff5a5a}.done{border:1px solid var(--accent-t);background:var(--glow);font-family:var(--mono);gap:12px;padding:24px;font-size:14px;animation:2s ease-in-out infinite pulse;display:grid}.done p{color:var(--accent-t)}.done .ok{color:var(--text);font-weight:700}.done .dim{color:var(--dim);font-size:12px}@keyframes pulse{50%{opacity:.6}}footer{border-top:1px solid var(--line);text-align:center;font-family:var(--mono);color:var(--dim2);z-index:1;padding:24px;font-size:12px;position:relative}.btn{translate:var(--mx,0) var(--my,0);transition:background .2s,transform .2s,box-shadow .2s,translate .35s cubic-bezier(.2,.9,.25,1.2)}.card,.node,.preview{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:border-color .3s,transform .35s cubic-bezier(.2,.9,.25,1.1),box-shadow .4s,background .4s}.card:hover,.node.active{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px)}.rv:not(.in){--rx:0deg;--ry:0deg}.fireflies i{translate:var(--fx,0) var(--fy,0);transition:translate .6s cubic-bezier(.2,.8,.2,1)}h1:hover{animation:.42s steps(2,end) glitch}@keyframes glitch{0%{text-shadow:none;transform:none}20%{text-shadow:-3px 0 #ff2bd6,3px 0 var(--accent);transform:translate(2px)}40%{text-shadow:3px 0 #ff2bd6,-3px 0 var(--accent);transform:translate(-2px)skew(-2deg)}60%{text-shadow:-2px 0 #ff2bd6,2px 0 var(--accent);transform:translate(1px)}to{text-shadow:none;transform:none}}.progress{z-index:60;background:var(--accent);transform-origin:0;width:100%;height:2px;box-shadow:0 0 10px var(--glow);display:none;position:fixed;top:0;left:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress{animation:linear both fill scroll(root);display:block}}@keyframes fill{to{transform:scaleX(1)}}@supports (animation-timeline:scroll()){.fireflies{animation:linear both drift scroll(root)}@keyframes drift{to{transform:translateY(-18vh)}}.hero .badge{animation:linear both badgeShift scroll(root);animation-range:0 60vh}@keyframes badgeShift{to{opacity:.4;transform:translateY(24px)}}}.sch .cnt{color:var(--text);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.progress,.fireflies,.hero .badge,h1:hover{animation:none}}.rip{position:relative;overflow:hidden}.ripple{pointer-events:none;border:2px solid var(--accent);opacity:.9;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;animation:.55s cubic-bezier(.2,.8,.2,1) forwards rip;position:absolute}@keyframes rip{to{opacity:0;border-width:1px;transform:scale(22)}}h1.glitch{animation:.42s steps(2,end) glitch}@media (pointer:coarse){.card,.node,.preview{transition:border-color .3s,box-shadow .4s,background .4s;transform:none}.fireflies i:nth-child(n+7){display:none}}.cases,.stack,.contact,.ctor{content-visibility:auto;contain-intrinsic-size:auto 600px}.cases{border-top:1px solid var(--line);padding:80px 0}.case-rail{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;gap:20px;padding:4px 0 18px;display:flex;overflow-x:auto}.case-rail::-webkit-scrollbar{height:6px}.case-rail::-webkit-scrollbar-track{background:var(--line);border-radius:3px}.case-rail::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.case-rail::-webkit-scrollbar-thumb:hover{background:var(--accent-t)}.case{scroll-snap-align:start;border:1px solid var(--line);background:var(--card);flex-direction:column;flex:0 0 min(400px,80vw);transition:border-color .3s,transform .3s;display:flex;overflow:hidden}.case:hover{border-color:var(--accent-t);transform:translateY(-4px)}.case-cover{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#15161b,#0c0d10);place-items:center;display:grid;position:relative;overflow:hidden}.case-cover img{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.case:hover .case-cover img{transform:scale(1.04)}.case-cover b{font-family:var(--mono);color:var(--line);user-select:none;font-size:88px;line-height:1}.case-cover:after{content:"";background:linear-gradient(to top,var(--card),transparent);pointer-events:none;height:40%;position:absolute;inset:auto 0 0}.case-body{flex-direction:column;flex:1;gap:10px;padding:22px 24px 24px;display:flex}.case-kind{font-family:var(--mono);letter-spacing:.14em;color:var(--accent-t);font-size:11px}.case h3{letter-spacing:-.01em;font-size:19px;font-weight:700}.case p{color:var(--dim);flex:1;font-size:14px;line-height:1.6}.case-tags{flex-wrap:wrap;gap:6px;display:flex}.case-tags i{font-style:normal;font-family:var(--mono);color:var(--dim);border:1px solid var(--line);padding:4px 8px;font-size:10.5px}.case-link{color:var(--accent-t);margin-top:6px;font-size:13.5px;font-weight:600;text-decoration:none}.case-link:hover{text-decoration:underline}.case-hint{font-family:var(--mono);letter-spacing:.12em;color:var(--dim-2);align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.case-hint:before{content:"";background:var(--line-2);width:22px;height:1px}@media (width<=640px){.cases{padding:56px 0}.case-rail{margin:0 calc(var(--pad,24px) * -1);padding-left:var(--pad,24px);padding-right:var(--pad,24px);gap:14px}.case{flex:0 0 82vw}.case:hover{transform:none}}.rv{opacity:0;will-change:transform,opacity;transform:translate(var(--tx,0),var(--ty,40px)) rotate(var(--rot,0)) scale(var(--sc,.95));transition:opacity .45s cubic-bezier(.2,.9,.25,1) var(--d,0s), transform .6s cubic-bezier(.18,1.25,.3,1) var(--d,0s)}.rv.in{opacity:1;will-change:auto;transform:none}.hero .rv{opacity:1;filter:none;transition:none;transform:none}@media (prefers-reduced-motion:reduce){.rv{opacity:1;filter:none;transition:none;transform:none}}.sch p{animation:.35s cubic-bezier(.18,1.2,.3,1) both assemble}.sch p:nth-child(2){animation-delay:60ms}.sch p:nth-child(3){animation-delay:.12s}.sch p:nth-child(4){animation-delay:.18s}.sch p:nth-child(5){animation-delay:.24s}.sch p:nth-child(6){animation-delay:.3s}.sch p:nth-child(7){animation-delay:.36s}.sch p:nth-child(n+8){animation-delay:.42s}@keyframes assemble{0%{opacity:0;filter:blur(3px);transform:translate(-14px)skew(-6deg)}to{opacity:1;filter:none;transform:none}}.fireflies{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fireflies i{background:radial-gradient(circle,var(--fly) 0%,transparent 70%);border-radius:50%;animation:8s linear infinite floatUp;position:absolute;bottom:-20px}@keyframes floatUp{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:.6}80%{opacity:.6}to{opacity:0;transform:translateY(-120vh)translate(50px)scale(1.2)}}.rise{opacity:0;filter:blur(6px);animation:.55s cubic-bezier(.18,1.2,.3,1) forwards rise;transform:translateY(24px)scale(.97)}.rise.d2{animation-delay:.12s}@keyframes rise{to{opacity:1;filter:none;transform:none}}@media (width<=860px){.hero{grid-template-columns:1fr;gap:32px;padding:48px 0 64px}.cards,.contact{grid-template-columns:1fr}.contact{gap:32px}.build,.contact{padding:56px 0}.chips{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.rise{opacity:1;animation:none;transform:none}.ticker-in{padding-left:0;animation:none}.done{animation:none}}
