
body{margin:0;background:#03060B}
a{color:#8FE8FF}a:hover{color:#D2F6FF}
*{box-sizing:border-box}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(70px,50px) scale(1.12)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinr{to{transform:rotate(-360deg)}}
@keyframes scan{0%{left:-20%}100%{left:115%}}
@keyframes ping{0%{transform:scale(1);opacity:.85}100%{transform:scale(2.3);opacity:0}}
@keyframes mat{0%{opacity:0;transform:translateY(-8px);filter:brightness(3)}60%{opacity:1;filter:brightness(1.8)}100%{opacity:1;transform:none;filter:none}}
@keyframes beam{to{stroke-dashoffset:-48}}
@keyframes floor{to{background-position:0 64px}}
@keyframes ticker{to{transform:translateX(-50%)}}
@keyframes float{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(-36px);opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes load{from{width:0}to{width:100%}}
@keyframes pulse{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 0 1px rgba(92,225,255,.25),0 12px 40px -8px rgba(92,225,255,.5)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 0 6px rgba(92,225,255,.08),0 12px 60px -4px rgba(92,225,255,.85)}}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(400%)}}
@keyframes blink{50%{opacity:.25}}
@keyframes draw{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}
@keyframes flick{0%,100%{opacity:1}92%{opacity:1}94%{opacity:.4}96%{opacity:1}}
.gridbg{background-image:linear-gradient(rgba(120,200,255,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(120,200,255,0.045) 1px,transparent 1px);background-size:48px 48px}
.orb{position:absolute;border-radius:50%;pointer-events:none;animation:drift 22s ease-in-out infinite}
.spot{position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx,60%) var(--my,240px),rgba(92,225,255,0.09),transparent 60%);z-index:0}
.floor{position:absolute;left:-20%;right:-20%;bottom:-40px;height:340px;transform:perspective(520px) rotateX(64deg);transform-origin:bottom;background-image:linear-gradient(rgba(92,225,255,0.35) 1px,transparent 1px),linear-gradient(90deg,rgba(92,225,255,0.35) 1px,transparent 1px);background-size:64px 64px;animation:floor 2.4s linear infinite;-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 85%);mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 85%);pointer-events:none}
.pt{position:absolute;width:3px;height:3px;border-radius:50%;background:#8FE8FF;box-shadow:0 0 10px #5CE1FF;animation:float 6s ease-in-out infinite;pointer-events:none}
.glass{position:relative;background:linear-gradient(160deg,rgba(255,255,255,0.10),rgba(255,255,255,0.02) 55%,rgba(255,255,255,0.05));border:1px solid rgba(255,255,255,0.13);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.18),inset 0 -1px 0 rgba(255,255,255,0.03),0 40px 80px -30px rgba(0,0,0,0.75)}
.hud::before,.hud::after{content:'';position:absolute;width:22px;height:22px;pointer-events:none;border-color:#5CE1FF;opacity:.85}
.hud::before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid;border-top-left-radius:inherit}
.hud::after{bottom:-1px;right:-1px;border-bottom:2px solid;border-right:2px solid;border-bottom-right-radius:inherit}
.gbtn{position:relative;overflow:hidden;appearance:none;cursor:pointer;font:500 15px/1 Inter,system-ui,sans-serif;color:#EAF3FF;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,0.16),rgba(255,255,255,0.04));border:1px solid rgba(255,255,255,0.22);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,0.3),0 10px 30px -10px rgba(0,0,0,0.6);transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.gbtn::after{content:'';position:absolute;top:-10%;left:-70%;width:45%;height:120%;background:linear-gradient(100deg,transparent,rgba(255,255,255,0.45),transparent);transform:skewX(-22deg);transition:left .7s ease;pointer-events:none}
.gbtn:hover::after{left:140%}
.gbtn:hover{color:#FFFFFF;border-color:rgba(143,232,255,0.6);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,0.35),0 18px 40px -12px rgba(92,225,255,0.45)}
.gbtn:active{transform:translateY(0) scale(.98)}
.gbtn:focus-visible,.tab:focus-visible,.wbtn:focus-visible,.slotbtn:focus-visible,.opt:focus-visible,.dot:focus-visible,.chip:focus-visible,.lcard:focus-visible{outline:2px solid #5CE1FF;outline-offset:3px}
.gbtn.cyan{color:#03121A;font-weight:600;background:linear-gradient(180deg,rgba(190,247,255,0.98),rgba(92,225,255,0.88));border-color:rgba(220,250,255,0.95);animation:pulse 3.2s ease-in-out infinite}
.gbtn.cyan:hover{color:#03121A}
.gbtn.amber{color:#FFE9C7;border-color:rgba(255,181,71,0.6);background:linear-gradient(180deg,rgba(255,181,71,0.28),rgba(255,181,71,0.07));box-shadow:inset 0 1px 0 rgba(255,220,160,0.4),0 0 34px -6px rgba(255,181,71,0.45)}
.gbtn.amber:hover{color:#FFF6E6;border-color:rgba(255,205,120,0.95);box-shadow:inset 0 1px 0 rgba(255,220,160,0.4),0 18px 44px -10px rgba(255,181,71,0.65)}
.gbtn.sm{min-height:44px;padding:0 16px;font-size:14px;border-radius:12px}
.tab{appearance:none;cursor:pointer;font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#A9B8CE;min-height:44px;padding:0 14px;border-radius:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);transition:all .25s}
.tab:hover{color:#EAF3FF;border-color:rgba(255,255,255,0.25);background:rgba(255,255,255,0.06)}
.tab.on{color:#E9FBFF;background:linear-gradient(180deg,rgba(92,225,255,0.28),rgba(92,225,255,0.08));border-color:rgba(92,225,255,0.65);box-shadow:inset 0 1px 0 rgba(200,248,255,0.4),0 0 22px -4px rgba(92,225,255,0.55)}
.wbtn{position:relative;overflow:hidden;appearance:none;cursor:pointer;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 14px 10px 30px;border-radius:14px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.07);color:#DCE7F7;font:500 15px/1.2 Inter,system-ui,sans-serif;transition:all .25s}
.wbtn::before{content:'';position:absolute;left:12px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:2px;transform:rotate(45deg);border:1px solid rgba(255,255,255,0.3);transition:all .25s}
.wbtn:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.18);padding-left:34px}
.wbtn.on{background:linear-gradient(90deg,rgba(92,225,255,0.2),rgba(92,225,255,0.03));border-color:rgba(92,225,255,0.55);color:#FFFFFF;box-shadow:inset 0 1px 0 rgba(200,248,255,0.22),0 0 26px -10px rgba(92,225,255,0.8)}
.wbtn.on::before{background:#5CE1FF;border-color:#5CE1FF;box-shadow:0 0 10px #5CE1FF}
.slotbtn{appearance:none;cursor:pointer;text-align:left;display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);color:#DCE7F7;font:inherit;transition:all .25s}
.slotbtn:hover{border-color:rgba(255,255,255,0.24);background:rgba(255,255,255,0.06);transform:translateY(-2px)}
.slotbtn.on{border-color:rgba(255,181,71,0.7);background:linear-gradient(180deg,rgba(255,181,71,0.16),rgba(255,181,71,0.03));box-shadow:0 0 28px -6px rgba(255,181,71,0.45)}
.num{flex:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font:500 12px/1 'JetBrains Mono',monospace;color:#8FE8FF;border:1px solid rgba(92,225,255,0.4);background:rgba(92,225,255,0.08)}
.slotbtn.on .num{color:#FFD08A;border-color:rgba(255,181,71,0.65);background:rgba(255,181,71,0.14)}
.dot{position:absolute;transform:translate(-50%,-50%);appearance:none;cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:500 13px/1 'JetBrains Mono',monospace;color:#CFF7FF;background:rgba(4,14,24,0.7);border:1px solid rgba(92,225,255,0.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 16px rgba(92,225,255,0.45);transition:left .5s cubic-bezier(.2,.8,.2,1),top .5s,background .25s,color .25s,transform .25s;z-index:2}
.dot::after{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(92,225,255,0.8);animation:ping 2.2s ease-out infinite;pointer-events:none}
.dot:hover{transform:translate(-50%,-50%) scale(1.12)}
.dot.on{color:#1A1003;background:#FFB547;border-color:#FFE0A8;box-shadow:0 0 30px rgba(255,181,71,0.85)}
.dot.on::after{border-color:#FFB547}
.opt{appearance:none;cursor:pointer;width:100%;text-align:left;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);color:#DCE7F7;font:inherit;transition:all .25s;animation:rise .45s ease both}
.opt:hover{border-color:rgba(255,255,255,0.24);background:rgba(255,255,255,0.06);transform:translateX(3px)}
.opt.on{border-color:rgba(255,181,71,0.7);background:linear-gradient(180deg,rgba(255,181,71,0.15),rgba(255,181,71,0.02));box-shadow:0 0 26px -8px rgba(255,181,71,0.55)}
.chip{appearance:none;cursor:pointer;min-height:44px;padding:0 18px;border-radius:999px;font:500 14px/1 Inter,system-ui,sans-serif;color:#B9C7DB;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);transition:all .25s}
.chip:hover{color:#FFFFFF;border-color:rgba(255,255,255,0.32)}
.chip.on{color:#FFE7C2;border-color:rgba(255,181,71,0.75);background:rgba(255,181,71,0.16);box-shadow:0 0 20px -6px rgba(255,181,71,0.6)}
.lcard{appearance:none;cursor:pointer;text-align:left;flex:1 1 260px;display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.09);color:#EAF3FF;font:inherit;transition:all .3s}
.lcard:hover{border-color:rgba(255,255,255,0.26);transform:translateY(-2px)}
.lcard.on{border-color:rgba(92,225,255,0.65);background:linear-gradient(120deg,rgba(92,225,255,0.17),rgba(92,225,255,0.02));box-shadow:inset 0 1px 0 rgba(200,248,255,0.22),0 0 36px -8px rgba(92,225,255,0.5)}
.delta{font:500 12px/1 'JetBrains Mono',monospace;color:#7E8DA3;min-width:36px;text-align:right}
.delta.up{color:#5CE1FF}.delta.down{color:#FFB547}
.track{position:relative;height:10px;border-radius:6px;background:repeating-linear-gradient(90deg,rgba(255,255,255,0.07) 0 calc(10% - 2px),transparent calc(10% - 2px) 10%);overflow:hidden}
.ghost{position:absolute;left:0;top:0;bottom:0;background:rgba(255,255,255,0.16);border-radius:6px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.fill{position:absolute;left:0;top:2px;bottom:2px;border-radius:6px;overflow:hidden;background:linear-gradient(90deg,#1F6FFF,#5CE1FF);box-shadow:0 0 14px rgba(92,225,255,0.7);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.fill::after{content:'';position:absolute;top:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.7),transparent);animation:shimmer 2.6s ease-in-out infinite}
.qin{width:100%;min-height:58px;padding:0 18px;border-radius:16px;font:400 16px/1.2 Inter,system-ui,sans-serif;color:#F2F7FF;background:rgba(0,0,0,0.32);border:1px solid rgba(255,255,255,0.14);box-shadow:inset 0 2px 10px rgba(0,0,0,0.4);outline:none;transition:all .25s}
.qin::placeholder{color:#7F8EA5}
.qin:focus{border-color:rgba(92,225,255,0.75);box-shadow:inset 0 2px 10px rgba(0,0,0,0.4),0 0 0 4px rgba(92,225,255,0.15),0 0 30px -6px rgba(92,225,255,0.5)}
.navlink{position:relative;color:#B4C2D6;text-decoration:none;font:500 14px/1 Inter,system-ui,sans-serif;padding:14px 4px}
.navlink::after{content:'';position:absolute;left:4px;right:4px;bottom:8px;height:1px;background:#5CE1FF;transform:scaleX(0);transition:transform .3s;box-shadow:0 0 8px #5CE1FF}
.navlink:hover{color:#FFFFFF}.navlink:hover::after{transform:scaleX(1)}
.scan{background:repeating-linear-gradient(0deg,rgba(255,255,255,0.03) 0 1px,transparent 1px 4px)}
.sweep{position:absolute;top:0;bottom:0;width:18%;background:linear-gradient(90deg,transparent,rgba(92,225,255,0.18),rgba(92,225,255,0.5) 96%,transparent);animation:scan 4.5s linear infinite;pointer-events:none;mix-blend-mode:screen}
.tilt{transition:transform .25s ease-out;transform-style:preserve-3d;will-change:transform}
.part{stroke:#5CE1FF;fill:rgba(92,225,255,0.08);stroke-width:1.6;stroke-linejoin:round;transition:stroke .3s,fill .3s}
.part.eq{stroke:#FFB547;fill:rgba(255,181,71,0.14);filter:drop-shadow(0 0 6px rgba(255,181,71,0.75))}
.part > *{animation:mat .6s ease both}
.line{stroke:rgba(92,225,255,0.5);stroke-width:1;fill:none}
.draw{stroke-dasharray:1400;animation:draw 2.4s ease both}
.rail{stroke:rgba(92,225,255,0.7);stroke-width:6;stroke-dasharray:5 4;fill:none}
.beam{stroke:#FF5C3A;stroke-width:2;stroke-dasharray:18 6;animation:beam .6s linear infinite;filter:drop-shadow(0 0 4px #FF5C3A)}
.cone{fill:rgba(255,236,190,0.12);stroke:none}
.spin{animation:spin 26s linear infinite}
.spinr{animation:spinr 40s linear infinite}
.spinf{animation:spin 5s linear infinite}
.blink{animation:blink 1.4s ease-in-out infinite}
.flick{animation:flick 6s linear infinite}
.airow{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.07);animation:rise .55s ease both}
.step{display:flex;align-items:center;gap:10px;font:500 13px/1.2 'JetBrains Mono',monospace;color:#A9B8CE;animation:rise .5s ease both}
.ticker{display:flex;width:max-content;animation:ticker 38s linear infinite}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
