/* ══════════════════════════════════════════════════════════════════════════
   Odysseus Accessibility Layer — a11y.css v1 (2026-09-03)
   Durable: /opt/odysseus/data/custom-assets/custom/a11y.css
   Served:  /app/static/custom/a11y.css   (docker cp after a container recreate)

   Loads LAST of the stylesheets (after consilium-theme.css, before
   user-theme.js). Palette-neutral: keys only on the shared `--e-*` token
   schema every account theme defines (eggie/mifu/cy/consilium) plus the
   `.ody-dark` class user-theme.js derives from the resolved --bg luminance.
   Companion script: a11y.js (stamps the <html> mode classes, skip links,
   accessible names, tab/dialog semantics, the preferences panel).

   MODE CLASSES on <html> (a11y.js; unset = follow the OS media query):
     .a11y-motion    reduce motion       .a11y-contrast   high contrast
     .a11y-text      larger text         .a11y-font       readable font
     .a11y-focus     always-on focus     .a11y-targets    bigger tap targets

   SPECIFICITY: `:root:root:root` = (0,3,0) — ties the deepest theme scope
   (`:root[data-ody-user="x"].ody-dark`) and wins on source order; `!important`
   on custom properties beats the inline --vars theme.js writes on <html>.

   DEFAULT (always-on) fixes are objective WCAG 2.2 AA items only:
     §2 keyboard focus ring   §4 skip links   §6 underlined links in chat
     §7 24px minimum control size   §14 muted-text contrast (4.21 → 5.3:1)
   Everything else is opt-in via the ♿ Accessibility panel (Alt+Shift+A).
   Remove the <link> and every rule in this file is gone — single unit.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Tokens ─────────────────────────────────────────────────────────── */
