@font-face{font-family:OpenDyslexic Fallback;src:local(Segoe UI),local(Arial);size-adjust:88%;ascent-override:95%;descent-override:30%;line-gap-override:0%}:root{--font-system:system-ui, "Segoe UI", Roboto, sans-serif;--font-opendyslexic:"OpenDyslexic Fallback", var(--font-system);--font-opendyslexic-loaded:"OpenDyslexic", "OpenDyslexic Fallback", var(--font-system);--font-lexend:"Lexend", "OpenDyslexic Fallback", var(--font-system);--font-atkinson:"Atkinson Hyperlegible", "OpenDyslexic Fallback", var(--font-system);--font-andika:"Andika", "OpenDyslexic Fallback", var(--font-system);--font-body:"OpenDyslexic Fallback", var(--font-system);--font-size-base:clamp(18px, 1.2vw, 22px);--line-height-body:1.7;--letter-spacing-body:.05em;--content-max-width:70ch;--motion-duration:.2s;--bg:#fff;--surface:#fff;--surface-elevated:#f0f0f0;--text:#0a0a0a;--text-muted:#1f1f1f;--heading:#000;--border:#333;--accent:#004494;--accent-bg:#0044941a;--accent-hover:#003066;--focus-color:#004494;--success:#0d6832;--error:#b00020;--skip-bg:#000;--skip-text:#fff;--ruler-line:#004494;--ruler-mask:#ffffffd1;--paragraph-highlight:#00449414;--section-dim:#ffffffb8}[data-font-family=default]{--font-body:var(--font-system)}[data-font-family=opendyslexic]{--font-body:var(--font-opendyslexic)}[data-font-family=lexend]{--font-body:var(--font-lexend)}[data-font-family=atkinson]{--font-body:var(--font-atkinson)}[data-font-family=andika]{--font-body:var(--font-andika)}html.font-opendyslexic-ready[data-font-family=opendyslexic]{--font-body:var(--font-opendyslexic-loaded)}[data-font-size=small]{--font-size-base:16px}[data-font-size=medium]{--font-size-base:clamp(18px, 1.2vw, 22px)}[data-font-size=large]{--font-size-base:clamp(22px, 1.4vw, 26px)}[data-font-size=extra-large]{--font-size-base:clamp(26px, 1.6vw, 32px)}[data-contrast=high]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#000;--surface-elevated:#000;--text:#fff;--text-muted:#fff;--heading:#fff;--border:#fff;--accent:#ff0;--accent-bg:#000;--accent-hover:#ff6;--focus-color:#ff0;--skip-bg:#fff;--skip-text:#000;--ruler-line:#ff0;--ruler-mask:#000000e0;--paragraph-highlight:#1a1a1a;--section-dim:#000000bf}[data-contrast=low-stimulation]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f0e8;--surface:#faf6f0;--surface-elevated:#ede8df;--text:#1a1814;--text-muted:#2e2a24;--heading:#0f0d0a;--border:#5c574f;--accent:#3d5234;--accent-bg:#3d52341f;--accent-hover:#2a3a24;--focus-color:#3d5234;--ruler-mask:#f5f0e8d9;--paragraph-highlight:#3d52341a;--section-dim:#f5f0e8b8}[data-contrast=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0f;--surface:#12121a;--surface-elevated:#1c1c28;--text:#f5f5fa;--text-muted:#d8d8e8;--heading:#fff;--border:#6b6b80;--accent:#7ec8ff;--accent-bg:#7ec8ff26;--accent-hover:#a8dcff;--focus-color:#7ec8ff;--ruler-mask:#0a0a0fe0;--paragraph-highlight:#7ec8ff1f;--section-dim:#0a0a0fb8}[data-cursor-size=large]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1' d='M4 4l8 24 4-8 8-4z'/%3E%3C/svg%3E") 4 4,auto}[data-cursor-size=extra-large]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='2' d='M6 6l12 36 6-12 12-6z'/%3E%3C/svg%3E") 6 6,auto}[data-motion=reduced],[data-motion=off]{--motion-duration:.01ms}@media (prefers-reduced-motion:reduce){:root:not([data-motion=on]){--motion-duration:.01ms}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:var(--bg);color:var(--text)}[data-contrast=high],[data-contrast=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-motion=reduced] html,[data-motion=off] html{scroll-behavior:auto}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}#root{background-color:var(--bg);min-height:100svh;color:var(--text)}:focus-visible{outline:3px solid var(--focus-color);outline-offset:4px}.skip-link{z-index:10000;background:var(--skip-bg);color:var(--skip-text);transition:top var(--motion-duration) ease;border-radius:0 0 6px 6px;padding:.75rem 1.25rem;font-weight:700;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{outline:3px solid var(--focus-color);outline-offset:2px;top:0}.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}.app-shell{background-color:var(--bg);min-height:100svh;color:var(--text);flex-direction:column;display:flex}.site-header{z-index:100;background:var(--surface);border-bottom:2px solid var(--border);position:sticky;top:0}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex}.site-logo{color:var(--heading);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.site-logo__mark{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:.875rem;font-weight:700;display:flex}[data-contrast=high] .site-logo__mark{color:#000}.site-nav__list{flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.site-nav__link{color:var(--text);transition:color var(--motion-duration), border-color var(--motion-duration);border-bottom:2px solid #0000;padding:.5rem .25rem;font-weight:500;text-decoration:none}.site-nav__link:hover,.site-nav__link:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}main{background-color:var(--bg);width:100%;max-width:1200px;color:var(--text);flex:1;margin:0 auto;padding:0 1.5rem 3rem}main:focus{outline:none}.section-header{max-width:var(--content-max-width);margin-bottom:2rem}.section-header h2{color:var(--heading);margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.3}.section-header p{color:var(--text);margin:0}.readable-content{max-width:var(--content-max-width)}.readable-paragraph{transition:background var(--motion-duration);border-radius:6px;margin:0 0 1.5rem;padding:.75rem}.readable-paragraph:hover,.readable-paragraph:focus{background:var(--paragraph-highlight)}.readable-paragraph:focus{outline:2px solid var(--focus-color);outline-offset:2px}[data-focus-mode=on] .focus-section{position:relative}[data-focus-mode=on] .focus-section:not([data-in-view=true]):before{content:"";background:var(--section-dim);pointer-events:none;z-index:1;position:absolute;inset:0}[data-focus-mode=on] .focus-section>*{z-index:2;position:relative}.hero-section{grid-template-columns:1fr;align-items:center;gap:2rem;padding:3rem 0;display:grid}@media (min-width:768px){.hero-section{grid-template-columns:1fr 1fr}}.hero-section__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 1rem;font-size:.875rem;font-weight:700}.hero-section h1{color:var(--heading);max-width:20ch;margin:0 0 1.25rem;font-size:clamp(2rem,4vw,3rem);line-height:1.2}.hero-section__lead{color:var(--text);max-width:var(--content-max-width);margin:0 0 2rem}.hero-section__actions{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.hero-section__badges{color:var(--text);flex-wrap:wrap;gap:.75rem 1.5rem;margin:0;padding:0;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.hero-section__figure{margin:0}.hero-section__illustration{width:100%;max-width:400px;height:auto}.features-section{border-top:2px solid var(--border);padding:3rem 0}.features-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.feature-card{background:var(--surface);border:2px solid var(--border);border-radius:12px;height:100%;padding:1.5rem}.feature-card:hover{border-color:var(--accent)}.feature-card__icon{margin-bottom:.75rem;font-size:2rem;display:block}.feature-card h3{color:var(--heading);margin:0 0 .75rem;font-size:1.25rem}.feature-card p{color:var(--text);margin:0;font-size:.9375em}.reading-demo{border-top:2px solid var(--border);padding:3rem 0}.reading-demo__article{margin-bottom:2rem}.reading-demo__tips{background:var(--surface-elevated);border:2px solid var(--border);max-width:var(--content-max-width);border-radius:12px;padding:1.5rem}.reading-demo__tips h3{color:var(--heading);margin:0 0 1rem}.reading-demo__tips ul{margin:0;padding-left:1.5rem}.reading-demo__tips li{margin-bottom:.5rem}.form-section{border-top:2px solid var(--border);padding:3rem 0}.form-progress{max-width:480px;margin-bottom:2rem}.form-progress__text{color:var(--heading);margin:.5rem 0 0;font-weight:700}.form-step{border:none;flex-direction:column;gap:1rem;max-width:480px;margin:0 0 1rem;padding:0;display:flex}.form-step legend{color:var(--heading);margin-bottom:1rem;padding:0;font-size:1.25rem;font-weight:700}.form-review{margin:0}.form-review div{border-bottom:1px solid var(--border);grid-template-columns:8rem 1fr;gap:.5rem;padding:.75rem 0;display:grid}.form-review dt{color:var(--heading);font-weight:700}.form-review dd{color:var(--text-muted);margin:0}.form-success{text-align:center;max-width:var(--content-max-width);background:var(--surface);border:2px solid var(--success);border-radius:12px;margin:0 auto;padding:2rem}.form-success__icon{margin-bottom:1rem;font-size:3rem;display:block}.form-success h2{color:var(--heading);margin:0 0 1rem}.form-success p{color:var(--text-muted);margin:0 0 1.5rem}.about-section{border-top:2px solid var(--border);padding:3rem 0}.about-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:2rem;display:grid}.about-grid article{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:1.5rem}.about-grid h3{color:var(--heading);margin:0 0 1rem}.about-grid ul{margin:0;padding-left:1.25rem}.about-grid li{margin-bottom:.5rem}.about-grid a{color:var(--accent)}.about-grid a:focus-visible{outline-offset:2px}.site-footer{background:var(--surface);border-top:2px solid var(--border);margin-top:auto;padding:2rem 1.5rem}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.site-footer p{color:var(--text-muted);margin:0;font-size:.9375em}.site-footer__links{flex-wrap:wrap;gap:1rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:var(--accent);font-weight:500;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline}.reading-ruler{pointer-events:none;z-index:9999;will-change:transform;position:fixed;top:0;left:0;right:0}.reading-ruler__line{background:var(--accent-bg);border-top:3px solid var(--ruler-line);border-bottom:3px solid var(--ruler-line);height:48px}.reading-ruler__mask{background:var(--ruler-mask);position:absolute;left:0;right:0}.reading-ruler__mask--top{height:100vh;bottom:100%}.reading-ruler__mask--bottom{height:100vh;top:100%}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-field label{color:var(--heading);font-weight:700}.form-field__required{color:var(--text-muted);font-weight:600}.form-field__hint{color:var(--text-muted);margin:0;font-size:.875em}.form-field input{font-family:var(--font-body);border:2px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;min-height:2.75rem;padding:.75rem;font-size:1rem}.form-field input:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px}.form-field--invalid input{border-color:var(--error)}.form-field__error{color:var(--error);margin:0;font-weight:600}.form-progress__bar{width:100%;max-width:480px;height:1rem;accent-color:var(--accent)}.form-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.demo-form{max-width:480px}.hero-section__actions .a11y-btn,.form-actions .a11y-btn,.form-success .a11y-btn,.tts-toolbar__button{align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.tts-toolbar__button{min-height:2.75rem}.tts-toolbar{z-index:50;background:var(--accent-bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:.5rem 1.5rem;display:flex;position:sticky;top:4.5rem}.tts-toolbar__hint{color:var(--text-muted);margin:0;font-size:.875em}.a11y-settings-trigger{font-family:var(--font-body);background:var(--accent);color:#fff;border:2px solid var(--accent);cursor:pointer;border-radius:8px;padding:.625rem 1.25rem;font-size:1rem;font-weight:700}[data-contrast=high] .a11y-settings-trigger{color:#000}.a11y-settings-trigger:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.a11y-dialog{border:none;border-top:3px solid var(--border);background:var(--surface);width:100%;max-width:100%;max-height:90vh;color:var(--text);margin:0;padding:0;transition:none;animation:none;position:fixed;inset:auto 0 0;overflow:hidden}.a11y-dialog::backdrop{background:#0000008c;transition:none;animation:none}@media (min-width:640px){.a11y-dialog{border-top:none;border-left:3px solid var(--border);width:min(420px,100%);max-height:100vh;inset:0 0 0 auto}}.a11y-dialog__form{flex-direction:column;height:100%;max-height:90vh;display:flex}@media (min-width:640px){.a11y-dialog__form{max-height:100vh}}.a11y-dialog__header{border-bottom:2px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.a11y-dialog__header h2{color:var(--heading);margin:0;font-size:1.375rem}.a11y-dialog__close{background:var(--surface-elevated);width:2.75rem;height:2.75rem;color:var(--heading);border:2px solid var(--border);cursor:pointer;border-radius:8px;flex-shrink:0;font-size:1.25rem;line-height:1}.a11y-dialog__body{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.a11y-dialog__intro{color:var(--text-muted);margin:0 0 1.5rem}.a11y-dialog__footer{border-top:2px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.a11y-fieldset{border:2px solid var(--border);border-radius:10px;margin:0 0 1.25rem;padding:1rem}.a11y-fieldset legend{color:var(--heading);padding:0 .375rem;font-size:1.0625rem;font-weight:700}.a11y-options{flex-direction:column;gap:.5rem;display:flex}.a11y-options--row{flex-flow:wrap}.a11y-option,.a11y-checkbox{cursor:pointer;border:2px solid #0000;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.a11y-option:hover,.a11y-checkbox:hover{background:var(--surface-elevated)}:is(.a11y-option:has(input:checked),.a11y-checkbox:has(input:checked)){border-color:var(--accent);background:var(--accent-bg)}.a11y-option--compact{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:.5rem;min-width:5.5rem}.a11y-option input,.a11y-checkbox input{width:1.25rem;height:1.25rem;accent-color:var(--accent);flex-shrink:0;margin-top:.125rem}.a11y-option--compact input{margin-top:0}.a11y-option__text{flex-direction:column;gap:.125rem;display:flex}.a11y-option__label{color:var(--heading);font-weight:700}.a11y-option__hint{color:var(--text-muted);font-size:.875em;line-height:1.5}.a11y-checkboxes{flex-direction:column;gap:.25rem;display:flex}.a11y-btn{font-family:var(--font-body);cursor:pointer;border:2px solid #0000;border-radius:8px;min-height:2.75rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:700}.a11y-btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}[data-contrast=high] .a11y-btn--primary{color:#000}.a11y-btn--secondary{background:var(--surface);color:var(--heading);border-color:var(--border)}.a11y-btn:hover{filter:brightness(.95)}[data-contrast=high] .feature-card,[data-contrast=high] .reading-demo__tips,[data-contrast=high] .about-grid article,[data-contrast=high] .form-success,[data-contrast=high] .a11y-fieldset,[data-contrast=high] .site-header,[data-contrast=high] .site-footer,[data-contrast=high] .tts-toolbar{background:#000;border-color:#fff}[data-contrast=high] .a11y-settings-trigger{color:#000;background:#ff0;border-color:#ff0}[data-contrast=high] .site-logo__mark{color:#000;background:#ff0}h1,h2,h3,h4{font-family:var(--font-body);letter-spacing:.02em}a{color:var(--accent)}img,svg,video{max-width:100%;height:auto}@media (max-width:640px){.site-header__inner{flex-direction:column;align-items:flex-start}.site-nav__list{flex-direction:column;gap:0}}
