:root{--bg:#0b0e14;--card:#131722;--up:#10b981;--down:#f43f5e;--hold:#f59e0b}
body{background:var(--bg);color:#e5e7eb;font-family:'Bricolage Grotesque',sans-serif;
background-image:radial-gradient(ellipse at 10% -10%,rgba(16,185,129,.10),transparent 50%),radial-gradient(ellipse at 100% 0%,rgba(244,63,94,.08),transparent 45%),linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
background-size:auto,auto,32px 32px,32px 32px;background-attachment:fixed;min-height:100vh}
.mono{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.card{background:var(--card);border:1px solid rgba(255,255,255,.05);border-radius:1rem;transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.12)}
.rise{animation:rise .5s both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.glow-buy{box-shadow:0 0 14px rgba(16,185,129,.45)}
.glow-sell{box-shadow:0 0 14px rgba(244,63,94,.45)}
.shimmer{background:linear-gradient(90deg,#131722,#1c2130,#131722);background-size:200% 100%;animation:sh 1.2s infinite}
@keyframes sh{to{background-position:-200% 0}}
.needle{transition:transform 1.2s cubic-bezier(.3,1.5,.5,1)}
.drawer{animation:slide .25s ease-out}
@keyframes slide{from{transform:translateX(100%)}to{transform:none}}
@media(max-width:767px){.drawer{animation:up .25s ease-out}@keyframes up{from{transform:translateY(100%)}to{transform:none}}}
.toast{animation:rise .3s both}
input[type=number]::-webkit-inner-spin-button{opacity:.3}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#262b3a;border-radius:4px}