:root{--color-background: #ffffff;--color-surface: #f6f6f6;--color-surface-hover: #eeeeee;--color-surface-dark: #111111;--color-surface-dark-hover: #222222;--color-text: #111111;--color-text-secondary: #555555;--color-text-muted: #777777;--color-text-inverse: #ffffff;--color-text-inverse-secondary: #cccccc;--color-border: #dddddd;--color-border-light: #eeeeee;--color-border-dark: #111111;--color-action: #111111;--color-action-hover: #2a2a2a;--color-action-text: #ffffff;--color-action-secondary: #ffffff;--color-action-secondary-border: #111111;--color-action-secondary-text: #111111;--color-focus: #111111;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--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;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--container-max: 1280px;--container-narrow: 840px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .05);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .08);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.skip-link{position:absolute;top:-9999px;left:var(--space-4);background:var(--color-action);color:var(--color-action-text);padding:var(--space-3) var(--space-5);z-index:1000;font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}.skip-link:focus{top:var(--space-4)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--space-5);padding-right:var(--space-5)}.container-narrow{width:100%;max-width:var(--container-narrow);margin-left:auto;margin-right:auto;padding-left:var(--space-5);padding-right:var(--space-5)}@media(min-width:768px){.container,.container-narrow{padding-left:var(--space-8);padding-right:var(--space-8)}}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:700;line-height:1.25;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--space-4)}h2{font-size:clamp(1.5rem,3.5vw,2.25rem);margin-bottom:var(--space-4)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem);margin-bottom:var(--space-2)}p{margin-bottom:var(--space-4);max-width:70ch;color:var(--color-text)}p.lead{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.6}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;transition:opacity var(--transition-fast)}a:hover{opacity:.8}ul,ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}li{margin-bottom:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:600;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);text-align:center}.btn:hover{opacity:1}.btn-primary{background-color:var(--color-action);color:var(--color-action-text);border-color:var(--color-action)}.btn-primary:hover{background-color:var(--color-action-hover);border-color:var(--color-action-hover)}.btn-secondary{background-color:var(--color-background);color:var(--color-text);border-color:var(--color-border-dark)}.btn-secondary:hover{background-color:var(--color-surface)}.btn-ghost{background-color:transparent;color:var(--color-text);border-color:transparent}.btn-ghost:hover{background-color:var(--color-surface)}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-block{width:100%}.grid-2,.grid-3,.grid-4{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:640px){.grid-2,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;height:100%;transition:border-color var(--transition-fast),transform var(--transition-fast)}.card:hover{border-color:var(--color-border-dark)}.card-surface{background-color:var(--color-surface);border-color:transparent}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.badge-dark{background-color:var(--color-action);color:var(--color-action-text);border-color:var(--color-action)}.form-group{margin-bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:inherit;font-size:var(--text-base);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-border-dark)}.form-checkbox-label{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer}.form-checkbox{margin-top:3px;width:18px;height:18px;accent-color:var(--color-action)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.preview-notice,.no-print,[data-no-print]{display:none!important}}
