/* Barrierefreiheit – Menü + Anzeige-Modi (Claude 31.10.2026, Andy) */
.a11y{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:9990;font:500 14px/1.35 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.a11y-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.a11y-tab{display:grid;place-items:center;width:44px;height:48px;border:0;border-radius:0 14px 14px 0;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,#1e5bff,#22d3ee);box-shadow:0 10px 30px -10px rgba(30,91,255,.8);transition:width .2s,filter .2s}
.a11y-tab:hover,.a11y-tab:focus-visible{width:52px;filter:brightness(1.1)}
.a11y-tab:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
.a11y-tab svg{width:24px;height:24px;fill:currentColor}
.a11y-tab.active::after{content:"";position:absolute;right:6px;top:6px;width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 2px #0b1220}
.a11y-panel{position:absolute;left:56px;top:50%;transform:translateY(-50%);width:320px;max-width:calc(100vw - 72px);max-height:86vh;overflow:auto;padding:16px;border-radius:20px;
  background:rgba(10,15,30,.96);color:#e2e8f0;border:1px solid rgba(148,163,184,.25);box-shadow:0 30px 80px -20px rgba(0,0,0,.7);backdrop-filter:blur(16px);animation:a11yIn .22s ease-out}
@keyframes a11yIn{from{opacity:0;transform:translate(-10px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
.a11y-hd{display:flex;align-items:center;gap:10px;margin-bottom:14px}.a11y-hd b{flex:1;font-size:16px;color:#fff}
.a11y-ic{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#1e5bff,#22d3ee)}.a11y-ic svg{width:18px;height:18px;fill:#fff}
.a11y-x{width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.a11y-x:hover{background:rgba(255,255,255,.12)}
.a11y button:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
.a11y-size-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.05);margin-bottom:12px}
.a11y-stepper{display:flex;align-items:center;gap:6px}
.a11y-stepper button{min-width:44px;height:40px;border:1px solid rgba(148,163,184,.3);border-radius:10px;background:rgba(255,255,255,.04);color:#fff;font-weight:800;cursor:pointer}
.a11y-stepper button:hover{border-color:#60a5fa}
.a11y-pct{min-width:48px;text-align:center;font-weight:700;color:#93c5fd}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-opt{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:74px;padding:11px 12px;border-radius:14px;border:1px solid rgba(148,163,184,.22);
  background:rgba(255,255,255,.03);color:#e2e8f0;text-align:left;font:600 13px/1.25 inherit;cursor:pointer;transition:border-color .15s,background .15s}
.a11y-opt:hover{border-color:rgba(96,165,250,.6)}
.a11y-opt.on{border-color:#3b82f6;background:rgba(59,130,246,.18);color:#fff}
.a11y-oi{width:22px;height:22px;border-radius:7px;background:rgba(148,163,184,.25);position:relative}
.a11y-opt.on .a11y-oi{background:linear-gradient(135deg,#1e5bff,#22d3ee)}
.a11y-opt.on .a11y-oi::after{content:"";position:absolute;left:7px;top:4px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.a11y-reset{width:100%;margin-top:12px;height:42px;border:1px solid rgba(148,163,184,.3);border-radius:12px;background:transparent;color:#cbd5e1;font-weight:700;cursor:pointer}
.a11y-reset:hover{border-color:#f87171;color:#fecaca}
@media (max-width:600px){.a11y{top:auto;bottom:96px;transform:none}.a11y-panel{top:auto;bottom:0;transform:none;left:52px;width:calc(100vw - 64px)}
  @keyframes a11yIn{from{opacity:0}to{opacity:1}}}
@media print{.a11y{display:none}}

/* ── Anzeige-Modi ── */
html.a11y-size{font-size:calc(100% * var(--a11y-zoom,1))!important}
html.a11y-size body{font-size:1rem}
html.a11y-contrast body *{text-shadow:none!important}
html.a11y-contrast :is(p,li,span,small,time,figcaption,td,th,label,dd,dt,h1,h2,h3,h4){color:inherit!important;opacity:1!important}
html.a11y-contrast img{filter:contrast(1.15)}
html.a11y-contrast[data-theme="light"] body{background:#fff!important;color:#000!important}
html.a11y-contrast:not([data-theme="light"]) body{background:#000!important;color:#fff!important}
html.a11y-contrast a{color:#ffd400!important}
html.a11y-contrast[data-theme="light"] a{color:#0033cc!important}
html.a11y-gray{filter:grayscale(1)}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px!important;text-decoration-thickness:2px!important}
html.a11y-font body,html.a11y-font body *:not(svg):not(svg *):not([class*="icon"]){font-family:Verdana,Tahoma,"Atkinson Hyperlegible","Segoe UI",sans-serif!important;letter-spacing:.01em}
html.a11y-spacing body :is(p,li,dd,blockquote,figcaption,.teaser){line-height:1.9!important;letter-spacing:.04em!important;word-spacing:.12em!important}
html.a11y-spacing body p{margin-bottom:1.2em!important}
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html.a11y-still video{visibility:hidden}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l14 10.5-6.2 1.2 3.9 7.4-3 1.6-3.9-7.5L4 19.5z' fill='%23000' stroke='%23fff' stroke-width='1.4'/%3E%3C/svg%3E") 4 2,auto!important}
html.a11y-focus :focus{outline:4px solid #fbbf24!important;outline-offset:3px!important;box-shadow:0 0 0 7px rgba(251,191,36,.35)!important}
html.a11y-focus a:hover{outline:2px dashed #fbbf24;outline-offset:2px}
