:root{--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-accent-50:#eff6ff;--color-accent-100:#dbeafe;--color-accent-200:#bfdbfe;--color-accent-300:#93c5fd;--color-accent-400:#60a5fa;--color-accent-500:#2563eb;--color-accent-600:#1d4ed8;--color-accent-700:#1e40af;--color-accent-800:#1e3a8a;--color-accent-900:#172554;--color-success-50:#e8f5e9;--color-success-500:#2e7d32;--color-success-600:#1b5e20;--color-warning-50:#fff3e0;--color-warning-500:#ef6c00;--color-warning-600:#e65100;--color-error-50:#ffebee;--color-error-500:#c62828;--color-error-600:#b71c1c;--color-neutral-0:#fff;--color-neutral-50:#f8f9fc;--color-neutral-100:#f1f3f8;--color-neutral-200:#e2e6ef;--color-neutral-300:#c9ceda;--color-neutral-400:#9ba3b5;--color-neutral-500:#6b7280;--color-neutral-600:#4b5563;--color-neutral-700:#374151;--color-neutral-800:#1f2937;--color-neutral-900:#111827;--color-neutral-950:#0a0d14;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", 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;--text-6xl:3.75rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--space-0:0;--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;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-2xl:10px;--radius-full:4px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--shadow-xl:0 20px 25px #0000001a, 0 8px 10px #0000000a;--shadow-2xl:0 25px 50px #00000026;--shadow-glow:0 0 20px #0052cc26;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-ai-panel:250;--header-height:72px;--sidebar-width:280px;--ai-panel-width:380px;--max-content-width:1280px;--page-padding:var(--space-6)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-neutral-900);background-color:#fff;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-neutral-950);letter-spacing:-.02em}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base);font-weight:var(--weight-semibold)}p{line-height:var(--leading-relaxed);color:var(--color-neutral-700)}.prose{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-neutral-800);line-height:1.8}a{color:#1d4ed8;transition:color var(--transition-fast);text-decoration:none}a:hover{color:#1e3a8a;text-decoration:underline}input,textarea,select{font-family:var(--font-sans);color:#09090b}input::placeholder,textarea::placeholder{color:#71717a}:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #2563eb}::selection{background-color:var(--color-accent-100);color:var(--color-accent-900)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-100)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.container{width:100%;max-width:var(--max-content-width);padding:0 var(--page-padding);margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-fade-in-up{animation:.4s ease-out fadeInUp}.animate-slide-right{animation:.3s ease-out slideInRight}.animate-slide-left{animation:.3s ease-out slideInLeft}.animate-scale-in{animation:.2s ease-out scaleIn}.animate-shimmer{animation:2s linear infinite shimmer}.animate-pulse{animation:2s infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-float{animation:3s ease-in-out infinite float}.skeleton{background:linear-gradient(90deg, var(--color-neutral-200) 25%, var(--color-neutral-100) 37%, var(--color-neutral-200) 63%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s linear infinite shimmer}@media (max-width:767px){:root{--page-padding:var(--space-4);--header-height:60px}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}}@media print{body{color:#000;background:#fff}.no-print{display:none!important}}
