.a11y-controls{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:calc(20px + env(safe-area-inset-left,0px));z-index:var(--z-a11y, 9000);display:flex;flex-direction:column;gap:8px}.footer{padding-bottom:80px!important}.a11y-controls__toggle{width:48px;height:48px;border-radius:50%;background:var(--primary, #2563eb);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 4px 12px #0000004d;transition:transform .2s ease,box-shadow .2s ease}.a11y-controls__toggle:hover{transform:scale(1.1);box-shadow:0 6px 20px #0006}.a11y-controls__toggle:focus-visible{outline:3px solid white;outline-offset:3px}.a11y-controls__panel{position:absolute;bottom:60px;left:0;background:var(--surface-slate, #1e293b);background-color:var(--surface-slate, #1e293b);border:1px solid var(--gray-slate, #334155);border-radius:12px;padding:16px;min-width:280px;max-width:320px;box-shadow:0 10px 40px #0009;display:none;z-index:var(--z-a11y-panel, 9100);isolation:isolate;backdrop-filter:none}.a11y-controls__panel.is-open{display:block;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.a11y-controls__title{font-size:1rem;font-weight:700;color:var(--text-primary, #f0f6fc);margin:0 0 12px;display:flex;align-items:center;gap:8px}.a11y-controls__option{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-subtle, #21262d)}.a11y-controls__option:last-child{border-bottom:none}.a11y-controls__label{font-size:.875rem;color:var(--text-secondary, #e2e8f0)}.a11y-controls__switch{position:relative;width:48px;height:44px;background:transparent;border-radius:13px;border:none;cursor:pointer;transition:background .2s ease;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.a11y-controls__switch:before{content:"";position:absolute;width:48px;height:26px;background:var(--gray-600, #4b5563);border-radius:13px;transition:background .2s ease}.a11y-controls__switch:after{content:"";position:absolute;top:50%;left:3px;transform:translateY(-50%);width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease,left .2s ease;z-index:1}.a11y-controls__switch[aria-checked=true]:before{background:var(--success, #10b981)}.a11y-controls__switch[aria-checked=true]:after{left:25px;transform:translateY(-50%)}.a11y-controls__switch:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.high-contrast,[data-a11y-high-contrast=true]{--text-primary: #ffffff !important;--text-secondary: #f5f5f5 !important;--text-muted: #e0e0e0 !important;--bg: #000000 !important;--card: #0a0a0a !important;--border: #ffffff !important;--primary: #00bfff !important}.high-contrast *,[data-a11y-high-contrast=true] *{border-color:currentColor!important}.high-contrast a,[data-a11y-high-contrast=true] a{color:#0ff!important;text-decoration:underline!important}.high-contrast button,.high-contrast [role=button],[data-a11y-high-contrast=true] button,[data-a11y-high-contrast=true] [role=button]{border:2px solid currentColor!important}.large-text,[data-a11y-large-text=true]{font-size:125%!important}.large-text *,[data-a11y-large-text=true] *{line-height:1.8!important;letter-spacing:.02em!important}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after,[data-a11y-reduce-motion=true] *,[data-a11y-reduce-motion=true] *:before,[data-a11y-reduce-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.dyslexia-friendly,[data-a11y-dyslexia=true]{font-family:OpenDyslexic,Comic Sans MS,Lexie Readable,sans-serif!important;letter-spacing:.12em!important;word-spacing:.16em!important}.dyslexia-friendly *,[data-a11y-dyslexia=true] *{font-family:inherit!important;line-height:2!important}.dyslexia-friendly p,.dyslexia-friendly li,[data-a11y-dyslexia=true] p,[data-a11y-dyslexia=true] li{max-width:65ch!important}.reading-mode,[data-a11y-reading-mode=true]{max-width:70ch;margin:0 auto;padding:2rem;font-size:1.125rem;line-height:1.9;letter-spacing:.01em;word-spacing:.05em}.reading-mode h1,.reading-mode h2,.reading-mode h3,[data-a11y-reading-mode=true] h1,[data-a11y-reading-mode=true] h2,[data-a11y-reading-mode=true] h3{margin-top:2em;margin-bottom:.5em}.reading-mode p,[data-a11y-reading-mode=true] p{margin-bottom:1.5em}.colorblind-friendly,[data-a11y-colorblind=true]{--cb-pattern-critical: repeating-linear-gradient( 45deg, transparent, transparent 3px, rgba(0, 0, 0, .15) 3px, rgba(0, 0, 0, .15) 6px );--cb-pattern-high: repeating-linear-gradient( -45deg, transparent, transparent 3px, rgba(0, 0, 0, .12) 3px, rgba(0, 0, 0, .12) 6px );--cb-pattern-medium: repeating-linear-gradient( 0deg, transparent, transparent 4px, rgba(0, 0, 0, .1) 4px, rgba(0, 0, 0, .1) 8px );--cb-pattern-low: repeating-linear-gradient( 90deg, transparent, transparent 4px, rgba(0, 0, 0, .08) 4px, rgba(0, 0, 0, .08) 8px )}.colorblind-friendly .severity-critical:before,.colorblind-friendly .risk-critical:before,.colorblind-friendly [data-severity=critical]:before,[data-a11y-colorblind=true] .severity-critical:before,[data-a11y-colorblind=true] .risk-critical:before,[data-a11y-colorblind=true] [data-severity=critical]:before{content:"\26d4  ";font-style:normal}.colorblind-friendly .severity-high:before,.colorblind-friendly .risk-high:before,.colorblind-friendly [data-severity=high]:before,[data-a11y-colorblind=true] .severity-high:before,[data-a11y-colorblind=true] .risk-high:before,[data-a11y-colorblind=true] [data-severity=high]:before{content:"\26a0\fe0f  ";font-style:normal}.colorblind-friendly .severity-medium:before,.colorblind-friendly .risk-medium:before,.colorblind-friendly [data-severity=medium]:before,[data-a11y-colorblind=true] .severity-medium:before,[data-a11y-colorblind=true] .risk-medium:before,[data-a11y-colorblind=true] [data-severity=medium]:before{content:"\25c6  ";font-style:normal}.colorblind-friendly .severity-low:before,.colorblind-friendly .risk-low:before,.colorblind-friendly [data-severity=low]:before,[data-a11y-colorblind=true] .severity-low:before,[data-a11y-colorblind=true] .risk-low:before,[data-a11y-colorblind=true] [data-severity=low]:before{content:"\2139\fe0f  ";font-style:normal}.colorblind-friendly .badge-critical,.colorblind-friendly .alert-critical,[data-a11y-colorblind=true] .badge-critical,[data-a11y-colorblind=true] .alert-critical{background-image:var(--cb-pattern-critical)!important;border:2px solid currentColor!important}.colorblind-friendly .badge-high,.colorblind-friendly .alert-high,.colorblind-friendly .badge-warning,[data-a11y-colorblind=true] .badge-high,[data-a11y-colorblind=true] .alert-high,[data-a11y-colorblind=true] .badge-warning{background-image:var(--cb-pattern-high)!important;border:2px dashed currentColor!important}.colorblind-friendly .badge-medium,.colorblind-friendly .alert-medium,[data-a11y-colorblind=true] .badge-medium,[data-a11y-colorblind=true] .alert-medium{background-image:var(--cb-pattern-medium)!important;border:2px dotted currentColor!important}.colorblind-friendly .badge-low,.colorblind-friendly .badge-info,.colorblind-friendly .alert-info,[data-a11y-colorblind=true] .badge-low,[data-a11y-colorblind=true] .badge-info,[data-a11y-colorblind=true] .alert-info{border:2px solid currentColor!important}.colorblind-friendly a[href^=http]:not([href*=sign-safe]),[data-a11y-colorblind=true] a[href^=http]:not([href*=sign-safe]){text-decoration:underline double!important}.colorblind-friendly a[href^="mailto:"],[data-a11y-colorblind=true] a[href^="mailto:"]{text-decoration:underline wavy!important}.colorblind-friendly .status-indicator:after,[data-a11y-colorblind=true] .status-indicator:after{margin-left:4px;font-size:.75em;font-weight:600}.colorblind-friendly .status-indicator.success:after,[data-a11y-colorblind=true] .status-indicator.success:after{content:"(OK)"}.colorblind-friendly .status-indicator.error:after,[data-a11y-colorblind=true] .status-indicator.error:after{content:"(ERROR)"}.colorblind-friendly .status-indicator.warning:after,[data-a11y-colorblind=true] .status-indicator.warning:after{content:"(WARN)"}.skip-links{position:absolute;top:0;left:0;z-index:var(--z-a11y-panel, 9100)}.skip-links a{position:absolute;top:-100px;left:0;background:var(--primary, #2563eb);color:#fff;padding:12px 24px;font-weight:600;text-decoration:none;border-radius:0 0 8px;transition:top .2s ease}.skip-links a:focus{top:0;outline:3px solid white;outline-offset:-3px}.skip-links a:nth-child(2):focus{left:200px}.skip-links a:nth-child(3):focus{left:400px}.keyboard-shortcuts-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card, #1e293b);border:1px solid var(--border, #334155);border-radius:16px;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;z-index:var(--z-a11y-dialog, 9200);box-shadow:0 20px 60px #00000080}.keyboard-shortcuts-dialog[hidden]{display:none}.keyboard-shortcuts-dialog::backdrop{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.keyboard-shortcuts-dialog__title{font-size:1.25rem;font-weight:700;color:var(--text-primary, #f0f6fc);margin:0 0 16px;display:flex;align-items:center;gap:8px}.keyboard-shortcuts-dialog__close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:none;background:transparent;color:var(--text-secondary, #e2e8f0);font-size:1.5rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.keyboard-shortcuts-dialog__close:hover{background:var(--gray-700, #374151);color:var(--text-primary)}.keyboard-shortcuts-dialog dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}.keyboard-shortcuts-dialog dt{display:flex;gap:4px}.keyboard-shortcuts-dialog dd{color:var(--text-secondary, #e2e8f0);margin:0}kbd{display:inline-block;padding:4px 8px;font-family:var(--font-mono);font-size:.8125rem;background:var(--gray-800, #1f2937);border:1px solid var(--border, #334155);border-radius:4px;box-shadow:0 2px 0 var(--gray-700, #374151);color:var(--text-primary, #f0f6fc)}.show-landmarks [role=banner],.show-landmarks header{outline:3px dashed #2563eb!important;outline-offset:2px}.show-landmarks [role=navigation],.show-landmarks nav{outline:3px dashed #10b981!important;outline-offset:2px}.show-landmarks [role=main],.show-landmarks main{outline:3px dashed #f59e0b!important;outline-offset:2px}.show-landmarks [role=complementary],.show-landmarks aside{outline:3px dashed #8b5cf6!important;outline-offset:2px}.show-landmarks [role=contentinfo],.show-landmarks footer{outline:3px dashed var(--error-bright, #ef4444)!important;outline-offset:2px}@media print{.a11y-controls,.skip-links,.keyboard-shortcuts-dialog{display:none!important}body{font-size:12pt;line-height:1.5;color:#000;background:#fff}a{color:#000;text-decoration:underline}a[href]:after{content:" (" attr(href) ")";font-size:.8em}abbr[title]:after{content:" (" attr(title) ")"}}@media(prefers-reduced-motion:reduce){.a11y-controls__panel,.a11y-controls__toggle,.a11y-controls__switch,.a11y-controls__switch:after,.keyboard-shortcuts-dialog,.skip-links a{animation:none!important;transition:none!important}.a11y-controls__toggle:hover{transform:none}}
