
/* Accessibility panel – mobile safe */
#a11y-panel{position:fixed;right:12px;bottom:12px;left:auto;top:auto;
  width:clamp(320px, 92vw, 720px); max-height:86vh; overflow:auto; box-sizing:border-box;
  background:#fff; color:#111; border:1px solid #d1d5db; border-radius:12px; box-shadow:0 24px 80px rgba(0,0,0,.22); z-index:9999; display:none}
#a11y-panel.open{display:block}
/* lock scroll when open */
html.a11y-lock, html.a11y-lock body{overflow:hidden}
#a11y-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#0f4c81;color:#fff;border-top-left-radius:12px;border-top-right-radius:12px;font-weight:800}
#a11y-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
@media(min-width:640px){#a11y-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){#a11y-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.a11y-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:110px;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#f9fafb;cursor:pointer}
.a11y-tile:hover{background:#f3f4f6}
.a11y-tile svg{width:38px;height:38px;opacity:.9}
.a11y-caption{font-weight:700}
#a11y-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid #e5e7eb;background:#0f172a;color:#e5e7eb;border-bottom-left-radius:12px;border-bottom-right-radius:12px}
#a11y-open{position:fixed;bottom:16px;right:16px;z-index:9998;background:#0f4c81;color:#fff;border:none;border-radius:999px;padding:12px 16px;font-weight:800;box-shadow:0 12px 30px rgba(15,76,129,.35);cursor:pointer}
#a11y-open:focus{outline:3px solid #60a5fa;outline-offset:2px}
html.a11y-contrast, html.a11y-contrast body{filter:contrast(1.1) saturate(1.05)}
html.a11y-contrast body{background:#0a0a0a !important; color:#fff !important}
html.a11y-links a{text-decoration:underline; text-underline-offset:2px; outline-offset:2px}
html.a11y-spacing body{letter-spacing:.03em; line-height:1.8}
html.a11y-no-motion *, html.a11y-no-motion *::before, html.a11y-no-motion *::after{animation:none !important; transition:none !important}
html.a11y-readable body{font-family:'Atkinson Hyperlegible', Inter, system-ui, Segoe UI, Roboto, Arial, sans-serif}
html.a11y-keyboard :focus-visible{outline:3px solid #60a5fa !important; border-radius:8px}
#a11y-cursor-ring{position:fixed;left:0;top:0;width:28px;height:28px;border:2px solid #0ea5e9;border-radius:999px;pointer-events:none;transform:translate(-50%,-50%);opacity:0;z-index:9997}
html.a11y-pointer #a11y-cursor-ring{opacity:1}
#a11y-reading-line{position:fixed;left:0;right:0;height:22px;background:rgba(14,165,233,.18);border-top:1px solid rgba(14,165,233,.5);border-bottom:1px solid rgba(14,165,233,.5);pointer-events:none;top:40%;z-index:9996;display:none}
html.a11y-reading #a11y-reading-line{display:block}
#a11y-hud{position:fixed;right:16px;top:16px;background:rgba(2,6,23,.78);color:#e5e7eb;padding:6px 10px;border-radius:8px;font:12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace;z-index:9996;display:none}
html.a11y-hud-on #a11y-hud{display:block}
