.v-flex{display:flex;flex-direction:column}.h100{height:100%}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--accent-color: #6366f1;--accent-secondary: #8b5cf6;--border-color: #27272a;--nav-bg: rgba(10, 10, 15, .8);--cursor-color: #ffffff;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-secondary: linear-gradient(135deg, #8b5cf6 0%, #a855f7 100%);--gradient-accent: linear-gradient(135deg, #06b6d4 0%, #6366f1 100%);--gradient-text: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #06b6d4 100%);--gradient-button: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f4f4f5;--bg-tertiary: #e4e4e7;--text-primary: #09090b;--text-secondary: #52525b;--text-tertiary: #71717a;--border-color: #8b5cf6;--nav-bg: rgba(255, 255, 255, .8);--cursor-color: #09090b}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color .3s ease,color .3s ease;cursor:none}@media(max-width:768px){body{cursor:auto}}a{cursor:none}@media(max-width:768px){a{cursor:pointer}}button{cursor:none}@media(max-width:768px){button{cursor:pointer}}::selection{background:var(--accent-color);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button,input,textarea{font-family:inherit}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
