:root{--bg:#07050d;--t:#f1ecff;--m:#a095c2;--p:#8b5cf6;--pl:#c4b5fd;--ln:#8b5cf62e;--gl:#1a1230a8}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--t);font:16px/1.65 Manrope,sans-serif;min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 50% at 15% 5%,#3b1d7a66,transparent),radial-gradient(50% 45% at 90% 25%,#6d28d94d,transparent),radial-gradient(70% 50% at 50% 115%,#4c1d9577,transparent)}
h1,h2,h3,.logo,#sc{font-family:Unbounded,sans-serif;font-weight:700;line-height:1.3}
a{color:var(--pl)}
#sky{position:fixed;inset:0;z-index:0;pointer-events:none}
nav,main,header,footer{position:relative;z-index:1}
.w{max-width:1040px;margin:0 auto;padding:0 20px}
.glass,.steps li,.nw article,.pc,dialog{background:var(--gl);border:1px solid var(--ln);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
nav{position:sticky;top:14px;z-index:20;max-width:1040px;margin:14px auto 0;width:calc(100% - 28px)}
.navp{display:flex;align-items:center;gap:4px;padding:8px 10px 8px 18px;border-radius:999px;background:#0d0818c9;border:1px solid var(--ln);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.logo{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t);text-decoration:none;margin-right:auto}
.logo img{height:28px;width:auto;filter:drop-shadow(0 0 8px #8b5cf6aa)}
nav a:not(.logo){color:var(--m);text-decoration:none;font-weight:700;font-size:14px;padding:8px 16px;border-radius:999px;transition:color .15s,background .15s}
nav a:not(.logo):hover{color:var(--t)}nav a.on{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7)}
.hero{min-height:calc(100vh - 80px);display:grid;place-items:center;text-align:center;padding:50px 20px 70px}
.hc{position:relative;z-index:2}.hc>*{animation:up .8s cubic-bezier(.2,.7,.2,1) both}
.hc>:nth-child(2){animation-delay:.12s}.hc>:nth-child(3){animation-delay:.24s}.hc>:nth-child(4){animation-delay:.36s}.hc>:nth-child(5){animation-delay:.6s}
@keyframes up{from{opacity:0;transform:translateY(22px)}}
.chip{display:inline-flex;align-items:center;gap:10px;padding:7px 18px;border-radius:999px;background:#8b5cf61f;border:1px solid var(--ln);color:var(--pl);font:700 13px Unbounded,sans-serif}
.chip b{width:8px;height:8px;border-radius:50%;background:#c084fc;box-shadow:0 0 0 0 #c084fc;animation:pl 2s infinite}
@keyframes pl{70%{box-shadow:0 0 0 9px #c084fc00}}
.hero h1{font-weight:800;font-size:clamp(26px,6.6vw,78px);margin:26px 0 22px;letter-spacing:-.02em;background:linear-gradient(100deg,#fff 20%,#c4b5fd 45%,#a855f7 60%,#fff 85%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:up .8s .12s both,shine 7s linear infinite;filter:drop-shadow(0 0 28px #7c3aed88)}
@keyframes shine{to{background-position:-220% 0}}
.hero p{color:#c7bde6;max-width:52ch;margin:0 auto 34px;font-size:18px}
.tip{display:block;margin-top:22px;color:var(--m);font-size:13px}
.orb{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;overflow:hidden}
.orb:before{content:"";position:absolute;width:min(90vw,720px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#7c3aed55,#4c1d9522 45%,transparent 70%);filter:blur(20px)}
.ring{position:absolute;width:min(94vw,760px);aspect-ratio:1;transform:rotate(-16deg) scaleY(.34)}
.ring>div{width:100%;height:100%;border-radius:50%;border:1px solid #a78bfa38;animation:spin 38s linear infinite;position:relative}
.ring i{position:absolute;top:-5px;left:50%;width:11px;height:11px;margin-left:-5px;border-radius:50%;background:#fff;box-shadow:0 0 20px 7px #8b5cf6}
.r2{width:min(130vw,1080px);transform:rotate(12deg) scaleY(.3)}.r2>div{animation-duration:62s;animation-direction:reverse;border-color:#a78bfa22}
@keyframes spin{to{transform:rotate(360deg)}}
.btn,button{font:inherit;cursor:pointer;display:inline-block;border:0;border-radius:14px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-weight:800;padding:12px 26px;text-decoration:none;transition:box-shadow .2s,transform .15s}
.btn:hover,button:hover{box-shadow:0 0 34px #8b5cf699;transform:translateY(-2px)}
.btn.big{padding:17px 38px;font-size:17px;border-radius:16px;box-shadow:0 0 40px #7c3aed66}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--pl);outline-offset:3px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;counter-reset:s;padding-bottom:70px}
.steps li{counter-increment:s;border-radius:20px;padding:24px;position:relative;transition:transform .2s,border-color .2s}
.steps li:hover{transform:translateY(-4px);border-color:var(--p)}
.steps li:before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#a855f7);font:800 14px Unbounded;margin-bottom:14px}
.steps b{display:block;font:700 15px Unbounded;margin-bottom:6px}.steps span{color:var(--m);font-size:15px}
.ph{padding:56px 0 24px}.ph h1{font-size:clamp(22px,4vw,34px)}.ph p{color:var(--m);margin:8px 0 22px}
.lead{color:#c7bde6;max-width:60ch;margin-bottom:24px}
section{padding:30px 0}h2{font-size:16px;margin-bottom:20px}
input,textarea,select{font:inherit;background:#0d0818b0;color:var(--t);border:1px solid var(--ln);border-radius:12px;padding:12px 15px;width:100%}
input:focus,textarea:focus,select:focus{border-color:var(--p);outline:0;box-shadow:0 0 0 3px #8b5cf633}
#q{max-width:360px}
.cat{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;padding-bottom:70px}
.pc{position:relative;overflow:hidden;cursor:pointer;color:var(--t);font:inherit;aspect-ratio:3/4.1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:14px;padding:18px 14px 16px;border-radius:22px;text-align:center;box-shadow:none;animation:in .55s ease both;animation-delay:calc(var(--i)*40ms);transition:transform .25s,border-color .25s,box-shadow .25s}
.pc:before{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,30%),#8b5cf63d,transparent 65%);opacity:0;transition:opacity .3s}
.pc:after{content:"";position:absolute;left:18%;right:18%;bottom:64px;height:20px;border-radius:50%;background:radial-gradient(#a855f799,transparent 70%)}
.pc:hover{transform:translateY(-7px);border-color:var(--p);box-shadow:0 14px 44px #7c3aed55}.pc:hover:before{opacity:1}
@keyframes in{from{opacity:0;transform:translateY(14px) scale(.97)}}
.pc em{position:relative;z-index:1;font:700 13px Unbounded;font-style:normal;width:100%;padding:10px 8px;border-radius:12px;background:#0a0614cc;border:1px solid var(--ln);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc:hover em{border-color:var(--p);color:#fff}
.nw{columns:3 280px;column-gap:18px;padding-bottom:70px}
.nw article{break-inside:avoid;margin-bottom:18px;border-radius:20px;overflow:hidden;transition:border-color .2s}.nw article:hover{border-color:var(--p)}
.nw img{display:block;width:100%}.nw .in{padding:18px}
.nw time{display:inline-block;background:#8b5cf624;border-radius:99px;padding:2px 12px;font-size:13px;color:var(--pl)}
.nw h3{font-size:13px;margin:12px 0 8px}.nw p{color:#d2c9ea;font-size:15px;white-space:pre-line;overflow-wrap:anywhere}
.news{display:grid;gap:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.box{background:var(--gl);border:1px solid var(--ln);border-radius:14px;padding:16px 18px}
form{display:grid;gap:16px;max-width:580px}form.glass{padding:26px;border-radius:22px}
label{font-weight:700;font-size:14px;display:grid;gap:6px}label i{font-style:normal;color:var(--m);font-weight:400}
.ok{background:#2a1a5c;border:1px solid var(--p);border-radius:14px;padding:14px 18px;max-width:580px}.er{background:#4a1f2e;border-radius:12px;padding:10px 14px;margin-bottom:14px;max-width:580px}
.hp{position:absolute;left:-9999px}
dialog{color:var(--t);border-radius:24px;padding:24px;width:min(400px,94vw);margin:auto;background:#120a24f2;border-color:var(--p);box-shadow:0 0 70px #7c3aed66}
dialog::backdrop{background:#000c}dialog[open]{animation:pop .22s ease-out}@keyframes pop{from{transform:scale(.94);opacity:0}}
dialog h3{font-size:16px;margin:6px 0 8px}dialog canvas{display:block;margin:0 auto;cursor:grab}
.x{float:right;background:#8b5cf62b;padding:5px 14px;box-shadow:none}
.soc{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.soc a,.soc span{background:#8b5cf624;border-radius:10px;padding:6px 14px;font-size:14px;text-decoration:none}
#sc{position:fixed;right:16px;bottom:16px;z-index:30;padding:8px 16px;border-radius:99px;background:#0d0818cc;border:1px solid var(--ln);font-size:12px;color:var(--pl);pointer-events:none}
#sc.b{animation:bump .3s}@keyframes bump{40%{transform:scale(1.25);color:#fff}}
footer{padding:30px 0;border-top:1px solid var(--ln);color:var(--m);font-size:14px;background:#07050dcc}
@media(max-width:640px){nav a:not(.logo){padding:8px 10px;font-size:13px}.logo span{display:none}.hero p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.stage{position:relative;flex:1;width:100%;min-height:0}
.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 14px #000a);pointer-events:none}
.stage .fg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:78%;aspect-ratio:1/2;image-rendering:pixelated}
.nw p{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.nw h3 a{color:var(--t);text-decoration:none}.nw h3 a:hover{color:var(--pl)}
.nw .cv{display:block;overflow:hidden}.nw .cv img{transition:transform .5s}.nw article:hover .cv img{transform:scale(1.05)}
.mr{display:inline-block;margin-top:12px;color:var(--pl);font-weight:800;font-size:14px;text-decoration:none}.mr:hover{color:#fff}
.art{max-width:780px}.back{display:inline-block;margin:40px 0 18px;color:var(--m);text-decoration:none;font-weight:700}.back:hover{color:var(--t)}
.post{border-radius:24px;overflow:hidden;margin-bottom:70px}.post img{display:block;width:100%}.post .in{padding:clamp(20px,4vw,36px)}
.post h1{font-size:clamp(20px,3.4vw,30px);margin:14px 0 18px}.post .tx{white-space:pre-line;overflow-wrap:anywhere;font-size:17px;color:#ded6f2}
