
/* PrepSettle TEAS cluster - local styles over site.css */
:root {
    --ink:#16262E; --ink2:#45585F; --paper:#F4F7F6; --surface:#FFFFFF;
    --rule:#D3DCDB; --edge:#6F8389; --navy:#173F5F; --navy-deep:#0F2F49;
    --signal:#F2B134; --alert:#B3261E; --clear:#17694A; --info:#2B5FAE;
    --sec-reading:#0072B2; --sec-math:#B34700; --sec-science:#00795A; --sec-english:#9E3F78;
}
.tq-mount { max-width:720px; margin:0 auto; }
.tq-card { background:var(--surface); border:1px solid var(--rule); border-radius:3px; padding:24px; }
.tq-progress { font-size:0.85rem; color:var(--ink2); margin-bottom:14px; }
.tq-stem { font-size:1.125rem; line-height:1.5; margin-bottom:18px; }
.tq-options { display:flex; flex-direction:column; gap:10px; }
.tq-opt { text-align:left; padding:12px 16px; min-height:44px; border:1px solid var(--edge); border-radius:6px; background:var(--surface); font-size:1rem; cursor:pointer; }
.tq-opt:hover:not(:disabled) { border-color:var(--navy); }
.tq-opt.is-correct { border-color:var(--clear); box-shadow:inset 0 0 0 1px var(--clear); }
.tq-opt.is-wrong { border-color:var(--alert); }
.tq-feedback { margin-top:16px; padding:14px; border-radius:3px; font-size:0.95rem; line-height:1.5; }
.tq-feedback.is-good { background:#EAF4EE; border-left:3px solid var(--clear); }
.tq-feedback.is-bad { background:#FBEDEB; border-left:3px solid var(--alert); }
.tq-btn { display:inline-block; margin-top:16px; padding:10px 22px; min-height:44px; background:var(--navy); color:#fff; border:none; border-radius:6px; font-size:1rem; cursor:pointer; text-decoration:none; }
.tq-btn:hover { background:var(--navy-deep); }
.tq-btn.tq-outline { background:transparent; color:var(--navy); border:1px solid var(--edge); }
.tq-done { background:var(--surface); border:1px solid var(--rule); border-radius:3px; padding:28px; max-width:720px; margin:0 auto; }
.tq-done-title { margin:0 0 8px; }
.tq-band { color:var(--ink2); margin:0 0 12px; }
.tq-note { color:var(--ink2); font-size:0.9rem; margin-top:14px; }
.tq-static-list { padding-left:0; list-style:none; counter-reset:q; }
.tq-static-item { counter-increment:q; padding:18px 0; border-bottom:1px solid var(--rule); }
.tq-static-stem { font-weight:600; margin-bottom:8px; }
.tq-static-stem::before { content:"Q" counter(q) ". "; color:var(--navy); }
.tq-static-item ul { list-style:upper-alpha; padding-left:28px; margin-bottom:10px; }
.tq-correct { font-weight:700; }
.tq-key-tag { font-size:0.75rem; font-weight:600; color:var(--clear); border:1px solid var(--clear); border-radius:99px; padding:1px 8px; margin-left:6px; vertical-align:1px; }
.tq-why { font-size:0.95rem; line-height:1.55; color:var(--ink2); }
.tq-area { font-size:0.8rem; color:var(--ink2); }
.tq-test-select { margin:0 0 16px; padding:10px 14px; background:var(--card, #fff); border:1px solid var(--rule); border-radius:3px; display:flex; align-items:center; gap:8px; font-size:0.95rem; }
.tq-test-label { font-weight:600; color:var(--foreground); }
.tq-test-select-box { padding:6px 10px; border:1px solid var(--rule); border-radius:3px; background:var(--card, #fff); color:var(--foreground); font-size:0.95rem; max-width:100%; }
.tq-passage { background:var(--paper); border:1px solid var(--rule); padding:14px 16px; border-radius:3px; font-size:0.95rem; line-height:1.6; margin-bottom:16px; }
.tq-static-passage { font-size:0.95rem; color:var(--ink2); padding:10px 12px; background:var(--paper); border-left:3px solid var(--navy); margin-bottom:10px; }
.prose { max-width:760px; }
.prose table { width:100%; border-collapse:collapse; margin:16px 0; }
.prose th, .prose td { border:1px solid var(--rule); padding:8px 10px; text-align:left; font-size:0.95rem; }
.prose th { background:var(--paper); }
@media (max-width:600px) {
    .tq-card { padding:16px; }
    .tq-stem { font-size:1.05rem; }
}

/* white header (scope class on <body class="teas">, mirrors met/celpip/home) */
.teas .navbar { background:#fff; box-shadow:0 1px 0 rgba(0,0,0,0.08); }
.teas .nav-links a { color:#111; }
.teas .nav-links a:hover, .teas .nav-links a.active { color:#173F5F; }
.teas .nav-toggle span { background:#111; }
.teas .nav-links { background:#fff; }

/* ---------- full mock engine (mock.js) ---------- */
.tm-top { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:18px 0 10px; padding:14px 16px; background:#fff; border:1px solid #e5e7eb; border-radius:10px; }
.tm-timer { margin-left:auto; font-weight:800; font-size:1.25rem; font-variant-numeric:tabular-nums; color:#173F5F; background:#eef3f8; padding:6px 14px; border-radius:8px; }
.tm-timer.tm-warn { color:#b00020; background:#fdecec; }
.tm-navgrid { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 14px; }
.tm-navnum { min-width:34px; height:34px; border:1px solid #d7dde5; border-radius:7px; background:#fff; color:#333; font-weight:600; cursor:pointer; }
.tm-navnum.tm-cur { border-color:#173F5F; background:#173F5F; color:#fff; }
.tm-navnum.tm-ans { background:#dff0e4; border-color:#7bb894; }
.tm-navnum.tm-flag { background:#fff3cd; border-color:#e2c65c; }
.tm-questionbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin:6px 0 8px; }
.tm-progress { font-size:.9rem; color:#556; font-weight:600; }
.tm-flagbtn { border:1px solid #d7dde5; background:#fff; border-radius:7px; padding:7px 14px; cursor:pointer; font-weight:600; }
.tm-passage { background:#f4f7fa; border-left:4px solid #173F5F; border-radius:6px; padding:14px 16px; margin:4px 0 14px; font-size:.98rem; line-height:1.55; }
.tm-sub { font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; color:#7a8494; margin:0 0 10px; }
.tm-pilot { display:inline-block; text-transform:none; letter-spacing:0; background:#fff3cd; color:#7a5c00; border-radius:5px; padding:2px 8px; font-size:.78rem; font-weight:700; margin-left:8px; }
.tm-opts { display:flex; flex-direction:column; gap:9px; margin:14px 0; }
.tm-opt { text-align:left; background:#fff; border:1px solid #d7dde5; border-radius:8px; padding:12px 14px; font-size:.98rem; cursor:pointer; line-height:1.45; }
.tm-opt:hover { border-color:#173F5F; }
.tm-opt.tm-picked { background:#e8f0f9; border-color:#173F5F; font-weight:600; }
.tm-pager { display:flex; gap:10px; margin-top:14px; }
.tm-pager .tq-btn:disabled { opacity:.5; cursor:not-allowed; }
.tm-tbl { width:100%; border-collapse:collapse; margin:12px 0 18px; font-size:.95rem; }
.tm-tbl th, .tm-tbl td { border:1px solid #e5e7eb; padding:8px 12px; text-align:left; }
.tm-tbl th { background:#f4f7fa; }
.tm-scorebig { font-size:1.6rem; font-weight:800; color:#173F5F; margin:8px 0; }
.tm-review { border:1px solid #e5e7eb; border-radius:8px; padding:12px 14px; margin:10px 0; background:#fff; }
.tm-review p { margin:4px 0; }
.tm-r-ok { border-left:4px solid #4c9a67; }
.tm-r-no { border-left:4px solid #cf5b4c; }
.tm-rationale { font-size:.92rem; color:#445; background:#f8fafc; border-radius:6px; padding:10px 12px; }
.tm-calc { position:sticky; bottom:10px; width:240px; margin:14px 0 6px auto; background:#2a3342; border-radius:12px; padding:10px; box-shadow:0 6px 24px rgba(0,0,0,.25); z-index:50; }
.tm-calc-display { background:#10151d; color:#fff; font-size:1.25rem; text-align:right; padding:10px 12px; border-radius:8px; margin-bottom:8px; font-variant-numeric:tabular-nums; overflow:hidden; }
.tm-calc-keys { display:grid; grid-template-columns:repeat(4, 1fr); gap:6px; }
.tm-calc-key { background:#49546a; border:0; color:#fff; border-radius:7px; padding:9px 0; font-size:1rem; cursor:pointer; font-weight:600; }
.tm-calc-key:hover { background:#5d6a84; }
.tm-intro h2 { margin-top:0; }
.tm-break { border-left:4px solid #e2c65c; }
.tm-err { color:#b00020; font-weight:600; }
