:root{--lab-ink:#151713;--lab-paper:#f3f1e9;--lab-surface:#fffdf7;--lab-muted:#55594f;--lab-acid:#cfff47;--lab-accent:#3e5422;--lab-line:#c6c9bc;--lab-radius:10px;--lab-gap:1.25rem;--lab-size:16px;--lab-cell:.8rem;--lab-font:Inter,Arial,sans-serif;--lab-text:var(--lab-ink);--lab-background:var(--lab-paper);--lab-border:var(--lab-line);--lab-focus:var(--lab-accent);color-scheme:light;font-size:var(--lab-size);background:var(--lab-paper);color:var(--lab-ink)}
:root[data-theme=dark]{--lab-ink:#f5f5ec;--lab-paper:#161914;--lab-surface:#242a21;--lab-muted:#bdc6b5;--lab-accent:#d0ff62;--lab-line:#56624b;color-scheme:dark}
:root[data-theme=blue]{--lab-ink:#112743;--lab-paper:#eaf1f8;--lab-surface:#fcfdff;--lab-muted:#415c79;--lab-accent:#235580;--lab-line:#afc2d7}
:root[data-font=serif]{--lab-font:Georgia,serif}:root[data-font=mono]{--lab-font:Consolas,monospace}:root[data-scale=small]{--lab-size:14px}:root[data-scale=large]{--lab-size:18px}:root[data-spacing=compact]{--lab-gap:.65rem}:root[data-spacing=airy]{--lab-gap:2rem}:root[data-density=compact]{--lab-cell:.4rem}:root[data-radius=square]{--lab-radius:0}:root[data-radius=round]{--lab-radius:22px}
*{box-sizing:border-box}body{margin:0;background:var(--lab-paper);color:var(--lab-ink);font-family:var(--lab-font);line-height:1.55}button,input,select,textarea{font:inherit}a{color:var(--lab-accent);text-underline-offset:.2em}button,select,input,textarea{border:1px solid var(--lab-line);border-radius:var(--lab-radius);padding:.65rem .85rem;color:var(--lab-ink);background:var(--lab-surface)}button{cursor:pointer;min-height:44px;font-weight:650}button:hover{border-color:var(--lab-accent)}button:disabled{cursor:wait;opacity:.65}button.primary,.button.primary{background:var(--lab-acid);color:#171d0b;border-color:#718e2c}input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-height:44px}input[type=checkbox],input[type=radio]{accent-color:var(--lab-accent)}label{display:block;font-weight:650}label input,label select,label textarea{margin-top:.35rem}fieldset{border:1px solid var(--lab-line);border-radius:var(--lab-radius);min-width:0}legend{font-weight:700}h1,h2,h3{line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2.1rem,5vw,4.4rem);margin:.5rem 0 1rem}h2{font-size:clamp(1.5rem,3vw,2.4rem)}p{max-width:78ch}small,.muted{color:var(--lab-muted)}:focus-visible{outline:3px solid var(--lab-accent);outline-offset:4px}:root[data-focus=strong] :focus-visible{outline-width:5px;outline-offset:5px}.lab-skip{position:absolute;left:1rem;top:-6rem;padding:1rem;background:var(--lab-acid);color:#111;z-index:9999}.lab-skip:focus{top:1rem}.lab-header{display:flex;gap:var(--lab-gap);align-items:center;justify-content:space-between;padding:1.2rem max(1.25rem,calc((100vw - 1440px)/2));border-bottom:1px solid var(--lab-line);background:var(--lab-surface)}.lab-brand{font-size:1.3rem;font-weight:900;white-space:nowrap;text-decoration:none;color:var(--lab-ink)}.lab-header nav{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;font-size:.79rem}.lab-header nav a{padding:.35rem 0;text-decoration:none;color:var(--lab-muted)}.lab-header nav [aria-current]{color:var(--lab-ink);font-weight:800;border-bottom:3px solid var(--lab-accent)}main{max-width:1440px;margin:auto;padding:clamp(1.25rem,4vw,3.5rem)}.lab-footer{border-top:1px solid var(--lab-line);padding:2rem max(1.25rem,calc((100vw - 1360px)/2));font-size:.85rem}.lab-footer p{margin:.5rem 0}.eyebrow,.kicker{font:700 .75rem/1.5 Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--lab-accent)}.panel,.card,.evidence-panel{border:1px solid var(--lab-line);border-radius:var(--lab-radius);padding:var(--lab-gap);background:var(--lab-surface)}.grid{display:grid;gap:var(--lab-gap);grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.toolbar{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap;margin:1rem 0}.notice{padding:1rem;border-left:4px solid var(--lab-accent);background:var(--lab-surface)}.badge{display:inline-block;padding:.25rem .6rem;border:1px solid var(--lab-line);border-radius:50px;font-size:.75rem}.table-scroll{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;background:var(--lab-surface);color:var(--lab-ink)}th,td{padding:var(--lab-cell);border-bottom:1px solid var(--lab-line);text-align:left}th{font-size:.8rem}tr[aria-selected=true]{box-shadow:inset 5px 0 var(--lab-accent);background:color-mix(in srgb,var(--lab-acid) 13%,var(--lab-surface))}td button.record-select{font-size:.8rem;padding:.35rem .5rem;min-height:36px}.table-controls{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem}.table-controls details{position:relative}.table-controls summary{cursor:pointer;border:1px solid var(--lab-line);border-radius:var(--lab-radius);padding:.6rem}.table-controls .column-options{background:var(--lab-surface);border:1px solid var(--lab-line);padding:1rem;min-width:220px}.column-options label{font-size:.85rem;margin:.4rem 0}.dt-container{font-size:.9rem}.dt-container .dt-layout-row{gap:1rem;flex-wrap:wrap}.dt-container select,.dt-container input{background:var(--lab-surface)!important;color:var(--lab-ink)!important}.dt-container .dt-paging button{color:var(--lab-ink)!important}.dt-container table.dataTable tbody tr{background:var(--lab-surface)}.tutorial{max-width:1000px}.tutorial section{margin:2.5rem 0;border-top:1px solid var(--lab-line);padding-top:1.5rem}.tutorial pre,pre{padding:1rem;background:var(--lab-surface);border:1px solid var(--lab-line);border-radius:var(--lab-radius);overflow:auto;max-width:100%;font-size:.85rem}.tutorial dt{font-weight:800;margin-top:1rem}.tutorial dd{margin:.3rem 0 1rem}.tutorial code,code{font-family:Consolas,monospace}dialog{max-width:min(680px,95vw);color:var(--lab-ink);background:var(--lab-surface);border:2px solid var(--lab-accent);border-radius:var(--lab-radius)}dialog::backdrop{background:#101808aa}[hidden]{display:none!important}:root[data-navigation=side] .lab-header{position:fixed;inset:0 auto 0 0;width:220px;padding:1.2rem 1.25rem;align-items:start;justify-content:start;flex-direction:column;overflow:auto;z-index:5}:root[data-navigation=side] .lab-header nav{flex-direction:column;align-items:start}:root[data-navigation=side] body{padding-left:220px}:root[data-motion=reduced] *, :root[data-motion=reduced] *::before,:root[data-motion=reduced] *::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(max-width:900px){.lab-header{align-items:start;flex-direction:column}:root[data-navigation=side] .lab-header{position:static;width:auto}:root[data-navigation=side] .lab-header nav{flex-direction:row}:root[data-navigation=side] body{padding-left:0}}@media(max-width:600px){.lab-header nav{font-size:.72rem;gap:.4rem .8rem}main{padding:1rem}.toolbar>*{max-width:100%}th,td{padding:.5rem}}
.table-controls label{display:flex;flex-direction:column;gap:.25rem}.table-controls{align-items:end}
:root{--lab-control-line:#737e69}:root[data-theme=dark]{--lab-control-line:#97a88b}:root[data-theme=blue]{--lab-control-line:#627b96}input,select,textarea{border-color:var(--lab-control-line)}.dt-container input,.dt-container select{border-color:var(--lab-control-line)!important}
p code,li code,td code,dd code{overflow-wrap:anywhere}
