:root{--ease-fluid:cubic-bezier(.22,1,.36,1);--ease-fluid-soft:cubic-bezier(.16,1,.3,1);--dur-instant:90ms;--dur-fast:.18s;--dur-base:.26s;--dur-slow:.42s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Inter Tight,system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:#04070e;color:#dde5f1;font-feature-settings:"ss01","cv11","tnum";letter-spacing:-.005em}::selection{background:#38bdf847;color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6478a02e;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6478a052}input,textarea,button,select{font-family:inherit;letter-spacing:inherit}button{transition:all var(--dur-base) var(--ease-fluid);cursor:pointer}.press{transition:transform var(--dur-base) var(--ease-fluid),box-shadow var(--dur-base) var(--ease-fluid)}.press:active{transform:scale(.96);transition-duration:var(--dur-instant);transition-timing-function:linear}input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 0 0 2px #38bdf82e}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:"tnum","zero"}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@keyframes pulsedot{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideup{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes blip{0%,to{opacity:.3}50%{opacity:1}}@keyframes liveBar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes ringExpand{0%{transform:scale(.6);opacity:.8}to{transform:scale(2.2);opacity:0}}@keyframes dashOffset{to{stroke-dashoffset:-200}}@keyframes glowPulse{0%,to{box-shadow:0 0 #38bdf866}50%{box-shadow:0 0 0 8px #38bdf800}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes numCount{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes gridDrift{0%{background-position:0 0}to{background-position:32px 32px}}@keyframes statusBlink{0%,40%,to{background:#22c55e}50%,90%{background:#22c55e;box-shadow:0 0 0 3px #22c55e40}}@keyframes drawin{to{stroke-dashoffset:0}}@keyframes welcomein{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.fadein{animation:fadein .35s cubic-bezier(.4,0,.2,1) both}.slideup{animation:slideup .45s cubic-bezier(.4,0,.2,1) both}.welcomein{animation:welcomein .5s cubic-bezier(.3,0,.2,1) both}@keyframes viewfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.viewfade{animation:viewfade var(--dur-slow) var(--ease-fluid) both}.drawin{stroke-dasharray:1;stroke-dashoffset:1;animation:drawin 1.3s cubic-bezier(.5,0,.3,1) .25s both}.gridbg{background-image:linear-gradient(rgba(56,189,248,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.04) 1px,transparent 1px);background-size:32px 32px}.scanline{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}.scanline:before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.5),transparent);animation:scan 4.5s linear infinite}#loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:#04070e;z-index:9999}#loader .ring{width:42px;height:42px;border:2px solid #0f1626;border-top-color:#38bdf8;border-right-color:#38bdf8;border-radius:50%;animation:spin .9s cubic-bezier(.5,0,.5,1) infinite}#loader .msg{font-size:11px;color:#4a5a7a;letter-spacing:.18em;text-transform:uppercase;font-weight:500}#loader .err{color:#ef4444;font-size:11px;max-width:420px;text-align:center;padding:14px 18px;background:#0a1020;border-radius:10px;border:1px solid #1a2040;white-space:pre-wrap;font-family:JetBrains Mono,monospace}.recharts-cartesian-axis-tick-value{font-family:JetBrains Mono,monospace!important;font-size:9px!important;letter-spacing:0}.recharts-tooltip-wrapper{outline:none!important}.recharts-default-legend{font-size:10px!important}.recharts-brush-texts{font-family:JetBrains Mono,monospace!important}.lift{transition:transform var(--dur-base) var(--ease-fluid),box-shadow var(--dur-base) var(--ease-fluid)}.lift:hover{transform:translateY(-3px);box-shadow:0 10px 28px -8px #38bdf859}.livebars{display:inline-flex;align-items:flex-end;gap:1.5px;height:10px}.livebars span{display:block;width:2px;background:#22c55e;transform-origin:bottom;animation:liveBar 1s ease-in-out infinite}.livebars span:nth-child(1){animation-delay:0s;height:60%}.livebars span:nth-child(2){animation-delay:.15s;height:90%}.livebars span:nth-child(3){animation-delay:.3s;height:50%}.livebars span:nth-child(4){animation-delay:.45s;height:75%}.statusdot{position:relative;width:7px;height:7px;border-radius:4px;background:#22c55e;box-shadow:0 0 #22c55e80}.statusdot:after{content:"";position:absolute;inset:-2px;border-radius:50%;background:#22c55e;opacity:.5;animation:ringExpand 2s ease-out infinite}.card-glow{position:relative}.card-glow:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,transparent,rgba(56,189,248,.18),transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .25s}.card-glow:hover:before{opacity:1}.corners{position:relative}.corners:before,.corners:after{content:"";position:absolute;width:9px;height:9px;border-color:#38bdf873;border-style:solid;border-width:0;pointer-events:none}.corners:before{top:6px;left:6px;border-top-width:1px;border-left-width:1px}.corners:after{bottom:6px;right:6px;border-bottom-width:1px;border-right-width:1px}.numflash{animation:numCount .4s cubic-bezier(.4,0,.2,1) both}p,h1,h2,h3{text-wrap:pretty}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
