@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.btn{border:1px solid transparent;border-radius:1rem;cursor:pointer;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.btn{font-size:1rem;height:2.5rem;min-height:2.5rem;padding:0 1rem}@media(pointer:coarse){.btn{height:auto;min-height:max(2.5rem,44px)}}.btn:focus-visible{box-shadow:0 0 0 2px #3b82f6;outline:none}.btn--primary{background-color:#aa0001;border-color:transparent;color:#fff}.btn--primary:hover:not(:disabled){background-color:#aa0002;color:#fff}.btn--primary:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.btn--secondary{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.btn--secondary:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.btn--secondary:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.btn--danger{background-color:#aa0001;border-color:transparent;color:#fff}.btn--danger:hover:not(:disabled){background-color:#aa0002;color:#fff}.btn--danger:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.btn--ghost{background-color:transparent;border-color:#e5e7eb;color:#1f2937}.btn--ghost:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.btn--ghost:disabled{background-color:rgba(31,41,55,.15);border-color:rgba(31,41,55,.2);color:#4d5563}.btn--icon{height:2.5rem;padding:0;width:2.5rem}.btn--icon.btn--sm{height:2rem;width:2rem}.btn--icon.btn--lg{height:3rem;width:3rem}@media(pointer:coarse){.btn--icon{height:max(2.5rem,44px);width:max(2.5rem,44px)}.btn--icon.btn--sm{height:max(2rem,44px);width:max(2rem,44px)}.btn--icon.btn--lg{height:max(3rem,44px);width:max(3rem,44px)}}.btn--compact{font-size:.875rem;height:2rem;min-height:2rem;padding:0 .5rem}@media(pointer:coarse){.btn--compact{height:auto;min-height:max(2rem,44px)}}.btn--compact{border-radius:.5rem}.btn--reset{background-color:#aa0001;border-color:transparent;color:#fff}.btn--reset:hover:not(:disabled){background-color:#aa0002;color:#fff}.btn--reset:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.btn--file-action{background-color:rgba(31,41,55,.2);border-color:transparent;color:#1f2937}.btn--file-action:hover:not(:disabled){background-color:rgba(31,41,55,.3);color:#1f2937}.btn--file-action:disabled{background-color:rgba(31,41,55,.15);border-color:rgba(31,41,55,.2);color:#4d5563}.btn--file-action{border-radius:.5rem;font-size:.875rem;padding:.25rem .5rem}.btn--status-action{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.btn--status-action:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.btn--status-action:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.btn--status-action{border-radius:.5rem;font-size:.875rem;font-weight:500;padding:.5rem .75rem}.btn--vendor-switch{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.btn--vendor-switch:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.btn--vendor-switch:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.btn--vendor-switch{border-radius:.5rem;font-size:1.125rem;padding:.5rem}.btn--advanced{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.btn--advanced:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.btn--advanced:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.btn--advanced{border-radius:.5rem;font-size:.875rem;font-weight:500;padding:.5rem .75rem}.btn--model-settings{background-color:rgba(0,0,0,.5);border-color:#e5e7eb;color:#1f2937}.btn--model-settings:hover:not(:disabled){background-color:#f3f4f6}.btn--model-settings:disabled{background-color:hsla(0,0%,56%,.65);border-color:#d1d5db;color:#4d5563}.btn--model-settings{backdrop-filter:blur(4px);border-radius:1rem;bottom:.5rem;font-size:1.125rem;left:.5rem;padding:.5rem;position:absolute;z-index:320}.btn--load{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.btn--load:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.btn--load:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.btn--load{border-radius:.5rem;font-size:.875rem;min-width:3rem;padding:.25rem .5rem}.summary-item{background:rgba(31,41,55,.05);border:1px solid rgba(31,41,55,.1);gap:.5rem;padding:.5rem;transition:all .15s ease-in-out}.summary-item--clickable{cursor:pointer}.summary-item--clickable:hover{background:rgba(31,41,55,.1);border-color:rgba(31,41,55,.2)}.summary-item--changed{background:rgba(59,130,246,.1);border-color:#3b82f6}.summary-item.clickable{cursor:pointer}.summary-item.clickable:hover{background:rgba(31,41,55,.1);border-color:rgba(31,41,55,.2)}.summary-item.changed{background:rgba(59,130,246,.1);border-color:#3b82f6}.reset-override-button,.reset-override-button-bottom{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reset-override-button-bottom:disabled,.reset-override-button:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.reset-override-button,.reset-override-button-bottom{background-color:#aa0001;border-color:transparent;color:#fff}.reset-override-button-bottom:hover:not(:disabled),.reset-override-button:hover:not(:disabled){background-color:#aa0002;color:#fff}.reset-override-button-bottom:disabled,.reset-override-button:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.reset-override-button,.reset-override-button-bottom{font-size:1rem;height:2rem;min-height:2rem;padding:0 .5rem}@media(pointer:coarse){.reset-override-button,.reset-override-button-bottom{height:auto;min-height:max(2rem,44px)}}.reset-override-button,.reset-override-button-bottom{border-radius:.5rem;font-size:1.125rem}.reset-all-overrides-button{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reset-all-overrides-button:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.reset-all-overrides-button{background-color:#aa0001;border-color:transparent;color:#fff}.reset-all-overrides-button:hover:not(:disabled){background-color:#aa0002;color:#fff}.reset-all-overrides-button:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.reset-all-overrides-button{font-size:1rem;height:2.5rem;min-height:2.5rem;padding:0 1rem}@media(pointer:coarse){.reset-all-overrides-button{height:auto;min-height:max(2.5rem,44px)}}.reset-all-overrides-button-compact{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reset-all-overrides-button-compact:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.reset-all-overrides-button-compact{background-color:#aa0001;border-color:transparent;color:#fff}.reset-all-overrides-button-compact:hover:not(:disabled){background-color:#aa0002;color:#fff}.reset-all-overrides-button-compact:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.reset-all-overrides-button-compact{font-size:1rem;height:2rem;min-height:2rem;padding:0 .5rem}@media(pointer:coarse){.reset-all-overrides-button-compact{height:auto;min-height:max(2rem,44px)}}.reset-all-overrides-button-compact{border-radius:.5rem;font-size:1.125rem}.override-params-button{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.override-params-button:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.override-params-button{font-size:.875rem;height:2rem;min-height:2rem;padding:0 .75rem}@media(pointer:coarse){.override-params-button{height:auto;min-height:max(2rem,44px)}}.override-params-button{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.override-params-button:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.override-params-button:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.override-params-button{border-radius:.5rem;font-weight:500}.form-group label{font-size:.875rem}.form-row{display:grid;gap:.75rem}.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:639px){.form-row-2,.form-row-3{grid-template-columns:1fr}}@media(min-width:640px){.form-row-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.input{border:1px solid #e5e7eb;border-radius:1rem;color:#1f2937;display:block;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out;width:100%}.input,.input:focus{background-color:#fff}.input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.input:hover:not(:focus):not(:disabled){border-color:#9ca3af}.input::-moz-placeholder{color:#9ca3af}.input::placeholder{color:#9ca3af}.input:disabled{cursor:not-allowed;opacity:.6}.input{height:2.5rem;padding:0 .75rem}.input--error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.1)!important}.select{background-color:#fff;border:1px solid #e5e7eb;border-radius:1rem;color:#1f2937;display:block;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out;width:100%}.select:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.select:hover:not(:focus):not(:disabled){border-color:#9ca3af}.select::-moz-placeholder{color:#9ca3af}.select::placeholder{color:#9ca3af}.select:disabled{cursor:not-allowed;opacity:.6}.select{cursor:pointer;height:2.5rem;padding:0 .75rem}.select:focus{background-color:rgba(31,41,55,.15)}.select--error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.1)!important}.override-params-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);margin-top:1rem;padding:1rem}.override-params-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.override-params-header h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.override-params-controls{align-items:center;display:flex;gap:.5rem}.preset-preview-section{background-color:#fff;border-radius:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);margin-top:1rem}.preset-preview-item{background-color:rgba(31,41,55,.05);border:1px solid rgba(31,41,55,.1);border-radius:1rem;margin-bottom:.5rem;padding:.75rem}.preset-preview-item:last-child{margin-bottom:0}.preset-preview-label{color:rgba(31,41,55,.8);margin-bottom:.25rem}.preset-preview-value{color:#1f2937;font-size:.875rem}.error-text{font-size:.875rem;margin-top:.25rem}.form__advanced-drawer{background-color:#fff;border:1px solid #e5e7eb;border-radius:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);margin-top:1rem;padding:1rem}.form__advanced-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.form__advanced-header span{color:#1f2937;font-size:1.125rem;font-weight:600}.form__advanced-header-controls{align-items:center;display:flex;gap:.5rem}.action-buttons-container{display:flex;gap:.5rem;margin-top:1rem}.slice-button{font-size:1rem;height:2.5rem;min-height:2.5rem;padding:0 1rem}@media(pointer:coarse){.slice-button{height:auto;min-height:max(2.5rem,44px)}}.slice-button{flex:2}.reset-all-overrides-button{flex:1}.icon{color:inherit}.icon svg{display:block;height:inherit;max-height:none;max-width:none;width:inherit}.file-drop-zone{align-items:center;background:rgba(31,41,55,.05);border:2px dashed rgba(31,41,55,.2);border-radius:1.25rem;color:#1f2937;cursor:pointer;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:7.5rem;padding:1.5rem;text-align:center;transition:transform .15s ease-in-out,border-color .15s ease-in-out,background-color .15s ease-in-out;width:100%}.file-drop-zone.drag-over,.file-drop-zone:hover{background:rgba(170,0,0,.2);border-color:rgba(170,0,0,.6);transform:translateY(-2px)}.drop-zone-content{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;width:100%}.file-input{display:none!important}.file-input-label{font-weight:600;line-height:1.2;min-width:12.5rem;text-align:center;width:auto}.file-input-label,.file-input-label.btn{align-items:center;display:inline-flex;justify-content:center}.file-input-label.btn{border:1px solid transparent;border-radius:1rem;cursor:pointer;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-input-label.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.file-input-label.btn{font-size:1rem;height:2.5rem;min-height:2.5rem;padding:0 1rem}@media(pointer:coarse){.file-input-label.btn{height:auto;min-height:max(2.5rem,44px)}}.file-input-label.btn--primary{background-color:#aa0001;border-color:transparent;color:#fff}.file-input-label.btn--primary:hover:not(:disabled){background-color:#aa0002;color:#fff}.file-input-label.btn--primary:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.selected-file,.selected-file-settings{background-color:#fff;border:1px solid #e5e7eb;border-radius:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);padding:1rem}.file-header,.selected-file,.selected-file-settings{align-items:center;display:flex;gap:.75rem;justify-content:space-between;max-width:100%;width:100%}.file-header,.file-info{min-width:0}.file-info{display:flex;flex:1;flex-direction:column;gap:.25rem;max-width:100%;overflow:hidden}.file-name{color:#1f2937;cursor:default;display:block;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-actions{flex-shrink:0;gap:.5rem}.file-actions,.file-dimensions{align-items:center;display:flex}.file-dimensions{color:#9ca3af;font-size:.75rem;gap:.25rem}.dimensions-icon{flex-shrink:0;opacity:.7}.file-settings-btn{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-settings-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.file-settings-btn{font-size:.875rem;height:2rem;min-height:2rem;padding:0 .75rem}@media(pointer:coarse){.file-settings-btn{height:auto;min-height:max(2rem,44px)}}.file-settings-btn{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.file-settings-btn:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.file-settings-btn:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.file-settings-btn{border-radius:.5rem}.remove-file{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.remove-file:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.remove-file{font-size:.875rem;height:2rem;min-height:2rem;padding:0 .75rem}@media(pointer:coarse){.remove-file{height:auto;min-height:max(2rem,44px)}}.remove-file{background-color:#aa0001;border-color:transparent;color:#fff}.remove-file:hover:not(:disabled){background-color:#aa0002;color:#fff}.remove-file:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.remove-file{border-radius:.5rem}.remove-file:hover:not(:disabled){transform:translateY(-1px)}@media(max-width:768px){.file-drop-zone{min-height:120px;padding:24px}}@media(min-width:768px)and (max-width:1024px){.file-drop-zone{min-height:100px}}.status-bar{border:1px solid transparent;box-shadow:0 1px 2px rgba(0,0,0,.05);gap:1rem;overflow:hidden;padding:.75rem 1rem;position:relative;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.status-bar,.status-bar__primary{align-items:center;display:flex;justify-content:space-between}.status-bar__primary{flex:1;gap:.75rem;min-width:0}.status-icon{align-items:center;background:hsla(0,0%,100%,.18);border-radius:1rem;color:inherit;display:inline-flex;height:32px;justify-content:center;width:32px}.status-bar__text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.status-message{color:inherit;font-weight:600}.status-details,.status-message{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-details{color:rgba(31,41,55,.85);font-size:.875rem}.status-bar__retry{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.25);border-radius:1rem;color:inherit;cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,transform .15s ease-in-out;white-space:nowrap}.status-bar__retry:hover{background:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.35)}.status-bar__retry:active{transform:scale(.97)}.status-bar__retry:focus-visible{outline:2px solid hsla(0,0%,100%,.5);outline-offset:2px}.status-bar__meta{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.status-rate-pill{align-items:center;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.35);border-radius:9999px;color:#1f2937;display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;padding:.25rem .75rem;white-space:nowrap}.status-rate-pill__icon{font-size:.875rem}.status-rate-pill__reset{border-left:1px solid rgba(31,41,55,.15);color:#6b7280;font-weight:500;margin-left:.5rem;padding-left:.5rem}.status-rate-pill--exceeded{background:rgba(190,0,0,.15);border-color:rgba(190,0,0,.45);color:#be0000}.status-rate-pill--exceeded .status-rate-pill__reset{color:#be0000}.status-progress{background:hsla(0,0%,100%,.18);bottom:0;height:3px;left:0;position:absolute;right:0}.status-progress__bar{animation:status-progress-subtle-wave 3s ease-in-out infinite;background:linear-gradient(90deg,rgba(190,0,0,.3),rgba(190,0,0,.6) 30%,rgba(190,0,0,.9) 50%,rgba(190,0,0,.6) 70%,rgba(190,0,0,.3));background-size:150% 100%;bottom:0;left:0;position:absolute;top:0;transition:width .25s ease-in-out ease}.status-progress__bar--indeterminate{animation:status-progress-gradient-wave 2.5s ease-in-out infinite;background:linear-gradient(90deg,rgba(190,0,0,.2),rgba(190,0,0,.4) 15%,rgba(190,0,0,.8) 30%,#be0000 45%,rgba(190,0,0,.8) 60%,rgba(190,0,0,.4) 75%,rgba(190,0,0,.2));background-size:200% 100%;width:100%}.status-idle{background-color:#f9fafb;border-color:rgba(229,231,235,.4);color:#1f2937}.status-working{background-color:#2980b9;border-color:rgba(59,130,246,.35);color:#1f2937}.status-success{background-color:#27ae60;border-color:rgba(39,174,96,.35);color:#1f2937}.status-error{background-color:#be0000;border-color:#810000;box-shadow:0 0 0 1px rgba(190,0,0,.35),0 14px 38px rgba(190,0,0,.25);color:#1f2937}@media(max-width:768px){.status-bar{padding:.5rem .75rem}.status-bar__primary{gap:.5rem}.status-icon{height:28px;width:28px}.status-bar__text{gap:1px}.status-message{font-size:.875rem}.status-details{font-size:.75rem}.status-bar__retry{font-size:.75rem;padding:.25rem .75rem}.status-rate-pill{font-size:.75rem;gap:.25rem;padding:.25rem .5rem}.status-rate-pill__value{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@keyframes status-progress-subtle-wave{0%{background-position:-50% 0}50%{background-position:50% 0}to{background-position:-50% 0}}@keyframes status-progress-gradient-wave{0%{background-position:-200% 0}50%{background-position:0 0}to{background-position:200% 0}}.stl-viewer{height:100%;min-height:600px;position:relative;width:100%}@media(max-width:768px){.stl-viewer{min-height:600px}}.stl-viewer-canvas{height:600px;min-height:360px;overflow:hidden;position:relative;width:100%}@media(max-width:768px){.stl-viewer-canvas{height:50vh;max-height:50vh}}@supports(-webkit-touch-callout:none){@media(max-width:768px){.stl-viewer-canvas{height:45vh;max-height:45vh}}}.stl-viewer-canvas canvas{display:block;height:100%!important;margin:0 auto;max-height:100%!important;max-width:100%!important;-o-object-fit:contain;object-fit:contain;width:100%!important}.stl-viewer-controls{backdrop-filter:blur(6px);background-color:#fff;background:hsla(0,0%,100%,.92);border:1px solid #e5e7eb;border-radius:1.25rem;bottom:calc(60px + 1rem);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:.75rem;left:1rem;max-width:min(145px,100% - 2*1rem);min-width:0;padding:calc(.75rem + 40px) .75rem .75rem;position:absolute;width:auto;z-index:320}@media(max-width:768px){.stl-viewer-controls{backdrop-filter:none;background:#fff;margin:.75rem auto 0;padding-top:.75rem;position:static}}.stl-viewer-controls__rotations{display:flex;flex-direction:column;gap:.5rem}.model-settings-btn{align-items:center;background:#f9fafb;border:1px solid rgba(229,231,235,.7);border-radius:9999px;color:#1f2937;display:inline-flex;font-size:.9375rem;height:32px;justify-content:center;line-height:1;position:absolute;right:.75rem;top:.75rem;transition:background .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out;width:32px}.model-settings-btn:hover{background:#f3f4f6;border-color:#9ca3af}.model-settings-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.stl-viewer-controls .auto-rotate-text{align-items:center;color:#1f2937;display:flex;font-size:.75rem;font-weight:600;justify-content:center;left:5px;letter-spacing:.05em;pointer-events:none;position:absolute;right:5px;text-transform:uppercase;top:50%;transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.auto-rotate-switch{background:linear-gradient(135deg,rgba(31,41,55,.15),rgba(31,41,55,.05));border:1px solid rgba(31,41,55,.35);border-radius:9999px;box-shadow:none;cursor:pointer;display:block;height:2.5rem;position:relative;transition:all .25s ease-in-out;width:7.5rem}.auto-rotate-switch:hover{border-color:rgba(31,41,55,.5)}.auto-rotate-switch.active,.auto-rotate-switch[aria-checked=true]{background:linear-gradient(135deg,#27ae60,#1e8449);border-color:#295;box-shadow:inset 0 0 12px rgba(39,174,96,.35)}.auto-rotate-switch.active .auto-rotate-text,.auto-rotate-switch[aria-checked=true] .auto-rotate-text{color:#0b311b}.auto-rotate-knob{background:#fff;border-radius:9999px;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);height:1.875rem;left:var(--auto-rotate-knob-offset,.25rem);position:absolute;top:.25rem;transition:left .15s ease-in-out;width:1.875rem;will-change:left;z-index:1}.rotation-control-row{align-items:center;display:flex;justify-content:space-between}@media(max-width:768px){.rotation-control-row{gap:.25rem;justify-content:space-between}}.rotation-btn{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#1f2937;cursor:pointer;padding:4px 6px;transition:all .15s ease-in-out}.rotation-btn.disabled{background:#f9fafb;color:#9ca3af;cursor:default;opacity:.6}.rotation-btn:hover:not(.disabled){background:#f3f4f6;border-color:#9ca3af}.rotation-axis-label{border:1px solid #e5e7eb;border-radius:4px;color:#fff;font-size:12px;font-weight:700;min-width:22px;padding:2px 4px;text-align:center}.rotation-axis-label.disabled{background:#f9fafb;color:#9ca3af;opacity:.6}.rotation-axis-label[data-axis=X]:not(.disabled){background:#be0000}.rotation-axis-label[data-axis=Y]:not(.disabled){background:#27ae60}.rotation-axis-label[data-axis=Z]:not(.disabled){background:#00003d}.auto-toast{box-shadow:0 4px 6px rgba(0,0,0,.1);font-size:13px;left:50%;top:12px;transform:translateX(-50%);z-index:880}.auto-toast,.bed-info-display{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#1f2937;padding:8px 12px;position:absolute}.bed-info-display{bottom:calc(60px + 1rem);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);display:flex;flex-direction:column;font-family:monospace;font-size:12px;gap:4px;max-width:min(220px,100% - 2*1rem);min-width:0;pointer-events:none;right:1rem;z-index:320}@media(max-width:768px){.bed-info-display{margin:.5rem auto;position:static;text-align:center}}.copies-control,.rotation-control,.scale-control{margin-bottom:8px}.control-label-row{align-items:center;display:flex;gap:.25rem;justify-content:space-between;margin-bottom:4px;min-height:18px}.control-label{color:#1f2937;display:block;flex:1;font-size:12px;font-weight:500;margin-bottom:0}.control-row{align-items:center;display:flex;gap:12px}.control-value-group{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;gap:1px;max-width:100%;overflow:visible;padding:2px}.control-btn{align-items:center;background:transparent;border:none;border-radius:.25rem;color:#1f2937;cursor:pointer;display:flex;flex-shrink:0;font-size:10px;font-weight:600;justify-content:center;line-height:1;min-width:24px;padding:2px 4px;text-align:center;transition:all .2s ease}.control-btn:hover{background:#f3f4f6;color:#1f2937}.control-slider{background:#e5e7eb;border-radius:.25rem;cursor:pointer;flex:1;height:6px;outline:none}.control-slider::-moz-range-thumb,.control-slider::-webkit-slider-thumb{background:#00003d;border:none;border-radius:50%;cursor:pointer;height:16px;-webkit-transition:all .2s ease;-moz-transition:all .2s ease;transition:all .2s ease;width:16px}.control-slider::-moz-range-thumb:hover,.control-slider::-webkit-slider-thumb:hover{background:#2563eb;transform:scale(1.1)}.control-value{align-items:center;background:transparent;border:none;border-radius:.25rem;color:#1f2937;display:flex;font-size:10px;font-weight:500;height:20px;justify-content:center;line-height:1;min-width:40px;padding:2px 4px;text-align:center;width:40px}.control-value:focus{background:#fff;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.control-label-row .reset-override-button{align-items:center;align-self:flex-start;border-radius:.25rem;display:flex;flex-shrink:0;font-size:10px;height:16px;justify-content:center;line-height:1;margin-bottom:0;min-height:16px!important;padding:0;width:16px}.rotation-control .control-value{font-size:10px;min-width:45px;padding:2px;width:45px}.model-settings-panel .auto-rotate-control{margin-bottom:8px}.model-settings-panel .auto-rotate-control .auto-rotate-label{align-items:center;cursor:pointer;display:inline-flex;gap:6px}.model-settings-panel .auto-rotate-control .auto-rotate-label input[type=checkbox]{accent-color:#4da3ff;height:16px;margin:0;width:16px}.model-settings-panel .auto-rotate-control .auto-rotate-text{color:#1f2937;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.model-settings-panel{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05);box-sizing:border-box;margin:0 0 .5rem;max-width:100%;overflow:hidden;padding:.5rem;width:100%}.text-view-btn{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out}.text-view-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.text-view-btn{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.text-view-btn:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.text-view-btn:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.text-view-btn{font-size:1rem;height:32px;min-height:32px;padding:0 .75rem}@media(pointer:coarse){.text-view-btn{height:auto;min-height:max(32px,44px)}}.text-view-btn{border-radius:.5rem;font-size:.875rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.text-view-btn:hover{transform:translateY(-1px)}.text-view-btn:active{transform:translateY(0)}.control-icon{align-items:center;display:flex;font-size:1.125rem;height:20px;justify-content:center;line-height:1;width:20px}.control-text{color:#1f2937;font-size:.875rem;font-weight:500}.info-controls label{align-items:center;background:rgba(31,41,55,.1);border:1px solid rgba(31,41,55,.2);border-radius:.5rem;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;min-height:32px;padding:.5rem .75rem;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.info-controls label:hover{background:rgba(31,41,55,.2);border-color:rgba(59,130,246,.5)}.info-controls label input[type=checkbox]{accent-color:#3b82f6;height:16px;margin:0;width:16px}.render-progress-fill{background:#3b82f6;height:100%;transition:width .15s ease-in-out;width:var(--render-progress,0)}.load-btn{border:1px solid transparent;border-radius:1rem;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";gap:.5rem;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.load-btn:disabled{box-shadow:none;opacity:1}.load-btn{background-color:#3b82f6;border-color:transparent}.load-btn:hover:not(:disabled){background-color:#0b63f3;color:#fff}.load-btn:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.load-btn{font-size:1rem;min-height:24px;padding:0 .5rem}@media(pointer:coarse){.load-btn{height:auto;min-height:max(24px,44px)}}.load-btn{border-radius:.5rem}@media(max-width:639px){.info-controls{gap:.5rem;justify-content:flex-start;margin-left:0;margin-top:.75rem;width:100%}.info-controls label{flex:1;font-size:.875rem;justify-content:center;min-width:0;padding:.5rem}.control-icon{font-size:1rem;height:18px;width:18px}.info-controls{flex-direction:column;gap:.25rem}.info-controls label{justify-content:flex-start;width:100%}}.panel-toggle-btn{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.panel-toggle-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.panel-toggle-btn{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.panel-toggle-btn:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.panel-toggle-btn:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.panel-toggle-btn{font-size:1rem;height:2rem;min-height:2rem;padding:0 .75rem}@media(pointer:coarse){.panel-toggle-btn{height:auto;min-height:max(2rem,44px)}}.panel-toggle-btn{border-radius:.5rem;font-size:.875rem;margin-left:auto}.gcode-canvas.hidden{display:none}.gcode-canvas.visible{display:block}@supports(-webkit-touch-callout:none){.gcode-canvas{backface-visibility:hidden;transform:translateZ(0)}}.debug-info-overlay{background:rgba(0,0,0,.8);border-radius:.5rem;color:#1f2937;font-size:.75rem;left:.5rem;padding:.25rem;position:absolute;top:.5rem;z-index:820}.left-panel{display:flex;flex-direction:column;position:relative}.left-panel__scroll{overflow:auto}.left-panel-footer{box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:1rem;padding:1rem}.left-panel-footer__primary{display:flex;flex-direction:column;gap:.5rem}.left-panel-footer__generate-btn{font-size:.9375rem;font-weight:600;min-height:52px;width:100%}.left-panel-footer__generate-btn[disabled]{cursor:not-allowed;opacity:.6}.left-panel-footer__generate-placeholder{background:rgba(249,250,251,.35);border:1px dashed rgba(229,231,235,.25);border-radius:1rem;min-height:52px;width:100%}.left-panel-footer__secondary{align-items:stretch;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto}.left-panel-footer__info{align-items:stretch;display:flex;min-height:52px;width:100%}.left-panel-footer__info--with-action{padding:0}.left-panel-footer__info-text{align-items:center;background:rgba(249,250,251,.45);border:1px dashed rgba(229,231,235,.4);border-radius:1rem;color:#9ca3af;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem;width:100%}.left-panel-footer__download-btn{align-items:center;background:#00003d;border:1px solid #00003d;border-radius:1rem;color:#fff;display:flex;font-weight:600;justify-content:flex-start;min-height:52px;padding:.75rem;text-align:left;transition:background .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out;width:100%}.left-panel-footer__download-btn:hover:not([disabled]){background:#000014;border-color:#000014;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.left-panel-footer__download-btn:hover:not([disabled]) .icon svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.left-panel-footer__download-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.left-panel-footer__download-content{align-items:center;display:flex;gap:.5rem;width:100%}.left-panel-footer__download-text{display:flex;flex-direction:column;gap:2px;min-width:0}.left-panel-footer__download-label{font-weight:600}.left-panel-footer__download-meta{color:hsla(0,0%,100%,.8);font-size:.75rem}.left-panel-footer__reset-icon{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:1rem;color:#1f2937;display:inline-flex;height:52px;justify-content:center;transition:background .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out;width:52px}.left-panel-footer__reset-icon:hover{background:#f3f4f6;border-color:#9ca3af}.left-panel-footer__reset-icon:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.left-panel-footer__reset-icon.is-disabled,.left-panel-footer__reset-icon[disabled]{background:rgba(249,250,251,.6);border-color:rgba(229,231,235,.5);cursor:default;opacity:.45;pointer-events:none}@media(max-width:768px){.left-panel-footer{gap:.75rem;padding:.75rem}.left-panel-footer__secondary{gap:.5rem;grid-template-columns:minmax(0,1fr) auto}.left-panel-footer__info{min-height:48px}.left-panel-footer__info-text{padding:.5rem .75rem}.left-panel-footer__download-btn{min-height:48px;padding:.5rem .75rem}.left-panel-footer__download-content{gap:.25rem}.left-panel-footer__reset-icon{height:48px;width:48px}}.slicer-form{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.slicer-form h2{color:#1f2937;font-weight:300;margin-bottom:1.5rem;text-align:center}.form-group{min-width:0;width:100%}.form-group:last-child{margin-bottom:0}.form-group label{color:#1f2937;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{background-color:#fff;border:1px solid #e5e7eb;display:block;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out;width:100%}.form-group input:focus,.form-group select:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.form-group input:hover:not(:focus):not(:disabled),.form-group select:hover:not(:focus):not(:disabled){border-color:#9ca3af}.form-group input::-moz-placeholder,.form-group select::-moz-placeholder{color:#9ca3af}.form-group input::placeholder,.form-group select::placeholder{color:#9ca3af}.form-group input:disabled,.form-group select:disabled{cursor:not-allowed;opacity:.6}.form-group input,.form-group select{background:rgba(31,41,55,.1);border:1px solid rgba(31,41,55,.3);color:#1f2937}.form-group input:focus,.form-group select:focus{background:rgba(31,41,55,.15);border-color:rgba(31,41,55,.8);box-shadow:0 0 0 3px rgba(31,41,55,.1)}.form-group input,.form-group select{border-radius:1rem;font-size:1rem;padding:.75rem}.select-static{background-color:#fff;border:1px solid #e5e7eb;border-radius:1rem;color:#1f2937;display:block;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out;width:100%}.select-static:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.select-static:hover:not(:focus):not(:disabled){border-color:#9ca3af}.select-static::-moz-placeholder{color:#9ca3af}.select-static::placeholder{color:#9ca3af}.select-static:disabled{cursor:not-allowed;opacity:.6}.select-static{cursor:pointer;height:2.5rem;padding:0 .75rem;text-align:left;transition:border-color .15s ease-in-out,background-color .15s ease-in-out}.select-static:hover{background:rgba(31,41,55,.15);border-color:#3b82f6}.error-text{color:#be0000}.input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.1)!important}.slice-button{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.slice-button:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.slice-button{font-size:1.125rem;height:3rem;min-height:3rem;padding:0 1.5rem}@media(pointer:coarse){.slice-button{height:auto;min-height:max(3rem,44px)}}.slice-button{background-color:#aa0001;border-color:transparent;color:#fff}.slice-button:hover:not(:disabled){background-color:#aa0002;color:#fff}.slice-button:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.slice-button{font-weight:600;width:100%}.file-settings-btn{border-radius:.25rem;font-size:.85rem;padding:.25rem .5rem}.error-message{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:.375rem;color:#721c24;display:flex;gap:8px;margin-bottom:16px;padding:12px}.error-icon{flex-shrink:0;font-size:16px}@media(max-width:768px){.file-input-label.btn.btn--primary{font-size:1.25rem!important;font-weight:700!important;height:3rem!important;min-width:180px!important;padding:1.25rem 1.5rem!important}.slice-button{font-size:1.05rem;padding:1.1rem}.reset-all-overrides-button{font-size:.95rem;height:44px}}@media(hover:none){.file-drop-zone:hover,.file-input-label:hover,.reset-all-overrides-button:hover,.reset-override-button:hover{filter:none;transform:none}}.preset-preview-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:1rem;display:grid;gap:12px;margin-bottom:1.5rem;padding:1rem}.preset-preview-section h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.preset-preview-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.preset-preview-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 100px 32px;min-height:48px;padding:.5rem}.preset-preview-label{color:#1f2937;font-size:.875rem;font-weight:500;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis}.preset-preview-value-container{align-items:center;display:flex;flex-shrink:0;gap:.5rem;justify-content:flex-start;min-width:0;width:100px}.preset-preview-input{background-color:#fff;border-radius:1rem;display:block;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out;width:100%}.preset-preview-input:focus{background-color:#fff}.preset-preview-input:hover:not(:focus):not(:disabled){border-color:#9ca3af}.preset-preview-input::-moz-placeholder{color:#9ca3af}.preset-preview-input::placeholder{color:#9ca3af}.preset-preview-input:disabled{cursor:not-allowed;opacity:.6}.preset-preview-input{border:1px solid #e5e7eb;border-radius:.25rem;color:#1f2937;flex-shrink:0;font-size:.875rem;padding:.2rem .25rem;text-align:left;width:80px}.preset-preview-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.preset-preview-unit{color:#6b7280;font-size:.75rem;min-width:20px;text-align:center}.preset-preview-unit:empty{min-width:20px;visibility:hidden}.saved-settings{background:#f9fafb;border:1px solid #e5e7eb;border-radius:1rem;margin-bottom:1.5rem;padding:1rem}.saved-settings h3{color:#27ae60;font-size:1rem;font-weight:600;margin:0 0 .5rem}.saved-settings p{color:#1f2937;font-size:.875rem;margin:.25rem 0}.override-params-button,.reset-all-overrides-button,.reset-all-overrides-button-compact,.reset-override-button,.reset-override-button-bottom{background:#f9fafb;border-color:#e5e7eb;color:#1f2937}.override-params-button:hover,.reset-all-overrides-button-compact:hover,.reset-all-overrides-button:hover,.reset-override-button-bottom:hover,.reset-override-button:hover{background:#f3f4f6;border-color:#9ca3af}.reset-override-button,.reset-override-button-bottom{height:24px;padding:0;width:24px}.reset-all-overrides-button{height:40px;margin-top:.5rem;width:100%}.reset-all-overrides-button-compact{height:32px;min-height:32px!important;width:32px}.override-params-button{padding:.5rem 1rem;width:100%}.advanced-summary{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:8px}.summary-item{border-color:#e5e7eb;padding:6px 8px}.summary-item.changed{border-color:#f39c12}.summary-item.clickable:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.summary-icon,.summary-icon svg{align-items:center;display:inline-flex;height:20px;justify-content:center;width:20px}.summary-value{color:#1f2937;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.chip{align-items:stretch;background:#f9fafb;border:1px solid #e5e7eb;border-radius:9999px;color:#1f2937;display:inline-flex;flex-direction:column;gap:4px;max-width:100%;padding:8px 10px}.chip-label{color:#6b7280;font-size:.75rem;line-height:1}.chip-value{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-value-row{align-items:center;display:flex;gap:6px}.chip-change{background:transparent;border:1px solid #e5e7eb;border-radius:9999px;color:#f9fafb;cursor:pointer;font-size:.75rem;margin-left:4px;padding:2px 6px;transition:all .2s ease;white-space:nowrap}.chip-change:hover{background:hsla(0,0%,100%,.15)}.catalog-error-container{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:1rem;display:flex;flex-direction:column;gap:1rem;justify-content:center;margin:1rem 0;min-height:120px;padding:1.5rem;text-align:center}.catalog-error-message{align-items:center;color:#721c24;display:flex;font-size:.875rem;gap:.5rem}.catalog-error-message .error-icon{flex-shrink:0;font-size:1.125rem}.catalog-error-message .error-text{font-weight:500}.catalog-retry-button{align-items:center;border:1px solid transparent;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.catalog-retry-button:disabled{box-shadow:none;opacity:1}.catalog-retry-button{font-size:.875rem;height:2.5rem;min-height:2.5rem;padding:0 1rem}@media(pointer:coarse){.catalog-retry-button{height:auto;min-height:max(2.5rem,44px)}}.catalog-retry-button{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.catalog-retry-button:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.catalog-retry-button:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.catalog-retry-button{border-radius:1rem;font-weight:600;min-width:120px}.catalog-retry-button:disabled{cursor:not-allowed;opacity:.5}.preset-preview-value-container,.printer-preview,.vendor-list{display:flex}.printer-preview{gap:1rem;margin-top:.5rem}.bed-image,.printer-image{align-items:center;display:flex;flex-direction:column;gap:.5rem}.bed-thumbnail,.printer-thumbnail{background:hsla(0,0%,100%,.05);border:1px solid #e5e7eb;border-radius:.5rem;height:80px;-o-object-fit:contain;object-fit:contain;transition:all .3s ease;width:80px}.bed-thumbnail:hover,.printer-thumbnail:hover{border-color:hsla(0,0%,100%,.6);transform:scale(1.05)}.image-label{color:#6b7280;font-size:.8rem;text-align:center}@media(max-width:768px){.printer-preview{flex-direction:column;gap:.5rem}.bed-thumbnail,.printer-thumbnail{height:60px;width:60px}}.model-gallery{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:10px;transition:all .3s ease}.model-gallery.scroll-area{max-height:none;overflow-y:visible;padding-right:0}.scroll-area::-webkit-scrollbar{width:8px}.scroll-area::-webkit-scrollbar-track{background:hsla(0,0%,100%,.08);border-radius:.375rem}.scroll-area::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.3);border-radius:.375rem}.printer-summary-card{max-height:160px;min-height:160px;padding:10px;text-align:center;transition:all .3s ease;width:100%}.printer-summary-card .summary-thumb{height:130px;overflow:hidden;position:relative;transition:all .3s ease}.printer-summary-card .summary-thumb img{height:100%;left:0;-o-object-fit:contain;object-fit:contain;position:absolute;top:0;width:100%}.printer-summary-card .summary-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.4em;min-height:2.4em;overflow:hidden;transition:all .3s ease;white-space:normal}.vendor-list{display:grid;flex-wrap:wrap;gap:8px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:10px 0}.vendor-list.scroll-area{max-height:none;overflow-y:visible;padding-right:0}.vendor-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:1rem;color:#1f2937;cursor:pointer;display:block;font-size:.875rem;line-height:1.25;min-height:44px;overflow:hidden;padding:.75rem 1rem;text-align:left;text-overflow:ellipsis;transition:all .2s ease;white-space:normal}.vendor-item:focus-visible{box-shadow:0 0 0 2px #aa0001;outline:none}.vendor-item:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.vendor-item.selected{background:#dbeafe;border-color:#aa0001;box-shadow:0 0 0 2px rgba(170,0,1,.25);color:#1f2937;font-weight:500}.change-vendor-link{align-items:center;align-self:flex-start;background:transparent;border:1px dashed #d1d5db;border-radius:.5rem;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.875rem;margin-top:6px;min-height:44px;padding:.5rem .75rem;transition:all .2s ease}.change-vendor-link:focus-visible{box-shadow:0 0 0 2px #aa0001;outline:none}.change-vendor-link:hover{border-color:#9ca3af;color:#1f2937}.vendor-toolbar{display:flex;justify-content:flex-end;margin:6px 0}.vendor-all-btn{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vendor-all-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.vendor-all-btn{font-size:.875rem;height:2rem;min-height:2rem;padding:0 .75rem}@media(pointer:coarse){.vendor-all-btn{height:auto;min-height:max(2rem,44px)}}.vendor-all-btn{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.vendor-all-btn:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.vendor-all-btn:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.vendor-all-btn{border-radius:.5rem;font-weight:500}.printer-block{align-items:stretch;display:grid;gap:12px;grid-template-columns:minmax(180px,200px) 1fr;transition:all .3s ease;width:100%}@media(max-width:900px){.printer-block{gap:8px;grid-template-columns:1fr}}.printer-list-header{align-items:center;display:flex;justify-content:space-between;margin:6px 0 8px}.vendor-title{color:#1f2937;font-weight:600}.vendor-switch-btn{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vendor-switch-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.vendor-switch-btn{font-size:.875rem;height:2rem;min-height:2rem;padding:0 .5rem}@media(pointer:coarse){.vendor-switch-btn{height:auto;min-height:max(2rem,44px)}}.vendor-switch-btn{background-color:transparent;border-color:#e5e7eb;color:#1f2937}.vendor-switch-btn:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.vendor-switch-btn:disabled{background-color:rgba(31,41,55,.15);border-color:rgba(31,41,55,.2);color:#4d5563}.vendor-switch-btn{border-radius:.5rem}.vendor-switch-btn:focus-visible{box-shadow:0 0 0 2px #aa0001;outline:none}.model-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:1rem;color:#1f2937;cursor:pointer;display:flex;flex-direction:column;gap:6px;max-height:140px;min-height:140px;padding:10px;text-align:center;transition:all .3s ease}.model-card:focus-visible{box-shadow:0 0 0 2px #aa0001;outline:none}.model-card:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-2px)}.model-card.selected{background:#dbeafe;border-color:#aa0001;box-shadow:0 0 0 2px rgba(170,0,1,.25);font-weight:500}.model-thumb{align-items:center;background:rgba(0,0,0,.2);border-radius:.375rem;display:flex;height:90px;justify-content:center;overflow:hidden;position:relative}.model-thumb,.model-thumb img{transition:all .3s ease;width:100%}.model-thumb img{height:100%;left:0;-o-object-fit:contain;object-fit:contain;position:absolute;top:0}.model-thumb-placeholder{color:#bdc3c7;font-size:24px}.model-name{display:-webkit-box;font-size:.85rem;font-weight:600;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.4em;min-height:2.4em;overflow:hidden;text-overflow:ellipsis}.slicer-form__advanced-drawer-backdrop{background:rgba(0,0,0,.5);inset:0;position:fixed;z-index:650}.slicer-form__advanced-drawer{background:#fff;border-left:1px solid #e5e7eb;box-shadow:0 4px 6px rgba(0,0,0,.1);display:flex;flex-direction:column;height:100dvh;position:fixed;right:0;top:0;width:min(460px,100vw);z-index:790}.slicer-form__advanced-header{align-items:center;border-bottom:1px solid #e5e7eb;color:#1f2937;display:flex;font-weight:600;justify-content:space-between;padding:12px 16px}.slicer-form__advanced-content{min-width:0;overflow:auto;padding:12px 16px}.slicer-form__advanced-form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.slicer-form__advanced-form *{max-width:100%;min-width:0}.slicer-form__advanced-header-controls{align-items:center;display:flex;gap:8px}@media(max-width:768px){.slicer-form__advanced-drawer{border-left:none;border-top:1px solid #e5e7eb;left:0;width:100vw}}.support-brim-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.support-brim-button{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;min-height:44px;min-width:80px;padding:.5rem 1rem;text-align:center;transition:all .3s ease}.support-brim-button:focus-visible{box-shadow:0 0 0 2px #aa0001;outline:none}.support-brim-button:hover{background:#f3f4f6;border-color:#9ca3af;color:#1f2937}.support-brim-button.enabled{background:rgba(87,119,11,.15);border-color:rgba(87,119,11,.5);color:#1f2937;font-weight:600}.support-brim-button.enabled:hover{background:rgba(87,119,11,.25);border-color:rgba(87,119,11,.7)}.support-brim-button .checkmark{font-size:.9em;font-weight:700;margin-right:6px}.reset-section{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.reset-all-button{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.reset-all-button:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.reset-all-button{font-size:.875rem;height:2.5rem;min-height:2.5rem;padding:0 .75rem}@media(pointer:coarse){.reset-all-button{height:auto;min-height:max(2.5rem,44px)}}.reset-all-button{background-color:#f9fafb;border-color:#e5e7eb;color:#1f2937}.reset-all-button:hover:not(:disabled){background-color:#f3f4f6;color:#1f2937}.reset-all-button:disabled{background-color:#fbfcfc;border-color:#d1d5db;color:#454e5c}.reset-all-button{border-radius:.5rem}.simple-stl-viewer{background:#1a1a1a;height:100%;min-height:300px;position:relative;width:100%}@supports(-webkit-touch-callout:none){.simple-stl-viewer{overflow:hidden;position:relative;-webkit-overflow-scrolling:touch}}@media(max-width:768px){.simple-stl-viewer{height:60vh;max-height:60vh;min-height:60vh}}.simple-stl-viewer .viewer-container{inset:0;position:absolute}.viewer-container canvas{display:block;height:100%!important;margin:0 auto;max-height:100%!important;max-width:100%!important;-o-object-fit:contain;object-fit:contain;outline:none;width:100%!important}@media(max-width:768px){.viewer-container canvas{height:100%!important;max-height:60vh!important}}.webgl-error-container{align-items:center;background:#1a1a1a;color:#fff;display:flex;height:100%;justify-content:center;width:100%}.webgl-error-message{background:rgba(170,0,0,.1);border:2px solid #f44;border-radius:10px;max-width:500px;padding:30px;text-align:center}.webgl-error-message h3{color:#f66;font-size:24px;margin-bottom:15px}.webgl-error-message p{font-size:16px;line-height:1.5;margin-bottom:20px}.webgl-error-suggestions{margin:20px 0;text-align:left}.webgl-error-suggestions h4{color:#f88;font-size:18px;margin-bottom:10px}.webgl-error-suggestions ul{list-style-type:none;padding:0}.webgl-error-suggestions li{font-size:14px;line-height:1.4;padding:5px 0}.webgl-error-suggestions li:before{color:#f66;content:"• ";font-weight:700}.retry-button{background:#f44;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;margin-top:15px;padding:12px 24px;transition:background-color .3s}.retry-button:hover{background:#f66}.retry-button:active{background:#c33}.searchable-select{position:relative;width:100%}.select-input-container{align-items:center;display:flex;position:relative}.select-input{background-color:#fff;border:1px solid #e5e7eb;display:block;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out}.select-input:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.select-input:hover:not(:focus):not(:disabled){border-color:#9ca3af}.select-input::-moz-placeholder{color:#9ca3af}.select-input::placeholder{color:#9ca3af}.select-input{background:rgba(31,41,55,.1);border:1px solid rgba(31,41,55,.3);color:#1f2937}.select-input:focus{background:rgba(31,41,55,.15);border-color:rgba(31,41,55,.8);box-shadow:0 0 0 3px rgba(31,41,55,.1)}.select-input{border-radius:1rem;cursor:pointer;font-size:1rem;padding:.75rem;transition:all .3s ease;width:100%}.select-input::-moz-placeholder{color:#d1d5db}.select-input::placeholder{color:#d1d5db}.select-input:focus{outline:none}.select-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.6}.select-arrow{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:inline-flex;font-size:12px;height:44px;justify-content:center;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:color .2s;width:44px}.select-arrow:focus-visible{box-shadow:0 0 0 2px #aa0001;outline:none}@media(pointer:coarse){.select-arrow{min-height:44px;min-width:44px}}@media(pointer:fine){.select-arrow{height:32px;padding:4px;width:32px}}.select-arrow:hover{color:#1f2937}.select-dropdown{border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1);left:var(--dropdown-left,-9999px);max-height:var(--dropdown-max-height,200px);opacity:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:var(--dropdown-top,-9999px);transform:translateY(-4px);transition:opacity .15s ease-in-out,transform .15s ease-in-out;width:var(--dropdown-width,auto);z-index:760}.select-dropdown.visible{opacity:1;transform:translateY(0)}.select-dropdown.open-up{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.select-dropdown.open-down{border-top-left-radius:1rem;border-top-right-radius:1rem}.select-dropdown::-webkit-scrollbar{width:8px}.select-dropdown .nozzle-option,.select-dropdown .option,.select-dropdown .select-option{cursor:pointer;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out;white-space:nowrap}.select-dropdown .no-options{font-style:italic}.select-dropdown .loading-spinner{font-size:14px;position:absolute;right:32px}.select-dropdown{background:#fff;border:1px solid #e5e7eb;color:#1f2937}.select-dropdown .nozzle-option,.select-dropdown .option,.select-dropdown .select-option{align-items:center;border:1px solid transparent;color:#1f2937;display:flex;margin:0;min-height:44px;padding:.75rem 1rem;transition:background-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out}.select-dropdown .nozzle-option:hover:not(.selected),.select-dropdown .option:hover:not(.selected),.select-dropdown .select-option:hover:not(.selected){background-color:#f8f8fa}.select-dropdown .nozzle-option.selected,.select-dropdown .option.selected,.select-dropdown .select-option.selected{background-color:#dbeafe;border-color:#8bb6fa;box-shadow:0 0 0 2px rgba(59,130,246,.25);color:#1f2937;font-weight:500}.select-dropdown .nozzle-option+.nozzle-option,.select-dropdown .nozzle-option+.option,.select-dropdown .nozzle-option+.select-option,.select-dropdown .option+.nozzle-option,.select-dropdown .option+.option,.select-dropdown .option+.select-option,.select-dropdown .select-option+.nozzle-option,.select-dropdown .select-option+.option,.select-dropdown .select-option+.select-option{border-top:1px solid rgba(209,213,219,.6)}.select-dropdown .no-options{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:44px;padding:.75rem 1rem;text-align:center}.select-dropdown::-webkit-scrollbar-track{background:#f9fafb}.select-dropdown::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:.5rem}.select-dropdown::-webkit-scrollbar-thumb:hover{background:#9ca3af}.select-dropdown{border-radius:0 0 1rem 1rem;border-top:none;left:0;position:absolute;right:0;top:100%}.select-dropdown-fixed{border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1);left:var(--dropdown-left,-9999px);max-height:var(--dropdown-max-height,200px);opacity:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:var(--dropdown-top,-9999px);transform:translateY(-4px);transition:opacity .15s ease-in-out,transform .15s ease-in-out;width:var(--dropdown-width,auto);z-index:760}.select-dropdown-fixed.visible{opacity:1;transform:translateY(0)}.select-dropdown-fixed.open-up{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.select-dropdown-fixed.open-down{border-top-left-radius:1rem;border-top-right-radius:1rem}.select-dropdown-fixed::-webkit-scrollbar{width:8px}.select-dropdown-fixed .nozzle-option,.select-dropdown-fixed .option,.select-dropdown-fixed .select-option{cursor:pointer;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out;white-space:nowrap}.select-dropdown-fixed .no-options{font-style:italic}.select-dropdown-fixed .loading-spinner{font-size:14px;position:absolute;right:32px}.select-dropdown-fixed{background:#fff;border:1px solid #e5e7eb;color:#1f2937}.select-dropdown-fixed .nozzle-option,.select-dropdown-fixed .option,.select-dropdown-fixed .select-option{align-items:center;border:1px solid transparent;color:#1f2937;display:flex;margin:0;min-height:44px;padding:.75rem 1rem;transition:background-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out}.select-dropdown-fixed .nozzle-option:hover:not(.selected),.select-dropdown-fixed .option:hover:not(.selected),.select-dropdown-fixed .select-option:hover:not(.selected){background-color:#f8f8fa}.select-dropdown-fixed .nozzle-option.selected,.select-dropdown-fixed .option.selected,.select-dropdown-fixed .select-option.selected{background-color:#dbeafe;border-color:#8bb6fa;box-shadow:0 0 0 2px rgba(59,130,246,.25);color:#1f2937;font-weight:500}.select-dropdown-fixed .nozzle-option+.nozzle-option,.select-dropdown-fixed .nozzle-option+.option,.select-dropdown-fixed .nozzle-option+.select-option,.select-dropdown-fixed .option+.nozzle-option,.select-dropdown-fixed .option+.option,.select-dropdown-fixed .option+.select-option,.select-dropdown-fixed .select-option+.nozzle-option,.select-dropdown-fixed .select-option+.option,.select-dropdown-fixed .select-option+.select-option{border-top:1px solid rgba(209,213,219,.6)}.select-dropdown-fixed .no-options{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:44px;padding:.75rem 1rem;text-align:center}.select-dropdown-fixed::-webkit-scrollbar-track{background:#f9fafb}.select-dropdown-fixed::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:.5rem}.select-dropdown-fixed::-webkit-scrollbar-thumb:hover{background:#9ca3af}.searchable-select .pulsing-dot{position:absolute;right:32px;top:50%;transform:translateY(-50%)}@media(max-width:768px){.searchable-select{min-height:44px}}.nozzle-select{max-width:120px;min-width:80px;position:relative;width:100%}.nozzle-single-value{align-items:center;background-color:#fff;border:1px solid #e5e7eb;display:flex;display:block;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-size:1rem;gap:4px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out;width:100%}.nozzle-single-value:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.nozzle-single-value:hover:not(:focus):not(:disabled){border-color:#9ca3af}.nozzle-single-value::-moz-placeholder{color:#9ca3af}.nozzle-single-value::placeholder{color:#9ca3af}.nozzle-single-value:disabled{cursor:not-allowed;opacity:.6}.nozzle-single-value{background:rgba(31,41,55,.1);border:1px solid rgba(31,41,55,.3);border-radius:1rem;color:#1f2937}.nozzle-single-value:focus{background:rgba(31,41,55,.15);border-color:rgba(31,41,55,.8);box-shadow:0 0 0 3px rgba(31,41,55,.1)}.nozzle-single-value{border-radius:.5rem;font-size:.875rem;min-height:32px;padding:.4rem .6rem}.nozzle-icon{align-items:center;display:flex;flex-shrink:0;font-size:14px;height:16px;justify-content:center;line-height:1;width:16px}.nozzle-icon svg{height:14px;width:14px}.nozzle-value{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nozzle-input-container{align-items:center;display:flex;gap:6px;min-width:0;position:relative;width:100%}.nozzle-input{border:1px solid #e5e7eb;display:block;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,background-color .15s ease-in-out;width:100%}.nozzle-input,.nozzle-input:focus{background-color:#fff}.nozzle-input:hover:not(:focus):not(:disabled){border-color:#9ca3af}.nozzle-input::-moz-placeholder{color:#9ca3af}.nozzle-input::placeholder{color:#9ca3af}.nozzle-input{background:rgba(31,41,55,.1);border:1px solid rgba(31,41,55,.3);border-radius:1rem;color:#1f2937}.nozzle-input:focus{background:rgba(31,41,55,.15);border-color:rgba(31,41,55,.8);box-shadow:0 0 0 3px rgba(31,41,55,.1)}.nozzle-input{border-radius:.5rem;cursor:pointer;flex:1;font-size:.875rem;min-height:32px;min-width:0;overflow:hidden;padding:.4rem .6rem;text-overflow:ellipsis;transition:all .3s ease;white-space:nowrap}.nozzle-input::-moz-placeholder{color:#d1d5db}.nozzle-input::placeholder{color:#d1d5db}.nozzle-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.nozzle-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.6}.nozzle-arrow{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:inline-flex;font-size:10px;height:44px;justify-content:center;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:color .2s;width:44px}.nozzle-arrow:focus-visible{box-shadow:0 0 0 2px #aa0001;outline:none}@media(pointer:coarse){.nozzle-arrow{min-height:44px;min-width:44px}}@media(pointer:fine){.nozzle-arrow{height:28px;padding:4px;width:28px}}.nozzle-arrow:hover{color:#1f2937}.nozzle-select .pulsing-dot{position:absolute;right:32px;top:50%;transform:translateY(-50%)}@media(max-width:768px){.nozzle-select{min-height:44px}}.nozzle-dropdown{border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1);left:var(--dropdown-left,-9999px);max-height:var(--dropdown-max-height,200px);opacity:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:var(--dropdown-top,-9999px);transform:translateY(-4px);transition:opacity .15s ease-in-out,transform .15s ease-in-out;width:var(--dropdown-width,auto);z-index:760}.nozzle-dropdown.visible{opacity:1;transform:translateY(0)}.nozzle-dropdown.open-up{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.nozzle-dropdown.open-down{border-top-left-radius:1rem;border-top-right-radius:1rem}.nozzle-dropdown::-webkit-scrollbar{width:8px}.nozzle-dropdown .nozzle-option,.nozzle-dropdown .option,.nozzle-dropdown .select-option{cursor:pointer;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out;white-space:nowrap}.nozzle-dropdown .no-options{font-style:italic}.nozzle-dropdown .loading-spinner{font-size:14px;position:absolute;right:32px}.nozzle-dropdown{background:#fff;border:1px solid #e5e7eb;color:#1f2937}.nozzle-dropdown .nozzle-option,.nozzle-dropdown .option,.nozzle-dropdown .select-option{align-items:center;border:1px solid transparent;color:#1f2937;display:flex;margin:0;min-height:44px;padding:.75rem 1rem;transition:background-color .15s ease-in-out,color .15s ease-in-out,box-shadow .15s ease-in-out}.nozzle-dropdown .nozzle-option:hover:not(.selected),.nozzle-dropdown .option:hover:not(.selected),.nozzle-dropdown .select-option:hover:not(.selected){background-color:#f8f8fa}.nozzle-dropdown .nozzle-option.selected,.nozzle-dropdown .option.selected,.nozzle-dropdown .select-option.selected{background-color:#dbeafe;border-color:#8bb6fa;box-shadow:0 0 0 2px rgba(59,130,246,.25);color:#1f2937;font-weight:500}.nozzle-dropdown .nozzle-option+.nozzle-option,.nozzle-dropdown .nozzle-option+.option,.nozzle-dropdown .nozzle-option+.select-option,.nozzle-dropdown .option+.nozzle-option,.nozzle-dropdown .option+.option,.nozzle-dropdown .option+.select-option,.nozzle-dropdown .select-option+.nozzle-option,.nozzle-dropdown .select-option+.option,.nozzle-dropdown .select-option+.select-option{border-top:1px solid rgba(209,213,219,.6)}.nozzle-dropdown .no-options{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:44px;padding:.75rem 1rem;text-align:center}.nozzle-dropdown::-webkit-scrollbar-thumb{border-radius:.5rem}.nozzle-dropdown{min-width:100px}.nozzle-dropdown::-webkit-scrollbar{width:6px}.nozzle-dropdown::-webkit-scrollbar-track{background:#f9fafb;border-radius:.25rem}.nozzle-dropdown::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:.25rem}.nozzle-dropdown::-webkit-scrollbar-thumb:hover{background:#9ca3af}.main-view{height:100%;max-width:100%;min-height:0}.main-view,.scene-container{display:flex;flex-direction:column;overflow:hidden;width:100%}.scene-container{background:#1a1a1a;flex:1 1 auto;min-height:600px;position:relative}@supports(-webkit-touch-callout:none){.scene-container{min-height:50vh;transform:translateZ(0)}}.view-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:600px;position:relative;width:100%}.view-container.active{display:flex}.view-container.inactive{display:none}.tab-loading-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.3);color:#f9fafb;display:flex;flex-direction:column;gap:.75rem;inset:0;justify-content:center;position:absolute;text-align:center;z-index:790;z-index:650}.tab-loading-spinner{animation:spin 1s linear infinite;border:3px solid rgba(52,152,219,.3);border-radius:50%;border-top-color:#3498db;height:40px;margin-bottom:1rem;width:40px}.tab-loading-overlay p{color:#f9fafb;font-size:.9rem;font-weight:500;margin:0}.bottom-navigation{background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -1px 3px rgba(0,0,0,.05);gap:2px;height:60px;padding:0;position:sticky;z-index:500}.bottom-navigation,.nav-tab{align-items:center;display:flex;justify-content:center}.nav-tab{background:transparent;border:none;color:#6b7280;cursor:pointer;flex:1;flex-direction:column;font-size:.75rem;gap:4px;height:100%;max-width:200px;padding:8px;transition:all .15s ease}.nav-tab--split{align-items:stretch;display:flex;flex-direction:row;justify-content:stretch;padding:0;position:relative}.nav-tab--split .nav-tab__main{flex:1;flex-direction:column;gap:4px;padding:8px 10px}.nav-tab--split .nav-tab__main,.nav-tab--split .nav-tab__toggle{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;justify-content:center}.nav-tab--split .nav-tab__toggle{border-left:1px solid rgba(229,231,235,.3);width:38px}.nav-tab--split .nav-tab__dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:1rem 1rem 0 0;bottom:100%;box-shadow:0 -12px 24px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:2px;left:0;margin-bottom:6px;padding:6px;position:absolute;right:0;z-index:400}.nav-tab--split .nav-tab__dropdown button{background:transparent;border:none;border-radius:.5rem;color:#6b7280;font-size:.75rem;padding:6px 10px;text-align:left}.nav-tab--split .nav-tab__dropdown button:hover,.nav-tab:hover:not(.disabled){background:#f3f4f6;color:#1f2937}.nav-tab.active{background:#00003d;color:#fff;font-weight:500}.nav-tab--split:hover:not(.disabled) .nav-tab__main,.nav-tab--split:hover:not(.disabled) .nav-tab__toggle{background:#f3f4f6;color:#1f2937}.nav-tab--split.active .nav-tab__main,.nav-tab--split.active .nav-tab__toggle{background:#00003d;color:#fff}.nav-tab--split.active .nav-tab__toggle{border-left-color:hsla(0,0%,100%,.35)}.nav-tab.disabled{color:#9ca3af;cursor:not-allowed;opacity:.5}.nav-tab--split.disabled{pointer-events:none}.nav-icon{align-items:center;display:inline-flex;justify-content:center}@media(max-width:768px){.nav-tab{font-size:.7rem;padding:6px 4px}.nav-tab--split .nav-tab__main{padding:6px}.nav-tab--split .nav-tab__toggle{width:32px}.nav-icon{font-size:1rem}.bottom-navigation{height:55px}.model-info-item{gap:6px}.scene-container{flex:1 1 auto}.main-view{padding-bottom:env(safe-area-inset-bottom)}.bottom-navigation{bottom:0;position:sticky;z-index:500}}@supports(-webkit-touch-callout:none){@media(max-width:768px){.bottom-navigation{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff;position:sticky;z-index:600}}}.model-dimensions{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#1f2937;display:flex;font-size:.875rem;gap:.75rem;justify-content:center;padding:.5rem 1rem}.dimension-label{color:#6b7280;font-weight:500}.dimension-value{background:#fff;border:1px solid #e5e7eb;border-radius:.25rem;color:#1f2937;font-weight:600;padding:.25rem .5rem}.scaled-dimensions{color:#f39c12;font-size:.9em;font-weight:500}.model-info{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#1f2937;flex-wrap:wrap;font-size:.875rem;gap:1.5rem;padding:.5rem 1rem}.model-info,.model-info-item{align-items:center;display:flex}.model-info-item{gap:.5rem}.info-label{color:#6b7280;font-weight:500}.info-value{color:#1f2937;font-weight:600}.gcode-summary{align-items:flex-start;bottom:20px;display:flex;flex-direction:column;left:20px;position:absolute;z-index:760}.summary-toggle{align-items:center;background:#00003d;border:none;border-radius:25px;box-shadow:0 4px 6px rgba(0,0,0,.1);color:#fff;cursor:pointer;display:flex;font-size:1.2rem;gap:8px;height:50px;justify-content:center;min-width:50px;padding:0 16px;transition:all .3s ease;width:auto}.summary-toggle:hover{background:#2563eb;transform:scale(1.05)}.summary-content{animation:slideIn .3s ease-out;backdrop-filter:blur(10px);background:#fff;border:1px solid #e5e7eb;border-radius:1.25rem;box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);margin-top:12px;max-width:320px;min-width:280px;padding:16px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.summary-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.summary-header h3{align-items:center;color:#1f2937;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin:0}.close-btn,.summary-header h3 .icon{color:#6b7280}.close-btn{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:inline-flex;justify-content:center;padding:.25rem;transition:all .2s ease}.close-btn:hover{background:rgba(190,0,0,.1);color:#be0000}.summary-grid{display:grid;gap:12px;grid-template-columns:1fr;max-height:400px;overflow-y:auto;padding-right:4px}.summary-grid::-webkit-scrollbar{width:6px}.summary-grid::-webkit-scrollbar-track{background:#f9fafb;border-radius:.25rem}.summary-grid::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:.25rem}.summary-grid::-webkit-scrollbar-thumb:hover{background:#9ca3af}.summary-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;gap:12px;padding:8px 12px;transition:all .2s ease}.summary-item:hover{background:#f3f4f6;border-color:#9ca3af}.item-icon{align-items:center;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.item-content{flex:1;min-width:0}.item-label{color:#6b7280;font-size:.8rem;font-weight:500;margin-bottom:2px}.item-value{color:#1f2937;font-size:.9rem;font-weight:600;word-break:break-word}@media(max-width:768px){.gcode-summary{bottom:10px;left:10px}.summary-content{max-width:280px;min-width:260px;padding:12px}.summary-grid{gap:8px}.summary-item{padding:6px 10px}.item-icon{font-size:1rem;width:20px}.item-label{font-size:.75rem}.item-value{font-size:.85rem}}.gcode-summary.visible .summary-content{display:block}.toggle-icon{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.toggle-text{font-size:.8rem;font-weight:600;white-space:nowrap}.gcode-visual-preview{background:#1a1a1a;display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:clamp(520px,65vh,720px);overflow:hidden;position:relative;width:100%}@supports(-webkit-touch-callout:none){.gcode-visual-preview{min-height:50vh;overflow:hidden;position:relative;-webkit-overflow-scrolling:touch}}@media(max-width:768px){.gcode-visual-preview{height:auto;min-height:560px}}.gcode-preview-placeholder{align-items:center;background:#1a1a1a;color:#6b7280;display:flex;height:100%;justify-content:center}.placeholder-content{max-width:300px;text-align:center}.placeholder-icon{display:block;font-size:4rem;margin-bottom:1rem}.placeholder-content h3{color:#1f2937;margin-bottom:.5rem}.placeholder-content p{color:#6b7280;line-height:1.5}.placeholder-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.25rem}.placeholder-actions .download-btn,.placeholder-actions .preview-btn{border:1px solid transparent;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem .75rem;transition:all .15s ease-in-out}.placeholder-actions .download-btn{background:#00003d;border-color:#00003d;color:#fff}.placeholder-actions .download-btn:hover{background:#2563eb}.placeholder-actions .preview-btn{background:#f9fafb;border-color:#e5e7eb;color:#1f2937}.placeholder-actions .preview-btn:hover{background:#f3f4f6}.canvas-container{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;height:100%;max-height:none;min-height:clamp(480px,60vh,680px);overflow:hidden;position:relative;width:100%}@supports(-webkit-touch-callout:none){.canvas-container{transform:translateZ(0)}}@media(max-width:768px){.canvas-container{height:auto;min-height:480px;width:100%}}.gcode-canvas{backface-visibility:hidden;display:block;flex:1 1 auto;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}@supports(-webkit-touch-callout:none){.gcode-canvas{-webkit-backface-visibility:hidden;transform:translateZ(0)}}.gcode-visual-toolbar{align-items:center;align-self:flex-start;display:flex;justify-content:flex-start;pointer-events:auto;position:absolute;right:16px;top:16px}@media(max-width:768px){.gcode-visual-toolbar{flex-wrap:wrap;gap:.5rem}}.gcode-visual-toggle{align-items:center;background:rgba(249,250,251,.65);border:1px solid rgba(229,231,235,.4);border-radius:1rem;color:#1f2937;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;transition:background .15s ease-in-out,border-color .15s ease-in-out,color .15s ease-in-out}.gcode-visual-toggle span{pointer-events:none}.gcode-visual-toggle:hover{background:rgba(249,250,251,.9);border-color:#9ca3af}.gcode-visual-toggle.is-active{background:hsla(0,0%,100%,.18);border-color:#fff;color:#fff}.mobile-layer-slider{display:none}@media(max-width:768px){.mobile-layer-slider{background:rgba(249,250,251,.85);border:1px solid rgba(229,231,235,.4);border-radius:1.25rem;display:block;margin:.75rem;padding:.75rem;position:relative;z-index:320}.mobile-layer-controls{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.mobile-layer-toggle{align-items:center;background:rgba(249,250,251,.9);border:1px solid rgba(229,231,235,.4);border-radius:1rem;color:#1f2937;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem .75rem}.mobile-layer-toggle.active{background:rgba(0,0,61,.15);border-color:#00003d;color:#00003d}.mobile-layer-toggle:hover{border-color:#9ca3af}.mobile-layer-values{color:#1f2937;flex:1;font-size:.875rem;font-weight:600;text-align:center}.mobile-layer-sliders{display:grid;gap:.5rem;grid-template-columns:1fr}.mobile-layer-sliders input[type=range]{accent-color:#00003d;background:rgba(229,231,235,.2);border-radius:.25rem;height:8px;width:100%}}@media(max-width:480px){.mobile-layer-slider{padding:.5rem}.mobile-layer-controls{align-items:flex-start;flex-direction:column;gap:.5rem}.mobile-layer-values{font-size:.75rem;text-align:left;width:100%}.mobile-layer-sliders input[type=range]{height:6px}}.loading-overlay{color:#bdc3c7}.loading-spinner{border:4px solid rgba(52,73,94,.5);border-top-color:#3498db}.loading-text{color:#bdc3c7;font-size:.9375rem;margin-top:.75rem}.loading-progress{background:rgba(52,73,94,.5);border-radius:.5rem;margin-top:.75rem}.loading-progress-bar{background:#3498db}.loading-cancel-button{border:1px solid #7f8c8d;border-radius:.5rem;color:#bdc3c7;font-weight:500;padding:8px 16px;transition:all .2s ease}.loading-cancel-button:hover{background:rgba(190,0,0,.1);border-color:#be0000;color:#be0000}.error-overlay{align-items:center;background:rgba(26,26,26,.9);display:flex;inset:0;justify-content:center;position:absolute;z-index:650}.error-content{color:#a00;max-width:400px;padding:2rem;text-align:center}.error-icon{display:block;font-size:3rem;margin-bottom:1rem}.error-content h3{color:#a00;margin-bottom:.5rem}.error-content p{color:#960000;line-height:1.4}.text-overlay{backdrop-filter:blur(10px);background:rgba(0,0,0,.6);border:1px solid #34495e;border-radius:.5rem;bottom:80px;display:flex;flex-direction:column;left:20px;position:fixed;right:20px;top:100px;z-index:790}.text-overlay-header{align-items:center;background:rgba(44,62,80,.9);border-bottom:1px solid #34495e;border-radius:.5rem 8px 0 0;color:#f9fafb;display:flex;flex-shrink:0;font-size:.9rem;font-weight:600;justify-content:space-between;padding:12px 16px}.text-overlay-header button{align-items:center;background:transparent;border:1px solid #7f8c8d;border-radius:.25rem;color:#bdc3c7;cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;order:1;transition:all .2s ease;width:24px}.text-overlay-header button:hover{background:#be0000;border-color:#be0000;color:#fff}.text-overlay-header span{flex:1;order:2;text-align:center}.header-left{align-items:center;display:flex;flex:1;gap:15px}.header-left span{color:#f9fafb;font-size:.9rem;font-weight:600;text-align:left}.load-controls{display:flex;gap:8px}.load-btn{align-items:center;background:#3498db;border:1px solid #2980b9;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:500;height:24px;justify-content:center;min-width:36px;padding:4px 8px;transition:all .2s}.load-btn:hover:not(:disabled){background:#2980b9;border-color:#1f5f8b}.load-btn:disabled{background:#7f8c8d;border-color:#6c7b7d;cursor:not-allowed;opacity:.6}.text-overlay-controls{align-items:center;background:rgba(52,73,94,.9);border-bottom:1px solid #2c3e50;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:10px 15px}.control-buttons{display:flex;gap:10px}.control-buttons .control-btn{background:#95a5a6;border:1px solid #7f8c8d;border-radius:.25rem;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.control-buttons .control-btn:hover{background:#7f8c8d;border-color:#6c7b7d}.control-buttons .control-btn.active{background:#3498db;border-color:#2980b9}.control-buttons .control-btn.load-more{background:#27ae60;border-color:#229954}.control-buttons .control-btn.load-more:hover{background:#229954;border-color:#1e8449}.control-buttons .control-btn:disabled{background:#7f8c8d;border-color:#6c7b7d;color:#bdc3c7;cursor:not-allowed;transform:none}.display-info{color:#bdc3c7;font-size:14px;font-weight:500;text-align:right}.text-overlay-content{flex:1;overflow:auto;padding:16px}.gcode-text-container{display:flex;gap:0}.line-numbers{background:#34495e;border-right:1px solid #2c3e50;min-width:60px;padding:16px 8px 16px 16px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.line-numbers pre{color:#7f8c8d;font-family:Courier New,monospace;font-size:13px;line-height:1.5;margin:0;white-space:pre-wrap;word-wrap:break-word;background:transparent}.gcode-text{flex:1;padding:16px 16px 16px 8px}.text-overlay-content pre{color:#0bdc73;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4;margin:0;white-space:pre-wrap;word-wrap:break-word}.text-overlay-content::-webkit-scrollbar{width:8px}.text-overlay-content::-webkit-scrollbar-track{background:#2c3e50;border-radius:.25rem}.text-overlay-content::-webkit-scrollbar-thumb{background:#7f8c8d;border-radius:.25rem}.text-overlay-content::-webkit-scrollbar-thumb:hover{background:#95a5a6}.large-file-dialog-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.7);display:flex;inset:0;justify-content:center;position:fixed;z-index:790}.large-file-dialog{animation:dialogSlideIn .3s ease-out;background:#1a1a1a;border:1px solid #34495e;border-radius:1rem;box-shadow:0 20px 40px rgba(0,0,0,.3);max-width:400px;width:90%}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header{border-bottom:1px solid #34495e;margin-bottom:16px;padding:20px 20px 0}.dialog-header h3{align-items:center;color:#f9fafb;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin:0 0 16px}.dialog-header h3 .icon svg{display:block}.dialog-content{padding:0 20px 20px}.dialog-content p{color:#7f8c8d;line-height:1.5;margin:0 0 20px}.dialog-actions,.dialog-footer{border-top:1px solid #34495e;display:flex;gap:12px;justify-content:flex-end;padding:20px}.dialog-actions .btn,.dialog-footer .btn{border:1px solid transparent!important;border-radius:.5rem!important;cursor:pointer!important;font-size:.85rem!important;font-weight:500!important;padding:8px 16px!important;transition:all .2s ease!important}.dialog-actions .btn--ghost,.dialog-footer .btn--ghost{background:rgba(52,73,94,.3)!important;border-color:rgba(52,73,94,.6)!important;color:#f9fafb!important}.dialog-actions .btn--ghost:hover,.dialog-footer .btn--ghost:hover{background:rgba(52,73,94,.5)!important;border-color:rgba(52,73,94,.8)!important}.dialog-actions .btn--primary,.dialog-footer .btn--primary{background:#00003d!important;border-color:#00003d!important;color:#fff!important}.dialog-actions .btn--primary:hover:not(:disabled),.dialog-footer .btn--primary:hover:not(:disabled){background:#aa0002!important}@media(max-width:768px){.text-overlay{bottom:10px;left:10px;right:10px;top:50px}.text-overlay-content{padding:12px}.text-overlay-content pre{font-size:.75rem}}.line-type-colors-panel{backdrop-filter:blur(10px);background:rgba(44,62,80,.95);border:1px solid #34495e;border-radius:.5rem;color:#f9fafb;margin:10px 20px;padding:16px}.panel-header{align-items:center;border-bottom:1px solid #34495e;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.panel-header h4{color:#f9fafb;font-size:1rem;font-weight:600;margin:0}.toggle-switch{cursor:pointer;display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:#7f8c8d;border-radius:2rem;cursor:pointer;inset:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;width:18px}input:checked+.slider{background-color:#3498db}input:checked+.slider:before{transform:translateX(26px)}.color-controls{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.color-control{background:rgba(52,73,94,.5);border:1px solid #34495e;border-radius:.375rem;justify-content:space-between;padding:8px 12px}.color-control,.color-label{align-items:center;display:flex}.color-label{cursor:pointer;flex:1;gap:8px}.color-preview{border:2px solid #f9fafb;border-radius:.25rem;box-shadow:0 2px 4px rgba(0,0,0,.2);height:20px;width:20px}.type-name{color:#f9fafb;font-size:.85rem;font-weight:500}.color-picker{background:transparent;border:none;border-radius:.25rem;cursor:pointer;height:32px;padding:0;width:32px}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:.25rem;box-shadow:0 2px 4px rgba(0,0,0,.2)}.panel-footer{border-top:1px solid #34495e;display:flex;justify-content:center;padding-top:12px}.reset-colors-btn{align-items:center;background:#be0000;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:8px 16px;transition:all .2s}.reset-colors-btn:hover{background:#960000;transform:translateY(-1px)}.reset-colors-btn:active{transform:translateY(0)}@media(max-width:768px){.line-type-colors-panel{margin:10px;padding:12px}.color-controls{gap:8px;grid-template-columns:1fr}.color-control{padding:6px 10px}.panel-header h4{font-size:.9rem}.type-name{font-size:.8rem}}.loading-indicator{color:#95a5a6;font-size:12px;font-weight:500;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.layer-slider-container.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.layer-slider-container.disabled .slider-marker{cursor:not-allowed}.layer-slider-container.disabled .single-layer-btn{cursor:not-allowed;opacity:.5}.layer-slider-container{max-height:calc(100% - 40px);pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:320}.layer-slider,.layer-slider-container{align-items:center;display:flex;flex-direction:column;gap:12px}.layer-slider{pointer-events:auto}.slider-track{background:rgba(52,73,94,.3);border:1px solid rgba(52,73,94,.5);border-radius:4px;cursor:pointer;height:clamp(200px,40vh,400px);overflow:visible;position:relative;width:8px}.slider-range{background:linear-gradient(180deg,#3498db,#2980b9);border-radius:3px;left:0;pointer-events:none;position:absolute;right:0}.slider-marker{align-items:center;background:#f9fafb;border:2px solid #3498db;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.3);cursor:grab;display:flex;height:20px;justify-content:center;left:-6px;position:absolute;top:var(--slider-marker-top,0);transition:all .1s ease;width:20px;will-change:transform,top}.slider-marker:hover{box-shadow:0 4px 12px rgba(0,0,0,.4);transform:scale(1.1)}.slider-marker.dragging{box-shadow:0 6px 16px rgba(0,0,0,.5);cursor:grabbing;transform:scale(1.2)}.slider-marker.start-marker{border-color:#be0000}.slider-marker.end-marker{border-color:#27ae60}.slider-marker.single-mode{background:#3498db;border-color:#3498db;box-shadow:0 2px 8px rgba(52,152,219,.4)}.slider-marker.single-mode:hover{background:#2980b9;border-color:#2980b9}.marker-label{backdrop-filter:blur(10px);background:rgba(44,62,80,.95);border:1px solid #34495e;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.3);color:#f9fafb;font-size:.75rem;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;right:30px;transform:translateX(10px);transition:all .1s ease;white-space:nowrap;will-change:opacity,transform}.slider-marker.dragging .marker-label,.slider-marker:hover .marker-label{opacity:1;transform:translateX(0)}.height-value{color:#3498db;font-weight:600;margin-right:4px}.layer-number{color:#bdc3c7}.layer-info{backdrop-filter:blur(10px);background:rgba(44,62,80,.95);border:1px solid #34495e;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.3);color:#f9fafb;font-size:.8rem;padding:8px 12px;text-align:center}.layer-count{color:#3498db;font-weight:600;margin-bottom:2px}.total-layers{color:#bdc3c7;font-size:.75rem}.single-layer-btn{align-items:center;backdrop-filter:blur(10px);background:rgba(44,62,80,.95);border:1px solid #34495e;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.3);color:#f9fafb;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:8px 12px;pointer-events:auto;transition:all .2s ease}.single-layer-btn:hover{background:rgba(52,73,94,.95);border-color:#3498db;box-shadow:0 4px 12px rgba(0,0,0,.4);transform:translateY(-1px)}.single-layer-btn.active{background:rgba(52,152,219,.2);border-color:#3498db;color:#3498db}.single-layer-btn.active:hover{background:rgba(52,152,219,.3)}.btn-icon{font-size:1.2rem;line-height:1}.btn-text{font-size:.7rem;font-weight:500;line-height:1;text-align:center}@media(max-width:768px){.layer-slider-container{display:none;gap:12px;right:10px}.slider-track{height:250px;width:6px}.slider-marker{height:16px;left:-5px;width:16px}.marker-label{font-size:.7rem;padding:4px 8px;right:25px}.layer-info{font-size:.75rem}.layer-info,.single-layer-btn{padding:6px 10px}.btn-icon{font-size:1rem}.btn-text{font-size:.65rem}}@media(max-width:480px){.layer-slider-container{gap:8px;right:5px}.slider-track{height:200px;width:4px}.slider-marker{height:12px;left:-4px;width:12px}.marker-label{font-size:.65rem;padding:3px 6px;right:20px}.layer-info{font-size:.7rem}.layer-info,.single-layer-btn{padding:4px 8px}.btn-icon{font-size:.9rem}.btn-text{font-size:.6rem}}@keyframes cc-pulsing-dot{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}to{opacity:.6;transform:scale(.9)}}.pulsing-dot{animation:cc-pulsing-dot 1.5s ease-in-out infinite;background-color:#3b82f6;border-radius:50%;height:9px;width:9px}.app{background:#f5f7fa;color:#1f2937;display:flex;flex-direction:column;height:100%;min-height:100%}.app.standalone-mode{min-height:100dvh}.app-header{backdrop-filter:blur(10px);background:rgba(0,0,0,.2);padding:1rem 2rem;text-align:center}.app-header h1{font-size:2.5rem;font-weight:300;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.app-main{flex:1 1 auto;gap:1rem;margin:0 auto;max-width:1400px;padding-bottom:1rem;width:100%}.app-main,.left-column{align-items:flex-start;display:flex;max-height:none;min-height:0}.left-column{flex:0 0 380px;flex-direction:column;gap:12px;max-width:380px;width:380px}.left-panel{background:#fff;border:1px solid #e5e7eb;border-radius:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);flex:1 1 auto;height:auto;max-height:calc(100% - 232px);min-height:650px;overflow:hidden;padding:0}.left-panel-grid{border-radius:15px;display:grid;grid-template-rows:auto 1fr auto;height:100%;min-height:0}.left-panel-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:1.25rem 1.25rem 0 0;padding:1rem 1.25rem;position:sticky;top:0;z-index:200}.left-panel-body{min-height:0;overflow:auto;overflow-x:hidden;padding:1rem 1.25rem;scrollbar-color:#d1d5db #f9fafb;scrollbar-width:thin}.left-panel-body::-webkit-scrollbar{width:10px}.left-panel-body::-webkit-scrollbar-track{background:#f9fafb;border-radius:.5rem}.left-panel-body::-webkit-scrollbar-thumb{background:#d1d5db;background-clip:padding-box;border:2px solid transparent;border-radius:.5rem}.left-panel-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.left-panel-footer{background:#f9fafb;border-radius:0 0 1.25rem 1.25rem;border-top:1px solid #e5e7eb;bottom:0;padding:.75rem 1.25rem 1rem;position:sticky;z-index:200}.right-panel{align-self:center;background:#fff;border:1px solid #e5e7eb;border-radius:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);min-height:500px;overflow:hidden;width:100%}.right-column,.right-panel{display:flex;flex:1 1 auto;flex-direction:column}.right-column{align-items:flex-start;gap:12px;max-height:none;min-width:0}.info-banner{align-items:flex-start;background-color:#fff;background:#fff;border:1px solid #d1d5db;border-radius:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);color:#1f2937;display:flex;flex-direction:column;gap:.5rem;padding:1rem;width:100%}.info-banner__title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.info-banner__text{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.info-banner--square{justify-content:center;min-height:320px}.info-banner--square .info-banner__text{max-width:28ch}.top-banner{margin:0 auto 20px;max-width:728px}.bottom-banner{margin:20px auto 0;max-width:728px}@media(min-width:1600px){.bottom-banner,.right-panel,.top-banner{max-width:1200px}}@media(min-width:700px)and (max-width:1000px){.app-main{gap:1.5rem;max-width:100%;padding:1.5rem}.left-column{flex:0 0 340px}.left-banner{max-width:340px}.info-banner--square{min-height:280px}.right-panel{aspect-ratio:4/3}.bottom-banner,.top-banner{max-width:600px;width:100%}}@media(max-width:900px)and (min-height:900px){.app-main{flex-direction:column}.app-main,.left-column,.right-column{max-height:none}.left-column{flex:0 0 auto;min-height:0}.right-column{flex:1 1 auto}.right-column,.right-panel{min-height:600px}}@media(max-width:768px){.app-main{flex-direction:column;gap:1rem;max-height:none;max-width:100%;width:100%}.left-column,.left-panel,.right-column{flex:none;position:relative;width:100%}.left-column{height:auto;max-height:none}.right-panel{align-self:stretch;flex:none;min-height:500px;width:100%}.left-banner{height:250px;margin:0 auto;width:250px}.left-panel,.left-panel-body{height:auto;max-height:none}.left-panel-body{-webkit-overflow-scrolling:touch}.top-banner{display:none}.bottom-banner{height:250px;margin:20px auto 0;width:250px}}@supports(-webkit-touch-callout:none){@media(max-width:768px){.app-main{min-height:100%}}}@media(max-width:768px){.left-panel-body,.left-panel-footer,.left-panel-header{padding:16px}}@media(min-width:768px)and (max-width:1024px){.left-panel-body,.left-panel-footer,.left-panel-header{padding:16px;padding-min-height:-webkit-fill-available;padding-display:flex;padding-flex-direction:column}.left-panel-body .left-column,.left-panel-footer .left-column,.left-panel-header .left-column{order:1;position:relative}.left-panel-body .right-column,.left-panel-footer .right-column,.left-panel-header .right-column{clear:both;margin-top:0;order:2;position:relative}}.a-placeholder{background:transparent;border:none;display:block;margin:0 auto;max-width:300px;min-height:100px;padding:0}@media(min-width:1032px){.a-placeholder{max-width:468px!important;min-height:60px!important}}@media(min-width:1292px){.a-placeholder{max-width:728px!important;min-height:90px!important}}*{box-sizing:border-box;margin:0;padding:0}code{font-family:Monaco,Menlo,Ubuntu Mono,monospace}button{border:none;cursor:pointer}button,input,select{font-family:inherit;outline:none}.visually-hidden{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.skip-link{background:#00003d;border-radius:.5rem;color:#fff;left:6px;padding:8px;position:absolute;text-decoration:none;top:-40px;z-index:790}.skip-link:focus{top:6px}.loading-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.3);color:#fff;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;position:absolute;text-align:center;z-index:790}.loading-spinner{animation:spin 1s linear infinite;border:3px solid rgba(31,41,55,.3);border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:1rem;width:40px}.loading-text{font-size:1rem;font-weight:500;margin-bottom:.75rem}.loading-text:last-child{margin-bottom:0}.loading-progress{background:hsla(0,0%,100%,.2);border-radius:2px;height:4px;overflow:hidden;width:200px}.loading-progress-bar{background:#3b82f6;border-radius:2px;height:100%;transition:width .3s ease}.loading-cancel-button{background:transparent;border:1px solid hsla(0,0%,100%,.6);border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;margin-top:1rem;padding:.5rem 1rem;transition:background .2s ease,color .2s ease}.loading-cancel-button:focus,.loading-cancel-button:hover{background:hsla(0,0%,100%,.2);color:#fff}.loading-cancel-button:active{background:hsla(0,0%,100%,.3)}.webgl-fallback{align-items:center;background:#fff;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;padding:32px;position:absolute;right:0;text-align:center;top:0;z-index:790}.webgl-fallback__title{color:#1f2937;font-size:24px;font-weight:600;margin-bottom:16px}.webgl-fallback__message{color:#6b7280;font-size:16px;line-height:1.5;margin-bottom:24px;max-width:400px}.webgl-fallback__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.error-boundary{align-items:center;background:#fff;bottom:0;display:flex;justify-content:center;left:0;padding:32px;position:absolute;right:0;top:0;z-index:790}.error-boundary__content{background-color:#fff;border:1px solid #e5e7eb;border-radius:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:1rem;max-width:500px;padding:1.5rem;text-align:center;width:100%}.error-boundary__content h2{color:#be0000;font-size:1.25rem;font-weight:600;margin:0;text-align:center}.error-boundary__content p{color:#6b7280;font-size:1rem;line-height:1.5;margin:0;text-align:center}.error-boundary__content button{align-items:center;border:1px solid transparent;border-radius:1rem;cursor:pointer;display:inline-flex;font-family:Helvetica Neue,Helvetica,Arial,"sans-serif";font-weight:500;gap:.5rem;justify-content:center;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.error-boundary__content button:disabled{box-shadow:none;cursor:not-allowed;opacity:1}.error-boundary__content button{background-color:#aa0001;border-color:transparent;color:#fff}.error-boundary__content button:hover:not(:disabled){background-color:#aa0002;color:#fff}.error-boundary__content button:disabled{background-color:#c24b4c;border-color:transparent;color:#fff}.error-boundary__content button{font-size:1rem;height:2.5rem;min-height:2.5rem;padding:0 1rem}@media(pointer:coarse){.error-boundary__content button{height:auto;min-height:max(2.5rem,44px)}}.error-boundary__content button{margin-top:.5rem;width:100%}.icon{align-items:center;display:inline-flex;justify-content:center;line-height:1}.icon--sm{font-size:16px}.icon--md{font-size:20px}.icon--lg{font-size:24px}.icon--xl{font-size:32px}.btn{align-items:center;display:inline-flex;gap:8px}.btn .icon{flex-shrink:0}@media(max-width:768px){.btn{min-height:44px;padding:12px 16px}input[type=file],input[type=file] button,input[type=text],input[type=text] button,select,select button,textarea,textarea button{min-height:44px;padding:12px}.loading-overlay{padding:24px}.loading-overlay .loading-spinner{height:48px;width:48px}.error-boundary-fallback,.webgl-fallback{padding:24px}.error-boundary-fallback button,.webgl-fallback button{min-height:44px;padding:12px 16px}}