:root{--bg: #0a0c10;--bg-center: #1a1f25;--surface: rgba(26, 28, 32, .92);--surface-hover: rgba(36, 38, 44, .95);--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .1);--text: #f2f2f4;--text-secondary: #9898a0;--text-tertiary: #6a6a70;--accent: #5b6ee0;--success: #34c759;--error: #ff453a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:var(--text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at center,var(--bg-center) 0%,var(--bg) 100%);background-attachment:fixed;overflow-x:hidden}#particles-js{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}#root{position:relative;z-index:1;min-height:100vh;min-height:100dvh}button{font-family:inherit;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .15s ease}button:active{transform:scale(.98)}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}input,select{font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus{outline:none;border-color:var(--border-strong);box-shadow:0 0 0 2px #ffffff0f}a{color:var(--text-secondary);text-decoration:none}a:hover{color:var(--text)}@keyframes spin{to{transform:rotate(360deg)}}.swap-card{animation:cardEnter .5s cubic-bezier(.22,1,.36,1) forwards;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.swap-card:hover{box-shadow:0 16px 48px #0006,0 0 0 1px #ffffff0f}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ticker-wrap{margin-bottom:18px;border-bottom:1px solid var(--border);padding-bottom:12px}.ticker-label{display:block;font-size:10px;font-weight:600;color:var(--text-tertiary);letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.ticker-inner{overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%)}.ticker{display:flex;width:max-content;animation:ticker 35s linear infinite}.ticker:hover{animation-play-state:paused}.ticker-item{white-space:nowrap;flex-shrink:0;padding:0 18px;font-size:11px;color:var(--text-tertiary);letter-spacing:.03em}@media(max-width:767px){.ticker-wrap{padding-bottom:8px;margin-bottom:12px}.ticker-label{font-size:10px;margin-bottom:4px}.ticker-item{padding:0 12px;font-size:10px}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.approval-steps{display:flex;flex-direction:column;gap:12px;margin-top:18px;padding:18px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 16px #0003}.approval-step{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary);transition:color .2s ease}.approval-step.active{color:var(--text)}.approval-step.active .step-dot{background:var(--accent);border-color:var(--accent);opacity:1;box-shadow:0 0 0 2px #5b6ee04d}.approval-step.done .step-dot{background:var(--success);border-color:var(--success);opacity:1}.step-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--border);flex-shrink:0;opacity:.5;transition:opacity .2s ease,box-shadow .2s ease}.approval-step.done .step-dot{opacity:1}.shimmer-bar{height:2px;border-radius:1px;background:var(--border);overflow:hidden}.shimmer-bar:after{content:"";display:block;height:100%;width:40%;background:var(--text-tertiary);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(350%)}}.laser-scan{position:relative;width:100%;height:100px;border-radius:12px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.laser-line{position:absolute;left:0;top:0;width:4px;height:100%;background:var(--laser-color, var(--accent));opacity:.6;animation:laser-move 2.2s ease-in-out infinite}.laser-glow{display:none}@keyframes laser-move{0%,to{transform:translateY(0)}50%{transform:translateY(calc(100% - 4px))}}
