html,body{margin:0;height:100%;font-family:Inter,Segoe UI,sans-serif;font-size:13px;background:#2a2a2a;color:#ddd}.app-shell{display:flex;flex-direction:column;height:100vh}.app-toolbar{display:flex;gap:6px;align-items:center;padding:6px 10px;background:#1e1e1e;border-bottom:1px solid #111}.app-brand{margin-left:auto;color:#888;font-size:11px}.tool-button{font:inherit;color:#ddd;background:#3a3a3a;border:1px solid #555;border-radius:4px;padding:4px 10px;cursor:pointer}.tool-button:hover{background:#484848}.app-main{display:flex;flex:1;min-height:0}.app-palette{flex:1;min-height:120px;overflow-y:auto;padding:6px;border-top:1px solid #111}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px}.palette-section{color:#777;font-size:10px;letter-spacing:1px;margin:10px 4px 4px}.palette-item{display:block;font:inherit;font-size:11px;text-align:left;color:#ccc;background:#303030;border:1px solid #444;border-radius:4px;padding:3px 6px;cursor:grab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item:hover{background:#3c3c3c;border-color:#2a8df0}.app-canvas{flex:1;overflow:auto;position:relative}.app-stage-host{box-shadow:0 4px 24px #00000080}.app-inspector{width:250px;overflow-y:auto;background:#242424;border-left:1px solid #111;padding:10px}.insp-title{font-weight:700;color:#2a8df0;margin-bottom:8px}.insp-empty{color:#777}.insp-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.insp-label{width:92px;flex-shrink:0;color:#999;font-size:11px}.insp-row input[type=text],.insp-row input[type=number],.insp-row select,.insp-row textarea{flex:1;min-width:0;font:inherit;font-size:12px;color:#ddd;background:#1c1c1c;border:1px solid #444;border-radius:3px;padding:3px 6px}.insp-row input[type=color]{width:36px;height:22px;padding:0;border:1px solid #444;background:none}.insp-row button{font:inherit;color:#999;background:#303030;border:1px solid #444;border-radius:3px;cursor:pointer}.app-status{padding:4px 10px;background:#007acc;color:#fff;font-size:12px}.app-account{color:#aaa;font-size:11px;margin-left:10px}.auth-screen{flex:1;display:grid;place-items:center}.auth-card{display:flex;flex-direction:column;gap:10px;width:320px;padding:28px;background:#1e1e1e;border:1px solid #333;border-radius:8px;box-shadow:0 8px 40px #00000080}.auth-title{font-size:18px;font-weight:700;color:#2a8df0}.auth-subtitle{color:#999;font-size:12px;line-height:1.5}.auth-card input{font:inherit;color:#ddd;background:#141414;border:1px solid #444;border-radius:4px;padding:8px 10px}.auth-primary{padding:8px;background:#0e639c;border-color:#17b}.auth-primary:hover{background:#17b}.auth-link{background:none;border:none;color:#2a8df0;font:inherit;font-size:12px;cursor:pointer;padding:0}.auth-error{color:#f48771;font-size:12px;min-height:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;z-index:100}.modal-dialog{width:420px;max-height:70vh;display:flex;flex-direction:column;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:16px;gap:10px}.modal-title{font-weight:700;color:#2a8df0}.modal-list{flex:1;overflow-y:auto;min-height:80px;color:#999;font-size:12px}.modal-list-item{display:block;width:100%;text-align:left;font:inherit;font-size:12px;color:#ddd;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;padding:8px 10px;margin-bottom:4px;cursor:pointer}.modal-list-item:hover{background:#333;border-color:#2a8df0}.modal-actions{display:flex;justify-content:flex-end;gap:6px}.app-left{width:210px;background:#212121;border-right:1px solid #111;display:flex;flex-direction:column;min-height:0}.app-left-top{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.panel-head{display:flex;align-items:center;justify-content:space-between;color:#777;font-size:10px;letter-spacing:1px;padding:8px 8px 4px}.panel-head-action{font:inherit;color:#aaa;background:#303030;border:1px solid #444;border-radius:3px;width:18px;height:18px;line-height:1;cursor:pointer}.stage-list{padding:0 6px}.stage-item{display:block;width:100%;text-align:left;font:inherit;font-size:11px;color:#bbb;background:none;border:1px solid transparent;border-radius:4px;padding:2px 8px;cursor:pointer}.stage-item:hover{background:#2c2c2c}.stage-item.active{color:#fff;background:#2c3b4e;border-color:#2a8df0}.stage-tree{padding:0 4px 8px}.tree-item{min-width:0}.tree-children{margin-left:9px;padding-left:6px;border-left:1px solid #3a3a3a}.tree-row{display:flex;align-items:center;gap:4px;width:100%;font-size:11px;color:#bbb;border-radius:3px;padding:2px 4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-row:hover{background:#2c2c2c}.tree-row.selected{background:#2c3b4e;color:#fff}.tree-caret{width:12px;flex-shrink:0;text-align:center;color:#888;cursor:pointer;-webkit-user-select:none;user-select:none}.tree-caret:hover{color:#fff}.tree-caret-leaf{color:#555;cursor:default}.tree-kind{color:#6fb3f2}.tree-id{color:#888;margin-left:6px}.tree-empty{color:#666;font-size:11px;padding:6px 10px}.app-stage-wrap{position:relative}.app-stage-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.gizmo{position:absolute;pointer-events:none;outline:1px solid #2a8df0}.gizmo-handle{position:absolute;width:8px;height:8px;background:#fff;border:1px solid #2a8df0;pointer-events:auto}.gizmo-nw{left:-4px;top:-4px;cursor:nwse-resize}.gizmo-n{left:calc(50% - 4px);top:-4px;cursor:ns-resize}.gizmo-ne{right:-4px;top:-4px;cursor:nesw-resize}.gizmo-e{right:-4px;top:calc(50% - 4px);cursor:ew-resize}.gizmo-se{right:-4px;bottom:-4px;cursor:nwse-resize}.gizmo-s{left:calc(50% - 4px);bottom:-4px;cursor:ns-resize}.gizmo-sw{left:-4px;bottom:-4px;cursor:nesw-resize}.gizmo-w{left:-4px;top:calc(50% - 4px);cursor:ew-resize}.gizmo-skew .gizmo-n,.gizmo-skew .gizmo-s{cursor:col-resize;background:#ffd479}.gizmo-skew .gizmo-e,.gizmo-skew .gizmo-w{cursor:row-resize;background:#ffd479}.gizmo-rotate{position:absolute;left:calc(50% - 5px);top:-26px;width:10px;height:10px;border-radius:50%;background:#87cefa;border:1px solid #2a8df0;cursor:grab;pointer-events:auto}.gizmo-rotate:after{content:"";position:absolute;left:4px;top:10px;width:1px;height:12px;background:#2a8df0}.gizmo-pivot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:2px solid #ff8c5a;background:#ff8c5a59;cursor:move;pointer-events:auto}.nui-drop-target{outline:2px dashed #3cb371!important;outline-offset:-2px}.stage-area{display:grid;grid-template-columns:22px max-content;grid-template-rows:22px max-content;width:max-content;min-width:100%;min-height:100%}.ruler-corner{position:sticky;top:0;left:0;z-index:60;background:#1c1c1c;border-right:1px solid #333;border-bottom:1px solid #333}.ruler-top{position:sticky;top:0;z-index:50;height:22px;background:#1c1c1c;border-bottom:1px solid #333;cursor:copy;background-image:repeating-linear-gradient(to right,#333 0 1px,transparent 1px 10px),repeating-linear-gradient(to right,#555 0 1px,transparent 1px 100px);background-size:100% 6px,100% 12px;background-position:bottom,bottom;background-repeat:repeat-x}.ruler-left{position:sticky;left:0;z-index:50;width:22px;background:#1c1c1c;border-right:1px solid #333;background-image:repeating-linear-gradient(to bottom,#333 0 1px,transparent 1px 10px),repeating-linear-gradient(to bottom,#555 0 1px,transparent 1px 100px);background-size:6px 100%,12px 100%;background-position:right,right;background-repeat:repeat-y}.ruler-label{position:absolute;font-size:8px;color:#777;top:1px;pointer-events:none}.ruler-left .ruler-label{top:auto;left:1px;writing-mode:vertical-rl;transform:rotate(180deg)}.ruler-stage-edge{position:absolute;top:0;bottom:0;width:2px;background:#2a8df0;pointer-events:none}.division-layer{position:absolute;left:0;top:0;pointer-events:none;z-index:30}.division-line{position:absolute;top:0;height:100%;width:0;border-left:1.5px dashed #c000ff;pointer-events:none}.division-ghost{border-left-color:#ff9df5}.division-grab{position:absolute;top:0;height:100%;width:10px;cursor:ew-resize;pointer-events:auto}.division-chip{position:absolute;top:2px;display:flex;align-items:center;gap:4px;font-size:10px;color:#fff;background:#7a00a1d9;border:1px solid #c000ff;border-radius:3px;padding:1px 4px;white-space:nowrap;cursor:ew-resize;pointer-events:auto}.division-chip-remove{font:inherit;color:#f0c0ff;background:none;border:none;cursor:pointer;padding:0 1px}.division-chip-remove:hover{color:#fff}.app-library{flex-shrink:0;max-height:30%;overflow-y:auto;border-top:1px solid #111;padding-bottom:4px}.library-list{padding:0 6px}.library-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#ccc;background:#2b2b33;border:1px solid #44445a;border-radius:4px;padding:3px 6px;margin-bottom:3px;cursor:grab}.library-item:hover{border-color:#8a7bff}.library-item.library-asset{cursor:default;opacity:.7}.library-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-badge{font-size:9px;color:#9f93ff;border:1px solid #5b4fa8;border-radius:3px;padding:0 3px;flex-shrink:0}.library-remove{font:inherit;color:#777;background:none;border:none;cursor:pointer;padding:0 1px;flex-shrink:0}.library-remove:hover{color:#fff}.insp-banner{font-size:11px;color:#ffd479;background:#7a00a140;border:1px solid #7a00a1;border-radius:4px;padding:4px 6px;margin-bottom:8px;line-height:1.4}.insp-section{color:#777;font-size:10px;letter-spacing:1px;margin:10px 0 4px;text-transform:uppercase}.division-line.division-active{border-left-width:2.5px;border-left-color:#ffd479}.division-chip-active{background:#a16400e6;border-color:#ffd479}.tool-button-active{background:#0e639c;border-color:#17b}.app-canvas.panning{cursor:grab}.app-canvas.panning:active{cursor:grabbing}.insp-section-actions{display:flex;align-items:center;justify-content:space-between}.ix-card{background:#1c1c1c;border:1px solid #383838;border-radius:4px;padding:6px;margin-bottom:6px}.ix-row{display:flex;align-items:center;gap:4px;margin-bottom:4px}.ix-row select{flex:1;min-width:0;font:inherit;font-size:11px;color:#ddd;background:#141414;border:1px solid #444;border-radius:3px;padding:2px 4px}.ix-arrow{color:#777;flex-shrink:0}.ix-remove{font:inherit;color:#777;background:none;border:none;cursor:pointer;flex-shrink:0}.ix-remove:hover{color:#fff}.ix-params{width:100%;font:inherit;font-size:11px;color:#bbb;background:#141414;border:1px solid #333;border-radius:3px;padding:3px 6px;resize:vertical}.insp-row.insp-overridden{border-left:2px solid #c000ff;padding-left:4px;background:#7a00a11f;border-radius:2px}.insp-reset{font:inherit;color:#c89aff;background:none;border:none;cursor:pointer;padding:0 2px;flex-shrink:0}.insp-reset:hover{color:#fff}
