@charset "UTF-8";
:root{--ink:#243b45;--muted:#5c6d70;--green:#3b6c70;--border:#d8ded8;--paper:#fffefa;--bg:#f5f6f1;--gold:#8b6246;--coral:#cf9c7c;--blue:#507d87;--lime:#e3ece1;--mono:Consolas,"Courier New",monospace;--serif:Georgia,"Times New Roman",serif}
html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--bg);color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--blue);outline-offset:5px}a{color:var(--green);text-underline-offset:4px}header{margin:0 4vw;padding:0;min-height:105px;border-bottom:1px solid var(--ink);background:transparent}.identity{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;font-size:38px;background:var(--coral);border-radius:50%;line-height:1}.brand{font-family:"Segoe UI",Arial,sans-serif;font-size:24px;font-weight:700;letter-spacing:-1.3px;line-height:.95}.brand>span{display:block;font-weight:400;letter-spacing:2.5px;font-size:20px}.edition{font:11px var(--mono);letter-spacing:.07em;display:flex;align-items:center;gap:12px;border:0;padding:0;color:var(--ink)}.edition i{width:24px;height:1px;background:var(--ink)}header nav{gap:25px;align-items:center;font-size:13px}header nav a{color:var(--ink);text-decoration:none}#focus-mode{padding:10px 20px;border:1px solid var(--ink);border-radius:30px;background:transparent;color:var(--ink)}#focus-mode span{padding-left:20px}main{max-width:1580px;padding:0 4vw}.intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;min-height:420px;padding:45px 0 42px;margin:0}.eyebrow{font:10px/1.6 var(--mono);font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}.intro .eyebrow{display:flex;align-items:center;gap:10px}.tiny-cross{font-size:25px;font-weight:400;color:var(--gold)}h1{font-size:clamp(42px,4.8vw,76px);font-weight:500;line-height:1.06;letter-spacing:-2.8px;margin:22px 0 20px}h1 em{font-family:var(--serif);font-weight:400;color:#805a42}h2{font-size:25px;line-height:1.4;font-weight:500;margin:10px 0 16px}h3{font-size:21px;line-height:1.5;margin:25px 0 12px;font-weight:550}.intro p{color:var(--muted);font-size:15px}.start-link{display:inline-flex;align-items:center;gap:30px;text-decoration:none;font-size:13px;color:var(--ink);border-bottom:1px solid var(--ink);padding:8px 0}.start-link span{font-size:22px}.math-art{position:relative;max-width:560px;justify-self:end;width:100%}.math-art>svg{display:block;width:100%;height:auto}.art-note{position:absolute;right:5px;bottom:-2px;display:flex;align-items:center;gap:12px;background:var(--lime);padding:10px 18px;font:11px var(--mono);box-shadow:4px 4px 0 var(--ink);transform:rotate(-3deg)}.art-note>span{font:32px var(--serif)}.art-note i{font-size:24px;font-style:normal;margin-left:15px}.finder{background:transparent;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;padding:22px 0 20px;margin-bottom:36px;scroll-margin-top:20px}.route-title{display:flex;justify-content:space-between;gap:15px;align-items:center}.route-title>span:last-child{font-size:12px;color:var(--muted)}.grades{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;margin:21px 0 26px;border:1px solid var(--ink)}.grades button{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:73px;border:0;border-right:1px solid var(--ink);border-radius:0;padding:8px 12px;background:transparent;color:var(--ink);transition:background .16s,transform .16s}.grades button:last-child{border-right:0}.grade-number{font-family:var(--serif);font-size:37px;line-height:1}.grade-label{font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.grades button::after{content:'↗';position:absolute;top:4px;right:8px;font-size:14px;opacity:0}.grades button:hover{background:var(--lime)}.grades button[aria-pressed=true]{background:var(--coral);color:var(--ink);transform:translateY(-5px);box-shadow:0 5px 0 var(--ink)}.grades button[aria-pressed=true]::after{opacity:1}.find-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:28px;align-items:end}.find-row>label{font-size:10px;gap:7px;font-family:var(--mono);letter-spacing:.05em;min-width:0}.find-row>label>span{color:var(--muted)}.find-row input[type=search],.find-row select{border:0;border-bottom:1px solid #9ea89e;border-radius:0;background:transparent;padding:8px 0;font:15px/1.5 "Segoe UI",Arial,sans-serif}.find-row>.check{min-height:46px;font:12px "Segoe UI",Arial,sans-serif;letter-spacing:0;gap:8px;padding-bottom:3px;min-width:0}.check input{width:17px;height:17px;accent-color:var(--ink)}select,input,textarea{background:var(--paper);border-color:#9fa8b0;border-radius:3px}.finder small{font:10px/1.7 var(--mono);color:var(--muted);margin-top:13px}.workspace{grid-template-columns:280px minmax(0,1fr);gap:42px;padding-bottom:30px}.outcomes{top:20px;max-height:calc(100vh - 40px);background:transparent;border:0;border-radius:0;scrollbar-width:thin;scrollbar-color:#aeb5a5 transparent}.list-head{padding:0 0 14px;border-bottom:1px solid var(--border)}.list-head h2{font-family:var(--serif);font-style:italic;font-size:30px;margin:7px 0 0}#list-count{font:10px var(--mono);border:1px solid var(--border);border-radius:20px;padding:5px 9px;white-space:nowrap}#output-list{counter-reset:output;position:relative}.outcome{counter-increment:output;position:relative;padding:22px 15px 22px 42px;border-bottom:1px solid var(--border);background:transparent;line-height:1.6;font-size:13px}.outcome::before{content:counter(output,decimal-leading-zero);position:absolute;top:24px;left:0;font:11px var(--mono);color:var(--muted)}.outcome:hover{background:#e9e9dd}.outcome[aria-current=true]{background:var(--ink);color:var(--paper);padding-right:20px;box-shadow:none}.outcome[aria-current=true]::before{color:var(--coral);left:10px}.outcome[aria-current=true]::after{content:'↗';position:absolute;right:8px;top:8px;color:var(--coral)}.outcome .code{font:10px var(--mono);color:#4c5d75;margin-bottom:7px}.outcome[aria-current=true] .code{color:#c4ccee}.outcome small{color:var(--muted);font:9px/1.6 var(--mono);margin-top:8px}.outcome[aria-current=true] small{color:#b9c5c6}.list-download{display:flex;justify-content:space-between;color:var(--ink);text-decoration:none;padding:18px 0;font-size:12px}.list-download span{font-size:22px}#detail{min-width:0}.panel{position:relative;background:transparent;border:0;border-radius:0;padding:30px 0;margin-bottom:26px}.panel:first-child{background:var(--ink);color:var(--paper);padding:34px 38px 25px;overflow:hidden;border-radius:0 45px 0 0}.panel:first-child::after{content:'↗';position:absolute;right:23px;top:16px;font-size:29px;color:var(--coral)}.panel:first-child h2{font-family:var(--serif);font-size:clamp(26px,2.4vw,38px);font-weight:400;line-height:1.3;margin:20px 0 23px;max-width:850px;letter-spacing:-.4px}.breadcrumb{font:10px/1.8 var(--mono);color:var(--muted);margin-bottom:17px}.panel:first-child .breadcrumb{color:#bcc8c9;padding-right:20px}.code-tag{background:transparent;border-radius:0;font:10px/1.6 var(--mono);letter-spacing:.06em;border-bottom:2px solid var(--coral);padding:3px 0;color:var(--ink)}.panel:first-child .code-tag{color:var(--lime)}.outcome-links{gap:24px;align-items:center;font-size:11px}.panel:first-child .outcome-links a{color:var(--lime);text-decoration:none}.panel:first-child .secondary{border:1px solid #7f919c;color:#edf1ed;background:transparent;font-size:11px;min-height:36px;padding:5px 10px}.soft{background:transparent;border:0;border-left:2px solid #b6c1a0;border-radius:0;padding:11px 16px;color:var(--muted);font-size:12px}.panel:first-child .soft{border:0;border-top:1px solid #435362;color:#bdc8c8;padding:15px 0 0;font-size:11px;margin-bottom:0;margin-top:22px}.step{gap:12px;font:11px var(--mono);letter-spacing:.02em}.step>b{font-weight:400;color:#a5472d;font-size:15px;background:none;border-radius:0;width:auto;height:auto;display:inline}.step>b::before{content:'0'}.problem-list{display:flex;overflow-x:auto;gap:12px;padding:13px 3px 19px;margin:14px -3px 8px;scrollbar-width:thin}.problem{position:relative;display:flex;flex:1 0 220px;max-width:380px;min-height:135px;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px;border:1px solid #bfc6b8;background:var(--paper);color:var(--ink);border-radius:0;box-shadow:3px 3px 0 #d8dbcd;transition:transform .15s}.problem:hover{transform:translateY(-3px)}.problem[aria-pressed=true]{background:var(--lime);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.problem[aria-pressed=true]::after{content:'↗';position:absolute;right:10px;top:5px;font-size:20px}.problem strong{font-family:var(--serif);font-size:20px;line-height:1.3;font-weight:400;margin:0 12px 9px 0}.problem small{font:9px var(--mono);color:var(--muted)}.status{border-radius:0;padding:0;font:9px/1.6 var(--mono);color:#744320;display:inline-flex;gap:6px;align-items:center;white-space:normal;background:none}.status::before{content:'';width:5px;height:5px;min-width:5px;border-radius:50%;background:#a96a28}.status.reviewed{background:none;color:#2d5c42}.status.reviewed::before{background:#43805b}.tabs{counter-reset:stage;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:14px;gap:0}.tabs button{counter-increment:stage;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;min-height:83px;border:0;border-right:1px solid var(--border);border-radius:0;padding:12px 14px;background:transparent;color:var(--muted);font-size:12px;text-align:left}.tabs button:last-child{border-right:0}.tabs button::before{content:'0' counter(stage) ' ↗';font:10px var(--mono)}.tabs button[aria-pressed=true]{background:var(--blue);color:white}.tabs button[aria-pressed=true]::before{color:var(--lime)}.tabs button:hover:not([aria-pressed=true]){background:var(--lime)}.tab-body{padding:22px 0 0}.warning{background:#ebe9de;border-left:2px solid #b55d40;padding:12px 16px;font-size:12px;color:#714731}.info-grid{gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:23px 0}.info-grid>div{padding:22px 24px 22px 0;background:none;border-radius:0}.info-grid>div+div{border-left:1px solid var(--border);padding-left:24px}.info-grid p{font-family:var(--serif);font-size:24px;line-height:1.4;margin:13px 0 0}.label{display:block;font:10px var(--mono);letter-spacing:.07em;color:#53616f;text-transform:uppercase}.source{padding:18px 0;border:0;border-top:1px solid var(--border);margin:14px 0;border-radius:0}.source summary{cursor:pointer;line-height:1.6;font-size:13px}.source small{font:10px/1.7 var(--mono);color:var(--muted);margin-top:8px}.primary,.secondary{border:1px solid var(--ink);border-radius:0;padding:11px 19px;background:var(--ink);color:var(--paper);font-size:13px}.primary::after{content:' ↗';padding-left:15px}.secondary{background:transparent;color:var(--ink)}.primary:hover,.secondary:hover{background:var(--coral);color:var(--ink)}.lesson-steps{list-style:none;counter-reset:lesson;padding-left:0;position:relative}.lesson-steps li{counter-increment:lesson;padding:15px 12px 15px 50px;border-bottom:1px solid var(--border);position:relative}.lesson-steps li::before{content:counter(lesson,decimal-leading-zero);position:absolute;left:0;top:17px;font:12px var(--mono);color:#8b6246}textarea{margin-top:7px;background:#fffdf7;border-radius:0}.prompt{position:relative;background:#edf2f0;border:1px solid #c7d8d3;border-radius:0;padding:25px 28px;margin:18px 0;box-shadow:5px 5px 0 #dce6e0}.prompt::before{content:'?';display:grid;place-items:center;position:absolute;right:15px;top:-17px;width:34px;height:34px;border:1px solid var(--ink);background:var(--coral);border-radius:50%;font:24px var(--serif)}.prompt>p{font-size:20px;font-family:var(--serif);line-height:1.5}.lab-toolbar{padding:15px 0;margin:20px 0 0;border-top:1px solid var(--ink)}.lab-toolbar button{min-height:40px;font:10px var(--mono);padding:9px 12px}.lab-toolbar label{font-size:11px;margin-left:auto}.lab-box{border:1px solid #c3c8ce;border-radius:0;padding:24px;margin:12px 0 0;background-color:#fffdf6;background-image:radial-gradient(#c7cdd0 .65px,transparent .65px);background-size:18px 18px}.lab-box svg{max-height:420px}.model-controls{padding:17px 0 0}.model-controls label{font-size:12px}.counter{gap:0}.counter button{height:44px;min-width:37px;border:1px solid #a8b2be;border-radius:0;background:var(--paper);color:var(--ink)}.counter input{border-left:0;border-right:0;border-radius:0;text-align:center}.formula{padding:18px;background:var(--ink);color:var(--paper);font:19px/1.5 var(--mono);text-align:center;border-radius:0;margin:0 0 13px}.caption{font-size:12px}.feedback{padding:16px;background:var(--lime);border-radius:0;border-left:3px solid var(--ink);margin-top:15px}.observation{margin-top:15px}.observation td,.observation th{padding:10px}.observation th{font:10px var(--mono);background:#e5e7db}.transfer{margin-top:28px;border-top:1px solid var(--ink);padding-top:22px}.empty{padding:28px 12px}.skip{background:var(--paper)}footer{font:10px/1.9 var(--mono);padding:22px 0 35px;border-top:1px solid var(--ink)}.focus-mode .intro,.focus-mode .finder,.focus-mode .outcomes{display:none}.focus-mode .workspace{grid-template-columns:1fr;max-width:1050px;margin:35px auto}.focus-mode #focus-mode{background:var(--ink);color:var(--paper)}
@media(min-width:1450px){.workspace{grid-template-columns:310px minmax(0,1fr);gap:55px}.intro{min-height:450px}.problem{flex-basis:240px}}
@media(max-width:1100px){.edition{display:none}.workspace{grid-template-columns:235px minmax(0,1fr);gap:28px}.intro{min-height:350px}.panel:first-child{padding:28px}.info-grid p{font-size:21px}.grade-label{display:none}.tabs button{font-size:11px;padding:10px}.problem{max-width:320px}}
@media(max-width:760px){header{display:flex;min-height:85px;margin:0 5vw;padding:0}header nav{margin:0;gap:14px}.brand{font-size:20px}.brand>span{font-size:16px}.brand-mark{width:35px;height:35px;font-size:31px}header nav a{font-size:11px}#focus-mode{padding:8px 12px;font-size:11px}#focus-mode span{padding-left:6px}main{padding:0 5vw}.intro{grid-template-columns:1fr .7fr;gap:0;min-height:310px;padding:30px 0}h1{font-size:43px;letter-spacing:-1.9px}.intro .eyebrow{font-size:8px;max-width:220px;line-height:1.8}.intro p{font-size:13px}.math-art{opacity:.9}.art-note{display:none}.start-link{font-size:11px;gap:20px}.finder{margin-bottom:25px;padding:22px 0 20px}.route-title>span:last-child{display:none}.grades button{min-height:61px;padding:8px}.grade-number{font-size:30px}.find-row{grid-template-columns:1fr 1fr;gap:15px}.find-row>.check{grid-column:1/-1;min-height:30px}.find-row input[type=search],.find-row select{font-size:13px}.workspace{display:block}.outcomes{position:static;max-height:290px;border-bottom:1px solid var(--ink);margin-bottom:28px;padding-bottom:12px}.outcome{padding:16px 18px 16px 42px}.outcome::before{top:18px}.outcome[aria-current=true]::before{left:10px}.list-download{display:none}.list-head h2{font-size:24px}.list-head{padding-bottom:8px}.panel:first-child{padding:25px;border-top-right-radius:32px}.panel:first-child h2{font-size:29px}.panel{padding:20px 0}.tabs button{min-height:78px}.info-grid p{font-size:20px}.info-grid>div{padding-right:16px}.info-grid>div+div{padding-left:16px}.prompt{padding:20px}.lab-box{padding:10px}.lab-toolbar label{margin-left:0}.formula{font-size:15px}.focus-mode .workspace{margin-top:25px}}
@media(max-width:470px){.intro{grid-template-columns:1fr;position:relative;overflow:hidden}.intro-copy{position:relative;z-index:1}.math-art{position:absolute;right:-85px;top:25px;width:235px;opacity:.16;pointer-events:none}h1{font-size:45px}.intro p{max-width:260px}.grades button{min-height:55px}.grade-number{font-size:26px}.grades button::after{font-size:10px;right:4px}.find-row{grid-template-columns:1fr}.find-row>.check{grid-column:auto}.tabs{grid-template-columns:1fr 1fr}.tabs button{min-height:65px;border-bottom:1px solid var(--border)}.tabs button:nth-child(2){border-right:0}.info-grid{grid-template-columns:1fr}.info-grid>div{padding:18px 0}.info-grid>div+div{border-left:0;border-top:1px solid var(--border);padding-left:0}.problem{flex-basis:235px}.counter input{width:60px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Quiet surfaces keep the mathematical models and student reasoning in focus. */
.brand-mark{border-radius:13px;background:#e5d6c6;color:var(--ink)}
.intro h1 em{color:#56716f}.math-art{opacity:.9}.art-note{transform:none;box-shadow:none;border:1px solid #c6d5cc;border-radius:12px}
.grades{border-color:#c2cfca;border-radius:15px;overflow:visible;background:#fffefa}
.grades button{border-color:#d3ddd7}.grades button:first-child{border-radius:14px 0 0 14px}.grades button:last-child{border-radius:0 14px 14px 0}
.grades button[aria-pressed=true]{transform:none;box-shadow:none;background:#dce9e3;color:var(--ink)}.grades button::after{display:none}
.outcome{border-radius:9px;border-bottom-color:#dde3dd;margin:3px 0}.outcome[aria-current=true]{background:#e1ebe6;color:var(--ink);box-shadow:inset 3px 0 #507d87}.outcome[aria-current=true] .code{color:#396469}.outcome[aria-current=true] small{color:#526965}.outcome[aria-current=true]::before{color:#3d6e70}.outcome[aria-current=true]::after{display:none}
.panel:first-child{background:#e8efeb;color:var(--ink);border:1px solid #d0ddd5;border-radius:20px;padding:30px 34px 23px}
.panel:first-child::after{display:none}.panel:first-child .breadcrumb{color:#5c726d}.panel:first-child .code-tag{color:#3b6c70;border-color:#b9cfc4}.panel:first-child .outcome-links a{color:#345e63;text-decoration:underline}.panel:first-child .secondary{color:#345e63;border-color:#a6beb7;border-radius:8px}.panel:first-child .soft{border-color:#c9d8cf;color:#5c726d}
.problem,.problem[aria-pressed=true]{border-radius:12px;box-shadow:none}.problem{background:#fffefa;border-color:#d3dcd4}.problem[aria-pressed=true]{background:#e5ede1;border-color:#91aaa0}.problem:hover{transform:none;background:#edf3e9}.problem[aria-pressed=true]::after{content:'';width:7px;height:7px;top:14px;right:14px;border-radius:50%;background:#507d87}
.tabs{border:1px solid #ccd9d1;border-radius:13px;overflow:hidden;background:#eef2ec}.tabs button{border-color:#d1dcd5;min-height:77px}.tabs button[aria-pressed=true]{background:#50747c;color:white}.tabs button[aria-pressed=true]::before{color:#e2ece7}.tabs button:hover:not([aria-pressed=true]){background:#e1eae3}
.warning{background:#eff0e7;border-color:#b8a084;color:#6e6656;border-radius:0 8px 8px 0}.prompt{background:#f1f5f1;border-color:#c8d9cf;border-radius:14px;box-shadow:none}.prompt::before{background:#e2d4c4;border-color:#c2ab91;color:#6d5948;font-size:21px}.primary,.secondary{border-radius:8px}.primary{background:#426971;border-color:#426971}.primary:hover,.secondary:hover{background:#dbe8e2;color:var(--ink);border-color:#9db8ad}.secondary{border-color:#9cb2aa;color:#365d61}.counter button{border-radius:6px}.counter input{background:#fffefa}.lab-box{background-color:#fffefa;border-color:#cbd9d1;border-radius:14px 14px 0 0;background-image:radial-gradient(#d4ddd7 .6px,transparent .6px)}.formula{background:#e4eeea;color:#294c50;border:1px solid #cbd9d1;border-top:0;border-radius:0 0 14px 14px;font-size:17px}.info-grid p{font-size:22px}.source{padding:14px 0}.reference-list{list-style:none;max-width:900px}.reference-list .source a{font-size:15px}.representation-keys{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0 22px}.representation-keys>span{display:flex;align-items:center;gap:8px;background:#e9efea;border:1px solid #d7e1d9;border-radius:30px;padding:7px 13px;font-size:12px}.representation-keys b{font:10px var(--mono);color:#55736c}.conflict-task{border-left:3px solid #b18a69;background:#f2eee6;border-radius:0 12px 12px 0;padding:20px 22px;margin:25px 0 12px}.conflict-task>p{font-family:var(--serif);font-size:21px;line-height:1.5}.conflict-result{background:#e5ede4;border:1px solid #d0dece;padding:15px;border-radius:10px;margin-top:18px}.prediction-trace{background:#eef2ee;border-radius:12px;padding:16px 18px;margin:16px 0}.prediction-trace>p{margin:8px 0;font:16px var(--mono)}.prediction-trace blockquote{border-left:2px solid #aac0b6;padding-left:14px;margin:10px 0;color:#5c726d}.feedback{border-radius:0 10px 10px 0;background:#e5ede1}
@media(max-width:760px){.panel:first-child{padding:24px}.conflict-task{padding:17px}.formula{font-size:14px}.representation-keys>span{font-size:11px}}
@media(max-width:370px){header{flex-wrap:wrap;gap:14px;padding:18px 0}header nav{width:100%;justify-content:space-between}.intro h1{font-size:39px}}
@media print{header,.intro,.finder,.outcomes,.tabs,.lab-toolbar,.model-controls{display:none}.workspace,.focus-mode .workspace{display:block;max-width:none}.panel:first-child{background:white;color:var(--ink);border:1px solid var(--ink);padding:20px}.panel:first-child .code-tag,.panel:first-child .breadcrumb,.panel:first-child .outcome-links a,.panel:first-child .soft{color:var(--ink)}.panel:first-child::after{display:none}.formula{background:#eee;color:var(--ink)}.problem-list{display:block;overflow:visible}.problem{max-width:none;box-shadow:none}.art-note{display:none}}
