.lab-demo{margin:30px 0 42px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fbfefd,#f3f8f6);box-shadow:var(--shadow-sm)}.lab-demo__controls{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;align-items:end}.lab-demo__field{display:flex;flex-direction:column;gap:7px}.lab-demo__field label{color:var(--ink);font-size:.78rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.lab-demo__field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit}.lab-demo__value-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.lab-demo__value-row span{color:var(--muted);font-weight:700}.lab-demo__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.lab-demo__run,.lab-demo__blink{min-height:44px;padding:10px 16px;border-radius:11px;font:inherit;font-weight:800;cursor:pointer}.lab-demo__run{border:1px solid var(--green);background:var(--green);color:#fff}.lab-demo__blink{border:1px solid var(--line);background:#fff;color:var(--ink)}.lab-demo__workspace{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;margin-top:22px}.lab-demo__device,.lab-demo__code-panel,.lab-demo__record{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.lab-demo__device{padding:18px}.lab-demo__device-topline,.lab-demo__code-head,.lab-demo__record-head{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.lab-demo__device-topline span:last-child{color:var(--green)}.lab-demo__led-wrap{display:flex;align-items:center;gap:16px;margin:24px 0}.lab-demo__led{width:58px;height:58px;flex:0 0 58px;border-radius:50%;border:8px solid #d8e4e0;background:#b8c5c1;box-shadow:inset 0 0 0 2px rgba(16,42,45,.08)}.lab-demo__led.is-on{background:var(--signal);box-shadow:0 0 0 8px rgba(183,216,90,.15),0 0 24px rgba(183,216,90,.65)}.lab-demo__led.is-alert{background:#d7a64a;box-shadow:0 0 0 8px rgba(215,166,74,.13),0 0 24px rgba(215,166,74,.55)}.lab-demo__led-wrap strong,.lab-demo__led-wrap small{display:block}.lab-demo__led-wrap small{margin-top:3px;color:var(--muted);line-height:1.4}.lab-demo__reading{display:flex;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.lab-demo__reading span{color:var(--muted)}.lab-demo__reading strong{color:var(--ink);font-size:1.15rem}.lab-demo__code-head,.lab-demo__record-head{padding:12px 14px;border-bottom:1px solid #24484e;background:#102f34;color:#cbe1dc}.lab-demo__code-panel pre,.lab-demo__record pre{margin:0;border:0;border-radius:0;box-shadow:none}.lab-demo__code-panel pre{min-height:100%;padding:18px}.lab-demo__flow{display:grid;grid-template-columns:repeat(7,auto);align-items:stretch;gap:8px;margin:20px 0}.lab-demo__flow-node{min-width:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.lab-demo__flow-node span{display:block;color:var(--blue);font-size:.68rem;font-weight:900}.lab-demo__flow-node strong,.lab-demo__flow-node small{display:block}.lab-demo__flow-node strong{margin:3px 0;color:var(--ink);font-size:.88rem}.lab-demo__flow-node small{color:var(--muted);font-size:.72rem;line-height:1.35}.lab-demo__flow-node--hub{border-color:rgba(20,125,100,.35);background:#edf8f3}.lab-demo__flow-arrow{display:grid;place-items:center;color:var(--green);font-weight:900}.lab-demo__record{margin-top:4px}.lab-demo__record-head{background:#18383d}.lab-demo__record-head strong{color:var(--signal)}.lab-demo__record pre{padding:16px}.lab-demo__explain{margin:20px 0 0;padding:16px 18px;border-left:4px solid var(--blue);border-radius:0 12px 12px 0;background:#eef5f7}.lab-demo.has-run .lab-demo__record{animation:labRecordFlash .7s ease}.lab-demo__led.is-blinking{transition:background .12s ease,box-shadow .12s ease}@keyframes labRecordFlash{0%{box-shadow:0 0 0 0 rgba(20,125,100,.3)}100%{box-shadow:0 0 0 12px rgba(20,125,100,0)}}@media(max-width:760px){.lab-demo{padding:18px}.lab-demo__controls{grid-template-columns:1fr}.lab-demo__actions{grid-column:auto}.lab-demo__workspace{grid-template-columns:1fr}.lab-demo__flow{grid-template-columns:1fr}.lab-demo__flow-arrow{transform:rotate(90deg);min-height:18px}.lab-demo__device-topline,.lab-demo__record-head{align-items:flex-start;flex-direction:column}.lab-demo__code-head{align-items:flex-start;flex-direction:column}.lab-demo__run,.lab-demo__blink{width:100%}}@media(prefers-reduced-motion:reduce){.lab-demo.has-run .lab-demo__record{animation:none}.lab-demo__led{transition:none}}