@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Rajdhani:wght@400;500;700&display=swap";:root{--bg-1:#0f1113;--bg-2:#181c18;--panel:#1d211f;--panel-soft:#242a27;--border:#49574f;--text:#d8e2dd;--text-soft:#9aaca0;--topbar-height:152px;--dock-width:min(740px, 44vw);--teal:#2db7a3;--amber:#db9a3d;--danger:#d65f4b;--shadow:0 16px 34px #00000059;color:var(--text);background:var(--bg-1);font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Rajdhani,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(140deg, var(--bg-1), var(--bg-2));height:100vh;margin:0;overflow:hidden}#app{height:100vh;min-height:0}.app-shell{height:100vh;min-height:0;position:relative;overflow:hidden}.topbar{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#0c100fe6,#0a0e0dd1);border-bottom:1px solid #49574fb3;gap:0;display:grid;position:absolute;top:0;left:0;right:0;box-shadow:0 10px 26px #00000059}.menu-strip{background:#080b0adb;border-bottom:1px solid #49574fb8;align-items:center;gap:.2rem;min-height:1.45rem;padding:0 .45rem;display:flex}.menu-strip button{color:#cfd7d2;letter-spacing:0;background:0 0;border:0;border-radius:.18rem;min-width:0;padding:.12rem .46rem;font-size:.74rem}.menu-strip button:hover{filter:none;background:#586b606b;transform:none}.app-tab-strip{background:#0b100fd1;border-bottom:1px solid #49574fb8;align-items:flex-end;gap:.2rem;padding:.2rem .46rem 0;display:flex}.app-tab{color:#b6c7bc;text-overflow:ellipsis;white-space:nowrap;background:#121816bf;border:1px solid #49574fcc;border-bottom-color:#0000;border-radius:.42rem .42rem 0 0;min-width:0;max-width:min(22rem,36vw);padding:.28rem .68rem;font-size:.74rem;line-height:1.2;text-decoration:none;overflow:hidden}.app-tab:hover{filter:none;background:#1b2420f2;border-color:#60786af2;transform:none}.app-tab.is-active{color:#e4f2ea;background:#232e29f2;border-color:#6c8577f2}.title-strip{border-bottom:1px solid #49574f73;grid-template-columns:minmax(12rem,auto) minmax(0,1fr);align-items:center;gap:.5rem;min-height:1.8rem;padding:.18rem .56rem;display:grid}.brand-block h1{letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.86rem}.brand-block p{color:var(--text-soft);margin:.04rem 0 0;font-size:.66rem}.document-title{color:#e9f0eb;text-overflow:ellipsis;white-space:nowrap;justify-self:center;min-width:0;font-family:IBM Plex Mono,monospace;font-size:.68rem;overflow:hidden}.toolbar{scrollbar-width:thin;flex-wrap:wrap;align-items:center;gap:.3rem;display:flex;overflow-x:visible}button{color:var(--text);letter-spacing:.03em;cursor:pointer;white-space:nowrap;background:linear-gradient(#253229,#1f2a24);border:1px solid #4f6558;border-radius:.35rem;min-height:1.62rem;padding:.2rem .48rem;font-family:Rajdhani,sans-serif;font-size:.72rem;transition:transform .16s,border-color .16s,filter .16s}button:hover{filter:brightness(1.05);border-color:#66c4b6;transform:translateY(-1px)}button.accent{color:#f8e5c6;background:linear-gradient(#64502f,#4e3f27);border-color:#95703c}button.danger{color:#ffd7d0;background:linear-gradient(#60312c,#4f2724);border-color:#96524a}button:disabled,button:disabled:hover{opacity:.52;cursor:not-allowed;filter:none;transform:none}.toolbar-link{color:var(--text);letter-spacing:.03em;background:linear-gradient(#253229,#1f2a24);border:1px solid #4f6558;border-radius:.35rem;align-items:center;padding:.22rem .5rem;font-family:Rajdhani,sans-serif;font-size:.72rem;text-decoration:none;transition:transform .16s,border-color .16s,filter .16s;display:inline-flex}.toolbar-link:hover{filter:brightness(1.05);border-color:#66c4b6;transform:translateY(-1px)}.toolbar-link:visited{color:var(--text)}.toolbar-pill{color:#a9d9c9;letter-spacing:.02em;white-space:nowrap;background:#101921d9;border:1px solid #45667cbf;border-radius:.35rem;flex:none;align-items:center;min-height:1.54rem;padding:.22rem .44rem;font-family:IBM Plex Mono,monospace;font-size:.64rem;display:inline-flex}.scene-flow-toolbar .toolbar-pill{display:none}.toolbar-pill.is-warn{color:#f7c57f;border-color:#b27e37cc}.selected-engine-bounds{white-space:nowrap;text-overflow:ellipsis;max-width:34rem;line-height:1.35;overflow:hidden}.engine-placement-pill{color:#dbe9ef;border-color:#2db7a3b3}.engine-advanced-control{display:none!important}.compact-field{border:1px solid var(--border);background:#141b18db;border-radius:.35rem;flex:none;align-items:center;gap:.28rem;min-height:1.62rem;padding:.14rem .34rem;display:inline-flex}.compact-field span{color:var(--text-soft);font-size:.68rem}select,input,textarea{color:var(--text);background:#121715;border:1px solid #4a5f54;border-radius:.35rem;padding:.22rem .4rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}textarea{resize:vertical}select:focus,input:focus,textarea:focus{border-color:#57cfbe;outline:none;box-shadow:0 0 0 2px #2db7a333}.transform-mode-group{border:1px solid var(--border);background:#0c100ed9;border-radius:.35rem;display:inline-flex;overflow:hidden}.transform-mode-group button{border:0;border-right:1px solid var(--border);background:0 0;border-radius:0;min-width:4rem}.transform-mode-group button:last-child{border-right:0}.transform-mode-group button.is-active{background:linear-gradient(#2db7a359,#2db7a326)}.status-line{z-index:60;color:#a7bcb0;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#090c0bc7;border:1px solid #576a5fbf;border-radius:.28rem;min-width:0;padding:.42rem .58rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;position:fixed;bottom:.8rem;left:1rem;right:min(24rem,28vw);overflow:hidden;box-shadow:0 10px 24px #00000052}.file-flow-toolbar{border-bottom:1px solid #49574f59;padding:.2rem .5rem .14rem}.scene-flow-toolbar{border-bottom:1px solid #49574f59;padding:.14rem .5rem .2rem}.object-select-field select{min-width:min(32vw,18rem)}.object-select-field{min-width:min(36vw,21rem)}.visual-scale-field{min-width:12.5rem}.fly-speed-field{min-width:12rem}.fly-speed-field input[type=range]{accent-color:#2db7a3;background:0 0;border:0;width:6rem;padding:0}.fly-speed-field output{text-align:right;color:#b8d5e4;min-width:3.8rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.fly-move-field select{min-width:7rem}.normalization-field select{min-width:8.9rem}.visual-scale-field input[type=range]{accent-color:#2db7a3;background:0 0;border:0;width:7.2rem;padding:0}.visual-scale-field output{text-align:right;color:#b8d5e4;min-width:3.9rem;font-family:IBM Plex Mono,monospace;font-size:.76rem}.workspace{min-height:100%;position:absolute;inset:0;overflow:hidden}.center-workspace{min-width:0;min-height:0;position:absolute;inset:0}.right-dock{z-index:30;top:calc(var(--topbar-height) + .56rem);width:var(--dock-width);pointer-events:none;flex-direction:column;gap:.52rem;min-width:0;min-height:0;display:flex;position:absolute;bottom:.7rem;right:.8rem}.right-dock>*{pointer-events:auto}.stack-field{flex-direction:column;gap:.28rem;display:flex}.stack-field span{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}.object-list{background:#0b0f0de6;border:1px solid #4a5e54;border-radius:.28rem;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.object-row{color:var(--text);text-align:left;background:0 0;border:0;border-bottom:1px solid #4d5f548c;flex-direction:column;gap:.12rem;padding:.34rem .46rem;display:flex}.object-row:hover{filter:none;background:#22312ab3;border-color:#57836ec7;transform:none}.object-row.selected{background:linear-gradient(#2db7a338,#2db7a314)}.object-row-name{letter-spacing:.02em;font-size:.78rem;font-weight:600}.object-row-meta{color:#9fb9a9;font-family:IBM Plex Mono,monospace;font-size:.64rem}.empty-state{color:var(--text-soft);padding:.8rem;font-size:.82rem}.mini-count{color:#93b0a0;font-family:IBM Plex Mono,monospace;font-size:.68rem}.library-widget{flex:auto;min-height:0}.library-widget .scene-widget-body{height:100%}.library-filter-row{grid-template-columns:minmax(0,1fr) minmax(6.7rem,.38fr);gap:.38rem;display:grid}.library-action-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:stretch;gap:.34rem;display:grid}.library-action-row .toolbar-link{white-space:nowrap;justify-content:center}.toolbar-link.is-disabled{opacity:.48;pointer-events:none}.asset-library-list{background:#0b0f0de6;border:1px solid #4a5e54;border-radius:.28rem;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.library-row{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;border-bottom:1px solid #4d5f548c;border-radius:0;flex-direction:column;gap:.12rem;padding:.33rem .46rem;display:flex}.library-row:hover{filter:none;background:#22312ab3;border-color:#57836ec7;transform:none}.library-row.selected{background:linear-gradient(#db9a3d4d,#db9a3d21)}.library-row-name{letter-spacing:.02em;overflow-wrap:anywhere;min-width:0;font-size:.76rem;font-weight:600}.library-row-meta{color:#9fb9a9;overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:.6rem}.viewport-panel{background:radial-gradient(circle at top,#3a685842,#0d110ff0);border:0;border-radius:0;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.viewport-titlebar{z-index:11;color:#c9ddd0;pointer-events:none;background:#090d0cbd;border-bottom:1px solid #4d5f54ad;justify-content:space-between;align-items:center;gap:.75rem;min-height:1.8rem;padding:.35rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:flex;position:absolute;top:0;left:0;right:0}.viewport-titlebar span:last-child{text-overflow:ellipsis;white-space:nowrap;color:#9dc6b2;min-width:0;overflow:hidden}#scene-canvas{width:100%;height:100%;display:block}.scene-widget{z-index:10;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(#0f1512e0,#0a0e0cd6);border:1px solid #4b5f54b8;border-radius:.28rem;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 26px #0000006b}.scene-widget-header{border-bottom:1px solid #4b5f549e;justify-content:space-between;align-items:center;gap:.45rem;padding:.38rem .5rem;display:flex}.scene-widget-header-meta{align-items:center;gap:.35rem;display:inline-flex}.scene-widget-header h2{text-transform:uppercase;letter-spacing:.08em;color:#c6d8cc;margin:0;font-size:.74rem}.scene-widget-body{flex-direction:column;gap:.55rem;min-height:0;padding:.5rem;display:flex;overflow:auto}.ghost-btn{letter-spacing:.07em;background:#1d2923d6;border:1px solid #577162b3;padding:.24rem .44rem;font-size:.68rem}.object-widget{flex:none;min-height:0;max-height:min(34vh,340px)}.map-widget{z-index:35;pointer-events:auto;width:min(260px,19vw);min-height:0;max-height:min(286px,32vh);position:absolute;bottom:3.95rem;left:.8rem}.map-widget .scene-widget-body{padding:.32rem}.map-imaging-card{min-height:0;display:block}.map-imaging-stage{aspect-ratio:1;background:linear-gradient(160deg,#161f1af2,#0d1310f2);border:1px solid #486253;border-radius:.36rem;grid-row:auto;position:relative;overflow:hidden}.map-imaging-stage img{object-fit:cover;filter:saturate(1.03)contrast(1.01);width:100%;height:100%;display:block}.map-imaging-stage canvas{cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.scene-widget.is-collapsed .scene-widget-body,.scene-widget.is-hidden{display:none}.inspector-widget{min-height:0}.inspector-ghost{display:none!important}.calibration-widget{width:min(24rem,42vw);top:calc(62% + 1.6rem);bottom:6.9rem;right:.8rem}.diagnostics{color:#9dc4b1;white-space:pre-wrap;background:#080b0ab3;border:1px solid #4d5f54cc;border-radius:.55rem;max-height:2rem;padding:.36rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.64rem;line-height:1.38;display:none;position:absolute;bottom:.8rem;left:min(19rem,28vw);right:min(24rem,29vw);overflow:auto}body.debug-ui .diagnostics,.diagnostics.is-visible{display:block}.hover-preview{z-index:120;pointer-events:none;opacity:0;background:#090d0cf2;border:1px solid #647d6ee6;border-radius:.35rem;width:min(24rem,44vw);min-width:min(18rem,34vw);padding:.42rem .5rem;transition:opacity 80ms,transform 80ms;position:fixed;transform:translateY(4px);box-shadow:0 12px 22px #00000073}.hover-preview.is-visible{opacity:1;transform:translateY(0)}.hover-preview-visual{aspect-ratio:16/10;background:radial-gradient(circle at 50% 35%,#27382ef2,#101613f5);border:1px solid #4a6255db;border-radius:.28rem;width:100%;margin-bottom:.35rem;position:relative;overflow:hidden}.hover-preview-visual canvas{width:100%;height:100%;display:block}.hover-preview-placeholder{text-align:center;color:#9fb9a9;letter-spacing:.02em;background:#080c0a9e;justify-content:center;align-items:center;padding:.4rem;font-family:IBM Plex Mono,monospace;font-size:.66rem;display:flex;position:absolute;inset:0}.hover-preview-placeholder[hidden]{display:none!important}.hover-preview-title{color:#ddede3;overflow-wrap:anywhere;font-size:.75rem;font-weight:600;line-height:1.3}.hover-preview-meta,.hover-preview-detail{color:#9eb9a9;overflow-wrap:anywhere;margin-top:.16rem;font-family:IBM Plex Mono,monospace;font-size:.62rem;line-height:1.35}.card{background:linear-gradient(#17222dcc,#111922d6);border:1px solid #3b5267;border-radius:.65rem;flex-direction:column;gap:.5rem;padding:.65rem;display:flex}.card h2{text-transform:uppercase;letter-spacing:.07em;color:#c8dfed;margin:0;font-size:.88rem}.engine-bounds-card{background:#090f15b8;border:1px solid #405e75b3;border-radius:.55rem;flex-direction:column;gap:.3rem;padding:.5rem;display:flex}.engine-bounds-card h3{color:#c8dfed;text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:.78rem}.engine-bounds-card div{color:#a9d9c9;overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:.7rem;line-height:1.42}.engine-bounds-card div.is-warn{color:#f7c57f}.evidence-grid{gap:.18rem;display:grid}.evidence-row{grid-template-columns:minmax(6.8rem,.42fr) minmax(0,1fr);align-items:start;gap:.45rem;padding:.08rem 0;display:grid}.evidence-row span{color:#7fa6ba;text-transform:uppercase;letter-spacing:.045em;font-size:.64rem}.evidence-row strong{color:#cde9df;overflow-wrap:anywhere;min-width:0;font-weight:500}.evidence-row.is-warn span,.evidence-row.is-warn strong{color:#f7c57f}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.inline-check{flex-direction:row;align-items:center}.inline-check span{margin-top:.1rem}.field-status{color:#8dbbd2;font-size:.72rem}.field-status.error{color:#ff9a8c}.button-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.42rem;display:grid}.class-adjust-card{margin-top:.55rem}.class-adjust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-adjust-hint{color:#a6c6d8;line-height:1.35}.class-adjust-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-controls{border-top:1px dashed #58789273;flex-direction:column;gap:.45rem;margin-top:.2rem;padding-top:.5rem;display:flex}.queue-controls h2{text-transform:uppercase;letter-spacing:.065em;color:#c0d8e6;margin:0;font-size:.78rem}.queue-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.queue-grid select{min-width:0}.queue-source-buttons,.queue-nav-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}#inspector-root.is-disabled{opacity:.75}@media (width<=1320px){.right-dock{width:min(620px,46vw);top:calc(var(--topbar-height) + .56rem)}.map-widget{width:min(230px,22vw)}}@media (width<=1120px){.toolbar{gap:.34rem .42rem}.scene-flow-toolbar{border-top:1px dashed #3e596f73;padding-top:.5rem}.object-select-field select{min-width:min(60vw,20rem)}.visual-scale-field{min-width:min(70vw,18rem)}}@media (width<=980px){body{overflow:auto}#app,.app-shell{height:auto;min-height:100vh}.topbar{position:relative}.workspace{min-height:100vh;padding:.55rem;position:relative;inset:auto;overflow:visible}.toolbar{flex-wrap:wrap}.status-line{white-space:normal}.center-workspace{min-height:75vh;position:relative}.right-dock{pointer-events:auto;flex-direction:column;width:auto;display:flex;position:relative;inset:auto}.viewport-panel,#scene-canvas{min-height:420px}.scene-widget{width:auto;max-height:none}.map-widget{width:auto;max-height:none;margin-top:0;position:relative;bottom:auto;left:auto}.diagnostics{max-height:9rem;left:.8rem;right:.8rem}.object-list{max-height:32vh}.asset-library-list{max-height:36vh}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-grid{grid-template-columns:1fr}.queue-source-buttons,.queue-nav-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.title-strip{grid-template-columns:1fr}.brand-block p{display:none}.document-title{justify-self:start;max-width:100%}.transform-mode-group{width:100%}.transform-mode-group button{flex:1}.field-grid,.library-filter-row,.library-action-row{grid-template-columns:1fr}.map-imaging-stage{grid-row:auto}.queue-source-buttons,.queue-nav-buttons{grid-template-columns:1fr}}
