/* Machine work surface. Workspace remains visible; detailed profiles are modal. */
*,*::before,*::after{box-sizing:border-box}body.workspace-page{--ink:var(--ws-ink,#29323a);--muted:var(--ws-muted,#626e70);--line:var(--ws-line,#d6dad6);--surface:var(--ws-header,#fafaf7);--paper:var(--ws-toolbar,#f1f0eb);--page:var(--ws-toolbar,#f1f0eb);--blue:var(--ws-accent,#42665c);height:100dvh;margin:0;display:flex;flex-direction:column;overflow:hidden;font:14px/1.5 MachineUI,Pretendard,system-ui,sans-serif;color:var(--ink,#29323a);background:var(--paper,#fafaf7)}.workspace-header,.workspace-toolbar{flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.slicer-workspace{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;margin:0;max-width:none}.slicer-toolbar{height:56px;flex:none;display:flex;align-items:center;gap:14px;padding:0 24px;border-bottom:1px solid var(--line,#dedfda);background:var(--surface,#fff)}button,input,select{font:inherit;color:inherit}button,select,input[type=number]{border:1px solid var(--line,#d1d8d7);border-radius:5px;background:var(--surface,#fff);min-height:36px;padding:7px 11px}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,.slicer-file-action:focus-within{outline:2px solid var(--blue,#285c9c);outline-offset:2px}button:hover:not(:disabled){border-color:var(--blue,#285c9c)}.slicer-file-action{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 10px;border:1px solid var(--line,#d1d8d7);border-radius:5px;overflow:hidden;cursor:pointer}.slicer-file-action input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.slicer-toolbar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.slicer-divider{height:22px;border-left:1px solid var(--line,#dedfda)}.slicer-view-controls{display:flex;gap:4px}.slicer-view-controls button{border-color:transparent;background:transparent}.slicer-view-controls button[aria-pressed=true]{background:var(--page,#edf1f0);border-color:var(--line,#d1d8d7)}.slicer-tool-options{margin-left:auto;display:flex;gap:8px}.slicer-tool-options button{display:grid;place-items:center;width:36px;padding:6px}.slicer-content{display:flex;min-height:0;flex:1;overflow:hidden}.slicer-stage{flex:1;min-width:0;min-height:0;position:relative;background:var(--ws-toolbar,#f1f0eb)}#scene{position:absolute;inset:0;width:100%;height:100%;margin:0}#scene canvas{width:100%;height:100%;display:block}#preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:24px;margin:0;display:block}#layer-label{position:absolute;bottom:16px;left:20px;right:20px;display:flex;align-items:center;gap:12px;max-width:600px;padding:8px 12px;background:#fffffff2;border:1px solid var(--line,#dedfda);border-radius:5px;font-size:12px}#layer-label input{flex:1;min-width:0}.slicer-parts{display:none;width:260px;flex:none;padding:20px;border-left:1px solid var(--line,#dedfda);background:var(--surface,#fff);overflow:auto}.slicer-parts h2{margin:0 0 12px;font-size:14px;font-weight:600}body[data-has-parts=true] .slicer-parts{display:block}.part{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:8px;padding:14px 0;border-top:1px solid var(--line,#dedfda)}.part strong{grid-column:1/-1;font-size:12px;font-weight:500;overflow-wrap:anywhere}.part input,.part select{width:100%;min-width:0;font-size:12px;padding:6px}.part button{font-size:12px;padding:6px}.slicer-footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px;border-top:1px solid var(--line,#dedfda);background:var(--surface,#fff)}.slicer-result{min-width:0;font-size:12px}.slicer-result p{margin:0;overflow-wrap:anywhere}.slicer-result #estimate{margin-top:4px;color:var(--muted,#65717a)}#estimate:empty{display:none}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions button{white-space:nowrap;font-size:13px}.primary-action{background:var(--blue,#285c9c);border-color:var(--blue,#285c9c);color:white}.slicer-dialog{width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line,#d1d8d7);border-radius:9px;color:inherit;background:var(--surface,#fff);box-shadow:0 20px 70px #142b3a33}.slicer-dialog::backdrop{background:#17242c55}.slicer-dialog>header{position:sticky;top:0;z-index:1;background:var(--surface,#fff);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--line,#dedfda)}.slicer-dialog h2{font-size:17px;font-weight:600;margin:0}.slicer-dialog header button{padding:0;width:32px;min-height:32px;border:0;background:transparent;font-size:22px}.slicer-dialog-body{padding:24px}.slicer-setting-group{min-width:0;border:0;border-top:1px solid var(--line,#dedfda);padding:16px 0 0;margin:0 0 24px}.slicer-setting-group:first-child{border:0;padding-top:0}.slicer-setting-group:last-child{margin-bottom:0}.slicer-setting-group legend{font-size:13px;font-weight:600;padding:0 8px 0 0}.settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings+.settings{margin-top:14px}.settings label{display:grid;gap:6px;min-width:0;font-size:12px}.settings input,.settings select{width:100%;min-width:0}.printer-spec{margin:14px 0 0;font-size:12px;color:var(--muted,#65717a)}.printer-spec>div{display:flex;gap:14px;margin:5px 0}.printer-spec dt{width:70px}.printer-spec dd{margin:0}.slicer-help ul{padding-left:20px;margin:0 0 20px}.slicer-help li{margin:10px 0}.slicer-help a{font-size:12px;color:inherit}.slicer-workspace [hidden],.slicer-dialog [hidden]{display:none!important}
@media(max-width:760px){.slicer-toolbar{height:52px;padding:0 12px;gap:8px}.slicer-toolbar button,.slicer-file-action{font-size:12px}.slicer-toolbar .slicer-tool-options{gap:4px}.slicer-content{flex-direction:column}.slicer-parts{width:100%;max-height:140px;padding:10px 14px;border-left:0;border-top:1px solid var(--line,#dedfda)}.slicer-parts h2{display:none}.part{grid-template-columns:minmax(0,1fr) 52px 80px auto;padding:8px 0}.part strong{grid-column:auto}.slicer-footer{padding:10px 12px;gap:10px;align-items:stretch;flex-direction:column}.actions{justify-content:flex-end;gap:6px}.actions button{font-size:12px;min-height:36px;padding:7px 9px}#preview{padding:12px}.slicer-dialog-body{padding:20px}.slicer-dialog>header{padding:16px 20px}#layer-label{left:10px;right:10px;bottom:10px;gap:8px}.settings{gap:12px}}

.slicer-file-action:has(input:disabled){opacity:.45;cursor:default}

#preview-controls{position:absolute;top:12px;left:12px;display:flex;gap:12px;flex-wrap:wrap;padding:8px 12px;background:#fffffff2;border:1px solid var(--line,#dedfda);border-radius:5px;font-size:12px}#preview-controls label{display:flex;align-items:center;gap:4px}#preview-controls label:nth-child(2){color:#9a5b0e}#preview-controls label:nth-child(3){color:#146c91}
