/* One physical layout for screen previews, pagination and print. */
.heading h1{font-size:clamp(32px,3.2vw,46px);letter-spacing:-1.7px}.heading{margin-bottom:28px}.heading .intro{margin-top:10px}.workspace{grid-template-columns:320px minmax(0,1fr);gap:24px}.preview-zone{min-width:0}.paper-scroll{padding:20px 16px;background:#e4e7de}.preview-toolbar{flex-wrap:wrap;gap:10px}.toolbar-right{gap:5px}.preview-metrics{flex-wrap:wrap}.layout-options{display:grid;gap:8px}.layout-option{display:flex;align-items:center;text-align:left;gap:12px;border:1px solid var(--line,#d4d9cf);border-radius:10px;padding:11px;background:#fff;color:inherit;cursor:pointer}.layout-option.on{border-color:#365440;box-shadow:0 0 0 1px #365440;background:#f0f4ed}.layout-option strong{font-size:13px;display:block}.layout-option small{display:block;font-size:11px;color:#697568;margin-top:4px}.layout-mini{width:35px;height:43px;background:white;box-shadow:0 1px 4px #0002;display:flex;flex-direction:column;gap:4px;padding:6px 4px}.layout-mini i{height:8px;display:block}.sats-mini i{border:1px solid #414c54;background:linear-gradient(90deg,white 80%,#c5d2e8 80%)}.classic-mini i{border-bottom:1px solid #a1b0a1;margin-left:5px}.page-stack{width:100%;min-width:0}.page-preview-heading{display:flex;justify-content:space-between;gap:10px;color:#4a584a;font-size:11px;padding-bottom:18px}.page-preview-label{font-size:10px;letter-spacing:.07em;text-transform:uppercase;margin:0 auto 7px;color:#5f6b5e}.page-frame{--paper-scale:.8;width:calc(210mm * var(--paper-scale));height:calc(296.5mm * var(--paper-scale));margin:0 auto 26px;position:relative;box-shadow:0 3px 14px #1f38241a}.page-frame>.print-sheet{transform:scale(var(--paper-scale));transform-origin:top left}.print-sheet{width:210mm;height:296.5mm;box-sizing:border-box;position:relative;padding:20mm 15mm 19mm;background:white;color:#202020;font-family:Arial,Helvetica,sans-serif;font-size:12pt;line-height:1.45;overflow:visible;flex:none}.print-sheet *{box-sizing:border-box}.page-content{height:257.5mm;position:relative;display:flow-root}.page-running-head{position:absolute;left:15mm;right:15mm;top:8mm;display:flex;justify-content:space-between;font-size:8pt;line-height:1.2;color:#586050}.page-bottom{position:absolute;left:15mm;right:15mm;bottom:9mm;display:flex;justify-content:space-between;font-size:9pt;color:#333;border-top:0}.print-sheet .qtools{position:absolute;bottom:-7mm;right:0;opacity:1;visibility:visible;display:flex;align-items:center;gap:0;background:#f7f8f3;border:1px solid #dfe4d9;border-radius:3px;padding:1px 3px;height:6.5mm;font-family:Arial,sans-serif;z-index:2;box-shadow:none;transform:none}.print-sheet .qtools>span{font-size:8px;color:#6b7665;padding:0 5px}.print-sheet .qtools button{font-size:9px;min-height:20px;padding:1px 6px;white-space:nowrap}.print-sheet .qtools button:disabled{opacity:.3}.print-sheet .qtools button:hover{background:#e4ebdc}.print-sheet .question,.sats-question{position:relative;break-inside:avoid}.print-sheet .diagram{max-width:100%;margin:3mm 0}.print-sheet .diagram svg{display:block;width:100%;height:auto;max-height:57mm!important;overflow:visible}.print-sheet .support-model{padding:2mm 0 0;border:0;margin:2mm 0 3mm;background:none}.print-sheet .support-model svg{max-height:35mm!important}.support-caption{display:block;font:7pt Arial,sans-serif;color:#697566;margin-bottom:1mm;text-transform:uppercase;letter-spacing:.08em}.print-sheet .stimulus{width:auto;max-width:100%;margin:0 auto;border-collapse:collapse;font:11pt Arial,sans-serif}.print-sheet .stimulus td,.print-sheet .stimulus th{border:1px solid #777;padding:2mm 4mm}.print-sheet .fraction{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.12;font-size:.85em;margin:0 .16em;min-width:.65em}.print-sheet .fraction>span:first-child{border-bottom:1px solid currentColor;padding:0 2px 2px}.print-sheet .fraction>span:last-child{padding:2px 2px 0}.print-sheet .math{font-size:16pt;font-weight:400;letter-spacing:.02em;line-height:1.6}.print-sheet .blank{font-size:1.1em}.print-sheet .model-label{font-size:10pt}.print-sheet .question{padding:5mm 0;margin:0 0 8mm;border-bottom:1px solid #cfd6cb}.print-sheet .question-top{display:grid;grid-template-columns:7mm 1fr 8mm;gap:2mm}.print-sheet .qnumber{font-size:11pt}.print-sheet .qprompt{font:12pt/1.5 Arial,sans-serif}.print-sheet .marks{font-size:8pt}.print-sheet .qbody{padding-left:9mm}.print-sheet .answer-space{height:15mm}.print-sheet .answer-space.reasoning{height:25mm}.print-sheet .answer-space.grid{height:25mm;background-size:5mm 5mm}.print-sheet .paper-title{font-size:24pt;line-height:1.2;margin:0 0 3mm}.print-sheet .paper-subtitle{font-size:10pt;margin-bottom:5mm}.print-sheet .name-fields{font-size:10pt;margin:5mm 0}.print-sheet .instructions{font-size:10pt;margin-bottom:6mm}.print-sheet .instructions ul{margin:0;padding-left:4mm}.sats-sheet{padding:20mm 10mm 19mm}.sats-sheet .page-running-head,.sats-sheet .page-bottom{left:10mm;right:10mm}.sats-sheet .page-running-head{font-size:7pt;color:#666}.sats-sheet .page-content{height:257.5mm}.sats-question{color:#191919;margin:0 0 9mm;display:grid;grid-template-columns:17mm minmax(0,1fr) 19mm;font-family:Arial,Helvetica,sans-serif}.sats-fluency{border:.28mm solid #181818;min-height:72mm}.sats-fluency .sats-qnumber{color:#0867a4;font-size:15pt;font-weight:700;padding-top:7mm;text-align:center;border-right:.25mm solid #222}.sats-qcontent{min-width:0}.sats-prompt{font-size:12pt;line-height:1.55;padding:5mm 5mm 4mm;min-height:20mm;overflow-wrap:break-word}.sats-fluency .sats-prompt{font-size:15pt}.sats-fluency .math{font-size:16pt}.sats-fluency .sats-mark-column{background:#c9d3e9;border-left:.25mm solid #222;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:5mm;font-size:9pt;gap:1mm}.marker-box{display:block;border:.25mm solid #252525;width:10mm;height:10mm;background:white}.sats-work{position:relative;min-height:50mm;background-image:linear-gradient(#ef8ea6 1px,transparent 1px),linear-gradient(90deg,#ef8ea6 1px,transparent 1px);background-size:7mm 7mm;background-position:0 0}.sats-fluency.has-diagram .sats-work{min-height:24mm}.sats-answer-box{position:absolute;bottom:5mm;right:6mm;width:35mm;min-height:14mm;border:.7mm solid #0967a5;background:white}.sats-fluency .diagram{margin:0 5mm 3mm}.sats-fluency .diagram svg{max-height:52mm!important}.sats-fluency .support-model svg{max-height:32mm!important}.sats-reasoning{min-height:94mm;grid-template-columns:17mm minmax(0,1fr) 15mm}.sats-reasoning .sats-qnumber{margin:2mm 3mm 0 1mm;background:#20201e;color:white;border-radius:3mm;font-size:11pt;font-weight:700;height:8mm;text-align:center;line-height:8mm}.sats-reasoning .sats-prompt{padding:2mm 4mm 4mm;font-size:12pt;min-height:0;background:linear-gradient(#c8d3ed 8mm,transparent 8mm);border-radius:4mm 4mm 0 0}.sats-reasoning .sats-mark-column{align-self:end;margin-bottom:6mm;font-size:9pt;display:flex;flex-direction:column;align-items:center;gap:1mm}.sats-reasoning .marker-box{height:0;width:10mm;border-width:.25mm 0 0}.reasoning-work{height:35mm;position:relative;margin:4mm 4mm 5mm}.reasoning-work.lines{background:repeating-linear-gradient(white 0,white 8.7mm,#c7c7c7 8.7mm,#c7c7c7 8.85mm)}.reasoning-work.sats-work{min-height:35mm}.response-label{display:block;position:relative;top:0;background:white;color:#5e5e5e;font-size:8pt;width:max-content;max-width:100%;padding:0 2mm 1mm 0}.sats-reasoning .diagram{margin-left:4mm;margin-right:4mm}.compact-intro{margin:0 0 6mm;font-size:10pt}.compact-intro h2{font-size:15pt;margin:0 0 3mm}.test-cover{padding:24mm 20mm}.test-cover .page-content{height:246mm}.test-cover .page-running-head{display:none}.test-cover-band{background:#1c639b;color:white;margin:-4mm -20mm 0;padding:6mm 20mm;display:flex;justify-content:space-between;font-size:14pt;font-weight:bold}.test-cover-title{padding:12mm 0 8mm;border-bottom:1mm solid #26354c}.test-cover-title>div{font-size:30pt;font-weight:bold;line-height:1.1}.test-cover-title h1{font:20pt/1.2 Arial,sans-serif;margin:3mm 0;letter-spacing:0}.test-cover-title p{font-size:11pt;margin:2mm 0}.test-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:5mm;margin:8mm 0}.test-name-grid label{font-size:10pt;font-weight:bold}.test-name-grid span{display:block;min-height:12mm;border:.25mm solid #555;margin-top:2mm;padding:2mm;font-weight:normal;font-size:9pt}.test-instructions{font-size:11pt;line-height:1.5;padding-top:3mm}.test-instructions h2{font-size:14pt;margin:0 0 3mm}.test-instructions ul{padding-left:5mm;margin:0}.test-instructions li{margin:1.7mm 0}.cover-support{background:#eef1f8;padding:3mm;font-size:10pt}.test-cover-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:end;font-size:9pt;color:#515151}.total-mark-box{display:grid;grid-template-columns:24mm 15mm;gap:2mm;text-align:right}.total-mark-box span{grid-column:1/3;font-weight:bold;color:#111}.total-mark-box i{height:17mm;border:.3mm solid #222}.total-mark-box strong{align-self:center;font-size:13pt}.studio-sheet.test-cover .test-cover-band{background:#3a5340}.studio-sheet.test-cover .test-cover-title{border-color:#3a5340}.teacher-sheet{font-size:10pt;padding:20mm 15mm 19mm}.teacher-title{font-size:25pt;line-height:1.2;margin:0 0 4mm;letter-spacing:-.02em}.teacher-note{font-size:9pt;line-height:1.5;color:#525a50;margin:0 0 6mm}.scheme-row{display:grid;grid-template-columns:16mm 1fr;border-top:.25mm solid #c4ccc0;padding:4mm 0;gap:3mm;break-inside:avoid}.scheme-q{font-weight:bold;color:#243e2d;font-size:11pt}.scheme-q small{display:block;font-size:8pt;color:#555;margin-top:2mm;font-weight:normal}.scheme-answer{font-size:11pt;font-weight:bold}.scheme-main p{font-size:9pt;margin:1mm 0}.scheme-main ul{font-size:8.5pt;margin:2mm 0;padding-left:4mm}.scheme-objective{font-size:7.5pt;color:#66705f;margin-top:2mm}.coverage-row{display:grid;grid-template-columns:13mm 1fr;gap:3mm;border-top:.25mm solid #d1d7cd;padding:3mm 0;font-size:9.5pt;break-inside:avoid}.coverage-row small{display:block;font-size:8pt;color:#66705f;margin-top:1mm}.wide-modal{max-width:940px}.a4-review{background:#e4e7de;padding:20px;overflow:auto}.a4-review .print-sheet{margin:0 auto 20px;box-shadow:0 3px 15px #0001}.a4-review .qtools{display:none}.a4-review .print-sheet.sats-sheet{padding:20mm 10mm 19mm}.topbar button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.topbar button{white-space:nowrap}
@media(max-width:1100px){.workspace{grid-template-columns:290px minmax(0,1fr);gap:16px}.main{padding-left:24px;padding-right:24px}.preview-toolbar{position:static}}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.controls>.advanced{grid-column:1/-1}.panel-head{padding-bottom:0}.preview-zone{margin-top:8px}.paper-scroll{padding:14px}.heading{align-items:start}.toolbar-right{flex-wrap:wrap}}
@media(max-width:540px){.controls{display:block}.heading .intro{font-size:14px}.heading h1{font-size:34px}.preview-tabs{flex:1}.preview-toolbar{gap:10px}.toolbar-right{width:100%;justify-content:flex-end}.paper-scroll{padding:8px 3px}.page-preview-label,.page-preview-heading{padding:0 7px}.page-preview-heading{font-size:10px}.page-preview-heading .inline-link{display:none}.page-frame{margin-bottom:20px}.topbar .pill{display:none}}
@page{size:A4 portrait;margin:0}
@media print{html,body{background:white!important;color:black!important;margin:0!important;padding:0!important;width:210mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}#app,#modal-root,#toast,.skip{display:none!important}#print-root{display:block!important;width:210mm}.print-sheet{margin:0!important;break-after:page;page-break-after:always;box-shadow:none!important;transform:none!important;overflow:hidden}.print-sheet:last-child{break-after:auto;page-break-after:auto}.print-sheet .qtools{display:none!important}}

.support-model::before{display:none!important}.page-controls{display:flex;gap:8px;align-items:center;margin:0 0 14px}.page-controls select{font-size:12px;min-width:0;flex:1;background:#f7f8f2;border:1px solid #cbd3c4;padding:8px;border-radius:6px}.page-controls button{background:#f7f8f2;border:1px solid #cbd3c4;border-radius:6px;width:34px;height:34px;cursor:pointer}.page-controls button:disabled{opacity:.3;cursor:default}.page-frame[hidden],.page-preview-label[hidden]{display:none!important}.question-editor>article{border-top:1px solid #d8dfd3;padding:20px 0}.question-editor header{display:flex;gap:12px;font-size:12px;color:#64705e;margin-bottom:12px}.question-editor header b{color:#24402d}.question-editor .qprompt{font-size:17px;line-height:1.6}.question-editor .qtools{display:flex;opacity:1;position:static;transform:none;gap:8px;margin-top:18px;flex-wrap:wrap;visibility:visible;max-height:none}.question-editor .qtools button{padding:8px 12px;border:1px solid #d7ddcf;border-radius:5px;font-size:13px}.question-editor .qtools>span{display:none}.question-editor .diagram svg{width:100%;max-height:180px!important}.question-editor .qtools button:disabled{opacity:.3}

.question-editor .qtools button{min-height:44px}.print-sheet .support-model .support-caption{display:block}

/* An anonymous front-page identifier and consistent writable score boxes. */
.register-panel{display:flex;align-items:center;justify-content:space-between;gap:8mm;margin:8mm 0 5mm;padding:5mm;border:.35mm solid #323b43}
.register-panel strong{font-size:15pt}.register-panel p{font-size:10pt;line-height:1.45;margin:2mm 0 0}.register-number-box{display:block;flex:none;width:29mm;height:20mm;border:.5mm solid #222;background:white}
.test-name-grid{margin:5mm 0 3mm;gap:5mm}.test-name-grid span{min-height:11mm}.cover-reference{font:9pt/1.4 Arial,sans-serif;margin:3mm 0 5mm}.cover-reference b{font-family:'Courier New',monospace}.test-instructions{padding-top:1mm}.cover-marking{border-top:.2mm solid #aab1b7;margin-top:5mm;padding-top:3mm;font-size:9pt;line-height:1.5}.cover-marking p{margin:1mm 0 0}.marking-legend{font-size:9pt;line-height:1.45}.compact-intro .marking-legend{margin:3mm 0}
.mark-box-label{display:block;font:8pt/1.2 Arial,sans-serif;color:#333}.mark-denominator{font:9pt/1.2 Arial,sans-serif;color:#111}.marker-box,.sats-reasoning .marker-box{display:block;width:11mm;height:11mm;border:.3mm solid #222;background:white}
.sats-mark-column{gap:1.5mm!important}.sats-reasoning .sats-mark-column{margin-bottom:8mm}.studio-mark-column{display:flex;flex-direction:column;gap:1.2mm;align-items:center}.print-sheet .question-top{grid-template-columns:7mm minmax(0,1fr) 16mm}.print-sheet .question-top .marker-box{width:11mm;height:11mm}.print-sheet .qbody{padding-right:18mm}.test-cover .page-content{height:246mm}
.a4-review .print-sheet.test-cover{padding:24mm 20mm}
.test-cover-title{padding:9mm 0 5mm}.register-panel{margin-top:6mm;padding:4mm}.register-number-box{height:18mm}.test-name-grid{margin-top:4mm}.test-instructions li{margin:1.2mm 0}.cover-support{padding:2mm;font-size:9pt;margin:3mm 0}.cover-marking{margin-top:3mm}
.question-scan-id{position:absolute;right:1.5mm;bottom:1mm;font:7.5pt/1.2 'Courier New',monospace;letter-spacing:.035em;color:#333;background:white;padding:.3mm .7mm;border:.15mm solid #c2c2c2;border-radius:1mm}.sats-fluency .question-scan-id{right:21mm;bottom:1.3mm}.sats-reasoning .question-scan-id{right:16mm;bottom:1mm}.print-sheet .question{padding-bottom:8mm}.page-bottom{font-size:7.5pt}.page-running-head{font-size:8pt}.scheme-scan-id{font:8pt/1.3 'Courier New',monospace;font-weight:bold;margin-bottom:2mm;color:#253929}.scheme-main .scheme-question{color:#4e574b;border-left:.7mm solid #b9c8b4;padding-left:2mm;margin-bottom:2mm;font-size:9pt}.scan-reference{display:inline-block;border:.4mm solid #2c4132;padding:2mm 4mm;font:700 14pt 'Courier New',monospace;margin:1mm 0 4mm}.scan-teacher-box{border:.3mm solid #b8c3b2;background:#f3f5ef;padding:4mm;font-size:9pt;line-height:1.5;margin-bottom:6mm}.scan-teacher-box ol{margin:2mm 0 0;padding-left:5mm}.scan-teacher-box li{margin:1mm 0}.scan-start{font-size:13pt;margin:0 0 3mm}.scan-instruction{padding:3mm 0;border-top:.2mm solid #d6ded1;break-inside:avoid}.scan-instruction h3{font-size:10.5pt;margin:0 0 1mm}.scan-instruction p{font-size:9pt;line-height:1.5;margin:0}.scan-tools{background:#f8faf4;border:1px solid #c9d4c1;border-radius:10px;padding:16px;margin-bottom:18px}.scan-tools strong{font-size:15px}.scan-tools p{font-size:12px;line-height:1.6;color:#52604b;margin:7px 0 12px}.scan-tools>div{display:flex;gap:7px;flex-wrap:wrap}.preview-tabs button{white-space:nowrap}
/* Coordinate construction needs writable grid spacing and readable axis labels. */
.print-sheet .essential-diagram svg[aria-label*="coordinate" i]{max-height:72mm!important}
.print-sheet .essential-diagram svg[aria-label*="clock" i]{max-height:60mm!important}
.scheme-main,.scheme-answer,.coverage-row,.scan-instruction,.test-cover-title p,.test-name-grid span{overflow-wrap:anywhere}
/* Give optional models enough physical space for their labels to be read. */
.print-sheet .support-model svg{max-height:45mm!important}
.print-sheet.sats-sheet .support-model svg{max-height:42mm!important}
