:root{--bg:#05070d;--card:rgba(16,22,36,.72);--card2:rgba(10,15,26,.8);--line:rgba(120,140,190,.16);--line2:rgba(240,185,11,.35);--tx:#eaf0fb;--mut:#8e9bb5;--ac:#f0b90b;--ac2:#ffdd6b;--blue:#4c8dff;--ok:#2ee59d;--bad:#ff5c72;--warn:#ffb020}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.55 Inter,-apple-system,"Segoe UI",Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ac);text-decoration:none}
::selection{background:var(--ac);color:#000}
/* animated background */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(1200px 700px at 80% -10%,#10203f 0%,transparent 60%),radial-gradient(900px 600px at -10% 20%,#241a05 0%,transparent 55%),var(--bg)}
.bg canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.bg .vig{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(5,7,13,.85) 100%)}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.28;animation:float 18s ease-in-out infinite}
.o1{width:420px;height:420px;background:#f0b90b;top:-120px;left:-100px}
.o2{width:520px;height:520px;background:#2c6bff;right:-160px;top:20%;animation-delay:-6s}
.o3{width:360px;height:360px;background:#16c784;left:30%;bottom:-180px;animation-delay:-11s;opacity:.18}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-50px) scale(1.15)}}
/* header */
header{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:11px 18px;background:rgba(6,9,16,.72);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:#fff;letter-spacing:.2px}
.logo{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--ac2),#e08a00);display:grid;place-items:center;box-shadow:0 0 22px rgba(240,185,11,.5);animation:glow 3s ease-in-out infinite}
.logo svg{width:20px;height:20px}
@keyframes glow{0%,100%{box-shadow:0 0 14px rgba(240,185,11,.35)}50%{box-shadow:0 0 28px rgba(240,185,11,.8)}}
.vip{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#1a1200;background:linear-gradient(90deg,var(--ac2),var(--ac));padding:2px 7px;border-radius:6px}
header nav{display:flex;flex-wrap:wrap;gap:2px}
header nav a{padding:7px 12px;border-radius:9px;color:var(--mut);font-size:14px;font-weight:500;transition:.2s}
header nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
header nav a.on{color:#fff;background:rgba(240,185,11,.14);box-shadow:inset 0 -2px 0 var(--ac)}
header .sp{flex:1}
main{max-width:1060px;margin:0 auto;padding:22px 16px 70px;animation:rise .5s ease both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
footer{text-align:center;color:var(--mut);font-size:12px;padding:20px 14px 34px;border-top:1px solid var(--line)}
h1{font-size:28px;margin:6px 0 6px;letter-spacing:-.3px}h2{font-size:19px;margin:24px 0 8px}h3{font-size:15px;margin:14px 0 6px}
p.sub{color:var(--mut);margin:0 0 16px}
/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin:14px 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 40px rgba(0,0,0,.35);transition:border-color .25s,transform .25s}
.card:hover{border-color:rgba(240,185,11,.25)}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.stat{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.stat b{display:block;font-size:22px;font-variant-numeric:tabular-nums}.stat span{color:var(--mut);font-size:12px}
/* buttons + inputs */
button,.btn{background:linear-gradient(135deg,var(--ac2),var(--ac) 55%,#e08a00);color:#1a1200;border:0;border-radius:11px;padding:9px 18px;font-size:14px;font-weight:700;cursor:pointer;display:inline-block;transition:transform .15s,box-shadow .2s;box-shadow:0 6px 20px rgba(240,185,11,.22)}
button:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(240,185,11,.4)}
button:active,.btn:active{transform:none}
button.g,.btn.g{background:rgba(255,255,255,.07);color:var(--tx);box-shadow:none;border:1px solid var(--line)}
button.g:hover,.btn.g:hover{background:rgba(255,255,255,.12);box-shadow:none}
button.ok{background:linear-gradient(135deg,#3ff0b0,#12b981);color:#021a10}button.bad{background:linear-gradient(135deg,#ff7a8c,#e0314b);color:#fff}
button:disabled{opacity:.5;cursor:default;transform:none}
input,select,textarea{background:rgba(5,9,18,.75);color:var(--tx);border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:14px;width:100%;transition:border-color .2s,box-shadow .2s;outline:0}
input:focus,select:focus,textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(240,185,11,.15)}
label{display:block;color:var(--mut);font-size:12px;margin:12px 0 4px;font-weight:600;letter-spacing:.3px}
.row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:rgba(255,255,255,.07);color:var(--mut)}
.tag.ok{background:rgba(46,229,157,.14);color:var(--ok)}.tag.bad{background:rgba(255,92,114,.15);color:#ff8fa0}.tag.warn{background:rgba(255,176,32,.15);color:#ffd27a}.tag.blue{background:rgba(76,141,255,.16);color:#8db6ff}
.msg{padding:10px 14px;border-radius:11px;margin:12px 0;font-size:14px;border:1px solid transparent}
.msg.err{background:rgba(255,92,114,.12);border-color:rgba(255,92,114,.3);color:#ffc2cb}.msg.good{background:rgba(46,229,157,.1);border-color:rgba(46,229,157,.3);color:#b6f5da}.msg.info{background:rgba(76,141,255,.1);border-color:rgba(76,141,255,.3);color:#c9dcff}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--mut);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.6px}
tbody tr{transition:background .15s}tbody tr:hover{background:rgba(255,255,255,.03)}
.scroll{overflow-x:auto}
.pos{color:var(--ok)}.neg{color:var(--bad)}.mut{color:var(--mut)}
code,.mono{font-family:ui-monospace,Menlo,Consolas,monospace;background:rgba(5,9,18,.8);border:1px solid var(--line);border-radius:7px;padding:2px 7px;word-break:break-all}
ol.steps{padding-left:22px}ol.steps li{margin:10px 0}
/* live logs */
.bar{position:sticky;top:62px;background:rgba(8,12,22,.85);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;gap:10px;align-items:center;z-index:4;font-size:13px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(46,229,157,.6);animation:ping 1.8s infinite}
.dot.off{background:var(--warn);animation:none}.dot.err{background:var(--bad);animation:none}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(46,229,157,.6)}70%{box-shadow:0 0 0 9px rgba(46,229,157,0)}100%{box-shadow:0 0 0 0 rgba(46,229,157,0)}}
#log{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.m{background:rgba(14,20,34,.7);border:1px solid var(--line);border-left:3px solid #55627d;border-radius:11px;padding:8px 11px;font-size:12.5px;line-height:1.4;word-break:break-word;animation:slide .35s ease both}
@keyframes slide{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.m .c{font-size:15px;font-weight:800;color:#fff;margin-right:6px}.m .p{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:7px;background:rgba(255,255,255,.07);color:var(--mut);margin-right:6px}
.m .p.up{color:var(--ok)}.m .p.dn{color:var(--bad)}.m .t{color:#c3cde0}
.m.sig{background:rgba(76,141,255,.12);border-color:rgba(76,141,255,.35);border-left-color:var(--blue)}
.m.ok{background:rgba(46,229,157,.1);border-color:rgba(46,229,157,.3);border-left-color:var(--ok)}
.m.sl{background:rgba(255,92,114,.1);border-color:rgba(255,92,114,.3);border-left-color:var(--bad)}
.m.one{background:rgba(255,176,32,.1);border-color:rgba(255,176,32,.3);border-left-color:var(--warn)}
.m.w{border-left-color:var(--warn)}.m.e{border-left-color:var(--bad);color:#ffb3bf}
.pimg{max-width:100%;max-height:340px;border-radius:10px;border:1px solid var(--line)}
.chartcv{width:100%;height:400px;display:block;background:rgba(5,9,18,.8);border:1px solid var(--line);border-radius:12px}
/* hero */
.hero{position:relative;padding:34px 6px 10px;text-align:center}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--line2);background:rgba(240,185,11,.08);color:var(--ac2);font-size:12px;font-weight:700;letter-spacing:1.2px}
.hero h1{font-size:clamp(32px,6.5vw,60px);line-height:1.05;margin:18px 0 14px;font-weight:900;letter-spacing:-1.5px}
.grad{background:linear-gradient(100deg,var(--ac2),var(--ac) 40%,#ff9d2e 70%,var(--ac2));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}
.hero p{max-width:620px;margin:0 auto 22px;color:var(--mut);font-size:16.5px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta .btn{padding:13px 28px;font-size:15px}
.ticker{overflow:hidden;white-space:nowrap;margin:30px -16px 6px;border-block:1px solid var(--line);background:rgba(8,12,22,.55);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker div{display:inline-block;padding:11px 0;animation:marq 38s linear infinite}
.ticker span{margin:0 26px;font-size:13px;color:var(--mut);font-weight:600}.ticker b{color:var(--ac2)}
@keyframes marq{to{transform:translateX(-50%)}}
.feats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:26px 0}
.feat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;transition:transform .3s,border-color .3s,box-shadow .3s;animation:rise .6s ease both}
.feat:nth-child(2){animation-delay:.1s}.feat:nth-child(3){animation-delay:.2s}.feat:nth-child(4){animation-delay:.3s}
.feat:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:0 18px 50px rgba(240,185,11,.12)}
.feat .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:21px;background:linear-gradient(135deg,rgba(240,185,11,.2),rgba(240,185,11,.04));border:1px solid var(--line2);margin-bottom:12px}
.feat h3{margin:0 0 6px;font-size:16px}.feat p{margin:0;color:var(--mut);font-size:13.5px}
.sec-h{display:flex;align-items:center;gap:10px;margin:34px 0 4px}.sec-h h2{margin:0}
/* auth */
.auth{max-width:440px;margin:22px auto}
.auth .card{padding:24px;border-color:var(--line2);box-shadow:0 20px 70px rgba(0,0,0,.5),0 0 60px rgba(240,185,11,.07)}
.tabs{display:flex;gap:4px;background:rgba(5,9,18,.7);padding:4px;border-radius:12px;border:1px solid var(--line);margin-bottom:6px}
.tabs button{flex:1;background:transparent;color:var(--mut);box-shadow:none;padding:9px 6px;font-weight:600}
.tabs button.on{background:linear-gradient(135deg,var(--ac2),var(--ac));color:#1a1200}
.tabs button:hover{transform:none}
.auth h1{text-align:center;margin-bottom:2px}.auth p.sub{text-align:center}
@media(max-width:700px){h1{font-size:23px}main{padding:14px 11px 56px}header{padding:9px 11px}.chartcv{height:320px}.bar{top:96px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
