:root {
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: light;
  color: #1f1f1f;
  background-color: #fffaf5;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root {
  width: 100%;
  min-width: 0;
  min-height: 100vh;
}

a {
  font-weight: 500;
  color: #646cff;
  text-decoration: inherit;
}
a:hover {
  color: #535bf2;
}

body {
  margin: 0;
  display: block;
  min-width: 320px;
  min-height: 100vh;
}

h1 {
  font-size: 3.2em;
  line-height: 1.1;
}

button {
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 0.6em 1.2em;
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  background-color: #1a1a1a;
  cursor: pointer;
  transition: border-color 0.25s;
}
button:hover {
  border-color: #646cff;
}
button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}

@media (prefers-color-scheme: light) {
  :root {
    color: #213547;
    background-color: #fffaf5;
  }
  a:hover {
    color: #747bff;
  }
  button {
    background-color: #f9f9f9;
  }
}


.circle-text-layout.right {
  display: grid;
  grid-template-columns: 1fr 160px;
  gap: 16px;
  align-items: start;
}

.circle-text-layout.below {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.circle-text-line {
  font-size: 1rem;
  line-height: 1.6;
}

.circle-choice {
  cursor: pointer;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;

  font-weight: 600; /* ← bold choices */
}

.circle-choice.selected {
  border: 2px solid #333;
}

.circle-choice.correct {
  border-color: #2e7d32;
  background: #e8f5e9;
}

.circle-choice.wrong {
  border-color: #c62828;
  background: #fdecea;
}

.circle-text-image {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

.stimulus-circle-text {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

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

@font-face {
	font-family: "myFirstFont";
	src: url('/fonts/theory.ttf');
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
	font-family: "myFirstFont";
	src: url('/fonts/theory.ttf');
  }
}
/* ───────────────────── Exam visual system ─────────────────────
   Intentionally restrained: one clear question surface, low-noise chrome,
   and consistent spacing. Scoped so the editor/login screens are unaffected.
*/
.exam-page {
  width: 100%;
  min-width: 0;
  min-height: 100vh;
  box-sizing: border-box;
  padding: 36px clamp(16px, 3vw, 42px) 60px;
  background: #f4f6f8;
  color: #18212f;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: left;
}

.exam-shell {
  width: 100%;
  max-width: 1240px;
  min-width: 0;
  margin: 0 auto;
}

.exam-title-block {
  margin: 6px 0 28px;
  padding: 0 2px 18px;
  border-bottom: 1px solid #dce2e8;
}

.exam-title {
  margin: 0;
  color: #111827;
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.15;
  font-weight: 760;
  letter-spacing: -0.025em;
}

.exam-question-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-bottom: 22px;
  padding: clamp(18px, 2.4vw, 26px);
  border: 1px solid #e0e6ed;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035), 0 5px 16px rgba(15, 23, 42, 0.025);
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.exam-question-card:focus-within {
  border-color: #c8d5e4;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 7px 20px rgba(15, 23, 42, 0.045);
}

.exam-question-lead {
  margin: 0 0 14px;
  color: #1f2937;
  font-size: 17px;
  line-height: 1.5;
}

.exam-question-layout:focus-visible {
  border-radius: 8px;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.13);
}

/* Keep the exam comfortably padded on tablets and phones. */
@media (max-width: 760px) {
  .exam-page {
    padding: 20px 10px 40px;
  }

  .exam-title-block {
    margin-bottom: 18px;
    padding-left: 6px;
    padding-right: 6px;
  }

  .exam-question-card {
    padding: 16px 14px;
    border-radius: 11px;
    margin-bottom: 16px;
  }

}

@media print {
  .exam-page {
    padding: 0;
    background: #fff;
  }

  .exam-question-card {
    break-inside: avoid;
    box-shadow: none;
  }
}

html{scrollbar-gutter:stable}
.tp-root { min-height:100vh; background:#f4f6f8; color:#182d38; font-family:system-ui,-apple-system,sans-serif; }
.tp-root * { box-sizing:border-box; }
.tp-header { padding:22px max(24px,calc((100vw - 1200px)/2)); display:flex; justify-content:space-between; align-items:center; gap:20px; background:#fff; border-bottom:1px solid #dce3e7; }
.tp-root a { color:#175a67; }
.tp-brand { font-size:26px; font-weight:800; text-decoration:none; letter-spacing:.02em; }
.tp-brand span { display:block; font-size:12px; font-weight:500; letter-spacing:0; }
.tp-main { max-width:1248px; padding:36px 24px; margin:auto; }
.tp-heading,.tp-section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.tp-heading h1 { font-size:32px; margin:6px 0; }
.tp-heading p { margin:6px 0; }
.tp-eyebrow { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#577078; }
.tp-tabs { display:flex; gap:8px; margin:28px 0; border-bottom:1px solid #d8e2e6; padding-bottom:12px; }
.tp-root button { border:1px solid transparent; border-radius:7px; padding:11px 17px; background:#1d6270; color:white; font:inherit; font-weight:600; cursor:pointer; }
.tp-root button:hover { background:#164e59; }
.tp-root button:disabled { opacity:.5; cursor:default; }
.tp-root .tp-secondary,.tp-tabs button { background:white; border-color:#cdd9de; color:#234d59; }
.tp-root .tp-secondary:hover,.tp-tabs button:hover { background:#edf3f5; }
.tp-tabs button[aria-current] { background:#1d6270; color:white; border-color:#1d6270; }
.tp-card { background:white; border:1px solid #dce4e8; border-radius:12px; padding:26px; margin-bottom:24px; }
.tp-card h2 { font-size:21px; margin:0 0 12px; }
.tp-card p { line-height:1.55; }
.tp-auth { max-width:540px; margin:24px auto; }
.tp-auth h1 { margin:8px 0; font-size:29px; }
.tp-root form { display:grid; gap:18px; margin:22px 0 12px; }
.tp-root label { display:flex; flex-direction:column; gap:7px; font-size:14px; font-weight:600; }
.tp-root input,.tp-root select { padding:11px 12px; border:1px solid #bbcbd3; border-radius:6px; font:inherit; width:100%; color:#182d38; background:white; min-width:0; }
.tp-root input:focus,.tp-root select:focus,.tp-root button:focus-visible { outline:3px solid #9ac7d2; outline-offset:2px; }
.tp-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tp-root .tp-register { grid-template-columns:1fr 1.5fr auto; align-items:end; }
.tp-root .tp-filters { grid-template-columns:1fr 2fr 1fr auto; align-items:end; }
.tp-error,.tp-notice { border-radius:6px; padding:12px; }
.tp-error { background:#fcebed; color:#9a2639; }
.tp-notice { background:#e8f4ef; color:#25614c; }
.tp-muted { color:#687b84; font-size:13px; }
.tp-actions { display:flex; gap:10px; }
.tp-auth-links { display:flex; justify-content:space-between; gap:12px; margin-top:20px; }
.tp-root .tp-link { background:transparent; color:#175a67; padding:0; text-decoration:underline; font-size:14px; }
.tp-slips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.tp-slip { border:1px solid #d5e0e5; border-radius:8px; padding:18px; overflow-wrap:anywhere; break-inside:avoid; }
.tp-slip h3 { margin:0; font-size:18px; }
.tp-slip p { margin:8px 0; }
.tp-slip dl { margin-bottom:0; }
.tp-slip dt { margin-top:10px; font-size:12px; color:#677d87; }
.tp-slip dd { margin:4px 0 0; font-size:14px; }
.tp-slip code { font-size:13px; color:#183943; }
.tp-table-wrap { overflow-x:auto; }
.tp-root table { width:100%; border-collapse:collapse; font-size:14px; }
.tp-root th { text-align:left; background:#f1f5f7; color:#49616d; font-weight:600; }
.tp-root td,.tp-root th { padding:13px 12px; border-bottom:1px solid #e1e8ec; vertical-align:top; }
.tp-root td a { white-space:nowrap; }
.tp-pagination { margin-top:20px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:14px; }
.tp-root .tp-checkbox { flex-direction:row; align-items:center; }
.tp-checkbox input { width:auto; }
.tp-record-list { padding:0; list-style:none; }
.tp-record-list li { display:flex; justify-content:space-between; align-items:center; gap:14px; border-top:1px solid #e1e8ec; padding:16px 0; }
.tp-account { color:#60727b; font-size:12px; overflow-wrap:anywhere; }
.tp-footer { text-align:center; padding:24px; color:#677b84; font-size:12px; }
@media(max-width:800px) { .tp-header { padding:18px; }.tp-header>a:last-child { font-size:13px; }.tp-main { padding:24px 14px; }.tp-card { padding:20px; }.tp-root .tp-register,.tp-root .tp-filters,.tp-fields,.tp-slips { grid-template-columns:1fr; }.tp-section-heading { align-items:flex-start; flex-direction:column; }.tp-actions,.tp-tabs { flex-wrap:wrap; }.tp-tabs button { padding:10px 12px; font-size:14px; }.tp-record-list li { align-items:flex-start; flex-direction:column; } }
@media print { .tp-root { background:white; }.tp-header,.tp-heading,.tp-tabs,.tp-register-card,.tp-account,.tp-footer,.tp-section-heading,.tp-pagination { display:none; }.tp-main,.tp-card { padding:0; margin:0; max-width:none; border:0; }.tp-slips { grid-template-columns:repeat(2,minmax(0,1fr)); }.tp-slip { margin-bottom:14px; } }

/* Lion Theory practice brand, scoped to the exam portal. */
.tp-root{background:#fffaf5;color:#1f1f1f;color-scheme:light}.tp-root a{color:#8b420a}.tp-header{padding-top:20px;padding-bottom:20px}.tp-header-links{display:flex;align-items:center;gap:22px;font-size:14px}.tp-main{max-width:1160px}.tp-card{border-color:#e5e4e7;border-radius:20px;box-shadow:0 8px 30px rgba(0,0,0,.035)}.tp-root button{border-radius:10px;background:#f28c38;color:#281709}.tp-root button:hover{background:#e67f2c}.tp-root .tp-secondary,.tp-tabs button{background:#fff;border-color:#e5e4e7;color:#1f1f1f}.tp-root .tp-secondary:hover,.tp-tabs button:hover{background:#fff7ed}.tp-tabs button[aria-current]{background:#fff0e1;border-color:#efbf98;color:#883c05}.tp-root .tp-link{background:transparent;color:#8b420a}.tp-root input,.tp-root select{border-color:#d8d3cf;border-radius:9px;color:#1f1f1f}.tp-root input:focus,.tp-root select:focus,.tp-root button:focus-visible{outline-color:#ecb07d}.tp-eyebrow{color:#9a4a0a}.tp-heading h1{letter-spacing:-1px}.tp-tabs{border-color:#e5e4e7;flex-wrap:wrap}.tp-auth-layout{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:38px;align-items:start;max-width:1080px;margin:24px auto}.tp-auth-layout .tp-auth{width:100%;margin:0}.tp-auth-layout .lt-practice{margin:0;grid-template-columns:1fr;padding:32px}.tp-auth-layout .lt-practice h2{font-size:34px}.tp-slip{border-color:#e5e4e7;background:#fff;border-radius:14px}.tp-slip-practice{display:flex;flex-direction:column;gap:6px;border-top:1px solid #e5e4e7;margin-top:16px;padding-top:14px;font-size:12px}.tp-slip-practice span{color:#6b7280;font-size:11px}.tp-root th{background:#fff7ed;color:#61564c}.tp-footer{color:#6b7280}.tp-footer a{text-decoration:underline}@media(max-width:800px){.tp-auth-layout{grid-template-columns:1fr;gap:24px}.tp-header{flex-wrap:wrap}.tp-header-links{gap:16px;flex-wrap:wrap}.tp-auth-layout .lt-practice h2{font-size:27px}}@media print{.tp-auth-layout{display:none}.tp-slip-practice a{color:#1f1f1f;text-decoration:none}.tp-root{background:#fff}}

.tp-slip-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tp-root .tp-copy-exam{padding:8px 12px;font-size:12px}.tp-slip-exam{margin-top:16px;padding-top:16px;border-top:1px solid #e5e4e7}.tp-slip-exam h4{margin:0;font-size:15px}.tp-copy-status{font-size:12px;color:#28603e}.tp-manual-copy textarea{box-sizing:border-box;width:100%;resize:vertical;font:13px/1.5 system-ui,sans-serif;padding:10px;border:1px solid #d8d3cf;border-radius:8px}@media print{.tp-copy-exam,.tp-copy-status,.tp-manual-copy{display:none!important}}

.tp-slip-exam{margin-top:10px;padding-top:0;border:1px solid #e5e4e7;border-radius:9px;overflow:hidden}.tp-root .tp-exam-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:#fffaf5;color:#1f1f1f;border:0;border-radius:0;padding:11px 12px;font-size:14px;font-weight:600}.tp-root .tp-exam-toggle:hover{background:#fff0e1}.tp-exam-chevron{font-size:18px;line-height:1}.tp-exam-credentials{padding:0 12px 12px}.tp-exam-credentials dl{margin:0}.tp-credentials-collapsed{display:none}.tp-root .tp-credential-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;background:#fff;color:#1f1f1f;border:1px solid #e5e4e7;text-align:left}.tp-root .tp-credential-copy:hover{background:#fff7ed}.tp-credential-copy code{overflow-wrap:anywhere}.tp-credential-copy span{font-size:11px;color:#8b420a;flex-shrink:0}.tp-take-exams{display:inline-block;margin-top:14px;font-size:13px;font-weight:600}.tp-print-login{display:none}@media print{.tp-credentials-collapsed{display:block}.tp-exam-chevron,.tp-credential-copy span,.tp-take-exams{display:none!important}.tp-print-login{display:block;margin-top:12px;font-size:12px}.tp-root .tp-exam-toggle,.tp-root .tp-credential-copy{background:white;border:0;padding:4px 0}.tp-exam-credentials{padding:0 10px 8px}}

.tp-slip .tp-exam-link{margin-top:14px}

/* Keep the page shell steady while session/data requests finish. */
.tp-root{display:flex;flex-direction:column;min-height:100svh}.tp-main{width:100%;flex:1;min-height:640px}.tp-header .lt-brand img{flex-shrink:0}.tp-startup-lines{height:126px;padding-top:8px}.tp-startup-lines div,.tp-startup-title,.tp-startup-fields div,.tp-startup-student,.tp-results-placeholder div{background:#f0ece7;border-radius:8px}.tp-startup-lines div{width:220px;height:20px;margin-bottom:12px}.tp-startup-lines div:nth-child(2){width:280px;height:34px}.tp-startup-lines div:nth-child(3){width:180px;height:16px}.tp-startup-card{min-height:170px}.tp-startup-title{width:190px;height:25px;margin-bottom:24px}.tp-startup-fields{display:grid;grid-template-columns:1fr 1fr 150px;gap:16px}.tp-startup-fields div{height:44px}.tp-startup-student{height:170px}.tp-results-placeholder div{height:180px}.tp-table-wrap{min-height:240px}@media(max-width:800px){.tp-startup-fields{grid-template-columns:1fr}.tp-main{min-height:640px}}

.tp-shared-exam-link{margin-top:18px;padding:12px 14px;border:1px solid #e5e4e7;border-radius:10px;background:#fffaf5;overflow-wrap:anywhere}.tp-shared-exam-link p{margin:0;font-size:14px;line-height:1.6}.tp-shared-exam-link a{text-decoration:underline}.tp-root .tp-shared-exam-link button{padding:6px 10px;margin-left:8px;font-size:12px}.tp-shared-exam-link .tp-copy-status{display:block;margin-top:6px}@media print{.tp-shared-exam-link button,.tp-shared-exam-link .tp-copy-status{display:none!important}.tp-shared-exam-link{background:white}}

.tp-grade-cell{min-width:110px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.tp-grade-form{min-width:210px}.tp-grade-input{display:flex;align-items:center;gap:8px}.tp-grade-input input{width:95px}.tp-grade-input span{white-space:nowrap}.tp-grade-actions{display:flex;gap:6px;margin-top:8px}.tp-root .tp-grade-actions button{padding:7px 10px;font-size:13px}.tp-grade-cell .tp-error,.tp-grade-cell .tp-notice{max-width:240px;margin:0;font-size:12px}
.lt-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none!important;color:#1f1f1f!important}.lt-brand img{object-fit:contain;flex-shrink:0}.lt-brand strong{display:block;font:700 25px/1.15 "Courier New",monospace;letter-spacing:-.6px}.lt-brand small{display:block;color:#6b7280;font-size:12px;line-height:1.5;margin-top:3px}.lt-kicker{color:#9a4a0a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin:0 0 10px}.lt-practice{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:26px 28px;border:1px solid #f0d9c4;border-radius:20px;background:linear-gradient(115deg,#fff8ef,#fffdf9);color:#1f1f1f;font-family:system-ui,sans-serif;margin:20px 0}.lt-practice h2{font-size:25px;line-height:1.2;margin:0 0 10px;letter-spacing:-.6px;color:#1f1f1f}.lt-practice p{max-width:590px;line-height:1.55;margin:8px 0}.lt-practice .lt-kicker{margin:0 0 10px}.lt-bridge-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:300px}.lt-button,.tp-root .lt-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #edaa71;border-radius:10px;padding:12px 18px;background:#f28c38;color:#281709;text-decoration:none;font:700 14px/1.3 system-ui,sans-serif;cursor:pointer}.lt-button:hover,.tp-root .lt-button:hover{background:#e67f2c;color:#281709}.lt-button-secondary,.tp-root .lt-button-secondary{background:#fff;border-color:#e5e4e7;color:#1f1f1f}.lt-button-secondary:hover,.tp-root .lt-button-secondary:hover{background:#fff7ed}.lt-button-text,.tp-root .lt-button-text{background:transparent;border:0;padding:4px 0;color:#8b420a;font-size:12px}.lt-button:focus-visible,.lt-brand:focus-visible{outline:3px solid #a85012;outline-offset:4px}.lt-fine-print{font-size:12px!important;color:#6b7280!important;overflow-wrap:anywhere}.lt-practice-compact{padding:20px 24px}.lt-practice-compact h2{font-size:20px}.lt-practice-compact p{font-size:14px}.lt-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.lt-benefits article{padding:18px;border:1px solid #e5e4e7;border-radius:14px}.lt-benefits span{font-size:12px;font-weight:800;color:#9a4a0a}.lt-benefits h3{font-size:16px;margin:12px 0 8px}.lt-benefits p{font-size:14px;color:#6b7280}.lt-level-choice{max-width:280px;margin-top:24px}.lt-hub-footer{border-top:1px solid #e5e4e7;padding-top:16px;font-size:14px}.lt-hub-footer a{font-weight:700}.lt-login-page{min-height:100vh;background:#fffaf5;color:#1f1f1f;color-scheme:light;font-family:system-ui,sans-serif}.lt-login-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px max(24px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid #e5e4e7}.lt-login-body{display:grid;grid-template-columns:minmax(0,450px) minmax(0,1fr);gap:38px;align-items:start;max-width:1100px;margin:auto;padding:48px 24px}.lt-login-page .lt-practice{margin:0}.lt-review-header{padding:20px 24px;border-bottom:1px solid #e5e4e7;background:#fff}.lt-review-bridge{max-width:1100px;margin:0 auto;padding:0 24px}.lt-completion{max-width:950px;margin:auto;padding:48px 24px;color:#1f1f1f;color-scheme:light;font-family:system-ui,sans-serif}.lt-completion h1{font-size:32px;line-height:1.2}.lt-completion>p{color:#6b7280}@media(max-width:800px){.lt-practice{grid-template-columns:1fr;padding:22px}.lt-bridge-actions{max-width:none;flex-direction:row;flex-wrap:wrap}.lt-benefits{grid-template-columns:1fr}.lt-login-header{padding:18px;flex-wrap:wrap}.lt-login-body{grid-template-columns:1fr;padding:24px 16px;gap:24px}.lt-brand strong{font-size:23px}}@media print{.lt-practice,.lt-hub,.lt-review-header{display:none!important}}
