.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.focus\:not-sr-only:focus{position:static!important;width:auto!important;height:auto!important;padding:inherit!important;margin:inherit!important;overflow:visible!important;clip:auto!important;white-space:normal!important}.skip-links a{position:absolute;top:-40px;left:6px;z-index:9999;padding:8px 16px;background:var(--background);color:var(--foreground);border:2px solid var(--ring);border-radius:4px;text-decoration:none;font-weight:500;transform:translateY(-100%);transition:transform .3s ease}.skip-links a:focus{top:6px;transform:translateY(0)}:root{--focus-ring-color:hsl(var(--ring));--focus-ring-width:2px;--focus-ring-offset:2px}.focus-visible:focus-visible,.focus\:ring-2:focus{outline:none;box-shadow:0 0 0 var(--focus-ring-offset) var(--background),0 0 0 calc(var(--focus-ring-width) + var(--focus-ring-offset)) var(--focus-ring-color)}.high-contrast{--background:#000;--foreground:#fff;--muted:#333;--muted-foreground:#ccc;--border:#fff;--ring:#fff}.high-contrast button,.high-contrast input,.high-contrast select,.high-contrast textarea{border:2px solid var(--border)!important}.high-contrast a{text-decoration:underline!important}@media (prefers-reduced-motion:reduce){.reduced-motion *,.reduced-motion :after,.reduced-motion :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-in{animation:slideIn .3s ease-out}.motion-safe\:animate-out{animation:slideOut .3s ease-in}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.dyslexia-friendly{font-family:OpenDyslexic,Comic Sans MS,cursive,sans-serif}:root{--min-font-size:16px;--max-line-height:1.6}body{font-size:max(var(--min-font-size),1rem);line-height:var(--max-line-height)}:root{--min-touch-target:44px;--clickable-padding:8px}[role=button],[role=menuitem],[role=option],[role=tab],a[role=button],button,input[type=button],input[type=reset],input[type=submit]{min-height:var(--min-touch-target);min-width:var(--min-touch-target);padding:var(--clickable-padding)}.form-field{position:relative}.form-error{color:hsl(var(--destructive));font-size:.875rem;margin-top:.25rem}.form-error:before{content:"⚠ ";font-weight:700}.required:after{content:" *";color:hsl(var(--destructive));font-weight:700}[aria-live].sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.modal-overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.8);backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--background);border-radius:8px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);max-height:90vh;overflow-y:auto}.accessible-table{border-collapse:collapse;width:100%}.accessible-table th{background:var(--muted);font-weight:600;text-align:left}.accessible-table td,.accessible-table th{padding:.75rem;border:1px solid var(--border)}.accessible-table caption{font-weight:600;margin-bottom:.5rem;text-align:left}.nav-landmark{border:2px solid transparent}.nav-landmark:focus-within{border-color:var(--ring)}.error-state{border-color:hsl(var(--destructive))!important;box-shadow:0 0 0 1px hsl(var(--destructive))}.error-state:focus{box-shadow:0 0 0 1px hsl(var(--destructive)),0 0 0 3px hsla(var(--destructive),.3)}.success-state{border-color:hsl(var(--success,142 76% 36%))!important;box-shadow:0 0 0 1px hsl(var(--success,142 76% 36%))}.warning-state{border-color:hsl(var(--warning,38 92% 50%))!important;box-shadow:0 0 0 1px hsl(var(--warning,38 92% 50%))}.keyboard-user :focus{outline:2px solid var(--ring);outline-offset:2px}.mouse-user :focus{outline:none}@media print{.sr-only{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#666}.no-print{display:none!important}}@media (max-width:768px){:root{--min-touch-target:48px}}@media (prefers-color-scheme:dark){.auto-dark{color-scheme:dark}}@media (prefers-color-scheme:light){.auto-light{color-scheme:light}}.respect-motion-preferences{transition:var(--animation-duration,.3s) ease-in-out}@media (prefers-reduced-motion:reduce){.respect-motion-preferences{transition:none}}