/* MyEClass RC2 — final cross-role design-system coherence.
   Presentation only: no route, state, permission, publication, RAG or lifecycle behavior. */

body.myeclass-product-rc2 {
  --mye-rc2-bg: #07111f;
  --mye-rc2-bg-elevated: #0a192b;
  --mye-rc2-surface: #0d2138;
  --mye-rc2-surface-soft: #102a46;
  --mye-rc2-surface-deep: #061522;
  --mye-rc2-surface-hover: #153451;
  --mye-rc2-border: #2d587d;
  --mye-rc2-border-soft: rgba(111, 166, 207, .3);
  --mye-rc2-border-strong: #477995;
  --mye-rc2-text: #f5f9ff;
  --mye-rc2-copy: #c1d2df;
  --mye-rc2-muted: #a9bfd4;
  --mye-rc2-subtle: #8faac0;
  --mye-rc2-primary: #64bdf7;
  --mye-rc2-primary-strong: #2997df;
  --mye-rc2-primary-text: #041724;
  --mye-rc2-info: #73c8fb;
  --mye-rc2-success: #55d6a6;
  --mye-rc2-warning: #f4c96b;
  --mye-rc2-danger: #ff9ba6;
  --mye-rc2-focus: #ffd166;

  --mye-rc2-space-1: .25rem;
  --mye-rc2-space-2: .5rem;
  --mye-rc2-space-3: .75rem;
  --mye-rc2-space-4: 1rem;
  --mye-rc2-space-5: 1.25rem;
  --mye-rc2-space-6: 1.5rem;
  --mye-rc2-space-8: 2rem;
  --mye-rc2-radius-sm: 10px;
  --mye-rc2-radius-md: 14px;
  --mye-rc2-radius-lg: 18px;
  --mye-rc2-radius-pill: 999px;
  --mye-rc2-control-height: 44px;
  --mye-rc2-content-max: 1320px;
  --mye-rc2-shadow: 0 18px 48px rgba(0, 0, 0, .22);

  /* Keep every newer surface on the established MyEClass dark palette. */
  --mye-ui-bg: var(--mye-rc2-bg);
  --mye-ui-bg-elevated: var(--mye-rc2-bg-elevated);
  --mye-ui-surface: var(--mye-rc2-surface);
  --mye-ui-surface-soft: var(--mye-rc2-surface-soft);
  --mye-ui-surface-hover: var(--mye-rc2-surface-hover);
  --mye-ui-border: var(--mye-rc2-border);
  --mye-ui-border-strong: var(--mye-rc2-border-strong);
  --mye-ui-text: var(--mye-rc2-text);
  --mye-ui-text-muted: var(--mye-rc2-muted);
  --mye-ui-text-subtle: var(--mye-rc2-subtle);
  --mye-ui-primary: var(--mye-rc2-primary-strong);
  --mye-ui-primary-hover: var(--mye-rc2-primary);
  --mye-ui-primary-soft: #103d67;
  --mye-ui-info: var(--mye-rc2-info);
  --mye-ui-success: var(--mye-rc2-success);
  --mye-ui-warning: var(--mye-rc2-warning);
  --mye-ui-danger: var(--mye-rc2-danger);
  --mye-ui-space-1: var(--mye-rc2-space-1);
  --mye-ui-space-2: var(--mye-rc2-space-2);
  --mye-ui-space-3: var(--mye-rc2-space-3);
  --mye-ui-space-4: var(--mye-rc2-space-4);
  --mye-ui-space-5: var(--mye-rc2-space-5);
  --mye-ui-space-6: var(--mye-rc2-space-6);
  --mye-ui-space-8: var(--mye-rc2-space-8);
  --mye-ui-radius-sm: var(--mye-rc2-radius-sm);
  --mye-ui-radius-md: var(--mye-rc2-radius-md);
  --mye-ui-radius-lg: var(--mye-rc2-radius-lg);
  --mye-ui-radius-pill: var(--mye-rc2-radius-pill);
  --mye-ui-shadow-card: var(--mye-rc2-shadow);
  --mye-ui-content-max: var(--mye-rc2-content-max);
  color-scheme: dark;
}

