/* Additional cases: visible editorial grid, restrained dark diagrams. */
.lab-section{margin-top:94px;padding-top:58px;border-top:1px solid var(--line)}.lab-section-heading h3{font-size:clamp(29px,4vw,48px);max-width:730px}.lab-section-heading>p{font-size:15px;line-height:1.6;color:var(--muted);max-width:620px;margin-top:22px}.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:66px 44px;margin-top:45px}.lab-case{min-width:0;scroll-margin-top:110px}.lab-case-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-top:1px solid #536079}.lab-case-heading h4{font-size:23px;letter-spacing:-.035em}.lab-case-heading>a,.lab-case-heading>span{font:10px/1.4 var(--mono);color:var(--muted);flex-shrink:0}.lab-case-heading>a:hover{color:var(--blue)}.lab-figure{margin:0}.lab-figure svg{display:block;width:100%;height:auto;background:#192230;overflow:hidden;border:1px solid #303e52}.lab-figure svg text{font-family:var(--mono);fill:#cfdaed}.lab-figure .lab-svg-label{font-size:11px}.lab-figure .lab-large{font:500 46px var(--sans);fill:#b6c9ff}.lab-figure .lab-symbol{font:500 25px var(--mono);fill:#d6e1fd}.lab-figure .lab-dark-text{fill:#192230;font-size:13px}.lab-wire{fill:none;stroke:#6b7c99;stroke-width:1.5}.lab-shape{fill:#202d40;stroke:#687c9c;stroke-width:1.5}.lab-accent-shape{fill:#283f65;stroke:#8aaaff;stroke-width:1.5}.lab-blue-fill,.lab-packet{fill:#8aaaff}.lab-orange-fill{fill:#f29b6e}.lab-dim-fill{fill:#56647a}.lab-answer-lines{fill:none;stroke:#afc6ff;stroke-width:2}.lab-object{fill:#56677e;stroke:#a2b1c7;stroke-width:1.5}.lab-window{fill:#26364e;stroke:#a2b1c7;stroke-width:1}.lab-wheel{fill:#192230;stroke:#879ab5;stroke-width:5}.seg-boundary{fill:none;stroke:#8aaaff;stroke-width:1.5;stroke-dasharray:5 5}.seg-scan{stroke:#f29b6e;stroke-width:2;opacity:0}.risk-route{fill:none;stroke:#8aaaff;stroke-width:3;stroke-dasharray:500;stroke-dashoffset:0}.query-cluster{fill:none;stroke:#8aaaff;stroke-dasharray:4 6;stroke-width:1.5;opacity:0}.query-cluster-two{stroke:#f29b6e}.lab-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #343d4c;min-height:54px}.lab-figure figcaption>span{font-size:10px;color:var(--muted)}.lab-play{display:none;border:1px solid #687991;background:none;color:#e7edf7;border-radius:100px;padding:7px 15px;font-size:11px;min-width:112px;min-height:33px;transition:background .2s,color .2s}.lab-ready .lab-play{display:inline-flex;align-items:center;justify-content:center}.lab-play:hover{background:#dce6ff;color:#192230}.lab-play:focus-visible{outline:3px solid #8aaaff;outline-offset:4px}.lab-play:active{transform:translateY(1px)}.lab-copy{padding-top:21px}.lab-copy h5{font:550 25px/1.18 var(--sans);letter-spacing:-.035em;margin:0 0 13px;max-width:440px}.lab-copy p{color:var(--muted);font-size:14px;line-height:1.65;max-width:470px;margin:0}.lab-tech{display:block;font:10px/1.65 var(--mono);color:var(--blue);margin-top:15px}.lab-running .rag-docs{animation:lab-rise 1s .7s both}.lab-running .rag-answer{animation:lab-rise 1s 2.5s both}.lab-running .rag-packet{animation:lab-rag-packet 3.5s both}.lab-running .trader-one{animation:lab-node 1.3s both}.lab-running .trader-two{animation:lab-node 1.3s 1.2s both}.lab-running .trader-three{animation:lab-node 1.3s 2.4s both}.lab-running .trader-packet{animation:lab-trade-packet 3.4s .3s both}.lab-running .seg-mask{animation:lab-mask 3s .4s both}.lab-running .seg-scan{animation:lab-scan 3s .4s both}.lab-running .seg-boundary{animation:lab-rise .7s 3.3s both}.lab-running .risk-route{animation:lab-route 3s .5s both}.lab-running .risk-result{animation:lab-rise .5s 3.4s both}.lab-running .rec-one{animation:lab-rec-one 2.5s .6s both}.lab-running .rec-two{animation:lab-rec-two 2.5s .6s both}.lab-running .rec-three{animation:lab-rec-three 2.5s .6s both}.lab-complete .rec-one{transform:translateY(138px)}.lab-complete .rec-two,.lab-complete .rec-three{transform:translateY(-69px)}.lab-running .q-one{animation:lab-q-one 2.3s .3s both}.lab-running .q-two{animation:lab-q-two 2.3s .3s both}.lab-running .q-three{animation:lab-q-three 2.3s .3s both}.lab-running .q-four{animation:lab-q-four 2.3s .3s both}.lab-running .query-cluster{animation:lab-outline .8s 2.2s both}.lab-complete .q-one{transform:translate(29px,20px)}.lab-complete .q-two{transform:translate(119px,-43px)}.lab-complete .q-three{transform:translate(-252px,98px)}.lab-complete .q-four{transform:translate(221px,-49px)}.lab-complete .query-cluster{opacity:1}.lab-paused *{animation-play-state:paused!important}.lab-complete .trader-packet{transform:translateX(350px)}.lab-complete .rag-packet{opacity:0}.lab-running .lab-figure .lab-packet{pointer-events:none}
@keyframes lab-rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes lab-rag-packet{0%{transform:translateX(0);opacity:0}15%{opacity:1}45%{transform:translateX(95px);opacity:1}70%{transform:translateX(195px);opacity:1}100%{transform:translateX(244px);opacity:0}}@keyframes lab-node{0%{opacity:.3}100%{opacity:1}}@keyframes lab-trade-packet{0%{transform:translateX(0)}45%{transform:translateX(175px)}60%{transform:translateX(175px)}100%{transform:translateX(350px)}}@keyframes lab-mask{0%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0 0 0 0)}}@keyframes lab-scan{0%{transform:translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(335px);opacity:0}}@keyframes lab-route{from{stroke-dashoffset:500}to{stroke-dashoffset:0}}@keyframes lab-rec-one{0%,20%{transform:translateY(0)}100%{transform:translateY(138px)}}@keyframes lab-rec-two{0%,20%{transform:translateY(0)}100%{transform:translateY(-69px)}}@keyframes lab-rec-three{0%,20%{transform:translateY(0)}100%{transform:translateY(-69px)}}@keyframes lab-q-one{to{transform:translate(29px,20px)}}@keyframes lab-q-two{to{transform:translate(119px,-43px)}}@keyframes lab-q-three{to{transform:translate(-252px,98px)}}@keyframes lab-q-four{to{transform:translate(221px,-49px)}}@keyframes lab-outline{from{opacity:0}to{opacity:1}}
@media(max-width:1000px){.lab-grid{gap:48px 28px}.lab-case-heading h4{font-size:21px}.lab-copy h5{font-size:23px}.lab-case-heading>a,.lab-case-heading>span{font-size:9px}}
@media(max-width:767px){.lab-section{margin-top:60px;padding-top:40px}.lab-section-heading h3{font-size:32px}.lab-section-heading>p{font-size:14px;margin-top:19px}.lab-grid{grid-template-columns:1fr;gap:44px;margin-top:32px}.lab-case-heading{padding:16px 0}.lab-case-heading h4{font-size:23px}.lab-copy{padding-top:18px}.lab-copy h5{font-size:25px}.lab-copy p{font-size:14px}.lab-play{min-width:104px;font-size:10px}.lab-figure figcaption>span{font-size:9px}.lab-tech{font-size:10px}}
@media(prefers-reduced-motion:reduce){.lab-case *{animation:none!important;transition:none!important}}
/* A technical sketchbook: distinct cut corners and small, useful process stamps. */
.lab-figure{position:relative;padding-top:14px}.lab-figure:before{content:'context → answer';display:block;position:absolute;right:14px;top:0;z-index:1;background:#c7d6ff;color:#152138;padding:7px 12px;font:11px var(--mono);transform:rotate(3deg);border-radius:2px 12px 2px 12px;box-shadow:0 3px 0 #080c1255}
[data-lab=trader] .lab-figure:before{content:'event → notify';background:#ffd1ac;transform:rotate(-3deg)}
[data-lab=segmentation] .lab-figure:before{content:'pixels → masks';background:#d7e8c8;transform:rotate(2deg)}
[data-lab=risk] .lab-figure:before{content:'features → score';background:#e4d3fa;transform:rotate(-3deg)}
[data-lab=recommendations] .lab-figure:before{content:'history → top 100';background:#ffd1ac}
[data-lab=clustering] .lab-figure:before{content:'queries → groups';background:#d7e8c8;transform:rotate(-2deg)}
.lab-figure svg{border-radius:28px 4px 28px 4px}
[data-lab=trader] .lab-figure svg,[data-lab=risk] .lab-figure svg{border-radius:4px 28px 4px 28px}
[data-lab=clustering] .lab-figure svg{border-radius:36px}
.lab-figure .lab-svg-label{font-size:14px}.lab-figure figcaption{justify-content:flex-end;min-height:60px}.lab-play{min-height:44px;font-size:12px}
.lab-case-heading>a,.lab-case-heading>span{font-size:11px}.lab-tech{font-size:11px}
