:root{--bg:#0B111C;--bg2:#101828;--card:#141E30;--line:#22304A;--txt:#E9EEF6;--mut:#9FB0C8;--acc:#2EE6A8;--acc2:#1DB980;--red:#FF6B70;--amber:#FFB547;--blue:#5AA8FF;--r:18px;--ease:cubic-bezier(.34,1.56,.64,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font-family:'Inter',-apple-system,'Segoe UI',Roboto,'PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html[lang^=zh] body{font-family:'PingFang SC','Microsoft YaHei','Noto Sans SC','Inter',sans-serif}
a{color:inherit}
img,video{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(46,230,168,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(46,230,168,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 20%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 20%,#000 30%,transparent 75%);pointer-events:none}
/* header */
header{position:sticky;top:0;z-index:50;background:rgba(11,17,28,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(34,48,74,.6)}
.hd{display:flex;align-items:center;gap:22px;height:66px}
.logo{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.logo b{font-weight:900;font-size:24px;letter-spacing:.04em}
.logo span{font-size:12px;color:var(--mut)}
nav{display:flex;gap:20px;margin-left:12px}
nav a{text-decoration:none;color:var(--mut);font-size:15px;transition:color .2s}
nav a:hover{color:var(--txt)}
.hd-r{margin-left:auto;display:flex;align-items:center;gap:10px}
.langs{display:flex;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px}
.langs button{white-space:nowrap;border:0;background:none;color:var(--mut);font:inherit;font-size:13px;font-weight:600;padding:6px 11px;border-radius:999px;cursor:pointer;transition:all .25s var(--ease)}
.langs button.on{background:var(--acc);color:#0B111C}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:12px;font:inherit;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .35s var(--ease),background .2s,border-color .2s,box-shadow .3s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.btn-p{background:var(--acc);color:#0B111C;box-shadow:0 8px 30px rgba(46,230,168,.25)}
.btn-p:hover{box-shadow:0 12px 40px rgba(46,230,168,.4)}
.btn-g{background:transparent;color:var(--txt);border-color:var(--line)}
.btn-g:hover{border-color:var(--acc)}
.btn-s{height:38px;padding:0 14px;font-size:14px;border-radius:10px}
.cart-btn{position:relative}
.cart-n{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:10px;background:var(--red);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px;transform:scale(0);transition:transform .4s var(--ease)}
.cart-n.on{transform:scale(1)}
.burger{display:none;background:none;border:0;color:var(--txt);cursor:pointer;padding:6px}
/* hero */
.hero{position:relative;padding:72px 0 40px;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center;position:relative}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(46,230,168,.1);border:1px solid rgba(46,230,168,.35);color:var(--acc);font-weight:700;font-size:13px}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--acc);animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04;margin:18px 0 18px;font-weight:900;letter-spacing:-.02em}
h1 .g{color:var(--acc);display:block}
.lead{font-size:19px;color:var(--mut);max-width:520px;margin:0 0 28px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.note{margin-top:22px;font-size:14px;color:var(--acc);font-weight:600}
.player-card{position:relative;border-radius:22px;overflow:hidden;background:#05080E;border:1px solid var(--line);box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 0 1px rgba(46,230,168,.08)}
.player{position:relative;background:#05080E}
.player video{width:100%;height:auto;background:#05080E}
.player.vert{max-width:380px;margin:0 auto}
.play-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(5,8,14,.25);cursor:pointer;border:0;width:100%;transition:opacity .3s}
.play-ov.hide{opacity:0;pointer-events:none}
.play-ov span{width:86px;height:86px;border-radius:50%;background:var(--acc);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 12px rgba(46,230,168,.18);transition:transform .4s var(--ease)}
.play-ov:hover span{transform:scale(1.1)}
/* sections */
section{padding:84px 0;position:relative}
.sec-h{text-align:center;max-width:720px;margin:0 auto 48px}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.1;margin:0 0 14px;font-weight:900;letter-spacing:-.01em}
.sec-h p{color:var(--mut);font-size:18px;margin:0}
.cards{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:transform .45s var(--ease),border-color .3s}
.card:hover{transform:translateY(-6px);border-color:rgba(46,230,168,.4)}
.card h3{margin:14px 0 8px;font-size:20px;line-height:1.25}
.card p{margin:0;color:var(--mut)}
.ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(46,230,168,.1);color:var(--acc)}
.pain .ico{background:rgba(255,107,112,.1);color:var(--red)}
.steps{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));counter-reset:s}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 18px;transition:transform .45s var(--ease)}
.step:hover{transform:translateY(-5px) rotate(-.5deg)}
.step::before{counter-increment:s;content:counter(s);display:flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:var(--acc);color:#0B111C;font-weight:900;margin-bottom:12px}
.step h3{margin:0 0 6px;font-size:16px;line-height:1.3}
.step p{margin:0;color:var(--mut);font-size:14px}
.feat .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.vid-tabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.tab{border:1px solid var(--line);background:var(--card);color:var(--mut);font:inherit;font-weight:700;padding:10px 18px;border-radius:999px;cursor:pointer;transition:all .3s var(--ease)}
.tab.on{background:var(--acc);border-color:var(--acc);color:#0B111C;transform:scale(1.04)}
.vid-box{max-width:960px;margin:0 auto}
.fact{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fact-in{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.fsteps{display:flex;flex-direction:column;gap:12px;margin:24px 0}
.fsteps div{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-weight:600}
.fsteps b{width:30px;height:30px;flex:none;border-radius:50%;background:rgba(46,230,168,.15);color:var(--acc);display:flex;align-items:center;justify-content:center}
.os{color:var(--mut);font-size:14px;margin-top:10px}
.share{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:26px}
.sh-grid{display:grid;grid-template-columns:1fr 92px 1fr;gap:10px;align-items:center}
.sh-who{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:15px}
.sh-who .ico{width:34px;height:34px;border-radius:10px}
.sh-side.f .sh-who .ico{background:rgba(255,138,61,.14);color:#FF8A3D}
.sh-win{background:#F3F5F9;color:#1A1F29;border-radius:12px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.35)}
.sh-bar{display:flex;align-items:center;gap:4px;background:#161B26;color:#E9EEF6;padding:6px 8px;font-size:11px;font-weight:800}
.sh-bar i{width:7px;height:7px;border-radius:50%;background:#FF5F57}.sh-bar i:nth-child(2){background:#FEBC2E}.sh-bar i:nth-child(3){background:#28C840}.sh-bar span{margin-left:6px;letter-spacing:.05em}
.sh-ord{font-weight:800;font-size:12px;padding:9px 10px 4px}
.sh-row{display:flex;align-items:center;gap:7px;font-size:12px;padding:5px 10px;margin:0 6px 6px;background:#fff;border:1px solid #E1E5EC;border-radius:8px;animation:shRow 6s var(--d) infinite both}
.sh-side.f .sh-row{animation-delay:calc(var(--d) + 1.6s)}
.sh-ck{width:18px;height:18px;flex:none;border-radius:50%;background:var(--acc);display:flex;align-items:center;justify-content:center}
@keyframes shRow{0%{opacity:0;transform:translateY(8px) scale(.9)}8%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(-4px)}}
.sh-mid{display:flex;flex-direction:column;align-items:center;gap:10px}
.sh-line{position:relative;width:100%;height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.sh-dot{position:absolute;top:0;left:-12px;width:12px;height:4px;border-radius:2px;background:var(--acc);animation:shDot 2s linear infinite}
.sh-dot.d2{animation-delay:.66s}.sh-dot.d3{animation-delay:1.33s}
@keyframes shDot{to{left:100%}}
.sh-btn{font-size:11px;font-weight:800;text-align:center;color:#0B111C;background:var(--acc);border-radius:8px;padding:6px 6px;line-height:1.2;animation:shBtn 6s infinite}
@keyframes shBtn{0%,100%{transform:scale(1)}4%{transform:scale(.9)}9%{transform:scale(1.08)}13%{transform:scale(1)}}
.sh-same{text-align:center;margin-top:18px;color:var(--acc);font-weight:700}
@media (max-width:640px){.sh-grid{grid-template-columns:1fr}.sh-mid{flex-direction:row}.sh-line{flex:1}}
@keyframes pop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.plans{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.plan{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;transition:transform .45s var(--ease),border-color .3s}
.plan:hover{transform:translateY(-6px)}
.plan.hot{border:2px solid var(--acc)}
.plan .pop{position:absolute;top:-13px;left:24px;background:var(--acc);color:#0B111C;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px}
.plan .soonb{position:absolute;top:-13px;left:24px;background:var(--amber);color:#3A2400;font-size:12px;font-weight:800;padding:4px 12px;border-radius:999px}
.plan h3{margin:0 0 6px;font-size:22px}
.plan .d{color:var(--mut);margin:0 0 18px}
.plan .pr{font-size:34px;font-weight:900;margin-bottom:4px}
.plan .pr small{font-size:15px;color:var(--mut);font-weight:600}
.plan .pr.soon{font-size:20px;color:var(--amber)}
.plan ul{list-style:none;padding:0;margin:18px 0 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.plan li{display:flex;gap:10px;color:var(--txt);font-size:15px}
.plan li::before{content:'';flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:rgba(46,230,168,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232EE6A8' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.price-sub{text-align:center;color:var(--mut);margin-top:-24px;margin-bottom:40px}
.contact{text-align:center}
.contact .mail{font-size:clamp(22px,3vw,32px);font-weight:800;color:var(--acc);text-decoration:none}
footer{border-top:1px solid var(--line);padding:30px 0;color:var(--mut);font-size:14px}
.ft{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.ft .ver{margin-left:auto;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;padding:4px 10px;border:1px solid var(--line);border-radius:999px}
/* reveal */
.rv{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .7s ease,transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
/* drawer & modal */
.ov{position:fixed;inset:0;background:rgba(3,6,12,.6);backdrop-filter:blur(4px);z-index:90;opacity:0;pointer-events:none;transition:opacity .3s}
.ov.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg2);border-left:1px solid var(--line);z-index:100;transform:translateX(105%);transition:transform .5s var(--ease);display:flex;flex-direction:column}
.drawer.on{transform:none}
.dr-h{display:flex;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
.dr-h h3{margin:0;font-size:20px}
.x{margin-left:auto;background:none;border:0;color:var(--mut);cursor:pointer;font-size:26px;line-height:1;width:40px;height:40px;border-radius:10px}
.x:hover{background:var(--card);color:var(--txt)}
.dr-b{flex:1;overflow:auto;padding:20px 22px}
.dr-f{padding:18px 22px;border-top:1px solid var(--line)}
.ci{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px;animation:pop .5s var(--ease)}
.ci .n{font-weight:700}
.ci .p{color:var(--mut);font-size:14px}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;margin-left:auto}
.qty button{width:32px;height:32px;border:0;background:none;color:var(--txt);font-size:18px;cursor:pointer}
.qty span{min-width:26px;text-align:center;font-weight:700}
.rm{background:none;border:0;color:var(--mut);cursor:pointer;font-size:13px;text-decoration:underline}
.tot{display:flex;font-size:18px;font-weight:800;margin-bottom:14px}
.tot span:last-child{margin-left:auto}
.f{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.f label{font-size:13px;color:var(--mut)}
.f input,.f textarea,.f select{background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--txt);font:inherit;padding:11px 12px;outline:none;transition:border-color .2s}
.f input:focus,.f textarea:focus{border-color:var(--acc)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--mut);margin:6px 0 14px}
.chk input{margin-top:4px;accent-color:var(--acc)}
.msg{padding:12px 14px;border-radius:12px;font-size:14px;margin-bottom:12px}
.msg.err{background:rgba(255,107,112,.12);color:var(--red)}
.msg.ok{background:rgba(46,230,168,.12);color:var(--acc)}
.okbox{text-align:center;padding:10px 0}
.okbox .big{width:84px;height:84px;margin:10px auto 18px;border-radius:50%;background:var(--acc);display:flex;align-items:center;justify-content:center;animation:pop .6s var(--ease)}
.okbox pre{white-space:pre-wrap;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;font-family:inherit;font-size:14px}
.modal{position:fixed;left:50%;top:50%;width:min(440px,calc(100% - 32px));background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:26px;z-index:100;transform:translate(-50%,-46%) scale(.9);opacity:0;pointer-events:none;transition:all .45s var(--ease)}
.modal.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}
.modal h3{margin:0 0 6px;font-size:22px}
.modal p{color:var(--mut);margin:0 0 18px}
.hp{position:absolute;left:-9999px}
@media (max-width:980px){
  nav{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg2);border-bottom:1px solid var(--line);margin:0}
  nav.on{display:flex}
  nav a{padding:14px 20px;border-top:1px solid var(--line)}
  .burger{display:block}
  .hero-in,.fact-in{grid-template-columns:1fr}
  .cards,.plans,.feat .cards{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .hd .notify-top{display:none}
  .cards,.plans,.feat .cards{grid-template-columns:1fr}
  section{padding:60px 0}
  .hero{padding:40px 0 20px}
  .lead{font-size:17px}
  .langs button{padding:6px 8px}
  .logo span{display:none}
  .hd{gap:10px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