/* Route layers retain their own structure while sharing one semantic palette. */
body.myeclass-product-rc2.myeclass-role-student {
  --cp2a-surface: var(--mye-rc2-surface);
  --cp2a-surface-soft: var(--mye-rc2-surface-soft);
  --cp2a-border: var(--mye-rc2-border);
  --cp2a-copy: var(--mye-rc2-muted);
  --cp2a-bright: var(--mye-rc2-text);
  --cp2b-bg: var(--mye-rc2-bg);
  --cp2b-surface: var(--mye-rc2-surface);
  --cp2b-surface-soft: var(--mye-rc2-surface-soft);
  --cp2b-surface-deep: var(--mye-rc2-surface-deep);
  --cp2b-border: var(--mye-rc2-border);
  --cp2b-border-soft: var(--mye-rc2-border-soft);
  --cp2b-text: var(--mye-rc2-text);
  --cp2b-copy: var(--mye-rc2-copy);
  --cp2b-muted: var(--mye-rc2-subtle);
  --cp2b-accent: var(--mye-rc2-primary);
  --cp2b-accent-strong: var(--mye-rc2-primary-strong);
  --cp2b-success: var(--mye-rc2-success);
  --cp2b-warning: var(--mye-rc2-warning);
  --cp2b-danger: var(--mye-rc2-danger);
  --cp2c-surface: var(--mye-rc2-surface);
  --cp2c-surface-soft: var(--mye-rc2-surface-soft);
  --cp2c-surface-deep: var(--mye-rc2-surface-deep);
  --cp2c-border: var(--mye-rc2-border);
  --cp2c-border-soft: var(--mye-rc2-border-soft);
  --cp2c-text: var(--mye-rc2-text);
  --cp2c-copy: var(--mye-rc2-copy);
  --cp2c-muted: var(--mye-rc2-subtle);
  --cp2c-accent: var(--mye-rc2-primary);
  --cp2c-accent-strong: var(--mye-rc2-primary-strong);
  --cp2c-success: var(--mye-rc2-success);
  --cp2c-warning: var(--mye-rc2-warning);
  --cp2c-danger: var(--mye-rc2-danger);
}

body.myeclass-product-rc2.myeclass-role-teacher {
  --cp3a-surface: var(--mye-rc2-surface);
  --cp3a-surface-soft: var(--mye-rc2-surface-soft);
  --cp3a-surface-deep: var(--mye-rc2-surface-deep);
  --cp3a-border: var(--mye-rc2-border-strong);
  --cp3a-border-soft: var(--mye-rc2-border-soft);
  --cp3a-text: var(--mye-rc2-text);
  --cp3a-copy: var(--mye-rc2-copy);
  --cp3a-muted: var(--mye-rc2-muted);
  --cp3a-accent: var(--mye-rc2-primary);
  --cp3a-accent-strong: var(--mye-rc2-primary-strong);
  --cp3a-success: var(--mye-rc2-success);
  --cp3a-warning: var(--mye-rc2-warning);
  --cp3a-danger: var(--mye-rc2-danger);
  --cp3b-bg: var(--mye-rc2-bg);
  --cp3b-surface: var(--mye-rc2-surface);
  --cp3b-surface-soft: var(--mye-rc2-surface-soft);
  --cp3b-border: var(--mye-rc2-border-strong);
  --cp3b-border-soft: var(--mye-rc2-border-soft);
  --cp3b-text: var(--mye-rc2-text);
  --cp3b-copy: var(--mye-rc2-copy);
  --cp3b-muted: var(--mye-rc2-muted);
  --cp3b-accent: var(--mye-rc2-primary);
  --cp3b-primary: var(--mye-rc2-primary);
  --cp3b-primary-text: var(--mye-rc2-primary-text);
  --cp3b-success: var(--mye-rc2-success);
  --cp3b-warning: var(--mye-rc2-warning);
  --cp3b-danger: var(--mye-rc2-danger);
  --cp4-bg: var(--mye-rc2-bg);
  --cp4-surface: var(--mye-rc2-surface);
  --cp4-surface-soft: var(--mye-rc2-surface-soft);
  --cp4-surface-strong: var(--mye-rc2-surface-deep);
  --cp4-border: var(--mye-rc2-border-strong);
  --cp4-border-soft: var(--mye-rc2-border-soft);
  --cp4-text: var(--mye-rc2-text);
  --cp4-copy: var(--mye-rc2-copy);
  --cp4-muted: var(--mye-rc2-muted);
  --cp4-accent: var(--mye-rc2-primary);
  --cp4-primary: var(--mye-rc2-primary);
  --cp4-primary-text: var(--mye-rc2-primary-text);
  --cp4-success: var(--mye-rc2-success);
  --cp4-warning: var(--mye-rc2-warning);
  --cp4-danger: var(--mye-rc2-danger);
  --cp4-danger-bg: #351925;
}

