@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/basting-stitch/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/basting-stitch/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/basting-stitch/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/basting-stitch/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/basting-stitch/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/basting-stitch/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/basting-stitch/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/basting-stitch/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/basting-stitch/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/basting-stitch/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/basting-stitch/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/basting-stitch/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/basting-stitch/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/basting-stitch/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/basting-stitch/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/basting-stitch/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/basting-stitch/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/basting-stitch/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/basting-stitch/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/basting-stitch/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#122b38;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-panel:#fffaf2c7;--color-border:#122b381c;--color-ink:#122b38;--color-ink-soft:#122b38b8;--color-accent:#d07843;--color-accent-deep:#b0522f;--shadow-panel:0 24px 60px #7b5f301f;background:radial-gradient(circle at top,#fff0d6e6,#0000 38%),linear-gradient(#fff9ee 0%,#f4eddf 100%);font-family:Space Grotesk,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{min-height:100%}body{min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#122b3809 1px,#0000 1px),linear-gradient(90deg,#122b3809 1px,#0000 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 25%,#0000 82%);mask-image:radial-gradient(circle,#000 25%,#0000 82%)}button,input,select{font:inherit}code,.status-meta,.metric-card p{font-family:IBM Plex Mono,monospace}a{color:inherit;text-decoration:none}#root{isolation:isolate}.page-shell{width:min(1200px,100vw - 2rem);margin:0 auto;padding:3rem 0 4rem}.hero{display:block}.eyebrow,.panel-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-deep);margin:0 0 .75rem;font-size:.78rem;font-weight:700}.hero h1,.panel-heading h2,.preview-header h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.95}.lede{max-width:56ch;color:var(--color-ink-soft);margin:1rem 0 0;font-size:1.02rem;line-height:1.7}.hero-highlights{flex-wrap:wrap;gap:.7rem;margin-top:1.25rem;display:flex}.hero-highlights span{color:var(--color-ink);background:#fffaf2c7;border:1px solid #122b381a;border-radius:999px;padding:.7rem .95rem;font-size:.88rem;font-weight:700;line-height:1.4;box-shadow:0 12px 24px #7b5f3014}.controls-panel,.preview-panel{border:1px solid var(--color-border);background:var(--color-panel);box-shadow:var(--shadow-panel);border-radius:28px;position:relative;overflow:hidden}.workspace{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:1.5rem;margin-top:2rem;display:grid}.controls-panel,.preview-panel{padding:1.6rem}.panel-heading,.preview-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.preview-header{grid-template-columns:minmax(0,1fr) auto;display:grid}.preview-header>:first-child{min-width:0}.panel-heading h2,.preview-header h2{font-size:clamp(1.7rem,2.4vw,2.4rem)}.download-button{font:inherit;cursor:pointer;border:0;padding:.9rem 1.25rem;font-weight:700;transition:transform .16s,box-shadow .16s,opacity .16s}.download-actions{justify-self:end;align-items:stretch;max-width:100%;display:inline-flex;position:relative}.preview-filename{color:var(--color-ink-soft);overflow-wrap:anywhere;margin:.9rem 0 0;font-size:.92rem;line-height:1.5}.download-button{color:#fffdf7;background:linear-gradient(135deg, var(--color-accent), var(--color-accent-deep));border-radius:999px 0 0 999px;box-shadow:0 18px 34px #b0522f3b}.download-toggle{min-width:3.25rem;font:inherit;color:#fffdf7;background:linear-gradient(135deg, var(--color-accent), var(--color-accent-deep));cursor:pointer;border:0;border-left:1px solid #ffffff38;border-radius:0 999px 999px 0;padding:.9rem;font-weight:700;transition:transform .16s,box-shadow .16s,opacity .16s;box-shadow:0 18px 34px #b0522f3b}.download-button:hover,.download-toggle:hover{transform:translateY(-1px)}.download-button:disabled,.download-toggle:disabled{opacity:.6;cursor:wait;box-shadow:none;transform:none}.download-menu{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffcf6fa;border:1px solid #122b381a;border-radius:22px;gap:.35rem;min-width:min(20rem,100vw - 2rem);max-height:20rem;padding:.55rem;display:grid;position:absolute;top:calc(100% + .75rem);right:0;overflow-y:auto;box-shadow:0 28px 48px #122b3829}.download-menu-item{text-align:left;color:var(--color-ink);cursor:pointer;background:0 0;border:0;border-radius:16px;gap:.2rem;padding:.8rem .95rem;transition:background .16s;display:grid}.download-menu-item:hover,.download-menu-item:focus-visible{background:#c965401f;outline:none}.download-menu-item span{font-weight:700}.download-menu-item small{color:var(--color-ink-soft)}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.8rem;display:grid}.field{gap:.55rem;display:grid}.size-field,.stitch-field{grid-column:1/-1;align-content:start}.field span{color:var(--color-ink-soft);font-size:.86rem;font-weight:700}.field input,.field select{appearance:none;width:100%;color:var(--color-ink);font:inherit;background:#fffbf3db;border:1px solid #122b3826;border-radius:18px;padding:.95rem 1rem}.field input:focus,.field select:focus{outline:2px solid color-mix(in srgb, var(--color-accent) 45%, white);outline-offset:1px}.inline-field-row{grid-template-columns:auto auto;justify-content:start;gap:.65rem;display:grid}.size-row{grid-template-columns:auto auto auto auto;justify-content:start;align-items:center;gap:.65rem;display:grid}.size-separator{color:var(--color-ink-soft);font-size:1.05rem;font-weight:700}.compact-select{text-transform:lowercase}.slim-select{text-transform:lowercase;width:auto;min-width:3.35rem;padding-inline:.65rem}.measurement-input{width:min(100%,8rem);min-width:0}.error-banner,.panel-note{border-radius:18px;margin:1.25rem 0 0;padding:1rem 1.1rem;line-height:1.6}.error-banner{color:#8d2f2f;background:#b02a2a1a}.panel-note{background:linear-gradient(135deg,#c965401a,#fff6),#fff8eecc}.panel-note p{margin:0}.preview-stage{background:radial-gradient(circle at 0 0,#fffc,#0000 50%),linear-gradient(#fffcf5e6,#f0e7d6e6);border:1px solid #122b3814;border-radius:26px;place-items:center;min-height:410px;margin-top:1.4rem;display:grid}.preview-svg{width:min(100%,620px);max-height:450px;overflow:visible}.preview-frame{fill:#fffef98f;stroke:#122b381f;stroke-width:10px}.preview-thread{fill:none;stroke:var(--color-ink);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round}.preview-point{fill:#c9654033;stroke:#c965406b;stroke-width:1.2px}.empty-state{text-align:center;color:var(--color-ink-soft);padding:2rem}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1.2rem;display:grid}.metric-card{background:#fffbf3bd;border:1px solid #122b3814;border-radius:20px;padding:1rem 1.1rem}.metric-card p{text-transform:uppercase;letter-spacing:.12em;color:var(--color-ink-soft);margin:0;font-size:.78rem}.metric-card strong{margin-top:.5rem;font-size:1rem;display:block}@media (width<=960px){.workspace{grid-template-columns:1fr}.preview-header{grid-template-columns:1fr;align-items:stretch}.download-button{width:100%}.download-actions{justify-self:stretch;width:100%}.download-toggle{flex:none}.download-menu{min-width:auto;left:0;right:0}}@media (width<=680px){.page-shell{width:min(100vw - 1rem,100%);padding-top:1.25rem}.field-grid,.metrics-grid{grid-template-columns:1fr}.size-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.inline-field-row{grid-template-columns:minmax(0,1fr) auto}.inline-field-row .measurement-input,.size-row .measurement-input{width:100%}.size-row .slim-select{grid-column:1/-1;width:100%}.controls-panel,.preview-panel{border-radius:22px;padding:1.2rem}.preview-stage{min-height:280px}}
