.community-panel {
  --community-ink: #1f2937;
  --community-soft: #6b7280;
  --community-line: rgba(15, 23, 42, 0.12);
  --community-accent: #0f766e;
  --community-accent-strong: #115e59;
  --community-surface: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(243, 247, 250, 0.96));
  background: var(--community-surface);
  border: 1px solid var(--community-line);
  border-radius: 28px;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
  color: var(--community-ink);
  margin: 32px auto;
  max-width: 1080px;
  padding: 32px;
}

.community-panel,
.community-panel *,
.community-auth-shell,
.community-auth-shell * {
  box-sizing: border-box;
}

.community-panel h2,
.community-panel h3,
.community-panel h4,
.community-panel p,
.community-panel span,
.community-panel label,
.community-panel time,
.community-panel strong {
  color: inherit;
}

.community-panel__header {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 24px;
}

.community-panel__header--stacked {
  align-items: flex-start;
}

.community-profile-page,
.community-profile-stack {
  margin: 32px auto;
  max-width: 1080px;
}

.community-directory-page {
  margin: 40px auto 56px;
  max-width: 1220px;
}

.community-eyebrow {
  color: var(--community-accent);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.community-muted {
  color: var(--community-soft);
  margin: 0;
}

.community-avatar img {
  border: 3px solid rgba(15, 118, 110, 0.18);
  border-radius: 999px;
}

.community-profile-photo img {
  aspect-ratio: 1 / 1;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 28px;
  box-shadow:
    0 18px 40px rgba(15, 23, 42, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  display: block;
  height: 110px;
  object-fit: cover;
  width: 110px;
}

.community-profile-photo--large img {
  height: 180px;
  width: 180px;
}

.community-stats {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  margin-bottom: 20px;
}

.community-stat-card,
.community-template-card,
.community-submission-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 22px;
  padding: 18px 20px;
}

.community-stat-card strong {
  display: block;
  font-size: 1.8rem;
  margin-bottom: 4px;
}

.community-stat-card small {
  color: var(--community-soft);
  display: block;
  font-size: 0.84rem;
  font-weight: 800;
  margin-top: 8px;
}

.community-note,
.community-alert {
  border-radius: 18px;
  margin-bottom: 24px;
  padding: 16px 18px;
}

.community-note {
  background: rgba(15, 118, 110, 0.08);
  border: 1px solid rgba(15, 118, 110, 0.16);
}

.community-testing-banner {
  align-items: flex-start;
  background:
    radial-gradient(circle at top left, rgba(250, 204, 21, 0.18), transparent 32%),
    linear-gradient(135deg, rgba(255, 251, 235, 0.94), rgba(236, 253, 245, 0.9));
  border: 1px solid rgba(245, 158, 11, 0.22);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
  display: grid;
  gap: 14px;
  grid-template-columns: auto minmax(0, 1fr);
  margin-bottom: 24px;
  padding: 18px 20px;
}

.community-testing-banner__badge {
  align-items: center;
  background: #111827;
  border-radius: 999px;
  color: #fff !important;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  min-height: 40px;
  padding: 0 14px;
  text-transform: uppercase;
  -webkit-text-fill-color: #fff;
}

.community-testing-banner__content {
  display: grid;
  gap: 6px;
}

.community-testing-banner__content strong {
  color: #1f2937;
  font-size: 1rem;
}

.community-testing-banner__content .community-muted {
  margin: 0;
}

.community-alert--success {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.24);
}

.community-alert--error {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.24);
}

.community-submissions__head {
  margin-bottom: 16px;
}

.community-submission-list,
.community-template-grid,
.community-card-grid,
.community-contact-list {
  display: grid;
  gap: 16px;
}

.community-submission-card {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.community-pill {
  background: rgba(15, 118, 110, 0.1);
  border-radius: 999px;
  color: var(--community-accent-strong);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  margin: 0 0 12px;
  padding: 6px 10px;
}

.community-template-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 24px;
}

.community-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.community-contact-list {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.community-progress-card,
.community-contact-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 22px;
  padding: 18px 20px;
}

.community-inline-section + .community-inline-section {
  margin-top: 28px;
}

.community-secondary-form {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  margin-top: 28px;
  padding-top: 28px;
}

.community-form__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.community-form__grid--single {
  grid-template-columns: 1fr;
}

.community-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.community-field--full {
  grid-column: 1 / -1;
}

.community-field--hidden {
  display: none;
}

.community-field--checkbox {
  align-self: end;
}

.community-field--checkbox span {
  align-items: center;
  display: inline-flex;
  gap: 10px;
}

.community-field input,
.community-field select,
.community-field textarea {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 16px;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
  color: var(--community-ink);
  font-size: 1rem;
  line-height: 1.45;
  padding: 14px 16px;
}

.community-field input::placeholder,
.community-field textarea::placeholder {
  color: #94a3b8;
}

.community-field input[disabled] {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.94));
  border-color: rgba(148, 163, 184, 0.26);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.02);
  color: #475569;
  cursor: not-allowed;
}

.community-field select {
  appearance: none;
  background-color: rgba(255, 255, 255, 0.96);
  background-image:
    linear-gradient(135deg, transparent 50%, #475569 50%),
    linear-gradient(45deg, #475569 50%, transparent 50%);
  background-position:
    calc(100% - 22px) calc(50% - 2px),
    calc(100% - 16px) calc(50% - 2px);
  background-repeat: no-repeat;
  background-size: 7px 7px, 7px 7px;
  min-height: 62px;
  padding: 0 52px 0 18px;
  text-overflow: ellipsis;
}

.community-field select.is-placeholder {
  color: #94a3b8;
  font-weight: 500;
}

.community-field select:not(.is-placeholder) {
  border-color: rgba(15, 118, 110, 0.24);
  box-shadow:
    inset 0 1px 2px rgba(15, 23, 42, 0.04),
    0 12px 28px rgba(15, 118, 110, 0.08);
  color: var(--community-ink);
  font-weight: 700;
}

.community-field select option {
  color: #0f172a;
}

.community-form__footer,
.community-actions {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-top: 24px;
}

.community-form__footer--start {
  justify-content: flex-start;
}

.community-button {
  background: linear-gradient(135deg, var(--community-accent), var(--community-accent-strong));
  border: 0;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-width: 190px;
  padding: 14px 22px;
  text-decoration: none;
  transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.community-button--ghost {
  background: transparent;
  border: 1px solid rgba(15, 118, 110, 0.24);
  color: var(--community-accent-strong);
}

.community-button:hover,
.community-button:focus-visible {
  background: linear-gradient(135deg, #115e59, #0f3f3b);
  box-shadow: 0 16px 30px rgba(15, 118, 110, 0.18);
  color: #fff;
  transform: translateY(-1px);
}

.community-button--ghost:hover,
.community-button--ghost:focus-visible {
  background: rgba(240, 253, 250, 0.96);
  border-color: rgba(15, 118, 110, 0.34);
  box-shadow: 0 14px 26px rgba(15, 118, 110, 0.1);
  color: #0f3f3b;
}

.community-button[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
}

.community-empty {
  background: rgba(255, 255, 255, 0.86);
  border: 1px dashed rgba(15, 23, 42, 0.16);
  border-radius: 20px;
  padding: 18px;
}

.community-progress-card h3,
.community-contact-card strong {
  margin: 0 0 8px;
}

.community-progress-card a {
  color: inherit;
  text-decoration: none;
}

.community-progress-card a:hover {
  text-decoration: underline;
}

.community-panel--dashboard,
.community-panel--profile-page,
.community-panel--register {
  background:
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.1), transparent 26%),
    radial-gradient(circle at top left, rgba(244, 114, 22, 0.08), transparent 24%),
    var(--community-surface);
}

.community-panel__header--dashboard {
  align-items: flex-start;
}

.community-account-shell,
.community-account-identity,
.community-dashboard-aside {
  display: grid;
  gap: 20px;
}

.community-title-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.community-title-row h1,
.community-title-row h2,
.community-form-section h3 {
  margin: 0;
}

.community-flag-pill,
.community-meta-chip {
  align-items: center;
  border: 1px solid rgba(15, 118, 110, 0.16);
  border-radius: 999px;
  display: inline-flex;
  gap: 10px;
  padding: 9px 14px;
}

.community-flag-pill {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(236, 253, 245, 0.92));
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  font-weight: 700;
}

.community-country-flag {
  font-size: 1.25rem;
  line-height: 1;
}

.community-profile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-meta-chip {
  background: rgba(255, 255, 255, 0.8);
  color: var(--community-ink);
  font-size: 0.92rem;
}

.community-meta-chip--warning {
  background: rgba(244, 114, 22, 0.12);
  border-color: rgba(244, 114, 22, 0.2);
  color: #9a3412;
}

.community-profile-photo--dashboard img {
  border-width: 4px;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.14);
  height: 152px;
  width: 152px;
}

.community-stats--dashboard {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.community-stat-card--featured,
.community-stat-card--teaser {
  min-height: 132px;
}

.community-stat-card--featured {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.88));
}

.community-stat-card--teaser {
  background: linear-gradient(135deg, rgba(255, 247, 237, 0.96), rgba(255, 255, 255, 0.92));
}

.community-stat-card--teaser strong {
  font-size: 1.2rem;
}

.community-register-benefits,
.community-dashboard-layout {
  display: grid;
  gap: 18px;
}

.community-register-benefits {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  margin-bottom: 24px;
}

.community-register-benefit,
.community-aside-card,
.community-form--dashboard {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
}

.community-register-benefit,
.community-aside-card {
  padding: 18px 20px;
}

.community-register-benefit strong {
  display: block;
  margin-bottom: 8px;
}

.community-dashboard-layout {
  align-items: start;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 0.95fr);
}

.community-profile-showcase,
.community-dashboard-glance {
  display: grid;
  gap: 18px;
}

.community-dashboard-glance {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.community-panel__header--profile {
  gap: 28px;
}

.community-profile-actions {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: flex-start;
}

.community-profile-lead {
  color: #334155;
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0;
  max-width: 68ch;
}

.community-role-badge {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.84rem;
  font-weight: 800;
  gap: 8px;
  letter-spacing: 0.02em;
  padding: 10px 14px;
}

.community-role-badge--teacher,
.community-meta-chip--teacher {
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.14), rgba(255, 237, 213, 0.94));
  border: 1px solid rgba(249, 115, 22, 0.22);
  color: #9a3412;
}

.community-profile-photo--hero {
  position: relative;
  overflow: visible;
}

