:root{--color-plum: #2d1f3d;--color-plum-light: #3d2d52;--color-plum-dark: #1e1429;--color-plum-tint: #6b5482;--color-teal: #38817D;--color-teal-light: #4a9490;--color-teal-dark: #2d6b68;--color-bg: #ffffff;--color-bg-alt: #fafafa;--color-surface: #ffffff;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-text: #1a1a1a;--color-text-muted: #6b7280;--color-text-subtle: #9ca3af;--color-text-inverse: #ffffff;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-success: #10b981;--color-success-bg: #ecfdf5;--color-info: var(--color-teal);--color-info-bg: #f0f9f8;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Jost", "Century Gothic", "Futura", "Avenir Next", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(45, 31, 61, .05);--shadow-md: 0 4px 6px -1px rgba(45, 31, 61, .08), 0 2px 4px -2px rgba(45, 31, 61, .04);--shadow-lg: 0 10px 15px -3px rgba(45, 31, 61, .1), 0 4px 6px -4px rgba(45, 31, 61, .05);--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-ui);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0 0 var(--space-3) 0;line-height:1.2;color:var(--color-plum)}h1{font-size:2.5rem;font-weight:700}h2{font-size:2rem;font-weight:600}h3{font-size:1.5rem;font-weight:600}p{margin:0 0 var(--space-4) 0}a{color:var(--color-teal-dark);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-teal);text-decoration:underline}button{font-family:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}input,textarea,select{font-family:inherit;font-size:inherit}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.125em;height:1.125em;min-width:1.125em;margin:0;border:1.5px solid var(--color-border-strong, #9ca3af);border-radius:50%;background:var(--color-surface, #fff);cursor:pointer;position:relative;flex-shrink:0;vertical-align:middle;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=checkbox]:hover:not(:disabled){border-color:var(--color-plum)}input[type=checkbox]:checked{background:var(--color-plum);border-color:var(--color-plum)}input[type=checkbox]:checked:after{content:"";position:absolute;top:45%;left:50%;width:.3em;height:.6em;border:solid #fff;border-width:0 .15em .15em 0;transform:translate(-50%,-55%) rotate(45deg)}input[type=checkbox]:focus-visible{outline:2px solid var(--color-plum);outline-offset:2px}input[type=checkbox]:disabled{opacity:.45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-weight:600;font-size:1rem;line-height:1;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--color-teal);color:var(--color-text-inverse);border-color:var(--color-teal)}.btn-primary:hover{background:var(--color-teal-dark);border-color:var(--color-teal-dark);color:var(--color-text-inverse)}.btn-secondary{background:transparent;color:var(--color-plum);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-bg-alt);color:var(--color-plum)}.btn-plum{background:var(--color-plum);color:var(--color-text-inverse);border-color:var(--color-plum)}.btn-plum:hover{background:var(--color-plum-light);border-color:var(--color-plum-light);color:var(--color-text-inverse)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:1.125rem}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-5)}.container-sm{max-width:640px;margin:0 auto;padding:0 var(--space-5)}
