*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0c0c14;--color-surface: #131224;--color-surface-hover: #1a1932;--color-border: #22213d;--color-border-subtle: #1c1b30;--color-border-accent: #3e346c;--color-text-primary: #e2e8f0;--color-text-secondary: #64748b;--color-text-muted: #4a4968;--color-purple: #7a4bf0;--color-purple-light: #af9cfc;--color-purple-bright: #c5b9ff;--color-green: #39ffbc;--color-green-dim: rgba(57,255,188,.15);--color-red: #f87171;--color-background-primary: #0c0c14;--color-border-tertiary: #22213d;--color-border-secondary: #3e346c;--color-accent: #af9cfc;--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-display: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select,textarea{font-family:inherit}.scrollbar-none::-webkit-scrollbar{display:none}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.row-hover{transition:background .15s ease,border-color .15s ease}.row-hover:hover{background:var(--color-surface-hover)!important}.btn{transition:opacity .15s ease,transform .1s ease}.btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-ghost{transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-ghost:hover:not(:disabled){background:#7a4bf01a!important;border-color:var(--color-border-accent)!important;color:var(--color-purple-bright)!important}.link-btn{transition:filter .15s ease}.link-btn:hover{filter:brightness(1.15)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse-ring{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.15);opacity:1}}@keyframes orbit{0%{transform:rotate(0) translate(9px) rotate(0)}to{transform:rotate(360deg) translate(9px) rotate(-360deg)}}@keyframes blink-dot{0%,to{opacity:1}50%{opacity:.2}}@keyframes shimmer-text{0%{background-position:-200% center}to{background-position:200% center}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:600px}}@keyframes tab-switch{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-spin{animation:spin .7s linear infinite}.animate-ping{animation:ping 1.2s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse-ring 1.4s ease-in-out infinite}.animate-fade-in{animation:fade-in .22s ease both}.animate-slide-down{animation:slide-down .28s cubic-bezier(.16,1,.3,1) both}.animate-tab{animation:tab-switch .25s cubic-bezier(.16,1,.3,1) both}.bot-running-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 8px;border-radius:20px;background:#7a4bf014;border:1px solid rgba(122,75,240,.25);font-size:12px;font-weight:500;color:var(--color-purple-light)}.bot-running-badge .orbit-ring{position:relative;width:18px;height:18px;flex-shrink:0}.bot-running-badge .orbit-ring .core{position:absolute;top:50%;right:50%;bottom:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:var(--color-purple-light);animation:pulse-ring 1.4s ease-in-out infinite;box-shadow:0 0 8px #af9cfccc}.bot-running-badge .orbit-ring .dot{position:absolute;top:50%;left:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--color-green);box-shadow:0 0 6px #39ffbce6;animation:orbit 1.2s linear infinite}.bot-running-badge .dot-trail span{display:inline-block;animation:blink-dot 1.2s ease-in-out infinite}.bot-running-badge .dot-trail span:nth-child(2){animation-delay:.2s}.bot-running-badge .dot-trail span:nth-child(3){animation-delay:.4s}.bot-running-badge .shimmer-label{background:linear-gradient(90deg,var(--color-purple-bright) 20%,var(--color-green) 50%,var(--color-purple-bright) 80%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer-text 2s linear infinite}input[type=text],input[type=number],input[type=email],input[type=password],select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:10px;padding:8px 12px;font-size:12px;outline:none;transition:border-color .15s ease}input:focus,select:focus{border-color:var(--color-purple)}input::placeholder{color:var(--color-text-muted)}
