.hl-lab{border:1px solid var(--rl-line);border-radius:20px;background:var(--rl-paper);overflow:hidden;margin:26px 0;box-shadow:0 18px 45px -35px #17243d66}
.hl-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--rl-line)}.hl-heading h3{font-size:21px;margin:5px 0 0;font-weight:850;letter-spacing:-.03em}.hl-heading>button{flex-shrink:0}
.hl-workbench{padding:22px}.hl-missions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hl-missions nav{display:flex;gap:7px}.hl-missions nav button{border:1px solid var(--rl-line);background:var(--rl-bg);color:var(--rl-muted);padding:9px 14px;border-radius:9px;font-size:12px;font-weight:800}.hl-missions nav button[aria-current]{background:var(--rl-soft);border-color:var(--rl-accent);color:var(--rl-accent)}.hl-missions nav button.is-solved::after{content:' ✓';color:#10b981}.hl-missions>span{font-size:11px;font-weight:750;color:var(--rl-muted)}
.hl-mission-copy{margin:20px 0}.hl-mission-copy h4{font-size:20px;font-weight:800;line-height:1.5;margin:0 0 7px;letter-spacing:-.02em}.hl-mission-copy p{font-size:13px;line-height:1.9;color:var(--rl-muted);margin:0}.hl-progress-row{display:flex;align-items:center;gap:15px;margin-top:15px}.hl-progress-row progress{flex:1;min-width:0;max-width:260px;accent-color:#1447e6;height:8px}.hl-progress-row span{font-size:11px;color:var(--rl-accent);font-weight:750}
.hl-scene-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;border-radius:12px 12px 0 0;background:#172336;color:#c8d5e8;border:1px solid #34445a}.hl-scene-toolbar>span{display:flex;align-items:center;gap:8px;min-width:0}.hl-scene-toolbar strong{font-size:11px}.hl-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#718398;flex-shrink:0}.hl-powered .hl-status-dot{background:#6ee7b7;box-shadow:0 0 12px #6ee7b766}.hl-scene-toolbar>div{display:flex;align-items:center;gap:10px}.hl-scene-toolbar button{display:grid;place-items:center;width:29px;height:29px;color:#d4dfed;background:#28374d;border:1px solid #506078;border-radius:6px;font-size:18px}.hl-scene-toolbar output{font-size:10px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.hl-scene-scroll{background:#0d1523;overflow:auto;border:1px solid #34445a;border-top:0;border-radius:0 0 12px 12px;max-height:660px;overscroll-behavior:contain;scrollbar-color:#657b96 #121d2e;scrollbar-width:thin}.hl-scene{display:block;width:100%;min-width:0;height:auto;font-family:Inter,ui-sans-serif,system-ui,sans-serif;touch-action:pan-x pan-y}.hl-svg-eyebrow{fill:#a7bad1;font-size:11px;font-weight:800;letter-spacing:2px}.hl-svg-sub{fill:#a8bad1;font-size:10px;letter-spacing:1px}.hl-svg-label{fill:#b9ccd9;font-size:12px;letter-spacing:1px;font-weight:800}.hl-svg-tiny{fill:#a0b6c9;font-size:9px;letter-spacing:.5px}
.hl-port{cursor:pointer;outline:none}.hl-port-hit{fill:transparent}.hl-port-ring{fill:#172e49;stroke:#89c3ff;stroke-width:2.5;filter:drop-shadow(0 0 7px #3d87e466)}.hl-port text{fill:#e0f0ff;font-size:14px;font-weight:850;pointer-events:none}.hl-port:hover .hl-port-ring,.hl-port:focus .hl-port-ring{fill:#1d4d7c;stroke:#fff;stroke-width:4}.hl-port.is-connected .hl-port-ring{fill:#134e42;stroke:#6ee7b7}.hl-port.is-error .hl-port-ring{fill:#75273e;stroke:#ff91a7}.hl-ports-disabled .hl-port{cursor:default}
.hl-wire-shadow{fill:none;stroke:#070c14;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.hl-wire{fill:none;stroke-linecap:round;stroke-linejoin:round}.hl-wire.is-new{stroke-dasharray:1400;stroke-dashoffset:1400;animation:hl-wire-in .8s ease-out forwards}.hl-current{fill:none;stroke:#f6fcff;stroke-width:2;stroke-dasharray:5 19;stroke-linecap:round;opacity:0}.hl-powered .hl-current{opacity:.65;animation:hl-current 2.4s linear infinite}.hl-source-ring{fill:none;stroke:#e5f4ff;stroke-width:2;opacity:.65;animation:hl-pulse 2s ease-in-out infinite}.hl-source-dot{fill:#d1e9ff}.hl-ghost-line{fill:none;stroke:#ff809e;stroke-width:4;stroke-dasharray:7 7;opacity:.7}.hl-rotor{transform-box:view-box}.hl-powered .hl-rotor{animation:hl-rotate 1.8s linear infinite}
@keyframes hl-wire-in{to{stroke-dashoffset:0}}@keyframes hl-current{to{stroke-dashoffset:-96}}@keyframes hl-pulse{50%{opacity:.25;stroke-width:5}}@keyframes hl-rotate{to{transform:rotate(360deg)}}
.hl-pan-note{font-size:11px!important;color:var(--rl-muted);line-height:1.9;margin:12px 0 24px!important}
.hl-controls-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:20px}.hl-cables{display:grid;gap:7px;margin-top:12px}.hl-cable{display:flex;align-items:center;gap:11px;width:100%;padding:12px;text-align:left;background:var(--rl-bg);border:1px solid var(--rl-line);border-radius:10px;color:var(--rl-text)}.hl-cable>i{height:29px;width:5px;border-radius:3px;flex-shrink:0}.hl-cable>span{flex:1;min-width:0}.hl-cable strong{display:block;font-size:12px;font-weight:800}.hl-cable small{display:block;font-size:10px;color:var(--rl-muted);line-height:1.8;margin-top:2px}.hl-cable>b{font-size:10px;color:var(--rl-muted);font-weight:700;flex-shrink:0}.hl-cable[aria-pressed=true]{border-color:var(--rl-accent);background:var(--rl-soft);box-shadow:0 0 0 1px var(--rl-accent)}.hl-cable.is-connected>b{color:#059669}.dark .hl-cable.is-connected>b{color:#6ee7b7}
.hl-inspector{padding:18px;background:var(--rl-bg);border:1px solid var(--rl-line);border-radius:12px;align-self:start;min-width:0}.hl-connector-art{border:1px solid #35455e;border-radius:10px;background:radial-gradient(ellipse at 50% 30%,#263a55,#101c2f);margin:14px 0 18px;overflow:hidden}.hl-connector-art svg{display:block;width:100%;height:auto}.hl-inspector h4{font-size:17px;font-weight:850;margin:0 0 10px;line-height:1.6}.hl-inspector p{font-size:12px;line-height:1.9;color:var(--rl-muted);margin:10px 0}.hl-inspector .hl-cable-tip{padding:12px;border-left:2px solid var(--rl-accent);background:var(--rl-soft);border-radius:0 8px 8px 0;color:var(--rl-text);margin:16px 0}.hl-inspector button{font-size:11px}
.hl-targets{margin:24px 0 12px}.hl-targets>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.hl-targets button{padding:11px 12px;background:var(--rl-bg);border:1px solid var(--rl-line);color:var(--rl-text);border-radius:9px;text-align:left;font-size:11px;line-height:1.7;display:flex;gap:9px;align-items:center}.hl-targets button>span{display:grid;place-items:center;border:1px solid var(--rl-line);width:25px;height:25px;border-radius:7px;font-weight:850;flex-shrink:0}.hl-targets button.is-connected>span{background:#145044;color:#a7f3d0;border-color:#237c63}.hl-targets button.is-error{border-color:#e76a85}.hl-workbench #hl-instructions{font-size:12px;color:var(--rl-accent);line-height:1.9;margin:16px 0}
.hl-feedback{border:1px solid var(--rl-line);background:var(--rl-bg);padding:15px;border-radius:10px;font-size:13px;line-height:1.9;color:var(--rl-text);min-height:60px}.hl-feedback.is-error{border-color:#e4a0ac;background:#fff1f3;color:#9b2741}.hl-feedback.is-success{border-color:#9acebf;background:#edfaf5;color:#166b4e}.dark .hl-feedback.is-error{background:#3c2533;color:#fda4b5;border-color:#7e4258}.dark .hl-feedback.is-success{background:#16382f;color:#a7f3d0;border-color:#35705e}
.hl-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.hl-actions button{font-size:11px}.hl-workbench .hl-scope-note{font-size:11px;color:var(--rl-muted);line-height:1.9;border-top:1px solid var(--rl-line);padding-top:17px;margin:22px 0 0}
.hl-dialog{width:min(1440px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;background:var(--rl-paper);color:var(--rl-text);border:1px solid var(--rl-line);border-radius:18px;overscroll-behavior:contain}.hl-dialog::backdrop{background:#060d1cbd;backdrop-filter:blur(5px)}.hl-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 22px;border-bottom:1px solid var(--rl-line);position:sticky;top:0;background:var(--rl-paper);z-index:3}.hl-dialog-heading h3{font-size:16px;font-weight:800;margin:0}.hl-dialog-heading button{font-size:11px}.hl-dialog .hl-scene-scroll{max-height:70vh}.hl-dialog .hl-controls-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.hl-dialog .hl-cables{grid-template-columns:1fr 1fr}.hl-still .hl-rotor,.hl-still .hl-current,.hl-still .hl-source-ring{animation:none!important}.hl-still .hl-current{opacity:0!important}.hl-still .hl-wire{animation:none!important;stroke-dashoffset:0!important;stroke-dasharray:none!important}.hl-still .hl-source-ring{opacity:.7}
@media(max-width:1000px){.hl-controls-layout{grid-template-columns:1fr}.hl-cables{grid-template-columns:1fr 1fr}.hl-inspector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px}.hl-inspector>.rl-eyebrow,.hl-inspector .hl-connector-art{grid-column:1}.hl-inspector h4,.hl-inspector>p,.hl-inspector>button{grid-column:2}.hl-inspector h4{grid-row:1/3;align-self:end}.hl-inspector .hl-connector-art{grid-row:2/6;align-self:start}.hl-heading{align-items:flex-start;flex-direction:column}.hl-dialog .hl-inspector{display:block}.hl-dialog .hl-controls-layout{grid-template-columns:1fr 1fr}.hl-dialog .hl-cables{grid-template-columns:1fr}}
@media(max-width:680px){.hl-heading{padding:18px}.hl-workbench{padding:15px}.hl-heading h3{font-size:19px}.hl-mission-copy h4{font-size:18px}.hl-missions nav button{padding:8px 11px}.hl-missions>span{font-size:10px}.hl-scene-scroll{max-height:440px}.hl-cables,.hl-targets>div{grid-template-columns:1fr}.hl-inspector{display:block}.hl-cable{padding:11px}.hl-cable>b{font-size:9px}.hl-progress-row{align-items:flex-start;flex-direction:column;gap:8px}.hl-progress-row progress{width:100%;max-width:none;flex:none}.hl-actions{align-items:stretch}.hl-actions .btn-tech-info,.hl-actions .btn-tech-info-secondary{width:100%;justify-content:center}.hl-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:12px}.hl-dialog-heading{padding:12px;align-items:flex-start}.hl-dialog-heading h3{font-size:13px;line-height:1.6}.hl-dialog-heading button{max-width:150px;padding:8px;font-size:10px}.hl-dialog .hl-controls-layout{grid-template-columns:1fr}.hl-dialog .hl-scene-scroll{max-height:440px}}
@media(prefers-reduced-motion:reduce){.hl-rotor,.hl-current,.hl-source-ring{animation:none!important}.hl-current{opacity:0!important}.hl-wire{animation:none!important;stroke-dashoffset:0!important;stroke-dasharray:none!important}}

.hl-scene-toolbar{flex-wrap:wrap}#hl-motion{width:auto;padding:0 9px;font-size:10px;white-space:nowrap}
@media(min-width:1100px){.hl-dialog .hl-workbench{display:grid;grid-template-columns:minmax(0,1fr) 320px;column-gap:20px;align-items:start}.hl-dialog .hl-missions,.hl-dialog .hl-mission-copy{grid-column:1/-1}.hl-dialog .hl-visual{grid-column:1;grid-row:3}.hl-dialog .hl-scene-scroll{max-height:640px}.hl-dialog .hl-scene:not(.is-zoomed){max-height:min(540px,60vh)}.hl-dialog .hl-controls-layout{display:block;grid-column:2;grid-row:3}.hl-dialog .hl-cables{grid-template-columns:1fr;gap:5px}.hl-dialog .hl-cable{padding:9px}.hl-dialog .hl-inspector{margin-top:16px;padding:14px}.hl-dialog .hl-targets,.hl-dialog #hl-instructions,.hl-dialog .hl-feedback,.hl-dialog .hl-actions,.hl-dialog #hl-hint,.hl-dialog .hl-scope-note{grid-column:1/-1}.hl-dialog .hl-targets{margin-top:10px}.hl-dialog .hl-targets>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
