.fitx-world-studio {
  --fw-bg:#f8f8f6;--fw-paper:#faf9f5;--fw-white:#fffefa;--fw-border:#e8e6dc;
  --fw-text:#242521;--fw-muted:#8b8980;--fw-soft:#f0eee6;--fw-accent:#c96442;
  --fw-accent-soft:#f7ede5;--fw-sidebar:218px;--fw-inspector:292px;
  display:grid;grid-template-columns:var(--fw-sidebar) minmax(0,1fr);position:relative;
  height:760px;min-width:1100px;overflow:hidden;border:1px solid var(--fw-border);border-radius:16px;
  background:var(--fw-bg);color:var(--fw-text);font:12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
  box-shadow:0 1px 2px #16223a12,0 30px 72px -26px #16223a35;
  text-align:left;letter-spacing:normal;
}
.fitx-world-studio[data-theme=dark] {--fw-bg:#1f1f1e;--fw-paper:#201e1b;--fw-white:#272622;--fw-border:#34312c;--fw-text:#d4d0c8;--fw-muted:#918b82;--fw-soft:#2c2925;--fw-accent:#d97757;--fw-accent-soft:#3b2b23;color-scheme:dark}
.fitx-world-studio *,.fitx-world-studio *:before,.fitx-world-studio *:after{box-sizing:border-box}
.fitx-world-studio [hidden]{display:none!important}
.fitx-world-studio button,.fitx-world-studio input,.fitx-world-studio select,.fitx-world-studio textarea{font:inherit}
.fitx-world-studio button{color:inherit;cursor:pointer;line-height:1.5;letter-spacing:normal}
.fitx-world-studio button:disabled{opacity:.35;cursor:default}
.fitx-world-studio button:focus-visible,.fitx-world-studio input:focus-visible,.fitx-world-studio select:focus-visible,.fitx-world-studio textarea:focus-visible{outline:2px solid var(--fw-accent);outline-offset:3px}
.fitx-world-studio svg{display:block;width:17px;height:17px;flex-shrink:0}
.fitx-world-studio h2,.fitx-world-studio h3,.fitx-world-studio p{margin:0}
.fitx-world-studio .fw-icon-button{width:28px;height:28px;padding:5px;display:flex;align-items:center;justify-content:center;border:0;border-radius:5px;background:transparent;color:var(--fw-muted);flex-shrink:0}
.fitx-world-studio .fw-icon-button span{display:none}
.fitx-world-studio .fw-icon-button:hover{background:var(--fw-soft);color:var(--fw-text)}
.fw-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--fw-bg);border-right:1px solid var(--fw-border)}
.fw-sidebar-brand{height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 19px}
.fw-sidebar-brand a{font:19px Georgia,serif;letter-spacing:-.6px;white-space:nowrap;color:var(--fw-text);text-decoration:none}
.fw-sidebar-brand a span{color:var(--fw-accent)}
.fw-nav{padding:8px 10px 12px;border-bottom:1px solid var(--fw-border);display:flex;flex-direction:column;gap:3px}
.fw-nav button{display:flex;align-items:center;gap:11px;height:34px;border:0;border-radius:5px;padding:0 11px;background:transparent;color:var(--fw-muted);text-align:left;font-size:11px}
.fw-nav button.active{background:var(--fw-soft);color:var(--fw-text);font-weight:600}
.fw-nav button:hover{background:var(--fw-soft)}
.fw-nav button.active svg{color:var(--fw-accent)}
.fw-nav button i{margin-left:auto;width:5px;height:5px;background:var(--fw-accent);border-radius:50%}
.fw-sidebar-scroll{flex:1;min-height:0;overflow:auto;padding:17px 10px 18px;scrollbar-width:thin;scrollbar-color:var(--fw-border) transparent}
.fw-section-label{display:flex;justify-content:space-between;align-items:center;padding:0 6px;margin-bottom:10px;color:var(--fw-muted);font-size:10px}
.fw-section-label>span:last-child{font:10px var(--mono,monospace)}
.fw-worlds{display:grid;gap:6px}
.fw-world-card{display:flex;gap:9px;align-items:center;text-align:left;padding:7px;border:1px solid transparent;border-radius:7px;background:transparent;width:100%}
.fw-world-card>img{width:55px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}
.fw-world-card>span{min-width:0;display:flex;flex-direction:column;gap:3px}
.fw-world-card strong{font-size:11px;font-weight:500;white-space:nowrap}
.fw-world-card small{font-size:9px;color:var(--fw-muted);white-space:nowrap}
.fw-world-card>svg{width:12px;height:12px;margin-left:auto;color:var(--fw-muted)}
.fw-world-card.active{border-color:var(--fw-border);background:var(--fw-paper)}
.fw-world-card.active strong{color:var(--fw-accent)}
.fw-world-card:hover{background:var(--fw-soft)}
.fw-new-world{width:100%;display:flex;gap:7px;align-items:center;justify-content:center;margin:10px 0 22px;padding:8px;border:1px dashed var(--fw-border);border-radius:5px;color:var(--fw-muted)!important;background:transparent;font-size:10px!important}
.fw-new-world:hover{border-color:var(--fw-accent);color:var(--fw-accent)!important}
.fw-new-world svg{width:14px;height:14px}
.fw-tree-root{display:flex;align-items:center;gap:6px;font-size:10px;margin:0 7px 8px;color:var(--fw-muted)}
.fw-tree-root svg{width:14px;height:14px}
.fw-tree-root span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-tree>button{width:100%;border:0;border-radius:4px;background:transparent;text-align:left;padding:5px 7px 5px 15px;display:flex;align-items:center;gap:7px;color:var(--fw-muted);font-size:10px}
.fw-tree>button>svg{width:13px;height:13px;opacity:.7}
.fw-tree>button>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-tree>button>small{margin-left:auto;font:8px var(--mono,monospace);opacity:.55}
.fw-tree>button.active{color:var(--fw-accent);background:var(--fw-accent-soft)}
.fw-tree>button:hover{background:var(--fw-soft)}
.fw-sidebar-foot{height:39px;display:flex;align-items:center;gap:6px;border-top:1px solid var(--fw-border);padding:0 13px;font-size:9px;color:var(--fw-muted);flex-shrink:0}
.fw-sidebar-foot button{margin-left:auto}
.fw-status-dot{display:inline-block;width:5px;height:5px;background:#7b9874;border-radius:50%;flex-shrink:0}
.fw-workbench{min-width:0;min-height:0;display:grid;grid-template-rows:48px 96px minmax(0,1fr) 26px}
.fw-header{display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid var(--fw-border);background:var(--fw-paper)}
.fw-breadcrumb{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--fw-muted)}
.fw-breadcrumb>svg{width:10px;height:10px;opacity:.5}
.fw-breadcrumb strong{font-weight:500;color:var(--fw-text)}
.fw-header-actions{display:flex;align-items:center;gap:9px}
.fw-save-state{font-size:9px;color:var(--fw-muted);margin-right:7px}
.fw-save-state.dirty:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--fw-accent);margin-right:5px;vertical-align:middle}
.fitx-world-studio .fw-button{min-height:30px;padding:6px 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--fw-border);border-radius:5px;background:var(--fw-paper);color:var(--fw-text);font-size:10px;font-weight:400}
.fitx-world-studio .fw-button svg{width:13px;height:13px}
.fitx-world-studio .fw-button:hover{border-color:var(--fw-accent);color:var(--fw-accent)}
.fitx-world-studio .fw-primary{background:var(--fw-accent);color:#fff9f3;border-color:var(--fw-accent)}
.fitx-world-studio .fw-primary:hover{background:#b45c3f;border-color:#b45c3f;color:#fff9f3}
.fitx-world-studio .fw-wide{width:100%}
.fw-workflow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:var(--fw-bg);border-bottom:1px solid var(--fw-border)}
.fw-eyebrow{display:block;color:var(--fw-muted);font:8px var(--mono,monospace);letter-spacing:1.5px}
.fw-title h2{font-size:20px;line-height:1.4;letter-spacing:-.5px;font-weight:500;margin-top:5px;white-space:nowrap}
.fw-title h2>span{color:var(--fw-accent)}
.fw-steps{display:flex;gap:8px}
.fw-steps button{display:flex;gap:9px;align-items:center;text-align:left;min-width:139px;padding:10px 11px;border:1px solid transparent;border-radius:7px;background:transparent}
.fw-step-num{color:var(--fw-muted);font:12px var(--mono,monospace);opacity:.7}
.fw-steps button>span:last-child{display:flex;flex-direction:column;gap:3px}
.fw-steps strong{font-size:11px;font-weight:500}
.fw-steps small{font-size:9px;color:var(--fw-muted);white-space:nowrap}
.fw-steps button[aria-selected=true]{border-color:#d9c2b4;background:var(--fw-accent-soft)}
.fw-steps button[aria-selected=true] strong,.fw-steps button[aria-selected=true] .fw-step-num{color:var(--fw-accent);opacity:1}
.fw-steps button:hover{background:var(--fw-soft)}
.fw-editor-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--fw-inspector)}
.fw-center{min-height:0;min-width:0;display:grid;grid-template-rows:minmax(230px,1fr) 158px}
.fw-viewport{position:relative;overflow:hidden;background:#e3ebe9;min-height:0}
.fw-canvas{position:absolute;inset:0}
.fw-canvas>canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}
.fw-viewport[data-view=concept] .fw-canvas,.fw-viewport[data-view=concept] .fw-loading,.fw-viewport[data-view=concept] .fw-toolbar,.fw-viewport[data-view=concept] .fw-axis,.fw-viewport[data-view=concept] .fw-view-hint{visibility:hidden}
.fw-viewbar{position:absolute;z-index:2;top:12px;left:14px;right:14px;display:flex;gap:10px;align-items:center;pointer-events:none}
.fw-viewbar>button,.fw-view-tabs{pointer-events:auto}
.fw-view-tabs{display:flex;gap:2px;padding:3px;border:1px solid #ffffff72;background:#faf9f5e6;backdrop-filter:blur(12px);border-radius:6px;box-shadow:0 1px 3px #252b2010}
.fw-view-tabs>button{display:flex;align-items:center;gap:5px;padding:5px 8px;background:transparent;border:0;border-radius:3px;font-size:10px;color:#85847b}
.fw-view-tabs>button svg{width:13px;height:13px}
.fw-view-tabs>button.active{background:#fffefa;color:#292b23;box-shadow:0 1px 3px #272d2312}
.fw-scene-label{margin-left:auto;background:#faf9f5b8;color:#666b5e;border:1px solid #ffffff72;backdrop-filter:blur(12px);border-radius:4px;padding:5px 8px;font-size:9px}
.fw-viewbar>.fw-icon-button{color:#646d60!important;background:#faf9f5b8!important;border:1px solid #ffffff72}
.fw-reference{position:absolute;inset:0;background:#e6e7df;display:flex;align-items:center;justify-content:center;padding:56px 20px 30px}
.fw-reference>img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 16px #24282020)}
.fw-reference>span{position:absolute;bottom:13px;right:18px;font:8px var(--mono,monospace);letter-spacing:1px;color:#6c7164}
.fw-toolbar{position:absolute;left:14px;top:66px;z-index:2;padding:4px;display:flex;flex-direction:column;gap:3px;border:1px solid #ffffff72;background:#faf9f5e6;backdrop-filter:blur(12px);border-radius:6px;box-shadow:0 2px 6px #252b2010}
.fw-toolbar>button{display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:4px;width:28px;height:27px;color:#7e8176}
.fw-toolbar>button>span{display:none}
.fw-toolbar>button svg{width:15px;height:15px}
.fw-toolbar>button:hover{background:#e8e6dc}
.fw-toolbar>button[aria-pressed=true]{background:#e8e6dc;color:#a75e42}
.fw-tool-divider{height:1px;background:#deded3;margin:1px 3px}
.fw-viewport-meta{position:absolute;z-index:2;bottom:12px;left:16px;right:15px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;color:#7b8576}
.fw-view-hint{font-size:9px;background:#faf9f5a6;padding:4px 7px;border-radius:4px}
.fw-axis{width:38px;height:33px;position:relative;font:9px var(--mono,monospace);text-shadow:0 1px #fff8}
.fw-axis>span{position:absolute}
.fw-axis .x{bottom:4px;right:0;color:#ad705d}.fw-axis .y{top:0;left:14px;color:#69956c}.fw-axis .z{bottom:0;left:0;color:#678caa}
.fw-axis:before,.fw-axis:after{content:"";position:absolute;width:17px;height:1px;background:#919c84;left:13px;bottom:13px;transform:rotate(-90deg);transform-origin:left}
.fw-axis:after{transform:rotate(22deg)}
.fw-loading{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;background:#e3ebe9e8;color:#757e70}
.fw-loading strong{font-size:12px;font-weight:400}.fw-loading small{font-size:10px;opacity:.7}
.fw-spinner{display:block;width:26px;height:26px;border:1.5px solid #bec8b8;border-top-color:#a87152;border-radius:50%;animation:fw-spin 1.2s linear infinite}
@keyframes fw-spin{to{transform:rotate(360deg)}}
.fw-spawn-banner{position:absolute;top:60px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px;align-items:center;white-space:nowrap;padding:8px 10px 8px 12px;background:var(--fw-paper);border:1px solid var(--fw-accent);color:var(--fw-accent);border-radius:6px;font-size:10px;box-shadow:0 6px 16px #24282014}
.fw-spawn-banner svg{width:13px;height:13px}.fw-spawn-banner button{border:0;border-left:1px solid var(--fw-border);background:transparent;margin-left:5px;padding-left:10px;font-size:9px}
.fw-asset-library{border-top:1px solid var(--fw-border);padding:12px 17px 11px;min-width:0;background:var(--fw-paper)}
.fw-library-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:9px}
.fw-library-heading>div{display:flex;gap:9px;align-items:center}.fw-library-heading strong{font-size:11px;font-weight:500}
.fw-asset-total{font-size:9px;color:var(--fw-muted)}
.fitx-world-studio .fw-text-button{display:flex;gap:5px;align-items:center;border:0;background:none;color:var(--fw-muted);font-size:9px;padding:0}
.fw-text-button svg{width:12px;height:12px}.fw-text-button:hover{color:var(--fw-accent)!important}
.fw-asset-strip{display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--fw-border) transparent;padding-bottom:5px}
.fw-asset-card{width:84px;flex:0 0 84px;min-width:0;display:block;background:transparent;border:0;padding:0;text-align:center}
.fw-asset-image{height:76px;display:block;position:relative;border:1px solid var(--fw-border);border-radius:6px;overflow:hidden;background:var(--fw-soft)}
.fw-asset-image>img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.fw-asset-image>span{display:flex;align-items:center;justify-content:center;position:absolute;bottom:4px;right:4px;background:var(--fw-paper);border-radius:3px;padding:3px;color:var(--fw-muted)}
.fw-asset-image>span svg{width:9px;height:9px}
.fw-asset-card>strong{display:block;font-size:9px;font-weight:400;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fw-muted)}
.fw-asset-card:hover .fw-asset-image,.fw-asset-card.active .fw-asset-image{border-color:var(--fw-accent)}
.fw-asset-card.active>strong{color:var(--fw-accent)}
.fw-inspector{min-height:0;min-width:0;border-left:1px solid var(--fw-border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--fw-border) transparent;background:var(--fw-bg)}
.fw-inspector-content{padding:0 17px 20px}
.fw-inspector-section{padding:18px 0;border-bottom:1px solid var(--fw-border)}
.fw-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.fw-section-heading h3{font-size:11px;font-weight:500;display:flex;align-items:center;gap:6px}
.fw-section-heading h3>svg{width:13px;height:13px;color:var(--fw-muted)}
.fw-section-heading>span{font-size:9px;color:var(--fw-muted)}
.fw-reference-card{width:100%;display:block;border:1px solid var(--fw-border);padding:0;border-radius:6px;background:var(--fw-paper);overflow:hidden;position:relative;height:134px}
.fw-reference-card>img{width:100%;height:100%;object-fit:cover}
.fw-reference-card>span{position:absolute;display:flex;gap:5px;align-items:center;bottom:8px;right:8px;border-radius:4px;background:#faf9f5e3;padding:4px 7px;font-size:8px;color:#575c50}
.fw-reference-card>span svg{width:10px;height:10px}
.fw-source-label{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:8px 0 13px;font-size:9px;color:var(--fw-muted)}
.fw-source-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fw-source-label small{font-size:8px;white-space:nowrap;border-radius:3px;padding:2px 4px;background:var(--fw-soft)}
.fw-dropzone{width:100%;display:flex;align-items:center;flex-direction:column;gap:5px;padding:12px 8px;background:transparent;border:1px dashed #d2cfc2;border-radius:5px;color:var(--fw-muted)!important}
.fw-dropzone>svg{width:15px;height:15px;margin-bottom:3px}.fw-dropzone>strong{font-size:10px;font-weight:400}.fw-dropzone>span{font-size:8px;opacity:.8}
.fw-dropzone:hover,.fw-dragging .fw-dropzone{background:var(--fw-accent-soft);border-color:var(--fw-accent)}
.fw-field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;min-width:0}
.fw-field>label{font-size:9px;color:var(--fw-muted)}
.fw-field input,.fw-field select,.fw-field textarea,.fw-input-suffix input{width:100%;min-width:0;border:1px solid var(--fw-border);border-radius:4px;background:var(--fw-paper);color:var(--fw-text);padding:7px 8px;font-size:10px;outline:none;resize:vertical}
.fw-field select{height:32px;padding-right:5px}.fw-field textarea{line-height:1.8;min-height:72px}
.fw-field input:focus,.fw-field textarea:focus,.fw-field select:focus{border-color:var(--fw-accent)}
.fw-field textarea::placeholder{color:var(--fw-muted);opacity:.75}
.fw-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fw-inline-note{display:flex;gap:5px;align-items:center;margin:12px 0;color:#77906a;font-size:9px}.fw-inline-note svg{width:12px;height:12px}
.fw-small-note{font-size:9px;color:var(--fw-muted);line-height:1.8;margin-top:10px!important}
.fw-mini-reference{display:flex;gap:10px;align-items:center;border:1px solid var(--fw-border);border-radius:5px;background:var(--fw-paper);padding:7px;margin-bottom:14px}
.fw-mini-reference>img{width:46px;height:40px;object-fit:cover;border-radius:3px}
.fw-mini-reference>div{display:flex;flex-direction:column;gap:4px;flex:1}.fw-mini-reference strong{font-size:10px;font-weight:400}.fw-mini-reference small{font-size:8px;color:var(--fw-muted)}
.fw-selected-item{display:flex;align-items:center;gap:8px;margin-bottom:15px}.fw-selected-item>img{height:37px;width:37px;object-fit:contain;background:var(--fw-soft);border:1px solid var(--fw-border);border-radius:5px}
.fw-selected-item>div{display:flex;flex-direction:column;flex:1;gap:3px}.fw-selected-item strong{font-size:10px;font-weight:400}.fw-selected-item small{font-size:8px;color:var(--fw-muted)}
.fw-vector-group{margin:12px 0}.fw-vector-group>span{display:block;font-size:9px;color:var(--fw-muted);margin-bottom:6px}
.fw-vector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.fw-vector>label{min-width:0;display:flex;align-items:center;gap:3px;border:1px solid var(--fw-border);border-radius:4px;padding:5px 6px;background:var(--fw-paper)}
.fw-vector>label>span{font:8px var(--mono,monospace)}
.fw-vector .x>span{color:#bc816f}.fw-vector .y>span{color:#80a076}.fw-vector .z>span{color:#7a9cba}
.fw-vector input{width:100%;min-width:0;border:0;background:transparent;color:var(--fw-text);font-size:9px;padding:0;outline:none;appearance:textfield}
.fw-vector input::-webkit-inner-spin-button{appearance:none}
.fw-object-actions{display:flex;gap:8px;margin-top:14px}.fw-object-actions button{flex:1}.fw-danger{color:#a97665!important}
.fw-range-label{display:flex;justify-content:space-between;font-size:9px;color:var(--fw-muted);margin:2px 0 8px}
.fw-range-label output{font:10px var(--mono,monospace);color:var(--fw-text)}
.fw-range{width:100%;height:3px;accent-color:var(--fw-accent);margin:6px 0;cursor:pointer}
.fw-range-marks{display:flex;justify-content:space-between;font-size:8px;color:var(--fw-muted);margin:5px 0 15px}
.fw-checkbox{display:flex;gap:6px;align-items:center;font-size:9px;color:var(--fw-muted)}
.fw-checkbox input{width:12px;height:12px;accent-color:var(--fw-accent);margin:0}.fw-checkbox>span{margin-left:auto;font-size:8px;background:var(--fw-soft);padding:2px 4px;border-radius:3px}
.fw-input-suffix{position:relative}.fw-input-suffix>span{position:absolute;right:10px;top:8px;color:var(--fw-muted);font-size:10px}.fw-input-suffix input{padding-right:25px}
.fw-inspector-next{margin-top:16px}
.fw-inspected-asset{display:flex;flex-direction:column;align-items:center;gap:6px}.fw-inspected-asset>img{width:100%;height:184px;object-fit:contain;border:1px solid var(--fw-border);border-radius:6px;background:var(--fw-paper);margin-bottom:9px}.fw-inspected-asset strong{font-size:13px;font-weight:500}.fw-inspected-asset>span{font-size:9px;color:var(--fw-muted)}
.fw-asset-details,.fw-plan-details{margin:17px 0;display:grid;gap:10px}.fw-asset-details>div,.fw-plan-details>div{display:flex;gap:15px;justify-content:space-between;font-size:10px}.fw-asset-details dt,.fw-plan-details dt{color:var(--fw-muted)}.fw-asset-details dd,.fw-plan-details dd{margin:0;text-align:right}
.fw-footer{border-top:1px solid var(--fw-border);display:flex;justify-content:space-between;align-items:center;padding:0 14px;font-size:8px;color:var(--fw-muted);background:var(--fw-bg)}
.fw-footer>span:first-child{display:flex;align-items:center;gap:7px}.fw-footer-count{padding-left:7px;border-left:1px solid var(--fw-border)}
.fw-toast{position:absolute;z-index:8;bottom:45px;left:50%;transform:translateX(-50%);padding:11px 18px;border:1px solid var(--fw-border);border-radius:7px;background:var(--fw-paper);box-shadow:0 7px 22px #24282018;font-size:11px;color:var(--fw-text);max-width:580px}
.fw-dialog{border:1px solid var(--fw-border);border-radius:12px;padding:25px;background:var(--fw-paper);color:var(--fw-text);width:440px;max-width:90vw;max-height:85vh;box-shadow:0 25px 90px #15171144;overflow:auto}
.fw-dialog::backdrop{background:#242b204d;backdrop-filter:blur(3px)}
.fw-dialog-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:18px}.fw-dialog-heading h2{font-size:19px;font-weight:500;margin-top:5px}
.fw-dialog-wide{width:780px}
.fw-plan-image{height:170px;border-radius:7px;overflow:hidden;position:relative}.fw-plan-image>img{width:100%;height:100%;object-fit:cover}.fw-plan-image>span{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:7px;background:#faf9f5db;border-radius:4px;padding:6px 9px;font-size:11px;color:#34372e}
.fw-plan-description{margin:17px 0!important;font-size:11px;line-height:1.9}
.fw-plan-note{background:var(--fw-accent-soft);border:1px solid var(--fw-border);border-radius:5px;padding:11px 12px;font-size:10px;color:var(--fw-accent);line-height:1.7}
.fw-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.fw-browser-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:var(--fw-muted);font-size:11px}.fw-browser-intro>span{font-size:9px}
.fw-search{display:flex;gap:10px;align-items:center;border:1px solid var(--fw-border);border-radius:5px;background:var(--fw-bg);padding:9px 12px;margin-bottom:18px;color:var(--fw-muted)}
.fw-search>input{width:100%;border:0;outline:0;background:transparent;color:var(--fw-text);font-size:11px}.fw-search svg{width:14px;height:14px}
.fw-browser-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fw-browser-grid>button{min-width:0;display:flex;flex-direction:column;gap:9px;align-items:center;padding:8px 8px 12px;border:1px solid var(--fw-border);border-radius:7px;background:var(--fw-bg)}
.fw-browser-grid>button>img{width:100%;height:108px;object-fit:contain;background:var(--fw-paper);border-radius:4px}.fw-browser-grid strong{font-size:11px;font-weight:400}.fw-browser-grid>button>span{display:flex;gap:4px;align-items:center;font-size:9px;color:var(--fw-muted)}.fw-browser-grid>button>span svg{width:11px;height:11px}.fw-browser-grid>button:hover{border-color:var(--fw-accent)}
.fw-collapsed{--fw-sidebar:52px}.fw-collapsed .fw-sidebar-brand{padding:0;justify-content:center}.fw-collapsed .fw-sidebar-brand>a,.fw-collapsed .fw-nav button>span,.fw-collapsed .fw-nav button>i,.fw-collapsed .fw-sidebar-scroll,.fw-collapsed .fw-sidebar-foot{display:none}.fw-collapsed .fw-nav{padding:8px 6px}.fw-collapsed .fw-nav button{justify-content:center;padding:0}.fw-collapsed .fw-sidebar-brand button svg{transform:rotate(180deg)}
.fw-viewport:fullscreen{height:100vh;width:100vw;background:#e3ebe9}
.fitx-world-studio[data-theme=dark] .fw-asset-image>img{mix-blend-mode:normal}.fitx-world-studio[data-theme=dark] .fw-steps button[aria-selected=true]{border-color:#634233}
#workspace .fitx-world-studio{height:100%;border:0;border-radius:0;box-shadow:none}
.fw-upload-actions{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:10px;border:1px solid var(--fw-border);border-radius:7px;background:var(--fw-paper);padding:7px 10px;white-space:nowrap;box-shadow:0 2px 8px #24282012}
.fw-upload-actions>span{font-size:9px;color:var(--fw-muted)}
.fw-map-card{flex:0 0 270px;display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--fw-border);border-radius:6px;background:var(--fw-bg);text-align:left}
.fw-map-card>img{width:100px;height:76px;object-fit:cover;border-radius:4px}
.fw-map-card>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:7px}
.fw-map-card strong{font-size:12px;font-weight:400}.fw-map-card small{font-size:9px;color:var(--fw-muted);white-space:nowrap}
.fw-map-card>svg{width:13px;height:13px;color:var(--fw-muted)}
.fw-map-card.active{background:var(--fw-soft);border-color:var(--fw-accent)}
.fw-model-library{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--fw-border) transparent;padding:22px;background:var(--fw-bg)}
.fw-model-library-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.fw-model-library-header h3{font-size:14px;font-weight:500}.fw-model-library-header p{font-size:11px;color:var(--fw-muted);margin-top:5px}
.fw-model-library-header>span{font:10px var(--mono,monospace);color:var(--fw-muted)}
.fw-model-library-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.fw-collection-tabs{display:flex;gap:3px;background:var(--fw-paper);border:1px solid var(--fw-border);border-radius:6px;padding:3px;flex-shrink:0}
.fw-collection-tabs button{border:0;background:transparent;border-radius:4px;padding:5px 9px;font-size:11px;color:var(--fw-muted)}
.fw-collection-tabs button>span{margin-left:5px;font:9px var(--mono,monospace)}
.fw-collection-tabs button[aria-pressed=true]{background:var(--fw-soft);color:var(--fw-text)}
.fw-model-library-controls .fw-search{width:220px;margin:0;padding:8px 10px;background:var(--fw-paper)}
.fw-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.fw-model-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--fw-border);border-radius:6px;background:var(--fw-paper);padding:0;overflow:hidden;text-align:left}
.fw-model-card-image{display:block;height:150px;padding:12px;background:var(--fw-soft)}
.fw-model-card-image img{width:100%;height:100%;object-fit:contain}
.fw-model-card-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;padding:10px 12px}
.fw-model-card-info>strong{font-size:11px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-model-card-info>small{grid-column:1;font-size:9px;color:var(--fw-muted)}
.fw-model-card-info>svg{grid-column:2;grid-row:1/3;align-self:center;color:var(--fw-muted);width:14px;height:14px}
.fw-model-card:hover,.fw-model-card.active{border-color:var(--fw-accent)}
.fw-model-card.active .fw-model-card-info{background:var(--fw-soft)}
.fw-model-empty{padding:70px 0;text-align:center;color:var(--fw-muted);font-size:12px}
#studio-world[data-step=models] .fw-center{grid-template-rows:minmax(0,1fr)}
#studio-world[data-step=upload] .fw-reference{padding-bottom:75px}
.fw-analysis-card{padding:14px 12px;border:1px solid var(--fw-border);border-radius:6px;background:var(--fw-paper);margin:16px 0 2px}
.fw-analysis-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.fw-analysis-heading>strong{font-size:12px;font-weight:500}.fw-analysis-heading>span{font-size:9px;color:var(--fw-muted);border:1px solid var(--fw-border);border-radius:4px;padding:2px 5px}
.fw-analysis-card>p{font-size:10px;color:var(--fw-muted);line-height:1.8}
.fw-analysis-actions{display:flex;align-items:center;gap:12px;margin-top:12px}
.fw-analysis-card>small{display:block;font-size:8px;color:var(--fw-muted);margin-top:10px}
.fw-analysis-card.complete .fw-analysis-heading>span{color:#668c5c;border-color:#91b48755}
.fw-process-progress{height:4px;border-radius:4px;background:var(--fw-soft);overflow:hidden;margin-top:14px}
.fw-process-progress>span{display:block;height:100%;background:var(--fw-accent);transition:width .35s ease}
.fw-process-progress-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 3px;color:var(--fw-muted);font-size:9px}
.fw-process-progress-label>strong{font:10px var(--mono,monospace);color:var(--fw-accent)}
.fw-assembly-gate{display:grid;place-items:center;overflow:auto;padding:28px;background:var(--fw-bg);min-height:0}
.fw-assembly-card{width:100%;max-width:430px;text-align:center}
.fw-assembly-icon{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 16px;border:1px solid var(--fw-border);border-radius:12px;background:var(--fw-paper);color:var(--fw-accent)}
.fw-assembly-icon>svg{width:25px;height:25px}.fw-assembly-card>h3{font-size:18px;font-weight:400;margin:7px 0 9px}.fw-assembly-card>p{font-size:11px;line-height:1.9;color:var(--fw-muted)}
.fw-prerequisites{display:grid;gap:8px;margin:22px 0}
.fw-prerequisites>button{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--fw-border);border-radius:6px;background:var(--fw-paper);text-align:left}
.fw-prerequisites>button>i{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--fw-border);border-radius:50%;color:var(--fw-muted);flex-shrink:0}
.fw-prerequisites>button>i svg{width:14px;height:14px}.fw-prerequisites>button>span{min-width:0;display:flex;flex-direction:column;gap:3px}
.fw-prerequisites strong{font-size:11px;font-weight:400}.fw-prerequisites small{font-size:9px;color:var(--fw-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fw-prerequisites>button>b{margin-left:auto;color:var(--fw-muted);font-size:9px;font-weight:400;white-space:nowrap}
.fw-prerequisites>button.complete>i,.fw-prerequisites>button.complete>b{color:#6c915f;border-color:#91b48755}
.fw-assembly-card>.fw-small-note{display:block}
.fw-ready-list{list-style:none;margin:18px 0;padding:0;display:grid;gap:16px}
.fw-ready-list>li{display:flex;align-items:center;gap:8px;font-size:11px}.fw-ready-list svg{width:13px;height:13px;color:var(--fw-muted)}.fw-ready-list small{margin-left:auto;color:var(--fw-muted);font-size:9px}
#studio-world[data-assembly-locked=true] .fw-center{grid-template-rows:minmax(0,1fr)}
#studio-world .fw-steps button.is-complete.is-complete .fw-step-num{border-color:#91b487;color:#668c5c}
#studio-world .fw-step-num>svg{width:12px;height:12px}
@media(prefers-reduced-motion:reduce){.fw-spinner{animation:none}}

/* Scene-specific results remain absent until their mock analysis completes. */
#studio-world[data-step=upload] .fw-center,#studio-world[data-analysis-locked=true] .fw-center{grid-template-rows:minmax(0,1fr)}
.fw-analysis-stage{display:grid;place-items:center;min-height:0;overflow:auto;padding:32px;background:var(--fw-bg)}
.fw-analysis-stage-card{width:100%;max-width:380px;text-align:center}
.fw-analysis-stage-card>h3{font-size:18px;font-weight:400;margin:8px 0 12px}
.fw-analysis-stage-card>p{font-size:11px;color:var(--fw-muted);line-height:1.9}
.fw-analysis-stage .fw-analysis-card{text-align:left;padding:18px;margin-top:24px}
.fw-analysis-stage .fw-analysis-actions{justify-content:center;margin-top:20px}
.fw-analysis-stage .fw-analysis-actions>.fw-primary{min-width:160px;justify-content:center}
.fw-analysis-stage .fw-analysis-card>small{text-align:center}
.fw-analysis-visual{width:96px;height:96px;position:relative;margin:0 auto 24px;display:grid;place-items:center;color:var(--fw-accent)}
.fw-analysis-visual>svg{width:30px;height:30px}
.fw-analysis-visual>i{position:absolute;inset:10px;border:1px solid var(--fw-border);border-radius:50%}
.fw-analysis-visual>i:last-child{inset:0;border-style:dashed}
.fw-analysis-visual.is-running>i{border-top-color:var(--fw-accent);animation:fw-analysis-orbit 2.4s linear infinite}
.fw-analysis-visual.is-running>i:last-child{animation-direction:reverse;animation-duration:4s}
.fw-scene-asset-count{font-size:10px;color:var(--fw-muted)}
.fw-model-library-header>.fw-button{flex-shrink:0}
.fw-map-reanalyze{margin-left:auto;pointer-events:auto}
#studio-world .fw-world-card>svg:first-child{width:15px;height:15px;margin:0 3px 0 0}
#studio-world[data-step=upload] .fw-reference{background:var(--fw-bg);padding-top:40px}
#studio-world[data-step=maps] .fw-reference{background:var(--fw-bg)}
@keyframes fw-analysis-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.fw-analysis-visual.is-running>i{animation:none}.fw-process-progress>span{transition:none}}
