:root{--bg:#ebe9e3;--panel:#fcfbf8;--panelAlt:#f4f2ec;--border:#1e1a121a;--borderStrong:#1e1a1233;--text:#1f1c16;--textDim:#6b6760;--textFaint:#6c6962;--accent:#3a5dbe;--accentInk:#fff;--accentSoft:#3a5dbe1f;--danger:#b3261e;--dangerBorder:#b3261e59;--dangerSoft:#b3261e14;--dangerHover:#b3261e1f;--grid:#1e1a120d;--gridStrong:#1e1a1221;--fabric:#fdfcf8;--thread:#3a5dbe;--needle:#d97757;--threadOutline:#11224a;--footStroke:#5b554a;--rulerBg:#fcfbf8d9;--rulerCornerBg:#fcfbf8f2;--overlay-soft:#00000008;--overlay:#0000000a;--overlay-strong:#0000000f;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:24px;--space-8:32px;--space-9:44px;--touch-target:44px;--app-bar-h:calc(var(--touch-target) + var(--space-3) * 2 + 1px);--pill-bar-h:calc(var(--touch-target) + var(--space-3) * 2 + 1px + env(safe-area-inset-bottom,0px));--peek-h:168px;--radius-sm:6px;--radius-md:10px;--radius-pill:999px;--font-2xs:9px;--font-xs:10px;--font-sm:11.5px;--font-md:12.5px;--font-lg:14px;--font-xl:16px;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 8px 24px #0003;--shadow-lg:0 16px 48px #00000040;--z-sticky:2;--z-overlay:3;--z-canvas-fab:6;--z-inspector-peek:80;--z-app-bar:90;--z-bottom-sheet:100;--z-pill-bar:110;--z-toast:1000;--z-modal:1100;--z-skip-link:10000}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}[hidden]{display:none!important}.app-root{grid-template-columns:var(--left-w,240px) 1fr var(--right-w,240px);width:100%;height:100%;display:grid}body[data-left-collapsed=true] .app-root{--left-w:36px}body[data-right-collapsed=true] .app-root{--right-w:36px}body[data-right-as-sheet=true] .app-root{--right-w:0}body[data-right-as-sheet=true] .pane{padding-bottom:var(--pill-bar-h)}.main{min-width:0;height:100%;display:flex}.main-single{flex-direction:column;min-width:0;height:100%;display:flex}.pane{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.pane-full{flex:1;min-height:0}:is(.sb-section-h,.sl-header,.ed-tlbl,.pv-meta-lbl,.ed-insp-lbl){font-size:var(--font-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--textDim);font-weight:600}.app-btn{appearance:none;border:1px solid var(--border);color:var(--text);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);cursor:pointer;background:0 0;font-family:inherit;font-size:12px;font-weight:500}input[type=range]{appearance:none;border-radius:var(--radius-pill);background:#7d7d7d40;outline:none;height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--panel);width:13px;height:13px;box-shadow:var(--shadow-sm);cursor:pointer;border:1px solid #0003;border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--panel);cursor:pointer;border:1px solid #0003;border-radius:50%;width:13px;height:13px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--borderStrong)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm,4px)}.sr-only,.sr-only-focusable{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.sr-only-focusable:focus,.sr-only-focusable:focus-visible{inset:var(--space-3,6px) auto auto var(--space-3,6px);width:auto;height:auto;padding:var(--space-4,8px) var(--space-5,12px);clip:auto;background:var(--panel);color:var(--text);border:2px solid var(--accent);border-radius:var(--radius-md,6px);z-index:var(--z-skip-link);font:inherit;margin:0;position:fixed!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (pointer:coarse){.app-root :is(button,input,select,textarea,[role=button]){min-height:var(--touch-target)}.app-root input[type=range]{min-height:var(--touch-target)}.app-root input[type=range]::-webkit-slider-thumb{width:24px;height:24px}.app-root input[type=range]::-moz-range-thumb{width:24px;height:24px}.app-root input[type=color]{min-width:var(--touch-target)}.sl-row-delete,.sb-item-del{min-width:var(--touch-target);min-height:var(--touch-target);justify-content:center;align-items:center;opacity:1!important;display:inline-flex!important}.ed-tool-btn,.ed-zoom-btn,.ed-stitch-btn{min-width:var(--touch-target);min-height:var(--touch-target)}}@media (width>=640px) and (width<=1023px){body{--left-w:200px}}@media (width<=639px){body{flex-direction:column;display:flex}.app-root{flex:auto;min-height:0;grid-template-columns:none!important;height:auto!important;display:block!important}.app-root>:is(#sidebar,#stitch-list-panel):not([data-in-sheet=true]),.app-root :is(.ed-ruler-top,.ed-ruler-left,.ed-ruler-corner){display:none}html.ed-rulers-shown .app-root :is(.ed-ruler-top,.ed-ruler-left,.ed-ruler-corner){display:block}.main{min-height:0;width:100%!important;height:100%!important}.ms-bar{display:none!important}}@media (height<=480px){:is(.ed-ruler-top,.ed-ruler-left,.ed-ruler-corner){display:none}.ed-canvas-wrap{padding:0!important}}.bs-body :is(.sb-collapse-btn,.sl-collapse-btn){display:none}.toast{padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);font-size:var(--font-md);background:var(--text);color:var(--bg);box-shadow:var(--shadow-md);z-index:var(--z-toast);font-weight:500;animation:.3s toastIn;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.info-backdrop{background:color-mix(in srgb, var(--text) 45%, transparent);width:100vw;max-width:100vw;height:100vh;max-height:100vh;z-index:var(--z-modal);padding:var(--space-7);box-sizing:border-box;border:0;justify-content:center;align-items:center;margin:0;animation:.2s infoIn;display:flex;position:fixed;inset:0}.info-backdrop::backdrop{background:color-mix(in srgb, var(--text) 45%, transparent)}.info-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-7);width:100%;max-width:480px;box-shadow:var(--shadow-lg)}.info-title{margin:0 0 var(--space-5) 0;font-size:var(--font-xl);color:var(--text);font-weight:600}.info-body{color:var(--textDim);font-size:13px;line-height:1.55}.info-body p{margin:0 0 var(--space-5) 0}.info-body p:last-child{margin-bottom:0}.info-actions{justify-content:flex-end;margin-top:18px;display:flex}.info-btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accentInk);font-size:var(--font-md);padding:var(--space-4) var(--space-6);font-weight:600}.info-btn-primary:hover{filter:brightness(1.05)}@keyframes infoIn{0%{opacity:0}to{opacity:1}}.ed-canvas-wrap{cursor:crosshair;background:var(--bg);touch-action:none;flex:1;position:relative;overflow:hidden}.ed-canvas-wrap[data-tool=pan]{cursor:grab}.ed-canvas-wrap[data-hover-valid=false][data-tool=add]{cursor:not-allowed}.ed-canvas{width:100%;height:100%;position:absolute;inset:0}.ed-hoop{fill:var(--fabric);stroke:var(--borderStrong);stroke-width:1px;rx:4}.ed-grid line.grid-fine-x,.ed-grid line.grid-fine-y{stroke:var(--grid);stroke-width:.5px;stroke-opacity:.6}.ed-grid line.grid-minor-x,.ed-grid line.grid-minor-y{stroke:var(--gridStrong);stroke-width:.7px}.ed-grid line.grid-major-x,.ed-grid line.grid-major-y{stroke:var(--text);stroke-width:1px;stroke-opacity:.22}.ed-grid line.grid-axis-x,.ed-grid line.grid-axis-y{stroke:var(--accent);stroke-width:1px;stroke-opacity:.55}.ed-bg{cursor:move}.ed-bg.ed-bg-locked{cursor:inherit}.ed-segment.kind-straight{stroke:var(--thread);stroke-width:1.6px;fill:none;cursor:pointer;pointer-events:stroke}.ed-segment.kind-straight.selected{stroke:var(--accent);stroke-width:2.5px}.ed-segment.kind-straight.last:not(.selected){stroke:var(--thread);stroke-width:2px;stroke-dasharray:4 2}.ed-segment.kind-satin .satin-cone{fill:var(--thread);fill-opacity:.18;stroke:var(--thread);stroke-opacity:.4;stroke-width:.8px}.ed-segment.kind-satin.selected .satin-cone{stroke:var(--accent);stroke-opacity:1;stroke-width:1.4px}.ed-segment.kind-satin.last:not(.selected) .satin-cone{stroke-opacity:.7;stroke-width:1.1px;stroke-dasharray:4 2}.ed-segment.kind-satin .satin-spine{stroke:var(--thread);stroke-opacity:.4;stroke-width:1px;stroke-dasharray:2 2;cursor:pointer;pointer-events:stroke}.ed-segment.kind-satin .satin-stitch{stroke:var(--thread);stroke-opacity:.55;stroke-width:.6px;stroke-linecap:round;pointer-events:none}.ed-segment.kind-satin.selected .satin-stitch{stroke:var(--accent);stroke-opacity:.85}.ed-point .start-disc{fill:var(--accent)}.ed-point .start-halo{stroke:var(--accent);stroke-opacity:.3;stroke-width:1.2px;stroke-dasharray:2 2}.ed-point .point-disc{fill:var(--fabric);stroke:var(--borderStrong);stroke-width:1.5px}.ed-point.selected .point-disc{stroke:var(--accent);stroke-width:2px}.ed-point .point-dot{fill:var(--text);opacity:.8}.hover-crosshair .hover-line{stroke:var(--accent);stroke-opacity:.25;stroke-width:1px;stroke-dasharray:2 3;pointer-events:none}.hover-crosshair .hover-target{fill:none;stroke:var(--accent);stroke-width:1.4px;pointer-events:none}.hover-crosshair .hover-target-dot{fill:var(--accent);pointer-events:none}.ed-manual-segment{stroke:var(--accent);stroke-width:1.5px;fill:none;pointer-events:none}.ed-manual-segment.kind-jump{stroke-dasharray:3 2;opacity:.55}.ed-manual-marker .ed-manual-dot{fill:var(--accent);stroke:var(--bg,#fff);stroke-width:1px;pointer-events:none}.ed-manual-marker.kind-jump .ed-manual-dot{fill:none;stroke:var(--accent);stroke-width:1.2px}.ed-needle-window{fill:var(--accent);fill-opacity:.07;stroke:var(--accent);stroke-opacity:.45;stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.ed-needle-window.kind-jump{fill-opacity:.12;stroke-opacity:.6;stroke-dasharray:2 2}.ed-start-marker{cursor:grab}.ed-start-marker .ed-start-body{fill:var(--accent);fill-opacity:.08;stroke:var(--accent);stroke-width:1.4px;stroke-opacity:.7;stroke-dasharray:4 3}.ed-start-marker .ed-start-slot{fill:var(--accent);fill-opacity:.18;stroke:var(--accent);stroke-width:1px;stroke-opacity:.6}.ed-start-marker:hover{cursor:grab}.ed-start-marker:hover .ed-start-body{fill-opacity:.14;stroke-opacity:1;stroke-dasharray:none}.ed-start-marker:hover .ed-start-slot{fill-opacity:.28;stroke-opacity:1}.ed-start-marker:active{cursor:grabbing}.ed-start-marker.ed-start-marker-locked{cursor:not-allowed}.ed-start-marker.ed-start-marker-locked .ed-start-body,.ed-start-marker.ed-start-marker-locked .ed-start-slot{fill-opacity:.05;stroke-opacity:.35}.ed-start-marker.ed-start-marker-locked:hover{cursor:not-allowed}.ed-start-marker.ed-start-marker-locked:hover .ed-start-body,.ed-start-marker.ed-start-marker-locked:hover .ed-start-slot{fill-opacity:.08;stroke-opacity:.5;stroke-dasharray:4 3}.ed-start-stitch{cursor:grab}.ed-start-stitch .ed-start-stitch-glyph{fill:#2ecc71;stroke:#000;stroke-width:1px;stroke-opacity:.85;pointer-events:none}.ed-start-stitch .ed-start-stitch-hit{cursor:grab}.ed-start-stitch:active,.ed-start-stitch:active .ed-start-stitch-hit{cursor:grabbing}.ed-start-stitch.ed-start-stitch-locked{cursor:not-allowed}.ed-start-stitch.ed-start-stitch-locked .ed-start-stitch-hit{cursor:not-allowed}.ed-start-stitch.ed-start-stitch-locked .ed-start-stitch-glyph{fill-opacity:.4}.ed-hover-reject-ring{fill:none;stroke:#c0392b;stroke-width:1.4px;pointer-events:none}.ed-hover-reject-slash{stroke:#c0392b;stroke-width:1.4px;stroke-linecap:round;pointer-events:none}.ed-fit-zoom{display:none}@media (width<=639px){.ed-fit-zoom{right:var(--space-4);bottom:var(--space-4);width:var(--touch-target);height:var(--touch-target);background:var(--panel);border:1px solid var(--borderStrong);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;z-index:var(--z-canvas-fab);justify-content:center;align-items:center;font-size:18px;display:inline-flex;position:absolute}}.ed-ruler-top{background:var(--rulerBg);border-bottom:1px solid var(--border);pointer-events:none;height:22px;z-index:var(--z-sticky);color:var(--textFaint);font-size:9.5px;position:absolute;top:0;left:34px;right:0}.ed-ruler-left{background:var(--rulerBg);border-right:1px solid var(--border);pointer-events:none;width:34px;z-index:var(--z-sticky);color:var(--textFaint);font-size:9.5px;position:absolute;top:22px;bottom:0;left:0}.ed-ruler-corner{background:var(--rulerCornerBg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:34px;height:22px;font-size:var(--font-2xs);color:var(--textFaint);letter-spacing:.08em;text-transform:uppercase;z-index:var(--z-overlay);pointer-events:none;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;top:0;left:0}.ed-ruler line.axis-tick,.ed-ruler text.axis-tick{stroke:var(--accent);fill:var(--accent);font-weight:600}.ed-ruler .hover-tick line{stroke:var(--accent);stroke-width:1.2px}.ed-ruler .hover-tick text{fill:var(--accent);font-weight:600}.ed-toolbar{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-5);background:var(--panel);border-bottom:1px solid var(--border);flex:none;display:flex}.ed-toolbar select{appearance:none;background:var(--panelAlt);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer;outline:none;font-family:inherit;font-size:11px}.ed-toolgroup{align-items:center;gap:var(--space-3);display:flex}.ed-right{margin-left:auto}.ed-tool-btn[data-active=true],.ed-stitch-btn[data-active=true],.ed-encoder-btn[data-active=true]{background:var(--accent);color:var(--accentInk);border-color:var(--accent)}.ed-zoom-btn{appearance:none;border:1px solid var(--border);background:var(--panelAlt);color:var(--text);border-radius:var(--radius-sm);padding:var(--space-2) 0;width:28px;font-size:var(--font-xl);cursor:pointer;line-height:1}.ed-zoom-btn:hover{background:var(--panel)}.ed-zoom-btn:active{background:var(--accent);color:var(--accentInk)}@media (width<=639px){.ed-toolbar .ed-toolgroup:has(.ed-zoom-btn){display:none}.ed-toolbar{gap:var(--space-3);flex-wrap:wrap}body:not([data-active-tool=add]) .ed-toolbar .ed-toolgroup:has(.ed-stitch-btn){display:none}.ed-toolbar .ed-toolgroup:has(.ed-stitch-btn){flex-basis:100%}.ed-toolbar .ed-right{display:none}}@media (width>=640px) and (width<=1023px){.ed-toolbar{row-gap:var(--space-3);flex-wrap:wrap}}.ed-inspector{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);background:var(--panel);border-top:1px solid var(--border);font-size:var(--font-sm);flex:none;min-height:40px;display:flex}.ed-insp-meta,.ed-insp-row{align-items:center;gap:var(--space-4);display:flex}.ed-insp-id{font-family:ui-monospace,monospace;font-weight:500}.ed-insp-len,.ed-insp-imported{color:var(--textFaint)}.ed-insp-imported{font-style:italic}.ed-insp-row select,.ed-insp-row input[type=range]{font-family:inherit}.ed-insp-val{font-variant-numeric:tabular-nums;text-align:right;min-width:46px;font-size:11px}.ed-insp-btn{padding:var(--space-2) var(--space-5);background:var(--panel);border-radius:var(--radius-sm)}.ed-insp-btn:hover{background:var(--overlay)}.ed-insp-btn-danger{color:var(--danger);border-color:var(--dangerBorder)}.ed-insp-btn-danger:hover{background:var(--dangerSoft)}dialog.cm-root{border:1px solid var(--borderStrong);border-radius:var(--radius-md);background:var(--panel);min-width:180px;max-width:280px;color:var(--text);margin:0;padding:0;position:fixed;box-shadow:0 8px 24px #0000002e}dialog.cm-root::backdrop{background:0 0}.cm-list{flex-direction:column;display:flex}.cm-item{appearance:none;border:none;border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-5);text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:var(--touch-target);background:0 0}.cm-item:last-child{border-bottom:none}.cm-item:hover{background:var(--overlay)}.cm-item.danger{color:var(--danger)}.cm-item.danger:hover{background:var(--dangerSoft)}.cm-item-text{cursor:default;color:var(--textDim);font-size:var(--font-sm)}.cm-item-text:hover{background:0 0}.ed-tap-ripple{border:2px solid var(--accent);pointer-events:none;opacity:.9;width:12px;height:12px;z-index:var(--z-overlay);border-radius:50%;margin:-6px 0 0 -6px;animation:.35s ease-out forwards ed-tap-ripple;position:absolute}@keyframes ed-tap-ripple{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(2.2)}}.pv-header{padding:var(--space-5) var(--space-6);background:var(--panel);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;font-size:12px;display:flex}.pv-canvas-wrap{background:var(--bg);touch-action:none;flex:1;position:relative;overflow:hidden}.pv-canvas{width:100%;height:100%;position:absolute;inset:0}.pv-canvas .x-axis{stroke:var(--accent);stroke-opacity:.18;stroke-width:1px;stroke-dasharray:3 4}.pv-canvas .pv-x-limit-line{stroke:var(--needle);stroke-opacity:.5;stroke-width:1px;stroke-dasharray:3 3}.pv-canvas .start-halo{stroke:var(--accent);stroke-opacity:.5;stroke-width:1px}.pv-canvas .needle-marker .needle-pulse{stroke:var(--needle);stroke-opacity:.4;stroke-width:1px}.pv-canvas .needle-marker .needle-shaft{stroke:var(--needle);stroke-linecap:round}.pv-canvas .needle-marker .needle-tip,.pv-canvas .needle-marker .needle-dot{fill:var(--needle)}.pv-canvas .thread-outline{stroke:var(--threadOutlineColor,var(--threadOutline));fill:none;stroke-linecap:round;stroke-linejoin:round}.pv-canvas .real-thread{stroke:var(--threadColor,var(--thread));fill:none;stroke-linecap:round;stroke-linejoin:round}.pv-canvas .real-thread-jump{stroke:var(--threadColor,var(--thread));fill:none;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:2.2 2}.pv-canvas .real-highlight{stroke:#ffffff8c;fill:none;stroke-linecap:round;stroke-linejoin:round}.pv-canvas .presser-foot .foot-body{fill:#fff;fill-opacity:.18;stroke:var(--footStroke);stroke-width:1.2px;stroke-opacity:.9}.pv-canvas .presser-foot .foot-slot{fill:none;stroke:var(--footStroke);stroke-width:1.4px;stroke-opacity:1;stroke-dasharray:3 2}.pv-empty{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pv-transport{padding:var(--space-5) var(--space-6);gap:var(--space-4);background:var(--panel);border-top:1px solid var(--border);flex-direction:column;flex:none;display:flex}.pv-tx-row{align-items:center;gap:var(--space-4);display:flex}.pv-tx-row input[type=range]{flex:1;min-width:80px}@media (width<=639px){.pv-tx-row{row-gap:var(--space-3);flex-wrap:wrap}}.pv-tx-meta{font-size:10.5px}.pv-tx-btn{background:var(--panelAlt);justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.pv-tx-play{background:var(--accent);color:var(--accentInk);border-color:var(--accent);width:40px}.pv-tx-zoom{width:30px;margin-left:var(--space-1)}@media (width<=639px){.pv-tx-zoom{display:none}}.pv-tx-color{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:24px;height:22px;padding:0}.pv-tx-color::-webkit-color-swatch-wrapper{padding:0}.pv-tx-color::-webkit-color-swatch{border-radius:calc(var(--radius-sm) - 1px);border:none}.pv-tx-color::-moz-color-swatch{border-radius:calc(var(--radius-sm) - 1px);border:none}.pv-tx-pct,.pv-tx-xy{color:var(--textDim);font-variant-numeric:tabular-nums;text-align:right;min-width:40px;font-size:11px}.sb-root{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;height:100%;display:flex;overflow-y:auto}.sb-brand{padding:var(--space-6);border-bottom:1px solid var(--border);position:relative}.sb-collapse-btn{top:var(--space-2);right:var(--space-2);border:1px solid var(--border);background:var(--panel);width:24px;height:24px;color:var(--textDim);border-radius:var(--radius-sm);font-size:var(--font-lg);cursor:pointer;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute}.sb-collapse-btn:hover{color:var(--text);background:var(--overlay)}body[data-left-collapsed=true] #sidebar>:not(.sb-brand){display:none}body[data-left-collapsed=true] #sidebar .sb-brand{border-bottom:none;height:100%;padding:0}body[data-left-collapsed=true] #sidebar .sb-brand>:not(.sb-collapse-btn){display:none}body[data-left-collapsed=true] #sidebar .sb-collapse-btn{margin:var(--space-3) auto 0;font-size:0;position:static}body[data-left-collapsed=true] #sidebar .sb-collapse-btn:after{content:"›";font-size:var(--font-lg);line-height:1}.sb-brand-title{font-size:var(--font-md);font-weight:600}.sb-brand-sub{font-size:var(--font-xs);color:var(--textFaint);letter-spacing:.04em;text-transform:uppercase;margin-top:var(--space-1)}.sb-info-link{min-height:24px;margin-top:var(--space-1);padding:var(--space-2) 0;font:inherit;color:var(--textDim);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;font-size:11px;display:flex}.sb-info-link:hover{color:var(--accent)}.sb-actions{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.sb-act-row{gap:var(--space-3);display:flex}.sb-btn-primary{background:var(--accent);color:var(--accentInk);border-color:var(--accent);width:100%;padding:var(--space-4) var(--space-5);font-weight:600}.sb-btn-ghost{font-size:var(--font-sm);flex:1}.sb-section{padding:var(--space-5);border-top:1px solid var(--border)}.sb-section-h{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.sb-list{gap:var(--space-1);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.sb-empty{font-size:var(--font-sm);color:var(--textFaint)}.sb-item{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);cursor:pointer;color:var(--textDim);border-left:2px solid #0000;display:flex}.sb-item:hover{background:var(--overlay)}.sb-item.active{background:var(--panelAlt);border-left-color:var(--accent);color:var(--text)}.sb-item-main{flex:1;min-width:0}.sb-item-name{font-size:var(--font-md);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.sb-item-name-input{width:100%;font:inherit;font-size:var(--font-md);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2));color:inherit;background:0 0;border:1px solid #0000;font-weight:500}.sb-item-name-input:hover{border-color:var(--border)}.sb-item-name-input:focus{border-color:var(--accent);background:var(--panelAlt);outline:none}.sb-item-meta{color:var(--textFaint);margin-top:var(--space-1);font-size:10.5px}.sb-item-del{appearance:none;cursor:pointer;padding:var(--space-2);color:var(--textFaint);background:0 0;border:0;font-size:11px}.sb-item-del:hover{color:var(--danger)}.sb-stitch-controls,.sb-bg-controls{gap:var(--space-4);flex-direction:column;display:flex}.sb-bg-row{gap:var(--space-2);flex-direction:column;display:flex}.sb-bg-row input[type=range]{width:100%;min-height:24px}.sb-bg-row>input[type=number]{width:100%;min-height:24px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panelAlt);font:inherit;color:var(--text);box-sizing:border-box;font-size:11px}.sb-bg-lbl{color:var(--textDim);font-size:10.5px}.sb-static-row .sb-static-val{color:var(--text);padding:var(--space-2) 0;font-size:12px;font-weight:500}.sb-locked-note{color:var(--textDim);margin-top:calc(var(--space-2) * -1);font-size:10.5px;font-style:italic}.sb-bg-pos{gap:var(--space-3);display:flex}.sb-bg-num{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panelAlt);flex:1;font-size:11px;display:flex}.sb-bg-num input{text-align:right;width:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-family:inherit}.sb-bg-hint{color:var(--textFaint);margin-top:var(--space-3);font-size:10.5px;line-height:1.4}.sb-bg-lock{align-items:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--textDim);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;display:flex}.sb-preview-controls{gap:var(--space-3);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.sb-color{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:32px;height:22px;padding:0}.sb-color::-webkit-color-swatch-wrapper{padding:0}.sb-color::-webkit-color-swatch{border-radius:calc(var(--radius-sm) - 1px);border:none}.sb-color::-moz-color-swatch{border-radius:calc(var(--radius-sm) - 1px);border:none}.sb-btn-toggle{background:var(--panelAlt);padding:2px 10px;font-size:11px}.sb-btn-toggle[aria-pressed=true]{background:var(--accent);color:var(--accentInk);border-color:var(--accent)}.glossary-card{flex-direction:column;max-width:560px;max-height:min(80vh,720px);display:flex;overflow:hidden}.glossary-body{padding-right:var(--space-3);overflow-y:auto}.glossary-section{margin:0 0 var(--space-6) 0}.glossary-section:last-of-type{margin-bottom:0}.glossary-section-title{margin:0 0 var(--space-4) 0;font-size:var(--font-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--textDim);font-weight:600}.glossary-entry{margin:0 0 var(--space-5) 0}.glossary-entry:last-child{margin-bottom:0}.glossary-entry-term{margin:0 0 var(--space-2) 0;font-size:var(--font-md);color:var(--text);font-weight:600;display:block}.glossary-entry-body{font-size:var(--font-md);color:var(--textDim);margin:0;line-height:1.55}.info-card[aria-labelledby=new-project-title] .info-body{gap:var(--space-5);flex-direction:column;display:flex}.np-section{gap:var(--space-3);flex-direction:column;display:flex}.np-section-title{font-size:var(--font-md);color:var(--text);margin:0;font-weight:600}.np-name-input{font:inherit;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);caret-color:var(--accent);box-sizing:border-box;background:#fff;width:100%;transition:border-color .12s,box-shadow .12s;box-shadow:inset 0 1px 2px #0000000a}.np-name-input::placeholder{color:var(--textDim);opacity:.7}.np-name-input:hover{border-color:color-mix(in srgb, var(--text) 30%, var(--border))}.np-name-input:focus{border-color:var(--accent);box-shadow:inset 0 1px 2px #0000000a, 0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);outline:none}.np-option{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,border-color .12s;display:flex}.np-option:hover{background:var(--panelAlt,var(--panel));border-color:var(--accent)}.np-option input[type=radio]{flex:none;margin-top:3px}.np-option-text{flex-direction:column;gap:2px;display:flex}.np-option-text strong{color:var(--text);font-weight:600}.np-option-desc{color:var(--textDim);font-size:12px;font-style:normal;line-height:1.4}.np-note{color:var(--textDim);margin:0;font-size:12px;font-style:italic}.info-btn-secondary{border-color:var(--border);color:var(--text);font-size:var(--font-md);padding:var(--space-4) var(--space-6);margin-right:var(--space-3);background:0 0}.info-btn-secondary:hover{background:var(--panelAlt,var(--panel))}.info-card[aria-labelledby=export-title] .info-body{gap:var(--space-4);flex-direction:column;display:flex}.ex-intro{color:var(--textDim);font-size:var(--font-md);margin:0}.ex-option{padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;transition:background .12s,border-color .12s;display:flex}.ex-option:hover,.ex-option:focus-visible{background:var(--panelAlt,var(--panel));border-color:var(--accent);outline:none}.ex-option-label{color:var(--text);font-weight:600}.ex-option-desc{color:var(--textDim);font-size:12px;line-height:1.4}.ms-bar{padding:var(--space-4) var(--space-5);background:var(--bg);border-bottom:1px solid var(--border);flex:none;justify-content:center;align-items:center;display:flex}.ms-wrap{padding:var(--space-1);border-radius:var(--radius-pill);background:var(--overlay);border:1px solid var(--border);display:inline-flex;position:relative}.ms-btn{appearance:none;padding:var(--space-2) var(--space-6);border-radius:var(--radius-pill);font-family:inherit;font-size:var(--font-sm);cursor:pointer;align-items:center;gap:var(--space-3);letter-spacing:.02em;color:var(--textDim);background:0 0;border:0;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.ms-btn[data-active=true]{background:var(--accent);color:var(--accentInk)}.ms-btn[data-active=true] .ms-kbd{background:#fff3}.ms-kbd{font-size:var(--font-2xs);padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--overlay-strong);font-weight:500}.sl-root{background:var(--panel);border-left:1px solid var(--border);flex-direction:column;height:100%;display:flex;overflow:hidden}.sl-header{padding:var(--space-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.sl-header-title{font-size:var(--font-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--textDim);font-weight:600}.sl-collapse-btn{border:1px solid var(--border);background:var(--panel);width:24px;height:24px;color:var(--textDim);border-radius:var(--radius-sm);font-size:var(--font-lg);cursor:pointer;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.sl-collapse-btn:hover{color:var(--text);background:var(--overlay)}body[data-right-collapsed=true] #stitch-list-panel #stitch-list{display:none}body[data-right-collapsed=true] #stitch-list-panel .sl-header{padding:var(--space-3) 0 0;border-bottom:none;flex-direction:column;justify-content:flex-start}body[data-right-collapsed=true] #stitch-list-panel .sl-header-title{display:none}body[data-right-collapsed=true] #stitch-list-panel .sl-collapse-btn{font-size:0}body[data-right-collapsed=true] #stitch-list-panel .sl-collapse-btn:after{content:"‹";font-size:var(--font-lg);line-height:1}.sl-list{margin:0;padding:0;font-family:ui-monospace,monospace;font-size:11px;list-style:none;overflow-y:auto}.sl-list li{padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--overlay);cursor:pointer;white-space:nowrap;color:var(--textDim);align-items:center;gap:var(--space-3);display:flex}.sl-list li:hover{background:var(--overlay-soft)}.sl-list li.done{color:var(--accent)}.sl-list li.current{background:var(--accentSoft);color:var(--accent);font-weight:600}.sl-list li.future{color:var(--textFaint)}.sl-list li.kind-last:not(.current){border-left:3px solid var(--accent);padding-left:9px}.sl-list .sl-row-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sl-list .sl-row-delete{font:inherit;font-size:var(--font-lg);width:18px;height:18px;color:var(--textFaint);border-radius:var(--radius-sm);cursor:pointer;opacity:0;background:0 0;border:none;padding:0;line-height:1}.sl-list .sl-row-delete:hover{background:var(--dangerHover);color:var(--danger)}.sl-list li:hover .sl-row-delete,.sl-list .sl-row-delete:focus-visible{opacity:1}.sl-empty{padding:var(--space-6);text-align:center;color:var(--textFaint);font-style:italic}.bs-root{left:0;right:0;bottom:calc(var(--touch-target) + var(--space-5) + env(safe-area-inset-bottom,0));background:var(--panel);border-top:1px solid var(--borderStrong);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:var(--z-bottom-sheet);flex-direction:column;transition:transform .2s,height .2s;display:flex;position:fixed;box-shadow:0 -4px 16px #00000014}.bs-root[data-sheet-state=closed]{pointer-events:none;height:0;transform:translateY(100%)}.bs-root[data-sheet-state=half]{height:50vh;transform:translateY(0)}.bs-root[data-sheet-state=full]{height:90vh;transform:translateY(0)}@media (width<=639px){.bs-root{max-height:calc(100vh - var(--app-bar-h) - var(--space-3) - env(safe-area-inset-top,0) - var(--touch-target) - var(--space-5) - env(safe-area-inset-bottom,0))}}@media (prefers-reduced-motion:reduce){.bs-root{transition:none}}.bs-handle{appearance:none;width:100%;height:var(--touch-target);cursor:ns-resize;touch-action:none;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.bs-grabber{border-radius:var(--radius-pill);background:var(--borderStrong);width:36px;height:4px;display:block}.bs-body{-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 var(--space-5) var(--space-5);flex:auto;overflow-y:auto}.pb-root{gap:var(--space-2);padding:var(--space-3) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom,0));background:var(--panel);border-top:1px solid var(--border);z-index:var(--z-pill-bar);display:flex;position:relative}.pb-root[data-variant=tablet]{z-index:var(--z-pill-bar);position:fixed;bottom:0;left:0;right:0}.pb-pill{appearance:none;min-height:var(--touch-target);border-radius:var(--radius-pill);border:1px solid var(--borderStrong);background:var(--panelAlt);color:var(--text);cursor:pointer;flex:1 1 0;font:600 14px/1.2 inherit}.pb-pill[data-active=true]{background:var(--accent);color:var(--accentInk);border-color:var(--accent)}.ab-root{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + env(safe-area-inset-top,0));background:var(--panel);border-bottom:1px solid var(--border);z-index:var(--z-app-bar);display:flex;position:sticky;top:0}.ab-mode{border:1px solid var(--borderStrong);border-radius:var(--radius-pill);background:var(--panelAlt);margin-left:auto;margin-right:auto;padding:2px;display:inline-flex}.ab-mode-btn{appearance:none;color:var(--text);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);min-height:var(--touch-target);cursor:pointer;background:0 0;border:none;min-width:88px;font:600 13px/1 inherit}.ab-mode-btn[data-active=true]{background:var(--accent);color:var(--accentInk)}.ab-overflow{appearance:none;border:1px solid var(--border);border-radius:var(--radius-md);width:var(--touch-target);height:var(--touch-target);color:var(--text);cursor:pointer;background:0 0;font-size:18px;line-height:1}.ed-rulers-hidden .ed-ruler-top,.ed-rulers-hidden .ed-ruler-left,.ed-rulers-hidden .ed-ruler-corner{display:none}body[data-layout=phone] #ed-inspector{display:none}.ip-root{left:0;right:0;bottom:calc(var(--touch-target) + var(--space-7) + env(safe-area-inset-bottom,0));background:var(--panel);border-top:1px solid var(--borderStrong);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:var(--z-inspector-peek);flex-direction:column;transition:transform .2s,height .2s;display:flex;position:fixed;box-shadow:0 -4px 12px #0000000f}.ip-root[data-peek-state=hidden]{pointer-events:none;border-top-width:0;height:0;transform:translateY(120%)}.ip-root[data-peek-state=peek]{height:var(--peek-h);transform:translateY(0)}.ip-root[data-peek-state=overlay]{height:50vh;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.ip-root{transition:none}}.ip-handle{appearance:none;width:100%;height:var(--touch-target);cursor:ns-resize;touch-action:none;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.ip-close{appearance:none;width:var(--touch-target);height:var(--touch-target);color:var(--textDim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;line-height:1;display:flex;position:absolute;top:0;right:0}.ip-close:hover{color:var(--text)}.ip-grabber{border-radius:var(--radius-pill);background:var(--borderStrong);width:36px;height:4px;display:block}.ip-body{-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 var(--space-5) var(--space-5);flex:auto;overflow:hidden auto}.ip-body .ed-inspector{gap:var(--space-3) var(--space-4);padding:var(--space-3) 0 var(--space-4);background:0 0;border-top:none;flex-wrap:wrap;align-items:flex-start}.ip-body .ed-insp-meta,.ip-body .ed-insp-row{gap:var(--space-2) var(--space-3);flex-wrap:wrap}.ip-body .ed-insp-row select,.ip-body .ed-insp-row input[type=range]{max-width:100%}
