:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;--页面背景: #070d13;--面板背景: #0d151f;--面板深色: #091119;--控件背景: #08111a;--悬浮背景: #132131;--边框: #26384a;--弱边框: #1b2b3a;--主色: #3197ff;--主色亮: #63b4ff;--主色深: #0e4f85;--文字: #eaf2fb;--次文字: #9cafc1;--弱文字: #6f8294;--成功: #46d7a0;--警告: #f1c261;--危险: #ff6b72;--圆角: 10px;--控件圆角: 7px;--阴影: 0 12px 32px rgb(0 0 0 / 22%)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;min-width:320px;min-height:100%;margin:0;background:var(--页面背景);color:var(--文字)}body{height:100dvh;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% -20%,rgb(35 91 139 / 16%),transparent 44%),var(--页面背景)}button,input,select{font:inherit}button,input[type=range],input[type=checkbox],label[for]{touch-action:manipulation}button{min-height:36px;border:1px solid var(--边框);border-radius:var(--控件圆角);background:var(--控件背景);color:var(--文字);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease,transform .14s ease}button:hover:not(:disabled){border-color:#46637d;background:var(--悬浮背景)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,.图片投放区:focus-visible,.三维视口:focus-visible,.素材库滚动区:focus-visible{outline:2px solid var(--主色亮);outline-offset:2px}button:disabled{color:#607182;cursor:not-allowed;opacity:.58}.应用外壳{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden;padding:8px;gap:8px}.顶栏{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;min-height:56px;padding:8px 12px;border:1px solid var(--边框);border-radius:var(--圆角);background:#0d151feb;box-shadow:var(--阴影)}.品牌区,.顶栏状态,.面板标题栏,.字段标题,.分组标题行,.素材状态行,.开关行,.输出栏{display:flex;align-items:center}.品牌区{gap:10px;min-width:0}.品牌图标{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border:1px solid #40719a;border-radius:50%;background:radial-gradient(circle at 35% 25%,#5db8ff,#0f568c 62%,#0a2a41);box-shadow:inset 0 0 0 5px #04121d6b;color:#fff;font-size:13px;font-weight:900}.品牌区 h1,.品牌区 p,.面板标题栏 h2,.面板标题栏 span,.控件分组 h3,.生产信息 h3,.预览占位 p{margin:0}.品牌区 h1{overflow:hidden;font-size:15px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.品牌区 p{margin-top:2px;color:var(--次文字);font-size:11px}.顶栏状态{flex:0 0 auto;gap:7px;color:var(--次文字);font-size:11px;white-space:nowrap}.本地状态点{width:7px;height:7px;border-radius:50%;background:var(--成功);box-shadow:0 0 9px #46d7a0bf}.状态分隔{width:1px;height:14px;background:var(--边框)}.四栏工作区{display:grid;flex:1 1 auto;min-height:0;grid-template-columns:minmax(248px,272px) minmax(210px,1fr) minmax(240px,287px) minmax(260px,322px);grid-template-rows:minmax(0,1fr);gap:8px;overflow:hidden}@media(min-width:1001px){.三维面板>.面板标题栏>span{display:none}.三维面板 .面板标题栏>div>span,.二维面板 .面板标题栏>div>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.三维面板 .三维缩放底部{width:calc(100% - 20px);min-width:0}.三维面板 .真实比例徽标{bottom:54px;max-width:calc(100% - 58px)}}.面板{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--边框);border-radius:var(--圆角);background:var(--面板背景);box-shadow:var(--阴影)}.面板标题栏{min-height:42px;flex:0 0 auto;justify-content:space-between;gap:10px;padding:8px 11px;border-bottom:1px solid var(--边框);background:#111b27}.面板标题栏>div{min-width:0}.面板标题栏 h2{font-size:13px;line-height:1.3}.面板标题栏 span{color:var(--次文字);font-size:10px;line-height:1.35}.面板标题栏>span{flex:0 0 auto;text-align:right}.面板滚动区{overflow:hidden auto;padding:10px;scrollbar-color:#38526a transparent;scrollbar-width:thin}.素材库工具区{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) minmax(118px,.74fr);gap:6px;padding:8px;border-bottom:1px solid var(--弱边框);background:#0b141e}.素材库搜索字段,.素材库分类字段{min-width:0}.素材库搜索字段 input,.素材库分类字段 select{width:100%;height:34px;padding:0 9px;border:1px solid #344b5f;border-radius:var(--控件圆角);background:var(--控件背景);color:var(--文字);font-size:11px}.素材库搜索字段 input::placeholder{color:var(--弱文字)}.素材库搜索字段 input:disabled,.素材库分类字段 select:disabled{color:var(--弱文字);cursor:wait;opacity:.72}.素材库信息栏{display:flex;min-height:29px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;border-bottom:1px solid var(--弱边框);color:var(--次文字);font-size:9px}.素材库信息栏 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.素材库信息栏 span:first-child{flex:0 0 auto}.素材库信息栏 span:last-child{min-width:0;color:#c9d9e7;text-align:right}.素材预取栏{display:flex;min-height:25px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:6px;padding:3px 9px;border-bottom:1px solid var(--弱边框);background:#1c4a6a24;color:#9fbed5;font-size:9px}.素材预取栏 span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.素材预取栏 .文字按钮{min-height:19px;flex:0 0 auto;padding:1px 6px;font-size:9px}.素材库滚动区{position:relative;min-height:0;flex:1 1 auto;overflow:hidden auto;padding:8px;scrollbar-color:#38526a transparent;scrollbar-width:thin;overscroll-behavior:contain;contain:layout paint}.公共素材网格{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.公共素材项目{min-width:0}.公共素材卡片{display:flex;min-width:0;min-height:0;flex-direction:column;gap:5px;padding:5px;overflow:hidden;border-color:#263d51;background:#0a141e;color:var(--次文字);text-align:left;content-visibility:auto;contain-intrinsic-size:auto 154px}.公共素材卡片:hover:not(:disabled){border-color:#4d718f}.公共素材卡片[aria-pressed=true]{border-color:var(--主色亮);background:#1e67a33d;box-shadow:inset 0 0 0 1px #63b4ff9e,0 0 16px #3197ff29;color:var(--文字)}.公共素材缩略图框{display:grid;width:100%;aspect-ratio:1;place-items:center;overflow:hidden;border-radius:5px;background-color:#101a24;background-image:linear-gradient(45deg,rgb(111 130 148 / 9%) 25%,transparent 25%),linear-gradient(-45deg,rgb(111 130 148 / 9%) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgb(111 130 148 / 9%) 75%),linear-gradient(-45deg,transparent 75%,rgb(111 130 148 / 9%) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.公共素材缩略图框 img{display:block;width:100%;height:100%;object-fit:contain}.公共素材缩略图框 img.载入失败{display:none}.公共素材卡片名称{display:block;width:100%;overflow:hidden;font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.素材库空状态{position:absolute;inset:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--弱文字);font-size:10px;pointer-events:none;text-align:center}.素材库空状态 strong{color:var(--次文字);font-size:11px}.素材加载更多{width:100%;min-height:34px;margin-top:8px;background:#0b1824;color:var(--主色亮);font-size:10px}.控件分组,.生产信息{padding-bottom:12px;border-bottom:1px solid var(--弱边框)}.控件分组+.控件分组,.控件分组+.生产信息{padding-top:12px}.控件分组 h3,.生产信息 h3{margin-bottom:9px;color:#dce8f4;font-size:12px}.分组标题行{justify-content:space-between;gap:8px;margin-bottom:8px}.分组标题行 h3{margin-bottom:0}.字段{display:block}.字段+.字段,.滑杆字段+.滑杆字段{margin-top:10px}.字段标题{justify-content:space-between;gap:10px;margin-bottom:5px;color:#c5d3e0;font-size:11px}.字段标题>span:last-child,.字段标题 output{color:var(--次文字);font-variant-numeric:tabular-nums}.字段 input[type=number]{width:100%;height:39px;padding:0 10px;border:1px solid #344b5f;border-radius:var(--控件圆角);background:var(--控件背景);color:var(--文字);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.字段 small,.控件分组>small{display:block;margin-top:4px;color:var(--弱文字);font-size:9px;line-height:1.45}.文字按钮{min-height:24px;padding:0 4px;border-color:transparent;background:transparent;color:var(--主色亮);font-size:10px}.图片投放区{display:flex;min-height:102px;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:10px;border:1px dashed #41617d;border-radius:8px;background:linear-gradient(135deg,rgb(49 151 255 / 4%),transparent),var(--控件背景);color:var(--次文字);cursor:pointer;text-align:center;transition:border-color .14s ease,background-color .14s ease}.图片投放区:hover,.图片投放区.正在拖入{border-color:var(--主色亮);background-color:#3197ff14}.投放图标{display:grid;width:26px;height:26px;margin-bottom:2px;place-items:center;border:1px solid #3b6c93;border-radius:50%;color:var(--主色亮);font-size:19px;font-weight:300}.图片投放区 strong{color:var(--文字);font-size:12px}.图片投放区 span:not(.投放图标){font-size:10px}.图片投放区 small{color:var(--弱文字);font-size:9px}.三按钮组,.双按钮组{display:grid;gap:6px}.三按钮组{grid-template-columns:repeat(3,1fr);margin-top:7px}.双按钮组{grid-template-columns:repeat(2,1fr)}.主要按钮,.输出按钮{border-color:#287fc7;background:linear-gradient(180deg,#3197ff,#1682e8);color:#fff}.主要按钮:hover:not(:disabled),.输出按钮:hover:not(:disabled){border-color:#65b6ff;background:linear-gradient(180deg,#4ba7ff,#208eef)}.次要按钮{background:#0c1722}.素材状态行{justify-content:space-between;gap:8px;margin-top:6px;color:var(--弱文字);font-size:9px}.素材状态行 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.素材状态行 span:first-child{min-width:0}.素材状态行 span:last-child{flex:0 0 auto}.开关行{justify-content:space-between;gap:12px;padding:8px 9px;border:1px solid var(--弱边框);border-radius:var(--控件圆角);background:var(--控件背景)}.开关行>span{display:flex;min-width:0;flex-direction:column;gap:2px}.开关行 strong{font-size:11px}.开关行 small{color:var(--次文字);font-size:9px}.开关行 input{width:17px;height:17px;accent-color:var(--主色)}.滑杆字段{display:block;margin-top:10px}input[type=range]{width:100%;height:20px;margin:0;accent-color:var(--主色);cursor:pointer}.强调状态{color:var(--主色亮);font-size:10px;font-weight:700}.生产信息{border-bottom:0}.生产信息 dl{display:grid;gap:6px;margin:0}.生产信息 dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.生产信息 dt{color:var(--次文字);font-size:10px}.生产信息 dd{margin:0;color:var(--文字);font-size:10px;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}@media(min-width:1001px){.参数面板 .面板滚动区{padding:7px 9px}.参数面板 .控件分组,.参数面板 .生产信息{padding-bottom:6px}.参数面板 .控件分组+.控件分组,.参数面板 .控件分组+.生产信息{padding-top:6px}.参数面板 .控件分组 h3,.参数面板 .生产信息 h3,.参数面板 .分组标题行{margin-bottom:5px}.参数面板 .字段+.字段,.参数面板 .滑杆字段+.滑杆字段{margin-top:5px}.参数面板 .字段标题{margin-bottom:3px}.参数面板 .字段 input[type=number]{height:34px;padding-inline:9px}.参数面板 .字段 small,.参数面板 .控件分组>small{margin-top:2px;line-height:1.25}.参数面板 .字段 small{display:none}.参数面板 .图片投放区{min-height:70px;gap:1px;padding:5px}.参数面板 .图片投放区 small{display:none}.参数面板 .投放图标{width:22px;height:22px;margin-bottom:0;font-size:16px}.参数面板 button{min-height:32px}.参数面板 .三按钮组,.参数面板 .双按钮组{gap:4px}.参数面板 .三按钮组{margin-top:4px}.参数面板 .素材状态行{margin-top:3px}.参数面板 .开关行{padding:5px 8px}.参数面板 .滑杆字段{margin-top:5px}.参数面板 input[type=range]{height:16px}.参数面板 .生产信息 dl{gap:3px}}.三维视口,.二维视口{position:relative;min-height:0;flex:1 1 auto;overflow:hidden;contain:size layout paint;background-color:#060e15;background-image:linear-gradient(rgb(43 65 82 / 6%) 1px,transparent 1px),linear-gradient(90deg,rgb(43 65 82 / 6%) 1px,transparent 1px);background-size:28px 28px}.三维视口{isolation:isolate;cursor:default;user-select:none}.三维视口 canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;cursor:default;touch-action:none}.三维视口 canvas[data-圆管可拖动=true]{cursor:grab}.三维视口 canvas[data-正在拖动=true]{cursor:grabbing}.预览占位{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:20px;color:var(--次文字);pointer-events:none;text-align:center}.预览占位 strong{color:#b9c9d7;font-size:12px}.预览占位 span{font-size:10px}.载入环{width:25px;height:25px;margin-bottom:3px;border:2px solid #244158;border-top-color:var(--主色亮);border-radius:50%;animation:载入旋转 .9s linear infinite}@keyframes 载入旋转{to{transform:rotate(360deg)}}.真实比例徽标{position:absolute;bottom:10px;left:10px;z-index:4;max-width:calc(100% - 130px);padding:6px 8px;border:1px solid #2e465b;border-radius:6px;background:#071018d1;color:var(--次文字);font-size:9px;pointer-events:none;backdrop-filter:blur(8px)}.三维接缝参考标记{position:absolute;z-index:4;width:1px;height:1px;color:#dff5ff;pointer-events:none;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 92%))}.三维接缝参考标记>span{position:absolute;bottom:8px;left:-9px;padding:3px 6px;border:1px solid rgb(79 195 255 / 72%);border-radius:5px;background:#040f18e0;font-size:9px;font-weight:750;line-height:1;white-space:nowrap;transform:translate(-100%);backdrop-filter:blur(5px)}.三维接缝参考标记>i{position:absolute;bottom:7px;left:-1px;width:2px;height:17px;border-radius:2px;background:#4fc3ff;box-shadow:0 0 0 1px #030e17e0}.三维接缝参考标记>i:after{position:absolute;bottom:-7px;left:-5px;width:0;height:0;border-top:8px solid #4fc3ff;border-right:6px solid transparent;border-left:6px solid transparent;content:"";filter:drop-shadow(0 1px 0 rgb(3 14 23 / 92%))}.三维缩放右侧,.三维缩放底部{position:absolute;z-index:5;display:flex;align-items:center;border:1px solid #31495e;border-radius:8px;background:#071018db;box-shadow:0 8px 24px #00000040;backdrop-filter:blur(8px)}.三维缩放右侧{top:50%;right:10px;width:36px;height:min(300px,42%);min-height:150px;justify-content:center;transform:translateY(-50%)}.三维缩放右侧 input{width:20px;height:calc(100% - 18px);writing-mode:vertical-lr;direction:rtl}.三维缩放底部{right:10px;bottom:10px;width:min(280px,calc(100% - 150px));min-width:170px;height:36px;gap:8px;padding:0 10px}.三维缩放底部 input{min-width:0;flex:1 1 auto}.三维缩放数值{flex:0 0 46px;color:#dce9f5;font-size:10px;font-variant-numeric:tabular-nums;text-align:right}.三维辅助按钮{position:absolute;top:10px;right:10px;z-index:5;min-height:30px;padding:0 9px;background:#071018db;font-size:10px;backdrop-filter:blur(8px)}.三维错误提示{position:absolute;z-index:6;top:10px;left:50%;width:min(420px,calc(100% - 100px));padding:8px 10px;border:1px solid rgb(255 107 114 / 52%);border-radius:7px;background:#4a1419e5;color:#ffdadd;font-size:10px;text-align:center;transform:translate(-50%)}.二维视口{display:grid;padding:14px;place-items:center;background-image:linear-gradient(45deg,#0b141e 25%,transparent 25%),linear-gradient(-45deg,#0b141e 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#0b141e 75%),linear-gradient(-45deg,transparent 75%,#0b141e 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.二维视口 canvas{z-index:1;display:block;max-width:100%;max-height:100%;border:1px solid #324a5e;background:transparent;box-shadow:0 12px 36px #0000004d}.二维占位图标{width:72px;height:132px;margin-bottom:9px;border:1px solid #365069;border-radius:4px;background:linear-gradient(135deg,transparent 38%,rgb(80 111 137 / 18%) 38% 62%,transparent 62%),#101c28}.输出栏{min-height:64px;flex:0 0 auto;gap:8px;padding:9px 10px;border-top:1px solid var(--边框);background:#0d1722}.输出状态{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:2px}.输出状态 strong,.输出状态 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.输出状态 strong{font-size:10px}.输出状态 span{color:var(--次文字);font-size:9px}.输出状态 progress{width:min(280px,100%);height:5px;margin-top:3px;border:0;border-radius:999px;accent-color:var(--主色)}.输出按钮{flex:0 0 auto;min-width:114px;min-height:42px;padding:0 16px;font-size:13px}.消息提示区{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:100;display:grid;width:min(360px,calc(100vw - 28px));gap:7px;pointer-events:none}.消息提示{padding:10px 12px;border:1px solid #3b5368;border-radius:8px;background:#0d1924f0;box-shadow:var(--阴影);color:var(--文字);font-size:11px;line-height:1.5;animation:消息出现 .18s ease-out;backdrop-filter:blur(10px)}.消息提示.错误{border-color:#ff6b7299}.消息提示.成功{border-color:#46d7a094}@keyframes 消息出现{0%{opacity:0;transform:translateY(8px)}}.仅屏幕阅读器{position:absolute!important;top:0!important;left:0!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1000px){body{overflow:auto}.应用外壳{height:auto;min-height:100dvh;overflow:visible}.四栏工作区{grid-template-columns:252px minmax(340px,1fr);grid-template-rows:minmax(560px,calc(86dvh - 70px)) minmax(620px,calc(100dvh - 80px)) minmax(620px,calc(100dvh - 80px));overflow:visible}.参数面板{grid-column:1;grid-row:1 / 4}.素材库面板{grid-column:2;grid-row:1}.三维面板{grid-column:2;grid-row:2}.二维面板{grid-column:2;grid-row:3}}@media(max-width:760px){body{overflow:auto}.应用外壳{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));gap:6px}.顶栏{position:sticky;z-index:20;top:0;min-height:50px;padding:7px 9px;backdrop-filter:blur(14px)}.品牌图标{display:none}.品牌区 h1{font-size:13px}.品牌区 p{font-size:9px}.顶栏状态{gap:5px}.顶栏状态 .状态分隔,#设备能力状态{display:none}.四栏工作区{display:flex;flex-direction:column;gap:6px}.参数面板,.素材库面板,.三维面板,.二维面板{min-height:0}.参数面板{order:1}.素材库面板{order:2;height:max(520px,72dvh)}.三维面板{order:3;height:max(560px,82dvh)}.二维面板{order:4;height:max(620px,90dvh)}.面板滚动区{overflow:visible}.面板标题栏{min-height:40px;padding:7px 9px}.素材库工具区{grid-template-columns:minmax(0,1fr) minmax(126px,.72fr)}.公共素材网格{grid-template-columns:repeat(3,minmax(0,1fr))}.三维缩放右侧{right:7px;width:40px;height:34%}.三维缩放底部{right:7px;bottom:7px;width:calc(100% - 112px)}.真实比例徽标{bottom:7px;left:7px;max-width:98px}.三维接缝参考标记>span{bottom:7px;left:-8px;padding:2px 5px;font-size:8px}.三维接缝参考标记>i{height:14px}.二维视口{padding:10px}.输出栏{position:sticky;z-index:4;bottom:0;min-height:58px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.输出状态 span{display:none}.输出按钮{min-width:104px}}@media(max-width:420px){.品牌区 p{display:none}.三按钮组{gap:5px}.素材库工具区{grid-template-columns:1fr}.公共素材网格{grid-template-columns:repeat(2,minmax(0,1fr))}.三维面板{height:max(520px,78dvh)}.二维面板{height:max(560px,86dvh)}.面板标题栏>span,.面板标题栏>div>span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
