:root {
  --bg: #eef3fb;
  --bg-strong: #0f1a2d;
  --surface: rgba(255, 255, 255, 0.9);
  --surface-strong: #ffffff;
  --line: rgba(17, 24, 39, 0.08);
  --line-strong: rgba(17, 24, 39, 0.14);
  --text: #172033;
  --text-secondary: #5f6c83;
  --accent: #3378ba;
  --accent-soft: rgba(51, 120, 186, 0.12);
  --success: #2f8f4a;
  --warning: #d77d17;
  --danger: #d04545;
  --shadow: 0 16px 42px rgba(15, 26, 45, 0.08);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --content-width: 1200px;
  --section-width: 1480px;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(79, 130, 196, 0.16), transparent 28%),
    radial-gradient(circle at top right, rgba(64, 92, 170, 0.12), transparent 24%),
    linear-gradient(180deg, #f6f9ff 0%, #edf3fb 100%);
}

body.has-modal {
  overflow: hidden;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

a {
  color: inherit;
  text-decoration: none;
}

p {
  margin: 0;
}

.boot-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.boot-card {
  width: min(320px, 100%);
  padding: 28px 24px;
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow);
  display: grid;
  justify-items: center;
  gap: 14px;
  color: var(--text-secondary);
}

.spinner {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 3px solid rgba(51, 120, 186, 0.18);
  border-top-color: var(--accent);
  animation: spin 0.9s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.app-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.app-shell--immersive {
  height: 100vh;
  height: 100dvh;
  padding: 14px;
  box-sizing: border-box;
  background: #242638;
  overflow: hidden;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 40;
  backdrop-filter: blur(26px) saturate(150%);
  -webkit-backdrop-filter: blur(26px) saturate(150%);
  background:
    linear-gradient(180deg, rgba(248, 250, 255, 0.9), rgba(248, 250, 255, 0.82)),
    radial-gradient(circle at top left, rgba(79, 124, 255, 0.1), transparent 28%);
  border-bottom: 1px solid rgba(214, 222, 235, 0.78);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}

.app-header__inner {
  max-width: var(--content-width);
  margin: 0 auto;
  min-height: 92px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.brand {
  display: flex;
  align-items: center;
  min-width: 0;
}

.brand__title {
  font-size: 1.05rem;
  font-weight: 700;
}

.brand__breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 1rem;
  font-weight: 700;
}

.brand__crumb-link {
  border: none;
  background: transparent;
  padding: 0;
  color: var(--accent);
  font-weight: 700;
}

.brand__crumb-current,
.brand__crumb-sep {
  color: var(--text-secondary);
}

.app-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  margin-left: auto;
}

.header-auth {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  min-width: 0;
}

.header-auth .badge {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1px solid rgba(51, 120, 186, 0.22);
  color: var(--text);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: none;
  font-size: 0.92rem;
  font-weight: 700;
  white-space: nowrap;
}

.header-auth .badge.badge--accent {
  color: var(--accent);
  background: rgba(51, 120, 186, 0.1);
}

.app-header__actions .button.button--inline {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  white-space: nowrap;
  font-size: 0.92rem;
  font-weight: 700;
}

.app-header__actions .button.button--secondary.button--inline,
.app-header__actions .button.button--ghost.button--inline {
  color: var(--text);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(51, 120, 186, 0.32);
  box-shadow: none;
}

.app-header__actions .button.button--secondary.button--inline:hover,
.app-header__actions .button.button--ghost.button--inline:hover {
  box-shadow: none;
  background: rgba(51, 120, 186, 0.06);
  border-color: rgba(51, 120, 186, 0.5);
  color: var(--accent);
}

.header-language-picker {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-width: 0;
  flex: 0 0 auto;
}

.header-language-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: auto;
  min-width: 0;
  min-height: 46px;
  padding: 0 12px 0 16px;
  border: 1px solid rgba(51, 120, 186, 0.34);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 700;
  box-shadow: none;
  white-space: nowrap;
  transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.header-language-button:hover,
.header-language-picker.is-open .header-language-button {
  background: rgba(51, 120, 186, 0.06);
  border-color: rgba(51, 120, 186, 0.5);
  color: var(--accent);
}

.header-language-button-text {
  flex: 0 0 auto;
  white-space: nowrap;
  text-align: left;
}

.header-language-button-chevron {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  opacity: 0.72;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.header-language-button-chevron svg {
  display: block;
  width: 12px;
  height: 8px;
}

.header-language-picker.is-open .header-language-button-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

.header-language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 100%;
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid rgba(51, 120, 186, 0.22);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.1);
}

.header-language-menu[hidden] {
  display: none;
}

.header-language-option {
  min-height: 38px;
  padding: 0 12px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.header-language-option:hover,
.header-language-option.is-active {
  background: rgba(51, 120, 186, 0.08);
  color: var(--accent);
}

.page {
  width: min(var(--content-width), calc(100% - 32px));
  margin: 0 auto;
  padding: 26px 0 42px;
}

.workspace-tabs-shell {
  display: flex;
  justify-content: flex-start;
}

.workspace-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px;
  border-radius: 18px;
  background: rgba(232, 239, 250, 0.86);
  border: 1px solid rgba(183, 197, 220, 0.34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.workspace-tab {
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: var(--text-secondary);
  font-size: 0.95rem;
  font-weight: 700;
  white-space: nowrap;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.workspace-tab:hover {
  background: rgba(255, 255, 255, 0.72);
  color: var(--text);
}

.workspace-tab.is-active {
  background: linear-gradient(135deg, #2f77bb 0%, #4a8bc9 100%);
  color: #ffffff;
  border-color: rgba(47, 119, 187, 0.32);
  box-shadow: 0 12px 26px rgba(51, 120, 186, 0.2);
}

.page--wide {
  width: min(var(--section-width), calc(100% - 24px));
}

.page-stack {
  display: grid;
  gap: 18px;
}

.admin-layout,
.admin-config-grid,
.admin-form,
.admin-form__grid,
.admin-list-filters,
.admin-summary-grid,
.admin-code-cards,
.admin-kv-grid,
.admin-device-list {
  display: grid;
  gap: 16px;
}

.admin-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-config-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-form__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-list-filters {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-field {
  display: grid;
  gap: 8px;
}

.admin-field--actions {
  align-content: start;
}

.admin-field__label {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text);
}

.admin-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text-secondary);
}

.admin-textarea {
  min-height: 132px;
  resize: vertical;
}

.admin-result {
  margin-top: 18px;
  display: grid;
  gap: 14px;
}

.admin-result__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-code-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-code-card,
.admin-device-item {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.76);
  padding: 18px;
}

.admin-code-card {
  display: grid;
  gap: 14px;
}

.admin-code-card__head,
.admin-device-item__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.admin-code-card__title {
  font-size: 1.08rem;
  font-weight: 760;
  word-break: break-all;
}

.admin-kv-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  font-size: 0.94rem;
  color: var(--text-secondary);
}

.admin-note {
  color: var(--text-secondary);
  line-height: 1.65;
}

.admin-details {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.admin-details summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--accent);
}

.admin-code-badge {
  font-size: 0.88rem;
  padding: 8px 12px;
}

.admin-json {
  margin: 0;
  padding: 16px;
  border-radius: 16px;
  background: rgba(15, 26, 45, 0.92);
  color: #d7e6ff;
  overflow: auto;
  font-size: 0.84rem;
  line-height: 1.65;
}

.admin-json--compact {
  padding: 12px;
  font-size: 0.78rem;
}

.page--immersive {
  display: grid;
  height: 100%;
  min-height: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
}

.hero-card,
.card,
.section-panel,
.review-panel,
.exam-layout__aside {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
}

.card,
.section-panel,
.review-panel {
  padding: 22px;
}

.hero-card {
  padding: 28px;
  color: #fff;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 30%),
    linear-gradient(135deg, #275a8e 0%, #3f7fc5 56%, #526dd2 100%);
}

.hero-card__eyebrow {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  opacity: 0.8;
}

.hero-card__title {
  margin-top: 4px;
  margin-bottom: 24px;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 800;
}

.hero-card__subtitle {
  margin-top: 10px;
  max-width: 760px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}

.metric-grid,
.summary-grid,
.review-grid,
.section-grid,
.exam-grid,
.stats-grid {
  display: grid;
  gap: 16px;
}

.metric-grid,
.summary-grid,
.review-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.hero-card .metric-grid {
  margin-top: 6px;
}

[data-review-screen] {
  display: grid;
  gap: 26px;
}

.review-grid {
  gap: 24px;
}

.exam-grid,
.section-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

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

.metric-card {
  padding: 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  display: grid;
  gap: 10px;
}

.metric-card--light {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.metric-card__label {
  font-size: 0.9rem;
  color: inherit;
  opacity: 0.78;
}

.metric-card__value {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}

.metric-card__footnote {
  font-size: 0.85rem;
  color: inherit;
  opacity: 0.75;
}

.card__header,
.section-header,
.subsection-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}

.subsection-header {
  margin-bottom: 14px;
}

.card__title,
.section-title,
.subsection-title {
  font-size: 1.2rem;
  font-weight: 750;
}

.card__subtitle,
.section-subtitle,
.subsection-subtitle {
  margin-top: 4px;
  color: var(--text-secondary);
  line-height: 1.6;
  font-size: 0.92rem;
}

.exams-toolbar,
.inline-controls,
.goal-controls,
.section-toolbar__right,
.section-toolbar__left,
.history-actions,
.review-tabs {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.search-input,
.select-input,
.text-input {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.search-input:focus,
.select-input:focus,
.text-input:focus {
  border-color: rgba(51, 120, 186, 0.35);
  box-shadow: 0 0 0 4px rgba(51, 120, 186, 0.09);
}

.exams-toolbar__search {
  flex: 1 1 320px;
}

.button,
.icon-button,
.text-button,
.small-button {
  border: none;
  transition: 0.18s ease;
}

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 14px;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(51, 120, 186, 0.18);
}

.button:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(51, 120, 186, 0.24);
}

.button--secondary {
  background: rgba(17, 24, 39, 0.06);
  color: var(--text);
  box-shadow: none;
}

.button--secondary:hover {
  box-shadow: none;
  background: rgba(17, 24, 39, 0.08);
}

.button--ghost {
  background: transparent;
  color: var(--accent);
  box-shadow: none;
  border: 1px solid rgba(51, 120, 186, 0.18);
}

.button--danger {
  background: var(--danger);
}

.button--inline {
  padding: 10px 14px;
  font-size: 0.92rem;
}

.small-button,
.icon-button,
.text-button {
  border-radius: 12px;
  background: rgba(17, 24, 39, 0.06);
  color: var(--text);
  font-weight: 650;
}

.small-button {
  padding: 9px 12px;
}

.text-button {
  padding: 10px 12px;
  background: transparent;
  color: var(--accent);
}

.icon-button {
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
}

.small-button:hover,
.icon-button:hover,
.text-button:hover {
  background: rgba(17, 24, 39, 0.08);
}

.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  background: rgba(17, 24, 39, 0.06);
  color: var(--text-secondary);
}

