:root{--surface-50: #0a0a0b;--surface-100: #121214;--surface-150: #18181b;--surface-200: #1e1e22;--surface-250: #252529;--surface-300: #2d2d32;--surface-350: #35353a;--surface-400: #3d3d42;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--text-disabled: #52525b;--text-inverse: #0a0a0b;--accent-50: #eef2ff;--accent-100: #e0e7ff;--accent-200: #c7d2fe;--accent-300: #a5b4fc;--accent-400: #818cf8;--accent-500: #6366f1;--accent-600: #4f46e5;--accent-700: #4338ca;--accent-800: #3730a3;--accent-900: #312e81;--success-500: #22c55e;--success-600: #16a34a;--error-500: #ef4444;--error-600: #dc2626;--warning-500: #f59e0b;--warning-600: #d97706;--border-subtle: #27272a;--border-default: #3f3f46;--border-hover: #52525b;--border-accent: var(--accent-500)}:root{--space-0: 0px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--sidebar-width: 240px;--sidebar-collapsed: 64px;--bottom-tab-height: 64px;--topbar-height: 56px;--max-content-width: 1280px;--page-padding-mobile: 16px;--page-padding-desktop: 24px;--card-gap-mobile: 12px;--card-gap-desktop: 24px}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.1;--leading-normal: 1.5;--leading-relaxed: 1.75;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em}:root{--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .32s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}:root{--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .35);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(99, 102, 241, .15);--shadow-inner: inset 0 1px 0 rgba(255, 255, 255, .05)}:root{--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:var(--font-sans);font-size:16px;line-height:var(--leading-normal);color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}html,body{min-height:100vh;min-height:100dvh;background-color:var(--surface-50);color:var(--text-primary);overflow-x:hidden}html{font-size:16px}@media (min-width: 768px){html{font-size:15px}}@media (min-width: 1024px){html{font-size:16px}}img,video,canvas{max-width:100%;height:auto;display:block}a{color:var(--accent-500);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit;min-height:44px;min-width:44px}input,textarea,select{font:inherit;color:inherit;font-size:16px}@supports (padding-top: env(safe-area-inset-top)){.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-400);border-radius:var(--radius-full)}body{overscroll-behavior:none}.scrollable{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-standard) forwards}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-standard) forwards}.animate-slide-down{animation:slideDown var(--duration-normal) var(--ease-standard) forwards}.animate-slide-in-left{animation:slideInLeft var(--duration-normal) var(--ease-standard) forwards}.animate-slide-in-right{animation:slideInRight var(--duration-normal) var(--ease-standard) forwards}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-standard) forwards}.animate-spin{animation:spin var(--duration-slow) linear infinite}.animate-pulse{animation:pulse 2s var(--ease-standard) infinite}