.community-profile-photo__badge {
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);

  display: inline-flex;
  align-items: center;
  gap: 10px;

  min-height: 42px;
  padding: 8px 18px;

  background: linear-gradient(135deg, #1e293b, #334155);
 color: #ffffff !important;

  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 999px;

  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;

  text-shadow: 0 1px 2px rgba(0,0,0,0.5);

  box-shadow:
    0 12px 28px rgba(15, 23, 42, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    0 0 0 1px rgba(255,255,255,0.05);

  z-index: 3;
}

.community-profile-photo__badge::before {
  content: "";
  flex: 0 0 auto;

  width: 10px;
  height: 10px;
  border-radius: 50%;

  background: linear-gradient(135deg, #fb923c, #f97316);

  box-shadow:
    0 0 0 4px rgba(251,146,60,0.18),
    0 4px 12px rgba(249,115,22,0.4);
}




.community-contact-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-contact-pill {
  align-items: center;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px 12px;
}

.community-inline-section--discover {
  margin-top: 28px;
}

.community-directory-banner {
  align-items: center;
  background:
    radial-gradient(circle at top right, rgba(249, 115, 22, 0.12), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9));
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 28px;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.06);
  display: flex;
  gap: 22px;
  justify-content: space-between;
  padding: 24px 26px;
}

.community-directory-banner h2,
.community-directory-head h2,
.community-directory-card__title h3 {
  margin: 0;
}

.community-teacher-directory {
  display: grid;
  gap: 18px;
}

.community-directory-head {
  align-items: end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.community-directory-page .community-directory-head {
  margin-bottom: 8px;
}

.community-directory-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.community-directory-card {
  background:
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 28px;
  box-shadow: 0 22px 50px rgba(15, 23, 42, 0.07);
  display: grid;
  gap: 18px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 22px;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.community-directory-card:hover {
  border-color: rgba(15, 118, 110, 0.2);
  box-shadow: 0 28px 56px rgba(15, 23, 42, 0.1);
  transform: translateY(-3px);
}

.community-profile-photo--directory img {
  height: 120px;
  width: 120px;
}

.community-directory-card__body {
  display: grid;
  gap: 14px;
}

.community-directory-card__title {
  display: grid;
  gap: 10px;
}

.community-directory-card__title h3 a {
  color: inherit;
  text-decoration: none;
}

.community-directory-card__title h3 a:hover {
  text-decoration: underline;
}

.community-directory-card__bio {
  color: #334155;
  line-height: 1.7;
  margin: 0;
}

.community-directory-card__actions {
  margin-top: auto;
  padding-top: 6px;
}

.community-directory-card__actions .community-button {
  background: linear-gradient(135deg, var(--community-accent), var(--community-accent-strong)) !important;
  border: 0 !important;
  color: #2F0909 !important;
  justify-content: center;
  min-height: 58px;
  opacity: 1 !important;
  text-shadow: none;
  width: 100%;
}

.community-directory-card__actions .community-button:hover,
.community-directory-card__actions .community-button:focus {
  background: linear-gradient(135deg, #5e1414, #390007) !important;
  color: #fff !important;
}

.community-editor-shell {
  background: linear-gradient(180deg, rgba(241, 245, 249, 0.78), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 28px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  overflow: hidden;
}

.community-editor-shell.is-open {
  border-color: rgba(15, 118, 110, 0.18);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    0 24px 54px rgba(15, 118, 110, 0.08);
}

.community-editor-shell__bar {
  align-items: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(236, 253, 245, 0.74));
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px;
}

.community-private-note {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(236, 253, 245, 0.84));
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 26px;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
  display: grid;
  gap: 10px;
  padding: 24px 26px;
}

.community-private-note h2,
.community-editor-shell__bar h3 {
  margin: 0;
}

.community-panel--editor {
  padding-top: 28px;
}

.community-editor-panel {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  padding: 0 18px 18px;
}

.community-form--dashboard {
  background: rgba(255, 255, 255, 0.92);
  margin: 18px 0 0;
  padding: 24px;
}

.community-form__grid--dashboard {
  gap: 20px;
}

.community-form-section {
  background: linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(255, 255, 255, 0.8));
  border: 1px solid rgba(15, 118, 110, 0.12);
  border-radius: 20px;
  padding: 18px 20px;
}

.community-country-picker {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 245, 249, 0.9));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  padding: 18px;
}

.community-form-section--split {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.community-country-suggestion {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(15, 118, 110, 0.16);
  border-radius: 18px;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 14px 16px;
}

.community-country-suggestion strong,
.community-country-suggestion span {
  display: block;
}

.community-country-suggestion span {
  color: var(--community-soft);
  margin-top: 4px;
}

.community-field__hint,
.community-field small {
  color: var(--community-soft);
  display: block;
  font-size: 0.92rem;
  margin: 6px 2px 0;
}

.community-toggle-field {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  justify-content: flex-end;
}

.community-toggle-field input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.community-toggle-field__ui {
  align-items: center;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 18px;
  display: inline-flex;
  gap: 12px;
  padding: 14px 16px;
}

.community-toggle-field__switch {
  background: #cbd5e1;
  border-radius: 999px;
  height: 28px;
  position: relative;
  transition: background 0.2s ease;
  width: 52px;
}

.community-toggle-field__switch::after {
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.16);
  content: "";
  height: 22px;
  left: 3px;
  position: absolute;
  top: 3px;
  transition: transform 0.2s ease;
  width: 22px;
}

.community-toggle-field input:checked + .community-toggle-field__ui .community-toggle-field__switch {
  background: var(--community-accent);
}

.community-toggle-field input:checked + .community-toggle-field__ui .community-toggle-field__switch::after {
  transform: translateX(24px);
}

.community-toggle-field__text {
  color: var(--community-ink);
  font-weight: 700;
}

.community-form--submission {
  margin-top: 0;
}

.community-form--submission .community-form__grid {
  padding-top: 6px;
}

.community-field input:focus,
.community-field select:focus,
.community-field textarea:focus {
  border-color: rgba(15, 118, 110, 0.48);
  box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.12);
  outline: none;
}

.community-field input[type="file"] {
  padding: 10px 12px;
}

.community-field input[type="file"]::file-selector-button {
  background: rgba(15, 118, 110, 0.12);
  border: 0;
  border-radius: 999px;
  color: var(--community-accent-strong);
  cursor: pointer;
  font-weight: 700;
  margin-right: 12px;
  padding: 10px 16px;
}

.community-button {
  box-shadow: 0 16px 28px rgba(15, 118, 110, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.community-button:hover {
  box-shadow: 0 20px 34px rgba(15, 118, 110, 0.24);
  transform: translateY(-1px);
}

.community-button--ghost {
  box-shadow: none;
}

.community-actions--wrap {
  flex-wrap: wrap;
}

.community-summary-list {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}

.community-summary-list li {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  padding-top: 12px;
}

.community-summary-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

.community-panel--activity-builder {
  background:
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.12), transparent 28%),
    radial-gradient(circle at top left, rgba(14, 116, 144, 0.08), transparent 24%),
    var(--community-surface);
}

.community-panel__header--builder {
  margin-bottom: 18px;
}

.community-builder-actions {
  align-items: center;
  display: flex;
  gap: 12px;
}

.community-builder-intro {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 28px;
}

.community-builder-pill,
.community-topic-card,
.community-builder-panel,
.community-builder-support {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
}

.community-builder-pill {
  padding: 18px 20px;
}

.community-builder-pill strong,
.community-builder-pill span {
  display: block;
}

.community-builder-pill span {
  color: var(--community-soft);
  margin-top: 8px;
}

.community-form--activity-builder {
  gap: 24px;
}

.community-builder {
  display: grid;
  gap: 24px;
}

.community-builder-selector {
  margin-bottom: -6px;
}

.community-field--hidden {
  display: none !important;
}

