.tstage{--paper:#181818;--ink:#fafafa;--inverse:#181818;--muted:#a4a4a4;--line:#4a4a4a;--soft:#282828;z-index:1;color:var(--ink);background:var(--paper);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;position:relative}.tstage-stage{width:min(1240px,100%);padding:clamp(40px, 6vh, 80px) var(--lab-inset,var(--gutter));flex-direction:column;justify-content:center;gap:clamp(18px,2.6vh,32px);margin-inline:auto;display:flex}@media (min-width:900px) and (min-height:760px){.tstage:not(.tstage--drawer,[data-reduced]){min-height:150svh}.tstage:not([data-reduced]) .tstage-stage{min-height:100svh;position:sticky;top:0}}.tstage-head{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:12px 64px;display:grid}.tstage-head h2{letter-spacing:-.065em;font-size:clamp(28px,3.2vw,46px);line-height:1.08}.tstage-intro{max-width:460px;color:var(--muted);font-size:12px;line-height:1.8}.tstage-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);align-items:stretch;gap:clamp(20px,3vw,44px);display:grid}.tstage-terminal{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 3%, var(--paper));flex-direction:column;min-width:0;display:flex;position:relative}.tstage-terminal:before,.tstage-terminal:after{content:"";border:0 solid var(--ink);pointer-events:none;width:9px;height:9px;position:absolute}.tstage-terminal:before{border-top-width:1px;border-left-width:1px;top:-5px;left:-5px}.tstage-terminal:after{border-bottom-width:1px;border-right-width:1px;bottom:-5px;right:-5px}.tstage-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;font-size:9px;display:flex}.tstage-bar>span{white-space:nowrap}.tstage-bar>span>span{color:var(--muted);margin-right:9px}.tstage-bar>div{align-items:center;gap:16px;display:flex}.tstage-bar button,.tstage-demo{min-height:30px;color:var(--muted);font-size:9px}.tstage-demo{align-items:center;gap:8px;display:inline-flex}.tstage-demo:before{content:"";background:var(--ink);width:6px;height:6px}.tstage-screen{overscroll-behavior:contain;scrollbar-color:var(--line) transparent;flex:auto;height:clamp(200px,40svh,400px);min-height:0;padding:20px 22px;font-size:12px;overflow:auto}.tstage-screen:focus-visible{outline:1px solid var(--muted);outline-offset:-4px}.tstage-welcome{margin-bottom:20px;font-size:11px}.tstage-welcome p+p{color:var(--muted);margin-top:4px}.tstage-entry+.tstage-entry{margin-top:18px}.tstage-entry[data-demo=true] .tstage-echo:after{content:" · demo";color:var(--muted);font-size:9px}.tstage-echo{overflow-wrap:anywhere}.tstage-echo>span:first-child{color:var(--muted)}.tstage-output{border-left:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;color:color-mix(in srgb, var(--ink) 86%, var(--paper));margin-block:9px 2px;padding-left:14px;font-size:11px;line-height:1.85}.tstage-output[data-verdict=deny]{border-left:2px solid var(--ink);color:var(--ink);font-weight:500}.tstage-cursor{animation:1s step-end infinite tstage-blink}@keyframes tstage-blink{50%{opacity:0}}.tstage-input{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px 10px 20px;display:flex}.tstage-input>span{color:var(--muted)}.tstage-input input{width:100%;min-width:0;color:var(--ink);font:inherit;caret-color:var(--ink);background:0 0;border:0;outline:none;font-size:12px}.tstage-input input::placeholder{color:var(--muted)}.tstage-suggest{max-width:52%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:11px;overflow:hidden}.tstage-suggest kbd{border:1px solid var(--line);font:inherit;margin-right:6px;padding:1px 5px;font-size:10px}.tstage-input:focus-within{box-shadow:inset 3px 0 var(--ink)}.tstage-input button{border:1px solid var(--line);min-width:36px;min-height:36px}.tstage-keys{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 18px;padding:8px 20px;display:flex}.tstage-keys button{min-height:32px;font-size:10px}.tstage-keys button>span{color:var(--muted);margin-right:4px}.tstage-keys-history{gap:6px;margin-left:auto;display:inline-flex}.tstage-keys-history button{border:1px solid var(--line);min-width:32px}.tstage-terminal button:hover:not(:disabled),.tstage-audit button:hover:not(:disabled){color:var(--ink);text-underline-offset:4px;text-decoration:underline}.tstage-terminal button:focus-visible,.tstage-audit button:focus-visible,.tstage-audit-scroll:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.tstage-term-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 18px;padding:2px 12px 6px 20px;display:flex}.tstage-note{color:var(--muted);font-size:8px;line-height:1.7}.tstage-install{min-height:30px;color:var(--muted);text-align:left;align-items:center;gap:8px;font-size:9px;display:inline-flex}.tstage-install code{color:color-mix(in srgb, var(--ink) 78%, var(--paper));font-size:10px}.tstage-install:hover code{color:var(--ink)}.tstage-side{flex-direction:column;gap:18px;min-width:0;display:flex}.tstage-figure{flex-direction:column;flex:1.6 1 0;gap:10px;min-width:0;margin:0;display:flex}.tstage-fig{color:var(--muted);letter-spacing:.04em;font-size:9px}.tstage-figure-frame{flex:1 1 0;min-height:300px;position:relative}.tstage-figure-frame .tstage-figure-svg{height:100%;position:absolute;inset:0}.tstage-figure-svg{width:100%;color:var(--ink);font-family:var(--mono);display:block;overflow:visible}.tstage-reg{stroke:var(--muted);stroke-width:1px}.tstage-spine{stroke:var(--line);stroke-width:1px}.tstage-spine--blocked{stroke-dasharray:2 5}.tstage-trace{stroke:var(--ink);stroke-width:2px}.tstage-node rect{fill:var(--paper);stroke:var(--muted);stroke-width:1px;transition:fill .24s var(--ease), stroke .24s var(--ease)}.tstage-node[data-state=reached] rect{fill:var(--ink);stroke:var(--ink)}.tstage-node[data-state=reached][data-station=mask] rect[fill]{fill:url(#tstage-hatch)}.tstage-node[data-state=blocked] rect{fill:var(--paper);stroke:var(--ink);stroke-width:2px}.tstage-node[data-state=skipped]{opacity:.38}.tstage-node[data-state=skipped] rect{stroke-dasharray:2 3}.tstage-cross{stroke:var(--ink);stroke-width:1.6px}.tstage-node-index{fill:var(--ink);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px}.tstage-node[data-state=idle] .tstage-node-index{fill:var(--muted)}.tstage-node-status{fill:var(--muted);font-size:10.5px}.tstage-node[data-state=blocked] .tstage-node-status,.tstage-node[data-state=reached] .tstage-node-status,.tstage-pulse circle{fill:var(--ink)}.tstage-pulse .tstage-pulse-halo{fill:none;stroke:var(--ink);stroke-width:1px;opacity:.5}.tstage-readout{border-top:1px solid var(--line);gap:4px;padding:10px 0 0;font-size:10px;line-height:1.6;display:grid}.tstage-readout code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tstage-readout strong{letter-spacing:-.03em;font-size:clamp(14px,1.5vw,20px);font-weight:500}.tstage[data-verdict=deny] .tstage-readout strong{text-decoration:line-through;text-decoration-thickness:1px}.tstage-readout span:not(.sr-only){color:var(--muted)}.tstage-audit{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 3%, var(--paper));flex-direction:column;flex:1 1 0;min-height:160px;max-height:240px;font-size:10px;display:flex}.tstage-audit-head,.tstage-audit-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:6px 14px;font-size:9px;display:flex}.tstage-audit-head{border-bottom:1px solid var(--line)}.tstage-audit-head h3{letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:500}.tstage-audit-head span,.tstage-audit-foot span{color:var(--muted)}.tstage-audit-foot{border-top:1px solid var(--line)}.tstage-audit-body{flex:1 1 0;min-height:96px;position:relative}.tstage-audit-scroll{overscroll-behavior:contain;scrollbar-color:var(--line) transparent;position:absolute;inset:0;overflow:auto}.tstage-audit-scroll:focus-visible{outline-offset:-2px}.tstage-audit-table,.tstage-audit-table tbody{width:100%;display:block}.tstage-audit-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time verdict""sql sql""who masked";gap:3px 12px;padding:9px 14px;line-height:1.5;display:grid}.tstage-audit-table tr:last-child{border-bottom:0}.tstage-audit-table td{min-width:0;font-size:inherit;vertical-align:baseline;border:0;padding:0}.tstage-audit-time{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:time}.tstage-audit-who{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-area:who;overflow:hidden}.tstage-audit-sql{overflow-wrap:anywhere;grid-area:sql}.tstage-audit-verdict{text-align:right;white-space:nowrap;grid-area:verdict}.tstage-audit-masked{color:var(--muted);text-align:right;white-space:nowrap;grid-area:masked}.tstage-audit-key{opacity:.7;font-size:8px}.tstage-audit-table tr[data-verdict=deny] .tstage-audit-verdict{font-weight:600}.tstage-audit-table tr[data-verdict=deny] .tstage-audit-sql code{text-decoration:line-through;text-decoration-thickness:1px}.tstage-audit-table tr[data-verdict=mask] .tstage-audit-masked{color:var(--ink)}.tstage-audit-table tr[data-demo=true]{color:color-mix(in srgb, var(--ink) 70%, var(--paper))}.tstage-audit-tag{border:1px dashed var(--muted);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-left:8px;padding:0 5px;font-size:8px;font-style:normal}.tstage-audit-table tr[data-fresh]{animation:tstage-audit-in .9s var(--ease) both}@keyframes tstage-audit-in{0%{background:color-mix(in srgb, var(--ink) 14%, transparent)}}.tstage-audit-empty{color:var(--muted);padding:14px;line-height:1.7}.tstage-export{min-height:30px;font-size:10px}.tstage-export:disabled{opacity:.45}@media (max-width:899px){.tstage-head,.tstage-grid{grid-template-columns:minmax(0,1fr)}.tstage:not(.tstage--drawer) .tstage-side{display:contents}.tstage:not(.tstage--drawer) .tstage-figure{order:-1}.tstage-figure{flex:none;gap:8px}.tstage-audit{flex:none;min-height:0;max-height:none}.tstage-audit-body{flex:none;min-height:0;position:static}.tstage-audit-scroll{max-height:196px;position:static}.tstage-audit-table tr{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"time sql verdict""time who masked";gap:2px 10px;padding:7px 12px}.tstage-audit-sql{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tstage-figure-frame{aspect-ratio:360/92;flex:none;min-height:0}.tstage-readout{padding-top:8px}.tstage-screen{height:clamp(140px,20svh,220px);padding:16px}}@media (pointer:coarse){.tstage-input input{font-size:16px}.tstage-keys button{min-height:40px}.tstage-input button{min-width:44px;min-height:44px}.tstage-keys-history button{min-width:44px}}.tstage[data-reduced] .tstage-node rect{transition-duration:.12s}.tstage[data-reduced] .tstage-cursor{animation:none}.tstage[data-reduced] .tstage-audit-table tr[data-fresh]{animation-duration:.25s}
.tdrawer-launcher{z-index:9;left:var(--launcher-left,var(--lab-inset,var(--gutter)));bottom:calc(18px + var(--launcher-lift,0px));border:1px solid color-mix(in srgb, var(--ink) 28%, #181818);color:#fafafa;min-height:36px;font-family:var(--mono);letter-spacing:.02em;cursor:pointer;transition:transform .18s var(--ease), opacity .18s;background:#181818;align-items:center;gap:10px;padding:0 14px;font-size:12px;display:inline-flex;position:fixed}.tdrawer-launcher kbd{min-width:18px;height:18px;font:inherit;border:1px solid #727272;place-items:center;font-size:11px;display:inline-grid}.tdrawer-launcher:hover{transform:translateY(-1px)}.tdrawer-launcher:focus-visible{outline:1px dashed var(--ink);outline-offset:3px}.tdrawer-launcher[data-open]{opacity:0;pointer-events:none}.tmodal{z-index:80;visibility:hidden;pointer-events:none;width:min(880px,100vw - 24px);transition:visibility 0s linear .3s;position:fixed;top:12px;bottom:12px;right:12px}.tmodal[data-open]{visibility:visible;pointer-events:auto;transition-delay:0s}.tdrawer{--paper:#181818;--ink:#fafafa;--muted:#a4a4a4;--line:#4a4a4a;color:#fafafa;width:100%;height:100%;font-family:var(--mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#181818;border:1px solid #454545;flex-direction:column;transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;position:relative;transform:translate(calc(100% + 24px));box-shadow:-30px 0 80px -40px #0009,0 0 0 1px #00000059;container-type:inline-size}.tdrawer:focus{outline:none}.tmodal[data-open] .tdrawer{transform:none}.tmodal[data-reduced] .tdrawer{transition:transform .12s}.tdrawer-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:12px 14px 12px 20px;font-size:12px;display:flex}.tdrawer-head h2{letter-spacing:.02em;margin:0;font-size:12px;font-weight:500}.tdrawer-state{color:var(--muted);font-size:11px}.tdrawer-close{border:1px solid var(--line);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:10px;margin-left:auto;padding:0 10px;font-size:11px;display:inline-flex}.tdrawer-close kbd{font:inherit;color:var(--muted)}.tdrawer-close span{font-size:15px;line-height:1}.tdrawer-close:hover,.tdrawer-close:focus-visible{border-color:var(--ink);outline:none}.tdrawer-close:hover kbd,.tdrawer-close:focus-visible kbd{color:var(--ink)}.tdrawer-hint{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.02em;margin:0;padding:8px 20px;font-size:10px}.tdrawer .tstage--drawer{background:0 0;flex:auto;min-height:0;padding:18px 20px}.tdrawer .tstage-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.5fr);gap:18px;height:100%}.tdrawer .tstage-terminal{min-height:0}.tdrawer .tstage-screen{flex:1 1 0;height:auto;min-height:140px;font-size:13px}.tdrawer .tstage-input input{font-size:13px}.tdrawer .tstage-side{gap:16px;min-height:0}.tdrawer .tstage-tabs{display:none}.tdrawer .tstage-figure{flex:1.25 1 0;min-height:0}.tdrawer .tstage-figure-frame{min-height:200px}.tdrawer .tstage-audit-wrap{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.tdrawer .tstage-audit{min-height:150px;max-height:none}.tstage-tabs{border-bottom:1px solid var(--line);display:flex}.tstage-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:inline-flex}.tstage-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.tstage-tabs button:focus-visible{outline:1px solid var(--ink);outline-offset:-2px}.tstage-tab-count{color:var(--muted);font-size:11px}@container (max-width:700px){.tdrawer .tstage--drawer{overscroll-behavior:contain;overflow:auto}.tdrawer .tstage-grid{grid-template-columns:minmax(0,1fr);gap:16px;height:auto}.tdrawer .tstage-screen{flex:none;height:clamp(160px,34svh,320px)}.tdrawer .tstage-tabs{display:flex}.tdrawer .tstage-side[data-view=route] [data-view-panel=audit],.tdrawer .tstage-side[data-view=audit] [data-view-panel=route]{display:none}.tdrawer .tstage-figure,.tdrawer .tstage-audit-wrap{flex:none}.tdrawer .tstage-figure-frame{min-height:280px}}.tmodal[data-sheet]{top:max(10px, env(safe-area-inset-top));width:auto;bottom:0;left:0;right:0}.tmodal[data-sheet] .tdrawer{opacity:1;border-width:1px 0 0;width:100%;height:100%;transition:transform .3s cubic-bezier(.22,1,.36,1);transform:translateY(100%)}.tmodal[data-sheet][data-open] .tdrawer{transform:none}.tmodal[data-sheet][data-reduced] .tdrawer{opacity:0;transition:opacity .15s;transform:none}.tmodal[data-sheet][data-reduced][data-open] .tdrawer{opacity:1}.tmodal[data-sheet] .tdrawer-head{padding:4px 10px 10px 16px}.tmodal[data-sheet] .tdrawer-state{display:none}.tmodal[data-sheet] .tstage--drawer{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}.tmodal[data-sheet] .tdrawer-hint{display:none}.tdrawer-grabber{touch-action:none;cursor:grab;place-items:center;height:22px;display:grid}.tdrawer-grabber span{background:#727272;width:44px;height:4px}@media (max-width:720px){.tdrawer-launcher{left:12px}}.lab-session-intro{padding:clamp(72px, 12vh, 140px) var(--lab-inset,var(--gutter))}.lab-session-intro .lab-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px 64px;display:grid}.lab-session-intro h2{letter-spacing:-.06em;margin:0;font-size:clamp(30px,3.6vw,52px);font-weight:500;line-height:1.08}.lab-session-intro p{max-width:44ch;color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.8}.lab-session-cta{border:1px solid var(--ink);background:var(--ink);min-height:40px;color:var(--paper);font-family:var(--mono);cursor:pointer;align-items:center;gap:12px;margin-top:26px;padding:0 16px;font-size:12px;display:inline-flex}.lab-session-cta:focus-visible{outline:1px dashed var(--ink);outline-offset:3px}.tsession-preview{border:1px solid var(--line);font-family:var(--mono);background:var(--paper);padding:16px 18px;font-size:12px}.tsession-preview h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:500}.tsession-rows{margin:0;padding:0;list-style:none}.tsession-rows li{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.tsession-rows li span{color:var(--muted)}.tsession-rows li[data-verdict=deny] code{text-decoration:line-through}.tsession-empty{color:var(--muted);margin:0}@media (max-width:900px){.lab-session-intro .lab-content{grid-template-columns:minmax(0,1fr)}}
