.swarm-lab{--lab-ink:#263d35;--lab-muted:#64746a;--lab-line:#b4beac70;--lab-paper:#f6f3e9;--lab-accent:#326b59;color:var(--lab-ink);font-family:inherit;max-width:1360px;margin:auto;padding:40px clamp(18px,4vw,64px) 90px}.swarm-lab *{box-sizing:border-box}.swarm-lab a{color:inherit;text-underline-offset:5px}.lab-back{font-size:12px;text-decoration:none;letter-spacing:.02em}.lab-kicker{font:11px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--lab-muted);margin:38px 0 20px}.lab-head{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:end;margin-bottom:35px}.lab-head h1{font:400 clamp(2.8rem,6.4vw,6.2rem)/1.03 var(--serif,Georgia,serif);letter-spacing:-.055em;margin:0}.lab-head h1 em{color:#53755c;font-weight:400}.lab-head .lab-deck{font:400 clamp(1.1rem,2vw,1.5rem)/1.6 var(--serif,Georgia,serif);margin:0;color:#53675b}.lab-subtitle{font-size:14px;line-height:1.8;max-width:650px;color:var(--lab-muted)}.lab-number{font:italic 100px/1 Georgia,serif;color:#517e6630;position:absolute;right:0;top:-20px}.lab-stage{border:1px solid var(--lab-line);background:var(--lab-paper);margin:30px 0 45px}.lab-stage-top{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--lab-line);font:11px ui-monospace,monospace;letter-spacing:.07em}.lab-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7a9253;margin-right:8px}.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px}.lab-view{position:relative;min-width:0;border-right:1px solid var(--lab-line)}.lab-world{display:block;width:100%;height:540px;cursor:crosshair;touch-action:pan-y}.lab-world.comparison{height:650px}.lab-camera{position:absolute;top:45px;left:16px;display:flex;gap:6px}.swarm-lab button,.swarm-lab select,.swarm-lab input[type=number]{font:12px/1.3 ui-monospace,monospace;min-height:42px;border:1px solid #aab5a1;background:#fbf9f0;color:var(--lab-ink);padding:9px 12px;border-radius:2px;max-width:100%}.swarm-lab button{cursor:pointer;transition:background .15s}.swarm-lab button:hover{background:#e5e9d7}.swarm-lab button:focus-visible,.swarm-lab input:focus-visible,.swarm-lab select:focus-visible,.swarm-lab a:focus-visible{outline:3px solid #af793a;outline-offset:4px}.lab-camera button{min-height:35px;padding:7px 9px;font-size:10px;background:#f8f5e6dc}.lab-side{padding:23px 22px}.lab-side .tiny,.tiny{font:10px/1.5 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--lab-muted)}.lab-side label{display:grid;gap:8px;font:11px ui-monospace,monospace;margin-bottom:18px}.lab-side select{width:100%}.lab-readout{border-block:1px solid var(--lab-line);padding:17px 0;margin:20px 0}.lab-readout strong{display:block;font:400 43px/1.25 var(--serif,Georgia,serif);font-variant-numeric:tabular-nums}.lab-readout span{display:block;font:10px/1.5 ui-monospace,monospace;color:var(--lab-muted)}.lab-event{font:italic 15px/1.65 var(--serif,Georgia,serif);min-height:60px}.lab-checks{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0}.lab-checks label{display:flex;align-items:center;gap:6px;font-size:11px;margin:0;min-height:34px}.swarm-lab input{accent-color:var(--lab-accent)}.lab-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:15px 18px;border-top:1px solid var(--lab-line)}.lab-buttons .primary{background:var(--lab-accent);color:#fffdf3;border-color:var(--lab-accent)}.lab-buttons .primary:hover{background:#245743}.lab-timeline{padding:0 20px 18px;display:flex;gap:15px;align-items:center}.lab-timeline input{flex:1;min-width:0;min-height:34px}.lab-timeline output{font:11px ui-monospace,monospace;white-space:nowrap}.lab-status{padding:12px 20px;margin:0;font:11px/1.6 ui-monospace,monospace;background:#e8eadc88;border-block:1px solid var(--lab-line);min-height:43px}.lab-controls{padding:20px;display:grid;grid-template-columns:240px 1fr;gap:30px}.lab-controls>div>label{font:11px ui-monospace,monospace;display:grid;gap:10px}.lab-controls p{font-size:12px;color:var(--lab-muted);line-height:1.65}.lab-params{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px 25px;align-items:start}.lab-params label{display:grid;gap:7px;font:11px/1.3 ui-monospace,monospace}.lab-params input[type=range]{width:100%;min-height:22px}.lab-params output{font:10px ui-monospace,monospace;color:#738371}.lab-params select{min-width:0;width:100%}.lab-curve{display:block;width:100%;height:180px}.lab-scores{margin:0;padding:20px;border-top:1px solid var(--lab-line)}.lab-table-scroll{overflow-x:auto}.swarm-lab table{border-collapse:collapse;width:100%;font:12px/1.5 ui-monospace,monospace}.swarm-lab th,.swarm-lab td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--lab-line);font-weight:400;white-space:nowrap}.swarm-lab td{font-variant-numeric:tabular-nums}.swarm-lab thead th{font-size:10px;color:var(--lab-muted);text-transform:uppercase}.swarm-lab [data-score-arm] th:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--arm);margin-right:9px}.lab-section{display:grid;grid-template-columns:190px minmax(0,1fr);gap:45px;padding:36px 0;border-top:1px solid var(--lab-line)}.lab-section>.tiny{padding-top:6px}.lab-section h2{font:400 clamp(1.7rem,3vw,2.5rem)/1.22 var(--serif,Georgia,serif);letter-spacing:-.02em;margin:0 0 22px}.lab-prose{max-width:740px}.lab-prose p,.lab-prose li{font-size:15px;line-height:1.85;color:#516456}.lab-prose p{margin:0 0 18px}.lab-prose ul{padding-left:22px}.lab-prose li{margin-bottom:10px}.lab-prose strong{color:#2f473c;font-weight:600}.lab-hypothesis{border-left:2px solid #9f9e62;padding:8px 0 8px 24px;font:italic 22px/1.5 var(--serif,Georgia,serif);margin:20px 0 30px}.lab-method details{border-block:1px solid var(--lab-line);padding:16px 0;margin-bottom:22px}.lab-method summary{cursor:pointer;font:14px/1.4 ui-monospace,monospace;min-height:30px}.lab-method dl,.lab-inspect dl{display:grid;grid-template-columns:minmax(100px,.4fr) 1fr;gap:10px 20px;font-size:12px;line-height:1.8}.lab-method dt,.lab-inspect dt{color:#6c7a67}.lab-method dd,.lab-inspect dd{margin:0;overflow-wrap:anywhere}.lab-inspect{font-size:12px;margin-top:15px}.lab-inspect dl{font:10px/1.6 ui-monospace,monospace;gap:5px 9px;grid-template-columns:1fr 1fr}.small{font-size:11px!important;line-height:1.7!important;color:var(--lab-muted)}.lab-links{display:flex;gap:12px 25px;flex-wrap:wrap;font:12px/1.8 ui-monospace,monospace}.lab-next{display:flex;justify-content:space-between;gap:20px;margin-top:45px;border-top:1px solid var(--lab-line);padding-top:25px;font-size:13px}.lab-zh{color:#6c7a67;font-size:13px;line-height:1.8;margin-top:16px}.lab-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:45px 0 60px}.lab-tile{text-decoration:none;border-top:1px solid var(--lab-line);padding-top:15px;position:relative}.lab-tile canvas{display:block;width:100%;height:240px;margin:12px 0 20px;transition:transform .4s}.lab-tile:hover canvas{transform:translateY(-6px)}.lab-tile .tiny{display:flex;justify-content:space-between}.lab-tile h2{font:400 27px/1.2 var(--serif,Georgia,serif);margin:8px 0 12px;letter-spacing:-.02em}.lab-tile p{font-size:13px;line-height:1.75;color:var(--lab-muted);max-width:320px}.lab-tile .enter{font:11px ui-monospace,monospace;display:block;margin-top:20px}.lab-hub-hero{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.lab-hub-hero h1{font:400 clamp(3.8rem,7.5vw,7rem)/.98 var(--serif,Georgia,serif);letter-spacing:-.06em;margin:0 0 25px}.lab-hub-hero h1 em{color:#688267}.lab-hub-hero canvas{width:100%;height:480px;display:block}.lab-hub-hero p{font:19px/1.7 var(--serif,Georgia,serif);color:#61715f}.lab-manifest{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:35px 0}.lab-manifest strong{font:400 25px/1.4 var(--serif,Georgia,serif)}.lab-manifest p{font-size:13px;line-height:1.8;color:var(--lab-muted)}.lab-record{background:#e7eadb;border-left:2px solid #809171;padding:18px 22px;margin:20px 0;font:13px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}.lab-record a{font-size:12px}
@media(max-width:1000px){.lab-grid{grid-template-columns:minmax(0,1fr) 245px}.lab-world{height:460px}.lab-world.comparison{height:620px}.lab-side{padding:18px 15px}.lab-section{grid-template-columns:140px 1fr;gap:25px}.lab-tiles{gap:20px}.lab-tile canvas{height:190px}}
@media(max-width:760px){.swarm-lab{padding:26px 18px 60px}.lab-head{grid-template-columns:1fr;gap:22px}.lab-head h1{font-size:3.3rem}.lab-kicker{margin-top:28px}.lab-grid{grid-template-columns:1fr}.lab-view{border-right:0}.lab-world{height:410px}.lab-world.comparison{height:950px}.lab-side{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;border-top:1px solid var(--lab-line);padding:20px}.lab-side>label{margin-bottom:0}.lab-readout{margin:0;padding:0 0 10px;border-top:0}.lab-readout strong{font-size:32px}.lab-checks{grid-column:1/-1}.lab-event{margin:0;min-height:0}.lab-inspect{grid-column:1/-1}.lab-controls{grid-template-columns:1fr;gap:12px}.lab-controls>div>p{margin-bottom:15px}.lab-params{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.lab-section{grid-template-columns:1fr;gap:12px;padding:28px 0}.lab-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.lab-tile canvas{height:210px}.lab-hub-hero{grid-template-columns:1fr;gap:0}.lab-hub-hero canvas{height:350px;order:-1}.lab-hub-hero h1{font-size:4.4rem}.lab-manifest{grid-template-columns:1fr;gap:12px}.lab-stage-top{padding:12px;font-size:10px}.lab-stage-top span:last-child{max-width:50%;text-align:right}.lab-next{font-size:12px}.lab-method dl{grid-template-columns:1fr;gap:5px}.lab-method dd{margin-bottom:12px}.lab-camera{top:43px}.lab-prose p,.lab-prose li{font-size:14px}}
@media(max-width:430px){.lab-world{height:360px}.lab-tiles{grid-template-columns:1fr}.lab-tile canvas{height:280px}.lab-side{grid-template-columns:1fr 1fr}.lab-buttons{gap:6px;padding:12px}.lab-buttons button{font-size:11px;padding:8px 10px}.lab-head h1{font-size:2.9rem}.lab-hub-hero h1{font-size:3.7rem}}
@media(prefers-reduced-motion:reduce){.swarm-lab *{transition:none!important;scroll-behavior:auto!important}.lab-tile:hover canvas{transform:none}}

.lab-batch{margin:20px 0;border-block:1px solid var(--lab-line);padding:18px 0}.lab-batch summary{font:12px ui-monospace,monospace;cursor:pointer;min-height:24px}.lab-batch table{margin-top:20px}