.community-builder-topics {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.community-builder-topics {
  display: none;
}

.community-topic-card {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 190px;
  padding: 22px;
  position: relative;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.community-topic-card:hover,
.community-topic-card.is-active {
  background: linear-gradient(180deg, rgba(240, 253, 250, 0.98), rgba(255, 255, 255, 0.96));
  border-color: rgba(15, 118, 110, 0.26);
  box-shadow: 0 24px 44px rgba(15, 118, 110, 0.1);
  transform: translateY(-2px);
}

.community-topic-card input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

.community-topic-card__eyebrow {
  color: var(--community-accent);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.community-topic-card strong {
  font-size: 1.3rem;
}

.community-topic-card span:last-child {
  color: var(--community-soft);
  line-height: 1.5;
}

.community-builder-panels,
.community-builder-support {
  padding: 24px;
}

.community-builder-support {
  display: grid;
  gap: 18px;
}

.community-builder-panel {
  padding: 24px;
}

.community-builder-panel + .community-builder-panel {
  margin-top: 16px;
}

.community-builder-panel__head {
  margin-bottom: 18px;
}

.community-builder-panel__head h3 {
  margin: 0 0 8px;
}

.community-builder-note {
  align-items: center;
  background: linear-gradient(135deg, rgba(236, 253, 245, 0.94), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(15, 118, 110, 0.16);
  border-radius: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  justify-content: space-between;
  padding: 16px 18px;
}

.community-builder-note strong,
.community-builder-note span {
  display: block;
}

.community-builder-note--accent strong {
  color: var(--community-accent-strong);
}

.community-h5p-linker {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  display: grid;
  gap: 18px;
  padding: 20px;
}

.community-h5p-linker__head {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.community-h5p-linker__head h3 {
  margin: 0 0 8px;
}

.community-h5p-hint-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-h5p-hint-pill {
  background: rgba(240, 253, 250, 0.9);
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 999px;
  color: var(--community-soft);
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 10px 14px;
}

.community-h5p-slots {
  display: grid;
  gap: 14px;
}

.community-level-picker {
  border: 0;
  margin: 0;
  padding: 0;
}

.community-level-picker legend {
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 8px;
  padding: 0;
}

.community-level-picker__grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
  margin-top: 14px;
}

.community-level-chip {
  cursor: pointer;
  display: block;
}

.community-level-chip input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

.community-level-chip span {
  align-items: center;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 16px;
  display: flex;
  font-weight: 800;
  justify-content: center;
  min-height: 54px;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.community-level-chip:hover span,
.community-level-chip input:checked + span {
  background: linear-gradient(135deg, rgba(240, 253, 250, 0.98), rgba(255, 255, 255, 0.96));
  border-color: rgba(15, 118, 110, 0.34);
  box-shadow: 0 14px 28px rgba(15, 118, 110, 0.1);
  transform: translateY(-1px);
}

.community-h5p-picker {
  border: 0;
  margin: 0;
  padding: 0;
}

.community-h5p-picker legend {
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: 12px;
  padding: 0;
}

.community-h5p-picker__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-top: 14px;
}

.community-h5p-chip {
  cursor: pointer;
  display: block;
}

.community-h5p-chip input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

.community-h5p-chip span {
  align-items: center;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 18px;
  display: flex;
  justify-content: center;
  min-height: 58px;
  padding: 12px 14px;
  text-align: center;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.community-h5p-chip:hover span,
.community-h5p-chip input:checked + span {
  background: rgba(240, 253, 250, 0.96);
  border-color: rgba(15, 118, 110, 0.32);
  box-shadow: 0 16px 30px rgba(15, 118, 110, 0.08);
  transform: translateY(-1px);
}

.community-builder-preview {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 245, 249, 0.86));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 28px;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.08);
  margin-top: 8px;
  overflow: hidden;
  padding: 24px;
}

.community-builder-preview__shell,
.community-builder-preview__sheet {
  display: grid;
  gap: 18px;
}

.community-builder-preview__sheet--lectura {
  background: #f8f8f8;
}

.community-builder-preview__topline,
.community-builder-preview__section-head,
.community-builder-preview__author {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.community-builder-preview__hint,
.community-builder-preview__counter {
  background: rgba(240, 253, 250, 0.9);
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 999px;
  color: var(--community-soft);
  display: inline-flex;
  font-size: 0.84rem;
  font-weight: 700;
  padding: 8px 12px;
}

.community-builder-preview__counter.is-complete {
  background: rgba(220, 252, 231, 0.96);
  border-color: rgba(22, 163, 74, 0.18);
  color: #166534;
}

.community-builder-preview__hero {
  gap: 14px;
}

.community-builder-preview__author {
  justify-content: flex-start;
}

.community-builder-preview__author img {
  border: 3px solid rgba(255, 255, 255, 0.96);
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
  height: 64px;
  object-fit: cover;
  width: 64px;
}

.community-builder-preview__author-label {
  color: var(--community-soft);
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.community-builder-preview__prose {
  line-height: 1.8;
}

.community-builder-preview__page-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.community-builder-preview__url {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  color: var(--community-soft);
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 8px 14px;
  word-break: break-all;
}

.community-builder-preview__image-frame {
  display: block;
}

.community-builder-preview__image {
  margin-bottom: 0;
}

.community-builder-preview__blueprint {
  background: #0f172a;
  border-radius: 18px;
  color: #e2e8f0;
  font-family: "IBM Plex Mono", Consolas, monospace;
  font-size: 0.9rem;
  margin: 0;
  overflow: auto;
  padding: 16px 18px;
  white-space: pre-wrap;
}

.community-builder-preview__h5p-live {
  display: grid;
  gap: 16px;
  margin-top: 4px;
}

.community-builder-preview__embedded-h5p {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  overflow: hidden;
  padding: 14px;
}

.community-preview-h5p-list {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.community-preview-h5p-card,
.community-preview-h5p-empty {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 16px 18px;
}

.community-preview-h5p-card--full {
  margin-bottom: 12px;
}

.community-preview-h5p-card strong,
.community-preview-h5p-card span {
  display: block;
}

.community-preview-h5p-card span,
.community-preview-h5p-empty {
  color: var(--community-soft);
}

.community-builder-preview__related-card h4 {
  margin: 0 0 8px;
}

.community-builder-preview [hidden] {
  display: none !important;
}

.community-h5p-workspace {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 28px;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.08);
  margin-top: 28px;
  overflow: hidden;
  padding: 24px;
}

.community-h5p-workspace__header {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.community-h5p-workspace__header h3 {
  margin: 0 0 8px;
}

.community-h5p-workspace__frame {
  background: linear-gradient(180deg, rgba(247, 250, 252, 0.92), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 760px;
  overflow: hidden;
  padding: 12px;
  position: relative;
}

.community-h5p-workspace__status {
  align-items: center;
  align-self: flex-start;
  background: rgba(240, 253, 250, 0.96);
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 999px;
  color: var(--community-soft);
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.01em;
  margin: 0;
  min-height: 0;
  padding: 8px 14px;
  position: static;
  z-index: auto;
}

.community-h5p-workspace__frame.is-picker-mode {
  background: rgba(240, 253, 250, 0.38);
  border-style: dashed;
  min-height: 0;
  padding: 18px;
}

.community-h5p-workspace__frame.is-picker-mode .community-h5p-workspace__status {
  border-radius: 18px;
  display: flex;
  justify-content: flex-start;
  max-width: none;
  padding: 16px 18px;
  width: 100%;
}

.community-h5p-workspace__iframe {
  background: #fff;
  border: 0;
  display: block;
  flex: 1 1 auto;
  min-height: 720px;
  opacity: 1;
  transition: none;
  width: 100%;
}

.community-h5p-workspace__iframe.is-loading {
  opacity: 1;
}

.community-dashboard-app,
.community-builder-shell {
  max-width: 1320px;
}

.community-button--small {
  min-width: 0;
  padding: 12px 18px;
}

.community-dashboard-app__shell {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}

.community-dashboard-sidebar {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.94));
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 28px;
  box-shadow: 0 26px 52px rgba(15, 23, 42, 0.22);
  color: #e2e8f0;
  display: grid;
  gap: 22px;
  height: fit-content;
  padding: 22px 18px;
  position: sticky;
  top: 24px;
}

.community-dashboard-sidebar__brand {
  align-items: center;
  display: flex;
  gap: 14px;
}

.community-dashboard-sidebar__brand img {
  border: 2px solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
  height: 56px;
  object-fit: cover;
  width: 56px;
}

.community-dashboard-sidebar__brand strong,
.community-dashboard-sidebar__brand span {
  color: #f8fafc;
  display: block;
}

.community-dashboard-sidebar__brand span {
  color: rgba(226, 232, 240, 0.72);
  margin-top: 4px;
}

.community-dashboard-nav {
  display: grid;
  gap: 10px;
}

.community-dashboard-app .community-dashboard-nav {
  display: none;
}

.community-dashboard-sidebar__summary {
  display: grid;
  gap: 10px;
}

.community-dashboard-sidebar__summary span {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  color: rgba(248, 250, 252, 0.88);
  font-weight: 800;
  padding: 12px 14px;
}

.community-dashboard-nav__item {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 18px;
  color: #e2e8f0;
  cursor: pointer;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  justify-content: flex-start;
  min-height: 52px;
  padding: 0 16px;
  text-align: left;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.community-dashboard-nav__item:hover,
.community-dashboard-nav__item.is-active,
.community-dashboard-nav__item[aria-current="page"] {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  transform: translateX(2px);
}

.community-dashboard-nav__item--link {
  color: #f8fafc;
}

.community-dashboard-main {
  display: grid;
  gap: 24px;
}

.community-dashboard-topbar,
.community-builder-header {
  align-items: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(236, 253, 245, 0.78));
  border: 1px solid rgba(15, 118, 110, 0.12);
  border-radius: 28px;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.06);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 24px 26px;
}

.community-dashboard-topbar h2,
.community-builder-header h2,
.community-dashboard-section-head h3,
.community-builder-step__head h3,
.community-builder-block__head h4 {
  margin: 0;
}

.community-dashboard-create {
  flex: 0 0 auto;
}

.community-button svg,
.community-dashboard-card--danger h4 svg {
  flex: 0 0 auto;
  height: 20px;
  width: 20px;
}

.community-button svg,
.community-dashboard-card--danger h4 svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.community-button--logout {
  align-items: center;
  background: linear-gradient(135deg, #b91c1c, #7f1d1d);
  box-shadow: 0 16px 30px rgba(127, 29, 29, 0.18);
  color: #fff;
  gap: 10px;
}

.community-button--logout:hover,
.community-button--logout:focus-visible {
  background: linear-gradient(135deg, #991b1b, #450a0a);
  box-shadow: 0 20px 36px rgba(127, 29, 29, 0.25);
  color: #fff;
}

.community-dashboard-topbar__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.community-dashboard-switcher {
  align-items: center;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 999px;
  display: inline-flex;
  gap: 4px;
  padding: 4px;
}

.community-dashboard-switcher__item {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: #475569;
  cursor: pointer;
  font-weight: 800;
  min-height: 42px;
  padding: 0 14px;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.community-dashboard-switcher__item:hover,
.community-dashboard-switcher__item:focus-visible {
  background: rgba(240, 253, 250, 0.95);
  color: var(--community-accent-strong);
}

.community-dashboard-switcher__item.is-active,
.community-dashboard-switcher__item[aria-current="page"] {
  background: linear-gradient(135deg, var(--community-accent), var(--community-accent-strong));
  box-shadow: 0 10px 22px rgba(15, 118, 110, 0.18);
  color: #fff;
}

.community-dashboard-view {
  display: grid;
  gap: 22px;
}

.community-dashboard-section-meta {
  color: var(--community-soft);
  margin: 10px 0 0;
}

.community-dashboard-section-head {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.community-dashboard-stats {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 620px;
}

.community-dashboard-form,
.community-dashboard-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.05);
}

.community-dashboard-form {
  padding: 0;
}

.community-dashboard-form-grid {
  display: grid;
  gap: 18px;
}

.community-dashboard-card {
  padding: 22px;
}

.community-dashboard-card__head {
  margin-bottom: 18px;
}

.community-dashboard-security {
  display: grid;
  gap: 14px;
}

.community-dashboard-security__item {
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  display: grid;
  gap: 6px;
  padding: 16px 18px;
}

.community-dashboard-security__item strong {
  margin: 0;
}

.community-dashboard-card--danger,
.community-account-delete-confirm {
  border-color: rgba(127, 29, 29, 0.18);
}

.community-dashboard-card--danger {
  background:
    radial-gradient(circle at top right, rgba(127, 29, 29, 0.08), transparent 28%),
    rgba(255, 255, 255, 0.96);
}

.community-dashboard-card--account-end {
  margin-top: 18px;
}

.community-dashboard-card--danger h4 {
  align-items: center;
  display: flex;
  gap: 10px;
}

.community-avatar-picker {
  display: grid;
  gap: 14px;
}

.community-avatar-picker__head span {
  color: var(--community-ink);
  display: block;
  font-weight: 700;
  margin-bottom: 4px;
}

.community-avatar-picker__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
}

.community-avatar-picker__drawer {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 20px;
  overflow: hidden;
}

.community-avatar-picker__drawer summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  list-style: none;
  padding: 16px 18px;
}

.community-avatar-picker__drawer summary::-webkit-details-marker {
  display: none;
}

.community-avatar-picker__drawer summary::after {
  align-items: center;
  background: rgba(15, 118, 110, 0.1);
  border-radius: 999px;
  color: var(--community-accent-strong);
  content: "+";
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.1rem;
  font-weight: 900;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.community-avatar-picker__drawer[open] summary::after {
  content: "-";
}

.community-avatar-picker__drawer summary span {
  color: var(--community-ink);
  font-weight: 900;
}

.community-avatar-picker__drawer summary small {
  color: var(--community-soft);
  font-weight: 700;
}

.community-avatar-picker__drawer .community-avatar-picker__grid {
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  max-height: 340px;
  overflow: auto;
  padding: 16px;
}

.community-avatar-choice {
  cursor: pointer;
  display: block;
  position: relative;
}

.community-avatar-choice input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

.community-avatar-choice__card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 22px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
  display: grid;
  gap: 10px;
  height: 100%;
  padding: 14px;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.community-avatar-choice__card img,
.community-avatar-choice__emoji {
  aspect-ratio: 1;
  border-radius: 18px;
  display: grid;
  place-items: center;
  width: 100%;
}

.community-avatar-choice__card img {
  background: rgba(226, 232, 240, 0.65);
  object-fit: cover;
}

.community-avatar-choice__emoji {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.08), rgba(148, 163, 184, 0.2));
  color: var(--community-ink);
  font-size: 2rem;
  font-weight: 800;
}

.community-avatar-choice__card strong {
  color: var(--community-ink);
  font-size: 0.96rem;
  line-height: 1.25;
}

.community-avatar-choice__card small,
.community-avatar-picker__hint {
  color: var(--community-muted);
  line-height: 1.45;
}

.community-avatar-choice input:focus-visible + .community-avatar-choice__card,
.community-avatar-choice input:checked + .community-avatar-choice__card {
  border-color: rgba(185, 28, 28, 0.45);
  box-shadow: 0 18px 36px rgba(185, 28, 28, 0.12);
  transform: translateY(-2px);
}

.community-delete-warning {
  background: rgba(254, 242, 242, 0.9);
  border: 1px solid rgba(127, 29, 29, 0.16);
  border-radius: 18px;
  color: #7f1d1d;
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
  padding: 16px 18px;
}

.community-button--danger {
  background: linear-gradient(135deg, #7f1d1d, #450a0a) !important;
  box-shadow: 0 16px 30px rgba(127, 29, 29, 0.22);
  color: #fff !important;
}

.community-button--danger:hover {
  box-shadow: 0 20px 36px rgba(127, 29, 29, 0.28);
}

.community-activity-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.community-filter-chip {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 999px;
  color: var(--community-ink);
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  gap: 10px;
  min-height: 46px;
  padding: 0 18px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.community-filter-chip span {
  align-items: center;
  background: rgba(240, 253, 250, 0.92);
  border-radius: 999px;
  color: var(--community-accent-strong);
  display: inline-flex;
  font-size: 0.84rem;
  min-height: 28px;
  padding: 0 10px;
}

.community-filter-chip:hover,
.community-filter-chip.is-active {
  background: linear-gradient(135deg, rgba(240, 253, 250, 0.98), rgba(255, 255, 255, 0.94));
  border-color: rgba(15, 118, 110, 0.24);
  box-shadow: 0 14px 26px rgba(15, 118, 110, 0.08);
  color: var(--community-ink);
}

.community-filter-chip:hover span,
.community-filter-chip.is-active span {
  background: linear-gradient(135deg, var(--community-accent), var(--community-accent-strong));
  color: #fff;
}

.community-activity-card-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.community-activity-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.06);
  display: grid;
  gap: 16px;
  padding: 20px;
}

.community-activity-card__head,
.community-activity-card__meta,
.community-activity-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
}

.community-activity-card__head h4 {
  margin: 0;
}

.community-activity-card__meta {
  color: var(--community-soft);
  font-size: 0.92rem;
  justify-content: flex-start;
}

.community-activity-card__actions {
  align-items: center;
  justify-content: flex-start;
}

.community-activity-card__actions form {
  margin: 0;
}

.community-activity-card__actions .community-button {
  min-width: 0;
}

.community-activity-card__link {
  color: var(--community-accent-strong);
  font-weight: 700;
  text-decoration: none;
}

.community-activity-card__link:hover {
  text-decoration: underline;
}

.community-status-pill {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  min-height: 34px;
  padding: 0 12px;
}

.community-status-pill--published {
  background: rgba(220, 252, 231, 0.94);
  color: #166534;
}

.community-status-pill--draft {
  background: rgba(255, 247, 237, 0.94);
  color: #9a3412;
}

.community-status-pill--review {
  background: rgba(224, 242, 254, 0.94);
  color: #0c4a6e;
}

.community-empty--dashboard {
  display: grid;
  gap: 12px;
  justify-items: start;
  padding: 24px;
}

.community-builder-layout {
  display: grid;
  gap: 28px;
  grid-template-columns: 1fr;
}

.community-builder [hidden],
.community-form--saas-builder [hidden] {
  display: none !important;
}

.community-builder [data-community-builder-dependent][hidden] {
  display: none !important;
}

.community-builder-main,
.community-builder-step,
.community-builder-block-stack {
  display: grid;
  gap: 20px;
}

.community-builder-step,
.community-builder-block {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 26px;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.05);
  padding: 22px;
}

