:is(.portal, .cohort-room) {
  --radius-lg: 18px;
  --radius-md: 14px;
  --radius-sm: 10px;
  --radius: var(--radius-md);
  --button-end: var(--accent-soft);
}
html[data-theme="light"] :is(.portal, .cohort-room) {
  --button-end: color-mix(in srgb, var(--accent) 55%, #ffffff);
}

:is(.portal, .cohort-room) :is(
  .portal-panel, .panel, .catalogue-card, .profile-cover, .agent-card, .role-hero,
  .role-action-card, .role-stats, .queue-list, .review-form, .person-card,
  .live-banner, .post-feed, .admin-summary, .acct-facts, .quiet-callout, .connection-card,
  .connection-create, .live-chart, .meeting-side
),
:is(.portal, .cohort-room) .cohort-detail-hero > .chain-art,
dialog, .connection-dialog {
  border-radius: var(--radius-lg, 18px);
}

:is(.portal, .cohort-room) :is(
  .school-post, .curriculum-item, .lesson-edit, .week-sort-row, .material-edit,
  .form-question-editor, .room-event-log, .posts-empty, .curriculum-error, .curriculum-notice,
  .account-popover, .studio-popup, .chat-menu, .row-menu, .emoji-picker, .toast,
  .submitted-text, .wallet-same, .wallet-guide, .time-zone-list, .auth-note, .local-mail-note,
  .oauth-notice, .connection-explainer, .agent-preview-note, .connection-secret,
  .connection-reach-note, .feedback-note
),
:is(.portal, .cohort-room) :is(.agent-connections, .agent-management, .room-lesson-editor) fieldset,
:is(.portal, .cohort-room) .portfolio-history details,
:is(.moderation-history, .school-warnings) article {
  border-radius: var(--radius-md, 14px);
}
:is(.portal, .cohort-room) .curriculum-item[open] > summary {
  border-radius: var(--radius-md, 14px) var(--radius-md, 14px) 0 0;
}

:is(.portal, .cohort-room) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
  textarea, select
),
:is(.portal, .cohort-room) :is(
  .input-prefix, .studio-popover > summary, .evidence-choice, .live-code-viewport, .mail-text,
  .two-step-qr, .menu-item, .nav-item, .account-button, .link-row, .resource-item,
  .assignment-brief, .chat-input-form, .portfolio-files > span, .submission-files li,
  .portfolio-work li, .storage-budget-field, .live-suffix
),
:is(.portal, .cohort-room) :is(.portfolio-prose, .curriculum-prose, .post-body, .history-comparison) pre,
:is(.portal, .cohort-room) .settings-nav > button {
  border-radius: var(--radius-sm, 10px);
}
:is(.portal, .cohort-room) .shared-code .live-code-viewport textarea {
  border-radius: 0;
}

:is(.portal, .cohort-room) :is(
  .chip, .status-chip, .subtle-badge, .role-tag, .demo-tag,
  .room-status, .caption-tag, .pill, .post-links a, .segmented, .segmented button,
  .surface-switch button, .live-range, .live-range-choice, .role-preview-exit, .stage-button
),
:is(.portal, .cohort-room) .detail-chips > span {
  border-radius: 999px;
}

:is(.portal, .cohort-room) .btn {
  border-radius: 999px;
  padding-inline: 20px;
  font-weight: 600;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease,
    color .2s ease;
}
:is(.portal, .cohort-room) .btn-primary,
:is(.portal, .cohort-room) :is(.pill-button:not(.is-quiet), .room-switch:not(.is-open)) {
  background: linear-gradient(135deg, var(--accent), var(--button-end));
  color: #0c1411;
  border-color: transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 8px 22px -12px rgba(var(--accent-rgb), .9);
}
:is(.portal, .cohort-room) .btn-primary:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 12px 28px -12px rgba(var(--accent-rgb), 1);
}
:is(.portal, .cohort-room) .btn-subtle {
  background: transparent;
  color: var(--paper);
  border-color: var(--border);
}
:is(.portal, .cohort-room) .btn-subtle:hover:not(:disabled) {
  border-color: var(--accent);
  background: rgba(var(--accent-rgb), .08);
}
:is(.portal, .cohort-room) .btn:disabled {
  transform: none;
  box-shadow: none;
}

:is(.portal, .cohort-room) :is(
  .icon-button, .calendar-nav, .row-menu-trigger, .profile-link, .chat-more, .meeting-side-close,
  .chip button
),
:is(.portal, .cohort-room) .hand-queue .hand-dismiss {
  border-radius: 50%;
}

:is(.portal, .cohort-room) .chat-input-form > button {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--button-end));
  color: #0c1411;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 8px 22px -12px rgba(var(--accent-rgb), .9);
}
:is(.portal, .cohort-room) .chat-input-form > button:hover:not(:disabled) {
  transform: translateY(-1px);
}
:is(.portal, .cohort-room) .chat-input-form > button:disabled {
  background: #21292d;
  color: #91a3a8;
  box-shadow: none;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  :is(.portal, .cohort-room) :is(.btn, .chat-input-form > button) {
    transition: none;
  }
}
