/* AISPG.ai — accessibility layer (v6, 2026-11-01).
   Loaded last on every page. Scoped to aispg.ai: the shared North Star theater.css is untouched.
   Hard-plane doctrine: colour and spacing only — no glows, blurs, haze or motion. */

/* 1. Contrast (WCAG 2.2 AA 1.4.3) — North Star film components.
      Secondary grey #6b7486 measured 4.13–4.31:1; #8a93a6 measures 6.0–6.6:1 on the film panels.
      White on the pink accent #e83b63 measured 4.01:1; filled badges and pills move to the
      AISPG mark crimson #B5171E (6.76:1), hover to signal red #C51920 (5.94:1). */
html .ns-theater{--ns-dim:#8a93a6}
html .nsh{--h-dim:#8a93a6}
html .ns-theater .ns-now-tag{background:#B5171E}
html .ns-theater .ns-next-actions button.is-primary{background:#B5171E;border-color:#B5171E}
html .nsh .nsh-new{background:#B5171E}
html .nsx .nsx-switch a[aria-current="page"]{background:#B5171E}
html .nsx .nsx-kicker b{background:#B5171E}
html .nsx .nsx-cta{background:#B5171E}
html .nsx .nsx-cta:hover{background:#C51920}

/* 2. Target size (WCAG 2.2 AA 2.5.8) — every link and button at least 24px tall.
      Visual rhythm is preserved: footer row gap shrinks by exactly the padding it gains. */
html .footer-links{row-gap:4px}
html .footer-links a{padding-block:3px}
html .text-arrow,html .card-link,html .btn.textlink{min-height:26px;align-items:center}
html .v3-paper-actions a{padding-block:4px}
html .resource-card a{padding-block:2px}

/* 3. Page heading for the film pages: the theater draws its own display title (h2), so the
      document-level h1 is present for assistive technology and search without a second visible title. */
.vh{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* 4. Clipboard fallback textarea (class, not inline style: CSP style-src 'self'). */
.offscreen-copy{position:fixed!important;left:-9999px!important;top:0!important}
[data-intake-mode][hidden]{display:none!important}

/* 5. Desktop primary navigation and the framework "full diagram" link: 24px targets.
      Padding only — the header bar is flex-centred, so nothing moves. */
@media (min-width:1141px){html .header-v2 .nav a{padding-block:3px}}
html .diagram-full-link{padding-block:4px}

/* 6. Legal links row (own footer row under the footer-bottom block), and lists inside legal documents. */
html .footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;padding:14px 0 6px;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem;letter-spacing:.02em}
html .footer-legal a{display:inline-block;padding-block:3px;color:#c9ced8;text-decoration:none;border-bottom:1px solid transparent;white-space:nowrap}
html .footer-legal a:hover{color:#fff;border-bottom-color:#B5171E}
html .footer-legal span{display:inline!important;color:#6b7486;margin:0!important}
html .legal-doc ul{margin:10px 0 0;padding-left:20px}
html .legal-doc li{margin:6px 0;line-height:1.6}
html .legal-doc details p + p{margin-top:10px}

/* 7. Light reading pages (doc-light) and the ecosystem bar: keep AA contrast and 24px targets. */
html body.doc-light main .architecture-figure .diagram-full-link{color:#ff9db1!important}
html body.doc-light main .badge.neutral{color:#0e1f33!important;background:#eef2f7!important}
html body.doc-light main :is(.mini-label,.case-meta,.catalog-top span:not(.access-tag)){color:#b5171e!important}
html body.doc-light main .access-tag{color:#b5171e!important}
html body.doc-light main .access-tag.guarded{color:#ffb3c2!important}
html body.doc-light main :is(.case-outcome,.catalog-filters span){color:#3a4b5f!important}
html body.doc-light main .stage-selector button{color:#d6dce3!important}
html .eco-brand{padding-block:2px}