body.myeclass-product-rc2.myeclass-role-admin .myeclass-cp5 {
  --cp5-accent: var(--mye-rc2-primary-strong);
  --cp5-accent-strong: var(--mye-rc2-primary);
  --cp5-safe: #1f9d72;
  --cp5-attention: #c58b26;
  --cp5-soft: rgba(100, 189, 247, .1);
  --cp5-safe-soft: rgba(85, 214, 166, .1);
}

/* Typography rhythm. */
body.myeclass-product-rc2 .myeclass-main {
  color: var(--mye-rc2-text);
  font-family: var(--mye-ui-font-sans, system-ui, sans-serif);
}

body.myeclass-product-rc2 .myeclass-main :where(h1, h2, h3, h4) {
  margin-block-start: 0;
  color: var(--mye-rc2-text);
  letter-spacing: -.02em;
}

body.myeclass-product-rc2 .myeclass-main :where(p, li, dd, small) {
  line-height: 1.55;
}

body.myeclass-product-rc2 .myeclass-main :where(.muted, .small, .tiny) {
  color: var(--mye-rc2-muted) !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .myeclass-cp2a-home,
  .myeclass-cp2c,
  .myeclass-cp3a,
  .myeclass-cp3b,
  .myeclass-cp4,
  .myeclass-cp5
) {
  gap: var(--mye-rc2-space-4);
}

