:root[data-theme]{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono:"Menlo", "Monaco", "Courier New", monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:.15s;--transition-base:.2s;--transition-slow:.3s;--transition-slower:.5s;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:9999px}:root[data-theme=light]{--color-primary-rgb:0, 102, 204;--color-primary:rgb(var(--color-primary-rgb));--color-primary-hover:#0052a3;--color-secondary:#6b7280;--color-secondary-hover:#4b5563;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--bg-primary-rgb:255, 255, 255;--bg-primary:rgb(var(--bg-primary-rgb));--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-hover:#f3f4f6;--bg-active:#e5e7eb;--text-primary:#111827;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-inverse:#fff;--border-color:#e5e7eb;--border-color-hover:#d1d5db;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a}:root[data-theme=dark]{--color-primary-rgb:59, 130, 246;--color-primary:rgb(var(--color-primary-rgb));--color-primary-hover:#60a5fa;--color-secondary:#9ca3af;--color-secondary-hover:#d1d5db;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--bg-primary-rgb:17, 24, 39;--bg-primary:rgb(var(--bg-primary-rgb));--bg-secondary:#1f2937;--bg-tertiary:#374151;--bg-hover:#374151;--bg-active:#4b5563;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-tertiary:#9ca3af;--text-inverse:#111827;--border-color:#374151;--border-color-hover:#4b5563;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -2px #0006;--shadow-xl:0 20px 25px -5px #0009, 0 10px 10px -5px #00000080}:root[data-theme] *{transition:background-color var(--transition-base) ease, color var(--transition-base) ease, border-color var(--transition-base) ease}.no-transition *{transition:none!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary);margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--text-secondary);margin:0}a{color:var(--color-primary);transition:color var(--transition-fast) ease;text-decoration:none}a:hover{color:var(--color-primary-hover)}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}:focus{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}::selection{background-color:var(--color-primary);color:var(--text-inverse)}.container{width:100%;max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
