
:root{--ib-navy:#203248;--ib-green:#176b3b;--ib-red:#a12e36;--ib-line:#d6dadd;--ib-muted:#66727b}
.ib-ea-root{font-family:Arial,Helvetica,sans-serif;color:#222;max-width:100%;margin:0 auto}
.ib-ea-login,.ib-ea-loading{padding:18px;border:1px solid #d4d9de;border-radius:8px;background:#fff}
.ib-ea-shell{background:#eef1f3;border:1px solid #d5d9dc;border-radius:10px;overflow:hidden}
.ib-start-shell{background:#fff;border:0}
.ib-start-card{max-width:860px;margin:24px auto;background:#fff;padding:26px 28px;border:1px solid #d6dade;border-radius:9px;box-shadow:0 2px 9px rgba(0,0,0,.08)}
.ib-start-card h2{font-size:24px;margin:0 0 16px;color:#233240}
.ib-start-attempt{font-size:16px;margin:0 0 8px}.ib-start-meta{margin:0 0 14px;color:#3f4a52}
.ib-banner{padding:11px 13px;border-radius:7px;background:#fff4d8;color:#6e4a00;margin:16px 0 0;border:1px solid #ead39b}
.ib-start-actions{margin-top:16px}
.ib-ea-topbar{position:sticky;top:0;z-index:20;background:#fff;padding:13px 16px;border-bottom:1px solid #cfd5da;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.ib-ea-topline{display:flex;justify-content:space-between;gap:20px;align-items:center}
.ib-ea-title{font-size:19px;font-weight:800;color:#253441}.ib-ea-sub{font-size:12px;color:#67727b;margin-top:2px}
.ib-timebox{text-align:right;min-width:110px}.ib-ea-timer{font-size:25px;font-weight:800;line-height:1}.ib-ea-phase{font-size:11px;color:#68737a;margin-top:3px}
.ib-ea-status{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.ib-ea-chip{font-size:12px;padding:5px 9px;border-radius:15px;background:#f0f3f5;border:1px solid #e1e5e8}.ib-save-state.bad{color:#a22}
.ib-ea-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ib-ea-btn{appearance:none;border:0;border-radius:5px;background:var(--ib-navy);color:#fff;font-weight:700;padding:9px 13px;cursor:pointer}.ib-ea-btn.secondary{background:#e7ebee;color:#1d2b38}.ib-ea-btn.sheet{background:#176b3b}.ib-ea-btn.danger{background:#8b2731}
.ib-ea-paper-scroll{height:min(78vh,920px);overflow:auto;padding:18px;background:#eef1f3}.ib-ea-book{width:min(100%,794px);margin:0 auto}
.ib-page{position:relative;background:#fff;width:100%;aspect-ratio:210/297;margin:0 auto 20px;box-shadow:0 2px 13px rgba(0,0,0,.18);padding:8.2% 7.4% 7.2%;box-sizing:border-box;overflow:visible;font-family:Arial,Helvetica,sans-serif}
.ib-page-head{position:absolute;top:2.2%;left:7.2%;right:7.2%;font-size:12px;color:#4b4b4b;display:flex;justify-content:center}.ib-page-code{position:absolute;right:0}.ib-page-no{position:absolute;left:50%;transform:translateX(-50%)}
.ib-section-intro{margin:0 0 28px;font-size:14px;line-height:1.45;text-align:center}.ib-section-title{font-size:21px;font-weight:800;margin-bottom:13px}.ib-section-sub{display:none}
.ib-cover-logo{position:absolute;right:calc(9.5% + 10mm);top:3.7%;width:10.4%;max-width:78px;height:auto;object-fit:contain;object-position:center}.ib-cover-title{font-size:22px;font-weight:800;line-height:1.12;margin-top:3%}.ib-cover-sub{margin-top:28px;font-size:15px}.ib-cover-time{margin-top:34px;font-size:16px;border-bottom:1px solid #666;padding-bottom:7px}.ib-cover h3{font-size:16px;margin:12px 0 7px}.ib-cover ul{margin:0;padding-left:20px;font-size:14px;line-height:1.45}.ib-disclaimer{font-size:12px;font-style:italic;margin-top:18px}.ib-cover-footer{position:absolute;bottom:4%;left:7.2%;right:7.2%;display:flex;justify-content:space-between;font-size:11px}
.ib-q{margin:0 0 30px;font-size:14px;line-height:1.45;break-inside:avoid;page-break-inside:avoid}.ib-qline{display:grid;grid-template-columns:32px 1fr}.ib-qnum{font-weight:700}.ib-options{margin:14px 0 0 32px}.ib-opt{display:grid;grid-template-columns:34px 1fr;margin:13px 0;line-height:1.35}.ib-table{border-collapse:collapse;margin:16px 0 18px 32px;font-size:12.5px;max-width:90%}.ib-table th,.ib-table td{border:1px solid #888;padding:8px 12px;text-align:center;vertical-align:middle}.ib-table-structure{display:block;width:230px;max-width:100%;height:74px;object-fit:contain;margin:0 auto}.ib-stim{display:block;max-width:72%;max-height:230px;object-fit:contain;margin:16px auto 18px}.ib-stim.q5-large{width:95%;max-width:650px;max-height:520px;object-fit:contain;margin:8px auto 16px}.ib-stim.q16-large{width:96%;max-width:760px;max-height:500px;object-fit:contain;margin:10px auto 16px}#q19 .ib-stim{max-width:74%;max-height:215px;margin:18px auto 20px}.ib-end-rule{border-top:1px solid #777;margin-top:24px}.ib-end-rule-after-q{position:static!important;display:block!important;width:100%!important;height:0!important;margin:20px 0 0!important;padding:0!important;clear:both!important}
.ib-statements{list-style-type:upper-roman;margin:18px 0 18px 72px;padding-left:24px}.ib-statements li{padding-left:12px;margin:11px 0;line-height:1.5}

/* Full-size, readable answer sheet with prominent close control */
.ib-sheet-modal{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;padding:10px}
.ib-sheet-modal.open{display:flex}.ib-sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62)}
.ib-sheet-dialog{position:relative;z-index:2;width:min(930px,97vw);max-height:96vh;background:#fff;border-radius:4px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 36px rgba(0,0,0,.42)}
.ib-sheet-toolbar{position:sticky;top:0;z-index:4;background:#fff;padding:8px 52px 8px 10px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #d2d2d2;min-height:44px}
.ib-sheet-toolbar .spacer{flex:1}.ib-sheet-toolbar .ib-ea-btn{padding:7px 10px;font-size:12px}.ib-sheet-link{font-size:11px;font-weight:700;white-space:nowrap}
.ib-sheet-close{position:absolute;right:8px;top:6px;z-index:6;font-size:26px;line-height:1;border:0;background:#7659b6;color:#fff;border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.ib-sheet-close:hover,.ib-sheet-close:focus{background:#5d4398;outline:2px solid #fff;outline-offset:1px}
.ib-sheet-scroll{overflow:auto;flex:1;padding:12px;background:#646464;max-height:calc(96vh - 50px)}
.ib-sheet-page{position:relative;width:100%;max-width:790px;margin:0 auto;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.35)}.ib-sheet-page img{display:block;width:100%;height:auto}
.ib-hotspot{position:absolute;border:0;background:transparent;cursor:pointer;padding:0}.ib-hotspot:hover{background:rgba(39,121,190,.12)}.ib-hotspot.selected:after{content:'×';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:900 clamp(15px,2vw,27px) Arial;color:#111;line-height:1}.ib-sheet-page.instructions .ib-hotspot{display:none}

/* Marked review matches the paper-style example and is also the print view */
.ib-results-topbar{position:sticky}.ib-results-inline{font-size:17px;white-space:nowrap}.ib-results-inline strong{font-size:25px;color:#203248}
.ib-mark-scroll{height:min(80vh,950px);overflow:auto;padding:18px;background:#e7e7e7}.ib-mark-book{width:min(100%,794px);margin:0 auto}
.ib-mark-page{position:relative;background:#fff;width:100%;min-height:1123px;margin:0 auto 20px;box-shadow:0 2px 13px rgba(0,0,0,.18);padding:54px 46px 52px;box-sizing:border-box;font-family:"Times New Roman",Times,serif}
.ib-mark-page-head{position:absolute;top:20px;left:46px;right:46px;display:flex;justify-content:space-between;font:12px Arial,sans-serif;color:#4b4b4b}
.ib-mark-section-intro{font:14px/1.45 Arial,sans-serif;margin:0 0 18px;text-align:center}.ib-mark-section-intro>div{font-size:21px;font-weight:800;margin-bottom:9px}.ib-mark-section-intro>span{display:none}
.ib-mark-q{border:1px solid #8e8e8e;margin:0 0 14px;padding:14px 18px 13px;break-inside:avoid;page-break-inside:avoid}
.ib-mark-title{font-weight:700;font-size:16px;margin:0 0 10px}.ib-mark-stem{font-size:15px;line-height:1.35;margin-bottom:7px}
.ib-mark-options{margin-top:4px}.ib-mark-opt{position:relative;display:grid;grid-template-columns:32px 1fr auto;gap:4px;align-items:center;padding:3px 8px;font-size:14px;line-height:1.3}.ib-mark-opt.correct{background:#eaf7e9;color:#075a18;font-weight:700;border-left:3px solid #19a540}.ib-mark-opt.wrong-picked{background:#fff1f1;border-left:3px solid #dc4141}.ib-mark-letter{font-weight:700}.ib-correct-tag{font:700 12px Arial,sans-serif;color:#147c29;white-space:nowrap}
.ib-mark-result{margin-top:9px;padding:8px 10px;font:14px Arial,sans-serif;border-left:4px solid}.ib-mark-result.bad{background:#fff0f0;color:#b21d27;border-color:#e4444f}.ib-mark-result.good{background:#edf8ed;color:#176b3b;border-color:#35a252}
.ib-why{margin-top:7px;background:#f1f5f8;border:1px solid #cbd2d8;border-left:4px solid #536f86;border-radius:3px;padding:8px 10px;font-size:14px;line-height:1.35}
.ib-mark-q .ib-table{font-family:"Times New Roman",Times,serif}.ib-mark-stim{max-height:175px}.ib-mark-stim.q5-large{width:92%;max-width:620px;max-height:500px;object-fit:contain}.ib-mark-stim.q16-large{width:96%;max-width:740px;max-height:480px;object-fit:contain}

/* mobile */
@media(max-width:720px){
 .ib-ea-paper-scroll,.ib-mark-scroll{padding:7px}.ib-page{font-size:12px}.ib-q{font-size:12px;margin-bottom:20px;line-height:1.4}.ib-table{font-size:10px}.ib-ea-title{font-size:15px}.ib-ea-timer{font-size:20px}.ib-start-card{margin:8px auto;padding:14px 14px}.ib-start-toprow{display:block}.ib-start-card h2{font-size:18px;margin-bottom:7px}.ib-start-meta-row{font-size:13px;gap:6px 12px;margin-bottom:8px}.ib-start-blurb{font-size:13px;line-height:1.4}.ib-start-cta{min-width:0;justify-content:flex-start;padding-top:12px}.ib-start-cta .ib-ea-btn{width:auto}
 .ib-sheet-dialog{width:98vw;max-height:96vh}.ib-sheet-scroll{padding:4px}.ib-sheet-page{max-width:780px}
 .ib-mark-page{padding:44px 20px 38px}.ib-mark-page-head{left:20px;right:20px}.ib-mark-q{padding:11px 10px}.ib-mark-opt{grid-template-columns:25px 1fr}.ib-correct-tag{grid-column:2}
}


/* v1.0.11 start/resume card refinement */
.ib-start-card{
  max-width:940px;
  margin:10px auto;
  padding:18px 24px 16px;
}
.ib-start-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
}
.ib-start-title-row h2{
  margin:0;
  flex:1;
  min-width:0;
}
.ib-start-top-btn{
  margin-top:0;
  flex:0 0 auto;
  white-space:nowrap;
  padding:10px 18px;
  font-size:14px;
}
.ib-start-meta-large{
  margin-top:13px;
  margin-bottom:0;
  font-size:17px;
  line-height:1.3;
  font-weight:600;
  color:#2f3942;
  gap:10px;
}
.ib-meta-dot{
  font-weight:700;
  color:#59636c;
}
.ib-start-card .ib-banner{
  margin-top:12px;
}
@media(max-width:720px){
  .ib-start-title-row{align-items:center;gap:12px}
  .ib-start-title-row h2{font-size:18px}
  .ib-start-top-btn{font-size:13px;padding:9px 12px}
  .ib-start-meta-large{font-size:15px;margin-top:10px}
}


/* Approved Paper 1A + Paper 1B visual master */
.ib-ea-paper-scroll{height:min(78vh,920px)!important;max-height:min(78vh,920px)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable}
.ib-mark-scroll{height:min(80vh,950px)!important;max-height:min(80vh,950px)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable}
.ib-ea-book,.ib-mark-book{width:min(100%,794px);margin:0 auto}
.ib-page{width:100%;aspect-ratio:210/297}
.ib-p1b-cover::before,.ib-p1b-page::before{content:"";position:absolute;top:0;bottom:0;width:27px;z-index:2;pointer-events:none;background-color:#fff;background-image:radial-gradient(circle,#777 .8px,transparent .95px);background-size:4px 4px}
.ib-p1b-cover.ib-page-odd::before,.ib-p1b-page.ib-page-odd::before{left:0;border-right:1px solid #777}.ib-p1b-page.ib-page-even::before{right:0;border-left:1px solid #777}
.ib-p1b-cover::after,.ib-p1b-page::after{content:"";position:absolute;z-index:3;pointer-events:none;inset:34px;background:linear-gradient(#555,#555) left top/19px 1px no-repeat,linear-gradient(#555,#555) left top/1px 19px no-repeat,linear-gradient(#555,#555) right top/19px 1px no-repeat,linear-gradient(#555,#555) right top/1px 19px no-repeat,linear-gradient(#555,#555) left bottom/19px 1px no-repeat,linear-gradient(#555,#555) left bottom/1px 19px no-repeat,linear-gradient(#555,#555) right bottom/19px 1px no-repeat,linear-gradient(#555,#555) right bottom/1px 19px no-repeat}
.ib-response-box grammarly-extension,.ib-response-box grammarly-popups{display:none!important}
.ib-turn-over{position:absolute;right:7.4%;bottom:4.5%;font-size:14px;font-weight:700;color:#333}
.ib-p1b-page{aspect-ratio:auto;min-height:1123px;padding-top:72px;padding-bottom:62px}
.ib-p1b-qhead{display:flex;justify-content:space-between;gap:20px;align-items:baseline;font-size:15px;margin:0 0 14px}.ib-p1b-qhead strong{font-size:16px}.ib-p1b-continued{font-size:14px;font-weight:700;margin:0 0 24px;color:#333}.ib-p1b-page:has(.ib-p1b-next){padding-bottom:72px}.ib-p1b-next{position:relative;display:block;margin:14px 0 0;font-size:13px;font-weight:700;line-height:1.35;color:#333;white-space:nowrap;background:#fff}
.ib-p1b-lead{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:start;font-size:14px;line-height:1.45;margin:0 0 15px}.ib-p1b-number{font-weight:700}.ib-p1b-after{margin-left:46px}
.ib-p1b-context{font-size:14px;line-height:1.45;margin:0 0 15px}.ib-p1b-graph{display:block;width:82%;max-width:610px;max-height:245px;object-fit:contain;margin:12px auto 15px}.ib-p1b-table{border-collapse:collapse;width:100%;font-size:12px;margin:12px 0 16px}.ib-p1b-table th,.ib-p1b-table td{border:1px solid #666;padding:6px 5px;text-align:center;vertical-align:middle}
.ib-graph-work{width:82%;max-width:610px;margin:12px auto 15px}.ib-graph-tools{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 6px}.ib-graph-tools button{appearance:none;border:1px solid #8d969e;background:#f4f6f7;color:#1e2c36;border-radius:3px;padding:5px 9px;font:600 11px Arial,sans-serif;cursor:pointer}.ib-graph-tools button.active{background:#245f8e;border-color:#245f8e;color:#fff}.ib-graph-stage{position:relative;width:100%;line-height:0;touch-action:none}.ib-graph-stage .ib-p1b-graph{width:100%;max-width:none;max-height:none;margin:0}.ib-graph-stage canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.ib-graph-stage canvas.eraser{cursor:cell}
.ib-p1b-part{margin:0 0 18px;break-inside:avoid}.ib-p1b-prompt{display:grid;grid-template-columns:38px 1fr 40px;gap:8px;align-items:start;font-size:14px;font-weight:400;line-height:1.42}.ib-p1b-letter{font-weight:400}.ib-p1b-marks{text-align:right;font-weight:400}.ib-response-box{position:relative;margin:8px 0 0;border:1px solid #999;background:#fff;overflow:hidden}.ib-response-box::before{content:"";position:absolute;z-index:0;left:40px;right:40px;top:6px;bottom:7px;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='27' viewBox='0 0 7 27'%3E%3Ccircle cx='3.5' cy='20' r='0.72' fill='%23777'/%3E%3C/svg%3E");background-repeat:repeat}.ib-response-box textarea{position:relative;z-index:1;display:block;width:100%;resize:none;border:0;outline:0;padding:6px 40px 8px;font:14px/27px Arial,Helvetica,sans-serif;color:#111;box-sizing:border-box;background:transparent;overflow-y:auto}.ib-response-box textarea:focus{box-shadow:inset 0 0 0 1.5px #7659b6}
.ib-p1b-qhead strong,.ib-p1b-qhead span{font-weight:400}
.ib-p1b-end-rule{margin:34px 0 0;border-top:1px solid #777}
.ib-mark-p1b-part{border-top:1px solid #aaa;padding-top:12px;margin-top:15px}.ib-mark-response{margin:8px 0;padding:10px 12px;border:1px solid #999;background:#fff}.ib-mark-response>strong{display:block;font:700 12px Arial,sans-serif;margin-bottom:5px}.ib-mark-response>div{white-space:normal;font-size:14px;line-height:1.4}
.ib-mark-p1b-part.result-good{background:#edf8ed;border-left:4px solid #35a252;padding:12px}.ib-mark-p1b-part.result-bad{background:#fff0f0;border-left:4px solid #e4444f;padding:12px}.ib-mark-p1b-part.result-good .ib-why{background:#e4f4e6;border-left-color:#35a252}.ib-mark-p1b-part.result-bad .ib-why{background:#fde7e8;border-left-color:#e4444f}
@media(max-width:720px){.ib-p1b-page{min-height:0;padding:50px 20px 38px}.ib-p1b-graph,.ib-graph-work{width:100%}.ib-p1b-prompt{grid-template-columns:30px 1fr 34px;font-size:12px}.ib-response-box textarea{font-size:13px}.ib-p1b-table{font-size:9.5px}.ib-p1b-table th,.ib-p1b-table td{padding:4px 3px}}

/* v1.0.19: image-based targeted Paper 1A and revised Paper 1B */
.ib-image-question{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;margin-bottom:18px}
.ib-image-question .ib-qline{grid-column:1;grid-row:1;display:block}
.ib-image-question .ib-qline>div:last-child{display:none}
.ib-image-question .ib-stim{grid-column:2;grid-row:1;max-width:100%;max-height:420px;margin:0 0 12px}
.ib-image-question .ib-options{display:none}
.ib-mark-q .ib-mark-stim{max-width:96%;max-height:390px}

/* Q10: keep the first table heading readable on one line. */
#q10 .ib-table th:first-child,
#q10 .ib-table td:first-child{min-width:86px;white-space:nowrap}

/* Preserve authentic paragraph spacing in multi-line MCQ stems (e.g. Q6). */
.ib-qline>div:last-child,.ib-mark-stem{white-space:pre-wrap}

/* v1.0.45 Q6 authentic paragraph layout */
#q6 .q6-stem-block{margin:0 0 18px 0;}#q6 .q6-stem-block:last-child{margin-bottom:0;}#q6 .q6-equation{font-size:1.04em;white-space:nowrap;} .ib-mark-q .q6-stem-block{margin:0 0 14px 0;} .ib-mark-q .q6-equation{white-space:nowrap;}

#q12 .q12-stem-block{margin:0 0 18px 0;}#q12 .q12-stem-block:last-child{margin-bottom:0;}#q12 .q12-equation{text-align:center;font-size:1.08em;white-space:nowrap;} .ib-mark-q .q12-stem-block{margin:0 0 14px 0;} .ib-mark-q .q12-equation{text-align:center;white-space:nowrap;}

#q15 .q15-stem-block{margin:0 0 18px 0;}#q15 .q15-stem-block:last-child{margin-bottom:0;}#q15 .q15-equation{text-align:center;font-size:1.08em;white-space:nowrap;} .ib-mark-q .q15-stem-block{margin:0 0 14px 0;} .ib-mark-q .q15-equation{text-align:center;white-space:nowrap;}

#q27 .q27-stem-block{margin:0 0 18px 0;}#q27 .q27-stem-block:last-child{margin-bottom:0;}#q27 .q27-equation{text-align:center;font-size:1.08em;white-space:nowrap;} .ib-mark-q .q27-stem-block{margin:0 0 14px 0;} .ib-mark-q .q27-equation{text-align:center;white-space:nowrap;}

.ib-final-score-page{display:flex;align-items:center;justify-content:center}.ib-final-score-wrap{width:min(100%,620px);font-family:Arial,sans-serif}.ib-final-score-wrap h2{text-align:center;font-size:28px;margin:0 0 46px}.ib-final-score-table{width:100%;border-collapse:collapse;font-size:20px}.ib-final-score-table th,.ib-final-score-table td{border:1px solid #666;padding:18px 22px}.ib-final-score-table th{text-align:left;background:#f1f3f5}.ib-final-score-table td{text-align:right;font-weight:700}.ib-final-percent{margin-top:38px;border:4px solid #203248;padding:28px;text-align:center;font-size:18px}.ib-final-percent strong{display:block;font-size:40px;margin-top:10px}

.ib-mark-graph-stage{position:relative;width:82%;max-width:610px;margin:12px auto 15px;line-height:0}.ib-mark-graph-stage .ib-p1b-graph{width:100%;max-width:none;max-height:none;margin:0}.ib-mark-drawing-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.ib-feedback{margin-top:12px;padding:12px 16px;border-left:5px solid #b88920;background:#fff8e8;line-height:1.45}.ib-feedback strong{margin-right:4px}

/* HL extension blocks inherit the approved Paper 1B geometry. */
.ib-p1b-extension{margin:12px 0 16px;padding-top:0;border-top:0}
.ib-p1b-extension-title{font:700 14px/1.35 Arial,Helvetica,sans-serif;margin:0 0 8px}
.ib-stem-block{margin:0 0 18px}
.ib-stem-block:last-child{margin-bottom:0}
.ib-stem-equation{text-align:center;white-space:nowrap;font-size:1.06em}
.ib-mark-stem .ib-stem-block{margin:0 0 14px}
.ib-mark-stem .ib-stem-equation{text-align:center;white-space:nowrap}