/* Cards, panels and hero regions share border, radius and shadow language. */
body.myeclass-product-rc2 .myeclass-main :where(
  .card,
  .panel,
  .mye-panel,
  .mye-phase2-section,
  .myeclass-cp2a-home-hero,
  .myeclass-cp2c-hero,
  .myeclass-cp2c-detail-hero,
  .myeclass-cp3a-hero,
  .myeclass-cp3b-hero,
  .myeclass-cp4-hero,
  .myeclass-cp4-cycle-hero,
  .myeclass-cp5-hero,
  .myeclass-cp5-panel
) {
  border-color: var(--mye-rc2-border-soft) !important;
  border-radius: var(--mye-rc2-radius-lg) !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .myeclass-cp2a-home-hero,
  .myeclass-cp2c-hero,
  .myeclass-cp2c-detail-hero,
  .myeclass-cp3a-hero,
  .myeclass-cp3b-hero,
  .myeclass-cp4-hero,
  .myeclass-cp4-cycle-hero,
  .myeclass-cp5-hero
) {
  background:
    radial-gradient(circle at 92% 10%, rgba(100, 189, 247, .18), transparent 34%),
    linear-gradient(145deg, #123451, #081d2f 72%) !important;
  box-shadow: var(--mye-rc2-shadow) !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .myeclass-cp2a-home-copy h1,
  .myeclass-cp2a-orientation h1,
  .myeclass-cp2c-hero h1,
  .myeclass-cp2c-detail-hero h1,
  .myeclass-cp3a-hero h1,
  .myeclass-cp3b-hero h1,
  .myeclass-cp4-hero h1,
  .myeclass-cp4-cycle-hero h2,
  .myeclass-cp5-hero h1
) {
  font-size: clamp(1.65rem, 3.5vw, 2.45rem) !important;
  line-height: 1.1 !important;
}

/* One control language across legacy, shared and route-specific components. */
body.myeclass-product-rc2 .myeclass-main :where(
  .button,
  .mye-button,
  .mye-phase2-button,
  .myeclass-cp3b-button,
  .myeclass-cp4-button,
  .myeclass-admin-ref-button-v2-9-544
) {
  gap: var(--mye-rc2-space-2) !important;
  min-height: var(--mye-rc2-control-height) !important;
  padding: .68rem .95rem !important;
  border-radius: var(--mye-rc2-radius-sm) !important;
  font-size: .875rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center;
  text-decoration: none !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .button:not(.primary):not(.danger),
  .mye-button.is-secondary,
  .mye-phase2-button.is-secondary,
  .myeclass-cp3b-button.is-secondary,
  .myeclass-cp4-button.is-secondary,
  .myeclass-admin-ref-button-v2-9-544.ghost
) {
  border-color: var(--mye-rc2-border-strong) !important;
  background: var(--mye-rc2-surface-soft) !important;
  color: var(--mye-rc2-text) !important;
  box-shadow: none !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .button.primary,
  .mye-button.is-primary,
  .mye-phase2-button.is-primary,
  .myeclass-cp3b-button.is-primary,
  .myeclass-cp4-button.is-primary,
  .myeclass-admin-ref-button-v2-9-544.primary
) {
  border-color: #8ad5ff !important;
  background: linear-gradient(180deg, var(--mye-rc2-primary), var(--mye-rc2-primary-strong)) !important;
  color: var(--mye-rc2-primary-text) !important;
  box-shadow: 0 10px 24px rgba(41, 151, 223, .22) !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .button.danger,
  .mye-button.is-danger,
  .mye-phase2-button.is-danger,
  .myeclass-cp3b-button.is-danger,
  .myeclass-cp4-button.is-danger,
  .myeclass-admin-ref-button-v2-9-544.danger
) {
  border-color: rgba(255, 155, 166, .62) !important;
  background: #351925 !important;
  color: #ffd8df !important;
  box-shadow: none !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .mye-button.is-quiet,
  .mye-phase2-button.is-quiet,
  .myeclass-cp3b-button.is-quiet,
  .myeclass-cp4-button.is-quiet
) {
  border-color: transparent !important;
  background: transparent !important;
  color: var(--mye-rc2-primary) !important;
  box-shadow: none !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .button,
  .mye-button,
  .mye-phase2-button,
  .myeclass-cp3b-button,
  .myeclass-cp4-button,
  .myeclass-admin-ref-button-v2-9-544
):hover {
  border-color: var(--mye-rc2-primary) !important;
  filter: brightness(1.06);
}

body.myeclass-product-rc2 .myeclass-main :where(
  button,
  .button,
  .mye-button,
  .mye-phase2-button,
  input,
  select,
  textarea,
  summary,
  a
):focus-visible {
  outline: 3px solid var(--mye-rc2-focus) !important;
  outline-offset: 3px !important;
}

/* Stable status meanings. Neutral stays blue; success, attention and danger never swap. */
body.myeclass-product-rc2 .myeclass-main :where(
  .badge,
  .pill,
  .status-pill,
  .mye-badge,
  .mye-phase2-status,
  .mye-learning-status,
  .myeclass-cp2a-status,
  .myeclass-cp3a-state
) {
  min-height: 26px;
  padding: .3rem .6rem;
  border: 1px solid rgba(115, 200, 251, .42) !important;
  border-radius: var(--mye-rc2-radius-pill) !important;
  background: rgba(16, 61, 103, .72) !important;
  color: #d8efff !important;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.15;
}

body.myeclass-product-rc2 .myeclass-main :where(.badge, .pill, .status-pill, .mye-badge, .mye-phase2-status, .mye-learning-status, .myeclass-cp2a-status, .myeclass-cp3a-state):where(.is-success, .is-ready, .is-approved, .is-published, .is-released, .is-complete, .is-completed) {
  border-color: rgba(85, 214, 166, .56) !important;
  background: rgba(18, 76, 57, .72) !important;
  color: #c8ffdf !important;
}

body.myeclass-product-rc2 .myeclass-main :where(.badge, .pill, .status-pill, .mye-badge, .mye-phase2-status, .mye-learning-status, .myeclass-cp2a-status, .myeclass-cp3a-state):where(.is-warning, .is-pending, .is-attention, .is-draft, .is-needs-review) {
  border-color: rgba(244, 201, 107, .58) !important;
  background: rgba(79, 54, 16, .76) !important;
  color: #fde9b0 !important;
}

body.myeclass-product-rc2 .myeclass-main :where(.badge, .pill, .status-pill, .mye-badge, .mye-phase2-status, .mye-learning-status, .myeclass-cp2a-status, .myeclass-cp3a-state):where(.is-error, .is-danger, .is-blocked) {
  border-color: rgba(255, 155, 166, .58) !important;
  background: rgba(74, 28, 39, .78) !important;
  color: #ffd8df !important;
}

body.myeclass-product-rc2 .myeclass-main :where(.badge, .pill, .status-pill, .mye-badge, .mye-phase2-status, .mye-learning-status, .myeclass-cp2a-status, .myeclass-cp3a-state):where(.is-locked, .is-closed),
body.myeclass-product-rc2 .myeclass-main :where(button, .button, .mye-button, .mye-phase2-button, input, select, textarea)[aria-disabled="true"],
body.myeclass-product-rc2 .myeclass-main :where(button, input, select, textarea):disabled {
  border-color: rgba(169, 191, 212, .35) !important;
  color: #c6d3df !important;
}

/* Forms use the same label, help, control and validation language. */
body.myeclass-product-rc2 .myeclass-main :where(label, legend) {
  color: var(--mye-rc2-text);
}

body.myeclass-product-rc2 .myeclass-main :where(label > span:first-child, .mye-field-label) {
  font-size: .78rem;
  font-weight: 800;
}

body.myeclass-product-rc2 .myeclass-main :where(label small, .help, .field-help, .mye-field-help) {
  color: var(--mye-rc2-muted) !important;
  font-size: .78rem;
}

body.myeclass-product-rc2 .myeclass-main :where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea
) {
  min-height: var(--mye-rc2-control-height) !important;
  border: 1px solid var(--mye-rc2-border-strong) !important;
  border-radius: var(--mye-rc2-radius-sm) !important;
  background: var(--mye-rc2-surface-deep) !important;
  color: var(--mye-rc2-text) !important;
  box-shadow: none !important;
}

