/* rostra-theme-roles.css
   The only main-app stylesheet permitted [data-rostra-theme] selectors.
   Visual roles only (color/border/radius/shadow/focus/motion) — never layout.
   Enforced by scripts/theme-boundary-check.mjs. Loaded after the app layers. */

:root[data-rostra-theme="academic"] {
  color-scheme: light;

  --rostra-canvas: #ffffff;
  --rostra-surface: #f5f5f5;
  --rostra-surface-raised: #ffffff;
  --rostra-surface-inset: #f8f9fa;
  --rostra-surface-control: #ffffff;
  --rostra-surface-selected: #f3f4f6;
  --rostra-text-primary: #111111;
  --rostra-text-secondary: #374151;
  --rostra-text-muted: #6b7280;
  --rostra-border: #e5e7eb;
  --rostra-border-strong: #d1d5db;
  --rostra-accent: #111111;
  --rostra-accent-muted: #f3f4f6;
  --rostra-success: #10b981;
  --rostra-warning: #f59e0b;
  --rostra-danger: #ef4444;
  --rostra-focus: #2563eb;
  --rostra-radius-xs: 4px;
  --rostra-radius-sm: 6px;
  --rostra-radius-md: 8px;
  --rostra-radius-lg: 12px;
  --rostra-radius-xl: 16px;
  --rostra-shadow-xs: 0 1px 2px rgba(17, 17, 17, 0.05);
  --rostra-shadow-sm: 0 4px 12px rgba(17, 17, 17, 0.08);
  --rostra-shadow-md: 0 12px 28px rgba(17, 17, 17, 0.10);
  --inset-highlight: inset 0 1px rgba(255, 255, 255, 0.78);
  --control-shadow: var(--inset-highlight), var(--rostra-shadow-xs);
  --control-shadow-active: inset 0 1px 2px rgba(31, 41, 51, 0.14);
  --module-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0));
  --module-shadow: var(--inset-highlight), var(--shadow-sm);
}

:root[data-rostra-theme="broadcast"] {
  color-scheme: dark;

  --rostra-canvas: #030507;
  --rostra-surface: #0b0f14;
  --rostra-surface-raised: #11161d;
  --rostra-surface-inset: #070a0f;
  --rostra-surface-control: #151b23;
  --rostra-surface-selected: #121a26;
  --rostra-text-primary: #ffffff;
  --rostra-text-secondary: #c7ced8;
  --rostra-text-muted: #87919f;
  --rostra-border: #242a33;
  --rostra-border-strong: #38414d;
  --rostra-accent: #f4f7fb;
  --rostra-accent-muted: #18202a;
  --rostra-success: #42c67a;
  --rostra-warning: #f2b84b;
  --rostra-danger: #ff6b5f;
  --rostra-focus: #6da8ff;
  --rostra-radius-xs: 2px;
  --rostra-radius-sm: 4px;
  --rostra-radius-md: 6px;
  --rostra-radius-lg: 6px;
  --rostra-radius-xl: 6px;
  --rostra-shadow-xs: none;
  --rostra-shadow-sm: none;
  --rostra-shadow-md: 0 0 0 1px rgba(255, 255, 255, 0.03);
  --inset-highlight: none;
  --control-shadow: none;
  --control-shadow-active: inset 0 1px 2px rgba(0, 0, 0, 0.48);
  --module-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.018), rgba(255, 255, 255, 0));
  --module-shadow: none;
}

:root[data-rostra-theme="academic"] .primary-button,
:root[data-rostra-theme="academic"] .go-live-button,
:root[data-rostra-theme="academic"] .cloud-auth-form > .primary-button,
:root[data-rostra-theme="academic"] .cloud-beta-actions .primary-button {
  color: var(--rostra-surface);
}

