:root{--sky:#0593C6;--white:#FCFFFF;--pink:#D83995}@font-face{font-family:NetSchool;src:local("Inter"),local("Segoe UI");font-display:swap}:root{font-family:NetSchool,Inter,Segoe UI,Arial,sans-serif;color:var(--sky);background:var(--white);font-synthesis:none;font-size:14px;font-weight:400;--ink:var(--sky);--muted:var(--sky);--line:var(--white);--lime:var(--white);--green:var(--sky);--dark:var(--sky);--radius:12px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--sky);outline-offset:3px}input:focus,select:focus{outline:2px solid var(--sky);outline-offset:1px}input,select{min-width:0}button .icon{flex-shrink:0}button{transition:background .16s,color .16s,box-shadow .16s,transform .16s}button:hover{filter:brightness(.98)}button:active{transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}.icon{vertical-align:middle;flex-shrink:0}.mono,code,pre,table{font-family:Cascadia Code,Consolas,SFMono-Regular,monospace}.small-mono{font-size:10px!important}.muted{color:var(--muted)}#app{height:100dvh;min-height:640px;display:flex;flex-direction:column;overflow:hidden}.app-header{height:66px;flex:0 0 66px;background:var(--dark);color:var(--white);display:flex;align-items:center;padding:0 26px;gap:25px;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:750;letter-spacing:-1px;min-width:218px}.brand-mark{display:grid;place-items:center;width:34px;height:36px;background:var(--lime);color:var(--sky);border-radius:3px}.brand-mark .icon{width:25px;height:25px}.brand-light{font-weight:400}.brand sup{font-size:10px;color:var(--lime);vertical-align:top;letter-spacing:.8px;margin:3px 0 0 6px;display:inline-block}.header-divider{height:22px;width:1px;background:var(--white)}.header-sub{font-size:12px;color:var(--sky)}.header-right{margin-left:auto;display:flex;gap:20px;align-items:center}.local-status{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--white)}.local-status i,.live-dot{height:6px;width:6px;border-radius:50%;background:var(--sky);display:inline-block}.student-button{display:flex;align-items:center;gap:9px;font-size:12px}.student-button>.icon{width:13px;margin-left:3px;transform:rotate(90deg);color:var(--sky)}.avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--sky);color:var(--white);font-size:12px;font-weight:600}.app-header .icon-btn{color:var(--white);width:28px;height:28px}.app-header .icon-btn:hover{background:var(--white)}.app-layout{display:flex;flex:1;min-height:0}.sidebar{width:253px;flex:0 0 253px;background:var(--white);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:23px 17px 0}.mode-switch{display:flex;background:var(--white);border:1px solid var(--white);padding:4px;border-radius:3px;margin-bottom:29px}.mode-switch button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;flex:1;padding:9px 4px;color:var(--sky);border-radius:3px}.mode-switch button .icon{width:15px;height:15px}.mode-switch button.active{background:var(--white);color:var(--sky);font-weight:600;box-shadow:none}.sidebar-scroll{overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:var(--white) transparent}.section-caption{font-size:9px;font-weight:650;letter-spacing:1.5px;color:var(--sky);display:flex;justify-content:space-between;align-items:center;gap:5px}.section-caption span{letter-spacing:.5px;font-size:9px;font-weight:400}.sidebar>.sidebar-scroll>.section-caption{padding:0 9px;margin-bottom:13px}.level-item{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:13px 10px;border-radius:3px;margin:3px 0}.level-number{font-family:monospace;font-size:11px;color:var(--sky);border:1px solid var(--white);border-radius:3px;display:grid;place-items:center;width:27px;height:29px;flex-shrink:0}.level-item>span:nth-child(2){flex:1;min-width:0}.level-item strong{display:block;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:-.1px}.level-item small{display:block;font-size:9px;color:var(--sky);margin-top:3px}.level-item>.icon{width:14px;height:14px;color:var(--sky)}.level-item:hover:not(.locked){background:var(--white)}.level-item.active{background:var(--white)}.level-item.active .level-number{background:var(--green);border-color:var(--green);color:var(--white)}.level-item.active strong{color:var(--sky)}.level-item.active>.icon{color:var(--sky)}.level-item.locked{opacity:.53;padding-top:10px;padding-bottom:10px}.level-item.locked strong{font-weight:400}.level-item.locked .level-number{border-color:transparent}.level-item.locked>.icon{width:12px;height:12px}.sidebar-rule{height:1px;background:var(--white);margin:22px 9px}.mission-item{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 9px;font-size:11px;color:var(--sky);width:100%;border-radius:3px}.mission-item.active{color:var(--sky);background:var(--white)}.mission-item:hover{background:var(--white)}.mission-check{display:grid;place-items:center;border:1px solid var(--white);border-radius:50%;width:15px;height:15px;flex-shrink:0}.mission-check.done{background:var(--sky);border-color:var(--sky);color:#fcffff}.mission-check .icon{width:10px;height:10px}.mission-item.active .mission-check:not(.done){border:4px solid var(--sky)}.future-note{display:flex;gap:10px;margin:28px 9px 15px;color:var(--sky);font-size:9px;line-height:1.5}.future-note>.icon{width:24px;height:24px;color:var(--sky)}.future-note small{display:block;font-size:8px;color:var(--sky);margin-top:3px}.sidebar-bottom{border-top:1px solid var(--line);padding:13px 4px 0;margin-top:16px}.sidebar-link{display:flex;align-items:center;gap:9px;width:100%;padding:8px 5px;font-size:11px;color:var(--sky);border-radius:3px}.sidebar-link:hover{background:var(--white)}.sidebar-link .icon{width:15px;height:15px}.sidebar-link .icon:last-child:not(:first-child){margin-left:auto;width:13px}.version-line{display:flex;justify-content:space-between;font-size:8px;color:var(--sky);letter-spacing:.8px;padding:18px 5px}.free-info{font-size:12px;line-height:1.6;padding:8px;color:var(--sky)}.free-info p{margin-top:8px;font-size:11px;color:var(--sky)}.workspace{flex:1;min-width:0;padding:23px 28px 0;display:flex;flex-direction:column;gap:13px;overflow-y:auto}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0}.breadcrumb{font-size:9px;color:var(--sky);letter-spacing:.4px;margin:0 0 9px}.breadcrumb>span:first-child{margin:0 8px;color:var(--white)}.breadcrumb>span:last-child{color:var(--sky)}h1{font-size:25px;font-weight:600;letter-spacing:-.9px;margin:0 0 7px;color:var(--sky)}.workspace-heading p{font-size:11px;color:var(--sky);margin:0 0 8px}.heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:3px;padding:11px 15px;font-size:11px;font-weight:550;line-height:1.2;white-space:nowrap;border:1px solid transparent}.button .icon{width:16px;height:16px}.button.dark{background:var(--sky);color:var(--white);box-shadow:none}.button.lime{background:var(--lime);color:var(--sky);border-color:var(--white)}.button.lime:hover{background:var(--sky)}.button.secondary{background:var(--white);color:var(--sky);border-color:var(--white)}.button.small{font-size:10px;padding:9px 12px;gap:7px}.button.full{width:100%}.icon-btn{width:31px;height:31px;display:inline-grid;place-items:center;border-radius:3px;flex-shrink:0;color:var(--sky);padding:4px}.icon-btn .icon{width:17px;height:17px}.icon-btn:hover,.icon-btn.active{background:var(--white);color:var(--sky)}.lab-body{display:flex;gap:14px;flex:1;min-height:340px}.stage{min-width:0;flex:1;position:relative;border:1px solid var(--white);border-radius:3px;overflow:hidden;background:var(--white)}.scene-canvas{position:absolute;inset:0}.scene-canvas canvas{display:block;width:100%;height:100%}.scene-toolbar{position:absolute;left:14px;right:14px;top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:2;pointer-events:none}.scene-toolbar>div{pointer-events:auto}.view-tabs{display:flex;background:var(--white);padding:4px;border:1px solid var(--white);border-radius:3px;box-shadow:none}.view-tabs button{display:flex;align-items:center;gap:7px;padding:7px 10px;font-size:10px;border-radius:3px;color:var(--sky)}.view-tabs button .icon{width:14px;height:14px}.view-tabs button.active{background:var(--sky);color:var(--white)}.scene-tools{background:var(--white);display:flex;padding:4px;gap:4px;border-radius:3px;border:1px solid var(--white)}.scene-label{position:absolute;left:19px;top:75px;font-size:9px;letter-spacing:1.4px;font-weight:600;color:var(--sky);display:flex;align-items:center;gap:7px;pointer-events:none}.scene-label-sub{margin-left:4px;border-left:1px solid var(--sky);padding-left:9px;font-size:8px;color:var(--sky)}.scene-stats{position:absolute;right:17px;top:75px;display:flex;gap:14px;color:var(--sky);font-size:10px;pointer-events:none}.scene-stats>span{display:flex;align-items:center;gap:5px}.scene-stats .icon{width:13px;height:13px}.scene-stats small{font-size:8px;color:var(--sky)}.scene-bottom{position:absolute;left:16px;right:16px;bottom:14px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:10px}.scene-hint{font-size:9px;color:var(--sky);display:flex;gap:6px;align-items:center}.scene-hint>.icon{width:13px;height:13px}.camera-controls{display:flex;pointer-events:auto;background:var(--white);border:1px solid var(--white);border-radius:3px;box-shadow:none}.camera-controls button{padding:6px;width:30px;height:30px;color:var(--sky)}.camera-controls button+button{border-left:1px solid var(--white)}.camera-controls .icon{width:15px;height:15px}.build-controls{position:absolute;left:16px;bottom:57px;display:flex;gap:7px;flex-wrap:wrap;pointer-events:none}.build-controls>button{pointer-events:auto;padding:9px 11px;font-size:9px;box-shadow:none}.build-controls>button .icon{width:14px;height:14px}.webgl-unavailable{position:absolute;inset:110px 20px;background:var(--white);padding:20px;display:flex;flex-direction:column;justify-content:center;line-height:1.6;font-size:12px;border-radius:3px}.webgl-unavailable p{color:var(--sky)}.inspector{width:314px;flex:0 0 314px;border:1px solid var(--white);border-radius:3px;background:var(--white);display:flex;flex-direction:column;min-height:0;overflow:hidden}.inspector-top{display:flex;justify-content:space-between;align-items:center;padding:10px 15px 0}.inspector-top .section-caption{font-size:8px;letter-spacing:1px}.inspector-top .icon-btn{width:24px;height:24px}.inspector-top .icon{width:14px;height:14px}.device-title{display:flex;align-items:center;gap:11px;padding:8px 16px 12px}.device-avatar{display:grid;place-items:center;background:var(--white);border:1px solid var(--white);border-radius:3px;width:43px;height:43px;color:var(--sky)}.device-avatar>.icon{width:24px;height:24px}.device-title h2{font-size:16px;font-weight:650;letter-spacing:-.3px;margin:0 0 5px}.device-title div>span{font-size:9px;color:var(--sky)}.device-title>.status-dot{margin-left:auto}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--white);flex-shrink:0}.status-dot.online{background:var(--sky);box-shadow:none}.status-dot.disabled{background:var(--sky)}.device-picker{padding:0 16px 10px}.device-picker select{font-size:10px;color:var(--sky);border:1px solid var(--white);border-radius:3px;background:var(--white);width:100%;padding:6px}.inspector-tabs{display:flex;padding:0 12px;border-bottom:1px solid var(--white);flex-shrink:0}.inspector-tabs button{font-size:9px;padding:11px 3px;color:var(--sky);flex:1;position:relative}.inspector-tabs button.active{color:var(--sky);font-weight:600}.inspector-tabs button.active:after{content:"";position:absolute;height:2px;background:var(--sky);left:6px;right:6px;bottom:-1px}.inspector-content{padding:16px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--white) transparent}.info-status{display:flex;gap:8px;align-items:center;background:var(--white);border:1px solid var(--white);border-radius:3px;padding:11px 10px;font-size:10px;color:var(--sky);margin-bottom:22px}.info-status>.icon{width:15px;height:15px}.info-status small{display:block;font-size:8px;color:var(--sky);margin-top:5px}.info-status.connected{color:var(--sky);background:var(--white);border-color:var(--white)}.info-status.connected small{color:var(--sky)}.properties{margin:12px 0 20px;font-size:10px}.properties>div{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:9px 0;border-bottom:1px solid var(--white)}.properties dt{color:var(--sky)}.properties dd{margin:0;text-align:right;color:var(--sky);font-size:10px}.properties>div:last-child{border-bottom:0}.tip-card{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--white);border-radius:3px;background:var(--white);padding:12px 10px;margin:18px 0;color:var(--sky);font-size:10px;line-height:1.6}.tip-card>.icon{width:15px;height:15px;margin-top:1px}.tip-card p{margin:0}.empty-copy{font-size:10px;color:var(--sky);line-height:1.6;margin:12px 0}.badge{display:inline-flex;align-items:center;font-size:8px;letter-spacing:.2px;font-weight:400;background:var(--white);border:1px solid var(--white);border-radius:3px;color:var(--sky);padding:4px 6px;white-space:nowrap}.config-heading{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:550;margin-bottom:19px;color:var(--sky)}.config-heading>.icon{width:16px;height:16px}.config-heading .badge{margin-left:auto}.field{display:block;font-size:10px;color:var(--sky);margin:0 0 14px;font-weight:500}.field>span{font-size:8px;color:var(--sky);float:right;font-weight:400}.field input,.field select{display:block;width:100%;border:1px solid var(--white);border-radius:3px;padding:9px 10px;font-size:11px;margin-top:7px;background:var(--white);color:var(--sky);transition:border-color .2s}.field input::placeholder{color:var(--white)}.field input:focus{border-color:var(--sky)}.toggle-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;padding:4px 0 10px;color:var(--sky)}.toggle-label small{display:block;font-size:8px;color:var(--sky);margin-top:4px}.toggle-label input{appearance:none;width:29px;height:17px;background:var(--white);border-radius:3px;cursor:pointer;padding:3px;flex-shrink:0;transition:background .2s}.toggle-label input:after{content:"";display:block;border-radius:50%;width:11px;height:11px;background:#fcffff;transition:transform .2s}.toggle-label input:checked:after{transform:translate(12px)}.form-error{font-size:10px;color:var(--sky);line-height:1.5;margin:6px 0 10px;min-height:0}.form-error:empty{display:none}.field-note{font-size:9px;line-height:1.65;color:var(--sky);margin:13px 0}.terminal-title{display:flex;align-items:center;gap:7px;background:var(--sky);border-radius:7px 7px 0 0;font-size:9px;color:var(--sky);padding:11px 10px}.terminal-title>span:last-child{margin-left:auto;font-size:8px;color:var(--sky)}.terminal-output{font-size:10px;line-height:1.7;padding:13px 10px;background:var(--sky);color:var(--white);margin:0;height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:var(--sky) transparent}.terminal-input{display:flex;align-items:center;background:var(--sky);padding:5px 9px;border-radius:0 0 6px 6px;color:var(--white);gap:6px}.terminal-input input{width:100%;background:none;border:0;color:var(--white);font-family:monospace;font-size:10px;min-width:0;padding:8px 3px}.terminal-input input::placeholder{color:var(--sky)}.terminal-input input:focus{outline:none}.terminal-input:focus-within{box-shadow:none}.terminal-input button{padding:5px;display:grid;place-items:center;color:var(--sky)}.terminal-input button>.icon{width:15px;height:15px}.command-help{display:flex;flex-wrap:wrap;gap:6px;margin-top:19px}.command-help>span{width:100%;font-size:8px;color:var(--sky);letter-spacing:1px;margin-bottom:3px}.command-help code{font-size:8px;background:var(--white);border:1px solid var(--white);color:var(--sky);border-radius:3px;padding:4px 5px}.diagnostic{display:flex;gap:8px;align-items:flex-start;font-size:10px;line-height:1.6;border:1px solid var(--white);border-radius:3px;padding:11px;margin-bottom:11px;background:var(--white);color:var(--sky)}.diagnostic>.icon{width:15px;height:15px;margin-top:1px}.diagnostic strong{font-size:9px;font-weight:600}.diagnostic p{margin:4px 0 0}.diagnostic.error,.diagnostic.warning{background:var(--white);border-color:var(--white);color:var(--sky)}.diagnostic.success{background:var(--white);color:var(--sky)}.diagnostics{margin:16px 0}.spaced{margin-top:24px}.port-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin:15px 0}.port{font-family:monospace;font-size:8px;padding:0;color:var(--sky)}.port>span{display:grid;place-items:center;background:var(--white);border:1px solid var(--white);height:26px;border-radius:3px;margin-bottom:5px}.port .icon{width:15px;height:15px}.port.up>span{background:var(--white);color:var(--sky);border-color:var(--sky)}.port.disabled>span{background:var(--white);color:var(--sky);border-color:var(--white)}.port-legend{display:flex;justify-content:space-between;font-size:8px;color:var(--sky);gap:4px}.port-legend>span{display:flex;align-items:center;gap:5px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:8px;margin:12px 0;color:var(--sky)}th{text-align:left;font-size:8px;font-weight:400;letter-spacing:.2px;color:var(--sky);background:var(--white);padding:8px 5px}td{padding:9px 5px;border-bottom:1px solid var(--white);word-break:break-all}.connection-row{width:100%;display:flex;align-items:center;gap:7px;font-size:9px;color:var(--sky);padding:10px 0;border-bottom:1px solid var(--white)}.connection-row .icon{width:12px;height:12px}.connection-row b{color:var(--sky);font-weight:500}.learning-strip{flex-shrink:0;display:flex;align-items:center;gap:14px;border:1px solid var(--white);border-radius:3px;background:var(--white);padding:15px 17px;position:relative}.mission-emblem{background:var(--white);border:1px solid var(--white);border-radius:3px;width:41px;height:43px;display:grid;place-items:center;flex-shrink:0;color:var(--sky)}.mission-emblem.complete{background:var(--white);color:var(--sky)}.mission-emblem>.icon{width:22px;height:22px}.learning-copy{flex:1;min-width:0}.learning-copy>span{display:block;font-size:7px;font-weight:650;letter-spacing:1.2px;color:var(--sky);margin-bottom:5px}.learning-copy>span b{font-weight:400;color:var(--sky);margin-left:5px}.learning-copy>strong{display:block;font-size:12px;font-weight:600;color:var(--sky);letter-spacing:-.1px}.learning-copy>p{font-size:10px;color:var(--sky);line-height:1.5;margin:5px 0 0}.mission-actions{display:flex;align-items:center;gap:14px;margin-left:10px;flex-shrink:0}.text-button{font-size:9px;color:var(--sky);display:flex;align-items:center;gap:5px;padding:8px 0}.text-button>.icon{width:13px;height:13px}.mission-checks{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px 17px}.mission-checks li{font-size:9px;color:var(--sky);display:flex;align-items:center;gap:5px}.mission-checks li>.icon{width:12px;height:12px}.mission-checks li.passed{color:var(--sky)}.completed-label{display:inline-block;background:var(--white);color:var(--sky);font-size:8px;border:1px solid var(--white);font-weight:400;border-radius:3px;padding:3px 5px;margin-left:8px}.mission-details{font-size:9px;color:var(--sky);margin-top:6px}.mission-details summary{cursor:pointer;font-size:8px;display:inline-flex;align-items:center;gap:4px}.mission-details summary:before{content:"+";font-size:10px}.mission-details[open] summary:before{content:"−"}.mission-details p{margin:6px 0 0;line-height:1.5}.learning-copy>p.hint-text{font-size:10px;color:var(--sky);background:var(--white);padding:10px;border-radius:3px;margin-top:10px}.hint-text>.icon{width:13px;height:13px;margin-right:5px}.packet-panel{border:1px solid var(--white);border-radius:3px;background:var(--white);flex-shrink:0;overflow:hidden}.packet-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 15px;border-bottom:1px solid var(--white)}.packet-title{display:flex;gap:8px;align-items:center}.packet-title>.icon{width:15px;height:15px;color:var(--sky)}.packet-title strong{font-size:10px;font-weight:550;color:var(--sky)}.packet-title>.badge{margin-left:3px;font-size:7px;padding:3px 5px}.playback-controls{display:flex;gap:3px;align-items:center}.playback-controls .icon-btn{width:24px;height:24px;color:var(--sky)}.playback-controls .icon{width:13px;height:13px}.playback-controls select{background:var(--white);border:1px solid var(--white);color:var(--sky);font-size:9px;padding:4px 2px;border-radius:3px;margin:0 8px}.event-list{height:74px;display:flex;gap:9px;padding:10px 13px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--white) transparent}.event-empty{display:flex;align-items:center;gap:12px;width:100%;color:var(--sky);font-size:10px;padding:0 5px}.event-empty-icon{width:31px;height:31px;background:var(--white);border:1px dashed var(--white);display:grid;place-items:center;border-radius:3px;color:var(--sky);flex-shrink:0}.event-empty-icon>.icon{width:15px;height:15px}.event-empty small{display:block;font-size:9px;color:var(--white);margin-top:5px}.protocol-pills{margin-left:auto;display:flex;gap:5px}.protocol-pills b{background:var(--white);border:1px solid var(--white);color:var(--white);font-weight:400;font-size:7px;padding:4px 7px;border-radius:3px;letter-spacing:.5px}.event-item{flex:0 0 225px;display:flex;text-align:left;align-items:center;gap:9px;background:var(--white);border:1px solid var(--white);border-radius:3px;padding:8px;color:var(--sky);overflow:hidden}.event-index{font:10px monospace;color:var(--sky);border-right:1px solid var(--white);padding-right:8px}.event-item>div{flex:1;min-width:0}.event-item b{font-size:7px;letter-spacing:.8px;color:var(--sky);font-weight:600}.event-item p{font-size:8px;margin:4px 0 0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-item>.icon{width:13px;height:13px}.event-item.current{background:var(--white);border-color:var(--sky);box-shadow:none}.event-item.current b{color:var(--sky)}.event-item.drop{background:var(--white);color:var(--sky);border-color:var(--white)}.event-item.drop b{color:var(--sky)}.event-item.drop.current{border-color:var(--sky)}.event-item.arp-request b,.event-item.arp-reply b{color:var(--sky)}.event-item.played{opacity:.65}.workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;color:var(--sky);padding:0 0 11px;flex-shrink:0}.workspace-footer>span{display:flex;align-items:center;gap:5px}.workspace-footer .icon{width:11px;height:11px}dialog{width:490px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 60px);border:1px solid var(--white);border-radius:3px;padding:26px;background:var(--white);color:var(--sky);box-shadow:none;scrollbar-width:thin;scrollbar-color:var(--white) transparent}dialog::backdrop{background:var(--sky);-webkit-backdrop-filter:none;backdrop-filter:none}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.dialog-symbol{width:43px;height:43px;display:grid;place-items:center;background:var(--white);color:var(--sky);border-radius:3px}.dialog-symbol>.icon{width:25px;height:25px}.dialog-header>.icon-btn{align-self:flex-start}dialog h2{font-size:23px;font-weight:600;letter-spacing:-.6px;line-height:1.25;margin-bottom:10px}.dialog-subtitle{font-size:12px;line-height:1.7;color:var(--sky);margin-bottom:25px}dialog .field{font-size:11px;margin-bottom:20px}dialog .field input,dialog .field select{padding:11px 12px;font-size:12px}dialog .button.full{padding:13px}.privacy-note{font-size:10px;line-height:1.7;display:flex;align-items:flex-start;gap:10px;background:var(--white);border-radius:3px;padding:14px;color:var(--sky);margin:23px 0}.privacy-note>.icon{width:16px;height:16px;margin-top:2px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.connection-form-grid{display:grid;grid-template-columns:1fr 20px 1fr;gap:13px;align-items:center}.connection-form-grid .section-caption{margin-bottom:18px}.connection-form-grid .field{font-size:10px}.connection-form-grid .field select{font-size:11px}.connection-arrow{color:var(--sky);padding-bottom:15px}.cable-list{max-height:300px;overflow-y:auto;margin:0 0 20px}.cable-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--white)}.cable-status{color:var(--sky);background:var(--white);border-radius:3px;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.cable-status.online{background:var(--white);color:var(--sky)}.cable-status .icon{width:17px;height:17px}.cable-row>div{flex:1;min-width:0}.cable-row strong{font-size:11px;font-weight:500;display:block;overflow-wrap:anywhere}.cable-row small{display:block;font-size:9px;color:var(--sky);margin-top:5px}.cable-row .icon-btn{width:25px;height:25px}.cable-row .icon-btn .icon{width:15px;height:15px}.add-options{display:flex;gap:16px}.add-options>button{display:flex;flex:1;flex-direction:column;align-items:center;border:1px solid var(--white);border-radius:3px;padding:23px 14px;background:var(--white);color:var(--sky)}.add-options>button>.icon{width:35px;height:35px;margin-bottom:17px}.add-options strong{font-size:13px;font-weight:500}.add-options small{font-size:10px;color:var(--sky);margin-top:7px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.help-grid .icon{color:var(--sky);width:22px;height:22px;margin-bottom:9px}.help-grid h3{font-size:11px;margin:0 0 8px;font-weight:550}.help-grid p{font-size:10px;color:var(--sky);line-height:1.7;margin:0}.help-shortcuts{border-top:1px solid var(--white);margin-top:24px;padding-top:20px;font-size:10px;color:var(--sky);line-height:1.7}.help-shortcuts p{margin:5px 0 15px}.help-shortcuts b{font-weight:500;color:var(--sky)}#toast{position:fixed;left:50%;bottom:25px;max-width:min(650px,90vw);display:flex;align-items:center;gap:10px;background:var(--sky);color:var(--white);border:1px solid var(--sky);border-radius:3px;padding:14px 20px;box-shadow:none;font-size:11px;line-height:1.5;z-index:30;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.25s}#toast.visible{transform:translate(-50%);opacity:1}#toast.error{background:var(--sky);border-color:var(--sky);color:var(--white)}#toast .icon{width:17px;height:17px}@media(min-width:1700px){.workspace{padding:30px 35px 0;gap:18px}.workspace-heading{padding:0 0 8px}h1{font-size:29px}.sidebar{width:270px;flex-basis:270px;padding:26px 21px 0}.level-item{padding:15px 11px}.level-item strong{font-size:12px}.level-item small{font-size:10px}.inspector{width:340px;flex-basis:340px}.inspector-content{padding:20px}.inspector-tabs button{font-size:10px}.properties,.properties dd,.field{font-size:11px}.field input,.field select{font-size:12px;padding:11px}.learning-strip{padding:19px 22px}.learning-copy>strong{font-size:14px}.learning-copy>p{font-size:11px}.event-list{height:84px}.packet-header{padding:10px 18px}.packet-title strong{font-size:12px}.scene-label{top:81px}.scene-toolbar{top:18px;left:18px;right:18px}.scene-hint{font-size:10px}}@media(max-width:1400px){.sidebar{width:228px;flex-basis:228px;padding-left:12px;padding-right:12px}.brand{min-width:191px}.workspace{padding:18px 19px 0;gap:10px}.workspace-heading h1{font-size:23px}.inspector{width:286px;flex-basis:286px}.lab-body{gap:10px;min-height:325px}.mission-actions{flex-direction:column;gap:0;align-items:flex-end}.learning-strip{padding:11px 14px;gap:11px}.learning-copy>p{font-size:9px}.text-button{font-size:8px;padding:5px 0}.mission-actions .button{font-size:9px}.scene-stats small{display:none}.scene-hint{font-size:8px}.scene-label-sub{display:none}.event-list{height:68px}.workspace-footer{font-size:7px}.header-sub{font-size:11px}.local-status{font-size:9px}.terminal-output{height:175px}}@media(max-width:1100px){.sidebar{width:194px;flex-basis:194px}.brand{min-width:155px;font-size:20px}.brand-mark{width:29px;height:31px}.app-header{padding:0 18px;gap:14px}.header-sub{display:none}.workspace{padding:15px 13px 0}.inspector{width:265px;flex-basis:265px}.inspector-tabs{padding:0 5px}.inspector-tabs button{font-size:8px}.level-item{padding:10px 7px;gap:7px}.level-item strong{font-size:10px}.level-item small{font-size:8px}.level-item>.icon{display:none}.scene-label{font-size:7px;top:72px}.scene-stats{font-size:8px;gap:5px;top:72px}.scene-stats .icon{width:10px;height:10px}.scene-hint{display:none}.scene-bottom{justify-content:flex-end}.build-controls .button{font-size:8px;padding:7px}.scene-toolbar{left:10px;right:10px;gap:5px}.view-tabs button{font-size:8px;gap:4px;padding:7px}.view-tabs button .icon{width:12px;height:12px}.scene-tools{gap:0;padding:2px}.scene-tools>.icon-btn{width:25px;height:29px}.protocol-pills{display:none}.workspace-footer>span:last-child{display:none}.mode-switch button{font-size:9px;gap:4px}.mode-switch button>.icon{width:12px;height:12px}}@media(max-width:800px){#app{min-height:100dvh;height:auto;overflow:visible}.app-header{height:59px;flex-basis:59px;position:sticky;top:0}.local-status,.header-divider{display:none}.header-right{gap:8px}.brand{font-size:20px;min-width:0}.app-layout{display:block}.sidebar{width:100%;padding:10px 15px;border-right:0;border-bottom:1px solid var(--line)}.mode-switch{max-width:300px;margin:0 auto 8px}.sidebar-scroll{overflow:visible}.sidebar-scroll>.section-caption,.sidebar-rule,#missions,.future-note,.sidebar-bottom{display:none}#levels{display:flex;gap:5px}.level-item{padding:8px;margin:0;flex:1}.level-item.locked{display:none}.level-item strong{font-size:9px}.level-item small{display:none}.level-number{width:21px;height:23px;font-size:9px}.workspace{padding:15px;overflow:visible}.workspace-heading{align-items:flex-start}.workspace-heading h1{font-size:20px}.workspace-heading p{font-size:10px}.heading-actions{gap:4px}.heading-actions .button{padding:8px;font-size:0}.heading-actions .icon{width:15px;height:15px}.lab-body{flex-direction:column;min-height:0}.stage{height:400px;min-height:400px}.inspector{width:100%;flex-basis:auto;max-height:490px}.inspector-top{padding-top:9px}.device-title{padding-top:3px}.inspector-content{min-height:140px}.inspector-tabs button,.device-picker select{font-size:11px}.learning-strip{align-items:flex-start;flex-wrap:wrap}.learning-copy{flex-basis:70%}.mission-actions{flex-direction:row;margin-left:54px;gap:15px;align-items:center}.event-empty{font-size:9px}.event-empty small{font-size:8px}.packet-title strong{font-size:9px}.packet-title>.badge{display:none}.workspace-footer{font-size:8px;padding-top:6px}.scene-hint{display:flex}.scene-bottom{justify-content:space-between}.scene-label{font-size:9px}.scene-stats,.scene-toolbar button,.build-controls .button{font-size:10px}.scene-tools>.icon-btn{width:29px}.help-grid{gap:16px}.learning-strip .mission-emblem{width:37px;height:39px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}.workspace-heading p,.breadcrumb,.level-item small,.field-note,.empty-copy,.tip-card,.properties dt,.device-title div>span,.learning-copy>p,.mission-details,.event-empty,.event-empty small,.free-info p,.future-note,.future-note small,.privacy-note,.dialog-subtitle,.help-grid p,.help-shortcuts,.field>span,.toggle-label small{color:var(--sky)}.section-caption,.section-caption span,.mission-item,.text-button,.scene-hint,.scene-label,.scene-stats small,.sidebar-link,.inspector-tabs button,.command-help>span,.port-legend,.version-line,.workspace-footer{color:var(--sky)}.info-status small,.info-status.connected small{color:var(--sky)}.level-item.locked{opacity:.75}.mission-item{font-size:12px}.field-note,.empty-copy,.tip-card{font-size:10px}.field,.properties{font-size:11px}.inspector-tabs button{font-size:10px}.terminal-output,.terminal-input input{font-size:11px}.scene-hint{font-size:10px}.learning-copy>p{font-size:11px}.event-empty{font-size:11px}.event-empty small{font-size:10px}.workspace-footer,.scene-stats small{font-size:9px}.level-item strong{font-size:12px}.level-item small{font-size:10px}.section-caption{font-size:10px;letter-spacing:1px}.sidebar .section-caption{font-size:9px}.mode-switch button{font-size:11px}.workspace-heading p{font-size:12px}.level-item.locked strong,.heading-actions .button{font-size:11px}@media(max-width:1400px){.level-item strong{font-size:11px}.level-item small,.inspector-tabs button{font-size:9px}.learning-copy>p{font-size:10px}.workspace-footer{font-size:8px}.scene-hint{font-size:9px}.mission-item{font-size:11px}}@media(max-width:1100px){.level-item strong{font-size:10px}.level-item small{font-size:8px}.mode-switch button{font-size:9px}}@media(max-width:800px){.heading-actions .button{font-size:0}.level-item strong{font-size:9px}.inspector-tabs button{font-size:11px}.workspace-heading p{font-size:10px}}.stage{background:var(--sky);border-color:var(--sky);box-shadow:none}.scene-label,.scene-stats,.scene-hint,.scene-stats small,.scene-label-sub{color:var(--white)}.scene-tools,.view-tabs,.camera-controls{background:var(--white);box-shadow:none}#visual-quality{font-size:10px;max-width:100px;border:0;background:transparent;color:var(--sky);padding:5px}.stage.immersive{position:fixed;inset:12px;z-index:25;height:auto;min-height:0;border-radius:3px}.stage.immersive .scene-canvas{height:100%}.stage.immersive .scene-hint:after{content:" · Esc para sair"}@media(min-width:1100px){.lab-body{min-height:390px}.learning-strip{padding:10px 14px}.event-list{height:60px}}:root{--ink:var(--sky);--muted:var(--sky);--line:var(--sky);--lime:var(--pink);--green:var(--sky);--dark:var(--sky);--radius:3px;color:var(--sky);background:var(--white)}body,.workspace,.sidebar,.inspector,.packet-panel,.learning-strip,dialog{background:var(--white);color:var(--sky)}#app :where(p,small,strong,h1,h2,h3,dt,dd,code,th,td,summary),.section-caption,.section-caption span,.breadcrumb,.level-item small,.field,.field>span,.field-note,.empty-copy,.tip-card,.badge,.mission-details,.event-empty,.event-empty small,.free-info,.privacy-note,.dialog-subtitle,.help-shortcuts,.toggle-label,.toggle-label small,.text-button,.sidebar-link,.inspector-tabs button,.command-help>span,.port-legend,.version-line,.workspace-footer,.mission-item,.connection-row,.connection-row b{color:var(--sky)}.app-header{background:var(--sky);color:var(--white);border-bottom:4px solid var(--pink)}.app-header :is(span,small,.icon-btn,.icon){color:var(--white)}.brand-mark,.avatar{background:var(--white);color:var(--sky)}.brand-mark .icon{color:var(--sky)}.brand sup{color:var(--white)}.local-status i,.live-dot{background:var(--pink)}.sidebar{border-right:1px solid var(--sky)}.mode-switch{padding:0;background:var(--white);border-color:var(--sky)}.mode-switch button{color:var(--sky)}.mode-switch button.active,.view-tabs button.active{background:var(--sky);color:var(--white)}.level-item{border-radius:0;border-left:3px solid transparent}.level-item.active{background:var(--white);border-left-color:var(--pink)}.level-item.active strong,.level-item.active>.icon{color:var(--sky)}.level-item.active .level-number{background:var(--sky);color:var(--white)}.level-item:hover:not(.locked),.mission-item:hover,.sidebar-link:hover{outline:1px solid var(--sky);background:var(--white)}.mission-item.active{background:var(--white);text-decoration:underline;text-underline-offset:4px}.mission-check.done{background:var(--sky);color:var(--white)}.mission-item.active .mission-check:not(.done){border-color:var(--pink)}.button.dark,.button.lime{background:var(--sky);border-color:var(--sky);color:var(--white)}.button.lime{background:var(--pink);border-color:var(--pink)}.button.secondary{background:var(--white);border-color:var(--sky);color:var(--sky)}.button:hover{filter:none;outline:2px solid var(--pink);outline-offset:2px}.button.dark:hover{background:var(--sky)}.button.lime:hover{background:var(--pink)}.button.secondary:hover{background:var(--white)}.icon-btn,.camera-controls button,.view-tabs button,#visual-quality{color:var(--sky)}.icon-btn.active{color:var(--pink);background:var(--white)}.inspector-tabs button.active{color:var(--sky)}.inspector-tabs button.active:after{background:var(--pink);height:3px}.field input,.field select,.device-picker select{color:var(--sky);background:var(--white);border-color:var(--sky)}.field input::placeholder,.terminal-input input::placeholder{color:var(--sky);opacity:1}.toggle-label input{background:var(--white);border:1px solid var(--sky)}.toggle-label input:after{background:var(--sky)}.toggle-label input:checked{background:var(--sky)}.toggle-label input:checked:after{background:var(--white)}.learning-strip{border:0;border-top:3px solid var(--sky);border-bottom:1px solid var(--sky);border-radius:0}.mission-emblem,.mission-emblem.complete,.device-avatar,.dialog-symbol{color:var(--sky);background:var(--white);border-color:var(--sky)}.completed-label{background:var(--white);border-color:var(--sky);color:var(--sky)}.info-status,.info-status.connected,.tip-card,.diagnostic,.diagnostic.success,.diagnostic.warning,.diagnostic.error{background:var(--white);color:var(--sky);border-color:var(--sky)}.diagnostic.error,.diagnostic.warning{border-left:4px solid var(--pink)}.form-error{color:var(--pink)}.terminal-title,.terminal-output,.terminal-input{background:var(--white);color:var(--sky);border:1px solid var(--sky)}.terminal-title{border-bottom:0}.terminal-input{border-top:0}.terminal-input input,.terminal-input button,.terminal-title>span:last-child{color:var(--sky)}.status-dot{background:var(--white);border:1px solid var(--sky)}.status-dot.online{background:var(--sky)}.status-dot.disabled{background:var(--pink);border-color:var(--pink)}.port.up>span{background:var(--sky);color:var(--white)}.port.disabled>span{background:var(--pink);color:var(--white)}.event-item,.event-item.current,.event-item.drop{background:var(--white);color:var(--sky);border-color:var(--sky)}.event-item.current{border:2px solid var(--pink)}.event-item.drop{border-left:4px solid var(--pink)}#toast,#toast.error{background:var(--sky);color:var(--white);border:2px solid var(--white)}#toast.error{background:var(--pink)}dialog::backdrop{background:var(--sky);opacity:.65}.scene-tools,.view-tabs,.camera-controls{background:var(--white)}.scene-label,.scene-stats,.scene-stats small,.scene-label-sub,.scene-hint{color:var(--sky);background:var(--white);padding:4px 6px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus,select:focus{outline:2px solid var(--pink);outline-offset:3px}.future-note,.protocol-pills{display:none}.section-caption,.learning-copy>span{letter-spacing:.3px}.workspace-heading h1{letter-spacing:-.4px;font-weight:700}.app-header .avatar{color:var(--sky)}body,.workspace,.sidebar,.learning-strip,.packet-panel{background:var(--sky);color:var(--white)}.sidebar{border-right-color:var(--white)}.app-header{border-bottom:1px solid var(--white)}#app .workspace-heading :is(h1,p),#app .breadcrumb,#app .breadcrumb span,#app .sidebar :is(strong,small,.section-caption,.section-caption span,.level-number,.level-item,.level-item>.icon,.mission-item,.sidebar-link,.version-line,.free-info,.free-info p),#app .learning-strip :is(strong,p,small,summary,.learning-copy>span,.learning-copy>span b,.mission-details,.mission-checks li,.text-button),#app .workspace-footer,#app .packet-title strong,#app .packet-title>.icon,#app .event-empty,#app .event-empty small{color:var(--white)}.sidebar-rule{background:var(--white)}.sidebar-bottom{border-top-color:var(--white)}.mode-switch{background:var(--sky);border-color:var(--white)}.mode-switch button{color:var(--white)}.mode-switch button.active{background:var(--white);color:var(--sky)}.level-item.active,.mission-item.active{background:var(--sky)}.level-item.active{border-left-color:var(--pink)}.level-number{border-color:var(--white)}.level-item.active .level-number{background:var(--white);color:var(--sky)!important}.level-item:hover:not(.locked),.mission-item:hover,.sidebar-link:hover{background:var(--sky);outline-color:var(--white)}.mission-check{border-color:var(--white)}.mission-check.done{background:var(--white);color:var(--sky)}.learning-strip{border-top:1px solid var(--white);border-bottom:1px solid var(--white)}#app .learning-copy>p.hint-text{background:var(--white);color:var(--sky)}.heading-actions .button,.mission-actions .button{background:var(--white);color:var(--sky);border-color:var(--white)}.heading-actions .button:hover,.mission-actions .button:hover{background:var(--white)}.button.lime,.button.lime:hover{background:var(--white);color:var(--sky);border-color:var(--sky)}.packet-panel{border-color:var(--white)}.packet-header{border-bottom-color:var(--white)}.playback-controls .icon-btn{color:var(--white)}.inspector{border-color:var(--white)}.inspector-top,.device-title,.device-picker,.inspector-tabs{background:var(--sky);color:var(--white)}#app .inspector-top .section-caption,#app .device-title h2,#app .device-title div>span,.inspector-top .icon-btn,.inspector-tabs button,.inspector-tabs button.active{color:var(--white)}.inspector-tabs{border-bottom:3px solid var(--white)}.inspector-tabs button.active:after{background:var(--pink)}.inspector-content{background:var(--white)}.scene-tools .icon-btn.active{color:var(--sky)}
