*{box-sizing:border-box}.unified-workspace{--workspace-bg:#071013;--workspace-panel:#0d181c;--workspace-panel-raised:#122126;background:var(--workspace-bg);color:var(--ink-soft);grid-template-rows:3.25rem minmax(0,1fr) 1.7rem;height:100dvh;display:grid;position:relative;overflow:hidden}.workspace-toolbar{border-bottom:1px solid var(--rule);background:#0a1418;grid-template-columns:minmax(11rem,1fr) auto minmax(11rem,1fr);align-items:center;gap:1rem;padding:0 .75rem;display:grid}.workspace-brand{flex-direction:column;display:flex}.workspace-brand strong{color:var(--ink);letter-spacing:-.02em;font-size:.86rem}.workspace-brand span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:.52rem}.workspace-mode-switch{border:1px solid var(--rule);background:#050b0d;padding:.15rem;display:flex}.workspace-mode-switch button,.workspace-toolbar-actions button,.viewport-tools button,.inspector-actions button,.inspector-section>button{color:var(--muted);cursor:pointer;font:.64rem var(--mono);background:0 0;border:1px solid #0000;padding:.4rem .65rem}.workspace-mode-switch button[aria-pressed=true]{border-color:var(--signal);color:var(--signal-bright);background:#67cdd324}.workspace-toolbar-actions{justify-content:flex-end;gap:.25rem;display:flex}.mobile-panel-toggle{display:none}.workspace-toolbar-actions button:hover,.viewport-tools button:hover,.inspector-actions button:hover{border-color:var(--rule);color:var(--ink)}.workspace-toolbar-actions button:disabled{cursor:default;opacity:.3}.workspace-toolbar-actions .danger-quiet:hover{border-color:var(--danger);color:#ffaaa0}.workspace-grid{grid-template-columns:14rem minmax(0,1fr) 19rem;min-height:0;display:grid}.workspace-outliner,.workspace-inspector{background:var(--workspace-panel);min-height:0;overflow:auto}.workspace-outliner{border-right:1px solid var(--rule)}.workspace-inspector{border-left:1px solid var(--rule)}.workspace-outliner>header,.workspace-inspector>header{border-bottom:1px solid var(--rule);font:.66rem var(--mono);text-transform:uppercase;justify-content:space-between;align-items:center;min-height:2.4rem;padding:0 .7rem;display:flex}.workspace-outliner header small,.workspace-inspector header small{color:var(--muted);font-size:.54rem}.workspace-outliner nav>p{color:#617178;font:.52rem var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:.65rem .7rem .25rem}.outliner-row{color:var(--muted);font:.63rem var(--mono);text-align:left;background:0 0;border:0;grid-template-columns:.55rem minmax(0,1fr) auto;align-items:center;gap:.5rem;width:100%;padding:.38rem .7rem;display:grid}.outliner-row:hover{color:var(--ink);background:#ffffff09}.outliner-row[aria-pressed=true]{box-shadow:inset 2px 0 var(--signal);color:var(--ink);background:#67cdd31a}.outliner-row i{background:var(--signal);border-radius:50%;width:.38rem;height:.38rem}.outliner-row.kind-listener i{background:var(--listener)}.outliner-row.kind-wall i{background:#e77f71;border-radius:1px}.outliner-row.kind-primitive i{background:#a996d8;border-radius:2px}.outliner-row.kind-surface i{background:#738489;border-radius:1px}.outliner-row em{color:var(--listener);text-transform:uppercase;font-size:.48rem;font-style:normal}.outliner-row.is-disabled{opacity:.4;text-decoration:line-through}.workspace-viewport-panel{background:#060d0f;min-height:0;padding:.6rem;overflow:auto}.workspace-viewport-panel .canvas-stage{min-height:calc(100dvh - 7rem)}.workspace-viewport-panel .hybrid-spatial-viewport{margin:0}.viewport-tools{border:1px solid var(--rule);background:#0a1418f2;align-items:center;gap:.35rem;min-height:2.45rem;padding:0 .55rem;display:flex}.viewport-tools>span:first-child{color:var(--ink);font:.66rem var(--mono);flex:1}.viewport-tools>span{color:var(--muted);font:.54rem var(--mono)}.inspector-section{border-bottom:1px solid var(--rule-soft);padding:.75rem}.workspace-project-tools{border-bottom:1px solid var(--rule);padding:.65rem .75rem}.workspace-project-tools>.select-field{margin-bottom:.45rem}.workspace-project-tools textarea{border:1px solid var(--rule);color:var(--ink);font:.62rem/1.45 var(--mono);resize:vertical;background:#071013;width:100%;min-height:4.5rem;margin:.35rem 0;padding:.45rem;display:block}.workspace-project-tools button{border:1px solid var(--rule);color:var(--ink-soft);font:.58rem var(--mono);background:0 0;margin:.2rem .2rem .2rem 0;padding:.4rem .5rem}.workspace-project-tools button:disabled{opacity:.35}.workspace-explanation{border-left:2px solid var(--signal);margin-top:.5rem;padding-left:.5rem}.workspace-explanation strong{color:var(--ink);display:block}.workspace-explanation p{margin:.3rem 0}.inspector-section h3{color:var(--ink);font:.63rem var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .65rem}.numeric-scrub-field{background:#091316;border:1px solid #26383d;grid-template-columns:minmax(5.5rem,.9fr) minmax(3.75rem,1fr) 2rem;align-items:center;min-height:2rem;margin:.32rem 0;display:grid;position:relative}.numeric-scrub-field:focus-within{border-color:var(--signal)}.numeric-scrub-label{color:var(--signal);cursor:ew-resize;font:700 .6rem var(--mono);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#67cdd314;border:0;align-self:stretch;min-width:0;padding:.4rem .55rem;overflow:hidden}.numeric-scrub-label.axis-x{color:#e77f71}.numeric-scrub-label.axis-y{color:var(--listener)}.numeric-scrub-label.axis-z{color:var(--signal-bright)}.numeric-scrub-field input{color:var(--ink);font:.67rem var(--mono);background:0 0;border:0;outline:0;min-width:0;padding:.4rem .5rem}.numeric-scrub-field>span{color:var(--muted);font:.56rem var(--mono);text-align:right;text-overflow:ellipsis;padding-right:.35rem;overflow:hidden}.numeric-scrub-field small{color:#ffc4bd;background:#361c1c;grid-column:1/-1;padding:.3rem}.numeric-scrub-field.is-invalid{border-color:var(--danger)}.text-field,.select-field,.source-asset-state{color:var(--muted);font:.57rem var(--mono);grid-template-columns:minmax(5.5rem,.9fr) minmax(0,1fr);align-items:center;gap:.45rem;min-width:0;margin:.32rem 0;display:grid}.text-field input,.select-field select{color:var(--ink);font:.65rem var(--mono);background:#091316;border:1px solid #26383d;width:100%;min-width:0;padding:.45rem .5rem}.text-field:focus-within input,.select-field:focus-within select{border-color:var(--signal);outline:0}.source-asset-state{background:#091316;border:1px solid #26383d;min-height:2rem;padding:.4rem .5rem}.source-asset-state strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.source-asset-state em{color:var(--danger);overflow-wrap:anywhere;grid-column:2;font-style:normal}.check-field{color:var(--ink-soft);font:.62rem var(--mono);align-items:center;gap:.45rem;margin:.55rem 0;display:flex}.file-button{border:1px solid var(--rule);color:var(--signal-bright);cursor:pointer;font:.58rem var(--mono);text-align:center;margin:.45rem 0;padding:.45rem .55rem;display:block}.file-button input{display:none}.inspector-actions{gap:.4rem;padding:.75rem;display:flex}.inspector-actions button{border-color:var(--rule);flex:1}.workspace-hint-card{border-bottom:1px solid var(--rule-soft);color:var(--muted);font:.6rem/1.5 var(--mono);padding:.65rem .75rem}.workspace-hint-card summary{color:var(--ink-soft);cursor:pointer}.workspace-hint-card div{padding-top:.55rem}.workspace-statusbar{border-top:1px solid var(--rule);color:var(--muted);font:.5rem var(--mono);text-transform:uppercase;background:#081115;align-items:center;gap:1rem;padding:0 .7rem;display:flex}.workspace-statusbar span:first-child{color:var(--signal-bright)}.workspace-statusbar i{background:var(--signal);border-radius:50%;width:.4rem;height:.4rem;margin-right:.3rem;display:inline-block}.workspace-statusbar span:last-child{margin-left:auto}.add-object-popover,.audio-picker{z-index:30;background:#0d191d;border:1px solid #3c5e64;min-width:14rem;padding:.45rem;display:grid;position:fixed;top:3rem;left:50%;transform:translate(-50%);box-shadow:0 18px 60px #00000080}.add-object-popover header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:.35rem .45rem .55rem;display:flex}.add-object-popover header strong{font:.65rem var(--mono)}.add-object-popover button{color:var(--muted);font:.65rem var(--mono);text-align:left;background:0 0;border:0;padding:.55rem}.add-object-item{display:contents}.add-object-item>p{color:#617178;font:.5rem var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:.5rem .55rem .1rem}.add-object-item>button:hover{color:var(--ink);background:#67cdd314}.add-object-item>button span{color:var(--signal);width:2rem;display:inline-block}.audio-picker{min-width:19rem;max-height:75dvh;overflow:auto}.audio-picker header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:.4rem;display:flex}.audio-picker p{color:#617178;font:.52rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:.6rem .45rem .2rem}.audio-picker button{color:var(--ink-soft);font:.64rem var(--mono);text-align:left;background:0 0;border:0;justify-content:space-between;padding:.55rem;display:flex}.audio-picker button:hover{background:#67cdd314}.audio-picker button small{color:var(--muted)}.audio-upload{border:1px dashed var(--rule);color:var(--signal-bright);cursor:pointer;font:.62rem var(--mono);text-align:center;margin:.45rem;padding:.65rem}.audio-upload input{display:none}.audio-picker>small{color:var(--listener);font:.55rem/1.4 var(--mono);padding:.4rem}@media (max-width:850px){.workspace-toolbar{grid-template-columns:auto auto minmax(0,1fr);gap:.35rem;padding:0 .35rem}.workspace-toolbar-actions{overflow-x:auto}.mobile-panel-toggle{display:inline-block}.workspace-grid{grid-template-columns:minmax(0,1fr)}.workspace-outliner,.workspace-inspector{z-index:60;width:84vw;max-width:min(21rem,100vw - 2rem);display:none;position:fixed;top:3.25rem;bottom:1.7rem}.workspace-outliner{left:0}.workspace-inspector{right:0}.workspace-outliner.is-mobile-open,.workspace-inspector.is-mobile-open{display:block}.workspace-drawer-backdrop{z-index:50;background:#0000008c;border:0;position:fixed;inset:3.25rem 0 1.7rem}.workspace-brand span,.workspace-statusbar span:last-child{display:none}.workspace-statusbar{gap:.45rem;overflow-x:auto}}@media (min-width:851px){.workspace-drawer-backdrop{display:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--base:#0b1113;--canvas:#0e171a;--panel:#151f22;--panel-raised:#192529;--panel-deep:#10181b;--rule:#304247;--rule-soft:#233237;--ink:#eef4f2;--ink-soft:#c4d0ce;--muted:#829694;--signal:#67cdd3;--signal-bright:#a1f2f0;--listener:#e7ad5e;--danger:#e77f71;--focus:#c4fbf7;--grotesk:"Aptos", "Segoe UI Variable", "Segoe UI", Arial, sans-serif;--mono:"Cascadia Mono", "SFMono-Regular", Consolas, monospace}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 18% -20%, #4b848933, transparent 36rem), linear-gradient(135deg, #ffffff03, transparent 45%), var(--base);color:var(--ink);font-family:var(--grotesk)}button,select,textarea{color:inherit;font:inherit}button,input,select,[role=button]{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{box-shadow:0 0 0 2px var(--base), 0 0 0 4px var(--focus)}button{cursor:pointer}h1,h2,p{margin-block-start:0}.app-shell{min-height:100vh;padding:clamp(.8rem,2vw,1.8rem)}.masthead{justify-content:space-between;align-items:end;max-width:112rem;margin:0 auto .8rem;display:flex}.brand-lockup{align-items:center;gap:.9rem;display:flex}.brand-index{border:1px solid var(--signal);color:var(--signal-bright);font-family:var(--mono);letter-spacing:.12em;justify-content:center;align-items:center;width:2.7rem;height:2.7rem;font-size:.72rem;display:flex}.eyebrow,.panel-kicker,.field-label,.canvas-scale,.object-id,.diagnostic-strip,.scope-note span,.axis-label,.marker-label,.system-status span{font-family:var(--mono);font-variant-numeric:tabular-nums}.eyebrow,.panel-kicker,.field-label,.canvas-scale,.scope-note span{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:.66rem}.eyebrow{margin-bottom:.25rem}h1{letter-spacing:-.05em;margin-bottom:0;font-size:clamp(1.65rem,3vw,2.8rem);font-weight:580;line-height:.95}h2{letter-spacing:-.02em;margin-bottom:0;font-size:1rem;font-weight:620}.system-status{align-items:center;gap:.65rem;padding-bottom:.1rem;display:flex}.system-status div{gap:.1rem;display:grid}.system-status strong{font-size:.78rem;font-weight:600}.system-status span:not(.status-dot){color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.status-dot{background:var(--signal);border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 .8rem #67cdd380}.workstation{grid-template-columns:minmax(12.5rem,.66fr) minmax(34rem,3.35fr) minmax(14rem,.78fr);gap:.75rem;max-width:112rem;margin:0 auto;display:grid}.instrument-panel,.canvas-panel{background:color-mix(in srgb, var(--panel) 95%, transparent);border:1px solid var(--rule);min-width:0;box-shadow:0 1.4rem 4rem #0000002b}.instrument-panel{align-self:start;padding:.9rem}.panel-title-block{border-bottom:1px solid var(--rule);margin-bottom:1rem;padding-bottom:.8rem}.panel-kicker{margin-bottom:.32rem}.field-label{margin:0 0 .4rem;display:block}select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - .85rem) calc(50% - 2px) / 5px 5px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - .55rem) calc(50% - 2px) / 5px 5px no-repeat, var(--panel-deep);border:1px solid var(--rule);border-radius:0;width:100%;min-height:2.55rem;padding:.55rem 1.8rem .55rem .65rem;font-size:.8rem}.primary-action,.audio-button,.danger-action{border:1px solid var(--rule);background:0 0;justify-content:center;align-items:center;width:100%;min-height:2.55rem;font-size:.78rem;display:flex}.primary-action{color:var(--signal-bright);border-color:#67cdd385;gap:.45rem;margin-top:.55rem}.primary-action:hover,.audio-button:hover{border-color:var(--signal);background:#67cdd312}.primary-action:disabled{border-color:var(--rule);color:var(--muted);cursor:not-allowed;opacity:.68}.control-section,.audio-control,.scope-note{border-top:1px solid var(--rule-soft);margin-top:1.2rem;padding-top:1rem}.segmented-control{grid-template-columns:1fr 1fr;display:grid}.segmented-control button{background:var(--panel-deep);border:1px solid var(--rule);color:var(--muted);font-family:var(--mono);text-transform:uppercase;min-height:2.35rem;font-size:.68rem}.segmented-control button+button{border-left:0}.segmented-control button[aria-pressed=true]{box-shadow:inset 0 -2px var(--signal);color:var(--signal-bright);background:#67cdd31f}.control-note,.audio-control p,.scope-note p,.inspector-hint,.empty-inspector{color:var(--muted);font-size:.72rem;line-height:1.5}.control-note,.audio-control p{margin:.55rem 0 0}.scene-transfer{gap:.55rem;margin-top:1.1rem;display:grid}.secondary-action{border:1px solid var(--rule);color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#0a151c8f;border-radius:.55rem;padding:.62rem .78rem}.secondary-action:hover,.secondary-action:focus-visible{border-color:var(--signal)}.scene-transfer-notice{margin:0;font-size:.78rem;line-height:1.4}.scene-transfer-notice.success{color:var(--signal-bright)}.scene-transfer-notice.error{color:var(--danger)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.audio-button{gap:.5rem}.button-status-dot{background:var(--listener);border-radius:50%;width:.4rem;height:.4rem}.scope-note{margin-top:2rem}.scope-note p{margin:.35rem 0 0}.canvas-panel{padding:.65rem}.canvas-heading{justify-content:space-between;align-items:center;padding:.15rem .15rem .65rem;display:flex}.canvas-scale{margin-bottom:0}.canvas-scale span{color:var(--signal)}.canvas-stage{background:var(--canvas);border:1px solid #2a3a3e;position:relative;overflow:hidden}.scene-canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;display:block}.scene-canvas[data-panning=true],.scene-canvas[data-panning=true] *{cursor:grabbing!important}.canvas-bed{fill:var(--canvas)}.room-field{fill:var(--canvas);pointer-events:all;stroke:#7ea1a240}.room-field.is-placement-active{cursor:crosshair;pointer-events:all}.wall-placement-point{fill:var(--accent-amber,#f2b84b);pointer-events:none;stroke:#11191d;stroke-width:2px}.wall-placement-point text{fill:#ffe6a8;font:700 14px var(--font-mono,monospace);stroke:none;text-anchor:middle}.workspace-placement-card{pointer-events:none;z-index:80;background:#0f1b21f5;border:1px solid #f2b84b9e;border-radius:.45rem;align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex;position:fixed;top:4.25rem;left:50%;transform:translate(-50%)}.workspace-placement-card button{pointer-events:auto}.workspace-confirm-card,.workspace-notice{color:var(--text,#e8f0f1);background:#142229fa;border:1px solid #f19b7680;border-radius:.5rem;flex-wrap:wrap;gap:.55rem;padding:.75rem;display:flex}.workspace-persistence-warning,.workspace-recovery-card{z-index:70;color:#f7ddb0;background:#231d16f7;border:1px solid #ffbe5a8c;border-radius:8px;align-items:center;gap:10px;max-width:min(720px,100vw - 24px);padding:8px 12px;display:flex;position:fixed;top:60px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000052}.workspace-recovery-card{top:106px}.workspace-confirm-card p{flex-basis:100%;margin:0}.workspace-floating-card{z-index:100;max-width:min(26rem,100vw - 2rem);position:fixed;top:5rem;left:50%;transform:translate(-50%)}.workspace-settings-card{align-content:flex-start;gap:0;width:100%;max-width:min(34rem,100vw - 2rem);max-height:calc(100vh - 7rem);padding:0;display:grid;overflow:auto}.workspace-settings-header{border-bottom:1px solid #80a9b238;justify-content:space-between;align-items:center;padding:.8rem .9rem;display:flex}.workspace-settings-header span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.workspace-settings-header button{min-width:2rem;font-size:1.2rem;line-height:1}.workspace-settings-section{gap:.7rem;padding:1rem;display:grid}.workspace-settings-section+.workspace-settings-section{border-top:1px solid #80a9b229}.workspace-settings-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.workspace-settings-title div{gap:.18rem;display:grid}.workspace-settings-title small,.workspace-danger-zone>small{color:#78aeb5;font-family:var(--mono);letter-spacing:.12em;font-size:.62rem}.workspace-settings-title>span{font-family:var(--mono);border:1px solid;border-radius:999px;padding:.22rem .48rem;font-size:.64rem}.workspace-settings-title>.is-ready{color:#79d2b2}.workspace-settings-title>.is-offline{color:#d6a76f}.workspace-provider-field{background:#081317b8;border:1px solid #7dbac240;border-radius:.35rem;grid-template-columns:5rem 1fr;align-items:center;gap:.65rem;padding-left:.7rem;display:grid}.workspace-provider-field>span{color:#78aeb5;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.workspace-provider-field select{color:#e8f0f1;font:700 .78rem var(--mono);background:#102027;border:0;border-left:1px solid #7dbac240;border-radius:0 .35rem .35rem 0;min-width:0;padding:.68rem .75rem}.workspace-provider-field select:focus{outline:none;box-shadow:inset 0 0 0 2px #72cbd34d}.workspace-provider-credentials{gap:.65rem;display:grid}.workspace-provider-model{color:#8fa7ab;font-family:var(--mono);align-items:center;gap:.6rem;font-size:.64rem;display:flex}.workspace-provider-model span{color:#5e848a;letter-spacing:.1em}.workspace-provider-model code{color:#a6dbe0;overflow-wrap:anywhere}.workspace-key-field{gap:.35rem;display:grid}.workspace-key-field>span{color:#b7c8cb;font-size:.74rem}.workspace-key-field input{color:#e8f0f1;font-family:var(--mono);background:#0b151a;border:1px solid #7dbac259;border-radius:.35rem;width:100%;min-width:0;padding:.62rem .7rem}.workspace-key-field input:focus{border-color:#72cbd3;outline:none;box-shadow:0 0 0 2px #72cbd324}.workspace-settings-actions{flex-wrap:wrap;gap:.45rem;display:flex}.workspace-settings-actions .primary{color:#bdf6fa;border-color:#72cbd3a6}.workspace-settings-actions .danger{color:#ffc3aa}.workspace-settings-error{color:#ffc3aa;font-size:.72rem}.workspace-key-note{color:#8fa7ab;border-top:1px dashed #80a9b233;padding-top:.65rem;font-size:.7rem}.workspace-key-note summary{cursor:pointer}.workspace-key-note p{padding-top:.45rem;line-height:1.55}.coordinate-grid{pointer-events:none}.minor-grid-line{fill:none;stroke:#67cdd309;stroke-width:1px}.meter-grid-line{fill:none;stroke:#67cdd318;stroke-width:1px}.axis-label{fill:#617678;text-anchor:middle;font-size:8px}.axis-label-y{text-anchor:end}.classic-primitive{cursor:move;outline:none}.classic-primitive polygon{fill:#a996d847;stroke:#a996d8;stroke-width:3px}.classic-primitive text{fill:#d7cdf1;font:9px var(--mono);pointer-events:none}.classic-primitive:hover polygon,.classic-primitive:focus-visible polygon,.classic-primitive.is-selected polygon{filter:url(#signal-glow);fill:#a996d875;stroke:#e0d7f7;stroke-width:5px}.wall-hit-target,.portal-marker,.source-marker,.listener-marker,.endpoint-handle{cursor:pointer}.wall-hit-line,.portal-underlay{stroke:#0000;stroke-width:22px}.wall-line{stroke:#809092;stroke-linecap:square;stroke-width:5px}.wall-partition{stroke:#6f8385;stroke-width:4px}.wall-line.is-occluder{stroke:var(--danger);stroke-width:7px}.wall-hit-target:hover .wall-line,.wall-hit-target.is-selected .wall-line{filter:url(#signal-glow);stroke:var(--signal-bright)}.wall-hit-target:focus-visible .wall-line{filter:url(#signal-glow);stroke:var(--signal-bright);stroke-width:8px}.portal-underlay{stroke:var(--canvas);stroke-width:11px}.portal-hitbox{fill:#0000}.portal-hitbox:focus-visible{fill:#67cdd333;stroke:var(--signal-bright);stroke-width:4px}.portal-line{pointer-events:none;stroke:var(--signal);stroke-dasharray:5 4;stroke-linecap:butt;stroke-width:5px}.portal-marker.is-closed .portal-line{stroke:var(--danger);stroke-dasharray:2 3}.endpoint-hit,.marker-hit{fill:#0000}.endpoint-dot{fill:var(--canvas);stroke:var(--signal-bright);stroke-width:2px}.endpoint-handle:focus-visible .endpoint-dot{fill:var(--signal-bright);stroke:var(--canvas);stroke-width:4px}.source-core{fill:#173539;stroke:var(--signal);stroke-width:2px}.source-marker.is-selected .source-core{fill:var(--signal);filter:url(#signal-glow)}.source-marker:focus-visible .source-core{fill:var(--signal);stroke:var(--signal-bright);stroke-width:4px}.source-icon{fill:var(--signal-bright);pointer-events:none}.source-marker.is-selected .source-icon{fill:var(--base)}.listener-core{fill:var(--listener);filter:url(#signal-glow);stroke:#ffe0ae;stroke-width:1.5px}.listener-marker:focus-visible .listener-core{fill:#f3c77f;stroke:#fff1d5;stroke-width:4px}.listener-heading{fill:var(--listener)}.marker-label{fill:#aebfbd;letter-spacing:.04em;pointer-events:none;font-size:9px}.listener-label{fill:#d8bd95}.wavefront-signature circle{fill:none;opacity:.42;stroke:var(--signal);stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:3.2s ease-out infinite wavefront}.wavefront-signature{pointer-events:none}.source-listener-line{stroke:#67cdd352;stroke-dasharray:3 5;stroke-width:1px}.acoustic-route-overlay{fill:none;pointer-events:none;stroke:var(--signal-bright);stroke-dasharray:8 6;stroke-width:3px}.first-portal-route-marker{fill:var(--canvas);pointer-events:none;stroke:var(--signal-bright);stroke-width:4px}.early-reflection-path{fill:none;pointer-events:none;stroke:#e7ad5ed1;stroke-dasharray:2 5;stroke-linecap:round;stroke-width:2px}.early-reflection-path.order-2{stroke:#aa8ae8;stroke-dasharray:4 6;stroke-width:2.5px}@keyframes wavefront{0%{opacity:.44;transform:scale(.72)}to{opacity:0;transform:scale(1.28)}}.canvas-legend{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#0b1113c7;align-items:center;gap:.8rem;padding:.35rem .45rem;font-size:.57rem;display:flex;position:absolute;bottom:.55rem;left:.6rem}.canvas-legend span{align-items:center;gap:.3rem;display:flex}.canvas-legend i{border-radius:50%;width:.42rem;height:.42rem;display:inline-block}.legend-source{background:var(--signal)}.legend-listener{background:var(--listener)}.legend-portal{border:1px solid var(--signal)}.diagnostic-strip{background:var(--panel-deep);border:1px solid var(--rule);border-top:0;grid-template-columns:minmax(12rem,1.45fr) minmax(24rem,2fr);align-items:stretch;min-height:3.7rem;display:grid}.route-sentence{color:var(--ink-soft);font-family:var(--grotesk);align-items:center;gap:.6rem;margin:0;padding:.7rem;font-size:.76rem;display:flex}.signal-glyph{color:var(--signal);font-family:var(--mono);font-size:1rem}.diagnostic-strip dl{grid-template-columns:repeat(7,minmax(0,1fr));margin:0;display:grid}.diagnostic-strip dl div{border-left:1px solid var(--rule-soft);gap:.18rem;padding:.65rem .7rem;display:grid}.diagnostic-strip dt,.measurement-row dt{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.56rem}.diagnostic-strip dd,.measurement-row dd{font-variant-numeric:tabular-nums;margin:0}.diagnostic-strip dd{color:var(--ink);font-size:.66rem}.room-acoustic-diagnostics{background:linear-gradient(90deg, #e7ad5e12, transparent 44%), var(--panel-deep);border:1px solid var(--rule);border-top:0;padding:.7rem}.room-acoustic-heading{justify-content:space-between;align-items:end;margin-bottom:.65rem;display:flex}.room-acoustic-heading h3{color:var(--ink-soft);margin:0;font-size:.86rem;font-weight:600}.reflection-count{color:var(--muted);font-family:var(--mono);margin:0;font-size:.62rem}.reflection-count strong{color:var(--listener);font-size:.88rem}.room-metrics{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.room-metrics div{border-left:1px solid var(--rule-soft);gap:.2rem;padding:.45rem .55rem;display:grid}.room-metrics div:first-child{border-left:0}.room-metrics dt{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:.55rem}.room-metrics dd{color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0;font-size:.68rem}.reflection-summary,.acoustic-limitation,.room-acoustic-pending{color:var(--muted);margin:.65rem 0 0;font-size:.68rem;line-height:1.45}.reflection-summary{gap:.12rem;display:grid}.reflection-summary strong,.acoustic-limitation strong{color:var(--ink-soft);font-weight:600}.room-acoustic-pending{background:var(--panel-deep);border:1px solid var(--rule);border-top:0;padding:.65rem .7rem}.inspector-content{min-width:0}.object-id{color:var(--signal);overflow-wrap:anywhere;font-size:.65rem}.measurement-list{border-block:1px solid var(--rule-soft);margin:1rem 0}.measurement-row{gap:.28rem;padding:.65rem 0;display:grid}.measurement-row+.measurement-row{border-top:1px solid var(--rule-soft)}.measurement-row dd{color:var(--ink-soft);font-family:var(--mono);overflow-wrap:anywhere;font-size:.68rem}.inspector-hint{border-left:2px solid var(--signal);margin:1rem 0;padding-left:.65rem}.danger-action{color:#f0a69c;border-color:#e77f7166;margin-top:1rem}.danger-action:hover{border-color:var(--danger);background:#e77f7114}.switch-row{background:var(--panel-deep);border:1px solid var(--rule);justify-content:space-between;align-items:center;width:100%;min-height:2.8rem;padding:.5rem .65rem;font-size:.78rem;display:flex}.switch-track{background:#2a3a3e;border:1px solid #405357;width:2rem;height:1.1rem;padding:2px;display:block}.switch-thumb{background:var(--muted);width:.65rem;height:.65rem;transition:transform .14s,background .14s;display:block}.switch-row[aria-checked=true] .switch-track{border-color:var(--signal)}.switch-row[aria-checked=true] .switch-thumb{background:var(--signal-bright);transform:translate(.85rem)}.ai-scene-panel{background:color-mix(in srgb, var(--panel) 95%, transparent);border:1px solid var(--rule);align-self:start;min-width:0;padding:.9rem;box-shadow:0 1.4rem 4rem #0000002b}.ai-scene-panel textarea{background:var(--panel-deep);border:1px solid var(--rule);color:var(--ink);font:inherit;resize:vertical;width:100%;min-height:7rem;padding:.6rem .65rem;line-height:1.45}.scene-candidate,.compiler-error,.acoustic-explanation{border-top:1px solid var(--rule-soft);margin-top:1rem;padding-top:.9rem}.explanation-result{border-top:1px solid var(--rule-soft);margin-top:.85rem;padding-top:.75rem;font-size:.72rem;line-height:1.5}.explanation-result dl,.explanation-result ul{margin:.65rem 0 0;padding:0}.explanation-result dl div{border-top:1px solid var(--rule-soft);grid-template-columns:minmax(5rem,.8fr) minmax(0,1.5fr);gap:.3rem;padding:.45rem 0;display:grid}.explanation-result dt{color:var(--muted);font-family:var(--mono)}.explanation-result dd{margin:0}.explanation-result ul{color:var(--muted);padding-left:1rem}.candidate-name{color:var(--signal-bright);margin-bottom:.35rem;font-size:.78rem}.compiler-meta{color:var(--muted);font-family:var(--mono);overflow-wrap:anywhere;margin:.5rem 0 0;font-size:.62rem;line-height:1.45}.compiler-error{color:#f0a69c;overflow-wrap:anywhere;font-size:.72rem;line-height:1.5}@media (max-width:74rem){.workstation{grid-template-columns:minmax(11.5rem,.75fr) minmax(31rem,2.6fr)}.inspector-panel{grid-column:1/-1}.inspector-content{grid-template-columns:minmax(10rem,1fr) minmax(14rem,2fr);gap:.7rem;display:grid}.inspector-content .measurement-list{grid-area:1/2/span 3;margin:0}}@media (max-width:50rem){.app-shell{padding:.65rem}.masthead{align-items:center}.system-status strong{display:none}.workstation{flex-direction:column;display:flex}.canvas-panel{order:-1}.scene-canvas{min-height:22rem}.diagnostic-strip{grid-template-columns:1fr}.diagnostic-strip dl div:first-child{border-left:0}.room-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.room-metrics div:nth-child(4){border-left:0;border-top:1px solid var(--rule-soft)}.room-metrics div:nth-child(5),.room-metrics div:nth-child(6){border-top:1px solid var(--rule-soft)}.transport-panel,.inspector-panel,.ai-scene-panel{width:100%}.inspector-content{display:block}}@media (max-width:34rem){.brand-index,.canvas-scale{display:none}.diagnostic-strip dl{grid-template-columns:repeat(2,1fr)}.diagnostic-strip dl div:nth-child(3){border-left:0;border-top:1px solid var(--rule-soft)}.diagnostic-strip dl div:nth-child(4){border-top:1px solid var(--rule-soft)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.wavefront-signature circle{opacity:.22;animation:none}}.editor-notice{border:1px solid color-mix(in srgb, var(--danger) 60%, transparent);background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--ink);border-radius:.4rem;gap:.3rem;margin:0 1rem 1rem;padding:.75rem .85rem;display:grid}.editor-notice strong{color:var(--danger);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.editor-notice span{font-size:.78rem;line-height:1.45}.hybrid-plan-editor{background:linear-gradient(135deg, #67cdd30f, transparent 54%), var(--panel-deep);border:1px solid var(--rule);margin-top:1.1rem;padding:.75rem}.hybrid-plan-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.hybrid-plan-heading h3{color:var(--ink-soft);margin:0;font-size:.88rem;font-weight:600}.hybrid-plan-scale,.hybrid-plan-readout{color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:.64rem}.hybrid-plan-scale{white-space:nowrap;margin:0}.hybrid-plan-svg{touch-action:none;-webkit-user-select:none;user-select:none;background:#0b1417;border:1px solid #2a4145;width:100%;margin-top:.7rem;display:block}.hybrid-plan-bed{fill:#0b1417}.hybrid-plan-grid,.hybrid-plan-room,.hybrid-plan-partition,.hybrid-plan-portal,.hybrid-plan-direct-line{pointer-events:none}.hybrid-plan-grid-line{stroke:#67cdd314;stroke-width:1px}.hybrid-plan-room{fill:#67cdd306;stroke:#788b8d;stroke-width:8px}.hybrid-plan-partition{stroke:#697d81;stroke-width:18px}.hybrid-plan-portal{stroke:var(--signal);stroke-dasharray:18 12;stroke-width:24px}.hybrid-plan-portal-closed{stroke:var(--danger);stroke-dasharray:6 10}.hybrid-plan-direct-line{stroke:#a1f2f06b;stroke-dasharray:11 13;stroke-width:4px}.hybrid-plan-marker{cursor:grab;outline:none}.hybrid-plan-marker:active{cursor:grabbing}.hybrid-plan-hit{fill:#0000}.hybrid-plan-source-core{fill:#173539;stroke:var(--signal);stroke-width:5px}.hybrid-plan-source-glyph{fill:var(--signal-bright);pointer-events:none}.hybrid-plan-listener-core{fill:var(--listener);filter:url(#hybrid-plan-glow);stroke:#ffe0ae;stroke-width:4px}.hybrid-plan-listener-heading{fill:var(--listener);pointer-events:none}.hybrid-plan-marker-label,.hybrid-plan-marker-value{font-family:var(--mono);pointer-events:none}.hybrid-plan-marker-label{fill:var(--ink-soft);letter-spacing:.05em;font-size:22px}.hybrid-plan-marker-value{fill:var(--muted);font-size:17px}.hybrid-plan-listener-label{fill:#f0ca9a}.hybrid-plan-marker:hover .hybrid-plan-source-core,.hybrid-plan-marker:focus-visible .hybrid-plan-source-core{fill:var(--signal);filter:url(#hybrid-plan-glow);stroke:var(--signal-bright);stroke-width:8px}.hybrid-plan-marker:focus-visible .hybrid-plan-listener-core{fill:#f3c77f;stroke:#fff1d5;stroke-width:8px}.hybrid-plan-readout{border-top:1px solid var(--rule-soft);margin:.7rem 0 0;padding-top:.6rem;line-height:1.5}.hybrid-height-editor{border-top:1px solid var(--rule-soft);margin-top:.8rem;padding-top:.8rem}.hybrid-height-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.hybrid-height-heading h3{color:var(--ink-soft);margin:0;font-size:.88rem;font-weight:600}.hybrid-height-svg{touch-action:none;-webkit-user-select:none;user-select:none;background:#0b1417;border:1px solid #2a4145;width:100%;margin-top:.7rem;display:block}.hybrid-height-bed{fill:#67cdd305}.hybrid-height-grid-line{stroke:#67cdd317;stroke-width:1px}.hybrid-height-axis-label,.hybrid-height-marker-label,.hybrid-height-marker-value{font-family:var(--mono);pointer-events:none}.hybrid-height-axis-label{fill:var(--muted);text-anchor:end;font-size:17px}.hybrid-height-floor{stroke:#788b8d;stroke-width:5px}.hybrid-height-marker{cursor:ns-resize;outline:none}.hybrid-height-hit{fill:#0000}.hybrid-height-stem{stroke:#a1f2f075;stroke-width:5px}.hybrid-height-marker-core{fill:#173539;stroke:var(--signal);stroke-width:5px}.hybrid-height-listener .hybrid-height-marker-core{fill:var(--listener);stroke:#ffe0ae}.hybrid-height-marker-label{fill:var(--ink-soft);letter-spacing:.05em;font-size:21px}.hybrid-height-marker-value{fill:var(--muted);font-size:17px}.hybrid-height-marker:hover .hybrid-height-marker-core,.hybrid-height-marker:focus-visible .hybrid-height-marker-core{filter:url(#hybrid-plan-glow);stroke:var(--signal-bright);stroke-width:8px}.hybrid-height-listener:hover .hybrid-height-marker-core,.hybrid-height-listener:focus-visible .hybrid-height-marker-core{fill:#f3c77f;stroke:#fff1d5}.atmosphere-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:.9rem 0;display:grid}.atmosphere-metrics div{border:1px solid var(--rule-soft);background:#0a151c8f;min-width:0;padding:.55rem .6rem}.atmosphere-metrics dt{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.59rem}.atmosphere-metrics dd{color:var(--signal-bright);font-family:var(--mono);font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-size:.78rem}.hybrid-page-frame{max-width:112rem;margin:0 auto;padding:clamp(1rem,2.5vw,1.65rem)}.hybrid-page-header,.hybrid-instrument-header,.hybrid-command-deck,.hybrid-diagnostics-panel>header{justify-content:space-between;align-items:end;gap:1.25rem;display:flex}.hybrid-page-header{border-bottom:1px solid var(--rule);margin-bottom:1.1rem;padding-bottom:1rem}.hybrid-page-header>div>p:not(.panel-kicker){color:var(--ink-soft);max-width:48rem;margin:.55rem 0 0;font-size:.88rem}.hybrid-scope-note{border-left:2px solid var(--listener);background:linear-gradient(135deg,#e7ad5e1a,#0000 75%);gap:.25rem;max-width:18rem;padding:.55rem .7rem;display:grid}.hybrid-scope-note strong,.hybrid-scope-note span{font-family:var(--mono);letter-spacing:.04em;font-size:.64rem}.hybrid-scope-note strong{color:#f0ca9a}.hybrid-scope-note span{color:var(--muted);line-height:1.45}.hybrid-lab-panel{box-shadow:none;background:0 0;border:0;padding:0}.hybrid-instrument-header{align-items:start;margin-bottom:.75rem}.hybrid-instrument-header h2{color:var(--ink);letter-spacing:-.035em;font-size:clamp(1.1rem,2vw,1.55rem)}.hybrid-instrument-header .control-note{max-width:44rem}.hybrid-signal-strip{flex-wrap:wrap;justify-content:end;gap:.35rem;max-width:22rem;display:flex}.hybrid-signal-strip span{color:var(--signal-bright);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;background:#67cdd312;border:1px solid #67cdd347;padding:.32rem .43rem;font-size:.58rem}.hybrid-command-deck{background:linear-gradient(90deg, #67cdd317, transparent 48%), var(--panel-deep);border:1px solid var(--rule);margin:0 0 .8rem;padding:.7rem}.hybrid-command-copy,.hybrid-zone-heading>p:not(.panel-kicker){color:var(--muted);margin:.28rem 0 0;font-size:.72rem;line-height:1.5}.hybrid-command-actions{grid-template-columns:minmax(9.5rem,1fr) minmax(8.5rem,.8fr);gap:.45rem;min-width:min(100%,23rem);display:grid}.hybrid-command-actions .secondary-action{text-align:center}.hybrid-workbench-grid{grid-template-columns:minmax(0,1.65fr) minmax(17.5rem,.85fr);align-items:start;gap:.8rem;display:grid}.hybrid-spatial-zone,.hybrid-control-card,.hybrid-diagnostics-panel{background:var(--panel-deep);border:1px solid var(--rule)}.hybrid-spatial-zone{padding:.75rem}.hybrid-zone-heading{border-bottom:1px solid var(--rule-soft);margin-bottom:.65rem;padding-bottom:.6rem}.hybrid-zone-heading .panel-kicker{margin-bottom:0}.hybrid-spatial-viewport{background:radial-gradient(circle at 50% 48%,#67cdd314,#0000 36%),#081113;border:1px solid #2a4145;margin-top:.7rem;padding:.65rem;overflow:hidden}.hybrid-viewport-header{justify-content:space-between;align-items:end;gap:.75rem;display:flex}.hybrid-viewport-header h3{color:var(--ink-soft);margin:.18rem 0 0;font-size:.8rem}.hybrid-viewport-help{flex-wrap:wrap;gap:.3rem;margin:.55rem 0 0;display:flex}.hybrid-viewport-help span{color:var(--muted);font-family:var(--mono);letter-spacing:.025em;background:#67cdd30f;border:1px solid #67cdd333;padding:.24rem .34rem;font-size:.57rem}.hybrid-view-buttons{gap:.35rem;display:flex}.hybrid-view-buttons button{border:1px solid var(--rule);color:var(--ink-soft);font-family:var(--mono);background:0 0;padding:.35rem .45rem;font-size:.61rem}.hybrid-view-buttons button:hover,.hybrid-view-buttons button:focus-visible{border-color:var(--signal);color:var(--signal-bright)}.hybrid-viewport-svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;margin-top:.5rem;display:block}.hybrid-viewport-svg[data-panning=true],.hybrid-viewport-svg[data-panning=true] *{cursor:grabbing!important}.hybrid-viewport-orbit-surface{cursor:grab;fill:#0000}.hybrid-viewport-orbit-surface:active{cursor:grabbing}.hybrid-viewport-floor{fill:url(#hybrid-viewport-floor);stroke:#67cdd361;stroke-width:3px}.hybrid-viewport-ceiling{fill:#67cdd306;stroke:#67cdd326;stroke-dasharray:8 9;stroke-width:2px}.hybrid-viewport-floor,.hybrid-viewport-ceiling,.hybrid-viewport-room-edge,.hybrid-viewport-ceiling-edge,.hybrid-viewport-portal,.hybrid-viewport-axis,.hybrid-viewport-compass{pointer-events:none}.hybrid-viewport-room-edge{stroke:#a1f2f052;stroke-width:3px}.hybrid-viewport-ceiling-edge{stroke:#a1f2f029;stroke-dasharray:7 8;stroke-width:2px}.hybrid-viewport-wall-panel{cursor:pointer;fill:#697d81d1;pointer-events:visiblePainted;stroke:#b0c0c0;stroke-width:4px}.hybrid-viewport-wall-panel.is-closed{fill:#809092e0}.hybrid-viewport-wall-panel.is-selected{stroke:#fff0dc;stroke-width:5px}.hybrid-viewport-primitive-panel{fill:#8f7ac270;stroke:#d6c9f5c7;stroke-width:2px}.hybrid-viewport-primitive-panel.is-selected{fill:#a996d89e;stroke:#f0eaff;stroke-width:3px}.hybrid-viewport-primitive{cursor:move;outline:none}.hybrid-viewport-primitive-hit-panel{fill:#0000;pointer-events:all;stroke:#0000;stroke-width:8px}.hybrid-viewport-primitive text{fill:#ded5f4;font:15px var(--mono);pointer-events:none}.hybrid-viewport-primitive:hover .hybrid-viewport-primitive-hit-panel,.hybrid-viewport-primitive:focus-visible .hybrid-viewport-primitive-hit-panel,.hybrid-viewport-primitive.is-selected .hybrid-viewport-primitive-hit-panel{filter:url(#hybrid-viewport-glow);stroke:#f0eaff}.hybrid-viewport-svg[data-placing-wall=true] .hybrid-viewport-wall-panel{pointer-events:none}.hybrid-viewport-portal{stroke:var(--signal);stroke-dasharray:8 7;stroke-width:7px}.hybrid-viewport-partition-handle,.hybrid-viewport-portal-handle{cursor:grab;outline:none}.hybrid-viewport-partition-handle:active,.hybrid-viewport-portal-handle:active{cursor:grabbing}.hybrid-viewport-partition-handle-hit,.hybrid-viewport-portal-handle-hit{fill:#0000}.hybrid-viewport-partition-handle-core{fill:#e77f71;stroke:#fff0dc;stroke-width:2px}.hybrid-viewport-portal-handle-core{fill:#081113d6;stroke:var(--signal-bright);stroke-width:4px}.hybrid-viewport-partition-handle-label{fill:var(--ink-soft);letter-spacing:.06em;pointer-events:none;font-size:13px}.hybrid-viewport-partition-handle:focus-visible .hybrid-viewport-partition-handle-core,.hybrid-viewport-portal-handle:focus-visible .hybrid-viewport-portal-handle-core{filter:url(#hybrid-viewport-glow);stroke-width:5px}.hybrid-viewport-partition-handle.is-selected .hybrid-viewport-partition-handle-core,.hybrid-viewport-portal-handle.is-selected .hybrid-viewport-portal-handle-core{filter:url(#hybrid-viewport-glow);stroke-width:6px}.hybrid-viewport-object{cursor:move;outline:none}.hybrid-viewport-object-hit{fill:#0000}.hybrid-viewport-source-core{fill:#173539;stroke:var(--signal);stroke-width:4px}.hybrid-viewport-source-glyph{fill:var(--signal-bright);pointer-events:none}.hybrid-viewport-listener-head{fill:var(--listener);filter:url(#hybrid-viewport-glow);stroke:#ffe0ae;stroke-width:3px}.hybrid-viewport-listener-body{fill:#e7ad5ec2;stroke:#ffe0ae;stroke-width:2px}.hybrid-viewport-object-label,.hybrid-viewport-object-value,.hybrid-viewport-axis text,.hybrid-viewport-compass text{font-family:var(--mono);pointer-events:none}.hybrid-viewport-object-label{fill:var(--ink-soft);letter-spacing:.05em;font-size:18px}.hybrid-viewport-object-value{fill:var(--muted);font-size:14px}.hybrid-viewport-object:hover .hybrid-viewport-source-core,.hybrid-viewport-object:focus-visible .hybrid-viewport-source-core{fill:var(--signal);filter:url(#hybrid-viewport-glow);stroke:var(--signal-bright);stroke-width:7px}.hybrid-viewport-object:focus-visible .hybrid-viewport-listener-head{fill:#f3c77f;stroke:#fff1d5;stroke-width:6px}.hybrid-viewport-object.is-selected .hybrid-viewport-source-core{fill:var(--signal);filter:url(#hybrid-viewport-glow);stroke:var(--signal-bright);stroke-width:7px}.hybrid-viewport-object.is-selected .hybrid-viewport-listener-head{fill:#f3c77f;stroke:#fff1d5;stroke-width:6px}.hybrid-viewport-axis-origin{fill:var(--ink)}.hybrid-viewport-axis line{stroke-width:4px}.hybrid-viewport-axis text{font-size:16px;font-weight:700}.hybrid-viewport-axis-x{fill:#e77f71;stroke:#e77f71}.hybrid-viewport-axis-y{fill:#e7ad5e;stroke:#e7ad5e}.hybrid-viewport-axis-z{fill:#67cdd3;stroke:#67cdd3}.hybrid-viewport-compass circle{fill:#081113db;stroke:var(--rule);stroke-width:2px}.hybrid-viewport-compass path{fill:var(--signal-bright);stroke:var(--signal);stroke-width:2px}.hybrid-viewport-compass text{fill:var(--ink-soft);letter-spacing:.05em;font-size:14px}.hybrid-display-path{fill:none;pointer-events:none;stroke:var(--signal-bright);stroke-linecap:round;stroke-width:4px}.hybrid-display-path.kind-blocked{stroke:var(--danger);stroke-dasharray:4 7}.hybrid-display-path.kind-portal{stroke:var(--signal);stroke-width:6px}.hybrid-display-path.kind-reflection{stroke:var(--listener);stroke-dasharray:9 8;stroke-width:3px}.hybrid-display-path.kind-reflection.order-2{stroke:#aa8ae8;stroke-dasharray:4 6;stroke-width:3.5px}.hybrid-display-path.is-xray{opacity:.72;stroke-dasharray:8 6}.hybrid-reflection-card{color:#f6f0df;font:12px var(--font-mono,monospace);background:#0d191ff5;border:1px solid #f2b84ba6;border-radius:6px;gap:4px;padding:8px 10px;display:grid}.hybrid-reflection-node{fill:var(--listener);stroke:#fff0d2;stroke-width:2px;outline:none}.hybrid-reflection-node.order-2{fill:#aa8ae8;stroke:#f2eaff}.hybrid-reflection-node:hover,.hybrid-reflection-node:focus-visible{filter:url(#hybrid-viewport-glow);stroke-width:5px}.hybrid-orthographic-reference{border-top:1px solid var(--rule-soft);margin-top:.75rem;padding-top:.65rem}.hybrid-orthographic-reference summary{color:var(--muted);cursor:pointer;font-family:var(--mono);letter-spacing:.04em;font-size:.65rem}.hybrid-orthographic-reference[open] summary{color:var(--signal-bright)}.hybrid-orthographic-reference .hybrid-plan-editor{margin-top:.7rem}.hybrid-plan-editor{background:0 0;border:0;margin:0;padding:0}.hybrid-control-rack{gap:.8rem;display:grid}.hybrid-outliner{background:linear-gradient(150deg, #67cdd314, transparent 58%), var(--panel-deep);border:1px solid #36565a;padding:.72rem}.hybrid-outliner-title{justify-content:space-between;align-items:baseline;margin-bottom:.52rem;display:flex}.hybrid-outliner-title .panel-kicker{margin:0}.hybrid-outliner-title span{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}.hybrid-outliner-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.hybrid-outliner-item{border:1px solid var(--rule-soft);color:var(--muted);cursor:pointer;font-family:var(--mono);text-align:left;background:#071113b3;align-items:center;gap:.38rem;min-height:2.2rem;padding:.34rem .42rem;font-size:.64rem;display:flex}.hybrid-outliner-item span{font-size:.85rem}.hybrid-outliner-item.listener span{color:var(--listener)}.hybrid-outliner-item.radio span,.hybrid-outliner-item.rain span,.hybrid-outliner-item.portal span{color:var(--signal-bright)}.hybrid-outliner-item.partition-a span{color:#e77f71}.hybrid-outliner-item:hover,.hybrid-outliner-item:focus-visible{border-color:var(--signal);color:var(--ink-soft);outline:none}.hybrid-outliner-item[aria-pressed=true]{border-color:var(--signal);box-shadow:inset 3px 0 0 var(--signal);color:var(--ink-soft);background:#67cdd321}.hybrid-outliner-item.partition-a[aria-pressed=true]{background:#e77f711f;border-color:#e77f71;box-shadow:inset 3px 0 #e77f71}.hybrid-selection-card{background:linear-gradient(120deg, #67cdd324, #e7ad5e12), var(--panel-deep);border:1px solid #42666b;border-left:4px solid var(--signal);padding:.85rem}.hybrid-selection-card p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.4}.hybrid-selection-card .panel-kicker{color:var(--signal-bright);margin-bottom:.32rem}.hybrid-selection-card .hybrid-selection-hint{color:var(--ink-soft);font-family:var(--mono);border-top:1px solid #67cdd333;margin-top:.65rem;padding-top:.55rem;font-size:.66rem}.hybrid-control-rack .control-section{border-top:0;margin:0;padding:.75rem}.hybrid-control-card h3,.hybrid-diagnostics-panel h3{color:var(--ink-soft);margin:.1rem 0 0;font-size:.88rem}.hybrid-control-card .field-label{border-top:1px solid var(--rule-soft);margin-top:.6rem;padding-top:.55rem}.hybrid-transform-elevation{border-top:1px solid #67cdd352;margin-top:.8rem;padding-top:.1rem}.hybrid-transform-axis-label{color:var(--signal-bright);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:.55rem 0 0;font-size:.6rem}.hybrid-control-rack[data-selected-target=listener] .hybrid-transform-card label:not([for^=listener-]),.hybrid-control-rack[data-selected-target=listener] .hybrid-transform-card input:not([id^=listener-]),.hybrid-control-rack[data-selected-target=radio] .hybrid-transform-card label:not([for^=radio-]),.hybrid-control-rack[data-selected-target=radio] .hybrid-transform-card input:not([id^=radio-]),.hybrid-control-rack[data-selected-target=rain] .hybrid-transform-card label:not([for^=rain-]),.hybrid-control-rack[data-selected-target=rain] .hybrid-transform-card input:not([id^=rain-]),.hybrid-control-rack[data-selected-target=radio] .hybrid-transform-card .secondary-action,.hybrid-control-rack[data-selected-target=rain] .hybrid-transform-card .secondary-action,.hybrid-control-rack[data-selected-target=partition-a] .hybrid-transform-card,.hybrid-control-rack[data-selected-target=partition-b] .hybrid-transform-card,.hybrid-control-rack[data-selected-target=portal] .hybrid-transform-card,.hybrid-control-rack[data-selected-target=partition-a] .hybrid-partition-card label[for^=partition-b],.hybrid-control-rack[data-selected-target=partition-a] .hybrid-partition-card input[id^=partition-b],.hybrid-control-rack[data-selected-target=partition-b] .hybrid-partition-card label[for^=partition-a],.hybrid-control-rack[data-selected-target=partition-b] .hybrid-partition-card input[id^=partition-a],.hybrid-control-rack[data-selected-target=portal] .hybrid-partition-card label[for^=partition-],.hybrid-control-rack[data-selected-target=portal] .hybrid-partition-card input[id^=partition-],.hybrid-control-rack[data-selected-target=portal] .hybrid-partition-card select{display:none}.hybrid-control-rack[data-selected-target=listener] label[for^=listener-],.hybrid-control-rack[data-selected-target=radio] label[for^=radio-],.hybrid-control-rack[data-selected-target=rain] label[for^=rain-]{border-left:3px solid var(--signal);color:var(--ink-soft);padding-left:.45rem}.hybrid-control-rack[data-selected-target=partition-a] [data-testid=hybrid-partition-controls],.hybrid-control-rack[data-selected-target=partition-b] [data-testid=hybrid-partition-controls],.hybrid-control-rack[data-selected-target=portal] [data-testid=hybrid-partition-controls]{border-color:#e77f71;box-shadow:inset 3px 0 #e77f71}.hybrid-control-rack[data-selected-target=portal] [data-testid=hybrid-partition-controls]{border-color:var(--signal);box-shadow:inset 3px 0 0 var(--signal)}.hybrid-control-card input[type=range]{accent-color:var(--signal);width:100%}.hybrid-control-card .secondary-action{width:100%;margin-top:.8rem}.hybrid-atmosphere-card{background:var(--panel-deep);border:1px solid var(--rule);padding:.75rem}.hybrid-atmosphere-card summary{color:var(--ink-soft);cursor:pointer;font-family:var(--mono);font-size:.7rem;list-style:none}.hybrid-atmosphere-card summary::-webkit-details-marker{display:none}.hybrid-atmosphere-card summary:before{color:var(--signal);content:"+";margin-right:.45rem;font-size:.9rem;display:inline-block}.hybrid-atmosphere-card[open] summary:before{content:"−"}.hybrid-atmosphere-card summary span{color:var(--muted);margin-left:.35rem;font-size:.58rem}.hybrid-atmosphere-body{border-top:1px solid var(--rule-soft);margin-top:.65rem;padding-top:.05rem}.hybrid-atmosphere-note{color:var(--muted);font-family:var(--mono);margin:.55rem 0 0;font-size:.61rem;line-height:1.4}.hybrid-atmosphere-card .field-label{border-top:1px solid var(--rule-soft);margin-top:.6rem;padding-top:.55rem}.hybrid-diagnostics-panel{margin-top:.8rem;padding:.75rem}.hybrid-diagnostics-panel>header{border-bottom:1px solid var(--rule-soft);margin-bottom:.65rem;padding-bottom:.65rem}.hybrid-diagnostics-panel>.control-note{margin:0 0 .65rem}.hybrid-path-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.hybrid-path-grid article{border-left:2px solid var(--signal);background:#151f229e;padding:.65rem .7rem}.hybrid-path-grid article[data-route=blocked]{border-left-color:var(--danger)}.hybrid-path-grid article h3{font-family:var(--mono);letter-spacing:.04em;font-size:.76rem}.hybrid-path-grid article p{color:var(--muted);font-family:var(--mono);margin:.35rem 0 0;font-size:.65rem;line-height:1.5}@media (min-width:70rem){.hybrid-plan-editor{grid-template-columns:minmax(0,1.65fr) minmax(15.5rem,.85fr);column-gap:.8rem;display:grid}.hybrid-plan-heading,.hybrid-plan-editor>#hybrid-plan-help{grid-column:1/-1}.hybrid-plan-svg{grid-area:3/1;margin-top:.2rem}.hybrid-plan-readout{grid-area:4/1}.hybrid-height-editor{border-top:0;grid-area:3/2/span 2;margin-top:0;padding-top:0}.hybrid-height-svg{margin-top:.45rem}}@media (max-width:34rem){.hybrid-page-header,.hybrid-instrument-header,.hybrid-command-deck,.hybrid-diagnostics-panel>header,.hybrid-viewport-header{flex-direction:column;align-items:stretch}.hybrid-workbench-grid,.hybrid-path-grid,.hybrid-command-actions{grid-template-columns:1fr}.hybrid-signal-strip{justify-content:start}.hybrid-viewport-object-value{display:none}.hybrid-plan-heading{flex-direction:column;align-items:start;gap:.25rem}.hybrid-plan-marker-label{font-size:18px}.hybrid-plan-marker-value{display:none}.atmosphere-metrics{grid-template-columns:1fr}}
