/* Focused exam-prep polish shared by practice, mock review and mistakes. */
:root { --workspace-sidebar-width: 268px; }
.library-mode-nav { flex: 0 0 auto; padding: 0 12px; }
.library-mode-nav .library-group { margin-bottom: 5px; }
.library-mode-nav .library-group-trigger { min-height: 53px; }
.library-tools { margin: 0 12px 10px; padding-top: 0; border-top: 0; }
.library-tool-link { min-height: 53px; padding-block: 7px; }
.library-tree { padding-bottom: 8px; }
.library-children { padding: 0; border-top: 0; }
.library-list-label { display:flex; justify-content:space-between; padding:9px 8px; color:#b5cadb; font-size:11px; }
.library-children .chapter-button { min-height:43px; padding-inline:6px; gap:7px; }
.chapter-count { font-variant-numeric:tabular-nums; white-space:nowrap; }
.sidebar .brand { padding-block:18px; }
.sidebar-footer { margin-block:6px 10px; padding:10px; }
.source-note { font-size:10px; }
.content-wrap, .collection-view { width:min(100% - 40px, 960px); margin:24px auto 105px; }
.question-panel { padding:26px 28px; }
.question-meta { margin-bottom:18px; }
.question-title { font-size:23px; line-height:1.65; font-weight:650; }
.question-id { color:#7e8b9b; font-size:11px; }
.options-list { gap:10px; margin-top:20px; }
.option-label { min-height:58px; padding:12px 15px; }
.option-text { font-size:16px; line-height:1.7; }
.inline-analysis { padding:18px; margin-top:20px; }
.inline-analysis .analysis-card { display:block; }
.inline-analysis .analysis-card-icon { display:none; }
.inline-analysis .analysis-card h3 { margin-top:0; font-size:15px; }
.inline-analysis .reasoning-item, .inline-analysis .reasoning-list > p { font-size:16px; line-height:1.85; }
.inline-analysis .result-banner { margin-bottom:16px; padding-bottom:12px; }
.option-status { background:transparent !important; padding-inline:0; }
.option-label.correct .option-status { font-size:0; }
.option-label.correct .option-status > * { display:none; }
.option-label.correct .option-status::after { content:'✓'; font-size:16px; }
.keyboard-tip { display:none; }
.question-actions, .mistakes-page .question-actions {
  position:fixed; z-index:12; bottom:0; left:var(--workspace-sidebar-width); right:0;
  display:grid; grid-template-columns:120px minmax(0,1fr) 120px; align-items:center;
  margin:0; padding:12px max(22px,calc((100vw - var(--workspace-sidebar-width) - 904px)/2)); gap:12px;
  border-top:1px solid var(--line-200); background:rgba(255,255,255,.97); backdrop-filter:blur(12px);
}
.question-actions .action-primary-group { justify-content:center; flex-wrap:wrap; gap:4px 10px; }
.question-actions > .button, .mistakes-page .question-actions > .button-secondary { display:inline-flex; width:100%; justify-self:stretch; }
.question-actions #nextButton { color:white; background:var(--navy-900); border-color:var(--navy-900); }
.question-actions #nextButton:disabled { opacity:.4; }
.mobile-nav { display:none !important; }
.button-primary { background:var(--navy-900); box-shadow:none; }
.button-primary:hover:not(:disabled) { background:var(--navy-800); }
.topbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 16px; padding:12px 24px; }
.topbar-primary { display:inline-flex !important; min-height:38px; }
.topbar-primary[hidden] { display:none !important; }
.exam-timer { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:8px; border-top:1px solid var(--line-100); color:var(--ink-500); font-size:12px; }
.exam-timer > span { display:flex; align-items:center; gap:10px; min-width:0; }
.exam-timer #timerNote { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.exam-timer strong { color:var(--navy-900); font-size:19px; font-variant-numeric:tabular-nums; flex:0 0 auto; }
.exam-timer .button { min-height:32px; padding:4px 12px; font-size:12px; width:auto; flex:0 0 auto; }
.exam-paused { text-align:center; padding:64px 24px; border:1px solid var(--line-200); border-radius:18px; background:white; }
.exam-paused p { color:var(--ink-500); line-height:1.8; }
.review-filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:16px 0; }
.review-filters button { min-height:36px; padding:7px 12px; border:1px solid var(--line-200); border-radius:8px; color:var(--ink-700); background:white; cursor:pointer; }
.review-filters button[aria-pressed='true'] { background:var(--navy-900); border-color:var(--navy-900); color:white; }
.review-filters button:disabled { opacity:.45; cursor:default; }
.review-filters > span { margin-left:auto; font-size:12px; color:var(--ink-500); }
.exam-check-list { display:flex; flex-direction:column; gap:8px; max-height:230px; overflow:auto; margin:16px 0; }
.exam-check-list button { padding:10px 12px; border:1px solid var(--line-200); border-radius:8px; background:white; color:var(--navy-900); text-align:left; cursor:pointer; font:inherit; font-size:13px; }
.exam-check-list button:hover { background:var(--blue-50, #edf5fc); }
.question-number-button.status-incomplete { color:#875900; background:#fff3d4; border-color:#e6c67b; }
.legend-dot.incomplete { background:#e6c67b; }
.question-actions #nextButton { white-space:nowrap; padding-inline:8px; }
.progress-storage-notice { margin:12px 24px; padding:10px 14px; color:#855700; background:#fff3d4; border-radius:8px; }
.mistake-source-overview { border:0; background:transparent; margin:0 0 16px; padding:0 3px; }
.mistake-source-overview h2 { font-size:17px; }
.mistake-source-path { display:none; }
.mistakes-page #sourceDirectoryButton { display:flex; justify-content:center; min-width:95px; white-space:nowrap; }
[data-active-mode='mock'] .inline-analysis { scroll-margin-top:150px; }
[data-active-mode='mock'] .question-directory { top:136px; max-height:calc(100dvh - 230px); }
.pwa-update-bar { bottom:88px; }
.mistakes-page .mistake-total strong { font-size:20px; }
.mistakes-page .workspace-shortcuts { padding-bottom:0; }
@media (max-width:1050px) and (min-width:721px) {
  :root { --workspace-sidebar-width:244px; }
  .topbar { padding-inline:18px; }
}
@media (max-width:720px) {
  .content-wrap, .collection-view { width:100%; margin:0 auto 108px; }
  .question-panel { padding:22px 18px; }
  .question-title { font-size:20px; }
  .topbar { padding:9px 14px; gap:8px; }
  .topbar-left { min-width:0; }
  .topbar .breadcrumb { max-width:33vw; }
  .topbar-primary { min-height:36px; padding:6px 10px; font-size:12px; }
  .topbar-actions { gap:6px; }
  .question-directory-trigger { padding:7px 10px; }
  .question-actions, .mistakes-page .question-actions { left:0; grid-template-columns:88px minmax(0,1fr) 92px; gap:6px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .question-actions .button, .mistakes-page .question-actions .button { min-height:42px; padding:7px 8px; font-size:12px; width:auto; white-space:nowrap; }
  .question-actions .button svg { width:16px; height:16px; }
  .question-actions > .button-secondary, .mistakes-page .question-actions > .button-secondary { display:inline-flex; width:100%; }
  .question-actions #revealButton { min-height:30px; padding-block:3px; }
  .inline-analysis { padding:15px; }
  .inline-analysis .reasoning-list > p, .inline-analysis .reasoning-item { font-size:16px; }
  .review-filters { padding:0 14px; margin-block:14px; }
  .review-filters > span { width:100%; margin:0; }
  .mistake-source-overview { padding:16px 18px 0; }
  .exam-paused { margin:20px 14px; }
  .mistake-total { display:none; }
}
@media (max-width:380px) {
  .topbar .directory-trigger-icon { display:none; }
  .question-actions, .mistakes-page .question-actions { grid-template-columns:78px minmax(0,1fr) 84px; }
  .question-actions .button svg { display:none; }
}