.community-builder-step--types {
  background:
    radial-gradient(circle at top right, rgba(88, 19, 32, 0.08), transparent 32%),
    linear-gradient(135deg, rgba(255, 252, 250, 0.98), rgba(243, 252, 250, 0.92));
  border-color: rgba(88, 19, 32, 0.1);
  padding: clamp(22px, 3vw, 34px);
}

.community-builder-step__head,
.community-builder-block__head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.community-builder-step__tag {
  align-items: center;
  background: rgba(240, 253, 250, 0.94);
  border: 1px solid rgba(15, 118, 110, 0.16);
  border-radius: 999px;
  color: var(--community-accent-strong);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  min-height: 34px;
  padding: 0 12px;
}

.community-activity-type-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.community-activity-type-card {
  align-items: flex-start;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 247, 0.94));
  border: 1px solid rgba(88, 19, 32, 0.12);
  border-radius: 22px;
  box-shadow: 0 16px 34px rgba(88, 19, 32, 0.06);
  color: var(--community-ink);
  cursor: pointer;
  display: grid;
  gap: 10px;
  min-height: 166px;
  padding: 20px;
  text-align: left;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.community-activity-type-card strong {
  color: #581320;
  font-size: 1.2rem;
}

.community-activity-type-card span {
  color: var(--community-soft);
  line-height: 1.55;
}

.community-activity-type-card:hover,
.community-activity-type-card.is-active {
  background: linear-gradient(135deg, rgba(255, 248, 247, 0.98), rgba(240, 253, 250, 0.92));
  border-color: rgba(88, 19, 32, 0.28);
  box-shadow: 0 24px 44px rgba(88, 19, 32, 0.12);
  transform: translateY(-2px);
}

.community-activity-type-card__status {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(88, 19, 32, 0.14);
  border-radius: 999px;
  color: #581320;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 6px 10px;
  text-transform: uppercase;
}

.community-activity-type-card.is-disabled {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.88), rgba(241, 245, 249, 0.9));
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.72;
}

.community-activity-type-card.is-disabled:hover {
  border-color: rgba(148, 163, 184, 0.22);
  box-shadow: none;
  transform: none;
}

.community-builder-empty-state,
.community-builder-preview__empty {
  background: linear-gradient(135deg, rgba(255, 247, 246, 0.94), rgba(240, 253, 250, 0.88));
  border: 1px dashed rgba(88, 19, 32, 0.22);
  border-radius: 24px;
  color: var(--community-soft);
  padding: 22px;
}

.community-builder-empty-state strong,
.community-builder-preview__empty strong {
  color: var(--community-ink);
  display: block;
  margin-bottom: 8px;
}

.community-builder-empty-state p,
.community-builder-preview__empty p {
  margin: 0;
}

.community-field--uploader input[type="file"] {
  min-height: 60px;
}

.community-builder-upload-card {
  align-items: center;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 24px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 160px) minmax(0, 1fr);
  padding: 18px;
}

.community-builder-upload-card__media {
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  overflow: hidden;
}

.community-builder-upload-card__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.community-builder-upload-card__copy {
  display: grid;
  gap: 10px;
}

.community-builder-advanced {
  background: rgba(248, 250, 252, 0.78);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 20px;
  padding: 16px;
}

.community-builder-advanced summary {
  cursor: pointer;
  font-weight: 800;
  margin-bottom: 12px;
}

.community-builder-editor__shell {
  border-radius: 20px;
  overflow: hidden;
}

.community-builder-editor .wp-media-buttons {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-builder-editor .wp-editor-wrap {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 20px;
  overflow: hidden;
}

.community-builder-editor .mce-toolbar-grp,
.community-builder-editor .quicktags-toolbar,
.community-builder-editor .wp-editor-tabs {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.9));
}

.community-builder-editor .wp-editor-container,
.community-builder-editor textarea.wp-editor-area {
  border: 0 !important;
}

.community-builder-editor iframe {
  min-height: 360px;
}

.community-editor-h5p-toggle {
  align-items: center;
  background: #581320 !important;
  border: 1px solid #581320 !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 700 !important;
  gap: 8px;
  margin: 0 !important;
  min-height: 38px !important;
  padding: 0 18px !important;
}

.community-editor-h5p-toggle:hover,
.community-editor-h5p-toggle:focus {
  background: #6f1b2d !important;
  border-color: #6f1b2d !important;
  box-shadow: 0 0 0 3px rgba(88, 19, 32, 0.16) !important;
  color: #fff !important;
}

.community-editor-h5p-panel {
  background:
    radial-gradient(circle at top right, rgba(88, 19, 32, 0.07), transparent 34%),
    linear-gradient(135deg, rgba(255, 252, 251, 0.98), rgba(240, 253, 250, 0.86));
  border: 1px solid rgba(88, 19, 32, 0.12);
  border-radius: 22px;
  display: grid;
  gap: 16px;
  margin-top: 16px;
  padding: 18px;
}

.community-editor-h5p-panel__head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.community-editor-h5p-panel__head p {
  margin: 6px 0 0;
}

