/* Scoped exam layout; retains the portal's blue/gold branding. */
#s4e-exam-root{--exam-blue:#12477d;--exam-line:#dce5ef;--exam-muted:#62748b;color:#19334d}
#s4e-exam-root [hidden]{display:none!important}
#s4e-exam-root .exam-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#s4e-exam-root h2,#s4e-exam-root h3{margin-top:0}
#s4e-exam-root .exam-intro{border-left:5px solid #f1bc31}
#s4e-exam-root .exam-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px}
#s4e-exam-root .exam-choice,#s4e-exam-root .exam-history{padding:20px;border:1px solid var(--exam-line);border-radius:14px;background:#fff}
#s4e-exam-root .exam-history{margin-bottom:14px}
#s4e-exam-root .exam-parts{margin:14px 0;padding:12px 16px;border:1px solid var(--exam-line);border-radius:10px}
#s4e-exam-root .exam-parts label{display:flex;gap:8px;align-items:baseline;margin:8px 0}
#s4e-exam-root input[type=checkbox]{width:auto}
#s4e-exam-root .exam-filter{max-width:260px;display:block}
#s4e-exam-root .exam-preflight{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}
#s4e-exam-root .exam-preflight li{margin:10px 0;line-height:1.6}
#s4e-exam-root .exam-consent{display:flex;gap:10px;padding:14px;background:#eff6fd;border-radius:10px;line-height:1.6}
#s4e-exam-root .exam-camera{display:grid;gap:7px;justify-items:start}
#s4e-exam-root .exam-camera video{display:block;width:100%;max-width:300px;aspect-ratio:4/3;object-fit:cover;background:#132d47;border-radius:12px;transform:scaleX(-1)}
#s4e-exam-root .exam-room-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;align-items:start}
#s4e-exam-root .exam-room-controls{display:grid;gap:12px;justify-items:stretch}
#s4e-exam-root .exam-room-controls video{width:160px}
#s4e-exam-root .exam-clock{font-variant-numeric:tabular-nums;font-size:34px;line-height:1.1;color:var(--exam-blue);letter-spacing:2px}
#s4e-exam-root .exam-clock.expired{color:#aa263b}
#s4e-exam-root .exam-camera-block{padding:16px 20px;background:#fff4df;border:1px solid #ebcf91;border-radius:12px;margin:14px 0;line-height:1.6}
#s4e-exam-root .exam-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px}
#s4e-exam-root .exam-tabs button{border:1px solid var(--exam-line);background:#fff;border-radius:10px;padding:11px 18px;color:#2c4a68;font:inherit;white-space:nowrap;cursor:pointer}
#s4e-exam-root .exam-tabs button span{display:block;font-size:12px;color:var(--exam-muted);margin-top:3px}
#s4e-exam-root .exam-tabs button.active{background:#eaf3fd;border-color:#2b6ca9;box-shadow:inset 0 -3px 0 #2b6ca9}
#s4e-exam-root .exam-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:18px;align-items:start}
#s4e-exam-root .exam-prompt,#s4e-exam-root .exam-response{margin:0;min-width:0;padding:22px}
#s4e-exam-root .exam-prompt{position:static;max-height:none;overflow:visible}
/* The passage follows the page; only the answer panel follows the reader. */
#s4e-exam-root .exam-response{position:sticky;top:16px;align-self:start;display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;scroll-padding:20px}
#s4e-exam-root #exam-attempt-form{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable;scroll-padding:12px}
#s4e-exam-root .exam-attention{position:static;flex:0 0 auto;margin-top:14px;padding:12px 14px;border:1px solid #ccdaea;border-left:4px solid #3869a1;border-radius:10px;background:#f2f7fd;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
#s4e-exam-root .exam-attention p{margin:5px 0}
#s4e-exam-root .exam-attention .tiny,#s4e-exam-root .exam-attention small{font-size:11px;line-height:1.5}
#s4e-exam-root .exam-attention strong{font-size:16px;font-variant-numeric:tabular-nums}
#s4e-exam-root .exam-attention.has-warning{background:#fff5df;border-color:#edcc86;border-left-color:#d48b14;color:#694511}
#s4e-exam-root .exam-attention.has-warning .tiny{color:#77582b}
#s4e-exam-root .exam-shared-audio{position:sticky;top:0;z-index:2;background:#fff;padding:0 0 12px;margin-bottom:14px;border-bottom:1px solid var(--exam-line)}#s4e-exam-root .exam-shared-audio .s4e-media-player{margin-top:0}#s4e-exam-root .exam-shared-audio>p{margin:8px 0 0;line-height:1.5}
#s4e-exam-root .exam-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;margin:14px 0}
#s4e-exam-root .exam-document{margin-top:14px;min-height:120px}
#s4e-exam-root .exam-document canvas{max-width:100%;height:auto}
#s4e-exam-root .exam-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#s4e-exam-root .exam-answer-grid label{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;font-size:13px}
#s4e-exam-root .exam-answer-grid input{min-width:0;margin:0}
#s4e-exam-root textarea{resize:vertical;line-height:1.7}
#s4e-exam-root .exam-writing-box{position:relative;padding-bottom:30px}#s4e-exam-root .exam-word-count{position:absolute;bottom:7px;right:3px;font-variant-numeric:tabular-nums;color:#385875}#s4e-exam-root .exam-speaking-question{padding:16px;margin-bottom:16px;border:1px solid var(--exam-line);border-radius:12px;background:#fbfdff}#s4e-exam-root .exam-speaking-question h4{margin:0}
.s4e-media-player{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;border:1px solid #ccdcec;border-radius:12px;background:#f2f7fd;margin:10px 0}.s4e-media-player>b{flex:1 1 180px;color:#164777}.s4e-media-player progress{width:100%;height:8px;accent-color:#2365a2;order:4}.s4e-media-player>.tiny{flex:1 1 200px;overflow-wrap:anywhere}.s4e-media-player audio{display:none!important}.s4e-media-recorder{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;background:#fff;border:1px solid #d4e1ef;border-radius:12px}.s4e-media-recorder .s4e-media-consent,.s4e-media-recorder>p{width:100%;margin:4px 0}.s4e-media-consent{display:flex;align-items:flex-start;gap:9px;font-weight:500}.s4e-media-consent input{flex:none;margin:5px 0 0;width:auto!important}.s4e-media-timer{font-size:22px;min-width:70px;color:#194e82;font-variant-numeric:tabular-nums}.s4e-media-recorder [hidden],.s4e-media-player [hidden]{display:none!important}
#s4e-exam-root [data-exam-answer-fields]{border:0;padding:0;margin:0;min-width:0}
#s4e-exam-root [data-exam-answer-fields]:disabled{opacity:.55}
#s4e-exam-root audio{width:100%;margin:12px 0}
#s4e-exam-root .exam-question-nav{position:static;padding:12px 18px;background:#fff;border:1px solid var(--exam-line);border-radius:12px;margin:0 0 18px;min-width:0}
#s4e-exam-root .exam-question-groups{display:flex;gap:18px;flex-wrap:nowrap;overflow-x:auto;margin-top:10px;padding-bottom:10px;scrollbar-gutter:stable}
#s4e-exam-root .exam-question-groups>div{flex:0 0 320px;max-width:calc(100vw - 80px)}
#s4e-exam-root .exam-question-nav>p{margin:6px 0 0}
#s4e-exam-root .exam-nav-part{border:0;background:none;color:var(--exam-blue);font-weight:700;cursor:pointer;padding:0 0 7px;text-align:left}
#s4e-exam-root .exam-nav-part.active{color:#123d70;text-decoration:underline;text-underline-offset:3px}
#s4e-exam-root .exam-number-list{display:flex;gap:5px;flex-wrap:wrap;max-width:460px}
#s4e-exam-root .exam-number-list button{width:30px;height:30px;border:1px solid #ccd9e8;border-radius:6px;background:#f6f9fd;color:#36516e;cursor:pointer;font:inherit;font-size:12px}
#s4e-exam-root .exam-number-list button.answered{background:#d9f0e5;border-color:#80ba9e;color:#1d6648}
#s4e-exam-root .exam-response .actions{position:static;background:#fff;padding:12px 0;border-top:1px solid var(--exam-line);margin-top:20px}
#s4e-exam-root button:focus-visible,#s4e-exam-root input:focus-visible,#s4e-exam-root textarea:focus-visible,#s4e-exam-root select:focus-visible{outline:3px solid #f2c341;outline-offset:3px}
@media(max-width:1000px){#s4e-exam-root .exam-answer-grid{grid-template-columns:1fr}}
@media(max-width:760px){#s4e-exam-root #exam-attempt-form{overflow-y:visible;scrollbar-gutter:auto}}
@media(max-width:760px){#s4e-exam-root .exam-preflight,#s4e-exam-root .exam-room-head,#s4e-exam-root .exam-workspace{grid-template-columns:1fr}#s4e-exam-root .exam-room-controls{grid-template-columns:auto 1fr;align-items:start}#s4e-exam-root .exam-room-controls .exam-camera{grid-column:2;grid-row:1/3}#s4e-exam-root .exam-room-controls .exam-camera video{width:120px}#s4e-exam-root .exam-response{position:static;max-height:none;overflow:visible;overflow-x:visible;overflow-y:visible;scrollbar-gutter:auto}#s4e-exam-root .exam-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#s4e-exam-root .exam-answer-grid label{grid-template-columns:1fr}#s4e-exam-root .exam-choice,#s4e-exam-root .exam-history{padding:16px}}
