*{box-sizing:border-box}body{margin:0;color:#152841;background:#f6f8fc;font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#1746a2;text-underline-offset:4px}a:hover{text-decoration:underline}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e4a319;outline-offset:4px}.skip{position:absolute;top:-80px;left:16px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.public-header,main,footer{max-width:1180px;margin:auto;padding:24px 32px}.public-header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #dce4f1}.public-header img{object-fit:contain;width:160px;height:auto}.public-header nav,footer nav{display:flex;gap:24px;flex-wrap:wrap}.public-header a{text-decoration:none;font-weight:650}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center;padding:64px 0}.eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.11em;font-weight:750;color:#1746a2}h1{font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.12;letter-spacing:-.035em;margin:18px 0 24px}h2{font-size:1.75rem;line-height:1.25}h3{font-size:1.2rem}.lead{font-size:1.15rem;max-width:650px}.small{font-size:14px;color:#526277}.cta-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:28px 0}.button,button.primary{display:inline-block;background:#1746a2;color:white;padding:13px 22px;border:0;border-radius:8px;font-weight:700;text-decoration:none;cursor:pointer;min-height:48px}.button:hover,button.primary:hover{background:#12367d;text-decoration:none}button:disabled{opacity:.65;cursor:default}.example{background:#fff;border:1px solid #c9d8ed;border-top:5px solid #1746a2;border-radius:12px;padding:28px;box-shadow:0 16px 40px #1746a210}.interval{display:flex;justify-content:space-between;border-bottom:5px solid #1746a2;padding:20px 0 10px;margin:20px 0;font-size:1.2rem}.benefits,.steps,.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.benefits{border-block:1px solid #dce4f1;padding:28px 0}.benefits strong{font-size:1.15rem}.benefits p{margin:6px 0}.steps article{padding:24px;background:#edf2fa;border-radius:10px}.steps span{font-weight:750;color:#1746a2;font-size:1.5rem}main>section:not(.hero):not(.benefits){margin:54px 0}.guide-card{display:block;background:white;border:1px solid #dce4f1;border-radius:10px;padding:24px;text-decoration:none;color:#152841}.guide-card:hover{border-color:#1746a2;text-decoration:none}.guide-card span{font-size:14px;color:#526277}.guide-card h2{font-size:1.35rem}.guide-card strong{color:#1746a2}.final-cta{padding:36px;background:#e8effb;border-radius:12px}footer{border-top:1px solid #dce4f1;margin-top:60px;color:#526277;font-size:14px}footer nav{margin:18px 0}.article{max-width:760px;margin:32px auto}.article h1{font-size:clamp(2rem,4vw,3rem)}.article h2{margin-top:36px}.worked{padding:24px;background:#edf2fa;border-radius:10px}.worked h2{margin-top:0}.worked li{margin:12px 0}details{background:white;padding:18px;border:1px solid #dce4f1;border-radius:8px}summary{cursor:pointer;font-weight:650}.related{display:flex;flex-wrap:wrap;gap:24px;margin-top:32px}.page-intro{max-width:800px}#sample{max-width:760px;margin:auto}.sample-card{padding:28px;background:white;border:1px solid #dce4f1;border-radius:12px}.sample-card h2{font-size:1.4rem}.sample-card fieldset{border:0;padding:0;margin:20px 0}.sample-card legend{font-weight:650;margin-bottom:12px}.sample-option{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #c9d8ed;border-radius:8px;margin:10px 0;cursor:pointer}.sample-option:has(input:checked){background:#e8effb;border-color:#1746a2}.sample-option input{width:20px;height:20px;flex-shrink:0}.feedback{background:#edf2fa;padding:20px;margin:22px 0;border-left:4px solid #1746a2}.error{color:#a12020}.sample-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.score{font-size:2rem;font-weight:750}.review{margin-top:18px}.review summary{display:flex;justify-content:space-between;gap:16px}progress{width:100%;height:12px;accent-color:#1746a2}@media(max-width:760px){.public-header,main,footer{padding:20px}.public-header{flex-wrap:wrap;gap:16px}.public-header nav{gap:18px;font-size:14px}.hero{grid-template-columns:1fr;gap:28px;padding:30px 0}.benefits,.steps,.guide-grid{grid-template-columns:1fr;gap:16px}.sample-card,.example{padding:20px}.cta-row{gap:16px}h1{overflow-wrap:break-word}main>section:not(.hero):not(.benefits){margin:36px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Learning lab */
.work-lab{grid-column:1/-1;border-top:1px solid #dce6f3;padding:28px;background:linear-gradient(135deg,#f5f8ff,#fff)}
.lab-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.lab-heading h2{margin:6px 0;font-size:26px}.lab-heading p{color:#536a88;line-height:1.6}.lab-tabs,.drawing-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.lab-tabs button,.drawing-toolbar button,.work-lab button,.work-lab select{min-height:44px;padding:10px 15px;border:1px solid #bdcde4;border-radius:10px;background:white;color:#183d73;font:inherit;font-size:14px;cursor:pointer}.lab-tabs [aria-selected=true],.drawing-toolbar [aria-pressed=true]{background:#174ea8;color:white;border-color:#174ea8}.work-lab button:disabled{opacity:.45;cursor:default}.drawing-surface{display:block;width:100%;aspect-ratio:800/360;border:1px solid #b9cce7;border-radius:14px;background:white;touch-action:none}.work-lab textarea,.work-lab input{display:block;width:100%;max-width:100%;box-sizing:border-box;border:1px solid #b9cce7;border-radius:12px;padding:16px;font:inherit;font-size:16px;background:white;color:#183452}.work-lab textarea{min-height:200px;line-height:1.7}.work-lab label{display:block;font-size:15px;margin:12px 0 8px}.lab-draw-status,.work-lab .formhint,.work-lab small{font-size:14px;line-height:1.6;color:#536a88}.work-lab [hidden]{display:none!important}.lab-plot svg,.answer-plot svg{width:100%;max-width:700px;display:block;margin:auto}.lab-plot text,.answer-plot text{font:13px sans-serif;fill:#315071}.lab-plot figcaption,.answer-plot figcaption{font-size:14px;color:#526a88;line-height:1.6}.deep-dive{margin:20px 0;border:1px solid #c4d5eb;border-radius:14px;overflow:hidden;background:white}.deep-dive>summary{padding:18px;display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700;color:#174ea8;font-size:16px}.deep-dive-body{padding:0 20px 20px;line-height:1.8}.deep-dive-body h3{font-size:18px}.worked-calculation,.lab-takeaway{padding:18px;background:#eef5ff;border-radius:12px}.deep-dive .answer-plot{margin:16px 0}.learning-workspace .workspace-subtitle,.learning-workspace .formhint{font-size:14px}.learning-workspace .formula-button{min-height:44px;font-size:14px}.learning-workspace .response-panel input{font-size:18px;min-height:56px}.learning-workspace .response-panel,.learning-workspace .question-content{min-height:0}.learning-workspace .response-heading h2{margin:12px 0 22px}.learning-workspace .task-label,.learning-workspace .context-label,.workspace-stage{font-size:12px}.work-lab :focus-visible{outline:3px solid #4585e5;outline-offset:3px}.answer-comparison strong{overflow-wrap:anywhere}.auth-help button,.auth-switch button{min-height:44px;font-size:16px;padding:10px 16px}
@media(max-width:600px){.work-lab{padding:20px}.lab-heading{display:block}.lab-tabs button{flex:1;padding:10px 8px}.drawing-toolbar button{padding:10px}.drawing-surface{aspect-ratio:800/360}.deep-dive-body{padding:0 14px 14px}.answer-plot{margin:16px 0}.learning-workspace .workspace-subtitle{font-size:14px}}

.public-header nav a{min-height:44px;display:inline-flex;align-items:center;padding:10px 14px;font-size:15px;border-radius:10px}.public-header nav a[href*="learn"]{background:#174ea8;color:white;font-weight:700}.sample-card{max-width:1000px}.sample-card input[type=text]{width:100%;box-sizing:border-box;font:inherit;font-size:18px;padding:16px;border:1px solid #aac3e5;border-radius:12px;margin:8px 0 16px}.sample-card .sample-actions a,.sample-card button{min-height:48px;font-size:16px}.sample-card .work-lab{margin:24px -24px -24px}.sample-answer-fields{max-width:600px}.sample-card label{display:block;margin:12px 0 4px}.sample-progress{display:flex;justify-content:space-between;gap:12px}.sample-card .complete-mark{font-size:40px;color:#16745d}

#sample{max-width:1000px}.public-header nav{gap:10px}.cta-row>a[href*="signup"]{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px;border:1px solid #174ea8;border-radius:10px;font-weight:700}.lab-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.saved-lab{margin-top:20px}@media(max-width:600px){.lab-heading{display:block}.public-header nav{flex-wrap:wrap;gap:8px}.public-header nav a{padding:10px;font-size:14px}.sample-progress{display:block}.sample-card .work-lab{margin:20px -20px -20px}}

.method-graph{margin:20px 0;padding:16px;background:#f5f8fd;border-radius:12px}.method-graph svg{width:100%;max-width:700px;display:block;margin:auto}.method-graph text{font:14px sans-serif;fill:#315071}.method-graph figcaption{font-size:14px;line-height:1.7;color:#4b6484}

.lab-plot{overflow-x:auto}.lab-plot svg{min-width:450px}@media(max-width:600px){.method-graph{overflow-x:auto}.method-graph svg,.answer-plot svg{min-width:450px}.answer-plot{overflow-x:auto}}

/* Student graph studio */
.graph-builder{font-size:15px;line-height:1.6}.graph-intro{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.graph-intro h3{font-size:24px;line-height:1.3;margin:0 0 8px;color:#1a365a}.graph-intro p{margin:0;color:#5a708b}.graph-intro>button{flex-shrink:0}.graph-question-note{font-size:13px;color:#60728a}.graph-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.graph-type-grid button{text-align:left;padding:14px!important;background:white;min-height:85px}.graph-type-grid span{display:block;font-weight:700;font-size:15px}.graph-type-grid small{display:block;line-height:1.4;margin-top:6px;font-size:12px!important;color:#60728a}.graph-type-grid [aria-pressed=true]{border-color:#245ab0!important;background:#e9f2ff!important;color:#153f7d!important;box-shadow:0 0 0 1px #245ab0}.graph-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:24px;align-items:start}.graph-editor,.graph-output{border:1px solid #d2dfef;border-radius:16px;padding:20px;background:white;min-width:0}.graph-editor-head,.graph-data-head,.graph-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.graph-builder h4{font-size:17px;margin:0}.graph-editor-head button{font-size:13px!important;padding:8px!important}.graph-builder label{font-size:14px!important}.graph-labels input,.graph-model-fields input{font-size:15px!important;padding:10px 12px!important;min-height:44px!important}.graph-model-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.graph-data-head{margin-top:24px}.graph-data-head span{font-size:12px;color:#617690}.graph-data-help,.graph-private{font-size:13px;line-height:1.6;color:#5b718d}.graph-input-table{border-collapse:collapse;width:100%;table-layout:fixed}.graph-input-table th{font-size:13px;text-align:left;color:#3f5779;padding:8px}.graph-input-table th:last-child{width:42px}.graph-input-table td{padding:4px}.graph-input-table input{width:100%;font-size:14px!important;padding:10px!important;border-radius:8px!important;min-height:44px}.graph-input-table button{font-size:22px!important;min-width:34px;min-height:44px;padding:4px!important}.graph-data-actions{display:flex;gap:8px;margin:12px 0}.graph-data-actions button{font-size:13px!important}.graph-paste{margin:18px 0;border:1px solid #d5e1f1;border-radius:10px;padding:12px}.graph-paste summary,.graph-read summary,.graph-equivalent summary{cursor:pointer;font-weight:600;font-size:14px;color:#235498}.graph-paste textarea{font-size:14px!important;min-height:120px!important;padding:12px!important}.graph-check{display:flex!important;gap:9px;align-items:center}.work-lab .graph-check input{width:20px;min-height:20px;height:20px}.work-lab input[type=range]{padding:0;height:36px;border:0;accent-color:#215ab3}.graph-chart{margin:20px 0 12px;width:100%;min-width:0;overflow:hidden}.graph-chart svg{display:block;width:100%;min-width:0!important;max-width:none!important}.graph-preview-head{align-items:flex-start}.graph-preview-head h4{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.graph-preview-head button{font-size:13px!important;flex-shrink:0}.graph-error{padding:12px 14px;background:#fff3e7;border-radius:10px;color:#8a4822;font-size:14px;line-height:1.5}.graph-empty{padding:55px 20px;text-align:center;background:linear-gradient(135deg,#f0f6ff,#f8fbff);border:1px dashed #c4d6ef;border-radius:14px}.graph-empty>span{font-size:44px;display:block;color:#5382c5}.graph-empty strong{display:block;font-size:17px}.graph-empty p{font-size:14px;color:#5b718d}.graph-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.graph-summary>div{padding:12px;background:#f2f6fc;border-radius:10px;min-width:0}.graph-summary span{display:block;font-size:12px;color:#60718c}.graph-summary strong{font-size:17px;overflow-wrap:anywhere}.graph-read,.graph-equivalent{padding:14px;border:1px solid #d8e3f0;border-radius:10px;margin:12px 0}.graph-read p{font-size:14px;line-height:1.7}.graph-equivalent table{border-collapse:collapse;width:100%;font-size:14px;margin-top:14px}.graph-equivalent td,.graph-equivalent th{padding:8px;border-bottom:1px solid #e2eaf4;text-align:left;overflow-wrap:anywhere}.graph-equation{font-size:20px;font-weight:700;background:#eef4ff;padding:14px;border-radius:10px}.graph-import-status{color:#994527;font-size:14px}.graph-builder .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.drawing-toolbar{gap:8px}
@media(max-width:1000px){.graph-layout{grid-template-columns:minmax(0,1fr)}.graph-editor{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.graph-editor-head,.graph-data-head,.graph-data-help,.graph-table-wrap,.graph-data-actions,.graph-paste,.graph-equation{grid-column:1/-1}.graph-labels{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.graph-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.graph-intro{display:block}.graph-intro>button{margin-top:14px;width:100%}.graph-type-grid{grid-template-columns:1fr 1fr;gap:8px}.graph-type-grid button{padding:12px!important}.graph-layout{gap:16px}.graph-editor,.graph-output{padding:14px}.graph-editor{display:block}.graph-labels{display:block}.graph-intro h3{font-size:21px}.graph-summary{grid-template-columns:1fr 1fr}.graph-preview-head{display:block}.graph-preview-head button{margin-top:12px}.graph-model-fields{gap:0 10px}.graph-builder h4{font-size:16px}}

.graph-preview-actions{display:flex;flex-direction:column;gap:8px}.graph-output{position:sticky;top:20px}.graph-editor,.graph-output{scroll-margin-top:20px}.graph-data-actions{flex-wrap:wrap}@media(max-width:1000px){.graph-output{grid-row:1;position:static}.graph-preview-actions{flex-direction:row;flex-wrap:wrap}.graph-builder .graph-preview-head{display:block}.graph-preview-actions button{margin-top:8px}}

@media(max-width:600px){.graph-output{margin-left:-8px;margin-right:-8px;padding:12px 8px}.graph-chart{overflow:visible}.graph-type-grid small{font-size:12px!important}.graph-output .graph-preview-head{padding:0 4px}}