:root[data-rostra-theme="academic"] .app-modal-backdrop {
  background: color-mix(in srgb, var(--rostra-text-primary) 28%, transparent);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) {
  --course-card-bg: var(--rostra-surface);
  --course-card-ink: var(--ink);
  --course-card-muted: var(--ink-muted);
  --course-card-line: var(--rostra-border);
  --course-card-shadow: var(--rostra-shadow-sm);
  background:
    radial-gradient(circle at 16% 10%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 32rem),
    linear-gradient(180deg, var(--rostra-surface-inset), var(--rostra-canvas));
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .left-rail {
  background: color-mix(in srgb, var(--rostra-focus) 20%, var(--rostra-surface-control));
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-card-menu-panel {
  box-shadow: var(--rostra-shadow-md);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row:hover {
  box-shadow: var(--rostra-shadow-sm);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row .project-card-main h2 {
  color: color-mix(in srgb, var(--course-accent-2) 72%, var(--ink));
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row .file-actions .primary-button {
  color: color-mix(in srgb, var(--course-accent-2) 78%, var(--ink));
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card:hover {
  box-shadow: var(--rostra-shadow-sm);
}

:root[data-rostra-theme="broadcast"] body {
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--accent) 9%, transparent), transparent 24rem),
    linear-gradient(180deg, color-mix(in srgb, var(--rostra-canvas) 82%, black) 0%, var(--rostra-canvas) 100%);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card {
  background: color-mix(in srgb, var(--rostra-surface) 92%, var(--rostra-canvas));
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card {
  background: var(--rostra-surface);
}

/* Academic buildout: Cal.com-inspired discipline without borrowing Cal branding. */
:root[data-rostra-theme="academic"] body,
:root[data-rostra-theme="academic"] body.screen-account-settings,
:root[data-rostra-theme="academic"] body.screen-activity-studio {
  background: var(--rostra-canvas);
}

:root[data-rostra-theme="academic"] .activity-kicker,
:root[data-rostra-theme="academic"] .setup-option-label,
:root[data-rostra-theme="academic"] .session-list-title,
:root[data-rostra-theme="academic"] .class-stat-card span,
:root[data-rostra-theme="academic"] .report-activity-card span,
:root[data-rostra-theme="academic"] .report-activity-card small,
:root[data-rostra-theme="academic"] .report-export-grid legend,
:root[data-rostra-theme="academic"] .cloud-auth-field span,
:root[data-rostra-theme="academic"] .settings-field span,
:root[data-rostra-theme="academic"] .compact-date-control span,
:root[data-rostra-theme="academic"] .stage-card-label {
  color: var(--rostra-text-muted);
  font-family: var(--rostra-font-sans);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

:root[data-rostra-theme="academic"] .primary-button,
:root[data-rostra-theme="academic"] .go-live-button,
:root[data-rostra-theme="academic"] .cloud-auth-form > .primary-button,
:root[data-rostra-theme="academic"] .cloud-beta-actions .primary-button {
  border-color: #111111;
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  box-shadow: none;
}

:root[data-rostra-theme="academic"] .primary-button:hover:not(:disabled),
:root[data-rostra-theme="academic"] .go-live-button:hover:not(:disabled) {
  background: #242424;
  border-color: #242424;
  filter: none;
  box-shadow: none;
}

:root[data-rostra-theme="academic"] .secondary-button,
:root[data-rostra-theme="academic"] .cloud-auth-oauth > button,
:root[data-rostra-theme="academic"] .cloud-auth-actions > button,
:root[data-rostra-theme="academic"] .class-settings-button {
  border-color: var(--rostra-border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--rostra-text-primary);
  box-shadow: none;
}

:root[data-rostra-theme="academic"] .secondary-button:hover:not(:disabled),
:root[data-rostra-theme="academic"] .cloud-auth-oauth > button:hover:not(:disabled),
:root[data-rostra-theme="academic"] .class-settings-button:hover:not(:disabled) {
  border-color: var(--rostra-border-strong);
  background: var(--rostra-surface);
}

:root[data-rostra-theme="academic"] input,
:root[data-rostra-theme="academic"] textarea,
:root[data-rostra-theme="academic"] select,
:root[data-rostra-theme="academic"] .cloud-auth-field input,
:root[data-rostra-theme="academic"] .settings-field input,
:root[data-rostra-theme="academic"] .settings-card textarea,
:root[data-rostra-theme="academic"] .manual-import-card textarea,
:root[data-rostra-theme="academic"] .date-control input,
:root[data-rostra-theme="academic"] .select-option select,
:root[data-rostra-theme="academic"] .report-export-grid input,
:root[data-rostra-theme="academic"] .app-modal input,
:root[data-rostra-theme="academic"] .app-modal textarea,
:root[data-rostra-theme="academic"] .app-modal select {
  border-color: var(--rostra-border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--rostra-text-primary);
  box-shadow: none;
}

:root[data-rostra-theme="academic"] .studio-bar,
:root[data-rostra-theme="academic"] .console-chrome {
  border-color: var(--rostra-border);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1px 2px rgba(17, 17, 17, 0.04);
}

:root[data-rostra-theme="academic"] .left-rail {
  border-color: var(--rostra-border);
  background: #ffffff;
  color: var(--rostra-text-primary);
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .brand-mark {
  border-color: var(--rostra-border);
  background: #111111;
  color: #ffffff;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .nav-button {
  color: var(--rostra-text-muted);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .nav-button:hover,
:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .nav-button.active {
  background: var(--rostra-surface);
  color: var(--rostra-text-primary);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .nav-icon {
  border-color: var(--rostra-border);
  background: #ffffff;
  color: currentColor;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .library-title-block h1 {
  color: #111111;
  font-family: var(--rostra-font-sans);
  font-weight: 650;
  letter-spacing: 0;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .library-section > .section-heading h2 {
  color: #111111;
  font-family: var(--rostra-font-sans);
  font-weight: 650;
  letter-spacing: 0;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row {
  border-color: var(--rostra-border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row:hover {
  border-color: var(--rostra-border-strong);
  box-shadow: 0 1px 2px rgba(17, 17, 17, 0.05);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row .project-card-main h2 {
  color: var(--rostra-text-primary);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row .file-actions .primary-button {
  border-color: #111111;
  background: #111111;
  color: #ffffff;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card {
  --activity-a: #6b7280;
  --activity-b: #f3f4f6;
  --activity-c: #111111;
  border-color: var(--rostra-border);
  border-radius: 12px;
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card[data-activity-id="wins"] {
  --activity-a: #0f766e;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card[data-activity-id="discussion"] {
  --activity-a: #4f46e5;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card[data-activity-id="thinkFast"] {
  --activity-a: #2563eb;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card[data-activity-id="neverMet"] {
  --activity-a: #7c3aed;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card[data-activity-id="takeaways"] {
  --activity-a: #059669;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card[data-activity-id="extraCredit"] {
  --activity-a: #dc2626;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card[data-activity-id="presentations"] {
  --activity-a: #111827;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card:hover {
  border-color: var(--rostra-border-strong);
  box-shadow: 0 1px 2px rgba(17, 17, 17, 0.05);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-art {
  border-bottom: 1px solid var(--rostra-border);
  background:
    radial-gradient(circle at 76% 30%, color-mix(in srgb, var(--activity-a) 14%, transparent) 0 18%, transparent 19%),
    linear-gradient(90deg, color-mix(in srgb, var(--activity-a) 64%, transparent) 0 4px, transparent 4px),
    linear-gradient(90deg, #ffffff 0 34%, transparent 34%),
    repeating-linear-gradient(0deg, transparent 0 13px, color-mix(in srgb, var(--rostra-border) 72%, transparent) 14px 15px),
    var(--rostra-surface-raised);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-art::before {
  border: 1px solid var(--rostra-border);
  border-radius: 8px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--activity-a) 72%, transparent) 0 26%, transparent 26%),
    linear-gradient(180deg, #ffffff, var(--rostra-surface));
  mask-image: none;
  opacity: 1;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-art::after {
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--activity-a) 18%, var(--rostra-surface));
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-glyph {
  border-color: var(--rostra-border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--activity-a);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-status {
  color: var(--rostra-text-muted);
  font-size: 0.72rem;
  font-weight: 600;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card-main h3 {
  color: #111111;
  font-size: 1rem;
  font-weight: 650;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-meta {
  color: var(--rostra-text-muted);
  font-size: 0.8rem;
  font-weight: 500;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-actions {
  border-top-color: var(--rostra-border);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .compact-store-scaffold {
  border-color: var(--rostra-border);
  border-radius: 12px;
  background: var(--rostra-surface);
}

:root[data-rostra-theme="academic"] body.screen-class-home .dashboard-launch-panel {
  border-color: var(--rostra-border);
  border-radius: 12px;
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-class-home .class-analytics-disclosure,
:root[data-rostra-theme="academic"] body.screen-class-home .progress-card,
:root[data-rostra-theme="academic"] body.screen-class-home .class-session-panel,
:root[data-rostra-theme="academic"] body.screen-class-home .session-file-row {
  border-color: var(--rostra-border);
  border-radius: 12px;
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="academic"] .account-settings-header {
  border-bottom-color: var(--rostra-border);
  background: #ffffff;
}

:root[data-rostra-theme="academic"] .account-settings-nav {
  border-right-color: var(--rostra-border);
  background: var(--rostra-surface);
}

:root[data-rostra-theme="academic"] .account-settings-nav-button {
  border-radius: 8px;
}

:root[data-rostra-theme="academic"] .account-settings-nav-button:hover,
:root[data-rostra-theme="academic"] .account-settings-nav-button.active {
  border-color: var(--rostra-border);
  background: #ffffff;
}

:root[data-rostra-theme="academic"] .account-settings-summary-card,
:root[data-rostra-theme="academic"] .account-settings-card,
:root[data-rostra-theme="academic"] .account-settings-note,
:root[data-rostra-theme="academic"] .account-activity-row,
:root[data-rostra-theme="academic"] .activity-studio-advanced,
:root[data-rostra-theme="academic"] .activity-studio-subsection,
:root[data-rostra-theme="academic"] .account-template-card {
  border-color: var(--rostra-border);
  border-radius: 12px;
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="academic"] .account-settings-summary-card {
  background: #ffffff;
}

:root[data-rostra-theme="academic"] .account-settings-status-label {
  border-color: var(--rostra-border);
  border-radius: 8px;
  background: #ffffff;
}

:root[data-rostra-theme="academic"] body.screen-report .report-panel,
:root[data-rostra-theme="academic"] body.screen-report .report-student-inspector,
:root[data-rostra-theme="academic"] body.screen-report .report-edit-panel {
  border-color: var(--rostra-border);
  border-radius: 12px;
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-report .report-student-table .report-student-row.selected {
  border-color: #111111 !important;
  border-left: 4px solid #111111 !important;
  background: #ffffff !important;
  background-image: none !important;
}

:root[data-rostra-theme="academic"] body.screen-active .roster-drawer,
:root[data-rostra-theme="academic"] body.screen-active .roster-summary-board,
:root[data-rostra-theme="academic"] body.screen-active .roster-operator-sheet {
  border-color: var(--rostra-border);
  background: #ffffff;
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-active .side-panel .roster-row {
  border-color: var(--rostra-border);
  background: var(--rostra-surface);
}

:root[data-rostra-theme="academic"] .app-modal-backdrop {
  background: rgba(17, 17, 17, 0.40);
}

:root[data-rostra-theme="academic"] .app-modal {
  border-color: var(--rostra-border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(17, 17, 17, 0.10);
}

:root[data-rostra-theme="academic"] .app-modal .app-modal-close {
  border-color: var(--rostra-border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--rostra-text-muted);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] body,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading),
:root[data-rostra-theme="broadcast"] body.screen-class-home,
:root[data-rostra-theme="broadcast"] body.screen-account-settings,
:root[data-rostra-theme="broadcast"] body.screen-activity-studio,
:root[data-rostra-theme="broadcast"] body.screen-active {
  background: var(--rostra-canvas);
  color: var(--rostra-text-primary);
}

:root[data-rostra-theme="broadcast"] .main-panel,
:root[data-rostra-theme="broadcast"] .side-panel,
:root[data-rostra-theme="broadcast"] .log-panel,
:root[data-rostra-theme="broadcast"] .library-toolbar,
:root[data-rostra-theme="broadcast"] .cloud-auth-panel,
:root[data-rostra-theme="broadcast"] .cloud-beta-panel,
:root[data-rostra-theme="broadcast"] .roster-import-panel,
:root[data-rostra-theme="broadcast"] .new-session-card,
:root[data-rostra-theme="broadcast"] .progress-card,
:root[data-rostra-theme="broadcast"] .report-panel,
:root[data-rostra-theme="broadcast"] .settings-card,
:root[data-rostra-theme="broadcast"] .settings-stat-card,
:root[data-rostra-theme="broadcast"] .class-file-row,
:root[data-rostra-theme="broadcast"] .session-file-row,
:root[data-rostra-theme="broadcast"] .class-stat-card,
:root[data-rostra-theme="broadcast"] .archive-summary,
:root[data-rostra-theme="broadcast"] .roster-import-card,
:root[data-rostra-theme="broadcast"] .app-modal,
:root[data-rostra-theme="broadcast"] .setup-strip.preflight-strip,
:root[data-rostra-theme="broadcast"] body.screen-active .program-card,
:root[data-rostra-theme="broadcast"] body.screen-active .tf-program-monitor,
:root[data-rostra-theme="broadcast"] body.screen-active .tf-instrument,
:root[data-rostra-theme="broadcast"] body.screen-active .speaker-tracking-card,
:root[data-rostra-theme="broadcast"] body.screen-active .presence-console-card,
:root[data-rostra-theme="broadcast"] body.screen-active .operator-queue,
:root[data-rostra-theme="broadcast"] body.screen-active .discussion-command-row,
:root[data-rostra-theme="broadcast"] body.screen-active .discussion-brief-card,
:root[data-rostra-theme="broadcast"] body.screen-active .timer-card,
:root[data-rostra-theme="broadcast"] body.screen-active .roster-drawer,
:root[data-rostra-theme="broadcast"] body.screen-active .roster-summary-board,
:root[data-rostra-theme="broadcast"] body.screen-active .discussion-grid.operator-table,
:root[data-rostra-theme="broadcast"] body.screen-active .roster-operator-sheet {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-md);
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] .library-toolbar,
:root[data-rostra-theme="broadcast"] .cloud-auth-panel,
:root[data-rostra-theme="broadcast"] .empty-state,
:root[data-rostra-theme="broadcast"] .recovery-state {
  background: var(--rostra-surface);
}

:root[data-rostra-theme="broadcast"] .library-title-block h1,
:root[data-rostra-theme="broadcast"] .cloud-auth-title h1,
:root[data-rostra-theme="broadcast"] .class-home .activity-title h1,
:root[data-rostra-theme="broadcast"] .class-dashboard-title h1,
:root[data-rostra-theme="broadcast"] .account-settings-header h1,
:root[data-rostra-theme="broadcast"] .account-settings-content-panel h2 {
  color: var(--rostra-text-primary);
  font-weight: 760;
}

:root[data-rostra-theme="broadcast"] .activity-kicker,
:root[data-rostra-theme="broadcast"] .setup-option-label,
:root[data-rostra-theme="broadcast"] .session-list-title,
:root[data-rostra-theme="broadcast"] .class-stat-card span,
:root[data-rostra-theme="broadcast"] .report-activity-card span,
:root[data-rostra-theme="broadcast"] .report-activity-card small,
:root[data-rostra-theme="broadcast"] .report-export-grid legend,
:root[data-rostra-theme="broadcast"] .cloud-auth-field span,
:root[data-rostra-theme="broadcast"] .settings-field span,
:root[data-rostra-theme="broadcast"] .compact-date-control span,
:root[data-rostra-theme="broadcast"] .stage-card-label,
:root[data-rostra-theme="broadcast"] .account-settings-summary-card span,
:root[data-rostra-theme="broadcast"] .account-settings-summary-card small,
:root[data-rostra-theme="broadcast"] .account-settings-note span,
:root[data-rostra-theme="broadcast"] .activity-studio-field small,
:root[data-rostra-theme="broadcast"] .activity-studio-locked-field small,
:root[data-rostra-theme="broadcast"] .activity-studio-slot-list small {
  color: var(--rostra-text-muted);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:root[data-rostra-theme="broadcast"] .muted,
:root[data-rostra-theme="broadcast"] .muted-count,
:root[data-rostra-theme="broadcast"] .app-modal-body,
:root[data-rostra-theme="broadcast"] .report-cell-note,
:root[data-rostra-theme="broadcast"] .report-student-select .student-id,
:root[data-rostra-theme="broadcast"] body.screen-active .side-panel .student-id {
  color: var(--rostra-text-muted);
}

:root[data-rostra-theme="broadcast"] .primary-button,
:root[data-rostra-theme="broadcast"] .go-live-button,
:root[data-rostra-theme="broadcast"] .cloud-auth-form > .primary-button,
:root[data-rostra-theme="broadcast"] .cloud-beta-actions .primary-button {
  border-color: var(--rostra-accent);
  border-radius: var(--rostra-radius-sm);
  background: var(--rostra-accent);
  color: var(--rostra-canvas);
  box-shadow: none;
  filter: none;
}

:root[data-rostra-theme="broadcast"] .primary-button:hover:not(:disabled),
:root[data-rostra-theme="broadcast"] .go-live-button:hover:not(:disabled) {
  border-color: #ffffff;
  background: #ffffff;
  box-shadow: none;
  filter: none;
}

:root[data-rostra-theme="broadcast"] .secondary-button,
:root[data-rostra-theme="broadcast"] .cloud-auth-oauth > button,
:root[data-rostra-theme="broadcast"] .cloud-auth-actions > button,
:root[data-rostra-theme="broadcast"] .class-settings-button,
:root[data-rostra-theme="broadcast"] .ghost-button,
:root[data-rostra-theme="broadcast"] .small-button,
:root[data-rostra-theme="broadcast"] .icon-button,
:root[data-rostra-theme="broadcast"] .report-square-action {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-sm);
  background: var(--rostra-surface-control);
  color: var(--rostra-text-secondary);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] .secondary-button:hover:not(:disabled),
:root[data-rostra-theme="broadcast"] .cloud-auth-oauth > button:hover:not(:disabled),
:root[data-rostra-theme="broadcast"] .class-settings-button:hover:not(:disabled),
:root[data-rostra-theme="broadcast"] .ghost-button:hover:not(:disabled),
:root[data-rostra-theme="broadcast"] .small-button:hover:not(:disabled),
:root[data-rostra-theme="broadcast"] .icon-button:hover:not(:disabled) {
  border-color: var(--rostra-border-strong);
  background: var(--rostra-surface-raised);
  color: var(--rostra-text-primary);
}

:root[data-rostra-theme="broadcast"] input,
:root[data-rostra-theme="broadcast"] textarea,
:root[data-rostra-theme="broadcast"] select,
:root[data-rostra-theme="broadcast"] .cloud-auth-field input,
:root[data-rostra-theme="broadcast"] .settings-field input,
:root[data-rostra-theme="broadcast"] .settings-card textarea,
:root[data-rostra-theme="broadcast"] .manual-import-card textarea,
:root[data-rostra-theme="broadcast"] .date-control input,
:root[data-rostra-theme="broadcast"] .select-option select,
:root[data-rostra-theme="broadcast"] .report-export-grid input,
:root[data-rostra-theme="broadcast"] .app-modal input,
:root[data-rostra-theme="broadcast"] .app-modal textarea,
:root[data-rostra-theme="broadcast"] .app-modal select,
:root[data-rostra-theme="broadcast"] .activity-studio-number-control input,
:root[data-rostra-theme="broadcast"] .activity-studio-locked-field input,
:root[data-rostra-theme="broadcast"] .activity-studio-field input[type="text"],
:root[data-rostra-theme="broadcast"] .activity-studio-field select,
:root[data-rostra-theme="broadcast"] .activity-studio-field textarea,
:root[data-rostra-theme="broadcast"] .activity-studio-checkbox-control {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-sm);
  background: var(--rostra-surface-inset);
  color: var(--rostra-text-primary);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .studio-bar,
:root[data-rostra-theme="broadcast"] .studio-bar,
:root[data-rostra-theme="broadcast"] .console-chrome {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-md);
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .left-rail,
:root[data-rostra-theme="broadcast"] .left-rail {
  border-color: var(--rostra-border);
  background: #05080c;
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .brand-mark {
  border-color: var(--rostra-border-strong);
  background:
    linear-gradient(90deg, var(--broadcast-signal-blue) 0 4px, transparent 4px 7px, var(--broadcast-signal-steel) 7px 11px, transparent 11px 14px, var(--broadcast-signal-amber) 14px 18px, transparent 18px),
    var(--rostra-surface-raised);
  color: var(--rostra-text-primary);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .nav-button:hover,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .nav-button.active {
  background: var(--rostra-surface-control);
  color: var(--rostra-text-primary);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .nav-icon {
  border-color: var(--rostra-border);
  background: var(--rostra-surface-inset);
  color: currentColor;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row,
:root[data-rostra-theme="broadcast"] body.screen-class-home .dashboard-launch-panel,
:root[data-rostra-theme="broadcast"] body.screen-class-home .class-analytics-disclosure,
:root[data-rostra-theme="broadcast"] body.screen-class-home .progress-card,
:root[data-rostra-theme="broadcast"] body.screen-class-home .class-session-panel,
:root[data-rostra-theme="broadcast"] body.screen-class-home .session-file-row,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .compact-store-scaffold {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-md);
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .class-file-row:hover,
:root[data-rostra-theme="broadcast"] body.screen-class-home .session-file-row:hover {
  border-color: var(--rostra-border-strong);
  background: var(--rostra-surface-raised);
  transform: none;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-md);
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card[data-creator-type="user"] {
  border-color: color-mix(in srgb, var(--broadcast-signal-amber) 34%, var(--rostra-border));
  background: var(--rostra-surface);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-card:hover {
  border-color: var(--rostra-border-strong);
  background: var(--rostra-surface-raised);
  box-shadow: none;
  transform: none;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-art {
  border-bottom: 1px solid var(--rostra-border);
  background:
    radial-gradient(circle at 78% 36%, color-mix(in srgb, var(--activity-c) 20%, transparent) 0 18%, transparent 19%),
    linear-gradient(135deg, color-mix(in srgb, var(--activity-a) 32%, var(--rostra-surface-raised)), var(--rostra-surface-inset) 54%),
    linear-gradient(90deg, color-mix(in srgb, var(--activity-a) 44%, transparent) 0 33%, color-mix(in srgb, var(--activity-b) 34%, transparent) 33% 66%, color-mix(in srgb, var(--activity-c) 34%, transparent) 66%);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-art::before {
  display: block;
  opacity: 0.24;
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-art::after {
  border: 0;
  border-radius: 999px;
  background:
    conic-gradient(from 180deg, color-mix(in srgb, var(--activity-a) 54%, transparent), color-mix(in srgb, var(--activity-c) 34%, transparent), transparent 64%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rostra-text-primary) 18%, transparent);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-glyph {
  border-color: var(--rostra-border-strong);
  border-radius: var(--rostra-radius-sm);
  background: color-mix(in srgb, var(--rostra-surface-inset) 76%, transparent);
  color: var(--rostra-text-primary);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rostra-text-primary) 12%, transparent);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-status,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-meta,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-details {
  color: var(--rostra-text-muted);
}

:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .dashboard-activity-actions {
  border-top-color: var(--rostra-border);
}

:root[data-rostra-theme="broadcast"] .account-settings-header,
:root[data-rostra-theme="broadcast"] .account-settings-nav,
:root[data-rostra-theme="broadcast"] .account-settings-summary-card,
:root[data-rostra-theme="broadcast"] .account-settings-card,
:root[data-rostra-theme="broadcast"] .account-settings-note,
:root[data-rostra-theme="broadcast"] .account-activity-row,
:root[data-rostra-theme="broadcast"] .activity-studio-advanced,
:root[data-rostra-theme="broadcast"] .activity-studio-subsection,
:root[data-rostra-theme="broadcast"] .account-template-card,
:root[data-rostra-theme="broadcast"] .activity-studio-field,
:root[data-rostra-theme="broadcast"] .activity-studio-locked-field,
:root[data-rostra-theme="broadcast"] .activity-studio-slot-list span,
:root[data-rostra-theme="broadcast"] .activity-studio-prompt-preview {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-md);
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] .account-settings-header {
  border-radius: 0;
  background: #05080c;
}

:root[data-rostra-theme="broadcast"] .account-settings-nav {
  border-radius: 0;
  background: var(--rostra-surface-inset);
}

:root[data-rostra-theme="broadcast"] .account-settings-nav-button {
  border-radius: var(--rostra-radius-sm);
}

:root[data-rostra-theme="broadcast"] .account-settings-nav-button:hover,
:root[data-rostra-theme="broadcast"] .account-settings-nav-button.active {
  border-color: var(--rostra-border-strong);
  background: var(--rostra-surface-control);
  color: var(--rostra-text-primary);
}

:root[data-rostra-theme="broadcast"] .account-settings-status-label {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-sm);
  background: var(--rostra-surface-inset);
}

:root[data-rostra-theme="broadcast"] body.screen-report .report-panel,
:root[data-rostra-theme="broadcast"] body.screen-report .report-student-inspector,
:root[data-rostra-theme="broadcast"] body.screen-report .report-edit-panel,
:root[data-rostra-theme="broadcast"] body.screen-report .report-inspector-corrections .report-score-editor-group {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-md);
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] body.screen-report .report-student-table .table-header,
:root[data-rostra-theme="broadcast"] .discussion-grid.operator-table .table-header,
:root[data-rostra-theme="broadcast"] .roster-operator-sheet .table-header {
  border-bottom-color: var(--rostra-border);
  background: transparent;
  color: var(--rostra-text-muted);
}

:root[data-rostra-theme="broadcast"] body.screen-report .report-student-table .report-student-row:not(.selected),
:root[data-rostra-theme="broadcast"] body.screen-report .session-score-table .report-student-row:not(.selected) {
  border-color: var(--rostra-border) !important;
  background: var(--rostra-surface-inset) !important;
  box-shadow: none !important;
}

:root[data-rostra-theme="broadcast"] body.screen-report .report-student-table .report-student-row.selected {
  border-color: var(--rostra-focus) !important;
  border-left: 4px solid var(--rostra-focus) !important;
  background: var(--rostra-surface-control) !important;
  background-image: none !important;
}

:root[data-rostra-theme="broadcast"] body.screen-active .session-ticker,
:root[data-rostra-theme="broadcast"] body.screen-active .side-panel .roster-row,
:root[data-rostra-theme="broadcast"] body.screen-active .roster-summary-meter,
:root[data-rostra-theme="broadcast"] body.screen-active .roster-filter-banner,
:root[data-rostra-theme="broadcast"] .screen-active .rating-button.active,
:root[data-rostra-theme="broadcast"] .screen-active .participation-toggle.active,
:root[data-rostra-theme="broadcast"] .screen-active .small-button.active,
:root[data-rostra-theme="broadcast"] .screen-active .presence-current.set {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-sm);
  background: var(--rostra-surface-inset);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] .screen-active .rating-button.active,
:root[data-rostra-theme="broadcast"] .screen-active .presence-current.set {
  border-color: color-mix(in srgb, var(--rostra-success) 78%, var(--rostra-border-strong));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--rostra-success) 28%, transparent), transparent),
    color-mix(in srgb, var(--rostra-success) 20%, var(--rostra-surface-control));
  color: var(--rostra-text-primary);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--rostra-success) 46%, transparent),
    0 0 0 2px color-mix(in srgb, var(--rostra-success) 16%, transparent);
}

:root[data-rostra-theme="broadcast"] body.screen-active .side-panel .roster-row:hover {
  border-color: var(--rostra-border-strong);
  background: var(--rostra-surface-control);
}

:root[data-rostra-theme="broadcast"] body.screen-active .side-panel .student-name {
  color: var(--rostra-text-primary);
}

:root[data-rostra-theme="broadcast"] .session-file-row::before,
:root[data-rostra-theme="broadcast"] .progress-card::before,
:root[data-rostra-theme="broadcast"] .class-stat-card::before,
:root[data-rostra-theme="broadcast"] .report-activity-card::before {
  border-radius: 0;
  background: var(--rostra-border-strong);
  box-shadow: none;
  opacity: 1;
}

:root[data-rostra-theme="broadcast"] .app-modal-backdrop {
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: none;
}

:root[data-rostra-theme="broadcast"] .app-modal {
  border-color: var(--rostra-border-strong);
  border-radius: var(--rostra-radius-md);
  background: var(--rostra-surface);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] .app-modal .app-modal-close {
  border-color: var(--rostra-border);
  border-radius: var(--rostra-radius-sm);
  background: var(--rostra-surface-control);
  color: var(--rostra-text-secondary);
  box-shadow: none;
}

:root[data-rostra-theme="broadcast"] body.screen-active .rating-button.active,
:root[data-rostra-theme="broadcast"] body.screen-active .presence-current.set {
  border-color: color-mix(in srgb, var(--rostra-success) 82%, var(--rostra-border-strong)) !important;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--rostra-success) 34%, transparent), transparent),
    color-mix(in srgb, var(--rostra-success) 24%, var(--rostra-surface-control)) !important;
  color: var(--rostra-text-primary) !important;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--rostra-success) 52%, transparent),
    0 0 0 2px color-mix(in srgb, var(--rostra-success) 18%, transparent) !important;
}

:root[data-rostra-theme="broadcast"] body.screen-active .rating-button.active:is(.rating-awesome, .rating-great, .rating-good, .rating-okay, .rating-not-okay, .rating-bad) {
  border-color: color-mix(in srgb, var(--rating-accent) 82%, var(--rostra-border-strong)) !important;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--rating-accent) 34%, transparent), transparent),
    color-mix(in srgb, var(--rating-accent) 24%, var(--rostra-surface-control)) !important;
  color: var(--rostra-text-primary) !important;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--rating-accent) 52%, transparent),
    0 0 0 2px color-mix(in srgb, var(--rating-accent) 18%, transparent) !important;
}

/* Relocated from the app layer (Phase 4 base merge) so [data-rostra-theme]
   selectors live only in this file. Cascade preserved: this file loads last
   and these carry !important / token-scope. */
:root[data-rostra-theme="broadcast"] body.screen-cloud-auth .main-panel,
:root[data-rostra-theme="broadcast"] body.screen-cloud-loading .main-panel,
:root[data-rostra-theme="academic"] body.screen-cloud-auth .main-panel,
:root[data-rostra-theme="academic"] body.screen-cloud-loading .main-panel {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

:root[data-rostra-theme="broadcast"] {
  --broadcast-signal-blue: #5f9dff;
  --broadcast-signal-steel: #dce3ec;
  --broadcast-signal-amber: #f2b84b;
  --accent-warm: var(--broadcast-signal-amber);
  --line-hot: var(--rostra-border-strong);
  --shadow-glass: none;
  --shadow-soft: none;
  --module-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent);
  --module-shadow: none;
}

/* Installed activity dashboard entries use the app-tile geometry from
   rostra-app.css; themes only paint the single square icon plate. */
:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-card,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-card,
:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-card:hover,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-card:hover {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-art,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-art {
  border: 0;
  background: transparent;
  box-shadow: none;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-art::before,
:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-art::after,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-art::before,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-art::after {
  content: none;
  display: none;
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-glyph,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-glyph {
  border-color: color-mix(in srgb, var(--activity-a, var(--rostra-accent)) 52%, var(--rostra-border));
  background: color-mix(in srgb, var(--activity-a, var(--rostra-accent)) 13%, var(--rostra-surface-raised));
  color: color-mix(in srgb, var(--activity-a, var(--rostra-accent)) 24%, var(--rostra-text-primary));
  box-shadow: inset 0 1px color-mix(in srgb, #ffffff 8%, transparent);
}

:root[data-rostra-theme="academic"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-card:hover .dashboard-activity-glyph,
:root[data-rostra-theme="broadcast"] body.screen-launcher:not(.screen-cloud-auth):not(.screen-cloud-loading) .installed-activities-section .dashboard-activity-card:hover .dashboard-activity-glyph {
  border-color: color-mix(in srgb, var(--activity-a, var(--rostra-accent)) 72%, var(--rostra-border-strong));
  background: color-mix(in srgb, var(--activity-a, var(--rostra-accent)) 18%, var(--rostra-surface-raised));
}