.badge--accent {
  background: var(--accent-soft);
  color: var(--accent);
}

.badge--success {
  background: rgba(47, 143, 74, 0.12);
  color: var(--success);
}

.badge--warning {
  background: rgba(215, 125, 23, 0.14);
  color: var(--warning);
}

.badge--danger {
  background: rgba(208, 69, 69, 0.12);
  color: var(--danger);
}

.module-badge,
.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 700;
  white-space: nowrap;
}

.theme-badge {
  background: rgba(79, 124, 255, 0.12);
  color: #4f7cff;
}

.exam-card {
  padding: 20px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: var(--shadow);
  display: grid;
  gap: 16px;
}

.exam-card--locked {
  background: rgba(255, 255, 255, 0.74);
  border-color: rgba(215, 125, 23, 0.18);
}

.activation-summary {
  gap: 16px;
}

.exam-card__lock-copy {
  color: var(--warning);
  line-height: 1.6;
  font-size: 0.94rem;
}

.exam-card__head,
.section-card__head,
.history-row__head,
.review-item__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

.exam-card__code,
.section-card__title,
.review-item__title {
  font-size: 1.18rem;
  font-weight: 760;
}

.exam-card__meta,
.section-card__meta,
.history-row__meta,
.review-item__meta,
.empty-state__copy,
.helper-text {
  color: var(--text-secondary);
  line-height: 1.6;
}

.section-card__meta {
  display: none;
}

.exam-card__progress,
.section-card__progress,
.progress-meta {
  display: grid;
  gap: 8px;
}

.progress-bar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.08);
  overflow: hidden;
}

.progress-bar__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2f6ca8 0%, #62a0eb 100%);
}

.progress-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  font-size: 0.9rem;
}

.exam-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.3fr) minmax(280px, 1fr);
  gap: 18px;
}

.exam-layout__main {
  display: grid;
  gap: 18px;
}

.section-list,
.history-list,
.review-list,
.record-list,
.goal-list,
.stats-list {
  display: grid;
  gap: 12px;
}

.section-card,
.history-row,
.review-item,
.goal-card,
.stats-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.76);
}

.section-card__actions,
.review-item__actions,
.history-row__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.stats-bars {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: end;
  gap: 10px;
  min-height: 170px;
}

.stats-bar {
  display: grid;
  gap: 8px;
  justify-items: center;
}

.stats-bar__column {
  width: 100%;
  min-height: 10px;
  border-radius: 999px 999px 14px 14px;
  background: linear-gradient(180deg, #7bb0ea 0%, #3c7bc3 100%);
  box-shadow: inset 0 -12px 20px rgba(17, 24, 39, 0.12);
}

.stats-bar__label,
.stats-bar__value {
  font-size: 0.78rem;
  color: var(--text-secondary);
}

.goal-card__row,
.section-summary-row,
.review-summary-grid,
.key-value-grid {
  display: grid;
  gap: 10px;
}

.goal-card__row,
.key-value-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.goal-progress {
  display: grid;
  gap: 8px;
}

.review-tabs {
  gap: 8px;
}

.review-tab {
  padding: 10px 14px;
  border-radius: 999px;
  border: none;
  background: rgba(17, 24, 39, 0.06);
  color: var(--text-secondary);
  font-weight: 700;
}

.review-tab.is-active {
  background: var(--accent-soft);
  color: var(--accent);
}

.empty-state {
  padding: 22px;
  border: 1px dashed rgba(17, 24, 39, 0.15);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.5);
}

.empty-state__title {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 6px;
}

.activation-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.44);
  backdrop-filter: blur(10px);
}

.activation-modal__panel {
  position: relative;
  width: min(760px, calc(100vw - 32px));
  max-height: min(86vh, 920px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
}

.activation-modal__panel--wide {
  width: min(920px, calc(100vw - 32px));
}

.activation-modal__panel--auth {
  padding: 28px 28px 24px;
}

.activation-modal__panel--auth .activation-modal__close {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 48px;
  height: 48px;
  border-radius: 16px;
}

.activation-modal__panel--auth .activation-modal__title {
  margin-top: 56px;
  margin-bottom: 16px;
}

.activation-modal__panel--auth .activation-form {
  margin-top: 0;
  padding: 4px 0 0;
}

.activation-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 18px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.9);
}

.activation-modal__header-close.button.button--ghost {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(51, 120, 186, 0.32);
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 700;
  box-shadow: none;
}

.activation-modal__header-close.button.button--ghost:hover {
  background: rgba(51, 120, 186, 0.06);
  border-color: rgba(51, 120, 186, 0.5);
  color: var(--accent);
}

.activation-modal__title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.2;
}

.activation-modal__body {
  display: grid;
  gap: 20px;
  overflow-y: auto;
  padding: 20px 22px 24px;
  background: var(--bg);
}

.activation-modal__body--vip {
  padding: 20px 22px 24px;
  background: var(--bg);
}

.activation-form {
  display: grid;
  gap: 16px;
  margin-top: 8px;
}

.activation-form__input {
  width: 100%;
  font-size: 1rem;
}

.activation-form__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: -2px;
}

.activation-form__hint {
  color: var(--text-secondary);
  line-height: 1.6;
  min-height: 0;
}

.activation-form__hint:empty {
  display: none;
}

.card-title {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--text);
}

.muted {
  color: var(--text-secondary);
  line-height: 1.6;
  font-size: 0.92rem;
}

.vip-entry-section {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.vip-plan-section {
  background:
    radial-gradient(circle at top right, rgba(36, 163, 106, 0.12), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 251, 248, 0.98));
}

.vip-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.vip-plan-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(36, 163, 106, 0.18);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.88);
}

.vip-plan-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.vip-plan-title {
  font-size: 1rem;
  font-weight: 800;
}

.vip-plan-price {
  font-size: 1.8rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #157347;
}

.vip-plan-description {
  color: var(--text-secondary);
  min-height: 42px;
}

.vip-plan-button {
  min-height: 48px;
  border-radius: 14px;
}

.translation-modal {
  position: fixed;
  inset: 0;
  z-index: 210;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 18, 32, 0.42);
  backdrop-filter: blur(10px);
}

.translation-modal__panel {
  position: relative;
  width: min(760px, 100%);
  max-height: min(82vh, 860px);
  padding: 28px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.985);
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 24px 48px rgba(15, 26, 45, 0.22);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 18px;
}

.translation-modal__header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding-right: 44px;
}

.translation-modal__header-copy {
  display: grid;
  gap: 10px;
}

.translation-modal__language {
  display: grid;
  gap: 8px;
  min-width: 180px;
}

.translation-modal__language-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-secondary);
}

.translation-modal__body {
  min-height: 240px;
  overflow: auto;
}

.translation-modal-body {
  display: grid;
  gap: 20px;
  overflow-y: auto;
  padding: 24px 26px 28px;
  background:
    radial-gradient(circle at top left, rgba(51, 120, 186, 0.08), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92));
  border-radius: 24px;
}

.translation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 20px;
}

.translation-hero-copy {
  display: grid;
  gap: 8px;
}

.translation-title {
  margin: 0;
  color: #1a2740;
  font-size: clamp(1.7rem, 2.8vw, 2.2rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.translation-toolbar {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-width: 0;
}

.translation-language-picker {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.translation-language-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  padding: 0 12px 0 16px;
  border: 1px solid rgba(51, 120, 186, 0.34);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 700;
  white-space: nowrap;
}

.translation-language-button:hover,
.translation-language-picker.is-open .translation-language-button {
  background: rgba(51, 120, 186, 0.06);
  border-color: rgba(51, 120, 186, 0.5);
  color: var(--accent);
}

.translation-language-button-text {
  white-space: nowrap;
}

.translation-language-button-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  opacity: 0.72;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.translation-language-button-chevron svg {
  display: block;
  width: 12px;
  height: 8px;
}

.translation-language-picker.is-open .translation-language-button-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

.translation-language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 100%;
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid rgba(51, 120, 186, 0.22);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.1);
  z-index: 2;
}

.translation-language-menu[hidden] {
  display: none;
}

