:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-size:14px;color:#27434a;background:#edf2f2;--teal:#216c70;--line:#dce6e6;--muted:#75898e}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer;border:1px solid #ccdadb;border-radius:7px;background:white;padding:9px 13px}button:hover,a:hover{background:#edf6f4}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #359696;outline-offset:3px}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#205c60}input,select,textarea{border:1px solid #cddcde;border-radius:7px;padding:9px 10px;background:white;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #86bcb9;outline-offset:1px}textarea{resize:vertical}header{min-height:78px;background:#203e45;display:flex;align-items:center;padding:16px 26px;gap:30px;color:white}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.mark{background:#427278;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font-size:24px}.brand strong{font-size:20px}.brand small{display:block;font-size:9px;color:#a8c2c5;letter-spacing:1.4px;margin-top:5px}nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}nav a,nav button{color:#c6d9dc;text-decoration:none;background:transparent;border:0;border-radius:6px;padding:9px 12px;font-size:12px}nav .active{color:white;background:#35585e}nav a:hover,nav button:hover{background:#35585e}.template-tag{margin-left:auto;color:#bad1d2;font-size:11px;max-width:250px;overflow-wrap:anywhere}.context{display:flex;gap:16px;align-items:center;padding:13px 27px;background:white;border-bottom:1px solid var(--line);min-height:65px}.context label{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);min-width:0}.context input{border-color:transparent;font-size:16px;font-weight:600;width:330px}.context button{margin-left:auto;font-size:12px}#saveState{font-size:11px;color:var(--muted)}main{display:grid;grid-template-columns:320px minmax(350px,1fr) 270px;gap:16px;padding:18px 25px;height:calc(100vh - 223px);min-height:660px}.panel{border:1px solid var(--line);border-radius:11px;background:white;overflow:hidden;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 15px}h2{font-size:14px;margin:0}.panel-title span{font-size:10px;color:var(--muted)}h3{font-size:13px;margin:4px 0 14px}.editor{display:flex;flex-direction:column}.tabs{display:flex;gap:3px;padding:0 12px;border-bottom:1px solid var(--line)}.tabs button{border:0;border-radius:0;font-size:11px;padding:12px 8px;border-bottom:2px solid transparent}.tabs .active{color:var(--teal);border-bottom-color:var(--teal);font-weight:600}.editor-body{overflow-y:auto;min-height:0;padding:20px}.editor-body label{display:block;font-size:11px;margin:12px 0;line-height:1.7}.editor-body label>input:not([type=checkbox]),.editor-body textarea,.editor-body select{display:block;width:100%;margin-top:6px}.editor-body .checkbox,.checkbox{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.7}.checkbox input{flex-shrink:0;margin-top:4px}.hint{font-size:11px;line-height:1.8;color:var(--muted);margin:10px 0 16px}.info{font-size:11px;line-height:1.8;background:#f0f6f6;border:1px solid #dce8e8;padding:13px;border-radius:7px;color:#57767a}.file-label input{font-size:10px;padding:7px}#curveChart{display:block;width:100%;height:100px;background:#f7faf9;border:1px solid var(--line);border-radius:7px;margin:12px 0 23px}.readout{font-size:11px;line-height:1.8;color:#58757b;overflow-wrap:anywhere}.wide{width:100%}.monitor{margin:12px 0;padding:12px;background:#f5f8f8;border:1px solid var(--line);border-radius:8px}.monitor .xyz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.monitor input{width:100%;font-size:11px;padding:7px}.monitor button{font-size:10px;padding:5px 9px}.sample{font-size:10px;line-height:1.8;overflow-wrap:anywhere;color:#4b7778}.workspace{display:flex;flex-direction:column}.viewer-head{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 17px;gap:10px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#729295}h1{font-size:23px;margin:8px 0}.viewer-head p{font-size:11px;color:var(--muted);margin:0}.chip{padding:6px 10px;border-radius:20px;background:#eef5f3;color:#538076;font-size:10px;white-space:nowrap}.toolbar{display:flex;justify-content:space-between;gap:10px;padding:0 18px 14px}.toolbar button{font-size:10px;padding:8px 10px}.segments{display:flex}.segments button:first-child{border-radius:6px 0 0 6px}.segments button:last-child{border-radius:0 6px 6px 0}.segments .active{background:#e9f3f1;color:var(--teal)}.viewport{position:relative;min-height:330px;flex:1;margin:0 13px;border:1px solid #dde7e5;background:linear-gradient(#edf4f1,#f8faf8);border-radius:8px;overflow:hidden}#sceneView{width:100%;height:100%;position:absolute;inset:0}#sceneView [data-component]{cursor:pointer}#sceneView [data-component]:hover{filter:brightness(1.12)}.viewer-note{position:absolute;left:12px;bottom:12px;background:#ffffffdd;padding:6px 8px;border-radius:4px;font-size:9px;color:#789194;pointer-events:none}.legend{position:absolute;top:12px;left:12px;display:flex;gap:12px;font-size:9px;color:#71858a;pointer-events:none}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:2px}.teal{background:#55998e}.orange{background:#e08a40}.blue{background:#7c9dbd}.scene-summary{display:flex;flex-wrap:wrap;gap:16px;padding:17px 20px;font-size:10px;color:var(--muted)}.inspector{padding:20px;overflow-y:auto}.inspector details{border-bottom:1px solid var(--line);padding:15px 0;font-size:11px;color:#658087;line-height:1.8}.inspector summary{cursor:pointer;color:#45636b;font-weight:600}.inspector summary span{float:right;font-size:10px;color:var(--muted)}#buildingGroups{display:grid;gap:6px;margin-top:9px;font-size:10px;color:#819497}.separated{margin-top:23px}.check-list{margin-top:14px;font-size:11px;line-height:1.9;color:#648086;overflow-wrap:anywhere}.check-list .error{color:#ac4b3b}.check-list .success{color:#347a65}.job-result{margin:0 16px 16px;background:#eef7f2;border:1px solid #cfe5d7;border-radius:6px;padding:13px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.job-result a{display:inline-block;padding:8px 12px;background:#216c70;color:white;text-decoration:none;border-radius:6px;margin-top:10px}.job-result code{font-size:10px}footer{position:sticky;bottom:0;background:white;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 27px;border-top:1px solid var(--line);min-height:80px;z-index:3}footer strong{display:block;font-size:11px;font-weight:500;overflow-wrap:anywhere}footer small{display:block;font-size:9px;color:#94a4a7;margin-top:6px}.footer-actions{display:flex;gap:9px;flex-shrink:0}.footer-actions button{font-size:12px;padding:11px 18px}.error{color:#ac4b3b}dialog{border:1px solid var(--line);border-radius:12px;width:500px;max-width:94vw;max-height:85vh;overflow:auto;padding:24px;color:#27434a;box-shadow:0 24px 100px #122d3c33}dialog::backdrop{background:#19363f55;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-head h2{font-size:18px}.dialog-head button{border:0;font-size:22px;padding:2px 8px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#savedList{display:grid;gap:9px}#savedList button{text-align:left;overflow-wrap:anywhere}#savedList small{display:block;color:var(--muted);font-size:10px;margin-top:5px}#exportSummary{font-size:12px;line-height:2;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(max-width:1250px){main{grid-template-columns:285px minmax(330px,1fr);height:auto;min-height:660px}.inspector{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.inspector>h2,.inspector>#checks{grid-column:1/-1}.workspace{min-height:650px}.editor-body{max-height:650px}.template-tag{font-size:9px}header{gap:14px;padding:15px 20px}}
@media(max-width:760px){header{padding:14px;flex-wrap:wrap;gap:12px}.brand strong{font-size:18px}nav{margin-left:auto}.template-tag{width:100%;max-width:none;margin:0}.context{padding:10px 14px;flex-wrap:wrap;gap:7px}.context label{width:100%}.context input{min-width:0;width:100%;padding-left:3px}.context button{font-size:10px}.context label{white-space:nowrap}main{display:flex;flex-direction:column;padding:12px;gap:12px}.workspace{order:0;min-height:540px}.editor{order:1}.inspector{order:2;display:block}.editor-body{max-height:none}.viewport{min-height:330px}.viewer-head{padding:18px 16px}.viewer-head h1{font-size:20px}.toolbar{padding:0 12px 12px;gap:6px}.toolbar button{padding:8px;font-size:10px}.viewer-note{font-size:8px;max-width:90%;line-height:1.7}.scene-summary{font-size:9px;gap:8px;padding:13px}.legend{gap:9px;font-size:8px}footer{padding:12px;flex-wrap:wrap;gap:10px}.footer-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.footer-actions button{font-size:11px;padding:10px 5px}footer>div:first-child{width:100%}.template-tag{overflow-wrap:anywhere}}
