.cube-lab{border:1px solid #415970;background:#172430;border-radius:14px;padding:30px;margin-bottom:32px}.cube-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.cube-heading h2{font-size:29px;margin:10px 0}.cube-heading button{font-size:12px}.cube-workspace{display:grid;grid-template-columns:1fr 1.2fr;gap:45px;margin-top:22px}.cube-device{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse,#37566d44,transparent 70%);border-radius:10px}.cube-device svg{width:min(100%,280px);filter:drop-shadow(0 18px 14px #0004)}.cube-device>strong{font:29px Consolas,monospace;color:#dcf4ff;margin-top:20px}.cube-device>span{font-size:10px;letter-spacing:2px;color:#a4e9d7;margin-top:12px}.cube-device>p{text-align:center;font-size:11px;color:#a3b6c7;max-width:280px;line-height:1.8}.cube-device[data-state=offline]>span{color:#ff9eac}.cube-device[data-state=offline] .cube-edge{stroke:#ff768d}.cube-route h3{font-size:17px;color:#cbe2f6}.cube-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.cube-route label{font-size:12px}.cube-route input,.cube-route select{width:100%}.cube-route .check input{width:auto}.cube-actions{display:flex;gap:12px}.cube-delivery{border-top:1px solid #3b5368;border-bottom:1px solid #3b5368;padding:17px 0;margin:24px 0;color:#d0e5f7;font-size:13px}#cube-counts{font:11px Consolas,monospace;color:#9fb7ca}.cube-sinks{display:grid;grid-template-columns:1fr 1fr;gap:25px}.cube-sinks>section{border-left:2px solid #80cfbc;padding-left:17px}.cube-sinks>section:last-child{border-left-color:#bcb2ef}.cube-sinks h3{font-size:14px;margin-top:10px}.cube-sinks p,.cube-sinks pre{font-size:12px;color:#c2d9e9;line-height:1.8;overflow-wrap:anywhere}.cube-lab details{margin-top:25px}.cube-lab details pre{max-height:280px;overflow:auto;padding:18px;background:#101a24}.cube-vision{max-width:900px;padding:22px 0 35px}.cube-vision h2{font-size:25px}.cube-vision>p{font-size:15px;color:#bed0e0;line-height:1.9}.cube-vision>p.hint{font-size:12px;color:#9cafbf}@media(max-width:700px){.cube-lab{padding:20px 14px}.cube-heading{display:block}.cube-heading button{margin-top:10px}.cube-workspace{grid-template-columns:1fr;gap:5px}.cube-device svg{width:220px}.cube-sinks{grid-template-columns:1fr}.cube-fields{gap:0 12px}.cube-heading h2{font-size:25px}.cube-route label{font-size:11px}}
