:root{--void:#020605;--panel:#07100e;--panel2:#0a1714;--line:#24463d;--line2:#133129;--gold:#d6b969;--gold2:#ffdf83;--mint:#5eead4;--cyan:#73dcff;--text:#e9f2ed;--muted:#829b91;--danger:#ff6b5d;--font:Inter,"Segoe UI",sans-serif;--condensed:"Arial Narrow","Roboto Condensed",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--void);color:var(--text);font-family:var(--font)}body{overflow-x:hidden}.space{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 62% 28%,rgba(25,98,78,.16),transparent 30%),linear-gradient(135deg,#010302 0%,#030907 52%,#000 100%)}.space i{position:absolute;width:2px;height:2px;border-radius:50%;background:#dff;box-shadow:8vw 7vh #93bfb3,18vw 24vh #fff,27vw 5vh #a8d6cb,43vw 17vh #fff,58vw 4vh #a8d6cb,71vw 29vh #fff,87vw 11vh #a8d6cb,94vw 44vh #fff,14vw 69vh #fff,35vw 83vh #a8d6cb,53vw 63vh #fff,78vw 76vh #a8d6cb,91vw 91vh #fff;opacity:.55}.space i:nth-child(2){transform:translate(3vw,17vh);opacity:.25}.space i:nth-child(3){transform:translate(9vw,38vh);opacity:.18}.shell{position:relative;min-height:100vh;border:1px solid #17342c;background:linear-gradient(180deg,rgba(2,8,6,.86),rgba(2,6,5,.94))}.topbar{height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);padding:0 24px;background:rgba(2,8,6,.88);letter-spacing:.12em}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.cat-mark{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(94,234,212,.32))}.brand span{display:flex;flex-direction:column}.brand b{font-weight:500;letter-spacing:.08em}.brand small,.title-block span,.system-state span{font-size:9px;color:var(--muted);letter-spacing:.2em}.title-block{text-align:center;display:flex;flex-direction:column;gap:4px}.title-block strong{font-family:var(--condensed);font-size:15px;letter-spacing:.26em;font-weight:500}.system-state{justify-self:end;display:grid;grid-template-columns:auto auto;gap:3px 9px;align-items:center;text-align:right}.system-state i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}.system-state b{font-size:10px;color:var(--mint);font-weight:500}
main{display:grid;grid-template-columns:162px minmax(500px,1fr) 310px;min-height:calc(100vh - 105px)}.mission-rail{border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column;background:rgba(4,13,10,.68)}.rail-label{font-size:9px;color:var(--gold);letter-spacing:.18em;margin:0 8px 22px}.mission{position:relative;border:0;border-left:1px solid var(--line);background:none;color:var(--muted);min-height:79px;padding:11px 8px 10px 43px;text-align:left;cursor:pointer;font-family:inherit}.mission::before{content:"";position:absolute;left:-5px;top:27px;width:8px;height:8px;border:1px solid var(--line);background:var(--void);transform:rotate(45deg)}.mission span{position:absolute;left:11px;top:20px;font-family:var(--condensed);font-size:11px}.mission b{display:block;color:inherit;font-size:12px;font-weight:500;letter-spacing:.08em}.mission small{display:block;font-size:8px;letter-spacing:.18em;margin-top:5px}.mission.active{color:var(--gold2);border-left-color:var(--gold)}.mission.active::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 12px rgba(255,223,131,.5)}.rail-readout{margin-top:auto;border-top:1px solid var(--line2);padding:18px 8px;display:grid;gap:5px}.rail-readout span{font-size:8px;color:var(--muted);letter-spacing:.16em}.rail-readout b{font-size:9px;font-weight:500;color:var(--mint);margin-bottom:7px}
.work-area{min-width:0;padding:26px 24px 18px}.scene-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}.kicker{font-size:9px;color:var(--gold);letter-spacing:.21em}.scene-head h1{font-family:var(--condensed);font-size:clamp(22px,2.2vw,36px);font-weight:500;letter-spacing:.08em;margin:7px 0 0}.scene-head h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--mint)}.scene-actions{display:flex;gap:8px}.file-action input{position:absolute;opacity:0;pointer-events:none}.file-action,.primary-action{height:38px;padding:0 16px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:11px;letter-spacing:.08em;display:inline-flex;align-items:center;cursor:pointer}.primary-action{background:var(--gold);border-color:var(--gold);color:#111006;font-weight:500}.primary-action span{margin-left:18px}.file-action:hover{border-color:var(--mint);color:var(--mint)}
.viewport{position:relative;min-height:520px;border:1px solid var(--line);overflow:hidden;background:radial-gradient(ellipse at 50% 45%,rgba(21,85,68,.18),transparent 50%),linear-gradient(rgba(5,17,14,.82),rgba(1,5,4,.94));clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}.viewport::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(94,234,212,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(94,234,212,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle at center,#000,transparent 78%)}.hud{position:absolute;z-index:3;top:17px;display:flex;flex-direction:column;gap:4px}.hud span{font-size:8px;color:var(--muted);letter-spacing:.18em}.hud b{font-size:10px;color:var(--mint);font-weight:500;letter-spacing:.08em}.hud-tl{left:18px}.hud-tr{right:18px;text-align:right}.board-scene{position:absolute;inset:35px 3% 38px;width:94%;height:calc(100% - 73px)}.board-shadow{fill:#000;opacity:.8;transform:translate(12px,17px)}.board{stroke:var(--mint);stroke-width:2;filter:drop-shadow(0 0 14px rgba(94,234,212,.22))}.traces path{stroke:#4ebba4;stroke-width:2;opacity:.34}.components .component{cursor:pointer}.components .component rect{fill:#111c19;stroke:#739187;stroke-width:1.5}.components .component path{fill:none;stroke:#4f6b62;stroke-width:1}.components .component text{fill:#8ca79e;font-size:12px;text-anchor:middle;dominant-baseline:middle;font-family:var(--condensed);letter-spacing:.08em}.components .component.selected rect:first-child{fill:#3a2e12;stroke:var(--gold2);stroke-width:2;filter:drop-shadow(0 0 8px rgba(255,223,131,.4))}.components .component.selected text{fill:var(--gold2)}.mounts circle{fill:#020706;stroke:#5d8b7d;stroke-width:3}.thermal-plume{fill:none;stroke:var(--gold2);stroke-width:2;opacity:.6}.scanline{position:absolute;z-index:2;left:7%;right:7%;height:1px;top:32%;background:linear-gradient(90deg,transparent,var(--mint),transparent);box-shadow:0 0 16px var(--mint);animation:scan 7s ease-in-out infinite}@keyframes scan{0%,100%{top:25%;opacity:.15}50%{top:77%;opacity:.7}}.axis{position:absolute;z-index:3;left:24px;bottom:49px;width:62px;height:62px}.axis::before{content:"";position:absolute;left:29px;top:29px;width:27px;border-top:1px solid var(--gold);transform:rotate(-20deg);transform-origin:left}.axis::after{content:"";position:absolute;left:29px;top:29px;height:26px;border-left:1px solid var(--mint)}.axis i{position:absolute;font-size:8px;font-style:normal}.axis .x{right:0;top:16px;color:var(--gold)}.axis .y{left:4px;top:19px;color:var(--cyan)}.axis .z{left:26px;bottom:0;color:var(--mint)}.view-tools{position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:4;display:grid;border:1px solid var(--line)}.view-tools button{width:34px;height:34px;border:0;border-bottom:1px solid var(--line);background:#06100d;color:var(--muted);cursor:pointer}.view-tools button:last-child{border-bottom:0}.view-tools button:hover{color:var(--gold);background:#0d1b17}.viewport-footer{position:absolute;z-index:3;left:0;right:0;bottom:0;height:34px;border-top:1px solid var(--line2);display:flex;align-items:center;gap:25px;padding:0 16px;background:rgba(1,7,5,.9);font-size:8px;color:var(--muted);letter-spacing:.12em}.viewport-footer span:first-child{margin-right:auto}.viewport-footer i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 7px var(--mint);margin-right:7px}.viewport-footer b{color:var(--text);font-weight:500}
.command-strip{display:grid;grid-template-columns:2fr repeat(3,1fr);min-height:72px;border:1px solid var(--line);border-top:0;background:#040b09}.command-strip>div{padding:13px 15px;border-right:1px solid var(--line2);display:flex;flex-direction:column;gap:6px}.command-strip>div:last-child{border-right:0}.command-strip span{font-size:8px;letter-spacing:.15em;color:var(--muted)}.command-strip b{font-size:10px;font-weight:500;color:var(--mint)}.progress-track{height:2px;background:#163028;margin-top:3px}.progress-track i{display:block;width:0;height:100%;background:var(--gold);box-shadow:0 0 8px var(--gold);transition:width .4s ease}
.inspector{border-left:1px solid var(--line);background:rgba(5,14,12,.76);padding:20px 17px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:10px}.panel-head span{font-size:8px;color:var(--gold);letter-spacing:.16em}.panel-head b{font-size:10px;font-weight:500;letter-spacing:.08em}.tree{padding:12px 0 16px}.tree-row{width:100%;height:30px;border:0;background:transparent;color:var(--muted);display:grid;grid-template-columns:15px 18px 1fr auto;align-items:center;text-align:left;padding:0 5px;font-family:inherit;cursor:pointer;font-size:10px}.tree-row b{font-weight:400}.tree-row em{font-size:8px;font-style:normal;color:#6a8077}.tree-row:hover,.tree-row.active{color:var(--gold2);background:rgba(214,185,105,.07)}.tree-children{margin-left:15px;border-left:1px solid var(--line2)}.component-row{grid-template-columns:18px 1fr auto;padding-left:11px}.mapping-head{margin-top:4px}.property-grid{display:grid;gap:11px;padding:15px 0}.property-grid label{font-size:9px;color:var(--muted);letter-spacing:.06em}.property-grid label span{float:right;color:#536c62;font-size:8px}.property-grid input,.property-grid select{width:100%;height:34px;margin-top:6px;border:1px solid var(--line);background:#050d0b;color:var(--text);padding:0 10px;font-family:inherit;font-size:11px;outline:none}.property-grid input:focus,.property-grid select:focus{border-color:var(--mint);box-shadow:0 0 0 1px rgba(94,234,212,.2)}.mapping-meter{border-top:1px solid var(--line2);padding-top:13px}.mapping-meter div{display:flex;justify-content:space-between;align-items:center}.mapping-meter span{font-size:8px;color:var(--muted);letter-spacing:.14em}.mapping-meter b{font-size:10px;color:var(--mint)}.mapping-meter svg{width:100%;height:18px}.mapping-meter path{stroke:var(--line);stroke-width:2}.mapping-meter .meter-active{stroke:var(--mint);filter:drop-shadow(0 0 4px var(--mint));transition:d .3s ease}.map-action{width:100%;height:36px;border:1px solid var(--mint);background:rgba(94,234,212,.06);color:var(--mint);font-size:10px;letter-spacing:.1em;cursor:pointer}.map-action span{float:right;margin-right:5px}.export-panel{margin-top:22px;border:1px solid var(--gold);padding:14px;background:linear-gradient(135deg,rgba(214,185,105,.08),transparent)}.export-panel>div{display:flex;justify-content:space-between;margin-bottom:13px}.export-panel span{font-size:8px;color:var(--muted);letter-spacing:.12em}.export-panel b{font-size:10px;color:var(--gold2);font-weight:500}.check{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin:9px 0}.check input{accent-color:var(--gold)}.export-panel button{width:100%;height:40px;margin-top:10px;border:0;background:var(--gold);color:#111006;font-weight:500;letter-spacing:.09em;cursor:pointer}.export-panel button span{float:right;color:#111006;font-size:14px}
footer{height:31px;border-top:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 20px;color:#577068;font-size:8px;letter-spacing:.13em;background:#020706}footer time{margin-left:auto;color:var(--gold)}
@media(max-width:1050px){main{grid-template-columns:130px minmax(480px,1fr)}.inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.inspector .export-panel{grid-column:2;grid-row:2/5}.viewport{min-height:470px}}
@media(max-width:720px){.topbar{height:auto;min-height:68px;grid-template-columns:1fr auto;padding:10px 14px}.title-block{display:none}.brand small{display:none}.system-state span{display:none}main{display:block}.mission-rail{border-right:0;border-bottom:1px solid var(--line);padding:8px 10px;display:grid;grid-template-columns:repeat(4,1fr)}.rail-label,.rail-readout{display:none}.mission{min-height:52px;padding:8px 3px;text-align:center;border-left:0;border-bottom:1px solid var(--line)}.mission::before{left:50%;top:auto;bottom:-4px}.mission span{position:static;display:block}.mission small{display:none}.work-area{padding:18px 12px}.scene-head{display:block}.scene-actions{margin-top:14px}.scene-actions>*{flex:1;justify-content:center}.scene-head h1{font-size:24px}.viewport{min-height:390px}.hud-tr{display:none}.board-scene{inset:48px 0 36px;width:100%}.viewport-footer{gap:10px;white-space:nowrap;overflow:hidden}.viewport-footer span:nth-child(2),.viewport-footer span:nth-child(3){display:none}.command-strip{grid-template-columns:1fr 1fr}.command-strip>div{border-bottom:1px solid var(--line2)}.inspector{display:block;padding:18px 14px}.export-panel{margin-top:16px}footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.scanline{animation:none;top:50%}}
.export-note{margin:11px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.export-panel button:disabled{cursor:wait;opacity:.65}
.automation-tools{display:grid;gap:9px;margin-top:14px}.tool-card{border:1px solid var(--line2);padding:10px;background:rgba(2,10,8,.72)}.tool-card-live{border-color:rgba(94,234,212,.42);box-shadow:inset 2px 0 var(--mint)}.tool-card>div{display:flex;justify-content:space-between;gap:8px}.tool-card b{font-size:8px;color:var(--mint);letter-spacing:.1em}.tool-card span{font-size:8px;color:var(--muted)}.tool-card p{margin:7px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.tool-upload{position:relative;display:block;margin-top:8px;padding:8px 9px;border:1px solid var(--line);color:var(--text);font-size:9px;cursor:pointer}.tool-upload:hover{border-color:var(--mint);color:var(--mint)}.tool-upload input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.tool-upload.disabled{opacity:.48;cursor:not-allowed}.tool-upload.disabled input{cursor:not-allowed}.tool-select{width:100%;height:29px;margin-top:7px;border:1px solid var(--line);background:#050d0b;color:var(--text);padding:0 7px;font:9px var(--font)}.align-controls{display:grid!important;grid-template-columns:repeat(4,1fr);gap:4px!important;margin-top:6px}.align-controls button{min-height:25px;border:1px solid var(--line);background:#06100d;color:var(--muted);font-size:8px;cursor:pointer}.align-controls button:hover{border-color:var(--gold);color:var(--gold2)}.pdf-actions{display:flex!important;gap:5px!important;margin-top:6px}.pdf-actions a{flex:1;padding:7px;border:1px solid var(--line);color:var(--mint);font-size:8px;text-align:center;text-decoration:none}.pdf-actions a:hover{border-color:var(--mint)}.privacy-note{margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line2);color:#668078;font-size:8px;line-height:1.5}
.excel-progress{margin-top:8px;padding:8px;border:1px solid var(--line2);background:#020907}.excel-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.excel-progress span,.excel-progress b{font-size:8px;letter-spacing:.06em}.excel-progress b{color:var(--gold2)}.excel-progress-track{height:5px;margin-top:7px;overflow:hidden;background:#10221d}.excel-progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--mint),var(--gold2));box-shadow:0 0 9px rgba(94,234,212,.55);transition:width .25s ease}.excel-progress[data-state="active"] .excel-progress-track i{animation:excel-pulse 1.1s ease-in-out infinite}.excel-progress[data-state="done"]{border-color:rgba(94,234,212,.58)}.excel-progress[data-state="error"]{border-color:#a64c45}.excel-progress[data-state="error"] b{color:#ff8c81}@keyframes excel-pulse{50%{filter:brightness(1.55)}}
.pdf-power-controls{margin-top:7px;padding:8px;border:1px solid var(--line2);background:#020907}.pdf-power-controls label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:8px}.pdf-power-controls input{width:90px;height:27px;border:1px solid var(--line);background:#050d0b;color:var(--text);padding:0 7px;font:9px var(--font)}.pdf-power-controls button{width:100%;min-height:28px;margin-top:6px;border:1px solid var(--gold);background:#0d0c07;color:var(--gold2);font:8px var(--font);cursor:pointer}.pdf-power-controls button:disabled{opacity:.55;cursor:wait}.pdf-power-controls p{color:#79978e}

.model-viewer{position:absolute;z-index:1;inset:38px 0 34px;display:none;overflow:hidden;cursor:grab}
.model-viewer.active{display:block}
.model-viewer:active{cursor:grabbing}
.model-viewer canvas{display:block;width:100%;height:100%;outline:0}
.viewport.actual-model .board-scene{display:none}
.viewport.actual-model .scanline{opacity:.18}

/* Keep the BlackCat brand and both product titles visually consistent. */
.brand b,
.title-block strong,
.scene-head h1{
  font-family:var(--font);
  font-weight:600;
  color:var(--mint);
}
.title-block strong{letter-spacing:.14em}
.scene-head h1 em{color:inherit;-webkit-text-stroke:0}
.file-action{position:relative;overflow:hidden}.file-action input{inset:0;pointer-events:auto;cursor:pointer}
.viewer-selection{position:absolute;z-index:6;left:18px;bottom:18px;max-width:70%;padding:7px 11px;border-left:2px solid var(--gold);background:rgba(2,8,6,.9);color:var(--gold2);font-size:11px;letter-spacing:.08em;pointer-events:none;box-shadow:0 0 18px rgba(214,185,105,.12)}
.geometry-properties{margin:0 0 14px;padding:10px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}.geometry-properties div{min-width:0}.geometry-properties dt{font-size:8px;color:var(--muted);letter-spacing:.08em}.geometry-properties dd{margin:4px 0 0;color:var(--text);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.component-row.active{color:var(--gold2);background:rgba(214,185,105,.16);box-shadow:inset 2px 0 var(--gold)}
html,body{height:100%;overflow:hidden;overscroll-behavior:none}.shell{height:100vh;min-height:0;overflow:hidden}main{height:calc(100vh - 105px);min-height:0;overflow:hidden}.work-area{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.viewport{min-height:0;height:auto}.inspector{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--line) transparent}.model-viewer{touch-action:none}
