:root{color-scheme:light;--bg:#f0f4f8;--ink:#172e43;--muted:#526b7d;--line:#d7e1e9;--surface:#fff;--snr:#007e79;--time:#bc640f;--res:#5469c5;--accent:#183e5c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI','Hiragino Sans',sans-serif}header{background:#172f45;color:#fff;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:14px;align-items:center}.mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #70cebd;border-radius:10px;color:#a2edde;font-size:16px;font-weight:650}.brand strong{font-size:20px;font-weight:600;letter-spacing:.02em}.brand span:not(.mark){display:block;font-size:13px;color:#b7cddc}.edu{font-size:12px;color:#b7cddc;letter-spacing:.08em}main{max-width:1380px;margin:auto;padding:24px 30px 44px}h1{font-size:21px;margin:0;font-weight:650}h2{font-size:17px;margin:0;font-weight:600}p{margin:10px 0 0}button,input,select{font:inherit}button,select,summary,input[type=range]{cursor:pointer}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:9px 14px;font-size:14px;min-height:40px}button:hover{background:#e8f0f6}button:disabled{opacity:.55;cursor:default}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#235377}.quiet{background:transparent}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #398fca;outline-offset:3px}select{padding:8px 30px 8px 10px;border:1px solid #b8c9d6;border-radius:6px;background:white;color:var(--ink);max-width:100%;min-height:40px}.topbar{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:27px}.topbar label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.topactions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.sectionline{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.sectionline span{font-size:13px;color:var(--muted)}.dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:18px 22px;min-width:0}.metrichead{display:flex;justify-content:space-between;gap:8px;align-items:center}.metrichead span{font-size:12px;color:var(--muted)}.metricnum{display:flex;align-items:baseline;gap:6px;margin:10px 0 14px;font-variant-numeric:tabular-nums}.metricnum strong{font-size:37px;line-height:1.2;font-weight:600;letter-spacing:-.025em}.metricnum>span{font-size:14px;color:var(--muted)}.metricnum em{font-size:13px;font-style:normal;margin-left:auto}.meter{height:12px;background:#e5edf2;border-radius:3px;position:relative}.fill{height:100%;background:var(--snr);border-radius:3px;max-width:100%;transition:width .14s}.reference{position:absolute;top:-4px;height:20px;width:2px;background:var(--ink)}.time .fill{background:var(--time)}.res .fill{background:var(--res)}.scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px;gap:4px}.metric p{font-size:13px;color:var(--muted);margin-top:14px}.workspace{display:grid;grid-template-columns:minmax(360px,.93fr) minmax(0,1.3fr);gap:22px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.panelheading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.panelheading>span{font-size:13px;color:var(--muted)}.tabs{display:flex;background:#edf3f7;padding:4px;border-radius:8px;gap:3px;margin-bottom:4px}.tabs button{flex:1;font-size:13px;padding:7px 4px;background:transparent;border:0;min-width:0}.tabs button[aria-selected=true]{background:var(--accent);color:white;box-shadow:0 1px 3px #183e5c20}.field{padding:18px 0 14px;border-bottom:1px solid #e5ebf0}.field:last-child{border-bottom:0}.field-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-label{font-size:14px;font-weight:600}.field-label small{display:block;font-size:12px;color:var(--muted);font-weight:400}.numeric{display:flex;align-items:center;gap:5px;flex-shrink:0}.numeric input{width:95px;padding:6px 7px;border:1px solid #bdcdd9;border-radius:5px;color:var(--ink);background:#f8fbfd;font-variant-numeric:tabular-nums;text-align:right}.numeric small{font-size:12px;color:var(--muted);width:34px}.field input[type=range]{display:block;width:100%;accent-color:var(--snr);margin:14px 0 7px;height:20px}.bounds{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.field p{font-size:13px;line-height:1.65;color:var(--muted);margin:7px 0 0}.field.changed .numeric input{border-color:var(--snr);background:#eef9f6}.field.invalid input{border-color:#b93e35}.advanced{border-top:1px solid var(--line);padding-top:16px;margin-top:14px}.advanced summary{font-size:14px}.results{display:grid;gap:18px}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--muted);font-weight:600}.insight{background:#e6f3f1;border-color:#b9dcd4}.insight h2{margin-top:5px}.insight p{font-size:14px;line-height:1.8}.impact{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.impact span{font-size:13px;background:white;border-radius:4px;padding:4px 8px}.minor{font-size:13px;color:var(--muted);line-height:1.75}.tissue{margin:12px 0}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;margin:10px 0}.row strong{font-weight:600;font-variant-numeric:tabular-nums}.tissue .meter{height:8px}.tissue .reference{height:14px;top:-3px;background:#708b9e}.tissue .fill{background:#889db0}.tissue.gm .fill{background:var(--snr)}.contrastline{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:14px}.contrastline strong{margin-left:auto;font-size:20px}.contrastline small{color:var(--muted)}.facts{display:grid;grid-template-columns:1.6fr 1fr;gap:15px}.facts span,.facts small{display:block;font-size:12px;color:var(--muted)}.facts strong{display:block;font-size:19px;font-weight:500;margin:4px 0}.mini{height:8px}.mini .fill{background:var(--res)}#echo-section{margin-top:18px;border-top:1px solid var(--line);padding-top:5px}.sweep,.breakdown,.comparison{margin-top:22px}.sweep .panelheading label{font-size:13px;display:flex;align-items:center;gap:8px}.plotlegend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.key:before{content:'';display:inline-block;width:17px;height:3px;margin:0 6px 3px 0;background:var(--snr)}.timekey:before{background:var(--time)}.reskey:before{background:var(--res)}#plot svg{display:block;width:100%;height:auto;margin-top:12px}.lesson{display:grid;grid-template-columns:1fr auto;gap:16px;background:#e5edf9;border:1px solid #bccfe9;padding:20px 24px;border-radius:12px;margin-bottom:24px}.lesson[hidden]{display:none}.lesson h2{margin:3px 0}.lesson p{font-size:14px}.answers{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.answers button[aria-pressed=true]{background:var(--accent);color:white}.lesson #feedback{font-size:14px;grid-column:1/-1}.lesson .primary{justify-self:start}details>summary{font-size:15px;font-weight:500}#factors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.factor{background:#f0f5f8;padding:12px;border-radius:6px;font-size:13px}.factor strong{display:block;font-size:23px;font-weight:500}.factor small{color:var(--muted)}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;margin-top:16px}td,th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500}td:nth-child(n+2){font-variant-numeric:tabular-nums}tr.changed td:last-child{color:var(--snr);font-weight:600}.warnings{color:#85500b;font-size:13px;line-height:1.8;margin-top:20px}.warning{padding:8px 13px;background:#fff4df;border-left:3px solid #d59d43;margin:7px 0}.error{padding:13px 17px;background:#ffe9e6;border:1px solid #db9a91;border-radius:8px;margin-bottom:20px;font-size:14px}footer{display:flex;gap:14px;flex-wrap:wrap;padding:24px 0 10px;color:var(--muted);font-size:12px}footer strong{font-weight:600}.method{color:var(--muted);font-size:13px}.method p{max-width:1050px;line-height:1.9}a{color:#006e9c}input:disabled{opacity:.6;cursor:not-allowed}[hidden]{display:none!important}@media(min-width:1150px){.controls{position:sticky;top:16px}}@media(max-width:820px){.workspace{grid-template-columns:1fr}.dashboard{gap:10px}.metric{padding:16px}.metricnum strong{font-size:29px}.metrichead{align-items:start;flex-direction:column}.results{grid-template-columns:1fr 1fr}.insight{grid-column:1/-1}.topactions{margin-left:0}.facts{grid-template-columns:1fr}}@media(max-width:670px){header{padding:16px}.edu{display:none}main{padding:18px 14px}.topbar{gap:12px}.topbar>div:not(.topactions){flex:1;min-width:140px}.topbar select{width:100%;font-size:14px}.dashboard{grid-template-columns:1fr}.metrichead{flex-direction:row}.metricnum strong{font-size:33px}.metric{padding:16px 20px}.metric p{margin-top:8px}.results{grid-template-columns:1fr}.panel{padding:18px}.sweep .panelheading{flex-wrap:wrap}.lesson{grid-template-columns:1fr;padding:18px}.lesson #feedback{grid-column:auto}.panelheading h2{font-size:16px}.field-top{gap:5px}.numeric input{width:80px}.tabs button{font-size:12px}#factors{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr 1fr}.metricnum em{font-size:14px}}@media(prefers-reduced-motion:reduce){.fill{transition:none}}
/* Console workspace: numeric editing stays primary; learning remains alongside. */
:root{color-scheme:dark;--bg:#151b21;--ink:#e7edf2;--muted:#a8b9c8;--line:#3a4753;--surface:#222c35;--snr:#82c9e8;--time:#e5ae6c;--res:#b3a8ed;--accent:#364d62}body{font-size:15px;line-height:1.5}header{padding:12px 22px;background:#1b232b;border-bottom:1px solid var(--line)}.brand{gap:10px}.mark{width:34px;height:34px;border-color:#859bac;color:#d7e4ed;border-radius:4px;font-size:14px}.brand strong{font-size:17px}.brand span:not(.mark){font-size:11px;letter-spacing:.12em;color:var(--muted)}.edu{color:var(--muted);font-size:12px;letter-spacing:0}main{max-width:1520px;padding:18px 22px 30px}h1{font-size:17px}h2{font-size:15px}.topbar{gap:14px;margin-bottom:18px}.topbar label{font-size:12px}.topactions{gap:7px}button,select{background:#293641;color:var(--ink);border:1px solid #536473;border-radius:4px;min-height:34px;padding:6px 10px;font-size:14px}button:hover{background:#354654}select{padding-right:28px}.primary{background:#526c84;border-color:#68869d;color:white}.primary:hover{background:#68839a}.quiet{background:transparent}.sectionline{margin-bottom:9px}.sectionline span{font-size:12px}.dashboard{gap:1px;border:1px solid var(--line);background:var(--line);border-radius:5px;overflow:hidden;margin-bottom:16px}.metric{border:0;border-radius:0;background:#222d37;padding:12px 18px}.metrichead{flex-direction:row;align-items:center}.metrichead h2{font-size:14px}.metrichead span{font-size:11px}.metricnum{margin:7px 0 12px}.metricnum strong{font-size:29px;font-weight:500}.metricnum em{font-size:12px}.metric p{display:none}.meter{height:8px;background:#3a4652;border-radius:2px}.fill{border-radius:2px}.reference{height:14px;top:-3px;background:#e8eef4}.scale{font-size:11px;margin-top:5px}.workspace{grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:16px}.leftstack{display:grid;gap:14px;min-width:0}.panel{background:var(--surface);border-color:var(--line);padding:16px;border-radius:5px}.controls{position:static;padding:0;overflow:hidden}.controls>.panelheading{padding:13px 16px;margin:0;background:#26323c}.panelheading{margin-bottom:13px}.panelheading>span{font-size:12px}.tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:0;gap:0;background:#1c252d}.tabs button{border-radius:0;border-right:1px solid var(--line);padding:10px 5px;min-height:42px;font-size:13px;color:var(--muted)}.tabs button:last-child{border-right:0}.tabs button[aria-selected=true]{background:#344657;color:#f0f5f8;box-shadow:inset 0 -2px #bfd4e3}#params,#advanced-params{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;padding:8px 16px 14px;align-content:start}#params{min-height:284px}.field{padding:15px 0 12px;border-bottom:1px solid #37434e;min-width:0}.field-top{display:block}.field-label{display:block;font-size:14px;font-weight:400;margin-bottom:8px}.field-label small{font-size:11px;margin-top:2px}.numeric{gap:0;flex-shrink:1}.numeric input{width:100%;min-width:0;border-radius:0;padding:5px 8px;border-color:#596c7c;background:#18232d;color:var(--ink);font-size:16px;height:34px;appearance:textfield}.numeric input::-webkit-inner-spin-button,.numeric input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.numeric .stepper{flex:0 0 29px;min-height:34px;height:34px;padding:0;border-color:#596c7c;border-radius:3px 0 0 3px;background:#344553;font-size:16px}.numeric .stepper[data-direction="1"]{border-radius:0 3px 3px 0}.numeric .stepper:hover{background:#496071}.numeric small{width:42px;flex-shrink:0;padding-left:7px;font-size:11px}.numeric select{width:100%;min-width:0}.field.changed .numeric input{border-color:#82c9e8;background:#203646}.field input[type=range],.field .bounds{display:none}.field p{display:none}.advanced{padding:11px 16px;margin:0;border-top:1px solid var(--line);background:#202a33}.advanced summary{font-size:13px;color:var(--muted)}#advanced-params{padding:5px 0 0}.results{grid-template-columns:1fr;gap:14px}.insight{grid-column:auto;background:#26343f;border-color:#465b6b;padding:15px 17px}.insight h2{font-size:15px}.insight p{font-size:13px;margin-top:7px}.eyebrow{font-size:10px;letter-spacing:.1em;color:#a8bfce}.impact{gap:6px;margin-top:10px}.impact span{font-size:12px;background:#18242d;border:1px solid #445767;border-radius:3px;padding:3px 7px}.minor{font-size:12px}.tissue{margin:11px 0}.tissue .fill{background:#93a7b8}.tissue .reference{background:#e7edf2}.tissue .meter{height:6px}.row{font-size:13px;margin:8px 0}.row strong{font-weight:500}.contrastline{font-size:13px;gap:7px;margin-top:14px;padding-top:12px}.contrastline strong{font-size:18px}.facts{grid-template-columns:1fr;gap:10px}.facts strong{font-size:18px}.facts small,.facts span{font-size:11px}#echo-section{margin-top:12px;padding-top:7px}.sweep,.breakdown,.comparison{margin-top:14px}.sweep summary{font-size:14px}.sweep-content{padding-top:16px}.plotlegend{font-size:12px}.factor{background:#2c3a46;border:1px solid #455867}.tablewrap{color:var(--ink)}td,th{font-size:13px}.lesson{background:#273646;border-color:#496278;padding:16px 20px;border-radius:5px;margin-bottom:16px}.answers button[aria-pressed=true]{background:#526c84}.warning{background:#3b3021;color:#f0cb93}.error{background:#412c2a;border-color:#95625b;color:#f5d1cd}a{color:#99d8ee}.method{font-size:12px}footer{font-size:12px;padding:18px 0 10px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#baddeb}#plot svg{min-height:220px}
@media(min-width:1320px){.field-top{display:flex}.field-label{margin:0;flex:1}.numeric{width:175px;flex-shrink:0}#params{min-height:285px}.field{padding:22px 0}.field-label small{font-size:12px}}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1.6fr) minmax(255px,1fr)}#params,#advanced-params{gap:0 16px;padding-left:13px;padding-right:13px}.tabs button{font-size:12px}.field-label{font-size:13px}.panel{padding:13px}.controls{padding:0}.metrichead span{display:none}.topactions{margin-left:0}.metricnum strong{font-size:27px}.metricnum em{font-size:11px}.results .row{flex-wrap:wrap}}
@media(max-width:730px){header{padding:12px 14px}main{padding:14px 12px 25px}.workspace{grid-template-columns:1fr}.results{grid-template-columns:1fr 1fr}.dashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.metric{padding:10px}.metricnum{flex-wrap:wrap;gap:4px}.metricnum strong{font-size:24px}.metricnum>span{font-size:11px}.metricnum em{flex-basis:100%;margin:0}.scale>span:nth-child(2){display:none}.metrichead h2{font-size:12px}.topbar{gap:10px}.topbar select{font-size:13px}.topbar>div:not(.topactions){min-width:135px}.topactions button{font-size:12px}.edu{display:none}.facts{grid-template-columns:1fr}.sectionline h1{font-size:16px}.lesson{grid-template-columns:1fr}.insight{grid-column:auto}}
@media(max-width:480px){.results{grid-template-columns:1fr}.tabs button{font-size:12px;padding:8px 3px}.numeric small{width:34px;font-size:10px;padding-left:4px}.numeric .stepper{flex-basis:23px}.numeric input{padding:5px;font-size:16px}.field-label{font-size:12px}.field-label small{font-size:10px}#params,#advanced-params{gap:0 10px}.scale{font-size:10px}.metricnum strong{font-size:22px}.metricnum>span{font-size:10px}.metricnum em{font-size:10px}.metrichead h2{font-size:11px}.panelheading h2{font-size:14px}}