.translation-language-option {
  min-height: 38px;
  padding: 0 12px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

.translation-language-option:hover,
.translation-language-option.is-active {
  background: rgba(51, 120, 186, 0.08);
  color: var(--accent);
}

.translation-modal-close {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(214, 222, 235, 0.9);
  border-radius: 14px;
  background: rgba(20, 32, 51, 0.08);
  color: #1d2740;
  font-size: 1.5rem;
  line-height: 1;
}

.translation-panel {
  display: grid;
  gap: 24px;
  padding: 28px;
  border: 1px solid rgba(214, 222, 235, 0.9);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.translation-section {
  display: grid;
  gap: 18px;
}

.translation-word-term {
  color: #1a2740;
  font-size: clamp(1.2rem, 2vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.translation-word-meaning,
.translation-sentence-meaning {
  color: #20304d;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
}

.translation-word-meaning.is-loading,
.translation-sentence-meaning.is-loading {
  color: #7b879d;
}

.translation-divider {
  height: 1px;
  background: var(--border);
}

.translation-sentence-original {
  color: #1a2740;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  font-weight: 700;
  line-height: 1.85;
}

.translation-highlight {
  padding: 0 4px;
  border-radius: 6px;
  background: rgba(51, 120, 186, 0.18);
  color: var(--accent);
}

.translation-state {
  min-height: 240px;
  border-radius: 22px;
  border: 1px solid rgba(17, 24, 39, 0.06);
  background: rgba(246, 249, 255, 0.92);
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 12px;
  text-align: center;
  padding: 28px;
}

.translation-state__title {
  font-size: 1.05rem;
  font-weight: 760;
}

.translation-state__copy {
  max-width: 420px;
  color: var(--text-secondary);
  line-height: 1.7;
}

.translation-state__actions {
  display: flex;
  justify-content: center;
}

.translation-state--error {
  justify-items: start;
  align-content: start;
  text-align: left;
}

.translation-result {
  border-radius: 22px;
  border: 1px solid rgba(17, 24, 39, 0.06);
  background: rgba(250, 252, 255, 0.96);
  overflow: hidden;
}

.translation-result__section {
  display: grid;
  gap: 14px;
  padding: 20px 22px;
}

.translation-result__eyebrow {
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
}

.translation-result__word {
  font-size: 1.8rem;
  font-weight: 760;
  line-height: 1.2;
}

.translation-result__source,
.translation-result__translation {
  font-size: 1.02rem;
  line-height: 1.8;
}

.translation-result__source {
  font-weight: 700;
  color: var(--text);
}

.translation-result__translation {
  color: var(--text);
}

.translation-result__translation--sentence {
  color: var(--text-secondary);
}

.translation-result__meta {
  font-size: 0.84rem;
  color: var(--text-secondary);
}

.translation-result__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.translation-result__divider {
  height: 1px;
  margin: 0 22px;
  background: rgba(17, 24, 39, 0.08);
}

.translation-result__highlight {
  color: var(--accent);
  background: rgba(51, 120, 186, 0.12);
  border-radius: 6px;
  padding: 0 2px;
}

.selection-capsule {
  position: fixed;
  z-index: 190;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(17, 24, 39, 0.12);
  box-shadow: 0 14px 32px rgba(17, 24, 39, 0.2);
  backdrop-filter: blur(12px);
}

.selection-capsule__button {
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 999px;
  background: transparent;
  display: inline-grid;
  place-items: center;
  color: var(--text);
  transition: background 0.16s ease, transform 0.16s ease, opacity 0.16s ease;
}

.selection-capsule__button:hover:not(:disabled) {
  background: rgba(17, 24, 39, 0.06);
  transform: translateY(-1px);
}

.selection-capsule__button:disabled {
  opacity: 0.42;
}

.selection-capsule__button--translate {
  background: rgba(51, 120, 186, 0.1);
  color: var(--accent);
}

.selection-capsule__button--translate:hover:not(:disabled) {
  background: rgba(51, 120, 186, 0.16);
}

.selection-capsule__glyph {
  font-size: 1rem;
  font-weight: 760;
  line-height: 1;
}

.selection-capsule__glyph--underline {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.selection-capsule__swatch {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(17, 24, 39, 0.12);
}

.selection-capsule__swatch--yellow {
  background: rgba(245, 218, 91, 0.92);
}

.selection-capsule__swatch--pink {
  background: rgba(232, 172, 201, 0.96);
}

.selection-capsule__swatch--orange {
  background: rgba(242, 189, 113, 0.96);
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: var(--text-secondary);
  font-size: 0.92rem;
}

.breadcrumbs button {
  border: none;
  background: transparent;
  color: var(--accent);
  font-weight: 700;
  padding: 0;
}

.section-screen {
  display: grid;
  gap: 14px;
  min-height: 0;
  overflow: hidden;
}

.section-shell {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  border-radius: 18px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(62, 66, 82, 0.45);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

.section-toolbar {
  padding: 14px 18px;
  background: #ffffff;
  border-bottom: 1px solid rgba(92, 96, 110, 0.34);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

.section-toolbar__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: nowrap;
  min-width: 0;
}

.section-toolbar__group {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.section-toolbar__group--left {
  flex: 1 1 auto;
}

.section-toolbar__group--right {
  flex: 0 0 auto;
  justify-content: flex-end;
  max-width: 100%;
}

.lsat-toolbar-button {
  height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  border: 2px solid rgba(88, 92, 104, 0.6);
  background: linear-gradient(180deg, #f6f6f7 0%, #dbdde2 100%);
  color: #232631;
  font-weight: 700;
  font-size: 0.96rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.lsat-toolbar-button--secondary {
  background: linear-gradient(180deg, #fafafb 0%, #e7e8eb 100%);
}

.lsat-search-input {
  flex: 1 1 280px;
  min-width: 220px;
  width: auto;
  height: 44px;
  border-radius: 0;
  border: 2px solid rgba(95, 99, 110, 0.6);
  box-shadow: none;
  font-size: 0.95rem;
  padding: 0 14px;
}

.lsat-search-input:focus {
  border-color: rgba(54, 90, 153, 0.8);
  box-shadow: none;
}

.section-toolbar__divider {
  width: 1px;
  align-self: stretch;
  background: rgba(96, 100, 112, 0.42);
}

.toolbar-mini-select {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 10px;
  border: 1px solid transparent;
  color: #6d7078;
  font-weight: 700;
}

.toolbar-mini-select__icon {
  font-size: 1.2rem;
  line-height: 1;
}

.toolbar-mini-select--line .toolbar-mini-select__icon {
  font-size: 1.32rem;
}

.section-toolbar__select {
  width: auto;
  min-width: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
  color: #6d7078;
  font-weight: 700;
}

.section-toolbar__select:focus {
  box-shadow: none;
  border: none;
}

.timer-pill {
  flex: 0 0 auto;
  min-width: 238px;
  padding: 10px 16px 12px;
  border-radius: 16px;
  background: #ffffff;
  border: 2px solid rgba(157, 32, 32, 0.72);
  box-shadow: inset 0 -4px 0 rgba(113, 117, 127, 0.45);
  font-weight: 800;
  font-size: 0.9rem;
  text-align: left;
  color: #2f3137;
  white-space: nowrap;
}

.timer-pill.is-warning {
  color: var(--warning);
  border-color: rgba(215, 125, 23, 0.38);
}

.timer-pill.is-danger {
  color: var(--danger);
  border-color: rgba(208, 69, 69, 0.45);
}

.section-intro {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 34px clamp(18px, 5vw, 70px);
  background: linear-gradient(180deg, #e5eef5 0%, #f5f8fb 100%);
}

.section-intro__box {
  max-width: 960px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(17, 24, 39, 0.07);
  border-radius: 28px;
  padding: 26px clamp(18px, 4vw, 34px);
  display: grid;
  gap: 22px;
}

.section-intro__stats {
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.section-intro__stats h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.section-intro__copy {
  display: grid;
  gap: 14px;
}

.section-intro__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.section-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

.section-pane {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 20px 34px 26px;
  background: #ffffff;
}

.section-pane + .section-pane {
  border-left: 1px solid rgba(92, 96, 110, 0.22);
}

.section-pane--passage {
  background: #ffffff;
}

.section-pane--question {
  background: #ffffff;
}

.section-pane__header {
  display: none;
}

.reader-copy {
  line-height: var(--reader-line-height, 1.62);
  font-size: calc(var(--reader-font-size, 16px) + 4px);
  color: var(--text);
}

.annotatable-text {
  white-space: pre-wrap;
  user-select: text;
  -webkit-user-select: text;
  cursor: text;
}

.annotatable-text.is-selectable {
  user-select: text;
  -webkit-user-select: text;
  cursor: text;
}

.annotatable-text.is-readonly {
  user-select: none;
  -webkit-user-select: none;
  cursor: default;
}

.doc-segment {
  white-space: inherit;
}

.annotation--underline {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.14em;
}

.annotation--highlight-yellow {
  background: rgba(244, 220, 99, 0.58);
}

.annotation--highlight-pink {
  background: rgba(239, 175, 210, 0.6);
}

.annotation--highlight-orange {
  background: rgba(247, 197, 115, 0.62);
}

.annotation--search {
  box-shadow: inset 0 -0.78em 0 rgba(244, 180, 0, 0.28);
}

.reader-copy p + p {
  margin-top: 1em;
}

.reader-copy mark {
  background: rgba(244, 180, 0, 0.4);
  color: inherit;
  padding: 0.02em 0;
  border-radius: 0.2em;
}

.reader-copy--stem {
  font-weight: 500;
}

.question-stem {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 26px;
}

.question-stem__number {
  font-size: calc(var(--reader-font-size, 16px) + 8px);
  font-weight: 500;
}

.flag-button {
  min-width: 46px;
  height: 46px;
  border-radius: 12px;
  border: 1px solid rgba(61, 136, 210, 0.24);
  background: transparent;
  color: #3b87cf;
  font-size: 1.55rem;
}

.flag-button.is-active {
  color: #2f6fb0;
  background: rgba(59, 135, 207, 0.08);
  border-color: rgba(59, 135, 207, 0.4);
}

.annotation-tools {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 1 auto;
  min-width: 0;
}

.annotation-tool {
  min-width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #666a74;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.annotation-tool__underline {
  font-size: 1.05rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.annotation-tool__marker {
  width: 24px;
  height: 11px;
  border-radius: 3px;
  border: 1px solid rgba(80, 82, 89, 0.55);
  transform: rotate(-42deg);
  transform-origin: center;
  position: relative;
}

.annotation-tool__marker::before,
.annotation-tool__marker::after {
  content: "";
  position: absolute;
  bottom: -4px;
  width: 6px;
  height: 4px;
  background: #f5f5f5;
  border: 1px solid rgba(80, 82, 89, 0.48);
}

.annotation-tool__marker::before {
  left: -2px;
}

.annotation-tool__marker::after {
  right: -2px;
}

.annotation-tool__eraser {
  width: 23px;
  height: 13px;
  border-radius: 3px;
  background: #e58daf;
  border: 1px solid rgba(89, 89, 93, 0.45);
  transform: rotate(-33deg);
}

.annotation-tool--yellow {
  border-color: rgba(51, 118, 201, 0.7);
  box-shadow: inset 0 0 0 2px rgba(51, 118, 201, 0.18);
}

.annotation-tool--yellow .annotation-tool__marker {
  background: #f8e564;
}

.annotation-tool--pink .annotation-tool__marker {
  background: #efc6da;
}

.annotation-tool--orange .annotation-tool__marker {
  background: #f8bf6b;
}

.selection-status {
  min-width: 0;
  max-width: 280px;
  font-size: 0.82rem;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.choice-list {
  display: grid;
  gap: 34px;
}

.choice-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: flex-start;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.choice-row.is-selected {
  color: #111722;
}

.choice-row.is-eliminated {
  opacity: 0.52;
}

.choice-row.is-correct {
  background: transparent;
}

.choice-row.is-wrong {
  background: transparent;
}

.choice-bubble {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 2px solid rgba(60, 63, 71, 0.9);
  background: transparent;
  display: grid;
  place-items: center;
  font-weight: 500;
  color: #343740;
  font-size: 1.1rem;
}

.choice-bubble.is-selected {
  background: #30343d;
  color: #fff;
  border-color: #30343d;
}

.choice-bubble.is-correct {
  background: #2f8f4a;
  color: #fff;
  border-color: #2f8f4a;
}

.choice-bubble.is-wrong {
  background: #d04545;
  color: #fff;
  border-color: #d04545;
}

.choice-content {
  padding-top: 2px;
  font-size: calc(var(--reader-font-size, 16px) + 3px);
  line-height: calc(var(--reader-line-height, 1.62) * 0.98);
}

.choice-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
}

.choice-tool {
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(94, 98, 109, 0.28);
  background: transparent;
  color: transparent;
  font-size: 0;
  position: relative;
}

.choice-tool::before {
  content: "◌";
  color: #7b7f89;
  font-size: 1rem;
}

.choice-tool.is-active {
  background: rgba(58, 61, 70, 0.08);
}

.choice-tool.is-active::before {
  content: "●";
  color: #3a3d46;
}

.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(51, 120, 186, 0.08);
  color: var(--accent);
  font-weight: 700;
  font-size: 0.86rem;
}

.review-answer-board {
  margin-top: 24px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  background: rgba(248, 250, 255, 0.94);
  display: grid;
  gap: 16px;
}

.review-answer-board__top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.review-answer-board__grid {
  display: grid;
  gap: 12px;
}

.review-answer-board__headline {
  display: flex;
  gap: 8px;
  align-items: baseline;
  flex-wrap: wrap;
}

.review-answer-board__label {
  font-weight: 760;
}

.review-answer-board__value.is-correct {
  color: var(--success);
  font-weight: 800;
}

.review-answer-board__value.is-wrong {
  color: var(--danger);
  font-weight: 800;
}

.explanation-block {
  display: grid;
  gap: 12px;
}

.explanation-block h3 {
  margin: 0;
  font-size: 1rem;
}

.section-footer {
  position: sticky;
  bottom: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 12px 18px 14px;
  background: #ffffff;
  border-top: 1px solid rgba(92, 96, 110, 0.28);
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.06);
}

.section-footer__strip {
  min-width: 0;
  overflow: hidden;
}

.question-strip {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 4px 0;
  white-space: nowrap;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
}

.question-strip::-webkit-scrollbar {
  height: 6px;
}

.question-strip::-webkit-scrollbar-thumb {
  background: rgba(17, 24, 39, 0.16);
  border-radius: 999px;
}

.question-chip {
  flex: 0 0 auto;
  min-width: 34px;
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 10px 2px 0;
  border: none;
  background: transparent;
  color: #171a20;
  font-weight: 500;
  position: relative;
}

.question-chip__marker {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 2px solid #1b1e26;
  background: #ffffff;
}

.question-chip__label {
  font-size: 0.76rem;
  line-height: 1;
}

.question-chip.is-answered .question-chip__marker {
  background: #11131a;
  border-color: #11131a;
}

.question-chip.is-current {
  font-weight: 800;
}

.question-chip.is-current::before {
  content: "";
  position: absolute;
  top: 0;
  width: 4px;
  height: 16px;
  border-radius: 999px;
  background: #12141b;
}

.question-chip.is-marked::after {
  content: "⚑";
  position: absolute;
  top: 1px;
  right: 0;
  font-size: 0.72rem;
  color: #3a7cc0;
}

.section-footer__actions {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
}

.footer-submit-button,
.footer-nav-button {
  height: 74px;
  min-width: 74px;
  padding: 0 18px;
  border-radius: 12px;
  border: 2px solid rgba(72, 75, 84, 0.55);
  background: linear-gradient(180deg, #f7f7f8 0%, #e1e3e7 100%);
  color: #585c64;
  font-size: 2rem;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.footer-submit-button {
  min-width: 92px;
  font-size: 1rem;
  color: #232631;
}

.footer-nav-button:disabled {
  opacity: 0.45;
}

.section-footer__actions .button,
.footer-submit-button {
  white-space: nowrap;
}

.key-stat {
  display: grid;
  gap: 4px;
}

.key-stat__label {
  font-size: 0.82rem;
  color: var(--text-secondary);
}

.key-stat__value {
  font-size: 1.08rem;
  font-weight: 760;
}

.toast-root {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 60;
  display: grid;
  gap: 10px;
}

.toast {
  min-width: 220px;
  max-width: min(420px, calc(100vw - 32px));
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(17, 24, 39, 0.92);
  color: #fff;
  box-shadow: 0 14px 32px rgba(17, 24, 39, 0.24);
  animation: toast-in 0.2s ease;
}

.pointer-hint {
  position: fixed;
  z-index: 80;
  max-width: min(280px, calc(100vw - 24px));
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(17, 24, 39, 0.94);
  color: #fff;
  font-size: 0.88rem;
  line-height: 1.4;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.22);
  pointer-events: none;
  transform-origin: top left;
  animation: toast-in 0.16s ease;
}

@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.error-box {
  padding: 28px;
  border-radius: 24px;
  border: 1px solid rgba(208, 69, 69, 0.18);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow);
  display: grid;
  gap: 12px;
}

.error-box__title {
  font-size: 1.2rem;
  font-weight: 780;
  color: var(--danger);
}

@media (max-width: 1100px) {
  .exam-layout,
  .admin-layout,
  .admin-config-grid,
  .admin-form__grid,
  .admin-list-filters,
  .admin-summary-grid,
  .admin-kv-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .section-body {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  }

  .section-pane + .section-pane {
    border-left: none;
    border-top: 1px solid rgba(92, 96, 110, 0.22);
  }
}

@media (max-width: 720px) {
  .app-header__inner,
  .page,
  .page--wide {
    width: calc(100% - 20px);
    padding-left: 0;
    padding-right: 0;
  }

  .app-header__inner {
    padding: 12px 0;
    min-height: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .brand {
    width: 100%;
    align-items: center;
  }

  .brand__title,
  .brand__breadcrumb {
    white-space: nowrap;
  }

  .app-header__actions {
    width: 100%;
    justify-content: stretch;
    gap: 10px;
    flex-wrap: wrap;
    margin-left: 0;
  }

  .header-auth {
    width: 100%;
    flex-wrap: wrap;
  }

  .header-auth .badge,
  .app-header__actions .button.button--inline {
    flex: 0 1 auto;
  }

  .header-language-picker {
    width: auto;
    max-width: 100%;
  }

  .header-language-button {
    width: auto;
    min-width: 0;
    max-width: 100%;
  }

  .header-language-button-text {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .workspace-tabs-shell {
    justify-content: stretch;
  }

  .workspace-tabs {
    width: 100%;
  }

  .workspace-tab {
    flex: 1 1 0;
    padding-inline: 14px;
  }

  .activation-modal {
    padding: 24px;
  }

  .activation-modal__header {
    padding: 20px 22px 18px;
  }

  .activation-modal__panel--auth {
    padding: 24px 18px 20px;
  }

  .activation-modal__panel--auth .activation-modal__close {
    top: 14px;
    left: 14px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }

  .activation-modal__panel--auth .activation-modal__title {
    margin-top: 46px;
    margin-bottom: 14px;
  }

  .activation-modal__header-close.button.button--ghost {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 14px;
  }

  .activation-modal__title {
    font-size: 1.2rem;
  }

  .activation-modal__body--vip {
    padding: 20px 22px 24px;
  }

  .vip-plan-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .vip-plan-card {
    padding: 16px;
  }

  .vip-plan-description {
    min-height: 0;
  }

  .vip-plan-button {
    min-height: 48px;
    border-radius: 14px;
  }

  .card,
  .section-panel,
  .review-panel,
  .hero-card {
    padding: 18px;
  }

  .question-stem {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .question-stem .flag-button {
    grid-column: 2;
    justify-self: end;
  }

  .choice-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .choice-tools {
    grid-column: 2;
  }

  .progress-meta,
  .goal-card__row,
  .key-value-grid {
    grid-template-columns: 1fr;
  }

  .section-toolbar {
    padding: 12px;
  }

  .section-toolbar__controls {
    width: 100%;
    flex-wrap: wrap;
  }

  .section-toolbar__group {
    width: 100%;
    flex-wrap: wrap;
  }

  .section-toolbar__group--right {
    justify-content: flex-start;
  }

  .lsat-search-input {
    flex: 1 1 100%;
    min-width: 0;
  }

  .toolbar-mini-select {
    padding-left: 0;
    padding-right: 0;
  }

  .section-footer {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px 12px;
  }

  .section-footer__actions {
    justify-content: flex-end;
  }

  .footer-submit-button,
  .footer-nav-button {
    height: 58px;
    min-width: 58px;
  }

  .translation-modal-body {
    padding: 18px 16px 22px;
  }

  .translation-hero {
    grid-template-columns: 1fr;
  }

  .translation-toolbar {
    min-width: 0;
    justify-content: space-between;
    flex-wrap: nowrap;
  }

  .translation-language-picker {
    min-width: 0;
    flex: 1 1 auto;
  }

  .translation-language-button {
    width: 100%;
    min-width: 0;
  }

  .translation-language-button-text {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .translation-panel {
    padding: 20px 16px;
    border-radius: 22px;
  }

  .translation-modal-close {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }
}

/* === LawHub official icon overrides === */
:root {
  --lh-icon-underline: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkBAMAAACCzIhnAAAAFVBMVEX///+FhYXDw8OYmJiysrLx8fHh4eGnzlt1AAAA3ElEQVRYw+2SwQqCQBCGB0vPbVrnEPSs1AMo+AAL0d18/4donSV1TJtVgiLmu/3g5/wzLIAgCCvxYkPaRb+NsX6rbJQh6pU2qloUUUQRRZRvKNs/KoZK2MUAFb1kirOybIpHFYwKeKXfd/SHSWyTgtycUexVd894p9eYJicflW3aM0o5bIb3UwdGwSoqxAME1s8YBRc21dKb31hDncDlygQNTssMOHIGXMdKwSpBTo2Q7fUyJuMN8Mk2EbgwrBZpcHO6OZcaXGmqs6FKQPgF1CyifEyJZ5EHKAjreABRHE52awUnfQAAAABJRU5ErkJggg==");
  --lh-icon-underline-selected: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkBAMAAACCzIhnAAAAHlBMVEWYmJj///+FhYWLi4tycnJmZmbo6OjDw8Ozs7OlpaWQDNFuAAABO0lEQVRYw+3WvW7CMBAH8KNi6NioyKEbMiqQrU1AfQEeIXmAwJC5SzIDS0aajbfFPrfkQ03skxAfrW875J/+PjsSBqDXGxX0IaCSJQTEmLkgxJilJKSYPpKAFoLk3TGugSX3QtxMVFr2ss3iTvLERc1OLZMt/7fEsbPYWewsdpbzpbxcgzg3s7GhXOJdmLhINP+VcsmYTsqdYDvqJmrzm9r3oyHq7k4/rBo3+yvxa4sK2U01ZFvdGZ4fn2gIboV7eAAMQ3hPQ3BgYdKYJUrwTw1Rp6wK56rcUttLqeCN+tCS5yb50hLm18XI4Am37ghpIWxbFTOjhyJ7KIUXm70t2e5HPMbGz9Ek3wMc8tS+xm+C8Nay5Gwkay37Wf5ZsoiMK/wmEaEUeaWQUBI/imgxQAuRMUAMETGwoJLwCJRKTLBIcxiNAAAAAElFTkSuQmCC");
  --lh-icon-yellow: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAY1BMVEVHcEzu7u7//4AAAADt7e3q6urs7Ozk5OTr6+vv7+8EBASurq4WFhYyMjELCwsjIyLExMQ+Pj5MS0pWVlbPz8/a2tljY2OkpKS5ublvb2+YmJiLi4uadkR7e3u+kFH01K/7+/veg/B4AAAACnRSTlMARP//ZsyI/qoioNQ6oQAAAxhJREFUaN7tmFuToyAQhV2YGWaQi6KowJjk///KpXHMZZV9oa3arfK8JpUvDfTpA1V16tSpU6dO/Uv6+HU4wvrB1fZYxtRySqlpjmTUEhiUy+Mobx4YUlNO5XQQg3kdi2hrL2Mx7TEUFoBhGkJqmWBHHKs5MlQXGYRMqRZ8inUiMoaeJE0t7D42pR8iQzhLyIOi5IjL6IAx3xlrLZiUxihK9czIkyaDS2laYIQXBiENKmWCFtT+SsiWQpEok4Y2H8lWTQf90iMwRg3/tyZ7gloUQileJT8k+/Lx0PliRlAcViTDsHG9RHEljsOqswyDwcfFezIAw/yVUVoI6ziPlphBkGtQlIvCHbHQ5mrIMQgcCTF/ltlVnOZcuCyjTo7JCq0EFjzkGTBdhrLYklKJ9llGI2GCFR2sr1HmrOSJURaMPiEq8IyVgHow4LIosSSGdsoyrCkevomhTJNlsCEydFETsqdUkmEUN3pKJWLos4zrDE0YyqxdpECdZZA5foGXMWJm2J+1qwIw5o/S1AAzVYcMxcMsdu8IGQtqCXaPAU3KhzLDqt7qlBaTbe3UUoPZmOJ71ghLYYfk4tsM1GJMwmiMAhYDKFz9SenhTEiEBNQLBRQGtSh3fU0NsFcYd58+3tW6SPkECh82Ex3lftWLdRY5oDwGPEuNjpNJGwW32w4ocCOhd0oAhkdhVJ6mK3SaeXNyGHaPimpmKAzW0YVifih8iV0QiJXDYVSNoCsFZmsyqhhSMVLDY+66H8T6tLHMyLE8Nby0In0ozfD0PiCKU8NLnnti8AclMtAeINZdvytlhVFiXtmt43SPUksuPVodGwaMSKB0WIyKmZefV7rtBucC9Ib9wnrLihPxgRBdqBvLorB+f3k7GW92uCPGI14ZrSHa35atj9t8yEMmA7MV4caivytz0JvcYuhivsWpYfpDGLHTl5khHWM1AoNtBeYrF8r3jPKngzbfr0qXy36haCQX3Lkyp3giERm7FMiErCUXxGO188SQUqFBfRzt9OVy+b6sivtyadHP7Xu9VVOdOnXq1KlTp/5L/QbTmTozBdjFRwAAAABJRU5ErkJggg==");
  --lh-icon-yellow-selected: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAY1BMVEVHcEzt7e3q6urs7Ozj4+Lr6+vv7++YmJhycnKLi4vu7u7//4BmZmZycnKLi4uYmJgBAQEyMjKxsbEPDw8eHh7CwsLS0tJQT09CQkJcXFyadkSnp6e+kFGSkpKfn5/01K/4+Pgt38bjAAAAC3RSTlMAZsyI/qoi+fn5RFG/fZwAAANOSURBVGje7dhbc6MgFABg2pLd7XJRAVFrNPn/v3I9B5NolGwV6JPnoc1MZ/yKcC6EZD8QRCYnOkGkTG4AIlMbiMjEhkMSKuKByOx3knDGDfkkSeLPgRzIgfw88vE3OWI7LhRNi6g6H6IqUyKqyDGKMhny1oNRGPihEiG0Gx6vC5UV8KtMglBpcDsYw5c2W0sshApYBxhO0VMlEmLR4JZh4CEr2siI5XpiOEU/lCiIbcAQlN2jnK0lBlJWg2HkxHhSIiD4PNPNjEGpHko4gifWZBfGvEowojDDW7YMVOoyAtK7KsKYR9FtOJJprIdsPeCvfTAiseZaj2GbGCsRYNTUY1AeY084diivAf+C6cNOF63Q8BDs0kEV6MLyxIKhuc9gaIhTEGIhzbXwGq3BahZUVlwpkV5DYeWnQQVyLCVeo4S21diQUv+rLXyl5GFMB6MdyMlNJcpr4H7VZUj7pR0Y9QujCh4kcCoZJ4b1JGzmDX4H4qaS5oXB74m+F5lPJWuJLqAVdyQEwdJe+9fBwMglCUKw25nu4i0m0MPERxgyKtKjZGi8k0CEQCd6nn/uBQsOd7O4A21D3tRN0WtrwWJTLY2NK+nhVbh5calg0awtCUVKrKyYblpc1hJ9zdiIWO0UnK/nitsrRSIgxm3sCd5YzheJvm7sQNzxwaRrJlMDrK0nMZASL7fYjeCNPcaIydQQjPT5Q8G1jANRN+3ogYibgm5dD2qlG+3a18Y2pNT5VMH7bm3dRbSxJApy4nm+okAx0dULYxOCV5FbYA/HgqifOnoQgvPBRFE3ZfwcA8FiMg2cFdpi+VXKfsTy/DlwWhiUoidxkMU6UIGnqyYjsZBq9nht6opzLiE37K9IyJvrVWOYSqrS0iH++/wNiOXt9a6YprdkU3wLsRUz3dUKtxHZRuJ7CIWSbuQVboH6ddrtRqhrG0ZcqXxdPgIQW7ieUQhK1R7jCZF0EVB8R+VLkH3xhJjqax4G2sS4FlNGQT6b5ciG40kRYiz2ZOViDjMhrdlZkVgIWfmKASe2er+xcroacz6fv863GPblXFsSFEvkXQ3RqnvAxzI2kiAO5EAO5ECSIpInCTFDOE+pkKTGqJC0hlNIYgMVktoAhSQ3BuUf+SbsJ+IN40oAAAAASUVORK5CYII=");
  --lh-icon-pink: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAY1BMVEVHcEz/ytsBAQEICAjv7+/q6urs7Ozk5OTr6+vu7u4VFRWvr68zMzIjIyJXV1fGxsZAQECVlZVNTEvQ0NC7u7ujo6Pb29pkZGRubm6adkS8jlCJiYl3d3f01K9/f3/7+/vbpVxYnF2zAAAACnRSTlMA////IsyI/qpdPpZANgAAAvpJREFUaN7tmcFyrCAQRQdIQgKKCopkdEz+/ysf3cZJnJEVTdVbeBfZpMqTBvr2hVwup06dOnXq1P+kt4/iCN+NQfuyjL4VnHPblGToioNEVY7yMQCjquFHX4ghO/h8q7sKailDkVON28GYRooucayWyBAmMspRfFDxw6NjqL4tQXFjZKjww9goAy3DAGP2jJWjNDa2YL1IxspRGmjzetoxGGssJaWvgNHd2IN6C11JQ+mxwwf2LKiFtxQOMyBDM5agKIJSOgWMhh0LfttlMyaBK5JgeENRSQBjb2WCIQPFnoyxDmGTjFnkFyINMEwCwW6wlCpzRzy0uRhTDNYBY3nPsytoczUnGRodU+ZbiZrSDJguY15swcRQd0lGD2PLuBzEy5oYhiSjAUZeMHpfo4JOMhzYfJsVJTCVxG8kGd5mD19MJcKmGdLAfmU1oZx/U8kxY8xudEwlanRJxm3Ob3S09jZdB1sgGk0UmeF51m6agDG/5aYG3NYpQcE4HF7zs4nBbOKPGNikY55hXT40Jjm0rYNaNOQWm33PGmApPB7S5TkDgWm2LnutegWLsVLmB4qDM1HlMy6NEkDBhhPhtk8NsFcUdx9Xx26PlPfxcSzKANWR3K+c2mYRdD43tKlhWy7IWdwAZdxRoAlVR8K4DHiF5jjzZqD8BCJwG7VIEga6OFKaHQUCsQg0jHiCfyDro8OEbulIUsPv3A38LgsHCedXO+Snhr8ZRfEHChqiyk4NuzzH/6q9U2I1VNfp+65vwqywpiMqhg+cH1FiziO7fj7VwbdMog1RE0aI3X1e1K0ZQ5igN/wL1VtWnFW/CGUm3TgZRfX99e1k+PLjHTG4C728ZXX35QPaY9UVeciUYLZqQoqwhd7kVkNX85dclHVFGLHT15lRBSk1AUM+C0ZVtVI+Z5I/eqnt515qjhi3UmoiFzy4MsOgkBUh45ACmVC27JvwWB08MWBis6SPo6a+Xq+f101xX64t+bl91c8q+m+EU6dOnTp16lQ5/QNjly60cUvKcQAAAABJRU5ErkJggg==");
  --lh-icon-pink-selected: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAbFBMVEVHcEzs7Oy/v7/v7++Li4vm5eXa2tqYmJhycnJmZmbt7e1kZGTu7u7/ytuYmJhycnJmZmaLi4sCAgISEhI0MzPMzMywsLAhISFGRURVVVW+vr6np6edeEWBgYG+kFGfn5/z1a5/YTr8xrSeeEZ1ctJYAAAADXRSTlMAn60i+f77+fn5ZvlEQM0XIgAAAz9JREFUaN7t2NF2oyAQBmByWthuuwiIIGiNbff933Fl0MQoZhuBXvlf9Zz0+EWBmTGo+IEgkd9gSGRXmEOyKr1gHhF572NERF5jRETxK0u8MSHPKEteDuRADuTnkdOf7AgpONMkL9KYcohVORFdlZCqyYa89s6o6rWSDsEFXF4X1UpJhmDhDNNQCg+t0hkQ0g2GtIrSgJIIIcwZHIxJaRMjiktnEDoGtvJVSYIo6wx2MZZKCgSMusOUbigJEOWuV4sb41aJRxq3ynXxQemmEo1oOIItXUdZd3BUAqT3x5yG4p6jbOORQkINoeG4T/toREDNVRsGsSnuhDnD4A0D8xRrwu8b7ivIPm53YQtdcIOgH+5RyiLunLgHPpSrLQMWXXanKASOuWSbhoZqhqPKSuNLybYBlZ9EFUjtS8mm4UqNtCSm1D+11VYpuRp+8+5GTn4q0ZsGrJdpYtrvdWK4c9AjBwkME8MdA85P3aIIBLPrVLJdTOoeRSCEydlUEjroUEwEikGgtN95VrRz/7AwHkUaG+61U2BTjMVk/5p4RWwoMA6/xL+fKBuaTXzgkHKMopBXPSmyC9wLFBtLUByCejZcgvCwAkXTKBSLNNI9DK+wj8AEVIWMBxElQcFuvi7Z16qY1A1KgAy7xw7KCdo7Xx50GTZ2ICX0InfyZw1+NjXErwm83MIG4jeKkJepIRrp/Ss0vKjDvYwDkZ8acBLET0Frpa1nU0Ms0sgR8X2vg+6lFlNDJOL31EzxPRKKiVUoDaJluVCgIMpFR49CVFXOY/SkjH+nQC6rPgVmhXb180MMQni5DLwQDkrVozTI6j7KaV7QtkCpELO4vrGcczh/5CkR8up71RhphVYED/nv9R9AFG/xZVGk7Ql6KN9CiKV1gQnzy108SHwPwa7YDrMD1PP7x243gn1BrzuMO2kUyoKQyveMimGs9xgLROBVoJ545S9D+7JAavN+G2gTo1KrJMhz4JUZxpMqxlitSUBxLR0betYoFYICPzHAxGb2G4HdZevz+fx5nvL++X42CkVljRC9TpMayZADOZADOZCsiHj7nSFv7AbhmTJHOM+qOKTjPK+Cst7HqKDchlNQdmNQ/gHSaAXkXquwTQAAAABJRU5ErkJggg==");
  --lh-icon-orange: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAY1BMVEVHcEzu7u77vGgBAQHt7e3q6urs7Ozk5OTr6+vv7+8ICAgVFRUzMjLMzMywsLAjIyK+vr7Z2dlSUlI/Pz+ampp0dHRdXV1oaGimpqZKSUiadkSPj4+Dg4O8jlDz1a77+/vbpVyE3AjbAAAACnRSTlMARP//ZsyI/qoioNQ6oQAAAulJREFUaN7tmN2SoyAQhbM4M2REQFBER5PM+z/l0m3Mr+wNTdVecC5jFV8a6O7THA5FRUVFRUX/k77+ZEeY3ntl8jLarq6qysqcDNVUqKbNhvjogdHonBTew/KdAlSdicIXYEwtYwopKse1AkZtJWP5KMaJsLBHRqB0QBmJGdIHhvCGXdVmoMgBGO7GyEGRNqSgXjh7UDvRUiSkuZ6fGNSUtgFGf2bsnVIRURRm+MjeJS0kJ0UdG5Gh2J4k7BhBKL3ASsX2BV/7ZMZS445EGCbsl0iOxEFd73iEwT3FmfgQRz1FGS58Fom7xSEFaxtBsPMMjDmxJCLDxxgMGcsxPc2FizIUVjOe7hjEHGdAdxnSbAs6Bt1HGS20LZvE+B6bWCl5YExJl/e4WgUVZWA56ZKsBJ81rhFlQKIntnh0JfUUZ/ABziupmnCH90bGGT450dGVCB9nnF16omNp/8desQWs0ZLYa+1+r70VE2C4r9SODj1VzxEK2mH3SeCx9rzJKkzSIa1gHT7URhHLTiwKfItNnrN62AoToWDRJHAnrfB8o7jzqwMKvzYEDkiKGiiYcLV7KSZwVhSzj9Qh2wPlCLFU/i3RSeYrKbZeBLNCNdC6hu1MIIDqTrGPSZjqGm63ax2hcVB3WGH4nbFwEga31S4FDHHtaBjhBl8hoUaCSRWrSaVwDfe+6zcGdC2gYI8c0TVQPXWoWyBbLFgQxcakGduqR3Vqo4RoqIZ27N2PQq+wuiMqhvHVq3AgDJSmzxVHhR4STmqgYhz49LR8rTvrvcf8M99Ub1mhV90Rws5KGh5Etf7ac8eL2ShiGHO8MhrL9HwxDstj02d5yORQ0sV8gXpOl3Y7jEBxF76IKdNLqenWntE4zhUBg78Ljr1ZKT+O5E8vevp5Fg6XV4om2qrh3bKhPWkIGaF1v1PAE/KO/RI+j+48MaArnEifYK0+nU4/p03hXE4d+b39VEGjelKup/eioqKioqKizPoLaOU2JdCW3UIAAAAASUVORK5CYII=");
  --lh-icon-orange-selected: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAb1BMVEVHcEzr6+vv7+/t7e2Li4vk5OTb29uYmJhycnJmZmZkZGTs7Oxvb2/u7u77vGiYmJhmZmaLi4tycnIBAQEICAisrKw0NDMVFRVGRURVVVUjIyPPz8/ExMS4uLideEW+kFF8fHzz1a7RtZL7+/t/YToXmvCUAAAADnRSTlMAqiJm+f76+fn5+Yj5RDXWAckAAANeSURBVGje7dhbd6MgEABgsi3ubtvlpoiINvak//83LjNqGqO0NUCfMq85x++MMhdC+A8EkfkNRWR2RQGSV5FqRGTePCZE5jUmRPLfWWI0ZuSRZImXn0D+3JE7ckcW8fwvO1JwoTTNi/RNVZal7XIiui4x6i4b8sDBaFtQ+kwI5f7xVa2BqpZKMoRKSKHpGNOo6AxIMUAe1huM9ddKIqRQxj9YOMa2lDSIE94ws+GVZqEkQZwFYygY21ZSIJ31JdgOlLGAkgDpoMxbuTAY6y6UeKSvweBvjK2VstVJkB4rXLN1dBYKxyVAeNCY3piOR7jBfsi2A37l0Yis4Ou6gFH492WiM1HQ1xsaMKhI8U0E5BE2lP/Z8LjTRaEEKxsg2Js8G7cjBRoiZDAOxnCIQhyUuVFBQ0M3UzSqrWArMTJswHQRRVSD7HGa86DRwUCxLqbV/8KtJFDmZ6PpYobWYVwVwoaDdtL0MeMXNwb/jKABhR65SExGFzSoPbf4WxGqPraSQDPB8UIiENxKLjaGdaEPeLZJDIKt/ZN3xQZYja6Mvci4M6xn7RwSjOE5DiE4U1sZUHBOvhQkEvE71tZuMjUTKFKxugPtQx70rJitXDTsLbYgcQjhyj+iENjFN3agapqEcUhv4GVsK5hhvWXsRJypQMGCq9RVM4Fv1ZMESOur3SsHcT0W0TXbxu5M5lkElV/ara0hGungBj0eILFQoAiDxt7ThTfoceZhLtNCxPF+QpMg2MUxl1kZ1y6c6Cpo7EM6MyElzlaJubirrSESOYiyXCp4q9bLrSES6U15ocBxxYZolltDHOLqC2P60wGVSUyBnL/6HLgrTNsRSYMUoiwDSs1JGmSVR1lO+4K2XxnfR5rF46u2sUIICbVR/EqEPPhZ9UEYK3XnqI8vn78DcUKfzh/FWO7IrvgWUljW8lOhsD3WvCAkPUKh2Rp5gn5efVEStyJ0bOhmONHBNI5kQVw9zoxaUapvMa4QSVcBzXdSXgdyW1whbfO6DLxcTrm0XRLkcePKjOtJHWOsvsmGAiOdNuzYk1QI2fiLATe2RpN0CLHt8Xh8P87x+v56vOncfooUeh1daiRD3JE7ckfuSFZEPv3NEE9qgYhMcYkIkVUheY1RIZkNVEhuAxSS3fDKf40UFp6HLw4ZAAAAAElFTkSuQmCC");
  --lh-icon-eraser: url("data:image/png;base64,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");
  --lh-icon-eraser-selected: url("data:image/png;base64,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");
  --lh-icon-font-size: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABkBAMAAACP0vggAAAAHlBMVEWampr////MzMzv7++xsbHg4OD4+Pifn5+np6e+vr4gOybKAAACV0lEQVRYw+2WTW/aQBCGRwiEOcZWLfWGafsDnFAlx0ggK8dYEXKuTihKblYUixyRUNoeTQ9U+bdhZj88u6ZoOUb1HBBa/Aw7O++7Yzg5NqAlWqIlWuK/IcIzjPgIwv+N8XoEMQaMbu5OZER4qTMRVkRA5EwEK0EkzoQvAOg5E3NJDJyJTBJe7EoMJdGPHIngUhKwdSQ+FYooHYlHBUDHkbjAh58P6wSahf/BrfVTJyKkwm9WB0uHRuFeTNpaOxF3VHNObXxyIh7EuVL9A116MJvN4n8QlHwizrgufbxcLpP9hDBHJPsY8TzlfoLMscsttDJRy5XZULDNga2ruE4oD9My2OboqHpU6b7VULALLxWq0s4tLXOiUg6/4xa5BbOhYN8KkRZ9orX2i5cOtkZSbaxXbbKvXMtgmUP8MqwtssvjnfLSGXFby4nOoEulf96d2o+CNRQsc3TfMP5Stak0WYkumDSJUN8KKjYyzxo/ek2ivhVUrKXWNifnTMtgmsOIjsyTYhf7cYO4aBCY1qfm+0zLNXHdIPBEx3QHY3MTm1CTg0dE51wuFvdVrWWwJwePn5TnZTqdrmqdgDk5nqciruRVyvIoLYM5Mr+cifheiNJ99o+pRWTGxBRa9OI5I7YWUZm3rRgkUWY1lBFiwx1TlpDswMEIoy5dEeRm5jSxnfJS2iQc6g2AMTm21tD1CrWWaYsA3wWbfkFhTkRU1sYghtaE1dqXa76+84A/MNgzdaXKUcM9TgR0IN/4ZBiN+Fqov6pdhRjmS01oruV53r69tkRLtMSHIt4Bp5pofB7gAfEAAAAASUVORK5CYII=");
  --lh-icon-line-spacing: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABkBAMAAACP0vggAAAAG1BMVEWampr////o6Oinp6efn5/g4OCurq7y8vLU1NRfflLhAAAA+0lEQVRYw+3WwQqCQBAG4AH3BVaIziZ6DsLOQfsCKisdhai7gXgVqvduKQVzN90xD0HzH7osH0PpNj9wbIAECRIkZhcBVrjHGCl8iHDCzcGJUcIHaIYsKy0msciVeA3JzloKgwgB2iE19ON4uniOaIbcrETYnEW2ws3bs9gkmC5CIYQ6UZ8nJUQ/e10EUh52wO5SJpyXUov5Ca47w+2eOYk/FpeVlhGRbvrZesOitrkfb8Lu1n4narS4or85/teld5eEUYxsg6T4tHGY/cYZ2Wqm+5ENbk42y3YebgDG/xJ8y+g0mcquyUxoSzzFNrIJrY8n1MJJkCDxs+IBVPKBiPxqHwoAAAAASUVORK5CYII=");
  --lh-icon-prev: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAGFBMVEWCg4P4+frx8vOIiYmztLXe3t+en5/HyMgTC+o1AAAAqUlEQVRIx+3UMQqEMBQE0Cm8QERJrYh1QA+QOyyk9giC94fdCBGj2Zl6Wad+RebnJzAieMDvgnHmoHWgoPZAx0AABxYctIsAGzgYwcGnIQWx4Z7pyJyBgHvOwIKDehFgAwcDOEgNv4IVAjgFvAJWnaE4xnwOXoFy0fNdDAoUh53vw/26qnyjUtf+SHfZySB2MnVl78IJYBoFzEuB2JWC2FX8MKF6ftp/Bm9xIXc0qmc9iwAAAABJRU5ErkJggg==");
  --lh-icon-next: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAG1BMVEX4+fqCg4OIiYnw8fKCgoPCwsOam5vb3N2tra4673Q+AAAAqElEQVRIx+2UPQoCMRBGFzzBhDFsGxtbwRMsJGCpizfYYlvvkIsLiouTDbwine7X5hHyMj9dt+V3M04ABHcFQPoTAHIkQDMA4h8AyJ4AnQCQoXAdD0uGFyAX6xo0fvI+F7Wusk7MAFjXGhATAMa1Dny5Sj09AdJ6g6M3kEVq/EmlWthq3mJZbm/7YXdeEkrDesvN0JMJutrRXOTG2fQ03bAf7vO2Zf85T1qUMRYJOv+0AAAAAElFTkSuQmCC");
  --lh-icon-flag: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgBAMAAAAQtmoLAAAAG1BMVEVHcEwAU5QAU5IAUpMAUpMAUpQAUpMAU5QAUpPJJ104AAAACXRSTlMAzE2Vr75tEzFJ/nKlAAAA8klEQVRYw+3WOwvCMBSG4YOCdf3wtnpDXRUR15QgrqHSP6CIY1Gojrro33bQ2kYTSNBJzjuVk/NMHRIijvt1qZx77QcCaPuAMoCWD7gAaPqADoDa8/vU7d48QHUDANHQFaQCj8LECVQUsmJtITWDkkDesnBeWpnBGMXyX1kd181AaQCT1z7cAKJRQhRcBVwB0JBTBXiALAYMGDBgwMATNGbb7Vq5g/hMRBT0lCMIs8leOIEwH2mXvHbLF4D2XEgL+zGZQaIND6/9ZmIBb2VPm8XHvgVQMJgC0e7zwAaI6Hg0ju3AEgMGfwz6UsqFD+C4L7sD9+6FxJ0jfIEAAAAASUVORK5CYII=");
  --lh-icon-flag-selected: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgBAMAAAAQtmoLAAAAHlBMVEUAAABHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKmEymAAAACnRSTlPMAIJnCyK8TqU6pzZK2gAAAPdJREFUWMPt1j9rwkAYx/EvkULWhyriG+ifTcjgHEEzJ7V0PSqYVfMKgoUW9/b9OkTNRdL63NznN91wH+6OG54fEhgMGLgFCg5BYALsQsASuAsBW2AQAqZA1CyHb0nyk+pB9gAQP6dKUDiarHMVmHNJ1Dlj3g/uXQsovf1j1w9q/LRfOanpB3TzcXpHVqMDxLOVyKJyaAGw2TTvUoNzDBgwYMCAgUCwT5Inpwfv3yIio0oLvs7jPKtVoPRnub+/7AcDvy54NeLSI65Bt5AU7bzO/+hLXl5Ot4py0QEZVZ8QP6aiBSKyeE1vVLjgzmfAwL8H2hgw8EuO2GDymg5+TH0AAAAASUVORK5CYII=");
}

.section-toolbar {
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.18);
}

.section-toolbar__controls {
  gap: 10px;
}

.section-toolbar__group--left {
  gap: 10px;
}

.section-toolbar__group--right {
  gap: 4px;
}

.lsat-toolbar-button {
  height: auto;
  min-height: 31px;
  padding: 2px 6px;
  border: 1px solid #666;
  border-radius: 8px;
  background: #ddd;
  box-shadow: none;
  color: #000;
  font-family: 'MS Sans Serif', Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.15;
}

.lsat-toolbar-button:hover,
.lsat-toolbar-button:focus-visible,
.lsat-toolbar-button:active {
  background: #ddd;
  color: #000;
  border-color: #666;
  outline: none;
}

.lsat-toolbar-button--secondary {
  background: #ddd;
}

.lsat-search-input {
  flex: 0 0 150px;
  width: 150px;
  min-width: 150px;
  height: 31px;
  padding: 5px;
  border: 1px solid #767676;
  border-radius: 2px;
  box-shadow: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
}

.lsat-search-input::placeholder {
  color: #667786;
  opacity: 1;
  font-size: 95%;
  text-align: center;
}

.lsat-search-input:focus {
  border-color: #767676;
  box-shadow: none;
  outline: none;
}

.annotation-tools {
  gap: 0;
}

.annotation-tool {
  width: 40px;
  min-width: 40px;
  height: 40px;
  margin-top: 1px;
  border: none;
  border-radius: 0;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 40px 40px;
  box-shadow: none;
}

.annotation-tool--yellow,
.annotation-tool--pink,
.annotation-tool--orange {
  margin-left: 5px;
}

.annotation-tool--eraser {
  margin-left: 8px;
  background-size: 36px 36px;
}

.annotation-tool__underline,
.annotation-tool__marker,
.annotation-tool__eraser {
  opacity: 0;
  width: 0;
  height: 0;
  overflow: hidden;
}

.annotation-tool--underline {
  background-image: var(--lh-icon-underline);
}

.annotation-tool--underline:hover,
.annotation-tool--underline:focus-visible,
.annotation-tool--underline:active,
.annotation-tool--underline.is-active {
  background-image: var(--lh-icon-underline-selected);
}

.annotation-tool--yellow {
  background-image: var(--lh-icon-yellow);
}

.annotation-tool--yellow:hover,
.annotation-tool--yellow:focus-visible,
.annotation-tool--yellow:active,
.annotation-tool--yellow.is-active {
  background-image: var(--lh-icon-yellow-selected);
  box-shadow: none;
  border-color: transparent;
}

.annotation-tool--pink {
  background-image: var(--lh-icon-pink);
}

.annotation-tool--pink:hover,
.annotation-tool--pink:focus-visible,
.annotation-tool--pink:active,
.annotation-tool--pink.is-active {
  background-image: var(--lh-icon-pink-selected);
}

.annotation-tool--orange {
  background-image: var(--lh-icon-orange);
}

.annotation-tool--orange:hover,
.annotation-tool--orange:focus-visible,
.annotation-tool--orange:active,
.annotation-tool--orange.is-active {
  background-image: var(--lh-icon-orange-selected);
}

.annotation-tool--eraser {
  background-image: var(--lh-icon-eraser);
}

.annotation-tool--eraser:hover,
.annotation-tool--eraser:focus-visible,
.annotation-tool--eraser:active,
.annotation-tool--eraser.is-active {
  background-image: var(--lh-icon-eraser-selected);
}

.annotation-tool:disabled {
  opacity: 0.55;
}

.toolbar-mini-select {
  position: relative;
  flex: 0 0 auto;
  width: 43px;
  height: 45px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
}

.toolbar-mini-select__icon {
  display: block;
  width: 43px;
  height: 45px;
  font-size: 0;
  color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 43px 45px;
}

.toolbar-mini-select:not(.toolbar-mini-select--line) .toolbar-mini-select__icon {
  background-image: var(--lh-icon-font-size);
}

.toolbar-mini-select--line .toolbar-mini-select__icon {
  background-image: var(--lh-icon-line-spacing);
}

.section-toolbar__select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  border: none;
}

.toolbar-mini-select:focus-within {
  outline: 1px solid #777;
  outline-offset: 1px;
}

.section-toolbar__divider {
  width: 1px;
  align-self: stretch;
  background: rgba(0, 0, 0, 0.18);
}

.timer-pill {
  min-width: 220px;
  padding: 6px 10px 7px;
  border-radius: 10px;
  border: 2pt solid rgb(153, 27, 27);
  background: #fff;
  box-shadow: none;
  color: #2f3137;
  font-family: 'MS Sans Serif', Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 400;
}

.timer-pill.is-warning {
  border-color: rgb(153, 27, 27);
  color: #8b5d00;
}

.timer-pill.is-danger {
  border-color: rgb(153, 27, 27);
  color: #991b1b;
}

.flag-button {
  min-width: 42px;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(59, 135, 207, 0.2);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: none;
  color: transparent;
  font-size: 0;
  position: relative;
}

.flag-button::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  margin: 0 auto;
  background-image: var(--lh-icon-flag);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.flag-button.is-active::before {
  background-image: var(--lh-icon-flag-selected);
}

.flag-button:disabled {
  opacity: 0.55;
}

.question-chip {
  font-family: 'MS Sans Serif', Arial, Helvetica, sans-serif;
}

.question-chip.is-marked::after {
  content: "";
  position: absolute;
  top: 1px;
  right: -1px;
  width: 12px;
  height: 12px;
  background-image: var(--lh-icon-flag);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.question-chip.is-marked.is-current::after {
  background-image: var(--lh-icon-flag-selected);
}

.footer-nav-button {
  width: 60px;
  min-width: 60px;
  height: 44px;
  padding: 0 15px;
  border: 1px solid #333;
  border-radius: 6px;
  background: #efefef;
  box-shadow: none;
  color: transparent;
  font-size: 0;
  position: relative;
}

.footer-nav-button::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.footer-nav-button[data-action="prev"]::before {
  background-image: var(--lh-icon-prev);
}

.footer-nav-button[data-action="next"]::before {
  background-image: var(--lh-icon-next);
}

.footer-nav-button:disabled {
  opacity: 0.45;
}

.footer-submit-button {
  height: 44px;
  min-width: 84px;
  padding: 0 14px;
  border: 1px solid #666;
  border-radius: 8px;
  background: #ddd;
  box-shadow: none;
  color: #000;
  font-family: 'MS Sans Serif', Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 400;
}

.footer-submit-button:hover,
.footer-submit-button:focus-visible,
.footer-submit-button:active {
  background: #ddd;
  color: #000;
  border-color: #666;
}

.section-footer__actions {
  gap: 8px;
}

@media (max-width: 1180px) {
  .lsat-search-input {
    min-width: 120px;
    width: 120px;
    flex-basis: 120px;
  }

  .timer-pill {
    min-width: 180px;
  }
}
/* === End LawHub official icon overrides === */

/* === LawHub option / footer refinement === */
:root {
  --lh-icon-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f7f7f' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.7-6 10-6 10 6 10 6-3.7 6-10 6S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E");
  --lh-icon-eye-slash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f7f7f' stroke-width='2.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.2 20.8 20'/%3E%3Cpath d='M10.85 6.2c.38-.07.76-.1 1.15-.1 6.3 0 10 5.9 10 5.9-.8 1.32-1.85 2.54-3.13 3.53'/%3E%3Cpath d='M6.3 8.03C3.74 9.76 2 12 2 12s3.7 6 10 6c1.54 0 2.95-.35 4.24-.95'/%3E%3Cpath d='M10 10.1A2.95 2.95 0 0 0 9.2 12 2.8 2.8 0 0 0 12 14.8c.72 0 1.37-.27 1.9-.73'/%3E%3C/svg%3E");
  --lh-icon-chevron-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f7f7f' stroke-width='2.55' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15.1 12 9l6 6.1'/%3E%3C/svg%3E");
}

.flag-button {
  min-width: 32px;
  width: 32px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.flag-button::before {
  width: 32px;
  height: 30px;
  background-size: contain;
}

.flag-button.is-active {
  background: transparent;
  border: none;
}

.flag-button:hover,
.flag-button:focus-visible,
.flag-button:active {
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
}

.choice-list {
  display: grid;
  gap: 0;
}

.choice-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0;
  align-items: flex-start;
  margin-bottom: 15px;
  margin-right: 21px;
  margin-left: 3px;
  padding-top: 8px;
  padding-right: 10px;
}

.choice-row.is-eliminated {
  opacity: 0.7;
}

.choice-row.is-correct {
  border: 2px solid #037101;
  border-radius: 5px;
  min-height: 44px;
}

.choice-row.is-wrong {
  border: 2px solid #b42318;
  border-radius: 5px;
  min-height: 44px;
}

.choice-bubble {
  width: 36px;
  height: 24px;
  padding: 0;
  margin: 0 10px 0 3px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: grid;
  position: relative;
  z-index: 0;
}

.choice-bubble__label {
  z-index: 2;
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 1px;
  pointer-events: none;
  color: rgb(33, 37, 41);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

.choice-bubble__svg {
  grid-row: 1 / 1;
  grid-column: 1 / 1;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.choice-bubble__ellipse {
  fill: transparent;
  stroke: rgb(80, 80, 80);
  stroke-width: 1.4px;
}

.choice-bubble__strike {
  visibility: hidden;
  stroke: rgb(80, 80, 80);
  stroke-width: 1.4px;
}

.choice-row.is-eliminated .choice-bubble__strike {
  visibility: visible;
}

.choice-bubble.is-selected .choice-bubble__ellipse {
  fill: #2f3137;
  stroke: #2f3137;
}

.choice-bubble.is-selected,
.choice-bubble.is-correct,
.choice-bubble.is-wrong {
  background: transparent;
  border: none;
}

.choice-bubble.is-selected .choice-bubble__label,
.choice-bubble.is-correct .choice-bubble__label,
.choice-bubble.is-wrong .choice-bubble__label {
  color: #fff;
}

.choice-bubble.is-correct .choice-bubble__ellipse {
  fill: #037101;
  stroke: #037101;
}

.choice-bubble.is-wrong .choice-bubble__ellipse {
  fill: #b42318;
  stroke: #b42318;
}

.choice-content {
  padding-top: 0;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.choice-content .reader-copy {
  font-size: calc(var(--reader-font-size, 16px) + 3px);
  line-height: 1.15;
  margin-top: -1.5px;
  margin-right: 12px;
  color: var(--text);
  font-family: "Source Sans Pro", "Segoe UI", Arial, sans-serif;
}

.choice-row.is-selected .choice-content .reader-copy,
.choice-row.is-correct .choice-content .reader-copy,
.choice-row.is-wrong .choice-content .reader-copy {
  color: var(--text);
}

.choice-row.is-eliminated .choice-content .reader-copy {
  color: #6d7783;
}

.choice-content__collapsed {
  margin-top: -15px;
  color: #000;
  font-size: 19px;
  line-height: 1;
}

.choice-tools {
  display: grid;
  grid-auto-rows: 28.5px;
  align-items: start;
  justify-items: center;
  gap: 0;
  width: 28.5px;
  padding-top: 0;
  margin-left: 3px;
  margin-right: 3px;
}

.choice-tool,
.choice-collapse {
  width: 28.5px;
  height: 28.5px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none;
  position: relative;
  display: grid;
  place-items: start center;
  color: #7f7f7f;
  appearance: none;
  -webkit-appearance: none;
}

.choice-tool::before,
.choice-tool::after,
.choice-collapse::before,
.choice-collapse::after {
  content: none;
  display: none;
}

.choice-tool__icon,
.choice-collapse__icon {
  display: block;
  width: 19px;
  height: 19px;
  margin-top: 2px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.choice-tool__icon {
  background-image: var(--lh-icon-eye);
}

.choice-tool.is-active .choice-tool__icon {
  background-image: var(--lh-icon-eye-slash);
}

.choice-collapse__icon {
  background-image: var(--lh-icon-chevron-up);
}

.choice-collapse.is-collapsed .choice-collapse__icon {
  transform: rotate(180deg);
}

.choice-tool:hover,
.choice-tool:focus-visible,
.choice-collapse:hover,
.choice-collapse:focus-visible {
  outline: none;
  box-shadow: none;
  background: transparent !important;
  background-color: transparent !important;
}

.section-footer {
  position: sticky;
  bottom: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  padding: 0 0 3px 3px;
  background-color: #efefef;
  border-top: none;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 -4.95px 4.95px rgba(0, 0, 0, 0.22);
}

.section-footer__strip {
  min-width: 0;
  overflow: hidden;
  padding-top: 3px;
}

.question-strip {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0;
  white-space: nowrap;
  touch-action: pan-x;
  overscroll-behavior-x: contain;
}

.question-strip::-webkit-scrollbar {
  height: 0;
}

.question-chip {
  flex: 0 0 auto;
  min-width: auto;
  display: grid;
  grid-template-rows: 20px 16px auto;
  justify-items: center;
  gap: 0;
  padding: 0 4px;
  border: none;
  background: transparent;
  color: #000;
  font-family: 'MS Sans Serif', Arial, sans-serif;
  font-weight: 400;
  position: relative;
}

.question-chip__top {
  display: block;
  width: 18px;
  height: 18px;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  overflow: visible;
}

.question-chip.is-current:not(.is-marked) .question-chip__top {
  width: 5px;
  height: 18px;
  margin-top: 1px;
  border-radius: 1px;
  background: #000;
}

.question-chip.is-marked .question-chip__top {
  width: 18px;
  height: 16px;
  background-image: var(--lh-icon-flag);
}

.question-chip.is-marked.is-current .question-chip__top {
  background-image: var(--lh-icon-flag-selected);
}

.question-chip__marker {
  width: 22px;
  height: 15px;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  display: grid;
  place-items: center;
}

.question-chip__marker-svg {
  display: block;
  width: 100%;
  height: 100%;
}

.question-chip__marker-ellipse {
  fill: transparent;
  stroke: #000;
  stroke-width: 1.2px;
}

.question-chip.is-answered .question-chip__marker-ellipse {
  fill: #000;
  stroke: #000;
}

.question-chip.is-answered .question-chip__marker {
  background: transparent;
  border: none;
}

.question-chip__label {
  margin-top: -2px;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
}

.question-chip.is-current .question-chip__label {
  font-weight: 700;
}

.question-chip.is-current::before,
.question-chip.is-marked::after {
  display: none;
}

.section-footer__actions {
  display: flex;
  gap: 2px;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  padding-top: 4px;
  padding-right: 4px;
}
/* === End LawHub option / footer refinement === */
