.lab{--lab-cyan:#087f91;--lab-panel:hsl(var(--card));--lab-line:hsl(var(--border));border:1px solid var(--lab-line);border-radius:22px;background:var(--lab-panel);box-shadow:0 24px 80px #0712230b;overflow:hidden;text-align:left}.dark .lab{--lab-cyan:#58e3ef}.lab button,.lab select,.lab input{font:inherit}.lab button:focus-visible,.lab a:focus-visible,.lab select:focus-visible,.lab input:focus-visible{outline:3px solid var(--lab-cyan);outline-offset:4px}.lab-toolbar{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;gap:20px;border-bottom:1px solid var(--lab-line)}.lab-status{display:flex;align-items:center;gap:14px}.lab-status strong,.lab-status small{display:block}.lab-status small{font-size:12px;color:hsl(var(--muted-foreground));margin-top:3px}.status-dot{width:10px;height:10px;border-radius:50%;background:#8b97a6;box-shadow:0 0 0 5px #8193a41a;flex-shrink:0}.status-dot.connected{background:#1caf91;box-shadow:0 0 0 5px #1caf911a}.lab-actions{display:flex;gap:8px}.lab-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:9px;background:#087f91;color:#fff;padding:11px 16px;font-size:13px!important;font-weight:600!important;cursor:pointer;transition:background .18s,transform .18s;text-decoration:none;min-height:43px}.lab-btn:hover:not(:disabled){background:#066674;transform:translateY(-1px)}.lab-btn.secondary{background:transparent;border-color:var(--lab-line);color:inherit}.lab-btn.secondary:hover{background:hsl(var(--muted))}.lab-btn:disabled{opacity:.45;cursor:not-allowed}.lab-btn.wide{width:100%;margin-top:12px}.lab-tabs{display:flex;gap:7px;padding:14px 24px;background:hsl(var(--muted)/.35);overflow-x:auto;border-bottom:1px solid var(--lab-line)}.lab-tabs button{font-size:13px;white-space:nowrap;padding:9px 15px;border-radius:8px;color:hsl(var(--muted-foreground));cursor:pointer}.lab-tabs button[aria-selected=true]{background:var(--lab-panel);color:var(--lab-cyan);box-shadow:0 1px 5px #0000000c;font-weight:650}.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px}.lab-main{padding:32px;min-width:0;min-height:510px}.lab-guide{background:hsl(var(--muted)/.28);padding:30px 26px;border-left:1px solid var(--lab-line)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:var(--lab-cyan);display:flex;align-items:center;gap:7px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-title h2{font-family:Space Grotesk,sans-serif;font-size:23px;font-weight:600;margin-top:8px;line-height:1.25}.live-tag{font-size:9px;color:var(--lab-cyan);border:1px solid var(--lab-line);padding:5px 8px;border-radius:5px;letter-spacing:1.5px}.controller-picture{display:block;width:min(100%,540px);margin:12px auto 0;filter:drop-shadow(0 18px 20px #00182f20)}.pad-key{fill:#111c2d;stroke:#697b94;stroke-width:1.5}.pad-key.on{fill:#5de8f1;stroke:#8df8ff}.connection-help{display:flex;gap:12px;background:hsl(var(--muted)/.5);padding:16px;border-radius:10px;align-items:flex-start;font-size:13px}.connection-help svg{flex-shrink:0;color:var(--lab-cyan)}.connection-help p{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.7;margin-top:4px}.lab-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:25px;gap:14px}.lab-metrics>div{border-left:2px solid var(--lab-line);padding-left:16px}.lab-metrics b{font:600 27px Space Grotesk,sans-serif;font-variant-numeric:tabular-nums}.lab-metrics small{font-size:12px}.lab-metrics span{display:block;font-size:11px;color:hsl(var(--muted-foreground));margin-top:3px}.lab-guide h2{font:600 23px/1.3 Space Grotesk,sans-serif;margin:16px 0 12px}.lab-guide p{color:hsl(var(--muted-foreground));font-size:13px;line-height:1.8}.guide-list{list-style:none;margin:25px 0;padding:0;display:grid;gap:22px}.guide-list li{display:flex;align-items:center;gap:13px}.guide-list li>span{border:1px solid var(--lab-line);border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:var(--lab-cyan);font-size:12px}.guide-list b{font-size:12px}.guide-list small{display:block;font-size:11px;color:hsl(var(--muted-foreground));margin-top:2px}.lab-guide>small{display:block;text-align:center;font-size:11px;color:hsl(var(--muted-foreground));margin-top:12px}.guide-footnote{display:flex;gap:8px;padding-top:24px;margin-top:22px;border-top:1px solid var(--lab-line);color:hsl(var(--muted-foreground));font-size:11px;line-height:1.7}.guide-footnote svg{flex-shrink:0}.demo-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 28px;background:#f6a40014;color:hsl(var(--foreground));font-size:12px;border-bottom:1px solid #f6a40033}.demo-bar label{white-space:nowrap}.lab select{background:var(--lab-panel);color:inherit;border:1px solid var(--lab-line);padding:7px;border-radius:7px;max-width:100%;font-size:12px}.device-strip{padding:12px 28px;display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--lab-line);font-size:11px;color:hsl(var(--muted-foreground))}.device-strip label{min-width:0;display:flex;align-items:center;gap:10px}.device-strip select{max-width:420px;width:100%;min-width:0}.device-strip>span{flex-shrink:0}.lab-muted{font-size:13px;line-height:1.8;color:hsl(var(--muted-foreground));margin:18px 0}.button-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.input-button{border:1px solid var(--lab-line);border-radius:10px;padding:12px;background:hsl(var(--muted)/.3);min-height:80px}.input-button>span{font-size:9px;color:hsl(var(--muted-foreground));display:flex;justify-content:space-between}.input-button b{display:block;font-size:11px;margin:7px 0 3px}.input-button small{font-size:10px;font-variant-numeric:tabular-nums}.input-button.pressed{background:#18c5d329;border-color:var(--lab-cyan);color:var(--lab-cyan)}.stick-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:28px}.lab-stick svg{width:100%;max-width:250px;display:block;margin:auto}.lab-stick-heading{display:flex;justify-content:space-between;font-size:12px}.lab-stick-heading span{font-variant-numeric:tabular-nums;color:var(--lab-cyan)}.dial-fill{fill:hsl(var(--muted)/.5);stroke:var(--lab-line)}.dial-grid{fill:none;stroke:var(--lab-line);stroke-dasharray:3 5}.deadzone{fill:#11b3c722;stroke:#16a8b844}.stick-line{stroke:var(--lab-cyan);stroke-width:2}.stick-dot{fill:var(--lab-cyan);stroke:var(--lab-panel);stroke-width:3}.sector{stroke:var(--lab-line);stroke-width:3}.sector.active{stroke:var(--lab-cyan)}.axis-readout{display:flex;justify-content:center;gap:25px;font-size:11px;font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground))}.axis-readout b{color:hsl(var(--foreground));margin-left:5px}.deadzone-control{display:flex;gap:15px;align-items:center;font-size:12px;margin-top:26px}.deadzone-control input{flex:1;min-width:0;accent-color:var(--lab-cyan)}.deadzone-control b{min-width:35px}.raw-axes{display:flex;flex-wrap:wrap;gap:8px}.raw-axes span{font-size:10px;border:1px solid var(--lab-line);border-radius:5px;padding:6px}.raw-axes b{margin-left:5px;font-variant-numeric:tabular-nums}.trigger-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;text-align:center;margin:34px 0}.trigger-grid span{font-size:12px}.trigger-track{height:170px;width:60px;border-radius:15px;background:hsl(var(--muted));border:1px solid var(--lab-line);margin:20px auto 12px;display:flex;align-items:flex-end;overflow:hidden}.trigger-track>div{background:linear-gradient(#44deeb,#087f91);width:100%}.trigger-grid strong{font:600 32px Space Grotesk,sans-serif;font-variant-numeric:tabular-nums}.trigger-grid small{font-size:13px}.lab-notice{background:hsl(var(--muted)/.6);border-left:3px solid var(--lab-cyan);padding:16px 18px;font-size:12px;line-height:1.8;margin:20px 0}.notice-bottom{margin:0;border-top:1px solid var(--lab-line);display:flex;justify-content:space-between;gap:12px}.notice-bottom button{align-self:start;cursor:pointer}.reaction-box{border:1px solid var(--lab-line);border-radius:13px;padding:25px;text-align:center}.reaction-box>b{font:600 23px Space Grotesk,sans-serif}.reaction-box p{font-size:12px;line-height:1.7;margin:12px auto 20px;max-width:400px;color:hsl(var(--muted-foreground))}.reaction-box.ready{background:#087f91;color:#fff}.reaction-box.ready p{color:#fff}.reaction-box.waiting{border-color:#b87d1d}.reaction-box.early{border-color:#b83c3c}.vibration-art{height:220px;display:grid;place-items:center;color:var(--lab-cyan)}.is-rumbling{animation:rumble .1s infinite}.guide-step{font-size:10px;letter-spacing:1.5px;margin-top:20px;color:hsl(var(--muted-foreground))}.instruction-art{height:120px;display:grid;place-items:center}.instruction-ring{width:85px;height:85px;border:1px dashed var(--lab-cyan);border-radius:50%;position:relative;display:grid;place-items:center}.instruction-ring>span{width:22px;height:22px;background:var(--lab-cyan);border-radius:50%;box-shadow:0 0 0 8px #1dc5d516}.instruction-art.range .instruction-ring>span{animation:orbit 3s linear infinite}.instruction-art.buttons .instruction-ring>span{animation:press 1.5s ease-in-out infinite}.instruction-art.triggers .instruction-ring>span{animation:press 2s ease-in-out infinite;border-radius:6px;height:45px}.guide-progress{height:5px;border-radius:10px;background:var(--lab-line);margin:20px 0 8px;overflow:hidden}.guide-progress>span{height:100%;display:block;background:var(--lab-cyan)}.lab-text-btn{display:block;font-size:11px!important;text-decoration:underline;margin:15px auto 0;cursor:pointer;color:hsl(var(--muted-foreground))}.completion-icon{color:var(--lab-cyan);margin-top:25px}.results-panel{border-top:1px solid var(--lab-line);padding:28px}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:22px}.result-grid>div{padding:16px;border-radius:10px;background:hsl(var(--muted)/.5)}.result-grid span{font-size:10px;color:hsl(var(--muted-foreground))}.result-grid b{display:block;font:600 22px Space Grotesk,sans-serif;margin:10px 0}.result-grid small{display:block;font-size:10px;line-height:1.7;color:hsl(var(--muted-foreground))}.lab-page{padding:112px 24px 72px;max-width:1230px;margin:auto}.lab-hero{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.lab-hero .eyebrow{color:#087f91}.dark .lab-hero .eyebrow{color:#58e3ef}.lab-hero h1{font:600 clamp(35px,4vw,53px)/1.13 "Space Grotesk",sans-serif;letter-spacing:-1.8px;margin:15px 0}.lab-hero h1 em{font-style:normal;color:#087f91}.dark .lab-hero h1 em{color:#58e3ef}.lab-hero p{color:hsl(var(--muted-foreground));max-width:530px;line-height:1.8;font-size:14px}.hero-aside{font-size:11px;line-height:2;color:hsl(var(--muted-foreground));text-align:right;flex-shrink:0;padding-bottom:10px}.hero-aside span{display:block}.hero-aside svg{display:inline;margin-right:5px;vertical-align:middle;color:#087f91}.lab-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.lab-link{padding:23px;border:1px solid hsl(var(--border));border-radius:13px;display:flex;align-items:flex-start;gap:14px;background:hsl(var(--card)/.5)}.lab-link>svg{color:#087f91;flex-shrink:0}.lab-link h3{font:600 15px Space Grotesk,sans-serif;margin-bottom:7px}.lab-link p{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.8}.lab-link a{font-size:12px;display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:#087f91;font-weight:600}.lab-faq{max-width:850px;margin:65px auto 0}.lab-faq h2{font:600 28px Space Grotesk,sans-serif;margin-bottom:22px}.lab-faq details{border-bottom:1px solid hsl(var(--border));padding:18px 0;font-size:14px}.lab-faq summary{cursor:pointer;font-weight:600}.lab-faq p{font-size:13px;line-height:1.9;color:hsl(var(--muted-foreground));margin-top:12px}.lab a:hover{text-decoration:none}@keyframes orbit{0%{transform:rotate(0) translate(30px) rotate(0)}to{transform:rotate(360deg) translate(30px) rotate(-360deg)}}@keyframes press{50%{transform:scale(.75);opacity:.55}}@keyframes rumble{50%{transform:translate(2px)}}@media(max-width:1000px){.lab-grid{grid-template-columns:minmax(0,1fr) 270px}.lab-main{padding:24px}.lab-guide{padding:24px 20px}.hero-aside{display:none}.button-grid{grid-template-columns:repeat(3,1fr)}.result-grid{grid-template-columns:1fr 1fr}.device-strip{flex-wrap:wrap;gap:8px}.lab-links{gap:10px}.lab-link{padding:18px}}@media(max-width:720px){.lab-page{padding:95px 14px 45px}.lab-hero h1{font-size:37px}.lab-hero p{font-size:13px}.lab-grid{grid-template-columns:1fr}.lab-guide{border-left:0;border-top:1px solid var(--lab-line)}.lab-toolbar{padding:18px;flex-wrap:wrap;gap:16px}.lab-actions{width:100%;justify-content:space-between}.lab-actions .lab-btn{flex:1;padding:9px}.lab-tabs{padding:10px;gap:2px}.lab-tabs button{padding:9px 12px}.lab-main{min-height:0;padding:22px 18px}.panel-title h2{font-size:21px}.lab-status strong{font-size:14px}.lab-links{grid-template-columns:1fr}.lab-link{padding:23px}.lab-guide h2 br{display:none}.guide-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guide-list b{font-size:11px}.guide-list li>span{flex-shrink:0}.demo-bar{flex-wrap:wrap;padding:14px 18px;font-size:11px}.device-strip{padding:12px 18px}.device-strip label{width:100%}.device-strip select{max-width:100%}.lab-metrics{gap:6px}.lab-metrics>div{padding-left:10px}.lab-metrics b{font-size:23px}.lab-metrics span{font-size:10px}.stick-grid{gap:12px}.lab-stick-heading{font-size:11px}.axis-readout{gap:10px;font-size:10px}.results-panel{padding:22px 18px}.result-grid{gap:10px}.result-grid>div{padding:12px}.result-grid b{font-size:19px}.lab-faq{margin-top:40px}.lab{border-radius:16px}.lab-hero{margin-bottom:25px}.button-grid{gap:7px}.input-button{padding:10px}.deadzone-control{gap:9px;font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:580px){.nav-brand-name{font-size:16px}}.blog-page{max-width:1180px;margin:auto;padding:115px 24px 70px}.blog-page h1{font:600 clamp(35px,4vw,52px)/1.15 "Space Grotesk",sans-serif;letter-spacing:-1.4px;margin:18px 0 22px;max-width:900px}.blog-intro{max-width:560px;color:hsl(var(--muted-foreground));font-size:15px;line-height:1.8;margin-bottom:40px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{border:1px solid hsl(var(--border));border-radius:16px;overflow:hidden;background:hsl(var(--card));transition:transform .2s}.blog-card:hover{transform:translateY(-3px)}.blog-card>img{width:100%;height:190px;object-fit:cover}.blog-card>div{padding:24px}.blog-card small{color:hsl(var(--primary));text-transform:uppercase;letter-spacing:1.5px;font-size:10px}.blog-card h2{font:600 21px/1.35 Space Grotesk,sans-serif;margin:13px 0}.blog-card p{font-size:12px;line-height:1.9;color:hsl(var(--muted-foreground))}.blog-card span{display:flex;gap:8px;align-items:center;color:hsl(var(--primary));font-size:12px;margin-top:20px}.back-link{display:flex;align-items:center;gap:8px;font-size:12px;color:hsl(var(--muted-foreground));margin-bottom:30px}.article-header{max-width:870px}.article-header>p{font-size:17px;line-height:1.8;color:hsl(var(--muted-foreground))}.article-meta{font-size:12px;color:hsl(var(--muted-foreground));margin:22px 0 30px}.article-cover{width:100%;max-height:470px;object-fit:cover;border-radius:18px;margin-bottom:35px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:60px}.article-body{font-size:15px;line-height:1.9;min-width:0}.article-body p{margin-bottom:22px;color:hsl(var(--muted-foreground))}.article-body h2{font:600 29px/1.3 Space Grotesk,sans-serif;margin:42px 0 20px;scroll-margin-top:95px}.article-body h3{font:600 22px Space Grotesk,sans-serif;margin:30px 0 18px}.article-body ul,.article-body ol{padding-left:24px;margin:22px 0;list-style:disc}.article-body ol{list-style:decimal}.article-body li{margin:12px 0}.article-body a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.article-toc{position:sticky;top:95px;align-self:start;border-left:1px solid hsl(var(--border));padding-left:22px;font-size:12px}.article-toc>b{font-size:10px;letter-spacing:1.5px}.article-toc a{display:block;color:hsl(var(--muted-foreground));margin-top:18px;line-height:1.7}.article-callout{display:flex;gap:18px;border:1px solid hsl(var(--primary)/.25);background:hsl(var(--primary)/.05);padding:24px;border-radius:14px;margin:12px 0 35px}.article-callout svg{flex-shrink:0;color:hsl(var(--primary));margin-top:4px}.article-callout p{font-size:12px;margin:7px 0}.article-callout a{font-size:13px}.article-callout b{font-size:16px}@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:1fr;gap:20px}.article-toc{display:none}}@media(max-width:580px){.blog-page{padding:100px 18px 50px}.blog-grid{grid-template-columns:1fr}.blog-card>img{height:200px}.article-header>p{font-size:14px}.article-body{font-size:14px}.article-body h2{font-size:25px}.article-callout{padding:18px}.article-cover{max-height:230px}.article-meta{line-height:1.8}}.editorial-note{font-size:.9rem!important;line-height:1.6!important;color:var(--muted-foreground);border-left:3px solid #25cbd3;padding-left:1rem}.blog-page nav[aria-label=Breadcrumb]{font-size:.85rem;margin-bottom:1.5rem;line-height:1.7}
