:root,:root[data-theme=dark]{color-scheme:dark;--bg: #1e2028;--strip: #303439;--surface: #303439;--surface2: #32343c;--surface3: #42444c;--active: #494d52;--tab-hover: #3b3f45;--row-hover: #2c2e37;--line: #41474d;--ink: #e9ebed;--ink2: #9aa1a7;--ink3: #6b7278;--accent: #22c47e;--accent-soft: #1f3a31;--accent-ink: #0b1f17;--warn: #e0a24a;--danger: #ef7a6d;--view: #23262e;--code: #191b22;--shadow: 0 2px 14px rgba(0, 0, 0, .45);--backdrop: rgba(0, 0, 0, .55);--sc-sheet: #2b2e37;--sc-sheet-edge: #7c858c;--sc-margin: #4a5058;--sc-used: #e0a24a;--sc-part: #8cb4d8;--sc-part-hover: #a9c8e4;--sc-part-edge: #5f82a3;--sc-part-muted: rgba(140, 180, 216, .32);--sc-cut: #e9ebed;--sc-lead: #2ed8a8;--sc-rapid: #9aa1a7;--sc-pierce: #e0a24a;--sc-resume: #9aa1a7;--sc-mark: #6ee6c8;--sc-label: #f3c27a;--sc-halo: rgba(30, 32, 40, .92);--sc-dim: #9aa1a7;--sc-head: #22c47e;--sc-done: #2b6a4d;--sc-done-edge: #22c47e;--sc-slat: #8e98a3;--sc-slat-tip: #d6dde3;--sc-tips: #e0a24a;--sc-falls: #6fa8dc;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--symbol: "Segoe UI Symbol", "Segoe UI", sans-serif;--mono: Consolas, "Cascadia Mono", "Courier New", monospace}:root[data-theme=light]{color-scheme:light;--bg: #eceff3;--strip: #e2e7ed;--surface: #fafbfc;--surface2: #f0f3f6;--surface3: #e4e9ef;--active: #d9e1ea;--tab-hover: #e7ecf1;--row-hover: #f1f4f7;--line: #d1d9e2;--ink: #15233f;--ink2: #54617a;--ink3: #8a94a6;--accent: #0f8f5a;--accent-soft: #dbefe4;--accent-ink: #ffffff;--warn: #c2620f;--danger: #c0392b;--view: #e6ebf1;--code: #fbfcfd;--shadow: 0 3px 16px rgba(21, 35, 63, .13);--backdrop: rgba(21, 35, 63, .32);--sc-sheet: #ffffff;--sc-sheet-edge: #15233f;--sc-margin: #b6c1cf;--sc-used: #ff6a13;--sc-part: #8cb4d8;--sc-part-hover: #a9c8e4;--sc-part-edge: #2b4a74;--sc-part-muted: rgba(140, 180, 216, .38);--sc-cut: #15233f;--sc-lead: #0f8f5a;--sc-rapid: #8a94a6;--sc-pierce: #ff6a13;--sc-resume: #54617a;--sc-mark: #1e6fb8;--sc-label: #b3410a;--sc-halo: rgba(255, 255, 255, .92);--sc-dim: #54617a;--sc-head: #ff6a13;--sc-done: #c8e6d3;--sc-done-edge: #0f8f5a;--sc-slat: #7d8892;--sc-slat-tip: #3f4a53;--sc-tips: #c2620f;--sc-falls: #1e6fb8}@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2) format("woff2")}:root,:root[data-theme=dark]{--ec-bg: #0d0f14;--ec-bg-80: rgba(13, 15, 20, .8);--ec-bg-96: rgba(13, 15, 20, .96);--ec-rail: #11141b;--ec-card: #151822;--ec-card-2: #1a1e28;--ec-popover: #1e222e;--ec-fg-100: #f5f5f5;--ec-fg-96: rgba(245, 245, 245, .96);--ec-fg-80: rgba(245, 245, 245, .8);--ec-fg-72: rgba(245, 245, 245, .72);--ec-fg-64: rgba(245, 245, 245, .64);--ec-fg-56: rgba(245, 245, 245, .56);--ec-fg-48: rgba(245, 245, 245, .48);--ec-fg-32: rgba(245, 245, 245, .32);--ec-fg-24: rgba(245, 245, 245, .24);--ec-fg-16: rgba(245, 245, 245, .16);--ec-fg-12: rgba(245, 245, 245, .12);--ec-fg-8: rgba(245, 245, 245, .08);--ec-fg-6: rgba(245, 245, 245, .06);--ec-fg-4: rgba(245, 245, 245, .04);--ec-green: #00a36d;--ec-green-08: rgba(0, 163, 109, .08);--ec-green-16: rgba(0, 163, 109, .16);--ec-badge: #00cf8a;--ec-amber: #ebc14a;--op-yellow: #ebda84;--op-blue: #84c9eb;--op-coral: #ff7072;--op-green: #84ebb8;--op-violet: #9584eb;--ec-font: "Inter", system-ui, -apple-system, sans-serif;--ec-radius: 4px;--ec-radius-md: 8px;--ec-radius-lg: 12px;--ec-divider: var(--ec-fg-8);--ec-border: var(--ec-fg-16);--ec-shadow: 0 12px 40px rgba(0, 0, 0, .5)}:root[data-theme=light]{--ec-bg: #dcdfe1;--ec-bg-80: rgba(252, 253, 253, .85);--ec-bg-96: rgba(252, 253, 253, .96);--ec-rail: #f0f2f3;--ec-card: #fbfcfc;--ec-card-2: #f2f4f5;--ec-popover: #ffffff;--ec-fg-100: #16191b;--ec-fg-96: rgba(22, 25, 27, .96);--ec-fg-80: rgba(22, 25, 27, .82);--ec-fg-72: rgba(22, 25, 27, .74);--ec-fg-64: rgba(22, 25, 27, .66);--ec-fg-56: rgba(22, 25, 27, .58);--ec-fg-48: rgba(22, 25, 27, .5);--ec-fg-32: rgba(22, 25, 27, .36);--ec-fg-24: rgba(22, 25, 27, .28);--ec-fg-16: rgba(22, 25, 27, .2);--ec-fg-12: rgba(22, 25, 27, .14);--ec-fg-8: rgba(22, 25, 27, .09);--ec-fg-6: rgba(22, 25, 27, .07);--ec-fg-4: rgba(22, 25, 27, .05);--ec-badge: var(--ec-green);--ec-shadow: 0 12px 32px rgba(20, 26, 30, .2)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:12.5px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:1.5px solid var(--accent);outline-offset:1px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--ink3) transparent}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono)}.muted{color:var(--ink2)}.small{font-size:11.5px}.nowrap{white-space:nowrap}.ta-right{text-align:right}.warn-text{color:var(--warn)}.glyph{font-family:var(--symbol)}.link{color:var(--accent);text-decoration:none;cursor:pointer}.link:hover{text-decoration:underline}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{display:grid;grid-template-rows:48px minmax(0,1fr);height:100vh}.menubar{position:relative;z-index:20;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--ec-rail);border-bottom:1px solid var(--ec-divider);font-family:var(--ec-font);font-size:12px;line-height:16px}.brand{display:flex;align-items:center;gap:5px;color:var(--ec-fg-100);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}.brand__mark{width:24px;height:24px;flex:none;color:var(--ec-green)}.brand__name{letter-spacing:.06em}.menubar__sep{width:1px;height:14px;margin:0 4px;background:var(--ec-fg-12);flex:none}.menubar__spacer{flex:1}.jobctx__name{max-width:320px;overflow:hidden;color:var(--ec-fg-100);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.jobctx__chip{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:999px;background:var(--ec-fg-8);color:var(--ec-fg-64);font-size:11px;flex:none}.jobctx__chip--ok{background:var(--ec-green-16);color:var(--ec-badge)}:root[data-theme=light] .jobctx__chip--ok{color:var(--ec-green)}.jobctx__chip--danger{background:#ff70721f;color:var(--op-coral)}.menubar__steps{margin-left:8px}.tconf{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#00000080}:root[data-theme=light] .tconf{background:#0e10103d}.tconf__box{width:360px;max-width:calc(100vw - 32px);padding:16px;background:var(--ec-popover);border:1px solid var(--ec-fg-12);border-radius:10px;box-shadow:0 8px 28px #00000080;font-family:var(--ec-font)}.tconf__title{color:var(--ec-fg-100);font-size:13px;font-weight:600;line-height:18px}.tconf__text{margin-top:4px;color:var(--ec-fg-72);font-size:12px;line-height:16px}.tconf__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.tconf__btn{min-width:72px;height:24px;padding:0 10px;border:0;border-radius:var(--ec-radius);background:var(--ec-fg-12);box-shadow:inset 0 0 0 1px var(--ec-fg-16);color:var(--ec-fg-96);font-size:12px;cursor:pointer}.tconf__btn:hover{background:var(--ec-fg-16)}.tconf__btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--ec-fg-48)}.tconf__btn--danger{background:#ff70721f;box-shadow:none;color:var(--op-coral);font-weight:500}.tconf__btn--danger:hover{background:#ff707233}.tconf__btn--danger:focus-visible{box-shadow:inset 0 0 0 1px var(--op-coral)}.menubar__busy{display:inline-grid;place-items:center;width:20px;color:var(--ec-fg-48);flex:none}.menubar .menubar__cta{display:inline-flex;align-items:center;gap:6px;height:28px;flex:none;padding:0 12px;border:0;border-radius:var(--ec-radius);background:var(--ec-green);color:#04150e;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.menubar .menubar__cta:hover:not(:disabled){background:color-mix(in srgb,#fff 12%,var(--ec-green))}.menubar .menubar__cta:disabled{opacity:.55;cursor:default}.menubar__mock{color:var(--ec-amber);font-size:11px}.tabs{display:flex;align-items:center;gap:2px}.tab{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:0;border-radius:5px;background:transparent;color:var(--ink2);text-decoration:none;white-space:nowrap;cursor:pointer}.tab:hover{background:var(--tab-hover);color:var(--ink)}.tab.is-active{background:var(--active);color:var(--ink)}.tab.is-disabled{opacity:.45;pointer-events:none}.menubar .tabs{gap:2px;padding:2px;border-radius:var(--ec-radius-md);background:var(--ec-fg-12)}.menubar .tab{height:24px;padding:0 12px;border-radius:6px;color:var(--ec-fg-64);font-size:12px;transition:background .12s,color .12s}.menubar .tab:hover{background:transparent;color:var(--ec-fg-100)}.menubar .tab.is-active{background:var(--ec-fg-100);color:var(--ec-bg)}.menubar .rbtn{width:28px;height:28px;border:0;border-radius:var(--ec-radius);background:transparent;color:var(--ec-fg-64)}.menubar .rbtn:hover,.menubar .rbtn.is-open{background:var(--ec-fg-8);color:var(--ec-fg-100)}.menubar .btn--tool{height:28px;padding:0 8px;border:0;border-radius:var(--ec-radius);background:transparent;color:var(--ec-fg-64)}.menubar .btn--tool:hover{background:var(--ec-fg-8);color:var(--ec-fg-100)}.menubar .btn--tool.is-on{background:var(--ec-green-16);color:var(--ec-badge)}.menubar .userbtn{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px 0 2px;border:0;border-radius:var(--ec-radius);background:transparent;cursor:pointer;transition:background .12s}.menubar .userbtn:hover,.menubar .userbtn.is-open{background:var(--ec-fg-8)}.menubar .userbtn__name{font-size:12px;color:var(--ec-fg-80)}.menubar .userbtn__chev{color:var(--ec-fg-48);flex:none}.menubar .avatar{width:24px;height:24px;border:2px solid var(--ec-rail);border-radius:999px;background:var(--op-green);color:#0e1010;font-size:9px;font-weight:700;letter-spacing:0}.menubar .menu{width:auto;min-width:240px;max-width:320px;font-family:var(--ec-font);font-size:12px;background:var(--ec-popover);border:1px solid var(--ec-border);border-radius:var(--ec-radius-md);box-shadow:var(--ec-shadow)}.menubar .menu__head{padding:6px 9px 4px}.menubar .menu__title{color:var(--ec-fg-100)}.menubar .menu__text{color:var(--ec-fg-64)}.menubar .menu__item{display:flex;align-items:center;gap:9px;height:30px;padding:0 9px;border-radius:var(--ec-radius);color:var(--ec-fg-80);white-space:nowrap}.menubar .menu__item:hover{background:var(--ec-fg-8);color:var(--ec-fg-100)}.menubar .menu__item.is-on .menu__n{color:var(--ec-fg-100)}.menubar .menu__g{display:grid;place-items:center;width:15px;flex:none;color:var(--ec-fg-56);font-family:var(--ec-font)}.menubar .menu__g svg{width:15px;height:15px}.menubar .menu__n{flex:1;min-width:0}.menubar .menu__k{margin-left:auto;flex:none;color:var(--ec-fg-48);font-size:11px}.menubar .menu__k svg{display:block;color:var(--ec-green)}.menubar .menu__sep{height:1px;margin:2px 4px;background:var(--ec-divider)}.menubar .menu__info{color:var(--ec-fg-48)}.menubar .menu__info span:last-child{color:var(--ec-fg-64)}.menubar .menu__item.is-danger,.menubar .menu__item.is-danger .menu__g{color:var(--op-coral)}.menubar .menu__item.is-danger:hover{background:#ff707214;color:var(--op-coral)}.page-error{padding:24px;max-width:640px}.ws{display:grid;grid-template-columns:var(--panel-w, 400px) minmax(0,1fr);gap:5px;height:100%;min-height:0;padding:5px;background:var(--ec-bg);font-family:var(--ec-font);font-size:12px;line-height:16px}.ws--editor{--panel-w: 430px}.pcol{display:flex;flex-direction:column;min-width:0;min-height:0}.divider{flex:none;position:relative;touch-action:none}.divider:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:999px;background:transparent;transition:background .12s}.divider--h{height:5px;cursor:row-resize}.divider--h:after{width:40px;height:3px}.divider--h:hover:after,.divider--h.is-active:after{width:100%;height:2px;background:linear-gradient(90deg,rgba(149,132,235,0),var(--op-violet) 50%,rgba(149,132,235,0));box-shadow:0 0 8px #9584eb8c}.divider--v{width:5px;cursor:col-resize}.divider--v:after{width:3px;height:40px}.divider--v:hover:after,.divider--v.is-active:after{height:100%;width:2px;background:linear-gradient(180deg,rgba(149,132,235,0),var(--op-violet) 50%,rgba(149,132,235,0));box-shadow:0 0 8px #9584eb8c}.pcol__list{flex:1 1 auto}.pcol__card{flex:0 1 auto;max-height:62%}.pcol--stack .pcol__scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;margin-right:-5px;overflow:auto;scrollbar-gutter:stable}.pcol__summary{flex:none;overflow:hidden;padding:6px 2px 0;color:var(--ec-fg-64);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.panel__glyph,.card__g{display:none}.panel--sec{flex:none;min-height:0}.pcol--stack{overflow-y:auto;scrollbar-gutter:stable;margin-right:-5px;padding-right:0}.pcol--stack .panel--elastic{flex:0 1 auto;min-height:150px}.panel--elastic .panel__body{display:flex;flex-direction:column;overflow:hidden}.panel--elastic .panel__body>*{flex:none}.panel--elastic .sheet-rows{flex:0 1 auto;min-height:52px;overflow-y:auto;scrollbar-gutter:stable}.panel--elastic .sheet-row--head{position:sticky;top:0;z-index:1;background:var(--ec-card-2)}.panel__info{display:inline-grid;place-items:center;width:20px;height:20px;flex:none;color:var(--ec-fg-48);cursor:help}.panel__info:hover{color:var(--ec-fg-100)}.pcol--stack>.pcol__summary{position:sticky;bottom:0;margin-top:auto;background:var(--ec-bg)}.panel--sec.is-collapsed,.panel.is-collapsed{flex:none!important;height:auto!important;max-height:none!important}.panel--sec .panel__head{padding-left:6px}.panel--sec .panel__body{flex:1 1 auto;min-height:0;overflow:auto;padding:4px 10px 10px}.pcol--stack>.note,.pcol--stack>.card{flex:none;margin:0 0 5px}.panel__collapse{width:24px;height:24px;color:var(--ec-fg-48)}.panel__title.is-toggle,.card__t.is-toggle{cursor:pointer;user-select:none}.panel__title.is-toggle:hover,.card__t.is-toggle:hover{color:var(--ec-fg-100)}.panel__collapse svg{transition:transform .15s}.panel.is-collapsed .panel__collapse svg,.card.is-collapsed .panel__collapse svg{transform:rotate(-90deg)}.panel.is-collapsed .panel__head{border-bottom:0}.panel__body[hidden],.card__body[hidden]{display:none}.card__hd .panel__collapse{width:20px;height:20px;margin-left:-4px}.pcol__card .panel__body{padding:6px}.pcol--editor .pcol__list{flex:0 1 auto}.pcol--editor .pcol__card{flex:1 1 auto;max-height:none}.pcol__card .prop,.pcol__card .order-form .field{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0 8px;min-height:26px;margin:0;padding:1px 0}.pcol__card .prop__v{text-align:left}.pcol__card .order-form{gap:0;margin-bottom:0}.pcol__card .order-form .input{height:22px;padding:1px 6px}.panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--ec-card-2);border:1px solid var(--ec-border);border-radius:var(--ec-radius-md)}.panel__modes{display:flex;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--ec-divider)}.panel__head{display:flex;align-items:center;gap:4px;min-height:36px;flex:none;padding:0 6px 0 12px;border-bottom:1px solid var(--ec-divider)}.panel__glyph{width:20px;flex:none;color:var(--ec-fg-56);font-family:var(--symbol);font-size:14px}.panel__title{flex:1;min-width:0;overflow:hidden;color:var(--ec-fg-100);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.panel__title-tag{margin-left:6px;color:var(--ec-fg-48);font-size:11px;font-weight:400}.panel__head .rbtn{width:24px;height:24px;border-radius:var(--ec-radius);background:transparent;color:var(--ec-fg-56);transition:background .12s,color .12s}.panel__head .rbtn:hover,.panel__head .rbtn.is-open{background:var(--ec-fg-8);color:var(--ec-fg-100)}.panel__head .btn{height:24px;padding:0 10px;border:0;border-radius:var(--ec-radius);background:var(--ec-fg-4);color:var(--ec-fg-72);font-size:12px;white-space:nowrap}.panel__head .btn:hover:not(:disabled){background:var(--ec-fg-12);color:var(--ec-fg-96)}.panel__head .btn--danger{background:transparent;color:var(--op-coral)}.panel__head .btn--danger:hover:not(:disabled){background:#ff707214;color:var(--op-coral)}.panel__head .panel__cta{height:24px;flex:none;margin-left:4px;padding:0 10px;border:0;border-radius:var(--ec-radius);background:var(--ec-green);color:#04150e;font-size:12px;font-weight:500;white-space:nowrap}.panel__head .panel__cta:hover:not(:disabled){background:color-mix(in srgb,#fff 12%,var(--ec-green));color:#04150e}.panel__tree{flex:0 1 auto;max-height:45%;min-height:60px;overflow:auto;padding:6px 6px 10px}.panel__tree--grow{flex:1 1 auto;max-height:none}.panel__tree--fixed{flex:0 0 auto;max-height:none}.panel__props{flex:0 1 auto;max-height:62%;overflow:auto;padding:2px 6px 10px;border-top:1px solid var(--ec-divider)}.panel__props--grow{flex:1 1 auto;max-height:none}.panel__body{flex:1;min-height:0;overflow:auto;padding:2px 6px 12px}.panel__status{padding:5px 12px;border-top:1px solid var(--ec-divider);color:var(--ec-fg-64);font-size:11.5px}.panel__status.is-warn{color:var(--warn)}.panel__status.is-error{color:var(--danger)}.panel__status.is-ok{color:var(--accent)}.panel__foot{display:flex;align-items:center;gap:8px;min-height:28px;flex:none;padding:2px 10px 2px 12px;border-top:1px solid var(--ec-divider)}.panel__summary{flex:1;min-width:0;overflow:hidden;color:var(--ec-fg-64);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.gh{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:12px 6px 4px;color:var(--ink3);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.gh:first-child{margin-top:6px}.gh__aside{font-weight:400;letter-spacing:0;text-transform:none}.row{display:flex;align-items:center;width:100%;min-height:25px;margin:1px 0;padding:3px 6px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;text-decoration:none;cursor:pointer}.row:hover{background:var(--row-hover)}.row.is-selected{background:var(--active)}.row--child{padding-left:24px}.row--static{cursor:default}.row--static:hover{background:transparent}.row__g{display:inline-flex;align-items:center;width:20px;flex:none;color:var(--ink2);font-family:var(--symbol);font-size:13px}.row__n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__d{flex:none;margin-left:10px;color:var(--ink2);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.row.is-current .row__n{color:var(--accent)}.row.is-warn .row__g,.row.is-warn .row__d{color:var(--warn)}.row.is-error .row__g,.row.is-error .row__d{color:var(--danger)}.row.is-muted .row__n{color:var(--ink2)}.tree-empty{padding:6px 8px;color:var(--ink2);font-size:11.5px}.card{margin:8px 2px;padding:8px 10px 10px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.card--plain{margin:2px 4px;padding:2px 6px 8px;background:transparent;border:0;border-radius:0}.panel__cut{height:1px;flex:none;margin:4px 10px;background:var(--ec-divider)}.panel__body>.panel__cut:first-child{display:none}.pcol--form .field,.panel--form .field,.pcol--form .prop,.panel--form .prop{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0 8px;min-height:26px;margin:0;padding:1px 0}.pcol--form .prop__v,.panel--form .prop__v{text-align:left}.pcol--form .check--cell,.panel--form .check--cell{margin:0;align-items:center;cursor:pointer}.panel--form .panel__body{padding-right:0;scrollbar-gutter:stable}.panel--form .card--plain{margin-right:0}.card__hd{display:flex;align-items:center;gap:4px;min-height:26px}.card__g{width:20px;flex:none;color:var(--ink2);font-family:var(--symbol);font-size:14px}.card__t{flex:1;min-width:0;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.card__new{padding:0 5px;border:1px solid var(--accent);border-radius:3px;color:var(--accent);font-size:10px;letter-spacing:.08em}.card__hint{margin:2px 0 8px;color:var(--ink2);font-size:11.5px}.card__sub{margin:12px 0 4px;color:var(--ink3);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.card__sub:first-child{margin-top:2px}.card__sep{height:1px;margin:8px 0;background:var(--line)}.card__actions{display:flex;align-items:center;gap:4px;margin-top:10px}.card__actions--end{justify-content:flex-end}.spacer{flex:1}.prop{display:grid;grid-template-columns:minmax(96px,42%) minmax(0,1fr);align-items:baseline;gap:0 8px;padding:2px 0}.prop__l{color:var(--ink2)}.prop__v{min-width:0;overflow:hidden;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}.prop__u{margin-left:4px;color:var(--ink2)}.prop.is-warn .prop__v{color:var(--warn)}.prop.is-accent .prop__v{color:var(--accent)}.note{display:flex;gap:8px;margin:8px 2px;padding:7px 10px;background:var(--surface);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;font-size:11.5px}.note--warn{border-left-color:var(--warn)}.note--error{border-left-color:var(--danger)}.note__body{flex:1;min-width:0}.note__title{font-weight:600}.note__text{color:var(--ink2);overflow-wrap:anywhere}.note ul{margin:4px 0 0;padding-left:16px;color:var(--ink2)}.note li{margin:2px 0}.note__file{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:26px;padding:0 12px;border:1px solid transparent;border-radius:7px;background:var(--surface2);color:var(--ink);text-decoration:none;white-space:nowrap;cursor:pointer}.btn:hover{background:var(--surface3)}.btn--primary{padding:0 16px;background:var(--accent-soft);border-color:var(--accent);font-size:13px}.btn--primary:hover{background:var(--accent-soft);filter:brightness(1.18)}.btn--tool{height:24px;padding:0 9px;border-radius:4px;background:transparent}.btn--tool:hover{background:var(--surface2)}.btn--tool.is-on{background:var(--active)}.btn--icon{width:26px;padding:0}.btn--danger:hover{color:var(--danger)}.btn:disabled,.btn.is-disabled,.rbtn:disabled{opacity:.45;cursor:default;pointer-events:none}.rbtn{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;padding:0;border:0;border-radius:var(--ec-radius);background:transparent;color:var(--ec-fg-56);font-family:var(--symbol);cursor:pointer;transition:background .12s,color .12s}.rbtn:hover,.rbtn.is-open{background:var(--ec-fg-8);color:var(--ec-fg-100)}.rbtn--small{width:22px;height:22px}.field{display:grid;grid-template-columns:minmax(96px,38%) minmax(0,1fr);align-items:center;gap:2px 8px;margin:5px 0}.field__label{color:var(--ink2)}.field__hint{grid-column:2;color:var(--ink2);font-size:11.5px}.field__hint.is-error{color:var(--danger)}.field--stack{grid-template-columns:minmax(0,1fr)}.field--stack .field__hint{grid-column:1}.input{width:100%;min-width:0;height:24px;padding:0 8px;background:var(--ec-fg-4);border:1px solid transparent;border-radius:var(--ec-radius);color:var(--ec-fg-100);font-size:12px;outline:none;transition:background .12s,border-color .12s}.input::placeholder{color:var(--ec-fg-48)}.input:hover:not(:disabled):not([readonly]){background:var(--ec-fg-8)}.input:focus{border-color:var(--ec-fg-16)}.input.is-invalid{border-color:var(--op-coral)}.input:disabled{opacity:.45}.input[readonly]{color:var(--ec-fg-64)}.input.num{text-align:right}.input--mono{font-family:var(--mono)}.input--qty{width:44px;flex:none;text-align:right}select.input{appearance:none;padding-right:24px;background-image:linear-gradient(45deg,transparent 50%,var(--ec-fg-48) 50%),linear-gradient(135deg,var(--ec-fg-48) 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 9px) 50%;background-size:4px 4px;background-repeat:no-repeat;cursor:pointer}select.input option{background:var(--ec-popover);color:var(--ec-fg-96)}textarea.input{height:auto;padding:5px 7px;font-family:var(--mono);font-size:12px;line-height:1.5;resize:vertical}.input-unit{display:flex;align-items:center;gap:4px;min-width:0;height:24px;background:var(--ec-fg-4);border:1px solid transparent;border-radius:var(--ec-radius);transition:background .12s,border-color .12s}.input-unit:has(.input-unit__u){padding-right:8px}.input-unit:hover{background:var(--ec-fg-8)}.input-unit:focus-within{border-color:var(--ec-fg-16)}.input-unit:has(.input.is-invalid){border-color:var(--op-coral)}.input-unit .input{height:100%;background:transparent;border:0}.input-unit .input:focus-visible{outline:none}.input-unit__u{flex:none;min-width:14px;color:var(--ec-fg-48);font-size:11px}.check{display:flex;align-items:flex-start;gap:8px;margin:6px 0;cursor:pointer}.check input{flex:none;width:14px;height:14px;margin:1px 0 0;accent-color:var(--accent)}.check__label{display:block}.check__hint{display:block;color:var(--ink2);font-size:11.5px}.check.is-disabled{opacity:.45;pointer-events:none}.segmented{display:flex;gap:2px;max-width:100%;height:24px;padding:2px;background:var(--ec-fg-4);border:0;border-radius:var(--ec-radius)}.segmented__item{position:relative;flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:0 10px;border-radius:2px;color:var(--ec-fg-64);white-space:nowrap;cursor:pointer;transition:background .12s,color .12s}.segmented__item:hover{color:var(--ec-fg-100)}.segmented__item input{position:absolute;opacity:0;pointer-events:none}.segmented__item.is-active{background:var(--ec-fg-16);color:var(--ec-fg-100)}.segmented.is-disabled{opacity:.45;pointer-events:none}.radio-cards{display:grid;gap:1px;margin:4px 0 6px}.radio-cards--grid{grid-template-columns:1fr 1fr;gap:4px}.radio-card{position:relative;display:flex;align-items:flex-start;gap:8px;padding:5px 8px;border-radius:5px;cursor:pointer}.radio-card:hover{background:var(--row-hover)}.radio-card.is-active{background:var(--active)}.radio-card input{flex:none;margin:2px 0 0;accent-color:var(--accent)}.radio-cards--grid .radio-card input{position:absolute;opacity:0;pointer-events:none}.radio-card__icon{display:inline-grid;place-items:center;flex:none;color:var(--ink2)}.radio-card.is-active .radio-card__icon,.radio-card.is-active .radio-card__label{color:var(--accent)}.radio-card__text{min-width:0}.radio-card__label{display:block}.radio-card__hint{display:block;color:var(--ink2);font-size:11.5px}.range{width:100%;height:16px;margin:0;background:transparent;appearance:none;cursor:pointer}.range::-webkit-slider-runnable-track{height:3px;background:var(--line);border-radius:2px}.range::-moz-range-track{height:3px;background:var(--line);border-radius:2px}.range::-webkit-slider-thumb{width:13px;height:13px;margin-top:-5px;border:0;border-radius:50%;background:var(--accent);appearance:none}.range::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:var(--accent)}.range:disabled{opacity:.45;cursor:default}.range__labels{display:flex;justify-content:space-between;color:var(--ink3);font-size:11px}.progress{height:3px;margin:8px 0 6px;overflow:hidden;background:var(--line);border-radius:2px}.progress__bar{height:100%;background:var(--accent);transition:width .3s ease}.view{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--view);border:1px solid var(--ec-border);border-radius:var(--ec-radius-md)}.fp{display:flex;align-items:center;gap:4px;max-width:100%;padding:5px 8px;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.fp__sep{width:1px;height:18px;margin:0 4px;background:var(--line)}.fp__label{padding:0 4px;color:var(--ink2);white-space:nowrap}.fp__text{padding:0 4px;white-space:nowrap}.fp .input{height:22px}.fp__kits{display:inline-flex;align-items:center;gap:6px}.fp__kits .input{width:52px;text-align:right}.view__top,.view__bottom{position:absolute;left:50%;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100% - 32px);transform:translate(-50%);pointer-events:none}.view__top{top:12px;max-width:calc(100% - 320px)}.view__bottom{right:16px;bottom:16px;left:16px;gap:5px;max-width:none;transform:none}.view__top>*,.view__bottom>*{pointer-events:auto}.next-hint{max-width:420px;color:var(--accent);font-weight:600;text-align:center;text-shadow:0 1px 3px var(--view)}.next-hint.is-warn{color:var(--warn)}.view__status{max-width:100%;overflow:hidden;color:var(--ink2);font-size:11.5px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;text-shadow:0 1px 3px var(--view);white-space:nowrap}.view__status .is-warn{color:var(--warn)}.view__corner{position:absolute;top:12px;right:12px;z-index:3}.tb{display:flex;gap:2px;padding:2px;background:var(--strip);border-radius:7px}.tb .rbtn{width:26px;height:26px;border-radius:5px}.view__legend{position:absolute;top:12px;left:12px;z-index:2}.view__legend--bottom{top:auto;bottom:16px}.view__legend--under{top:136px}.view__legend--corner{top:52px;right:16px;left:auto}.view__bottom--solid .view__status{padding:2px 8px;background:var(--bg);border:1px solid var(--line);border-radius:5px;text-shadow:none}.view__center{position:absolute;inset:0;display:grid;place-items:center;padding:24px}.view__center--overlay{z-index:2;pointer-events:none}.fp--msg{gap:8px;padding:8px 14px;color:var(--ink)}.view-msg{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:420px;color:var(--ink2);text-align:center}.view-msg__title{color:var(--ink);font-size:14px;font-weight:600}.drop{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(520px,100%);padding:44px 28px;border:1.5px dashed var(--line);border-radius:8px;color:var(--ink2);text-align:center;cursor:pointer}.drop:hover{border-color:var(--ink3)}.drop__icon{color:var(--ink)}.drop__title{color:var(--ink);font-size:14px;font-weight:600}.drop-overlay{position:absolute;inset:10px;z-index:10;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:8px;background:color-mix(in srgb,var(--view) 82%,transparent);color:var(--accent);font-size:14px;font-weight:600;pointer-events:none}.menu-anchor{position:relative}.menu{position:absolute;top:calc(100% + 4px);right:0;z-index:40;width:320px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.menu__head{padding:6px 8px 4px}.menu__title{font-weight:600}.menu__text{color:var(--ink2);font-size:11.5px}.menu__item{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:0 8px;width:100%;padding:5px 8px;border:0;border-radius:4px;background:transparent;text-align:left;cursor:pointer}.menu__item:hover{background:var(--row-hover)}.menu__item.is-on .menu__n{color:var(--accent)}.menu__g{color:var(--ink2);font-family:var(--symbol)}.menu__k{color:var(--ink3);font-size:11px}.menu__sep{height:1px;margin:4px 6px;background:var(--line)}.menu__info{display:grid;grid-template-columns:70px minmax(0,1fr);gap:0 8px;padding:2px 8px;color:var(--ink3);font-size:11px}.menu__info span:last-child{overflow-wrap:anywhere;color:var(--ink2)}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:var(--backdrop)}.modal__box{width:min(440px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:10px 14px 14px;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.modal__actions{display:flex;justify-content:flex-end;gap:4px;margin-top:14px}.real-view{position:absolute;inset:0;overflow:hidden;background:#121318}.real-view__canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}.sheet-view{position:absolute;inset:0;overflow:hidden;user-select:none}.sheet-view__svg{display:block;cursor:grab}.sheet-view__svg.is-panning{cursor:grabbing}.sv-sheet{fill:var(--sc-sheet);stroke:var(--sc-sheet-edge)}.sv-margin{fill:none;stroke:var(--sc-margin)}.sv-used{fill:none;stroke:var(--sc-used)}.sv-free{fill:var(--sc-used);stroke:var(--sc-used);font-family:var(--font);font-weight:600}.sv-free text{stroke:none}.sv-parts{fill:var(--sc-part);stroke:var(--sc-part-edge);stroke-linejoin:round}.part-edge{stroke:var(--edge)}:where(:root[data-theme=dark]) .part-edge{stroke:var(--edge-dark, var(--edge));stroke-width:.8px;vector-effect:non-scaling-stroke}.sv-parts path:hover{filter:brightness(1.15)}.sv-focus{fill:var(--accent);fill-opacity:.18;stroke:var(--accent);animation:sv-focus 1.4s ease-in-out infinite;pointer-events:none}@keyframes sv-focus{50%{fill-opacity:.4}}.order-form{display:grid;gap:6px;margin-bottom:8px}.jobs-filter{display:grid;gap:6px;padding:8px 10px 4px}.jobs-filter__search{position:relative;display:flex;align-items:center;gap:6px;color:var(--ink3)}.jobs-filter__search>svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ec-fg-48)}.jobs-filter__search .input{flex:1;min-width:0;padding-left:27px}.jobs-filter__row{display:flex;flex-wrap:wrap;gap:6px}.jobs-filter__funnel{position:relative}.jobs-filter__funnel.is-open{background:var(--ec-fg-8);color:var(--ec-fg-100)}.jobs-filter__badge{position:absolute;top:-2px;right:-2px;display:grid;place-items:center;min-width:13px;height:13px;padding:0 3px;border-radius:999px;background:var(--ec-badge);color:#04150e;font-size:9px;font-weight:700}.jobs-filter__select{flex:1 1 calc(50% - 3px);min-width:0;font-size:12px}.jobs-folder__head{width:calc(100% - 12px);border:0;background:none;cursor:pointer;text-align:left;font:inherit;font-size:10.5px}.jobs-folder__head:hover{color:var(--ink)}.jobs-folder__name{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0;font-size:12px}.tags-input{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:3px 6px;min-height:28px;border:1px solid var(--line);border-radius:6px;background:var(--bg-input, var(--bg))}.tags-input__text{flex:1;min-width:80px;border:0;outline:0;background:none;color:var(--ink);font:inherit;font-size:12px}.tag-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:10px;background:var(--accent-soft, rgba(16, 140, 90, .12));color:var(--ink);font-size:11.5px}.tag-chip button{display:inline-flex;border:0;padding:0;background:none;color:var(--ink3);cursor:pointer}.bulk-meta{display:flex;gap:6px;margin-bottom:6px}.bulk-meta .input{flex:1;min-width:0}.report-labels{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.report-labels__map{align-self:center}.sv-parts path.is-cut{fill:var(--sc-done);fill-opacity:.9;stroke:var(--sc-done-edge);stroke-opacity:1}.legend__done{fill:var(--sc-done);stroke:var(--sc-done-edge);stroke-width:1}.sv-parts--muted path{fill-opacity:.3;stroke-opacity:.6}.sv-cut{pointer-events:none}.sv-bridges{fill:var(--accent);fill-opacity:.55;stroke:var(--accent)}.sv-bridge-pick{fill:none;stroke:var(--accent);stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.sv-tilt__hole{fill:#15233f61}:root[data-theme=dark] .sv-tilt__hole{fill:#0000008c}.sv-tilt__piece{fill:#c9d1dc;stroke:#4a5568}:root[data-theme=dark] .sv-tilt__piece{fill:#6b7584;stroke:#d6dce5}.sv-tilt__piece.is-may{fill-opacity:.55}.sv-tilt__piece.is-gas{stroke:#1e7bd6}.sv-tilt__label{fill:#b45309;font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sv-strike circle{fill:none;stroke:#ef4444}.sv-strike__core{fill:#ef4444;stroke:none}.sv-strike__mark{stroke:#ef4444;stroke-linecap:round;fill:none}.sim__speed{display:flex;flex:0 1 auto;align-items:center;gap:6px;min-width:0}.sim__speed-range{flex:0 1 110px;width:110px;min-width:56px}.sim__speed-val{min-width:46px;font-size:12px;color:var(--text-2);text-align:right}.sim__up{font-size:12px;color:#ffb347;white-space:nowrap}.sim__up.is-off{visibility:hidden}.sim__beam{display:inline-flex;align-items:center;gap:6px;min-width:92px;font-size:12px;color:var(--text-2);white-space:nowrap}.sim__beam i{width:8px;height:8px;border-radius:50%;background:var(--line)}.sim__beam.is-on{color:var(--text)}.sim__beam.is-on i{background:#ff7a2f;box-shadow:0 0 8px #ff7a2f}.sv-common{fill:none;stroke:var(--accent);stroke-opacity:.45;stroke-linecap:round}.sv-cut__line{fill:none;stroke:var(--sc-cut);stroke-linejoin:round}.sv-cut__rapid{fill:none;stroke:var(--sc-rapid)}.sv-slats__body{fill:none;stroke:var(--sc-slat);stroke-opacity:.45}.sv-slats__tip{fill:none;stroke:var(--sc-slat-tip);stroke-opacity:.9}.sv-slats.is-approx .sv-slats__body,.sv-slats.is-approx .sv-slats__tip{stroke-opacity:.35}.sv-sup{fill:none}.sv-sup.is-tips{fill:var(--hatch);stroke:var(--sc-tips)}.sv-sup.is-maytip{fill:var(--hatch);fill-opacity:.4;stroke:var(--sc-tips);stroke-opacity:.55}.sv-sup.is-falls{stroke:var(--sc-falls);stroke-dasharray:3 2}.sv-support__hatch{stroke:var(--sc-tips);stroke-opacity:.7}.legend__slat{stroke:var(--sc-slat);stroke-width:3;stroke-opacity:.6}.legend__slat-tip{stroke:var(--sc-slat-tip);stroke-width:3}.legend__tips{fill:color-mix(in srgb,var(--sc-tips) 30%,transparent);stroke:var(--sc-tips);stroke-width:1.2}.legend__maytip{fill:color-mix(in srgb,var(--sc-tips) 12%,transparent);stroke:var(--sc-tips);stroke-opacity:.55;stroke-width:1.2}.legend__falls{fill:none;stroke:var(--sc-falls);stroke-width:1.2;stroke-dasharray:3 2}.sv-cut__lift{fill:none;stroke:var(--warn)}.sv-cut__pierce{fill:none;stroke:var(--sc-pierce);stroke-linecap:round}.sv-cut__lead{fill:none;stroke:var(--sc-lead);stroke-linejoin:round;stroke-linecap:round}.sv-cut__mark{fill:none;stroke:var(--sc-mark)}.sv-cut__tab{fill:none;stroke:var(--sc-pierce);stroke-linecap:butt;opacity:.85}.sv-cut__resume{fill:none;stroke:var(--sc-resume);stroke-linecap:round}.sv-cut.is-sim path{stroke-opacity:.3}.sv-sim{pointer-events:none}.sv-sim__cut,.sv-sim__lead,.sv-sim__rapid{fill:none;stroke-linejoin:round;stroke-linecap:round}.sv-sim__cut{stroke:var(--sc-cut)}.sv-sim__lead{stroke:var(--sc-lead)}.sv-sim__rapid{stroke:var(--sc-head)}.sv-sim__head{fill:var(--sc-head);stroke:var(--bg)}.sv-sim__halo{fill:var(--sc-head);fill-opacity:.25;stroke:none}.sv-sim__head.is-rapid,.sv-sim__head.is-idle{fill:var(--bg);stroke:var(--sc-head)}.sv-sim__head.is-dwell{fill:var(--sc-pierce)}.sv-labels{fill:var(--sc-label);font-family:var(--font);font-weight:600;paint-order:stroke;stroke:var(--sc-halo);stroke-width:.3em;stroke-linejoin:round;pointer-events:none}.sv-dims{fill:var(--sc-dim);stroke:var(--sc-dim);font-family:var(--font)}.sv-dims text{stroke:none}.legend{display:grid;gap:3px;padding:7px 10px;color:var(--ink2);font-size:11.5px}.legend__item{display:flex;align-items:center;gap:8px}.legend__item svg{flex:none}.legend__cut{stroke:var(--sc-cut);stroke-width:1.5}.legend__rapid{stroke:var(--sc-rapid);stroke-width:1.5;stroke-dasharray:4 3}.legend__tab{stroke:var(--sc-pierce);stroke-width:2.4}.legend__lift{stroke:var(--warn);stroke-width:1.8;stroke-dasharray:4 3}.legend__pierce{stroke:var(--sc-pierce);stroke-width:1.6;stroke-linecap:round}.legend__lead{stroke:var(--sc-lead);stroke-width:2}.legend__resume{stroke:var(--sc-resume);stroke-width:1.4;stroke-linecap:round}.legend__mark{fill:none;stroke:var(--sc-mark);stroke-width:1.4}.sim{gap:6px;min-width:0}.sim__range{flex:1 1 300px;width:300px;min-width:60px}.sim__time{min-width:92px;color:var(--ink2);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.sim__time b{color:var(--ink);font-weight:400}.strip{display:flex;align-items:center;gap:2px;min-width:0}.strip__items{display:flex;align-items:center;gap:3px;max-width:min(44vw,560px);padding:3px;overflow-x:auto;scrollbar-width:none}.strip__item{flex:none;padding:2px;border:0;border-radius:4px;background:transparent;line-height:0;cursor:pointer}.strip__item:hover{background:var(--surface2)}.strip__item.is-active{box-shadow:inset 0 0 0 2px var(--accent)}.strip__sheet{fill:var(--sc-sheet);stroke:var(--sc-sheet-edge);stroke-width:1}.sheet-view__svg.is-selecting{cursor:default}.sv-band{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--accent);stroke-width:1}.sv-band.is-crossing{stroke-dasharray:5 3}.se-sel{fill:none;stroke:var(--accent);stroke-linejoin:round}.se-hover{fill:none;stroke:var(--ink);stroke-opacity:.7;stroke-linejoin:round}.se-arrow{fill:none;stroke:var(--ink2);stroke-linecap:round;stroke-linejoin:round}.se-ghost circle{fill:none;stroke:var(--sc-lead);opacity:.75}.se-ghost circle+circle{fill:var(--sc-lead);stroke:none}.se-dot{fill:var(--bg);stroke:var(--ink2)}.se-arrow.is-manual,.se-dot.is-manual{stroke:var(--accent)}.se-dot.is-manual{fill:var(--accent)}.se-conflict{fill:none;stroke:var(--warn)}.se-lead{fill:none;stroke:var(--sc-lead);stroke-linejoin:round;stroke-linecap:round}.sheet-view__svg:has(.se) .sv-cut__lead{display:none}.se-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:2px 0 4px;color:var(--ink2);font-size:11.5px}.se-legend__item{display:inline-flex;align-items:center;gap:4px}.se-legend__line{stroke:var(--sc-lead);stroke-linecap:round}.se-check{display:inline-flex;align-items:center;gap:4px;margin-left:6px;color:var(--ink2);font-size:12px}.se-row--warn{color:var(--warn);font-size:12px;gap:8px}.se-handle{fill:var(--bg);stroke:var(--accent)}.se-lock{fill:none;stroke:var(--ink2)}.se-preview{fill:none;stroke:var(--accent)}.se-preview__pierce{fill:var(--accent);stroke:var(--bg)}.sheet-view__svg.is-selecting .se-handle{cursor:move}.se-sub{display:flex;gap:10px}.se-tab{padding:0;border:0;background:none;color:var(--ink2);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.se-tab.is-on{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.se-row{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:2px 0}.se-row__sep{width:1px;height:16px;margin:0 4px;background:var(--line)}.se-deg{width:52px}.card__count{color:var(--ink2);font-size:11.5px}.menu--left{right:auto;left:0}.menu__row{display:grid;grid-template-columns:22px 1fr 56px auto auto;align-items:center;gap:0 6px;padding:3px 8px}.menu__input{height:22px}.menu__u{color:var(--ink2);font-size:11px}.menu__foot{padding:6px 8px 4px}.menu__item:disabled{opacity:.45;cursor:default}.part-thumb__shape{fill:var(--sc-part);stroke:var(--sc-part-edge);stroke-width:1}.gallery{position:absolute;inset:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-content:start;gap:10px;overflow:auto;padding:92px 24px 64px}.tile{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.tile.is-zero{opacity:.5}.tile.is-invalid{border-color:var(--danger)}.tile__thumb{display:grid;place-items:center;height:104px;padding:6px;background:var(--view);border-radius:4px}.tile__thumb svg{width:100%;height:100%}.tile__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile__foot{display:flex;align-items:center;gap:4px}.tile__size{flex:1;min-width:0;overflow:hidden;color:var(--ink2);font-size:11.5px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.sheet-rows{display:grid;gap:4px;margin:4px 0}.sheet-row{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) minmax(0,.9fr) 22px 22px;align-items:center;gap:4px}.sheet-row--head{color:var(--ink3);font-size:11px}.sheet-row__x{color:var(--ink3);text-align:center}.kerf-table{width:100%;margin:4px 0;border-collapse:collapse}.kerf-table th{padding:2px 4px 4px 0;color:var(--ink3);font-size:11px;font-weight:400;text-align:left}.kerf-table td{padding:2px 4px 2px 0}.kerf-table__del{width:24px}.lead-rows{display:flex;flex-direction:column;gap:6px;margin:4px 0 6px}.lead-row{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid var(--line);border-radius:6px}.lead-row__line{display:flex;align-items:center;gap:6px}.lead-row__label{flex:none;width:62px;color:var(--ink2);font-size:11.5px}.lead-row__material{flex:1;min-width:0}.lead-row__upto{color:var(--ink2);font-size:11.5px}.lead-row__del{margin-left:auto}.lead-cell{display:flex;align-items:center;gap:3px}.lead-cell__kind{flex:none;width:58px;padding-right:2px}.lead-cell__num{gap:2px}.lead-cell__num .input{width:40px}.section-edit{margin:8px 0 10px}.section-edit__name{font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.chip{padding:1px 6px;border:1px solid var(--line);border-radius:4px;background:var(--surface2);color:var(--ink);font-family:var(--mono);font-size:11px;cursor:pointer}.chip:hover{border-color:var(--accent);color:var(--accent)}.gcode{position:absolute;inset:0;overflow:auto;padding:96px 0 84px;background:var(--code);font-family:var(--mono);font-size:12px;line-height:1.6}.gcode__lines{max-width:980px;margin:0 auto}.gcode__line{display:grid;grid-template-columns:calc(var(--gutter, 4ch) + 22px) minmax(0,1fr)}.gcode__line.is-changed{background:var(--accent-soft)}.gcode__line.is-changed .gcode__no{box-shadow:inset 3px 0 0 var(--accent);color:var(--accent)}.gcode__no{padding-right:12px;color:var(--ink3);text-align:right;user-select:none}.gcode__text{padding-right:12px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.form-grid{display:block}.form-subtitle,.form-block__title{margin:12px 0 4px;padding:0;color:var(--ink3);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.form-block{min-width:0;margin:0;padding:0;border:0}.form-block .segmented{margin:2px 0 4px}.form-gap{margin-top:8px}.placeholders{margin-top:12px}.placeholders .hint{color:var(--ink2);font-size:11.5px}.api-billing{flex:1;color:var(--warn, #c77700)}.api-billing.is-on{color:var(--accent)}.export-dxf{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:8px}.export-dxf .check{grid-column:1 / -1}.rule-priority{display:grid;grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:6px}.rule-priority .segmented__item{min-width:0;padding-inline:4px}.post-history{width:min(560px,100%)}.post-history__list{display:grid;gap:6px;margin:6px 0 0;padding:0;list-style:none}.post-history__list li{display:grid;grid-template-columns:170px 1fr;gap:12px}.post-history__v{color:var(--ec-fg-64);font-variant-numeric:tabular-nums}.segmented.chat-clients{flex-wrap:wrap;height:auto}.chat-clients .segmented__item{flex:1 0 auto;height:20px;padding-inline:8px}.kerf-chart__actions{display:flex;flex-wrap:wrap;gap:6px}.kerf-chart .hint{color:var(--ink2);font-size:11.5px}.kerf-chart .btn{margin-top:4px}.hint{color:var(--ink2);font-size:11.5px}.signin{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--view)}.signin__box{width:min(420px,100%);padding:28px 28px 22px;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.signin__brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.signin__title{margin:18px 0 6px;font-size:18px;font-weight:600}.signin__text,.signin__note{color:var(--ink2)}.signin__actions{display:flex;gap:8px;margin:18px 0 12px}.signin__note{font-size:11.5px}.avatar{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface2);color:var(--ink);font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer}.avatar:hover,.avatar.is-open{background:var(--surface3)}a.menu__item{color:inherit;text-decoration:none}.plans{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:16px;padding:80px 24px 40px;overflow:auto}.plan-card{display:flex;flex-direction:column;gap:10px;width:280px;padding:18px 18px 16px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.plan-card.is-current{box-shadow:inset 0 0 0 2px var(--accent)}.plan-card__name{font-size:14px;font-weight:600}.plan-card__price{font-size:20px;font-variant-numeric:tabular-nums}.plan-card__features{margin:0;padding:0;list-style:none;color:var(--ink3)}.plan-card__features li{display:flex;gap:8px;padding:3px 0}.plan-card__features li.is-on{color:var(--ink)}.plan-card__features li.is-on .glyph{color:var(--accent)}.plan-card__action{display:flex;align-items:center;gap:8px;min-height:28px;margin-top:auto}.plan-card__current{color:var(--ink2);font-size:11.5px}.app__main{min-height:0}.app__drop{height:100%}.gallery--plain{padding-top:64px}.file-strip{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:6px 2px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink2)}.file-strip__name{font-weight:600;color:var(--ink);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-strip__check{display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding-bottom:5px}.file-strip__n,.file-strip__name{padding-bottom:5px}.file-strip__layer span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-strip__layer.is-off span{text-decoration:line-through;opacity:.7}.file-strip__layer.is-engrave span{font-style:italic}.fp__num{width:56px}.fp__word{width:96px}.fp__busy{display:inline-grid;place-items:center;width:16px;color:var(--ink2)}button.segmented__item{border:0;background:transparent}button.segmented__item.is-active{background:var(--active)}button.segmented__item:disabled{opacity:.45;cursor:default}.loading{display:flex;align-items:center;gap:8px;padding:12px;color:var(--ink2)}@media(max-width:900px){.app{height:auto;min-height:100vh}.ws{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(460px,1fr);height:auto;min-height:100%}.panel{border-right:0;border-bottom:1px solid var(--line)}.panel__props{max-height:none}}.pcheck{margin:6px 0 2px;padding:8px 10px;border-radius:6px;background:var(--surface2);font-size:12.5px}.pcheck--busy{display:flex;align-items:center;gap:8px;color:var(--ink2)}.pcheck--ok{color:var(--accent)}.pcheck--warn{border-left:3px solid var(--warn)}.pcheck--error{border-left:3px solid var(--danger, #e5534b)}.pcheck__title{margin-bottom:4px;font-weight:600}.pcheck__list{max-height:160px;margin:0;padding-left:16px;overflow:auto}.pcheck__list li{margin:2px 0}.pcheck__list li.is-error::marker{color:var(--danger, #e5534b)}.pcheck__list li.is-warn::marker{color:var(--warn)}.pcheck__more{margin-top:4px;color:var(--ink2)}.pcheck-force{display:flex;align-items:center;gap:6px;margin:6px 0;font-size:12.5px}.fit-note__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tile.is-nofit{border-color:var(--warn)}.tile__thumb{position:relative}.tile__badge{position:absolute;top:4px;right:4px;padding:1px 6px;border-radius:8px;background:var(--warn);color:#1e2028;font-size:10.5px;font-weight:600}.tree-hint{margin:4px 10px 6px 30px;color:var(--ink2);font-size:11px;line-height:1.35}.imp-file+.imp-file{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.imp-file__name{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-weight:600;overflow-wrap:anywhere}.imp-file__count{color:var(--ink2);font-weight:400;white-space:nowrap}.imp-note{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0;color:var(--ink2);font-size:11.5px}.imp-note.is-warn{color:var(--warn)}.imp-note .btn{flex:none}.imp-layers{margin:6px 0}.imp-layer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:2px 0;font-size:12px}.imp-layer__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-layer__n{color:var(--ink2);font-size:11px}.report-page{height:100%;overflow:auto;padding:16px 16px 48px}.report-tools{max-width:900px;margin:0 auto 14px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.report-tools__row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.report-tools__title{flex:1;font-weight:600}.report-tools__warn{margin-top:6px;color:var(--warn)}.report-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 12px;align-items:end}.report-field--inline{display:flex;align-items:center;gap:6px}.report-field{display:grid;gap:3px;font-size:11.5px;color:var(--ink2)}.report-field__pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.report-check{grid-column:span 2}.report-doc{--paper-ink: #1d2027;--paper-ink2: #5b6270;--paper-line: #dfe3ea;--paper-accent: #12a46a;max-width:900px;margin:0 auto;padding:36px 40px;background:#fff;color:var(--paper-ink);border-radius:6px;box-shadow:0 6px 28px #00000040;font-size:12px}.report-doc h1{margin:2px 0 4px;font-size:22px}.report-doc h2{display:flex;align-items:baseline;gap:10px;margin:22px 0 8px;font-size:15px}.report-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:2px solid var(--paper-ink)}.report-head__kicker{color:var(--paper-accent);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.report-head__meta{color:var(--paper-ink2)}.report-total{text-align:right}.report-total__label{color:var(--paper-ink2);font-size:11px;text-transform:uppercase}.report-total__value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.report-total__sub{color:var(--paper-ink2)}.report-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin:14px 0}.report-kpi{padding:8px 10px;border:1px solid var(--paper-line);border-radius:6px}.report-kpi__label{color:var(--paper-ink2);font-size:10.5px}.report-kpi__value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.report-kpi__sub{color:var(--paper-ink2);font-size:10.5px}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:4px 6px;border-bottom:1px solid var(--paper-line);text-align:left;vertical-align:middle}.report-table thead th{color:var(--paper-ink2);font-size:10.5px;font-weight:600}.report-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.report-table__thumb svg{display:block}.report-table--costs{margin:4px 0 8px}.report-table--costs th{width:120px}.report-table--costs td:nth-child(2){color:var(--paper-ink2)}.report-table tr.is-total th,.report-table tr.is-total td{border-bottom:none;border-top:2px solid var(--paper-ink);font-size:14px;font-weight:700}.report-note{color:#b5651d}.report-sheet__meta{color:var(--paper-ink2);font-size:11.5px;font-weight:400}.report-drawing{display:block;width:100%;max-height:520px}.report-drawing__sheet{fill:#f4f6f9;stroke:#8a93a3}.report-drawing__margin{fill:none;stroke:#c3c9d3;stroke-dasharray:6 6}.report-drawing__label{fill:#1d2027;font-weight:700;paint-order:stroke;stroke:#ffffffd9;stroke-width:.15em}.report-sheet__parts{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;color:var(--paper-ink2)}.report-sheet__parts b{color:var(--paper-ink)}.report-foot{margin-top:26px;padding-top:8px;border-top:1px solid var(--paper-line);color:var(--paper-ink2);font-size:10.5px}@media print{@page{size:A4;margin:12mm}html,body,#root{height:auto;background:#fff}.app{display:block;height:auto}.menubar,.no-print{display:none!important}.report-page{height:auto;overflow:visible;padding:0}.report-doc{max-width:none;padding:0;box-shadow:none;border-radius:0}.report-sheet{break-before:page}.report-table tr,.report-kpi{break-inside:avoid}.report-doc,.report-drawing{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.le-sel{fill:none;stroke:var(--accent)}.le-bad{fill:#e5534b73;stroke:#e5534b}.le-ghost{fill:#22c47e40;stroke:var(--accent);stroke-dasharray:4 3;pointer-events:none}.le-problems{margin:6px 0;padding:6px 8px;border-left:3px solid #e5534b;background:var(--surface2);border-radius:0 6px 6px 0;font-size:11.5px}.le-problems__title{font-weight:600}.le-problems ul{margin:2px 0 0;padding-left:16px;color:var(--ink2)}.le-exact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0}.le-field{display:grid;gap:2px;color:var(--ink2);font-size:11px}.tree-actions{margin:2px 10px 6px 30px}.stock-page{height:100%;overflow:auto;padding:18px 22px 40px}.stock-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.stock-head h1{margin:0 6px 0 0;font-size:18px}.stock-head__count{color:var(--ink2)}.stock-head__spacer{flex:1}.stock-search{width:220px}.stock-only{margin:0}.stock-note{margin:0 0 10px;color:var(--ink2)}.stock-table{width:100%;border-collapse:collapse;font-size:12px}.stock-table th,.stock-table td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.stock-table thead th{color:var(--ink2);font-weight:600;font-size:11px}.stock-table .num{text-align:right;font-variant-numeric:tabular-nums}.stock-table tr.is-empty td{color:var(--ink2)}.stock-table tr.is-editing td{background:var(--surface)}.stock-table tr.is-editing .input{min-width:60px;width:100%}.stock-size{display:flex;align-items:center;gap:4px}.stock-table td.stock-actions{text-align:right}.stock-actions .rbtn+.rbtn,.stock-actions .btn+.btn{margin-left:4px}.stock-note-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis}.stock-tag{padding:1px 6px;border-radius:8px;background:var(--surface2);color:var(--accent);font-size:10.5px}.stock-empty{padding:20px 6px!important;color:var(--ink2);white-space:normal!important}.stock-history{margin:14px 0 0}.stock-history h2{margin:0 0 6px;font-size:13px;font-weight:600}.stock-history__list{max-height:340px;overflow-y:auto;border-top:1px solid var(--line);font-size:12px}.stock-history__row{display:grid;grid-template-columns:150px 70px 50px 1fr auto;gap:10px;align-items:baseline;padding:3px 0;border-bottom:1px solid var(--line)}.stock-history__when,.stock-history__source{color:var(--ink2)}.stock-history__qty{text-align:right;font-variant-numeric:tabular-nums}.stock-history__qty.is-plus{color:var(--accent)}.stock-history__qty.is-minus{color:var(--warn)}.stock-hint{margin-top:14px;color:var(--ink2);font-size:11.5px}.sheet-row__stock{grid-column:1 / -1;margin:-2px 0 4px;color:var(--accent);font-size:11px}.modal__box--wide{width:min(640px,92vw)}.stock-pick{display:grid;gap:2px;max-height:340px;margin:8px 0;overflow:auto}.stock-pick__row{display:grid;grid-template-columns:auto 140px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;cursor:pointer}.stock-pick__row:hover,.stock-pick__row.is-on{background:var(--surface2)}.stock-pick__size{font-variant-numeric:tabular-nums}.stock-pick__what{overflow:hidden;color:var(--ink2);text-overflow:ellipsis;white-space:nowrap}.stock-pick__qty{color:var(--ink2)}.sv-engrave path{fill:none;stroke:#f0b429;opacity:.9}.sv-cut__engrave{fill:none;stroke:#f0b429}.imp-layer{grid-template-columns:minmax(0,1fr) auto 104px}.imp-layer__role{height:24px;padding:0 6px;font-size:11.5px}.imp-layer.is-off .imp-layer__name{color:var(--ink2);text-decoration:line-through}.imp-layer.is-engrave .imp-layer__name{color:#f0b429}.api-fresh{display:grid;gap:4px;margin:4px 0 8px;padding:8px;border-left:3px solid var(--accent);background:var(--surface2);border-radius:0 6px 6px 0}.api-fresh__title{font-weight:600}.api-code{font-family:var(--mono, ui-monospace, monospace);font-size:11.5px;overflow-wrap:anywhere}.api-keys{display:grid;gap:2px;margin:4px 0}.api-key{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;font-size:12px}.api-key__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-key__prefix,.api-key__used{color:var(--ink2);font-size:11px}.all-sheets__label{fill:var(--ink2);font-family:var(--font);font-weight:600}.all-sheets__sheet{cursor:pointer}.all-sheets__sheet:hover .sv-sheet{stroke:var(--ink)}.all-sheets__sheet.is-current .sv-sheet{stroke:var(--accent);stroke-width:2}.all-sheets__sheet.is-current .all-sheets__label{fill:var(--accent)}.purpose-card{align-items:center}.purpose-card__icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:8px;background:var(--surface2);color:var(--accent)}.your-data__confirm{display:grid;gap:6px;margin-top:6px}.match-row{display:grid;gap:1px;padding:5px 0;border-top:1px solid var(--line);font-size:12px}.match-row.is-best .match-row__name{color:var(--accent);font-weight:600}.match-row__same,.match-row__differs{color:var(--ink2);font-size:11.5px}.card__badge{margin-left:6px;padding:0 6px;border-radius:8px;background:var(--surface2);color:var(--ink2);font-size:11px}.acc-pane{position:absolute;inset:64px 0 0;overflow:auto;padding:0 24px 24px}.acc-pane__page{max-width:780px;margin:0 auto}.acc-pane__page>.card{margin:0;padding:16px 20px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.acc-plans{display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:48px}.acc-plans .plans{position:static;transform:none}.acc-tab__g{display:inline-flex;margin-right:2px;color:var(--ink2)}.inline-form{display:contents}.field.field--stack{display:flex;flex-direction:column;align-items:stretch;gap:4px}.field--stack>.segmented{width:100%}.panel--sec .panel__tree{flex:none;min-height:0;max-height:none;overflow:visible}.field__info{display:inline-flex;align-items:center;margin-left:4px;vertical-align:-1px;color:var(--ink2);cursor:help}.rbtn.runs-btn{display:inline-flex;align-items:center;width:auto;gap:4px;padding:0 6px}.runs-btn__n{font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink2)}.menubar .menu.runs-menu{width:min(560px,calc(100vw - 32px));max-width:none}.runs-menu__head{display:flex;align-items:center;gap:6px}.runs-menu__info{display:inline-flex;color:var(--ink2);cursor:help}.runs-menu__list{max-height:min(70vh,640px);overflow:auto;padding:0 8px 4px}.run-row{display:grid;gap:2px;padding:6px 0;border-top:1px solid var(--line)}.run-row:first-of-type{border-top:0}.run-row__head{display:flex;align-items:center;gap:10px}.runs-menu .run-row__date{flex:1;white-space:nowrap}.run-row__name{font-weight:600}.run-row__date,.run-row__stats,.run-row__diff{color:var(--ink2);font-size:11.5px}.run-row__diff{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.run-row__actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.api-row{display:flex;gap:6px;margin:4px 0}.api-row .input{flex:1;min-width:0}.api-secret{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;color:var(--ink2);font-size:11.5px}.le-measure line,.le-measure circle{fill:none;stroke:var(--accent);pointer-events:none}.le-measure text{fill:var(--accent);paint-order:stroke;stroke:var(--bg);pointer-events:none}.le-guide{stroke:var(--accent);pointer-events:none}.le-gaps line,.le-gaps path{fill:none;stroke:var(--accent);pointer-events:none}.le-gaps .is-edge line,.le-gaps .is-edge path{stroke:var(--ink2);stroke-dasharray:3 3}.le-gaps text{fill:var(--accent);paint-order:stroke;stroke:var(--bg);font-variant-numeric:tabular-nums;pointer-events:none}.le-gaps .is-edge text{fill:var(--ink2)}.remnant-min .input{width:64px}.api-log__head{display:flex;align-items:center;justify-content:space-between}.api-log{display:flex;flex-direction:column;max-height:260px;margin:2px 0 6px;overflow-y:auto;font-size:11.5px}.api-log__row{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:8px;align-items:baseline;padding:2px 0;border-bottom:1px solid var(--line)}.api-log__when,.api-log__ms{color:var(--ink2);white-space:nowrap}.api-log__path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-log__row.is-error .api-log__status{color:var(--warn)}.api-curl{margin:4px 0;padding:8px;overflow-x:auto;background:var(--surface2);border-radius:6px;font-size:11px;white-space:pre-wrap;word-break:break-all}.tile__name{display:flex;align-items:center;justify-content:space-between;gap:6px;overflow:visible}.tile__name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile__rules{display:flex;flex-wrap:wrap;gap:4px}.tile__rule{padding:0 6px;border-radius:8px;background:var(--surface2);color:var(--accent);font-size:10.5px}.rule-anchor{position:relative;flex:none}.rule-menu{position:fixed;z-index:70;display:grid;gap:8px;width:250px;box-sizing:border-box;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px #00000059}.rule-menu .input,.rule-menu .segmented{box-sizing:border-box;width:100%;min-width:0}.rule-menu .segmented__item{flex:1;justify-content:center}.rule-menu .check__hint{white-space:normal}.rule-field{display:grid;gap:3px;color:var(--ink2);font-size:11.5px}:root[data-theme=light] .view{background-color:var(--view);background-image:linear-gradient(rgba(30,90,170,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(30,90,170,.09) 1px,transparent 1px),linear-gradient(rgba(30,90,170,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(30,90,170,.04) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}:root[data-theme=dark] .view{background-color:var(--view);background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}.fx-flash{fill:#ffb347;stroke:#fff3d6;pointer-events:none}.fx-head.is-idle{pointer-events:none}.post-params{margin:4px 0 8px}.post-params>summary{cursor:pointer;color:var(--ink2);font-size:12px}.post-save{display:flex;gap:6px;margin:2px 0 6px}.post-save .input{flex:1}.post-changes{margin:4px 0 0;padding-left:18px;color:var(--ink2);font-size:12px}.post-params__group{margin-top:6px}.prog-panel{position:absolute;top:96px;right:12px;bottom:96px;z-index:6;display:flex;flex-direction:column;width:min(420px,42%);border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 8px 28px #0000002e;overflow:hidden}.prog-panel__head{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--line)}.prog-panel__count{flex:1;color:var(--ink2);font-size:11px;text-align:right}.prog-panel__msg{padding:12px;color:var(--ink2)}.prog-panel__body{flex:1;min-height:0;overflow:auto;background:var(--code);font:12px/18px var(--mono)}.prog-line{position:absolute;left:0;right:0;display:flex;white-space:pre;cursor:default}.prog-line.is-move{cursor:pointer}.prog-line.is-move:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.prog-line.is-on{background:color-mix(in srgb,var(--accent) 22%,transparent)}.prog-line__n{flex:none;width:52px;padding-right:8px;color:var(--ink3);text-align:right;user-select:none}.prog-line__t{flex:1}.sim-row{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0}.clip-anchor{position:relative}.clip-anchor>.btn{height:38px;background:var(--surface);box-shadow:var(--shadow)}.clip-menu{position:absolute;z-index:50;right:0;bottom:calc(100% + 8px);display:grid;gap:8px;width:300px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.clip-menu__title{font-weight:600}.clip-menu__formats{display:grid;gap:6px}.clip-menu__formats .btn{justify-content:flex-start;gap:10px}.clip-shape{display:inline-block;border:2px solid var(--accent);border-radius:2px}.clip-shape.is-square{width:14px;height:14px}.clip-shape.is-vertical{width:10px;height:17px}.clip-shape.is-wide{width:18px;height:10px}.clip-progress{height:6px;overflow:hidden;border-radius:3px;background:var(--surface2)}.clip-progress__bar{height:100%;background:var(--accent);box-shadow:0 0 10px var(--accent);transition:width .2s linear}.signin__about{display:inline-block;margin-top:6px;color:var(--accent);text-decoration:none}.signin__about:hover{text-decoration:underline}.sheet-view.is-show .sv-cut,.sheet-view.is-show .sv-labels,.sheet-view.is-show .sv-used,.sheet-view.is-show .sv-margin,.sheet-view.is-show .sv-sim__rapid{display:none}.sheet-view.is-show{--seam-cold: rgba(233, 235, 237, .72)}:root[data-theme=light] .sheet-view.is-show{--seam-cold: rgba(21, 35, 63, .55)}.sheet-view.is-show .sv-sim__cut,.sheet-view.is-show .sv-sim__lead{stroke:var(--seam-cold)}.sheet-view.is-show .fx-head.is-idle{fill:none;stroke:var(--sc-head)}.sv-heat{position:absolute;left:0;top:0;pointer-events:none}.sheet-view.is-show.is-ended .sv-parts{animation:sv-cut-done 1.6s ease-out .25s 1}@keyframes sv-cut-done{30%{filter:brightness(1.3) saturate(1.1)}}@media(prefers-reduced-motion:reduce){.sheet-view.is-show.is-ended .sv-parts{animation:none}}.menu__form{display:contents}.crash{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--view);color:var(--ink)}.crash__box{width:min(460px,100%);padding:28px;background:var(--bg);border:1px solid var(--line);border-radius:10px}.crash__title{margin:0 0 10px;font-size:20px}.crash__text{margin:0 0 18px;color:var(--ink2);line-height:1.5}.crash__btn{padding:8px 18px;border:0;border-radius:6px;background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer}.crash__detail{margin:18px 0 0;white-space:pre-wrap;color:var(--ink2);font-size:12px}.sv-blocked path{stroke:var(--ink3);fill-opacity:1}.sv-blocked__hatch{stroke:var(--ink3);opacity:.55}.all-sheets__blocked{fill:var(--surface3);stroke:var(--ink3);stroke-width:1}.sheet-shape{display:inline-block;margin:0 6px;vertical-align:middle}.sheet-shape__sheet{fill:var(--surface2);stroke:var(--ink2);stroke-width:1}.sheet-shape__blocked{fill:var(--ink2);stroke:var(--ink2);stroke-width:1}.blocked-ed__canvas{display:block;width:100%;height:auto;max-height:42vh;margin:8px 0 2px;cursor:crosshair;touch-action:none;user-select:none}.blocked-ed__sheet{fill:var(--surface);stroke:var(--ink2)}.blocked-ed__place{fill:color-mix(in srgb,var(--warn) 30%,transparent);stroke:var(--warn);cursor:pointer}.blocked-ed__place.is-sel{fill:color-mix(in srgb,var(--warn) 55%,transparent)}.blocked-ed__draft{fill:color-mix(in srgb,var(--accent) 20%,transparent);stroke:var(--accent);stroke-dasharray:6 4}.blocked-ed__size{color:var(--ink3);font-size:11px;text-align:right}.blocked-ed__list{display:grid;gap:2px;margin:10px 0;max-height:140px;overflow:auto}.blocked-ed__row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 6px;border-radius:5px;cursor:pointer}.blocked-ed__row:hover,.blocked-ed__row.is-sel{background:var(--row-hover)}.blocked-ed__add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.blocked-ed__add label{display:grid;gap:2px;font-size:11px;color:var(--ink2)}.blocked-ed__add .input{width:76px}.blocked-ed__spacer{flex:1}.sv-sim__rapid.is-lift{stroke:var(--warn)}.sv-sim__lift circle{fill:none;stroke:var(--warn)}.sv-sim__lift text{fill:var(--warn);font-weight:700;paint-order:stroke;stroke:var(--view);stroke-width:3px}.toasts{position:fixed;right:16px;bottom:76px;z-index:60;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;max-width:380px;padding:9px 10px 9px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink);font-size:12.5px;pointer-events:auto;animation:toast-in .18s ease-out}.toast__text{flex:1;min-width:0}.toast__open{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}.toast__open:hover{text-decoration:underline}.toast__close{display:inline-grid;place-items:center;width:22px;height:22px;border:0;border-radius:4px;background:none;color:var(--ink2);cursor:pointer}.toast__close:hover{background:var(--surface3);color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.next-hint__action{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.chat-status{margin:2px 0 6px;color:var(--ink2)}.chat-status.is-on{color:var(--accent);font-weight:600}.chat-clients{flex-wrap:wrap;max-width:100%;margin:4px 0}.api-snippet{display:grid;justify-items:start;gap:4px}.api-snippet .api-curl{width:100%;box-sizing:border-box}.chat-asks{display:grid;gap:4px;margin:4px 0 8px;padding:0;list-style:none}.chat-asks li{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:6px;background:var(--surface2);font-style:italic}.chat-asks li span{flex:1}.follow-chat{gap:5px;margin-right:6px}.pcol__gap{height:5px;flex:none}.pcol--stack .panel--elastic{flex:1 1 auto}.panel--elastic .sheet-rows,.panel--sec .panel__title{flex:0 1 auto}.panel--sec .panel__info{margin-right:auto}.panel--sec .panel__head:not(:has(.panel__info)) .panel__title{flex:1}.panel__split{display:flex;gap:2px;width:calc((100% - 16px)/2);margin-right:4px;flex:none}.panel__split>.btn{flex:1 1 0;min-width:0;padding:0 6px}.input-unit--pre{padding-left:8px}.input-unit__pre{flex:none;color:var(--ec-fg-48);font-size:11px}.input-unit--pre .input{padding-left:4px}.panel--elastic .sheet-rows{align-content:start}.pcol--stack>.pcol__summary{display:none}.panel--elastic .sheet-rows{margin-top:12px}.segmented.panel__split{padding:2px}.sheet-actions{display:flex;gap:4px;flex:none}.sheet-actions>.btn{flex:1 1 0;min-width:0;height:24px;border:0;border-radius:var(--ec-radius);background:var(--ec-fg-4);color:var(--ec-fg-72);font-size:12px}.sheet-actions>.btn:hover{background:var(--ec-fg-12);color:var(--ec-fg-96)}.segmented.panel__split{width:calc((100% - 16px)/4);margin-left:auto}.sheet-actions{justify-content:flex-end;margin-top:6px}.sheet-actions>.btn{flex:none;padding:0 10px}.panel--elastic .sheet-rows{scrollbar-gutter:auto}.rbtn--badged{position:relative}.rbtn__badge{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:13px;height:13px;padding:0 3px;border-radius:999px;background:var(--ec-amber);color:#1a1405;font-family:var(--ec-font);font-size:9px;font-weight:700;line-height:1;pointer-events:none}.rbtn--badged.is-on{color:var(--ec-fg-100)}.segmented.panel__split--fit{width:auto}.rbtn__badge{top:-1px;right:-2px;min-width:12px;height:12px;padding:0 2px;box-shadow:0 0 0 2px var(--ec-card-2)}.panel--elastic .sheet-rows{padding:2px 2px 0 0}.rbtn__badge{top:0;right:0}.panel--elastic .sheet-rows{padding:0}.rbtn__count{display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--ec-amber);color:#1a1405;font-family:var(--ec-font);font-size:10px;font-weight:700;line-height:1}.segmented--scale .segmented__item.is-filled{background:var(--ec-green-16);color:var(--ec-badge)}.segmented--scale .segmented__item.is-active{background:#00a36d5c;color:var(--ec-fg-100);font-weight:600}:root[data-theme=light] .segmented--scale .segmented__item.is-filled{color:var(--ec-green)}:root[data-theme=light] .segmented--scale .segmented__item.is-active{color:var(--ec-fg-100)}.field__value-note{margin-left:6px;color:var(--ec-fg-100)}.sheet-row--stock .input[readonly]{color:var(--ec-fg-72);cursor:default}.sheet-row--stock .input-unit:has(.input[readonly]){background:transparent;box-shadow:inset 0 0 0 1px var(--ec-fg-8)}.sheet-row--stock .input-unit:has(.input[readonly]):hover{background:transparent}.input-unit__pre svg{display:block;color:var(--ec-green)}.pcol--stack{scrollbar-gutter:auto;margin-right:0}.opt-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:4px}.opt-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:52px;padding:0 4px;border:0;border-radius:6px;background:var(--ec-fg-4);color:var(--ec-fg-56);font-family:var(--ec-font);font-size:11px;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}.opt-tile:hover{background:var(--ec-fg-8);color:var(--ec-fg-96)}.opt-tile.is-on{background:#f5f5f51a;box-shadow:inset 0 0 0 1px #f5f5f540;color:var(--ec-fg-100)}:root[data-theme=light] .opt-tile.is-on{background:#16191b1a;box-shadow:inset 0 0 0 1px #16191b40}.opt-tile__icon{display:grid;place-items:center}.opt-tile.is-on .opt-tile__icon{color:var(--ec-green)}.opt-tile__label{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.opt-tiles__dep{margin-top:6px!important}.pcol--stack .panel--elastic.is-collapsed{min-height:0!important}.opt-tile:focus:not(:focus-visible){outline:none}.opt-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.opt-tile{flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:8px;height:auto;min-height:44px;padding:8px 10px;text-align:left}.opt-tile--wide{grid-column:1 / -1}.opt-tile__icon{flex:none;padding-top:1px}.opt-tile__text{display:flex;flex-direction:column;gap:2px;min-width:0}.opt-tile__label{color:var(--ec-fg-96);font-size:12px;line-height:16px;font-weight:500}.opt-tile__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ec-fg-48);font-size:11px;line-height:14px;white-space:normal}.opt-tile.is-on .opt-tile__desc{color:var(--ec-fg-64)}.pcol--form .field,.pcol--form .prop{padding:3px 0}.pcol--form .opt-tiles{gap:6px;margin-top:3px}.pcol--form .panel--sec .panel__body>.opt-tiles:first-child{margin-top:0}.opt-tile{display:flex;flex-direction:row;align-items:center;gap:8px;padding:0;cursor:default}.opt-tile__main{display:flex;flex:1 1 auto;align-items:flex-start;gap:8px;min-width:0;min-height:44px;padding:8px 10px;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.opt-tile__main:focus:not(:focus-visible){outline:none}.opt-tile__extra{flex:none;padding-right:8px}.opt-tile__field{display:flex;flex-direction:column;gap:2px;width:132px}.opt-tile__field-l{color:var(--ec-fg-48);font-size:11px;line-height:14px}.panel__collapse{display:none!important}.panel--sec .panel__head{padding-left:12px}.opt-tile{min-height:56px;align-items:stretch}.opt-tile__main{flex-direction:column;justify-content:center;align-items:stretch;gap:4px;min-height:56px;padding:8px 10px}.opt-tile__head{display:flex;align-items:center;gap:6px;min-width:0}.opt-tile__icon{padding-top:0}.opt-tile__icon svg{display:block}.opt-tile__desc{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:unset}.opt-tile__extra{display:flex;align-items:center;padding:8px 10px 8px 0}.field__value-note{color:var(--ec-badge);font-weight:500}:root[data-theme=light] .field__value-note{color:var(--ec-green)}.panel__collapsed{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 auto;min-width:0}.panel__collapsed .panel__split>.segmented{width:100%}.opt-tile--wide .opt-tile__extra{flex:0 0 calc(50% - 3px);padding:8px 10px}.opt-tile--wide .opt-tile__field{width:100%}.panel__head span.panel__split>.segmented{flex:1 1 auto;width:100%}.panel__split{width:calc((100% - 10px)/2)}.panel__collapsed-value{min-width:0;margin-left:auto;overflow:hidden;color:var(--ec-fg-80);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.panel__head .field__value-note,.panel__head .panel__collapsed-value{margin-right:4px}.shape-dlg{width:min(880px,94vw)}.shape-dlg__kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:4px;margin:10px 0}.shape-dlg__kind{display:grid;justify-items:center;gap:4px;padding:6px 4px;color:var(--ink2);font:inherit;font-size:11px;line-height:1.2;text-align:center;background:var(--surface2);border:1px solid transparent;border-radius:6px;cursor:pointer}.shape-dlg__kind:hover{color:var(--ink);background:var(--surface3)}.shape-dlg__kind.is-on{color:var(--ink);background:var(--accent-soft);border-color:var(--accent)}.shape-dlg__body{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px;align-items:start}.shape-dlg__fields{display:grid;gap:6px}.shape-dlg__view{display:grid;justify-items:center;gap:6px;padding:8px;background:var(--view);border-radius:6px}.shape-dlg__size{color:var(--ink2);font-size:11px;text-align:center}.shape-pic path{fill:var(--sc-part-muted);stroke:var(--sc-part);stroke-width:1.5px}.shape-dlg__kind.is-on .shape-pic path{fill:var(--accent-soft);stroke:var(--accent)}@media(max-width:640px){.shape-dlg__body{grid-template-columns:1fr}}.shape-dlg__drawn{display:grid;gap:8px}.outline-ed{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px;align-items:start}.outline-ed__draw{display:grid;gap:6px}.outline-ed__bar{display:flex;gap:8px;align-items:center}.outline-ed__canvas{display:block;background:var(--view);border-radius:6px;cursor:crosshair;touch-action:none;user-select:none}.outline-ed__grid{stroke:var(--line);stroke-width:.5}.outline-ed__axis{stroke:var(--ink3);stroke-width:1}.outline-ed__part{fill:var(--sc-part-muted);stroke:var(--sc-part);stroke-width:1.5}.outline-ed__bad{fill:none;stroke:var(--warn);stroke-width:1.5;stroke-dasharray:4 3}.outline-ed__fixed{fill:none;stroke:var(--ink3);stroke-width:1;stroke-dasharray:3 2;pointer-events:none}.outline-ed__hole{fill:transparent;stroke:var(--accent);stroke-width:1;stroke-dasharray:2 2;cursor:move}.outline-ed__pt{cursor:move}.outline-ed__pt circle{fill:var(--bg);stroke:var(--accent);stroke-width:2}.outline-ed__pt text{fill:var(--ink2);font-size:10px;pointer-events:none}.outline-ed__hint{color:var(--ink2);font-size:11px;line-height:1.4}.outline-ed__tables{display:grid;gap:10px;max-height:420px;overflow:auto}.outline-ed__table{width:100%;border-collapse:collapse;font-size:12px}.outline-ed__table th{padding:2px 4px;color:var(--ink2);font-weight:500;text-align:left}.outline-ed__table td{padding:1px 2px}.outline-ed__table .input-unit{width:100%}@media(max-width:720px){.outline-ed{grid-template-columns:1fr}}.shape-dlg__mode{margin:8px 0}.sketch-ed{display:grid;grid-template-columns:minmax(0,560px) minmax(200px,1fr);gap:14px;align-items:start;outline:none}.sketch-ed__draw{display:grid;gap:6px;min-width:0}.sketch-ed__bar{display:flex;flex-wrap:wrap;gap:2px;align-items:center;min-height:28px}.sketch-ed__tool.is-on{color:var(--accent);background:var(--accent-soft)}.sketch-ed__sep{width:1px;height:18px;margin:0 4px;background:var(--line)}.sketch-ed__grow{flex:1}.sketch-ed__typed{flex:1 1 70px;min-width:70px;max-width:160px;height:26px;padding:2px 6px;font-size:12px}.sketch-ed__bar .input-unit{width:100px}.sketch-ed__canvas{display:block;width:100%;height:auto;background:var(--view);border-radius:6px;cursor:crosshair;touch-action:none;user-select:none}.sketch-ed__canvas--select{cursor:default}.sketch-ed__canvas--trim,.sketch-ed__canvas--extend,.sketch-ed__canvas--fillet{cursor:pointer}.sketch-ed__part{fill:var(--sc-part-muted);stroke:none;pointer-events:none}.sketch-ed__ent{fill:none;stroke:var(--sc-part);stroke-width:1.6;stroke-linecap:round;pointer-events:none}.sketch-ed__ent.is-sel{stroke:var(--accent);stroke-width:2.4}.sketch-ed__hot{fill:none;stroke:var(--sc-part-hover);stroke-width:3;stroke-linecap:round;pointer-events:none}.sketch-ed__hot--trim{stroke:var(--danger);stroke-dasharray:5 3}.sketch-ed__hot--extend{stroke:var(--accent);stroke-dasharray:5 3}.sketch-ed__ghost{fill:none;stroke:var(--accent);stroke-width:1.4;stroke-dasharray:5 3;pointer-events:none}.sketch-ed__pick,.sketch-ed__grip{fill:var(--bg);stroke:var(--accent);stroke-width:1.5;pointer-events:none}.sketch-ed__corner{fill:none;stroke:var(--accent);stroke-width:2;pointer-events:none}.sketch-ed__err{fill:none;stroke:var(--danger);stroke-width:2;pointer-events:none}.sketch-ed__box{fill:var(--accent-soft);fill-opacity:.4;stroke:var(--accent);stroke-width:1;stroke-dasharray:3 2;pointer-events:none}.sketch-ed__snap{fill:none;stroke:var(--warn);stroke-width:1.6;pointer-events:none}.sketch-ed__snap--grid,.sketch-ed__snap--free{stroke:var(--ink2);stroke-width:1}.sketch-ed__label,.sketch-ed__coords{fill:var(--ink);font-size:11px;pointer-events:none;paint-order:stroke;stroke:var(--view);stroke-width:3px}.sketch-ed__coords{fill:var(--ink2)}.sketch-ed__side{display:grid;gap:8px;align-content:start}.sketch-ed__status{padding:6px 8px;font-size:12px;line-height:1.4;background:var(--surface2);border-radius:6px}.sketch-ed__status.is-ok{color:var(--accent)}.sketch-ed__hint{color:var(--ink2);font-size:12px;line-height:1.45}@media(max-width:760px){.sketch-ed{grid-template-columns:1fr}}.shape-dlg__offset{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.shape-dlg__offset .input-unit{width:110px}.shape-dlg__offset-hint{flex:1 1 260px;color:var(--ink2);font-size:11px;line-height:1.4}.lang-picker{position:relative;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.3px;cursor:pointer;white-space:nowrap}.lang-picker:hover{border-color:color-mix(in srgb,currentColor 55%,transparent)}.lang-picker select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.lang-links{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px}.lang-links a,.lang-links a:visited{color:inherit;text-decoration:none}.lang-links a:hover{text-decoration:underline}.lang-links a[aria-current]{font-weight:700;text-decoration:underline}
