.lab-shell{max-width:960px;margin:0 auto;padding:108px var(--pad-lg) 96px}.lab-nav{display:flex;align-items:center;gap:18px;margin-bottom:26px;padding-bottom:12px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;overflow-x:auto;scrollbar-width:none}.lab-nav::-webkit-scrollbar{display:none}.lab-nav ul{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}.lab-nav li{flex:none}.lab-nav a{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;color:var(--ink-mute);padding-bottom:3px;border-bottom:1px solid transparent;transition:color .14s,border-color .14s}.lab-nav a:hover{color:var(--ink)}.lab-nav a.is-active{color:var(--accent);border-bottom-color:var(--accent)}.lab-nav a.is-active .lab-nav-seq{color:var(--accent)}.lab-nav-seq{font-size:9px;color:var(--ink-mute);opacity:.7}.lab-nav-all{flex:none;padding-right:18px;border-right:1px solid var(--line)}.lab-nav-all.is-active{color:var(--accent)}.lab-nav-mcp{flex:none;padding-right:18px;border-right:1px solid var(--line)}.lab-nav-mcp.is-active{color:var(--accent)}@media (max-width:620px){.lab-nav,.lab-nav ul{gap:14px}}.lab-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);display:flex;align-items:center;gap:10px}.lab-eyebrow:before{content:"";width:18px;height:1px;background:var(--accent)}.lab-title{font-family:var(--font-display);font-size:clamp(30px,3.4vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1.02;margin:12px 0 10px}.lab-lede{color:var(--ink-dim);font-size:15px;line-height:1.6;max-width:66ch;margin:0 0 26px}.lab-panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr)}@media (max-width:760px){.lab-panel{grid-template-columns:1fr}}.lab-inputs{padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px;align-content:start}@media (max-width:760px){.lab-inputs{border-right:none;border-bottom:1px solid var(--line)}}.lab-inputs-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lab-inputs-label{letter-spacing:.18em;color:var(--ink-mute)}.lab-example,.lab-inputs-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase}.lab-example{background:none;padding:0;letter-spacing:.1em;color:var(--accent);cursor:pointer;border:none;border-bottom:1px solid transparent;transition:border-color .14s,color .14s}.lab-example:hover{border-bottom-color:var(--accent)}.lab-example.is-clear{color:var(--ink-mute)}.lab-example.is-clear:hover{color:var(--ink-dim);border-bottom-color:var(--line-bright)}.lab-readout{position:relative;min-height:296px;padding:20px 24px 24px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 /100% 32px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 /32px 100%,var(--bg-elev2)}.lab-datagrid{border-collapse:collapse;width:100%}.lab-datagrid th{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);text-align:left;font-weight:400;padding:0 8px 6px 0;white-space:nowrap}.lab-unit-print{display:none}.lab-opt{margin-left:5px;padding:1px 4px;border:1px solid var(--line);border-radius:2px;font-size:8px;letter-spacing:.06em;color:var(--ink-mute);vertical-align:middle}.lab-datagrid td{padding:2px 6px 2px 0}.lab-datagrid input,.lab-field input,.lab-trial input,.lab-trial select{width:100%;background:var(--bg);border:1px solid var(--line-bright);border-radius:var(--radius);color:var(--ink);font-family:var(--font-mono);font-size:13px;padding:7px 8px;transition:border-color .14s,background .14s}.lab-datagrid input::placeholder,.lab-field input::placeholder,.lab-trial input::placeholder{color:var(--ink-mute);opacity:.55;font-size:11px;letter-spacing:.04em}.lab-datagrid input:hover,.lab-field input:hover,.lab-trial input:hover,.lab-trial select:hover{background:var(--bg-elev)}.lab-datagrid input:focus,.lab-field input:focus,.lab-trial input:focus,.lab-trial select:focus{outline:none;border-color:var(--accent);background:var(--bg-elev)}.lab-datagrid input::-webkit-inner-spin-button,.lab-datagrid input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.lab-rowbtn{background:none;border:1px solid transparent;border-radius:var(--radius);color:var(--ink-mute);width:26px;height:30px;cursor:pointer;font-size:15px;line-height:1;opacity:.35;transition:color .14s,border-color .14s,opacity .14s}.lab-datagrid tr:focus-within .lab-rowbtn,.lab-datagrid tr:hover .lab-rowbtn,.lab-trial:focus-within .lab-rowbtn,.lab-trial:hover .lab-rowbtn{opacity:1;border-color:var(--line)}.lab-rowbtn:hover{color:var(--err);border-color:var(--err);opacity:1}.lab-rowbtn:focus-visible{opacity:1;outline:1px solid var(--accent)}.lab-addrow{align-self:flex-start;background:none;border:1px dashed var(--line-bright);border-radius:var(--radius);color:var(--ink-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;cursor:pointer;transition:color .14s,border-color .14s}.lab-addrow:hover{color:var(--accent);border-color:var(--accent)}.lab-trial{display:flex;align-items:center;gap:8px;border:0;padding:0;margin:0}.lab-trial input,.lab-trial select{min-width:0;flex:1 1 auto}.lab-passfail{display:inline-flex}.lab-passfail button{padding:4px 10px;border:1px solid var(--line);background:none;cursor:pointer;font:inherit}.lab-passfail button:first-child{border-radius:4px 0 0 4px}.lab-passfail button:last-child{border-radius:0 4px 4px 0;border-left:0}.lab-passfail button.is-active{background:var(--ink);color:var(--bg)}.lab-ctx{flex-direction:column;padding-bottom:16px;border-bottom:1px solid var(--line)}.lab-ctx,.lab-ctx-temps{display:flex;gap:12px}.lab-ctx-temps .lab-field{flex:1 1;min-width:0}.lab-consent-note{margin:0;font-size:11.5px;line-height:1.5;color:var(--ink-mute)}.lab-field{display:flex;flex-direction:column;gap:6px}.lab-field-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.lab-chart{width:100%;height:auto;display:block}.lab-chart .axis{stroke:var(--line-bright);stroke-width:1}.lab-chart .tick{fill:var(--ink-mute)}.lab-chart .axis-label,.lab-chart .tick{font-family:var(--font-mono);font-size:9px}.lab-chart .axis-label{fill:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase}.lab-chart .trace{fill:none;stroke:var(--accent);stroke-width:2}.lab-chart .pt{fill:var(--bg-elev2);stroke:var(--accent);stroke-width:1.5}.lab-chart .band{fill:var(--accent);opacity:.1}.lab-chart .marker{stroke:var(--ok);stroke-width:1;stroke-dasharray:3 3}.lab-chart .bar{fill:var(--accent)}.lab-chart .bar-lo{fill:var(--line-bright)}.lab-chart .bar.is-high{fill:var(--warn)}.lab-chart .limit{stroke:var(--err);stroke-width:1;stroke-dasharray:4 3}.lab-chart .dist{fill:var(--accent);opacity:.14;stroke:var(--accent);stroke-width:1.5}.lab-chart .dot{fill:var(--accent);stroke:var(--accent)}.lab-chart .dot.is-hollow{fill:none;stroke:currentColor;stroke-width:1.5}.lab-chart .dot.is-high{fill:var(--ok);stroke:var(--ok)}.lab-empty{flex:1 1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink-mute);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;border:1px dashed var(--line);border-radius:var(--radius);padding:40px 24px}.lab-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.lab-metric{background:var(--bg-elev);padding:12px 14px}.lab-metric dt{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:5px}.lab-metric dd{margin:0;font-family:var(--font-mono);font-size:19px;color:var(--ink);letter-spacing:-.01em}.lab-metric.key dd{color:var(--accent)}.lab-warnings{border-left:3px solid var(--warn);padding:10px 14px;background:color-mix(in srgb,var(--warn) 8%,transparent);border-radius:0 4px 4px 0}.lab-warnings-head{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:6px}.lab-warnings ul{margin:0;padding-left:18px;gap:4px;font-size:14px;line-height:1.45}.lab-interp,.lab-warnings ul{display:flex;flex-direction:column}.lab-interp{gap:8px}.lab-interp-summary{margin:0;font-size:14px;font-weight:500;color:var(--ink)}.lab-interp-details{margin:0;font-size:13px;line-height:1.6;color:var(--ink-dim)}.lab-interp ul{margin:4px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:4px}.lab-interp li{font-size:13px;line-height:1.5;color:var(--ink-dim)}.lab-interp li::marker{color:var(--accent)}.lab-verdict{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:var(--radius);border:1px solid;align-self:flex-start}.lab-verdict:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.lab-verdict.ok{color:var(--ok)}.lab-verdict.warn{color:var(--warn)}.lab-verdict.bad{color:var(--err)}.lab-consent{margin-top:2px;padding:14px 16px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:10px}.lab-consent label{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--ink-dim);cursor:pointer}.lab-consent input[type=checkbox]{margin-top:2px;accent-color:var(--accent);flex-shrink:0}.lab-consent a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.lab-consent-actions{display:flex;gap:10px;align-items:center;padding-left:24px}.lab-consent-actions input[type=email]{flex:1 1;background:var(--bg);border:1px solid var(--line-bright);border-radius:var(--radius);color:var(--ink);font-family:var(--font-mono);font-size:12px;padding:7px 10px}.lab-btn{background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:8px 16px;cursor:pointer;transition:opacity .14s}.lab-btn:hover{opacity:.88}.lab-btn:disabled{opacity:.5;cursor:default}.lab-print{background:none;color:var(--ink-dim);border:1px solid var(--line-bright)}.lab-print:hover{color:var(--accent);border-color:var(--accent);opacity:1}.lab-grid{list-style:none;padding:0;margin:0;display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.lab-card{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);height:100%;transition:border-color .16s,transform .16s}.lab-card:hover{border-color:var(--accent);transform:translateY(-2px)}.lab-card-name{font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.01em}.lab-card-blurb{color:var(--ink-dim);font-size:13.5px;line-height:1.5}.lab-card-tag{margin-top:auto;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.lab-connect{margin-top:28px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;background:var(--bg-elev);border:1px solid var(--line);border-left:2px solid var(--accent)}.lab-connect-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.lab-connect-body{margin:0;font-size:15px;line-height:1.6;color:var(--ink-dim)}.lab-changelog{margin-top:28px;font-size:15px}.lab-changelog summary{cursor:pointer;font-weight:600}.lab-changelog ul{margin-top:8px;padding-left:20px;line-height:1.55}.lab-changelog li{margin-bottom:8px}.lab-proc{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}.lab-proc-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}.lab-proc-purpose{margin:0 0 28px;font-size:15px;line-height:1.7;color:var(--ink-dim);max-width:68ch}.lab-proc-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:40px;gap:40px}@media (max-width:760px){.lab-proc-cols{grid-template-columns:1fr;gap:28px}}.lab-proc-h{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 14px}.lab-proc-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;counter-reset:none}.lab-proc-steps li{display:grid;grid-template-columns:28px 1fr;grid-gap:12px;gap:12px;font-size:14px;line-height:1.6;color:var(--ink)}.lab-proc-num{font-family:var(--font-mono);font-size:12px;color:var(--accent);padding-top:2px}.lab-proc-side{gap:28px}.lab-proc-list,.lab-proc-side{display:flex;flex-direction:column}.lab-proc-list{list-style:none;padding:0;margin:0;gap:9px}.lab-proc-list li{position:relative;padding-left:18px;font-size:13px;line-height:1.5;color:var(--ink-dim)}.lab-proc-list li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:var(--line-bright);border-radius:50%}.lab-proc-list.check li:before{content:"✓";top:0;width:auto;height:auto;background:none;color:var(--ok);font-size:11px;font-weight:700}.lab-print-header{display:none}.lab-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.lab-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lab-actions-note{margin:0}.lab-actions-note,.lab-actions-sharenote{font-size:12px;color:var(--ink-mute)}.lab-actions-fallback{width:100%;font-size:12px}.lab-illustrative{margin:0 0 8px;font-size:12px;color:var(--ink-mute);border-left:2px solid var(--line);padding-left:8px}@media print{:root,html[data-palette]{--bg:#fff;--bg-elev:#fff;--bg-elev2:#fff;--ink:#000;--ink-dim:#333;--ink-mute:#444;--line:#bbb;--line-bright:#888;--accent:#000;--ok:#000;--err:#444;--warn:#000}body{background:#fff}.lab-illustrative,body{color:#000}.lab-shell{padding:24px;max-width:none}.lab-actions,.lab-addrow,.lab-consent,.lab-example,.lab-eyebrow:before,.lab-nav,.lab-print,.lab-rowbtn,.skip-link,footer,nav.nav{display:none!important}.lab-print-header{display:flex;justify-content:space-between;font-size:10pt;border-bottom:1px solid var(--line);padding-bottom:6pt;margin-bottom:12pt}.lab-panel{display:block}.lab-datagrid input,.lab-field input{border:none;padding:0;background:none}.lab-field input::-webkit-inner-spin-button,.lab-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.lab-shell,.lab-shell *,.lab-shell :after,.lab-shell :before{transition:none!important;animation:none!important}.lab-chart{print-color-adjust:exact;-webkit-print-color-adjust:exact}.lab-chart,.lab-illustrative{page-break-inside:avoid;break-inside:avoid}.lab-illustrative{font-weight:600}.lab-readout{page-break-inside:avoid;break-inside:avoid}.lab-unit-print{display:inline;text-transform:none;letter-spacing:.04em}.lab-datagrid td:last-child,.lab-datagrid th:last-child,.lab-opt{display:none}.lab-datagrid thead{display:table-header-group}.lab-datagrid tr{page-break-inside:avoid;break-inside:avoid}.lab-datagrid input{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lab-datagrid th{color:#000;text-align:right}a[href]:after{content:none}}@page{margin:14mm}.lab-code{font-family:var(--font-mono);font-size:13px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;white-space:pre}.lab-toollist>div{margin-bottom:14px}.lab-toollist dt{margin-bottom:4px}.lab-toollist dd{margin:0;font-size:15px;line-height:1.5;color:var(--ink-dim)}@layer components{.lab-teach{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:20px 0}.lab-teach-req{margin:0;font-size:14px;line-height:1.45;color:var(--ink)}.lab-teach-hint,.lab-teach-hints-static{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--ink-mute)}.lab-teach-hints-static{padding-left:16px}.lab-teach-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.lab-teach-load{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:none;border-radius:var(--radius);padding:9px 16px;cursor:pointer}.lab-teach-load:hover{filter:brightness(1.08)}.lab-progress{flex:1 1;display:flex;flex-direction:column;gap:12px}.lab-progress-note{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--ink-dim)}.lab-evidence{margin:0;padding-top:14px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:14px 24px;gap:14px 24px}.lab-evidence-title{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px}.lab-evidence-row{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:2px 0;font-family:var(--font-mono);font-size:11.5px}.lab-evidence-row span:first-child{color:var(--ink-mute)}.lab-evidence-row span:last-child{color:var(--ink)}.lab-evidence-row.is-flag span:last-child{color:var(--warn)}.lab-evidence-row.is-key span:last-child{color:var(--accent)}.lab-evidence-note,.lab-evidence-row.is-muted span:last-child{color:var(--ink-mute)}.lab-evidence-note{margin:0;font-size:11.5px;line-height:1.6}@media print{.lab-teach-load{display:none!important}.lab-evidence{page-break-inside:avoid;break-inside:avoid}}}