@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-card: #121212;--bg-input: #181818;--accent-color: #ffffff;--accent-hover: #e5e5e5;--accent-glow: rgba(255, 255, 255, .12);--accent-gradient: linear-gradient(135deg, #ffffff 0%, #cccccc 100%);--active-icon-stroke: #000000;--logo-stop-1: #ffffff;--logo-stop-2: #cccccc;--grid-fine-color: rgba(255, 255, 255, .03);--grid-coarse-color: rgba(255, 255, 255, .06);--success-color: #10b981;--success-glow: rgba(16, 185, 129, .12);--warning-color: #f59e0b;--danger-color: #ef4444;--text-primary: #f3f4f6;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-color: #27272a;--border-dark: #3f3f46;--card-shadow: 0 4px 20px -2px rgba(0, 0, 0, .7), 0 2px 10px -4px rgba(0, 0, 0, .4);--btn-shadow: 0 2px 4px rgba(0, 0, 0, .4);--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--transition-speed: .25s;--border-radius: 12px}body.light-theme{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-card: #ffffff;--bg-input: #e5e5e5;--accent-color: #000000;--accent-hover: #262626;--accent-glow: rgba(0, 0, 0, .1);--accent-gradient: linear-gradient(135deg, #000000 0%, #525252 100%);--active-icon-stroke: #ffffff;--logo-stop-1: #1f2937;--logo-stop-2: #111827;--grid-fine-color: rgba(0, 0, 0, .04);--grid-coarse-color: rgba(0, 0, 0, .08);--success-color: #059669;--success-glow: rgba(5, 150, 105, .1);--warning-color: #d97706;--danger-color: #dc2626;--text-primary: #000000;--text-secondary: #525252;--text-muted: #8a8a8a;--border-color: rgba(0, 0, 0, .08);--border-dark: #d4d4d4;--card-shadow: 0 4px 20px -2px rgba(0, 0, 0, .06), 0 2px 8px -4px rgba(0, 0, 0, .03);--btn-shadow: 0 2px 4px rgba(0, 0, 0, .05)}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden;display:flex;flex-direction:column;transition:background-color var(--transition-speed),color var(--transition-speed)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:10;box-shadow:0 2px 10px #0000000d;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.logo-container{display:flex;align-items:center;gap:12px}.logo-icon{background:var(--accent-gradient);width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1.2rem;box-shadow:0 4px 10px var(--accent-glow);letter-spacing:-.5px}.logo-text h1{font-size:1.25rem;font-weight:700;letter-spacing:-.5px;color:var(--text-primary);line-height:1.1}.logo-text .sub-logo{font-size:.72rem;font-weight:600;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:12px}.theme-toggle-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all var(--transition-speed) ease}.theme-toggle-btn:hover{border-color:var(--accent-color);background:var(--bg-card);transform:rotate(15deg) scale(1.05)}.connection-badge{display:flex;align-items:center;gap:8px;background:var(--bg-input);padding:6px 14px;border-radius:20px;border:1px solid var(--border-color);font-size:.78rem;font-weight:600;color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--danger-color);box-shadow:0 0 6px var(--danger-color);transition:all var(--transition-speed) ease}.status-dot.connected{background-color:var(--success-color);box-shadow:0 0 10px var(--success-color);animation:pulse-green 2s infinite}.status-dot.printing{background-color:var(--warning-color);box-shadow:0 0 10px var(--warning-color);animation:pulse-amber 1.2s infinite}@keyframes pulse-green{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes pulse-amber{0%{box-shadow:0 0 #f59e0b99}70%{box-shadow:0 0 0 8px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.app-container{display:grid;grid-template-columns:340px 1fr 340px;grid-template-rows:1fr 32px;height:calc(100vh - 61px);background-color:var(--bg-primary);transition:grid-template-rows .25s ease}.app-container.console-expanded{grid-template-rows:1fr 220px}.panel{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;padding:16px;gap:16px;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.panel.right{border-right:none;border-left:1px solid var(--border-color)}.panel-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-weight:700;display:flex;align-items:center;gap:8px}.card{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--card-shadow);transition:background-color var(--transition-speed),border-color var(--transition-speed),box-shadow var(--transition-speed)}.card-title{font-size:.85rem;font-weight:700;letter-spacing:-.2px;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:8px;margin-bottom:2px}.form-group{display:flex;flex-direction:column;gap:6px}label{font-size:.76rem;color:var(--text-secondary);font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}select,input[type=text],input[type=number]{width:100%;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:8px;font-family:var(--font-sans);font-size:.85rem;outline:none;transition:all var(--transition-speed) ease}select:focus,input:focus{border-color:var(--accent-color);background-color:var(--bg-card);box-shadow:0 0 0 3px var(--accent-glow)}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.input-row-align{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;align-items:end}.flip-actions{display:flex;gap:6px;justify-content:flex-end;margin-bottom:2px}.btn{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color);padding:9px 16px;border-radius:8px;font-family:var(--font-sans);font-size:.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-speed) ease;box-shadow:var(--btn-shadow)}.btn:hover{background:var(--bg-card);border-color:var(--text-secondary);color:var(--text-primary)}.btn-primary{background:var(--accent-gradient);color:var(--active-icon-stroke)!important;border:none;box-shadow:0 4px 12px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 6px 16px var(--accent-glow);transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,var(--success-color),#047857);color:#fff!important;border:none;box-shadow:0 4px 12px var(--success-glow)}.btn-success:hover{background:#047857;box-shadow:0 6px 16px var(--success-glow);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,var(--danger-color),#b91c1c);color:#fff!important;border:none}.btn-danger:hover{background:#bd1c1c;transform:translateY(-1px)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important;box-shadow:none!important}.canvas-container{display:flex;flex-direction:column;background:var(--bg-primary);position:relative;overflow:hidden;border-bottom:1px solid var(--border-color);transition:background-color var(--transition-speed)}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:5;box-shadow:0 2px 4px #00000005;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.canvas-toolbar-row1{display:contents}.canvas-title{font-size:.85rem;font-weight:700;color:var(--text-primary)}.canvas-actions{display:flex;gap:8px}.canvas-view-area{flex:1;position:relative;cursor:default;-webkit-user-select:none;user-select:none}.canvas-view-area.canvas-blank{cursor:grab!important}.canvas-view-area.canvas-blank:active{cursor:grabbing!important}.canvas-view-area.tool-move{cursor:default}.canvas-view-area.tool-line,.canvas-view-area.tool-rect,.canvas-view-area.tool-circle{cursor:crosshair!important}.canvas-view-area.tool-text{cursor:text!important}.canvas-view-area.tool-move .design-instance,.canvas-view-area.tool-move #image-render-group g{cursor:pointer}.canvas-view-area.panning-active{cursor:grab!important}.canvas-view-area.panning-dragging{cursor:grabbing!important}#cutting-canvas{width:100%;height:100%;background-color:var(--bg-primary);transition:background-color var(--transition-speed)}#media-boundary{fill:#fff!important;stroke:var(--text-muted)!important;stroke-width:1px!important;filter:drop-shadow(0 15px 30px rgba(0,0,0,.12)) drop-shadow(0 5px 12px rgba(0,0,0,.08))}body.dark-theme #media-boundary{stroke:#4b5563!important;filter:drop-shadow(0 15px 35px rgba(0,0,0,.6))}.transform-box{fill:none;stroke:#a0a0a0;stroke-width:.6;stroke-dasharray:4,4;vector-effect:non-scaling-stroke}.transform-handle{fill:#fff;stroke:#a0a0a0;stroke-width:1px;cursor:nwse-resize;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));vector-effect:non-scaling-stroke}.vector-line{fill:none;stroke:#ef4444;stroke-width:.8;vector-effect:non-scaling-stroke}.sim-travel{stroke:var(--accent-color);stroke-width:.8;stroke-dasharray:3,3;opacity:.6}.sim-cut{stroke:var(--success-color);stroke-width:1.2}.canvas-info-overlay{display:flex;align-items:center;gap:14px;font-size:.82rem;font-weight:600;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border-color);padding:4px 12px;border-radius:6px;margin:0 10px;transition:all var(--transition-speed)}.canvas-info-overlay span strong{color:var(--text-primary)}.jog-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:8px;width:160px;height:160px;margin:10px auto;position:relative;background:var(--bg-input);border-radius:50%;padding:8px;border:1px solid var(--border-color);box-shadow:inset 0 2px 8px #0000001a;transition:border-color var(--transition-speed),background var(--transition-speed)}.jog-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-speed) ease;box-shadow:var(--btn-shadow);width:42px;height:42px;align-self:center;justify-self:center}.jog-btn:hover{background:var(--accent-gradient);border-color:transparent;color:#fff;transform:scale(1.1)}.jog-btn.center{font-size:.65rem;font-weight:800;background:var(--bg-input);border-color:var(--border-dark);line-height:1.1;width:48px;height:48px;z-index:2}.jog-btn.center:hover{background:linear-gradient(135deg,var(--warning-color),#d97706);border-color:transparent;color:#fff}.console-panel{grid-column:1 / -1;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:grid;grid-template-columns:280px 1fr;grid-template-rows:32px 1fr;overflow:hidden;height:32px!important;transition:all var(--transition-speed) ease}.console-panel.expanded{height:220px!important}.console-header{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-sans);font-size:.8rem;font-weight:700;color:var(--text-primary);height:32px}.console-header:hover{background:var(--bg-input)}.console-close-btn,.console-panel.collapsed .console-sidebar,.console-panel.collapsed .console-log-area{display:none!important}.console-panel.expanded .console-sidebar,.console-panel.expanded .console-log-area{display:flex!important}.console-sidebar{border-right:1px solid var(--border-color);padding:16px;display:flex;flex-direction:column;justify-content:space-between;background:var(--bg-card);transition:background-color var(--transition-speed),border-color var(--transition-speed)}.progress-container{display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;color:var(--text-secondary)}.progress-bar-bg{width:100%;height:8px;background:var(--bg-input);border-radius:4px;overflow:hidden;border:1px solid var(--border-color)}.progress-bar-fill{width:0%;height:100%;background:linear-gradient(to right,var(--accent-color),var(--success-color));border-radius:4px;transition:width .1s ease}.console-actions{display:flex;gap:8px}.console-log-area{padding:16px;font-family:var(--font-mono);font-size:.78rem;color:var(--text-primary);overflow-y:auto;background:var(--bg-input);display:flex;flex-direction:column-reverse;gap:4px;box-shadow:inset 0 2px 8px #0000001a;transition:background-color var(--transition-speed)}.console-line{line-height:1.5;opacity:.85;border-bottom:1px solid rgba(128,128,128,.04);padding-bottom:2px}.console-line.cmd{color:#60a5fa}.console-line.error{color:var(--danger-color);font-weight:600}.console-line.system{color:var(--warning-color);font-weight:600}.console-line.success{color:var(--success-color);font-weight:600}.transform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.btn-xs{font-size:.72rem;padding:6px;border-radius:6px}.settings-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.settings-row input{width:70px;padding:6px;text-align:right;font-size:.8rem;border-radius:6px}.gadget-sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:16px;gap:14px;overflow-y:auto;color:var(--text-primary);transition:background-color var(--transition-speed),border-color var(--transition-speed)}.gadget-brand{text-align:left;padding:4px;-webkit-user-select:none;user-select:none}.gadget-brand h2{font-family:var(--font-sans);font-size:1.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.gadget-tab-headers{display:flex;background:var(--bg-input);padding:4px;border-radius:var(--border-radius);border:1px solid var(--border-color)}.gadget-tab-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:8px 12px;font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;border-radius:8px;transition:all var(--transition-speed);outline:none}.gadget-tab-btn:hover{color:var(--text-primary)}.gadget-tab-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--btn-shadow)}.gadget-tab-content{display:none;flex-direction:column;gap:12px}.gadget-tab-content.active{display:flex}.gadget-filter-bar{display:flex;gap:8px}.gadget-filter-bar select,.gadget-filter-bar input{background-color:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;font-size:.8rem;border-radius:8px;outline:none;transition:all var(--transition-speed);font-family:var(--font-sans)}.gadget-filter-bar select:focus,.gadget-filter-bar input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.gadget-filter-bar select{width:100%;min-width:0}.gadget-filter-bar input{width:55%}.gadget-listbox-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;height:250px;overflow:hidden;box-shadow:var(--card-shadow);transition:background-color var(--transition-speed),border-color var(--transition-speed)}.gadget-listbox-container.lower{height:140px}.gadget-listbox-title{background:var(--bg-input);color:var(--text-secondary);font-size:.76rem;font-weight:700;padding:8px 12px;border-bottom:1px solid var(--border-color);transition:background-color var(--transition-speed),border-color var(--transition-speed)}.gadget-listbox{flex:1;overflow-y:auto;background-color:var(--bg-card);padding:4px}.gadget-list-item{padding:8px 12px;font-family:var(--font-sans);font-size:.8rem;color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:6px;margin-bottom:2px;transition:all var(--transition-speed)}.gadget-list-item:hover{background-color:var(--bg-input);color:var(--text-primary)}.gadget-list-item.selected{background:var(--accent-gradient);color:var(--active-icon-stroke)!important;font-weight:600;box-shadow:0 2px 8px var(--accent-glow)}.gadget-list-placeholder{color:var(--text-muted);text-align:center;padding:30px 10px;font-size:.8rem;font-style:italic}.gadget-controls-group{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--card-shadow);transition:background-color var(--transition-speed),border-color var(--transition-speed)}.gadget-checkbox-container{display:flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.gadget-checkbox-container input{margin:0;cursor:pointer;width:16px;height:16px;border-radius:4px;accent-color:var(--accent-color)}.gadget-btn-row{display:flex;gap:10px}.gadget-btn{flex:1;background:var(--accent-gradient);color:var(--active-icon-stroke);border:none;padding:8px 16px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;border-radius:8px;cursor:pointer;box-shadow:0 4px 10px var(--accent-glow);transition:all var(--transition-speed) ease;outline:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.gadget-btn:hover{background:var(--accent-hover);box-shadow:0 6px 14px var(--accent-glow);transform:translateY(-1px)}.gadget-btn:active{transform:translateY(1px)}.gadget-btn.secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--btn-shadow)}.gadget-btn.secondary:hover{background:var(--bg-card);border-color:var(--border-dark);color:var(--text-primary)}.gadget-btn.secondary.active{background:var(--accent-gradient);color:var(--active-icon-stroke);border-color:transparent;box-shadow:0 0 12px var(--accent-glow)}.gadget-btn.danger{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;box-shadow:none}.gadget-btn.danger:hover{background:#ef444440;border-color:#ef444480;color:#ef4444}.plotter-tab-btn{flex:1;padding:6px 4px;font-size:.72rem;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-weight:600;transition:all var(--transition-speed) ease;outline:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.plotter-tab-btn:hover{color:var(--text-primary);border-color:var(--border-dark)}.plotter-tab-btn.active{border-color:var(--accent-color);background:var(--accent-color);color:var(--active-icon-stroke)!important;box-shadow:0 2px 8px var(--accent-glow)}.context-menu{position:fixed;z-index:9999;background:var(--bg-card);border:1px solid var(--border-dark);border-radius:var(--border-radius);padding:6px 0;min-width:170px;box-shadow:var(--card-shadow);font-family:var(--font-sans);font-size:.82rem;font-weight:500;overflow:hidden;transition:opacity var(--transition-speed) ease,transform var(--transition-speed) ease}.context-menu-item{padding:8px 14px;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;gap:10px;transition:background-color var(--transition-speed)}.context-menu-item:hover{background-color:var(--bg-input)}.context-menu-item.danger{color:var(--danger-color);font-weight:600}.context-menu-item.danger:hover{background-color:#ef444414}.context-menu-divider{border:0;border-top:1px solid var(--border-color);margin:6px 0}.crop-handle{stroke:#fff;stroke-width:1px;rx:2px;ry:2px;transition:fill .15s ease,stroke-width .15s ease}.crop-handle:hover{fill:var(--accent-color);stroke:var(--bg-primary);stroke-width:1.5px}#crop-box-rect{stroke-dasharray:4,3}.gadget-list-info{color:var(--text-muted);text-align:center;padding:12px 10px;font-size:.78rem;font-style:italic;border-top:1px dashed var(--border-color);margin-top:8px}.canvas-tools-floating{display:flex;flex-direction:row;gap:4px;align-items:center;z-index:5;background:transparent;border:none;padding:0;box-shadow:none;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.canvas-tools-floating .tool-btn{background:transparent;border:1px solid transparent;color:var(--text-primary);width:36px;height:36px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease}.canvas-tools-floating .tool-btn:hover{background:var(--bg-input);border-color:var(--border-color);color:var(--accent-color);transform:scale(1.05)}.canvas-tools-floating .tool-btn.active{background:var(--accent-gradient);border-color:transparent;color:var(--active-icon-stroke);box-shadow:0 0 12px var(--accent-glow)}.header-template-name{display:none}@media (min-width: 769px){#active-template-name{display:none!important}.header-template-name{display:block!important;position:absolute!important;left:50%!important;transform:translate(-50%)!important;font-size:1.15rem!important;font-weight:700!important;color:var(--text-primary)!important;z-index:100!important;pointer-events:none!important;letter-spacing:.5px!important}}.mobile-search-overlay,.android-bottom-nav,.mobile-sheet-header,.mobile-sheet-backdrop,.mobile-drawer-handle{display:none}@media (max-width: 768px){header{padding:10px 16px;height:56px}header h1{font-size:1.05rem!important}header .sub-logo{display:none}.header-actions{gap:8px}.header-actions .gadget-btn .btn-label{display:none!important}#btn-print,#btn-logout,#btn-top-jog,#btn-top-bt-connect,#btn-top-cut{padding:6px 8px!important;font-size:.9rem!important}.connection-badge span{display:none}.app-container{display:flex;flex-direction:column;height:calc(100vh - 56px);position:relative;overflow:hidden}.canvas-container{flex:1;width:100vw;height:calc(100vh - 120px)!important;margin:0;border:none;border-radius:0}.canvas-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;height:110px!important;padding:6px 12px!important;background:var(--bg-card)!important;border-bottom:1px solid var(--border-color)!important;position:relative!important;z-index:100!important}#canvas-page-size-label{display:none!important}.canvas-toolbar-row1{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important;gap:8px!important;overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important;height:32px!important;order:1!important}.canvas-toolbar-row1::-webkit-scrollbar{display:none!important}.canvas-info-overlay{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-size:.65rem!important;padding:3px 6px!important;margin:0!important;background:var(--bg-input)!important;border:1px solid var(--border-color)!important;border-radius:6px!important;flex-shrink:0!important}.canvas-info-overlay span{display:inline-flex!important;align-items:center!important;gap:2px!important}.canvas-actions{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;flex-shrink:0!important}.canvas-actions select{min-height:28px!important;height:28px!important;padding:0 20px 0 6px!important;font-size:.72rem!important;border-radius:6px!important;width:auto!important}.canvas-actions .btn{min-height:28px!important;height:28px!important;padding:0 8px!important;font-size:.72rem!important;border-radius:6px!important}#active-template-name{text-align:center!important;font-size:.82rem!important;font-weight:700!important;color:var(--accent-color)!important;width:100%!important;display:block!important;height:24px!important;margin-top:48px!important;line-height:24px!important;order:3!important}.canvas-tools-floating{position:absolute!important;left:50%!important;top:42px!important;transform:translate(-50%)!important;display:flex!important;flex-direction:row!important;gap:8px!important;padding:3px 8px!important;background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:var(--border-radius)!important;box-shadow:var(--card-shadow)!important;z-index:200!important;height:38px!important;width:auto!important}.canvas-tools-floating .tool-btn{width:32px!important;height:32px!important;min-height:32px!important;font-size:.95rem!important;border-radius:6px!important;padding:0!important}.android-bottom-nav{display:flex;justify-content:space-around;align-items:center;height:64px;background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);position:fixed;bottom:0;left:0;width:100vw;z-index:1000;box-shadow:0 -4px 20px #0000004d}.android-bottom-nav .nav-item{background:transparent;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;flex:1;height:100%;gap:2px;transition:all .2s ease}.android-bottom-nav .nav-item .nav-icon{display:flex;align-items:center;justify-content:center;padding:6px 18px;border-radius:16px;transition:all .2s ease}.android-bottom-nav .nav-item .nav-icon svg{width:22px;height:22px;stroke:currentColor;transition:stroke .2s ease}.android-bottom-nav .nav-item .nav-label{font-size:.62rem;font-weight:600;letter-spacing:.3px}.android-bottom-nav .nav-item:hover,.android-bottom-nav .nav-item.active{color:var(--text-primary)}.android-bottom-nav .nav-item.active .nav-icon{background:#ffffff14;box-shadow:none}.android-bottom-nav .nav-item.active .nav-icon svg{stroke:var(--text-primary)}body.light-theme .android-bottom-nav .nav-item.active .nav-icon{background:#0000000f}body.light-theme .android-bottom-nav .nav-item.active .nav-icon svg{stroke:#000}.gadget-sidebar,aside.panel.right,.console-panel{display:flex!important;flex-direction:column;position:fixed;bottom:0;left:0;width:100vw;height:75vh!important;background:var(--bg-secondary);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y!important;border:1px solid var(--border-color);border-bottom:none;border-radius:24px 24px 0 0!important;z-index:998;box-shadow:0 -10px 40px #00000080;padding:16px 16px 84px!important;transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);pointer-events:auto;overflow-y:auto!important;overflow-x:hidden!important}.mobile-drawer-handle{display:block;width:36px;height:4px;background:var(--text-muted);opacity:.3;border-radius:2px;margin:0 auto 12px;flex-shrink:0}.mobile-sheet-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:16px;font-weight:700;font-size:.95rem;color:var(--text-primary)}.mobile-sheet-header .btn-close-sheet{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;transition:all .2s ease}.mobile-sheet-header .btn-close-sheet:hover{background:var(--border-dark)}body[data-active-panel=templates] .gadget-sidebar,body[data-active-panel=tools] .gadget-sidebar{transform:translateY(0)}body[data-active-panel=controller] aside.panel.right{transform:translateY(0)}body[data-active-panel=logs] .console-panel{transform:translateY(0)}.gadget-sidebar .gadget-brand{display:none}.gadget-tab-headers{margin-bottom:12px!important}.gadget-sidebar .gadget-tab-content.active{flex:1 0 auto;min-height:0;overflow-y:visible!important;display:flex;flex-direction:column}.gadget-listbox-container,.gadget-listbox-container.lower{max-height:none!important;height:auto!important;overflow:visible!important}.gadget-listbox{overflow-y:visible!important}.gadget-controls-group{padding:12px;border-radius:16px;margin-top:10px;background:var(--bg-card)}.input-row,.input-row-align{grid-template-columns:1fr 1fr!important;gap:12px!important}#btn-show-console-mobile{display:block!important}.search-cancel-btn{display:none;background:none;border:none;color:var(--accent-color);font-weight:600;font-size:.95rem;padding:0 0 0 12px;cursor:pointer}body.mobile-search-active .search-cancel-btn{display:block}body.mobile-search-active .premium-search-container{display:flex;align-items:center;width:100%}body.mobile-search-active .gadget-sidebar{height:calc(100dvh - 64px)!important;top:64px!important;bottom:auto!important;border-radius:0!important;transform:translateY(0)!important;z-index:5000!important;padding-top:12px!important}body.mobile-search-active .gadget-tab-headers,body.mobile-search-active .mobile-sheet-header,body.mobile-search-active .gadget-brand,body.mobile-search-active .gadget-controls-group,body.mobile-search-active #recent-models-section{display:none!important}.console-panel{display:flex!important;flex-direction:column!important}.console-panel .console-sidebar,.console-panel .console-log-area{display:flex!important}.console-header{height:auto!important;padding:0 0 12px!important;cursor:default!important;background:transparent!important;border-bottom:1px solid var(--border-color)!important;margin-bottom:16px!important}.console-toggle-icon-desktop{display:none!important}.console-close-btn{display:flex!important}.console-sidebar{width:100%!important;border-right:none!important;border-bottom:1px solid var(--border-color);padding-bottom:12px;margin-bottom:12px}.console-log-area{flex:1!important;max-height:200px!important;height:160px!important;overflow-y:auto}button,select,input{min-height:42px}.theme-toggle-btn,.btn-close-sheet,.mso-clear-btn,.android-bottom-nav .nav-item,.header-actions .gadget-btn{min-height:unset!important}.btn,.gadget-btn{padding:10px 16px!important;font-size:.82rem!important;border-radius:12px!important}.mobile-search-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100dvh;background:var(--bg-secondary);z-index:10000;flex-direction:column;overflow:hidden}.mobile-search-overlay.active{display:flex!important}.mso-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border-color);flex-shrink:0}.mso-logo{display:flex;align-items:center;gap:10px}.mso-logo-text{display:flex;flex-direction:column;line-height:1.1}.mso-title{font-size:1.15rem;font-weight:700;letter-spacing:3px;color:var(--text-primary);text-transform:uppercase;font-family:Inter,sans-serif}.mso-subtitle{font-size:.55rem;font-weight:400;letter-spacing:6px;color:var(--text-secondary);text-transform:uppercase;margin-left:1px}.mso-cancel-btn{background:none;border:none;color:var(--accent-color);font-size:1rem;font-weight:600;padding:8px 4px;cursor:pointer;min-height:auto!important}.mso-search-bar{position:relative;padding:12px 16px;flex-shrink:0}.mso-search-icon{position:absolute;left:30px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.mso-input{width:100%;padding:14px 42px 14px 48px!important;background:var(--bg-input)!important;border:2px solid var(--border-color)!important;border-radius:16px!important;font-size:1rem!important;color:var(--text-primary)!important;outline:none!important;transition:border-color .2s ease}.mso-input:focus{border-color:var(--accent-color)!important;box-shadow:0 0 0 3px var(--accent-glow)!important}.mso-input::placeholder{color:var(--text-muted)}.mso-clear-btn{position:absolute;right:28px;top:50%;transform:translateY(-50%);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);width:28px;height:28px!important;min-height:28px!important;border-radius:50%;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.mso-results{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:8px 16px 80px}.mso-hint{text-align:center;color:var(--text-muted);font-size:.9rem;padding:60px 20px}.mso-result-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;margin-bottom:8px;cursor:pointer;transition:all .15s ease;color:var(--text-primary);font-size:.92rem;font-weight:500}.mso-result-item:active{transform:scale(.98);background:var(--bg-input);border-color:var(--accent-color)}.mso-result-icon{width:36px;height:36px;background:var(--accent-gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--active-icon-stroke);font-size:1rem;flex-shrink:0}.mso-result-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mso-result-badge{font-size:.65rem;padding:3px 8px;background:var(--border-color);color:var(--text-secondary);border-radius:20px;font-weight:600;flex-shrink:0}.mso-count{text-align:center;color:var(--text-muted);font-size:.75rem;padding:8px 0 16px}.mobile-sheet-backdrop{display:block;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:997;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.16,1,.3,1)}.mobile-sheet-backdrop.active{opacity:1;pointer-events:auto}}.premium-search-wrapper{position:relative;width:100%;display:flex;align-items:center}.premium-search-icon{position:absolute;left:14px;color:#8b949e;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:10;transition:color .2s ease}.premium-search-input{width:100%!important;padding:12px 14px 12px 42px!important;background:var(--bg-card, #ffffff)!important;border:1px solid var(--border-color, #e1e4e8)!important;color:var(--text-primary, #24292e)!important;border-radius:100px!important;font-size:.9rem!important;outline:none!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 2px 5px #00000005!important;font-family:inherit!important}.premium-search-input:focus{border-color:var(--accent-color, #0366d6)!important;box-shadow:0 0 0 3px #0366d626,0 4px 10px #0000000d!important;background:var(--bg-input)!important;color:var(--text-primary)!important}.premium-search-wrapper:focus-within .premium-search-icon{color:var(--accent-color, #0366d6)}.premium-select{background-color:var(--bg-card, #ffffff)!important;border:1px solid var(--border-color, #e1e4e8)!important;color:var(--text-primary, #24292e)!important;padding:10px 32px 10px 14px!important;font-size:.85rem!important;border-radius:12px!important;outline:none!important;transition:all .2s ease!important;font-family:inherit!important;width:100%!important;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%238b949e%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E)!important;background-repeat:no-repeat!important;background-position:right 10px center!important;box-shadow:0 1px 3px #00000005!important}.premium-select:focus{border-color:var(--accent-color, #0366d6)!important;box-shadow:0 0 0 3px #0366d626!important}#grid-fine path{stroke:var(--grid-fine-color)!important}#grid-coarse>path{stroke:var(--grid-coarse-color)!important}#btn-toggle-recent{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px;border-radius:12px;font-weight:700;cursor:pointer;transition:all var(--transition-speed) ease}#btn-toggle-recent:hover{border-color:var(--border-dark)}#btn-toggle-recent.active{background:var(--bg-input)}#select-zoom-percent{width:auto!important;min-width:90px;padding:4px 24px 4px 8px!important;font-size:.78rem!important;height:28px!important;min-height:28px!important;border-radius:6px!important;margin-right:4px}@keyframes pulse-highlight{0%{box-shadow:0 0 #d4af37b3;border-color:#d4af37}50%{box-shadow:0 0 0 12px #d4af3700;border-color:#d4af37}to{box-shadow:0 0 #d4af3700;border-color:var(--border-color)}}.highlight-glow{animation:pulse-highlight 1.5s ease-in-out 2;position:relative;z-index:10}@keyframes bt-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bt-spin-icon{animation:bt-spin 1s linear infinite;display:inline-block}@keyframes bt-pulse{0%{box-shadow:0 0 #2b587666;transform:scale(1)}50%{box-shadow:0 0 0 10px #2b587600;transform:scale(1.02)}to{box-shadow:0 0 #2b587600;transform:scale(1)}}.bt-scanning{animation:bt-pulse 1.5s infinite ease-in-out!important;background:linear-gradient(135deg,#2b5876,#4e4376)!important;color:#fff!important;border:none!important}.bt-connected-badge{background:#2ecc7126!important;color:#2ecc71!important;border:1px solid rgba(46,204,113,.3)!important;padding:6px 12px;border-radius:8px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.bt-status-container{background:var(--bg-main);border:1px solid var(--border-color);padding:12px;border-radius:12px;margin-top:8px;margin-bottom:12px;display:flex;align-items:center;gap:10px;font-size:.8rem}@media print{@page{margin:0;size:auto}html,body,.app-container,.canvas-container,.canvas-view-area,#cutting-canvas{background:#fff!important;background-color:#fff!important;color:#000!important;box-shadow:none!important;filter:none!important}header,.gadget-sidebar,aside.panel.right,.console-panel,.canvas-toolbar,.canvas-info-overlay,.theme-toggle-btn,.canvas-tools-floating,body>*:not(.app-container){display:none!important}.app-container,.canvas-container,.canvas-view-area{display:block!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:visible!important}#cutting-canvas{position:absolute!important;top:0!important;left:0!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important}#media-boundary{fill:#fff!important;stroke:none!important;filter:none!important}#cutting-canvas image{opacity:1!important}#svg-render-group,#transform-helper-group,#crop-helper-group,#selection-marquee,#origin-marker-group{display:none!important}#registration-mark-group{display:block!important;opacity:1!important}#registration-mark-group circle,#registration-mark-group line{stroke:#000!important}#reg-center-dot{fill:#000!important}}.trace-modal-backdrop{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;z-index:9999;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);justify-content:center;align-items:center}.trace-modal-container{background:var(--bg-main);width:90vw;height:90vh;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0009;overflow:hidden;border:1px solid var(--border-color)}.trace-modal-body{display:flex;flex:1;overflow:hidden}.trace-modal-left{width:40%;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-main)}.trace-modal-right{width:60%;display:flex;flex-direction:column;background:#111}.trace-modal-preview-wrapper{flex:1;display:flex;justify-content:center;align-items:center;padding:16px;background:#0b0b0b;position:relative;overflow:hidden}.trace-modal-preview-canvas{max-width:100%;max-height:100%;object-fit:contain;display:none;border-radius:8px}.trace-modal-vector-wrapper{flex:1;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:16px;background:#0b0b0b}.trace-modal-svg-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.trace-modal-controls{padding:16px;background:var(--bg-card);display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border-color)}.trace-modal-footer{padding:16px;border-top:1px solid var(--border-color);background:var(--bg-card);display:flex;justify-content:flex-end;gap:12px}@media (max-width: 768px){.trace-modal-container{width:95vw;height:92vh;border-radius:12px}.trace-modal-body{flex-direction:column;overflow-y:auto}.trace-modal-left{width:100%;border-right:none;border-bottom:1px solid var(--border-color);flex:none}.trace-modal-right{width:100%;flex:none;min-height:300px;border-top:2px solid var(--border-color)}.trace-modal-preview-wrapper{height:180px;flex:none}.trace-modal-vector-wrapper{height:220px;flex:none}.trace-modal-footer{justify-content:center;padding:12px}.trace-modal-footer .btn{width:100%!important;font-size:.95rem!important;padding:10px 16px!important;text-align:center}#simulation-dashboard{display:none!important}}.text-modal-backdrop{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;z-index:9999;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);justify-content:center;align-items:center}.text-modal-container{background:var(--bg-main);width:720px;max-width:90vw;height:480px;max-height:90vh;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0009;overflow:hidden;border:1px solid var(--border-color);animation:textModalFadeIn .25s cubic-bezier(.16,1,.3,1)}@keyframes textModalFadeIn{0%{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}#text-input-field:focus{border-color:var(--accent-color)!important}@media (max-width: 768px){.text-modal-container{height:90vh;width:95vw}.text-modal-body{flex-direction:column!important;overflow-y:auto!important}.text-modal-left{padding-right:0!important;overflow-y:visible!important;flex:none!important}.text-modal-right{width:100%!important;border-left:none!important;border-top:1px solid var(--border-color);padding-left:0!important;padding-top:20px!important;flex:none!important}}
