*,*:before,*:after{box-sizing:border-box}:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;line-height:1.4;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;height:100%}body{margin:0;min-width:320px;overflow:hidden;background:#071833;color:#1a3652}button,input,select,textarea{font:inherit}.editor-note{font-size:13px;color:#666;background:#f5f5f5;padding:8px 12px;border-radius:4px;margin-bottom:12px;line-height:1.5}.editor-playback-settings{margin-top:12px;padding:8px;background:#00000005;border-radius:4px;display:flex;flex-direction:column;gap:8px}.settings-row{display:flex;gap:12px}.editor-field.small{flex:1;margin-bottom:0}.editor-field.small span{font-size:11px;margin-bottom:2px}.editor-field.small input,.editor-field.small select{height:28px;font-size:12px;padding:0 4px}.playback-conversion-hint{margin-top:4px;font-size:11px;line-height:1.45;color:#8c8c8c}.playback-conversion-note{font-size:11px;color:#ad6800;background:#fffbe6;border:1px solid #ffe58f;border-radius:4px;padding:6px 8px}.modal-overlay.video-export-modal-overlay{inset:0;padding:0!important;overflow:hidden;align-items:stretch;justify-content:stretch}.modal-content.video-export-modal-content{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;border-radius:0;padding:10px 12px;gap:16px;box-sizing:border-box;overflow:hidden}.modal-content.video-export-modal-content .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:8px}.modal-content.video-export-modal-content .modal-footer{margin-top:0!important;padding-top:10px;border-top:1px solid #eceff3}@media(max-width:768px){.modal-content.video-export-modal-content{padding:8px}}.scene-editor{position:relative;width:100vw;height:100vh;overflow:hidden;background:radial-gradient(circle at 15% 10%,#4594ff52,#071a33f2 45%,#071833)}.editor-ui-layer{position:absolute;inset:0;z-index:100;pointer-events:none}.editor-panel{pointer-events:auto;background:var(--editor-panel-bg, rgba(255, 255, 255, .94));border:1px solid rgba(22,119,255,.2);box-shadow:0 10px 32px #0414282e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.editor-panel{background:#fffffffa}}.editor-topbar{position:absolute;top:12px;left:12px;right:12px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:flex-start;padding:0 16px;gap:12px}.topbar-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}.topbar-brand h1{margin:0;font-size:17px;line-height:1;color:#0f3a6d}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}.topbar-visibility-tip{display:inline-flex;align-items:center;min-width:180px;max-width:560px;height:28px;padding:0 10px;border-radius:999px;background:#eef6ff;border:1px solid #b9d6fb;color:#1f4f87;font-size:12px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-dirty{display:inline-flex;align-items:center;height:28px;padding:0 8px;border-radius:999px;background:#fff7e6;color:#a05a00;border:1px solid #ffd591;font-size:12px;line-height:1}.topbar-scene-id{display:inline-flex;align-items:center;height:28px;padding:0 8px;border-radius:999px;background:#eef5ff;color:#2f5f97;border:1px solid #c8daf6;font-size:12px;line-height:1}.editor-left{position:absolute;top:80px;left:12px;bottom:44px;width:300px;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.editor-right{position:absolute;top:80px;right:12px;bottom:44px;width:320px;border-radius:12px;overflow:auto}.editor-tabs{display:flex;align-items:center;gap:6px;flex:1;min-width:0;margin:0 4px;padding:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.editor-tabs--topbar{background:transparent}.editor-tab{--tab-bg: #fff;--tab-border: #d4e2f0;--tab-text: #39597a;--tab-active-bg: #ecf4ff;--tab-active-border: #1677ff;--tab-active-text: #0e4b9f;flex:0 0 auto;border:1px solid var(--tab-border);border-radius:999px;background:var(--tab-bg);color:var(--tab-text);font-size:12px;line-height:1.2;white-space:nowrap;padding:6px 10px;cursor:pointer;transition:all .18s ease}.editor-tab:hover{filter:brightness(.985)}.editor-tab-inner{display:inline-flex;align-items:center;gap:5px}.editor-tab-icon{font-size:13px;line-height:1;opacity:.88}.editor-tab.is-active{border-color:var(--tab-active-border);color:var(--tab-active-text);background:var(--tab-active-bg);font-weight:600;box-shadow:0 2px 8px #10284e14}.editor-tab.tab-tone-tree{--tab-bg: #f4f8ff;--tab-border: #ccd9f8;--tab-text: #315b93;--tab-active-bg: #e7f0ff;--tab-active-border: #7ba6e8;--tab-active-text: #1f4b86}.editor-tab.tab-tone-library{--tab-bg: #f3fbff;--tab-border: #c8e8f6;--tab-text: #2e657f;--tab-active-bg: #e6f6ff;--tab-active-border: #6db8df;--tab-active-text: #1f5574}.editor-tab.tab-tone-line-area{--tab-bg: #f4fbf4;--tab-border: #cfe7cf;--tab-text: #2f6b46;--tab-active-bg: #e8f7e8;--tab-active-border: #78be86;--tab-active-text: #215337}.editor-tab.tab-tone-tools{--tab-bg: #fff8f1;--tab-border: #f0dbc5;--tab-text: #8a5a2d;--tab-active-bg: #ffefdd;--tab-active-border: #e1a866;--tab-active-text: #7a4a1d}.editor-tab.tab-tone-layers{--tab-bg: #f3f7fa;--tab-border: #d1dce6;--tab-text: #395b78;--tab-active-bg: #e8eff5;--tab-active-border: #8fb0cc;--tab-active-text: #2e4f6c}.editor-tab.tab-tone-demo{--tab-bg: #fff5f6;--tab-border: #f1d2d7;--tab-text: #8a3c4c;--tab-active-bg: #ffe9ec;--tab-active-border: #df8ea0;--tab-active-text: #7a2f3e}.editor-tab.tab-tone-config{--tab-bg: #f7f7f8;--tab-border: #d8dbe1;--tab-text: #4a5568;--tab-active-bg: #edeff3;--tab-active-border: #a8b0c0;--tab-active-text: #2f3a4f}.editor-tab-content{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px;overflow:auto}.editor-section{display:flex;flex-direction:column;gap:10px;min-height:0}.editor-tab-content>.editor-section{flex:1}.editor-tab-content>.editor-section.editor-section--library{flex:0 0 auto}.editor-section--library{gap:8px}.editor-section--library>*{flex-shrink:0}.editor-section h3{margin:0;font-size:13px;color:#183b63}.editor-subsection{display:flex;flex-direction:column;gap:10px}.editor-subsection--stretch{flex:1;min-height:0}.editor-subsection-gap{margin-top:6px;padding-top:10px;border-top:1px dashed #d7e3f2}.editor-subheading{margin:0;font-size:12px;color:#426487;letter-spacing:.02em}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tool-grid.tool-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-grid.tool-grid--quad{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-tool-btn{border:1px solid #d0dceb;border-radius:9px;background:#fff;color:#3b5f85;font-size:12px;padding:8px;cursor:pointer}.editor-tool-btn.is-active{border-color:#1677ff;background:#e9f3ff;color:#0f54b0;font-weight:600}.editor-section-gap{margin-top:8px;padding-top:12px;border-top:1px dashed #d7e3f2}.course-style-grid{display:flex;flex-direction:column;gap:8px}.editor-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#355878}.editor-field input[type=color]{width:100%;height:32px;padding:0;border:1px solid #d0dceb;border-radius:8px;background:#fff;cursor:pointer}.editor-field input[type=text],.editor-field input[type=number],.editor-field select,.editor-field textarea{width:100%;border:1px solid #cad9e9;border-radius:7px;padding:6px 8px;color:#254466;outline:none;background:#fff}.editor-field textarea{resize:vertical;min-height:70px}.editor-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-paste-row{display:flex;gap:8px;margin-top:8px}.editor-paste-input{flex:1;padding:6px 10px;border:1px solid #cad9e9;border-radius:7px;font-size:13px;color:#254466;outline:none;transition:border-color .2s}.editor-paste-input:focus{border-color:#1677ff}.editor-paste-input:disabled{background:#f5f5f5;color:#999}.editor-field-inline{display:flex;align-items:center;gap:8px}.editor-field-inline input[type=range]{flex:1;accent-color:#1677ff}.editor-field-inline input[type=number]{width:68px;border:1px solid #cad9e9;border-radius:7px;padding:5px 6px;color:#254466;outline:none}.editor-field-value{min-width:44px;text-align:right;color:#4a7096}.course-style-preview{border:1px solid #d8e4f2;border-radius:8px;background:#fff;height:42px;display:flex;align-items:center;justify-content:center}.course-style-preview span{width:calc(100% - 24px);border-top-style:solid}.editor-switch-list{display:flex;flex-direction:column;gap:6px}.editor-switch-row{display:flex;align-items:center;gap:8px;font-size:12px;color:#355878}.editor-switch-row input[type=checkbox]{margin:0;accent-color:#1677ff}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}.library-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:center}.library-summary{font-size:12px;color:#5f7d9d;line-height:1.4}.model-card{border:1px solid #d0dceb;border-radius:9px;background:#fff;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.model-card.is-active{border-color:#1677ff;background:#e9f3ff}.model-icon{font-size:22px}.model-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid #d5e2f0;background:#f7fbff}.model-name{font-size:12px;color:#37567a;text-align:center}.model-category-tag{border:1px solid #cfdded;border-radius:999px;padding:1px 6px;line-height:1.4;font-size:10px;color:#486a8f;background:#f5f9ff}.editor-note{border-radius:8px;background:#f4f8fc;color:#365775;font-size:12px;padding:8px 10px}.editor-note.warning{background:#fff7e6;color:#8c5400}.marker-icon-preview-row{display:flex;align-items:center;gap:10px}.marker-icon-preview{width:44px;height:44px;object-fit:contain;border:1px solid #cfdded;border-radius:8px;background:#f8fbff;padding:3px}.draw-perf-actions{display:flex;justify-content:flex-end}.draw-perf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.draw-perf-item{border:1px solid #d8e4f2;border-radius:8px;background:#f8fbff;padding:8px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4a6b8d}.draw-perf-item strong{color:#274d74;font-size:13px}.config-coordinate-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.config-server-coordinate.is-diff{color:#cf1322;font-weight:700}.library-batch-editor{border:1px solid #d7e3f2;border-radius:10px;padding:10px;background:#f8fbff;position:relative;z-index:0}.draw-feature-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}.editor-subsection--stretch .draw-feature-list{flex:1;min-height:0;max-height:none}.draw-feature-item{border:1px solid #d8e4f2;border-radius:9px;background:#fff;padding:8px;display:flex;flex-direction:column;gap:8px}.draw-feature-item.is-active{border-color:#1677ff;background:#ecf4ff}.draw-feature-item.is-main-course{border-color:#f59e0b8c;background:linear-gradient(135deg,#fff8e7,#fff 56%,#eef7ff)}.draw-feature-header{display:flex;align-items:center;gap:6px;min-width:0}.draw-feature-badge{border:1px solid #c9daf0;border-radius:999px;padding:2px 6px;color:#456a90;background:#f2f7ff;font-size:11px;line-height:1.2;white-space:nowrap}.draw-feature-badge--main{border-color:#f3b64f;color:#8a4a00;background:#fff2cf;font-weight:700}.draw-feature-name{color:#2f5479;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.draw-feature-meta{margin-left:auto;color:#6c89a9;font-size:11px;white-space:nowrap}.draw-feature-actions{display:flex;flex-wrap:wrap;gap:6px}.layer-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.layer-legend{margin-top:-2px;display:flex;flex-wrap:wrap;gap:6px}.layer-legend span{border-radius:999px;border:1px solid #d8e4f3;background:#f8fbff;color:#557595;font-size:11px;line-height:20px;padding:0 8px}.layer-item{position:relative;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:9px;border-color:#d3dfef;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 3px 10px #0c26440d}.layer-item.is-filtered{border-color:#8fbaf4;background:linear-gradient(180deg,#f8fbff,#f1f7ff);box-shadow:0 5px 14px #1b5dae21}.layer-item-head{min-width:0}.layer-item-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.layer-item-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f4368;font-weight:600;letter-spacing:.01em}.layer-item-count{flex:0 0 auto;font-size:11px;color:#5f7d9d;white-space:nowrap;padding:1px 7px;border-radius:999px;border:1px solid #d6e2f0;background:#f6faff}.layer-item-badges{display:flex;flex-wrap:wrap;gap:4px}.layer-item-badge{border:1px solid #d3deeb;border-radius:999px;padding:0 6px;line-height:16px;font-size:10px;color:#5c7b9a;background:#f8fbff;white-space:nowrap}.layer-item-badge.is-highlight{border-color:#9cc6fc;color:#1f5ca8;background:#eaf2ff}.layer-item-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.layer-item-right{display:inline-flex;align-items:center;gap:6px;margin-left:auto;min-height:24px}.layer-item-switches{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.layer-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:24px;padding:0 8px;border:1px solid #d3dfed;border-radius:999px;background:#fff;color:#506f8f;font-size:12px;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.layer-switch input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.layer-switch.is-active{border-color:#9ec2f3;background:#eaf3ff;color:#1f5ca7}.layer-switch.layer-switch--locked.is-active{border-color:#f2c279;background:#fff4e3;color:#9f5a00}.layer-more-menu-wrap{position:relative}.layer-more-trigger{display:inline-flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;width:28px;height:24px;padding:0;border-radius:999px;line-height:1;font-size:14px;font-weight:600;letter-spacing:0}.layer-more-trigger::-webkit-details-marker{display:none}.layer-more-trigger::marker{content:""}.layer-more-menu-wrap[open] .layer-more-trigger{border-color:#8bb9f9;background:#ecf4ff;color:#1f5ca8}.layer-more-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:112px;background:#fff;border:1px solid #d6e2f1;border-radius:9px;box-shadow:0 8px 24px #051a2f24;padding:6px;display:flex;flex-direction:column;gap:4px;z-index:10}.layer-more-action{width:100%;text-align:left;padding:6px 8px;border-radius:7px}.layer-more-action.editor-btn.ghost:hover{background:#eef5ff;border-color:#b7cfee}.tree-item{width:100%;border:1px solid #d8e4f2;border-radius:9px;background:#fff;padding:8px 10px;color:#355878;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px}.tree-item.tree-model{cursor:pointer}.tree-item.tree-model.is-active{border-color:#1677ff;background:#ecf4ff;color:#0d4e9e}.tree-group-title{font-size:12px;color:#6384a5;margin-top:2px}.tree-list{display:flex;flex-direction:column;gap:8px}.tree-empty{font-size:12px;color:#8da7c3;padding:6px 2px}.resource-tree-panel{display:flex;flex-direction:column;flex:1;gap:8px;min-height:0}.resource-tree-section-title{font-size:12px;color:#6384a5;font-weight:600;line-height:1}.resource-tree-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.resource-tree-toolbar-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:4px;width:auto}.resource-tree-box{flex:1;border:1px solid #d7e3f2;border-radius:8px;background:#fff;padding:6px;min-height:0;overflow:hidden}.resource-tree-box .ant-tree{background:transparent}.resource-tree-box .ant-tree .ant-tree-treenode{width:100%}.resource-tree-box .ant-tree .ant-tree-switcher{width:14px;min-width:14px;margin-inline-end:2px}.resource-tree-box .ant-tree .ant-tree-node-content-wrapper{border-radius:6px;padding-inline-start:2px}.resource-tree-box .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background:#e9f3ff}.resource-tree-box .ant-tree .ant-tree-draggable-icon{display:none}.resource-batch-row{display:flex;align-items:center;gap:6px}.resource-tree-stats{border-top:1px dashed #d7e3f2;padding-top:4px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;line-height:1.2;color:#5f7fa1}.resource-tree-hint{margin-top:0;font-size:10px;line-height:1.2;color:#7c97b7}.resource-node{width:100%;display:inline-flex;align-items:center;gap:6px;color:#355878;font-size:12px;min-height:22px}.resource-node.model.is-active{color:#0d4e9e;font-weight:600}.resource-node-icon{width:16px;text-align:center;opacity:.85}.resource-node-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.resource-node-meta{margin-left:auto;color:#809bbb;font-size:11px}.property-inspector{padding:12px;gap:12px}.editor-right-task-models{overflow:hidden}.task-models-subtitle{color:#587a9d;font-size:12px}.task-models-list{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:2px}.task-model-item{border:1px solid #d6e2ef;border-radius:8px;background:#fff;padding:8px 10px;text-align:left;display:flex;flex-direction:column;gap:3px;cursor:pointer;color:#284b70}.task-model-item:hover:not(:disabled){border-color:#8ab8e9;background:#f3f8ff}.task-model-item.is-active{border-color:#3a8df0;background:#eaf4ff}.task-model-item:disabled{cursor:not-allowed;opacity:.65}.task-model-item-name{font-size:12px;font-weight:600}.task-model-item-meta{font-size:11px;color:#6a8aad}.property-placeholder{border:1px dashed #bfd5ea;border-radius:8px;padding:12px;background:#f8fbff;color:#5c7e9f;font-size:12px;display:flex;flex-direction:column;gap:6px}.property-fields{display:flex;flex-direction:column;gap:10px}.property-group{border:1px solid #d8e4f2;border-radius:8px;background:#fff;padding:10px;display:flex;flex-direction:column;gap:10px}.property-row{display:grid;grid-template-columns:82px 1fr;gap:8px;align-items:center;font-size:12px;color:#315475}.property-row-stack{display:flex;flex-direction:column;align-items:stretch;gap:6px}.property-row label{color:#406284}.property-row input,.property-row select{width:100%;border:1px solid #cad9e9;border-radius:7px;padding:6px 8px;color:#254466;outline:none;background:#fff}.property-row input:focus,.property-row select:focus{border-color:#1677ff}.property-check-row{display:inline-flex;align-items:center;gap:6px;color:#315475}.property-check-row input[type=checkbox]{width:auto;margin:0;padding:0}.property-inline-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}.property-inline-slider{display:flex;align-items:center;gap:8px;width:100%}.property-inline-slider input[type=range]{flex:1;accent-color:#1677ff}.property-inline-slider-input{width:84px!important;flex:0 0 84px;text-align:right}.property-inline-slider span{width:52px;text-align:right;color:#3d6186;font-size:12px}.property-foldable-panel{border:1px dashed #c8daee;border-radius:8px;background:#f9fbff;padding:6px 8px}.property-foldable-panel summary{cursor:pointer;font-size:12px;color:#4f6f91;-webkit-user-select:none;user-select:none}.property-foldable-content{margin-top:8px;display:flex;flex-direction:column;gap:8px}.property-debug-panel{border:1px dashed #c2d7ee;border-radius:8px;background:#f8fbff;padding:8px 10px}.property-debug-panel summary{cursor:pointer;font-size:12px;color:#4f6f91;-webkit-user-select:none;user-select:none}.property-debug-content{margin-top:8px;display:flex;flex-direction:column;gap:6px}.property-debug-item{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#4e6f92}.property-debug-item code{font-size:11px;background:#edf4ff;border:1px solid #d6e6fb;border-radius:6px;padding:1px 6px;color:#2c5278;-webkit-user-select:all;user-select:all}.property-debug-block{margin-top:2px;font-size:12px;color:#5a7593;line-height:1.5;border-top:1px dashed #d5e4f4;padding-top:6px}.property-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nudge-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-btn{border:1px solid #cad9ea;border-radius:8px;padding:7px 12px;font-size:12px;cursor:pointer;background:#fff;color:#33587f}.editor-btn.primary{border-color:#1677ff;background:#1677ff;color:#fff}.editor-btn.danger{border-color:#ff7875;background:#fff1f0;color:#bf2b28}.editor-btn.ghost{background:#fff}.editor-btn:disabled{opacity:.55;cursor:not-allowed}.editor-bottombar{position:absolute;left:12px;right:12px;bottom:8px;min-height:32px;border-radius:10px;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:4px 8px;font-size:12px;color:#426487;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.editor-bottombar-item{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;max-width:100%;padding:2px 8px;border-radius:999px;border:1px solid rgba(39,108,183,.22);background:#ffffffc2}.editor-bottombar-item--grow{min-width:240px;max-width:420px}.editor-bottombar-key{color:#24517f;font-weight:600}.editor-bottombar-value{min-width:0;overflow:hidden;text-overflow:ellipsis}.editor-bottombar::-webkit-scrollbar{height:6px}.editor-bottombar::-webkit-scrollbar-thumb{border-radius:999px;background:#335f8c40}@media(max-width:1200px){.editor-left{width:260px}.editor-right{width:280px}}@media(max-width:920px){.editor-topbar{height:auto;min-height:56px;flex-wrap:wrap;padding:8px 12px}.editor-tabs--topbar{order:3;flex:1 1 100%;margin:0;padding-top:2px}.editor-left,.editor-right{top:132px;bottom:44px;width:46vw;max-width:none}.editor-left{left:8px}.editor-right{right:8px}.editor-bottombar{left:8px;right:8px;font-size:11px}.editor-bottombar-item{padding:2px 7px}.editor-bottombar-item--grow{min-width:200px;max-width:320px}.editor-panel{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffffff7}.tool-grid.tool-grid--triple,.tool-grid.tool-grid--quad{grid-template-columns:repeat(2,minmax(0,1fr))}.library-filter-grid{grid-template-columns:1fr}}@media(max-width:700px){.editor-left,.editor-right{width:calc(100vw - 16px);height:34vh;top:auto;bottom:44px}.editor-left{left:8px;right:8px}.editor-right{display:none}.editor-right.editor-right-task-models{display:block;width:calc(100vw - 16px);height:36vh;inset:auto 8px 44px}.editor-bottombar{padding-right:6px}.editor-bottombar-item--grow{max-width:260px}}.modal-overlay{position:fixed;inset:0;background:#040f1eb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:24px 12px;z-index:2000}.modal-content{background:#fff;border-radius:16px;width:480px;max-width:90vw;padding:24px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - 48px);margin:auto 0;overflow:hidden}.modal-header,.modal-footer{flex-shrink:0}.modal-body{min-height:0;overflow-y:auto;padding-right:4px}.modal-content h2{margin:0;font-size:18px;color:#1a3352}.export-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.export-progress-container{padding:16px;background:#f0f7ff;border-radius:12px;display:flex;flex-direction:column;gap:12px}.progress-status{font-size:13px;color:#2e5a8a;font-weight:500}.progress-bar-bg{height:8px;background:#d6e8ff;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#1677ff,#5cadff);transition:width .3s ease}.progress-stats{display:flex;justify-content:space-between;font-size:11px;color:#6c8eb5}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{width:400px;box-shadow:0 8px 32px #0000001a;border-radius:8px}.login-footer{position:absolute;bottom:20px;text-align:center;color:#fffc;font-size:14px}.login-footer p{margin:4px 0}.dashboard-page{display:flex;flex-direction:column;gap:16px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#ffffffd9;border-radius:16px;padding:20px 22px;border:1px solid rgba(23,60,112,.08)}.dashboard-card{border-radius:16px;border:1px solid rgba(23,60,112,.08);box-shadow:0 10px 26px #1836641a}.dashboard-card .ant-card-body{padding:20px 22px}.dashboard-card .ant-card-head{padding:0 22px}.dashboard-card .ant-card-head-title{padding:16px 0 12px}.dashboard-scene-list{display:flex;flex-direction:column}.dashboard-scene-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(23,60,112,.08)}.dashboard-scene-list-item:last-child{border-bottom:none;padding-bottom:0}@media(max-width:768px){.dashboard-card .ant-card-body{padding:16px}.dashboard-card .ant-card-head{padding:0 16px}}.scene-selector-page{display:flex;flex-direction:column;gap:16px}.scene-selector-card{border-radius:16px;border:1px solid rgba(23,60,112,.08);box-shadow:0 10px 28px #1836641a}.scene-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.scene-selector-toolbar{margin-bottom:16px}.task-center-page{display:flex;flex-direction:column;gap:16px}.task-center-card{border-radius:16px;border:1px solid rgba(23,60,112,.08);box-shadow:0 10px 28px #1836641a}.task-center-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.task-center-stats{margin-bottom:12px}.task-detail-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.task-detail-photo-card{border:1px solid #f0f0f0;border-radius:10px;overflow:hidden;background:#fff}.task-detail-photo-image{width:100%;height:140px;object-fit:cover;border-bottom:1px solid #f0f0f0}.task-detail-photo-image .ant-image-img{width:100%;height:140px;object-fit:cover}.task-detail-photo-meta{padding:8px 10px 10px;display:flex;flex-direction:column;gap:2px}.reports-page{display:flex;flex-direction:column;gap:16px}.reports-card{border-radius:16px;border:1px solid rgba(23,60,112,.08);box-shadow:0 10px 28px #1836641a}.reports-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.reports-stats{margin-bottom:12px}.reports-filter-card{margin-bottom:16px}.reports-export-area{background:#fff}.model-manager-page{display:flex;flex-direction:column;gap:16px}.model-manager-card{border-radius:16px;border:1px solid rgba(23,60,112,.08);box-shadow:0 10px 28px #1836641a}.model-manager-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.model-manager-toolbar{margin-bottom:16px}.model-thumbnail{width:72px;height:72px;border-radius:10px;overflow:hidden;border:1px solid rgba(23,60,112,.12);background:#f5f7fb}.model-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.model-thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#8d9db8;font-size:11px;text-align:center;padding:6px}.model-upload-collapse{margin-top:4px}.bulk-upload-test-panel{margin-bottom:16px;padding:10px;border:1px solid #d8e4f2;border-radius:10px;background:#f8fbff}.model-upload-glb-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.model-upload-glb-item{margin-bottom:0!important}.model-upload-collapse .ant-collapse-item{border-radius:10px}.model-upload-dragger.ant-upload-wrapper .ant-upload-drag{border-radius:10px;border:1px dashed #7fa8d6;background:#f7fbff}.model-upload-dragger.ant-upload-wrapper .ant-upload{min-height:106px;padding:14px 12px}.model-upload-dragger.ant-upload-wrapper .ant-upload-drag-icon{margin-bottom:6px}.model-upload-dragger.ant-upload-wrapper .ant-upload-drag-icon .anticon{font-size:24px;color:#2f6ea9}.model-upload-dragger.ant-upload-wrapper .ant-upload-text{margin:0;font-size:14px;color:#20486d;font-weight:600;line-height:1.45}.model-upload-dragger.ant-upload-wrapper .ant-upload-hint{margin-top:4px;font-size:12px;color:#4c6f95;line-height:1.4}.model-upload-dragger-base.ant-upload-wrapper .ant-upload-drag{border-color:#2f6ea9;background:linear-gradient(135deg,#eef6ff,#f8fbff)}.model-upload-dragger-base.ant-upload-wrapper .ant-upload-drag-icon .anticon{color:#1f5f9b}.model-upload-dragger-lod1.ant-upload-wrapper .ant-upload-drag{border-color:#1c8a73;background:linear-gradient(135deg,#ecfbf7,#f7fffc)}.model-upload-dragger-lod1.ant-upload-wrapper .ant-upload-drag-icon .anticon{color:#0f7f66}.model-upload-dragger-texture.ant-upload-wrapper .ant-upload-drag{border-color:#d77a28;background:linear-gradient(135deg,#fff6eb,#fffcf8)}.model-upload-dragger-texture.ant-upload-wrapper .ant-upload-drag-icon .anticon{color:#c56612}.model-upload-dragger-bulk.ant-upload-wrapper .ant-upload-drag{border-color:#7b6ac7;background:linear-gradient(135deg,#f4f1ff,#fbfaff)}.model-upload-dragger-bulk.ant-upload-wrapper .ant-upload-drag-icon .anticon{color:#6251b6}.model-upload-dragger-base.ant-upload-wrapper .ant-upload-drag.ant-upload-drag-hover,.model-upload-dragger-lod1.ant-upload-wrapper .ant-upload-drag.ant-upload-drag-hover,.model-upload-dragger-texture.ant-upload-wrapper .ant-upload-drag.ant-upload-drag-hover,.model-upload-dragger-bulk.ant-upload-wrapper .ant-upload-drag.ant-upload-drag-hover{box-shadow:inset 0 0 0 1px #00000014}.model-upload-dragger.ant-upload-wrapper .ant-upload-list-item{border:1px solid #cfe0f2;border-radius:8px;background:#f3f8ff;padding-inline:10px}.model-upload-dragger.ant-upload-wrapper .ant-upload-list-item-name{color:#163f67!important;font-size:13px;font-weight:700}.texture-upload-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #cfe0f2;border-radius:8px;background:#f3f8ff;padding:4px 8px 4px 10px}.texture-upload-list-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.texture-upload-list-name-main{color:#cf1322;font-weight:700}.texture-upload-list-name-id{color:#526b8a}.bulk-upload-warning-list{margin-top:8px}.bulk-upload-task-preview{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.bulk-upload-failed-list{max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:6px}.unused-assets-collapse{margin-top:6px}.unused-assets-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.unused-assets-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #d7e6f6;border-radius:8px;background:#f7fbff}.unused-assets-item-url{white-space:pre-wrap;word-break:break-all}.unused-assets-item-meta{font-size:12px}.texture-list-section{margin-bottom:12px;padding:10px;border:1px solid #d9e5f2;border-radius:10px;background:#f8fbff}.texture-list-title{margin-bottom:8px;color:#24476b;font-size:13px;font-weight:600}.texture-list-row{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(300px,1.7fr) auto;gap:8px;align-items:start;margin-bottom:8px;width:100%;overflow:hidden}.texture-list-item-slot,.texture-list-item-url{margin-bottom:0!important;min-width:0}.texture-list-item-slot .ant-select,.texture-list-item-slot .ant-input,.texture-list-item-url .ant-select{width:100%!important}.texture-list-item-url .ant-select-selection-item,.texture-list-item-url .ant-select-selection-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.texture-list-row .ant-btn{height:32px;padding-inline:10px;white-space:nowrap}@media(max-width:960px){.model-upload-glb-row,.texture-list-row{grid-template-columns:1fr}}@media(max-width:960px){.model-manager-header{flex-direction:column;align-items:flex-start}}.config-center-page{display:flex;flex-direction:column;gap:16px}.config-center-card{border-radius:16px;border:1px solid rgba(23,60,112,.08);box-shadow:0 10px 28px #1836641a}.config-center-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.config-center-tab-body{display:flex;flex-direction:column;gap:14px}.config-center-alert{border-radius:10px}.config-center-form{padding-top:4px}.config-center-number{width:100%}.config-center-locate-item .ant-form-item-control-input{min-height:40px}.config-center-preview{border:1px dashed rgba(23,60,112,.2);border-radius:10px;background:#e9f0fc8c;padding:10px 14px;display:flex;align-items:center;gap:8px}.config-center-layer-options{border-top:1px solid rgba(23,60,112,.1);padding-top:14px}.config-center-layer-options .ant-typography{display:block;margin-bottom:12px}@media(max-width:768px){.config-center-header{flex-direction:column;align-items:stretch}}.user-manager-page{padding:16px}.user-manager-header{margin-bottom:24px}.user-manager-card{border-radius:8px;box-shadow:0 1px 2px #00000008}.user-manager-search-form{margin-bottom:24px}.user-manager-permission-hint{margin:-6px 0 12px;padding:8px 10px;border-radius:6px;border:1px solid #d9e2ff;background:#f5f8ff;color:#334155;font-size:12px;line-height:1.5}.user-manager-config-group{margin-bottom:16px;padding:12px 12px 4px;border:1px solid #f0f0f0;border-radius:8px;background:#fafafa}.user-manager-config-title{display:block;margin-bottom:12px;font-size:13px;font-weight:600;color:#1f2937}.role-workspace-page{display:flex;flex-direction:column;gap:18px;height:100%;overflow:auto;padding:24px;background:radial-gradient(circle at 8% -12%,rgba(66,153,255,.14),transparent 42%),radial-gradient(circle at 92% 112%,rgba(34,197,121,.12),transparent 38%),#f3f6fb}.role-workspace-card{border-radius:16px;border:1px solid rgba(23,60,112,.08);box-shadow:0 10px 28px #1836641a}.role-workspace-card .ant-card-body{padding:20px 22px}.role-workspace-card .ant-card-head{padding:0 22px}.role-workspace-card .ant-card-head-title{padding:16px 0 12px}.role-workspace-kpi-alert .ant-statistic-content{color:#cf1322}.role-workspace-card .ant-list-item{align-items:flex-start}.role-workspace-hero .ant-card-body{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}@media(max-width:768px){.role-workspace-page{padding:14px;gap:14px}.role-workspace-card .ant-card-body{padding:16px}.role-workspace-card .ant-card-head{padding:0 16px}.role-workspace-hero .ant-card-body{flex-direction:column;align-items:flex-start}}.admin-layout-root{height:100vh;background:radial-gradient(circle at 15% -10%,rgba(43,120,228,.2),transparent 40%),radial-gradient(circle at 90% 110%,rgba(24,192,124,.15),transparent 36%),#f3f6fb}.admin-layout-sider{background:linear-gradient(180deg,#0a1f45,#122f63,#18356e)!important;border-right:1px solid rgba(255,255,255,.08);box-shadow:0 16px 48px #0612295c;padding:20px 14px}.admin-layout-brand{padding:8px 10px 18px}.admin-layout-brand-subtitle{color:#e0e9ffb8;font-size:12px}.admin-layout-menu{background:transparent!important;border-right:0!important}.admin-layout-menu .ant-menu-item{margin:8px 0!important;border-radius:10px;color:#dfeaffdb;height:44px;line-height:44px}.admin-layout-menu .ant-menu-item:hover{color:#fff!important;background:#ffffff14!important}.admin-layout-menu .ant-menu-item-selected{color:#fff!important;background:linear-gradient(90deg,#4589ffe6,#2ec680cc)!important;box-shadow:0 8px 24px #2666d657}.admin-layout-header{background:#ffffffe0!important;height:76px!important;line-height:1.4!important;border-bottom:1px solid rgba(23,60,112,.08);padding:14px 24px!important;display:flex;align-items:center;justify-content:space-between;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-layout-user-chip{padding:4px 10px 4px 4px;border:1px solid rgba(23,60,112,.1);border-radius:999px;background:#fff}.admin-layout-user-name{line-height:1.2;font-size:13px;color:#1e3556}.admin-layout-user-role{line-height:1.2;font-size:11px;color:#7285a3}.admin-layout-content{padding:24px;overflow:auto}
