:root{--color-primary: #3B82F6;--color-primary-hover: #2563EB;--color-primary-light: #60A5FA;--color-primary-dark: #1D4ED8;--color-primary-lighter: #DBEAFE;--color-primary-lightest: #EFF6FF;--color-secondary: #8B5CF6;--color-secondary-hover: #7C3AED;--color-success: #10B981;--color-success-hover: #059669;--color-success-light: #34D399;--color-success-lighter: #D1FAE5;--color-error: #EF4444;--color-error-hover: #DC2626;--color-error-light: #F87171;--color-error-lighter: #FEE2E2;--color-warning: #F59E0B;--color-warning-hover: #D97706;--color-warning-light: #FBBF24;--color-warning-lighter: #FEF3C7;--color-info: #3B82F6;--color-info-hover: #2563EB;--color-info-light: #60A5FA;--color-info-lighter: #DBEAFE;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-text-primary: #1F2937;--color-text-secondary: #6B7280;--color-text-tertiary: #9CA3AF;--color-text-inverse: #FFFFFF;--color-bg-primary: #FFFFFF;--color-bg-secondary: #F9FAFB;--color-bg-tertiary: #F3F4F6;--color-bg-inverse: #1F2937;--color-border-light: #E5E7EB;--color-border-default: #D1D5DB;--color-border-dark: #9CA3AF;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-primary: 0 8px 25px rgba(59, 130, 246, .3);--shadow-primary-hover: 0 12px 35px rgba(59, 130, 246, .4);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-default: .3s ease;--transition-slow: .5s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#1f2937;background-color:#fff;margin:0;padding:0;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-default)}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .3s ease}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;border:1px solid #d1d5db;border-radius:8px;padding:.75rem;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-lighter)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@media(max-width:768px){.container{padding:0 1rem}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .6s ease-out}.slide-in{animation:slideIn .6s ease-out}.pulse{animation:pulse 2s infinite}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::selection{background-color:var(--color-primary);color:var(--color-text-inverse)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.loading{opacity:.6;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--color-gray-100);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
