.a11y-fab{position:fixed;bottom:20px;left:20px;z-index:902;width:52px;height:52px;border-radius:50%;
  border:2px solid rgba(4,201,255,.55);background:var(--surface);color:var(--cyan);display:grid;place-items:center;
  cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.5);transition:transform .3s var(--ease)}
.a11y-fab:hover{transform:scale(1.08)}
.a11y-fab svg{width:26px;height:26px}
.a11y-panel{position:fixed;bottom:84px;left:20px;z-index:903;width:min(300px,86vw);background:var(--surface);
  border:1px solid rgba(4,201,255,.28);border-radius:16px;box-shadow:var(--shadow);padding:1.2rem;
  opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s var(--ease)}
.a11y-panel.open{opacity:1;visibility:visible;transform:none}
.a11y-panel h3{font-family:var(--font-head);font-size:1rem;color:#fff;margin-bottom:.9rem;display:flex;justify-content:space-between;align-items:center}
.a11y-panel h3 button{background:none;border:none;color:var(--light-gray);font-size:1.3rem;cursor:pointer;line-height:1}
.a11y-row{display:flex;gap:.5rem;margin-bottom:.55rem}
.a11y-btn{flex:1;font-family:var(--font-body);font-size:.86rem;color:var(--off-white);background:var(--black);
  border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:.65em .5em;cursor:pointer;transition:.2s;text-align:center}
.a11y-btn:hover{border-color:var(--cyan)}
.a11y-btn.on{border-color:var(--cyan);background:var(--cyan-dim);color:var(--cyan)}
.a11y-reset{width:100%;margin-top:.4rem;color:var(--gold);border-color:rgba(217,178,92,.35)}
.a11y-statement{display:block;text-align:center;margin-top:.8rem;font-size:.82rem;color:var(--cyan);text-decoration:underline}

/* modes on <html> */
html.a11y-font-1{font-size:112.5%}
html.a11y-font-2{font-size:125%}
html.a11y-font-3{font-size:140%}
html.a11y-links a{text-decoration:underline !important}
html.a11y-readable *{font-family:Arial,"Segoe UI",sans-serif !important;letter-spacing:.3px !important}
html.a11y-nomotion *,html.a11y-nomotion *::before,html.a11y-nomotion *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.a11y-contrast{--light-gray:#fff;--dark-gray:#dfe1e8;--off-white:#fff}
html.a11y-contrast body{background:#000}
html.a11y-contrast p,html.a11y-contrast .section-desc,html.a11y-contrast .pstep p,html.a11y-contrast .dcard p{color:#f4f4f4}
html.a11y-contrast .btn-ghost{border-color:#fff;color:#fff}