body.myeclass-product-rc2 .myeclass-main :where(input, textarea)::placeholder {
  color: var(--mye-rc2-subtle) !important;
  opacity: 1;
}

/* Tabs, steppers and tables keep predictable density. */
body.myeclass-product-rc2 .myeclass-main :where(
  .tabs,
  .mye-learning-tabs,
  .myeclass-cp5-learning-nav,
  .myeclass-ux2-submission-tabs
) {
  gap: var(--mye-rc2-space-2);
}

body.myeclass-product-rc2 .myeclass-main :where(
  .tab,
  .mye-learning-tabs a,
  .myeclass-cp5-learning-nav > a,
  .myeclass-ux2-submission-tabs a
) {
  min-height: var(--mye-rc2-control-height);
  border-radius: var(--mye-rc2-radius-sm) !important;
}

body.myeclass-product-rc2 .myeclass-main :where(
  .tab.active,
  .mye-learning-tabs a[aria-current="page"],
  .myeclass-cp5-learning-nav > a[aria-current="page"],
  .myeclass-ux2-submission-tabs a.is-active
) {
  border-color: var(--mye-rc2-primary) !important;
}

body.myeclass-product-rc2 .myeclass-main table {
  border-color: var(--mye-rc2-border-soft);
}

body.myeclass-product-rc2 .myeclass-main :where(th, td) {
  padding: .72rem .8rem;
  border-bottom-color: var(--mye-rc2-border-soft) !important;
}