:root {
  --a11y-ring: var(--e-teal-deep, var(--accent-primary, var(--red, #1a9488)));
  --a11y-ring-halo: #ffffff;         /* contrasting band inside the ring */
  --a11y-panel-w: 380px;
}
:root.ody-dark { --a11y-ring-halo: #0b100f; }

/* ── 2. Keyboard focus — visible on EVERY control (WCAG 2.4.7 / 2.4.11) ──
   style.css ships 97 `outline:none` rules (incl. `.list-item:focus`) and only
   5 `:focus-visible` rules; the theme's zero-specificity halo loses to any
   component box-shadow. This ring only fires on :focus-visible, so mouse
   users see no change. Text fields keep their own theme glow (border +
   halo) and get a lighter 2px outline so the composer look is untouched. */
:root:root :is(a[href], button, summary, [tabindex]:not([tabindex="-1"]),
  [role="button"], [role="tab"], [role="menuitem"], [role="option"],
  [role="switch"], [role="checkbox"], .list-item, .memory-tab, .admin-tab,
  .icon-rail-btn, .minimized-dock-chip):focus-visible {
  outline: 3px solid var(--a11y-ring) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px var(--a11y-ring-halo) !important;
}
/* rows that live inside overflow:hidden/scroll containers: inset ring so it
   is never clipped at the container edge */
:root:root :is(.list-item, .memory-tab, .admin-tab, .icon-rail-btn,
  .minimized-dock-chip, .session-folder-header, .section-header):focus-visible {
  outline-offset: -3px !important;
  box-shadow: inset 0 0 0 2px var(--a11y-ring-halo) !important;
}
:root:root :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select, textarea, [contenteditable="true"]):focus-visible {
  outline: 2px solid var(--a11y-ring) !important;
  outline-offset: 1px !important;
}
:root:root :is(input[type="checkbox"], input[type="radio"], input[type="range"]):focus-visible {
  outline: 3px solid var(--a11y-ring) !important;
  outline-offset: 3px !important;
}
/* the composer already has a strong themed focus treatment (1.5px accent
   border + glow) — leave it alone by default (§3 adds the ring in focus mode) */
:root:root:not(.a11y-focus) .chat-input-bar textarea:focus-visible {
  outline: none !important;
}

/* ── 3. Always-show-focus mode: thick ring on :focus (mouse too), composer
       included, plus a soft outer halo so it reads on busy backgrounds ──── */
:root:root:root.a11y-focus :is(a[href], button, summary, [tabindex]:not([tabindex="-1"]),
  [role="button"], [role="tab"], [role="menuitem"], [role="option"], [role="switch"],
  input, select, textarea, [contenteditable="true"], .list-item, .memory-tab,
  .admin-tab, .icon-rail-btn, .minimized-dock-chip):focus {
  outline: 4px solid var(--a11y-ring) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px var(--a11y-ring-halo), 0 0 0 9px color-mix(in srgb, var(--a11y-ring) 30%, transparent) !important;
}
:root:root:root.a11y-focus :is(.list-item, .memory-tab, .admin-tab, .icon-rail-btn,
  .minimized-dock-chip, .session-folder-header, .section-header):focus {
  outline-offset: -4px !important;
  box-shadow: inset 0 0 0 2px var(--a11y-ring-halo) !important;
}

/* ── 4. Skip links (WCAG 2.4.1) — a11y.js injects them as body's first child.
       Off-screen until focused; then a floating pill at the top-left. ───── */
.a11y-skips {
  position: fixed; top: 10px; left: 10px; z-index: 2147481000;
  display: flex; gap: 8px; pointer-events: none;
}
.a11y-skip {
  pointer-events: auto;
  position: absolute; left: 0; top: 0;
  transform: translateY(-300%);
  padding: 10px 14px; white-space: nowrap;
  background: var(--panel, #fff); color: var(--fg, #111);
  border: 2px solid var(--a11y-ring); border-radius: 10px;
  font: 600 14px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif;
  text-decoration: none; box-shadow: 0 8px 28px rgba(0, 0, 0, .28);
  transition: transform .12s ease;
}
.a11y-skip + .a11y-skip { left: 132px; }
.a11y-skip:focus, .a11y-skip:focus-visible {
  transform: none;
  outline: 3px solid var(--a11y-ring) !important; outline-offset: 2px !important;
}
/* skip-link target: no ring on the landmark itself (programmatic focus) */
#chat-container:focus { outline: none; }

/* ── 5. Utilities ──────────────────────────────────────────────────────── */
.a11y-sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* ── 6. Links inside chat content are distinguishable without colour
       (WCAG 1.4.1). Buttons/chips styled as <a> are excluded. ───────────── */
:root:root .chat-history .msg a[href]:not([class*="btn"]):not([role="button"]):not(.chip) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}

/* ── 7. Target size (WCAG 2.5.8): 24 × 24 CSS px floor on every real button.
       min-* wins over an explicit smaller height regardless of specificity,
       so the 20–22px toolbar/menu buttons grow 2–4px; nothing else moves. */
:root:root button:not(.a11y-nomin) { min-width: 24px; min-height: 24px; }
:root:root .list-item-plus-btn { min-height: 22px; }  /* inline "+ document" pill — sits inside a 26px row; keep the row height */

/* ── 8. Reduce-motion mode (same intent as prefers-reduced-motion, but
       switchable in-app; the ambient effects only read the OS media query
       once at load, so they are hidden here) ───────────────────────────── */
:root:root:root.a11y-motion body *,
:root:root:root.a11y-motion body *::before,
:root:root:root.a11y-motion body *::after {
  transition-duration: .001ms !important;
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
}
:root:root:root.a11y-motion {
  scroll-behavior: auto !important;
  --bg-effect-intensity: 0 !important;             /* stock synapse/rain/petals/… canvases */
}
:root:root:root.a11y-motion :is(#bubbleCanvas, #snowCanvas, #cloudCanvas, #constCanvas,
  #synapse-canvas, #rain-canvas, #constellations-canvas, #perlin-flow-canvas,
  #petals-canvas, #sparkles-canvas, #embers-canvas, .petal, .startrail) {
  display: none !important;
}
:root:root:root.a11y-motion .send-btn:hover { transform: none !important; }
:root:root:root.a11y-motion .msg:hover { box-shadow: none !important; }

/* ── 8b. Ambient effects are opt-in (a11y-effects); when the switch is off after
       they were started in this session, hide them until the next load ──── */
:root:root:root:not(.a11y-effects) :is(#bubbleCanvas, #snowCanvas, #cloudCanvas, #constCanvas, .petal, .startrail) {
  display: none !important;
}

/* ── 9. High-contrast mode ─────────────────────────────────────────────────
   Keeps each account's hue family but forces AA+ text everywhere:
   near-black/near-white ink, accent text mixed toward black/white
   (pink #ec7faf 2.55:1 → #824660 7.0:1 light; #f4b2cf 8.1:1 dark),
   stronger borders, flat background, no grain, underlined links, and the
   generated block below lifts every control style.css dims to opacity .3–.6. */
:root:root:root.a11y-contrast {
  --a11y-ink:      #111a19;
  --a11y-ink-soft: #2c3a38;   /* 11.9:1 on white */
  --a11y-muted:    #465552;   /*  7.8:1 */
  --a11y-accent:   color-mix(in srgb, var(--e-pink, var(--accent-primary, var(--red, #c93f7b))) 55%, #000);
  --a11y-accent-2: color-mix(in srgb, var(--e-teal, var(--color-accent, #178277)) 45%, #000);

  --fg: var(--a11y-ink) !important;
  --e-ink: var(--a11y-ink) !important;
  --e-ink-soft: var(--a11y-ink-soft) !important;
  --e-muted: var(--a11y-muted) !important;
  --color-muted: var(--a11y-ink-soft) !important;
  --color-muted-alt: var(--a11y-ink-soft) !important;
  --color-subheader: var(--a11y-ink-soft) !important;
  --hamburger-color: var(--a11y-ink) !important;
  --e-pink-text: var(--a11y-accent) !important;
  --e-teal-text: var(--a11y-accent-2) !important;
  --accent-primary: var(--a11y-accent) !important;
  --red: var(--a11y-accent) !important;
  --brand-color: var(--a11y-accent) !important;
  --color-accent: var(--a11y-accent-2) !important;
  --color-link-hover: var(--a11y-accent-2) !important;
  --color-success: var(--a11y-accent-2) !important;
  --color-error: #a8173f !important;
  --send-btn-bg: var(--a11y-accent) !important;
  --send-btn-hover: var(--a11y-ink) !important;
  --e-btn-ink: #ffffff !important;
  --border: color-mix(in srgb, var(--a11y-ink) 42%, transparent) !important;
  --bubble-border: color-mix(in srgb, var(--a11y-ink) 42%, transparent) !important;
  --input-border: color-mix(in srgb, var(--a11y-ink) 55%, transparent) !important;
  --code-fg: var(--a11y-ink) !important;
  --hl-fg: var(--a11y-ink) !important;
  --hl-comment: var(--a11y-muted) !important;
  --hl-function: #1f5a7a !important;
  --hl-number: #7a4614 !important;
  --hl-keyword: var(--a11y-accent) !important;
  --hl-string: var(--a11y-accent-2) !important;
  --a11y-ring: var(--a11y-ink);
}
:root:root:root.a11y-contrast.ody-dark {
  --a11y-ink:      #f6f9f8;   /* 13.2:1 on #282c34 */
  --a11y-ink-soft: #d2dcd9;   /* 10.0:1 */
  --a11y-muted:    #b3c0bd;   /*  7.5:1 */
  --a11y-accent:   color-mix(in srgb, var(--e-pink, var(--accent-primary, var(--red, #f7a3c5))) 60%, #fff);
  --a11y-accent-2: color-mix(in srgb, var(--e-teal, var(--color-accent, #7fe3da)) 65%, #fff);
  --color-error: #ff8fae !important;
  --e-btn-ink: #0b100f !important;
  --send-btn-hover: #ffffff !important;
  --hl-function: #9ccdf2 !important;
  --hl-number: #f0c08a !important;
}
:root:root:root.a11y-contrast body { background: var(--bg) !important; }
:root:root:root.a11y-contrast body::after { content: none !important; }
:root:root:root.a11y-contrast :is(#bubbleCanvas, #snowCanvas, #cloudCanvas, #constCanvas) { display: none !important; }
:root:root:root.a11y-contrast { --bg-effect-intensity: 0 !important; }
:root:root:root.a11y-contrast a[href] { text-decoration: underline; text-underline-offset: .14em; }
:root:root:root.a11y-contrast :is(input, textarea, select)::placeholder { color: var(--a11y-muted) !important; opacity: 1 !important; }
:root:root:root.a11y-contrast :is(.msg, .msg-user, .msg-ai) { border-width: 1.5px !important; }
:root:root:root.a11y-contrast :is(button, .list-item, .memory-tab, .admin-tab) { text-shadow: none !important; }
/* gradient-text brand titles become plain ink (background-clip text has no contrast guarantee) */
:root:root:root.a11y-contrast :is(.sidebar-brand-title, .welcome-title) {
  background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--fg) !important;
}
:root:root:root.a11y-contrast .send-btn { color: var(--e-btn-ink) !important; }

/* ── 10. Larger-text mode ─────────────────────────────────────────────────
   html is 16px and body 0.9em (14.4px) in stock; density presets move html
   to 13/16px. Here html goes to 18px (body ≈ 16.2px) and the generated block
   below floors every ≤11px stock size at 12px. Line spacing follows WCAG
   1.4.12 (1.5×) inside message content only — dense tool grids keep theirs. */
:root:root:root.a11y-text { font-size: 18px !important; }
:root:root:root.a11y-text .chat-history .msg { line-height: 1.6; }
:root:root:root.a11y-text .chat-history .msg p { margin-block: 0 1em; }
:root:root:root.a11y-text .chat-input-bar textarea { font-size: 17px !important; line-height: 1.5; }
:root:root:root.a11y-text .list-item { font-size: 14px; }
:root:root:root.a11y-text .list-item span { font-size: inherit !important; }

/* ── 11. Readable-font mode — Atkinson Hyperlegible (Braille Institute;
       designed for low vision, dyslexia-friendly letterforms). a11y.js loads
       the Google Fonts stylesheet only when this mode is on (CSP allows
       fonts.googleapis.com / fonts.gstatic.com). Code, the doc editor (it is
       character-aligned with an overlay) and SVG text are exempt. */
:root:root:root.a11y-font :where(body, body *:not(code, code *, pre, pre *, kbd, samp,
  .mono, [class*="doc-editor"], [class*="doc-editor"] *, svg, svg *, .hljs, .hljs *)) {
  font-family: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  letter-spacing: .01em;
}
:root:root:root.a11y-font .chat-history .msg { word-spacing: .04em; }

/* ── 12. Bigger-targets mode — 44px minimum (iOS HIG / Android 48dp class)
       on the controls people actually tap; fine pointers stay dense. ───── */
:root:root:root.a11y-targets :is(.memory-toolbar-btn, .icon-rail-btn, .user-bar-btn,
  .close-btn, .admin-tab, .memory-tab, .section-header-btn, .session-menu-btn,
  .session-bulk-btn, .theme-io-btn, .export-dl-btn, .incognito-btn, .attach-ocr-btn,
  .chat-new-btn, .hamburger-btn, .minimized-dock-chip) {
  min-width: 44px !important; min-height: 44px !important;
}
:root:root:root.a11y-targets .send-btn { min-width: 44px !important; width: 44px !important; height: 44px !important; }
:root:root:root.a11y-targets #sidebar .list-item { min-height: 44px; padding-top: 8px; padding-bottom: 8px; }
:root:root:root.a11y-targets :is(input[type="checkbox"], input[type="radio"]) { width: 22px; height: 22px; }
:root:root:root.a11y-targets .a11y-switch { width: 62px; height: 34px; }
:root:root:root.a11y-targets .a11y-switch .a11y-knob { width: 26px; height: 26px; }
:root:root:root.a11y-targets .a11y-switch[aria-checked="true"] .a11y-knob { transform: translateX(28px); }

/* ── 13. The ♿ Accessibility preferences panel (native <dialog>) ───────── */
#a11y-panel {
  width: min(var(--a11y-panel-w), calc(100vw - 24px));
  max-height: min(88dvh, 720px); overflow: auto;
  padding: 0; margin: auto;
  border: 1px solid var(--border, #ccc); border-radius: 18px;
  background: var(--panel, #fff); color: var(--fg, #111);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .35);
  font-family: inherit;               /* body's face (the theme's Quicksand), not --font-family (code) */
  font-size: 14px;
}
#a11y-panel::backdrop { background: rgba(10, 16, 15, .45); }
#a11y-panel .a11y-head {
  display: flex; align-items: center; gap: 10px;
  padding: 16px 18px 12px; border-bottom: 1px solid var(--border, #ccc);
  position: sticky; top: 0; background: var(--panel, #fff); z-index: 1;
}
#a11y-panel .a11y-head h2 { margin: 0; font-size: 17px; font-weight: 700; letter-spacing: -.01em; flex: 1; }
#a11y-panel .a11y-head svg { width: 22px; height: 22px; flex: none; color: var(--a11y-ring); }
#a11y-panel .a11y-close {
  width: 34px; height: 34px; border-radius: 10px; border: 1px solid transparent;
  background: transparent; color: inherit; cursor: pointer; font-size: 20px; line-height: 1;
}
#a11y-panel .a11y-close:hover { background: color-mix(in srgb, var(--fg) 8%, transparent); }
#a11y-panel .a11y-intro { margin: 0; padding: 12px 18px 0; opacity: .85; line-height: 1.45; }
#a11y-panel .a11y-rows { list-style: none; margin: 0; padding: 8px 8px 4px; }
#a11y-panel .a11y-row {
  display: flex; align-items: center; gap: 14px;
  padding: 11px 10px; border-radius: 12px;
}
#a11y-panel .a11y-row:hover { background: color-mix(in srgb, var(--fg) 5%, transparent); }
#a11y-panel .a11y-row-text { flex: 1; min-width: 0; cursor: pointer; }
#a11y-panel .a11y-row-text b { display: block; font-weight: 600; font-size: 14.5px; }
#a11y-panel .a11y-row-text small { display: block; opacity: .78; line-height: 1.4; margin-top: 2px; font-size: 12.5px; }
#a11y-panel .a11y-tag {
  display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px;
  font-size: 10.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  background: color-mix(in srgb, var(--a11y-ring) 16%, transparent); color: inherit; vertical-align: 2px;
}
#a11y-panel .a11y-tag[hidden] { display: none; }
.a11y-switch {
  flex: none; position: relative; width: 50px; height: 28px; padding: 0;
  border-radius: 999px; border: 2px solid color-mix(in srgb, var(--fg) 35%, transparent);
  background: color-mix(in srgb, var(--fg) 12%, transparent); cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
}
.a11y-switch .a11y-knob {
  position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--panel, #fff); box-shadow: 0 1px 3px rgba(0, 0, 0, .35);
  transition: transform .18s ease;
}
.a11y-switch[aria-checked="true"] { background: var(--a11y-ring); border-color: var(--a11y-ring); }
.a11y-switch[aria-checked="true"] .a11y-knob { transform: translateX(22px); }
.a11y-switch[aria-checked="true"]::after {
  content: ""; position: absolute; left: 8px; top: 50%; width: 5px; height: 9px;
  border: solid var(--panel, #fff); border-width: 0 2px 2px 0; transform: translateY(-62%) rotate(45deg);
}
#a11y-panel .a11y-foot {
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
  padding: 10px 18px 16px; border-top: 1px solid var(--border, #ccc);
}
#a11y-panel .a11y-foot .a11y-kbd { flex: 1; opacity: .7; font-size: 12px; }
#a11y-panel kbd {
  font: 600 11px/1 ui-monospace, Menlo, Consolas, monospace; padding: 2px 5px;
  border: 1px solid var(--border, #ccc); border-bottom-width: 2px; border-radius: 5px;
}
#a11y-panel .a11y-btn {
  padding: 8px 14px; border-radius: 10px; border: 1px solid var(--border, #ccc);
  background: transparent; color: inherit; font: inherit; font-weight: 600; cursor: pointer;
}
#a11y-panel .a11y-btn:hover { background: color-mix(in srgb, var(--fg) 7%, transparent); }
#a11y-panel .a11y-btn.primary { background: var(--a11y-ring); border-color: var(--a11y-ring); color: var(--a11y-ring-halo); }
#a11y-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 600px) {
  #a11y-panel { width: calc(100vw - 16px); border-radius: 14px; }
  #a11y-panel .a11y-row { padding: 12px 8px; }
}

/* ── 14. Default token fix — Eggie theme muted text (measured 4.21:1 on
       white, 3.86:1 on the pastel wash; AA needs 4.5). #5b6f6b = 5.34 / 4.91.
       Scoped to the accounts that use eggie-theme's bare :root (admin,
       kintober, anyone without a scoped theme), light mode only. The other
       three themes' --e-ink-soft already clear AA. And on every theme,
       `--color-muted-alt` was mapped to the decorative `--e-muted`
       (2.3–3.1:1) while style.css uses it as a TEXT colour 9× — remap it to
       the readable secondary ink. */
:root:root:not([data-ody-user="mifu"]):not([data-ody-user="cyphriee"]):not([data-ody-user="consilium"]):not(.ody-dark):not(.eggie-dark) {
  --e-ink-soft: #5b6f6b;
}
:root:root:root { --color-muted-alt: var(--e-ink-soft); }

/* ── 15. OS-level hints honoured even before a11y.js runs ──────────────── */
@media (prefers-contrast: more) {
  :root:root { --a11y-ring: var(--fg); }
}
@media (forced-colors: active) {
  /* Windows High Contrast: let system colours through, keep rings visible */
  :root:root :is(a, button, [role="button"], .list-item):focus-visible { outline: 3px solid Highlight !important; }
  .a11y-switch { border-color: ButtonText; }
  .a11y-switch[aria-checked="true"] { background: Highlight; }
}
@media print {
  .a11y-skips, #a11y-panel { display: none !important; }
}

/* ══ GENERATED from stock style.css (generate.py) — do not hand-edit below ══ */
/* Larger-text mode: floor every stock text size <= 11px at 12px (727 selectors). */
:root.a11y-text .export-dropdown-item,
:root.a11y-text .user-bar-avatar,
:root.a11y-text .user-bar-name,
:root.a11y-text .rail-notes-badge,
:root.a11y-text .section-header-flex h4,
:root.a11y-text .section-header-flex .section-title,
:root.a11y-text .session-bulk-bar,
:root.a11y-text .item-drag-handle,
:root.a11y-text .list-item button,
:root.a11y-text .list-item-plus-label,
:root.a11y-text .list-item span,
:root.a11y-text .incognito-btn,
:root.a11y-text .incognito-label,
:root.a11y-text .rag-sources summary,
:root.a11y-text .rag-similarity,
:root.a11y-text .rag-snippet,
:root.a11y-text .rag-file-delete,
:root.a11y-text .rag-file-size,
:root.a11y-text .rag-upload-zone,
:root.a11y-text .msg .timestamp,
:root.a11y-text .send-btn-label,
:root.a11y-text .mode-toggle-btn,
:root.a11y-text .model-picker-btn,
:root.a11y-text pre.pre-compact .copy-code,
:root.a11y-text pre.pre-compact .edit-code,
:root.a11y-text pre.pre-compact .run-code,
:root.a11y-text .code-runner-copy-inline,
:root.a11y-text .models-row .grow,
:root.a11y-text .models-row select,
:root.a11y-text .models-row button,
:root.a11y-text .preset-btn,
:root.a11y-text .vis-icon-text,
:root.a11y-text .vis-hint,
:root.a11y-text .dropdown-item .menu-text p,
:root.a11y-text .dropdown-item-compact,
:root.a11y-text .dropdown-item-compact .dropdown-shortcut,
:root.a11y-text .search-group-header,
:root.a11y-text .search-result-role,
:root.a11y-text .search-result-time,
:root.a11y-text #theme-popup .theme-popup-sub,
:root.a11y-text .theme-custom-label,
:root.a11y-text .theme-custom-divider,
:root.a11y-text .theme-save-error,
:root.a11y-text .theme-adv-toggle,
:root.a11y-text .theme-adv-toggle .theme-adv-arrow,
:root.a11y-text .theme-adv-group-label,
:root.a11y-text .cmp-header-action-btn,
:root.a11y-text .cmp-eval-btn,
:root.a11y-text .cmp-eval-group-label,
:root.a11y-text .cmp-eval-item,
:root.a11y-text .cmp-eval-empty,
:root.a11y-text .cmp-eval-item-tick,
:root.a11y-text .cmp-eval-expected,
:root.a11y-text .cmp-eval-expected-label,
:root.a11y-text .cmp-eval-expected-value,
:root.a11y-text .compare-probe-spinner,
:root.a11y-text .compare-probe-status,
:root.a11y-text .compare-probe-action-btn,
:root.a11y-text .pane-title-btn,
:root.a11y-text .pane-timer,
:root.a11y-text .compare-section-label,
:root.a11y-text .compare-mode-hint,
:root.a11y-text .compare-toggle-label,
:root.a11y-text .control-label,
:root.a11y-text .agent-thread-elapsed,
:root.a11y-text .stall-banner-btn,
:root.a11y-text .preset-templates-hint,
:root.a11y-text .prompt-template-preview,
:root.a11y-text .preset-temp-hints,
:root.a11y-text .preset-hint-icon,
:root.a11y-text .preset-section-header,
:root.a11y-text .char-expand-btn,
:root.a11y-text .memory-char-chip,
:root.a11y-text .char-action-btn,
:root.a11y-text .memory-desc,
:root.a11y-text .memory-toolbar-btn,
:root.a11y-text .memory-toolbar-toggle,
:root.a11y-text .memory-bulk-bar,
:root.a11y-text .memory-sort-btn,
:root.a11y-text .admin-toggle-state,
:root.a11y-text .memory-bulk-check-all,
:root.a11y-text #memory-selected-count,
:root.a11y-text .memory-count,
:root.a11y-text .memory-search-input,
:root.a11y-text .task-status-badge,
:root.a11y-text .task-builtin-badge,
:root.a11y-text .memory-item-text,
:root.a11y-text .memory-item-edit-input,
:root.a11y-text .memory-edit-cat-select,
:root.a11y-text .memory-item-btn,
:root.a11y-text .doclib-research-section-label,
:root.a11y-text .doclib-research-sources ol,
:root.a11y-text .doclib-research-summary,
:root.a11y-text .memory-cat-chip,
:root.a11y-text .memory-sort-select,
:root.a11y-text .email-filter-btn,
:root.a11y-text .email-filter-group,
:root.a11y-text .memory-cat-badge,
:root.a11y-text .memory-item-source,
:root.a11y-text .memory-item-time,
:root.a11y-text .memory-item-uses,
:root.a11y-text .memory-empty,
:root.a11y-text .memory-suggestions-header,
:root.a11y-text .doc-tab,
:root.a11y-text .doc-tab-title-input,
:root.a11y-text .doc-tab-lang,
:root.a11y-text .doc-tab-new,
:root.a11y-text .doc-tab-play,
:root.a11y-text .doc-tab-version,
:root.a11y-text .doc-version-badge,
:root.a11y-text .doc-stream-indicator,
:root.a11y-text .doc-actions-footer #doc-language-select,
:root.a11y-text .doc-langpicker-trigger,
:root.a11y-text .doc-language-select,
:root.a11y-text .doc-action-btn,
:root.a11y-text .doc-fontsize-levels i,
:root.a11y-text .doc-overflow-item,
:root.a11y-text .doc-md-toolbar button,
:root.a11y-text .md-dd-ico,
:root.a11y-text .doc-pdf-sign-label,
:root.a11y-text .md-toolbar-overflow-item,
:root.a11y-text .doc-find-count,
:root.a11y-text .doc-line-numbers,
:root.a11y-text .doc-editor-highlight,
:root.a11y-text .doc-editor-textarea,
:root.a11y-text .doc-selection-badge,
:root.a11y-text .attach-card-size,
:root.a11y-text .doc-suggestion-counter,
:root.a11y-text .diff-toolbar,
:root.a11y-text .diff-toolbar-status,
:root.a11y-text .diff-toolbar-btn,
:root.a11y-text .doc-suggestion-accept-all,
:root.a11y-text .doc-suggestion-reason,
:root.a11y-text .doc-suggestion-diff,
:root.a11y-text .doc-suggestion-accept,
:root.a11y-text .doc-suggestion-dismiss,
:root.a11y-text .doc-version-source,
:root.a11y-text .doc-version-time,
:root.a11y-text .doc-version-summary,
:root.a11y-text .doc-version-restore,
:root.a11y-text .doc-version-latest,
:root.a11y-text .doc-version-diff,
:root.a11y-text .theme-opacity-label,
:root.a11y-text .theme-autosaved-pill,
:root.a11y-text .admin-toggle-sub,
:root.a11y-text .admin-priv-section,
:root.a11y-text .priv-models-list label,
:root.a11y-text .priv-models-all,
:root.a11y-text .priv-models-none,
:root.a11y-text .mcp-tools-panel .mcp-tools-header span:first-child,
:root.a11y-text .mcp-tools-panel .mcp-tools-header a,
:root.a11y-text .mcp-tools-list label,
:root.a11y-text .adm-ep-section-head,
:root.a11y-text .adm-quickstart-toggle,
:root.a11y-text .search-fb-chip,
:root.a11y-text .search-fb-grip,
:root.a11y-text .search-fb-add,
:root.a11y-text .mcp-tools-search,
:root.a11y-text .mcp-tools-count,
:root.a11y-text .admin-badge,
:root.a11y-text .admin-btn-delete,
:root.a11y-text .admin-btn-add,
:root.a11y-text .admin-btn-sm,
:root.a11y-text .admin-switch-inline,
:root.a11y-text .adm-ep-inline-msg,
:root.a11y-text .admin-ep-detail,
:root.a11y-text .admin-error,
:root.a11y-text .admin-success,
:root.a11y-text .admin-rag-upload-zone p,
:root.a11y-text .admin-rag-section-label,
:root.a11y-text .admin-rag-item-meta,
:root.a11y-text .admin-rag-item .admin-btn-delete,
:root.a11y-text .admin-rag-status,
:root.a11y-text .doclib-stats,
:root.a11y-text .doclib-chip,
:root.a11y-text #archive-chips .doclib-chip,
:root.a11y-text #doclib-panel-chats .memory-sort-select,
:root.a11y-text #doclib-panel-archive .memory-sort-select,
:root.a11y-text #doclib-panel-research .memory-sort-select,
:root.a11y-text [data-doclib-panel="documents"] .memory-sort-select,
:root.a11y-text #doclib-panel-chats .memory-toolbar-btn,
:root.a11y-text #doclib-panel-archive .memory-toolbar-btn,
:root.a11y-text #doclib-panel-research .memory-toolbar-btn,
:root.a11y-text [data-doclib-panel="documents"] .memory-toolbar-btn,
:root.a11y-text #doclib-panel-chats .memory-search-input,
:root.a11y-text #doclib-panel-archive .memory-search-input,
:root.a11y-text #doclib-panel-research .memory-search-input,
:root.a11y-text [data-doclib-panel="documents"] .memory-search-input,
:root.a11y-text #memory-modal .memory-search-input,
:root.a11y-text #tasks-modal .memory-search-input,
:root.a11y-text #doclib-panel-chats .doclib-chip,
:root.a11y-text #doclib-panel-archive .doclib-chip,
:root.a11y-text .doclib-card-title,
:root.a11y-text .doclib-card-ver,
:root.a11y-text .doclib-card-lang,
:root.a11y-text .doclib-card-session,
:root.a11y-text .doclib-card-time,
:root.a11y-text .doclib-card-preview,
:root.a11y-text .doclib-card-action-btn,
:root.a11y-text .doclib-card-expanded-actions > .doclib-card-action-btn,
:root.a11y-text .doclib-btn-hint,
:root.a11y-text .doclib-chat-preview,
:root.a11y-text .doclib-chat-preview .doclib-chat-open-btn,
:root.a11y-text .doclib-chat-delete-btn,
:root.a11y-text .doclib-chat-archive-btn,
:root.a11y-text .doclib-chat-restore-btn,
:root.a11y-text .doclib-chat-discuss-btn,
:root.a11y-text .doclib-chat-copy-btn,
:root.a11y-text .doclib-chat-preview-messages .doclib-chat-msg-role,
:root.a11y-text .doclib-chat-bubble,
:root.a11y-text .doclib-chat-msg-model,
:root.a11y-text .doclib-chat-bubble-body pre,
:root.a11y-text .doclib-chat-bubble-body code,
:root.a11y-text .skills-section-header,
:root.a11y-text .skill-builtin-warn,
:root.a11y-text .skill-card-desc,
:root.a11y-text .skill-stats,
:root.a11y-text .skills-section-label,
:root.a11y-text .skills-audit-summary,
:root.a11y-text .skills-audit-log,
:root.a11y-text .skill-test-log,
:root.a11y-text .skill-test-task,
:root.a11y-text .skill-eval-badge,
:root.a11y-text .skill-eval-summary,
:root.a11y-text .skill-eval-issues,
:root.a11y-text .doclib-load-more,
:root.a11y-text .doclib-toolbar-btn,
:root.a11y-text .doclib-bulk-bar,
:root.a11y-text .doclib-bulk-check-all,
:root.a11y-text #doclib-selected-count,
:root.a11y-text .archive-header,
:root.a11y-text .gallery-stats,
:root.a11y-text .gallery-search-enter-hint,
:root.a11y-text .gallery-model-filter,
:root.a11y-text .gallery-sort,
:root.a11y-text .gallery-ai-chip,
:root.a11y-text .gallery-aitag-mark,
:root.a11y-text .attach-vision-model,
:root.a11y-text .attach-image-name,
:root.a11y-text .attach-ocr-btn,
:root.a11y-text .vision-editor-desc,
:root.a11y-text .vision-editor-hint,
:root.a11y-text .gallery-select-btn,
:root.a11y-text .gallery-bulk-all,
:root.a11y-text .gallery-bulk-delete,
:root.a11y-text .gallery-bulk-cancel,
:root.a11y-text .gallery-card-prompt,
:root.a11y-text .gallery-card-meta,
:root.a11y-text .gallery-load-more,
:root.a11y-text .gallery-detail-action,
:root.a11y-text .gallery-detail-menu .dropdown-item-compact,
:root.a11y-text .gallery-date-rel,
:root.a11y-text .gallery-detail-section label,
:root.a11y-text .gallery-tag-input,
:root.a11y-text .gallery-detail-name-input,
:root.a11y-text .gallery-tag-save,
:root.a11y-text .cookbook-serve-preset-name,
:root.a11y-text .cookbook-serve-preset-meta,
:root.a11y-text .cookbook-serve-preset-launch,
:root.a11y-text .cookbook-serve-preset-rm,
:root.a11y-text .cookbook-card-desc,
:root.a11y-text .cookbook-field-label,
:root.a11y-text .cookbook-cmd-preview,
:root.a11y-text .cookbook-btn,
:root.a11y-text .cookbook-output-pre,
:root.a11y-text .hwfit-cached-header,
:root.a11y-text .hwfit-cached-repo,
:root.a11y-text .hwfit-cached-size,
:root.a11y-text .hwfit-cached-files,
:root.a11y-text .hwfit-cached-delete,
:root.a11y-text .hwfit-cached-badge,
:root.a11y-text .cookbook-clear-btn,
:root.a11y-text .cookbook-bulk-bar,
:root.a11y-text .cookbook-serve-dir-pill,
:root.a11y-text .cookbook-serve-running-pill,
:root.a11y-text .cookbook-serve-downloading-pill,
:root.a11y-text .cookbook-serve-dir-edit,
:root.a11y-text .cookbook-gpu-popup,
:root.a11y-text .cookbook-gpu-popup-stats,
:root.a11y-text .cookbook-gpu-kill,
:root.a11y-text .cookbook-hf-link,
:root.a11y-text .cookbook-stop-all-btn,
:root.a11y-text .cookbook-saved-toggle-header,
:root.a11y-text .cookbook-saved-item,
:root.a11y-text .cookbook-saved-host,
:root.a11y-text .cookbook-saved-launch,
:root.a11y-text .cookbook-saved-del,
:root.a11y-text .cookbook-slot-btn,
:root.a11y-text .cookbook-dep-section-title,
:root.a11y-text .cookbook-dep-section-note,
:root.a11y-text .cookbook-dep-tag,
:root.a11y-text .hwfit-serve-row label,
:root.a11y-text .hwfit-context-calc-btn,
:root.a11y-text .hwfit-auto-ctx-note,
:root.a11y-text .hwfit-ctx-control,
:root.a11y-text .hwfit-sf-cb,
:root.a11y-text .hwfit-spec-group .hwfit-spec-method,
:root.a11y-text .hwfit-spec-group .hwfit-spec-tokens,
:root.a11y-text .hwfit-serve-extra label,
:root.a11y-text .hwfit-serve-cmd-summary,
:root.a11y-text .hwfit-serve-cmd,
:root.a11y-text .hwfit-serve-actions .cookbook-btn,
:root.a11y-text .hwfit-serve-cmd-title,
:root.a11y-text .cookbook-task-type,
:root.a11y-text .cookbook-task-wave,
:root.a11y-text .cookbook-task-done-label,
:root.a11y-text .cookbook-task-clear-label,
:root.a11y-text .cookbook-task-start-now,
:root.a11y-text .cookbook-task-serve-btn,
:root.a11y-text .cookbook-task-session,
:root.a11y-text .cookbook-task-server,
:root.a11y-text .cookbook-task-uptime,
:root.a11y-text .cookbook-task-status,
:root.a11y-text .cookbook-slider-value,
:root.a11y-text .cookbook-checkbox-label,
:root.a11y-text .cookbook-gpu-label,
:root.a11y-text .cookbook-gpu-btn,
:root.a11y-text .cookbook-add-instance-btn,
:root.a11y-text .cookbook-save-btn,
:root.a11y-text .cookbook-saved-card .cookbook-card-desc,
:root.a11y-text .cookbook-diag-fold,
:root.a11y-text .cookbook-diag-chevron,
:root.a11y-text .cookbook-diag-suggestion,
:root.a11y-text .cookbook-diag-action-trigger,
:root.a11y-text .cookbook-diag-btn,
:root.a11y-text .cookbook-dl-btn,
:root.a11y-text .cookbook-dl-gguf-row,
:root.a11y-text .hwfit-panel-hf-link,
:root.a11y-text .cookbook-server-toggle,
:root.a11y-text .cookbook-settings-label,
:root.a11y-text .cookbook-settings-input,
:root.a11y-text .cookbook-settings-subtitle,
:root.a11y-text .cookbook-server-row input.hwfit-sf,
:root.a11y-text .cookbook-server-row select.hwfit-sf,
:root.a11y-text .cookbook-server-row > input.hwfit-sf,
:root.a11y-text .cookbook-server-row > select.hwfit-sf,
:root.a11y-text .cookbook-server-row > button,
:root.a11y-text .cookbook-server-row .cookbook-srv-actions > button,
:root.a11y-text .cookbook-server-rm,
:root.a11y-text .cookbook-server-rm-btn,
:root.a11y-text .cookbook-server-save-btn,
:root.a11y-text .cookbook-server-cancel-btn,
:root.a11y-text .hwfit-gpu-btn,
:root.a11y-text .hwfit-gpu-group,
:root.a11y-text .hwfit-toolbar select,
:root.a11y-text .hwfit-toolbar input,
:root.a11y-text .hwfit-toolbar .hwfit-quant,
:root.a11y-text .hwfit-toolbar .hwfit-engine,
:root.a11y-text .hwfit-fit-dot,
:root.a11y-text .hwfit-help-chip,
:root.a11y-text .hwfit-server-toggle,
:root.a11y-text .hwfit-hw-chip,
:root.a11y-text .hwfit-hw-chip-toggle,
:root.a11y-text .hwfit-manual-panel label,
:root.a11y-text .hwfit-manual-panel select,
:root.a11y-text .hwfit-manual-panel input,
:root.a11y-text .hwfit-manual-panel button,
:root.a11y-text .hwfit-row,
:root.a11y-text .hwfit-header .hwfit-col,
:root.a11y-text .hwfit-header .hwfit-name,
:root.a11y-text .hwfit-col,
:root.a11y-text .hwfit-name,
:root.a11y-text .hwfit-c-score,
:root.a11y-text .hwfit-moe,
:root.a11y-text .hwfit-action-panel,
:root.a11y-text .hwfit-panel-model,
:root.a11y-text .hwfit-panel-badge,
:root.a11y-text .hwfit-panel-fields label,
:root.a11y-text .hwfit-adv-grid label,
:root.a11y-text .hwfit-panel-fields input,
:root.a11y-text .hwfit-panel-fields select,
:root.a11y-text .hwfit-adv-grid input,
:root.a11y-text .hwfit-adv-grid select,
:root.a11y-text .hwfit-panel-advanced,
:root.a11y-text .hwfit-panel-settings,
:root.a11y-text .hwfit-panel-advanced summary,
:root.a11y-text .hwfit-panel-settings summary,
:root.a11y-text .hwfit-panel-cmd,
:root.a11y-text .hwfit-panel-note,
:root.a11y-text .hwfit-preset,
:root.a11y-text .hwfit-preset-model,
:root.a11y-text .hwfit-preset-backend,
:root.a11y-text .settings-sidebar-label,
:root.a11y-text .shortcut-category,
:root.a11y-text .shortcut-warn,
:root.a11y-text .shortcut-hint,
:root.a11y-text .shortcut-key-unset,
:root.a11y-text .shortcut-unset,
:root.a11y-text .shortcut-key kbd,
:root.a11y-text .task-log-row-head,
:root.a11y-text .task-log-failed-tag,
:root.a11y-text .task-log-repeat,
:root.a11y-text .task-log-running,
:root.a11y-text .task-log-running-inline,
:root.a11y-text .task-log-force-run,
:root.a11y-text .task-log-row.is-skipped,
:root.a11y-text .task-log-account-tag,
:root.a11y-text .task-log-row-body pre,
:root.a11y-text .task-log-row-body code,
:root.a11y-text .task-log-row-body table,
:root.a11y-text .task-log-open-chat,
:root.a11y-text .task-log-open-report,
:root.a11y-text .task-log-copy,
:root.a11y-text .task-log-clear-cache,
:root.a11y-text .task-log-run-again,
:root.a11y-text .tasks-af-chip,
:root.a11y-text .task-log-row-toggle,
:root.a11y-text .task-log-prompt,
:root.a11y-text .task-log-prompt pre,
:root.a11y-text .task-card-schedule,
:root.a11y-text .task-card-output,
:root.a11y-text .task-card-prompt,
:root.a11y-text .task-card-meta,
:root.a11y-text .task-btn,
:root.a11y-text .tasks-clock,
:root.a11y-text .task-preset-desc,
:root.a11y-text .task-form-label,
:root.a11y-text .task-form-input,
:root.a11y-text .task-toggle-btn,
:root.a11y-text .task-time-select,
:root.a11y-text .task-date-select,
:root.a11y-text .task-time-sep,
:root.a11y-text .task-run-item-header,
:root.a11y-text .task-run-time,
:root.a11y-text .task-run-result,
:root.a11y-text .settings-fallback-num,
:root.a11y-text details.hwfit-serve-advanced > summary.hwfit-serve-advanced-summary,
:root.a11y-text .settings-fallback-add,
:root.a11y-text .sort-dropdown-item,
:root.a11y-text .admin-tool-name,
:root.a11y-text .admin-tool-desc,
:root.a11y-text .admin-tool-ctx,
:root.a11y-text .hwfit-hint,
:root.a11y-text .hwfit-dl-dot,
:root.a11y-text .hwfit-parser-tag,
:root.a11y-text .cookbook-modeldir-tag,
:root.a11y-text .cookbook-srv-default-label,
:root.a11y-text .cookbook-modeldir-rm,
:root.a11y-text .cookbook-modeldir-add,
:root.a11y-text .hwfit-apply-opts,
:root.a11y-text .hwfit-opts-desc,
:root.a11y-text .cookbook-tab-count,
:root.a11y-text .research-synapse-compact .rs-meta,
:root.a11y-text .research-synapse-compact .rs-label-sub,
:root.a11y-text .research-synapse .rs-label,
:root.a11y-text .research-synapse .rs-label-sub,
:root.a11y-text .research-synapse .rs-meta,
:root.a11y-text .gallery-album-count,
:root.a11y-text .ge-alpha-tag,
:root.a11y-text .gallery-editor-template-label,
:root.a11y-text .gallery-editor-drafts-title,
:root.a11y-text .gallery-editor-draft-meta,
:root.a11y-text .ge-alpha-badge,
:root.a11y-text .ge-diffusion-status,
:root.a11y-text .ge-topbar-mask-color-label,
:root.a11y-text .ge-tool-sep,
:root.a11y-text .ge-tool-label,
:root.a11y-text .ge-tool-ai,
:root.a11y-text .ge-btn-ai-mark,
:root.a11y-text .ge-shortcuts-col h5,
:root.a11y-text .ge-shortcuts-card kbd,
:root.a11y-text #ge-shortcuts-popover kbd,
:root.a11y-text .ge-shortcuts-foot,
:root.a11y-text .ge-merge-label,
:root.a11y-text .ge-transform-field label,
:root.a11y-text .ge-transform-popup-input,
:root.a11y-text .ge-transform-spin button,
:root.a11y-text .ge-transform-popup-suffix,
:root.a11y-text .ge-transform-popup-hint,
:root.a11y-text .ge-control-row,
:root.a11y-text .ge-size-label,
:root.a11y-text .ge-eraser-row label > span[id$="-label"],
:root.a11y-text .ge-eraser-row > span[id$="-label"].ge-slider-value,
:root.a11y-text .ge-tool-model-row > label,
:root.a11y-text .ge-tool-model,
:root.a11y-text .dropdown-section-label,
:root.a11y-text .ge-slider-edit,
:root.a11y-text .ge-merge-menu .dropdown-item-compact,
:root.a11y-text .ge-section-hint,
:root.a11y-text .ge-section-help,
:root.a11y-text .ge-section-title,
:root.a11y-text .ge-inpaint-mask-label,
:root.a11y-text .ge-eraser-row label,
:root.a11y-text .ge-fx-popup,
:root.a11y-text .ge-fx-group-title,
:root.a11y-text .ge-fx-cb-tone,
:root.a11y-text .ge-fx-row-label,
:root.a11y-text .ge-fx-row-value,
:root.a11y-text .ge-adj-popup,
:root.a11y-text .ge-fx-dock-chip,
:root.a11y-text #ge-history-panel,
:root.a11y-text .ge-history-row,
:root.a11y-text .ge-history-row-time,
:root.a11y-text .ge-dep-notice,
:root.a11y-text .ge-dep-notice-text code,
:root.a11y-text .ge-adj-row > label,
:root.a11y-text .ge-adj-value,
:root.a11y-text .ge-adj-cb-tone,
:root.a11y-text .ge-adj-hist-details > summary,
:root.a11y-text .ge-adj-sub-item,
:root.a11y-text .ge-btn,
:root.a11y-text .ge-btn-sm,
:root.a11y-text .ge-inpaint-mode-btn,
:root.a11y-text .ge-wand-mode-btn,
:root.a11y-text .ge-wand-live-btn,
:root.a11y-text .ge-stacked-btn .ge-stacked-label,
:root.a11y-text .ge-zoom-stack .ge-zoom-label,
:root.a11y-text .ge-filter-submenu-label,
:root.a11y-text .ge-filter-modal-head,
:root.a11y-text .ge-filter-row label,
:root.a11y-text .ge-edge-label,
:root.a11y-text .ge-edge-hint,
:root.a11y-text .ge-canvas-prompt-field > span,
:root.a11y-text .ge-canvas-prompt-hint,
:root.a11y-text .ge-zoom-label,
:root.a11y-text .ge-layers-header,
:root.a11y-text .ge-layers-actions .ge-btn,
:root.a11y-text .ge-layer-item,
:root.a11y-text .ge-layer-name-input,
:root.a11y-text .ge-crop-apply input[type="number"],
:root.a11y-text .ge-crop-x,
:root.a11y-text .ge-crop-apply-btn,
:root.a11y-text .ge-inpaint-model-row label,
:root.a11y-text .ge-inpaint-model-row #ge-ai-inpaint,
:root.a11y-text .email-field label,
:root.a11y-text .email-folder-select,
:root.a11y-text .email-tag-spam,
:root.a11y-text .email-spam-unflag,
:root.a11y-text .email-reader-header > .email-reader-meta,
:root.a11y-text .recipient-chip,
:root.a11y-text .from-sender-addr,
:root.a11y-text .from-sender-count,
:root.a11y-text .from-sender-empty,
:root.a11y-text .from-sender-date,
:root.a11y-text .from-sender-folder,
:root.a11y-text .from-sender-header-empty,
:root.a11y-text .from-sender-suggest-item .suggest-addr,
:root.a11y-text .from-sender-chip,
:root.a11y-text .from-sender-mode-note,
:root.a11y-text .email-summary-header,
:root.a11y-text .email-reader-atts-header,
:root.a11y-text .email-reader-atts-hidden-note,
:root.a11y-text .email-thread-turn-body .email-thread-turn .email-thread-turn-body,
:root.a11y-text .email-fold-summary-meta,
:root.a11y-text .email-fold-summary-name,
:root.a11y-text .email-quote-fold .email-fold-summary,
:root.a11y-text .email-sig-fold .email-fold-summary,
:root.a11y-text .email-sig-fold[open] > *:not(summary),
:root.a11y-text .email-bubble-head,
:root.a11y-text .email-bubble-avatar,
:root.a11y-text .schedule-send-label,
:root.a11y-text .emoji-picker-group-name,
:root.a11y-text .email-filter-chip,
:root.a11y-text .email-date,
:root.a11y-text .email-subject,
:root.a11y-text .email-tag,
:root.a11y-text .email-load-more-btn,
:root.a11y-text #email-compose-btn .list-item-plus-label,
:root.a11y-text .doc-email-collapse-btn,
:root.a11y-text .email-field .email-field-prefix,
:root.a11y-text .email-send-btn,
:root.a11y-text .email-draft-btn,
:root.a11y-text .email-attachment-chip,
:root.a11y-text .email-attachment-chip .att-size,
:root.a11y-text .email-attachment-open,
:root.a11y-text .email-compose-chip,
:root.a11y-text .email-compose-chip .att-size,
:root.a11y-text .email-cc-toggle,
:root.a11y-text .contact-suggestion .contact-email,
:root.a11y-text .email-ai-reply-btn,
:root.a11y-text .notes-new-btn,
:root.a11y-text .notes-header-btn-label,
:root.a11y-text .note-card-ai-chip,
:root.a11y-text .notes-empty-msg,
:root.a11y-text .note-reminder-tag,
:root.a11y-text .note-card-reminder,
:root.a11y-text .note-reminder-menu-title,
:root.a11y-text .note-reminder-menu-sub,
:root.a11y-text .note-reminder-menu-back,
:root.a11y-text .note-reminder-menu-sublabel,
:root.a11y-text .note-reminder-day-chip,
:root.a11y-text .note-card-label-chip,
:root.a11y-text .notes-select-trigger,
:root.a11y-text .notes-search-bar .memory-search-input,
:root.a11y-text .notes-label-chip,
:root.a11y-text .notes-label-chip-count,
:root.a11y-text .note-goal-pill,
:root.a11y-text .note-form-goal-hint,
:root.a11y-text .notes-today-header,
:root.a11y-text .notes-today-title,
:root.a11y-text .notes-today-progress,
:root.a11y-text .notes-bulk-info,
:root.a11y-text .note-form-label,
:root.a11y-text .note-due-inline,
:root.a11y-text .note-cl-grip,
:root.a11y-text .note-cl-quickadd-input,
:root.a11y-text .note-checkbox,
:root.a11y-text .note-due-badge,
:root.a11y-text .note-type-btn,
:root.a11y-text .note-form-draw-text-badge,
:root.a11y-text .note-form-draw-shape-badge,
:root.a11y-text .note-form-due,
:root.a11y-text .note-form-save,
:root.a11y-text .note-form-cancel,
:root.a11y-text .note-form-archive,
:root.a11y-text .note-cl-add,
:root.a11y-text .cal-quickadd-status,
:root.a11y-text button.cal-nav,
:root.a11y-text button.cal-today-btn,
:root.a11y-text .cal-add-label,
:root.a11y-text button.cal-add-btn.cal-add-btn-text.cal-add-btn-sm .cal-add-label,
:root.a11y-text .reader-btn-label,
:root.a11y-text .email-accounts-loading-label,
:root.a11y-text .email-loading-label,
:root.a11y-text button.cal-view-btn,
:root.a11y-text .cal-filter-item,
:root.a11y-text .cal-filter-toggle,
:root.a11y-text .cal-weekday,
:root.a11y-text .cal-day-num,
:root.a11y-text .cal-dot-more,
:root.a11y-text .cal-event-row-time,
:root.a11y-text .cal-event-row-name,
:root.a11y-text .cal-event-more,
:root.a11y-text .cal-multiday,
:root.a11y-text .cal-empty,
:root.a11y-text .cal-event-tag,
:root.a11y-text .cal-event-time,
:root.a11y-text .cal-event-loc,
:root.a11y-text .cal-wk-rail-cell,
:root.a11y-text .cal-wk-col-head,
:root.a11y-text .cal-wk-allday-event,
:root.a11y-text .cal-wk-block,
:root.a11y-text .cal-wk-block-name,
:root.a11y-text .cal-wk-block-time,
:root.a11y-text .cal-wk-ghost,
:root.a11y-text .cal-year-month-title,
:root.a11y-text .cal-year-wd,
:root.a11y-text .cal-year-cell,
:root.a11y-text .cal-search-input,
:root.a11y-text .cal-day-search-meta,
:root.a11y-text .cal-search-count,
:root.a11y-text .cal-agenda-date,
:root.a11y-text .cal-agenda-today-badge,
:root.a11y-text .cal-agenda-empty,
:root.a11y-text .assistant-field > span,
:root.a11y-text .assistant-checkin-run,
:root.a11y-text .assistant-checkin-meta,
:root.a11y-text .assistant-tool-group-label,
:root.a11y-text .assistant-tool-item,
:root.a11y-text .cal-allday-label,
:root.a11y-text .cal-form-today,
:root.a11y-text button.cal-btn,
:root.a11y-text .research-setting-label,
:root.a11y-text .research-setting select,
:root.a11y-text .research-cat,
:root.a11y-text .research-settings-toggle,
:root.a11y-text .research-cat-badge,
:root.a11y-text .research-hero-label,
:root.a11y-text .research-job-query,
:root.a11y-text .research-job-time,
:root.a11y-text .research-job-meta,
:root.a11y-text .research-job-status,
:root.a11y-text .research-job-model,
:root.a11y-text .research-job-action,
:root.a11y-text .research-job-phase,
:root.a11y-text .research-job-queued-meta,
:root.a11y-text .research-section-divider,
:root.a11y-text .research-section-count,
:root.a11y-text .research-job-error,
:root.a11y-text .research-source-link,
:root.a11y-text .research-source-more,
:root.a11y-text .research-job-report-body pre,
:root.a11y-text .research-job-loading,
:root.a11y-text .research-library-toggle,
:root.a11y-text .research-library-item,
:root.a11y-text .research-lib-meta,
:root.a11y-text .research-sb-status,
:root.a11y-text .cp-section-label,
:root.a11y-text .cp-recent-empty,
:root.a11y-text .research-section-clear,
:root.a11y-text .research-job-failnote,
:root.a11y-text .slash-ac-cat,
:root.a11y-text .slash-ac-usage,
:root.a11y-text .adm-copilot-code-label,
:root.a11y-text .adm-copilot-hint,
:root.a11y-text .hwfit-schedule-field,
:root.a11y-text .hwfit-schedule-label,
:root.a11y-text .hwfit-sched-day-chip,
:root.a11y-text .workspace-note,
:root.a11y-text .settings-system-logs-search,
:root.a11y-text .settings-system-logs-select,
:root.a11y-text .settings-system-logs-autopoll-container,
:root.a11y-text #log-console-container,
:root.a11y-text .log-line { font-size: 12px !important; }
@media (max-width:768px) {
:root.a11y-text .incognito-btn,
:root.a11y-text #email-lib-modal .reader-btn-label,
:root.a11y-text .email-reader-tab-modal .reader-btn-label,
:root.a11y-text .email-window-modal .reader-btn-label,
:root.a11y-text #email-lib-modal .email-reader-meta,
:root.a11y-text .doclib-card-action-btn { font-size: 12px !important; }
}
@media (max-width: 520px) {
:root.a11y-text .compare-header-bar #compare-check-btn > span,
:root.a11y-text .compare-header-bar #compare-add-btn > span { font-size: 12px !important; }
}
@media (max-width: 768px) {
:root.a11y-text #email-lib-modal .email-attachment-chip,
:root.a11y-text .cookbook-task-sub,
:root.a11y-text .cookbook-task-status,
:root.a11y-text .cookbook-settings-hint,
:root.a11y-text .cookbook-saved-save,
:root.a11y-text .cookbook-saved-arrow,
:root.a11y-text .ge-alpha-badge { font-size: 12px !important; }
}
@media (max-width: 600px) {
:root.a11y-text .gallery-model-filter,
:root.a11y-text .gallery-sort,
:root.a11y-text .gallery-select-btn,
:root.a11y-text .settings-nav-item,
:root.a11y-text .cal-day-num,
:root.a11y-text .cal-multiday,
:root.a11y-text .cal-nav,
:root.a11y-text .cal-view-btn,
:root.a11y-text .cal-filter-item,
:root.a11y-text .cal-year-cell,
:root.a11y-text .hwfit-sched-day-chip { font-size: 12px !important; }
}
@media (max-width: 640px) {
:root.a11y-text .cookbook-body .memory-item-meta { font-size: 12px !important; }
}
@container settings-modal (max-width: 620px) {
:root.a11y-text .settings-nav-item { font-size: 12px !important; }
}

/* High-contrast mode: lift stock controls/text that rest at opacity .3–.6 to .85 (371 selectors; 130 decorative/state selectors skipped). */
:root.a11y-contrast .chat-new-btn,
:root.a11y-contrast .export-dropdown-item .dropdown-icon,
:root.a11y-contrast .user-bar-btn,
:root.a11y-contrast .hamburger-btn,
:root.a11y-contrast .icon-rail-btn,
:root.a11y-contrast .section-header-btn,
:root.a11y-contrast .session-bulk-btn,
:root.a11y-contrast .session-bulk-btn-danger,
:root.a11y-contrast .session-icon,
:root.a11y-contrast .model-icon,
:root.a11y-contrast .session-icon.has-docs,
:root.a11y-contrast .session-fav,
:root.a11y-contrast .models-category-header .folder-count,
:root.a11y-contrast .models-endpoint-label .folder-count,
:root.a11y-contrast .session-folder-header .folder-count,
:root.a11y-contrast .folder-count,
:root.a11y-contrast .session-show-more-btn,
:root.a11y-contrast #welcome-screen .welcome-sub,
:root.a11y-contrast .input-icon-btn,
:root.a11y-contrast li.task-item.task-done .task-text,
:root.a11y-contrast .tool-indicator-x,
:root.a11y-contrast .model-picker-btn svg,
:root.a11y-contrast .model-picker-list .mp-section-label,
:root.a11y-contrast .model-picker-list .model-switch-item .model-switch-ep,
:root.a11y-contrast .model-picker-list .mp-provider-count,
:root.a11y-contrast .ctx-ring,
:root.a11y-contrast .memory-used-pill,
:root.a11y-contrast .memory-used-badge.recalled,
:root.a11y-contrast .variant-nav,
:root.a11y-contrast .variant-slash,
:root.a11y-contrast .edited-indicator,
:root.a11y-contrast .continue-btn,
:root.a11y-contrast .code-runner-close,
:root.a11y-contrast .modal-dock-close,
:root.a11y-contrast .cookbook-gguf-delete-path,
:root.a11y-contrast .generated-image-caption,
:root.a11y-contrast .dropdown-item-compact .dropdown-icon,
:root.a11y-contrast .dropdown-item-compact .dropdown-shortcut,
:root.a11y-contrast .color-reset-btn.changed,
:root.a11y-contrast .theme-fd-label,
:root.a11y-contrast .theme-adv-group-label,
:root.a11y-contrast .theme-adv-clear-btn,
:root.a11y-contrast .cmp-row-label,
:root.a11y-contrast .cmp-rm-btn,
:root.a11y-contrast .cmp-eval-group-label,
:root.a11y-contrast .cmp-eval-empty,
:root.a11y-contrast .cmp-eval-expected-label,
:root.a11y-contrast .cmp-eval-expected-close,
:root.a11y-contrast .compare-probe-status,
:root.a11y-contrast .compare-pane-footer,
:root.a11y-contrast .pane-action-btn,
:root.a11y-contrast .compare-pane .pane-close-btn,
:root.a11y-contrast .pane-timer,
:root.a11y-contrast .compare-section-label,
:root.a11y-contrast .compare-mode-hint,
:root.a11y-contrast .compare-mode-tab,
:root.a11y-contrast .compare-rematch-btn,
:root.a11y-contrast .compare-blind-toggle,
:root.a11y-contrast .compare-save-toggle,
:root.a11y-contrast .compare-dice-toggle,
:root.a11y-contrast .compare-parallel-toggle,
:root.a11y-contrast .compare-reset-toggle,
:root.a11y-contrast .muted,
:root.a11y-contrast .muted-sm,
:root.a11y-contrast .source-domain,
:root.a11y-contrast .agent-thread-status,
:root.a11y-contrast .diff-pre .diff-meta,
:root.a11y-contrast .char-expand-btn.expanding,
:root.a11y-contrast .memory-scope-btn,
:root.a11y-contrast .memory-tab,
:root.a11y-contrast #memory-modal .memory-tab-panel[data-memory-panel="settings"] .admin-card:has(.admin-switch input:not(:checked)),
:root.a11y-contrast .memory-item.task-paused,
:root.a11y-contrast .memory-item.skill-row .memory-item-actions,
:root.a11y-contrast .doclib-research-section-label,
:root.a11y-contrast .memory-item-btn.pin,
:root.a11y-contrast .email-filter-group,
:root.a11y-contrast .memory-tidy-text-old,
:root.a11y-contrast .doc-tab-arrow,
:root.a11y-contrast .doc-tab,
:root.a11y-contrast .doc-tab-lang,
:root.a11y-contrast .doc-tab-close,
:root.a11y-contrast .doc-tab-play,
:root.a11y-contrast .doc-close-btn,
:root.a11y-contrast .doc-action-btn,
:root.a11y-contrast .doc-action-icon-btn,
:root.a11y-contrast .doc-overflow-toggle,
:root.a11y-contrast .doc-overflow-item svg,
:root.a11y-contrast .md-view-toggle .md-view-opt,
:root.a11y-contrast .md-toolbar-overflow-toggle,
:root.a11y-contrast .md-toolbar-overflow-item,
:root.a11y-contrast .doc-find-count,
:root.a11y-contrast .doc-selection-clear,
:root.a11y-contrast .doc-edit-tag,
:root.a11y-contrast .attach-card-icon,
:root.a11y-contrast .attach-card-size,
:root.a11y-contrast .import-prompt-dismiss,
:root.a11y-contrast .doc-suggestion-nav-btn,
:root.a11y-contrast .doc-suggestion-close,
:root.a11y-contrast .doc-suggestion-counter,
:root.a11y-contrast .diff-toolbar-status,
:root.a11y-contrast .diff-chunk-resolved,
:root.a11y-contrast .diff-chunk-btn,
:root.a11y-contrast .doc-suggestion-reason,
:root.a11y-contrast .doc-diff-sep,
:root.a11y-contrast .doc-version-source,
:root.a11y-contrast .doc-version-time,
:root.a11y-contrast .doc-version-summary,
:root.a11y-contrast .doc-run-output .code-runner-close,
:root.a11y-contrast .admin-priv-section,
:root.a11y-contrast .priv-models-all,
:root.a11y-contrast .priv-models-none,
:root.a11y-contrast .mcp-tools-panel .mcp-tools-header span:first-child,
:root.a11y-contrast .mcp-tools-panel .mcp-tools-header a,
:root.a11y-contrast .adm-ep-section-head,
:root.a11y-contrast .search-fb-grip,
:root.a11y-contrast .search-fb-remove,
:root.a11y-contrast .doclib-card-time,
:root.a11y-contrast .doclib-btn-hint,
:root.a11y-contrast .doclib-chat-msg-model,
:root.a11y-contrast .skills-section-header,
:root.a11y-contrast .skills-section-count,
:root.a11y-contrast .skill-card-desc,
:root.a11y-contrast .skill-kebab-btn,
:root.a11y-contrast .skills-section-label,
:root.a11y-contrast .skill-test-meta,
:root.a11y-contrast .skill-test-round,
:root.a11y-contrast .archive-header,
:root.a11y-contrast .archive-menu-btn,
:root.a11y-contrast .gallery-chip-add,
:root.a11y-contrast .gallery-chip-clear,
:root.a11y-contrast .gallery-aitag-mark,
:root.a11y-contrast .gallery-tag-x,
:root.a11y-contrast .attach-image-name,
:root.a11y-contrast .vision-editor-desc,
:root.a11y-contrast .vision-editor-hint,
:root.a11y-contrast .gallery-select-btn,
:root.a11y-contrast .gallery-bulk-cancel,
:root.a11y-contrast .gallery-detail-fav-inline,
:root.a11y-contrast .gallery-date-rel,
:root.a11y-contrast .gallery-detail-section label,
:root.a11y-contrast .cookbook-serve-preset-meta,
:root.a11y-contrast .cookbook-serve-preset-launch,
:root.a11y-contrast .cookbook-serve-preset-rm,
:root.a11y-contrast .hwfit-cached-header,
:root.a11y-contrast .hwfit-cached-delete,
:root.a11y-contrast .cookbook-serve-dir-edit,
:root.a11y-contrast .cookbook-gpu-btn,
:root.a11y-contrast .cookbook-hf-link,
:root.a11y-contrast .cookbook-saved-del,
:root.a11y-contrast .cookbook-slot-btn,
:root.a11y-contrast .cookbook-saved-fav-btn,
:root.a11y-contrast .cookbook-dep-row.cookbook-dep-blocked,
:root.a11y-contrast .hwfit-auto-ctx-note,
:root.a11y-contrast .hwfit-spec-group:has(input[type="checkbox"]:not(:checked)) .hwfit-spec-method,
:root.a11y-contrast .hwfit-spec-group:has(input[type="checkbox"]:not(:checked)) .hwfit-spec-tokens,
:root.a11y-contrast .hwfit-spec-group:has(input[type="checkbox"]:not(:checked)) .hwfit-numstep,
:root.a11y-contrast .cookbook-task-save-btn,
:root.a11y-contrast .cookbook-task-edit-btn,
:root.a11y-contrast .cookbook-task-backend,
:root.a11y-contrast .cookbook-task-session,
:root.a11y-contrast .cookbook-task-server,
:root.a11y-contrast .cookbook-task-uptime,
:root.a11y-contrast #cookbook-dl-gguf-note,
:root.a11y-contrast .cookbook-server-toggle svg,
:root.a11y-contrast .cookbook-settings-hint,
:root.a11y-contrast .cookbook-server-row .cookbook-srv-host[readonly],
:root.a11y-contrast .cookbook-server-rm,
:root.a11y-contrast .hwfit-name-quant,
:root.a11y-contrast .hwfit-hw-chip-off,
:root.a11y-contrast .settings-sidebar-label,
:root.a11y-contrast .shortcut-category,
:root.a11y-contrast .shortcut-icon,
:root.a11y-contrast .shortcut-hint,
:root.a11y-contrast .shortcut-action-btn.is-reset,
:root.a11y-contrast .shortcut-action-btn.is-reset:focus,
:root.a11y-contrast .task-log-task-icon svg,
:root.a11y-contrast .task-log-running-elapsed,
:root.a11y-contrast .task-log-row.is-skipped,
:root.a11y-contrast .task-log-time,
:root.a11y-contrast .tasks-af-chip.off,
:root.a11y-contrast .task-log-prompt summary,
:root.a11y-contrast .task-card .memory-item-actions,
:root.a11y-contrast .task-card-schedule,
:root.a11y-contrast .task-card-output,
:root.a11y-contrast .task-card-prompt,
:root.a11y-contrast .task-card-meta,
:root.a11y-contrast .tasks-clock,
:root.a11y-contrast .task-preset-desc,
:root.a11y-contrast .task-form-label,
:root.a11y-contrast .task-toggle-btn,
:root.a11y-contrast .task-time-sep,
:root.a11y-contrast .task-run-time,
:root.a11y-contrast .task-run-result,
:root.a11y-contrast .settings-fallback-num,
:root.a11y-contrast .admin-tool-desc,
:root.a11y-contrast .admin-tool-ctx,
:root.a11y-contrast .hwfit-hint,
:root.a11y-contrast .hwfit-parser-tag,
:root.a11y-contrast .cookbook-modeldir-default,
:root.a11y-contrast .cookbook-srv-default,
:root.a11y-contrast .cookbook-modeldir-dl,
:root.a11y-contrast .cookbook-modeldir-rm,
:root.a11y-contrast .hwfit-opts-desc,
:root.a11y-contrast .continue-research-hint,
:root.a11y-contrast .continue-research-hint svg,
:root.a11y-contrast .research-timer,
:root.a11y-contrast .research-synapse .rs-edge,
:root.a11y-contrast .research-synapse .rs-meta .rs-sep,
:root.a11y-contrast .gallery-tab,
:root.a11y-contrast .gallery-album-count,
:root.a11y-contrast .gallery-editor-landing p,
:root.a11y-contrast .gallery-editor-template-label,
:root.a11y-contrast .gallery-editor-drafts-title,
:root.a11y-contrast .gallery-editor-draft-meta,
:root.a11y-contrast .ge-tool-sep,
:root.a11y-contrast .ge-tool-btn,
:root.a11y-contrast .ge-shortcuts-col h5,
:root.a11y-contrast .ge-shortcuts-foot,
:root.a11y-contrast .ge-transform-min-hint,
:root.a11y-contrast .ge-transform-input-locked,
:root.a11y-contrast .ge-transform-popup-suffix,
:root.a11y-contrast .ge-transform-aspect-btn,
:root.a11y-contrast .ge-transform-popup-hint,
:root.a11y-contrast .ge-size-label,
:root.a11y-contrast .ge-tool-model-row > label,
:root.a11y-contrast .dropdown-section-label,
:root.a11y-contrast .ge-section-hint,
:root.a11y-contrast .ge-section-title,
:root.a11y-contrast .ge-eraser-row label,
:root.a11y-contrast .ge-fx-group-title,
:root.a11y-contrast .ge-fx-cb-tone,
:root.a11y-contrast .ge-layer-fx-btn,
:root.a11y-contrast .ge-fx-dock-close,
:root.a11y-contrast .ge-history-row.future,
:root.a11y-contrast .ge-history-row-time,
:root.a11y-contrast .ge-adj-cb-tone,
:root.a11y-contrast .ge-adj-revert,
:root.a11y-contrast .ge-inpaint-mode-btn,
:root.a11y-contrast .ge-wand-mode-btn,
:root.a11y-contrast .ge-wand-live-btn,
:root.a11y-contrast .ge-filter-submenu-label,
:root.a11y-contrast .ge-edge-hint,
:root.a11y-contrast .ge-zoom-label,
:root.a11y-contrast .ge-layer-vis,
:root.a11y-contrast .ge-layer-btn,
:root.a11y-contrast .ge-crop-x,
:root.a11y-contrast .email-field label,
:root.a11y-contrast .email-item-spam,
:root.a11y-contrast .email-spam-unflag,
:root.a11y-contrast .email-reader-meta-toggle,
:root.a11y-contrast .email-reader-meta-row strong,
:root.a11y-contrast .recipient-chip-copy,
:root.a11y-contrast .from-sender-addr,
:root.a11y-contrast .from-sender-count,
:root.a11y-contrast .from-sender-empty,
:root.a11y-contrast .from-sender-row-more,
:root.a11y-contrast .from-sender-att,
:root.a11y-contrast .from-sender-date,
:root.a11y-contrast .from-sender-folder,
:root.a11y-contrast .from-sender-header-empty,
:root.a11y-contrast .from-sender-close,
:root.a11y-contrast .from-sender-suggest-item .suggest-addr,
:root.a11y-contrast .from-sender-mode-note,
:root.a11y-contrast .email-fold-summary-meta,
:root.a11y-contrast .email-sig-fold .email-fold-summary,
:root.a11y-contrast .schedule-send-label,
:root.a11y-contrast .emoji-picker-btn,
:root.a11y-contrast .emoji-picker-group-name,
:root.a11y-contrast .email-filter-chip-clear,
:root.a11y-contrast .email-date,
:root.a11y-contrast .email-subject,
:root.a11y-contrast .md-toolbar-attach-btn,
:root.a11y-contrast .email-field .email-cc-close,
:root.a11y-contrast .email-attachment-chip .att-size,
:root.a11y-contrast .email-compose-chip .att-size,
:root.a11y-contrast .email-compose-chip .compose-chip-remove,
:root.a11y-contrast .email-cc-toggle,
:root.a11y-contrast .contact-suggestion .contact-email,
:root.a11y-contrast .note-card-corner-menu,
:root.a11y-contrast .note-form-improve-btn.busy,
:root.a11y-contrast .note-card-selectmode .note-card-pin,
:root.a11y-contrast .note-card-selectmode .note-card-actions,
:root.a11y-contrast .note-card-action,
:root.a11y-contrast .notes-quick-icon,
:root.a11y-contrast .note-reminder-menu-title,
:root.a11y-contrast .note-reminder-menu-sub,
:root.a11y-contrast .note-reminder-menu-arrow,
:root.a11y-contrast .note-reminder-menu-sublabel,
:root.a11y-contrast .note-form-goal-ai.busy,
:root.a11y-contrast .note-form-goal-hint,
:root.a11y-contrast .note-form-goal-fresh.building .note-form-goal-desc,
:root.a11y-contrast .notes-today-row.done,
:root.a11y-contrast .notes-empty,
:root.a11y-contrast .notes-bulk-info,
:root.a11y-contrast .notes-bulk-btn,
:root.a11y-contrast .note-form-label,
:root.a11y-contrast .note-cl-quickadd-input,
:root.a11y-contrast .note-checkbox.done .note-check-text,
:root.a11y-contrast .note-due-badge,
:root.a11y-contrast .note-type-btn,
:root.a11y-contrast .note-form-due,
:root.a11y-contrast .note-cl-row.done .note-cl-text,
:root.a11y-contrast .note-cl-rm,
:root.a11y-contrast .note-cl-add,
:root.a11y-contrast .cal-quickadd-hint,
:root.a11y-contrast .cal-quickadd-status,
:root.a11y-contrast button.cal-today-btn,
:root.a11y-contrast .email-attach-toggle-inline,
:root.a11y-contrast .email-undone-toggle-inline,
:root.a11y-contrast .email-reminder-toggle-inline,
:root.a11y-contrast button.cal-view-btn,
:root.a11y-contrast .cal-weekday,
:root.a11y-contrast .cal-event-row-time,
:root.a11y-contrast .cal-event-more,
:root.a11y-contrast .cal-empty,
:root.a11y-contrast .cal-event-time,
:root.a11y-contrast .cal-event-loc,
:root.a11y-contrast .cal-wk-zoom,
:root.a11y-contrast .cal-wk-dn,
:root.a11y-contrast .cal-wk-dt,
:root.a11y-contrast .cal-year-wd,
:root.a11y-contrast .cal-year-day,
:root.a11y-contrast .cal-day-search-meta,
:root.a11y-contrast .cal-search-count,
:root.a11y-contrast .cal-agenda-date,
:root.a11y-contrast .cal-agenda-empty,
:root.a11y-contrast .assistant-field > span,
:root.a11y-contrast .assistant-checkin-meta,
:root.a11y-contrast .assistant-tool-group-label,
:root.a11y-contrast .cal-empty-msg,
:root.a11y-contrast .cal-allday-label,
:root.a11y-contrast .cal-form-close,
:root.a11y-contrast .cal-form-today,
:root.a11y-contrast .cal-hero-sep,
:root.a11y-contrast .cal-hero-ampm,
:root.a11y-contrast .cal-hero-date,
:root.a11y-contrast .research-setting-label,
:root.a11y-contrast .research-empty,
:root.a11y-contrast .research-cat-badge,
:root.a11y-contrast .research-job-time,
:root.a11y-contrast .research-job-meta,
:root.a11y-contrast .research-job-status,
:root.a11y-contrast .research-job-cancel,
:root.a11y-contrast .research-job-remove,
:root.a11y-contrast .research-job-report-link,
:root.a11y-contrast .research-synapse-toggle,
:root.a11y-contrast .research-job-model,
:root.a11y-contrast .research-job-phase,
:root.a11y-contrast .research-job-queued-meta,
:root.a11y-contrast .research-section-count,
:root.a11y-contrast .research-source-more,
:root.a11y-contrast .research-library-toggle,
:root.a11y-contrast .research-lib-meta,
:root.a11y-contrast .research-lib-open,
:root.a11y-contrast .research-lib-delete,
:root.a11y-contrast .research-sb-status,
:root.a11y-contrast .cp-section-label,
:root.a11y-contrast .cp-recent-empty,
:root.a11y-contrast .research-library-hint,
:root.a11y-contrast .slash-ac-usage,
:root.a11y-contrast .workspace-empty,
:root.a11y-contrast .settings-system-logs-svg { opacity: .85 !important; }
@media (hover: none) {
:root.a11y-contrast #sessions-section .chats-manage-btn,
:root.a11y-contrast .gallery-dl-btn,
:root.a11y-contrast .note-card-copy-corner { opacity: .85 !important; }
}
@media (max-width:768px) {
:root.a11y-contrast .tool-indicator .tool-indicator-x,
:root.a11y-contrast .mobile-new-chat-btn { opacity: .85 !important; }
}
@media (max-width: 768px) {
:root.a11y-contrast .list-item .hamburger,
:root.a11y-contrast .doc-tab-close,
:root.a11y-contrast .doc-tab .doc-tab-menu-btn { opacity: .85 !important; }
}
