.bar-row.svelte-klmkh5{background:var(--paper);border:1px solid var(--line);padding:14px 16px}.bar-row.failed.svelte-klmkh5{border:1.5px dashed var(--signal);background:#d63a000d}.bar-row.failed.svelte-klmkh5 .bar-head:where(.svelte-klmkh5) .id:where(.svelte-klmkh5){color:var(--signal);font-weight:700}.bar-row.failed.svelte-klmkh5 .bar-viz:where(.svelte-klmkh5){opacity:.45;filter:grayscale(.6)}.bar-head.svelte-klmkh5{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--mute);flex-wrap:wrap}.bar-head.svelte-klmkh5 .id:where(.svelte-klmkh5){color:var(--ink);font-weight:500}.bar-head.svelte-klmkh5 .eff:where(.svelte-klmkh5){color:var(--signal);font-weight:500}.bar-head.svelte-klmkh5 .signal:where(.svelte-klmkh5){color:var(--signal)}.bar-viz.svelte-klmkh5{display:flex;height:30px;background:var(--bg);border:1px solid var(--line-soft);overflow:hidden;position:relative}.bar-seg.svelte-klmkh5{height:100%;display:flex;align-items:center;justify-content:center;color:var(--paper);font-family:JetBrains Mono,monospace;font-size:12px;border-right:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden;white-space:nowrap;transition:filter .15s}.bar-seg.svelte-klmkh5:hover{filter:brightness(1.15)}.bar-seg.svelte-klmkh5:last-child{border-right:none}.seg-idx.svelte-klmkh5{font-weight:700;background:#ffffffd9;color:var(--ink);min-width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;margin-right:4px;flex-shrink:0}.seg-len.svelte-klmkh5{white-space:nowrap;overflow:hidden;text-overflow:clip}.bar-waste.svelte-klmkh5{height:100%;flex:1;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.06) 4px,rgba(0,0,0,.06) 8px);min-width:2px}.bar-tooltip.svelte-klmkh5{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:13px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:20}.bar-seg.svelte-klmkh5:hover .bar-tooltip:where(.svelte-klmkh5){opacity:1}.print-view.svelte-1svlpkx{display:none}@media print{html,body{background:#fff!important;color:#000!important;padding-top:0!important;overflow:visible!important}body:before{display:none!important}body:has(>.print-view)>*:not(.print-view){display:none!important}.print-view.svelte-1svlpkx{display:block!important;position:static!important;width:100%;background:#fff}.print-view *{visibility:visible!important}.print-view.svelte-1svlpkx{font-family:IBM Plex Sans,sans-serif;font-size:10pt;color:#000;line-height:1.4;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-head.svelte-1svlpkx{border-bottom:2px solid #000;padding-bottom:8mm;margin-bottom:8mm;display:grid;grid-template-columns:1fr auto;gap:10mm;align-items:end}.pt-brand.svelte-1svlpkx{font-family:Fraunces,serif;font-weight:900;font-size:22pt;letter-spacing:-.03em;line-height:1}.pt-brand-sub.svelte-1svlpkx{font-family:JetBrains Mono,monospace;font-size:8pt;letter-spacing:.16em;text-transform:uppercase;color:#555;margin-top:3mm}.pt-title.svelte-1svlpkx{font-family:Fraunces,serif;font-size:18pt;font-weight:400;line-height:1.05;letter-spacing:-.025em}.pt-meta.svelte-1svlpkx{text-align:right;font-family:JetBrains Mono,monospace;font-size:9pt;color:#444}.pt-meta.svelte-1svlpkx .row:where(.svelte-1svlpkx){display:flex;justify-content:flex-end;gap:8mm;padding:.5mm 0}.pt-meta.svelte-1svlpkx .lbl:where(.svelte-1svlpkx){color:#888}.print-infeasible.svelte-1svlpkx{border:2px solid #000;background:#000;color:#fff;padding:3mm 5mm;margin-bottom:5mm;font-family:JetBrains Mono,monospace;font-size:9pt;line-height:1.4;font-weight:700}.print-summary.svelte-1svlpkx{border:1px solid #000;padding:4mm 5mm;margin-bottom:8mm;display:grid;grid-template-columns:repeat(5,1fr);gap:4mm;font-family:JetBrains Mono,monospace;font-size:9pt}.print-summary.svelte-1svlpkx .lbl:where(.svelte-1svlpkx){color:#666;text-transform:uppercase;letter-spacing:.1em;font-size:7.5pt;margin-bottom:1mm}.print-summary.svelte-1svlpkx .val:where(.svelte-1svlpkx){font-family:Fraunces,serif;font-size:16pt;font-weight:400}.print-input-bom.svelte-1svlpkx{margin-bottom:8mm}.print-input-bom.svelte-1svlpkx h3:where(.svelte-1svlpkx){font-family:Fraunces,serif;font-size:14pt;font-weight:500;margin-bottom:4mm;padding-bottom:1mm;border-bottom:1px solid #000;page-break-after:avoid;break-after:avoid}.input-bom-table.svelte-1svlpkx{width:100%;border-collapse:collapse;font-size:10pt}.input-bom-table.svelte-1svlpkx thead:where(.svelte-1svlpkx) th:where(.svelte-1svlpkx){border-bottom:1.5px solid #000;padding:2mm 3mm;text-align:left;background:#fff}.input-bom-table.svelte-1svlpkx thead:where(.svelte-1svlpkx) th.num:where(.svelte-1svlpkx){text-align:right}.input-bom-table.svelte-1svlpkx tbody:where(.svelte-1svlpkx) tr:where(.svelte-1svlpkx) td:where(.svelte-1svlpkx){padding:1.8mm 3mm;border-bottom:.5px solid #ddd}.input-bom-table.svelte-1svlpkx tbody:where(.svelte-1svlpkx) tr:where(.svelte-1svlpkx) td.num:where(.svelte-1svlpkx){text-align:right;font-variant-numeric:tabular-nums}.input-bom-table.svelte-1svlpkx tbody:where(.svelte-1svlpkx) tr:where(.svelte-1svlpkx) td.bold:where(.svelte-1svlpkx){font-weight:600}.input-bom-table.svelte-1svlpkx .total:where(.svelte-1svlpkx) td:where(.svelte-1svlpkx){border-top:1.5px solid #000;padding:2mm 3mm;font-weight:700}.input-bom-table.svelte-1svlpkx .total:where(.svelte-1svlpkx) td.num:where(.svelte-1svlpkx){text-align:right}.input-bom-table.svelte-1svlpkx .w-narrow:where(.svelte-1svlpkx){width:12mm}.pos-badge.svelte-1svlpkx{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;color:#fff;font-family:JetBrains Mono,monospace;font-size:9pt;font-weight:700}.print-view.svelte-1svlpkx table:where(.svelte-1svlpkx) thead:where(.svelte-1svlpkx){display:table-header-group}.print-view.svelte-1svlpkx table:where(.svelte-1svlpkx) tr:where(.svelte-1svlpkx){page-break-inside:avoid;break-inside:avoid}.print-profile.svelte-1svlpkx{margin-bottom:5mm;padding-top:0;page-break-before:always;break-before:page}.print-profile-head.svelte-1svlpkx{page-break-inside:avoid;break-inside:avoid;page-break-after:avoid;break-after:avoid;display:grid;grid-template-columns:50mm 1fr;gap:6mm;align-items:start;padding-bottom:3mm;margin-bottom:4mm;border-bottom:1px solid #000}.pp-sketch.svelte-1svlpkx{border:1px solid #888;padding:4mm;background:#fafafa}.pp-sketch.svelte-1svlpkx svg{width:100%;height:auto;max-height:28mm}.pp-title.svelte-1svlpkx{font-family:Fraunces,serif;font-size:18pt;font-weight:400;line-height:1;letter-spacing:-.02em;margin-bottom:2mm}.pp-mat.svelte-1svlpkx{font-family:JetBrains Mono,monospace;font-size:9pt;color:#444;margin-bottom:4mm}.pp-props.svelte-1svlpkx{width:100%;border-collapse:collapse;font-family:JetBrains Mono,monospace;font-size:9pt}.pp-props.svelte-1svlpkx td:where(.svelte-1svlpkx){padding:1mm 3mm 1mm 0;vertical-align:top}.pp-props.svelte-1svlpkx td:where(.svelte-1svlpkx):nth-child(odd){color:#666;width:18mm}.pp-props.svelte-1svlpkx td:where(.svelte-1svlpkx):nth-child(2n){font-weight:600;padding-right:6mm}.print-profile.svelte-1svlpkx h3:where(.svelte-1svlpkx){font-family:Fraunces,serif;font-size:12pt;font-weight:500;margin-top:3mm;margin-bottom:2mm;padding-bottom:1mm;border-bottom:1px solid #888;page-break-after:avoid;break-after:avoid}.print-bars.svelte-1svlpkx{display:flex;flex-direction:column;gap:2mm}.print-bar.svelte-1svlpkx{page-break-inside:avoid;border:1px solid #000;padding:2mm 4mm}.print-bar-head.svelte-1svlpkx{display:flex;justify-content:space-between;gap:5mm;margin-bottom:2mm;font-family:JetBrains Mono,monospace;font-size:9pt}.print-bar-head.svelte-1svlpkx .num:where(.svelte-1svlpkx){font-weight:700}.print-bar-head.svelte-1svlpkx .info:where(.svelte-1svlpkx){color:#444}.print-bar-viz.svelte-1svlpkx{display:flex;border:1px solid #555;height:7mm;background:#fff;overflow:hidden}.print-bar-seg.svelte-1svlpkx{border-right:1px solid #555;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:7.5pt;color:#000;background:#eee;overflow:hidden;white-space:nowrap}.print-bar-seg.svelte-1svlpkx:last-child{border-right:none}.print-bar-seg.svelte-1svlpkx strong{font-weight:700}.print-bar-waste.svelte-1svlpkx{flex:1;background-image:repeating-linear-gradient(45deg,#ccc 0,#ccc 1.5pt,transparent 1.5pt,transparent 4pt);border-right:none;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:7pt;color:#555}.print-bar-detail.svelte-1svlpkx{margin-top:2mm;font-family:JetBrains Mono,monospace;font-size:8.5pt;color:#333;line-height:1.6}.cut-entry.svelte-1svlpkx{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.cut-badge.svelte-1svlpkx{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:14px;padding:0 4px;color:#fff;font-family:JetBrains Mono,monospace;font-size:7.5pt;font-weight:700;line-height:1}.cut-len.svelte-1svlpkx{font-variant-numeric:tabular-nums}.cut-x.svelte-1svlpkx{color:#555;font-weight:600}.cut-sep.svelte-1svlpkx{color:#aaa;margin:0 2px}.print-bom.svelte-1svlpkx{width:100%;border-collapse:collapse;font-family:IBM Plex Sans,sans-serif;font-size:9pt;margin-bottom:4mm}.print-bom.svelte-1svlpkx th:where(.svelte-1svlpkx),.print-bom.svelte-1svlpkx td:where(.svelte-1svlpkx){padding:2mm 3mm;border-bottom:1px solid #ccc;text-align:left}.print-bom.svelte-1svlpkx th:where(.svelte-1svlpkx){background:#f0f0f0;border-bottom:1px solid #000;border-top:1px solid #000;text-transform:uppercase;font-size:7.5pt;letter-spacing:.1em;color:#444;font-weight:600}.print-bom.svelte-1svlpkx th.num:where(.svelte-1svlpkx),.print-bom.svelte-1svlpkx td.num:where(.svelte-1svlpkx){font-family:JetBrains Mono,monospace;text-align:right}.print-bom.svelte-1svlpkx td:where(.svelte-1svlpkx):first-child{text-align:center;width:8mm}.print-bom.svelte-1svlpkx th:where(.svelte-1svlpkx):first-child{text-align:center}.print-bom.svelte-1svlpkx tr.total:where(.svelte-1svlpkx) td:where(.svelte-1svlpkx){font-weight:700;border-top:1px solid #000;border-bottom:1px solid #000;background:#f8f8f8}.print-remain.svelte-1svlpkx{margin-top:4mm;border-left:3px solid #888;padding:2mm 4mm;background:#fafafa;font-family:JetBrains Mono,monospace;font-size:8.5pt}.print-remain.svelte-1svlpkx .ttl:where(.svelte-1svlpkx){text-transform:uppercase;letter-spacing:.1em;font-size:7.5pt;color:#444;margin-bottom:1mm}.print-footnote.svelte-1svlpkx{margin-top:8mm;padding-top:3mm;border-top:1px solid #888;font-family:JetBrains Mono,monospace;font-size:7.5pt;color:#666;display:flex;justify-content:space-between}}.hero-compact.svelte-3t77eb{padding:32px 0 20px}.calc-shell.svelte-3t77eb{padding:24px 0 80px}.calc-step.svelte-3t77eb{border-top:1px solid var(--line);padding:40px 0}.calc-step.svelte-3t77eb:first-of-type{border-top:none;padding-top:16px}.step-head.svelte-3t77eb{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.calc-step.svelte-3t77eb h2:where(.svelte-3t77eb){font-family:Fraunces,serif;font-weight:400;font-size:clamp(26px,3.2vw,36px);line-height:1.05;letter-spacing:-.025em;margin:6px 0 0}.calc-step.svelte-3t77eb h2:where(.svelte-3t77eb) .italic{font-style:italic;color:var(--signal)}.step-num.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--signal)}.step-desc.svelte-3t77eb{font-size:16px;color:var(--ink-soft);line-height:1.6;margin:6px 0 18px;max-width:720px}.bulk-paste-wrap.svelte-3t77eb{margin-top:10px;padding:12px;border:1px dashed var(--line-soft);background:var(--paper)}.bulk-paste-hint.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--mute);margin:6px 0;line-height:1.5}.bulk-paste-hint.svelte-3t77eb strong{color:var(--ink)}.bulk-paste-hint.svelte-3t77eb code{background:var(--bg);padding:1px 6px;border:1px solid var(--line-soft)}.bulk-paste.svelte-3t77eb{width:100%;min-height:110px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:14px;border:1px solid var(--line-soft);background:var(--bg);color:var(--ink);resize:vertical;outline:none}.bulk-paste.svelte-3t77eb:focus{border-color:var(--ink)}.bulk-actions.svelte-3t77eb{margin-top:8px;display:flex;gap:6px}.row-tools.svelte-3t77eb .btn-secondary.active:where(.svelte-3t77eb){background:var(--ink);color:var(--paper)}.step-hint.svelte-3t77eb{background:var(--paper);border-left:3px solid var(--signal);padding:12px 16px;font-size:14px;line-height:1.55;color:var(--ink-soft);max-width:none;margin:0 0 20px}.step-hint.svelte-3t77eb strong:where(.svelte-3t77eb){color:var(--ink)}.row-status.svelte-3t77eb{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:#fff;background:#c4332a;border-radius:50%;margin-right:8px;cursor:help;line-height:1}.row-status--warn.svelte-3t77eb{background:#c4332a}.project-row.svelte-3t77eb{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px dashed var(--line-soft)}.project-row.svelte-3t77eb label:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}.project-row.svelte-3t77eb input:where(.svelte-3t77eb){border:none;background:transparent;border-bottom:1px solid var(--line-soft);font-family:IBM Plex Sans,sans-serif;font-size:16px;color:var(--ink);outline:none;padding:4px;flex:1;max-width:320px}.project-row.svelte-3t77eb input:where(.svelte-3t77eb):focus{border-bottom-color:var(--ink)}.project-actions.svelte-3t77eb{display:flex;gap:6px;flex-wrap:wrap}.project-jump.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:9px 30px 9px 14px;border:1px solid var(--signal);background:var(--paper);color:var(--signal);cursor:pointer;max-width:240px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--signal) 50%),linear-gradient(135deg,var(--signal) 50%,transparent 50%);background-position:right 14px center,right 9px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.project-jump.svelte-3t77eb:hover{background-color:var(--bg)}.toast-stack.svelte-3t77eb{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:420px;pointer-events:none}.toast.svelte-3t77eb{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--signal);padding:14px 16px;font-family:IBM Plex Sans,sans-serif;font-size:14px;line-height:1.5;color:var(--ink);box-shadow:0 12px 32px #00000024;display:grid;grid-template-columns:auto 1fr auto;align-items:flex-start;gap:10px;pointer-events:auto;animation:svelte-3t77eb-kalk-toastIn .25s cubic-bezier(.16,1,.3,1);position:relative}.toast.svelte-3t77eb .icon:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600;line-height:1;margin-top:2px}.toast--warn.svelte-3t77eb .icon:where(.svelte-3t77eb){color:var(--signal)}.toast--info.svelte-3t77eb{border-left-color:var(--ink-soft)}.toast--info.svelte-3t77eb .icon:where(.svelte-3t77eb){color:var(--ink-soft)}.toast--ok.svelte-3t77eb{border-left-color:#4d7c0f}.toast--ok.svelte-3t77eb .icon:where(.svelte-3t77eb){color:#4d7c0f}.toast--err.svelte-3t77eb{border-left-color:#c4332a}.toast--err.svelte-3t77eb .icon:where(.svelte-3t77eb){color:#c4332a}.toast.svelte-3t77eb .msg:where(.svelte-3t77eb){min-width:0;word-wrap:break-word}.toast.svelte-3t77eb .msg:where(.svelte-3t77eb) strong{display:block;font-weight:600;margin-bottom:2px}.toast.svelte-3t77eb .close:where(.svelte-3t77eb){background:none;border:none;cursor:pointer;font-size:20px;line-height:1;color:var(--mute);padding:0 2px;margin-top:-2px;transition:color .15s}.toast.svelte-3t77eb .close:where(.svelte-3t77eb):hover{color:var(--ink)}@keyframes svelte-3t77eb-kalk-toastIn{0%{opacity:0;transform:translate(20px) translateY(8px)}to{opacity:1;transform:translate(0) translateY(0)}}.row-tools.svelte-3t77eb{display:flex;gap:6px;flex-wrap:wrap}.btn-secondary.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:all .15s}.btn-secondary.svelte-3t77eb:hover{background:var(--ink);color:var(--paper)}.btn-secondary.danger.svelte-3t77eb{color:var(--signal);border-color:var(--signal)}.btn-secondary.danger.svelte-3t77eb:hover{background:var(--signal);color:var(--paper)}.rows-wrap.svelte-3t77eb{border:1px solid var(--line);background:var(--paper);overflow-x:auto}.rows-table.svelte-3t77eb{width:100%;border-collapse:collapse;min-width:760px}.rows-table.svelte-3t77eb th:where(.svelte-3t77eb){text-align:left;padding:12px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);background:var(--bg);border-bottom:1px solid var(--line);font-weight:500}.rows-table.svelte-3t77eb td:where(.svelte-3t77eb){padding:6px 8px;border-bottom:1px dashed var(--line-soft);vertical-align:middle}.rows-table.svelte-3t77eb tr:where(.svelte-3t77eb):nth-child(2n) td:where(.svelte-3t77eb){background:#00000003}.rows-table.svelte-3t77eb tr:where(.svelte-3t77eb):last-child td:where(.svelte-3t77eb){border-bottom:none}.rows-table.svelte-3t77eb tr:where(.svelte-3t77eb):hover td:where(.svelte-3t77eb){background:#d63a000a}.rows-table.svelte-3t77eb input:where(.svelte-3t77eb){width:100%;border:1px solid transparent;background:transparent;font-family:IBM Plex Sans,sans-serif;font-size:16px;color:var(--ink);outline:none;padding:7px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .15s,background .15s}.rows-table.svelte-3t77eb input:where(.svelte-3t77eb):focus{border-color:var(--ink);background:var(--bg)}.rows-table.svelte-3t77eb input[type=number]:where(.svelte-3t77eb),.rows-table.svelte-3t77eb input[inputmode=decimal]:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:15px}.rows-table.svelte-3t77eb .cbx input{width:100%;border:1px solid transparent;background:transparent;font-family:IBM Plex Sans,sans-serif;font-size:16px;color:var(--ink);outline:none;padding:7px 22px 7px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .15s,background .15s}.rows-table.svelte-3t77eb .cbx input:focus{border-color:var(--ink);background:var(--bg)}.rows-table.svelte-3t77eb .col-num:where(.svelte-3t77eb){width:36px;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--mute);text-align:center}.rows-table.svelte-3t77eb .col-pos:where(.svelte-3t77eb){width:13%}.rows-table.svelte-3t77eb .col-type:where(.svelte-3t77eb){width:10%}.rows-table.svelte-3t77eb .col-size:where(.svelte-3t77eb){width:14%}.rows-table.svelte-3t77eb .col-mat:where(.svelte-3t77eb){width:18%}.rows-table.svelte-3t77eb .col-len:where(.svelte-3t77eb){width:11%}.rows-table.svelte-3t77eb .col-qty:where(.svelte-3t77eb){width:7%}.rows-table.svelte-3t77eb .col-tot:where(.svelte-3t77eb){width:13%;font-family:JetBrains Mono,monospace;font-size:14px;color:var(--mute);text-align:right;padding-right:14px}.rows-table.svelte-3t77eb .col-act:where(.svelte-3t77eb){width:60px;text-align:right;white-space:nowrap}.rows-table.svelte-3t77eb .col-add:where(.svelte-3t77eb){display:none}.rows-table.svelte-3t77eb tfoot:where(.svelte-3t77eb) td:where(.svelte-3t77eb){background:var(--bg)!important;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink);font-weight:600;padding:10px 12px;border-top:1px solid var(--line);border-bottom:none!important}.row-del.svelte-3t77eb,.row-copy.svelte-3t77eb{background:none;border:none;color:var(--mute);cursor:pointer;padding:4px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .15s}.row-copy.svelte-3t77eb svg:where(.svelte-3t77eb){display:block}.row-copy.svelte-3t77eb:hover{color:var(--ink)}.row-del.svelte-3t77eb{font-size:21px}.row-del.svelte-3t77eb:hover{color:var(--signal)}.groups-empty.svelte-3t77eb{padding:28px 22px;border:1px dashed var(--line-soft);background:var(--paper);color:var(--mute);font-family:JetBrains Mono,monospace;font-size:14px;text-align:center}.groups-list.svelte-3t77eb{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.group-card.svelte-3t77eb{background:var(--paper);border:1px solid var(--line);padding:18px 20px;display:grid;grid-template-columns:1fr 120px;gap:16px;align-items:start}.gc-body.svelte-3t77eb{min-width:0}.gc-svg.svelte-3t77eb{display:flex;justify-content:center;align-items:center;background:var(--bg);border:1px solid var(--line-soft);padding:8px;min-height:96px;cursor:zoom-in;position:relative;transition:border-color .15s,background .15s}.gc-svg.svelte-3t77eb:hover{border-color:var(--ink);background:var(--paper)}.gc-svg.svelte-3t77eb:after{content:"⤢";position:absolute;top:6px;right:8px;font-size:16px;color:var(--mute);opacity:.6}@media(max-width:640px){.group-card.svelte-3t77eb{grid-template-columns:1fr;position:relative}.gc-svg.svelte-3t77eb{display:flex;position:absolute;top:14px;right:14px;width:62px;height:62px;min-height:0;padding:5px}.gc-svg.svelte-3t77eb:after{top:2px;right:3px;font-size:11px}.gc-svg.svelte-3t77eb svg{max-width:100%;max-height:100%;width:auto;height:auto}.gc-title.svelte-3t77eb,.gc-mat.svelte-3t77eb{padding-right:72px}}.gc-title.svelte-3t77eb{font-family:Fraunces,serif;font-weight:400;font-size:25px;line-height:1.1;letter-spacing:-.02em;margin-bottom:4px}.gc-mat.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--mute);letter-spacing:.08em;margin-bottom:14px}.gc-stats.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:14px;color:var(--ink-soft);display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed var(--line-soft)}.gc-stats.svelte-3t77eb span:where(.svelte-3t77eb):nth-child(odd){color:var(--mute)}.gc-stocks-label.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}.gc-stocks-label.svelte-3t77eb .hint:where(.svelte-3t77eb){text-transform:none;letter-spacing:0;font-size:11px;font-weight:400;opacity:.7;margin-left:6px}.firm-stock.svelte-3t77eb{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.firm-stock.svelte-3t77eb li:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:12px;padding:2px 8px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.firm-stock-empty.svelte-3t77eb{font-size:12.5px;color:var(--signal);margin-bottom:8px}.stock-table.svelte-3t77eb{width:100%;border-collapse:collapse;background:var(--bg);border:1px solid var(--line-soft);margin-bottom:10px}.stock-table.svelte-3t77eb th:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-align:left;padding:6px 10px;background:var(--paper);border-bottom:1px solid var(--line-soft);font-weight:500}.stock-table.svelte-3t77eb td:where(.svelte-3t77eb){padding:3px 4px;border-bottom:1px dashed var(--line-soft)}.stock-table.svelte-3t77eb tr:where(.svelte-3t77eb):last-child td:where(.svelte-3t77eb){border-bottom:none}.stock-table.svelte-3t77eb input:where(.svelte-3t77eb){width:100%;border:1px solid transparent;background:transparent;font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink);outline:none;padding:6px 8px}.stock-table.svelte-3t77eb input:where(.svelte-3t77eb):focus{border-color:var(--ink);background:var(--paper)}.gc-dot.svelte-3t77eb{display:inline-block;width:10px;height:10px;margin-right:8px;vertical-align:middle}.stock-del.svelte-3t77eb{background:none;border:none;color:var(--mute);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;transition:color .15s}.stock-del.svelte-3t77eb:hover{color:var(--signal)}.stock-add-row.svelte-3t77eb{background:none;border:none;color:var(--ink-soft);cursor:pointer;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:color .15s}.stock-add-row.svelte-3t77eb:hover{color:var(--signal)}.trim-toggle.svelte-3t77eb{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;background:var(--paper);border:1px solid var(--line-soft);cursor:pointer;font-size:12px;color:var(--ink-soft);line-height:1.4}.trim-toggle.svelte-3t77eb input[type=checkbox]:where(.svelte-3t77eb){margin:2px 0 0;width:14px;height:14px;accent-color:var(--signal);cursor:pointer;flex-shrink:0}.trim-toggle.svelte-3t77eb:hover{border-color:var(--ink)}.trim-toggle.svelte-3t77eb span:where(.svelte-3t77eb){-webkit-user-select:none;user-select:none}.group-actions.svelte-3t77eb{margin-top:10px;display:flex;gap:6px}.group-actions.svelte-3t77eb .btn-secondary:where(.svelte-3t77eb){flex:1;justify-content:center}.profile-zoom.svelte-3t77eb{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0d0dbf;display:none;align-items:center;justify-content:center;z-index:600;padding:20px}.profile-zoom.show.svelte-3t77eb{display:flex}.profile-zoom-inner.svelte-3t77eb{background:var(--bg);border:1px solid var(--line);padding:32px 36px 24px;max-width:600px;width:100%;position:relative}.profile-zoom-inner.svelte-3t77eb h3:where(.svelte-3t77eb){font-family:Fraunces,serif;font-weight:400;font-size:32px;line-height:1;letter-spacing:-.02em;margin-bottom:4px}.profile-zoom-inner.svelte-3t77eb .zm-mat:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:13px;color:var(--mute);letter-spacing:.1em;margin-bottom:20px}.profile-zoom-inner.svelte-3t77eb .zm-svg:where(.svelte-3t77eb){display:flex;justify-content:center;background:var(--paper);border:1px solid var(--line-soft);padding:20px;margin-bottom:16px}.profile-zoom-inner.svelte-3t77eb .zm-info:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:14px;color:var(--ink-soft);display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;padding:12px 14px;background:var(--paper);border:1px solid var(--line-soft)}.profile-zoom-inner.svelte-3t77eb .zm-info:where(.svelte-3t77eb) span:where(.svelte-3t77eb):nth-child(odd){color:var(--mute);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.profile-zoom-close.svelte-3t77eb{position:absolute;top:12px;right:14px;background:none;border:none;font-size:32px;line-height:1;color:var(--ink);cursor:pointer;padding:4px 8px}.profile-zoom-close.svelte-3t77eb:hover{color:var(--signal)}.run-row.svelte-3t77eb{display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:end;background:var(--paper);border:1px solid var(--line);padding:18px 20px}.run-field.svelte-3t77eb{display:flex;flex-direction:column;gap:6px}.run-field.svelte-3t77eb label:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute)}.run-field.svelte-3t77eb input:where(.svelte-3t77eb),.run-field.svelte-3t77eb select:where(.svelte-3t77eb){padding:10px 12px;border:1px solid var(--line-soft);background:var(--bg);font-family:JetBrains Mono,monospace;font-size:14px;color:var(--ink);outline:none;min-width:140px}.run-field.svelte-3t77eb input:where(.svelte-3t77eb):focus,.run-field.svelte-3t77eb select:where(.svelte-3t77eb):focus{border-color:var(--ink)}.pref-hint.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--mute);line-height:1.4}.run-action.svelte-3t77eb{text-align:right}.run-btn.svelte-3t77eb{padding:14px 22px}.run-btn[disabled].svelte-3t77eb{opacity:.5;cursor:not-allowed}.error.svelte-3t77eb{margin-top:16px;color:var(--signal);font-size:14px}.results-empty.svelte-3t77eb{padding:28px;background:var(--paper);border:1px solid var(--line-soft);color:var(--mute);font-family:JetBrains Mono,monospace;font-size:14px;text-align:center}.stats.svelte-3t77eb{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border:1px solid var(--line);margin-bottom:24px;background:var(--paper)}.infeasible-banner.svelte-3t77eb{display:flex;flex-direction:column;gap:4px;padding:14px 18px;margin-bottom:16px;background:#d63a0014;border:1.5px solid var(--signal);border-left-width:6px;font-size:14.5px;line-height:1.5}.infeasible-banner.svelte-3t77eb strong:where(.svelte-3t77eb){color:var(--signal);font-family:JetBrains Mono,monospace;font-size:13.5px;letter-spacing:.02em}.infeasible-banner.svelte-3t77eb .note:where(.svelte-3t77eb){color:var(--mute);font-size:13px}.stat.svelte-3t77eb{padding:18px 22px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.stat.svelte-3t77eb .lbl:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}.stat.svelte-3t77eb .val:where(.svelte-3t77eb){font-family:Fraunces,serif;font-weight:400;font-size:32px;line-height:1;color:var(--ink)}.stat.svelte-3t77eb .sub:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:13px;color:var(--mute);margin-top:6px}.stat.signal.svelte-3t77eb .val:where(.svelte-3t77eb){color:var(--signal)}.stat.svelte-3t77eb .bar:where(.svelte-3t77eb){height:3px;background:var(--line-soft);margin-top:10px}.stat.svelte-3t77eb .bar-fill:where(.svelte-3t77eb){height:100%;background:var(--signal);transition:width .4s}.result-block.svelte-3t77eb{margin-top:28px;padding-top:20px;border-top:1px dashed var(--line-soft)}.result-block.svelte-3t77eb:first-child{border-top:none;padding-top:0}.result-block.svelte-3t77eb h3:where(.svelte-3t77eb){font-family:Fraunces,serif;font-weight:400;font-size:25px;margin-bottom:4px}.rb-dot.svelte-3t77eb{display:inline-block;width:10px;height:10px;margin-right:8px;vertical-align:middle}.rb-mat.svelte-3t77eb{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--mute);margin-bottom:14px}.bars-wrap.svelte-3t77eb{display:flex;flex-direction:column;gap:10px}.pos-summary.svelte-3t77eb{margin-top:16px;width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);font-family:JetBrains Mono,monospace;font-size:14px}.pos-summary.svelte-3t77eb th:where(.svelte-3t77eb),.pos-summary.svelte-3t77eb td:where(.svelte-3t77eb){padding:8px 12px;text-align:left;border-bottom:1px dashed var(--line-soft)}.pos-summary.svelte-3t77eb th:where(.svelte-3t77eb){background:var(--bg);font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);font-weight:500;border-bottom:1px solid var(--line)}.pos-summary.svelte-3t77eb tr:where(.svelte-3t77eb):last-child td:where(.svelte-3t77eb){border-bottom:none;font-weight:600;background:var(--bg)}.pos-badge.svelte-3t77eb{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;color:#fff;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.02em}@media(max-width:1024px){.run-row.svelte-3t77eb{grid-template-columns:1fr 1fr}.run-action.svelte-3t77eb{grid-column:1 / -1;text-align:left}}@media(max-width:640px){.run-row.svelte-3t77eb{grid-template-columns:1fr}.run-field.svelte-3t77eb input:where(.svelte-3t77eb),.run-field.svelte-3t77eb select:where(.svelte-3t77eb){min-width:0;width:100%}}.plan-overlay.svelte-3t77eb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.plan-backdrop.svelte-3t77eb{position:absolute;top:0;right:0;bottom:0;left:0;border:0;margin:0;padding:0;background:#00000080;cursor:pointer}.plan-card.svelte-3t77eb{position:relative;z-index:1;background:var(--paper);color:var(--ink);max-width:440px;width:100%;border:1px solid var(--ink);padding:28px}.plan-card.svelte-3t77eb h3:where(.svelte-3t77eb){margin:0 0 12px;font-family:Fraunces,serif;font-weight:400;font-size:22px}.plan-card.svelte-3t77eb p:where(.svelte-3t77eb){margin:0 0 20px;line-height:1.6;font-size:15px;color:var(--ink-soft)}.plan-actions.svelte-3t77eb{display:flex;gap:10px;flex-wrap:wrap}.plan-card.svelte-3t77eb .btn-primary:where(.svelte-3t77eb){font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none}.plan-card.svelte-3t77eb .btn-primary:where(.svelte-3t77eb):hover{background:var(--signal);border-color:var(--signal)}@media(max-width:640px){.project-row.svelte-3t77eb{flex-wrap:wrap;align-items:stretch;gap:8px}.project-row.svelte-3t77eb input:where(.svelte-3t77eb){max-width:none;flex:1 1 100%;font-size:16px}.project-actions.svelte-3t77eb{width:100%}.project-actions.svelte-3t77eb>:where(.svelte-3t77eb){flex:1 1 auto;text-align:center}.project-jump.svelte-3t77eb{max-width:none}.bulk-btn.svelte-3t77eb{display:none}.rows-wrap.svelte-3t77eb{overflow-x:visible;border:none;background:transparent}.rows-table.svelte-3t77eb{display:block;min-width:0;width:100%}.rows-table.svelte-3t77eb thead:where(.svelte-3t77eb){display:none}.rows-table.svelte-3t77eb tbody:where(.svelte-3t77eb){display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:16px;padding:2px 16px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.rows-table.svelte-3t77eb tbody:where(.svelte-3t77eb)::-webkit-scrollbar{display:none}.rows-table.svelte-3t77eb tbody:where(.svelte-3t77eb) tr:where(.svelte-3t77eb){flex:0 0 87%;scroll-snap-align:start;align-content:start;display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;position:relative;border:1px solid var(--line);background:var(--paper);padding:34px 14px 14px}.rows-table.svelte-3t77eb tbody:where(.svelte-3t77eb) tr:where(.svelte-3t77eb):nth-child(2n) td:where(.svelte-3t77eb){background:transparent}.rows-table.svelte-3t77eb td:where(.svelte-3t77eb){display:flex;flex-direction:column;gap:4px;padding:0!important;border:none!important;min-width:0}.rows-table.svelte-3t77eb td:where(.svelte-3t77eb):before{content:attr(data-label);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.rows-table.svelte-3t77eb td.col-num:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-pos:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-type:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-size:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-mat:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-len:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-qty:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-tot:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-act:where(.svelte-3t77eb){width:auto}.rows-table.svelte-3t77eb td:where(.svelte-3t77eb) input:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td:where(.svelte-3t77eb) .cbx{width:100%}.rows-table.svelte-3t77eb td:where(.svelte-3t77eb) input:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td:where(.svelte-3t77eb) .cbx input{border:1px solid var(--line-soft);background:var(--paper)}.rows-table.svelte-3t77eb td:where(.svelte-3t77eb) input[type=number]:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td:where(.svelte-3t77eb) input[inputmode=decimal]:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td:where(.svelte-3t77eb) .cbx input{font-size:16px}.rows-table.svelte-3t77eb td.col-pos:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-mat:where(.svelte-3t77eb),.rows-table.svelte-3t77eb td.col-tot:where(.svelte-3t77eb){grid-column:1 / -1}.rows-table.svelte-3t77eb td.col-tot:where(.svelte-3t77eb){flex-direction:row;align-items:baseline;gap:8px;padding-top:8px!important;border-top:1px dashed var(--line-soft)!important;font-family:JetBrains Mono,monospace;color:var(--ink)}.rows-table.svelte-3t77eb td.col-num:where(.svelte-3t77eb){position:absolute;top:8px;left:14px;flex-direction:row;gap:0;padding:0!important;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--mute)}.rows-table.svelte-3t77eb td.col-num:where(.svelte-3t77eb):before{content:"#";margin-right:2px}.rows-table.svelte-3t77eb tbody:where(.svelte-3t77eb) tr:where(.svelte-3t77eb):hover td:where(.svelte-3t77eb){background:transparent}.rows-table.svelte-3t77eb td.col-act:where(.svelte-3t77eb){position:absolute;top:6px;right:8px;flex-direction:row;gap:4px;padding:0!important}.rows-table.svelte-3t77eb td.col-act:where(.svelte-3t77eb):before{content:none}.rows-table.svelte-3t77eb td.col-act:where(.svelte-3t77eb) .row-copy:where(.svelte-3t77eb){display:none}.rows-table.svelte-3t77eb td.col-add:where(.svelte-3t77eb){display:flex;position:absolute;top:50%;right:-15px;transform:translateY(-50%);width:auto;padding:0!important;z-index:3}.rows-table.svelte-3t77eb td.col-add:where(.svelte-3t77eb):before{content:none}.card-add.svelte-3t77eb{width:34px;height:34px;border-radius:50%;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-family:JetBrains Mono,monospace;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 5px #00000029}.card-add.svelte-3t77eb:active{background:var(--ink);color:var(--paper)}.rows-table.svelte-3t77eb tfoot:where(.svelte-3t77eb){display:block}.rows-table.svelte-3t77eb tfoot:where(.svelte-3t77eb) tr:where(.svelte-3t77eb){display:flex;justify-content:space-between;gap:8px;padding:8px 4px}.rows-table.svelte-3t77eb tfoot:where(.svelte-3t77eb) td:where(.svelte-3t77eb){padding:0!important}.rows-table.svelte-3t77eb tfoot:where(.svelte-3t77eb) td[colspan]:where(.svelte-3t77eb){text-align:left!important}}