body.myeclass-product-rc2 .myeclass-main th {
  color: var(--mye-rc2-muted) !important;
  font-size: .76rem;
  letter-spacing: .035em;
}

@media (max-width: 760px) {
  body.myeclass-product-rc2 .myeclass-main :where(
    .myeclass-cp2a-home-hero,
    .myeclass-cp2c-hero,
    .myeclass-cp2c-detail-hero,
    .myeclass-cp3a-hero,
    .myeclass-cp3b-hero,
    .myeclass-cp4-hero,
    .myeclass-cp4-cycle-hero,
    .myeclass-cp5-hero
  ) {
    border-radius: var(--mye-rc2-radius-md) !important;
  }

  body.myeclass-product-rc2 .myeclass-main :where(
    .myeclass-cp2a-home,
    .myeclass-cp2c,
    .myeclass-cp3a,
    .myeclass-cp3b,
    .myeclass-cp4,
    .myeclass-cp5
  ) {
    gap: var(--mye-rc2-space-3);
  }

  body.myeclass-product-rc2 .myeclass-main :where(th, td) {
    padding: .65rem .7rem;
  }
}

@media (forced-colors: active) {
  body.myeclass-product-rc2 .myeclass-main :where(
    .card,
    .panel,
    .mye-panel,
    .mye-phase2-section,
    .button,
    .mye-button,
    .mye-phase2-button,
    input,
    select,
    textarea
  ) {
    border: 1px solid CanvasText !important;
  }
}

/* UI-C2 — the same lightweight orientation pattern on every product role. */
body.myeclass-product-rc2 .myeclass-rc2-guide {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(280px, 1.5fr) minmax(180px, .8fr);
  align-items: stretch;
  gap: 1px;
  width: min(100%, var(--mye-rc2-content-max));
  min-width: 0;
  margin: 0 auto var(--mye-rc2-space-4);
  overflow: hidden;
  border: 1px solid var(--mye-rc2-border-soft);
  border-radius: var(--mye-rc2-radius-md);
  background: var(--mye-rc2-border-soft);
  color: var(--mye-rc2-text);
}

body.myeclass-product-rc2 .myeclass-rc2-guide > div,
body.myeclass-product-rc2 .myeclass-rc2-guide > details {
  min-width: 0;
  margin: 0;
  padding: .78rem .9rem;
  background: rgba(7, 24, 40, .96);
}

body.myeclass-product-rc2 .myeclass-rc2-guide > div {
  display: grid;
  align-content: center;
  gap: .18rem;
}

body.myeclass-product-rc2 .myeclass-rc2-guide span {
  color: var(--mye-rc2-info);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.myeclass-product-rc2 .myeclass-rc2-guide strong {
  color: var(--mye-rc2-text);
  font-size: .82rem;
  font-weight: 760;
  line-height: 1.38;
  overflow-wrap: anywhere;
}

body.myeclass-product-rc2 .myeclass-rc2-guide > details {
  display: grid;
  align-content: center;
}

body.myeclass-product-rc2 .myeclass-rc2-guide summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  min-height: 44px;
  color: var(--mye-rc2-primary);
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
}

body.myeclass-product-rc2 .myeclass-rc2-guide summary::after {
  content: "+";
  font-size: 1rem;
}

body.myeclass-product-rc2 .myeclass-rc2-guide details[open] summary::after { content: "−"; }
body.myeclass-product-rc2 .myeclass-rc2-guide p {
  margin: .35rem 0 0;
  color: var(--mye-rc2-muted);
  font-size: .8rem;
  line-height: 1.48;
}

