/* ADR-028: LeagueOrbit Modern Orbit tokens (kit r1, John's selection, October 9, 2026).
   Role names, so a later personal palette overrides roles, not colours.
   Status colours (success, warning, error, pending, conflict) are NOT here and never change with the brand. */
:root{
  --lo-surface-strong:#14243B;   /* navy: headers, footer, active navigation */
  --lo-action:#2454CC;           /* blue: primary buttons, links on light (white text 6.53:1) */
  --lo-action-hover:#1D44A8;
  --lo-accent-on-dark:#8AB4FF;   /* sky: accents and links on navy (7.47:1) */
  --lo-page:#F5F7FA;
  --lo-card:#FFFFFF;
  --lo-text:#15263C;
  --lo-text-soft:#4A5B70;
  --lo-text-on-dark-soft:#C9D6EA;
  --lo-divider:#D3DBE6;          /* decorative edges only; never a control's only edge */
  --lo-field:#6B7A90;            /* control borders, 3:1 or more on white and paper */
  --lo-tint:#E7EEFB;             /* light blue wash for selected/secondary areas (text stays --lo-text) */
  --lo-focus:#7B2CBF;            /* focus ring on light surfaces */
  --lo-focus-on-dark:#F2B8FF;    /* focus ring on navy */
}
/* Focus: always offset 3 px so the ring never touches a blue control (violet on blue is 1.09:1). */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--lo-focus);outline-offset:3px}
:where(.lo-dark,header,.top,.foot) :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:var(--lo-focus-on-dark)}

/* Lockup: the kit symbol (unchanged paths) plus the live-text wordmark.
   Clear space: one node diameter (the dot is 16 of 128 units) around the lockup. */
.lo-lockup{display:inline-flex;align-items:center;gap:.5em;padding:.25em;line-height:1;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;letter-spacing:-.01em;color:var(--lo-text);white-space:nowrap}
.lo-lockup .lo-mark{width:1.6em;height:1.6em;min-width:24px;min-height:24px;flex:none;color:var(--lo-action);display:block}
/* On navy (landing .lo-dark areas and every organizer <header>): white word, sky mark. */
:where(.lo-dark,header) .lo-lockup,.lo-lockup.on-dark{color:#fff}
:where(.lo-dark,header) .lo-lockup .lo-mark,.lo-lockup.on-dark .lo-mark{color:var(--lo-accent-on-dark)}
.lo-page-brand{display:block;margin:0 0 1.25rem;font-size:1.25rem;text-decoration:none}

/* Server-made pages (sign-in, account, invitation, links): colours only; each page keeps its own layout. */
body.lo-simple{background:var(--lo-page);color:var(--lo-text)}
.lo-simple a{color:var(--lo-action)}
.lo-simple .lo-page-brand{font-size:1.2rem;margin-bottom:1.5rem}
.lo-simple :where(input:not([type=checkbox],[type=radio]),select,textarea){border:1px solid var(--lo-field);border-radius:7px;background:#fff;color:inherit}
.lo-simple button{background:var(--lo-action);color:#fff;border:1px solid var(--lo-action);border-radius:7px;cursor:pointer}
.lo-simple button:hover{background:var(--lo-action-hover);border-color:var(--lo-action-hover)}
.lo-simple .muted,.lo-simple .org{color:var(--lo-text-soft)}
