:root{color-scheme:light;--ink:#172033;--muted:#748096;--glass:rgba(255,255,255,.76);--line:rgba(31,48,75,.11);--purple:#7557ff;--blue:#4b8cff;--danger:#ee5570}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#e9eef7;color:var(--ink);font-family:Inter,"Microsoft YaHei",system-ui,sans-serif}button,input{font:inherit}button{color:inherit;cursor:pointer}header{height:68px;position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(246,249,255,.82);border-bottom:1px solid var(--line);backdrop-filter:blur(22px);box-shadow:0 1px 12px rgba(49,67,102,.05)}.brand{display:flex;align-items:center;gap:11px}.logo{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#8065ff,#4c8fff);color:#fff;font-size:11px;font-weight:800;box-shadow:0 8px 20px rgba(99,92,238,.28)}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.1px}.brand small{font-size:8px;color:#929db0;letter-spacing:2px;margin-top:3px}.head-actions{display:flex;gap:7px}.head-actions button,.side-title button{border:1px solid var(--line);background:rgba(255,255,255,.72);padding:9px 13px;border-radius:10px;font-size:11px;box-shadow:0 3px 12px rgba(43,61,93,.05)}.head-actions button:hover,.side-title button:hover{background:#fff;transform:translateY(-1px)}.head-actions .primary,.side-title button{color:#fff;border:0;background:linear-gradient(135deg,#795cff,#4c8dff);box-shadow:0 7px 18px rgba(91,102,238,.25)}main{height:calc(100% - 68px);display:flex}#sidebar{width:292px;flex:0 0 292px;padding:20px 16px;position:relative;z-index:12;overflow:hidden;background:rgba(247,249,253,.82);border-right:1px solid var(--line);backdrop-filter:blur(20px);transition:.25s cubic-bezier(.2,.8,.2,1)}#sidebar.closed{width:0;flex-basis:0;padding:0;border:0}.side-title{display:flex;align-items:flex-start;justify-content:space-between}.side-title strong,.side-title small{display:block}.side-title strong{font-size:16px}.side-title small{font-size:10px;color:var(--muted);margin-top:4px}#search{width:100%;margin:19px 0 14px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.7);padding:11px 12px;color:var(--ink);outline:0;box-shadow:inset 0 1px 3px rgba(54,72,102,.03)}#search:focus{border-color:rgba(93,111,246,.5);box-shadow:0 0 0 3px rgba(95,107,245,.1)}#library{display:grid;gap:10px}.model-card{display:flex;gap:11px;align-items:center;border:1px solid transparent;border-radius:14px;padding:10px;background:rgba(255,255,255,.56);cursor:pointer;transition:.16s}.model-card:hover{background:#fff;transform:translateY(-1px);box-shadow:0 9px 22px rgba(54,73,108,.09)}.model-card.active{border-color:rgba(109,88,255,.45);background:linear-gradient(135deg,rgba(121,92,255,.12),rgba(76,141,255,.09));box-shadow:0 8px 24px rgba(77,89,190,.12)}.thumb{width:68px;height:53px;display:grid;place-items:center;border-radius:11px;background:radial-gradient(circle at 28% 20%,#9fb6ff,#687dd5 42%,#344363);color:#fff;font-size:10px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}.model-card strong,.model-card small{display:block}.model-card strong{font-size:12px}.model-card small{font-size:9px;color:var(--muted);margin-top:5px}.tip{position:absolute;left:16px;right:16px;bottom:18px;border:1px solid rgba(89,111,244,.16);border-radius:13px;padding:12px;background:linear-gradient(135deg,rgba(123,92,255,.08),rgba(75,141,255,.08))}.tip b,.tip span{display:block}.tip b{font-size:11px;color:#5d5bd9}.tip span{font-size:9px;color:#7e8ba0;margin-top:4px}#workspace{position:relative;flex:1;min-width:0;overflow:hidden}#viewport{position:absolute;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}#collapseBtn{position:absolute;z-index:10;left:0;top:50%;transform:translateY(-50%);width:25px;height:62px;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:var(--glass);color:#637087;backdrop-filter:blur(15px);box-shadow:4px 5px 18px rgba(42,58,90,.08)}.toolbar{position:absolute;z-index:10;top:18px;left:20px;display:flex;gap:4px;padding:6px;border:1px solid var(--line);border-radius:13px;background:var(--glass);backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(49,65,97,.13)}.toolbar button{border:0;background:transparent;border-radius:9px;padding:9px 12px;color:#68758b;font-size:11px;transition:.14s}.toolbar button:hover{background:rgba(111,96,231,.08)}.toolbar button.active{color:#fff;background:linear-gradient(135deg,#795cff,#4b8dff);box-shadow:0 5px 14px rgba(88,101,231,.25)}.toolbar .danger{color:var(--danger)}.scene-info{position:absolute;z-index:9;top:20px;right:20px;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--glass);box-shadow:0 8px 25px rgba(45,62,92,.09);font-size:10px;color:#4d596c}.scene-info span:last-child{color:#8a96a9}.live{width:7px;height:7px;border-radius:50%;background:#44d7ae;box-shadow:0 0 0 4px rgba(68,215,174,.12)}#status{position:absolute;z-index:9;left:50%;bottom:19px;transform:translateX(-50%);padding:9px 16px;border:1px solid var(--line);border-radius:22px;background:var(--glass);backdrop-filter:blur(18px);box-shadow:0 8px 28px rgba(48,65,97,.13);color:#68758a;font-size:10px;white-space:nowrap}.axis-note{position:absolute;z-index:9;right:18px;bottom:19px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--glass);color:#7a879b;font-size:9px}.rx{color:#ef5060}.gy{color:#28b96c}.bz{color:#3c7fe8}#toast{position:fixed;z-index:40;top:82px;left:50%;transform:translate(-50%,-15px);opacity:0;border:1px solid rgba(62,80,111,.11);border-radius:11px;background:rgba(28,37,54,.88);padding:10px 15px;color:#fff;box-shadow:0 12px 34px rgba(29,40,62,.22);font-size:10px;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}#loading,#error{position:fixed;z-index:50;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#e9eef7;color:#738096;font-size:11px}.hidden{display:none!important}.spinner{width:34px;height:34px;border:3px solid #cad4e3;border-top-color:#745cff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:720px){header{height:57px;padding:0 9px}.brand small{display:none}.brand strong{font-size:12px}.logo{width:32px;height:32px}.head-actions button{padding:7px;font-size:9px}.head-actions button:nth-child(2){display:none}main{height:calc(100% - 57px)}#sidebar{position:absolute;inset:0 auto 0 0;width:232px;flex-basis:232px;box-shadow:18px 0 50px rgba(33,48,77,.18)}.toolbar{top:10px;left:10px;max-width:calc(100vw - 20px);overflow-x:auto}.toolbar button{padding:8px 9px}.scene-info{top:60px;right:10px}.axis-note{display:none}#status{bottom:10px;max-width:90vw;overflow:hidden;text-overflow:ellipsis}.tip{bottom:12px}}
[data-theme="dark"]{color-scheme:dark;--ink:#e8edf7;--muted:#929eb1;--glass:rgba(29,35,46,.82);--line:rgba(207,220,244,.11);--danger:#ff7a91}[data-theme="dark"] body{background:#11151d}[data-theme="dark"] header{background:rgba(20,25,34,.88)}[data-theme="dark"] .head-actions button,[data-theme="dark"] .side-title button{background:rgba(38,45,58,.82);color:#d9e1ef;box-shadow:none}[data-theme="dark"] .head-actions .primary,[data-theme="dark"] .side-title button{background:linear-gradient(135deg,#7459eb,#467fd5)}[data-theme="dark"] #sidebar{background:rgba(22,27,36,.9)}[data-theme="dark"] #search{background:rgba(34,40,52,.9);color:#e8edf7}[data-theme="dark"] .model-card{background:rgba(35,41,53,.78)}[data-theme="dark"] .model-card:hover{background:#2b3240;box-shadow:0 9px 22px rgba(0,0,0,.18)}[data-theme="dark"] .model-card.active{background:linear-gradient(135deg,rgba(116,89,235,.24),rgba(70,127,213,.17))}[data-theme="dark"] .tip{background:linear-gradient(135deg,rgba(116,89,235,.13),rgba(70,127,213,.1))}[data-theme="dark"] .tip b{color:#aaa0ff}[data-theme="dark"] .tip span{color:#8d99ac}[data-theme="dark"] .toolbar,[data-theme="dark"] .scene-info,[data-theme="dark"] #status,[data-theme="dark"] .axis-note,[data-theme="dark"] #collapseBtn{background:rgba(28,34,45,.86);box-shadow:0 10px 35px rgba(0,0,0,.2)}[data-theme="dark"] .toolbar button{color:#aeb8c8}[data-theme="dark"] .scene-info{color:#d3dbea}[data-theme="dark"] #status{color:#aab5c7}[data-theme="dark"] #loading,[data-theme="dark"] #error{background:#11151d;color:#aeb9ca}
[data-theme="dark"] .space-btn.active,.space-btn.active{color:#fff!important;background:linear-gradient(135deg,#2baf95,#3688dd)!important;box-shadow:0 5px 14px rgba(48,146,188,.24)}.tool-separator{width:1px;align-self:stretch;margin:3px 2px;background:var(--line)}
[data-theme="dark"] .space-switch{background:rgba(28,34,45,.86);box-shadow:0 10px 35px rgba(0,0,0,.2)}.space-switch{position:absolute;z-index:10;top:74px;left:20px;display:flex;flex-direction:column;gap:4px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--glass);backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(49,65,97,.12)}.space-switch button{min-width:48px;border:0;border-radius:8px;background:transparent;padding:8px 10px;color:var(--muted);font-size:10px}.space-switch button.active{color:#fff;background:linear-gradient(135deg,#2baf95,#3688dd);box-shadow:0 5px 14px rgba(48,146,188,.24)}#undoBtn:disabled{opacity:.38;cursor:default}@media(max-width:720px){.space-switch{top:54px;left:10px}}
[data-theme="dark"] #redoBtn:disabled,#redoBtn:disabled{opacity:.38;cursor:default}.snap-filters{top:112px!important}#clipBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd)}
.snap-filters{position:absolute;z-index:10;top:58px;right:18px;display:flex;gap:7px}.snap-filters button{border:1px solid var(--line);border-radius:9px;padding:7px 11px;background:var(--glass);color:var(--muted);font-size:10px;backdrop-filter:blur(16px);box-shadow:0 6px 18px rgba(30,45,70,.1)}.snap-filters button:hover{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd)}@media(max-width:720px){.snap-filters{top:94px;right:8px}.snap-filters button{padding:6px 8px;font-size:9px}}
.model-meta{min-width:0;flex:1}.delete-model{flex:0 0 28px;width:28px;height:28px;padding:0!important;border:1px solid rgba(238,85,112,.2)!important;border-radius:8px!important;background:rgba(238,85,112,.08)!important;color:var(--danger)!important;font-size:17px!important;line-height:1}.delete-model:hover{background:rgba(238,85,112,.18)!important;transform:none!important}[data-theme="dark"] .delete-model{border-color:rgba(255,122,145,.25)!important;background:rgba(255,122,145,.09)!important}
.color-tool{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:rgba(255,255,255,.72);padding:7px 9px;border-radius:10px;font-size:11px;cursor:pointer}.color-tool input{width:25px;height:22px;padding:0;border:0;background:transparent;cursor:pointer}.head-actions #connectorBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#39c990)}[data-theme="dark"] .color-tool{background:rgba(38,45,58,.82);color:#d9e1ef}
.head-actions button,.toolbar button{min-width:52px}.shortcut-hint{display:block;margin-top:2px;font-size:7px;line-height:1;color:var(--muted);font-weight:400;white-space:nowrap}.toolbar button.active .shortcut-hint,.head-actions .primary .shortcut-hint{color:rgba(255,255,255,.78)}#groundBtn.active,#boundsBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd)}#memoryUsage{padding-left:7px;border-left:1px solid var(--line);white-space:nowrap}.scene-info{flex-wrap:wrap;justify-content:flex-end;max-width:310px}
#interactionBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd)}.library-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;margin:19px 0 14px}.library-filter #search{min-width:0;margin:0}.library-filter #hiddenTracksBtn{height:38px;padding:0 9px;border:1px solid rgba(108,122,155,.22);border-radius:10px;background:rgba(96,109,139,.12);color:var(--muted);font-size:8px;white-space:nowrap}.library-filter #hiddenTracksBtn:hover{border-color:rgba(116,89,235,.46);color:var(--ink)}.library-filter #hiddenTracksBtn.active{border-color:rgba(75,211,151,.48);background:rgba(49,164,116,.18);color:#65dfa7}.model-card[data-model-id$="-old"]{border-color:rgba(92,208,161,.18);background:linear-gradient(135deg,rgba(35,105,83,.13),rgba(57,75,102,.1))}.model-card[data-model-id$="-old"] .thumb{background:radial-gradient(circle at 28% 20%,#72cbaa,#3f8f78 45%,#294b4b)}.model-card[draggable="true"]{user-select:none}.model-card[draggable="true"]:active{cursor:grabbing}.interaction-method-2 .guide-foot.warning{color:#58c99a}.interaction-method-2 .guide-foot.warning::after{content:" · 右键已禁用"}
.model-card.library-drag-source{opacity:0!important;pointer-events:none}.support-mode canvas{cursor:default}
.scene-info #bomBtn{flex-basis:100%;margin-left:auto;border:1px solid var(--line);border-radius:8px;padding:5px 9px;background:rgba(80,112,180,.09);color:var(--ink);font-size:9px}.modal{position:fixed;z-index:60;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,12,20,.56);backdrop-filter:blur(8px)}.modal-card{width:min(480px,94vw);max-height:78vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--glass);box-shadow:0 24px 80px rgba(0,0,0,.3);backdrop-filter:blur(24px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head b,.modal-head small{display:block}.modal-head b{font-size:15px}.modal-head small{margin-top:5px;color:var(--muted);font-size:9px}.modal-head button{border:0;background:transparent;color:var(--muted);font-size:22px}.bom-filters{display:flex;gap:8px;margin:16px 0 12px}.bom-filters button{border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:transparent;color:var(--muted);font-size:10px}.bom-filters button.active{border-color:transparent;background:linear-gradient(135deg,#20aa72,#3688dd);color:#fff}.bom-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 5px;border-bottom:1px solid var(--line);font-size:11px}.bom-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.bom-count{font-weight:700;color:#45cfa6}.bom-empty{padding:30px;text-align:center;color:var(--muted);font-size:11px}[data-theme="dark"] .scene-info #bomBtn{background:rgba(73,102,155,.18);color:#dbe4f2}
#selectionRect{position:fixed;z-index:30;display:none;border:1px solid rgba(94,144,255,.95);background:rgba(73,126,255,.16);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset;pointer-events:none}#selectionRect.active{display:block}.shortcut-panel{position:fixed;z-index:45;top:78px;right:18px;width:230px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--glass);backdrop-filter:blur(22px);box-shadow:0 18px 55px rgba(20,30,50,.25)}.shortcut-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px}.shortcut-head button{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:18px}.shortcut-panel label{display:flex;align-items:center;justify-content:space-between;padding:7px 0;color:var(--muted);font-size:11px}.shortcut-panel input{width:74px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.7);color:var(--ink);text-align:center;outline:0}.shortcut-panel>button{width:100%;margin-top:9px;padding:9px;border:0;border-radius:9px;background:linear-gradient(135deg,#795cff,#4b8dff);color:#fff}[data-theme="dark"] .shortcut-panel input{background:rgba(35,42,55,.92)}@media(max-width:720px){.shortcut-panel{top:64px;right:8px;width:210px}}

#exportNameModal{z-index:80}.export-name-card{width:min(430px,94vw);overflow:visible}.export-name-field{display:block;margin-top:20px;color:var(--muted);font-size:10px}.export-name-field>div{display:flex;align-items:center;margin-top:8px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.72);overflow:hidden}.export-name-field input{min-width:0;flex:1;padding:12px;border:0;background:transparent;color:var(--ink);font-size:13px;outline:0}.export-name-field em{padding:0 12px;color:var(--muted);font-size:11px;font-style:normal}.export-name-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.export-name-actions button{padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink)}.export-name-actions button.primary{border-color:transparent;background:linear-gradient(135deg,#20aa72,#3688dd);color:#fff}[data-theme="dark"] .export-name-field>div{background:rgba(35,42,55,.92)}

#library{max-height:calc(100vh - 235px);overflow-y:auto;padding-right:5px;scrollbar-width:auto;scrollbar-color:rgba(107,100,230,.65) transparent}#library::-webkit-scrollbar{width:10px}#library::-webkit-scrollbar-thumb{background:rgba(107,100,230,.65);border-radius:8px}.shortcut-help{display:block;color:var(--muted);font-size:9px;margin:-3px 0 8px}.bom-filters{flex-wrap:wrap}.bom-filters #bomExportBtn{margin-left:auto}

#sidebar{display:flex;flex-direction:column}.side-title,#search,.input-guide{flex:0 0 auto}.library-shell{position:relative;display:flex;flex:1 1 auto;min-height:100px;margin-bottom:12px;overflow:hidden}#library{display:grid;align-content:start;gap:10px;width:100%;max-height:none!important;overflow-y:auto;padding:18px 7px 18px 0;scrollbar-width:auto;scrollbar-color:rgba(107,100,230,.65) transparent}.library-arrow{position:absolute;z-index:5;right:3px;width:22px;height:18px;border:0;background:linear-gradient(180deg,rgba(22,27,36,.96),rgba(22,27,36,.55));color:#7967ff}.library-arrow.up{top:0}.library-arrow.down{bottom:0;background:linear-gradient(0deg,rgba(22,27,36,.96),rgba(22,27,36,.55))}.library-arrow span{display:block;width:0;height:0;margin:auto;border-left:5px solid transparent;border-right:5px solid transparent}.library-arrow.up span{border-bottom:6px solid currentColor}.library-arrow.down span{border-top:6px solid currentColor}.library-arrow:disabled{opacity:.18;cursor:default}.input-guide{border:1px solid rgba(115,104,255,.22);border-radius:16px;padding:12px;background:linear-gradient(145deg,rgba(121,92,255,.10),rgba(53,139,225,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.guide-title{display:flex;align-items:center;justify-content:space-between}.guide-title span{font-size:11px;font-weight:700;color:var(--ink)}.guide-title small{font-size:6px;letter-spacing:1.1px;color:var(--muted)}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:6px;margin-top:7px}.mouse-diagram{position:relative;height:122px}.mouse-diagram svg{position:absolute;left:50%;top:2px;width:112px;height:112px;transform:translateX(-50%)}.mouse-body{fill:rgba(73,84,108,.18);stroke:url(#mouseGlow);stroke-width:2}.mouse-split{fill:none;stroke:rgba(143,154,181,.38);stroke-width:1}.mouse-wheel{fill:rgba(120,101,255,.28);stroke:#8f7cff;stroke-width:1}.mouse-led{fill:#49e0b1}.mouse-motion,.mouse-arrow{fill:none;stroke:#7b69ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mouse-label{position:absolute;top:3px;width:48px;color:var(--muted);font-size:7px;line-height:1.45;text-align:center}.mouse-label.left{left:-2px}.mouse-label.middle{left:50%;transform:translateX(-50%)}.mouse-label.right{right:-2px}.guide-keys{display:grid;gap:8px}.guide-keys>div{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:6px}.guide-keys kbd{display:grid;place-items:center;min-width:28px;height:28px;padding:0 3px;border:1px solid rgba(130,112,255,.45);border-radius:8px;background:linear-gradient(145deg,rgba(120,94,255,.24),rgba(65,139,225,.16));box-shadow:0 5px 15px rgba(61,71,130,.18);color:var(--ink);font-size:10px;font-family:inherit}.guide-keys span{color:var(--muted);font-size:7px;line-height:1.35}.guide-foot{display:flex;flex-wrap:wrap;gap:5px 9px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:7px}.guide-foot span{display:flex;align-items:center;gap:4px}.guide-foot .dot{width:5px;height:5px;border-radius:50%;background:#6e8cff}.guide-foot .add{background:#44d7ae}.guide-foot .remove{background:#ff7089}[data-theme="light"] .library-arrow{background:linear-gradient(180deg,rgba(247,249,253,.98),rgba(247,249,253,.56))}[data-theme="light"] .library-arrow.down{background:linear-gradient(0deg,rgba(247,249,253,.98),rgba(247,249,253,.56))}@media(max-height:680px){.input-guide{padding:8px}.guide-layout{grid-template-columns:1fr 72px}.mouse-diagram{height:88px}.mouse-diagram svg{width:82px;height:82px}.mouse-label{font-size:6px}.guide-foot{display:none}}

#collapseBtn{display:grid;place-items:center;padding:0;overflow:visible;color:transparent;font-size:0}#collapseBtn span{display:block;width:8px;height:8px;border-left:1.5px solid #8f9cb2;border-bottom:1.5px solid #8f9cb2;transform:rotate(45deg);transition:transform .2s}#collapseBtn.expanded span{transform:rotate(225deg)}.mouse-label{top:0!important;width:62px!important;font-size:9px!important;line-height:1.45!important;font-weight:600}.mouse-label.left{left:-10px!important}.mouse-label.right{right:-10px!important}.guide-lines{position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:112px!important;transform:none!important;pointer-events:none}.guide-lines path{fill:none;stroke:#42d38e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.guide-keys span{font-size:9px!important}.guide-foot.warning{display:block!important;padding-top:8px;color:#ff9aa9;font-size:8px;line-height:1.45;text-align:center}@media(max-height:680px){.mouse-label{font-size:8px!important}.guide-lines{height:82px!important}.guide-keys span{font-size:8px!important}.guide-foot.warning{display:block!important;font-size:7px}}

.input-guide{min-height:220px;padding:14px 12px}.guide-layout{grid-template-columns:minmax(0,1fr) 86px;gap:8px;margin-top:10px}.mouse-diagram{height:148px;padding-top:42px}.mouse-diagram>svg:not(.guide-lines){top:40px;width:108px;height:108px}.mouse-label{top:0!important;width:72px!important;font-size:9px!important;line-height:1.4!important}.mouse-label.left{left:-13px!important}.mouse-label.middle{left:50%!important}.mouse-label.right{right:-13px!important}.guide-lines{top:10px!important;height:105px!important}.guide-keys{padding-top:34px}.guide-foot.warning{margin-top:6px;padding-top:10px}@media(max-height:680px){.input-guide{min-height:178px}.mouse-diagram{height:110px;padding-top:34px}.mouse-diagram>svg:not(.guide-lines){top:34px;width:78px;height:78px}.guide-lines{top:8px!important;height:76px!important}.guide-keys{padding-top:22px}}
#workspace #collapseBtn{left:8px;z-index:18;width:30px;height:64px;border:1px solid var(--line);border-radius:10px;background:rgba(28,34,45,.94);box-shadow:0 8px 24px rgba(0,0,0,.22)}#workspace #collapseBtn span{margin-left:3px}#workspace #collapseBtn.expanded span{margin-left:-3px}

/* OPTIONAL MODULES: RENDER_PROFILES + AUTOSAVE; see FEATURE_MODULES.md */.render-profile{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:rgba(20,25,34,.35)}.render-profile button{min-width:0!important;padding:6px 8px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:9px!important}.render-profile button.active{color:#fff!important;background:linear-gradient(135deg,#7459eb,#3688dd)!important}.auto-save-state{align-self:center;color:var(--muted);font-size:8px;white-space:nowrap}.auto-save-state.saving{color:#f4b85e}.auto-save-state.saved{color:#42d998}.auto-save-state.error{color:#ff7188}@media(max-width:1050px){.auto-save-state{display:none}.render-profile button{padding:6px!important;font-size:8px!important}}

/* v42-2: render switch hidden; stable renderer fixed internally */.render-profile{display:none!important}.scene-info .auto-save-state{padding-left:7px;border-left:1px solid var(--line);font-size:8px;white-space:nowrap}.scene-info .auto-save-state.saving{color:#f4b85e}.scene-info .auto-save-state.saved{color:#42d998}.scene-info .auto-save-state.error{color:#ff7188}

.resume-card{width:min(410px,92vw);text-align:left}.resume-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.resume-actions button{padding:10px 15px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink)}.resume-actions button.primary{border-color:transparent;background:linear-gradient(135deg,#7459eb,#3688dd);color:#fff}

/* v43 support editor */
#topViewBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd);box-shadow:0 5px 14px rgba(48,146,188,.24)}
#splitViewBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd);box-shadow:0 5px 14px rgba(48,146,188,.24)}body.split-screen #viewport{right:50%;border-right:1px solid rgba(61,157,255,.55)}#splitViewport{position:absolute;z-index:1;left:50%;right:0;top:0;bottom:0;border-left:1px solid rgba(61,157,255,.55);background:#11151d}#splitViewport.hidden{display:none}#splitViewport canvas{display:block;width:100%;height:100%;touch-action:none}.viewport-label{position:absolute;z-index:4;top:8px;right:10px;padding:5px 8px;border:1px solid rgba(105,175,255,.32);border-radius:8px;background:rgba(18,27,39,.76);color:#9bc9ff;font-size:9px;pointer-events:none}body.split-screen #viewport.active,body.split-screen #splitViewport.active{box-shadow:inset 0 0 0 2px rgba(61,157,255,.72)}body.split-screen .toolbar,body.split-screen .support-panel{max-width:calc(50% - 35px)}@media(max-width:900px){body.split-screen #viewport{right:0;bottom:50%}#splitViewport{left:0;top:50%}body.split-screen .toolbar,body.split-screen .support-panel{max-width:calc(100% - 35px)}}
.support-mode #viewport canvas{cursor:default!important}.support-mode #viewport canvas.support-draw-cursor{cursor:crosshair!important}.support-mode #viewport canvas.support-edit-cursor{cursor:default!important}

/* v56 draggable/dockable top viewport */
body.split-screen #viewport{left:0;right:50%;top:0;bottom:0;border:0}
body.split-screen[data-split-layout="dock-left"] #viewport{left:50%;right:0}
body.split-screen[data-split-layout="dock-top"] #viewport{left:0;right:0;top:50%;bottom:0}
body.split-screen[data-split-layout="dock-bottom"] #viewport{left:0;right:0;top:0;bottom:50%}
body.split-screen[data-split-layout="floating"] #viewport{left:0;right:0;top:0;bottom:0}
#splitViewport{position:absolute;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;z-index:6;border:1px solid rgba(61,157,255,.62);border-radius:0;background:#11151d;box-shadow:none}
#splitViewport.dock-right{left:50%;right:0;top:0;bottom:0;width:auto;height:auto}
#splitViewport.dock-left{left:0;right:50%;top:0;bottom:0;width:auto;height:auto}
#splitViewport.dock-top{left:0;right:0;top:0;bottom:50%;width:auto;height:auto}
#splitViewport.dock-bottom{left:0;right:0;top:50%;bottom:0;width:auto;height:auto}
#splitViewport.floating{position:absolute;right:auto;bottom:auto;border-radius:12px;box-shadow:0 18px 52px rgba(0,0,0,.42)}
.split-window-header{height:30px;flex:0 0 30px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid rgba(91,157,222,.28);background:rgba(23,31,43,.96);color:#d8e8fa;cursor:grab;user-select:none;touch-action:none}
.split-window-header:active{cursor:grabbing}.split-window-header>div{display:flex;align-items:center;gap:7px}.split-window-header b{font-size:10px}.split-window-header span{font-size:8px;color:#7f93aa}.split-window-header button{display:grid;place-items:center;width:25px;height:22px;padding:0;border:1px solid rgba(105,175,255,.22);border-radius:6px;background:rgba(83,135,197,.13);color:#9bd2ff;font-size:15px;line-height:1}.split-window-header button:hover{background:rgba(83,135,197,.28);color:#fff}
.split-canvas-host{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden}.split-canvas-host canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.split-top-tools{position:absolute;z-index:7;right:14px;bottom:14px;display:flex;gap:7px}.split-top-tools button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(79,211,151,.72);border-radius:9px;background:rgba(18,27,39,.84);box-shadow:0 7px 20px rgba(0,0,0,.25);color:#55e4a6;font-size:22px;line-height:1;backdrop-filter:blur(10px)}.split-top-tools button:hover{border-color:#7ff2c2;background:rgba(34,55,63,.94);color:#a4ffda;transform:translateY(-1px)}
.split-perspective-tools{position:absolute;z-index:7;right:14px;bottom:14px;display:flex;pointer-events:none}.split-perspective-tools button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(79,211,151,.8);border-radius:9px;background:rgba(18,27,39,.86);box-shadow:0 7px 20px rgba(0,0,0,.25);color:#55e4a6;pointer-events:auto}.split-perspective-tools button.locked{border-color:rgba(255,75,87,.92);color:#ff4b57}.split-perspective-tools svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.split-perspective-tools button:hover{transform:translateY(-1px);filter:brightness(1.18)}
.axis-note{left:18px;right:auto}.split-window-header button:disabled{opacity:.38;cursor:default}.split-top-tools{pointer-events:none}.split-top-tools button{pointer-events:auto}
.split-resize-handle{display:none;position:absolute;z-index:8}.floating .split-resize-handle{display:block}.split-resize-handle.n{left:9px;right:9px;top:-4px;height:9px;cursor:n-resize}.split-resize-handle.s{left:9px;right:9px;bottom:-4px;height:9px;cursor:s-resize}.split-resize-handle.e{top:9px;bottom:9px;right:-4px;width:9px;cursor:e-resize}.split-resize-handle.w{top:9px;bottom:9px;left:-4px;width:9px;cursor:w-resize}.split-resize-handle.ne,.split-resize-handle.se,.split-resize-handle.sw,.split-resize-handle.nw{width:15px;height:15px}.split-resize-handle.ne{right:-5px;top:-5px;cursor:ne-resize}.split-resize-handle.se{right:-5px;bottom:-5px;cursor:se-resize}.split-resize-handle.sw{left:-5px;bottom:-5px;cursor:sw-resize}.split-resize-handle.nw{left:-5px;top:-5px;cursor:nw-resize}
.split-dock-preview{position:absolute;z-index:5;border:2px solid rgba(74,171,255,.85);background:rgba(51,132,230,.16);pointer-events:none;transition:opacity .08s}.split-dock-preview.hidden{display:none}.split-dock-preview.left{left:0;right:50%;top:0;bottom:0}.split-dock-preview.right{left:50%;right:0;top:0;bottom:0}.split-dock-preview.top{left:0;right:0;top:0;bottom:50%}.split-dock-preview.bottom{left:0;right:0;top:50%;bottom:0}
body.split-window-dragging,body.split-window-dragging *{cursor:grabbing!important;user-select:none!important}
#supportRodBtn.active{color:#13200c!important;background:linear-gradient(135deg,#b7ff45,#43d994)!important;box-shadow:0 0 22px rgba(111,240,128,.32)!important}.support-rod-mode canvas{cursor:crosshair!important}.support-rod-mode .toolbar button:disabled,.support-rod-mode .head-actions button:disabled,.support-rod-mode .snap-filters button:disabled,.support-rod-mode .color-tool:has(input:disabled){opacity:.28;pointer-events:none}
.support-rod-panel{position:absolute;z-index:19;top:82px;left:20px;display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid rgba(104,235,139,.34);border-radius:14px;background:rgba(25,33,42,.94);box-shadow:0 16px 42px rgba(0,0,0,.28);backdrop-filter:blur(20px)}.support-rod-panel b,.support-rod-panel small{display:block}.support-rod-panel b{color:#b7ff45;font-size:12px}.support-rod-panel small{margin-top:3px;color:#aeb9c8;font-size:9px}.support-rod-panel label{display:flex;align-items:center;gap:7px;color:#dce6f3;font-size:10px}.support-rod-panel input{width:88px;padding:7px 8px;border:1px solid rgba(104,235,139,.28);border-radius:8px;background:rgba(12,20,28,.76);color:#fff;outline:0}.support-rod-panel span{color:#8fe8b1;font-size:9px;white-space:nowrap}.support-rod-panel button{padding:8px 13px;border:0;border-radius:9px;background:linear-gradient(135deg,#8fbe28,#42bd78);color:#fff;font-size:10px}@media(max-width:760px){.support-rod-panel{top:58px;left:10px;right:10px;flex-wrap:wrap}}
.developer-panel{position:absolute;z-index:18;top:18px;right:18px;width:310px;max-height:calc(100% - 36px);overflow:auto;padding:13px;border:1px solid rgba(98,150,224,.28);border-radius:14px;background:rgba(23,31,43,.95);box-shadow:0 18px 48px rgba(0,0,0,.32);backdrop-filter:blur(20px);color:#dce6f3}.developer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.developer-head b{font-size:12px;color:#9bd2ff}.developer-head button{width:27px;height:27px;border:0;border-radius:7px;background:transparent;color:#8fa1b6;font-size:20px}.developer-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.developer-grid button,.continuity-test button,.snap-parameter-panel button{padding:8px;border:1px solid rgba(115,153,204,.22);border-radius:8px;background:rgba(70,100,145,.14);color:#dce6f3;font-size:9px}.developer-grid button.active,#developerBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd)}.snap-parameter-panel{margin-top:12px;padding-top:11px;border-top:1px solid rgba(115,153,204,.18)}.snap-parameter-panel>b{display:block;margin-bottom:8px;font-size:11px;color:#ffc66d}.snap-parameter-head,.snap-parameter-panel>label{display:grid;grid-template-columns:1.45fr .8fr .8fr;align-items:center;gap:6px}.snap-parameter-head{margin-bottom:5px;color:#7790ab;font-size:8px;text-align:center}.snap-parameter-head span:first-child{text-align:left}.snap-parameter-panel>label{margin:5px 0;color:#b9c5d4;font-size:8px}.snap-parameter-panel input{width:100%;min-width:0;box-sizing:border-box;padding:6px 5px;border:1px solid rgba(115,153,204,.25);border-radius:6px;background:rgba(10,17,25,.75);color:#fff;font-size:9px}.snap-parameter-panel>button{width:100%;margin-top:7px}.snap-diagnostic{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;margin-top:9px;padding:8px;border-radius:8px;background:rgba(8,15,24,.65);color:#9fb0c3;font-size:8px;line-height:1.35}.snap-diagnostic b,.snap-diagnostic em{grid-column:1/-1}.snap-diagnostic b{color:#76d6ff}.snap-diagnostic em{color:#83efaf;font-style:normal}.continuity-test{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(115,153,204,.18)}.continuity-test>b,.continuity-test>small{grid-column:1/-1}.continuity-test>b{font-size:11px;color:#8ff0bc}.continuity-test small{color:#8fa1b6;font-size:8px;line-height:1.45}.continuity-test label{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;color:#b9c5d4;font-size:9px}.continuity-test input{width:76px;padding:7px;border:1px solid rgba(115,153,204,.25);border-radius:7px;background:rgba(10,17,25,.75);color:#fff}.head-actions #developerBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd)}
body.split-screen[data-split-layout="floating"] .toolbar,body.split-screen[data-split-layout="floating"] .support-panel{max-width:calc(100% - 35px)}
@media(max-width:900px){body.split-screen #viewport,body.split-screen[data-split-layout="dock-left"] #viewport{left:0;right:0;top:0;bottom:50%}body.split-screen[data-split-layout="dock-top"] #viewport{top:50%;bottom:0}body.split-screen[data-split-layout="dock-bottom"] #viewport{top:0;bottom:50%}body.split-screen[data-split-layout="floating"] #viewport{top:0;bottom:0}#splitViewport.dock-right,#splitViewport.dock-left{left:0;right:0;top:50%;bottom:0}#splitViewport.dock-top{left:0;right:0;top:0;bottom:50%}#splitViewport.dock-bottom{left:0;right:0;top:50%;bottom:0}}

/* v85-24 clearer library selection and file menu */
.model-card.active{border-color:#7557ff!important;background:linear-gradient(135deg,rgba(117,87,255,.32),rgba(75,141,255,.22))!important;box-shadow:0 0 0 2px rgba(117,87,255,.22),0 10px 30px rgba(75,89,205,.35)!important;transform:translateY(-1px)}
.model-card.active .thumb{box-shadow:inset 0 0 0 2px rgba(255,255,255,.55),0 0 0 2px rgba(117,87,255,.75),0 6px 18px rgba(85,77,213,.38)}
.model-card.active strong{color:#5b43e6;font-weight:800}
[data-theme="dark"] .model-card.active{border-color:#9b86ff!important;background:linear-gradient(135deg,rgba(116,89,235,.48),rgba(70,127,213,.32))!important;box-shadow:0 0 0 2px rgba(155,134,255,.2),0 12px 32px rgba(0,0,0,.38)!important}
[data-theme="dark"] .model-card.active strong{color:#c9beff}
.head-actions{justify-content:flex-start;margin-left:28px;margin-right:auto}.head-actions #fileBtn{order:-1}.file-panel{position:fixed;z-index:45;top:60px;left:0;right:auto;width:220px;padding:14px;border:1px solid rgba(98,150,224,.28);border-radius:15px;background:rgba(23,31,43,.96);box-shadow:0 18px 55px rgba(20,30,50,.32);backdrop-filter:blur(22px);color:#dce6f3}
.file-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.file-panel-head b{font-size:12px;color:#9bd2ff}.file-panel-head button{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#8fa1b6;font-size:20px}
.file-panel>button:not(.file-panel-head button){display:block;width:100%;margin-top:7px;padding:9px 11px;border:1px solid rgba(115,153,204,.22);border-radius:9px;background:rgba(70,100,145,.14);color:#dce6f3;text-align:left;font-size:10px}
.file-panel>button:not(.file-panel-head button):hover{border-color:rgba(125,179,249,.52);background:rgba(79,119,174,.28)}.file-panel>button.primary{border:0;background:linear-gradient(135deg,#795cff,#4b8dff);color:#fff}
.head-actions #fileBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd)}
.settings-panel{position:fixed;z-index:46;top:60px;left:0;width:205px;padding:12px;border:1px solid rgba(98,150,224,.28);border-radius:15px;background:rgba(23,31,43,.96);box-shadow:0 18px 55px rgba(20,30,50,.32);backdrop-filter:blur(22px);color:#dce6f3;overflow:visible}.settings-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.settings-panel-head b{font-size:12px;color:#9bd2ff}.settings-panel-head button{width:28px;height:28px;padding:0;border:0;background:transparent;color:#8fa1b6;font-size:20px}.settings-menu-row,.settings-main-actions>button,.settings-display-submenu>button{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:7px;padding:9px 11px;border:1px solid rgba(115,153,204,.22);background:rgba(70,100,145,.14);color:#dce6f3;text-align:left;font-size:10px}.settings-menu-row:hover,.settings-main-actions>button:hover,.settings-display-submenu>button:hover{border-color:rgba(125,179,249,.52);background:rgba(79,119,174,.28)}.settings-menu-row b{color:#88baff;font-size:16px;line-height:1}.settings-display-submenu{position:absolute;left:calc(100% + 7px);top:43px;display:none;width:190px;padding:10px;border:1px solid rgba(98,150,224,.28);border-radius:var(--ui-radius);background:rgba(23,31,43,.98);box-shadow:0 16px 42px rgba(15,24,40,.34)}.settings-panel.display-open .settings-display-submenu{display:block}.settings-display-submenu>strong{display:block;margin:1px 3px 7px;color:#9bd2ff;font-size:10px}.settings-display-submenu>button{display:block}.settings-main-actions{display:grid;gap:0}.head-actions #settingsBtn.active{color:#fff;background:linear-gradient(135deg,#20aa72,#3688dd)}
@media(max-width:720px){.head-actions{margin-left:8px;overflow-x:auto}.file-panel{top:52px;width:205px}}
.support-rotate{display:flex;gap:5px}.support-rotate button{min-width:50px;color:#caff55!important;border-color:rgba(173,227,76,.28)!important}
.support-panel{position:absolute;z-index:19;top:82px;left:20px;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:10px;min-width:390px;padding:11px 12px;border:1px solid rgba(159,220,62,.3);border-radius:14px;background:rgba(25,33,42,.92);box-shadow:0 16px 42px rgba(0,0,0,.28);backdrop-filter:blur(20px)}.support-panel b,.support-panel small{display:block}.support-panel b{color:#caff55;font-size:12px}.support-panel small{margin-top:3px;color:#aeb9c8;font-size:9px}.support-size{padding:7px 10px;border:1px solid var(--line);border-radius:9px;color:#dce6f3;font-size:9px;white-space:nowrap}.support-panel button{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:transparent;color:#dce6f3;font-size:10px}.support-panel button.primary{border-color:transparent;background:linear-gradient(135deg,#8fbe28,#52a84b);color:#fff}.support-panel button:disabled{opacity:.35;cursor:default}#supportBtn.active{color:#17220d!important;background:linear-gradient(135deg,#caff55,#70db66)!important;box-shadow:0 0 22px rgba(161,233,71,.3)!important}.support-mode .toolbar button:disabled,.support-mode .head-actions button:disabled,.support-mode .snap-filters button:disabled,.support-mode .color-tool:has(input:disabled){opacity:.28;pointer-events:none}.support-mode #viewport canvas{cursor:crosshair}@media(max-width:760px){.support-panel{top:58px;left:10px;right:10px;grid-template-columns:1fr auto;min-width:0}.support-size{grid-column:1/-1;grid-row:2}.support-panel #supportCancelBtn{grid-column:2}}

.auto-closure-test{display:grid;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(115,153,204,.18)}.auto-closure-test b{font-size:11px;color:#ffba72}.auto-closure-test button{padding:9px;border:1px solid rgba(255,170,82,.35);border-radius:8px;background:rgba(255,145,49,.14);color:#ffd7ad;font-size:9px}.auto-closure-test button:hover{background:rgba(255,145,49,.24)}.auto-closure-test small{color:#8fa1b6;font-size:8px;line-height:1.45}

.auto-closure-test label{display:flex;align-items:center;justify-content:space-between;color:#b9c5d4;font-size:9px}.auto-closure-test input{width:76px;padding:7px;border:1px solid rgba(255,170,82,.3);border-radius:7px;background:rgba(10,17,25,.75);color:#fff}.auto-closure-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.auto-closure-results{display:grid;gap:5px;max-height:150px;overflow:auto;padding:8px;border-radius:8px;background:rgba(8,15,24,.66);color:#9fb0c3;font-size:8px;line-height:1.4}.auto-closure-results b{color:#ffca8e}.auto-closure-results em{color:#ff7e75;font-style:normal}.auto-closure-results strong{color:#7cf0b1}.auto-closure-results span{display:block}
.auto-closure-force{width:100%;border-color:rgba(255,92,92,.58)!important;background:linear-gradient(135deg,rgba(112,25,31,.95),rgba(66,18,28,.95))!important;color:#ffd7d7!important}
.auto-closure-stop{width:100%;border-color:rgba(255,196,73,.42)!important;background:rgba(92,65,17,.55)!important;color:#ffe1a0!important}.auto-closure-stop:disabled{opacity:.42;cursor:not-allowed}.auto-closure-test button.active{border-color:#ffb34f;background:rgba(255,150,49,.34);box-shadow:0 0 0 1px rgba(255,178,77,.22) inset}
.closure-solution-picker{display:grid;grid-template-columns:34px 1fr 34px;gap:7px;align-items:center}.closure-solution-picker span{text-align:center;color:#ffd09d;font-size:9px}.closure-solution-picker.hidden{display:none}.manual-stretch-test{display:grid;gap:7px;padding:9px;border:1px solid rgba(89,180,255,.25);border-radius:9px;background:rgba(10,20,31,.58)}.manual-stretch-test>b{color:#91d5ff}.manual-stretch-test select{width:112px;padding:7px;border:1px solid rgba(89,180,255,.3);border-radius:7px;background:rgba(10,17,25,.9);color:#fff}.manual-stretch-check{justify-content:flex-start!important;gap:7px}.manual-stretch-check input{width:auto!important}
.measure-results{display:grid;gap:4px;margin-top:9px;padding:8px;border:1px solid rgba(66,217,255,.22);border-radius:8px;background:rgba(8,19,29,.72);color:#8fa1b6;font-size:8px}.measure-results b{color:#69ddff;font-size:9px}.measure-results span{line-height:1.4}
.row-group-test{display:grid;gap:7px;margin-top:12px;padding:10px;border:1px solid rgba(147,110,255,.26);border-radius:9px;background:rgba(28,19,52,.48)}.row-group-test>b{color:#c4a9ff;font-size:11px}.row-group-test button{padding:9px;border:1px solid rgba(163,124,255,.34);border-radius:8px;background:rgba(109,73,190,.18);color:#e2d8ff;font-size:9px}.row-group-test button.active{background:rgba(132,86,238,.42);border-color:#b38cff}.row-group-test #rowGroupResults{display:grid;gap:3px;max-height:100px;overflow:auto;padding:7px;border-radius:7px;background:rgba(8,12,24,.6);color:#aebbd0;font-size:8px}.row-group-test #rowGroupResults b{color:#d7c8ff}
.local-closure-panel{position:absolute;right:24px;top:88px;width:320px;z-index:230;background:rgba(20,27,38,.97);border:1px solid #41536b;border-radius:12px;padding:14px;box-shadow:0 16px 42px rgba(0,0,0,.42);display:flex;flex-direction:column;gap:10px;color:#e9f2ff}.local-closure-panel.hidden{display:none}.local-closure-head{display:flex;align-items:center;justify-content:space-between}.local-closure-head button{min-width:32px}.local-closure-panel small{color:#9fb3c9;line-height:1.45}.local-closure-panel .auto-closure-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.local-closure-panel .auto-closure-results{max-height:220px;overflow:auto}.local-closure-panel .auto-closure-results>*{display:block;margin-top:6px}

[id="focusSceneBtn"]{position:absolute;z-index:11;right:18px;bottom:62px;width:38px;height:38px;padding:0;border:1px solid rgba(255,76,70,.82);border-radius:8px;background:rgba(30,38,50,.9);color:#ff5148;font-size:25px;line-height:1;box-shadow:0 7px 18px rgba(0,0,0,.22)}[id="focusSceneBtn"]:hover{background:rgba(55,43,50,.96);color:#ff8278;transform:translateY(-1px)}
.standalone-top-tools{right:62px;bottom:62px}.standalone-top-tools.hidden{display:none}

/* v85-26: restrained light palette and one shared button accent. */
:root{--accent:#496fd1;--accent-strong:#385dbb;--accent-soft:rgba(73,111,209,.13);--accent-shadow:rgba(53,83,164,.28)}
html,body,#loading,#error{background:#dfe5ee}
[data-theme="light"] header{background:rgba(235,240,247,.88)}
[data-theme="light"] #sidebar{background:rgba(232,237,245,.88)}
[data-theme="light"] .head-actions button,[data-theme="light"] .side-title button,[data-theme="light"] .color-tool{background:rgba(244,247,251,.82)}
[data-theme="light"] #search,[data-theme="light"] .shortcut-panel input,[data-theme="light"] .export-name-field>div{background:rgba(244,247,251,.82)}
[data-theme="light"] .model-card{background:rgba(242,246,250,.7)}
[data-theme="light"] .model-card:hover{background:#f4f7fb}
[data-theme="light"] .library-arrow{background:linear-gradient(180deg,rgba(232,237,245,.98),rgba(232,237,245,.58))}
[data-theme="light"] .library-arrow.down{background:linear-gradient(0deg,rgba(232,237,245,.98),rgba(232,237,245,.58))}
.logo,.head-actions .primary,.side-title button,.toolbar button.active,.space-btn.active,.space-switch button.active,#clipBtn.active,.snap-filters button:hover,#connectorBtn.active,#groundBtn.active,#boundsBtn.active,#interactionBtn.active,.bom-filters button.active,.shortcut-panel>button,.export-name-actions button.primary,.render-profile button.active,.resume-actions button.primary,#topViewBtn.active,#splitViewBtn.active,.developer-grid button.active,#developerBtn.active,.head-actions #developerBtn.active,.file-panel>button.primary,.head-actions #fileBtn.active,.head-actions #settingsBtn.active,.support-panel button.primary,#supportBtn.active,#supportRodBtn.active,.support-rod-panel button{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,var(--accent),var(--accent-strong))!important;box-shadow:0 5px 14px var(--accent-shadow)!important}
.model-card.active{border-color:var(--accent)!important;background:linear-gradient(135deg,rgba(73,111,209,.30),rgba(56,93,187,.20))!important;box-shadow:0 0 0 2px rgba(73,111,209,.18),0 10px 28px rgba(46,70,135,.26)!important}
[data-theme="dark"] .model-card.active{border-color:#7193e7!important;background:linear-gradient(135deg,rgba(73,111,209,.45),rgba(56,93,187,.3))!important;box-shadow:0 0 0 2px rgba(113,147,231,.18),0 12px 32px rgba(0,0,0,.38)!important}
.model-card.active strong,.tip b,.library-arrow{color:var(--accent)}
#library{scrollbar-color:rgba(73,111,209,.7) transparent}#library::-webkit-scrollbar-thumb{background:rgba(73,111,209,.7)}
.input-guide{border-color:rgba(73,111,209,.24);background:linear-gradient(145deg,rgba(73,111,209,.11),rgba(56,93,187,.06))}.guide-keys kbd{border-color:rgba(73,111,209,.44);background:linear-gradient(145deg,rgba(73,111,209,.22),rgba(56,93,187,.14))}.mouse-wheel{fill:rgba(73,111,209,.28);stroke:var(--accent)}.mouse-motion,.mouse-arrow{stroke:var(--accent)}
button.active:not(.danger):not(.auto-closure-force):not(.auto-closure-stop),button.primary{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,var(--accent),var(--accent-strong))!important;box-shadow:0 5px 14px var(--accent-shadow)!important}

/* v85-27: tighter corners, fixed recognizable track icons and a reserved middle-button radial menu. */
:root{--ui-radius:7px}
button,input,select,.head-actions button,.side-title button,.color-tool,#search,.model-card,.thumb,.tip,#collapseBtn,.toolbar,.toolbar button,.scene-info,#status,.axis-note,.space-switch,.space-switch button,.snap-filters button,.modal-card,.shortcut-panel,.developer-panel,.file-panel,.settings-panel,.local-closure-panel,.support-panel,.support-rod-panel,.input-guide,.guide-keys kbd,.library-filter #hiddenTracksBtn,.export-name-field>div,.export-name-actions button,.bom-filters button,.developer-grid button,.file-panel>button{border-radius:var(--ui-radius)!important}
#collapseBtn{border-radius:0 var(--ui-radius) var(--ui-radius) 0!important}.logo{border-radius:8px}.modal-card{border-radius:10px!important}
.model-card{padding:8px;gap:9px}.thumb{position:relative;flex:0 0 72px;width:72px;height:58px;overflow:hidden;background:linear-gradient(145deg,rgba(90,109,150,.20),rgba(30,39,57,.48));box-shadow:inset 0 0 0 1px rgba(144,164,207,.16)}
.track-icon{display:block;width:100%;height:100%;padding:5px;overflow:visible;fill:var(--track-icon-color);stroke:rgba(236,242,255,.78);stroke-width:1.15;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 3px 4px rgba(0,0,0,.24))}.track-icon .lane{fill:none;stroke:rgba(255,255,255,.76);stroke-width:1.4}.track-icon .detail{fill:none;stroke:rgba(255,255,255,.48);stroke-width:1}
[data-theme="light"] .thumb{background:linear-gradient(145deg,rgba(130,148,183,.20),rgba(101,120,157,.14));box-shadow:inset 0 0 0 1px rgba(62,80,118,.14)}[data-theme="light"] .track-icon{stroke:rgba(32,45,67,.72);filter:drop-shadow(0 2px 3px rgba(53,70,102,.18))}[data-theme="light"] .track-icon .lane{stroke:rgba(255,255,255,.88)}
.middle-radial-menu{position:fixed;z-index:300;width:208px;height:208px;transform:translate(-50%,-50%) scale(.86);opacity:0;pointer-events:none;transition:opacity .13s ease,transform .16s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 18px 30px rgba(15,25,45,.28))}.middle-radial-menu:not(.hidden){display:block!important}.middle-radial-menu.visible{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.radial-core{position:absolute;left:50%;top:50%;width:68px;height:68px;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;border:1px solid rgba(105,134,202,.28);border-radius:50%;background:var(--glass);color:var(--ink);backdrop-filter:blur(18px);box-shadow:inset 0 0 0 5px rgba(73,111,209,.08)}.radial-core span,.radial-core small{display:block}.radial-core span{font-size:11px;font-weight:700}.radial-core small{margin-top:2px;color:var(--muted);font-size:7px}.radial-slot{position:absolute;left:50%;top:50%;width:64px;height:52px;margin:-26px 0 0 -32px;border:1px solid var(--line);border-radius:10px!important;background:var(--glass);color:var(--ink);backdrop-filter:blur(16px);box-shadow:0 7px 18px rgba(26,40,70,.12);transition:.12s}.radial-slot:hover{border-color:rgba(73,111,209,.62);background:linear-gradient(135deg,rgba(73,111,209,.94),rgba(56,93,187,.94));color:#fff;transform:var(--slot-transform) scale(1.06)}.radial-slot span,.radial-slot small{display:block}.radial-slot span{font-size:11px;font-weight:700}.radial-slot small{margin-top:2px;font-size:7px;opacity:.65}.radial-slot-1{--slot-transform:translate(0,-78px);transform:var(--slot-transform)}.radial-slot-2{--slot-transform:translate(68px,-39px);transform:var(--slot-transform)}.radial-slot-3{--slot-transform:translate(68px,39px);transform:var(--slot-transform)}.radial-slot-4{--slot-transform:translate(0,78px);transform:var(--slot-transform)}.radial-slot-5{--slot-transform:translate(-68px,39px);transform:var(--slot-transform)}.radial-slot-6{--slot-transform:translate(-68px,-39px);transform:var(--slot-transform)}
[data-theme="dark"] .radial-core,[data-theme="dark"] .radial-slot{background:rgba(28,34,45,.94)}
.mouse-label.middle::after{content:"单击轮盘\A拖拽平移";white-space:pre;display:block}.mouse-label.middle{font-size:0}.mouse-label.middle::after{font-size:7px}.mouse-label.right::after{content:"右键禁用\A避免手势冲突";white-space:pre;display:block}.mouse-label.right{font-size:0}.mouse-label.right::after{font-size:7px}

/* v85-28 visual refinements. */
.radial-slot{border-radius:8px!important}
[data-theme="light"] #viewport{background:#dfe5ee}[data-theme="light"] #viewport canvas{filter:saturate(.96) contrast(1.015)}
.thumb{flex-basis:82px;width:82px;height:64px;padding:0;background:linear-gradient(150deg,rgba(63,78,107,.36),rgba(22,29,43,.72));box-shadow:inset 0 0 0 1px rgba(141,162,207,.2),0 5px 13px rgba(11,17,29,.15)}
.track-icon{padding:4px;fill:none;stroke:none;filter:drop-shadow(0 3px 5px rgba(0,0,0,.32))}.track-icon .rail{fill:var(--track-icon-color);stroke:rgba(245,248,255,.86);stroke-width:1.1}.track-icon .groove{fill:none;stroke:rgba(255,255,255,.88);stroke-width:1.25}.track-icon .end{fill:none;stroke:rgba(255,255,255,.96);stroke-width:1.6}.track-icon .detail{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.1}.track-icon .bridge{fill:rgba(18,25,38,.38);stroke-dasharray:2 2}.track-icon .loop{fill:none;stroke:var(--track-icon-color);stroke-width:12}
[data-theme="light"] .thumb{background:linear-gradient(150deg,rgba(89,106,139,.28),rgba(53,68,97,.38));box-shadow:inset 0 0 0 1px rgba(44,59,89,.18),0 5px 12px rgba(62,80,112,.12)}[data-theme="light"] .track-icon .rail{stroke:rgba(30,42,61,.74)}[data-theme="light"] .track-icon .groove,[data-theme="light"] .track-icon .end{stroke:rgba(248,250,255,.94)}
.camera-utility-dock{position:absolute;z-index:12;right:18px;bottom:58px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.camera-utility-dock #focusSceneBtn{position:static!important;width:42px;height:42px;padding:8px;border:1px solid rgba(73,111,209,.55);border-radius:8px!important;background:rgba(27,35,48,.92);color:#73a0ff;box-shadow:0 8px 20px rgba(23,34,58,.2)}.camera-utility-dock #focusSceneBtn:hover{background:rgba(39,51,70,.96);color:#9abaff;transform:translateY(-1px)}.camera-utility-dock #focusSceneBtn svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.camera-zoom-control{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--glass);backdrop-filter:blur(16px);box-shadow:0 7px 20px rgba(30,44,73,.13)}.camera-zoom-control button{width:27px;height:27px;padding:0;border:0;border-radius:5px!important;background:rgba(73,111,209,.1);color:var(--accent);font-size:16px;line-height:1}.camera-zoom-control button:hover{background:var(--accent);color:#fff}.camera-zoom-control input{width:112px;height:3px;padding:0;appearance:none;border:0;background:rgba(98,116,151,.28);accent-color:var(--accent)}.camera-zoom-control input::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 1px 4px rgba(35,52,91,.35)}
.axis-note{bottom:16px}.standalone-top-tools{right:18px;bottom:148px}
.head-actions #clipBtn{display:none!important}
@media(max-width:720px){.camera-utility-dock{right:10px;bottom:50px}.camera-zoom-control input{width:76px}}

/* v85-29 */
.rendered-thumb{display:grid;place-items:center;background:linear-gradient(150deg,rgba(68,84,115,.22),rgba(25,33,48,.52))}.track-render-canvas,.track-render-image{display:block;width:100%;height:100%;object-fit:contain}
[data-theme="light"] .rendered-thumb{background:linear-gradient(150deg,rgba(119,135,165,.15),rgba(84,101,132,.2))}
.camera-utility-dock{left:18px;right:auto;bottom:16px;flex-direction:row;align-items:center;gap:5px}.camera-utility-dock #focusSceneBtn{order:2;width:30px;height:30px;padding:6px;border-radius:6px!important}.camera-zoom-control{order:1;height:30px;padding:3px 4px;gap:4px;border-radius:7px}.camera-zoom-control button{width:22px;height:22px;border-radius:4px!important;font-size:14px}.camera-zoom-control input{width:94px}.axis-note{left:18px;right:auto;bottom:54px}.standalone-top-tools{right:18px;bottom:62px}
@media(max-width:720px){.camera-utility-dock{left:10px;right:auto;bottom:10px}.camera-zoom-control input{width:66px}.axis-note{left:10px;bottom:47px}}

/* v85-31: view-owned split camera tools. */
.split-top-tools.hidden,.split-perspective-tools.hidden{display:none!important}
body.split-screen #viewport>.split-top-tools,body.split-screen #viewport>.split-perspective-tools{right:14px;bottom:14px}
#splitViewport>.split-top-tools,#splitViewport>.split-perspective-tools{right:14px;bottom:14px}

/* v85-35: compact operation-axis controls and consolidated support entry. */
.shortcut-hint{display:none!important}
.library-filter{grid-template-columns:minmax(0,1fr)}
.space-switch{
  display:none;
  top:auto!important;
  left:18px!important;
  bottom:82px;
  flex-direction:row;
  gap:3px;
  padding:4px
}
body.operation-axis-mode:not(.support-mode):not(.support-rod-mode) .space-switch{display:flex}
.space-switch button{min-width:44px;padding:6px 9px;font-size:9px}
.support-chooser{
  position:fixed;
  z-index:47;
  width:178px;
  padding:10px;
  border:1px solid rgba(98,150,224,.28);
  border-radius:var(--ui-radius);
  background:rgba(23,31,43,.97);
  box-shadow:0 16px 42px rgba(15,24,40,.34);
  backdrop-filter:blur(20px);
  color:#dce6f3
}
.support-chooser strong{display:block;margin:2px 3px 8px;color:#9bd2ff;font-size:10px}
.support-chooser button{
  display:block;
  width:100%;
  margin-top:6px;
  padding:9px 10px;
  border:1px solid rgba(115,153,204,.24);
  border-radius:var(--ui-radius);
  background:rgba(70,100,145,.16);
  color:#dce6f3;
  text-align:left;
  font-size:10px
}
.support-chooser button:hover{border-color:rgba(125,179,249,.56);background:rgba(79,119,174,.3)}
#supportBtn.menu-open{
  color:#fff!important;
  border-color:transparent!important;
  background:linear-gradient(135deg,var(--accent),var(--accent-strong))!important
}
[data-theme="light"] .support-chooser{background:rgba(235,240,247,.97);color:#27354a}
[data-theme="light"] .support-chooser strong{color:#385f9f}
[data-theme="light"] .support-chooser button{background:rgba(91,119,169,.1);color:#27354a}
.closure-repair-popup{position:fixed;z-index:240;top:104px;left:50%;transform:translateX(-50%);width:min(360px,calc(100vw - 24px));padding:13px;border:1px solid rgba(98,150,224,.34);border-radius:var(--ui-radius);background:rgba(20,28,40,.97);box-shadow:0 18px 55px rgba(10,18,31,.38);backdrop-filter:blur(22px);color:#dce6f3}.closure-repair-popup-head{display:flex;align-items:center;justify-content:space-between}.closure-repair-popup-head b{font-size:12px;color:#9bd2ff}.closure-repair-popup-head button{width:28px;height:28px;padding:0;border:0;background:transparent;color:#91a4ba;font-size:20px}.closure-repair-popup-message{margin:11px 0;padding:11px;border:1px solid rgba(115,153,204,.22);border-radius:var(--ui-radius);background:rgba(52,75,108,.16);color:#cad7e7;font-size:10px;line-height:1.5}.closure-repair-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.closure-repair-popup-actions button{padding:9px 11px;border:1px solid rgba(115,153,204,.28);border-radius:var(--ui-radius);background:rgba(70,100,145,.18);color:#dce6f3;font-size:10px}.closure-repair-popup-actions button:hover:not(:disabled){border-color:rgba(125,179,249,.58);background:rgba(79,119,174,.32)}.closure-repair-popup-actions button:disabled{opacity:.4;cursor:default}.closure-repair-popup-actions #closureRepairPopupDoneV88{grid-column:1/-1;color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 5px 14px var(--accent-shadow)}[data-theme="light"] .closure-repair-popup{background:rgba(238,243,250,.98);color:#27354a;box-shadow:0 18px 55px rgba(48,66,96,.22)}[data-theme="light"] .closure-repair-popup-head b{color:#385f9f}[data-theme="light"] .closure-repair-popup-message{background:rgba(91,119,169,.09);color:#34465d}[data-theme="light"] .closure-repair-popup-actions button{background:rgba(91,119,169,.1);color:#27354a}
.closure-repair-popup-head>div{display:flex;flex-direction:column;gap:3px}.closure-repair-popup-head small{color:#91a4ba;font-size:9px;line-height:1.35}[data-theme="light"] .closure-repair-popup-head small{color:#687b95}
.edit-panel{position:fixed;z-index:47;width:205px;padding:12px;border:1px solid rgba(98,150,224,.28);border-radius:var(--ui-radius);background:rgba(23,31,43,.97);box-shadow:0 18px 55px rgba(20,30,50,.32);backdrop-filter:blur(22px);color:#dce6f3}
.edit-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.edit-panel-head b{font-size:12px;color:#9bd2ff}.edit-panel-head button{width:28px;height:28px;padding:0;border:0;background:transparent;color:#8fa1b6;font-size:20px}
.edit-panel-actions{display:grid;gap:7px}.edit-panel-actions>button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:9px 11px;border:1px solid rgba(115,153,204,.22);border-radius:var(--ui-radius);background:rgba(70,100,145,.14);color:#dce6f3;text-align:left;font-size:10px}.edit-panel-actions>button:hover{border-color:rgba(125,179,249,.52);background:rgba(79,119,174,.28)}.edit-panel-actions>button:disabled{opacity:.42;cursor:default}.edit-panel-actions kbd{border:0;background:transparent;color:#8fa1b6;font-size:9px;box-shadow:none}
.head-actions #editBtn.active{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,var(--accent),var(--accent-strong))!important;box-shadow:0 5px 14px var(--accent-shadow)!important}
.toolbar .toolbar-color-tool{height:auto;min-width:67px;padding:5px 8px;border:0;background:transparent;color:#68758b;box-shadow:none}.toolbar .toolbar-color-tool:hover{background:rgba(111,96,231,.08)}.toolbar .toolbar-color-tool input{width:24px;height:23px}
[data-theme="dark"] .toolbar .toolbar-color-tool{background:transparent;color:#aeb8c8}[data-theme="dark"] .toolbar .toolbar-color-tool:hover{background:rgba(111,96,231,.12)}
.split-window-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:8px;justify-content:stretch!important}.split-window-hint{justify-self:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.split-window-title{justify-self:center;white-space:nowrap}.split-window-actions{justify-self:end;display:flex!important;align-items:center;gap:7px}.split-window-header .split-close-btn{font-size:18px}
[data-theme="light"] .edit-panel{background:rgba(235,240,247,.98);color:#27354a}[data-theme="light"] .edit-panel-head b{color:#385f9f}[data-theme="light"] .edit-panel-actions>button{background:rgba(91,119,169,.1);color:#27354a}[data-theme="light"] .edit-panel-actions kbd{color:#65758d}
@container (max-width:330px){.split-window-hint{display:none}.split-window-header{grid-template-columns:1fr auto!important}.split-window-title{justify-self:start}}
#splitViewport{container-type:inline-size}
@media(max-width:720px){.head-actions button:nth-child(2){display:inline-flex!important}.head-actions #settingsBtn{display:inline-flex!important;flex:0 0 auto;position:sticky;left:0;z-index:2}}
@media(max-width:720px){
  .space-switch{left:10px!important;bottom:75px}
  .edit-panel{top:52px;width:195px}
}
/* v5 startup progress */
.loading-card{width:min(360px,calc(100vw - 36px));padding:24px;border:1px solid rgba(90,112,149,.15);border-radius:8px;background:rgba(255,255,255,.78);box-shadow:0 20px 60px rgba(32,48,80,.14);text-align:left}.loading-brand{margin-bottom:12px;color:#6175a2;font-size:9px;font-weight:800;letter-spacing:2px}.loading-card strong,.loading-card>span,.loading-card>small{display:block}.loading-card strong{color:#26344e;font-size:15px}.loading-card>span{margin-top:7px;color:#6f7e96;font-size:11px}.loading-card>small{margin-top:9px;overflow:hidden;color:#8a97aa;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.loading-progress{height:6px;margin-top:17px;overflow:hidden;border-radius:3px;background:#d8e0ed}.loading-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4c8dff,#53c8dc);transition:width .25s ease}.loading-metrics{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:8px}.loading-metrics b{color:#426dbd;font-size:11px}.loading-metrics span{color:#8592a5;font-size:8px}.loading-metrics span:last-child{text-align:right}[data-theme="dark"] .loading-card{border-color:rgba(207,220,244,.12);background:rgba(27,33,44,.9);box-shadow:0 20px 60px rgba(0,0,0,.35)}[data-theme="dark"] .loading-card strong{color:#e5ebf5}[data-theme="dark"] .loading-progress{background:#30394a}
#stepPrepareModal .step-prepare-card{width:min(420px,calc(100vw - 28px));gap:12px}.step-prepare-progress{height:9px;overflow:hidden;border:1px solid rgba(132,153,182,.35);border-radius:5px;background:rgba(16,22,31,.72)}.step-prepare-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#4a6fd1,#3aa3cc);transition:width .18s ease}.step-prepare-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px}.step-prepare-metrics b{font-size:20px}.step-prepare-metrics span,#stepPrepareResource{color:#91a1b7}.step-prepare-actions{display:flex;justify-content:flex-end;gap:8px}.step-prepare-error{padding:8px;border:1px solid rgba(221,92,92,.42);border-radius:6px;background:rgba(116,31,31,.18);color:#ffb4b4;font-size:12px;line-height:1.45}

/* v89 desktop track/module library */
.library-filter{grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:19px}
.library-category-tabs{display:grid;grid-template-columns:1fr 1fr;min-width:0;padding:3px;border:1px solid rgba(108,122,155,.2);border-radius:var(--ui-radius);background:rgba(96,109,139,.1)}
.library-category-tabs button{height:32px;border:0;border-radius:calc(var(--ui-radius) - 2px)!important;background:transparent;color:var(--muted);font-size:10px;font-weight:700;transition:.16s}
.library-category-tabs button:hover{color:var(--ink);background:rgba(111,96,231,.08)}
.library-category-tabs button.active{color:#fff;background:linear-gradient(135deg,var(--accent),#4389d8);box-shadow:0 4px 12px rgba(54,79,166,.22)}
.module-card .module-thumb{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(29,38,56,.96),rgba(48,62,87,.92));box-shadow:inset 0 0 0 1px rgba(130,155,204,.2)}
.module-icon{width:62px;height:52px;overflow:visible;fill:none;stroke:#dfe7f5;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 1px rgba(0,0,0,.8))}
.module-icon path:nth-child(2){stroke:#f45b67}.module-icon path:nth-child(3){stroke:#f2b544}.module-icon path:nth-child(4){stroke:#55a3f1}.module-icon path:nth-child(5){stroke:#58d19d}.module-icon .module-detail{stroke:#72829f;stroke-width:2.2}
.module-card:hover .module-icon{filter:drop-shadow(0 2px 1px rgba(0,0,0,.8)) drop-shadow(0 0 5px rgba(104,137,255,.45))}
.module-card.active{border-color:rgba(83,153,234,.66);background:linear-gradient(135deg,rgba(59,126,220,.2),rgba(70,194,164,.1));box-shadow:0 8px 24px rgba(43,99,181,.16)}
.module-loading{display:grid;justify-items:center;gap:6px;padding:34px 12px;color:var(--muted);text-align:center}
.module-loading span{width:22px;height:22px;border:2px solid rgba(111,125,155,.24);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
.module-loading b{font-size:11px;color:var(--ink)}.module-loading small{font-size:8px}.module-loading.error b{color:var(--danger)}
[data-theme="light"] .module-card .module-thumb{background:linear-gradient(145deg,#53637c,#2f3c50)}
.library-head-actions{display:flex;gap:5px;align-items:center}.library-head-actions button{padding:7px 8px!important;font-size:9px!important;white-space:nowrap}.library-head-actions #manageLibraryBtn{color:var(--muted);background:rgba(96,109,139,.12);border:1px solid rgba(108,122,155,.22)}.library-head-actions #manageLibraryBtn.active{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,var(--accent),var(--accent-strong))!important}[data-theme="light"] .library-head-actions button{background:rgba(244,247,251,.82)}

/* v88-3 desktop viewport guide */
.input-guide{min-height:0;padding:13px 12px}.guide-v883{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(102px,.88fr);gap:10px;align-items:center;margin-top:12px}.guide-mouse-v883{min-width:0}.guide-mouse-copy-v883{display:grid;grid-template-columns:1fr 1fr;gap:6px;color:var(--muted);font-size:8px;line-height:1.5}.guide-mouse-copy-v883 span:last-child{text-align:right}.guide-mouse-v883 svg{display:block;width:88px;height:112px;margin:4px auto 0}.mouse-body-v883{fill:rgba(73,84,108,.18);stroke:url(#mouseGlowV883);stroke-width:2}.mouse-split-v883{fill:none;stroke:rgba(143,154,181,.38);stroke-width:1}.mouse-wheel-v883{fill:rgba(73,111,209,.28);stroke:var(--accent);stroke-width:1}.mouse-led-v883{fill:#49e0b1}.guide-actions-v883{display:grid;gap:8px}.guide-actions-v883>div{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:7px}.guide-actions-v883 kbd{display:grid;place-items:center;height:29px;padding:0 7px;border:1px solid rgba(73,111,209,.5);border-radius:var(--ui-radius);background:rgba(73,111,209,.12);color:var(--ink);font-family:inherit;font-size:9px;box-shadow:none}.guide-actions-v883 span{color:var(--muted);font-size:8px;line-height:1.3}.guide-actions-v883 .guide-qe-v883{display:flex;align-items:center;justify-content:space-between;gap:7px}.guide-qe-v883>span{display:flex;align-items:center;gap:4px}.guide-qe-v883 kbd{width:27px;padding:0}.guide-qe-v883 i{color:var(--accent);font-size:15px;font-style:normal}.guide-qe-v883 em{color:var(--muted);font-size:8px;font-style:normal;white-space:nowrap}[data-theme="dark"] .guide-actions-v883 kbd{background:rgba(73,111,209,.18);color:#e4ebf7}
.guide-mouse-v883{position:relative}.guide-mouse-v883 .guide-mouse-art-v883{position:relative;z-index:1;margin-left:calc(50% - 22px);margin-right:0}.guide-mouse-v883 .guide-callouts-v883{position:absolute;z-index:2;left:0;top:20px;width:100%;height:88px;margin:0;overflow:visible;pointer-events:none}.guide-callouts-v883 path{fill:none;stroke:#62d58c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
@media(max-height:680px){.input-guide{min-height:0}.guide-v883{margin-top:7px}.guide-mouse-v883 svg{width:66px;height:82px}.guide-actions-v883{gap:5px}.guide-actions-v883 kbd{height:25px}.guide-mouse-copy-v883{font-size:7px}.guide-mouse-v883 .guide-mouse-art-v883{width:66px;height:82px;margin-left:calc(50% - 14px)}.guide-mouse-v883 .guide-callouts-v883{top:17px;height:66px}.guide-callouts-v883 path{stroke-width:1.5}}
.sp-snap-panel{position:fixed;z-index:48;top:126px;right:22px;width:270px;padding:12px;border:1px solid rgba(73,111,209,.42);border-radius:var(--ui-radius);background:rgba(24,31,43,.96);box-shadow:0 18px 50px rgba(16,25,42,.34);color:#dce6f3;backdrop-filter:blur(20px)}.sp-snap-head{display:flex;align-items:center;justify-content:space-between}.sp-snap-head b{font-size:12px;color:#9bd2ff}.sp-snap-head button{width:27px;height:27px;padding:0;border:0;background:transparent;color:#91a2b7;font-size:20px}.sp-snap-info{min-height:44px;margin:8px 0;padding:9px;border:1px solid rgba(115,153,204,.2);border-radius:var(--ui-radius);background:rgba(70,100,145,.13);font-size:9px;line-height:1.55;color:#aebbcf}.sp-snap-switch{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.sp-snap-switch button,.sp-snap-panel>.primary{padding:8px;border:1px solid rgba(115,153,204,.22);border-radius:var(--ui-radius);background:rgba(70,100,145,.14);color:#dce6f3;font-size:9px}.sp-snap-switch b{min-width:48px;text-align:center;font-size:10px}.sp-snap-panel>.primary{width:100%;margin-top:8px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));border-color:transparent;color:#fff}
