.wbx-three{position:absolute;inset:0;overflow:hidden;background:#142b3b}.wbx-three-canvas{position:absolute;inset:0}.wbx-three-canvas canvas{width:100%;height:100%;display:block;touch-action:none}.wbx-three-heading{position:absolute;top:16px;left:16px;pointer-events:none;display:grid;gap:3px}.wbx-three-heading strong{font-size:15px;font-weight:600;color:#f1f6fa}.wbx-three-heading span{color:#c2d6e2;font-size:12px}.wbx-three-actions{position:absolute;right:12px;bottom:46px;display:flex;gap:6px;flex-wrap:wrap}.wbx .wbx-three-actions button{font-size:12px;min-height:36px;background:#132c3a;color:#eef5fa}.wbx-three-help{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;padding:5px 8px;border-radius:5px;background:#132c3a;font-size:12px;color:#e3edf4;pointer-events:none}.wbx-three-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.wbx-three-labels span{position:absolute;top:0;left:0;background:#132c3a;color:#eef5fa;font-size:12px;padding:3px 6px;border-radius:4px;white-space:nowrap}.wbx-three-failure{position:absolute;inset:0;padding:24px;background:#142b3b;color:#eef5fa;display:grid;place-content:center;text-align:center}@media(max-width:480px){.wbx-three-heading{top:12px;left:12px}.wbx-three-heading span{max-width:220px}.wbx-three-actions{bottom:64px}}.wbx{--wbx-bg: #101820;--wbx-surface: #17232d;--wbx-stage: #0c141c;--wbx-text: #edf3f8;--wbx-muted: #b0bfcc;--wbx-border: #334653;--wbx-accent: #95d9fb;--wbx-accent-text: #102533;--wbx-hover: #243847;color-scheme:dark;color:var(--wbx-text);background:var(--wbx-bg);font:400 14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100dvh;min-height:540px;width:100%;min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;isolation:isolate}.wbx *,.wbx *:before,.wbx *:after{box-sizing:border-box}.wbx [hidden]{display:none!important}.wbx h1,.wbx h2,.wbx h3,.wbx p{margin:0}.wbx h1{font-size:18px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.wbx h2{font-size:15px;font-weight:600;margin-bottom:6px}.wbx h3{font-size:14px;font-weight:600}.wbx p{overflow-wrap:anywhere}.wbx button,.wbx select{font:inherit;color:inherit}.wbx button{cursor:pointer;min-height:40px;padding:8px 12px;border:1px solid var(--wbx-border);border-radius:7px;background:var(--wbx-surface);white-space:nowrap}.wbx button:hover:not(:disabled){background:var(--wbx-hover)}.wbx button:disabled,.wbx select:disabled,.wbx input:disabled{opacity:.5;cursor:not-allowed}.wbx :focus-visible{outline:3px solid var(--wbx-accent);outline-offset:3px}.wbx button[aria-pressed=true],.wbx button.wbx-primary{background:var(--wbx-accent);color:var(--wbx-accent-text);border-color:var(--wbx-accent)}.wbx button[aria-pressed=true]:hover,.wbx button.wbx-primary:hover{filter:brightness(1.06);background:var(--wbx-accent)}.wbx-header{padding:16px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--wbx-border)}.wbx-title{min-width:0}.wbx-title p{color:var(--wbx-muted);font-size:12px;margin-top:4px}.wbx-header-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.wbx-status{color:var(--wbx-muted);font-size:12px}.wbx-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0}.wbx[data-inspector-open=false] .wbx-body{grid-template-columns:minmax(0,1fr)}.wbx-stage{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:16px;gap:12px}.wbx-viewbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.wbx-view-buttons{display:flex;flex-wrap:wrap;gap:4px}.wbx-view-buttons button{font-size:12px}.wbx-viewport{position:relative;min-height:0;min-width:0;overflow:hidden;border-radius:9px;background:var(--wbx-stage);border:1px solid var(--wbx-border)}.wbx-viewport>canvas,.wbx-viewport>svg{display:block;width:100%;height:100%}.wbx-scene-message{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:24px;background:var(--wbx-stage);text-align:center}.wbx-scene-message p{margin:10px 0}.wbx-scene-help{font-size:12px;color:var(--wbx-muted)}.wbx-inspector{background:var(--wbx-surface);border-left:1px solid var(--wbx-border);min-width:0;overflow:auto;scrollbar-gutter:stable}.wbx-tabs{display:flex;position:sticky;top:0;z-index:1;background:var(--wbx-surface);border-bottom:1px solid var(--wbx-border);padding:8px;gap:4px}.wbx-tabs button{flex:1;min-width:0;padding:8px;border-color:transparent;border-radius:5px}.wbx-tabs button[aria-selected=true]{background:var(--wbx-hover);text-decoration:underline;text-decoration-color:var(--wbx-accent);text-underline-offset:8px}.wbx-panel{padding:20px;overflow-wrap:anywhere}.wbx-muted,.wbx-empty{color:var(--wbx-muted)}.wbx-empty{margin-top:16px!important}.wbx-facts{margin:20px 0 0}.wbx-facts>div{padding:14px 0;border-top:1px solid var(--wbx-border)}.wbx-facts dt{color:var(--wbx-muted);font-size:12px}.wbx-facts dd{margin:3px 0 0;font-variant-numeric:tabular-nums}.wbx-facts small{display:block;font:inherit;font-size:12px;color:var(--wbx-muted);margin-top:5px}.wbx-why{margin-top:18px;border-top:1px solid var(--wbx-border);padding-top:12px}.wbx-why summary{cursor:pointer;font-weight:600}.wbx-why p{margin-top:8px;color:var(--wbx-muted);font-size:13px}.wbx-event-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}.wbx-event-list button{width:100%;text-align:left;display:grid;gap:4px;white-space:normal}.wbx-event-list .wbx-time{font-size:12px}.wbx-event-detail p{margin-top:8px}.wbx-replay{padding:14px 20px max(12px,env(safe-area-inset-bottom));background:var(--wbx-surface);border-top:1px solid var(--wbx-border);z-index:3}.wbx-replay-top,.wbx-transport,.wbx-replay-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.wbx-replay-top{justify-content:space-between;gap:14px}.wbx-replay-meta{gap:18px}.wbx-time{font-variant-numeric:tabular-nums;white-space:nowrap}.wbx-speed{display:flex;align-items:center;gap:8px}.wbx-speed select{background:var(--wbx-bg);border:1px solid var(--wbx-border);border-radius:6px;min-height:40px;padding:6px}.wbx-timeline{display:block;width:100%;height:30px;margin:10px 0 0;accent-color:var(--wbx-accent);cursor:pointer}.wbx-timeline-labels{display:flex;justify-content:space-between;color:var(--wbx-muted);font-size:12px}.wbx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.wbx{height:auto;min-height:100dvh;grid-template-rows:auto 1fr auto}.wbx-body{grid-template-columns:minmax(0,1fr)}.wbx-stage{grid-template-rows:auto minmax(280px,48dvh) auto}.wbx-inspector{border-left:0;border-top:1px solid var(--wbx-border);max-height:360px}.wbx-replay{position:sticky;bottom:0}}@media(max-width:480px){.wbx-header,.wbx-replay{padding-left:12px;padding-right:12px}.wbx-stage{padding:12px}.wbx-replay-meta{width:100%;justify-content:space-between;gap:8px}.wbx button,.wbx select{min-height:44px}.wbx-speed select{font-size:16px}}@media(prefers-reduced-motion:reduce){.wbx *,.wbx *:before,.wbx *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}section.wbx{margin:0;padding:0;border:0;border-radius:0}.wbx section{background:transparent;border:0;margin:0;border-radius:0}.wbx-header{background:var(--wbx-bg)}.wbx-viewport .volume{fill:#95d9fb2e;stroke:#95d9fb;stroke-width:1;stroke-dasharray:3 2}.wbx-viewport .beam{stroke:#6c879a;stroke-width:1;fill:none}.wbx-viewport .sight{stroke:#95d9fb;stroke-width:1.2;fill:none}.wbx-viewport .trail{stroke:#95d9fb;stroke-width:1.4;opacity:.55;fill:none}.wbx-viewport .reference{fill:#e07a7a}.wbx-viewport .site{fill:#edf3f8}.wbx-viewport .crumb{fill:#95d9fb}.wbx-viewport .world-label{fill:#b0bfcc;font-size:11px}.wbx-viewport>.world-toggle{position:absolute;z-index:1;left:12px;bottom:12px;margin:0;display:flex;gap:8px;align-items:center;color:var(--wbx-text);background:#0c141cd1;border:1px solid var(--wbx-border);border-radius:7px;padding:6px 10px}.wbx-viewport>.world-toggle input{width:auto;margin:0}.wbx-notes label{color:var(--wbx-muted);font-size:12px;display:block;margin:10px 0}.wbx-notes input,.wbx-notes select{width:100%;background:var(--wbx-bg);color:var(--wbx-text);border:1px solid var(--wbx-border);border-radius:6px;min-height:40px;padding:6px}:root{color:#1c2430;background:#f4f6f8;font-family:Segoe UI,system-ui,sans-serif;font-size:15px}body{margin:0}header{display:flex;gap:1.25rem;align-items:center;padding:.7rem 1.25rem;background:#fff;border-bottom:1px solid #d5dbe3}header strong{margin-right:auto}button,header a{font:inherit;color:#1f4b99;background:none;border:0;padding:0;cursor:pointer}header button.current{font-weight:650;text-decoration:underline;text-underline-offset:.25rem}td button{text-align:left}button.primary{background:#1f4b99;color:#fff;border-radius:4px;padding:.35rem .7rem}main{padding:1rem 1.25rem 3rem;max-width:1100px}#root:has(main.bleed){display:flex;flex-direction:column;height:100dvh;overflow:hidden}#root:has(main.bleed)>header{flex:none}main.bleed{flex:1;min-height:0;max-width:none;padding:0;overflow:hidden}main.bleed>section.wbx{height:100%;min-height:0}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid #e4e8ee;vertical-align:top}tr.clickable{cursor:pointer}tr.clickable:hover{background:#f0f4fa}.fail{color:#8d2a2a}.pass{color:#1d6b3a}.muted{color:#5c6b7a}section{background:#fff;border:1px solid #e4e8ee;border-radius:6px;padding:.8rem 1rem;margin:.8rem 0}label{display:block;margin:.4rem 0}input,select,textarea{font:inherit;width:min(100%,36rem);padding:.3rem .4rem}.error{color:#8d2a2a}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.row label{display:flex;gap:.35rem;align-items:center;margin:0}.row select{width:auto}.knobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem;margin:.8rem 0}.knobs label{font-size:.85rem;color:#5c6b7a}.knobs input,.knobs select{width:100%}.check{display:flex;gap:.5rem;align-items:flex-start}.check input{width:auto;margin-top:.2rem}fieldset{border:1px solid #e4e8ee;border-radius:6px;margin:.8rem 0}.mono{font-family:ui-monospace,monospace;font-size:.85rem}.scrub{width:100%;margin:.4rem 0 .8rem}.plot{margin:.2rem 0}.plot figcaption{font-size:.8rem;color:#5c6b7a;height:2.6em;overflow:hidden}.plot svg{width:100%;height:auto;background:#fff;border:1px solid #e4e8ee;overflow:hidden;display:block}.readout{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin:.4rem 0 .6rem}.readout div{background:#f4f6f8;padding:.25rem .45rem;min-height:2.5rem}.readout dt{font-size:.72rem;color:#5c6b7a}.readout dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot{height:1.5em;margin:.35rem 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hold{height:4.4em;overflow:hidden}.line{height:2.8em;overflow:hidden}.detect{height:12.5rem;overflow:hidden}.sensing td.clip{max-width:28rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sensing,.instrument,.plot{overflow-anchor:none}.plot path{fill:none;stroke:#1f4b99;stroke-width:1.4}.plot .window{fill:#d9e6f8}.plot .cursor{stroke:#8d2a2a;stroke-width:1}.plot text{fill:#5c6b7a;font-size:10px}.instrument{background:#10161d;color:#d5dde6;border-radius:6px;padding:.8rem 1rem;margin-top:.6rem}.instrument p,.instrument h4{color:#d5dde6}.instrument .scope-title{font-weight:650}.instrument table{background:transparent;color:inherit}.instrument th,.instrument td{border-bottom-color:#2a3542}.instrument .muted,.plot.scope figcaption{color:#9aabbc}.plot.scope svg{background:#0c1218;border-color:#2a3542}.plot.scope path{stroke:#7dcea0}.plot.scope text{fill:#9aabbc}.plot.scope .noise{stroke:#c47b7b;stroke-dasharray:3 3}.plot.scope .noise-label{fill:#c47b7b}.views{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.6rem}.plot .volume{fill:#1f4b9929;stroke:#1f4b99;stroke-width:1;stroke-dasharray:3 2}.plot .beam{stroke:#9aa8b8;stroke-width:1;fill:none}.plot .sight{stroke:#1f4b99;stroke-width:1.2;fill:none}.plot .trail{stroke:#1f4b99;stroke-width:1.2;opacity:.45;fill:none}.plot .reference{fill:#8d2a2a;stroke:#8d2a2a}.plot .site{fill:#1c2430}.inspector{background:#f4f6f8;padding:.5rem .7rem}.sensing table button{font:inherit}
