.auth-modal {
  width: min(460px, 100%);
  background: #fff;
  border-radius: 14px;
  padding: 32px;
  position: relative;
  box-shadow: 0 25px 70px #00142d44;
}
.auth-modal h2 { font-size: 28px; margin: 12px 0 7px; }
.auth-modal p { color: #8c99a8; font-size: 12px; line-height: 1.7; margin: 0 0 22px; }
.auth-modal label { display: grid; gap: 7px; color: #718197; font-size: 11px; font-weight: 700; margin-bottom: 13px; }
.auth-modal input { width: 100%; border: 1px solid #e5ebef; border-radius: 6px; padding: 12px; font: inherit; font-weight: 400; color: #52657c; outline: 0; }
.auth-modal input:focus { border-color: #b9dd40; }
.code-row { display: grid; grid-template-columns: 1fr auto; gap: 9px; align-items: end; }
.code-button { height: 42px; border: 1px solid #dfe7eb; background: #f7fafb; border-radius: 6px; padding: 0 12px; color: #789400; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.code-button:disabled { color: #a4afb8; cursor: not-allowed; }
.auth-submit { width: 100%; margin-top: 6px; }
.auth-message { background: #f2f8e3; color: #71853e; border-radius: 6px; padding: 11px; font-size: 11px; margin-top: 15px; }
.auth-message.error { background: #fff0ee; color: #b75d55; }
.avatar.has-image { background-position: center; background-size: cover; color: transparent; }
.password-field { margin-top: 12px; }
.password-login-button, .profile-edit-button { border: 1px solid #dfe7eb; background: #f7fafb; color: #718197; border-radius: 6px; padding: 10px 13px; font-size: 11px; font-weight: 800; cursor: pointer; }
.password-login-button { width: 100%; margin-top: 2px; }
.forgot-password-button, .link-button { border: 0; background: none; color: #86a300; font-size: 11px; cursor: pointer; }
.forgot-password-button { display: block; margin: 12px auto 0; }
.auth-switch { text-align: center; margin-top: 18px !important; margin-bottom: 0 !important; }
.link-button { padding: 0; font-weight: 800; }
.profile-edit-button { margin-top: 8px; }
@media (max-width: 520px) { .code-row { grid-template-columns: 1fr; } .code-button { width: 100%; } }
.question-images { display: grid; gap: 10px; margin: 0 0 20px; }
.question-images img { display: block; max-width: 100%; max-height: 260px; object-fit: contain; border: 1px solid #edf1f4; border-radius: 7px; background: #fafcfc; }
.explanation p { white-space: pre-line; }
.quiz-status { display: flex; gap: 8px; align-items: center; }
#quizTimer { background: #14243c; color: #dfff5f; }
#quizTimer.urgent { background: #b75d55; color: #fff; }
#chapterTitle { cursor: pointer; }
#chapterTitle:hover { color: #789800; }
.empty-state { color: #8c99a8; font-size: 13px; padding: 25px; }
.quiz-modal.paper-layout { width: min(980px, 100%); max-height: calc(100vh - 40px); overflow: auto; }
.paper-intro { border-bottom: 1px solid #edf1f4; padding-bottom: 18px; }
.paper-intro h2 { margin-bottom: 4px !important; }
.paper-intro p { color: #8c99a8; font-size: 12px; margin: 0; }
.paper-question-list { display: grid; gap: 14px; }
.paper-question { border: 1px solid #e7edf0; border-radius: 9px; padding: 17px; background: #fcfdfd; }
.paper-question h3 { font-size: 14px; line-height: 1.75; margin: 0 0 13px; white-space: pre-line; }
.paper-question img { display: block; max-width: 100%; max-height: 240px; margin: 8px 0 13px; object-fit: contain; }
.paper-answer-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.paper-answer-options label { display: flex; gap: 8px; align-items: flex-start; border: 1px solid #e5ebef; border-radius: 6px; padding: 11px; color: #52657c; font-size: 12px; line-height: 1.5; cursor: pointer; }
.paper-answer-options label:has(input:checked) { border-color: #b9dd40; background: #f1f9d8; }
.paper-answer-options input { margin-top: 3px; accent-color: #86a300; }
.paper-result-head { text-align: center; padding: 8px 0 22px; border-bottom: 1px solid #edf1f4; }
.paper-result-head h2 { margin: 0 0 6px !important; }
.paper-result-head strong { display: block; color: #86a300; font: 800 34px Manrope; }
.paper-result-head p { color: #8c99a8; font-size: 12px; margin: 5px 0 0; }
.paper-results { display: grid; gap: 10px; margin-top: 16px; }
.paper-results article { border-left: 4px solid; border-radius: 6px; padding: 12px 14px; background: #fafcfc; }
.paper-results .result-correct { border-color: #8ec85b; }
.paper-results .result-wrong { border-color: #e79b94; }
.paper-results h3 { font-size: 13px; line-height: 1.65; margin: 0 0 6px; white-space: pre-line; }
.paper-results p, .paper-results small { display: block; color: #687b3e; font-size: 11px; line-height: 1.7; margin: 4px 0 0; white-space: pre-line; }
.paper-results .result-wrong p, .paper-results .result-wrong small { color: #9d6660; }
@media (max-width: 640px) { .paper-answer-options { grid-template-columns: 1fr; } .quiz-modal.paper-layout { max-height: calc(100vh - 20px); padding: 20px; } }
/* Keep the catalog focused on real subject and grade entries. */
.term[hidden] { display: none; }
#practice, #exam, #membership, .exam-card, nav a[href="#exam"], .quick-nav a[href="#exam"] { display: none !important; }
.tools-grid { grid-template-columns: 1fr; }
.hero-panel, .hero-proof { display: none; }
.hero-copy { width: 100%; }
.profile-section { padding: 76px 10% 70px; background: #fafcfc; }
.profile-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.profile-stats article { background: #fff; border: 1px solid #e8eef0; border-radius: 9px; padding: 22px; }
.profile-stats strong, .profile-stats span { display: block; }
.profile-stats strong { font: 800 28px Manrope; color: #14243c; }
.profile-stats span { color: #8c99a8; font-size: 11px; margin-top: 5px; }
.profile-subjects { display: grid; gap: 8px; margin-top: 14px; }
.profile-subjects p { color: #718197; font-size: 12px; margin: 0; }
.chapter-actions { display: flex; align-items: center; gap: 10px; }
.chapter-practice-button { border: 0; border-radius: 6px; padding: 9px 12px; background: #14243c; color: #fff; font-size: 11px; font-weight: 800; cursor: pointer; }
.chapter-practice-button:disabled { background: #dfe6e9; color: #95a2ad; cursor: not-allowed; }
.lesson-card { cursor: default; }
@media (max-width: 800px) { .profile-section { padding-left: 7%; padding-right: 7%; } .profile-stats { grid-template-columns: repeat(2, 1fr); } }
