/* ============================ FOCUS LAYER (World 2, AI Lab) ============================
   Loaded last, same reasoning as World 1's copy: keyboard focus rings live in one place, in the last
   stylesheet, at a specificity that later visual passes cannot silently override. Two controls here
   removed their own indicator without adding a replacement: the footer subscribe field and the
   concierge message input.

   The palette is the Lab's, not the Studio's: electric blue on midnight, bright enough to read
   against the optical glass panels.

   Verified with real Tab presses by world1/_src/qa_focus.js.
   ====================================================================================== */

:root{
  --fx-ring:rgba(95,168,255,.62);
  --fx-ring-wide:rgba(95,168,255,.26);
  --fx-ink:#8CC0FF;
}

html a:focus-visible,
html button:focus-visible,
html input:focus-visible,
html select:focus-visible,
html textarea:focus-visible,
html summary:focus-visible,
html [tabindex]:not([tabindex="-1"]):focus-visible{
  outline:2px solid var(--fx-ink);
  outline-offset:3px;
  border-radius:8px;
}

html .nav-cta:focus-visible,
html .btn-hero:focus-visible,
html .btn-hero-ghost:focus-visible,
html .fdr-cta:focus-visible,
html .lgl-cta:focus-visible,
html .ctc-send:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px var(--fx-ring),0 0 0 7px var(--fx-ring-wide);
}

html .world-gate:focus-visible,
html .reel:focus-visible,
html .hr-cap:focus-visible,
html .ft2-portal:focus-visible,
html .ft2-cs:focus-visible{
  outline:2px solid var(--fx-ink);
  outline-offset:4px;
}

/* Concierge: launcher and message field both set their indicator to none upstream. */
html .cg:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px var(--fx-ring),0 0 0 7px var(--fx-ring-wide),0 18px 44px rgba(2,8,28,.4);
}
html .cg-input input:focus-visible{
  outline:2px solid var(--fx-ink);
  outline-offset:2px;
  border-radius:999px;
  box-shadow:none;
}
html .cg-panel button:focus-visible,
html .cg-panel a:focus-visible{outline:2px solid var(--fx-ink);outline-offset:2px}

/* Footer subscribe field: no indicator at all before this. */
html .ft2-form input:focus-visible{
  outline:2px solid var(--fx-ink);
  outline-offset:-2px;
  border-radius:999px;
}
html .ft2-form button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--fx-ring),0 0 0 7px var(--fx-ring-wide)}

/* Contact panel: mode tabs and the diagnostic chips. */
html .ctc-tab:focus-visible{outline:2px solid var(--fx-ink);outline-offset:2px;border-radius:999px}
html .ctc-chip:focus-within,
html .ctc-chip:has(input:focus-visible){outline:2px solid var(--fx-ink);outline-offset:2px;border-radius:999px}

@media (prefers-contrast:more){
  html a:focus-visible,html button:focus-visible,html input:focus-visible,
  html [tabindex]:not([tabindex="-1"]):focus-visible{outline-width:3px}
  html .cg:focus-visible,html .nav-cta:focus-visible{
    outline:3px solid var(--fx-ink);outline-offset:3px;box-shadow:none}
}
