/* client/css/academy-canonical-r1.css — VISUAL-ONLY additive layer.
   unify-max / acad-visual, 2026-09-14. Owner demand: ecosystem-consistent
   visuals («не жёлтые — как и везде»): light canon v2 #f6f8fc / #1a56DB.

   Scope rules (binding):
   - No behavior changes, no DOM id/class renames, no contract fields.
   - Loaded LAST in every page head; overrides ONLY design-token custom
     properties + the two hard-coded amber borders in room.css.
   - Does NOT touch [data-role="teacher"] display rules (DEF-2 source-order
     guard in room.css keeps working: this file never sets display on them).
   - Status semantics preserved: green = granted/ok, red = danger/error;
     yellow/amber ALERT plates become the canon blue info family (AA kept).
   - Radii: only join.css card radius 24px -> 16px (ecosystem card family
     14–16px, vitrina uses 16px); all other radii already in family.

   Contrast (WCAG, verified 2026-09-14, all >= 4.5:1):
   #0f172a/#f6f8fc 16.79 · #475569/#f6f8fc 7.13 · #1a56db/#ffffff 6.18 ·
   #ffffff/#1a56db 6.18 · #143a8f/#e7eefb 8.87 · #1e3f86/#eaf0fd 8.71. */

:root {
  /* --- base.css warm palette -> ecosystem light canon v2 -------------- */
  --bg: #f6f8fc;
  --surface: #ffffff;
  --surface-soft: #eef2f9;
  --text: #0f172a;
  --muted: #475569;
  --line: #e6ebf3;
  --line-strong: #c8d4e8;

  --accent: #1a56db;
  --accent-hover: #1649c0;
  --accent-soft: #e7eefb;
  --on-accent: #ffffff;

  /* yellow/amber alert family -> canon blue info family */
  --amber-bg: #e7eefb;   /* was #f7bd2e (yellow synthetic badge) */
  --amber-text: #143a8f; /* was #4a3600 */
  --warn: #143a8f;       /* was #6b4d09 */
  --warn-soft: #e7eefb;  /* was #fdf3d7 (pale yellow) */

  /* neutral cool shadows (was warm brown-tinted) */
  --shadow: 0 10px 28px rgba(23, 43, 99, 0.1);
  --shadow-soft: 0 4px 14px rgba(23, 43, 99, 0.08);

  /* --- join.css purple palette -> canon (same custom-property names) -- */
  --yellow: #e7eefb;      /* .noscript plate: was #fff1d0 */
  --yellow-text: #143a8f; /* was #866223 */
  --mint: #e7f8f0;        /* ok plate, canon green family */
  --mint-text: #0e7a4f;
  --focus: #1a56db;       /* was purple #9a72e7 */
  --video-bg: #10131d;    /* neutral dark, was purple-tinted #221e2e */
  --radius: 16px;         /* join cards: was 24px (ecosystem 14–16) */
}

/* room.css hard-coded amber borders -> canon border */
#synthetic-badge {
  border-color: #b9c9e6; /* was #d99a00 */
}

.notice-warn {
  border-color: #b9c9e6; /* was #e5c96b */
}

/* This layer adds no animations/transitions of its own; keep the existing
   reduced-motion guarantees explicit for anything recolored above. */
@media (prefers-reduced-motion: reduce) {
  #synthetic-badge,
  .notice-item {
    animation: none !important;
    transition: none !important;
  }
}
