.dat-exam-page { margin:0; color:#17243c; background:#f4f6fa; font:16px/1.6 system-ui,sans-serif; }
.dat-top { position:sticky; top:0; z-index:5; background:#17243c; color:white; padding:14px 4vw; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.dat-top a { color:white; font-size:14px; } #dat-clock { font-variant-numeric:tabular-nums; font-weight:800; }
#dat-app { max-width:1200px; margin:28px auto; padding:0 20px 32px; outline:none; }
.dat-card { background:white; border:1px solid #dce3ed; border-radius:18px; padding:24px; margin:16px 0; }
.dat-card h1,.dat-card h2 { line-height:1.25; margin:0 0 16px; }.dat-card p { margin:12px 0; }
.dat-modes { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.dat-mode { text-align:left; border:1px solid #b7c4d8; border-radius:14px; background:white; padding:20px; cursor:pointer; color:#17243c; }
.dat-mode b,.dat-mode span { display:block; }.dat-mode b { font-size:19px; }.dat-mode span { margin-top:8px; }
.dat-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:18px; }
.dat-exam-page button { min-height:44px; font:inherit; padding:10px 16px; cursor:pointer; border:1px solid #9aabc6; border-radius:10px; background:#fff; color:#17243c; }
.dat-exam-page button.primary-button { color:white; background:#263f6a; }.dat-exam-page button:disabled { opacity:.4; cursor:default; }
.dat-exam-page :focus-visible { outline:3px solid #665ee8; outline-offset:3px; }
.dat-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }.dat-layout.has-passage { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.dat-passage { max-height:65vh; overflow:auto; scroll-padding:16px; border:1px solid #c9d5e5; border-radius:12px; padding:20px; background:#fafcff; }
.dat-passage h2 { font-size:21px; }.dat-passage p { font-size:16px; line-height:1.8; }
.dat-stem { font-size:21px; line-height:1.5; }.dat-choices { border:0; padding:0; margin:12px 0; min-width:0; }
.dat-choice { display:flex; align-items:flex-start; gap:12px; padding:14px; border:1px solid #cbd6e4; border-radius:12px; margin:10px 0; cursor:pointer; }
.dat-choice:has(input:checked) { background:#edf0ff; border-color:#625ce5; }.dat-choice input { margin-top:5px; min-width:20px; min-height:20px; }
.dat-map { display:grid; grid-template-columns:repeat(auto-fill,minmax(52px,1fr)); gap:8px; margin-top:12px; }.dat-map button { position:relative; }
.dat-map .answered { background:#e2f3ed; }.dat-map .flagged { border:3px solid #9c590a; }.dat-map [aria-current=true] { box-shadow:0 0 0 3px #655ee8; }
.dat-note { font-size:14px; color:#4b5e77; }.dat-warning { padding:12px; background:#fff3d3; border-radius:10px; }.dat-error { color:#9b2433; }
.dat-review-item { border-top:1px solid #d2dbea; padding:20px 0; }.dat-review-item h3 { font-size:18px; }.dat-correct { color:#14664a; }.dat-incorrect { color:#9b2433; }
.dat-results { width:100%; border-collapse:collapse; }.dat-results td,.dat-results th { text-align:left; padding:10px; border-bottom:1px solid #dce3ed; }
.dat-calc { display:flex; gap:8px; flex-wrap:wrap; align-items:center; padding:10px 0; }.dat-calc input { width:130px; padding:9px; }.dat-calc select { padding:9px; }
.dat-exam-page dialog { max-width:480px; border:1px solid #cbd6e4; border-radius:18px; padding:24px; }.dat-exam-page dialog::backdrop { background:#17243c99; }
.dat-exam-page .module-visual { max-width:100%; overflow:auto; }.dat-exam-page svg { max-width:100%; height:auto; }
@media(max-width:760px) { #dat-app { padding:0 12px 24px; margin-top:16px; }.dat-card { padding:16px; }.dat-layout.has-passage { grid-template-columns:1fr; }.dat-passage { max-height:36vh; }.dat-stem { font-size:18px; }.dat-top { gap:8px; padding:10px 12px; }.dat-top strong { font-size:15px; }.dat-top a { max-width:145px; }.dat-mode { padding:16px; }.dat-results { font-size:14px; } }
