:root[data-vc-text="125"] { font-size: 125%; }
:root[data-vc-text="150"] { font-size: 150%; }
:root[data-vc-text="200"] { font-size: 200%; }
:root[data-vc-contrast="dark"] {
  color-scheme: dark;
  --canvas: #111318; --surface: #191d24; --surface-subtle: #222833; --hover: #29303b;
  --ink: #f4f6f8; --text: #f4f6f8; --muted: #d0d5dd; --line: #748091; --control-border: #acb5c2;
  --green: #e3e8f0; --green-hover: #ffffff; --on-brand: #111318; --mint: #29303b;
  --focus: #8dbdff; --focus-gap: #111318;
  --danger: #ffd8d1; --danger-bg: #3e1d1b; --warning: #fff1be; --warning-bg: #332d15;
  --success: #e3e8f0; --success-bg: #29303b; --info: #d7eaff; --info-bg: #172a3e;
  --disabled-bg: #222833; --toast-bg: #f4f6f8; --toast-text: #1f2937;
  --log-bg: #111318; --log-heading-bg: #222833; --log-text: #f4f6f8; --log-muted: #d0d5dd;
  --icon-filter: invert(1); --brand-icon-filter: none;
}
@media (prefers-color-scheme: dark) {
  :root[data-vc-contrast="system"] {
    color-scheme: dark;
    --canvas: #111318; --surface: #191d24; --surface-subtle: #222833; --hover: #29303b;
    --ink: #f4f6f8; --text: #f4f6f8; --muted: #d0d5dd; --line: #748091; --control-border: #acb5c2;
    --green: #e3e8f0; --green-hover: #ffffff; --on-brand: #111318; --mint: #29303b;
    --focus: #8dbdff; --focus-gap: #111318;
    --danger: #ffd8d1; --danger-bg: #3e1d1b; --warning: #fff1be; --warning-bg: #332d15;
    --success: #e3e8f0; --success-bg: #29303b; --info: #d7eaff; --info-bg: #172a3e;
    --disabled-bg: #222833; --toast-bg: #f4f6f8; --toast-text: #1f2937;
    --log-bg: #111318; --log-heading-bg: #222833; --log-text: #f4f6f8; --log-muted: #d0d5dd;
    --icon-filter: invert(1); --brand-icon-filter: none;
  }
}
:root[data-vc-reading="comfortable"] :is(p,dd,li,pre,.run-title,.task-title,.run-meta,.fact-list,.request-facts) {
  line-height: 1.8; letter-spacing: .12em; word-spacing: .16em; text-align: start;
}
:root[data-vc-reading="comfortable"] p { margin-block-end: 2.7em; }
html { scroll-padding: 1rem; }
body { overflow-wrap: anywhere; }
[hidden] { display: none !important; }
button,input,select,summary,[tabindex],a { scroll-margin: 1rem; }
.a11y-launch,.a11y-dialog button,.a11y-dialog select,.a11y-dialog input:not([type="checkbox"]),.a11y-help summary {
  min-width: 44px; min-height: 44px; height: auto; font: inherit; line-height: 1.5;
}
.a11y-launch {
  display: inline-flex; align-items: center; justify-content: center; padding: .625rem .8rem;
  border: 2px solid var(--control-border); border-radius: .45rem; background: var(--surface);
  color: var(--text); font-size: .875rem; font-weight: 600; cursor: pointer; white-space: normal;
}
.a11y-launch:hover { background: var(--hover); }
.a11y-toolbar { display: flex; justify-content: flex-end; margin-bottom: 1.5rem; }
.header-actions { flex-wrap: wrap; }
.a11y-dialog {
  width: min(42rem, calc(100% - 2rem)); max-width: calc(100% - 2rem); max-height: calc(100dvh - 2rem);
  padding: 0; border: 2px solid var(--control-border); border-radius: .8rem; background: var(--surface);
  color: var(--text); overflow: auto; box-sizing: border-box; font-size: 1rem; line-height: 1.5;
}
.a11y-dialog::backdrop { background: rgb(0 0 0 / .65); }
.a11y-heading-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1.25rem; border-bottom: 1px solid var(--line); }
.a11y-heading-row h2 { margin: 0; color: var(--ink); font-size: 1.4rem; line-height: 1.5; }
.a11y-content { padding: 1.25rem; }
.a11y-dialog p { max-inline-size: 40ic; margin: 0 0 2.25em; color: var(--text); line-height: 1.5; text-align: start; }
.a11y-dialog fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.a11y-dialog legend { padding: 0; margin-bottom: 1rem; font-size: 1.125rem; font-weight: 700; color: var(--ink); }
.a11y-field { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1.25rem; font-size: 1rem; color: var(--text); }
.a11y-field :is(select,input) { width: 100%; min-width: 0; padding: .5rem .625rem; border: 2px solid var(--control-border); border-radius: .35rem; background: var(--surface); color: var(--text); }
.a11y-field input[aria-invalid="true"] { border-color: var(--danger); border-style: dashed; }
.a11y-checkbox { display: flex; align-items: flex-start; gap: .625rem; min-height: 44px; padding-block: .5rem; line-height: 1.5; }
.a11y-checkbox input { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; margin: .15rem 0 0; accent-color: var(--green); }
.a11y-checkbox span { min-width: 0; }
.a11y-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1rem 1.5rem; }
.a11y-dialog button { padding: .5rem .8rem; border: 2px solid var(--control-border); border-radius: .4rem; background: var(--surface); color: var(--text); cursor: pointer; }
.a11y-dialog button:hover { background: var(--hover); }
.a11y-dialog button.a11y-primary { background: var(--green); border-color: var(--green); color: var(--on-brand); }
.a11y-dialog button.a11y-primary:hover { background: var(--green-hover); }
.a11y-help { border-top: 1px solid var(--line); padding-top: .75rem; margin-top: .75rem; }
.a11y-help summary { padding: .5rem .25rem; cursor: pointer; color: var(--green); font-weight: 700; }
.a11y-help h3 { color: var(--ink); font-size: 1.125rem; line-height: 1.5; }
.a11y-help dl { margin: 1rem 0; max-inline-size: 40ic; }
.a11y-help dt { margin-top: 1.25rem; color: var(--ink); font-weight: 700; }
.a11y-help dd { margin: .5rem 0 2.25em; line-height: 1.5; }
.a11y-dialog :is(button,select,input,summary):focus-visible,.a11y-launch:focus-visible {
  outline: 3px solid var(--focus); outline-offset: 3px; box-shadow: 0 0 0 3px var(--focus-gap);
}
:is(.brand-mark,.login-brand > img,.pairing-brand > img) { background: #fff; border-radius: .25rem; filter: grayscale(1); }
:root[data-vc-contrast="custom"] .a11y-launch { background: #1f2937; color: #fff; border-color: #1f2937; box-shadow: 0 0 0 2px #fff; }
:root[data-vc-contrast="custom"] .a11y-dialog {
  color-scheme: light; --surface: #fff; --text: #1f2937; --ink: #1f2937; --muted: #3d4756;
  --line: #cbd1d9; --control-border: #626d7c; --green: #202b3a; --green-hover: #29374a; --on-brand: #fff;
  --hover: #e9edf2; --focus: #0b5bc4; --focus-gap: #fff; --danger: #7a251d;
  --toast-bg: #252d38; --toast-text: #fff;
}
.toast-region[data-vc-position] { position: fixed; width: min(32rem,calc(100% - 2rem)); max-height: 40dvh; overflow: auto; z-index: 1000; }
.toast-region[data-vc-position="bottom-right"] { top: auto; bottom: 1rem; left: auto; right: 1rem; transform: none; }
.toast-region[data-vc-position="top-right"] { top: 1rem; bottom: auto; left: auto; right: 1rem; transform: none; }
.toast-region[data-vc-position="bottom-left"] { top: auto; bottom: 1rem; left: 1rem; right: auto; transform: none; }
.toast-region[data-vc-position="top-left"] { top: 1rem; bottom: auto; left: 1rem; right: auto; transform: none; }
.toast-region[data-vc-position="bottom-center"] { top: auto; bottom: 1rem; left: 50%; right: auto; transform: translateX(-50%); }
.toast-region[data-vc-position="top-center"] { top: 1rem; bottom: auto; left: 50%; right: auto; transform: translateX(-50%); }
.toast-region[data-vc-position="after-focus"] { position: absolute; top: var(--vc-toast-top); bottom: auto; left: 1rem; right: auto; transform: none; }
@media (max-width: 480px) {
  .a11y-dialog { width: calc(100% - 1rem); max-width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
  .a11y-heading-row,.a11y-content { padding: 1rem; }
  .a11y-actions > button { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { html:focus-within { scroll-behavior: auto; } *,*::before,*::after { animation: none !important; transition: none !important; } }
@media (forced-colors: active) {
  .a11y-dialog,.a11y-launch,.a11y-dialog button,.a11y-field :is(select,input) { forced-color-adjust: auto; border-color: ButtonText; }
  .a11y-dialog :focus-visible,.a11y-launch:focus-visible { outline: 3px solid Highlight; outline-offset: 3px; box-shadow: none; }
}
