:root{color-scheme:dark;--bg:#1f2023;--chrome:#24262a;--chrome2:#2d3035;--panel:#282a2f;--line:#41454c;--text:#e7e9ed;--muted:#9399a3;--accent:#f2ad3f;--blue:#69a7ff;--danger:#ef6464;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--top:44px;--toolbar:50px;--cmd:118px;--status:29px;--side:286px}
*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--sans)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-rows:var(--top) var(--toolbar) minmax(0,1fr) var(--cmd) var(--status);min-width:300px}.topbar{display:flex;align-items:center;background:#1b1c1f;border-bottom:1px solid #111;z-index:20;user-select:none}.brand{height:100%;display:flex;align-items:center;gap:8px;min-width:170px;padding:0 12px;border-right:1px solid #34373c;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:27px;height:27px;border:1px solid #62666d;border-radius:4px;background:linear-gradient(145deg,#3d4046,#222);color:var(--accent);font-weight:800}.brand b{font-size:13px;letter-spacing:.09em}.brand small{display:block;margin-top:1px;color:#7f858e;font:7px/1.1 var(--mono);letter-spacing:.08em}.menus{display:flex;height:100%;min-width:0}.menus button,.icon-btn{border:0;background:transparent;color:#c9ccd2}.menus button{padding:0 10px;font-size:12px}.menus button:hover,.menus button.active,.icon-btn:hover{background:#363940;color:#fff}.top-actions{display:flex;height:100%;margin-left:auto}.icon-btn{min-width:38px;font-size:18px}.toolbar{display:flex;align-items:stretch;gap:6px;padding:4px 7px;overflow-x:auto;overflow-y:hidden;background:var(--chrome);border-bottom:1px solid #111;scrollbar-width:thin;user-select:none}.tool-group{display:flex;gap:2px}.tool-sep{width:1px;min-width:1px;margin:3px 1px;background:#41444a}.toolbar button{width:47px;min-width:47px;border:1px solid transparent;border-radius:3px;background:transparent;color:#d7d9dd;font-size:20px;line-height:20px}.toolbar button span{display:block;margin-top:2px;color:#9da2ac;font-size:8px}.toolbar button:hover{border-color:#53575e;background:#34373c}.workspace{display:grid;grid-template-columns:minmax(0,1fr) var(--side);min-height:0;background:#151618}.viewport-area{position:relative;min-width:0;min-height:0}.viewport-grid{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1px;background:#090a0b}.viewport-grid.single{display:block}.viewport-grid.single .viewport{display:none}.viewport-grid.single .viewport.active{display:block;width:100%;height:100%}.viewport{position:relative;min-width:0;min-height:0;overflow:hidden;background:#2b2d31}.viewport.active{outline:1px solid var(--accent);outline-offset:-1px;z-index:1}.view-host{position:absolute;inset:0}.view-host canvas{display:block;width:100%!important;height:100%!important;touch-action:none}.view-label{position:absolute;top:5px;left:6px;z-index:4;display:flex;align-items:center;gap:5px;padding:2px 3px 2px 6px;border:1px solid rgba(0,0,0,.35);border-radius:3px;background:rgba(21,22,24,.7);backdrop-filter:blur(4px);font-size:10px;pointer-events:none}.mode-btn{pointer-events:auto;border:0;border-radius:2px;background:rgba(255,255,255,.08);padding:2px 5px;color:#aeb3bc;font-size:9px}.mode-btn:hover{background:rgba(255,255,255,.17);color:#fff}.hud{position:absolute;left:8px;right:8px;bottom:6px;z-index:5;display:flex;justify-content:space-between;pointer-events:none;color:rgba(238,240,244,.76);font:9px/1 var(--mono);text-shadow:0 1px 2px #000}.sidebar{display:flex;min-width:0;flex-direction:column;overflow:hidden;border-left:1px solid #111;background:var(--panel)}.tabs{display:grid;grid-template-columns:repeat(4,1fr);height:32px;border-bottom:1px solid #363940;background:#202226}.tab{border:0;border-right:1px solid #363940;background:transparent;color:#969ba5;font-size:9px;padding:0 3px}.tab.active{background:#303238;color:#fff;box-shadow:inset 0 -2px var(--accent)}.panel{display:none;min-height:0;flex:1;overflow:auto}.panel.active{display:block}.panel-head{height:35px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid #373a40;font-size:10px;color:#c7cad0}.panel-head span{color:#7f858f}.mini{width:25px;height:22px;border:1px solid #4b4e55;background:#34363b;border-radius:3px}.object-tree,.layer-list{padding:4px}.tree-row{height:27px;display:grid;grid-template-columns:22px 16px 1fr auto;align-items:center;gap:3px;padding:0 5px;border-radius:2px;color:#c6c9ce;font-size:10px}.tree-row:hover{background:#34373c}.tree-row.selected{background:#3a4655;outline:1px solid #567399}.tree-row button,.layer-row button{border:0;background:transparent;padding:0;color:#989ea8}.tree-type{color:#7f858e;font:8px/1 var(--mono);text-transform:uppercase}.layer-swatch{width:11px;height:11px;border:1px solid rgba(255,255,255,.35);border-radius:50%}.layer-row{height:30px;display:grid;grid-template-columns:22px 22px 20px 1fr;align-items:center;padding:0 4px;border-radius:2px;font-size:10px}.layer-row:hover{background:#33363b}.layer-row.current{background:#30343a;color:#fff}.properties{padding:8px}.properties.empty{color:#858b95;font-size:10px;line-height:1.5}.prop-group{margin-bottom:10px;overflow:hidden;border:1px solid #383b41;border-radius:3px}.prop-title{padding:5px 7px;background:#1f2124;color:#aeb3bc;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.prop-grid{display:grid;grid-template-columns:58px minmax(0,1fr);gap:5px 6px;align-items:center;padding:7px}.prop-grid label{color:#969ca5;font-size:9px}.prop-grid input,.prop-grid select,.setting-stack input,.setting-stack select{width:100%;min-width:0;height:24px;padding:2px 5px;border:1px solid #474a51;border-radius:2px;outline:0;background:#1e2023;font-size:10px}.prop-grid input:focus,.prop-grid select:focus,.setting-stack input:focus,.setting-stack select:focus{border-color:var(--blue)}.vec3{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.vec3 input{padding-inline:3px}.setting-stack{display:grid;gap:9px;padding:9px}.setting-stack>label:not(.check){display:grid;grid-template-columns:1fr 100px;align-items:center;gap:8px;color:#a7acb5;font-size:9px}.setting-stack .check{display:flex;align-items:center;gap:6px;color:#a7acb5;font-size:9px}.setting-stack .check input{width:auto}.setting-stack button{height:28px;border:1px solid #4a4d54;border-radius:3px;background:#34373b;font-size:9px}.command-dock{position:relative;display:grid;grid-template-rows:minmax(0,1fr) 36px auto;min-height:0;border-top:1px solid #0e0f11;background:#1a1b1e}.command-history{padding:5px 9px;overflow-y:auto;color:#bbc0c7;font:10px/1.45 var(--mono);scrollbar-width:thin}.command-history .cmd{color:#e6e8eb}.command-history .prompt{color:#f4bd65}.command-history .error{color:#ff7b7b}.command-history .ok{color:#75dda0}.command-line{display:grid;grid-template-columns:auto 1fr 52px;align-items:center;border-top:1px solid #34373d;background:#222429}.command-label{padding-left:9px;color:#eee;font:10px/1 var(--mono)}#commandInput{width:100%;height:100%;padding:0 8px;border:0;outline:0;background:transparent;color:#fff;font:11px/1 var(--mono)}#runCommandBtn{height:27px;margin-right:5px;border:1px solid #494c52;border-radius:2px;background:#34373c;font-size:9px}.command-suggest{position:absolute;left:75px;bottom:37px;z-index:30;display:none;min-width:180px;max-width:min(500px,calc(100vw - 90px));max-height:190px;overflow:auto;border:1px solid #4b4e55;background:#202226;box-shadow:0 8px 20px rgba(0,0,0,.4)}.command-suggest.show{display:block}.suggest-row{display:flex;justify-content:space-between;gap:14px;padding:5px 8px;font:9px/1.25 var(--mono)}.suggest-row:hover,.suggest-row.active{background:#3b4048}.suggest-row small{color:#818792}.statusbar{display:flex;align-items:center;overflow:hidden;border-top:1px solid #111;background:#202226;font-size:9px}.status-toggle{height:100%;padding:0 8px;border:0;border-right:1px solid #363940;background:transparent;color:#8f959e}.status-toggle.active{background:#30343a;color:#e7e9ec}.status-toggle.active:before{content:"●";margin-right:5px;color:var(--blue)}.status-toggle kbd{margin-left:3px;color:#686e77;font:8px/1 var(--mono)}.status-spacer{flex:1}.statusbar>span:not(.status-spacer){padding:0 8px;border-left:1px solid #363940;color:#858b95;white-space:nowrap}.menu-popover{position:fixed;z-index:100;display:none;min-width:190px;padding:4px;border:1px solid #555960;border-radius:3px;background:#27292e;box-shadow:0 12px 28px rgba(0,0,0,.46)}.menu-popover.show{display:block}.menu-popover button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;padding:6px 8px;border:0;border-radius:2px;background:transparent;color:#d1d4d9;font-size:10px;text-align:left}.menu-popover button:hover{background:#41454c}.menu-popover hr{margin:3px 0;border:0;border-top:1px solid #3b3e44}.menu-popover kbd{color:#888e98;font:8px/1 var(--mono)}.modal-backdrop{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:15px;background:rgba(0,0,0,.62);backdrop-filter:blur(2px)}.modal-backdrop[hidden]{display:none}.modal{display:flex;width:min(640px,100%);max-height:min(720px,90vh);flex-direction:column;border:1px solid #565a61;border-radius:5px;background:#282a2e;box-shadow:0 24px 70px rgba(0,0,0,.7)}.modal-head{height:39px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid #41444a}.modal-head b{font-size:11px}.modal-head button{border:0;background:transparent;color:#a6abb4;font-size:20px}.modal-body{padding:12px;overflow:auto;color:#c7cad0;font-size:11px;line-height:1.55}.modal-body h2{margin:0 0 8px;font-size:16px}.modal-body h3{margin:15px 0 5px;color:#f1b75c;font-size:11px}.modal-body code{padding:1px 4px;border-radius:2px;background:#1d1f22;font-family:var(--mono)}.modal-body table{width:100%;border-collapse:collapse}.modal-body th,.modal-body td{padding:4px 6px;border-bottom:1px solid #3b3e44;font-size:9px;text-align:left}.modal-body th{color:#8f959f}.sidebar-hidden .workspace{grid-template-columns:minmax(0,1fr)}.sidebar-hidden .sidebar{display:none}
@media(max-width:850px){:root{--side:245px}.brand{min-width:118px}.brand small{display:none}.menus button{padding:0 7px;font-size:10px}.toolbar button{width:43px;min-width:43px}}
@media(max-width:700px){:root{--top:42px;--toolbar:46px;--cmd:110px;--status:30px}.brand{min-width:104px;padding:0 8px}.brand-mark{width:24px;height:24px}.menus{display:none}.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{position:absolute;top:calc(var(--top) + var(--toolbar));right:0;bottom:calc(var(--cmd) + var(--status));z-index:40;width:min(82vw,310px);box-shadow:-10px 0 20px rgba(0,0,0,.35)}body:not(.mobile-sidebar-open) .sidebar{display:none}.viewport-grid{display:block}.viewport-grid .viewport{display:none}.viewport-grid .viewport.active{display:block;width:100%;height:100%}.statusbar{overflow-x:auto}.status-toggle{flex:0 0 auto}.statusbar>span{display:none}.command-history{font-size:9px}.command-line{grid-template-columns:auto 1fr 45px}.command-label{padding-left:6px}.hud{font-size:8px}.tabs{height:34px}}
@media(max-width:420px){.top-actions .icon-btn:first-child,.top-actions .icon-btn:nth-child(2){display:none}.toolbar{gap:3px}.toolbar button{width:40px;min-width:40px}.tool-sep{display:none}.command-suggest{left:5px;max-width:calc(100vw - 10px)}}

/* CADLY C-02 precision modeling */
.kernel-status,.status-readout{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid var(--line,#44484f);border-radius:4px;background:rgba(0,0,0,.16);color:#aeb5bf;font:10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}
.kernel-status.ready{border-color:#2b7656;color:#84e0b5}.kernel-status.error{border-color:#8a3d43;color:#ff9aa3}
@media(max-width:700px){.status-readout,.kernel-status{display:none}.toolbar .tool-group button span{display:none}}


/* CADLY C-03 transform + control-point interaction */
.transform-pad{position:absolute;right:10px;bottom:24px;z-index:25;width:310px;max-width:calc(100% - 20px);padding:7px;border:1px solid #555a62;border-radius:6px;background:rgba(30,32,36,.96);box-shadow:0 10px 30px rgba(0,0,0,.5);backdrop-filter:blur(8px);touch-action:manipulation}
.transform-pad[hidden]{display:none}.transform-pad-head{height:28px;display:grid;grid-template-columns:auto 1fr 28px;align-items:center;gap:7px;border-bottom:1px solid #41454c}.transform-pad-head b{font-size:10px;letter-spacing:.05em}.transform-pad-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8e949d;font:9px/1 var(--mono)}.transform-pad-head button{width:28px;height:25px;border:0;background:transparent;color:#aaa;font-size:18px}.transform-pad-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px}.transform-pad-modes button,.transform-step button,.transform-nudges button{height:30px;border:1px solid #4b5058;border-radius:3px;background:#33363b;color:#bec3ca;font-size:9px}.transform-pad-modes button.active{border-color:#6294c8;background:#394b5e;color:#fff}.transform-values{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.transform-values label{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:3px;color:#9da2aa;font:9px/1 var(--mono)}.transform-values input,.transform-step input{min-width:0;width:100%;height:30px;border:1px solid #4a4f57;border-radius:3px;background:#1d1f22;color:#fff;padding:0 6px;font:11px/1 var(--mono)}.transform-step{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;margin-top:7px}.transform-step label{display:grid;grid-template-columns:auto 70px;align-items:center;gap:5px;color:#9da2aa;font-size:9px}.transform-step span{color:#737a84;font:8px/1 var(--mono)}.transform-step button{padding:0 9px}.transform-nudges{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-top:6px}.transform-nudges button{min-width:0;padding:0}.transform-pad-note{margin-top:6px;color:#777e87;font:8px/1.25 var(--mono)}
.control-point-dot{pointer-events:none}
@media(max-width:700px){.transform-pad{position:absolute;left:6px;right:6px;bottom:8px;width:auto;max-width:none;padding:6px;border-radius:5px}.transform-pad-head{height:26px}.transform-pad-modes button,.transform-step button,.transform-nudges button{height:34px}.transform-values input,.transform-step input{height:34px;font-size:12px}.transform-nudges{gap:4px}.transform-pad-note{display:none}}