/* Technical identity stays available, but outside the novice's main path. */
body.myeclass-product-rc2 .myeclass-rc2-advanced {
  margin-top: var(--mye-rc2-space-3);
  padding: .2rem .85rem;
  border: 1px dashed var(--mye-rc2-border);
  border-radius: var(--mye-rc2-radius-md);
  background: rgba(6, 21, 34, .62);
}

body.myeclass-product-rc2 .myeclass-rc2-advanced > summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: var(--mye-rc2-muted);
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
}

body.myeclass-product-rc2 .myeclass-rc2-advanced dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--mye-rc2-space-2);
  margin: 0 0 .8rem;
}

body.myeclass-product-rc2 .myeclass-rc2-advanced dl > div {
  min-width: 0;
  padding: .7rem;
  border: 1px solid var(--mye-rc2-border-soft);
  border-radius: var(--mye-rc2-radius-sm);
  background: var(--mye-rc2-surface-deep);
}

body.myeclass-product-rc2 .myeclass-rc2-advanced dt {
  color: var(--mye-rc2-subtle);
  font-size: .7rem;
  font-weight: 800;
}

body.myeclass-product-rc2 .myeclass-rc2-advanced dd {
  margin: .2rem 0 0;
  color: var(--mye-rc2-text);
  font-size: .8rem;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  body.myeclass-product-rc2 .myeclass-rc2-guide {
    grid-template-columns: minmax(150px, .7fr) minmax(260px, 1.3fr);
  }

  body.myeclass-product-rc2 .myeclass-rc2-guide > details { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  body.myeclass-product-rc2 .myeclass-rc2-guide { grid-template-columns: 1fr; }
  body.myeclass-product-rc2 .myeclass-rc2-guide > details { grid-column: auto; }
  body.myeclass-product-rc2 .myeclass-rc2-advanced dl { grid-template-columns: 1fr; }
}

@media (forced-colors: active) {
  body.myeclass-product-rc2 .myeclass-rc2-guide,
  body.myeclass-product-rc2 .myeclass-rc2-advanced { border: 1px solid CanvasText; }
}

/* UI-C3 — responsive and accessibility hardening for the real CP7 surfaces. */
body.myeclass-product-rc2 .myeclass-main,
body.myeclass-product-rc2 .myeclass-main > *,
body.myeclass-product-rc2 .myeclass-main :where(section, article, aside, nav, form, fieldset, details) {
  min-width: 0;
}

body.myeclass-product-rc2 .myeclass-main :where(button, .button, .mye-button, .mye-phase2-button) {
  max-width: 100%;
  white-space: normal;
}

body.myeclass-product-rc2 .myeclass-main :where(label, legend, summary, a, button, code, pre) {
  overflow-wrap: anywhere;
}

body.myeclass-product-rc2 .myeclass-main :where(iframe, object, embed) {
  max-width: 100%;
}

body.myeclass-product-rc2 .myeclass-cp6-table-region,
body.myeclass-product-rc2 [data-rc2-table-region] {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

body.myeclass-product-rc2 .myeclass-cp6-table-region:focus-visible,
body.myeclass-product-rc2 [data-rc2-table-region]:focus-visible,
body.myeclass-product-rc2 .myeclass-main:focus-visible {
  outline: 3px solid var(--mye-rc2-focus) !important;
  outline-offset: 3px !important;
}

body.myeclass-product-rc2 dialog {
  max-inline-size: calc(100vw - 2rem);
  max-block-size: calc(100dvh - 2rem);
  overscroll-behavior: contain;
}

body.myeclass-product-rc2 dialog::backdrop {
  background: rgba(1, 8, 14, .76);
}

body.myeclass-product-rc2 dialog :where(
  form[method="dialog"] button,
  [data-myeclass-assignment-custom-close],
  [data-myeclass-assignment-dialog-close],
  [data-myeclass-assignment-publish-close],
  [data-mye-lightbox-close],
  [data-mye-close-page-map]
) {
  min-width: 44px;
  min-height: 44px !important;
}

body.myeclass-product-rc2 .myeclass-rc2-guide summary,
body.myeclass-product-rc2 .myeclass-rc2-advanced > summary {
  list-style: none;
}

body.myeclass-product-rc2 .myeclass-rc2-guide summary::-webkit-details-marker,
body.myeclass-product-rc2 .myeclass-rc2-advanced > summary::-webkit-details-marker {
  display: none;
}

body.myeclass-product-rc2 input[type="file"] {
  min-width: 0;
  overflow: hidden;
}

body.myeclass-product-rc2 input[type="file"]::file-selector-button {
  min-height: 40px;
  margin-inline-end: .65rem;
  border: 1px solid var(--mye-rc2-border-strong);
  border-radius: var(--mye-rc2-radius-sm);
  background: var(--mye-rc2-surface-soft);
  color: var(--mye-rc2-text);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

@media (max-width: 1180px) {
  body.myeclass-product-rc2 .myeclass-ux1-decision-column {
    position: static !important;
    top: auto !important;
  }

  body.myeclass-product-rc2 .myeclass-ux1-main-grid,
  body.myeclass-product-rc2 .myeclass-ux1-summary-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  body.myeclass-product-rc2 dialog {
    max-inline-size: calc(100vw - 1.5rem);
    max-block-size: calc(100dvh - 1.5rem);
  }

  body.myeclass-product-rc2 .myeclass-assignment-editor-flow-v2-9-595 {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }
}

@media (max-width: 760px) {
  body.myeclass-product-rc2 .myeclass-main {
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
    padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
  }

  body.myeclass-product-rc2 dialog {
    max-inline-size: calc(100vw - 1rem);
    max-block-size: calc(100dvh - 1rem);
  }

  body.myeclass-product-rc2 .myeclass-ux1-flow-step :where(b, small),
  body.myeclass-product-rc2 .myeclass-ux2-simple-list :where(b, small) {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  body.myeclass-product-rc2 .myeclass-ux1b-dialog-close button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px !important;
  }

  body.myeclass-product-rc2 .myeclass-lightbox-toolbar-v2-9-520 {
    display: grid;
    gap: .6rem;
  }

  body.myeclass-product-rc2 .myeclass-lightbox-toolbar-v2-9-520 > span {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
  }

  body.myeclass-product-rc2 input[type="file"]::file-selector-button {
    min-height: 44px;
  }
}

@media (max-width: 480px) {
  body.myeclass-product-rc2 .myeclass-rc2-guide > div,
  body.myeclass-product-rc2 .myeclass-rc2-guide > details {
    padding: .7rem .75rem;
  }

  body.myeclass-product-rc2 .myeclass-ux1-ai-proposal,
  body.myeclass-product-rc2 .myeclass-ux1-teacher-decision,
  body.myeclass-product-rc2 .myeclass-ux1-publication-stage.is-locked {
    padding: .85rem !important;
  }
}

@media (pointer: coarse) {
  body.myeclass-product-rc2 .myeclass-main :where(button, .button, .mye-button, .mye-phase2-button, summary) {
    min-height: 48px !important;
  }
}

@media (prefers-contrast: more) {
  body.myeclass-product-rc2 {
    --mye-rc2-border-soft: #58728c;
    --mye-rc2-border: #7189a1;
    --mye-rc2-muted: #c2d1de;
  }

  body.myeclass-product-rc2 .myeclass-main a:not(.button):not(.mye-button):not(.mye-phase2-button) {
    text-decoration: underline;
    text-decoration-thickness: .12em;
    text-underline-offset: .2em;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.myeclass-product-rc2 dialog::backdrop {
    backdrop-filter: none !important;
  }
}

@media (forced-colors: active) {
  body.myeclass-product-rc2 .myeclass-cp6-table-region,
  body.myeclass-product-rc2 [data-rc2-table-region],
  body.myeclass-product-rc2 dialog,
  body.myeclass-product-rc2 input[type="file"]::file-selector-button {
    border: 1px solid CanvasText !important;
  }
}