.community-editor-h5p-panel__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.community-editor-h5p-card {
  background: #fff;
  border: 1px solid rgba(88, 19, 32, 0.12);
  border-radius: 18px;
  cursor: pointer;
  display: grid;
  gap: 6px;
  padding: 16px;
  text-align: left;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.community-editor-h5p-card:hover,
.community-editor-h5p-card:focus {
  border-color: rgba(88, 19, 32, 0.32);
  box-shadow: 0 18px 34px rgba(88, 19, 32, 0.12);
  transform: translateY(-1px);
}

.community-editor-h5p-card strong {
  color: var(--community-ink);
}

.community-editor-h5p-card span,
.community-editor-h5p-card small {
  color: var(--community-muted);
}

.community-editor-h5p-card__cta {
  align-items: center;
  background: #581320;
  border-radius: 999px;
  color: #fff !important;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 900;
  justify-content: center;
  letter-spacing: 0.08em;
  margin-top: 8px;
  min-height: 34px;
  padding: 8px 14px;
  text-transform: uppercase;
}

.community-inline-h5p {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 22px;
  display: grid;
  gap: 14px;
  margin: 18px 0;
  overflow: hidden;
  padding: 16px;
  position: relative;
}

.community-inline-h5p.is-dragging {
  opacity: 0.56;
}

.community-inline-h5p__toolbar {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.community-inline-h5p__drag,
.community-inline-h5p__remove {
  align-items: center;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 32px;
}

.community-inline-h5p__drag {
  background: rgba(88, 19, 32, 0.1);
  color: #581320;
  cursor: grab;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  padding: 6px 12px;
  text-transform: uppercase;
}

.community-inline-h5p__remove {
  background: rgba(88, 19, 32, 0.12);
  color: #581320;
  font-size: 1rem;
  width: 32px;
}

.community-inline-h5p__meta {
  display: grid;
  gap: 4px;
}

.community-inline-h5p__meta span,
.community-inline-h5p__fallback {
  color: var(--community-muted);
  font-size: 0.94rem;
}

.community-inline-h5p__frame {
  background: #fff;
  border: 0;
  border-radius: 16px;
  min-height: 420px;
  width: 100%;
}

.community-grammar-mode-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.community-grammar-mode-layout {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
}

.community-grammar-mode-card {
  background: rgba(248, 250, 252, 0.94);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 20px;
  cursor: pointer;
  display: grid;
  gap: 10px;
  min-height: 154px;
  padding: 18px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.community-grammar-mode-card input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.community-grammar-mode-card strong {
  color: var(--community-ink);
}

.community-grammar-mode-card span {
  color: var(--community-soft);
  line-height: 1.55;
}

.community-grammar-mode-card.is-active,
.community-grammar-mode-card:hover {
  background: linear-gradient(135deg, rgba(240, 253, 250, 0.98), rgba(255, 255, 255, 0.96));
  border-color: rgba(15, 118, 110, 0.28);
  box-shadow: 0 18px 32px rgba(15, 118, 110, 0.08);
  transform: translateY(-1px);
}

.community-grammar-mode-preview {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 253, 250, 0.82));
  border: 1px solid rgba(15, 118, 110, 0.16);
  border-radius: 22px;
  box-shadow: 0 20px 36px rgba(15, 118, 110, 0.08);
  display: grid;
  gap: 14px;
  padding: 16px;
  position: sticky;
  top: 18px;
}

.community-field--compact {
  gap: 8px;
}

.community-field--compact input[type="number"] {
  max-width: 112px;
}

.community-grammar-editor {
  background: rgba(248, 250, 252, 0.72);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 22px;
  display: grid;
  gap: 16px;
  padding: 18px;
}

.community-grammar-editor__list {
  display: grid;
  gap: 14px;
}

.community-grammar-editor__footer {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

.community-grammar-editor__add {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.community-grammar-editor__add svg {
  height: 18px;
  width: 18px;
}

.community-grammar-editor__item {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 18px;
  display: grid;
  gap: 14px;
  padding: 16px;
}

.community-grammar-editor__item-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.community-grammar-editor__fields,
.community-grammar-editor__options {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.community-grammar-editor__fields .community-field--full,
.community-grammar-editor__options {
  grid-column: 1 / -1;
}

.community-grammar-editor__mark {
  justify-self: start;
}

.community-grammar-preview__template {
  display: grid;
  gap: 12px;
}

.community-grammar-template {
  background:
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.1), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 20px;
  display: grid;
  gap: 12px;
  padding: 18px;
}

.community-grammar-template strong {
  color: var(--community-ink);
  font-size: 1rem;
}

.community-grammar-template p {
  color: var(--community-soft);
  margin: 0;
}

.community-grammar-template ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
}

.community-grammar-template li {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 12px;
  padding: 9px 10px;
}

.community-grammar-template__prompt,
.community-grammar-template__paragraph {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 14px;
  color: var(--community-ink);
  line-height: 1.7;
  padding: 12px 14px;
}

.community-grammar-blank {
  border-bottom: 2px solid rgba(57, 0, 7, 0.34);
  display: inline-block;
  min-width: 76px;
  transform: translateY(-2px);
}

.community-grammar-blank--small {
  min-width: 46px;
}

.community-grammar-template__chips,
.community-grammar-template__options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-grammar-template__chips span,
.community-grammar-template__options span {
  align-items: center;
  background: rgba(15, 118, 110, 0.1);
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 999px;
  color: var(--community-accent-strong);
  display: inline-flex;
  font-weight: 800;
  min-height: 36px;
  padding: 7px 12px;
}

.community-grammar-template__options span {
  border-radius: 12px;
  justify-content: center;
  min-width: 46px;
}

.community-grammar-template__lines {
  display: grid;
  gap: 12px;
}

.community-grammar-template__lines span {
  border-bottom: 2px solid rgba(15, 118, 110, 0.28);
  display: block;
  height: 28px;
}

.community-public-grammar-list {
  display: grid;
  gap: 10px;
}

.community-public-grammar-item {
  align-items: start;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(57, 0, 7, 0.12);
  border-radius: 0;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 14px 0;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.community-public-grammar-item.is-wrong,
.community-public-grammar-item.is-missing {
  border-bottom-color: rgba(185, 28, 28, 0.22);
}

.community-public-grammar-item.is-correct {
  border-bottom-color: rgba(21, 128, 61, 0.22);
}

.community-public-grammar-item__number {
  align-items: center;
  background: rgba(15, 118, 110, 0.12);
  border-radius: 999px;
  color: var(--community-accent-strong);
  display: inline-flex;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.community-public-grammar-item__body {
  display: grid;
  gap: 12px;
}

.community-public-grammar-prompt {
  color: var(--community-ink);
  font-size: clamp(1.05rem, 1vw, 1.2rem);
  line-height: 2.1;
  margin: 0;
}

.community-public-grammar-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-public-grammar-prompt .community-public-grammar-blank,
.community-public-grammar-prompt .community-public-grammar-blank-placeholder {
  appearance: none;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid rgba(57, 0, 7, 0.48) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--community-ink);
  display: inline-block;
  font: inherit;
  font-weight: 800;
  height: 1.45em;
  line-height: 1.2;
  margin: 0 0.2em;
  max-width: 13rem;
  min-height: 0;
  min-width: 0;
  padding: 0 0.2em 0.05em;
  text-align: center;
  transform: translateY(-1px);
  vertical-align: baseline;
  width: clamp(5.5rem, var(--blank-chars, 10ch), 13rem);
}

input.community-public-grammar-blank {
  box-sizing: content-box;
  max-width: 13rem;
  min-width: 0;
  width: clamp(5.5rem, var(--blank-chars, 10ch), 13rem);
}

.community-public-grammar-prompt .community-public-grammar-blank:focus {
  background: transparent !important;
  border-bottom-color: #0f766e !important;
  box-shadow: none !important;
  outline: none !important;
}

.community-public-grammar-prompt .community-public-grammar-blank.is-correct {
  border-bottom-color: #15803d;
  color: #166534;
}

.community-public-grammar-prompt .community-public-grammar-blank.is-wrong {
  border-bottom-color: #b91c1c;
  color: #991b1b;
}

.community-public-grammar-options button,
.community-public-grammar-options span {
  background: rgba(248, 250, 252, 0.94);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 12px;
  color: var(--community-ink);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  min-height: 34px;
  padding: 7px 12px;
}

.community-public-grammar-options button:hover,
.community-public-grammar-options button.is-selected {
  border-color: rgba(15, 118, 110, 0.28);
  box-shadow: 0 10px 20px rgba(15, 118, 110, 0.08);
}

.community-public-grammar-options button.is-wrong {
  background: rgba(254, 226, 226, 0.8);
  border-color: rgba(185, 28, 28, 0.28);
  color: #991b1b;
}

.community-public-grammar-options button.is-correct,
.community-public-grammar-options span.is-correct {
  background: rgba(15, 118, 110, 0.12);
  border-color: rgba(15, 118, 110, 0.22);
  color: var(--community-accent-strong);
}

.community-public-grammar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-public-grammar-toolbar {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin: 0 auto 14px;
  max-width: min(92vw, 1320px);
}

.community-public-grammar-print-button {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.community-public-grammar-print-button svg {
  height: 18px;
  width: 18px;
}

.community-public-grammar-footer {
  align-items: stretch;
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.community-public-grammar-footer > .community-button[data-community-grammar-check] {
  background: linear-gradient(135deg, #5e1414, #390007) !important;
  border: 0 !important;
  box-shadow: 0 18px 34px rgba(57, 0, 7, 0.2) !important;
  color: #fff !important;
  justify-self: start;
}

.community-public-grammar-footer > .community-button[data-community-grammar-check]:hover,
.community-public-grammar-footer > .community-button[data-community-grammar-check]:focus-visible {
  background: linear-gradient(135deg, #7a1b1b, #250004) !important;
  color: #fff !important;
}

.community-public-grammar-result {
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 16px;
  color: var(--community-ink);
  margin: 0;
  padding: 14px;
}

.community-public-grammar-result__head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.community-public-grammar-result__head strong,
.community-public-grammar-result__head span {
  font-weight: 900;
}

.community-public-grammar-result p {
  color: var(--community-soft);
  margin: 8px 0 0;
}

.community-public-grammar-progress {
  background: rgba(148, 163, 184, 0.18);
  border-radius: 999px;
  height: 8px;
  margin-top: 10px;
  overflow: hidden;
}

.community-public-grammar-progress span {
  background: linear-gradient(90deg, #0f766e, #5e1414);
  border-radius: inherit;
  display: block;
  height: 100%;
  transition: width 0.3s ease;
  width: 0;
}

.community-grammar-confetti {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: fixed;
  z-index: 9999;
}

.community-grammar-confetti span {
  animation: community-confetti-fall 950ms ease-out forwards;
  background: var(--confetti-color, #0f766e);
  border-radius: 2px;
  height: 12px;
  left: var(--confetti-left, 50%);
  position: absolute;
  top: -18px;
  transform: translate3d(0, 0, 0) rotate(0deg);
  width: 7px;
}

@keyframes community-confetti-fall {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0deg);
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--confetti-drift, 0), 105vh, 0) rotate(620deg);
  }
}

.community-public-grammar-result.is-perfect {
  background: rgba(240, 253, 244, 0.9);
  border-color: rgba(21, 128, 61, 0.22);
}

.community-public-grammar-result.is-perfect .community-public-grammar-progress span {
  background: linear-gradient(90deg, #16a34a, #15803d);
}

.community-public-grammar-result.is-incomplete {
  background: rgba(255, 251, 235, 0.9);
  border-color: rgba(217, 119, 6, 0.22);
}

.community-builder-block--h5p {
  gap: 18px;
}

.community-h5p-library-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.community-h5p-library-card {
  cursor: pointer;
  display: grid;
  gap: 8px;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 20px;
  padding: 16px;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.community-h5p-library-card input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.community-h5p-library-card small {
  color: var(--community-soft);
}

.community-h5p-library-card.is-active,
.community-h5p-library-card:hover {
  background: linear-gradient(135deg, rgba(240, 253, 250, 0.98), rgba(255, 255, 255, 0.96));
  border-color: rgba(15, 118, 110, 0.28);
  box-shadow: 0 18px 32px rgba(15, 118, 110, 0.08);
  transform: translateY(-1px);
}

.community-h5p-selected-order {
  background: linear-gradient(135deg, rgba(255, 251, 235, 0.96), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(245, 158, 11, 0.24);
  border-radius: 22px;
  box-shadow: 0 18px 36px rgba(92, 35, 13, 0.08);
  display: grid;
  gap: 12px;
  padding: 16px;
}

.community-h5p-selected-order[hidden] {
  display: none !important;
}

.community-h5p-selected-order__head strong,
.community-h5p-selected-order__head span {
  display: block;
}

.community-h5p-selected-order__head strong {
  color: var(--community-ink);
}

.community-h5p-selected-order__head span {
  color: var(--community-soft);
  font-size: 0.9rem;
  margin-top: 2px;
}

.community-h5p-selected-order__list {
  display: grid;
  gap: 10px;
}

.community-h5p-order-row {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 16px;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 10px 12px;
}

.community-h5p-order-row__number {
  align-items: center;
  background: var(--community-accent);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.community-h5p-order-row__text {
  min-width: 0;
}

.community-h5p-order-row__text strong,
.community-h5p-order-row__text small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-h5p-order-row__text small {
  color: var(--community-soft);
  font-size: 0.78rem;
}

.community-h5p-order-row__actions {
  display: inline-flex;
  gap: 6px;
}

.community-h5p-order-row__actions button {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(15, 118, 110, 0.2);
  border-radius: 999px;
  color: var(--community-accent-strong);
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 900;
  height: 32px;
  justify-content: center;
  line-height: 1;
  width: 32px;
}

.community-h5p-order-row__actions button:hover:not(:disabled),
.community-h5p-order-row__actions button:focus-visible {
  background: var(--community-accent);
  color: #fff;
  outline: none;
}

.community-h5p-order-row__actions button:disabled {
  cursor: default;
  opacity: 0.38;
}

.community-builder-preview--sticky {
  align-self: stretch;
  position: static;
  top: auto;
}

.community-builder-inline-studio {
  align-items: center;
  background: rgba(18, 7, 10, 0.54);
  backdrop-filter: blur(12px);
  inset: 0;
  justify-content: center;
  padding: 28px;
  position: fixed;
  z-index: 100000;
}

.community-builder-inline-studio[hidden] {
  display: none !important;
}

.community-h5p-modal-open {
  overflow: hidden;
}

.community-builder-inline-studio__dialog {
  background: linear-gradient(135deg, rgba(255, 252, 251, 0.98), rgba(252, 244, 243, 0.98));
  border: 1px solid rgba(88, 19, 32, 0.16);
  border-radius: 24px;
  box-shadow: 0 30px 80px rgba(40, 11, 20, 0.28);
  display: grid;
  gap: 16px;
  max-height: min(920px, calc(100vh - 56px));
  max-width: 1180px;
  overflow: auto;
  padding: 22px;
  width: min(1180px, calc(100vw - 56px));
}

.community-builder-inline-studio__head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.community-builder-inline-studio__head h5 {
  margin: 0 0 8px;
}

.community-h5p-modal-picker {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(88, 19, 32, 0.12);
  border-radius: 18px;
  display: grid;
  gap: 14px;
  padding: 16px;
}

.community-h5p-modal-picker[hidden] {
  display: none !important;
}

.community-h5p-modal-picker__head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.community-h5p-modal-picker__head h3 {
  margin: 0;
}

.community-h5p-modal-picker__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.community-h5p-modal-picker__empty {
  grid-column: 1 / -1;
}

.community-h5p-modal-insert-card {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(88, 19, 32, 0.14);
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 14px;
  text-align: left;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.community-h5p-modal-insert-card:hover,
.community-h5p-modal-insert-card:focus {
  border-color: rgba(88, 19, 32, 0.32);
  box-shadow: 0 18px 36px rgba(88, 19, 32, 0.12);
  transform: translateY(-1px);
}

.community-h5p-modal-insert-card__meta {
  display: grid;
  gap: 4px;
}

.community-h5p-modal-insert-card__meta strong {
  color: var(--community-ink);
}

.community-h5p-modal-insert-card__meta small {
  color: var(--community-muted);
}

.community-h5p-modal-insert-card__cta {
  background: #581320;
  border-radius: 999px;
  color: #fff;
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  padding: 10px 16px;
  text-transform: uppercase;
}

.community-meta-chip--accent {
  background: rgba(255, 247, 237, 0.94);
  border-color: rgba(251, 146, 60, 0.22);
  color: #9a3412;
}

.community-builder-preview__quick-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.community-builder-preview__quick-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 20px;
  display: grid;
  gap: 8px;
  padding: 18px;
}

.community-builder-preview__quick-card strong {
  color: var(--community-ink);
}

.community-activity-page {
  display: grid;
  gap: 32px;
  margin: 0 auto;
  max-width: 1440px;
  padding: clamp(32px, 4vw, 64px) 48px 88px;
  width: 100%;
}

body.single-espamilka_activity,
body.single-espamilka_activity #page,
body.single-espamilka_activity .site,
body.single-espamilka_activity .site-content,
body.single-espamilka_activity #content {
  background:
    radial-gradient(circle at 10% 4%, rgba(255, 228, 181, 0.52), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(236, 253, 245, 0.62), transparent 28%),
    linear-gradient(135deg, #fff7ed 0%, #fffdf8 46%, #f8fafc 100%) !important;
}

.community-public-activity {
  display: grid;
  gap: 32px;
  width: 100%;
}

.community-public-activity--clean {
  gap: 26px;
}

.community-public-activity__hero {
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 217, 164, 0.22), transparent 34%),
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.11), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 251, 245, 0.97));
  border: 1px solid rgba(57, 0, 7, 0.08);
  border-radius: 30px;
  box-shadow:
    0 30px 80px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  display: grid;
  gap: 26px;
  padding: clamp(24px, 4vw, 40px);
  position: relative;
  overflow: hidden;
}

.community-public-activity__hero::after {
  background: linear-gradient(90deg, rgba(57, 0, 7, 0.8), rgba(15, 118, 110, 0.16), transparent);
  border-radius: 999px;
  content: "";
  display: block;
  height: 1px;
  left: clamp(24px, 4vw, 40px);
  opacity: 0.4;
  position: absolute;
  right: clamp(24px, 4vw, 40px);
  top: 0;
}

.community-public-activity__actions {
  display: flex;
  justify-content: flex-end;
}

.community-public-activity__title-block {
  display: grid;
  gap: 18px;
}

.community-public-activity__title-block .community-builder-preview__page-meta,
.community-public-activity__title-block .community-public-activity__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-public-activity__title-block h1 {
  color: #390007;
  font-size: clamp(2.8rem, 6vw, 4.8rem);
  letter-spacing: 0;
  line-height: 0.92;
  margin: 0;
  max-width: 12ch;
}

body.single-espamilka_activity .community-activity-page {
  max-width: 1180px;
}

body.single-espamilka_activity .community-public-activity__hero {
  gap: 22px;
}

body.single-espamilka_activity .community-builder-preview__topline {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

body.single-espamilka_activity .community-builder-preview__page-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.single-espamilka_activity .community-public-activity__title-block {
  justify-items: center;
  text-align: center;
}

body.single-espamilka_activity .community-public-activity__title-block h1 {
  font-size: clamp(2.6rem, 5vw, 4.3rem);
  line-height: 1.02;
  max-width: 16ch;
  text-align: center;
}

body.single-espamilka_activity .community-builder-preview__author {
  flex: 0 0 auto;
  justify-self: start;
  text-align: left;
}

body.single-espamilka_activity .community-builder-preview__author img {
  height: 52px;
  width: 52px;
}

.community-public-activity__cover {
  background: rgba(248, 250, 252, 0.88);
  border: 1px solid rgba(15, 23, 42, 0.05);
  border-radius: 28px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.community-public-activity__cover-image {
  display: block;
  min-height: 280px;
  max-height: 520px;
  object-fit: cover;
  width: 100%;
}

.community-public-activity__summary {
  color: rgba(34, 40, 51, 0.78);
  font-size: clamp(1.05rem, 0.28vw + 0.98rem, 1.14rem);
  line-height: 1.9;
  margin: 0;
  max-width: 70ch;
}

.community-public-activity__section {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(252, 252, 253, 0.975));
  border: 1px solid rgba(15, 23, 42, 0.05);
  border-radius: 28px;
  box-shadow:
    0 24px 64px rgba(15, 23, 42, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
  padding: clamp(24px, 4vw, 40px);
}

.community-public-activity__section--reading {
  background:
    radial-gradient(circle at top right, rgba(88, 19, 32, 0.05), transparent 26%),
    linear-gradient(180deg, #fff, #fffafa);
  border-left: 4px solid #390007;
}

.community-public-activity__section--grammar {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(57, 0, 7, 0.08);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.035);
}

.community-public-activity__section h2 {
  color: #390007;
  font-size: clamp(2rem, 2vw, 2.8rem);
  line-height: 0.98;
  margin: 0 0 18px;
}

.community-public-activity__section h3 {
  color: #1f2937;
  font-size: clamp(1.18rem, 0.7vw + 1rem, 1.45rem);
  line-height: 1.18;
  margin: 0 0 12px;
}

.community-public-activity__prose {
  display: grid;
  gap: 18px;
  font-size: clamp(1.08rem, 0.58vw + 0.94rem, 1.22rem);
  line-height: 1.78;
  width: 100%;
}

.community-public-activity__prose > p,
.community-public-activity__prose > ul,
.community-public-activity__prose > ol,
.community-public-activity__prose > blockquote,
.community-public-activity__prose > h2,
.community-public-activity__prose > h3,
.community-public-activity__prose > hr {
  max-width: 78ch;
}

.community-public-activity__prose p,
.community-public-activity__prose ul,
.community-public-activity__prose ol,
.community-public-activity__prose blockquote,
.community-public-activity__prose h2,
.community-public-activity__prose h3,
.community-public-activity__prose hr {
  margin: 0;
}

.community-public-activity__prose p {
  color: #222833;
}

.community-public-activity__prose strong {
  color: #390007;
  font-weight: 800;
}

.community-public-activity__prose a {
  color: #0f766e;
  text-decoration-color: rgba(15, 118, 110, 0.35);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
  transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.community-public-activity__prose a:hover,
.community-public-activity__prose a:focus {
  color: #115e59;
  text-decoration-color: rgba(15, 118, 110, 0.62);
}

.community-public-activity__prose ul,
.community-public-activity__prose ol {
  display: grid;
  gap: 10px;
  padding-left: 1.4rem;
}

.community-public-activity__prose li::marker {
  color: rgba(57, 0, 7, 0.78);
}

.community-public-activity__prose hr {
  border: 0;
  border-top: 1px solid rgba(57, 0, 7, 0.12);
  margin: 8px 0;
}

.community-public-activity__prose blockquote {
  background: linear-gradient(135deg, rgba(57, 0, 7, 0.04), rgba(15, 118, 110, 0.04));
  border-left: 4px solid rgba(57, 0, 7, 0.42);
  border-radius: 18px;
  color: #334155;
  padding: 18px 20px;
}

.community-public-activity__prose .resaltado {
  background: rgba(57, 0, 7, 0.08);
  border-radius: 6px;
  color: #390007;
  padding: 0 0.18em;
}

.community-public-activity__prose > *:first-child {
  margin-top: 0;
}

.community-public-activity__prose > *:last-child {
  margin-bottom: 0;
}

.community-public-activity__h5p-inline {
  margin: 28px 0;
  max-width: none;
  width: 100%;
}

.community-public-activity__h5p-inline .h5p-content,
.community-public-activity__h5p-inline .h5p-iframe-wrapper,
.community-public-activity__h5p-inline iframe {
  width: 100%;
}

.community-public-activity__prose .community-inline-h5p,
.community-public-activity__h5p-inline .community-inline-h5p {
  background:
    radial-gradient(circle at top right, rgba(88, 19, 32, 0.06), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(252, 247, 247, 0.98));
  border: 1px solid rgba(88, 19, 32, 0.12);
  border-radius: 26px;
  box-shadow: 0 20px 48px rgba(57, 0, 7, 0.08);
  gap: 16px;
  margin: 28px 0;
  padding: 22px;
  position: relative;
}

.community-public-activity__prose .community-inline-h5p::before,
.community-public-activity__h5p-inline .community-inline-h5p::before {
  color: rgba(57, 0, 7, 0.78);
  content: "Actividad interactiva";
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  margin-bottom: 2px;
  text-transform: uppercase;
}

.community-public-activity__prose .community-inline-h5p__toolbar,
.community-public-activity__h5p-inline .community-inline-h5p__toolbar,
.community-public-activity__prose .community-inline-h5p__drag,
.community-public-activity__h5p-inline .community-inline-h5p__drag,
.community-public-activity__prose .community-inline-h5p__remove,
.community-public-activity__h5p-inline .community-inline-h5p__remove {
  display: none !important;
}

.community-public-activity__prose .community-inline-h5p__meta,
.community-public-activity__h5p-inline .community-inline-h5p__meta {
  gap: 6px;
}

.community-public-activity__prose .community-inline-h5p__meta strong,
.community-public-activity__h5p-inline .community-inline-h5p__meta strong {
  color: #390007;
  font-size: clamp(1.1rem, 0.5vw + 1rem, 1.32rem);
}

.community-public-activity__prose .community-inline-h5p__meta span,
.community-public-activity__h5p-inline .community-inline-h5p__meta span {
  color: rgba(34, 40, 51, 0.72);
  font-size: 0.95rem;
}

.community-public-activity__prose .community-inline-h5p__frame,
.community-public-activity__h5p-inline .community-inline-h5p__frame {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  min-height: 460px;
}

.community-public-activity__lexicon {
  background:
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.05), transparent 26%),
    linear-gradient(180deg, #fffafa, #ffffff);
  border-left: 4px solid #390007;
}

.community-public-activity__lexicon h2 {
  color: #390007;
  margin-top: 0;
}

.community-public-activity__lexicon ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.community-public-activity__lexicon li::before {
  content: none;
}

.community-public-activity__lexicon li {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(57, 0, 7, 0.08);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035);
  color: #253041;
  line-height: 1.45;
  list-style: none;
  padding: 10px 13px;
  text-align: left;
  word-spacing: normal;
}

.community-public-activity__lexicon li strong {
  color: #390007;
  display: inline;
  font-weight: 850;
  margin-right: 0.32em;
}

body.single-espamilka_activity .community-public-activity__lexicon {
  background:
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.06), transparent 28%),
    linear-gradient(180deg, #fffdfb, #ffffff);
  border-left-color: #0f766e;
}

body.single-espamilka_activity .community-public-activity__lexicon ul {
  gap: 0;
  grid-template-columns: 1fr;
}

body.single-espamilka_activity .community-public-activity__lexicon li {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(57, 0, 7, 0.1);
  border-radius: 0;
  box-shadow: none;
  color: #253041;
  font-size: clamp(1.02rem, 0.35vw + 0.96rem, 1.14rem);
  line-height: 1.55;
  padding: 11px 0;
}

body.single-espamilka_activity .community-public-activity__lexicon li:last-child {
  border-bottom: 0;
}

body.single-espamilka_activity .community-public-activity__lexicon li::before {
  content: none !important;
}

body.single-espamilka_activity .community-public-activity__lexicon li strong {
  color: #390007;
  font-size: 1.02em;
}

.community-public-activity .community-meta-chip {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(57, 0, 7, 0.1);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  color: #253041;
  font-weight: 700;
}

.community-public-activity .community-meta-chip a {
  color: inherit;
  text-decoration: none;
}

.community-public-activity .titulo-interes {
  color: #390007;
  font-size: clamp(1.8rem, 1.6vw, 2.4rem);
  margin: 0 0 18px;
}

.community-public-activity .interes-container {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.community-public-activity .interes-item,
.community-public-activity .community-builder-preview__related-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(249, 250, 251, 0.97));
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 24px;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  text-decoration: none;
  transform: translateY(0);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.community-public-activity .interes-item:hover,
.community-public-activity .interes-item:focus,
.community-public-activity .community-builder-preview__related-card:hover,
.community-public-activity .community-builder-preview__related-card:focus {
  border-color: rgba(57, 0, 7, 0.14);
  box-shadow: 0 28px 60px rgba(57, 0, 7, 0.08);
  transform: translateY(-4px);
}

.community-public-activity .interes-item img,
.community-public-activity .community-builder-preview__related-card img {
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: cover;
  width: 100%;
}

.community-public-activity .interes-item h3,
.community-public-activity .community-builder-preview__related-card h3,
.community-public-activity .community-builder-preview__related-card h4 {
  color: #172033;
  margin: 18px 18px 8px;
}

.community-public-activity .interes-item p,
.community-public-activity .community-builder-preview__related-card p {
  color: rgba(34, 40, 51, 0.68);
  margin: 0 18px 18px;
}

.community-builder-footer {
  margin-top: 8px;
}

.community-auth-shell {
  --auth-maroon: #4b1018;
  --auth-maroon-deep: #2b080d;
  --auth-maroon-soft: #7a2d38;
  --auth-cream: #fff8f3;
  --auth-mist: #f8eef0;
  background:
    radial-gradient(circle at 12% 8%, rgba(122, 45, 56, 0.18), transparent 34%),
    radial-gradient(circle at 88% 10%, rgba(15, 118, 110, 0.12), transparent 30%),
    linear-gradient(135deg, rgba(255, 248, 243, 0.98), rgba(255, 255, 255, 0.96) 50%, rgba(248, 238, 240, 0.92));
  border: 1px solid rgba(75, 16, 24, 0.12);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(43, 8, 13, 0.1);
  color: #1f2937;
  display: grid;
  gap: 26px;
  max-width: 100%;
  overflow: hidden;
  padding: 28px;
  width: 100%;
}

.community-auth-hero {
  max-width: 760px;
}

.community-auth-hero h2,
.community-auth-card__head h3,
.community-auth-aside h3 {
  color: var(--auth-maroon-deep);
  margin: 0;
}

.community-auth-hero h2 {
  font-size: 3.2rem;
  line-height: 1.04;
}

.community-auth-hero .community-muted {
  color: #49343a;
  font-size: 1.05rem;
  line-height: 1.7;
  margin-top: 12px;
}

.community-auth-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.community-auth-hero__badges span {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(75, 16, 24, 0.14);
  border-radius: 999px;
  color: var(--auth-maroon);
  font-size: 0.9rem;
  font-weight: 800;
  padding: 9px 13px;
}

.community-auth-layout {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.78fr);
  min-width: 0;
}

.community-auth-card,
.community-auth-aside {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(75, 16, 24, 0.12);
  border-radius: 24px;
  box-shadow: 0 20px 54px rgba(43, 8, 13, 0.08);
  min-width: 0;
  padding: 24px;
}

.community-auth-card {
  backdrop-filter: blur(10px);
}

.community-auth-card__head {
  display: grid;
  gap: 8px;
  margin: 22px 0 18px;
}

.community-auth-card__head h3,
.community-auth-aside h3 {
  font-size: 1.55rem;
}

.community-auth-tabs {
  background: rgba(75, 16, 24, 0.06);
  border: 1px solid rgba(75, 16, 24, 0.1);
  border-radius: 999px;
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 4px;
}

.community-auth-tab {
  border-radius: 999px;
  color: var(--auth-maroon);
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  text-decoration: none;
}

.community-auth-tab.is-active {
  background: #fff;
  box-shadow: 0 10px 26px rgba(43, 8, 13, 0.1);
  color: var(--auth-maroon-deep);
}

.community-social-auth {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.community-social-auth__button {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(75, 16, 24, 0.14);
  border-radius: 16px;
  color: #1f2937;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  gap: 10px;
  justify-content: center;
  min-height: 58px;
  padding: 12px;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.community-social-auth__button:hover:not([disabled]),
.community-social-auth__button:focus-visible:not([disabled]) {
  border-color: rgba(75, 16, 24, 0.32);
  box-shadow: 0 16px 34px rgba(43, 8, 13, 0.1);
  transform: translateY(-1px);
}

.community-social-auth__button[disabled] {
  cursor: not-allowed;
  opacity: 0.58;
}

.community-social-auth__icon {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.community-social-auth__button--google {
  border-color: #dadce0;
  border-radius: 4px;
  color: #3c4043;
  font-family: Roboto, Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  min-height: 42px;
  padding: 9px 12px;
}

.community-social-auth__button--google .community-social-auth__icon {
  height: 18px;
  width: 18px;
}

.community-social-auth__google-mark {
  display: block;
  height: 18px;
  width: 18px;
}

.community-social-auth__button--facebook .community-social-auth__icon {
  background: #1877f2;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 1.25rem;
}

.community-auth-divider {
  align-items: center;
  color: #72545a;
  display: grid;
  font-size: 0.86rem;
  font-weight: 800;
  gap: 14px;
  grid-template-columns: 1fr auto 1fr;
  margin: 20px 0;
}

.community-auth-divider::before,
.community-auth-divider::after {
  background: rgba(75, 16, 24, 0.12);
  content: "";
  height: 1px;
}

.community-form--auth {
  display: grid;
  gap: 18px;
}

.community-form--auth .community-field span,
.community-field__label-row > span {
  color: #2b080d;
  font-weight: 800;
}

.community-form--auth .community-field input,
.community-form--auth .community-field select {
  border-color: rgba(75, 16, 24, 0.16);
  min-height: 56px;
}

.community-form--auth .community-field input:focus,
.community-form--auth .community-field select:focus {
  border-color: rgba(75, 16, 24, 0.44);
  box-shadow: 0 0 0 4px rgba(75, 16, 24, 0.1);
}

.community-field__label-row {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.community-field__label-row a,
.community-auth-switch a {
  color: var(--auth-maroon);
  font-weight: 900;
  text-decoration: none;
}

.community-field__label-row a:hover,
.community-auth-switch a:hover {
  text-decoration: underline;
}

.community-form__footer--auth {
  margin-top: 0;
}

.community-form__footer--auth .community-button,
.community-auth-shell .community-button {
  background: linear-gradient(135deg, var(--auth-maroon-soft), var(--auth-maroon-deep));
  box-shadow: 0 18px 34px rgba(75, 16, 24, 0.24);
  min-height: 54px;
}

.community-auth-shell .community-button--ghost {
  background: #fff;
  border-color: rgba(75, 16, 24, 0.22);
  color: var(--auth-maroon);
  box-shadow: none;
}

.community-auth-switch,
.community-auth-smallprint {
  color: #72545a;
  margin: 18px 0 0;
  text-align: center;
}

.community-auth-aside {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 96px;
}

.community-auth-aside__top {
  display: grid;
  gap: 8px;
}

.community-auth-benefit {
  background:
    linear-gradient(135deg, rgba(255, 248, 243, 0.96), rgba(255, 255, 255, 0.94));
  border: 1px solid rgba(75, 16, 24, 0.1);
  border-radius: 18px;
  display: grid;
  gap: 6px;
  padding: 16px;
}

.community-auth-benefit strong {
  color: var(--auth-maroon-deep);
}

.community-auth-benefit span {
  color: #72545a;
}

@media (max-width: 1080px) {
  .community-activity-page {
    padding-inline: 28px;
  }

  .community-public-activity .interes-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .community-dashboard-app__shell,
  .community-builder-layout {
    grid-template-columns: 1fr;
  }

  .community-grammar-mode-layout {
    grid-template-columns: 1fr;
  }

  .community-grammar-mode-preview {
    position: static;
  }

  .community-grammar-editor__fields,
  .community-grammar-editor__options {
    grid-template-columns: 1fr;
  }

  .community-dashboard-sidebar,
  .community-builder-preview--sticky {
    position: static;
  }

  .community-dashboard-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .community-auth-layout {
    grid-template-columns: 1fr;
  }

  .community-auth-aside {
    position: static;
  }
}

@media (max-width: 782px) {
  .community-activity-page {
    gap: 22px;
    padding: 24px 14px 56px;
  }

  .community-public-activity__hero,
  .community-public-activity__section {
    border-radius: 22px;
  }

  .community-public-activity__title-block h1 {
    max-width: none;
  }

  .community-public-activity .interes-container {
    grid-template-columns: 1fr;
  }

  .community-public-activity__prose > p,
  .community-public-activity__prose > ul,
  .community-public-activity__prose > ol,
  .community-public-activity__prose > blockquote {
    max-width: none;
  }

  .community-panel {
    border-radius: 22px;
    padding: 22px;
  }

  .community-panel__header,
  .community-submission-card,
  .community-form__footer,
  .community-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .community-form__grid {
    grid-template-columns: 1fr;
  }

  .community-testing-banner {
    grid-template-columns: 1fr;
  }

  .community-testing-banner__badge {
    min-height: 36px;
  }

  .community-dashboard-layout {
    grid-template-columns: 1fr;
  }

  .community-dashboard-glance {
    grid-template-columns: 1fr;
  }

  .community-country-suggestion {
    align-items: flex-start;
    flex-direction: column;
  }

  .community-directory-banner,
  .community-directory-head,
  .community-directory-card {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }

  .community-form-section--split,
  .community-editor-shell__bar {
    align-items: flex-start;
    flex-direction: column;
  }

  .community-title-row,
  .community-profile-meta {
    width: 100%;
  }

  .community-profile-photo--dashboard img {
    height: 110px;
    width: 110px;
  }

  .community-profile-photo__badge {
    bottom: -8px;
    font-size: 0.68rem;
    left: 50%;
    max-width: min(150px, calc(100vw - 32px));
    min-height: 30px;
    padding: 7px 10px;
    right: auto;
    top: auto;
    transform: translateX(-50%);
  }

  .community-role-badge {
    font-size: 0.72rem;
    gap: 6px;
    line-height: 1.15;
    padding: 7px 10px;
  }

  .community-profile-actions {
    width: 100%;
  }

  .community-button {
    width: 100%;
  }

  .community-profile-photo--large img {
    height: 120px;
    width: 120px;
  }

  .community-builder-panels,
  .community-builder-panel,
  .community-builder-support,
  .community-builder-preview {
    padding: 18px;
  }

  .community-builder-note,
  .community-h5p-linker__head,
  .community-editor-h5p-panel__head,
  .community-builder-preview__topline,
  .community-builder-preview__section-head,
  .community-builder-preview__author,
  .community-public-activity__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .community-h5p-workspace {
    border-radius: 22px;
    padding: 18px;
  }

  .community-builder-inline-studio {
    padding: 12px;
  }

  .community-builder-inline-studio__dialog {
    border-radius: 18px;
    max-height: calc(100vh - 24px);
    padding: 16px;
    width: calc(100vw - 24px);
  }

  .community-h5p-workspace__header {
    flex-direction: column;
  }

  .community-h5p-workspace__frame,
  .community-h5p-workspace__iframe {
    min-height: 640px;
  }

  .community-dashboard-topbar,
  .community-builder-header,
  .community-dashboard-section-head,
  .community-builder-step__head,
  .community-builder-block__head,
  .community-activity-card__head,
  .community-activity-card__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .community-dashboard-topbar__actions,
  .community-dashboard-switcher {
    width: 100%;
  }

  .community-dashboard-topbar__actions {
    align-items: stretch;
  }

  .community-dashboard-switcher {
    justify-content: space-between;
  }

  .community-dashboard-switcher__item {
    flex: 1 1 0;
    padding-inline: 8px;
  }

  .community-dashboard-stats,
  .community-activity-card-grid,
  .community-h5p-library-grid {
    grid-template-columns: 1fr;
  }

  .community-public-activity__actions .community-button {
    width: 100%;
  }

  body.single-espamilka_activity .community-builder-preview__topline {
    align-items: flex-start;
    flex-direction: column;
  }

  body.single-espamilka_activity .community-builder-preview__author {
    align-items: center;
    flex-direction: row;
    text-align: left;
  }

  .community-dashboard-sidebar {
    padding: 18px 16px;
  }

  .community-auth-shell {
    border-radius: 22px;
    gap: 20px;
    padding: 18px;
  }

  .community-auth-card,
  .community-auth-aside {
    padding: 18px;
  }

  .community-auth-hero h2 {
    font-size: 2.2rem;
  }

  .community-social-auth {
    grid-template-columns: 1fr;
  }

  .community-field__label-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 480px) {
  .community-auth-shell {
    border-radius: 18px;
    margin-inline: auto;
    padding: 14px;
  }

  .community-auth-card,
  .community-auth-aside {
    border-radius: 18px;
    padding: 16px 14px;
  }

  .community-auth-hero h2 {
    font-size: 1.9rem;
  }

  .community-auth-hero .community-muted {
    font-size: 0.98rem;
  }

  .community-auth-hero__badges {
    gap: 8px;
  }

  .community-auth-hero__badges span {
    font-size: 0.78rem;
    padding: 7px 10px;
  }

  .community-auth-tabs {
    border-radius: 18px;
  }

  .community-auth-tab {
    min-height: 40px;
    padding: 9px 10px;
  }

  .community-form-section--split {
    gap: 14px;
  }

  .community-toggle-field,
  .community-toggle-field__ui {
    width: 100%;
  }

  .community-toggle-field__ui {
    justify-content: space-between;
  }

  .community-profile-photo--dashboard img {
    height: 96px;
    width: 96px;
  }

  .community-profile-photo__badge {
    font-size: 0.62rem;
    min-height: 28px;
    padding: 6px 9px;
  }
}
