:root{--blue:#2547f5;--ink:#0d234b;--muted:#667695;--line:#dce4f1;--paper:#f3f6fc;--teal:#168eaa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Arial,Helvetica,sans-serif}header{display:flex;align-items:center;gap:28px;padding:22px max(24px,calc((100vw - 1440px)/2));background:white;border-bottom:1px solid var(--line)}header img{max-width:204px;height:auto}.brand-note{font-size:11px;font-weight:700;letter-spacing:1.7px;border-left:1px solid var(--line);padding-left:28px}.brand-note span{display:block;font-size:9px;margin-top:4px}.course-link{margin-left:auto;font-size:12px;color:var(--muted);text-decoration:none}main{max-width:1440px;padding:0 28px;margin:auto}button,.button{font:inherit;cursor:pointer;background:#fff;color:var(--ink);padding:11px 17px;border:1px solid #d6dfef;border-radius:10px;font-size:12px;font-weight:700;line-height:1.5;text-decoration:none;display:inline-block;box-shadow:0 3px 6px #17386705}button:hover,.button:hover{border-color:var(--blue);color:var(--blue)}button:disabled{opacity:.48;cursor:not-allowed}button.primary,.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}button.quiet{background:transparent;box-shadow:none}.lab-nav{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:20px 0}.lab-nav label{font-size:12px;font-weight:700}.lab-nav select{max-width:480px;width:auto;min-width:250px;background:transparent;border:0;font-weight:700;font-size:14px}.lab-nav #saved-state{margin-left:auto;font-size:11px;color:var(--muted)}select,input{font:inherit}select{color:var(--ink);border:1px solid var(--line);background:white;border-radius:8px;padding:10px;width:100%;font-size:13px}.intro{padding:24px 0 18px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--muted);margin:0 0 9px}h1{font-size:clamp(29px,3vw,42px);letter-spacing:-1.3px;line-height:1.15;margin:0 0 12px;font-weight:750}h2{font-size:18px;line-height:1.3;letter-spacing:-.4px;margin:0 0 12px}.intro>p:last-child{color:var(--muted);margin:0;max-width:800px}.mission{display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:24px;background:linear-gradient(120deg,#fff,#edf3ff);border:1px solid var(--line);border-radius:14px;padding:18px 22px}.mission label{font-size:11px;color:var(--muted);display:block}.mission select{border:0;background:transparent;padding-left:0;font-weight:700}.mission p{font-size:13px;margin:0;padding-left:24px;border-left:1px solid var(--line);color:var(--muted)}.steps{display:flex;list-style:none;padding:20px 0;margin:0;gap:38px;font-size:13px}.steps li{font-weight:bold;color:var(--blue)}.steps li span{font-weight:normal;color:var(--muted);margin-left:9px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start;scroll-margin-top:20px}.panel{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 30px #12397004;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 24px 12px}.badge{font-size:10px;color:var(--muted);border:1px solid var(--line);background:#f7f9ff;border-radius:30px;padding:6px 10px;max-width:45%}.tabs{display:flex;flex-wrap:wrap;gap:5px;padding:0 20px 14px;border-bottom:1px solid var(--line)}.tabs button{font-size:11px;border:0;background:transparent;box-shadow:none;padding:8px 11px}.tabs button[aria-pressed=true]{background:#ecf0ff;color:var(--blue)}#plot{height:365px;padding:4px 14px 0}#plot svg{width:100%;height:100%;display:block}#plot text{font:12px Arial,sans-serif;fill:var(--muted)}#chart-tools{padding:0 24px;font-size:11px;display:flex;align-items:center;gap:14px}#chart-tools input{max-width:180px}.legend{display:flex;flex-wrap:wrap;gap:17px;padding:10px 24px;font-size:11px;color:var(--muted)}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));padding:20px 24px;background:#f8faff;border-top:1px solid var(--line);gap:10px}.metrics div{padding:0 12px;border-right:1px solid var(--line)}.metrics div:first-child{padding-left:0}.metrics div:last-child{border:0}.metrics span{font-size:10px;color:var(--muted);display:block}.metrics strong{display:block;font-size:24px;color:var(--blue);line-height:1.4}details{padding:16px 24px}summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--muted)}.controls{padding:24px}.controls label{display:block;font-size:12px;font-weight:700;margin:20px 0 7px}.controls label output{float:right;background:#f0f3ff;color:var(--blue);padding:0 7px;border-radius:4px}.controls input[type=range]{width:100%;accent-color:var(--blue)}.controls>button{display:block;width:100%;margin-top:13px}.micro{font-size:11px;color:var(--muted);line-height:1.6}.insight{padding:20px 24px;display:flex;gap:17px;margin:22px 0}.insight p{font-size:13px;margin:0 0 5px}.insight .micro{font-size:11px}.insight-mark{width:30px;height:30px;background:#edf2ff;color:var(--blue);border-radius:50%;text-align:center;flex:none}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.comparison-grid>.panel{padding:24px}.comparison-grid .panel-heading{padding:0}.comparison-grid button.primary{margin-top:14px;width:100%}fieldset{padding:0;border:0;margin:8px 0 14px}fieldset legend{font-size:13px;font-weight:bold;margin-bottom:12px}fieldset label{font-size:12px;display:flex;gap:9px;align-items:flex-start;margin-bottom:8px}fieldset input{margin-top:4px;accent-color:var(--blue)}#concept-feedback,#run-status{font-size:12px;min-height:20px}#concept-feedback.ok{color:#167b75}.table-scroll{overflow:auto;max-height:320px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th,td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:10px;font-weight:normal}td:first-child{font-weight:600}#comparison table{margin:8px 0}#comparison small{display:block;color:var(--muted);font-weight:normal}#test-result{font-size:13px;margin-top:18px}#test-result h3{font-size:16px}.test-evidence{background:#f3f6ff;border:1px solid var(--line);border-radius:10px;padding:16px}#test-result label{font-size:12px;display:block;margin-top:12px}#test-result textarea{width:100%;min-height:85px;border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit}.next{padding:24px;margin-top:22px;display:flex;align-items:center;gap:25px}.next p{font-size:12px;color:var(--muted);margin:0}.next .button{margin-left:auto;flex:none}.methodology{margin:22px 0}.methodology p,.methodology li{font-size:12px;color:var(--muted)}footer{display:flex;gap:20px;justify-content:space-between;font-size:11px;color:var(--muted);padding:10px 0 30px}footer a{color:var(--blue)}dialog{border:1px solid var(--line);border-radius:18px;max-width:620px;width:calc(100% - 32px);padding:32px;color:var(--ink);box-shadow:0 30px 100px #10275430}dialog::backdrop{background:#10234455;backdrop-filter:blur(3px)}dialog p,dialog li{font-size:14px}dialog li{margin:12px 0}.close{float:right;padding:4px 10px;font-size:20px;border:0}.skip{position:absolute;top:-100px;left:15px}.skip:focus{top:12px;z-index:100;background:white;padding:10px}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:10px;padding:10px 18px;max-width:90vw;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}#notice.show{opacity:1}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #96bbff;outline-offset:3px}.error-box{margin:20px;padding:20px;border:1px solid #b73753;background:#fff7fa;border-radius:10px;color:#942243;font-size:13px}
@media(max-width:1050px){.brand-note{display:none}.mission{grid-template-columns:220px 1fr}.mission button{grid-column:1/-1;justify-self:end}.workspace{grid-template-columns:minmax(0,1fr) 260px}.controls{padding:18px}.steps{gap:20px}.comparison-grid{grid-template-columns:1fr}.badge{max-width:50%}}
@media(max-width:700px){header{padding:16px;gap:12px}header img{width:170px}.course-link{display:none}header button{margin-left:auto}main{padding:0 15px}.lab-nav{flex-wrap:wrap;gap:5px;padding:15px 0}.lab-nav select{width:100%;max-width:none;min-width:0;padding:8px 0}.lab-nav #saved-state{font-size:10px}.intro{padding:22px 0}h1{font-size:31px}.intro>p:last-child{font-size:13px}.mission{display:block;padding:16px}.mission p{border:0;padding:10px 0;font-size:12px}.mission button{width:100%;margin-top:5px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.workspace{grid-template-columns:1fr}.controls{padding:20px}.panel-heading{padding:19px 17px 10px;align-items:flex-start;flex-direction:column}.badge{max-width:100%}.tabs{padding-left:10px;padding-right:10px}.tabs button{padding:7px;font-size:10px}#plot{height:310px;padding:0 4px}.metrics{grid-template-columns:1fr 1fr;padding:15px;gap:12px}.metrics div{padding:0}.metrics strong{font-size:23px}.comparison-grid>.panel{padding:20px}.insight{padding:18px;gap:12px}.next{display:block;padding:20px}.next .button{margin-top:14px;width:100%;text-align:center}.methodology{padding:18px}footer{flex-direction:column;gap:4px}.legend{padding:10px 16px}dialog{padding:23px}#chart-tools{padding:5px 15px}}
