:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f7;--surface:#fff;--surface-raised:#fff;--surface-soft:#f7f9fa;--text:#202326;--muted:#687078;--faint:#92999f;--line:#dce1e5;--line-strong:#cbd2d8;--accent:#3e8051;--accent-strong:#2f6840;--accent-soft:#eaf4ed;--warning:#8a5a12;--warning-soft:#fff6df;--danger:#c43d50;--shadow:0 1px 2px #141e240f, 0 8px 24px #141e240d}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171a1c;--surface:#202426;--surface-raised:#252a2d;--surface-soft:#1b1f21;--text:#f2f4f5;--muted:#aab1b6;--faint:#7f888e;--line:#363c40;--line-strong:#475055;--accent:#67b77c;--accent-strong:#83cc96;--accent-soft:#253c2b;--warning:#e4b75f;--warning-soft:#3a301d;--danger:#ef7182;--shadow:0 1px 2px #00000040, 0 12px 28px #0003}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input{font:inherit}button{color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.app-shell{min-height:100dvh}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;height:52px;padding:0 18px;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-weight:680;display:flex}.brand-mark{color:#fff;background:var(--accent);border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.brand-mark svg{width:17px;height:17px}.version-badge,.source-badge{color:var(--accent-strong);background:var(--accent-soft);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:750}.topbar-actions{align-items:center;gap:7px;display:flex}.header-language-picker select{border:1px solid var(--line);width:auto;min-width:112px;height:34px;color:var(--text);background:var(--surface);border-radius:7px;padding:0 26px 0 8px;font-size:10px;font-weight:700}.topbar-link{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:750;text-decoration:none}.topbar-link:hover,.topbar-link:focus-visible{color:var(--accent-strong);background:var(--accent-soft);outline:none}.topbar-install{border:1px solid var(--line);min-height:28px;color:var(--accent-strong);background:var(--surface);cursor:pointer;border-radius:7px;padding:0 9px;font-size:10px;font-weight:750}.topbar-install:hover{border-color:var(--accent);background:var(--accent-soft)}.local-status{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.local-status>span{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%}.local-status.offline>span{background:var(--warning);box-shadow:0 0 0 3px var(--warning-soft)}.icon-button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid}.icon-button:hover{background:var(--surface-soft);border-color:var(--line);color:var(--text)}.icon-button svg{width:18px;height:18px}.workspace{width:min(100%,1100px);margin:0 auto;padding:20px 18px 48px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.workspace-title{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:20px;display:grid}.workspace-title h1{letter-spacing:-.035em;margin:0;font-size:clamp(28px,4vw,38px);line-height:1.15}.workspace-title p:not(.eyebrow){max-width:610px;color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.55}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin:0 0 5px;font-size:11px;font-weight:750}.submit-button{border:1px solid var(--accent);color:#fff;background:var(--accent);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-size:12px;font-weight:750;display:inline-flex}.submit-button:hover{border-color:var(--accent-strong);background:var(--accent-strong)}.submit-button input{display:none}.disabled{opacity:.55;cursor:wait;pointer-events:none}.card{background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px;padding:17px}.workspace-panel{padding:0;overflow:hidden}.library-drop-target{transition:border-color .12s,box-shadow .12s;position:relative}.library-drop-target.drag-active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent), var(--shadow)}.library-drop-zone{border:1px dashed var(--line-strong);min-height:56px;color:var(--muted);background:var(--surface-soft);pointer-events:none;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:28px auto;align-items:center;column-gap:10px;margin:14px 14px 0;padding:10px 14px;transition:color .12s,border-color .12s,background .12s;display:grid}.library-drop-zone>span{width:28px;height:28px;color:var(--accent-strong);background:var(--accent-soft);border-radius:7px;grid-row:1/3;place-items:center;font-size:18px;font-weight:800;display:grid}.library-drop-zone strong{color:var(--text);align-self:end;font-size:11px}.library-drop-zone small{align-self:start;font-size:9px}.library-drop-target.drag-active .library-drop-zone{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.settings-panel{margin-bottom:14px;padding:0;position:relative;overflow:visible}.settings-panel:focus-within,.settings-panel:hover{z-index:6}.layout-panel{margin-bottom:14px;padding:0;overflow:hidden}.layout-body{grid-template-columns:minmax(0,1fr) 280px;gap:14px;padding:14px;display:grid;position:relative}.layout-view-tabs{border-bottom:1px solid var(--line);grid-column:1/-1;align-items:end;gap:4px;display:flex}.layout-view-tabs button{min-height:34px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 14px;font-size:11px;font-weight:800}.layout-view-tabs button:hover:not(:disabled){color:var(--text)}.layout-view-tabs button.active{border-bottom-color:var(--accent);color:var(--accent-strong)}.layout-view-tabs button:disabled{opacity:.45;cursor:default}.layout-panel.view-motion .layout-preview-canvas,.layout-panel.view-arrange .plate-motion-preview{display:none}.layout-panel.view-motion .plate-motion-preview{flex:none}.layout-panel.view-motion .plate-motion-preview .motion-preview canvas{aspect-ratio:auto;height:300px}.layout-expand-button{justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;min-height:34px;margin-right:14px;padding:0;line-height:0;display:inline-flex}.layout-expand-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px;display:block}.layout-panel-expanded{z-index:20;flex-direction:column;margin:0;display:flex;position:fixed;inset:12px;box-shadow:0 24px 80px #00000059}.layout-panel-expanded .section-collapse-button{pointer-events:none;cursor:default}.layout-panel-expanded .layout-body{flex:1;grid-template-columns:minmax(0,1fr) 320px;min-height:0}.layout-panel-expanded .layout-preview-column{min-height:0}.layout-panel-expanded .layout-canvas{flex:1;height:auto;min-height:0}.layout-preview-column{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.plate-motion-preview{border:1px solid var(--line);border-radius:8px;flex:none;overflow:hidden}.plate-motion-preview .motion-preview canvas{aspect-ratio:auto;height:300px}.layout-panel-expanded .plate-motion-preview .motion-preview canvas{aspect-ratio:auto;height:min(52vh,580px)}.layout-preview-canvas{flex-direction:column;flex:1 1 0;min-width:0;min-height:360px;display:flex;position:relative}.layout-canvas{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;flex:1 1 0;height:0;min-height:360px;display:block;position:relative;overflow:auto}.layout-zoom-surface{min-width:100%;min-height:100%;padding:14px;transition:width .1s,height .1s}.layout-zoom-surface>svg{width:100%;height:100%;display:block}.layout-canvas polygon,.layout-canvas circle{fill:color-mix(in srgb, currentColor 12%, transparent);stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.layout-canvas .stock-outline{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.5px;vector-effect:non-scaling-stroke}.layout-canvas .part-hitbox{fill:#0000;stroke:none;pointer-events:all}.layout-canvas .draggable-layout-part.selected>polygon,.layout-canvas .draggable-layout-part.selected>circle:not(.rotation-handle){stroke-width:2.5px}.layout-canvas .rotation-stem{stroke:currentColor;stroke-width:1.75px;vector-effect:non-scaling-stroke;pointer-events:none}.layout-canvas .rotation-handle{fill:var(--surface);stroke:currentColor;stroke-width:2.5px;vector-effect:non-scaling-stroke;cursor:url(/rotate-cursor.svg) 14 14,grab}.layout-canvas .rotation-handle:active{cursor:grabbing}.layout-axis{display:none}.layout-axis-fixed{z-index:5;color:var(--text);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow);pointer-events:none;border-radius:5px;gap:12px;padding:3px 6px;font-size:12px;font-weight:800;display:flex;position:absolute;bottom:10px;left:10px}.layout-axis-fixed.origin-bottom-right{left:auto;right:10px}.layout-axis-fixed.origin-top-left{top:54px;bottom:auto}.layout-axis-fixed.origin-top-right{inset:54px 10px auto auto}.layout-viewport-controls{z-index:3;align-items:center;gap:8px;width:max-content;height:34px;margin-bottom:-34px;display:flex;position:sticky;top:10px;left:10px}.layout-reset{z-index:4;background:var(--surface);width:max-content;min-height:34px;box-shadow:var(--shadow);margin-bottom:-34px;display:block;position:sticky;top:10px;left:calc(100% - 105px)}.layout-viewport-controls small{color:var(--muted);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow);border-radius:6px;padding:5px 7px;font-size:9px}.layout-zoom-controls{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:7px;padding:3px;display:flex}.layout-zoom-controls .small-button{width:29px;min-height:27px;padding:0;font-size:16px}.layout-zoom-controls span{display:none}.layout-error{border:1px solid color-mix(in srgb, #e14d62 32%, var(--line));color:#b52e42;background:color-mix(in srgb, var(--surface) 90%, #e14d62);border-radius:6px;margin:0;padding:8px 10px;font-size:10px}.layout-fields{align-content:start;gap:8px;display:grid}.layout-part-placement-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;padding:10px}.layout-quantity-row{grid-template-columns:7px minmax(0,1fr) 58px;align-items:end;gap:7px;display:grid}.layout-copy-list{border-top:1px solid var(--line);gap:7px;margin-top:9px;padding-top:9px;display:grid}.layout-position-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:6px;display:grid}.layout-position-row+.layout-position-row{border-top:1px solid var(--line);padding-top:7px}.layout-instance-select{min-width:0;min-height:29px;color:var(--muted);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-column:1/-1;align-self:end;padding:5px 7px;font-size:10px;font-weight:700;overflow:hidden}.layout-instance-select:hover{border-color:var(--line-strong);color:var(--text);background:var(--surface)}.layout-position-row.selected .layout-instance-select{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.layout-fields i{border-radius:4px;width:7px;height:28px}.layout-fields strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.layout-fields label{color:var(--muted);gap:3px;font-size:9px;display:grid}.layout-fields input{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:var(--surface);border-radius:6px;padding:6px}.layout-output-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;width:100%;margin-top:6px;display:flex}.layout-output-actions>button{flex:120px}.layout-output-actions>button:disabled{opacity:.55;cursor:not-allowed}.small-button{border:1px solid var(--line-strong);color:var(--text);background:var(--surface);cursor:pointer;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:700}.playback-speed{color:var(--muted);align-items:center;gap:5px;font-size:9px;font-weight:700;display:inline-flex}.playback-speed select{border:1px solid var(--line-strong);min-height:29px;color:var(--text);background:var(--surface);border-radius:7px;padding:0 22px 0 7px;font-size:10px;font-weight:750}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 17px 17px;display:grid}.job-setup-groups{gap:12px;padding:14px 17px 17px;display:grid}.job-setup-group{border:1px solid var(--line);background:var(--surface-soft);border-radius:9px;min-width:0;overflow:hidden}.job-setup-group-heading{padding:11px 13px 0}.job-setup-group-heading h3{letter-spacing:-.01em;margin:0;font-size:12px}.job-setup-group-heading p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.45}.job-setup-grid{padding:11px 13px 13px}.job-setup-grid>label{align-content:start}.job-setup-group:first-child .job-setup-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.job-setup-grid .adaptive-settings{background:var(--surface)}.settings-grid label{color:var(--muted);align-content:center;gap:6px;font-size:10px;font-weight:700;display:grid}.help-label{width:max-content;min-width:0;max-width:100%;color:inherit;justify-content:flex-start;align-items:center;gap:5px;display:inline-flex;position:relative}.help-label-button{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--muted);background:var(--surface);cursor:help;border-radius:50%;flex:0 0 16px;place-items:center;padding:0;font-size:10px;font-weight:850;line-height:1;display:inline-grid}.help-label-button:hover,.help-label-button:focus-visible,.help-label.open .help-label-button{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft);outline:none}.help-label-popover{z-index:40;visibility:hidden;opacity:0;border:1px solid var(--line-strong);width:min(270px,100vw - 32px);color:var(--text);background:var(--surface-raised);pointer-events:none;border-radius:7px;padding:8px 10px;font-size:10px;font-weight:500;line-height:1.45;transition:opacity .1s,transform .1s,visibility .1s;position:absolute;top:calc(100% + 7px);left:0;transform:translateY(-3px);box-shadow:0 10px 30px #0000002e}.help-label:hover .help-label-popover,.help-label:focus-within .help-label-popover,.help-label.open .help-label-popover{visibility:visible;opacity:1;transform:translateY(0)}.guide-shell{width:min(100% - 32px,1040px);margin:0 auto;padding:46px 0 72px}.guide-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:26px;display:flex}.guide-header h1{letter-spacing:-.045em;margin:3px 0 8px;font-size:clamp(34px,7vw,58px);line-height:1}.guide-header p{max-width:650px;color:var(--muted);margin:0;line-height:1.55}.guide-back{flex:none;text-decoration:none}.guide-nav{z-index:5;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:6px;margin:0 -8px 30px;padding:12px 8px;display:flex;position:sticky;top:0;overflow-x:auto}.guide-nav a{color:var(--muted);white-space:nowrap;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:750;text-decoration:none}.guide-nav a:hover,.guide-nav a:focus-visible{color:var(--accent-strong);background:var(--accent-soft);outline:none}.guide-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.guide-content section{border:1px solid var(--line);background:var(--surface-raised);box-shadow:var(--shadow);border-radius:11px;padding:22px;scroll-margin-top:65px}.guide-content section:first-child,.guide-content .guide-warning{grid-column:1/-1}.guide-content h2{letter-spacing:-.025em;margin:0 0 13px;font-size:20px}.guide-content p,.guide-content li,.guide-content dd{color:var(--muted);font-size:12px;line-height:1.65}.guide-content p:last-child{margin-bottom:0}.guide-content ol,.guide-content ul{margin:0;padding-left:20px}.guide-content li+li{margin-top:5px}.guide-content dl{grid-template-columns:130px minmax(0,1fr);gap:9px 14px;margin:0;display:grid}.guide-content dt{color:var(--text);font-size:12px;font-weight:800}.guide-content dd{margin:0}.guide-content .guide-warning{border-color:color-mix(in srgb, var(--warning) 45%, var(--line));background:var(--warning-soft)}.guide-dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:20px}.guide-dialog[open]{place-items:center;display:grid}.guide-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101713b8}.guide-dialog-panel{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;flex-direction:column;width:min(1440px,98vw);height:97vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000059}.guide-dialog-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:10px 14px 10px 18px;display:flex}.guide-dialog-panel>header strong{font-size:14px}.guide-dialog-panel iframe{background:var(--bg);border:0;flex:1;width:100%;min-height:0}.settings-grid input:not([type=checkbox]),.settings-grid select{border:1px solid var(--line-strong);width:100%;min-height:36px;color:var(--text);background:var(--surface);border-radius:7px;padding:0 10px}.settings-grid input:focus,.settings-grid select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.settings-grid .check-setting{color:var(--text);grid-template-columns:auto 1fr;justify-content:start;align-items:center;gap:8px;padding-top:16px}.hold-down-setting{align-content:start;gap:9px;display:grid}.dependent-setting{border-left:3px solid var(--accent);gap:6px;margin-left:6px;padding:9px 0 2px 11px;display:grid}.dependent-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dependent-setting small{color:var(--muted);font-size:9px;line-height:1.4}.calculated-setting{color:var(--muted);align-content:center;gap:6px;font-size:10px;font-weight:700;display:grid}.calculated-setting strong{color:var(--text);font-size:12px;line-height:1.35}.adaptive-settings{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-column:1/-1;overflow:hidden}.adaptive-settings-header{align-items:center;min-height:42px;display:flex}.adaptive-settings-chevron{width:38px;color:var(--text);cursor:pointer;background:0 0;border:0;align-self:stretch;place-items:center;padding:0 0 0 10px;display:grid}.adaptive-settings-chevron:disabled{color:var(--muted);cursor:default}.adaptive-settings-chevron[aria-expanded=false] .collapse-chevron{transform:rotate(-90deg)}.adaptive-settings-toggle{min-width:0;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-self:stretch;align-items:center;padding:8px 12px 8px 6px;display:flex}.adaptive-settings-toggle:hover{background:var(--accent-soft);color:var(--accent-strong)}.adaptive-settings-toggle:disabled{color:var(--muted);cursor:default;background:0 0}.adaptive-settings.disabled{opacity:.78;pointer-events:auto;cursor:default}.settings-grid .adaptive-enable-checkbox{z-index:2;width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0 2px 0 0;position:relative}.adaptive-settings-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;display:grid}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:14px 17px;display:flex;position:relative}.section-heading>div{gap:3px;display:grid}.section-heading>div>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:750}.section-heading strong{font-size:13px}.section-heading h2{margin:0;font-size:14px;line-height:1.35}.section-collapse-button{z-index:0;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;padding:0 17px;display:inline-flex;position:absolute;inset:0}.section-collapse-button:hover{color:var(--accent-strong);background:var(--surface-soft)}.section-collapse-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.collapse-chevron{width:18px;color:var(--muted);font-size:17px;line-height:1;transition:transform .14s;transform:rotate(0)}.section-collapse-button[aria-expanded=false] .collapse-chevron{transform:rotate(-90deg)}.section-collapse-button>div{text-align:left;gap:3px;display:grid}.section-collapse-button>div>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:750}.section-collapse-button>div>strong{font-size:13px}.section-heading>.small-button,.section-heading>.role-badge,.section-heading>.section-actions{z-index:1;margin-left:auto;position:relative}[hidden]{display:none!important}.role-badge{color:var(--accent-strong);background:var(--accent-soft);text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:750}.section-actions{align-items:center;grid-auto-flow:initial!important;gap:9px!important;display:flex!important}.library-heading .submit-button{min-height:34px;padding-inline:13px}.status{border-bottom:1px solid var(--line);min-height:38px;color:var(--muted);background:var(--surface-soft);align-items:center;gap:8px;margin:0;padding:10px 17px;font-size:11px;display:flex}.toast{z-index:30;border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));max-width:min(440px,100% - 28px);color:var(--text);background:var(--surface-raised);border-radius:8px;padding:10px 14px;font-size:11px;font-weight:680;animation:.16s ease-out toast-in;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #0000002e}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}.part-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));align-items:start;gap:12px;padding:14px;display:grid}.part-card{border:1px solid var(--line);background:var(--surface);border-radius:9px;min-width:0;transition:border-color .12s,box-shadow .12s;overflow:hidden}.part-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.preview-pair{border:0;border-block:1px solid var(--line);width:100%;color:inherit;background:var(--surface-soft);cursor:zoom-in;grid-template-columns:1fr;padding:0;display:grid}.preview-pair>*+*{border-top:1px solid var(--line)}.preview-pair:hover,.preview-pair:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--accent) 58%, transparent);outline:none}.preview-pair:hover>*,.preview-pair:focus-visible>*{background:color-mix(in srgb, var(--surface-soft) 86%, var(--accent))}.part-preview{background:var(--surface-soft);width:100%;height:220px;color:inherit;font:inherit;border:0;place-items:center;padding:18px;transition:background .12s;display:grid;position:relative}.part-card-secondary-actions{justify-content:space-between;align-items:center;gap:10px;padding:0 14px 12px;display:flex}.single-part-rotation{color:var(--muted);gap:5px;margin:0 14px 12px;font-size:9px;font-weight:700;display:grid}.single-part-settings{grid-template-columns:minmax(0,1fr);display:grid}.single-part-settings .single-part-rotation:first-child{margin-right:0}.single-part-settings .single-part-rotation:last-child{margin-left:0}.single-part-rotation select{border:1px solid var(--line-strong);width:100%;min-height:34px;color:var(--text);background:var(--surface);font:inherit;border-radius:7px;padding:0 9px;font-size:10px}.preview-open-button{border:1px solid var(--accent);width:auto;min-height:34px;color:var(--accent-strong);background:var(--accent-soft);cursor:pointer;white-space:nowrap;border-radius:7px;margin:0;padding:0 12px;font-size:11px;font-weight:800}.preview-open-button:hover{color:#fff;background:var(--accent)}.preview-expand{color:var(--muted);background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:5px;padding:3px 6px;font-size:9px;position:absolute;top:9px;right:10px}.part-preview svg{width:100%;height:100%;overflow:hidden}.part-preview polygon{fill:color-mix(in srgb, currentColor 7%, transparent);stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.feature-perimeter{color:var(--accent-strong)}.feature-pocket{color:#4388c7}.feature-island{color:#a66ac2}.feature-hole{color:#d18432}.part-preview .toolpath-line{fill:none;stroke:#e14d62;stroke-width:1.25px;stroke-dasharray:4 3}.part-preview .toolpath-drill{fill:#e14d624d;stroke:#e14d62;stroke-width:1.25px;vector-effect:non-scaling-stroke}.preview-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px;font-size:8px;font-weight:700;display:flex;position:absolute;inset:auto 10px 8px}.preview-legend span:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.legend-perimeter{color:var(--accent-strong)}.legend-pocket{color:#4388c7}.legend-island{color:#a66ac2}.legend-hole{color:#d18432}.legend-toolpath{color:#e14d62}.part-details{gap:6px;padding:13px 14px 15px;display:grid}.part-details-top{border-bottom:0;align-content:start;min-height:0}.card-primary-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px 14px;display:flex}.card-primary-actions .submit-button{width:auto}.motion-preview{background:var(--surface);min-width:0;position:relative}.motion-preview-heading{justify-content:space-between;align-items:baseline;gap:8px;padding:9px 11px 6px;display:flex}.motion-preview-heading strong{font-size:10px}.motion-preview-heading span{color:var(--muted);font-size:8px}.motion-view-tools{justify-content:flex-end;align-items:center;gap:8px;display:flex}.motion-drag-mode{border:1px solid var(--line-strong);border-radius:6px;display:inline-flex;overflow:hidden}.motion-drag-mode button{min-height:24px;color:var(--muted);background:var(--surface);cursor:pointer;font:inherit;border:0;padding:0 8px;font-size:8px;font-weight:800}.motion-drag-mode button+button{border-left:1px solid var(--line-strong)}.motion-drag-mode button.active{color:#fff;background:var(--accent)}.motion-preview canvas{background:var(--surface-soft);cursor:grab;touch-action:none;width:100%;height:137px;display:block}.motion-preview canvas:active{cursor:grabbing}.motion-preview-static{transition:background .12s}.motion-preview-static canvas{pointer-events:none;cursor:zoom-in;background:0 0;height:220px}.motion-preview-expanded canvas{height:min(52vh,580px)}.tube-workspace .motion-preview{width:calc(100% - 34px);margin-inline:17px}.tube-workspace .motion-preview canvas{aspect-ratio:640/300;height:auto}.tube-download-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:min(100%,760px);margin-inline:auto;padding:12px 0 18px;display:flex}.tube-face-switch{z-index:2;border-radius:6px;display:flex;position:absolute;top:36px;left:9px;box-shadow:0 1px 4px #141e241f}.tube-face-switch button{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);color:var(--muted);font:inherit;cursor:pointer;padding:4px 8px;font-size:9px;font-weight:700;line-height:1.2}.tube-face-switch button:first-child{border-radius:8px 0 0 8px}.tube-face-switch button:last-child{border-radius:0 8px 8px 0;margin-left:-1px}.tube-face-switch button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);position:relative}.punched-hole-review{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:7px;width:min(100%,760px);max-height:180px;margin:0 auto 12px;padding:12px;display:grid;overflow:auto}.punched-hole-review strong{font-size:11px}.punched-hole-review label{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.tube-panel-expanded .punched-hole-review{width:100%;max-width:none}.tube-panel-expanded #tube-setup-content{flex:1;min-height:0;padding-bottom:18px;overflow:auto}.tube-panel-expanded .motion-preview{width:100%;max-width:none;margin-inline:0}.tube-panel-expanded .motion-preview canvas{aspect-ratio:16/9;width:100%;height:auto}.tube-panel-expanded .tube-download-actions{box-sizing:border-box;width:100%;max-width:none;padding-inline:17px}.multilayer-workspace .motion-preview{width:calc(100% - 34px);margin-inline:17px}.multilayer-workspace .motion-preview canvas{aspect-ratio:640/300;height:auto}.multilayer-panel-expanded #multilayer-setup-content{flex:1;min-height:0;padding-bottom:18px;overflow:auto}.multilayer-panel-expanded .motion-preview{width:100%;margin-inline:0}.multilayer-panel-expanded .motion-preview canvas{aspect-ratio:16/9;width:100%;height:auto}.multilayer-panel-expanded .tube-download-actions{box-sizing:border-box;width:100%;max-width:none;padding-inline:17px}.motion-controls{grid-template-columns:auto minmax(0,1fr) 32px auto;align-items:center;gap:7px;padding:7px 9px;display:grid}.motion-controls input{min-width:0;accent-color:var(--accent)}.motion-controls span{color:var(--muted);text-align:right;font-size:9px}.part-details>div{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.part-actions{align-items:center;gap:6px;display:inline-flex}.remove-button{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:6px;padding:0;font-size:17px;line-height:1}.remove-button:hover{color:#b52e42;background:color-mix(in srgb, #e14d62 8%, var(--surface));border-color:#b52e42}.part-details h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:13px;overflow:hidden}.part-details p,.part-details small{color:var(--muted);margin:0;font-size:10px}.plate-inclusion-toggle{width:max-content;color:var(--text);white-space:nowrap;cursor:pointer;flex:none;align-items:center;gap:6px;font-size:10px;font-weight:750;line-height:1;display:inline-flex}.plate-inclusion-toggle input{accent-color:var(--accent);margin:0}.viewer-native-dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:24px}.viewer-native-dialog[open]{place-items:center;display:grid}.viewer-native-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101713b8}.viewer-dialog{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;width:min(1120px,96vw);max-height:94vh;overflow:auto;box-shadow:0 24px 80px #00000059}.viewer-dialog>header{z-index:2;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:13px 16px;display:flex;position:sticky;top:0}.viewer-dialog>header div{gap:2px;display:grid}.viewer-dialog>header span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.viewer-topdown{background:var(--surface-soft);height:min(52vh,560px);padding:32px;position:relative}.viewer-topdown>svg{width:100%;height:100%;overflow:visible}.viewer-topdown polygon{fill:color-mix(in srgb, currentColor 7%, transparent);stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.viewer-topdown .feature-perimeter{color:#36784a}.viewer-topdown .feature-pocket{color:#4388c7}.viewer-topdown .feature-island{color:#a66ac2}.viewer-topdown .feature-hole{color:#d18432}.viewer-topdown .toolpath-line{fill:none;stroke:#e14d62;stroke-width:1.25px;stroke-dasharray:4 3}.viewer-topdown .toolpath-drill{fill:#e14d624d;stroke:#e14d62;vector-effect:non-scaling-stroke}.viewer-topdown .tool-position{fill:#e14d62;stroke:var(--surface);stroke-width:2.5px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #00000059)}.viewer-axis{width:76px;height:76px;color:var(--text);font:700 10px/1 sans-serif;position:absolute;bottom:18px;left:22px}.viewer-axis:before,.viewer-axis:after{content:"";background:var(--accent);position:absolute;bottom:12px;left:12px}.viewer-axis:before{width:58px;height:2px}.viewer-axis:after{width:2px;height:58px}.axis-origin{position:absolute;bottom:3px;left:3px}.axis-x{position:absolute;bottom:5px;right:0}.axis-y{position:absolute;top:0;left:5px}.viewer-axis.origin-bottom-right{left:auto;right:22px}.viewer-axis.origin-bottom-right:before,.viewer-axis.origin-bottom-right:after{left:auto;right:12px}.viewer-axis.origin-bottom-right .axis-origin{left:auto;right:3px}.viewer-axis.origin-bottom-right .axis-x{left:0;right:auto}.viewer-axis.origin-bottom-right .axis-y{left:auto;right:5px}.viewer-axis.origin-top-left{top:18px;bottom:auto}.viewer-axis.origin-top-left:before,.viewer-axis.origin-top-left:after{top:12px;bottom:auto}.viewer-axis.origin-top-left .axis-origin{top:3px;bottom:auto}.viewer-axis.origin-top-left .axis-x{top:5px;bottom:auto}.viewer-axis.origin-top-left .axis-y{top:auto;bottom:0}.viewer-axis.origin-top-right{inset:18px 22px auto auto}.viewer-axis.origin-top-right:before,.viewer-axis.origin-top-right:after{inset:12px 12px auto auto}.viewer-axis.origin-top-right .axis-origin{inset:3px 3px auto auto}.viewer-axis.origin-top-right .axis-x{inset:5px auto auto 0}.viewer-axis.origin-top-right .axis-y{inset:auto 5px 0 auto}.confirmation-dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:18px}.confirmation-dialog[open]{place-items:center;display:grid}.confirmation-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#090e12ad}.confirmation-panel{border:1px solid var(--line);border-top:4px solid var(--danger);background:var(--surface-raised);border-radius:11px;width:min(440px,100%);padding:24px;box-shadow:0 24px 70px #00000059}.confirmation-panel h2{letter-spacing:-.025em;margin:0;font-size:22px}.confirmation-message{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.55}.confirmation-message p{margin:0}.confirmation-message strong{color:var(--text);overflow-wrap:anywhere}.confirmation-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.confirmation-submit{border:1px solid var(--danger);color:#fff;background:var(--danger);cursor:pointer;border-radius:7px;min-height:36px;padding:0 14px;font-size:11px;font-weight:800}.confirmation-submit:hover{filter:brightness(.92)}.confirmation-submit:focus-visible{outline:3px solid color-mix(in srgb, var(--danger) 25%, transparent);outline-offset:2px}.download-button{justify-self:start;margin-top:0}.warning-text{background:var(--warning-soft);border-radius:6px;padding:7px 8px;line-height:1.4;color:var(--warning)!important}.error-text{background:#e14d621f;border-radius:6px;padding:7px 8px;line-height:1.4;color:#b52e42!important}.empty{text-align:center;border:1px dashed var(--line-strong);color:var(--muted);background:var(--surface-soft);border-radius:9px;justify-items:center;margin:14px;padding:55px 20px;display:grid}.empty-icon{width:40px;height:40px;color:var(--accent);background:var(--accent-soft);border-radius:10px;place-items:center;display:grid}.empty h2{color:var(--text);margin:13px 0 5px;font-size:15px}.empty p{margin:0;font-size:11px}@media (max-width:600px){.workspace{padding:25px 12px 40px}.workspace-title{grid-template-columns:1fr;align-items:start}.workspace-title .submit-button{justify-self:start}.version-badge,.local-status{display:none}.part-grid{grid-template-columns:1fr}.settings-grid,.job-setup-group:first-child .job-setup-grid{grid-template-columns:1fr 1fr}.adaptive-settings-grid,.layout-body{grid-template-columns:1fr}.layout-panel-expanded{inset:4px}.layout-panel-expanded .layout-body{grid-template-columns:1fr;overflow:auto}.layout-panel-expanded .layout-canvas{min-height:62vh}.guide-shell{width:min(100% - 24px,1040px);padding-top:24px}.guide-header{display:grid}.guide-content{grid-template-columns:1fr}.guide-content section:first-child,.guide-content .guide-warning{grid-column:auto}.guide-content dl{grid-template-columns:1fr;gap:4px}.guide-content dd+dt{margin-top:8px}.guide-dialog{padding:6px}.guide-dialog-panel{border-radius:9px;width:100%;height:100%;max-height:none}}.layout-drag-surface{touch-action:none}.draggable-stock{cursor:grab}.draggable-stock:active{cursor:grabbing}.draggable-layout-part{cursor:grab}.draggable-layout-part:active{cursor:grabbing}
