:root{--bg: #e9edf4;--panel: #f4f6fa;--panel-2: #ffffff;--surface-soft: #f8faff;--surface-blue: #eef4ff;--line: #d8e0eb;--line-strong: #c5d0df;--text: #263247;--muted: #718096;--accent: #2f6fed;--accent-dark: #275dcc;--shadow-soft: 0 5px 16px rgba(33, 46, 70, .06);--shadow-raised: 0 10px 28px rgba(33, 46, 70, .12);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--toolbar-w: max-content}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.4 -apple-system,Segoe UI,Roboto,Noto Sans KR,sans-serif}.app{display:flex;flex-direction:column;height:100%}.app.is-processing,.app.is-processing *{cursor:progress!important}.topbar{position:relative;display:flex;align-items:center;gap:12px;padding:11px clamp(14px,3vw,56px);background:var(--panel);border-bottom:1px solid var(--line)}.topbar strong{font-size:16px;color:var(--accent)}.topbar .sub{color:var(--muted)}.topbar .filename{position:absolute;left:50%;transform:translate(-50%);color:var(--muted);pointer-events:none;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-controls{display:flex;align-items:center;gap:7px;margin-left:auto}.account-name{max-width:140px;overflow:hidden;color:var(--text);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.logout-btn{min-height:28px;padding:4px 9px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--muted);font:inherit}.logout-btn:hover{border-color:var(--accent);color:var(--accent-dark)}.auth-screen{display:grid;min-height:100%;padding:24px;place-items:center;background:radial-gradient(circle at 25% 20%,rgba(47,111,237,.12),transparent 34%),var(--bg)}.auth-card{width:min(400px,100%);padding:34px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-2);box-shadow:var(--shadow-raised)}.auth-brand{margin-bottom:24px;color:var(--accent);font-size:18px;font-weight:750}.auth-card h1{margin:0 0 8px;color:var(--text);font-size:23px}.auth-card>p{margin:0 0 25px;color:var(--muted)}.auth-card form,.auth-card label{display:grid;gap:7px}.auth-card form{gap:16px}.auth-card label>span{color:var(--text);font-size:12px;font-weight:650}.auth-card input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text);font:inherit}.auth-card input:focus{border-color:var(--accent);outline:2px solid rgba(47,111,237,.17)}.auth-card button{height:42px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font:inherit;font-weight:700}.auth-card button:hover:not(:disabled){background:var(--accent-dark)}.auth-card button:disabled{opacity:.6}.auth-error{padding:10px 12px;border:1px solid #f0b8bd;border-radius:var(--radius-sm);background:#fff2f3;color:#b4232d;font-size:12px}.auth-loading{color:var(--muted);text-align:center}.project-tabs{display:flex;align-items:stretch;min-height:34px;padding:4px 10px 0;background:#e8edf5;border-bottom:1px solid var(--line-strong)}.project-tabs-scroll{display:flex;align-items:stretch;gap:3px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}.project-tab{display:flex;align-items:center;flex:none;min-width:112px;max-width:230px;height:30px;background:#ffffff8c;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;color:var(--muted)}.project-tab:hover{background:#fffc}.project-tab.active{position:relative;z-index:1;background:var(--panel-2);border-color:var(--line-strong);color:var(--text);box-shadow:inset 0 2px 0 var(--accent)}.project-tab-main,.project-tab-close,.project-tab-new{border:0;background:transparent;color:inherit;border-radius:4px}.project-tab-main{display:flex;align-items:center;gap:7px;min-width:0;flex:1;height:100%;padding:5px 5px 5px 10px;text-align:left}.project-tab-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-tab-dirty{flex:none;color:var(--accent);font-size:9px}.project-tab-close{flex:none;width:24px;height:24px;padding:0;margin-right:3px;font-size:17px;line-height:22px}.project-tab-close:hover,.project-tab-new:hover{border:0;background:#2f6fed1a;color:var(--accent-dark)}.project-tab-new{flex:none;width:30px;height:28px;margin-left:4px;padding:0;font-size:20px;line-height:26px}.spacer{flex:1}.toggle{color:var(--muted);display:flex;align-items:center;gap:4px}button{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 10px;cursor:pointer;white-space:nowrap}button:hover{border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button:disabled:hover{border-color:var(--line)}.divider{width:1px;align-self:stretch;background:var(--line);margin:0 2px}.modes{display:inline-flex;gap:0}.modes button{border-radius:0;border-right-width:0}.modes button:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.modes button:last-child{border-right-width:1px;border-top-right-radius:6px;border-bottom-right-radius:6px}.modes button.active{background:var(--accent);border-color:var(--accent);color:#fff}.kbd{display:inline-block;margin-left:5px;padding:0 5px;min-width:16px;font:600 10px/16px ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:4px}.modes button.active .kbd{color:#fff;background:#ffffff2e;border-color:#ffffff80}.menubar{position:relative;z-index:60;display:inline-flex;gap:2px}.menu-group{position:relative}.menu-title{background:transparent;color:#4b5563;border:1px solid transparent;border-radius:6px;padding:6px 13px;font-size:14px}.menu-title:hover,.menu-title.is-open{background:var(--panel-2);border-color:var(--line);color:#4b5563}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.menu-dropdown{position:absolute;top:100%;left:0;margin-top:4px;z-index:61;min-width:240px;padding:4px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #141a2338}.menu-item{width:100%;display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:none;border-radius:6px;padding:7px 8px;font-size:14px}.menu-item:hover:not(:disabled){background:var(--accent);color:#fff}.menu-item:disabled{opacity:.4}.menu-check{width:14px;flex:none;text-align:center}.menu-label{flex:1;white-space:nowrap}.menu-shortcut{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.menu-item:hover:not(:disabled) .menu-shortcut{color:#fffc}.toolbar{width:var(--toolbar-w);display:flex;flex-direction:column;gap:10px;padding:10px 8px;background:var(--panel);border-right:1px solid var(--line);overflow-y:auto}.toolbar .modes{flex-direction:column}.toolbar button{display:flex;align-items:center;gap:6px;white-space:nowrap;text-align:left;padding:6px 9px;font-size:13px;line-height:1}.toolbar .btn-ico{flex:none;width:1.2em;text-align:center;font-size:14px}.current-thread-status{display:flex;align-items:center;gap:7px;margin:-1px 1px 3px;padding:6px 7px;border:1px solid #dce3ed;border-radius:8px;background:#f6f8fbcc;color:#68778d}.current-thread-swatch{width:19px;height:19px;flex:none;border:2px solid rgba(255,255,255,.85);border-radius:5px;box-shadow:0 0 0 1px #aeb9c9,0 2px 4px #212e461a}.current-thread-status-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;font-size:9px;line-height:1}.current-thread-status-copy strong{overflow:hidden;color:#405069;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.toolbar button .kbd{margin-left:auto}.tool-group{display:flex;flex-direction:column;gap:4px}.tool-title{font-size:11px;color:var(--muted);margin-top:4px}.tool-row{display:flex;flex-direction:column;gap:4px}.tool-row button{width:100%}.toolbar input:disabled{opacity:.4;cursor:default}.prop-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;color:var(--muted)}.prop-row input[type=number]{width:96px;padding:4px 6px;text-align:right;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:6px;background:var(--panel-2)}.prop-row input:disabled{opacity:.5;cursor:default}.prop-hint{margin:4px 0 0;font-size:11px;line-height:1.4;color:var(--muted);opacity:.85}.prop-btn{margin-top:8px;width:100%;padding:6px 8px;font-size:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);cursor:pointer}.prop-btn.active{background:#2f6fed;border-color:#2f6fed;color:#fff}.prop-btn:hover{border-color:#2f6fed}.property-panel{--prop-blue-soft: #eef4ff;--prop-blue-line: #c9d9ff;padding:0 12px 18px;border-bottom:0;background:radial-gradient(circle at 100% 0,rgba(47,111,237,.1),transparent 180px),#f4f6fa}.panel>h2.panel-primary-title{position:sticky;top:0;z-index:4;margin:0 -12px 12px;padding:14px 16px 13px 46px;min-height:48px;background:#f9fafcf5;border-bottom:1px solid #dce2eb;box-shadow:0 5px 16px #212e460f;color:#263247;font-size:14px;font-weight:750;letter-spacing:-.01em;text-transform:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel>h2.panel-primary-title:before{content:"";position:absolute;left:16px;top:15px;width:16px;height:16px;border:2px solid var(--accent);border-radius:5px;background:linear-gradient(var(--accent),var(--accent)) 3px 3px / 6px 2px no-repeat,linear-gradient(var(--accent),var(--accent)) 3px 7px / 9px 2px no-repeat,linear-gradient(var(--accent),var(--accent)) 3px 11px / 5px 2px no-repeat;box-shadow:0 0 0 4px #2f6fed14}.property-panel>.muted{position:relative;margin:22px 0 0;padding:74px 20px 22px;border:1px dashed #c9d1df;border-radius:14px;background:#ffffffb8;color:#7a8598;text-align:center;line-height:1.6}.property-panel>.muted:before{content:"";position:absolute;top:20px;left:50%;width:38px;height:30px;transform:translate(-50%) rotate(-6deg);border:2px solid #9aabc8;border-radius:8px;background:linear-gradient(135deg,#f7faff,#e8effd);box-shadow:9px 7px 0 -3px #d7e2f6}.property-panel>.muted~.prop-row,.property-panel>.muted~.prop-hint,.property-panel>.muted~.prop-btn{display:none}.property-panel .prop-tabs{position:sticky;top:48px;z-index:3;display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;margin:-12px -12px 0;padding:10px 12px 9px;overflow:visible;border-bottom:1px solid #d9e1ec;background:#f4f6faf5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.property-panel .prop-tabs button{flex:0 0 auto;min-height:31px;padding:6px 10px;border:1px solid #d2dae7;border-radius:9px;outline:none;background:#ffffffc7;color:#68758a;font-family:inherit;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.property-panel .prop-tabs button:hover{border-color:#aebfe0;color:#315ea9}.property-panel .prop-tabs button[aria-selected=true]{border-color:var(--accent);background:linear-gradient(135deg,#3978f0,#275dcc);color:#fff;box-shadow:0 4px 10px #2f6fed38}.property-panel .prop-tabs button:focus-visible{box-shadow:0 0 0 3px #2f6fed2e}.property-panel .prop-groups{display:grid;gap:12px;padding-top:12px}.property-panel .prop-group{min-width:0;padding:0 10px 12px;overflow:hidden;border:1px solid #d7dfeb;border-radius:13px;outline:2px solid transparent;outline-offset:2px;background:#ffffff94;box-shadow:0 3px 12px #2335530b;transition:border-color .14s ease,outline-color .14s ease,box-shadow .14s ease}.property-panel .prop-group.is-active{border-color:#9dbcf3;outline-color:#2f6fed85;box-shadow:0 0 0 4px #2f6fed14,0 7px 18px #2349911a}.property-panel .prop-group+.prop-group{margin-top:0}.property-panel .prop-group-title{position:relative;margin:0 -10px 8px;padding:10px 12px 9px 18px;border-bottom:1px solid #dce3ed;background:#f7f9fcf0;color:#3f4d63;font-size:12px;font-weight:760;letter-spacing:-.01em}.property-panel .prop-group-title:before{content:"";position:absolute;top:11px;bottom:10px;left:9px;width:3px;border-radius:2px;background:var(--accent)}.property-panel .prop-group>:first-child{margin-top:0}.property-panel .prop-group>:last-child{margin-bottom:0}.property-panel .prop-row{min-height:48px;margin-top:7px;padding:8px 9px 8px 11px;gap:10px;border:1px solid #dde3ec;border-radius:10px;background:#ffffffeb;box-shadow:0 1px 2px #1e293b09;color:#526076;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.property-panel .prop-row:hover{border-color:#c4d2e8;box-shadow:0 4px 12px #273b5e12}.property-panel .prop-row:focus-within{border-color:#8eaff5;box-shadow:0 0 0 3px #2f6fed1a}.property-panel .prop-row>span:first-child{color:#46536a;font-size:12px;font-weight:650;line-height:1.3}.property-panel .prop-row output{min-width:0;max-width:62%;overflow:hidden;color:#214f9f;font-size:12px;font-weight:700;text-align:right;text-overflow:ellipsis;white-space:nowrap}.property-panel .prop-range-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:7px;min-height:66px}.property-panel .prop-range-controls{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:9px;min-width:0}.property-panel .prop-range-controls input[type=range]{width:100%;min-width:0;margin:0;cursor:pointer;accent-color:var(--accent)}.property-panel .prop-row input[type=number]{width:104px;height:32px;padding:5px 9px;border:1px solid var(--prop-blue-line);border-radius:8px;outline:none;background:var(--prop-blue-soft);color:#214f9f;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.property-panel .prop-range-controls input[type=number]{width:72px;min-width:0;padding-inline:7px}.property-panel .prop-range-controls input:disabled{cursor:default}.property-panel .prop-row input[type=number]::-webkit-inner-spin-button,.property-panel .prop-row input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.property-panel .prop-row input[type=number]:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #2f6fed1f}.property-panel .prop-row input[type=checkbox]{position:relative;flex:none;width:38px;height:22px;margin:0 2px 0 0;border:1px solid #b7c0ce;border-radius:999px;outline:none;background:#cfd6e1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.property-panel .prop-row input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1c273b47;transition:transform .15s ease}.property-panel .prop-row input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}.property-panel .prop-row input[type=checkbox]:checked:after{transform:translate(16px)}.property-panel .prop-row input[type=checkbox]:focus-visible{box-shadow:0 0 0 4px #2f6fed29}.property-panel .prop-row select{width:min(154px,58%);height:32px;padding:5px 30px 5px 10px;border:1px solid #ccd5e3;border-radius:8px;outline:none;background-color:#f8faff;background-image:linear-gradient(45deg,transparent 50%,#65748c 50%),linear-gradient(135deg,#65748c 50%,transparent 50%);background-position:calc(100% - 15px) 13px,calc(100% - 11px) 13px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;color:#34435a;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.property-panel .prop-row select:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 3px #2f6fed1f}.property-panel .prop-choice{min-width:0;margin:9px 0 0;padding:8px;border:1px solid #dbe2ee;border-radius:11px;background:#ffffffbf}.property-panel .prop-choice legend{padding:0 5px;color:#46536a;font-size:12px;font-weight:700}.property-panel .prop-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.property-panel .prop-choice-button{display:flex;min-width:0;min-height:56px;padding:5px 4px 6px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-color:#d1dae8;border-radius:9px;outline:none;background:#f8faff;color:#526076;font-family:inherit;font-size:10px;font-weight:650;line-height:1.2;white-space:normal;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,color .12s ease,transform .12s ease}.property-panel .prop-choice-button:hover{border-color:#8eaff5;background:#f0f5ff;color:#2f5da8;transform:translateY(-1px)}.property-panel .prop-choice-button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #2f6fed26}.property-panel .prop-choice-button[aria-checked=true]{border-color:var(--accent);background:#e9f0ff;color:#2458b4;box-shadow:inset 0 0 0 1px #2f6fed29}.property-panel .prop-choice-icon{display:flex;width:58px;height:30px;align-items:center;justify-content:center}.property-panel .prop-choice-icon svg{width:58px;height:30px;overflow:visible;fill:currentColor;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.property-panel .prop-choice-icon svg path,.property-panel .prop-choice-icon svg line{fill:none}.property-panel .prop-choice-icon .choice-guide,.property-panel .prop-choice-icon .choice-outline{opacity:.34}.property-panel .prop-choice-icon .choice-accent{color:#7b8fae}.property-panel .prop-choice-button[aria-checked=true] .choice-accent{color:#4d76c1}.property-panel .prop-row button{min-height:32px;border-color:#c7d4e9;border-radius:8px;background:#f5f8ff;color:#315caa;font-size:12px;font-weight:650}.property-panel .prop-row button:hover{border-color:var(--accent);background:#eaf1ff}.property-panel .prop-hint{position:relative;margin:7px 2px 10px;padding:8px 10px 8px 28px;border:1px solid #dbe6fb;border-radius:9px;background:#f1f6ff;color:#59709a;font-size:11px;line-height:1.45;opacity:1}.property-panel .prop-hint:before{content:"i";position:absolute;top:8px;left:10px;width:12px;height:12px;border:1px solid #7f9ed6;border-radius:50%;color:#5278bc;font:700 9px/11px ui-serif,Georgia,serif;text-align:center}.property-panel .prop-btn{min-height:38px;margin-top:8px;border-color:#bdcdec;border-radius:10px;background:linear-gradient(#f8faff,#edf3ff);color:#315ea9;font-weight:700;box-shadow:0 2px 6px #2f6fed14}.property-panel .prop-btn:hover{border-color:var(--accent);background:#e7efff}.property-panel .prop-btn.active{border-color:#245bd0;background:linear-gradient(135deg,#3978f0,#275dcc);color:#fff;box-shadow:0 5px 14px #2f6fed40}.property-panel input:disabled,.property-panel select:disabled{opacity:.48;cursor:default}.property-panel .angle-picker{min-width:0;width:100%;margin:9px 0 0;padding:8px;border:1px solid #dbe2ee;border-radius:11px;background:#ffffffd6;box-shadow:0 1px 2px #1e293b09;transition:border-color .12s ease,box-shadow .12s ease}.property-panel .angle-picker:focus-within{border-color:#8eaff5;box-shadow:0 0 0 3px #2f6fed1a}.property-panel .angle-picker:disabled{opacity:.48}.property-panel .angle-picker legend{padding:0 5px;color:#46536a;font-size:12px;font-weight:700}.angle-picker-content{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.angle-dial{width:120px;height:120px;border-radius:50%;outline:none;cursor:crosshair;touch-action:none}.angle-dial:hover{background:#f5f8ff}.angle-dial:focus-visible{background:#eef4ff;box-shadow:0 0 0 3px #2f6fed29}.angle-dial:active{cursor:grabbing}.angle-picker:disabled .angle-dial{cursor:default}.angle-dial svg{display:block;width:100%;height:100%;overflow:visible}.angle-dial-face{fill:#f7faff;stroke:#bccce7;stroke-width:1.5}.angle-tick{stroke:#91a3c0;stroke-width:1.25}.angle-tick.major{stroke:#5f7599;stroke-width:1.8}.angle-dial text{fill:#77869c;font:650 7px/1 -apple-system,Segoe UI,sans-serif;-webkit-user-select:none;user-select:none}.angle-hand{stroke:var(--accent);stroke-linecap:round;stroke-width:3}.angle-handle{fill:#fff;stroke:var(--accent);stroke-width:3;filter:drop-shadow(0 2px 2px rgba(47,111,237,.2))}.angle-center{fill:var(--accent-dark);stroke:#fff;stroke-width:2}.angle-value{display:flex;min-width:0;flex-direction:column;gap:5px;color:#68758a;font-size:10px;font-weight:700;text-align:center}.angle-value-input{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;align-items:center;gap:3px;color:#315caa;font-size:13px}.property-panel .angle-value input[type=number]{width:100%;min-width:0;height:32px;padding:5px 4px;border:1px solid var(--prop-blue-line);border-radius:8px;outline:none;background:var(--prop-blue-soft);color:#214f9f;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.property-panel .angle-value input[type=number]::-webkit-inner-spin-button,.property-panel .angle-value input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.property-panel .angle-value input[type=number]:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #2f6fed1f}.backdrop-panel{min-width:0}.canvas-lower-left-stack{position:absolute;z-index:30;top:12px;bottom:12px;left:12px;display:flex;max-width:calc(100% - 24px);flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:10px;pointer-events:none}.canvas-lower-left-stack>.overview{position:relative;left:auto;bottom:auto;flex:none;margin:0;pointer-events:auto}.canvas-backdrop-panel{display:flex;width:240px;max-width:100%;min-height:0;max-height:520px;flex:0 1 520px;flex-direction:column;padding:0;overflow:hidden;border:1px solid #cfd9e7;border-radius:12px;background:#f4f6fa;box-shadow:0 10px 28px #212e4629;pointer-events:auto}.canvas-backdrop-panel.is-collapsed{width:200px;flex:0 0 auto}.canvas-backdrop-panel-head{display:flex;min-height:46px;flex:none;align-items:center;gap:9px;padding:7px 8px 7px 12px;border-bottom:1px solid #dce3ed;background:#f9fafcfa}.canvas-backdrop-panel.is-collapsed .canvas-backdrop-panel-head{border-bottom:0}.panel .canvas-backdrop-panel-head h2{min-width:0;flex:1;margin:0;padding:0;border:0;background:transparent;color:#354258;font-size:13px;font-weight:750;letter-spacing:-.005em;text-transform:none}.canvas-backdrop-panel-icon{display:grid;width:26px;height:26px;flex:none;place-items:center;border-radius:7px;background:#e7efff;color:#3469c1}.canvas-backdrop-panel-icon svg,.canvas-backdrop-fold svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.canvas-backdrop-fold{display:grid;width:30px;height:30px;flex:none;padding:0;place-items:center;border-color:transparent;border-radius:8px;background:transparent;color:#60718a}.canvas-backdrop-fold:hover{border-color:#bfd0ec;background:#eaf1ff;color:#285eb8}.canvas-backdrop-panel-body{min-height:0;padding:2px 12px 14px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#c7d1e1 transparent;scrollbar-width:thin}.backdrop-flip-actions{gap:6px}.backdrop-position-row{align-items:stretch;flex-direction:column}.backdrop-axis-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0}.backdrop-axis-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;color:#65748c;font-size:11px;font-weight:700}.property-panel .backdrop-axis-field input[type=number]{width:100%;min-width:0;box-sizing:border-box}.backdrop-remove-row button{width:100%}.toolbar .modes button{border-right-width:1px;border-bottom-width:0;border-radius:0;text-align:left}.toolbar .modes button:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.toolbar .modes button:last-child{border-bottom-width:1px;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.body{flex:1;display:grid;grid-template-columns:max-content 240px minmax(0,1fr) 328px;min-height:0}.left,.right{background:var(--panel);overflow-y:auto;border-right:1px solid var(--line)}.right{border-right:none;border-left:1px solid var(--line)}.center{position:relative;min-width:0}.canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.canvas-wrap canvas{display:block;touch-action:none;cursor:default}.overview{position:absolute;left:10px;bottom:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #141a2326;padding:4px}.overview-title{font-size:10px;color:var(--muted);padding:2px 4px 4px}.overview canvas{display:block;border-radius:4px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted)}.overlay.error{color:#f2545b}.panel{padding:10px 12px;border-bottom:1px solid var(--line)}.panel h2{margin:-10px -12px 8px;padding:7px 12px;background:#e9ecf1;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.muted{color:var(--muted)}table.stats{width:100%;border-collapse:collapse}table.stats td{padding:2px 0}table.stats td.num{text-align:right;font-variant-numeric:tabular-nums}.blocklist,.warnlist{list-style:none;margin:0;padding:0}.object-panel-title{display:flex;align-items:center;justify-content:space-between}.object-total{min-width:20px;padding:2px 6px;border-radius:999px;background:#5474ab1a;color:#58719a;font-size:10px;line-height:1.4;text-align:center}.object-row{position:relative;display:flex;align-items:center;gap:6px;min-width:0}.object-row[draggable=true]{cursor:grab}.object-row[draggable=true]:active{cursor:grabbing}.object-row.dragging{opacity:.42}.object-row.drop-before:before,.object-row.drop-after:after{content:"";position:absolute;z-index:3;left:4px;right:4px;height:3px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px #2f6fed1f;pointer-events:none}.object-row.drop-before:before{top:-4px}.object-row.drop-after:after{bottom:-4px}.object-stop-marker{position:absolute;z-index:2;right:4px;bottom:-1px;left:4px;height:2px;border-radius:999px;background:#e03131;box-shadow:0 0 0 1px #e0313129;pointer-events:none}.blk-main,.warnlist button{flex:1;display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:none;padding:5px 6px;border-radius:6px;min-width:0}.blk-main:hover,.warnlist button:hover{background:var(--panel-2)}.blk-main.active{background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.object-type-icon{position:relative;display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#eef3fa;color:#58729f;flex:none}.object-type-glyph{font-size:17px;font-weight:700;line-height:1}.dual-column-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:3.4;stroke-linecap:butt}.object-type-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.object-copy{flex:1;min-width:0}.object-preview{display:block;width:100%;height:92px;box-sizing:border-box;border:1px solid #e0e6ef;border-radius:7px;background:linear-gradient(rgba(223,229,238,.45) 1px,transparent 1px) 0 50% / 100% 50%,linear-gradient(90deg,rgba(223,229,238,.45) 1px,transparent 1px) 50% 0 / 50% 100%,#ffffffbf}.object-preview path{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.object-preview path.object-preview-overview{color:#6f7f95;opacity:.24;stroke-width:1}.object-preview-current{color:#e03131;opacity:1}.object-preview path.object-preview-fill{fill:currentColor;fill-opacity:.3;stroke:currentColor;stroke-width:1}.object-preview path.object-preview-lettering-fill{fill-opacity:.72;stroke:none}.object-preview .object-preview-current path.object-preview-fill{fill-opacity:1}.object-preview circle{fill:currentColor}.object-preview.empty:after{content:"";display:block;width:18px;margin:45px auto 0;border-top:1px dashed #aeb8c7}.object-empty{margin:8px 0 0;padding:16px 8px;border:1px dashed #ccd6e5;border-radius:9px;color:var(--muted);font-size:11px;text-align:center}.warn-counts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11px}.warnlist li{border-left:3px solid transparent}.warnlist li.sev-warning{border-color:#f5a623}.warnlist li.sev-error{border-color:#f2545b}.warnlist li.sev-info{border-color:#4f8dfd}.warn-msg{flex:1;color:var(--text);font-size:12px}.bottombar{background:var(--panel);border-top:1px solid var(--line);padding:8px 12px}.timeline{display:flex;align-items:center;gap:12px}.timeline input[type=range]{flex:1}.timeline .ph{color:var(--muted);font-variant-numeric:tabular-nums;min-width:110px;text-align:right}.timeline .play{width:40px}.timeline .sim-title{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.speed{color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}.speed input[type=number]{width:68px;padding:4px 6px;text-align:right;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:6px;background:var(--panel-2)}select{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px}.gear{font-size:15px;line-height:1;padding:5px 8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2359;display:flex;align-items:center;justify-content:center;z-index:100}.modal{width:360px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #141a2340;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.modal-head h2{margin:0;font-size:14px}.modal-close{border:none;background:transparent;padding:4px 8px}.modal-body{padding:16px;overflow-y:auto;flex:1;min-height:0}.modal-foot{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;flex-shrink:0}.confirm-foot{gap:8px}.modal-body p{margin:0}button.danger{color:#c0341d;border-color:#e6b3a8}button.danger:hover{border-color:#c0341d}.field{display:block}.field-label{display:block;margin-bottom:8px;color:var(--muted)}.field-row{display:flex;align-items:center;gap:12px}.field-row input[type=range]{flex:1}.field-val{min-width:52px;text-align:right;font-variant-numeric:tabular-nums}.field+.field{margin-top:18px}.field-hint{margin:6px 0 0;color:var(--muted);font-size:11px}.field-err{margin:6px 0 0;color:#f2545b;font-size:12px}.shortcuts{margin-top:8px}.shortcut-group+.shortcut-group{margin-top:14px}.shortcut-group{content-visibility:auto;contain:layout paint style;contain-intrinsic-size:auto 220px}.shortcut-group-title{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.shortcut-label{font-size:13px}.shortcut-key{min-width:96px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.shortcut-key.capturing{border-color:var(--accent);color:var(--accent)}.modal-backdrop.palette-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.palette-modal{width:620px}.palette-search{display:flex;align-items:center;gap:8px;margin:12px 16px 0}.palette-search input{flex:1;padding:7px 10px;font-size:14px;border:1px solid var(--line);border-radius:6px}.palette-search input:focus{outline:2px solid var(--accent);outline-offset:-1px}.palette-count{font-size:13px;color:var(--muted);white-space:nowrap}.palette-body{max-height:64vh;overflow-y:auto;scrollbar-gutter:stable}.palette-group-head{display:flex;align-items:center;gap:6px;width:100%;padding:2px 0;background:none;border:none;cursor:pointer;text-align:left}.palette-fold{font-size:11px;color:var(--muted);width:12px}.palette-group{padding:8px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.palette-global{margin-bottom:14px;padding:8px;background:var(--surface-blue);border:1px solid var(--line);border-radius:var(--radius-sm)}.palette-global h3,.palette-group h3{margin:0 0 6px;font-size:13px;color:var(--muted)}.palette-global .palette-access{margin-bottom:0;padding-bottom:0;border-bottom:0}.palette-global-empty{margin:0;color:var(--muted);font-size:12px}.palette-group-head h3{margin:0}.palette-group+.palette-group{margin-top:10px}.palette-access{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,40px);gap:6px}.palette-swatch{position:relative;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:5px;cursor:pointer}.palette-swatch:hover{outline:2px solid var(--accent);outline-offset:1px}.palette-type,.palette-num{position:absolute;left:0;right:0;font-weight:600;line-height:1;text-align:center}.palette-type{top:3px;padding:0 2px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.palette-num{bottom:2px;font-size:11px}.machine-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.machine-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid #e2e4ea;border-radius:6px}.machine-row .machine-name{font-weight:600}.machine-row .machine-ip{color:#6b7280;font-variant-numeric:tabular-nums;margin-right:auto}.send-file-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:14px;padding:12px;border:1px solid #dce3ed;border-radius:9px;background:#ffffffb8}.send-file-fields .field{display:flex;min-width:0;flex-direction:column;gap:5px}.send-file-fields .field-label{min-height:16px;margin:0;line-height:16px}.send-file-fields input{width:100%;height:34px;min-width:0;box-sizing:border-box;padding:7px 9px;border:1px solid #cfd8e6;border-radius:8px;background:#fff;color:#303e54;font:inherit}.send-file-fields input[aria-invalid=true]{border-color:#e03131}.send-field-note{min-height:14px;color:#7d899b;font-size:10px;line-height:14px}.send-field-note.field-err{margin:0}.machine-form{display:flex;gap:10px;align-items:flex-end;border-top:1px solid #eceef2;padding-top:12px}.machine-form .field{flex:1}.machine-form input{width:100%}.send-result{margin-top:12px;color:#157347;font-size:13px}.lettering-panel{position:fixed;z-index:90;width:360px;max-height:calc(100vh - 144px);box-shadow:0 16px 44px #1d2b4238}.lettering-panel-head{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.lettering-panel-head:active{cursor:grabbing}.lettering-body{display:grid;gap:14px;overscroll-behavior:contain}.lettering-body .field+.field{margin-top:0}.lettering-body input[type=text],.lettering-body input[type=number],.lettering-body input[type=file]{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #cfd9e7;border-radius:8px;background:#fff;color:var(--text);font:inherit}.lettering-body input[type=file]{padding:7px}.lettering-font-field{min-width:0;margin:0;padding:0;border:0}.lettering-font-field legend{margin-bottom:7px;padding:0}.lettering-font-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lettering-font-options button{display:grid;gap:3px;min-width:0;padding:10px 11px;border:1px solid #cfd9e7;background:#fff;color:#52637a;text-align:left}.lettering-font-options button:hover{border-color:#aebed5;background:#f7f9fd}.lettering-font-options button[aria-checked=true]{border-color:var(--accent);background:var(--surface-blue);box-shadow:0 0 0 1px var(--accent);color:#2358ae}.lettering-font-options strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.lettering-font-options span{font-size:10px;color:#7d899a}.lettering-font-field input[type=file]{margin-top:9px}.lettering-font-field .field-hint{margin-top:6px}.lettering-font-field .field-hint a{color:var(--accent-dark)}.lettering-weight-field{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px}.lettering-weight-value{display:inline-flex;align-items:baseline;gap:5px;color:#66758a;font-size:10px}.lettering-weight-value strong{color:#2b5fab;font-size:12px}.lettering-weight-options{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.lettering-weight-options button{display:grid;gap:2px;min-width:0;padding:7px 5px;border:1px solid #cfd9e7;border-radius:7px;background:#fff;color:#52637a;text-align:center}.lettering-weight-options button:hover:not(:disabled){border-color:#aebed5;background:#f7f9fd}.lettering-weight-options button[aria-checked=true]{border-color:var(--accent);background:var(--surface-blue);box-shadow:0 0 0 1px var(--accent);color:#2358ae}.lettering-weight-options button:disabled[aria-checked=true]{opacity:1}.lettering-weight-options strong{font-size:11px}.lettering-weight-options span{overflow:hidden;color:#7d899a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.lettering-weight-field .field-hint{grid-column:1 / -1;margin-top:5px}.lettering-note{padding:10px 11px;border:1px solid #d7e3f7;border-radius:8px;background:var(--surface-blue);color:#536985;font-size:11px;line-height:1.5}.lettering-panel .modal-foot{gap:8px}.nesting-panel{position:fixed;z-index:90;top:132px;right:326px;width:min(470px,calc(100vw - 28px));max-height:calc(100vh - 176px);overflow:auto;box-shadow:0 16px 44px #1d2b4238}.nesting-mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:9px 12px;border-bottom:1px solid #dce3ed;background:#f1f4f9}.nesting-mode-tabs button{min-height:34px;border:1px solid #d1dae7;border-radius:8px;background:#fff;color:#65738a;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.nesting-mode-tabs button[aria-selected=true]{border-color:#88a9ec;background:#eaf1ff;color:#245bb8;box-shadow:inset 0 0 0 1px #2f6fed1f}.nesting-panel-body{display:grid;gap:13px;padding:14px}.nesting-pattern-size{padding:9px 11px;border:1px solid #d7e3f7;border-radius:8px;background:var(--surface-blue);color:#60718b;font-size:11px}.nesting-pattern-size strong{margin-left:5px;color:#2859a8}.nesting-source-preview{display:grid;gap:6px;margin:0}.nesting-source-preview figcaption{color:#58677e;font-size:10px;font-weight:750}.nesting-source-preview canvas{display:block;box-sizing:border-box;width:100%;height:128px;border:1px solid #cdd8e7;border-radius:9px;background:#eef2f7;box-shadow:inset 0 0 0 1px #ffffffb8}.nesting-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nesting-panel .field{display:grid;min-width:0;gap:5px;margin:0;padding:0;border:0}.nesting-panel .field-label{color:#58677e;font-size:10px;font-weight:750}.nesting-panel input[type=number],.nesting-json-input{box-sizing:border-box;width:100%;min-width:0;padding:8px 9px;border:1px solid #cfd9e7;border-radius:8px;outline:none;background:#fff;color:#2f3c51;font:inherit;font-size:12px}.nesting-panel input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.nesting-panel input[type=number]::-webkit-inner-spin-button,.nesting-panel input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.nesting-number-stepper{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:stretch;gap:5px}.nesting-number-stepper>button{min-width:34px;min-height:34px;padding:0;border:1px solid #cbd7e8;border-radius:8px;background:#f7f9fc;color:#3e587a;font:700 18px/1 sans-serif;cursor:pointer}.nesting-number-stepper>button:hover:not(:disabled){border-color:#8eaee8;background:#edf3ff;color:#245bb8}.nesting-number-stepper>button:active:not(:disabled){background:#dfeaff}.nesting-number-stepper>button:focus-visible{outline:3px solid rgba(47,111,237,.16);outline-offset:1px}.nesting-number-stepper>button:disabled{color:#b3bdca;cursor:default;opacity:.6}.nesting-number-stepper input[type=number]{height:34px;text-align:center}.nesting-panel input:focus,.nesting-json-input:focus{border-color:#7ca3ef;box-shadow:0 0 0 3px #2f6fed1c}.number-with-unit{position:relative;display:block}.number-with-unit input{padding-right:30px!important}.number-with-unit>span{position:absolute;top:50%;right:9px;transform:translateY(-50%);color:#8793a5;font-size:10px;pointer-events:none}.nesting-shift-field{margin-top:2px!important}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.segmented-control button{min-height:34px;border:1px solid #d1dae7;border-radius:8px;background:#fff;color:#65738a;font:inherit;font-size:11px;cursor:pointer}.segmented-control button[aria-checked=true]{border-color:#88a9ec;background:#eaf1ff;color:#245bb8;font-weight:750}.nesting-fraction-field{grid-template-columns:auto 1fr 44px;align-items:center}.nesting-fraction-field output{color:#2859a8;font-size:12px;font-weight:750;text-align:right}.nesting-panel .field-hint,.nesting-panel .field-error{margin:0;color:#738097;font-size:10px;line-height:1.5}.nesting-panel .field-error{color:#c33f4c}.nesting-panel .nesting-grid-warning{font-size:12px;font-weight:700;line-height:1.55}.nesting-json-head{display:flex;align-items:center;justify-content:space-between}.nesting-json-head button{padding:6px 9px;border:1px solid #cbd7e8;border-radius:7px;background:#fff;color:#47617f;font:inherit;font-size:10px;cursor:pointer}.nesting-json-input{min-height:170px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5}.nesting-panel .modal-foot{margin:2px -14px -14px;padding:11px 14px}.visually-hidden{display:none}@media (max-width: 900px){.nesting-panel{right:14px}}.linkish{background:none;border:none;color:#2f6fed;padding:0;cursor:pointer;text-decoration:underline}.monitor-btn{margin-left:8px;padding:3px 12px;border:1px solid #2f6fed;border-radius:6px;background:#eef3fe;color:#2f6fed;font-weight:600;cursor:pointer}.monitor-btn:hover{background:#e0eaff}.monitor-modal{width:720px;max-width:92vw}.monitor-head-actions{display:flex;gap:8px;align-items:center}.monitor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.monitor-card{border:1px solid #e2e4ea;border-left:4px solid #9aa0aa;border-radius:8px;padding:10px 12px}.monitor-card.idle{border-left-color:#2f9e44}.monitor-card.busy{border-left-color:#f59f00}.monitor-card.off{border-left-color:#e03131}.monitor-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.monitor-name{font-weight:700}.monitor-badge{font-size:11px;padding:1px 7px;border-radius:999px;background:#f1f3f5;color:#495057;white-space:nowrap}.monitor-badge.idle{background:#d3f9d8;color:#2b8a3e}.monitor-badge.busy{background:#fff3bf;color:#b35c00}.monitor-badge.off{background:#ffe3e3;color:#c92a2a}.monitor-ip{color:#868e96;font-size:12px;font-variant-numeric:tabular-nums}.monitor-design{font-size:12px;margin-top:6px}.monitor-progress{margin-top:8px}.monitor-bar{height:8px;background:#edf0f5;border-radius:999px;overflow:hidden}.monitor-bar-fill{height:100%;background:#2f9e44}.monitor-progress-text{font-size:11px;color:#495057;margin-top:3px;font-variant-numeric:tabular-nums}.monitor-meta{display:flex;justify-content:space-between;font-size:11px;color:#868e96;margin-top:6px}.monitor-err{color:#c92a2a}.monitor-foot-note{margin-right:auto;font-size:12px}.machine-row.active{border-color:var(--accent);background:#eef3fe}body{background:radial-gradient(circle at 50% -20%,#f8faff 0,transparent 42%),var(--bg)}button{border-color:var(--line);border-radius:var(--radius-sm);font-family:inherit;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,color .12s ease,transform .12s ease}button:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2f6fed29}.topbar{z-index:70;min-height:56px;gap:10px;padding:8px clamp(14px,3vw,56px);border-bottom-color:#d6deea;background:#f9fafcf5;box-shadow:0 5px 18px #212e4612;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar strong{display:inline-flex;align-items:center;gap:8px;margin-right:4px;color:#2457ae;font-size:16px;font-weight:800;letter-spacing:-.02em}.topbar strong:before{content:"T";display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:linear-gradient(145deg,#4682f4,var(--accent-dark));box-shadow:0 5px 12px #2f6fed40;color:#fff;font-size:14px;font-weight:850}.menubar{gap:3px}.menu-title{min-height:36px;padding:7px 11px;border-radius:9px;color:#59677c;font-size:13px;font-weight:650}.menu-title:hover,.menu-title.is-open{border-color:#cbd6e7;background:#f1f5fc;color:#2e5da9}.menu-title.is-open{box-shadow:inset 0 0 0 1px #2f6fed14}.menu-dropdown{margin-top:7px;min-width:248px;padding:6px;border-color:#d3dce9;border-radius:12px;background:#fffffffa;box-shadow:var(--shadow-raised)}.menu-item{min-height:36px;padding:8px;border-radius:8px;color:#3e4b60;font-size:13px}.menu-item:hover:not(:disabled){background:var(--surface-blue);color:#2458b4}.menu-item:hover:not(:disabled) .menu-shortcut{color:#6f87b1}.menu-check{color:var(--accent);font-weight:800}.menu-icon{display:inline-grid;width:20px;height:20px;flex:none;place-items:center;color:#607aa5}.menu-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.menu-item:hover:not(:disabled) .menu-icon{color:#2458b4}.menu-number-item{display:flex;min-height:38px;align-items:center;gap:10px;padding:6px 8px;color:#3e4b60;font-size:13px}.menu-number-label{flex:1;white-space:nowrap}.menu-number-control{display:inline-flex;align-items:center;gap:5px}.menu-number-control input{width:72px;height:30px;border:1px solid #cbd6e7;border-radius:7px;background:#fff;color:#26364f;font:inherit;font-variant-numeric:tabular-nums;text-align:right}.menu-number-control input:focus{border-color:var(--accent);outline:2px solid rgba(47,111,237,.16);outline-offset:0}.menu-number-unit{width:20px;color:#7a879a;font-size:12px}.monitor-btn{min-height:36px;margin-left:5px;padding:6px 12px;border-color:#b9cdf5;border-radius:9px;background:linear-gradient(#f7faff,#edf3ff);color:#2c5dad;box-shadow:0 2px 7px #2f6fed14}.monitor-btn:hover{border-color:var(--accent);background:#e7efff}.topbar .filename{max-width:34%;padding:4px 10px;border:1px solid #dce3ed;border-radius:999px;background:#f4f6fadb;color:#748197;font-size:11px}.topbar .filename{position:static;max-width:26%;margin-left:0;transform:none}@keyframes tutorial-target-pulse{0%,to{outline-color:#f29d23f2}50%{outline-color:#ffc64d73}}[data-tutorial-active=true]{outline:3px solid #f29d23!important;outline-offset:3px;animation:tutorial-target-pulse 1.25s ease-in-out infinite}.tutorial-spotlight-cutout{position:fixed;z-index:88;border:2px solid rgba(255,200,88,.98);border-radius:12px;background:transparent;box-shadow:0 0 0 5px #f29d234d;pointer-events:none;transition:top .15s ease,left .15s ease,width .15s ease,height .15s ease}.tutorial-spotlight-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:87;width:100vw;height:100vh;pointer-events:none}@keyframes tutorial-arrow-nudge{0%,to{transform:rotate(var(--tutorial-arrow-rotation)) translate(0)}50%{transform:rotate(var(--tutorial-arrow-rotation)) translate(7px)}}.tutorial-spotlight-arrow{--tutorial-arrow-rotation: 0deg;position:fixed;z-index:88;display:grid;width:48px;height:48px;place-items:center;color:#ffd063;font-family:Segoe UI Symbol,sans-serif;font-size:40px;font-weight:900;line-height:1;text-shadow:0 1px 0 #7a4700,0 3px 9px rgba(0,0,0,.72);pointer-events:none;animation:tutorial-arrow-nudge .85s ease-in-out infinite;transition:top .15s ease,left .15s ease}.tutorial-spotlight-arrow[data-direction=left]{--tutorial-arrow-rotation: 180deg}.tutorial-spotlight-arrow[data-direction=up]{--tutorial-arrow-rotation: -90deg}.tutorial-spotlight-arrow[data-direction=down]{--tutorial-arrow-rotation: 90deg}.tutorial-dialog-positioner{position:fixed;z-index:89;width:min(430px,calc(100vw - 28px));transition:top .18s ease,left .18s ease}.tutorial-panel{width:100%;overflow:hidden;border:1px solid #d1dbea;border-radius:16px;background:#fffffffa;box-shadow:0 18px 54px #18263e3d}.tutorial-panel-head{display:grid;grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:13px 14px 10px}.tutorial-panel-badge{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:linear-gradient(145deg,#ffbd50,#e9901e);box-shadow:0 5px 13px #d8841640;color:#fff;font-size:18px;font-weight:850}.tutorial-panel-eyebrow{display:block;margin-bottom:2px;color:#a36a16;font-size:10px;font-weight:800}.tutorial-panel h2{margin:0;color:#2d3a50;font-size:15px;line-height:1.3}.tutorial-panel-close{width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:#8490a2}.tutorial-panel-close:hover{border:0;background:#eef2f7;color:#4d5b70}.tutorial-progress{height:3px;background:#edf1f6}.tutorial-progress>span{display:block;height:100%;border-radius:0 3px 3px 0;background:linear-gradient(90deg,#f0a02b,#ffca62);transition:width .18s ease}.tutorial-panel-body{padding:13px 16px 12px}.tutorial-panel-body p{margin:0;color:#3e4d63;font-size:13px;line-height:1.55}.tutorial-panel-body .tutorial-panel-detail{margin-top:7px;padding:8px 10px;border-radius:8px;background:#f2f6fc;color:#62728a;font-size:11px}.tutorial-shortcut-tip{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;margin-top:11px;padding:10px;border:1px solid #e2b45f;border-radius:10px;background:#fff8e8;color:#78511a}.tutorial-shortcut-tip>span{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:#f3a936;color:#fff;font-size:18px}.tutorial-shortcut-tip strong{display:block;margin-bottom:3px;font-size:12px}.tutorial-panel-body .tutorial-shortcut-tip p{color:#765f3d;font-size:11px}.tutorial-adjustment-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0 0;padding:0;list-style:none}.tutorial-adjustment-checklist li{display:flex;min-height:34px;align-items:center;gap:7px;padding:7px 9px;border:1px solid #d8e0eb;border-radius:8px;background:#f8fafd;color:#718096;font-size:11px;font-weight:650}.tutorial-adjustment-checklist li span{color:#a3adba;font-size:14px}.tutorial-adjustment-checklist li.is-complete{border-color:#9fc9ae;background:#eff9f2;color:#34704a}.tutorial-adjustment-checklist li.is-complete span{color:#2f8c51}.tutorial-load-face{display:flex;width:100%;min-height:38px;align-items:center;justify-content:center;gap:8px;margin-top:11px;border-color:#e3ad52;background:#fff7e6;color:#85550f;font-weight:750}.tutorial-load-face span{font-size:18px}.tutorial-panel-body .tutorial-auto-hint{margin-top:9px;color:#8a96a7;font-size:10px}.tutorial-panel-foot{display:flex;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid #e0e6ef;background:#f8fafd}.tutorial-panel-foot button{min-height:32px;padding:5px 11px;border-color:#ccd6e4;border-radius:8px;background:#fff;color:#596981;font-size:11px}.tutorial-panel-actions{display:flex;gap:8px;margin-left:auto}.tutorial-panel-foot .tutorial-skip-button{border-color:#ddc8c8;color:#905858}.tutorial-panel-foot .tutorial-skip-button:hover{border-color:#c99595;background:#fff6f6;color:#7f3f3f}.tutorial-panel-foot button.primary{border-color:var(--accent);background:var(--accent);color:#fff}@media (max-width: 760px){.topbar .filename{display:none}}.action-toolbar{position:relative;z-index:60;flex:none;min-width:0;min-height:51px;border-bottom:1px solid #d6deea;background:#f5f7fbf7;box-shadow:0 3px 10px #212e460b}.action-toolbar-scroll{display:flex;height:51px;align-items:stretch;overflow-x:auto;overflow-y:hidden;padding:5px clamp(10px,2vw,30px);scrollbar-color:#bdc9da transparent;scrollbar-width:thin}.action-toolbar-group{display:flex;flex:none;align-items:center;padding:0 7px;border-right:4px double #b8c4d5}.action-toolbar-group:first-child{padding-left:0}.action-toolbar-group:last-child{border-right:0}.action-toolbar-actions{display:flex;align-items:center;gap:2px}.action-toolbar .action-toolbar-button{position:relative;display:inline-grid;width:30px;height:32px;padding:0;place-items:center;border-color:transparent;border-radius:9px;background:transparent;color:#526684}.action-toolbar .action-toolbar-button:hover:not(:disabled){border-color:#b9cdf2;background:#eaf1ff;color:#285eb8;box-shadow:0 2px 7px #2f6fed1a;transform:translateY(-1px)}.action-toolbar .action-toolbar-button.active{border-color:#9eb9ed;background:#dfeaff;color:#245bb8;box-shadow:inset 0 0 0 1px #2f6fed14}.action-toolbar .action-toolbar-button:disabled{color:#aab3c1;opacity:.42}.action-toolbar-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.selection-position-toolbar{position:relative;z-index:59;display:flex;flex:none;min-width:0;height:39px;align-items:center;gap:10px;padding:4px clamp(10px,2vw,30px);border-bottom:1px solid #d6deea;background:#f8fafdfa;color:#526684;box-shadow:0 2px 7px #212e4609}.selection-position-title{flex:none;padding-right:10px;border-right:4px double #b8c4d5;color:#6c7b91;font-size:12px;font-weight:700}.selection-position-field{display:inline-flex;align-items:center;gap:5px;color:#526684;font-size:12px;font-weight:700}.selection-position-field input{width:92px;height:28px;padding:3px 7px;border:1px solid #cbd6e6;border-radius:7px;background:#fff;color:#26364f;font:13px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.selection-position-field input::-webkit-inner-spin-button,.selection-position-field input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.selection-position-field input:focus{border-color:#7da3e7;outline:2px solid rgba(47,111,237,.14)}.selection-position-field input:disabled{border-color:#dce3ed;background:#f1f4f8;color:#9ba7b8}.selection-position-unit{color:#8793a5;font-size:10px;font-weight:500}.selection-position-empty{color:#9aa5b5;font-size:11px}.body{background:#edf1f6}.toolbar{gap:12px;padding:12px 9px 18px;border-right-color:#d6deea;background:radial-gradient(circle at 0 0,rgba(47,111,237,.08),transparent 170px),var(--panel);box-shadow:5px 0 18px #212e460a;scrollbar-color:#c7d1e1 transparent;scrollbar-width:thin}.toolbar .modes,.toolbar .tool-row{gap:5px}.toolbar .tool-group{gap:6px;padding-top:11px;border-top:1px solid #dce3ed}.toolbar .tool-title{margin:0 4px;color:#7a879a;font-size:10px;font-weight:750;letter-spacing:.05em}.stitch-method-groups{display:flex;flex-direction:column;gap:7px}.stitch-method-clear{margin-bottom:1px}.stitch-method-section{display:flex;flex-direction:column;gap:5px;padding:7px 6px 6px;border:1px solid #dce5f2;border-radius:11px;background:#f4f7fcc7}.stitch-method-title{display:flex;align-items:center;gap:5px;padding:0 3px 1px;color:#65758d;font-size:10px;font-weight:750;letter-spacing:.025em}.stitch-method-title>span{display:inline-grid;width:17px;height:17px;place-items:center;border-radius:5px;background:#e6edf8;color:#5575aa;font-size:10px}.toolbar button,.toolbar .modes button,.toolbar .modes button:first-child,.toolbar .modes button:last-child{min-height:37px;padding:7px 8px;border:1px solid #d5dde9;border-radius:9px;background:#ffffffc7;color:#48566c;font-size:12px;font-weight:650;box-shadow:0 1px 2px #1e293b06}.toolbar button:hover:not(:disabled){border-color:#9db6e8;background:#f0f5ff;color:#2859ac;transform:translateY(-1px)}.toolbar button.active,.toolbar .modes button.active{border-color:var(--accent);background:linear-gradient(135deg,#3978f0,var(--accent-dark));color:#fff;box-shadow:0 5px 12px #2f6fed38}.toolbar button:disabled{border-color:#e0e5ed;background:#f8f9fc9e;color:#9aa5b5;opacity:.64}.toolbar .btn-ico{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:7px;background:#edf2fb;color:#5474ab;font-size:13px}.toolbar .btn-ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.toolbar .btn-ico svg.dual-column-icon{stroke-width:3.4;stroke-linecap:butt}.toolbar button.active .btn-ico{background:#ffffff2b;color:#fff}.toolbar button:disabled .btn-ico{background:#f0f2f6;color:#a5adba}.toolbar .kbd{min-width:20px;padding:0 6px;border-color:#d8e0eb;background:#f6f8fc;color:#78869a;font-size:12px;font-weight:700;line-height:18px}.toolbar button.active .kbd{border-color:#ffffff61;background:#ffffff26;color:#fff}.left,.right{border-color:#d6deea;background:radial-gradient(circle at 100% 0,rgba(47,111,237,.075),transparent 190px),var(--panel);scrollbar-color:#c7d1e1 transparent;scrollbar-width:thin}.left{box-shadow:5px 0 18px #212e4609}.right{--info-panel-height: 300px;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-shadow:-5px 0 18px #212e4609}.right>.property-panel{flex:1 1 auto;min-height:0;padding:0 12px 18px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#c7d1e1 transparent;scrollbar-width:thin}.right>.panel.warnings-panel{flex:0 1 180px;min-height:72px;overflow-y:auto;border-top:1px solid #d6deea}.right>.panel.stats-panel{flex:0 0 var(--info-panel-height);height:var(--info-panel-height);min-height:var(--info-panel-height);margin-top:auto;padding-bottom:8px;overflow:hidden;border-top:1px solid #cfd9e8;border-bottom:0;background:#f7f9fcf5;box-shadow:0 -5px 16px #212e460e}.right>.stats-panel table.stats{border-spacing:0 2px}.right>.stats-panel table.stats td{padding:3px 8px;line-height:14px}.panel:not(.property-panel){padding:0 12px 16px;border-bottom-color:#dce3ed;background:transparent}.panel:not(.property-panel)>h2:not(.panel-primary-title){position:relative;min-height:46px;margin:0 -12px 10px;padding:13px 13px 11px 39px;border-bottom:1px solid #dce3ed;background:#f9fafceb;color:#354258;font-size:12px;font-weight:750;letter-spacing:-.005em;text-transform:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel:not(.property-panel)>h2:not(.panel-primary-title):before{content:"";position:absolute;top:14px;left:14px;width:14px;height:14px;border:1.5px solid var(--accent);border-radius:4px;background:linear-gradient(var(--accent),var(--accent)) 3px 3px / 7px 1.5px no-repeat,linear-gradient(var(--accent),var(--accent)) 3px 6px / 5px 1.5px no-repeat,linear-gradient(var(--accent),var(--accent)) 3px 9px / 8px 1.5px no-repeat;box-shadow:0 0 0 3px #2f6fed12}.left>.panel:first-child>h2{position:sticky;top:0;z-index:3}.panel:not(.property-panel)>.muted{margin:8px 0 0;padding:12px;border:1px dashed #ccd6e5;border-radius:10px;background:#ffffff94;font-size:11px;text-align:center}.blocklist{display:grid;gap:5px}.blk-main,.warnlist button{min-height:62px;padding:7px;border:1px solid transparent;border-radius:9px;background:#ffffffa3;color:#405069}.blk-main:hover,.warnlist button:hover{border-color:#c8d5e8;background:#fff}.blk-main.active{border-color:#a9c3f5;background:#eaf1ff;box-shadow:inset 3px 0 0 var(--accent),0 3px 9px #2f6fed14;color:#2458b4}.blk-main.active .object-type-icon{background:#dbe8ff;color:#3265bd}.blk-main.active .object-preview{border-color:#bfd0ee;background-color:#ffffffd1}.object-row.spanless .object-type-icon{border:1px dashed #bfc9d8;background:#f6f8fb;color:#8794a7}table.stats{border-collapse:separate;border-spacing:0 5px}table.stats td{padding:7px 9px;border-top:1px solid #e0e6ef;border-bottom:1px solid #e0e6ef;background:#ffffffb8;color:#5b687c;font-size:11px}table.stats td:first-child{border-left:1px solid #e0e6ef;border-radius:8px 0 0 8px}table.stats td:last-child{border-right:1px solid #e0e6ef;border-radius:0 8px 8px 0;color:#2f4770;font-weight:700}.warn-counts{gap:5px}.chip{border-color:#ced9e9;background:#f8faff;color:#5d6e89}.warnlist{display:grid;gap:5px}.warnlist li{overflow:hidden;border:1px solid #e0e6ef;border-left-width:3px;border-radius:8px;background:#ffffff9e}.panel:not(.property-panel) .prop-row{min-height:44px;margin-top:6px;padding:7px 9px;border:1px solid #dde4ee;border-radius:9px;background:#ffffffc2;color:#526076}.panel:not(.property-panel) .prop-row>span:first-child{color:#46536a;font-size:11px;font-weight:650}.panel:not(.property-panel) .prop-row input[type=number]{height:30px;border-color:#c9d9f5;border-radius:7px;background:var(--surface-blue);color:#2859a8;font-weight:700}.panel:not(.property-panel) .prop-row input[type=checkbox]{width:36px;height:21px;border:1px solid #b7c0ce;border-radius:999px;background:#cfd6e1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.panel:not(.property-panel) .prop-row input[type=checkbox]:after{content:"";display:block;width:15px;height:15px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1c273b47;transition:transform .15s ease}.panel:not(.property-panel) .prop-row input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}.panel:not(.property-panel) .prop-row input[type=checkbox]:checked:after{transform:translate(15px)}.panel:not(.property-panel) .prop-row button.active{border-color:var(--accent);background:var(--surface-blue);color:#2859a8}.center{background:#fff;box-shadow:inset 0 0 0 1px #cad4e1a6}.overview{padding:6px;border-color:#cfd9e7;border-radius:11px;background:#fffffff0;box-shadow:0 8px 22px #212e4621;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.overview-title{color:#68768b;font-weight:700;letter-spacing:.02em}.overlay.empty{inset:50% auto auto 50%;width:min(360px,calc(100% - 40px));padding:28px 24px;transform:translate(-50%,-50%);border:1px dashed #c4d1e4;border-radius:14px;background:#f8fafde6;color:#718096;text-align:center}.bottombar{padding:8px 14px;border-top-color:#d3dce8;background:#f9fafcf7;box-shadow:0 -5px 18px #212e4612;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.timeline{gap:10px}.timeline .sim-title{color:#3c4a60;font-size:11px;font-weight:750}.timeline .play{width:38px;height:34px;padding:0;border-color:var(--accent);border-radius:9px;background:linear-gradient(135deg,#3978f0,var(--accent-dark));box-shadow:0 4px 10px #2f6fed33;color:#fff}.timeline input[type=range],.field-row input[type=range],.panel .prop-row input[type=range]{height:5px;border-radius:999px;accent-color:var(--accent)}.timeline .ph{min-width:106px;padding:4px 8px;border:1px solid #dce3ed;border-radius:8px;background:#f5f7fb;color:#68768c;font-size:11px}.speed{color:#68768c;font-size:11px}.speed input[type=number]{height:32px;border-color:#c9d8f2;border-radius:8px;background:var(--surface-blue);color:#2859a8;font-weight:700}.modal-backdrop{background:#26324752;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-backdrop.settings-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.settings-backdrop .modal-body{background:#f8f9fc;overscroll-behavior:contain;scrollbar-gutter:stable;contain:paint}.modal{border-color:#d2dce9;border-radius:var(--radius-lg);background:#f8f9fc;box-shadow:0 22px 60px #1d2b423d}.modal-head{min-height:52px;padding:12px 16px;border-bottom-color:#dce3ed;background:#ffffffe6}.modal-head h2{color:#303e54;font-size:14px;font-weight:750}.modal-close{width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;color:#7d899b}.modal-close:hover{border-color:#d6deea;background:#f1f4f9}.modal-body{background:radial-gradient(circle at 100% 0,rgba(47,111,237,.06),transparent 180px),#f8f9fc}.modal-foot{border-top-color:#dce3ed;background:#ffffffd1}.modal-foot .open,.machine-row .open{border-color:#aac1ef;background:var(--surface-blue);color:#2859a8;font-weight:700}.export-format-modal{width:480px}.export-format-body{display:grid;gap:14px}.export-format-intro{color:#5e6b7f;font-size:13px}.export-format-options{display:grid;gap:10px}.export-format-option{min-height:76px;padding:12px;display:grid;grid-template-columns:54px minmax(0,1fr) 20px;gap:12px;align-items:center;border-color:#d4deec;border-radius:12px;background:#fff;text-align:left}.export-format-option:hover{border-color:#8faee8;background:var(--surface-blue);box-shadow:0 5px 16px #2f6fed1a}.export-format-badge{width:54px;height:44px;display:grid;place-items:center;border:1px solid #b9cae5;border-radius:9px;background:#eef4ff;color:#2859a8;font-size:13px;font-weight:800;letter-spacing:.04em}.export-format-copy{min-width:0;display:grid;gap:4px}.export-format-copy strong{color:#303e54;font-size:14px}.export-format-copy>span{color:#66748a;font-size:12px;line-height:1.45}.export-format-arrow{color:#8090a7;font-size:26px;line-height:1;text-align:center}.settings-modal{width:540px}.settings-head{min-height:66px}.settings-title{display:flex;align-items:center;gap:11px}.settings-title-icon,.settings-section-icon{display:inline-grid;flex:none;place-items:center;border:1px solid #c9d9f5;background:var(--surface-blue);color:#3d6fc4}.settings-title-icon{width:34px;height:34px;border-radius:10px;box-shadow:0 3px 9px #2f6fed1a}.settings-title-icon svg,.settings-section-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.settings-title p{margin-top:3px;color:#7b8799;font-size:11px}.settings-body{display:grid;gap:10px;padding:14px}.settings-foot{gap:8px}.settings-section{overflow:hidden;border:1px solid #d9e1ec;border-radius:11px;background:#ffffffc2;box-shadow:0 2px 7px #212e4609}.settings-section-head{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 12px;border-bottom:1px solid #e0e6ef;background:#f7f9fce0}.settings-section-icon{width:30px;height:30px;border-radius:9px}.settings-section-head h3{margin:0;color:#3b4960;font-size:12px;font-weight:750}.settings-section-head p{margin-top:3px;color:#7a8799;font-size:10px}.settings-control,.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px}.settings-control-copy{display:grid;gap:3px;color:#778498;font-size:10px}.settings-control-copy label,.settings-control-copy strong{color:#48566c;font-size:11px;font-weight:700}.settings-range{display:flex;align-items:center;gap:9px;min-width:230px}.settings-range input[type=range]{flex:1;height:5px;accent-color:var(--accent)}.settings-range output,.settings-count{border:1px solid #cbdaf2;border-radius:7px;background:var(--surface-blue);color:#3564b5;font-variant-numeric:tabular-nums;font-weight:700}.settings-range output{min-width:58px;padding:5px 7px;font-size:11px;text-align:center}.settings-toggle{justify-content:flex-start;cursor:pointer}.settings-toggle input[type=checkbox]{width:38px;height:22px;flex:none;border:1px solid #b7c0ce;border-radius:999px;background:#cfd6e1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.settings-toggle input[type=checkbox]:after{content:"";display:block;width:16px;height:16px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1c273b47;transition:transform .15s ease}.settings-toggle input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}.settings-toggle input[type=checkbox]:checked:after{transform:translate(16px)}.settings-note{margin:0 12px 12px!important;padding:8px 10px;border:1px dashed #d4deec;border-radius:8px;background:#f8faff;color:#718098;font-size:10px}.settings-count{margin-left:auto;padding:4px 7px;font-size:10px;white-space:nowrap}.settings-actions{display:flex;gap:7px;padding:12px}.settings-actions button{min-height:32px;border-radius:8px;font-size:11px;font-weight:650}.settings-format{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 12px 12px;padding:8px 10px;border:1px solid #e0e6ef;border-radius:8px;background:#f5f7fb;color:#758197;font-size:10px}.settings-format code{overflow:hidden;color:#51617b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.settings-error{margin:0 12px 10px!important;padding:8px 10px;border:1px solid #efc5c5;border-radius:8px;background:#fff4f4}@media (max-width: 560px){.settings-control{align-items:stretch;flex-direction:column}.settings-range{min-width:0}.settings-section-head{align-items:flex-start}.settings-count{display:none}}.field-label{color:#536178;font-size:12px;font-weight:700}.machine-row,.shortcut-row,.monitor-card{border-color:#dce3ed;border-radius:9px;background:#ffffffb8}.machine-row.active{border-color:#9fbcf2;background:#eaf1ff;box-shadow:inset 3px 0 0 var(--accent)}
