:root {
  --navy:var(--ltct-ink,#14213d); --blue:var(--ltct-primary,#2447e8); --teal:var(--ltct-primary,#2447e8); --ink:var(--ltct-ink,#14213d);
  --muted:var(--ltct-text-muted,#4c5a73); --line:var(--ltct-border,#dbe3f2); --bg:var(--ltct-surface,#f5f7ff); --soft:var(--ltct-surface,#f5f7ff);
  --mock-scale:1.12; --mock-tools-height:64px;
  font-size:calc(18px * var(--mock-scale));
}
body { font-family:-apple-system,BlinkMacSystemFont,"Pretendard Variable",Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif; line-height:1.8; background:var(--bg); }
.ltct-exam-tools { position:sticky; top:0; z-index:70; display:flex; gap:12px; flex-wrap:wrap; justify-content:space-between; align-items:center; padding:10px max(14px,calc((100% - 1160px)/2)); background:var(--ltct-primary,#2447e8); color:white; font-size:16px; box-shadow:0 3px 16px #14213d14; }
.ltct-exam-tools a { color:#fff; text-decoration:none; font-weight:800; }
.ltct-exam-tools label { display:flex; align-items:center; gap:10px; }
.ltct-exam-tools select { min-height:44px; background:#fff; color:var(--ltct-ink,#14213d); border:1px solid var(--ltct-border-strong,#bdcbed); border-radius:8px; font-size:16px; padding:6px 10px; }
.ltct-exam-tools small { color:var(--ltct-surface-strong,#e9efff); font-size:14px; }
.start-screen { background:var(--bg); }
.brand { background:var(--ltct-primary,#2447e8); }
.topbar,.exam-header,.exam-topbar,.top-bar { top:var(--mock-tools-height); }
.sidebar { top:calc(var(--mock-tools-height) + 120px); }
.question-card,.qcard { min-width:0; color:var(--ink); padding:clamp(20px,4vw,36px); }
.source-card,.stimulus,.passage,.notice:not(.warn),.note,.symbol-box { background:var(--ltct-surface-alt,#f0f4ff); border-color:var(--line); color:var(--ltct-ink,#14213d); }
.prompt { font-size:1.15rem; line-height:1.8; }
.option { padding:16px 14px; min-height:60px; grid-template-columns:24px 32px minmax(0,1fr); }
.option span:last-child { font-size:1rem; line-height:1.8; }
.option.selected,.pbtn.answered { background:var(--ltct-surface-alt,#f0f4ff); border-color:var(--ltct-primary,#2447e8); }
.option:hover { background:var(--ltct-surface-alt,#f0f4ff); }
.option input { accent-color:var(--ltct-primary,#2447e8); }
.pill,.my-answer,.structure th,.data-table th,.data-table thead th { background:var(--ltct-surface-alt,#f0f4ff); color:var(--ltct-ink,#14213d); }
.btn,.primary { min-height:44px; font-size:16px; }
.btn.small,.small,.sidebar-note,.source-note,.table-note,.diagram-foot,.diagram-note,.diagram-legend,.chart-subtitle,.qtype,.char-count,.counter { font-size:max(14px,.8rem); }
.data-table-wrap { overflow-x:auto; padding:10px; }
.data-table { min-width:520px; width:100%; table-layout:auto; }
.data-table td,.data-table th { font-size:1rem; line-height:1.65; padding:10px 12px; }
.diagram-wrap,.chart-wrap { overflow-x:auto; }
.diagram-wrap svg,.chart-wrap svg { min-width:calc(620px * var(--mock-scale)); max-width:none; }
.answer-box textarea,.text-answer textarea { font-size:1rem; line-height:1.8; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid var(--ltct-primary,#2447e8); outline-offset:3px; }
@media(max-width:760px) {
  .exam-layout,.exam-shell { grid-template-columns:1fr; }
  .test-title { font-size:1rem; max-width:none; }
  .question-card,.qcard { padding:20px 14px; }
  .ltct-exam-tools { gap:6px 12px; }
  .start-card,.panel { padding:22px 16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .ltct-exam-tools { display:none; } }
