.programmer-tools{position:absolute;z-index:65;left:8px;right:44px;bottom:22px;display:grid;grid-template-columns:64px repeat(4,1fr);gap:7px;font:13px 'Segoe UI',sans-serif}
.programmer-tools button{min-height:46px;min-width:0;border:1px solid #d4c9e5;border-radius:15px;background:linear-gradient(145deg,#fff,#f2effa 60%,#e6f3f3);color:#433455;padding:7px;box-shadow:0 3px 10px #45356a12;cursor:pointer;font:inherit;white-space:normal}
.programmer-tools .vector-launch{background:linear-gradient(125deg,#35304e,#4c5278);color:#fff;border-color:#777a9f}
.vector-lab{position:absolute;inset:0;z-index:75;display:flex;flex-direction:column;background:#101723;color:#e9edf6;font:13px/1.4 'Segoe UI',sans-serif;overflow:hidden}
.vector-lab *{box-sizing:border-box}.vector-lab button,.vector-lab input,.vector-lab select,.vector-lab textarea{font:inherit;color:inherit}
.vector-lab button,.vector-lab select{border:1px solid #536178;background:#1e2b3c;border-radius:11px;padding:7px 10px;cursor:pointer;min-height:36px}
.vector-lab button:hover{background:#2c3e52}.vector-lab button:disabled{opacity:.5;cursor:default}.vector-lab :focus-visible{outline:2px solid #99e7df;outline-offset:2px}
.vl-header{height:55px;padding:8px 12px;display:flex;align-items:center;gap:12px;flex-shrink:0}.vl-header h1{font-size:19px;margin:0;font-weight:600;letter-spacing:.02em}.vl-badge{margin-left:auto;font-size:11px;color:#b8cad8}
.vl-observatory-link{font-size:11px;color:#f2d29c;text-decoration:none;white-space:nowrap;border-bottom:1px solid #f2d29c70;padding:5px 0}.vl-observatory-link:hover{color:#fff0d3}.vl-observatory-link:focus-visible{outline:2px solid #99e7df;outline-offset:2px}@media(max-width:600px){.vl-header{gap:6px}.vl-header h1{font-size:15px}.vl-badge{display:none}.vl-observatory-link{margin-left:auto;max-width:136px;white-space:normal;text-align:right;line-height:1.2}}
.vl-orientation{position:absolute;right:6px;top:45px;width:74px;height:74px;pointer-events:none;filter:drop-shadow(0 2px 3px #0008)}.vl-demo-note{position:absolute;top:84px;left:12px;max-width:210px;margin:0;padding:6px 8px;border-radius:8px;background:#101723d9;color:#c5d0dc;font-size:11px;pointer-events:none}
.vector-lab .ethereal-nav{min-width:58px;min-height:36px;color:#dce4f2;background:linear-gradient(125deg,#293146,#354b5b);border-color:#536178;padding:5px 12px}
.vl-stage{position:relative;flex:1;min-height:250px;overflow:hidden}.vl-stage canvas{display:block;width:100%;height:100%;touch-action:none}
.vl-scene-tools{position:absolute;left:10px;right:10px;top:4px;display:flex;gap:5px;align-items:center}.vl-scene-tools button,.vl-scene-tools select{font-size:11px;min-height:32px;padding:5px 7px;background:#152333dc}.vl-scene-tools select{min-width:0;flex:1}.vl-scene-tools [aria-pressed=true]{border-color:#8bddcb;background:#304f57}
@media(max-width:600px){.vl-scene-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;grid-template-areas:'side mode mode fit' 'field geo rays pulse';gap:4px}.vl-scene-tools>:nth-child(1){grid-area:side}.vl-scene-tools>:nth-child(2){grid-area:mode}.vl-scene-tools>:nth-child(3){grid-area:rays}.vl-scene-tools>:nth-child(4){grid-area:pulse}.vl-scene-tools>:nth-child(5){grid-area:fit}.vl-scene-tools>:nth-child(6){grid-area:field}.vl-scene-tools>:nth-child(7){grid-area:geo}.vl-shells{top:80px}.vl-orientation{top:112px}.vl-demo-note{top:122px}}
.vl-overlay{position:absolute;left:12px;right:12px;bottom:27px;margin:0;color:#e1e9ef;text-shadow:0 1px 3px #000;pointer-events:none;font-size:12px}.vl-gesture{position:absolute;bottom:7px;left:12px;right:12px;margin:0;font-size:10px;color:#9eafc3;pointer-events:none}
.vl-lower{height:222px;flex-shrink:0;display:flex;flex-direction:column;background:#162232;border-top:1px solid #3c4c60}.vl-tabs{display:flex;gap:3px;padding:7px 9px 3px}.vl-tabs button{flex:1;padding:5px;font-size:11px;min-width:0;white-space:nowrap;background:transparent;border-color:transparent}.vl-tabs [aria-current=true]{border-color:#657788;background:#2b3c4f}
.vl-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 12px;scrollbar-width:thin;scrollbar-color:#536178 transparent}.vl-copy{font-size:12px;line-height:1.45;color:#c1d0df;margin:0 0 9px}.vl-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.vl-row>*{min-width:0;flex:1}.vl-row input[type=file]{font-size:11px;max-width:100%;flex-basis:180px}
.vl-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.vl-field{display:flex;flex-direction:column;gap:4px;font-size:12px;margin-bottom:7px}.vl-field input:not([type=checkbox]):not([type=range]),.vl-field textarea,.vl-field select{min-width:0;width:100%;background:#0f1926;border:1px solid #526278;border-radius:8px;padding:6px;min-height:34px}.vl-field textarea{height:62px;resize:vertical}.vl-field input[type=color]{height:38px}.vl-field input[type=checkbox]{align-self:flex-start}.vl-field input[type=range]{accent-color:#a5a1e5}
.vector-lab .vl-primary{background:linear-gradient(125deg,#565284,#376b76);border-color:#8196af;color:white}.vl-status{font-size:10px;margin:0;padding:5px 12px;color:#aac7ce;flex-shrink:0;min-height:23px;border-top:1px solid #29394b}
.vl-memory-list{display:flex;gap:5px;flex-wrap:wrap;max-height:94px;overflow:auto;margin-bottom:9px}.vl-memory-list .vl-memory{font-size:11px;min-height:30px;padding:4px 8px;border-left:3px solid var(--memory-colour)}.vl-memory[aria-pressed=true]{background:#45516c}.vl-detail h2{font-size:15px;margin:8px 0}.vl-source{font-size:10px;color:#a6c1cf;overflow-wrap:anywhere}.vl-text{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.vl-detail details{padding:8px 0;border-top:1px solid #405064}.vl-detail summary{cursor:pointer;color:#e6e1fc;padding:4px 0}.vl-detail details>button{display:block;width:100%;text-align:left;margin:6px 0;font-size:12px}.vl-no-webgl{padding:70px 20px}

.vl-shells{position:absolute;left:10px;top:42px;display:flex;gap:3px}.vector-lab .vl-shell-toggle{width:32px;height:34px;min-height:34px;padding:7px;border-color:transparent;background:#101723cc;border-radius:50%;display:grid;place-items:center}.vl-shell-toggle span{display:block;width:18px;height:18px;border-radius:50%;background:var(--shell-colour);box-shadow:0 0 6px color-mix(in srgb,var(--shell-colour),transparent 50%)}.vector-lab .vl-shell-toggle[aria-pressed=true]{border-color:#d9e5ec99}.vl-shell-toggle[aria-pressed=false] span{opacity:.25;box-shadow:none}.vl-overlay{bottom:38px}.vl-gesture{max-width:calc(100% - 24px)}
@media(max-width:600px){.vector-lab .vl-shells{top:80px}}
