:root{--pt-ink:#17324c;--pt-blue:#245eab;--pt-border:#d8e4ee;--pt-bg:#f3f7fb}body{background:var(--pt-bg);color:var(--pt-ink)}.pt-shell{width:min(100% - 32px,920px);margin:30px auto 80px;font-family:inherit}.pt-card{background:#fff;border:1px solid var(--pt-border);border-radius:18px;padding:clamp(20px,4vw,38px);margin:18px 0;box-shadow:0 8px 30px rgba(25,56,85,.055)}.pt-card h1,.pt-header h1{margin:8px 0 14px;font-size:clamp(26px,4vw,36px);line-height:1.14}.pt-card h2{font-size:19px;margin:25px 0 14px}.pt-card h3{font-size:16px}.pt-card p{line-height:1.5}.pt-eyebrow{color:var(--pt-blue);font-weight:800;letter-spacing:.09em;font-size:11px;text-transform:uppercase}.pt-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:24px 0}.pt-fields label{font-weight:700;font-size:13px}.pt-fields select,.pt-response textarea{display:block;width:100%;margin-top:7px;border:1px solid #b7c9d8;border-radius:10px;padding:12px;background:#fff;color:#183047;font:inherit}.pt-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.pt-skills label,.pt-option{border:1px solid var(--pt-border);border-radius:10px;padding:12px 14px;display:block;line-height:1.45;cursor:pointer}.pt-skills input,.pt-option input{accent-color:#2763ac;margin-right:8px}.pt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.pt-actions button, .pt-nav button{border:1px solid #245eab;background:#245eab;color:#fff;border-radius:9px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer}.pt-actions .pt-secondary{color:#245eab;background:#fff}.pt-actions button:disabled{opacity:.4;cursor:not-allowed}.pt-muted{font-size:13px;color:#536c7b}.pt-header,.pt-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.pt-progress,.pt-track{height:9px;background:#dfebf3;border-radius:20px;overflow:hidden;margin:15px 0}.pt-progress>div,.pt-track>div{height:100%;background:#2e78ca;border-radius:20px}.pt-nav{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.pt-nav button{padding:7px 10px;background:#fff;color:#245eab}.pt-nav button.active{background:#245eab;color:#fff}.pt-nav button.answered:not(.active){border-color:#208564}.pt-problem{font-size:20px;line-height:1.7;margin:25px 0}.pt-part{font-size:17px;margin-top:12px}.pt-options{display:grid;gap:10px}.pt-option:has(input:checked){border-color:#245eab;background:#eef5ff}.pt-option input{transform:scale(1.1)}.pt-response{display:block;font-weight:700}.pt-response textarea{resize:vertical;min-height:110px}.pt-status{margin:22px 0 5px;font-weight:800}.pt-good{color:#13734c}.pt-bad{color:#af3434}.pt-explain{padding:15px 18px;background:#f0f7ff;border-radius:12px;margin-top:15px;line-height:1.6;overflow-wrap:anywhere}.pt-explain ol{padding-left:24px}.pt-explain li{margin:8px 0}.pt-score{font-size:48px;font-weight:800;margin:8px 0!important}.pt-skillbar{margin:17px 0}.pt-skillbar>div:first-child{display:flex;justify-content:space-between;gap:15px;font-size:14px}.pt-review{border-top:1px solid var(--pt-border);padding:17px 0}.pt-review summary{cursor:pointer;font-weight:700}.pt-review .pt-problem{font-size:17px;margin:14px 0}@media(max-width:600px){.pt-shell{width:calc(100% - 20px);margin:10px auto 45px}.pt-card{padding:20px 16px}.pt-actions button{flex:1}.pt-top{align-items:flex-start;flex-direction:column}.pt-skillbar>div:first-child{flex-direction:column;gap:3px}}@media print{.topbar,.pt-actions,.pt-nav,.pt-progress,.pt-header{display:none!important}.pt-shell{width:100%;margin:0}.pt-card{box-shadow:none;border:0;padding:0}.pt-review{break-inside:avoid}.pt-review:not([open])>*:not(summary){display:block}}
/* Assessment Readiness Check: full test paper and sticky question navigation */
.pt-test-question{scroll-margin-top:20px}.pt-test-question .pt-card{margin:16px 0}.pt-nav{position:sticky;top:0;z-index:5;background:#f3f7fb;padding:12px 0;border-bottom:1px solid #d8e4ee}.pt-review-btn{background:#fff;border:1px solid #245eab;border-radius:9px;color:#245eab;font-size:13px;padding:8px 12px;cursor:pointer}.pt-test-question .pt-top{align-items:center}.pt-test-question .pt-problem{margin:20px 0}.pt-test-question .pt-response textarea{min-height:95px}.pt-test-question .pt-card{break-inside:avoid}.pt-step-math{font-size:1.08em;margin-top:9px;overflow-x:auto}.pt-score{letter-spacing:-.04em}@media print{.pt-nav,.pt-review-btn{display:none!important}.pt-test-question .pt-card{box-shadow:none;border:1px solid #dae3ec;padding:12px;margin:8px 0}.pt-test-question .pt-card{break-inside:avoid}}

/* Printable assessment booklet and synchronized numbered answer sheet */
.pt-paper{background:white;border:1px solid #d9e3ed;border-radius:12px;padding:clamp(18px,4vw,38px);margin:20px 0}.pt-paper-head{border-bottom:2px solid #244e7e;padding-bottom:18px;margin-bottom:20px}.pt-paper-head>span{font-size:12px;color:#35618b;font-weight:800;letter-spacing:.08em}.pt-paper-head h2{font-size:25px;margin:9px 0}.pt-paper-head p{line-height:1.5}.pt-paper-question{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #e2e8ef;break-inside:avoid;page-break-inside:avoid}.pt-paper-number{font-weight:800;font-size:17px;min-width:26px}.pt-paper-content{min-width:0;flex:1}.pt-paper-content .pt-problem{font-size:17px;margin:0 0 8px;line-height:1.6}.pt-paper-content .pt-part{font-size:15px}.pt-paper-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:12px 0}.pt-paper-choices>div{border:1px solid #e0e8ef;border-radius:6px;padding:8px}.pt-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pt-answer-row{display:flex;align-items:center;gap:12px;font-weight:800}.pt-answer-row>span{width:30px}.pt-answer-row input{min-width:0;flex:1;width:100%;border:1px solid #b7c9d8;border-radius:8px;font:inherit;padding:11px 12px}.pt-answer-row input:focus{outline:2px solid #245eab;outline-offset:2px}.pt-print-standalone{display:none}@media(max-width:650px){.pt-answer-grid,.pt-paper-choices{grid-template-columns:1fr}.pt-paper-question{gap:6px}}@media print{body.pt-printing-paper>*{display:none!important}body.pt-printing-paper>.pt-print-standalone{display:block!important;background:white!important;color:black!important;font-family:Arial,sans-serif!important}body.pt-printing-paper .pt-paper-question{padding:12px 0}body.pt-printing-paper .pt-paper-head{margin-bottom:16px}@page{size:letter;margin:.65in}}

.pt-graph-answer{grid-column:1/-1;border:1px solid #c9d9e7;border-radius:12px;padding:16px;background:#f9fcff}.pt-graph-editor{margin-top:10px}.pt-numberline-svg{width:100%;max-width:660px;display:block;margin:12px auto;background:white;border:1px solid #e0e9f1;border-radius:8px}.pt-interval-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:10px 0}.pt-interval-row label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:4px}.pt-interval-row label:has([type=checkbox]){flex-direction:row;align-items:center;padding-bottom:11px}.pt-interval-row input[type=number]{width:100px;max-width:100%;padding:9px;border:1px solid #abc4d9;border-radius:7px}.pt-interval-row button{padding:9px}.pt-graph-editor .pt-actions{margin-top:10px}.pt-graph-editor .pt-actions button{font-size:13px;padding:8px 12px}@media(max-width:600px){.pt-interval-row{gap:6px}.pt-interval-row input[type=number]{width:80px}}

.pt-coordinate-svg{display:block;width:min(100%,380px);margin:12px auto;border:1px solid #c8d9e8;border-radius:10px;background:#fff;cursor:crosshair;touch-action:manipulation}.pt-point-editor .pt-interval-row{justify-content:center}

.pt-line-svg,.pt-parabola-svg{display:block;width:min(100%,390px);margin:12px auto;background:#fff;border:1px solid #cbdce8;border-radius:10px;cursor:crosshair;touch-action:manipulation}.pt-line-editor select,.pt-parabola-editor input{border:1px solid #adc6db;background:#fff;border-radius:8px;padding:9px;font:inherit}.pt-line-editor .pt-interval-row{align-items:center}.pt-parabola-editor .pt-interval-row{align-items:end}.pt-line-editor .pt-interval-row button,.pt-parabola-editor .pt-interval-row button{background:#fff;color:#245eab;border:1px solid #245eab;border-radius:8px;font-weight:700;cursor:pointer}.pt-parabola-editor .pt-interval-row input{max-width:110px}.pt-parabola-editor .pt-actions{margin:8px 0}

/* Tablet-friendly signed graph input: some Android numeric keyboards lack minus. */
.pt-interval-row label:has(input[inputmode=decimal]){position:relative}.pt-interval-row input[inputmode=decimal]{width:110px;min-width:80px;padding:9px 38px 9px 9px;border:1px solid #abc4d9;border-radius:7px;font:inherit}.pt-interval-row [data-sign],.pt-interval-row [data-axis-sign],.pt-parabola-editor [data-negative]{margin-left:4px;border:1px solid #7a9cb7;color:#18456b;background:#edf6ff;border-radius:7px;min-width:34px;min-height:36px;font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation}

/* Touch-first student answer sheet */
.pt-mc-row{min-width:0;border:1px solid #ccdbe8;border-radius:12px;padding:12px 14px;margin:0;background:#fff}.pt-mc-row legend{font-weight:800;color:#244663;padding:0 5px}.pt-mc-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pt-mc-choice{min-width:0;min-height:52px;border:2px solid #b6cadc;border-radius:11px;background:#f6fafe;color:#234b75;font-size:20px;font-weight:800;cursor:pointer;touch-action:manipulation}.pt-mc-choice.selected,.pt-mc-choice[aria-pressed=true]{background:#245eab;color:#fff;border-color:#245eab;box-shadow:0 0 0 2px #a6c9f0}.pt-mc-choice:focus-visible,[data-pick-end]:focus-visible{outline:3px solid #f19b40;outline-offset:2px}.pt-numberline-svg{cursor:crosshair;touch-action:manipulation}.pt-graph-editor .pt-selected-tool{background:#245eab!important;color:white!important;border-color:#245eab!important}.pt-answer-row input{min-height:49px;font-size:17px}.pt-graph-answer .pt-actions button{min-height:44px;touch-action:manipulation}@media(max-width:600px){.pt-mc-row{padding:10px}.pt-mc-buttons{gap:5px}.pt-mc-choice{min-height:52px}.pt-graph-editor [data-pick-end]{flex:1}}

/* Drag-first number-line graphing on phones and tablets */
.pt-numberline-svg{touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair;min-height:80px}
.pt-drag-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:14px 0 5px}
.pt-drag-controls label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:700}
.pt-drag-controls select{min-height:45px;padding:8px 12px;border-radius:9px;border:1px solid #aec4d9;background:#fff;font-size:15px}
.pt-drag-controls button{min-height:45px}
.pt-advanced-interval{border:1px solid #d6e2ee;border-radius:10px;padding:10px 12px;margin:10px 0}
.pt-advanced-interval summary{cursor:pointer;font-weight:650;color:#29587e;min-height:30px}
.pt-advanced-interval[open] summary{margin-bottom:10px}

/* Direct-answer student assessment layout */
.pt-student-intro{margin:16px 0;padding:16px 20px;background:#eaf3fd;border:1px solid #bdd4ed;border-radius:12px;line-height:1.55}
.pt-student-question{scroll-margin-top:185px;margin:20px 0;padding:clamp(18px,3vw,30px)}
.pt-student-qhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-weight:800;color:#295c91}
.pt-qskill{font-size:12px;font-weight:650;color:#52728c}
.pt-student-question .pt-problem{margin:16px 0 14px}
.pt-inline-control{margin-top:18px}
.pt-inline-control .pt-graph-editor,.pt-inline-control .pt-line-editor,.pt-inline-control .pt-parabola-editor,.pt-inline-control .pt-system-editor,.pt-inline-control .pt-exp-editor{max-width:100%}
.pt-mc-inline{border:0;padding:0;background:transparent}
.pt-mc-inline legend{padding:0 0 10px;font-size:14px}
.pt-mc-inline .pt-mc-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pt-mc-inline .pt-mc-choice{display:flex;align-items:center;text-align:left;gap:12px;min-height:64px;padding:12px;font-size:16px}
.pt-choice-letter{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#e2eefa;color:#225b97;font-weight:900;flex:none}
.pt-mc-choice.selected .pt-choice-letter{background:#fff;color:#245eab}
.pt-choice-text{min-width:0;overflow-wrap:anywhere;font-weight:600}
.pt-inline-answer{display:block;max-width:580px;font-weight:700}
.pt-inline-answer input{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #afc7dc;border-radius:10px;font:inherit;font-size:18px;min-height:52px}
.pt-question-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;border-top:1px solid #edf0f3;padding-top:14px}
.pt-review-toggle{background:white;color:#3b678b;border:1px solid #b9cfdf;border-radius:8px;padding:10px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.pt-review-toggle.pt-marked{background:#fff4df;border-color:#c99543;color:#835710}
.pt-saved-label{font-size:12px;color:#52728a}
.pt-sticky-progress{position:sticky;top:0;z-index:6;background:rgba(248,251,254,.97);backdrop-filter:blur(8px);border:1px solid #d3e0ec;border-radius:12px;padding:12px 16px;box-shadow:0 4px 14px #17324c12}
.pt-student-progress-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:#42627c}
.pt-sticky-progress .pt-progress{margin:8px 0}
.pt-sticky-progress .pt-nav{margin:9px 0 0;max-height:100px;overflow-y:auto}
.pt-sticky-progress .pt-nav button{min-width:36px;min-height:36px;padding:7px 9px}
.pt-sticky-progress .pt-nav button.flagged{background:#fff2d5;border-color:#c99a47;color:#75520c}
.pt-finish{text-align:center}
.pt-finish button{background:#245eab;color:#fff;border:0;border-radius:10px;padding:14px 26px;font:inherit;font-weight:800;min-height:50px;cursor:pointer}
@media(max-width:650px){.pt-student-question{scroll-margin-top:225px}.pt-mc-inline .pt-mc-buttons{grid-template-columns:1fr}.pt-sticky-progress{padding:10px}.pt-sticky-progress .pt-nav{max-height:80px}.pt-mc-inline .pt-mc-choice{min-height:58px}.pt-student-progress-row{font-size:12px}}

.pt-diagnostic{margin:14px 0;padding:13px 16px;border-left:4px solid #bb8534;background:#fff7e9;border-radius:8px;line-height:1.5;color:#614919}.pt-line-svg circle,.pt-parabola-svg circle{cursor:pointer}.pt-line-editor [data-line-message]{font-weight:600}

/* On-screen algebra keypad: large targets without hiding native keyboard access */
.pt-math-response{max-width:620px}
.pt-math-pad{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:10px}
.pt-math-pad button{min-width:0;min-height:46px;border:1px solid #a7c2da;border-radius:9px;background:#eef6ff;color:#1d5489;font:inherit;font-size:18px;font-weight:750;cursor:pointer;touch-action:manipulation}
.pt-math-pad button:active{background:#d1e8fb}
.pt-math-pad button:focus-visible{outline:3px solid #e9a33f;outline-offset:2px}
.pt-pad-hint{margin:8px 0 0}
@media(max-width:480px){.pt-math-pad{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Read-only live typeset preview for written answers, separate from correctness feedback */
.pt-live-preview{margin:14px 0 11px;border:1px solid #c8d8e8;background:#f8fbff;border-radius:11px;padding:12px 15px}
.pt-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:800;color:#2b5173}
.pt-preview-heading span{font-size:11px;font-weight:500;color:#657d92}
.pt-preview-content{min-height:49px;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;padding:8px 0 3px;font-size:21px}
.pt-preview-empty,.pt-preview-plain{font-size:14px;color:#687c8f;overflow-wrap:anywhere}
.pt-preview-plain{color:#243d53}
.pt-preview-content .katex{max-width:100%}

/* Visual answer cards for inequalities: comparable, readable coordinate-plane choices. */
.pt-graph-option{display:block;width:100%;max-width:260px;margin:6px auto;overflow:hidden}
.pt-graph-option svg{display:block;width:100%;height:auto;max-height:270px}
.pt-mc-choice:has(.pt-graph-option){display:flex;flex-direction:column;align-items:center;min-width:0;gap:5px;text-align:center}
.pt-mc-choice .pt-choice-text:has(.pt-graph-option){display:block;width:100%}
.pt-mc-row:has(.pt-graph-option) .pt-mc-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pt-option:has(.pt-graph-option){display:flex;align-items:flex-start;gap:10px}
@media(max-width:560px){.pt-mc-row:has(.pt-graph-option) .pt-mc-buttons{grid-template-columns:1fr}}
