:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--color-primary: #646cff;--color-primary-hover: #535bf2;--brand-blue: #3b82f6;--brand-purple: #8b5cf6;--brand-orange: #f97316;--brand-gradient: linear-gradient(135deg, var(--brand-blue), var(--brand-purple), var(--brand-orange));--bg-color: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2a2a2a;--text-primary: rgba(255, 255, 255, .9);--text-secondary: rgba(255, 255, 255, .7);--border-color: #333;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}:root.light{--bg-color: #ffffff;--bg-secondary: #f3f4f6;--bg-tertiary: #e5e7eb;--text-primary: #111827;--text-secondary: #4b5563;--border-color: #d1d5db;--color-primary: #9333ea;--color-primary-hover: #7e22ce;color-scheme:light}a{font-weight:500;color:var(--color-primary);text-decoration:inherit;transition:color .15s}a:hover{color:var(--color-primary-hover)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;height:100dvh;margin:0;padding:0}body{min-width:320px;background-color:var(--bg-color);color:var(--text-primary)}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:border-color .25s,background-color .25s}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.animate-fade-out{animation:fadeOut .5s ease-in forwards}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes pulse-glow{0%{box-shadow:0 0 5px #8b5cf680}50%{box-shadow:0 0 20px #8b5cf6cc}to{box-shadow:0 0 5px #8b5cf680}}.animate-pulse-glow{animation:pulse-glow 2s infinite}
