*,*:before,*:after{box-sizing:border-box}@keyframes pulse{0%,to{box-shadow:0 0 #3b82f6b3}50%{box-shadow:0 0 0 8px #3b82f600}}@keyframes pulse-warning{0%,to{box-shadow:0 0 #f59e0bb3}50%{box-shadow:0 0 0 8px #f59e0b00}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:B612 Mono;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/B612_Mono/B612Mono-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:B612 Mono;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/B612_Mono/B612Mono-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:B612 Mono;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/B612_Mono/B612Mono-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:B612 Mono;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/B612_Mono/B612Mono-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:Bebas Neue;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/Bebas_Neue/BebasNeue-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Luckiest Guy;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/Luckiest_Guy/LuckiestGuy-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Monoton;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/Monoton/Monoton-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Passero One;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/Passero_One/PasseroOne-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"Press Start 2P";src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/Press_Start_2P/PressStart2P-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Sigmar One;src:url(/Fonts/B612_Mono,Bebas_Neue,Luckiest_Guy,Monoton,Passero_One,etc/Sigmar_One/SigmarOne-Regular.ttf) format("truetype");font-weight:400;font-style:normal}.shake{animation:shake 8s ease-in-out 0s infinite;animation-delay:0s}@keyframes shake{0%,15%{transform:translate(0)}2%,6%,10%{transform:translate(-2px)}4%,8%,12%{transform:translate(2px)}14%,to{transform:translate(0)}}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 1.5s ease-in-out infinite}.pulse-warning{animation:pulse-warning 1.5s ease-in-out infinite}html,body{margin:0;padding:0;overflow:hidden;height:100%;width:100%}html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{color-scheme:light}input.themed-color-input[type=color]{-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:4px;border:1px solid var(--theme-input-border);background:var(--theme-button-bg);padding:0;width:24px;height:24px}input.themed-color-input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input.themed-color-input[type=color]::-webkit-color-swatch{border:1px solid var(--theme-panel-border);border-radius:3px}input.themed-color-input[type=color]::-moz-color-swatch{border:1px solid var(--theme-panel-border);border-radius:3px}#root{height:100%;width:100%;overflow:hidden}.app-root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--theme-text-primary);background:var(--theme-app-bg);height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}.header-cad{padding:0 1rem;height:40px;background:var(--theme-header-bg);color:var(--theme-text-primary);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;border-bottom:1px solid var(--theme-header-border)}.header-brand{display:flex;align-items:center;gap:10px}.header-brand svg{color:#3b82f6}.header-cad h1{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.025em}.header-export-group{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--theme-section-green-bg);border:1px solid var(--theme-section-green-border);border-radius:6px;margin-left:auto}.export-label{font-size:10px;color:var(--theme-section-green-text);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.header-export-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-radius:4px;background:var(--theme-button-bg);color:var(--theme-text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.header-export-btn:hover:not(:disabled){background:var(--theme-button-bg-hover);color:var(--theme-text-primary)}.header-export-btn:disabled{opacity:.4;cursor:not-allowed}.header-export-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.header-export-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6)}.header-border-group{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--theme-section-purple-bg);border:1px solid var(--theme-section-purple-border);border-radius:6px}.border-label{font-size:10px;color:#a78bfa;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.border-toggle{display:flex;border-radius:4px;overflow:hidden;border:1px solid var(--theme-divider)}.border-btn{padding:4px 8px;border:none;background:var(--theme-button-bg);color:var(--theme-text-muted);font-size:10px;font-weight:500;cursor:pointer;transition:all .15s ease}.border-btn:not(:last-child){border-right:1px solid var(--theme-divider)}.border-btn:hover{background:var(--theme-button-bg-hover);color:var(--theme-text-secondary)}.border-btn.active{background:#8b5cf666;color:#fff}.header{padding:.5rem 1rem;background:var(--theme-header-bg);color:var(--theme-text-primary);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.header h1{margin:0;font-size:1.25rem;font-weight:600}.app-layout{flex:1;display:flex;min-height:0;overflow:hidden;background:var(--theme-layout-bg)}.sidebar-cad{width:280px;flex-shrink:0;background:var(--theme-sidebar-bg);border-right:1px solid var(--theme-sidebar-border);overflow-y:auto;display:flex;flex-direction:column;position:relative;transition:width .2s ease}.sidebar-cad.collapsed{width:40px;overflow:hidden}.sidebar-toggle{position:absolute;top:8px;right:8px;width:28px;height:28px;border:1px solid var(--theme-panel-border);border-radius:6px;background:var(--theme-sidebar-bg);color:var(--theme-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .15s ease}.sidebar-toggle:hover{background:var(--theme-button-bg-hover);color:#3b82f6}.sidebar-cad.collapsed .sidebar-toggle{right:6px}.sidebar-panel{border-bottom:1px solid var(--theme-panel-border);display:flex;flex-direction:column}.sidebar-panel.flex-grow{flex:1;min-height:0;overflow:hidden}.panel-title{margin:0;padding:12px 44px 12px 16px;background:var(--theme-panel-header-bg);border-bottom:1px solid var(--theme-panel-border);font-size:11px;font-weight:600;color:var(--theme-text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.panel-content{padding:12px;overflow-y:auto;flex:1;min-height:0}.setting-group{margin-bottom:12px}.setting-group:last-child{margin-bottom:0}.setting-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--theme-text-secondary)}.setting-label>span:first-child{font-weight:500;color:var(--theme-text-primary)}.setting-slider{width:100%;height:4px;border-radius:2px;background:var(--theme-input-border);outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.setting-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#3b82f6;cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.setting-slider:disabled{opacity:.5;cursor:not-allowed}.setting-hint{font-size:10px;color:var(--theme-text-muted)}.setting-checkbox{display:flex;align-items:center;gap:8px}.setting-checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer}.sidebar{width:320px;flex-shrink:0;background:var(--theme-sidebar-bg);border-right:1px solid var(--theme-sidebar-border);overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;height:100vh}.sidebar-section{background:var(--theme-sidebar-bg);border:1px solid var(--theme-panel-border);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column;min-height:0;max-height:40vh}.section-title{margin:0;padding:.75rem 1rem;background:var(--theme-panel-header-bg);border-bottom:1px solid var(--theme-panel-border);font-size:.875rem;font-weight:600;color:var(--theme-text-primary);flex-shrink:0}.section-content{padding:1rem;overflow-y:auto;flex:1;min-height:0}.main-content{flex:1;display:flex;flex-direction:column;padding:0;min-height:0;overflow:hidden;width:100%;height:100%}.views{flex:1;display:grid;grid-template-columns:var(--split-left, 50%) 4px var(--split-right, 50%);min-height:0;padding:.75rem;height:100%;width:100%;overflow:hidden}.view-container{min-height:0;overflow:hidden;position:relative}.view-2d,.view-3d{background:var(--theme-view-bg);border-radius:.5rem;padding:.5rem;box-shadow:var(--theme-view-shadow);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden;min-height:300px;width:100%;height:100%;max-width:100%;max-height:100%}.view-3d{min-height:0}.splitter{width:4px;background:var(--theme-splitter);cursor:col-resize;position:relative;flex-shrink:0;transition:background-color .2s ease}.splitter:hover{background:var(--theme-splitter-hover)}.splitter:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:20px;background:var(--theme-text-muted);border-radius:1px}.splitter:hover:before{background:var(--theme-splitter-hover)}.splitter-horizontal{height:4px;width:100%;background:var(--theme-splitter);cursor:row-resize;position:relative;flex-shrink:0;transition:background-color .2s ease}.splitter-horizontal:hover{background:var(--theme-splitter-hover)}.splitter-horizontal:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:2px;background:var(--theme-text-muted);border-radius:1px}.splitter-horizontal:hover:before{background:var(--theme-splitter-hover)}.view-2d>div:not(.history-bar):not(.image-status-bar):not(.image-toolbar):not(.canvas-with-layers){flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto;width:100%;height:100%;max-width:100%;max-height:100%;position:relative}.view-2d>.canvas-with-layers{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden;width:100%;height:100%}.view-2d>.history-bar{flex:0 0 auto}.history-bar-scroll{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.5) transparent}.history-bar-scroll::-webkit-scrollbar{height:6px}.history-bar-scroll::-webkit-scrollbar-track{background:#1e1e1e4d;border-radius:3px}.history-bar-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#64748b99,#40d4d166);border-radius:3px;transition:background .2s ease}.history-bar-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#64748bcc,#40d4d199)}.cad-toolbar-slider-scroll{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.5) transparent}.cad-toolbar-slider-scroll::-webkit-scrollbar{width:6px}.cad-toolbar-slider-scroll::-webkit-scrollbar-track{background:#1e1e1e4d;border-radius:3px}.cad-toolbar-slider-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#64748b99,#40d4d166);border-radius:3px;transition:background .2s ease}.cad-toolbar-slider-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#64748bcc,#40d4d199)}.view-2d>.image-status-bar{flex:0 0 auto}.view-3d>.three-viewer-toolbar{flex:0 0 auto}.export-buttons{display:flex;gap:.5rem}.detect-button{padding:8px 16px;font-size:14px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;width:100%;margin-top:.5rem}.detect-button:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.5}button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.views{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.app-root{overflow-y:auto!important;overflow-x:hidden!important}.app-layout{flex-direction:column;flex:1;min-height:0}.sidebar{width:100%;border-right:none;border-bottom:1px solid #e5e7eb;max-height:50vh}}.image-status-bar{container-type:inline-size}@container (max-width: 400px){.image-status-bar .status-size-info,.image-status-bar .status-size-divider{display:none!important}}@container (max-width: 300px){.image-status-bar .status-hints,.image-status-bar .status-hints-divider{display:none!important}}@media (max-width: 768px){.hide-on-mobile{display:none!important}.mobile-help-text{display:flex!important}.views{display:flex;flex-direction:column;padding:0;gap:0;overflow:hidden}.splitter{display:none!important}.views>.view-container{display:none!important;flex:1;min-height:0;overflow:auto}.views>.view-container.mobile-active{display:flex!important;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden}.views>.viewer-container-flex{display:none!important;flex:1;min-height:0}.views>.viewer-container-flex.mobile-active{display:flex!important;width:100%;flex:1;min-height:0}.header-cad{padding:8px 12px;height:auto;min-height:48px;position:relative}.header-cad h1{font-size:.875rem}.mobile-menu-btn{display:flex!important}.header-cad>div:not(.mobile-menu-dropdown):not(.mobile-header-controls):not(.mobile-header-logo){display:none!important}.mobile-header-controls,.mobile-header-logo{display:flex!important}.header-cad .header-brand{display:flex!important;position:absolute;left:50%;transform:translate(-50%)}.mobile-menu-dropdown{box-shadow:0 4px 12px #00000026}.main-content{display:flex!important;flex-direction:column!important}.main-content>.color-toolbar{flex-shrink:0!important;order:2!important}.main-content>.views{order:1!important}.color-toolbar-row{flex-direction:column!important;align-items:stretch!important;padding:8px!important;gap:8px!important}.filament-slots-panel{width:100%!important;flex-direction:column!important;gap:4px!important;padding:22px 8px 8px!important;position:relative!important}.filament-slots-row{flex-wrap:nowrap!important;gap:4px!important;justify-content:flex-start!important}.filament-slot-btn{width:28px!important;height:28px!important;min-width:28px!important}.filament-slots-panel>div{overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch}.color-toolbar-help{width:100%!important;max-width:100%!important;margin-left:0!important;margin-top:4px!important;height:auto!important;padding:8px 12px!important}.color-toolbar-spacer{display:none!important}.reassign-btn{padding:6px 8px!important;flex-direction:column!important;text-align:center!important}.reassign-btn .reassign-icon{display:none!important}.reassign-btn .reassign-text{font-size:9px!important;white-space:normal!important;line-height:1.2!important;max-width:60px!important}.region-counts{position:absolute!important;left:8px!important;top:6px!important;flex-direction:row!important;gap:6px!important;font-size:8px!important}.clear-slots-btn .tool-btn-label{display:none!important}.clear-slots-btn{padding:6px 8px!important}.filament-header-row{flex-wrap:wrap!important;justify-content:space-between!important;width:100%!important;gap:6px!important}.filament-header-spacer{display:none!important}.base-tile-selector{flex:0!important;font-size:10px!important;position:absolute!important;right:8px!important;top:6px!important}.base-tile-selector>div{flex-direction:row!important;align-items:center!important;gap:4px!important}.base-tile-selector span{font-size:8px!important}.base-tile-selector select{padding:4px 6px!important;font-size:10px!important}.filament-actions-row{display:flex!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important;justify-content:space-between!important;align-items:center!important}.detect-row{width:100%!important;display:flex!important;align-items:center!important}.detect-btn{flex:1!important;width:auto!important}.settings-btn{flex-shrink:0!important}.detect-help-link{flex-shrink:0!important;padding:8px!important}.image-toolbar{padding:4px!important;gap:4px!important;flex-shrink:0!important}.image-toolbar>div{padding:4px!important;gap:4px!important;flex-wrap:wrap!important}.image-toolbar div{flex-wrap:wrap!important;gap:4px!important}.image-toolbar div[style*="flex: 1"]:not([style*=marginLeft]),.image-toolbar div[style*="flex:1"]:not([style*=marginLeft]){flex:none!important;width:100%!important}.image-toolbar div[style*="marginLeft: auto"],.image-toolbar div[style*="margin-left: auto"]{margin-left:auto!important;width:auto!important}.image-toolbar button{padding:3px 5px!important;font-size:9px!important}.image-toolbar svg{width:14px!important;height:14px!important}.image-toolbar button[style*="width: 24"]{width:20px!important;height:20px!important}.image-toolbar .number-stepper{gap:2px!important}.image-toolbar .number-stepper input{width:28px!important;padding:2px 3px!important;font-size:10px!important}.image-toolbar .number-stepper button{padding:2px 3px!important;min-width:18px!important}.image-toolbar span[style*="fontSize: 8"],.image-toolbar span[style*="font-size: 8px"]{display:none!important}.welcome-screen{padding:16px!important;gap:12px!important}.welcome-title{font-size:18px!important}.welcome-description{font-size:12px!important;display:none!important}.welcome-quickstart-btn{padding:12px 20px!important;width:100%!important;max-width:280px!important;border-radius:8px!important}.welcome-divider{display:none!important}.welcome-buttons-row{gap:8px!important;width:100%!important;max-width:280px!important}.welcome-btn{width:100%!important;padding:12px 8px!important;border-radius:8px!important}.view-2d,.view-3d{padding:.25rem;border-radius:0;min-height:0;flex:1;overflow:auto}.canvas-with-layers{flex:1;min-height:0;overflow:auto}.canvas-content-wrapper{min-height:300px}.image-toolbar{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}.mobile-touch-target{min-height:44px;min-width:44px}.modal-content{position:fixed;top:0;left:0;right:0;bottom:0;transform:none;border-radius:0;min-width:100%;max-width:100%;max-height:100%;overflow-y:auto}.modal-header{position:sticky;top:0;z-index:10;background:var(--theme-sidebar-bg)}.modal-btn{padding:12px 20px;font-size:14px;min-height:44px}.modal-close-btn{width:44px;height:44px;font-size:18px}}@media (min-width: 769px){.mobile-header-controls,.mobile-header-logo{display:none!important}}@media (min-width: 769px){.view-container{display:flex!important;flex-direction:column}.viewer-container-flex{display:flex!important}}@media (max-width: 768px){.mode-selection-overlay{padding:12px!important;align-items:flex-start!important}.mode-selection-content{padding:24px 16px!important;border-radius:12px!important;margin-top:20px!important;max-height:calc(100vh - 40px);overflow-y:auto}.mode-selection-content h2{font-size:22px!important}.mode-selection-content p{font-size:13px!important}.mode-cards-container{flex-direction:column!important;gap:16px!important}.mode-cards-container>div{flex:1 1 auto!important;width:100%!important}.mode-selection-content>div:nth-child(2)>div{padding:24px 16px!important}.mode-selection-content svg{width:40px!important;height:40px!important}.mode-selection-content button{padding:10px 24px!important;font-size:13px!important}}.canvas-with-layers{display:flex;flex:1;min-height:0;overflow:hidden;height:100%}.canvas-content-wrapper{flex:1;min-width:0;position:relative}.viewer-container-flex{display:flex;flex-direction:column;height:100%}.viewer-inner-container{flex:1;min-height:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999}.modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:8px;z-index:1000;min-width:300px;max-width:400px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px 8px 0 0}.modal-header-title{font-size:13px;font-weight:600}.modal-body{padding:14px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.modal-close-btn{width:24px;height:24px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:14px}.modal-close-btn:hover{background:var(--theme-button-bg-hover)}.modal-btn{padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s ease}.modal-btn-cancel{border:1px solid var(--theme-panel-border);background:var(--theme-panel-header-bg);color:var(--theme-text-primary)}.modal-btn-cancel:hover{background:var(--theme-button-bg-hover)}.modal-btn-primary{border:1px solid var(--theme-section-cyan-border);background:var(--theme-section-cyan-bg);color:var(--theme-section-cyan-text)}.modal-btn-primary:hover{opacity:.9}
