.gerridaj-cta-primary{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.5rem;background:#ff8c00;color:#1a1a1a;border:none;border-radius:8px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s,transform .15s;text-align:center;line-height:1.2}.gerridaj-cta-primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.gerridaj-cta-primary:disabled{opacity:.6;cursor:not-allowed}.gerridaj-cta-primary--block{width:100%}.small-modal-box .gerridaj-cta-primary--block{margin-top:1.25rem}.gerridaj-cta-themed{background:var(--primary-color, #bd752d);color:var(--btn-color, #ffffff)}.gerridaj-cta-themed:hover:not(:disabled){background:var(--accent-hover, var(--primary-color, #bd752d))}.pricing-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50000;padding:1rem;animation:pricingModalFadeIn .2s ease-out}.pricing-modal-content{background:#1a1a1a;border-radius:14px;max-width:520px;width:100%;max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 24px 80px #0000008c;border:1px solid rgba(255,140,0,.2)}.pricing-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:2rem;color:#888;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;z-index:1}.pricing-modal-close:hover,.pricing-modal-close:focus,.pricing-modal-close:focus-visible,.pricing-modal-close:active{background:transparent;border:none;outline:none;box-shadow:none;color:#fff}.pricing-modal-header{padding:2rem 2rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.pricing-modal-header-icon{width:48px;height:48px;border-radius:12px;background:#ff8c0026;color:#ff8c00;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.pricing-modal-header h2{margin:0 0 .5rem;font-size:1.65rem;color:#fff;font-weight:600;letter-spacing:-.02em;line-height:1.2;padding-right:2.5rem}.pricing-modal-header p{margin:0;color:#e2e8f0b3;font-size:.95rem;line-height:1.55}.pricing-modal-body{padding:1.5rem 2rem 2rem}.pricing-modal-tiers{display:flex;flex-direction:column;gap:.75rem}.pricing-modal-tier{padding:1.25rem;border:1px solid rgba(255,140,0,.22);border-radius:10px;background:#ff8c000f}.pricing-modal-tier-title{font-weight:600;font-size:1.05rem;margin-bottom:.35rem;color:#fff}.pricing-modal-tier-desc{font-size:.9rem;color:#e2e8f0b3;line-height:1.45}.pricing-modal-body .gerridaj-cta-primary--block{margin-top:1.25rem}.pricing-modal-footer-note{text-align:center;margin:.75rem 0 0;color:#e2e8f073;font-size:.78rem;line-height:1.45}.pricing-modal-fallback{text-align:center;margin-top:1.25rem;color:#e2e8f099;font-size:.85rem;margin-bottom:0}@media (max-width: 640px){.pricing-modal-header,.pricing-modal-body{padding-left:1.25rem;padding-right:1.25rem}}@keyframes pricingModalFadeIn{0%{opacity:0}to{opacity:1}}.cam-2d-preview{position:relative;width:100%;height:100%;background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.cam-2d-canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.cam-2d-static{background:#fff;z-index:1}.cam-2d-dynamic{background:transparent;z-index:2;pointer-events:none}.cam-2d-controls{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:10;align-items:center}.cam-2d-generating{background:#ff9800e6;color:#fff;border-radius:4px;padding:4px 8px;font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cam-2d-pulse 1s ease-in-out infinite}@keyframes cam-2d-pulse{0%,to{opacity:.8}50%{opacity:1}}.cam-2d-fit-btn{background:#ffffffe6;border:1px solid #e0e0e0;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s ease}.cam-2d-fit-btn:hover{background:#fff;border-color:#2196f3;transform:translateY(-1px)}.cam-2d-fit-btn:active{transform:translateY(0)}.cam-2d-pass-controls{position:absolute;top:8px;left:8px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:6px;padding:8px;z-index:10;font-size:12px;box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cam-2d-pass-label{font-weight:600;color:#333;margin-right:8px;font-size:12px;line-height:32px}.cam-2d-pass-buttons{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}.cam-2d-pass-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px;background:#f8f8f8;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;font-size:10px;transition:all .2s ease;min-width:45px;height:32px;white-space:nowrap}.cam-2d-pass-btn:hover{background:#e8e8e8;border-color:#b0b0b0;transform:translateY(-1px)}.cam-2d-pass-btn.selected{background:#4caf50;color:#fff;border-color:#45a049;box-shadow:0 2px 4px #4caf504d}.cam-2d-pass-btn:first-of-type{font-weight:600;font-size:11px;min-width:35px}.cam-2d-pass-btn .pass-number{font-weight:600;font-size:11px;line-height:1}.cam-2d-pass-btn .pass-depth{color:#666;margin-top:1px;font-size:9px;line-height:1}.cam-2d-pass-btn.selected .pass-depth{color:#ffffffe6}.cam-2d-preview.loading .cam-2d-canvas{opacity:.5;background:linear-gradient(45deg,#f5f5f5,#e0e0e0);animation:cam-2d-loading 1.5s ease-in-out infinite}@keyframes cam-2d-loading{0%,to{opacity:.5}50%{opacity:.8}}.cam-2d-preview.empty:after{content:"No 2D geometry to display\aSelect geometry with 2D curves to see preview";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#999;font-size:14px;white-space:pre-line;pointer-events:none}.cam-2d-legend{position:absolute;bottom:8px;left:8px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:4px;padding:8px;font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;min-width:150px}.cam-2d-legend-title{font-weight:700;margin-bottom:6px;color:#333;border-bottom:1px solid #e0e0e0;padding-bottom:4px}.cam-2d-legend-items{display:flex;flex-direction:column;gap:4px}.cam-2d-legend-item{display:flex;align-items:center;gap:6px}.cam-2d-legend-color{width:12px;height:12px;border-radius:2px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.cam-2d-legend-item span{color:#555;font-size:11px}.cnc-2d-cam-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:999999;margin:0;padding:0}.cnc-2d-cam-modal-container{background:var(--color-background, #ffffff);border-radius:8px;box-shadow:0 25px 50px #0000004d;width:98vw;height:96vh;display:flex;flex-direction:column;overflow:hidden;margin:1vh}.cnc-2d-cam-modal-header{padding:16px 24px;border-bottom:1px solid var(--color-border, #e0e0e0);display:flex;align-items:center;justify-content:space-between;background:var(--color-surface, #f9f9f9);min-height:60px}.cnc-2d-cam-modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--color-text, #333333)}.cnc-2d-cam-modal-close{background:none;border:none;font-size:24px;cursor:pointer;padding:8px;border-radius:6px;color:var(--color-text-secondary, #666666);transition:all .2s ease;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.cnc-2d-cam-modal-close:hover{background:var(--color-hover, #f0f0f0);color:var(--color-text, #333333)}.cnc-2d-cam-modal-content{flex:1;display:flex;overflow:hidden}.cnc-2d-cam-settings-panel{width:450px;min-width:450px;border-right:1px solid var(--color-border, #e0e0e0);display:flex;flex-direction:column;background:var(--color-background, #ffffff)}.cnc-2d-cam-tabs{display:flex;border-bottom:1px solid var(--color-border, #e0e0e0);background:var(--color-surface, #f9f9f9)}.cnc-2d-cam-tab{flex:1;padding:12px 8px;border:none;background:none;cursor:pointer;font-size:12px;color:var(--color-text-secondary, #666666);transition:all .2s ease;border-bottom:2px solid transparent}.cnc-2d-cam-tab:hover{background:var(--color-hover, #f0f0f0);color:var(--color-text, #333333)}.cnc-2d-cam-tab.active{background:var(--color-background, #ffffff);color:var(--color-primary, #007AFF);border-bottom-color:var(--color-primary, #007AFF)}.cnc-2d-cam-tab-content{flex:1;padding:24px;overflow-y:auto}.cnc-2d-cam-section{margin-bottom:32px}.cnc-2d-cam-section h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--color-text, #333333)}.cnc-2d-setting-group{margin-bottom:16px}.cnc-2d-setting-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--color-text, #333333)}.cnc-2d-setting-group select{width:100%;padding:8px 12px;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;font-size:14px;background:var(--color-background, #ffffff);color:var(--color-text, #333333);transition:border-color .2s ease}.cnc-2d-setting-group select:focus{outline:none;border-color:var(--color-primary, #007AFF);box-shadow:0 0 0 3px #007aff1a}.cnc-2d-cam-preview-panel{flex:1;display:flex;flex-direction:column;background:var(--color-surface, #f9f9f9)}.cnc-2d-cam-preview-header{padding:20px 24px;border-bottom:1px solid var(--color-border, #e0e0e0);background:var(--color-background, #ffffff)}.cnc-2d-cam-preview-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text, #333333)}.cnc-2d-cam-preview-content{flex:1;padding:0;overflow:hidden;display:flex;flex-direction:column}.cnc-2d-geometry-info{background:var(--color-background, #ffffff);border-radius:8px;padding:16px;margin-bottom:20px;border:1px solid var(--color-border, #e0e0e0)}.cnc-2d-geometry-info p{margin:0 0 8px;font-size:14px;color:var(--color-text, #333333)}.cnc-2d-geometry-list{margin-top:12px}.cnc-2d-geometry-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-light, #f0f0f0);font-size:13px}.cnc-2d-geometry-item:last-child{border-bottom:none}.cnc-2d-toolpath-preview{flex:1;display:flex;flex-direction:column;background:var(--color-background, #ffcb1f);margin:0;padding:0;border:none;min-height:0}.cnc-2d-toolpath-preview h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text, #333333)}.cnc-2d-toolpath-info{margin-top:28px;margin-bottom:0;padding:0;background:transparent;border:none;border-radius:0}.cnc-2d-toolpath-info span span{padding:2px 6px;border-radius:3px;border:1px solid rgba(0,0,0,.1);white-space:nowrap}.cam-info-strategy{background:#2196f326;border-color:#2196f34d}.cam-info-tool{background:#ff980026;border-color:#ff98004d}.cam-info-compensation{background:#9c27b026;border-color:#9c27b04d}.cam-info-depth{background:#4caf5026;border-color:#4caf504d}.cam-info-stepdown{background:#00968826;border-color:#0096884d}.cam-info-stepover{background:#3f51b526;border-color:#3f51b54d}.cam-info-finish{background:#e91e6326;border-color:#e91e634d}.cam-info-feed{background:#f4433626;border-color:#f443364d}.cnc-2d-toolpath-info p{margin:0 0 4px;font-size:12px;color:var(--color-text-secondary, #666666)}.cnc-2d-toolpath-canvas{flex:1;min-height:0;height:100%;border:none;border-radius:0;background:var(--color-surface, #f9f9f9);display:flex;flex-direction:column;overflow:hidden}.cnc-2d-toolpath-placeholder{text-align:center;color:var(--color-text-secondary, #666666)}.cnc-2d-toolpath-placeholder p{margin:0 0 8px;font-size:14px}.cnc-2d-preview-note{font-size:12px!important;font-style:italic}.cnc-2d-cam-preview-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary, #666666);font-style:italic}.cnc-2d-cam-modal-footer{padding:20px 24px;border-top:1px solid var(--color-border, #e0e0e0);background:var(--color-surface, #f9f9f9)}.cnc-2d-cam-actions{display:flex;gap:12px;justify-content:flex-end}.cnc-2d-cam-btn-primary,.cnc-2d-cam-btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.cnc-2d-cam-btn-primary{background:var(--color-primary, #007AFF);color:#fff}.cnc-2d-cam-btn-primary:hover{background:var(--color-primary-dark, #0056b3)}.cnc-2d-cam-btn-secondary{background:var(--color-background, #ffffff);color:var(--color-text, #333333);border:1px solid var(--color-border, #e0e0e0)}.cnc-2d-cam-btn-secondary:hover{background:var(--color-hover, #f0f0f0)}@media (max-width: 1024px){.cnc-2d-cam-modal-container{width:95vw;height:90vh}.cnc-2d-cam-settings-panel{width:350px}}.cam-2d-legend{position:absolute;bottom:10px;left:10px;right:10px;background:#fffffff2;border:1px solid var(--color-border, #e0e0e0);border-radius:6px;padding:8px 12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:12px;pointer-events:none}.cam-2d-legend-title{font-size:12px;font-weight:600;color:var(--color-text, #333);white-space:nowrap;flex-shrink:0}.cam-2d-legend-items{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;flex:1}.cam-2d-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--color-text, #333);white-space:nowrap}.cam-2d-legend-color{width:12px;height:12px;border:1px solid #ccc;flex-shrink:0}.cam-2d-legend-stroke{width:20px;height:2px;flex-shrink:0}.cam-2d-legend-grid{width:16px;height:16px;flex-shrink:0}@media (max-width: 768px){.cnc-2d-cam-modal-content{flex-direction:column}.cnc-2d-cam-settings-panel{width:100%;height:50%;border-right:none;border-bottom:1px solid var(--color-border, #e0e0e0)}.cnc-2d-cam-preview-panel{height:50%}.cam-2d-legend-items{gap:8px}.cam-2d-legend-item{font-size:9px}}.cnc-2d-cam-subsection{margin-bottom:16px;padding:12px;background:var(--color-surface-alt, #f5f5f5);border:1px solid var(--color-border-light, #e5e5e5);border-radius:6px}.cnc-2d-cam-subsection h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text-secondary, #555555);border-bottom:1px solid var(--color-border-light, #e5e5e5);padding-bottom:6px}.cnc-2d-cam-subsection .form-row{margin-bottom:8px}.cnc-2d-cam-subsection .form-row:last-child{margin-bottom:0}.cnc-2d-cam-subsection select{width:100%;padding:6px 8px;border:1px solid var(--color-border, #d0d0d0);border-radius:4px;background:var(--color-background, #ffffff);font-size:12px}.cnc-2d-cam-subsection label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text, #333333)}.cnc-2d-cam-subsection input[type=checkbox]{width:16px;height:16px}.small-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000040;z-index:2000;display:flex!important;align-items:center!important;justify-content:center!important}.premium-modal-overlay{z-index:50000!important;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important}.small-modal-box{background:var(--panel-bg, #23272b);color:var(--text-color, #fff);border-radius:8px;padding:24px;min-width:260px;max-width:360px;box-shadow:0 2px 16px #00000040;position:relative}.small-modal-title{font-size:1.2rem;font-weight:700;margin-bottom:1rem;text-align:center;word-wrap:break-word!important;word-break:break-word!important;overflow-wrap:break-word!important;-webkit-hyphens:auto;hyphens:auto;line-height:1.3;white-space:normal!important;max-width:100%;min-width:0}.small-modal-message{font-size:1.1em;text-align:center;margin:16px 0}.small-modal-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.small-modal-btn{border:none;border-radius:6px;padding:10px 20px;cursor:pointer;font-size:.95rem;font-weight:500;transition:opacity .2s,transform .1s;min-width:90px}.small-modal-btn:hover{opacity:.9}.small-modal-btn:active{transform:scale(.98)}.small-modal-btn-secondary{background:#444;color:#fff}.small-modal-btn-secondary:hover{background:#555}.small-modal-btn-primary{background:#ff9800;color:#fff;font-weight:600}.small-modal-btn-primary:hover{background:#fb8c00}.small-modal-btn-success{background:#4caf50;color:#fff;font-weight:600}.small-modal-btn-success:hover{background:#45a049}.gcode-generator-settings{display:flex;flex-direction:column;gap:12px}.gcode-settings-row{display:flex;align-items:center;gap:12px;width:100%;min-height:40px}.gcode-filename-section{display:flex;flex-direction:column;flex:1;min-width:0;justify-content:center}.gcode-filename-label{font-size:12px;font-weight:600;color:var(--text-primary, #333);margin-bottom:4px;line-height:1.2}.gcode-filename-input{width:100%;padding:8px 12px;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:13px;font-family:inherit;background:var(--background-primary, #fff);color:var(--text-primary, #333);box-sizing:border-box;height:36px}.gcode-filename-input:focus{outline:none;border-color:var(--node-primary-color, #ff6b35);box-shadow:0 0 0 2px #ff6b3533}.gcode-comments-section{display:none;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;height:36px;justify-content:center}.gcode-comments-checkbox{width:16px;height:16px;accent-color:var(--node-primary-color, #ff6b35)}.gcode-comments-label{font-size:11px;font-weight:500;color:var(--text-secondary, #666);cursor:pointer;-webkit-user-select:none;user-select:none}.export-section{margin-top:20px;padding:12px;border:2px solid var(--node-primary-color, #ff6b35);border-radius:8px;background:var(--background-secondary, #f9f9f9)}.export-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.export-header h5{margin:0;color:var(--node-primary-color, #ff6b35);font-size:14px;font-weight:600}.export-status .status-text{font-size:11px;font-weight:500;color:var(--text-secondary, #666)}.export-controls{text-align:center}.export-btn{background:var(--node-primary-color, #ff6b35);color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;min-width:160px}.export-btn:hover:not(:disabled){background:var(--node-primary-hover, #e55a2b);transform:translateY(-1px);box-shadow:0 3px 6px #0003}.export-btn:disabled{background:var(--text-disabled, #ccc);cursor:not-allowed;transform:none;box-shadow:none}.export-btn:active:not(:disabled){transform:translateY(0)}.gcode-preview-heading{margin:8px 0 4px;padding:0;font-size:14px;font-weight:600;color:var(--node-primary-color, #ff6b35)}.gcode-output-preview{margin:0;padding:0;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;background:var(--background-secondary, #fafafa);display:flex;flex-direction:column;width:100%;height:300px;max-height:300px;min-height:150px}.gcode-preview-header{padding:0;margin:0}.gcode-preview-header h5{margin:0;color:var(--node-primary-color, #ff6b35);font-size:14px;font-weight:600}.gcode-preview-wrapper{padding:0;margin:0;flex:1;width:100%;height:100%}.gcode-display-container{background:var(--background-secondary, #f8f9fa);color:var(--text-primary, #333);padding:12px;border-radius:6px;font-family:monospace;font-size:11px;line-height:1.2;overflow:auto;width:100%;height:100%;margin:0;box-sizing:border-box;flex:1}.gcode-display-container code{background:none;color:inherit;padding:0;border:none;margin:0;display:inline;line-height:1.2}.gcode-display-container br{line-height:1.1;margin:0;padding:0}.gcode-display-container code div{margin:0;padding:0;white-space:nowrap;line-height:1.2}.gcode-preview-with-comments,.gcode-preview-no-comments{height:100%;width:100%;margin:0;padding:0;line-height:1.2}.gcode-preview-with-comments code,.gcode-preview-no-comments code{background:none;color:inherit;padding:0;border:none;margin:0;display:inline;line-height:1.2}.gcode-preview-with-comments br,.gcode-preview-no-comments br{line-height:1.1;margin:0;padding:0}.gcode-preview-with-comments code:first-child,.gcode-preview-with-comments code:nth-child(2),.gcode-preview-with-comments code:nth-child(3){color:#75715e}.gcode-preview-with-comments code:nth-child(4),.gcode-preview-with-comments code:nth-child(5){color:#a6e22e}.gcode-preview-no-comments code{color:#a6e22e}.gcode-multi-files-container{display:flex;flex-direction:column;gap:0;height:100%;width:100%;margin:0;padding:0;flex:1;overflow:hidden}.gcode-single-file-container{border:none;border-radius:0;padding:0;margin:0;background:transparent;flex:1;display:flex;flex-direction:column;width:100%;overflow:hidden}.gcode-single-file-container h6{margin:0 0 8px;color:var(--node-primary-color, #ff6b35);font-size:12px;font-weight:600;padding:8px;background:var(--background-secondary, #f8f9fa);border-radius:6px 6px 0 0;flex-shrink:0}.gcode-single-file-container .gcode-display-container{flex:1;margin:0;border-radius:0 0 6px 6px;overflow:auto}.gcode-content-display{background:var(--background-secondary, #f8f9fa);color:var(--text-primary, #333);padding:8px;border-radius:4px;font-family:monospace;font-size:10px;line-height:1.2;overflow:auto;height:100%;width:100%;margin:0;box-sizing:border-box;border:1px solid var(--border-color, #e9ecef)}.gcode-content-display code div{margin:0;padding:0;white-space:nowrap;line-height:1.2}.gcode-virtual-list-container>div{scrollbar-width:thin!important}.gcode-virtual-list-container>div::-webkit-scrollbar{width:12px!important}.gcode-virtual-list-container>div::-webkit-scrollbar-track{border-radius:6px!important}.gcode-virtual-list-container>div::-webkit-scrollbar-thumb{background:var(--text-disabled, #999)!important;border-radius:6px!important}.gcode-virtual-list-container>div::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #666)!important}.gcode-empty-display{background:var(--background-secondary, #f8f9fa);color:var(--text-secondary, #666);padding:8px;border-radius:4px;font-family:monospace;font-size:10px;text-align:center;height:100%;width:100%;margin:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color, #e9ecef)}body.dark-mode .gcode-display-container,body.theme-dark .gcode-display-container{background:#1a1a22;color:#e6e6e6}body.dark-mode .gcode-content-display,body.theme-dark .gcode-content-display{background:#1a1a22;color:#e6e6e6;border-color:#333}body.dark-mode .gcode-single-file-container h6,body.theme-dark .gcode-single-file-container h6{background:#23232b}body.dark-mode .gcode-empty-display,body.theme-dark .gcode-empty-display{background:#1a1a22;color:#888;border-color:#333}body.dark-mode .gcode-virtual-list-container>div,body.theme-dark .gcode-virtual-list-container>div{scrollbar-color:#555 #1a1a22!important}body.dark-mode .gcode-virtual-list-container>div::-webkit-scrollbar-track,body.theme-dark .gcode-virtual-list-container>div::-webkit-scrollbar-track{background:#1a1a22!important}body.dark-mode .gcode-virtual-list-container>div::-webkit-scrollbar-thumb,body.theme-dark .gcode-virtual-list-container>div::-webkit-scrollbar-thumb{background:#555!important;border:2px solid #1a1a22!important}body.dark-mode .gcode-virtual-list-container>div::-webkit-scrollbar-thumb:hover,body.theme-dark .gcode-virtual-list-container>div::-webkit-scrollbar-thumb:hover{background:#777!important}body.theme-light .gcode-display-container,body:not(.theme-dark):not(.dark-mode) .gcode-display-container{background:#fff;color:#333}body.theme-light .gcode-content-display,body:not(.theme-dark):not(.dark-mode) .gcode-content-display{background:#f5f5f5;color:#333;border-color:#ddd}body.theme-light .gcode-single-file-container h6,body:not(.theme-dark):not(.dark-mode) .gcode-single-file-container h6{background:#f0f0f0}body.theme-light .gcode-empty-display,body:not(.theme-dark):not(.dark-mode) .gcode-empty-display{background:#f5f5f5;color:#999;border-color:#ddd}body.theme-light .gcode-virtual-list-container>div,body:not(.theme-dark):not(.dark-mode) .gcode-virtual-list-container>div{scrollbar-color:#bbb #f5f5f5!important}body.theme-light .gcode-virtual-list-container>div::-webkit-scrollbar-track,body:not(.theme-dark):not(.dark-mode) .gcode-virtual-list-container>div::-webkit-scrollbar-track{background:#f5f5f5!important}body.theme-light .gcode-virtual-list-container>div::-webkit-scrollbar-thumb,body:not(.theme-dark):not(.dark-mode) .gcode-virtual-list-container>div::-webkit-scrollbar-thumb{background:#bbb!important;border-color:#f5f5f5!important}body.theme-light .gcode-virtual-list-container>div::-webkit-scrollbar-thumb:hover,body:not(.theme-dark):not(.dark-mode) .gcode-virtual-list-container>div::-webkit-scrollbar-thumb:hover{background:#999!important}.preview-btn,.gcode-close-btn{padding:6px 10px;border:1px solid var(--border-color, #e9ecef);border-radius:4px;background:var(--background-secondary, #f8f9fa);color:var(--text-primary, #333);cursor:pointer;font-size:14px;transition:background .2s,border-color .2s;display:flex;align-items:center;justify-content:center}.gcode-close-btn{padding:4px 8px;font-size:14px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary, #666);transition:color .2s}.gcode-close-btn:hover{color:var(--text-primary, #333)}.preview-btn:hover:not(:disabled){background:var(--background-primary, #fff);border-color:var(--node-primary-color, #ff6b35)}.preview-btn:disabled{opacity:.5;cursor:not-allowed}.preview-btn.active{background:var(--node-primary-alpha-20, rgba(255, 107, 53, .2));border-color:var(--node-primary-color, #ff6b35)}body.dark-mode .preview-btn,body.theme-dark .preview-btn{background:#23232b;border-color:#444;color:#e6e6e6}body.dark-mode .gcode-close-btn,body.theme-dark .gcode-close-btn{color:#888}body.dark-mode .gcode-close-btn:hover,body.theme-dark .gcode-close-btn:hover{color:#e6e6e6}body.dark-mode .preview-btn:hover:not(:disabled),body.theme-dark .preview-btn:hover:not(:disabled){background:#2d2d35;border-color:var(--node-primary-color, #ff6b35)}body.dark-mode .preview-btn.active,body.theme-dark .preview-btn.active{background:#ff6b3533;border-color:var(--node-primary-color, #ff6b35)}.gcode-info-text{font-size:12px;color:var(--text-secondary, #666);margin-top:8px;font-style:italic}body.dark-mode .gcode-info-text,body.theme-dark .gcode-info-text{color:#aaa}.export-btn.primary{background:var(--node-primary-color, #ff6b35);margin-bottom:12px}.export-btn.secondary{background:var(--background-tertiary, #f0f0f0);color:var(--text-primary, #333);border:1px solid var(--border-color, #ccc);padding:6px 12px;margin:2px 6px 2px 0;min-width:auto;font-size:11px}.export-btn.secondary:hover:not(:disabled){background:var(--background-hover, #e8e8e8);border-color:var(--node-primary-color, #ff6b35)}.individual-files{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color, #e0e0e0)}.warnings-section{background:#fef9e7;border:1px solid #ffeaa7;border-radius:6px;padding:16px;margin:16px 0}.warnings-header h5{margin:0 0 8px;font-size:16px;font-weight:600}.warnings-list{margin-top:12px}.warning-geometry-group{margin-bottom:12px}.warning-geometry-group:last-child{margin-bottom:0}.warning-items{margin-left:12px}.warning-item{transition:all .2s ease}.warning-item:hover{background:#fff8dc!important;border-color:gold!important;transform:translateY(-1px);box-shadow:0 2px 6px #ffab0033}.export-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.export-btn:disabled:hover{background:inherit;border-color:inherit;transform:none}@media (prefers-color-scheme: light){.export-btn{background:var(--node-primary-color, #ff6b35)!important;color:#fff!important;border-color:var(--node-primary-color, #ff6b35)!important}.export-btn:hover:not(:disabled){background:var(--node-primary-hover, #e55a2b)!important;border-color:var(--node-primary-hover, #e55a2b)!important}.export-btn.primary{background:var(--node-primary-color, #ff6b35)!important;color:#fff!important;border-color:var(--node-primary-color, #ff6b35)!important}}body.theme-light .export-btn{background:var(--node-primary-color, #ff6b35)!important;color:#fff!important;border-color:var(--node-primary-color, #ff6b35)!important}body.theme-light .export-btn:hover:not(:disabled){background:var(--node-primary-hover, #e55a2b)!important;border-color:var(--node-primary-hover, #e55a2b)!important}body.theme-light .export-btn.primary{background:var(--node-primary-color, #ff6b35)!important;color:#fff!important;border-color:var(--node-primary-color, #ff6b35)!important}.gcode-permission-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100000;padding:20px;animation:gcode-modal-fade-in .2s ease-out}@keyframes gcode-modal-fade-in{0%{opacity:0}to{opacity:1}}.gcode-permission-modal-box{background:var(--bg-color);border-radius:8px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow:auto;animation:gcode-modal-slide-up .3s ease-out;border:1px solid var(--border-color)}@keyframes gcode-modal-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.gcode-permission-modal-header{display:flex;align-items:center;gap:16px;padding:24px 24px 16px;border-bottom:1px solid var(--border-color)}.gcode-permission-modal-icon{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-color)}.gcode-permission-modal-box[data-auth-required=true] .gcode-permission-modal-icon{color:var(--primary-color);background:rgba(var(--primary-color-rgb),.1)}.gcode-permission-modal-box[data-auth-required=false] .gcode-permission-modal-icon{color:var(--avatar-bg);background:rgba(var(--primary-color-rgb),.1)}.gcode-permission-modal-title{margin:0;font-size:20px;font-weight:600;color:var(--text-color);letter-spacing:-.01em}.gcode-permission-modal-content{padding:24px;color:var(--text-color);line-height:1.6;font-size:14px}.gcode-permission-modal-content p{margin:0 0 16px;color:var(--text-color)}.gcode-permission-modal-content p:last-child{margin-bottom:0}.gcode-permission-modal-content strong{font-weight:600;color:var(--text-color)}.gcode-permission-modal-content ul{margin:12px 0 16px;padding-left:24px;list-style-type:disc}.gcode-permission-modal-content li{margin-bottom:8px;color:var(--text-color)}.gcode-permission-modal-content a{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s ease}.gcode-permission-modal-content a:hover{color:var(--accent-hover);text-decoration:underline}.gcode-permission-modal-content .info-note{padding:12px 16px;margin:16px 0;border-radius:6px;background:var(--bg-secondary);border-left:3px solid var(--border-color);font-size:13px}.gcode-permission-modal-content .info-note strong{display:block;margin-bottom:4px}.gcode-permission-modal-actions{display:flex;gap:12px;padding:16px 24px 24px;border-top:1px solid var(--border-color);justify-content:flex-end}.gcode-permission-modal-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;font-family:inherit;min-width:100px;text-align:center}.gcode-permission-modal-btn:focus{outline:none;box-shadow:0 0 0 3px #ffffff1a}.gcode-permission-modal-btn:active{transform:translateY(1px)}.gcode-permission-modal-btn-secondary{background:var(--bg-secondary);color:var(--text-color);border:1px solid var(--border-color)}.gcode-permission-modal-btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.gcode-permission-modal-btn-secondary:active{background:var(--bg-color)}.gcode-permission-modal-btn-primary{background:var(--primary-color);color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.3)}.gcode-permission-modal-btn-primary:hover{background:var(--accent-hover);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.4);transform:translateY(-1px)}.gcode-permission-modal-btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.3)}body.theme-dark .gcode-permission-modal-box{background:#1e1e1e;border-color:#404040}body.theme-dark .gcode-permission-modal-header,body.theme-dark .gcode-permission-modal-actions{border-color:#404040}body.theme-dark .gcode-permission-modal-icon{background:#ffffff0d}body.theme-dark .gcode-permission-modal-btn-secondary{background:#2a2a2a;border-color:#404040;color:#e0e0e0}body.theme-dark .gcode-permission-modal-btn-secondary:hover{background:#333;border-color:#555}body.theme-light .gcode-permission-modal-box{background:#fff;border-color:#e0e0e0}body.theme-light .gcode-permission-modal-header,body.theme-light .gcode-permission-modal-actions{border-color:#e0e0e0}body.theme-light .gcode-permission-modal-icon{background:#0000000d}body.theme-light .gcode-permission-modal-btn-secondary{background:#f5f5f5;border-color:#d0d0d0;color:#333}body.theme-light .gcode-permission-modal-btn-secondary:hover{background:#eee;border-color:#b0b0b0}@media (max-width: 640px){.gcode-permission-modal-box{max-width:100%;margin:0 12px}.gcode-permission-modal-header{padding:20px 16px 12px}.gcode-permission-modal-content{padding:20px 16px}.gcode-permission-modal-actions{padding:12px 16px 20px;flex-direction:column}.gcode-permission-modal-btn{width:100%}.gcode-permission-modal-icon{width:40px;height:40px}.gcode-permission-modal-title{font-size:18px}}.gcode-help-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;box-sizing:border-box;animation:gcode-modal-fade-in .2s ease-out}.gcode-help-modal-box{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;max-width:480px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:gcode-modal-slide-up .3s ease-out;border:1px solid #e0e0e0}.gcode-help-modal-box.wide{max-width:560px}.gcode-help-modal-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:#fafafa}.gcode-help-modal-title{margin:0;font-size:16px;font-weight:600;color:#333}.gcode-help-modal-body{padding:20px;overflow-y:auto;flex:1}.gcode-help-modal-body p{margin:0 0 16px;color:#555;line-height:1.6;font-size:14px}.gcode-help-modal-body p:last-child{margin-bottom:0}.gcode-help-modal-body p.error-text{color:#c53030;font-weight:600}.gcode-help-info-box{margin-bottom:16px;padding:14px 16px;border-radius:6px;border:1px solid #e0e0e0;background:#f8f8f8}.gcode-help-info-box:last-child{margin-bottom:0}.gcode-help-info-box h4{margin:0 0 10px;font-size:13px;font-weight:600;color:#444;text-transform:uppercase;letter-spacing:.3px}.gcode-help-info-box ul,.gcode-help-info-box ol{margin:0;padding-left:18px;color:#555;font-size:13px;line-height:1.7}.gcode-help-info-box li{margin-bottom:4px}.gcode-help-info-box li:last-child{margin-bottom:0}.gcode-help-info-box li strong{color:#333}.gcode-help-info-box p{margin:0;font-size:13px;color:#555;line-height:1.6}.gcode-warning-item{margin-bottom:12px;padding:14px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.gcode-warning-item:last-child{margin-bottom:0}.gcode-warning-item h4{margin:0 0 10px;font-size:14px;font-weight:600;color:#991b1b}.gcode-warning-item-detail{padding-left:12px;margin-bottom:6px}.gcode-warning-item-detail:last-child{margin-bottom:0}.gcode-warning-item-detail .label{font-weight:600;color:#333;font-size:13px}.gcode-warning-item-detail .description{font-size:12px;color:#555;margin-top:2px;padding-left:10px}.gcode-warning-item-detail .tooltip{font-size:11px;color:#777;margin-top:2px;padding-left:10px;font-style:italic}.gcode-help-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e0e0e0;background:#fafafa}.gcode-help-modal-btn{padding:8px 16px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s ease;font-family:inherit}.gcode-help-modal-btn:focus{outline:none}.gcode-help-modal-btn:active{transform:translateY(1px)}.gcode-help-modal-btn-primary{background:#4a5568;color:#fff}.gcode-help-modal-btn-primary:hover{background:#2d3748}body.theme-dark .gcode-help-modal-box,body.dark-mode .gcode-help-modal-box{background:#1e1e26;border-color:#3a3a44}body.theme-dark .gcode-help-modal-header,body.dark-mode .gcode-help-modal-header{background:#23232b;border-color:#3a3a44}body.theme-dark .gcode-help-modal-title,body.dark-mode .gcode-help-modal-title{color:#e6e6e6}body.theme-dark .gcode-help-modal-body p,body.dark-mode .gcode-help-modal-body p{color:#b0b0b8}body.theme-dark .gcode-help-modal-body p.error-text,body.dark-mode .gcode-help-modal-body p.error-text{color:#fc8181}body.theme-dark .gcode-help-info-box,body.dark-mode .gcode-help-info-box{background:#2a2a33;border-color:#3a3a44}body.theme-dark .gcode-help-info-box h4,body.dark-mode .gcode-help-info-box h4{color:#c0c0c8}body.theme-dark .gcode-help-info-box ul,body.theme-dark .gcode-help-info-box ol,body.theme-dark .gcode-help-info-box p,body.dark-mode .gcode-help-info-box ul,body.dark-mode .gcode-help-info-box ol,body.dark-mode .gcode-help-info-box p{color:#a0a0a8}body.theme-dark .gcode-help-info-box li strong,body.dark-mode .gcode-help-info-box li strong{color:#e6e6e6}body.theme-dark .gcode-warning-item,body.dark-mode .gcode-warning-item{background:#991b1b26;border-color:#fecaca4d}body.theme-dark .gcode-warning-item h4,body.dark-mode .gcode-warning-item h4{color:#fca5a5}body.theme-dark .gcode-warning-item-detail .label,body.dark-mode .gcode-warning-item-detail .label{color:#e6e6e6}body.theme-dark .gcode-warning-item-detail .description,body.dark-mode .gcode-warning-item-detail .description{color:#a0a0a8}body.theme-dark .gcode-warning-item-detail .tooltip,body.dark-mode .gcode-warning-item-detail .tooltip{color:#808088}body.theme-dark .gcode-help-modal-footer,body.dark-mode .gcode-help-modal-footer{background:#23232b;border-color:#3a3a44}body.theme-dark .gcode-help-modal-btn-primary,body.dark-mode .gcode-help-modal-btn-primary{background:#4a5568}body.theme-dark .gcode-help-modal-btn-primary:hover,body.dark-mode .gcode-help-modal-btn-primary:hover{background:#5a6578}@media (max-width: 640px){.gcode-help-modal-box{max-width:100%;margin:0 12px}.gcode-help-modal-header{padding:14px 16px}.gcode-help-modal-body{padding:16px}.gcode-help-modal-footer{padding:12px 16px}.gcode-help-modal-btn{width:100%}}.machine-visual-select{padding:8px 16px;border:2px solid #e1e5e9;border-radius:6px;background:#fff;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000d;width:280px;display:block;margin:0 auto 20px;text-align:center}body.theme-dark .machine-visual-select,body.dark-mode .machine-visual-select{border-color:#444;background:#1e1e26;color:#e0e0e0;box-shadow:0 2px 4px #0003}.machine-visual-container{width:100%;display:flex;flex-direction:column;align-items:center;padding:20px;background:#fafafa;border-radius:8px;border:1px solid #e1e5e9}body.theme-dark .machine-visual-container,body.dark-mode .machine-visual-container{background:#23232b;border-color:#444}.machine-visual-description{margin:0 0 20px;font-size:13px;color:#666;text-align:center;line-height:1.5}body.theme-dark .machine-visual-description,body.dark-mode .machine-visual-description{color:#999}.machine-visual-gcode-section{width:100%;background:#fff;padding:15px;border-radius:6px;border:1px solid #e1e5e9}body.theme-dark .machine-visual-gcode-section,body.dark-mode .machine-visual-gcode-section{background:#1e1e26;border-color:#444}.machine-visual-gcode-title{margin:0 0 8px;font-size:13px;color:#555;font-weight:600}body.theme-dark .machine-visual-gcode-title,body.dark-mode .machine-visual-gcode-title{color:#b0b0b0}.machine-visual-gcode-pre{background:#f5f5f5;padding:12px;border-radius:4px;font-size:12px;line-height:1.6;overflow:auto;margin:0;border:1px solid #e0e0e0;white-space:pre;font-family:monospace;color:#333}body.theme-dark .machine-visual-gcode-pre,body.dark-mode .machine-visual-gcode-pre{background:#1a1a20;border-color:#333;color:#e0e0e0}.export-mesh-settings,.download-stl-settings{width:100%;max-width:600px}.setting-group{margin-bottom:1rem}.setting-label{display:block;font-weight:600;margin-bottom:.25rem;color:var(--text-primary, #333);font-size:.95rem}.checkbox-label{display:flex;align-items:center;gap:.25rem;cursor:pointer}.setting-slider{width:100%;margin:.5rem 0}.setting-value{display:inline-block;min-width:2rem;text-align:center;font-weight:600;color:var(--node-primary-color, #ff0000);margin-left:.5rem}.input-row{display:flex;align-items:center;gap:.25rem}.folder-input{flex:1;color:var(--text-secondary, #666);font-style:italic}.folder-select-btn{padding:.5rem 1rem;background:var(--node-primary-color, #ff0000)!important;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;white-space:nowrap;transition:all .2s ease}.folder-select-btn:hover{background:color-mix(in srgb,var(--node-primary-color, #ff0000) 85%,black)!important}.setting-input{flex:1;padding:.5rem;border:2px solid var(--border-color, #ddd);border-radius:6px;font-size:.95rem;background:var(--input-bg, #fff);color:var(--text-primary, #333);transition:all .2s ease}.setting-input:focus{outline:none;border-color:var(--primary-color, #0066cc);box-shadow:0 0 0 3px var(--primary-color-alpha, rgba(0, 102, 204, .1))}.file-extension{color:var(--text-secondary, #666);font-weight:500;font-size:.95rem}.setting-select{width:100%;padding:.5rem;border:2px solid var(--border-color, #ddd);border-radius:6px;font-size:.95rem;background:var(--input-bg, #fff);color:var(--text-primary, #333);cursor:pointer;transition:all .2s ease}.setting-select:focus{outline:none;border-color:var(--primary-color, #0066cc);box-shadow:0 0 0 3px var(--primary-color-alpha, rgba(0, 102, 204, .1))}.setting-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--node-primary-color, #b0275b)!important}.setting-hint{margin-top:.25rem;font-size:.85rem;color:var(--text-secondary, #666);line-height:1.4}.geometry-info-section,.last-export-section{background:var(--section-bg, #f8f9fa);border:1px solid var(--border-light, #e9ecef);border-radius:8px;padding:.75rem;margin-top:1rem}.geometry-info-section h5,.last-export-section h5{margin:0 0 .5rem;color:var(--text-primary, #333);font-size:1rem;font-weight:600}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border-bottom:1px solid var(--border-light, #e9ecef)}.info-item:last-child{border-bottom:none}.info-label{font-weight:500;color:var(--text-secondary, #666);font-size:.9rem}.info-value{font-weight:600;color:var(--text-primary, #333);font-size:.9rem;text-align:right}.download-section{margin-top:1.25rem;padding-top:1rem;border-top:2px solid var(--border-color, #ddd)}.download-section h5{margin:0 0 1rem;color:var(--text-primary, #333);font-size:1.1rem;font-weight:600}.download-container{display:flex;flex-direction:column;gap:.75rem}.download-btn{padding:.65rem 1.25rem;background:var(--node-primary-color, #ff0000)!important;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:40px;display:flex;align-items:center;justify-content:center}.download-btn:hover:not(.disabled){background:color-mix(in srgb,var(--node-primary-color, #b0275b) 85%,black)!important;transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--node-primary-color, #b0275b) 30%,transparent)}.download-btn:active:not(.disabled){transform:translateY(0);box-shadow:0 2px 6px color-mix(in srgb,var(--node-primary-color, #b0275b) 30%,transparent)}.download-btn.disabled{background:#6c757d!important;background-color:#6c757d!important;background-image:none!important;color:#fff!important;cursor:not-allowed!important;opacity:.7!important;transform:none!important;box-shadow:none!important;border:none!important}.warning-message,.error-message{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.9rem;line-height:1.4}.warning-message{background:var(--warning-bg, #fff3cd);border:1px solid var(--warning-border, #ffecb5);color:var(--warning-text, #664d03)}.error-message{background:var(--error-bg, #f8d7da);border:1px solid var(--error-border, #f5c6cb);color:var(--error-text, #721c24)}.warning-icon,.error-icon{font-size:1.1rem;flex-shrink:0}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}.download-stl-settings{max-width:100%}.setting-input,.setting-select{font-size:16px}}._loadGcodeSettings_ejv5t_4{background:#f8f8f8;color:#2a2a2a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.4;height:100%;overflow-y:auto}._content_ejv5t_14{padding:0}._panelGroup_ejv5t_18{margin-bottom:2px}._checkboxGrid_ejv5t_23{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px;padding:8px 0}._checkboxLabel_ejv5t_30{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-secondary, #b0b0b0);-webkit-user-select:none;user-select:none}._checkboxLabel_ejv5t_30 input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#9b59b6}._checkboxLabel_ejv5t_30 span{flex:1}._checkboxLabel_ejv5t_30:hover{color:var(--text-primary, #ffffff)}@media (max-width: 600px){._checkboxGrid_ejv5t_23{grid-template-columns:1fr}}.load-gcode-visual-select{padding:8px 16px;border:2px solid #e1e5e9;border-radius:6px;background:#fff;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000d;width:280px;display:block;margin:0 auto 20px;text-align:center}body.theme-dark .load-gcode-visual-select,body.dark-mode .load-gcode-visual-select{border-color:#444;background:#1e1e26;color:#e0e0e0;box-shadow:0 2px 4px #0003}.load-gcode-visual-container{width:100%;display:flex;flex-direction:column;align-items:center;padding:20px;background:#fafafa;border-radius:8px;border:1px solid #e1e5e9}body.theme-dark .load-gcode-visual-container,body.dark-mode .load-gcode-visual-container{background:#23232b;border-color:#444}.load-gcode-visual-description{margin:0 0 20px;font-size:13px;color:#666;text-align:center;line-height:1.5}body.theme-dark .load-gcode-visual-description,body.dark-mode .load-gcode-visual-description{color:#999}.load-gcode-visual-section{width:100%;background:#fff;padding:15px;border-radius:6px;border:1px solid #e1e5e9}body.theme-dark .load-gcode-visual-section,body.dark-mode .load-gcode-visual-section{background:#1e1e26;border-color:#444}.load-gcode-visual-section+.load-gcode-visual-section{margin-top:15px}.load-gcode-visual-title{margin:0 0 8px;font-size:13px;color:#555;font-weight:600}body.theme-dark .load-gcode-visual-title,body.dark-mode .load-gcode-visual-title{color:#b0b0b0}.load-gcode-visual-pre{background:#f5f5f5;padding:12px;border-radius:4px;font-size:12px;line-height:1.6;overflow:auto;margin:0;border:1px solid #e0e0e0;white-space:pre;font-family:monospace;color:#333}body.theme-dark .load-gcode-visual-pre,body.dark-mode .load-gcode-visual-pre{background:#1a1a20;border-color:#333;color:#e0e0e0}.load-gcode-visual-list{margin:0;padding-left:20px;font-size:12px;line-height:1.8;color:#666}body.theme-dark .load-gcode-visual-list,body.dark-mode .load-gcode-visual-list{color:#999}.gcode-simulator-fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary, #23232b);z-index:99999;display:flex;align-items:stretch;justify-content:stretch;opacity:1;visibility:visible}.gcode-simulator-fullscreen{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary, #23232b);color:var(--text-color, #e6e6e6);overflow:hidden;--simulator-replay-height: 52px}[data-mantine-color-scheme=light] .gcode-simulator-fullscreen-overlay{background:var(--bg-primary, #f8f8f8)}[data-mantine-color-scheme=light] .gcode-simulator-fullscreen{background:var(--bg-primary, #f8f8f8);color:var(--text-color, #2a2a2a)}.gcode-simulator-header-fullscreen{display:flex;justify-content:space-between;align-items:stretch;padding:6px 12px 6px 16px;background:var(--bg-secondary, #2d2d35);border-bottom:1px solid var(--panel-border, #444444);flex-shrink:0;gap:12px}[data-mantine-color-scheme=light] .gcode-simulator-header-fullscreen{background:var(--bg-secondary, #f2f2f2);border-bottom-color:var(--panel-border, #d0d0d0)}.simulator-header-left{display:flex;align-items:center;gap:16px;flex-shrink:0;align-self:center}.simulator-header-left h4{margin:0;font-size:16px;font-weight:600;color:var(--text-color, #e6e6e6)}[data-mantine-color-scheme=light] .simulator-header-left h4{color:var(--text-color, #2a2a2a)}.simulator-time-info{font-size:12px;color:var(--text-muted, #888888);font-family:Monaco,Courier New,monospace;background:var(--tertiary-bg, #23232b);padding:4px 10px;border-radius:4px}.collision-warning-container{display:flex;align-items:center;gap:8px}.collision-warning-badge{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#fff;background:#e74c3c;padding:4px 10px;border-radius:4px;animation:collision-pulse 1.5s ease-in-out infinite}.collision-warning-badge svg{flex-shrink:0}.validation-warning-badge{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#fff;background:#8e44ad;padding:4px 10px;border-radius:4px;animation:collision-pulse 1.5s ease-in-out infinite}.validation-warning-badge svg{flex-shrink:0}.validation-warning-container{margin-left:8px}.show-all-collisions-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted, #888888);cursor:pointer;-webkit-user-select:none;user-select:none}.show-all-collisions-toggle input{cursor:pointer}.show-all-collisions-toggle:hover{color:var(--text-color, #e6e6e6)}[data-mantine-color-scheme=light] .show-all-collisions-toggle:hover{color:var(--text-color, #2a2a2a)}.collision-nav-toggle{background:#ffa50026;padding:2px 6px;border-radius:4px;border:1px solid rgba(255,165,0,.3)}.collision-nav-toggle:has(input:checked){background:#ffa5004d;border-color:#ffa50099}.collision-nav-position{font-size:11px;font-weight:600;color:orange;background:#ffa50033;padding:2px 8px;border-radius:4px;font-family:monospace}@keyframes collision-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.collision-check-container{display:flex;align-items:center;flex-shrink:0}.collision-check-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:#fff;background:var(--tertiary-bg, #3d3d47);border:1px solid var(--panel-border, #555555);border-radius:4px;cursor:pointer;transition:all .15s ease}.collision-check-btn:hover{background:#e67e22;border-color:#e67e22}.collision-check-btn.collision-calculating{background:var(--tertiary-bg, #3d3d47);cursor:wait;opacity:.8}.collision-check-btn .spin,.collision-btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.collision-clear-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;color:#fff;background:#e74c3c;border:1px solid #c0392b;border-radius:4px;cursor:pointer;transition:all .15s ease}.collision-clear-btn:hover{background:#c0392b}[data-mantine-color-scheme=light] .collision-check-btn{background:#f0f0f0;border-color:#d0d0d0;color:#333}[data-mantine-color-scheme=light] .collision-check-btn:hover{background:#e67e22;border-color:#e67e22;color:#fff}.simulator-info-stack{display:flex;flex-direction:column;flex:1;min-width:0;gap:4px;justify-content:center;--simulator-info-group-height: 48px}.simulator-info-stack .simulator-info-group{min-height:var(--simulator-info-group-height);height:var(--simulator-info-group-height)}.simulator-info-row{display:flex;flex:0 0 auto;min-width:0;gap:8px;align-items:stretch;overflow-x:auto}.simulator-info-row--pose{flex-wrap:nowrap}.simulator-info-group{display:grid;gap:2px;align-items:stretch;padding:3px;border-radius:6px;border:1px solid var(--border-color, rgba(255, 255, 255, .08));background:#0000001f;flex-shrink:0}.simulator-info-group>.info-cell,.simulator-info-group>.info-cell-tooltip-target{height:100%;min-height:100%;align-self:stretch}.simulator-info-group>.info-cell-tooltip-target{display:flex;flex-direction:column}.simulator-info-group>.info-cell-tooltip-target>.info-cell{flex:1 1 auto;height:100%;min-height:0}.simulator-info-group .info-cell{justify-content:flex-start;align-items:stretch;height:100%;padding:3px 4px 4px}.simulator-info-group .info-cell-label-row{flex:0 0 14px;min-height:14px;height:14px;align-items:center}.simulator-info-group .info-cell>.info-cell-tooltip-target--label{flex:0 0 auto;height:auto;min-height:14px;width:100%}.simulator-info-group .info-cell-value-row{flex:0 0 18px;height:18px;min-height:18px;max-height:18px;margin-top:auto;margin-bottom:0;align-items:flex-end;justify-content:center}.simulator-info-group .info-cell-value-row .info-cell-value{line-height:18px;height:18px;display:flex;align-items:flex-end;justify-content:center}.simulator-info-group .info-cell-value-row .info-cell-numeric-input{margin-top:0;flex:0 0 50px}.simulator-info-group--command{--command-toolbar-accent: #4ade80;--command-toolbar-accent-dim: #22c55e;--command-toolbar-glow: rgba(74, 222, 128, .55);border-width:2px;border-color:var(--command-toolbar-accent);box-shadow:inset 0 0 0 1px var(--command-toolbar-glow),0 0 14px #4ade8073;background:#22c55e47}[data-mantine-color-scheme=light] .simulator-info-group--command{--command-toolbar-accent: #16a34a;--command-toolbar-accent-dim: #15803d;--command-toolbar-glow: rgba(22, 163, 74, .45);border-color:var(--command-toolbar-accent);box-shadow:inset 0 0 0 1px var(--command-toolbar-glow),0 0 10px #16a34a59;background:#22c55e2e}.simulator-info-group--command .info-cell-frame-value{color:var(--command-toolbar-accent);font-weight:700}.simulator-info-group--command .info-cell-label{color:var(--command-toolbar-accent);font-weight:600}.simulator-info-group--command .info-cell-value{color:#bbf7d0;font-weight:600}.simulator-info-group--command .info-cell-unit{color:var(--command-toolbar-accent);opacity:.95}[data-mantine-color-scheme=light] .simulator-info-group--command .info-cell-frame-value,[data-mantine-color-scheme=light] .simulator-info-group--command .info-cell-label{color:var(--command-toolbar-accent-dim)}[data-mantine-color-scheme=light] .simulator-info-group--command .info-cell-value{color:#14532d}[data-mantine-color-scheme=light] .simulator-info-group--command .info-cell-unit{color:var(--command-toolbar-accent-dim)}[data-mantine-color-scheme=light] .simulator-info-group{border-color:#00000014;background:#00000008}.simulator-info-group--tcp{grid-template-columns:52px 76px 76px 76px}.simulator-info-group--tcp.simulator-info-group--6dof,.simulator-info-group--command.simulator-info-group--6dof{grid-template-columns:52px 76px 76px 76px 88px 88px 88px}.simulator-info-group--strategy{grid-template-columns:132px 72px 72px 72px}.simulator-info-group--program{grid-template-columns:104px 108px 64px 52px 68px}.simulator-info-group--extra{grid-template-columns:58px 58px 58px 58px 58px 52px;flex-shrink:1;min-width:0}.info-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:4px;background:var(--tertiary-bg, #23232b);border-radius:4px;width:100%;min-width:0;flex-shrink:0;box-sizing:border-box}.info-cell-slot-hidden{visibility:hidden;pointer-events:none}.info-cell-inactive{opacity:.35}.info-cell-inactive .info-cell-value-row{visibility:hidden}.info-cell-inactive .info-cell-label{opacity:.6}.info-cell-label-pause,.info-cell-label-row.info-cell-label-pause .info-cell-label{color:#9c27b0}[data-mantine-color-scheme=light] .info-cell{background:var(--tertiary-bg, #e8e8e8)}.info-cell-label{font-size:9px;font-weight:500;color:var(--text-muted, #666666);text-transform:uppercase;letter-spacing:.5px}[data-mantine-color-scheme=light] .info-cell-label{color:var(--text-muted, #888888)}.info-cell-value{font-size:11px;font-weight:600;color:var(--text-color, #e6e6e6);font-family:Monaco,Courier New,monospace;font-variant-numeric:tabular-nums;line-height:1.2}.info-cell-frame-value{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--mantine-color-blue-4, #74c0fc)}[data-mantine-color-scheme=light] .info-cell-frame-value{color:var(--mantine-color-blue-7, #1864ab)}.info-cell-strategy-value{font-size:9px;font-weight:600;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mantine-color-grape-4, #da77f2)}[data-mantine-color-scheme=light] .info-cell-strategy-value{color:var(--mantine-color-grape-7, #862e9c)}.info-cell-label-row{display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:3px;width:100%;min-height:12px;flex-wrap:nowrap}.info-cell-label-row .info-cell-label,.info-cell-label-row .axis-lock-label{text-transform:uppercase}.info-cell-value-row{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;min-height:18px;margin-top:1px}.info-cell-value-row .info-cell-value{text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-cell-w-move .info-cell-value{min-width:15ch;overflow:visible;text-overflow:clip}.info-cell-value-row .info-cell-numeric-input{flex:0 0 50px}.info-cell-accent-ok{color:#4caf50}.info-cell-accent-warn{color:#ff9800}.info-cell-accent-hot{color:#f44336}[data-mantine-color-scheme=light] .info-cell-value{color:var(--text-color, #2a2a2a)}.info-cell-value.move-type-extrude{color:#a86840}.info-cell-value.move-type-travel{color:#48f}.info-cell-unit{font-size:9px;font-weight:500;color:var(--text-muted, #888888);text-transform:lowercase;line-height:1;margin-top:0;flex-shrink:0;white-space:nowrap}.info-cell-tooltip-target{display:block;width:100%;height:100%;min-height:100%}.info-cell-tooltip-target .info-cell{height:100%;display:flex;flex-direction:column}.info-cell-tooltip-target .info-cell-value-row{width:100%;margin-top:auto}.info-cell-numeric-field{display:contents}.info-cell-numeric-input,.axis-lock-input{width:50px;min-width:50px;max-width:50px;height:18px;padding:0 2px;margin-top:1px;font-size:11px;font-weight:600;font-family:inherit;text-align:right;background:var(--tertiary-bg, #1a1a1f);border:1px solid var(--accent-color, #bd752d);border-radius:3px;color:var(--accent-color, #bd752d);outline:none;cursor:text;pointer-events:auto;position:relative;z-index:2;box-sizing:border-box}.info-cell-numeric-input:read-only,.info-cell-numeric-input[readonly]{opacity:.92;cursor:default}.info-cell-numeric-input:focus,.axis-lock-input:focus{border-color:var(--accent-color-hover, #d4863a);box-shadow:0 0 0 2px #bd752d4d}[data-mantine-color-scheme=light] .info-cell-numeric-input,[data-mantine-color-scheme=light] .axis-lock-input{background:var(--tertiary-bg, #ffffff);border-color:var(--accent-color, #bd752d);color:var(--accent-color, #8b5a1b)}[data-mantine-color-scheme=light] .info-cell-unit{color:var(--text-muted, #888888)}[data-mantine-color-scheme=light] .simulator-time-info{background:var(--tertiary-bg, #e8e8e8);color:var(--text-muted, #666666)}.simulator-close-btn-fullscreen{background:transparent;border:none;color:var(--text-muted, #888888);cursor:pointer;padding:8px;border-radius:var(--btn-radius, 6px);transition:color .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center}.simulator-close-btn-fullscreen:hover{background:transparent;border:none;color:var(--text-color, #ffffff)}[data-mantine-color-scheme=light] .simulator-close-btn-fullscreen{color:var(--text-muted, #666666)}[data-mantine-color-scheme=light] .simulator-close-btn-fullscreen:hover{color:var(--text-color, #2a2a2a)}.simulator-body{flex:1;position:relative;min-height:0;overflow:hidden}.gcode-simulator-canvas-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--preview-bg, #1a1a1f);overflow:hidden}[data-mantine-color-scheme=light] .gcode-simulator-canvas-fullscreen{background:var(--preview-bg, #e8e8ec)}.sim-workspace-status{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:4;display:inline-flex;align-items:center;gap:8px;max-width:min(92%,560px);padding:5px 12px;border-radius:4px;border:1px solid rgba(126,184,218,.35);background:#141820d1;color:#dce9f2;font-size:11px;line-height:1.3;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sim-workspace-status__label{font-weight:600;color:#9ecae8;white-space:nowrap}.sim-workspace-status__hint{color:#dce9f2d1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-mantine-color-scheme=light] .sim-workspace-status{background:#ffffffeb;color:#2a3a48;border-color:#4682aa59}[data-mantine-color-scheme=light] .sim-workspace-status__label{color:#2b6a8f}[data-mantine-color-scheme=light] .sim-workspace-status__hint{color:#4a5f6f}.gcode-simulator-canvas-fullscreen canvas{display:block;width:100%!important;height:100%!important;background:inherit}.collision-progress-bar-container{position:absolute;top:0;left:0;right:0;height:3px;background:var(--bg-secondary, #2d2d35);flex-shrink:0;overflow:hidden;pointer-events:none;z-index:2}[data-mantine-color-scheme=light] .collision-progress-bar-container{background:var(--bg-secondary, #e8e8ec)}.collision-progress-bar{height:100%;border-radius:0 2px 2px 0;animation:progress-pulse 1.5s ease-in-out infinite}@keyframes progress-pulse{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.85;filter:brightness(1.2)}}.collision-progress-bar.checking{background:linear-gradient(90deg,#ff9800,#ffc107,#ff9800);background-size:200% 100%;box-shadow:0 0 8px #ff980099;animation:progress-pulse 1.5s ease-in-out infinite,progress-shimmer 2s linear infinite}.collision-progress-bar.optimizing{background:linear-gradient(90deg,#2196f3,#00bcd4,#2196f3);background-size:200% 100%;box-shadow:0 0 8px #2196f399;animation:progress-pulse 1.5s ease-in-out infinite,progress-shimmer 2s linear infinite}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.simulator-view-toolbar{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:0;padding:4px 16px;background:var(--tertiary-bg, #23232b);border-bottom:1px solid var(--panel-border, #444444);flex-shrink:0;min-height:32px}.simulator-view-toolbar__leading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;flex:1 1 auto;min-width:0}.simulator-view-toolbar__scene{display:flex;align-items:center;flex-shrink:0;margin-left:20px;padding:2px 0 2px 20px;border-left:1px solid var(--panel-border, #444444)}.simulator-view-toolbar__scene--flush{margin-left:auto;padding-left:20px;border-left:none}[data-mantine-color-scheme=light] .simulator-view-toolbar__scene{border-left-color:var(--panel-border, #d0d0d0)}.simulator-view-toolbar-section{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.simulator-view-toolbar-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #666666);padding-right:4px;border-right:1px solid var(--panel-border, #444444);margin-right:4px;white-space:nowrap;-webkit-user-select:none;user-select:none}.simulator-view-toolbar-section-items{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px}[data-mantine-color-scheme=light] .simulator-view-toolbar-section-label{color:var(--text-muted, #777777);border-right-color:var(--panel-border, #d0d0d0)}[data-mantine-color-scheme=light] .simulator-view-toolbar{background:var(--tertiary-bg, #ececec);border-bottom-color:var(--panel-border, #d0d0d0)}.simulator-view-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted, #888888);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 6px;border-radius:4px;white-space:nowrap}.simulator-view-toggle:hover{color:var(--text-color, #e6e6e6);background:#ffffff0a}.simulator-view-toggle input[type=checkbox]{width:13px;height:13px;margin:0;accent-color:var(--accent-color, #bd752d);cursor:pointer}.simulator-view-toggle-wrap{display:inline-flex}.simulator-view-toggle:has(input:disabled){opacity:.45;cursor:not-allowed}[data-mantine-color-scheme=light] .simulator-view-toggle:hover{color:var(--text-color, #2a2a2a);background:#0000000a}.simulator-view-toolbar-divider{width:1px;height:18px;background:var(--panel-border, #444444);flex-shrink:0;margin:0 2px}[data-mantine-color-scheme=light] .simulator-view-toolbar-divider{background:var(--panel-border, #d0d0d0)}.simulator-sidebar-dock{position:absolute;top:8px;left:8px;bottom:8px;display:flex;flex-direction:row;align-items:stretch;z-index:100;pointer-events:none;height:calc(100% - 16px);max-height:calc(100% - 16px)}.simulator-sidebar-rail,.simulator-sidebar-flyout{pointer-events:auto}.simulator-sidebar-rail{display:flex;flex-direction:column;gap:1px;width:56px;flex-shrink:0;padding:3px;background:var(--bg-secondary, #2d2d35);border:1px solid var(--panel-border, #444444);border-radius:8px;box-shadow:0 4px 16px #00000040;overflow:hidden;align-self:flex-start;max-height:100%}.simulator-sidebar-rail--left{height:100%;align-self:stretch}.simulator-sidebar-rail--left .simulator-rail-context-label{flex:0 0 auto;margin-bottom:2px;padding:2px 2px 3px}.simulator-sidebar-rail--left .simulator-rail-divider{flex:0 0 1px;margin:1px 2px}.simulator-sidebar-rail--left .simulator-rail-btn-slot{flex:1 1 0;min-height:0;display:flex;align-items:stretch;width:100%}.simulator-sidebar-rail--left .simulator-rail-btn-slot>*{flex:1;min-height:0;display:flex!important;width:100%}.simulator-sidebar-rail--left .simulator-rail-btn{width:100%;min-height:0;max-height:42px;padding:2px 2px 3px;gap:1px;flex:1}.simulator-sidebar-rail--left .simulator-rail-btn-label{font-size:8px;line-height:1.05;-webkit-line-clamp:1}[data-mantine-color-scheme=light] .simulator-sidebar-rail{background:var(--bg-secondary, #ffffff);border-color:var(--panel-border, #d0d0d0);box-shadow:0 4px 16px #0000001a}.simulator-rail-context-label{width:100%;margin:0 0 4px;padding:3px 2px 5px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center;line-height:1.25;color:var(--accent-color, #cd7f32);border-bottom:1px solid rgba(255,255,255,.08);-webkit-user-select:none;user-select:none;white-space:normal;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}[data-mantine-color-scheme=light] .simulator-rail-context-label{border-bottom-color:#00000014}.simulator-rail-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:48px;min-height:36px;padding:3px 2px 4px;border:1px solid var(--panel-border, #444444);border-radius:6px;background:transparent;color:var(--text-muted, #888888);cursor:pointer;transition:all .12s ease;flex-shrink:0;box-sizing:border-box}.simulator-rail-btn-label{font-size:9px;font-weight:600;line-height:1.15;text-align:center;color:inherit;max-width:100%;white-space:normal;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.simulator-rail-btn:hover:not(:disabled){background:#cd7f3214;color:var(--text-color, #e6e6e6);border-color:#cd7f3273}.simulator-rail-btn.active{background:#cd7f3233;border-color:var(--accent-color, #cd7f32);color:var(--accent-color, #cd7f32)}.simulator-rail-btn:disabled{opacity:.35;cursor:not-allowed}[data-mantine-color-scheme=light] .simulator-rail-btn:hover:not(:disabled){background:#cd7f3214;color:var(--text-color, #2a2a2a);border-color:#cd7f3266}.simulator-rail-badge{position:absolute;top:1px;right:1px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;text-align:center;color:#fff;background:#e74c3c;border-radius:7px;pointer-events:none}.simulator-rail-divider{height:1px;margin:3px 2px;background:var(--panel-border, #444444);flex-shrink:0}.simulator-rail-btn-slot>span{flex:1;min-height:0;display:flex!important;width:100%;align-items:stretch}.simulator-rail-btn-slot>span>.simulator-rail-btn{flex:1;width:100%}.simulator-rail-btn-slot{flex-shrink:0;width:100%}[data-mantine-color-scheme=light] .simulator-rail-btn{border-color:var(--panel-border, #d0d0d0);background:transparent}[data-mantine-color-scheme=light] .simulator-rail-divider{background:var(--panel-border, #d0d0d0)}.simulator-sidebar-flyout{width:280px;max-width:min(280px,calc(100vw - 80px));margin-left:6px;display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 120px);align-self:flex-start;background:var(--bg-secondary, #2d2d35);border:1px solid var(--panel-border, #444444);border-radius:8px;box-shadow:0 4px 20px #0000004d;overflow:hidden}.simulator-sidebar-dock--right{left:auto;right:8px;flex-direction:row-reverse}.simulator-sidebar-dock--right .simulator-sidebar-flyout{margin-left:0;margin-right:6px}.simulator-sidebar-dock--right .simulator-sidebar-flyout--planning{width:380px;max-width:min(380px,calc(100vw - 96px))}.simulator-sidebar-dock--right .simulator-sidebar-flyout--analysis{width:540px;max-width:min(540px,calc(100vw - 104px))}.simulator-sidebar-dock--right .simulator-sidebar-flyout--analysis .simulator-sidebar-panel-scroll{overflow-x:hidden}.robot-planning-phase-tag{display:inline-block;margin-left:6px;padding:1px 5px;font-size:9px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border-radius:3px;vertical-align:middle;line-height:1.4}.robot-planning-phase-tag--planned{color:#888;background:#88888826;border:1px solid rgba(136,136,136,.35)}.robot-planning-phase-tag--beta{color:#e6a020;background:#e6a0201f;border:1px solid rgba(230,160,32,.35)}.robot-planning-phase-tag--active{color:#4caf82;background:#4caf821f;border:1px solid rgba(76,175,130,.35)}.simulator-body--joint-monitor .gcode-simulator-canvas-fullscreen{bottom:min(280px,36vh);transition:bottom .2s ease}.simulator-body--cell-placing .gcode-simulator-canvas-fullscreen{cursor:crosshair}.simulator-body--teach-panel{--sim-teach-panel-w: 272px}.simulator-teach-dock{position:absolute;top:0;right:0;bottom:0;width:var(--sim-teach-panel-w, 272px);z-index:110;display:flex;flex-direction:column;pointer-events:auto;padding:8px 8px 8px 0;box-sizing:border-box}.simulator-teach-dock .simulator-teach-panel{position:relative;top:auto;right:auto;bottom:auto;width:100%;height:100%;flex:1;min-height:0}.robot-joint-monitor{position:absolute;left:52px;right:52px;bottom:0;z-index:95;display:flex;flex-direction:column;background:var(--bg-secondary, #2d2d35);border-top:1px solid var(--panel-border, #444444);box-shadow:0 -6px 28px #00000059;max-height:min(280px,36vh);pointer-events:auto}[data-mantine-color-scheme=light] .robot-joint-monitor{background:var(--bg-secondary, #ffffff);border-top-color:var(--panel-border, #d0d0d0);box-shadow:0 -6px 24px #0000001f}.robot-joint-monitor--collapsed{max-height:none}.robot-joint-monitor--collapsed .robot-joint-monitor__body{display:none}.robot-joint-monitor__header{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--panel-border, #444444);flex-shrink:0;min-height:36px}[data-mantine-color-scheme=light] .robot-joint-monitor__header{border-bottom-color:var(--panel-border, #d0d0d0)}.robot-joint-monitor__title-group{display:flex;align-items:baseline;gap:8px;min-width:0}.robot-joint-monitor__title{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-color, #e6e6e6)}.robot-joint-monitor__meta{font-size:10px;color:var(--text-muted, #888);white-space:nowrap}.robot-joint-monitor__tabs{display:flex;gap:2px;margin-left:auto}.robot-joint-monitor__tab{padding:4px 10px;font-size:11px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted, #888);cursor:pointer}.robot-joint-monitor__tab:hover:not(:disabled){color:var(--text-color, #e6e6e6);background:var(--tertiary-bg, #3d3d47)}.robot-joint-monitor__tab.active{color:var(--accent-color, #cd7f32);border-color:#cd7f3273;background:#cd7f321f}.robot-joint-monitor__tab:disabled{opacity:.4;cursor:not-allowed}.robot-joint-monitor__actions{display:flex;gap:2px;margin-left:8px}.robot-joint-monitor__icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-muted, #888);cursor:pointer}.robot-joint-monitor__icon-btn:hover{background:var(--tertiary-bg, #3d3d47);color:var(--text-color, #e6e6e6)}.robot-joint-monitor__body{display:grid;grid-template-columns:minmax(220px,280px) 1fr;min-height:0;flex:1;overflow:hidden}.robot-joint-monitor__axes{padding:8px 12px;overflow-y:auto;border-right:1px solid var(--panel-border, #444444);display:flex;flex-direction:column;gap:6px}[data-mantine-color-scheme=light] .robot-joint-monitor__axes{border-right-color:var(--panel-border, #d0d0d0)}.robot-axis-gauge__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}.robot-axis-gauge__label{font-size:11px;font-weight:700}.robot-axis-gauge__value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-color, #e6e6e6)}.robot-axis-gauge__unit{font-size:10px;font-weight:500;color:var(--text-muted, #888);margin-left:2px}.robot-axis-gauge__track{position:relative;height:6px;border-radius:3px;background:var(--tertiary-bg, #3d3d47);overflow:visible}.robot-axis-gauge__track-fill{position:absolute;left:0;top:0;bottom:0;border-radius:3px 0 0 3px;background:#cd7f3259;pointer-events:none}.robot-axis-gauge--warn .robot-axis-gauge__track-fill{background:#e6a02073}.robot-axis-gauge--violation .robot-axis-gauge__track-fill{background:#e74c3c80}.robot-axis-gauge__thumb{position:absolute;top:50%;width:8px;height:8px;margin-left:-4px;margin-top:-4px;border-radius:50%;background:var(--accent-color, #cd7f32);box-shadow:0 0 0 2px var(--bg-secondary, #2d2d35)}.robot-axis-gauge--warn .robot-axis-gauge__thumb{background:#e6a020}.robot-axis-gauge--violation .robot-axis-gauge__thumb{background:#e74c3c}.robot-axis-gauge__limits{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted, #888);margin-top:2px}.robot-joint-monitor__stats{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:4px;padding-top:6px;border-top:1px dashed var(--panel-border, #444444);font-size:9px;font-variant-numeric:tabular-nums}.robot-joint-monitor__charts{padding:6px 10px 8px;min-height:0;display:flex;flex-direction:column}.robot-joint-chart{flex:1;min-height:0;display:flex;flex-direction:column}.robot-joint-chart--empty{flex:1;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-muted, #888);text-align:center;padding:12px}.robot-joint-chart__svg{width:100%;height:auto;min-height:120px;flex:1}.robot-joint-chart__grid{stroke:var(--panel-border, #444444);stroke-width:1;stroke-dasharray:3 3;opacity:.6}.robot-joint-chart__ylabel,.robot-joint-chart__xlabel{font-size:8px;fill:var(--text-muted, #888)}.robot-joint-chart__playhead{stroke:var(--accent-color, #cd7f32);stroke-width:1.5;stroke-dasharray:4 3}.robot-joint-chart__legend{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:4px;font-size:10px;color:var(--text-muted, #888)}.robot-joint-chart__legend-item{display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.robot-axis-chart-interactive__legend{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;padding:2px 0 0;margin-top:4px;font-size:unset;color:unset;justify-content:flex-start}.robot-axis-chart-interactive__legend .checkbox-row{margin-bottom:0}.robot-joint-chart__swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.robot-joint-chart__legend-meta{margin-left:auto;font-size:9px;opacity:.85}@media (max-width: 900px){.robot-joint-monitor__body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.robot-joint-monitor__axes{border-right:none;border-bottom:1px solid var(--panel-border, #444444);max-height:140px}.simulator-body--joint-monitor .gcode-simulator-canvas-fullscreen{bottom:min(360px,48vh)}}[data-mantine-color-scheme=light] .simulator-sidebar-flyout{background:var(--bg-secondary, #ffffff);border-color:var(--panel-border, #d0d0d0);box-shadow:0 4px 20px #0000001f}.simulator-sidebar-panel{display:flex;flex-direction:column;min-height:0;height:100%}.simulator-sidebar-panel-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--panel-border, #444444);background:var(--tertiary-bg, #35353d);flex-shrink:0}[data-mantine-color-scheme=light] .simulator-sidebar-panel-header{background:var(--tertiary-bg, #f5f5f5);border-bottom-color:var(--panel-border, #d0d0d0)}.simulator-sidebar-panel-title{font-size:12px;font-weight:600;color:var(--text-color, #e6e6e6);letter-spacing:.02em;flex:1}[data-mantine-color-scheme=light] .simulator-sidebar-panel-title{color:var(--text-color, #2a2a2a)}.simulator-sidebar-panel-scroll{flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:auto;padding:0}.simulator-sidebar-panel-inner{width:100%;min-width:0;box-sizing:border-box}.simulator-sidebar-panel-scroll .printhead-settings-section{border-left:none;border-right:none;border-radius:0}.simulator-sidebar-panel-scroll .printhead-presets-section{border-bottom:1px solid var(--panel-border, #3a3a42)}.simulator-panel-settings-root.printhead-settings-panel,.simulator-panel-settings-root.collision-settings-panel,.simulator-panel-settings-root.manual-edit-settings-panel,.simulator-panel-settings-root.export-settings-panel{width:100%;min-width:0;max-height:none;overflow:visible;box-shadow:none;border:none;border-radius:0;padding:0;background:transparent;position:static;overflow-wrap:break-word;word-wrap:break-word}.simulator-panel-settings-root.export-settings-panel .export-accordion-content{padding:12px 16px}.left-panels-container{display:none}.gcode-simulator-controls-fullscreen{display:flex;align-items:center;gap:12px;padding:6px 16px;min-height:var(--simulator-replay-height);background:var(--bg-secondary, #2d2d35);border-top:1px solid var(--panel-border, #444444);flex-shrink:0;flex-wrap:nowrap;position:relative;z-index:200}[data-mantine-color-scheme=light] .gcode-simulator-controls-fullscreen{background:var(--bg-secondary, #f2f2f2);border-top-color:var(--panel-border, #d0d0d0)}.simulator-playback-buttons{display:flex;gap:8px}.simulator-btn-fullscreen{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--panel-border, #444444);border-radius:var(--btn-radius, 6px);background:var(--tertiary-bg, #2d2d35);color:var(--text-color, #e6e6e6);cursor:pointer;transition:all .15s ease;flex-shrink:0}.simulator-btn-fullscreen:hover{background:var(--accent-color, #bd752d);border-color:var(--accent-color, #bd752d);color:var(--btn-color, #ffffff)}[data-mantine-color-scheme=light] .simulator-btn-fullscreen{border-color:var(--panel-border, #d0d0d0);background:var(--tertiary-bg, #ffffff);color:var(--text-color, #2a2a2a)}.simulator-btn-fullscreen.primary{background:var(--accent-color, #bd752d);border-color:var(--accent-color, #bd752d);color:var(--btn-color, #ffffff);width:40px;height:40px;border-radius:50%}.simulator-btn-fullscreen.primary:hover{background:var(--accent-hover, #cf8c2f);border-color:var(--accent-hover, #cf8c2f);transform:scale(1.05)}.simulator-progress-container-fullscreen{flex:1;display:flex;align-items:center;gap:8px;min-width:160px}.simulator-progress-slider-fullscreen{flex:1;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--tertiary-bg, #2d2d35);border-radius:4px;cursor:pointer}[data-mantine-color-scheme=light] .simulator-progress-slider-fullscreen{background:var(--tertiary-bg, #d8d8d8)}.simulator-progress-slider-fullscreen::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent-color, #bd752d);cursor:pointer;border:3px solid var(--btn-color, #ffffff);box-shadow:0 2px 6px #0000004d}.simulator-progress-slider-fullscreen::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent-color, #bd752d);cursor:pointer;border:3px solid var(--btn-color, #ffffff);box-shadow:0 2px 6px #0000004d}.simulator-progress-text-fullscreen{font-size:11px;color:var(--text-color, #e6e6e6);min-width:44px;text-align:right;font-family:monospace;font-weight:600}[data-mantine-color-scheme=light] .simulator-progress-text-fullscreen{color:var(--text-color, #2a2a2a)}.simulator-speed-container-fullscreen{display:flex;align-items:center;gap:10px}.simulator-speed-container-fullscreen label{font-size:13px;color:var(--text-muted, #888888)}[data-mantine-color-scheme=light] .simulator-speed-container-fullscreen label{color:var(--text-muted, #666666)}.simulator-speed-select-fullscreen{padding:4px 8px;border:1px solid var(--panel-border, #444444);border-radius:var(--btn-radius, 6px);background:var(--tertiary-bg, #2d2d35);color:var(--text-color, #e6e6e6);font-size:11px;cursor:pointer;min-width:96px;height:28px}.simulator-speed-select-fullscreen:hover{border-color:var(--accent-color, #bd752d)}.simulator-speed-select-fullscreen:focus{outline:none;border-color:var(--accent-color, #bd752d)}[data-mantine-color-scheme=light] .simulator-speed-select-fullscreen{border-color:var(--panel-border, #d0d0d0);background:var(--tertiary-bg, #ffffff);color:var(--text-color, #2a2a2a)}.simulator-toggles-fullscreen{display:none}.simulator-toggle-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted, #888888);cursor:pointer}[data-mantine-color-scheme=light] .simulator-toggle-label{color:var(--text-muted, #666666)}.simulator-toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-color, #bd752d)}.gcode-simulator-empty-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;color:var(--text-muted, #888888);text-align:center;padding:40px}[data-mantine-color-scheme=light] .gcode-simulator-empty-fullscreen{color:var(--text-muted, #666666)}.gcode-simulator-empty-fullscreen p{margin-bottom:24px;font-size:18px}.simulator-close-btn-large{padding:12px 32px;font-size:16px;background:var(--accent-color, #bd752d);border:none;border-radius:var(--btn-radius, 6px);color:var(--btn-color, #ffffff);cursor:pointer;transition:all .15s ease}.simulator-close-btn-large:hover{background:var(--accent-hover, #cf8c2f)}@media (max-width: 768px){.gcode-simulator-controls-fullscreen{gap:12px;padding:12px 16px}.simulator-progress-container-fullscreen{order:10;width:100%;min-width:unset}.simulator-btn-fullscreen{width:38px;height:38px}.simulator-btn-fullscreen.primary{width:48px;height:48px}.simulator-info-row{gap:1px;overflow-x:auto}.info-cell{padding:3px 4px}.info-cell-value{font-size:10px}}.gcode-simulator-container{display:flex;flex-direction:column;height:100%;min-height:500px;background:var(--bg-primary, #23232b);border-radius:8px;overflow:hidden}[data-mantine-color-scheme=light] .gcode-simulator-container{background:var(--bg-primary, #f8f8f8)}.gcode-simulator-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary, #2d2d35);border-bottom:1px solid var(--panel-border, #444444)}[data-mantine-color-scheme=light] .gcode-simulator-header{background:var(--bg-secondary, #f2f2f2);border-bottom-color:var(--panel-border, #d0d0d0)}.gcode-simulator-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-color, #e6e6e6)}[data-mantine-color-scheme=light] .gcode-simulator-header h4{color:var(--text-color, #2a2a2a)}.simulator-close-btn{background:transparent;border:none;color:var(--text-muted, #888888);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:all .15s ease}.simulator-close-btn:hover{background:var(--tertiary-bg, #3a3a45);color:var(--text-color, #e6e6e6)}[data-mantine-color-scheme=light] .simulator-close-btn:hover{background:var(--tertiary-bg, #e8e8e8);color:var(--text-color, #2a2a2a)}.gcode-simulator-canvas{flex:1;min-height:300px;position:relative;background:var(--preview-bg, #181820)}[data-mantine-color-scheme=light] .gcode-simulator-canvas{background:var(--preview-bg, #e8e8ec)}.gcode-simulator-canvas canvas{display:block;width:100%!important;height:100%!important}.gcode-simulator-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-muted, #888888);text-align:center;padding:20px}[data-mantine-color-scheme=light] .gcode-simulator-empty{color:var(--text-muted, #666666)}.gcode-simulator-empty p{margin-bottom:16px}.printhead-settings-panel{width:280px;max-height:calc(60vh - 60px);overflow-y:auto;scrollbar-gutter:stable;background:var(--bg-secondary, #2d2d35);border:1px solid var(--panel-border, #444444);border-radius:8px;padding:0;box-shadow:0 4px 20px #0000004d}.left-panels-container{position:absolute;top:100px;left:20px;display:flex;flex-direction:column;gap:10px;z-index:100;max-height:calc(100vh - 120px)}[data-mantine-color-scheme=light] .printhead-settings-panel{background:var(--bg-secondary, #ffffff);border-color:var(--panel-border, #d0d0d0);box-shadow:0 4px 20px #00000026}.collision-settings-panel{width:280px;max-height:calc(50vh - 60px);overflow-y:auto;background:var(--bg-secondary, #2d2d35);border:1px solid var(--panel-border, #444444);border-radius:8px;padding:0;box-shadow:0 4px 20px #0000004d}[data-mantine-color-scheme=light] .collision-settings-panel{background:var(--bg-secondary, #ffffff);border-color:var(--panel-border, #d0d0d0);box-shadow:0 4px 20px #00000026}.manual-edit-settings-panel{width:280px;max-height:calc(50vh - 60px);overflow-y:auto;background:var(--bg-secondary, #2d2d35);border:1px solid var(--panel-border, #444444);border-radius:8px;padding:0;box-shadow:0 4px 20px #0000004d}[data-mantine-color-scheme=light] .manual-edit-settings-panel{background:var(--bg-secondary, #ffffff);border-color:var(--panel-border, #d0d0d0);box-shadow:0 4px 20px #00000026}.manual-edit-settings-panel .printhead-accordion-header{gap:8px}.manual-edit-settings-panel .printhead-accordion-content{border-top:1px solid var(--panel-border, #444444)}[data-mantine-color-scheme=light] .manual-edit-settings-panel .printhead-accordion-content{border-top-color:var(--panel-border, #d0d0d0)}.manual-edit-settings-panel .checkbox-row{margin-bottom:8px}.manual-edit-settings-panel .checkbox-row label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-color, #e6e6e6);cursor:pointer}.manual-edit-settings-panel .checkbox-row input[type=checkbox]{accent-color:var(--accent-color, #cd7f32);width:14px;height:14px}[data-mantine-color-scheme=light] .manual-edit-settings-panel .checkbox-row label{color:var(--text-color, #2a2a2a)}.manual-edit-position-box{margin-bottom:12px;padding:10px;background:var(--tertiary-bg, rgba(0, 0, 0, .2));border-radius:4px}[data-mantine-color-scheme=light] .manual-edit-position-box{background:var(--tertiary-bg, #f5f5f5)}.manual-edit-position-indicator{font-size:11px;margin-bottom:8px;color:var(--text-muted, #9ca5b3)}.manual-edit-ik-hint-slot{min-height:2.6em;margin-top:6px;font-size:11px;line-height:1.3;color:transparent;visibility:hidden}.manual-edit-ik-hint-slot.is-visible{color:#ff9800;visibility:visible}.manual-edit-help-text{margin-top:8px}.manual-edit-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:600;color:#fff;background:var(--accent-color, #cd7f32);border-radius:4px}.manual-edit-badge-clear{display:inline-flex;align-items:center;justify-content:center;margin-left:2px;margin-right:-4px;padding:4px;background:none;border:none;color:#fff;cursor:pointer;opacity:.7;transition:opacity .15s ease,transform .15s ease}.manual-edit-badge-clear:hover{opacity:1;transform:scale(1.4)}.manual-edit-angle-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.manual-edit-angle-row:last-child{margin-bottom:0}.manual-edit-angle-row.locked{opacity:.6}.manual-edit-angle-row.locked .manual-edit-angle-input{background:var(--bg-disabled, #1a1a1f);pointer-events:none}[data-mantine-color-scheme=light] .manual-edit-angle-row.locked .manual-edit-angle-input{background:#f0f0f0}.manual-edit-angle-label{font-size:12px;color:var(--text-color, #e6e6e6);min-width:45px}[data-mantine-color-scheme=light] .manual-edit-angle-label{color:var(--text-color, #2a2a2a)}.manual-edit-angle-input{flex:1;padding:6px 10px;font-size:12px;background:var(--tertiary-bg, #23232b);border:1px solid var(--panel-border, #444444);border-radius:4px;color:var(--text-color, #e6e6e6);outline:none}.manual-edit-angle-input:focus{border-color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .manual-edit-angle-input{background:#fff;border-color:var(--panel-border, #d0d0d0);color:var(--text-color, #2a2a2a)}.manual-edit-angle-unit{font-size:11px;color:var(--text-muted, #9ca5b3);min-width:12px}.manual-edit-settings-panel .info-text{margin-top:10px;font-size:11px;color:var(--text-muted, #9ca5b3);line-height:1.5}[data-mantine-color-scheme=light] .manual-edit-settings-panel .info-text{color:var(--text-muted, #666666)}.collision-settings-panel .printhead-accordion-header{gap:8px}.collision-accordion-content{border-top:1px solid var(--panel-border, #444444)}.collision-badge-small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;font-size:11px;font-weight:600;color:#fff;background:#e74c3c;border-radius:9px}[data-mantine-color-scheme=light] .collision-accordion-content{border-top-color:var(--panel-border, #d0d0d0)}.export-settings-panel{position:absolute;top:100px;right:20px;width:280px;max-height:calc(100vh - 120px);overflow-y:auto;background:var(--bg-secondary, #2d2d35);border:1px solid var(--panel-border, #444444);border-radius:8px;padding:0;box-shadow:0 4px 20px #0000004d;z-index:100}[data-mantine-color-scheme=light] .export-settings-panel{background:var(--bg-secondary, #ffffff);border-color:var(--panel-border, #d0d0d0);box-shadow:0 4px 20px #00000026}.export-settings-panel .printhead-accordion-header{gap:8px}.export-accordion-content{border-top:1px solid var(--panel-border, #444444)}[data-mantine-color-scheme=light] .export-accordion-content{border-top-color:var(--panel-border, #d0d0d0)}.export-format-select{width:100%;box-sizing:border-box;padding:8px 10px;font-size:12px;background:var(--tertiary-bg, #23232b);border:1px solid var(--panel-border, #444444);border-radius:4px;color:var(--text-color, #e6e6e6);outline:none;cursor:pointer}.export-format-select:focus{border-color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .export-format-select{background:#fff;border-color:var(--panel-border, #d0d0d0);color:var(--text-color, #2a2a2a)}.export-filename-input{width:100%;box-sizing:border-box;padding:8px 10px;font-size:12px;background:var(--tertiary-bg, #23232b);border:1px solid var(--panel-border, #444444);border-radius:4px;color:var(--text-color, #e6e6e6);outline:none}.export-filename-input:focus{border-color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .export-filename-input{background:#fff;border-color:var(--panel-border, #d0d0d0);color:var(--text-color, #2a2a2a)}.export-field-row{margin-bottom:12px}.export-field-row:last-child{margin-bottom:0}.export-field-label{display:block;font-size:11px;color:var(--text-muted, #9ca5b3);margin-bottom:6px}[data-mantine-color-scheme=light] .export-field-label{color:var(--text-muted, #666666)}.export-format-description{margin-top:6px;font-size:11px;color:var(--text-muted, #9ca5b3);line-height:1.4}[data-mantine-color-scheme=light] .export-format-description{color:var(--text-muted, #666666)}.export-settings-panel .checkbox-row{margin-bottom:8px}.export-settings-panel .checkbox-row label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-color, #e6e6e6);cursor:pointer}.export-settings-panel .checkbox-row input[type=checkbox]{accent-color:var(--accent-color, #cd7f32);width:14px;height:14px}[data-mantine-color-scheme=light] .export-settings-panel .checkbox-row label{color:var(--text-color, #2a2a2a)}.export-borunte-options{margin-bottom:12px;padding-top:8px;border-top:1px solid var(--panel-border, #333333)}.export-borunte-checkbox-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.export-borunte-checkbox-row label{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-color, #e6e6e6);cursor:pointer;white-space:nowrap}.export-borunte-checkbox-row input[type=checkbox]{accent-color:var(--accent-color, #cd7f32);width:13px;height:13px;margin:0;cursor:pointer}.export-borunte-counts-row{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px;align-items:center}.export-borunte-count-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted, #9ca5b3);white-space:nowrap}.export-borunte-count-input{width:64px;padding:3px 6px;font-size:11px;background:var(--tertiary-bg, #23232b);border:1px solid var(--panel-border, #444444);border-radius:4px;color:var(--text-color, #e6e6e6)}[data-mantine-color-scheme=light] .export-borunte-checkbox-row label{color:var(--text-color, #2a2a2a)}[data-mantine-color-scheme=light] .export-borunte-count-label{color:var(--text-muted, #666666)}[data-mantine-color-scheme=light] .export-borunte-count-input{background:var(--tertiary-bg, #ffffff);border-color:var(--panel-border, #d0d0d0);color:var(--text-color, #2a2a2a)}[data-mantine-color-scheme=light] .export-borunte-options{border-top-color:var(--panel-border, #d0d0d0)}.export-panel-tip-target-inline{display:inline-flex}.export-panel-tip-target{display:block;width:100%}.export-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:12px;border:1px solid var(--panel-border, #444444);border-radius:6px;overflow:hidden;background:var(--panel-border, #444444)}.export-stats-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.export-stats-grid .export-panel-tip-target{display:flex;min-width:0;height:100%}.export-stat-cell{display:flex;flex-direction:column;justify-content:center;gap:2px;flex:1;min-width:0;padding:8px 10px;background:var(--tertiary-bg, #23232b);cursor:default}.export-stat-cell-label{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #9ca5b3);line-height:1}.export-stat-cell-value{font-size:13px;font-weight:600;color:var(--text-color, #e6e6e6);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-stat-cell-value--accent{color:var(--accent-color, #cd7f32)}.export-stat-cell-value--warn{color:#ff9800}[data-mantine-color-scheme=light] .export-stats-grid{border-color:var(--panel-border, #d0d0d0);background:var(--panel-border, #d0d0d0)}[data-mantine-color-scheme=light] .export-stat-cell{background:var(--tertiary-bg, #f5f5f5)}[data-mantine-color-scheme=light] .export-stat-cell-value{color:var(--text-color, #2a2a2a)}.export-stats{margin-bottom:12px;padding:10px;background:var(--tertiary-bg, rgba(0, 0, 0, .2));border-radius:4px}[data-mantine-color-scheme=light] .export-stats{background:var(--tertiary-bg, #f5f5f5)}.export-stats-item{display:flex;justify-content:space-between;font-size:11px;margin-bottom:4px}.export-stats-item:last-child{margin-bottom:0}.export-stats-label{color:var(--text-muted, #9ca5b3)}[data-mantine-color-scheme=light] .export-stats-label{color:var(--text-muted, #666666)}.export-stats-value{color:var(--text-color, #e6e6e6);font-weight:500}[data-mantine-color-scheme=light] .export-stats-value{color:var(--text-color, #2a2a2a)}.collision-btn{display:flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 10px;font-size:11px;font-weight:500;border:1px solid var(--panel-border, #444444);border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.collision-btn:disabled{opacity:.5;pointer-events:auto}.collision-btn-primary{flex:1;color:#fff;background:var(--accent-color, #cd7f32);border-color:var(--accent-color, #cd7f32)}.collision-btn-primary:hover:not(:disabled){background:var(--accent-color-hover, #d89654);border-color:var(--accent-color-hover, #d89654)}.collision-btn-secondary{color:var(--text-color, #e6e6e6);background:var(--tertiary-bg, #35353d)}.collision-btn-secondary:hover:not(:disabled){background:var(--tertiary-bg, #3d3d47);border-color:var(--text-muted, #666666)}.collision-btn-warning{flex:1;color:#fff;background:#c80;border-color:#c80}.collision-btn-warning:hover:not(:disabled){background:#d90;border-color:#d90}.collision-btn-danger{padding:0 8px;color:#fff;background:#c44;border-color:#c44}.collision-btn-danger:hover:not(:disabled){background:#d55;border-color:#d55}.collision-btn-success{flex:1;color:#fff;background:#3d9a50;border-color:#3d9a50}.collision-btn-success:hover:not(:disabled){background:#45ad5a;border-color:#45ad5a}.sim-panel-btn-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:stretch}.sim-panel-btn-row .collision-btn{flex:1 1 0;min-width:0}.sim-panel-btn-row .collision-btn-danger{flex:1 1 100%}.collision-btn--block{width:100%}.sim-panel-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--panel-border, #3a3a42)}[data-mantine-color-scheme=light] .sim-panel-actions{border-top-color:var(--panel-border, #e0e0e0)}[data-mantine-color-scheme=light] .collision-btn-secondary{color:var(--text-color, #2a2a2a);background:var(--tertiary-bg, #f5f5f5);border-color:var(--panel-border, #d0d0d0)}[data-mantine-color-scheme=light] .collision-btn-secondary:hover:not(:disabled){background:var(--tertiary-bg, #e8e8e8)}[data-mantine-color-scheme=light] .collision-btn-danger{background:#d44;border-color:#d44}[data-mantine-color-scheme=light] .collision-btn-danger:hover:not(:disabled){background:#e55;border-color:#e55}.collision-info-text{margin-top:8px;padding:8px;background:var(--tertiary-bg, rgba(0, 0, 0, .2));border-radius:4px;color:var(--text-muted, #9ca5b3)}.collision-info-warning{margin-top:8px;padding:8px;background:#cd7f321a;border:1px solid rgba(205,127,50,.3);border-radius:4px;color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .collision-info-text{background:var(--tertiary-bg, #f8f8fa);color:var(--text-muted, #666666)}[data-mantine-color-scheme=light] .collision-info-warning{background:#cd7f3214}.collision-optimized-result{margin-top:12px;padding:10px;background:#cd7f321a;border:1px solid rgba(205,127,50,.3);border-radius:4px}[data-mantine-color-scheme=light] .collision-optimized-result{background:#cd7f3214}.collision-settings-panel .printhead-settings-section{background:var(--tertiary-bg, #35353d);border:1px solid var(--panel-border, #444444);overflow:hidden;margin-bottom:0}.collision-settings-panel .printhead-accordion-header.expanded{background:var(--header-expanded-bg, rgba(205, 127, 50, .1));border-left-color:var(--accent-color, #cd7f32)}.collision-settings-panel .printhead-accordion-header.expanded:hover{background:var(--header-expanded-hover, rgba(205, 127, 50, .15))}.collision-settings-panel .printhead-accordion-chevron.expanded{color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .collision-settings-panel .printhead-accordion-header.expanded{background:var(--header-expanded-bg, rgba(205, 127, 50, .1))}[data-mantine-color-scheme=light] .collision-settings-panel .printhead-accordion-header.expanded:hover{background:var(--header-expanded-hover, rgba(205, 127, 50, .15))}.collision-settings-panel .wpc-slider-item{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.collision-settings-panel .wpc-slider-item:last-child{margin-bottom:0}.collision-settings-panel .wpc-slider-header{display:flex;justify-content:space-between;align-items:center}.collision-settings-panel .wpc-slider-label{font-size:11px;font-weight:500;color:var(--text-muted, #9ca5b3)}[data-mantine-color-scheme=light] .collision-settings-panel .wpc-slider-label{color:var(--text-muted, #666666)}.collision-settings-panel .wpc-slider-value{font-size:11px;font-weight:600;color:var(--accent-color, #cd7f32);font-family:Monaco,Courier New,monospace;cursor:pointer;padding:2px 6px;border:1px solid var(--panel-border, #444444);border-radius:3px;transition:all .2s ease;min-width:50px;height:21px;line-height:15px;display:inline-block;text-align:center;box-sizing:border-box;background:var(--tertiary-bg, rgba(0, 0, 0, .3))}.collision-settings-panel .wpc-slider-value:hover{background:#cd7f3233;border-color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .collision-settings-panel .wpc-slider-value{border-color:var(--panel-border, #d0d0d0);background:var(--tertiary-bg, #f5f5f5)}[data-mantine-color-scheme=light] .collision-settings-panel .wpc-slider-value:hover{border-color:var(--accent-color, #cd7f32);background:#cd7f3226}.collision-settings-panel .wpc-slider-value-input{font-size:11px;font-weight:600;color:var(--accent-color, #cd7f32);font-family:Monaco,Courier New,monospace;background:var(--tertiary-bg, #1a1a20);border:2px solid var(--accent-color, #cd7f32);border-radius:3px;padding:2px 6px;outline:none;min-width:50px;height:21px;line-height:15px;text-align:center;box-sizing:border-box}.collision-settings-panel .wpc-slider-value-input:focus{background:var(--tertiary-bg, #1a1a20);border-color:var(--accent-color-hover, #d89654);box-shadow:0 0 0 2px #cd7f324d}[data-mantine-color-scheme=light] .collision-settings-panel .wpc-slider-value-input{background:#fff;color:var(--accent-color, #cd7f32);border-color:var(--accent-color, #cd7f32)}.collision-settings-panel input.wpc-slider-input[type=range]{width:100%;height:6px;border-radius:3px;background:#3a3a45;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;padding:0;border:1px solid #555555}.collision-settings-panel input.wpc-slider-input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#3a3a45,#4a4a55);border:none}.collision-settings-panel input.wpc-slider-input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:2px;background:var(--accent-color, #cd7f32);cursor:pointer;transition:all .2s ease;border:none;margin-top:-6px;box-shadow:0 2px 4px #0000004d}.collision-settings-panel input.wpc-slider-input[type=range]::-webkit-slider-thumb:hover{background:#d89654;transform:scale(1.1);box-shadow:0 2px 6px #cd7f3280}.collision-settings-panel input.wpc-slider-input[type=range]::-moz-range-track{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#3a3a45,#4a4a55);border:none}.collision-settings-panel input.wpc-slider-input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:2px;background:var(--accent-color, #cd7f32);border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000004d}.collision-settings-panel input.wpc-slider-input[type=range]::-moz-range-thumb:hover{background:#d89654;transform:scale(1.1);box-shadow:0 2px 6px #cd7f3280}[data-mantine-color-scheme=light] .collision-settings-panel input.wpc-slider-input[type=range]{background:#d0d0d8;border-color:#b0b0b8}[data-mantine-color-scheme=light] .collision-settings-panel input.wpc-slider-input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#c8c8d0,#d8d8e0)}[data-mantine-color-scheme=light] .collision-settings-panel input.wpc-slider-input[type=range]::-moz-range-track{background:linear-gradient(to right,#c8c8d0,#d8d8e0)}.collision-settings-panel .checkbox-row{margin-bottom:8px}.collision-settings-panel .checkbox-row label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-color, #e6e6e6);cursor:pointer}.collision-settings-panel .checkbox-row input[type=checkbox]{accent-color:var(--accent-color, #cd7f32);width:14px;height:14px}[data-mantine-color-scheme=light] .collision-settings-panel .checkbox-row label{color:var(--text-color, #2a2a2a)}.collision-settings-panel .settings-select{padding:6px 10px;font-size:12px;background:var(--tertiary-bg, #23232b);border:1px solid var(--panel-border, #444444);border-radius:4px;color:var(--text-color, #e6e6e6);cursor:pointer;outline:none}.collision-settings-panel .settings-select:focus{border-color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .collision-settings-panel .settings-select{background:#fff;border-color:var(--panel-border, #d0d0d0);color:var(--text-color, #2a2a2a)}.collision-settings-panel .settings-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.collision-settings-panel .settings-label{font-size:11px;font-weight:500;color:var(--text-muted, #9ca5b3)}[data-mantine-color-scheme=light] .collision-settings-panel .settings-label{color:var(--text-muted, #666666)}.collision-settings-panel .info-text{font-size:11px;color:var(--text-muted, #888888);padding:8px;background:var(--tertiary-bg, rgba(0, 0, 0, .2));border-radius:4px;margin-top:8px}[data-mantine-color-scheme=light] .collision-settings-panel .info-text{background:var(--tertiary-bg, #f8f8fa);color:var(--text-muted, #666666)}.collision-settings-panel .accordion-content{padding:12px 16px;background:var(--tertiary-bg, #2d2d35)}[data-mantine-color-scheme=light] .collision-settings-panel .accordion-content{background:var(--tertiary-bg, #ffffff)}.printhead-accordion-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;min-height:32px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--tertiary-bg, #35353d);border:none;border-bottom:1px solid transparent;border-left:3px solid transparent;transition:all .15s ease}.printhead-accordion-header:hover{background:var(--tertiary-bg, #3d3d47)}.printhead-accordion-header.expanded{border-bottom-color:var(--panel-border, #444444);background:var(--header-expanded-bg, rgba(205, 127, 50, .1));border-left-color:var(--accent-color, #cd7f32)}.printhead-accordion-header.expanded:hover{background:var(--header-expanded-hover, rgba(205, 127, 50, .15))}.accordion-title{color:var(--text-color, #e6e6e6);font-weight:500;font-size:13px;letter-spacing:.02em;flex:1;min-width:0}.accordion-content{padding:12px 16px;background:var(--tertiary-bg, #2d2d35)}[data-mantine-color-scheme=light] .printhead-accordion-header{color:var(--text-color, #2a2a2a);background:var(--tertiary-bg, #f5f5f5)}[data-mantine-color-scheme=light] .printhead-accordion-header:hover{background:var(--tertiary-bg, #e8e8e8)}[data-mantine-color-scheme=light] .printhead-accordion-header.expanded{background:var(--header-expanded-bg, rgba(205, 127, 50, .1));border-bottom-color:var(--panel-border, #d0d0d0)}[data-mantine-color-scheme=light] .printhead-accordion-header.expanded:hover{background:var(--header-expanded-hover, rgba(205, 127, 50, .15))}[data-mantine-color-scheme=light] .accordion-content{background:var(--tertiary-bg, #ffffff)}[data-mantine-color-scheme=light] .printhead-settings-section{background:var(--tertiary-bg, #ffffff);border-color:var(--panel-border, #d0d0d0)}.printhead-accordion-chevron{color:var(--text-muted, #888888);transition:transform .2s ease;flex-shrink:0}.printhead-accordion-chevron.expanded{transform:rotate(90deg);color:var(--accent-color, #cd7f32)}.printhead-accordion-content{border-top:1px solid var(--panel-border, #444444)}.printhead-settings-panel .printhead-accordion-content{overflow:visible;max-height:none}[data-mantine-color-scheme=light] .printhead-accordion-content{border-top-color:var(--panel-border, #d0d0d0)}.robot-movel-footer{margin-top:10px;padding-top:10px;border-top:1px solid var(--panel-border, #3a3a42);width:100%;box-sizing:border-box}.robot-movel-footer:first-child{margin-top:0;padding-top:0;border-top:none}[data-mantine-color-scheme=light] .robot-movel-footer{border-top-color:var(--panel-border, #e0e0e0)}.robot-panel-btn-row{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch}.robot-panel-btn-row .robot-panel-btn{flex:1 1 0;min-width:0}.robot-panel-btn-stack{display:flex;flex-direction:column;gap:6px;width:100%;align-items:stretch}.robot-panel-btn-stack .robot-panel-btn{display:flex;width:100%;box-sizing:border-box}.robot-panel-btn--block{width:100%}.robot-panel-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 12px;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.01em;border:1px solid var(--panel-border, #555555);border-radius:4px;background:var(--tertiary-bg, #35353d);color:var(--text-color, #e6e6e6);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap;box-sizing:border-box}.robot-panel-btn:hover:not(:disabled){background:var(--tertiary-bg, #3d3d47);border-color:var(--text-muted, #777777)}.robot-panel-btn:active:not(:disabled){transform:translateY(1px)}.robot-panel-btn:disabled{opacity:.45;cursor:not-allowed}.robot-panel-btn-primary{color:#fff;background:var(--accent-color, #cd7f32);border-color:var(--accent-color, #cd7f32)}.robot-panel-btn-primary:hover:not(:disabled){background:var(--accent-color-hover, #d89654);border-color:var(--accent-color-hover, #d89654)}.robot-panel-btn-secondary{color:var(--text-color, #e6e6e6);background:var(--tertiary-bg, #35353d);border-color:var(--panel-border, #555555)}.robot-panel-btn-secondary:hover:not(:disabled){background:var(--tertiary-bg, #42424c);border-color:var(--accent-color, #cd7f32);color:var(--text-color, #ffffff)}[data-mantine-color-scheme=light] .robot-panel-btn{background:var(--tertiary-bg, #f5f5f5);border-color:var(--panel-border, #d0d0d0);color:var(--text-color, #2a2a2a)}[data-mantine-color-scheme=light] .robot-panel-btn:hover:not(:disabled){background:var(--tertiary-bg, #ececec);border-color:var(--text-muted, #999999)}[data-mantine-color-scheme=light] .robot-panel-btn-primary{color:#fff;background:var(--accent-color, #cd7f32);border-color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .robot-panel-btn-primary:hover:not(:disabled){background:var(--accent-color-hover, #d89654);border-color:var(--accent-color-hover, #d89654)}.robot-movel-status{margin-top:4px;height:16px;line-height:16px;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:transparent}.robot-movel-status--warn{color:#c09050}.robot-movel-status--ok{color:#5dba5d}.printhead-presets-section{padding:12px 16px;border-bottom:1px solid var(--panel-border, #3a3a42);display:flex;flex-direction:column;gap:8px}[data-mantine-color-scheme=light] .printhead-presets-section{border-bottom-color:var(--panel-border, #e0e0e0)}.preset-load-row,.preset-save-row{display:flex;gap:6px;align-items:center}.preset-select{flex:1;padding:6px 10px;font-size:12px;background:var(--tertiary-bg, #23232b);border:1px solid var(--panel-border, #444444);border-radius:4px;color:var(--text-color, #e6e6e6);cursor:pointer;outline:none}.preset-select:focus{border-color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .preset-select{background:#fff;border-color:var(--panel-border, #d0d0d0);color:var(--text-color, #2a2a2a)}.preset-name-input{flex:1;padding:6px 10px;font-size:12px;background:var(--tertiary-bg, #23232b);border:1px solid var(--panel-border, #444444);border-radius:4px;color:var(--text-color, #e6e6e6);outline:none}.preset-name-input:focus{border-color:var(--accent-color, #cd7f32)}.preset-name-input::placeholder{color:var(--text-muted, #666666)}[data-mantine-color-scheme=light] .preset-name-input{background:#fff;border-color:var(--panel-border, #d0d0d0);color:var(--text-color, #2a2a2a)}[data-mantine-color-scheme=light] .preset-name-input::placeholder{color:var(--text-muted, #999999)}.preset-save-btn,.preset-delete-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--panel-border, #444444);border-radius:4px;background:var(--tertiary-bg, #35353d);color:var(--text-muted, #888888);cursor:pointer;transition:all .15s ease;flex-shrink:0}.preset-save-btn:hover:not(:disabled){background:var(--accent-color, #cd7f32);border-color:var(--accent-color, #cd7f32);color:#fff}.preset-save-btn:disabled{opacity:.4}.preset-delete-btn:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}[data-mantine-color-scheme=light] .preset-save-btn,[data-mantine-color-scheme=light] .preset-delete-btn{background:#f5f5f5;border-color:var(--panel-border, #d0d0d0);color:var(--text-muted, #666666)}.printhead-settings-section{background:var(--tertiary-bg, #35353d);border:1px solid var(--panel-border, #444444);overflow:hidden;margin-bottom:0}[data-mantine-color-scheme=light] .printhead-settings-section{border-bottom-color:var(--panel-border, #e0e0e0)}.printhead-settings-section h6{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--accent-color, #cd7f32);text-transform:uppercase;letter-spacing:.5px}.printhead-settings-panel .wpc-slider-item{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.printhead-settings-panel .wpc-slider-item:last-child{margin-bottom:0}.printhead-settings-panel .wpc-slider-header{display:flex;justify-content:space-between;align-items:center}.printhead-settings-panel .wpc-slider-label{font-size:11px;font-weight:500;color:var(--text-muted, #9ca5b3)}[data-mantine-color-scheme=light] .printhead-settings-panel .wpc-slider-label{color:var(--text-muted, #666666)}.printhead-settings-panel .wpc-slider-value{font-size:11px;font-weight:600;color:var(--accent-color, #cd7f32);font-family:Monaco,Courier New,monospace;cursor:pointer;padding:2px 6px;border:1px solid var(--panel-border, #444444);border-radius:3px;transition:all .2s ease;min-width:50px;height:21px;line-height:15px;display:inline-block;text-align:center;box-sizing:border-box;background:var(--tertiary-bg, rgba(0, 0, 0, .3))}.printhead-settings-panel .wpc-slider-value:hover{background:#cd7f3233;border-color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .printhead-settings-panel .wpc-slider-value{border-color:var(--panel-border, #d0d0d0);background:var(--tertiary-bg, #f5f5f5)}[data-mantine-color-scheme=light] .printhead-settings-panel .wpc-slider-value:hover{border-color:var(--accent-color, #cd7f32);background:#cd7f3226}.printhead-settings-panel .wpc-slider-value-input{font-size:11px;font-weight:600;color:var(--accent-color, #cd7f32);font-family:Monaco,Courier New,monospace;background:var(--tertiary-bg, #1a1a20);border:2px solid var(--accent-color, #cd7f32);border-radius:3px;padding:2px 6px;outline:none;min-width:50px;height:21px;line-height:15px;text-align:center;box-sizing:border-box}.printhead-settings-panel .wpc-slider-value-input:focus{background:var(--tertiary-bg, #1a1a20);border-color:var(--accent-color, #d89654);box-shadow:0 0 0 2px #cd7f324d}[data-mantine-color-scheme=light] .printhead-settings-panel .wpc-slider-value-input{background:#fff;color:var(--accent-color, #cd7f32);border-color:var(--accent-color, #cd7f32)}.printhead-settings-panel input.wpc-slider-input[type=range]{width:100%;height:6px;border-radius:3px;background:#3a3a45;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;padding:0;border:1px solid #555555}.printhead-settings-panel input.wpc-slider-input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#3a3a45,#4a4a55);border:none}.printhead-settings-panel input.wpc-slider-input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:2px;background:var(--accent-color, #cd7f32);cursor:pointer;transition:all .2s ease;border:none;margin-top:-6px;box-shadow:0 2px 4px #0000004d}.printhead-settings-panel input.wpc-slider-input[type=range]::-webkit-slider-thumb:hover{background:#d89654;transform:scale(1.1);box-shadow:0 2px 6px #cd7f3280}.printhead-settings-panel input.wpc-slider-input[type=range]::-moz-range-track{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#3a3a45,#4a4a55);border:none}.printhead-settings-panel input.wpc-slider-input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:2px;background:var(--accent-color, #cd7f32);border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000004d}.printhead-settings-panel input.wpc-slider-input[type=range]::-moz-range-thumb:hover{background:#d89654;transform:scale(1.1);box-shadow:0 2px 6px #cd7f3280}[data-mantine-color-scheme=light] .printhead-settings-panel input.wpc-slider-input[type=range]{background:#d0d0d8;border-color:#b0b0b8}[data-mantine-color-scheme=light] .printhead-settings-panel input.wpc-slider-input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#c8c8d0,#d8d8e0)}[data-mantine-color-scheme=light] .printhead-settings-panel input.wpc-slider-input[type=range]::-moz-range-track{background:linear-gradient(to right,#c8c8d0,#d8d8e0)}.printhead-settings-panel .wpc-slider-range{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted, #9ca5b3);opacity:.7}[data-mantine-color-scheme=light] .printhead-settings-panel .wpc-slider-range{color:var(--text-muted, #888888)}.axis-lock-row{margin-bottom:8px;padding:8px;background:var(--tertiary-bg, #2d2d35);border-radius:4px}.axis-lock-row:last-of-type{margin-bottom:0}[data-mantine-color-scheme=light] .axis-lock-row{background:var(--tertiary-bg, #f5f5f5)}.simulator-btn-small{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;font-size:11px;font-weight:500;border:1px solid var(--panel-border, #444444);border-radius:4px;background:var(--tertiary-bg, #2d2d35);color:var(--text-color, #e6e6e6);cursor:pointer;transition:all .15s ease}.simulator-btn-small:hover{background:var(--accent-color, #bd752d);border-color:var(--accent-color, #bd752d);color:#fff}[data-mantine-color-scheme=light] .simulator-btn-small{border-color:var(--panel-border, #d0d0d0);background:var(--tertiary-bg, #ffffff);color:var(--text-color, #2a2a2a)}[data-mantine-color-scheme=light] .simulator-btn-small:hover{background:var(--accent-color, #bd752d);border-color:var(--accent-color, #bd752d);color:#fff}.info-cell input[type=checkbox]{width:12px;height:12px;accent-color:var(--accent-color, #bd752d)}.axis-lock-label{display:flex;align-items:center;gap:6px;cursor:pointer;padding:2px 4px;margin:-2px -4px;border-radius:3px;-webkit-user-select:none;user-select:none}.axis-lock-label:hover{background:#bd752d26}.axis-lock-checkbox{width:16px!important;height:16px!important;margin:0;cursor:pointer;accent-color:var(--accent-color, #bd752d)}.robot-model-panel{padding:10px 14px;background:var(--bg-secondary, #2d2d35);border-top:1px solid var(--panel-border, #444444);max-height:55vh;overflow-y:auto}.robot-panel-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.robot-panel-label{font-size:11px;color:var(--text-muted, #888888);text-transform:uppercase;letter-spacing:.03em}.robot-panel-select{width:100%;font-size:12px;padding:4px 6px;background:var(--tertiary-bg, #35353d);color:var(--text-color, #e6e6e6);border:1px solid var(--panel-border, #444444);border-radius:4px;outline:none;cursor:pointer}[data-mantine-color-scheme=light] .robot-panel-select{background:var(--tertiary-bg, #f5f5f5);color:var(--text-color, #2a2a2a);border-color:var(--panel-border, #c0c0c0)}.robot-panel-status-row{margin-bottom:8px;padding:4px 8px;background:var(--tertiary-bg, #35353d);border-radius:4px;font-size:11px}.robot-status-ok{color:#5dba5d}.robot-status-loading{color:var(--text-muted, #888888)}.robot-status-error{color:#e06060}.robot-status-idle{color:var(--text-muted, #888888)}.robot-panel-singularity{margin-bottom:8px;padding:4px 8px;background:var(--tertiary-bg, #35353d);border-left:3px solid var(--accent-color, #cd7f32);border-radius:0 4px 4px 0;font-size:11px;color:var(--text-color, #e6e6e6)}.robot-panel-section{margin-bottom:10px}.robot-panel-mono{font-family:Menlo,Consolas,monospace;font-size:11px;color:var(--text-color, #e6e6e6);margin-top:2px}.robot-tcp-readout-row{margin-bottom:10px}.robot-tcp-readout-label{font-size:11px;color:var(--text-muted, #888888);margin-bottom:2px}.robot-tcp-readout-meta{margin-top:4px;font-size:11px;color:var(--text-muted, #888888)}.robot-tcp-readout-note{color:var(--text-muted, #666666)}.robot-panel-joint-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px;font-size:12px}.robot-panel-joint-name{font-size:11px;color:var(--text-muted, #888888);width:22px;flex-shrink:0}.robot-panel-joint-range{font-size:10px;color:var(--text-muted, #666666)}.robot-panel-footer{margin-top:10px;padding-top:8px;border-top:1px solid var(--panel-border, #444444);font-size:10px;color:var(--text-muted, #666666);line-height:1.5}.robot-info-callout{margin-bottom:8px;padding:8px 10px;background:var(--tertiary-bg, #35353d);border-left:3px solid var(--accent-color, #cd7f32);border-radius:0 4px 4px 0;font-size:11px;line-height:1.45;color:var(--text-color, #e6e6e6);width:100%;box-sizing:border-box}.robot-info-callout-title{font-weight:600;margin-bottom:4px;font-size:11px}.robot-info-callout-body ul.robot-info-list,ol.robot-info-list{margin:4px 0 0 16px;padding:0}.robot-info-list li{margin-bottom:2px}.robot-validation-summary{padding:8px 0;border-top:1px solid var(--panel-border, #444444)}.robot-workflow-check--done{background:var(--accent-color, #cd7f32);border:1px solid var(--accent-color, #cd7f32);color:#fff}.robot-panel-hint input[type=checkbox]{accent-color:var(--accent-color, #cd7f32)}.simulator-sidebar-panel-inner .checkbox-row{margin-bottom:8px}.simulator-sidebar-panel-inner .checkbox-row label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-color, #e6e6e6);cursor:pointer}.simulator-sidebar-panel-inner .checkbox-row input[type=checkbox]{accent-color:var(--accent-color, #cd7f32);width:14px;height:14px}[data-mantine-color-scheme=light] .simulator-sidebar-panel-inner .checkbox-row label{color:var(--text-color, #2a2a2a)}.sim-grid-color-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.sim-grid-color-row--disabled{opacity:.45;pointer-events:none}.sim-grid-color-input{width:36px;height:24px;padding:0;border:1px solid var(--panel-border, #555555);border-radius:4px;background:transparent;cursor:pointer}.wpc-slider-label{display:inline-flex;align-items:baseline;gap:4px}.wpc-slider-unit{font-size:9px;font-weight:500;color:var(--text-muted, #888888);text-transform:lowercase;line-height:1;flex-shrink:0}.robot-panel-btn-spin{animation:robot-panel-spin .8s linear infinite;vertical-align:middle}@keyframes robot-panel-spin{to{transform:rotate(360deg)}}.robot-analysis-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 4px;padding:8px 10px;border-radius:6px;font-size:11px;border:1px solid var(--panel-border, #444444)}.robot-analysis-status--pass{background:#4caf821f;border-color:#4caf8266}.robot-analysis-status--warn{background:#e6a0201a;border-color:#e6a02066}.robot-analysis-status--fail{background:#e74c3c1a;border-color:#e74c3c66}.robot-analysis-status--stale{background:#8888881f}.robot-analysis-status--pending{background:var(--tertiary-bg, #3d3d47)}.robot-analysis-status__label{font-weight:600;color:var(--text-color, #e6e6e6)}.robot-analysis-status__metric,.robot-analysis-status__issues{color:var(--text-muted, #888);font-variant-numeric:tabular-nums}.robot-analysis-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px}.robot-analysis-metric{padding:8px;border-radius:6px;background:var(--tertiary-bg, #3d3d47);border:1px solid transparent}.robot-analysis-metric--good{border-color:#4caf8259}.robot-analysis-metric--warn{border-color:#e6a02059}.robot-analysis-metric__label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #888);margin-bottom:2px}.robot-analysis-metric__value{display:block;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-color, #e6e6e6)}.robot-analysis-metric__sub{display:block;font-size:9px;color:var(--text-muted, #888);margin-top:2px}.robot-analysis-bars{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.robot-analysis-bar__head{display:flex;justify-content:space-between;font-size:10px;margin-bottom:2px;color:var(--text-color, #e6e6e6)}.robot-analysis-bar__count{font-variant-numeric:tabular-nums;color:var(--text-muted, #888)}.robot-analysis-bar__track{height:5px;border-radius:3px;background:var(--tertiary-bg, #3d3d47);overflow:hidden}.robot-analysis-bar__fill{height:100%;border-radius:3px;transition:width .2s ease}.robot-analysis-joint-peaks{margin-top:8px;padding-top:8px;border-top:1px dashed var(--panel-border, #444444)}.robot-analysis-joint-peaks__title{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #888);margin-bottom:4px}.robot-analysis-joint-peaks__row{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:10px;font-variant-numeric:tabular-nums;color:var(--text-color, #e6e6e6)}.robot-analysis-table-wrap{max-height:200px;overflow:auto;margin-bottom:8px;border:1px solid var(--panel-border, #444444);border-radius:4px}.robot-analysis-table{width:100%;border-collapse:collapse;font-size:10px}.robot-analysis-table th{position:sticky;top:0;background:var(--bg-secondary, #2d2d35);text-align:left;padding:4px 6px;font-weight:600;color:var(--text-muted, #888);border-bottom:1px solid var(--panel-border, #444444)}.robot-analysis-table td{padding:4px 6px;border-bottom:1px solid rgba(68,68,68,.5);vertical-align:top}.robot-analysis-table__row{cursor:pointer}.robot-analysis-table__row:hover{background:var(--tertiary-bg, #3d3d47)}.robot-analysis-table__dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}.robot-analysis-table__msg{color:var(--text-muted, #888);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.robot-analysis-links{display:flex;flex-direction:column;gap:2px}.robot-analysis-link{display:block;width:100%;text-align:left;padding:6px 4px;font-size:11px;border:none;border-radius:4px;background:transparent;color:var(--accent-color, #cd7f32);cursor:pointer}.robot-analysis-link:hover{background:var(--tertiary-bg, #3d3d47)}.robot-axis-loads{display:flex;flex-direction:column;gap:10px}.robot-axis-loads__legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:2px;font-size:9px;color:var(--text-muted, #888)}.robot-axis-loads__legend-item{display:inline-flex;align-items:center;gap:4px}.robot-axis-loads__swatch{width:10px;height:4px;border-radius:2px}.robot-axis-loads__swatch--pos{background:#cd7f328c}.robot-axis-loads__swatch--vel{background:#cd7f32}.robot-axis-loads__legend-meta{margin-left:auto;font-variant-numeric:tabular-nums}.robot-axis-load{padding:8px;border-radius:6px;background:var(--tertiary-bg, #3d3d47);border:1px solid transparent}.robot-axis-load--warn{border-color:#e6a02059}.robot-axis-load--critical,.robot-axis-load--violation{border-color:#e74c3c66}.robot-axis-load__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.robot-axis-load__label{font-size:12px;font-weight:700}.robot-axis-load__combined{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.robot-axis-load__row{display:grid;grid-template-columns:24px 1fr 32px;align-items:center;gap:6px;margin-bottom:4px}.robot-axis-load__row-label{font-size:9px;text-transform:uppercase;color:var(--text-muted, #888)}.robot-axis-load__row-pct{font-size:10px;font-variant-numeric:tabular-nums;text-align:right;color:var(--text-color, #e6e6e6)}.robot-axis-load__track{position:relative;height:7px;border-radius:3px;background:#00000040;overflow:visible}.robot-axis-load__fill{position:absolute;left:0;top:0;height:100%;border-radius:3px;transition:width .2s ease;min-width:0}.robot-axis-load__tick{position:absolute;top:-2px;bottom:-2px;width:1px;background:#ffffff1f;z-index:1;pointer-events:none}.robot-axis-load__tick--70{left:70%}.robot-axis-load__tick--90{left:90%}.robot-axis-load__overflow-badge{position:absolute;right:-2px;top:50%;transform:translateY(-50%);font-size:8px;font-weight:700;color:#e74c3c;line-height:1}.robot-axis-load__range{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:4px;margin-top:4px}.robot-axis-load__range-min,.robot-axis-load__range-max{font-size:8px;color:var(--text-muted, #888);font-variant-numeric:tabular-nums}.robot-axis-load__range-max{text-align:right}.robot-axis-load__range-track{position:relative;height:4px;border-radius:2px;background:#0000004d}.robot-axis-load__range-marker{position:absolute;top:50%;width:6px;height:6px;margin-left:-3px;margin-top:-3px;border-radius:50%;box-shadow:0 0 0 1px #0006}.robot-axis-load__meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:9px;color:var(--text-muted, #888);font-variant-numeric:tabular-nums}.robot-axis-loads--compact .robot-axis-load__meta,.robot-axis-loads--compact .robot-axis-load__range{display:none}.robot-axis-angle-analysis--overlay-only{min-height:520px}.robot-axis-chart-interactive{display:flex;flex-direction:column;gap:6px;min-height:400px}.robot-axis-chart-interactive__plot-wrap{position:relative;flex:1;min-height:380px;width:100%}.robot-axis-chart-interactive--dual .robot-axis-chart-interactive__plot-wrap{min-height:500px}.robot-axis-chart-interactive--dual .robot-axis-chart-interactive__canvas{cursor:crosshair}.robot-axis-chart-interactive__canvas{display:block;width:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.robot-axis-chart-interactive__canvas:active{cursor:grabbing}.robot-axis-chart-interactive__svg{display:none}.robot-axis-chart-interactive__hint{position:absolute;right:8px;bottom:6px;font-size:9px;color:var(--text-muted, #888);pointer-events:none;opacity:.85}.robot-axis-chart-interactive__reset{margin-left:auto;padding:2px 8px;font-size:10px;border-radius:4px;border:1px solid var(--panel-border, #444);background:var(--tertiary-bg, #3d3d47);color:var(--accent-color, #cd7f32);cursor:pointer}.robot-axis-chart-interactive__reset:hover{background:var(--bg-secondary, #2d2d35)}.robot-axis-chart-interactive .checkbox-row label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-color, #e6e6e6);cursor:pointer;-webkit-user-select:none;user-select:none}.robot-axis-chart-interactive .checkbox-row input[type=checkbox]{accent-color:var(--accent-color, #bd752d);width:14px;height:14px;margin:0;cursor:pointer;flex-shrink:0}[data-mantine-color-scheme=light] .robot-axis-chart-interactive .checkbox-row label{color:var(--text-color, #2a2a2a)}.robot-axis-angle-analysis{width:100%;min-width:0}.robot-axis-angle-analysis__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--panel-border, #444444)}.robot-axis-angle-analysis__tabs{display:flex;align-items:center;gap:4px}.robot-axis-angle-analysis__tab-label{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #888);margin-right:4px}.robot-axis-angle-analysis__meta{margin-left:auto;font-size:10px;color:var(--text-muted, #888);font-variant-numeric:tabular-nums}.robot-axis-angle-analysis__stack{display:flex;flex-direction:column;gap:8px}.robot-axis-angle-chart{background:#00000026;border-radius:6px;padding:4px 6px 2px;border:1px solid rgba(68,68,68,.45)}.robot-axis-angle-chart__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px;padding:0 2px}.robot-axis-angle-chart__label{font-size:11px;font-weight:700}.robot-axis-angle-chart__limits{font-size:9px;color:var(--text-muted, #888);font-variant-numeric:tabular-nums}.robot-axis-angle-chart__svg{display:block;width:100%;height:auto}.robot-axis-angle-chart__limit{stroke:#e74c3c8c;stroke-width:1;stroke-dasharray:4 3}.robot-axis-angle-chart__limit-band{fill:#e74c3c0f;pointer-events:none}.robot-axis-angle-chart__yunit{font-size:8px;fill:var(--text-muted, #888)}.robot-axis-angle-chart--empty{display:flex;justify-content:space-between;padding:8px;font-size:10px;color:var(--text-muted, #888)}.robot-axis-angle-chart__empty-msg{font-style:italic}[data-mantine-color-scheme=light] .sim-grid-color-input{border-color:var(--panel-border, #d0d0d0)}.sim-path-mode-list{display:flex;flex-direction:column;gap:10px}.sim-path-mode-option{align-items:flex-start;gap:8px}.sim-path-mode-option span{display:flex;flex-direction:column;gap:2px}.sim-path-mode-option small{color:var(--text-muted, #888);font-size:11px;line-height:1.35}.sim-panel-intro{font-size:12px;line-height:1.45;color:var(--text-muted, #888);margin:0 0 12px;padding:0 12px}.sim-panel-muted{font-size:12px;color:var(--text-muted, #666);padding:0 12px}.cell-library-category{margin-bottom:12px}.cell-library-category-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #777);margin:0 0 6px;padding:0 12px}.cell-library-asset-list,.cell-library-placed-list{list-style:none;margin:0;padding:0}.cell-library-asset-row,.cell-library-placed-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--panel-border, #3a3a42)}.cell-library-asset-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-library-asset-name{font-size:12px;font-weight:500;color:var(--text-color, #e6e6e6)}.cell-library-asset-desc{font-size:10px;color:var(--text-muted, #888);line-height:1.3}.sim-panel-btn{font-size:11px;padding:4px 10px;border-radius:4px;border:1px solid var(--panel-border, #555);background:var(--tertiary-bg, #35353d);color:var(--text-color, #e6e6e6);cursor:pointer;flex-shrink:0}.sim-panel-btn-primary{border-color:var(--accent-color, #cd7f32);color:var(--accent-color, #cd7f32)}.sim-panel-btn-danger{border-color:#c0392b;color:#e74c3c}.cycle-time-summary{padding:0 12px 12px;display:flex;flex-direction:column;gap:8px}.cycle-time-total{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cycle-time-total-label{font-size:12px;font-weight:600;color:var(--text-muted, #888)}.cycle-time-total-value{font-size:18px;font-weight:700;color:var(--accent-color, #cd7f32);font-variant-numeric:tabular-nums}.cycle-time-takt{font-size:12px;padding:6px 8px;border-radius:4px;background:var(--tertiary-bg, #35353d)}.cycle-time-takt--ok{border-left:3px solid #4ade80}.cycle-time-takt--over{border-left:3px solid #e74c3c}.cycle-time-margin{margin-left:8px;font-size:11px;color:var(--text-muted, #888)}.cycle-time-field{display:flex;flex-direction:column;gap:4px;padding:0 12px 10px;font-size:12px}.cycle-time-field input{padding:6px 8px;border-radius:4px;border:1px solid var(--panel-border, #555);background:var(--tertiary-bg, #2d2d35);color:var(--text-color, #e6e6e6)}.cycle-time-breakdown-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #777);margin:8px 0 4px;padding:0 12px}.cycle-time-table{width:calc(100% - 24px);margin:0 12px;font-size:12px;border-collapse:collapse}.cycle-time-table td{padding:4px 0;border-bottom:1px solid var(--panel-border, #3a3a42)}.cycle-time-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.cycle-time-segment-list{list-style:none;margin:0;padding:0 12px 12px;font-size:11px}.cycle-time-segment-list li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid var(--panel-border, #3a3a42)}.collision-settings-container{display:flex;flex-direction:column;gap:12px;padding:12px;background-color:#f5f5f5;border-radius:8px;font-size:12px}body.theme-dark .collision-settings-container,body.dark-mode .collision-settings-container{background-color:#2d2d2d}.collision-settings-section{display:flex;flex-direction:column;gap:8px}.collision-settings-section-title{font-size:13px;font-weight:600;color:#333;margin-bottom:4px;border-bottom:1px solid #ddd;padding-bottom:4px}body.theme-dark .collision-settings-section-title,body.dark-mode .collision-settings-section-title{color:#fff;border-bottom-color:#444}.collision-settings-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.collision-settings-label{color:#666;flex:1}body.theme-dark .collision-settings-label,body.dark-mode .collision-settings-label{color:#ccc}.collision-settings-label-checkbox{color:#666;flex:1;display:flex;align-items:center}body.theme-dark .collision-settings-label-checkbox,body.dark-mode .collision-settings-label-checkbox{color:#ccc}.collision-settings-input{width:80px;padding:4px 8px;border-radius:4px;border:1px solid #ccc;background-color:#fff;color:#333;font-size:12px}body.theme-dark .collision-settings-input,body.dark-mode .collision-settings-input{border-color:#555;background-color:#1e1e1e;color:#fff}.collision-settings-select{width:150px;padding:4px 8px;border-radius:4px;border:1px solid #ccc;background-color:#fff;color:#333;font-size:12px}body.theme-dark .collision-settings-select,body.dark-mode .collision-settings-select{border-color:#555;background-color:#1e1e1e;color:#fff}.collision-settings-checkbox{margin-right:8px}.collision-settings-preset-row{display:flex;gap:8px;flex-wrap:wrap}.collision-settings-preset-button{padding:6px 12px;border-radius:4px;border:none;background-color:#e0e0e0;color:#333;cursor:pointer;font-size:11px;transition:background-color .2s}body.theme-dark .collision-settings-preset-button,body.dark-mode .collision-settings-preset-button{background-color:#3a3a3a;color:#fff}.collision-settings-preset-button:hover{background-color:#d0d0d0}body.theme-dark .collision-settings-preset-button:hover,body.dark-mode .collision-settings-preset-button:hover{background-color:#4a4a4a}.collision-settings-preset-button.active{background-color:#81c784}body.theme-dark .collision-settings-preset-button.active,body.dark-mode .collision-settings-preset-button.active{background-color:#4a7c59}.collision-settings-description{color:#999;font-size:10px;margin-top:2px}body.theme-dark .collision-settings-description,body.dark-mode .collision-settings-description{color:#888}.collision-settings-color-input{width:50px;height:24px;padding:0;border:none;cursor:pointer}.collision-settings-opacity-value{width:30px;text-align:right;color:#666}body.theme-dark .collision-settings-opacity-value,body.dark-mode .collision-settings-opacity-value{color:#888}.collision-settings-gpu-status{flex:none;color:#888}.collision-settings-gpu-status.active{color:#4a7}.collision-toggle-container{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#f5f5f5;border-radius:6px}body.theme-dark .collision-toggle-container,body.dark-mode .collision-toggle-container{background-color:#2d2d2d}.collision-toggle-switch{width:36px;height:20px;border-radius:10px;background-color:#ccc;position:relative;cursor:pointer;transition:background-color .2s}body.theme-dark .collision-toggle-switch,body.dark-mode .collision-toggle-switch{background-color:#555}.collision-toggle-switch.enabled{background-color:#4caf50}.collision-toggle-knob{width:16px;height:16px;border-radius:50%;background-color:#fff;position:absolute;top:2px;left:2px;transition:left .2s}.collision-toggle-switch.enabled .collision-toggle-knob{left:18px}.collision-toggle-label{color:#333;font-size:12px;font-weight:500}body.theme-dark .collision-toggle-label,body.dark-mode .collision-toggle-label{color:#fff}.collision-toggle-settings-button{padding:4px 8px;border-radius:4px;border:none;background-color:#e0e0e0;color:#333;cursor:pointer;font-size:11px}body.theme-dark .collision-toggle-settings-button,body.dark-mode .collision-toggle-settings-button{background-color:#3a3a3a;color:#fff}.collision-toggle-settings-button:hover{background-color:#d0d0d0}body.theme-dark .collision-toggle-settings-button:hover,body.dark-mode .collision-toggle-settings-button:hover{background-color:#4a4a4a}.simulator-tree-dock{position:absolute;top:8px;bottom:8px;display:flex;flex-direction:column;z-index:99;pointer-events:auto;background:var(--bg-secondary, #2d2d35);border:1px solid var(--panel-border, #444);border-radius:8px;box-shadow:0 4px 16px #00000038;overflow:hidden}.simulator-tree-dock--program{left:0;width:var(--sim-program-tree-w, 0px)}.simulator-tree-dock--scene{left:var(--sim-program-tree-w, 0px);width:var(--sim-scene-tree-w, 0px)}.simulator-tree-dock__header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;border-bottom:1px solid var(--panel-border, #444);flex-shrink:0}.simulator-tree-dock__title{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted, #999)}.simulator-tree-dock__close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted, #888);cursor:pointer}.simulator-tree-dock__close:hover{background:#ffffff0f;color:var(--text-color, #e6e6e6)}.simulator-tree-dock__body{flex:1;min-height:0;overflow:auto;padding:4px 0}[data-mantine-color-scheme=light] .simulator-tree-dock{background:#fff;border-color:#d0d0d0;box-shadow:0 4px 16px #00000014}[data-mantine-color-scheme=light] .simulator-tree-dock__close:hover{background:#0000000d;color:#2a2a2a}.sim-tree-node{display:flex;align-items:center;gap:6px;width:100%;padding:5px 10px 5px 8px;border:none;background:transparent;color:var(--text-color, #ddd);font-size:12px;text-align:left;cursor:pointer}.sim-tree-node:hover{background:#ffffff0d}.sim-tree-node.active{background:#cd7f322e;color:var(--accent-color, #cd7f32)}.sim-tree-node--section{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #888);cursor:default;padding-top:10px}.sim-tree-node--section:hover{background:transparent}.sim-tree-node__icon{flex-shrink:0;opacity:.75}.sim-tree-node__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-tree-node__meta{flex-shrink:0;font-size:10px;opacity:.55}.sim-tree-node--child{padding-left:22px}.sim-tree-node-row{display:flex;align-items:stretch;gap:2px}.sim-tree-node-row .sim-tree-node{flex:1;min-width:0}.sim-tree-node__delete{flex-shrink:0;width:26px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted, #888);border-radius:4px;cursor:pointer;opacity:.6}.sim-tree-node__delete:hover{opacity:1;color:#e05555;background:#e055551f}.sim-tree-empty{padding:12px 10px;font-size:11px;color:var(--text-muted, #888);line-height:1.4}.sim-program-tree{display:flex;flex-direction:column;gap:6px}.sim-program-tree__toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:0 4px 4px}.sim-program-tree__btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid rgba(205,127,50,.4);border-radius:4px;background:#cd7f321a;color:var(--accent-color, #cd7f32);font-size:10px;font-weight:600;cursor:pointer}.sim-program-tree__sequence-toggle{display:flex;align-items:center;gap:6px;padding:0 6px 4px;font-size:10px;color:var(--text-muted, #999);cursor:pointer}.sim-program-tree__sequence-toggle input[type=checkbox],.simulator-tree-panel input[type=checkbox]{accent-color:var(--accent-color, #bd752d)}.sim-program-tree__program{border:1px solid var(--panel-border, #444);border-radius:6px;background:transparent;overflow:hidden}.sim-program-tree__program--active{border-color:#cd7f3273}.sim-program-tree__program-header{display:flex;align-items:center;gap:2px;padding:2px 4px 2px 2px;border-bottom:1px solid var(--panel-border, #444)}.sim-program-tree__expand,.sim-program-tree__program-title{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--text-color, #e6e6e6);cursor:pointer;padding:4px;font-size:11px;font-weight:600}.sim-program-tree__program-title{flex:1;min-width:0;text-align:left}.sim-program-tree__program-title span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-program-tree__program-meta{font-size:9px;opacity:.55;margin-left:auto}.sim-program-tree__program-actions{display:flex;gap:1px;flex-shrink:0}.sim-program-tree__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted, #888);cursor:pointer}.sim-program-tree__icon-btn:hover:not(:disabled){background:#cd7f321a;border-color:#cd7f3259}.sim-program-tree__icon-btn:disabled{opacity:.3;cursor:not-allowed}.sim-program-tree__icon-btn--danger:hover:not(:disabled){color:#e05555}.sim-program-tree__empty-prog{margin:0;padding:8px 12px 10px 28px;font-size:10px;color:var(--text-muted, #888)}.sim-tree-node--collapsible{cursor:pointer}.sim-tree-node--point{padding-left:28px!important}.sim-program-tree__section{margin-top:4px}.simulator-body--cell-library{--cell-library-dock-width: min(48vw, 680px)}.simulator-cell-library-dock{position:absolute;top:0;left:64px;bottom:0;width:var(--cell-library-dock-width, min(48vw, 680px));min-width:320px;display:flex;flex-direction:column;background:var(--bg-secondary, #2d2d35);border-right:1px solid var(--panel-border, #444444);box-shadow:4px 0 20px #0003;z-index:90}[data-mantine-color-scheme=light] .simulator-cell-library-dock{background:var(--bg-secondary, #ffffff);border-color:var(--panel-border, #d0d0d0)}.cell-library-dock-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--panel-border, #444);background:var(--tertiary-bg, #35353d)}.cell-library-dock-header h2{margin:0 0 2px;font-size:14px;font-weight:600}.cell-library-dock-header p{margin:0;font-size:10px;color:var(--text-muted, #888)}.cell-library-dock-close{border:none;background:transparent;color:var(--text-muted, #888);cursor:pointer;padding:4px;border-radius:4px}.cell-library-dock-close:hover{color:var(--text-color, #e6e6e6);background:#ffffff0f}.cell-library-dock-toolbar{padding:8px 10px;border-bottom:1px solid var(--panel-border, #444);display:flex;flex-direction:column;gap:6px}.cell-library-dock-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.cell-library-dock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;padding:6px 8px}.cell-library-dock-detail{padding:0 8px 8px;border-top:1px solid var(--panel-border, #3a3a42)}.cell-library-dock-detail-layout{display:grid;grid-template-columns:minmax(220px,48%) minmax(0,1fr);gap:10px;align-items:start;margin-top:6px}.cell-library-dock-detail-preview{min-width:0}.cell-library-dock-detail .cell-library-detail-preview{height:220px;border-radius:6px;overflow:hidden;border:1px solid var(--panel-border, #444);background:#1a1a1f}.cell-library-dock-detail-main{min-width:0}.cell-library-dock-detail-main h3{margin:0 0 2px;font-size:12px;line-height:1.2}.cell-library-dock-detail h3{margin:8px 0 4px;font-size:13px}.cell-library-placement-toggles{display:flex;gap:4px;margin:6px 0}.cell-library-placement-toggles .sim-panel-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:10px}.cell-library-placement-hint{margin:6px 0 0;font-size:10px;color:var(--accent-color, #cd7f32)}.cell-library-dock-placed{border-top:1px solid var(--panel-border, #444);padding:8px 10px;max-height:140px;overflow-y:auto}.cell-library-dock-placed h3{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #777)}.cell-library-dock-placed ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.cell-library-dock-placed li{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--tertiary-bg, #35353d);border:1px solid var(--panel-border, #555);display:flex;gap:6px;align-items:center}.cell-library-dock-placed li.selected{border-color:#4da8ff;box-shadow:inset 0 0 0 1px #4da8ff73;background:#4da8ff1f}.cell-library-dock-placed li.targeted{border-color:#ffb450a6;background:#ffb45014}.cell-library-placed-select{border:none;background:transparent;color:inherit;cursor:pointer;padding:0;font:inherit;text-align:left}.cell-library-selection-tools{display:flex;gap:4px;margin-bottom:6px;align-items:center;flex-wrap:wrap}.cell-library-selection-hint{font-size:10px;color:var(--text-muted, #888);margin:0 0 6px;line-height:1.35}.cell-library-import-row{display:flex;flex-direction:column;gap:4px;padding:0 10px 8px;border-bottom:1px solid var(--panel-border, #444);margin-bottom:6px}.cell-library-import-row .sim-panel-btn{width:100%;justify-content:center}.cell-library-card.placing{box-shadow:inset 0 0 0 1px var(--accent-color, #cd7f32)}.sim-panel-btn.placing{background:#cd7f3226}.cell-library-vendor-tabs{display:flex;flex-wrap:wrap;gap:4px}.cell-library-vendor-tab{padding:3px 8px;border-radius:4px;border:1px solid var(--panel-border, #555);background:var(--tertiary-bg, #35353d);color:var(--text-muted, #888);font-size:9px;cursor:pointer}.cell-library-vendor-tab.active{border-color:var(--accent-color, #cd7f32);color:var(--accent-color, #cd7f32)}.cell-library-card-vendor{font-size:7px;color:var(--text-muted, #777);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-library-vendor-badge{margin:0 0 4px;font-size:10px;font-weight:600;color:var(--accent-color, #cd7f32)}.cell-library-source-attribution{margin:0 0 6px;font-size:9px;color:var(--text-muted, #666);font-style:italic}.cell-library-category-tabs{display:flex;flex-wrap:wrap;gap:2px}.cell-library-tab{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--text-muted, #888);font-size:10px;cursor:pointer}.cell-library-tab.active{border-color:var(--accent-color, #cd7f32);color:var(--accent-color, #cd7f32)}.cell-library-search{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:5px;border:1px solid var(--panel-border, #555);background:var(--tertiary-bg, #35353d)}.cell-library-search input{border:none;background:transparent;color:inherit;font-size:11px;width:100%;outline:none}.cell-library-card{position:relative;display:flex;flex-direction:column;gap:2px;padding:3px;border-radius:4px;border:1px solid var(--panel-border, #444);background:var(--tertiary-bg, #35353d);cursor:pointer;text-align:left;color:inherit}.cell-library-card.selected{border-color:var(--accent-color, #cd7f32)}.cell-library-card-title{font-size:8px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-asset-card-thumb{height:44px;aspect-ratio:auto;border-radius:3px;background:#1a1a1f;display:flex;align-items:center;justify-content:center;overflow:hidden}.cell-asset-card-thumb--label{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--text-muted, #888);border:1px solid var(--panel-border, #3a3a42)}.cell-asset-preview-hint{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:9px;color:var(--text-muted, #888);pointer-events:none}.cell-library-dimensions{margin:6px 0;padding:6px;border-radius:4px;border:1px solid var(--panel-border, #555)}.cell-library-section-title{margin:0 0 6px;font-size:9px;text-transform:uppercase;color:var(--text-muted, #777)}.cell-library-dim-grid{display:flex;flex-direction:column;gap:4px}.cell-library-dim-field{display:grid;grid-template-columns:1fr 64px 24px;gap:6px;align-items:center;font-size:10px}.cell-library-dim-input{padding:3px 5px;border-radius:4px;border:1px solid var(--panel-border, #555);background:var(--bg-secondary, #2d2d35);color:inherit;font-size:10px}.cell-library-dim-summary{margin:6px 0 0;font-size:10px;color:var(--accent-color, #cd7f32)}.cell-library-detail-desc{margin:0 0 4px;font-size:9px;color:var(--text-muted, #888);line-height:1.3}.cell-library-smart-hint{margin:0 0 6px;padding:4px 6px;border-radius:4px;font-size:10px;line-height:1.35;color:var(--accent-color, #cd7f32);background:#cd7f3214;border:1px solid rgba(205,127,50,.25)}.cell-library-add-btn-secondary{margin-top:6px;width:100%}.cell-asset-card-thumb--loading{background:linear-gradient(110deg,#1a1a1f 25%,#2a2a32,#1a1a1f 75%);background-size:200% 100%;animation:cell-thumb-shimmer 1.2s ease-in-out infinite}@keyframes cell-thumb-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.cell-library-add-btn{width:100%}.cell-library-remove-btn{border:none;background:transparent;color:#e74c3c;font-size:9px;cursor:pointer}.cell-library-placement-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:95;padding:6px 14px;border-radius:6px;font-size:12px;background:#cd7f32eb;color:#fff;pointer-events:none;white-space:nowrap}.cell-library-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:10px}.cell-library-modal-container{width:min(1180px,98vw);height:min(820px,92vh);background:var(--bg-secondary, #2d2d35);color:var(--text-color, #e6e6e6);border-radius:8px;box-shadow:0 4px 24px #00000059;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--panel-border, #444444)}[data-mantine-color-scheme=light] .cell-library-modal-container{background:var(--bg-secondary, #ffffff);color:var(--text-color, #1a1a1a);border-color:var(--panel-border, #d0d0d0);box-shadow:0 4px 24px #0000001f}.cell-library-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--panel-border, #444444);background:var(--tertiary-bg, #35353d)}[data-mantine-color-scheme=light] .cell-library-modal-header{background:var(--bg-secondary, #f5f5f5);border-color:var(--panel-border, #d0d0d0)}.cell-library-modal-header h2{margin:0 0 3px;font-size:15px;font-weight:600;color:var(--text-color, #e6e6e6)}.cell-library-modal-header p{margin:0;font-size:11px;color:var(--text-muted, #888888);max-width:560px;line-height:1.4}.cell-library-modal-close{background:transparent;border:1px solid transparent;color:var(--text-muted, #888888);cursor:pointer;padding:6px;border-radius:6px;flex-shrink:0}.cell-library-modal-close:hover{background:var(--bg-hover, rgba(255, 255, 255, .06));border-color:var(--panel-border, #555);color:var(--text-color, #e6e6e6)}.cell-library-modal-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--panel-border, #444444);flex-wrap:wrap}.cell-library-category-tabs{display:flex;gap:2px;flex-wrap:wrap;flex:1}.cell-library-tab{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted, #888888);font-size:11px;cursor:pointer;transition:all .12s ease}.cell-library-tab:hover{background:var(--bg-hover, rgba(255, 255, 255, .05));color:var(--text-color, #e6e6e6)}.cell-library-tab.active{background:transparent;border-color:var(--accent-color, #cd7f32);color:var(--accent-color, #cd7f32)}.cell-library-tab-count{font-size:10px;opacity:.7}.cell-library-search{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--tertiary-bg, #35353d);border:1px solid var(--panel-border, #555);min-width:200px;color:var(--text-muted, #888)}[data-mantine-color-scheme=light] .cell-library-search{background:#fff}.cell-library-search input{border:none;background:transparent;color:var(--text-color, #e6e6e6);font-size:11px;width:100%;outline:none}.cell-library-modal-body{flex:1;display:grid;grid-template-columns:1fr 340px;min-height:0}.cell-library-grid-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--panel-border, #444444)}.cell-library-grid-header{padding:8px 12px;font-size:11px;color:var(--text-muted, #888);border-bottom:1px solid var(--panel-border, #3a3a42)}.cell-library-grid{flex:1;overflow-y:auto;padding:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;align-content:start}.cell-library-empty{grid-column:1 / -1;color:var(--text-muted, #888);font-size:12px;padding:20px}.cell-library-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:6px;border:1px solid var(--panel-border, #444);background:var(--tertiary-bg, #35353d);cursor:pointer;text-align:left;color:inherit;transition:border-color .12s,background .12s}[data-mantine-color-scheme=light] .cell-library-card{background:#fafafa}.cell-library-card:hover{border-color:var(--panel-border, #666)}.cell-library-card.selected{border-color:var(--accent-color, #cd7f32);background:#cd7f3214}.cell-library-card.flash{animation:cell-library-flash .85s ease}@keyframes cell-library-flash{0%,to{box-shadow:none}45%{box-shadow:inset 0 0 0 1px var(--accent-color, #cd7f32)}}.cell-library-card-title{font-size:11px;font-weight:500;line-height:1.25;color:var(--text-color, #e6e6e6)}.cell-library-card-badge{position:absolute;top:6px;right:6px;font-size:9px;padding:1px 5px;border-radius:3px;background:#cd7f3226;color:var(--accent-color, #cd7f32);border:1px solid rgba(205,127,50,.35)}.cell-asset-card-thumb{aspect-ratio:4 / 3;border-radius:4px;overflow:hidden;background:var(--bg-primary, #1a1a1f);border:1px solid var(--panel-border, #3a3a42);display:flex;align-items:center;justify-content:center}.cell-asset-card-thumb img{width:100%;height:100%;object-fit:contain}.cell-asset-card-thumb--glyph{font-size:22px;color:var(--text-muted, #777)}.cell-asset-card-thumb--label{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--text-muted, #888)}.cell-asset-card-thumb--label.selected{color:var(--accent-color, #cd7f32);border-color:#cd7f3273}.cell-library-placed-strip{border-top:1px solid var(--panel-border, #444);padding:8px 12px;max-height:110px;overflow-y:auto}.cell-library-placed-strip h3{margin:0 0 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #777)}.cell-library-placed-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}.cell-library-placed-strip li{display:flex;align-items:center;gap:6px;font-size:11px;padding:3px 8px;border-radius:4px;background:var(--tertiary-bg, #35353d);border:1px solid var(--panel-border, #555)}.cell-library-remove-btn{border:none;background:transparent;color:#e74c3c;font-size:10px;cursor:pointer;padding:0}.cell-library-detail-panel{display:flex;flex-direction:column;min-height:0;background:var(--bg-secondary, #2d2d35)}.cell-library-detail-preview{height:260px;min-height:220px;border-bottom:1px solid var(--panel-border, #444);position:relative;flex-shrink:0}.cell-asset-preview-wrap{width:100%;height:100%;position:relative}.cell-asset-preview-canvas-host{width:100%;height:100%}.cell-asset-preview-canvas-host canvas{display:block;width:100%!important;height:100%!important}.cell-asset-preview-canvas{width:100%!important;height:100%!important}.cell-asset-preview--image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#1a1a1f}.cell-asset-preview--image.light{background:#e8e8ec}.cell-asset-preview--zoomable img{max-width:90%;max-height:90%;object-fit:contain;transition:transform .08s ease-out}.cell-asset-preview-hint{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:10px;color:var(--text-muted, #888);pointer-events:none}.cell-library-detail-content{flex:1;overflow-y:auto;padding:12px 14px}.cell-library-detail-content h3{margin:0 0 6px;font-size:14px;font-weight:600}.cell-library-detail-desc{margin:0 0 12px;font-size:11px;line-height:1.45;color:var(--text-muted, #888)}.cell-library-section-title{margin:0 0 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #777)}.cell-library-dimensions{margin-bottom:12px;padding:10px;border-radius:6px;border:1px solid var(--panel-border, #555);background:var(--tertiary-bg, #35353d)}[data-mantine-color-scheme=light] .cell-library-dimensions{background:#fafafa}.cell-library-dim-grid{display:flex;flex-direction:column;gap:6px}.cell-library-dim-field{display:grid;grid-template-columns:1fr 72px 28px;align-items:center;gap:8px}.cell-library-dim-label{font-size:11px;color:var(--text-color, #e6e6e6)}.cell-library-dim-input{width:100%;padding:4px 6px;font-size:11px;border-radius:4px;border:1px solid var(--panel-border, #555);background:var(--bg-secondary, #2d2d35);color:var(--text-color, #e6e6e6)}[data-mantine-color-scheme=light] .cell-library-dim-input{background:#fff}.cell-library-dim-input:focus{outline:none;border-color:var(--accent-color, #cd7f32)}.cell-library-dim-unit{font-size:10px;color:var(--text-muted, #888)}.cell-library-dim-summary{margin:8px 0 0;font-size:10px;color:var(--accent-color, #cd7f32)}.cell-library-detail-meta{margin:0 0 10px;font-size:11px}.cell-library-detail-meta dt{color:var(--text-muted, #888);margin-bottom:2px}.cell-library-detail-meta dd{margin:0}.cell-library-source{margin:0 0 10px;font-size:10px;color:var(--text-muted, #666)}.cell-library-sps-block{margin-bottom:12px}.cell-library-sps-list{margin:0;padding-left:14px;font-size:10px;color:var(--text-muted, #888)}.cell-library-detail-actions{margin-top:4px}.cell-library-add-btn{width:100%;padding:7px 12px!important;font-size:12px!important}.cell-library-detail-hint{margin:8px 0 0;font-size:10px;color:var(--text-muted, #666);line-height:1.4}.cell-library-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:var(--text-muted, #888);font-size:12px}@media (max-width: 860px){.cell-library-modal-body{grid-template-columns:1fr;grid-template-rows:1fr auto}.cell-library-detail-panel{max-height:44vh}}.sim-scene-context-menu__title{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #888);padding:4px 12px 6px;border-bottom:1px solid var(--panel-border, #444);margin-bottom:4px}.sim-scene-context-menu__item{width:calc(100% - 8px);border:none;background:none;color:inherit;text-align:left;justify-content:space-between}.sim-scene-context-menu__label{display:inline-flex;align-items:center;gap:6px}.sim-scene-context-menu__check,.sim-scene-context-menu__check-spacer{width:14px;flex-shrink:0;display:inline-block;text-align:center;color:var(--accent-color, #4da8ff);font-size:12px}.sim-scene-context-menu__shortcut{margin-left:auto;padding-left:16px;font-size:11px;opacity:.55}.sim-scene-tools-panel{position:absolute;top:50%;right:68px;transform:translateY(-50%);z-index:110;width:56px;padding:8px 6px;border-radius:8px;background:#1c1c22eb;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}[data-mantine-color-scheme=light] .sim-scene-tools-panel{background:#fffffff0;border-color:#0000001a;box-shadow:0 4px 16px #0000001f}.sim-scene-tools-panel__title{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--text-muted, #888);margin-bottom:6px}.sim-scene-tools-panel__tools{display:flex;flex-direction:column;gap:4px}.sim-scene-tools-panel__btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:6px 4px;border:1px solid var(--panel-border, #444444);border-radius:6px;background:transparent;color:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.sim-scene-tools-panel__btn:hover:not(:disabled){background:#cd7f3214;border-color:#cd7f3273}[data-mantine-color-scheme=light] .sim-scene-tools-panel__btn:hover:not(:disabled){background:#cd7f3214;border-color:#cd7f3266}.sim-scene-tools-panel__btn.active{background:#cd7f3233;border-color:var(--accent-color, #cd7f32);color:var(--accent-color, #cd7f32)}[data-mantine-color-scheme=light] .sim-scene-tools-panel__btn.active{background:#cd7f321f;border-color:var(--accent-color, #cd7f32);color:var(--accent-color, #bd752d)}.sim-scene-tools-panel__btn:disabled{opacity:.45;cursor:not-allowed}.sim-scene-tools-panel__label{font-size:9px;line-height:1.1}.sim-scene-tools-panel__shortcut{font-size:8px;opacity:.55}.sim-scene-tools-panel__divider{height:1px;margin:6px 2px;background:#ffffff1a}[data-mantine-color-scheme=light] .sim-scene-tools-panel__divider{background:#0000001a}.sim-scene-tools-panel__hint{margin:8px 0 0;font-size:8px;line-height:1.3;text-align:center;color:var(--text-muted, #777);max-width:100%;word-wrap:break-word}.sim-scene-tools-panel--toolbar{position:static;top:auto;right:auto;transform:none;z-index:auto;width:auto;padding:3px 10px 3px 14px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff17;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:26px}[data-mantine-color-scheme=light] .sim-scene-tools-panel--toolbar{background:#ffffffe0;border-color:#0000001f;box-shadow:0 1px 2px #0000000f}.sim-scene-tools-panel__toolbar-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #666);padding:0 10px 0 6px;border-right:1px solid var(--panel-border, #444);margin-right:4px;white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1.2}[data-mantine-color-scheme=light] .sim-scene-tools-panel__toolbar-label{color:var(--text-muted, #777);border-right-color:var(--panel-border, #d0d0d0)}.sim-scene-tools-panel--toolbar .sim-scene-tools-panel__tools{flex-direction:row;flex-wrap:wrap;gap:2px 4px}.sim-scene-tools-panel--toolbar .sim-scene-tools-panel__btn{flex-direction:row;width:auto;min-height:0;padding:3px 8px;gap:5px;font-size:11px;font-weight:500;color:var(--text-muted, #888);border:1px solid var(--panel-border, #444444);border-radius:4px;background:transparent}.sim-scene-tools-panel--toolbar .sim-scene-tools-panel__btn:hover:not(:disabled){color:var(--text-color, #e6e6e6);background:#cd7f3214;border-color:#cd7f3273}[data-mantine-color-scheme=light] .sim-scene-tools-panel--toolbar .sim-scene-tools-panel__btn:hover:not(:disabled){color:var(--text-color, #333);background:#cd7f3214;border-color:#cd7f3266}.sim-scene-tools-panel--toolbar .sim-scene-tools-panel__btn.active{background:#cd7f322e;border-color:#cd7f3273;color:var(--accent-color, #cd7f32)}.sim-scene-tools-panel__toolbar-btn-label{font-size:11px;font-weight:500;white-space:nowrap}.sim-scene-tools-panel__divider--vertical{width:1px;height:18px;margin:0 2px;align-self:center}.sim-robot-pie-menu{position:fixed;z-index:12060;width:220px;height:220px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 8px 28px rgba(0,0,0,.45))}.sim-robot-pie-menu__svg{display:block;pointer-events:auto}.sim-robot-pie-menu__sector{fill:var(--bg-secondary, #2d2d35);stroke:var(--panel-border, #444444);stroke-width:1;cursor:pointer;transition:fill .12s ease,stroke .12s ease}.sim-robot-pie-menu__sector:hover:not(.sim-robot-pie-menu__sector--disabled){fill:#cd7f3247;stroke:#cd7f328c}.sim-robot-pie-menu__sector--active{fill:#48a05852;stroke:#60c870a6}.sim-robot-pie-menu__sector--disabled{fill:var(--bg-secondary, #2d2d35);stroke:var(--panel-border, #444444);cursor:not-allowed;opacity:.4}.sim-robot-pie-menu__sector-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#e8e8ec;font-size:9px;font-weight:600;letter-spacing:.02em;text-align:center;line-height:1.1;-webkit-user-select:none;user-select:none}.sim-robot-pie-menu__sector-content--disabled{color:#888}.sim-robot-pie-menu__chevron{font-size:8px;opacity:.7;margin-top:-2px}.sim-robot-pie-menu__hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;border:1px solid rgba(205,127,50,.45);background:#18181ef7;color:var(--accent-color, #cd7f32);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;pointer-events:auto;padding:0;transition:background .12s ease,border-color .12s ease,color .12s ease}.sim-robot-pie-menu__hub:hover{background:#cd7f322e;border-color:#cd7f32bf}.sim-robot-pie-menu__hub--active{background:#48a05838;border-color:#60c870b3;color:#7ddea0}.sim-robot-pie-menu__hub-caption{font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-mantine-color-scheme=light] .sim-robot-pie-menu__sector{fill:var(--bg-secondary, #ffffff);stroke:var(--panel-border, #d0d0d0)}[data-mantine-color-scheme=light] .sim-robot-pie-menu__sector-content{color:#333}[data-mantine-color-scheme=light] .sim-robot-pie-menu__hub{background:#fffffffa;border-color:#cd7f3266}.sim-ik-picker{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:6px;background:#0000002e;border:1px solid var(--panel-border, #444)}.sim-ik-picker__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.sim-ik-picker__title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-color, #cd7f32)}.sim-ik-picker__close{width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted, #888);font-size:16px;line-height:1;cursor:pointer}.sim-ik-picker__close:hover{background:#ffffff0f}.sim-ik-picker__hint{margin:0;font-size:11px;line-height:1.4;color:var(--text-muted, #aaa)}.sim-ik-picker__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.sim-ik-picker__option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:5px;background:#ffffff08;color:inherit;text-align:left;cursor:pointer}.sim-ik-picker__option:hover{background:#ffffff0f}.sim-ik-picker__option--selected{border-color:#cd7f328c;background:#cd7f3224}.sim-ik-picker__option-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.sim-ik-picker__badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;background:#50b46440;color:#8fd4a0}.sim-ik-picker__option-detail{font-size:10px;font-family:ui-monospace,monospace;color:var(--text-muted, #999);line-height:1.35}.sim-ik-picker__option-err{font-size:9px;color:var(--text-muted, #777)}.sim-ik-picker__actions{display:flex;justify-content:flex-end}.sim-ik-picker__apply{padding:6px 12px;border:1px solid rgba(205,127,50,.5);border-radius:5px;background:#cd7f3229;color:var(--accent-color, #cd7f32);font-size:11px;font-weight:600;cursor:pointer}.sim-ik-picker__apply:disabled{opacity:.45;cursor:not-allowed}.sim-ik-picker__apply:hover:not(:disabled){background:#cd7f3242}.simulator-teach-panel{position:relative;width:100%;height:100%;z-index:1;display:flex;flex-direction:column;pointer-events:auto;background:var(--bg-secondary, #2d2d35);border:1px solid var(--panel-border, #444);border-radius:8px;box-shadow:0 4px 16px #00000038;overflow:hidden}.simulator-teach-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--panel-border, #444)}.simulator-teach-panel__title{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-color, #cd7f32)}.simulator-teach-panel__close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted, #888);cursor:pointer}.simulator-teach-panel__close:hover{background:#ffffff0f}.simulator-teach-panel__body{flex:1;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.simulator-teach-panel__intro{margin:0;font-size:12px;line-height:1.45;color:var(--text-muted, #aaa)}.simulator-teach-panel__readout{padding:10px;border-radius:6px;background:#0003;border:1px solid var(--panel-border, #444)}.simulator-teach-panel__readout-label{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #888);margin-bottom:6px}.simulator-teach-panel__readout-value{font-size:12px;font-family:ui-monospace,monospace;color:var(--text-color, #e6e6e6)}.simulator-teach-panel__readout-sub{margin-top:6px;font-size:10px;font-family:ui-monospace,monospace;color:var(--text-muted, #999);line-height:1.5}.simulator-teach-panel__action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border:1px solid rgba(205,127,50,.45);border-radius:6px;background:#cd7f321f;color:var(--accent-color, #cd7f32);font-size:12px;font-weight:600;cursor:pointer}.simulator-teach-panel__action:hover{background:#cd7f3233}.simulator-teach-panel__action--primary{background:#cd7f3247;border-color:#cd7f32a6}.simulator-teach-panel__action--active{background:#48a05838;border-color:#60c8708c;color:#7ddea0}.simulator-teach-panel__action--secondary{border-color:#ffffff24;background:#ffffff0a;color:var(--text-color, #e6e6e6)}.simulator-teach-panel__action--secondary:hover:not(:disabled){background:#ffffff14}.simulator-teach-panel__action:disabled{opacity:.45;cursor:not-allowed}[data-mantine-color-scheme=light] .simulator-teach-panel{background:#fff;border-color:#d0d0d0}[data-mantine-color-scheme=light] .simulator-teach-panel__readout{background:#f5f5f7}
