:root{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:#263b42;background:#f0f3f4;font-synthesis:none;--accent:#267b82;--border:#dce4e5;--muted:#7c8d92}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button:hover{color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #358c92;outline-offset:3px}svg{width:18px;height:18px;stroke-width:1.6;flex-shrink:0}[hidden]{display:none!important}button:disabled{opacity:.38;cursor:default}.header{height:76px;border-bottom:1px solid var(--border);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 28px;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:7px;background:#e6f0f0;color:var(--accent)}.brand-mark svg{width:23px;height:23px}.brand h1{font-size:18px;margin:0 0 5px;font-weight:600}.brand p{font-size:10px;color:var(--muted);margin:0}.header-spec{display:flex;align-items:center;gap:20px;font:12px Consolas,monospace;color:#7f9196}.header-spec i{height:13px;width:1px;background:var(--border)}.header-actions{display:flex;align-items:center;gap:8px}.icon-button{width:37px;height:37px;display:grid;place-items:center;border-radius:5px;border:1px solid var(--border);background:#ffffffef;flex-shrink:0}.icon-button:hover,.icon-button[aria-pressed=true]{background:#e6f0f0;border-color:#abc7cb;color:var(--accent)}.text-button{display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:12px}.workspace{height:calc(100dvh - 140px);min-height:480px;display:grid;grid-template-columns:265px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid var(--border);padding:23px 19px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;padding:0 7px}h2{font-weight:600}.section-heading h2,.spec-section h2,.settings h2{font-size:12px;margin:0}.section-heading>span{font:9px monospace;color:#92a1a4}#parts{display:grid;gap:4px}.part-button{display:flex;width:100%;align-items:center;gap:12px;text-align:left;padding:10px 9px;border:1px solid transparent;border-radius:5px;min-height:42px}.part-button:hover{background:#f4f7f7}.part-button.active{background:#eaf3f2;border-color:#d4e5e5}.part-button .number{font:11px Consolas,monospace;color:#839da0}.part-button strong{font-weight:500;font-size:12px;display:block}.part-button small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.part-button svg{width:13px;margin-left:auto;color:#82999b}.spec-section{border-top:1px solid var(--border);padding:18px 7px 0}.spec-section dl{margin:10px 0 0}.spec-section dl>div{display:flex;justify-content:space-between;padding:8px 0;font-size:11px}.spec-section dt{color:var(--muted)}.spec-section dd{margin:0;font:13px Consolas,monospace;color:#314c52}.spec-section dd small{font-size:10px;color:#809497;margin-left:2px}.settings{padding:16px 7px 0;border-top:1px solid var(--border)}.settings h2{margin-bottom:10px}.settings label{display:flex;justify-content:space-between;align-items:center;position:relative;height:33px;cursor:pointer}.settings label>span:first-child{display:flex;gap:9px;align-items:center;color:#70878b;font-size:11px}.settings svg{width:14px;height:14px}.settings input{position:absolute;right:0;opacity:0;width:29px;height:18px}.switch{width:29px;height:16px;border-radius:16px;background:#dce4e5;pointer-events:none;position:relative}.switch:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .15s}.settings input:checked+.switch{background:#45858b}.settings input:checked+.switch:after{transform:translateX(13px)}.settings input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:3px}.source-preview{margin: auto 7px 0;padding:14px 0 0;border-top:1px solid var(--border);display:flex;gap:12px;align-items:center;text-align:left}.source-preview img{width:48px;height:40px;object-fit:cover;border:1px solid #e5eaeb}.source-preview span{display:flex;align-items:center;justify-content:space-between;gap:36px;font-size:11px;color:#73878c}.source-preview svg{width:14px}.stage{position:relative;min-width:0;overflow:hidden;background:#eef2f3}#scene,#annotations{position:absolute;inset:0}#scene{touch-action:none}#scene canvas{display:block;width:100%;height:100%;touch-action:none}#annotations{pointer-events:none}.scene-heading{position:absolute;left:30px;top:28px;pointer-events:none}.scene-heading>span{font:10px Consolas,monospace;color:#8b9ca1}.scene-heading h2{font-size:23px;margin:10px 0 7px;font-weight:500;color:#334f57}.scene-heading p{font-size:11px;margin:0;color:#8a9b9f}.scene-tools{position:absolute;right:23px;top:26px;display:grid;gap:7px}.annotation{position:absolute;left:0;top:0;transform:translate(-50%,-100%);font-size:10px;white-space:nowrap;padding:7px 10px;border:1px solid #d4e1e3;background:#ffffffed;border-radius:4px;color:#3b6570;box-shadow:0 2px 9px #24454c0a;pointer-events:auto}.annotation:after{content:"";position:absolute;left:50%;bottom:-14px;height:13px;width:1px;background:#89a9af}.annotation.active{background:#2d7881;color:white;border-color:#2d7881}.dimension-label{position:absolute;transform:translate(-50%,-50%);font:11px Consolas,monospace;color:#8b7459;padding:4px 7px;white-space:nowrap;background:#f8f9f2d9}.bottom-note{position:absolute;left:30px;right:26px;bottom:19px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#879a9e;pointer-events:none}#status{display:flex;align-items:center;gap:7px;color:#6e9095}#status i{width:5px;height:5px;border-radius:50%;background:#398b8b}.toolbar{height:64px;display:flex;justify-content:space-between;align-items:center;padding:0 26px 0 284px;gap:18px;border-top:1px solid var(--border);background:#fff}.mode-tabs{display:flex;gap:7px}.mode-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;height:39px;min-width:100px;border-radius:5px;font-size:12px;color:#728c92}.mode-tabs button.active{background:#e7f1f1;color:#2d7681}.mode-tabs button:hover{background:#f1f6f5}.flow-controls{display:flex;align-items:center;gap:10px;font-size:11px;color:#7a8f95}.flow-controls select{height:33px;width:110px;border:1px solid var(--border);border-radius:5px;background:#fff;color:#376671;padding:0 7px;font-size:11px}.flow-controls .icon-button{width:33px;height:33px}.flow-controls svg{width:15px}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#eef2f3;color:#507a81;font-size:13px}#loading a{color:inherit}#part-detail{position:absolute;right:22px;bottom:50px;width:244px;max-width:calc(100% - 30px);padding:16px 18px;background:#fffffff2;border:1px solid #d9e6e8;border-radius:6px;box-shadow:0 10px 35px #3457620e;backdrop-filter:blur(8px)}.detail-head{display:flex;justify-content:space-between;align-items:center;height:20px}.detail-head>span{font:10px Consolas,monospace;color:#69969c}.detail-head .icon-button{width:25px;height:25px;border:0;background:none}.detail-head svg{width:15px}#part-detail h3{font-weight:500;font-size:17px;margin:12px 0 8px}#part-detail p{font-size:11px;color:#7f9398;line-height:1.8;margin:0}#part-values{margin:12px 0 0;border-top:1px solid var(--border);padding-top:8px}#part-values>div{display:flex;justify-content:space-between;font-size:10px;padding:5px 0}#part-values dt{color:#889a9e}#part-values dd{margin:0;color:#3e6971}#explosion-control{position:absolute;bottom:50px;left:30px;display:flex;align-items:center;gap:13px;background:#fffffff0;border:1px solid var(--border);padding:10px 14px;border-radius:5px;font-size:11px;color:#608188}#explosion-control input{width:115px;accent-color:#438a91}#explosion-control output{font:10px Consolas,monospace;min-width:28px}dialog{padding:0;border:1px solid var(--border);border-radius:7px;width:min(1280px,95vw);max-height:93dvh;background:#fff;color:#2e4f58}dialog::backdrop{background:#203b4380;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px solid var(--border)}.dialog-head h2{font-size:15px;font-weight:500;margin:0}.drawing-scroll{overflow:auto;max-height:calc(90dvh - 120px);padding:18px}.drawing-scroll img{display:block;width:100%;min-width:750px}.drawing-note{font-size:11px;color:#7d9097;margin:0;padding:10px 20px 16px;line-height:1.7}#toast{position:fixed;left:50%;bottom:78px;transform:translateX(-50%);padding:11px 18px;font-size:12px;border-radius:5px;background:#315f67;color:#fff;z-index:10}
@media(max-height:820px) and (min-width:761px){.sidebar{gap:13px;padding-top:18px}.part-button{padding:8px;min-height:35px}.part-button small{display:none}.spec-section{padding-top:12px}.spec-section dl>div{padding:6px 0}.source-preview{display:none}.settings{padding-top:12px}}
@media(max-width:1100px){.header-spec{display:none}.workspace{grid-template-columns:232px minmax(0,1fr)}.sidebar{padding-left:15px;padding-right:15px}.toolbar{padding-left:247px}.mode-tabs button{min-width:78px}}
@media(max-width:760px){.header{height:66px;padding:0 13px;gap:8px}.brand{gap:9px}.brand h1{font-size:16px}.brand p{font-size:9px}.brand-mark{width:34px;height:34px}.header-actions{gap:5px}.header-actions .icon-button{width:32px;height:32px}.text-button{padding:6px}.text-button span{display:none}.workspace{display:flex;flex-direction:column;height:auto;min-height:0}.stage{order:-1;height:calc(100dvh - 164px);min-height:440px;max-height:820px}.sidebar{border:0;padding:22px 18px 116px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.section-heading{grid-column:1/-1}.section-heading>span{display:none}.part-button{padding:8px;min-height:38px}.part-button small{display:none}.spec-section{border-top:0;border-left:1px solid var(--border);padding:0 0 0 18px}.spec-section dl>div{font-size:10px;padding:8px 0}.settings{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px 13px;padding:15px 0 0}.settings h2{grid-column:1/-1}.settings label{gap:8px}.settings label>span:first-child{font-size:10px;gap:4px}.settings svg{display:none}.source-preview{display:none}.scene-heading{top:20px;left:17px}.scene-heading>span{font-size:8px}.scene-heading h2{font-size:20px}.scene-heading p{font-size:10px}.scene-tools{top:18px;right:12px;gap:6px}.scene-tools .icon-button{width:32px;height:32px}.bottom-note{left:17px;right:14px;font-size:9px}.bottom-note>span:last-child{max-width:150px;text-align:right}.toolbar{position:fixed;bottom:0;left:0;right:0;z-index:5;height:98px;padding:7px 12px;display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.mode-tabs{width:100%;gap:7px}.mode-tabs button{flex:1;min-width:0;height:37px}.flow-controls{width:100%;justify-content:center;gap:13px}.flow-controls select{width:140px;height:30px}.flow-controls .icon-button{height:29px;width:29px}.annotation{font-size:9px;padding:6px 8px}#part-detail{right:12px;bottom:47px;width:206px;padding:12px 14px}#part-detail h3{font-size:15px}#part-detail p{font-size:10px}#explosion-control{left:12px;bottom:48px;gap:7px;padding:8px 10px;font-size:10px}#explosion-control input{width:85px}.stage:has(#part-detail:not([hidden])) #explosion-control{bottom:280px}.drawing-note{font-size:10px}.dialog-head h2{font-size:13px}#toast{bottom:112px;max-width:90%;text-align:center}}
