:root{--vv-bg-main: #0F172A;--vv-bg-surface: #111827;--vv-card-bg: #F8FAFC;--vv-primary: #22D3EE;--vv-secondary: #7C3AED;--vv-accent: #A3E635;--vv-text-primary: #E5E7EB;--vv-text-secondary: #94A3B8;--vv-text-dark: #0F172A;--vv-border: #1F2937;--vv-danger: #EF4444;--vv-warning: #F59E0B;--vv-space-xs: .25rem;--vv-space-sm: .5rem;--vv-space-md: 1rem;--vv-space-lg: 1.5rem;--vv-space-xl: 2rem;--vv-space-2xl: 3rem;--vv-radius-sm: .375rem;--vv-radius-md: .5rem;--vv-radius-lg: .75rem;--vv-radius-xl: 1rem;--vv-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--vv-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--vv-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--vv-transition-fast: .15s ease;--vv-transition-normal: .25s ease;--vv-transition-slow: .35s ease;--vv-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--vv-font-mono: "SF Mono", SFMono-Regular, ui-monospace, Menlo, Monaco, "Cascadia Mono", Consolas, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--vv-font-sans);background-color:var(--vv-bg-main);color:var(--vv-text-primary);line-height:1.6;min-height:100vh;min-height:100dvh}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}a{color:var(--vv-primary);text-decoration:none;transition:color var(--vv-transition-fast)}a:hover{color:var(--vv-secondary)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;outline:none;transition:all var(--vv-transition-fast)}button:focus-visible{outline:2px solid var(--vv-primary);outline-offset:2px}img{max-width:100%;height:auto;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
