:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1b1f24;--panel-bg:#23272e;--panel-border:#343a42;--text:#e8eaed;--text-dim:#9aa2ad;--accent:#c08a2e;--accent-hover:#dba74a;--on-accent:#1a1204;--danger:#ff5c5c;--success:#3ecf6e;--warning:#e8b53a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}h1,h2,h3{margin:0 0 .5rem;font-weight:600}label{color:var(--text-dim);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}input,select,button{font:inherit;color:var(--text);border:1px solid var(--panel-border);background:#2c313a;border-radius:6px;padding:.5rem .6rem}input[type=range]{background:0 0;padding:0}button{cursor:pointer;background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.6;cursor:not-allowed}a{color:var(--accent-hover)}details>summary{cursor:pointer;color:var(--text-dim);margin:.5rem 0;font-size:.85rem}.app{flex-direction:column;min-height:100%;display:flex}.app-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:.9rem 1rem;display:flex}.app-header h1{letter-spacing:.2px;align-items:center;gap:.8rem;font-size:1.35rem;display:flex}.app-header h1 img{flex:none;width:46px;height:46px}.auth-logo{align-self:center;width:96px;height:96px}.auth-logo+h2{text-align:center}.banner-error{color:var(--danger);background:#3a1f22;padding:.5rem 1rem;font-size:.85rem}.app-main{flex:1;gap:1rem;min-height:500px;padding:1rem;display:flex}@media (width<=800px){.app-main{flex-direction:column}}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;padding:1rem}.panel-viewer{flex-direction:column;flex:1.2;gap:.75rem;min-width:0;display:flex}@media (width>=801px){.panel-viewer{align-self:flex-start;max-height:calc(100dvh - 2rem);position:sticky;top:1rem;overflow-y:auto}.panel-viewer .viewer-wrap,.panel-viewer .gcode-viewer-wrap{flex:none;height:clamp(360px,52vh,800px);min-height:0}}.panel-settings{flex-direction:column;flex:1;gap:.5rem;min-width:320px;display:flex}.uploader{border:2px dashed var(--panel-border);text-align:center;cursor:pointer;border-radius:8px;flex-direction:column;gap:.25rem;min-width:0;padding:1rem;display:flex;overflow:hidden}.uploader strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.uploader-drag{border-color:var(--accent);background:#2a1f3a}.uploader-status{color:var(--text-dim);font-size:.8rem}.viewer-wrap{border-radius:8px;flex:1;min-height:320px;position:relative;overflow:hidden}.viewer{position:absolute;inset:0}.viewer canvas{display:block}.viewer-placeholder{color:var(--text-dim);pointer-events:none;text-align:center;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.viewer-loading{color:var(--text-dim);pointer-events:none;background:#1a1d238c;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.85rem;display:flex;position:absolute;inset:0}.viewer-loading-spinner{border:3px solid var(--panel-border);border-top-color:var(--accent);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite viewer-loading-spin}.filament-badge{color:var(--text);background:#14171bc7;border:1px solid #ffffff26;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;font-weight:600;position:absolute;top:10px;left:10px}@keyframes viewer-loading-spin{to{transform:rotate(360deg)}}.viewer-legends{flex-direction:column;gap:.4rem;display:flex;position:absolute;bottom:10px;left:10px}.viewer-legend{color:var(--text);background:#14171bc7;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.78rem;display:flex}.viewer-legend-swatch{border-radius:999px;width:.7rem;height:.7rem}.belt-contact-swatch{background:#fff;box-shadow:0 0 0 1px #fff6}.support-swatch{background:#ff2fd6}.field-group{flex-direction:column;gap:.6rem;margin-bottom:.5rem;display:flex}.field-group select[size]{height:auto}.checkbox-label{align-items:center;color:var(--text)!important;flex-direction:row!important;gap:.5rem!important}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.advanced-process summary{margin:.2rem 0}.advanced-settings{border-top:1px solid var(--panel-border);margin-top:.5rem;padding-top:.5rem}.advanced-search{position:relative}.advanced-search input{width:100%}.advanced-results{border:1px solid var(--panel-border);border-radius:6px;max-height:220px;margin:.3rem 0 0;padding:0;list-style:none;overflow-y:auto}.advanced-results li button{text-align:left;border:none;border-bottom:1px solid var(--panel-border);width:100%;color:var(--text);background:0 0;border-radius:0;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;font-weight:400;display:flex}.advanced-results li:last-child button{border-bottom:none}.advanced-key{color:var(--text-dim);font-family:monospace;font-size:.75rem}.advanced-overrides{border-collapse:collapse;width:100%;margin-top:.6rem;font-size:.85rem}.advanced-overrides td{vertical-align:middle;padding:.3rem}.advanced-overrides td:last-child{width:1%}.advanced-overrides button{color:var(--danger);background:0 0;border:none;padding:.2rem .4rem}.job-panel{border-top:1px solid var(--panel-border);flex-direction:column;gap:.6rem;margin-top:.5rem;padding-top:.75rem;display:flex}.slice-button{width:100%;padding:.7rem;font-size:1rem}.job-hint{text-align:center;color:var(--text-dim);margin-top:-.3rem;font-size:.8rem}.status-badge{text-transform:uppercase;letter-spacing:.03em;background:#3a3f47;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.status-succeeded{color:var(--success);background:#1f3a28}.status-failed{color:var(--danger);background:#3a1f22}.status-running,.status-queued{color:var(--warning);background:#3a331f}.job-progress{background:#2c313a;border-radius:6px;margin-top:.4rem;position:relative;overflow:hidden}.job-progress-bar{background:var(--accent);height:8px;transition:width .3s}.job-progress-message{color:var(--text-dim);padding:.2rem 0;font-size:.8rem}.job-result{align-items:center;gap:.75rem;margin-top:.4rem;display:flex}.download-button{background:var(--accent);color:var(--on-accent);border-radius:6px;padding:.5rem .8rem;font-weight:600;text-decoration:none;display:inline-block}.send-to-printer{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.job-error{color:var(--danger);margin-top:.3rem;font-size:.85rem}.job-history ul{flex-direction:column;gap:.3rem;margin:.3rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.job-history li{align-items:center;gap:.5rem;display:flex}.job-history-time{color:var(--text-dim)}.job-delete{color:var(--danger);margin-left:auto}.printer-manage-row{flex-direction:column!important;align-items:stretch!important;gap:.4rem!important}.printer-manage-header{align-items:center;gap:.5rem;display:flex}.printer-manage-header span{flex:1}.printer-settings-form{border-top:1px solid var(--panel-border);margin-top:.2rem;padding-top:.5rem}.test-connection{border-top:1px solid var(--panel-border);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.2rem;padding-top:.5rem;display:flex}.settings-collapsible{margin-bottom:.5rem}.settings-collapsible summary{color:var(--text);margin:.5rem 0;font-size:1.1rem;font-weight:600}.material-update-actions{align-items:center;gap:.6rem;display:flex}.rename-form{flex-wrap:wrap;align-items:center;gap:.4rem;width:100%;display:flex}.rename-form input{flex:1;min-width:0}.saved-printers,.saved-profile-picker{border-bottom:1px solid var(--panel-border);flex-direction:column;gap:.4rem;margin-bottom:.4rem;padding-bottom:.6rem;display:flex}.dimensions-readout{text-align:center;color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.85rem}.scale-controls{border-top:1px solid var(--panel-border);flex-direction:column;gap:.6rem;padding-top:.6rem;display:flex}.scale-axes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.scale-axes input{width:100%}.toast{border:1px solid var(--panel-border);z-index:100;background:#2c313a;border-radius:10px;flex-direction:column;gap:.75rem;max-width:min(560px,100vw - 2rem);padding:1rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.toast-message{font-size:.9rem}.toast-actions{justify-content:flex-end;gap:.5rem;display:flex}.toast-dismiss{border:1px solid var(--panel-border);color:var(--text-dim);background:0 0}.toast-dismiss:hover:not(:disabled){background:#363c46}.preview-button{border:1px solid var(--panel-border);color:var(--text);background:#2c313a}.preview-button:hover:not(:disabled){background:#363c46}.link-button{color:var(--accent-hover);background:0 0;border:none;padding:0;font-weight:400;text-decoration:underline}.link-button:hover:not(:disabled),.link-button:active:not(:disabled),.link-button:focus-visible{background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 3px var(--accent);text-decoration:none}.link-button.danger-text:hover:not(:disabled),.link-button.danger-text:active:not(:disabled),.link-button.danger-text:focus-visible{background:var(--danger);box-shadow:0 0 0 3px var(--danger);color:#fff!important}.sample-model-option:hover:not(:disabled) .sample-model-name,.sample-model-option:hover:not(:disabled) .sample-model-description,.sample-model-option:active:not(:disabled) .sample-model-name,.sample-model-option:active:not(:disabled) .sample-model-description,.sample-model-option:focus-visible .sample-model-name,.sample-model-option:focus-visible .sample-model-description{color:var(--on-accent);text-decoration:none}.gcode-viewer-wrap{border-radius:8px;flex:1;min-height:320px;position:relative;overflow:hidden}.gcode-viewer{position:absolute;inset:0}.gcode-viewer canvas{display:block}.gcode-mode-toggle{background:#00000059;border-radius:8px;gap:.3rem;padding:.25rem;display:flex;position:absolute;top:.6rem;right:.6rem}.gcode-mode-toggle button{color:var(--text-dim);background:0 0;border:none;border-radius:6px;padding:.3rem .6rem;font-size:.8rem}.gcode-mode-toggle button.active{background:var(--accent);color:var(--on-accent)}.gcode-layer-slider{color:var(--text-dim);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.gcode-layer-slider input[type=range]{flex:1}.gcode-layer-slider span{font-variant-numeric:tabular-nums;white-space:nowrap}.gcode-actions{align-items:center;gap:.75rem;display:flex}.auth-gate{justify-content:center;align-items:center;min-height:100%;padding:1.5rem;display:flex}.auth-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:.75rem;width:min(420px,100%);padding:1.5rem;display:flex}.auth-copy{color:var(--text-dim);font-size:.9rem}.auth-hint{color:var(--text-dim);font-size:.8rem}.auth-choice-list{flex-direction:column;gap:.5rem;display:flex}.auth-form{flex-direction:column;gap:.6rem;display:flex}.auth-form label{color:var(--text-dim);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.auth-form-actions{align-items:center;gap:.75rem;display:flex}.settings-menu{position:relative}.settings-gear{border:1px solid var(--panel-border);color:var(--text);background:0 0;border-radius:6px;padding:.4rem .6rem;font-size:1.1rem;line-height:1}.settings-gear:hover{background:#363c46}.settings-panel{background:var(--panel-bg);border:1px solid var(--panel-border);z-index:50;border-radius:8px;flex-direction:column;gap:.5rem;width:260px;padding:.75rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 24px #0006}.api-key-row{border:1px solid var(--panel-border);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;display:flex}.api-key-secret{font-family:ui-monospace,monospace;font-size:.85rem}.settings-panel.wide{width:min(380px,100vw - 2rem)}.settings-status{color:var(--text-dim);font-size:.85rem}.sample-models-list{flex-direction:column;gap:.5rem;display:flex}.sample-model-option{text-align:left;width:100%;border-bottom:1px solid var(--panel-border)!important;flex-direction:column!important;align-items:flex-start!important;gap:.1rem!important;padding:.4rem 0!important;text-decoration:none!important;display:flex!important}.sample-model-option:last-of-type{border-bottom:none!important}.sample-model-option:disabled{opacity:.6}.sample-model-name{color:var(--accent-hover);font-size:.9rem;text-decoration:underline}.sample-model-description{color:var(--text-dim);font-size:.75rem}.danger-text{color:var(--danger)!important}.danger-button{background:var(--danger);color:#fff;border:none}.danger-button:hover:not(:disabled){filter:brightness(1.1)}.filament-select-label-row{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.filament-slot-color-input{border:1px solid var(--panel-border);background:0 0;border-radius:6px;flex-shrink:0;width:1.7rem;height:1.7rem;padding:0}.color-preset-row{flex-wrap:wrap;gap:.35rem;margin-top:-.2rem;display:flex}.color-preset-swatch{border:1px solid var(--panel-border);cursor:pointer;border-radius:5px;width:1.3rem;height:1.3rem;padding:0}.color-preset-swatch.selected{border:2px solid var(--accent-hover)}.filament-slot-row{border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;gap:.4rem;margin-bottom:.6rem;padding:.6rem;display:flex}.nozzle-diameter-global,.nozzle-diameter-per-slot{flex-wrap:wrap;flex-direction:row!important}.nozzle-diameter-global label,.nozzle-diameter-per-slot label{flex:1;min-width:140px}.filament-slot-remove{align-self:flex-start}.filament-slot-add{margin-bottom:.5rem}.nozzle-assignment{text-align:left}.nozzle-assignment-row{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;margin-top:.3rem;display:flex}.nozzle-assignment-row select{flex:1;min-width:40%}.nozzle-assignment-role-swatch{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:4px;flex-shrink:0;width:1.1rem;height:1.1rem}.nozzle-assignment-role-label{color:var(--text-dim);flex:auto;min-width:0;font-size:.8rem}.plate-picker-options{flex-direction:column;gap:.3rem;display:flex}.plate-picker-option{align-items:center;color:var(--text)!important;flex-direction:row!important;gap:.5rem!important;display:flex!important}.objects-button-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.object-picker{z-index:200;background:var(--bg);color:var(--text);padding:.9rem 1rem;padding-top:max(.9rem, env(safe-area-inset-top,0px));padding-bottom:max(.9rem, env(safe-area-inset-bottom,0px));flex-direction:column;gap:.7rem;display:flex;position:fixed;inset:0}.object-picker-header{justify-content:space-between;align-items:center;font-size:1.05rem;display:flex}.object-picker-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.object-picker-tab{border:1px solid var(--panel-border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .75rem;font-size:.85rem}.object-picker-tab.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.object-picker-scroll{flex-direction:column;flex:auto;gap:.9rem;min-height:0;display:flex;overflow-y:auto}.object-picker-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.5rem;display:grid}.object-tile{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text);text-align:center;cursor:pointer;border-radius:10px;flex-direction:column;gap:.2rem;min-width:0;padding:.4rem;display:flex;position:relative}.object-tile.off{opacity:.45}.object-tile.off .object-tile-name{text-decoration:line-through}.object-tile-thumb{aspect-ratio:1;object-fit:contain;background:#171a1f;border-radius:7px;width:100%}.object-tile-thumb.placeholder{color:var(--text-dim);place-items:center;display:grid}.object-tile-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.object-tile-size{color:var(--text-dim);font-size:.7rem}.object-tile-check{border:2px solid var(--panel-border);background:var(--bg);width:1.1rem;height:1.1rem;color:var(--on-accent);border-radius:5px;place-items:center;font-size:.7rem;display:grid;position:absolute;top:.55rem;left:.55rem}.object-tile-check.on{background:var(--accent);border-color:var(--accent)}.object-picker-belt{flex-direction:column;gap:.5rem;display:flex}.object-picker-row{border-top:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;flex-direction:row!important;display:flex!important}.belt-strip-wrap{flex-direction:column;gap:.3rem;display:flex}.belt-strip-caption{color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.75rem;display:flex}.belt-strip{border:1px solid var(--panel-border);background:repeating-linear-gradient(90deg,#0000 0 22px,#ffffff0a 22px 24px),#171a1f;border-radius:9px;align-items:stretch;height:4.6rem;padding:.5rem;display:flex;overflow-x:auto}.belt-block{background:var(--accent);min-width:1.6rem;color:var(--on-accent);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;flex:none;place-items:center;font-size:.75rem;display:grid;position:relative;overflow:hidden}.belt-block.dragging{cursor:grabbing;opacity:.85;outline:2px solid #fff}.belt-block:focus-visible{outline:2px solid #fff}.belt-block img{object-fit:contain;pointer-events:none;width:100%;height:100%}.belt-block-order{text-shadow:0 0 3px #000c;font-size:.65rem;font-weight:700;position:absolute;top:2px;left:4px}.object-picker-footer{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.object-picker-count{color:var(--text-dim);flex:auto;font-size:.85rem}.object-picker-secondary,.object-picker-done{cursor:pointer;border-radius:8px;padding:.55rem .9rem;font-weight:600}.object-picker-secondary{border:1px solid var(--panel-border);color:var(--text);background:0 0}.object-picker-done{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent)}.object-picker-done:disabled{opacity:.5;cursor:not-allowed}.field-error{color:var(--danger);font-size:.8rem}.toast-top{bottom:auto;top:max(1rem, env(safe-area-inset-top,0px))}.toast-top .toast-message p{margin:0 0 .4rem}.toast-top .toast-message p:last-child{margin-bottom:0}.profile-import-link-row{justify-content:flex-end;display:flex}.profile-import-help{color:var(--text-dim);margin:0;font-size:.85rem}.profile-import-result{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:9px;flex-direction:column;gap:.2rem;padding:.6rem;display:flex}.profile-import-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.3rem 0;font-size:.85rem;display:flex}.profile-import-tag{border:1px solid var(--panel-border);color:var(--text-dim);border-radius:999px;padding:0 .4rem;font-size:.65rem}.profile-import-ok{color:var(--success);margin-left:auto}.profile-import-note{color:var(--text-dim);font-size:.75rem}.profile-import-conflicts{color:var(--warning);flex-direction:column;align-items:flex-start;gap:.4rem;font-size:.85rem;display:flex}.profile-import-conflicts p{margin:0}.profile-import-heading{margin:.4rem 0 0}.profile-import-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-top:.4rem;font-size:.7rem}.position-panel-head{justify-content:space-between;align-items:center;display:flex}.position-slider{flex-direction:column!important;gap:.25rem!important;display:flex!important}.position-slider-label{justify-content:space-between;font-size:.85rem;display:flex}.position-slider input[type=range]{width:100%}.position-actions{flex-wrap:wrap;gap:.5rem;display:flex}.copies-row{justify-content:space-between;align-items:center;gap:.75rem;flex-direction:row!important;display:flex!important}.copies-stepper{border:1px solid var(--panel-border);border-radius:8px;align-items:stretch;display:inline-flex;overflow:hidden}.copies-stepper button{border:0;border-radius:0;padding:.35rem .8rem}.copies-stepper input{text-align:center;background:#171a1f;border:0;border-radius:0;width:3.2rem}.copies-note{color:var(--text-dim);font-size:.8rem}.copies-strip{border:1px solid var(--panel-border);background:#171a1f;border-radius:8px;height:2.6rem;padding:.35rem;display:flex;overflow-x:auto}.copies-block{background:var(--accent);min-width:1.4rem;color:var(--on-accent);border-radius:5px;flex:none;place-items:center;font-size:.7rem;display:grid}.confirm-backdrop{z-index:300;background:#0000008c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:12px;max-width:26rem;padding:1.1rem;box-shadow:0 10px 30px #00000080}.confirm-dialog p{margin:0 0 1rem}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.material-form{flex-direction:column;gap:.6rem;display:flex}.material-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.material-grid-3{grid-template-columns:repeat(3,1fr)}.material-grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=520px){.material-grid-3,.material-grid-4{grid-template-columns:1fr 1fr}}.material-section{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:.6rem 0 0;font-size:.8rem}.material-actions{justify-content:flex-end;gap:.6rem;margin-top:.8rem;display:flex}.material-links{flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin-top:.4rem;font-size:.85rem;display:flex}.material-scope{border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;gap:.35rem;min-width:0;margin:.75rem 0;padding:.4rem .75rem .6rem;display:flex}.material-scope legend{color:var(--text-dim);padding:0 .35rem;font-size:.85rem}.material-scope-option{overflow-wrap:anywhere;flex-direction:row;align-items:center;gap:.5rem;display:flex}.material-scope-option input{flex:none;width:auto}.position-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.axis-slider{touch-action:none;cursor:pointer;min-width:0;position:relative}.axis-slider-horizontal{flex:auto;height:28px;padding:0 9px}.axis-slider-vertical{flex:auto;align-self:center;width:28px;padding:9px 0}.axis-slider-track{background:#2c313a;border-radius:3px;position:relative}.axis-slider-horizontal .axis-slider-track{height:6px;top:11px}.axis-slider-vertical .axis-slider-track{width:6px;height:100%;left:11px}.axis-slider-handle{background:var(--accent);border:2px solid var(--on-accent);width:18px;height:18px;box-shadow:0 0 0 1px var(--panel-border);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.axis-slider-horizontal .axis-slider-handle{top:50%}.axis-slider-vertical .axis-slider-handle{left:50%}.axis-slider-handle:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.axis-slider-tick{background:var(--text-dim);position:absolute}.axis-slider-horizontal .axis-slider-tick{width:1px;height:12px;top:-3px}.axis-slider-vertical .axis-slider-tick{width:12px;height:1px;left:-3px}.axis-slider-locked{cursor:default;opacity:.5}.rotate-move-body{gap:.7rem}.rm-stage{grid-template-rows:minmax(260px,56vh) auto;grid-template-columns:56px minmax(0,1fr);gap:0 .25rem;min-width:0;display:grid}.rm-vslider{color:var(--text-dim);flex-direction:column;align-items:center;min-height:0;font-size:.72rem;display:flex}.rm-scene{border:1px solid var(--panel-border);background:#14171b;border-radius:8px;min-width:0;min-height:0;position:relative;overflow:hidden}.rm-canvas{position:absolute;inset:0}.rm-canvas canvas{display:block}.rm-hslider{color:var(--text-dim);flex-wrap:wrap;grid-column:2;align-items:center;gap:.5rem;min-width:0;font-size:.72rem;display:flex}.rm-hslider .axis-slider{min-width:8rem}.rm-readout{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.rm-chips{gap:4px;display:flex;position:absolute;top:8px;right:8px}.rm-chips button{border:1px solid var(--panel-border);color:var(--text-dim);cursor:pointer;background:#23272ed9;border-radius:999px;padding:.15rem .6rem;font-size:.72rem}.rm-chips button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.rm-overlay{text-align:center;color:var(--text);background:#14171b99;justify-content:center;align-items:center;padding:1rem;font-size:.9rem;display:flex;position:absolute;inset:0}.rm-error{color:var(--danger)}.rm-size{min-height:1.3em;color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.85rem}.rm-rotate{flex-direction:column;gap:.35rem;display:flex}.rm-row{grid-template-columns:11rem minmax(0,1fr) 5.5rem auto;align-items:center;gap:.6rem;display:grid}.rm-row-name{font-size:.88rem}.rm-row-name small{color:var(--text-dim);margin-left:.35rem}.rm-quarter{gap:.3rem;display:flex}.rm-quarter .preview-button{padding:.2rem .5rem}.angle-field{align-items:center;gap:.2rem;display:inline-flex}.angle-field input{text-align:right;font-variant-numeric:tabular-nums;width:4.4rem}.rm-tools{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rm-tools .preview-button.active{border-color:var(--accent);color:var(--accent-hover)}.rm-tools-note{margin:0}.rm-footer{border-top:1px solid var(--panel-border);flex-wrap:wrap;justify-content:space-between;gap:.6rem;padding-top:.6rem;display:flex}.rm-footer-left,.rm-footer-right{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=700px){.rm-stage{grid-template-rows:minmax(190px,34vh) auto;grid-template-columns:44px minmax(0,1fr)}.rm-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name angle quarter""slider slider slider";gap:.1rem .5rem}.angle-field input{width:3.6rem}.rm-row>:first-child{grid-area:name}.rm-row>:nth-child(2){grid-area:slider}.rm-row>:nth-child(3){grid-area:angle}.rm-row>:nth-child(4){grid-area:quarter}.rm-footer{background:var(--bg);position:sticky;bottom:0}}.face-picker{z-index:260}.fp-scene{border:1px solid var(--panel-border);background:#14171b;border-radius:8px;flex:auto;min-height:240px;position:relative;overflow:hidden}.fp-canvas{touch-action:none;position:absolute;inset:0}.fp-canvas canvas{cursor:crosshair;display:block}.fp-status{color:var(--text-dim);min-height:2.4em;font-size:.9rem}.fp-footer{flex-wrap:wrap;justify-content:space-between;gap:.6rem;display:flex}.fp-footer-right{flex-wrap:wrap;gap:.5rem;display:flex}.rm-objects{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rm-objects-label{color:var(--text-dim);font-size:.8rem}.rm-chip{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text);text-align:left;cursor:pointer;border-radius:9px;align-items:center;gap:.45rem;padding:.25rem .6rem .25rem .3rem;font-size:.85rem;display:flex}.rm-chip img,.rm-chip-blank{object-fit:contain;background:#2c313a;border-radius:6px;flex:none;width:28px;height:28px}.rm-chip small{color:var(--text-dim);font-size:.72rem;line-height:1.15;display:block}.rm-chip:hover:not(:disabled){color:var(--text);background:#343a42}.rm-chip.sel,.rm-chip.sel:hover:not(:disabled){border-color:var(--accent);background:#2b2519}.rm-chip.warn{border-color:var(--danger)}.rm-tip{border:1px solid var(--panel-border);background:#2a2f37eb;border-radius:7px;max-width:calc(100% - 120px);padding:.25rem .6rem;font-size:.8rem;position:absolute;top:8px;left:8px}.rm-tip-bad{border-color:var(--danger);color:#ffb3b3}@media (width<=700px){.rm-objects{flex-wrap:nowrap;padding-bottom:.2rem;overflow-x:auto}.rm-chip{flex:none}}.rotate-move-body>*{flex-shrink:0}.plate-order ol{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.plate-order li{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;padding:.4rem .6rem;display:flex}.plate-order-name small{color:var(--text-dim);font-size:.78rem;display:block}.plate-order-buttons{gap:.3rem;display:flex}.object-picker-modes{border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;gap:.4rem;min-width:0;padding:.4rem .7rem .6rem;display:flex}.object-picker-modes legend{color:var(--text-dim);padding:0 .3rem;font-size:.85rem}.object-picker-mode{flex-direction:row;align-items:flex-start;gap:.5rem;display:flex}.object-picker-mode input{flex:none;width:auto;margin-top:.25rem}.object-picker-mode small{color:var(--text-dim);font-size:.78rem;display:block}.dialog-tabs{border-bottom:1px solid var(--panel-border);gap:.4rem;display:flex}.dialog-tabs button{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.5rem .9rem}.dialog-tabs button:hover:not(:disabled){color:var(--text);background:0 0}.dialog-tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.printer-bed-row{grid-template-columns:minmax(0,1fr) 200px;align-items:start;gap:1rem;display:grid}.printer-bed-fields{flex-direction:column;gap:.6rem;min-width:0;display:flex}.printer-bed-drawing{border:1px solid var(--panel-border);background:#14171b;border-radius:8px;padding:6px}.bed-drawing{width:100%;height:auto;display:block}.printer-belt{border:1px solid var(--panel-border);background:#1f2328;border-radius:8px;flex-direction:column;gap:.5rem;padding:.6rem .75rem;display:flex}.printer-aux{align-self:end;padding-bottom:.5rem}.gcode-box{color:var(--text);border:1px solid var(--panel-border);resize:vertical;white-space:pre;background:#2c313a;border-radius:6px;width:100%;padding:.5rem .6rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.4;overflow:auto}.advanced-results{border:1px solid var(--panel-border);background:#1f2328;border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.advanced-results li{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:.8rem;padding:.5rem .7rem;display:flex}.advanced-results li:last-child{border-bottom:0}.advanced-results small{color:var(--text-dim);overflow-wrap:anywhere;font-size:.75rem;display:block}.advanced-edit{flex:0 45%;align-items:center;gap:.6rem;min-width:0;display:flex}.advanced-edit input,.advanced-edit select,.advanced-edit textarea{flex:auto;min-width:0}@media (width<=700px){.printer-bed-row{grid-template-columns:1fr}.advanced-results li{flex-direction:column;align-items:stretch}.advanced-edit{flex:none}}.technology-toggle{border:1px solid var(--panel-border);border-radius:8px;gap:0;width:fit-content;padding:0;display:flex;overflow:hidden}.technology-toggle button{color:var(--text-dim);background:0 0;border:0;border-radius:0;padding:.4rem 1.2rem}.technology-toggle button.selected{background:var(--accent);color:var(--on-accent);font-weight:600}.tech-badge{border:1px solid;border-radius:999px;margin-left:.4rem;padding:0 .5rem;font-size:.7rem;font-weight:500}.tech-badge.resin{color:#6cb6ff}.resin-facts p{margin:.2rem 0}.resin-note{border:1px solid var(--panel-border);border-radius:6px;margin:.4rem 0;padding:.5rem .7rem;font-size:.85rem}.resin-note.good{background:#3c6e3c26;border-color:#3b6b3b}.resin-values{grid-template-columns:1fr 1fr;gap:.5rem .8rem;margin-top:.5rem;display:grid}.resin-value-input{align-items:center;gap:.4rem;display:flex}.resin-value-input input{flex:1;min-width:0}.resin-unit{color:var(--text-dim);white-space:nowrap;font-size:.75rem}.resin-values>*{min-width:0}.resin-check{align-items:center;gap:.5rem;margin-top:.6rem;color:var(--text)!important;flex-direction:row!important;display:flex!important}.resin-check input[type=number]{width:4.5rem}.resin-result h3{margin:.8rem 0 .4rem}.resin-result h3 small{color:var(--text-dim);font-size:.8rem;font-weight:400}.resin-stats{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.8rem;display:grid}.resin-stat{background:var(--panel-border);border-radius:6px;flex-direction:column;padding:.5rem .7rem;display:flex}.resin-stat-label{color:var(--text-dim);font-size:.75rem}.resin-result .job-hint{margin-top:.6rem}.resin-layer-view{flex-direction:column;align-items:center;gap:.6rem;display:flex}.resin-layer-view img{border:1px solid var(--panel-border);object-fit:contain;background:#0b0d10;border-radius:6px;max-width:100%;max-height:60vh}.resin-layers{flex-direction:column;gap:.5rem;margin-bottom:.8rem;display:flex}.resin-layer-label{color:var(--text-dim);font-size:.85rem}.resin-warning{background:#c896321f;border:1px solid #8a6a2a;border-radius:6px;margin-bottom:.8rem;padding:.5rem .7rem;font-size:.85rem}.my-printer-form{border:1px solid var(--panel-border);border-radius:8px;margin:.6rem 0;padding:.8rem}.my-printer-links{flex-wrap:wrap;gap:.4rem 1rem;margin-top:.4rem;display:flex}.resin-hint{text-align:left;margin:0}.resin-note.starting{color:#f1e6c4;background:#3a3320;border:1px solid #b8962e}.resin-show-all{color:var(--muted,#c9ced6);align-items:center;gap:8px;margin:8px 0;font-size:12px;display:flex}
