/* Site-wide glassmorphism for white / milky panels.
 * Loaded after page CSS. Fill/blur come from theme tokens.
 * Use translucent background-color + gradient so backdrop-filter can show.
 */

.glass-panel,
.home-subject-card,
.home-hero__strip,
.home-secondary__inner,
.home-header__link,
.child-panel,
.portal-card,
.portal-card--ghost,
.child-action-card,
.achievement-stat,
.child-header__link,
.child-domain-card,
.ability-node,
.portal-kp-node,
.catalog-domain-card,
.catalog-kp-card,
.child-grade-picker__panel,
.child-grade-picker__option,
.child-map-detail__panel,
.child-subject-progress__card,
.child-home-grid__secondary .child-secondary-nav__link,
.learning-panel,
.learning-header,
.learning-empty,
.learning-back-btn,
.knowledge-card,
.semester-card--disabled,
.grade-panel,
.grade-card--active,
.grade-card--coming,
.subject-header,
.subject-nav-btn,
.subject-nav-btn--home,
.question-panel,
.feedback-panel,
.result-card,
.result-stat,
.result-detail-item,
.practice-header,
.prompt-audio,
.prompt-audio-play,
.option-btn,
.answer-option,
.parent-panel,
.parent-header,
.parent-stat-card,
.parent-empty,
.parent-message-form__textarea,
.admin-panel,
.admin-table-wrap,
.nav-card,
.nav-card--glass,
.empty-state,
.empty-state--glass {
  background-color: var(--glass-fill) !important;
  background-image: var(--glass-gradient) !important;
  background-repeat: no-repeat !important;
  -webkit-backdrop-filter: var(--glass-backdrop) !important;
  backdrop-filter: var(--glass-backdrop) !important;
  border: var(--glass-border) !important;
  border-radius: var(--glass-radius) !important;
  box-shadow: var(--glass-shadow) !important;
  /* Promote to compositor without isolating from backdrop sampling */
  will-change: backdrop-filter;
}

/* Keep dashed “筹备中” affordance */
.semester-card--disabled {
  border: 2px dashed rgba(165, 136, 105, 0.38) !important;
}

/* Colored semester cards stay solid gradients — do not glass them */
.semester-card--available {
  background: linear-gradient(145deg, var(--subject-secondary), var(--subject-primary)) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border: none !important;
  border-radius: 28px !important;
  box-shadow:
    0 16px 30px rgba(122, 69, 20, 0.18),
    inset 0 2px 0 rgba(255, 255, 255, 0.32) !important;
}

/* Selected / correct / wrong answer states keep semantic colors */
.option-btn.is-selected,
.answer-option.is-selected,
.answer-option--selected {
  background: rgba(255, 248, 240, 0.72) !important;
  border-color: rgba(242, 118, 32, 0.55) !important;
}

.option-btn.is-correct,
.answer-option.is-correct,
.answer-option--correct {
  background: rgba(232, 245, 233, 0.78) !important;
  border-color: rgba(76, 175, 80, 0.55) !important;
}

.option-btn.is-wrong,
.answer-option.is-wrong,
.answer-option--wrong {
  background: rgba(255, 235, 238, 0.78) !important;
  border-color: rgba(229, 57, 53, 0.45) !important;
}

.result-detail-item.is-wrong {
  background: rgba(255, 249, 248, 0.55) !important;
  border-color: rgba(229, 57, 53, 0.28) !important;
}

.feedback-panel--correct {
  border-color: rgba(76, 175, 80, 0.45) !important;
}

.feedback-panel--wrong {
  border-color: rgba(229, 57, 53, 0.4) !important;
}

/* Soft transparent section behind home secondary content */
.home-secondary {
  background: transparent !important;
}

/* Keep chip / pill controls rounded */
.home-header__link,
.child-header__link,
.subject-nav-btn,
.subject-nav-btn--home,
.learning-back-btn,
.child-home-grid__secondary .child-secondary-nav__link {
  border-radius: 999px !important;
}

/* Full-bleed page headers: glass fill without floating card radius */
.subject-header,
.learning-header,
.practice-header,
.parent-header {
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
}
