@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/38b3f57056672e96-s.3vy-_l9ztcxef.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8cccf984c8510bbf-s.p.2v4ibmotuyxuz.woff2)format("woff2");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:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ae9e2a5bb156676d-s.1zpm-mgw3w1fq.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/191d227036512e10-s.p.3pskbmi5y11f5.woff2)format("woff2");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:Atkinson Hyperlegible Fallback;src:local(Arial);ascent-override:95.6%;descent-override:29.18%;line-gap-override:0.0%;size-adjust:99.37%}.uJwZvG_className{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback;font-style:normal}.uJwZvG_variable{--font-atkinson:"Atkinson Hyperlegible", "Atkinson Hyperlegible Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b8ccc630e9b93600-s.00ewlnc1znsu7.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1ab3e5abcf77747f-s.0bnyh_2yo1emg.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/edb99fec956915f8-s.p.0glcd8n2pdab0.woff2)format("woff2");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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.JGOFDG_className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.JGOFDG_variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbf7f0;--surface:#fff;--soft:#f1e9db;--ink:#23262d;--muted:#545a66;--line:#cfc4b2;--primary:#1f4e5f;--primary-dark:#163a47;--primary-soft:#e6f0f2;--ember:#b5431f;--notice-bg:#fff3d1;--notice-line:#8a6400;--radius:14px;--radius-small:8px;--space:1rem;--font-body:var(--font-atkinson), "Segoe UI", Arial, sans-serif;--font-display:var(--font-fraunces), Georgia, "Times New Roman", serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:1.125rem;line-height:1.6}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0 0 .5em;font-weight:600;line-height:1.2}h1{font-size:clamp(1.9rem,5vw,2.75rem)}h2{font-size:clamp(1.45rem,3.5vw,1.8rem)}h3{font-size:1.25rem}p{margin:0 0 1em}a{color:var(--primary);text-underline-offset:.2em}a:hover{color:var(--primary-dark)}:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 1rem}.narrow{max-width:760px}.lead{color:var(--muted);max-width:38em;font-size:1.25rem}.muted{color:var(--muted)}.skip-link{z-index:10;background:var(--ink);color:#fff;border-radius:var(--radius-small);padding:.75rem 1rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{color:#fff;top:1rem}.banner{background:var(--notice-bg);border-bottom:2px solid var(--notice-line);padding:.5rem 0;font-size:1rem}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;padding-top:.5rem;padding-bottom:.5rem;display:flex}.logo{min-height:48px;color:var(--ink);font-family:var(--font-display);letter-spacing:.01em;align-items:center;gap:.6rem;font-size:1.5rem;font-weight:700;text-decoration:none;display:inline-flex}.logo:hover{color:var(--ink)}.logo .smia{color:var(--ember)}.nav ul{flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav a{border-radius:var(--radius-small);min-height:48px;color:var(--ink);align-items:center;padding:0 .9rem;font-weight:700;text-decoration:none;display:inline-flex}.nav a:hover{background:var(--soft)}.nav a[aria-current=page]{background:var(--primary-soft);color:var(--primary-dark);box-shadow:inset 0 -3px 0 var(--primary)}main{padding:2rem 0 4rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:1.5rem 0;font-size:1rem}.btn{border:2px solid var(--primary);background:var(--surface);min-height:52px;color:var(--primary-dark);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--primary-soft);color:var(--primary-dark)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.btn-large{min-height:60px;padding:.8rem 2rem;font-size:1.25rem}.btn-quiet{text-underline-offset:.2em;background:0 0;border-color:#0000;text-decoration:underline}.btn[disabled]{opacity:.45;cursor:not-allowed}.hero{align-items:center;gap:2rem;padding:1rem 0 2.5rem;display:grid}@media (min-width:820px){.hero{grid-template-columns:1.2fr 1fr}}.hero-art{background:var(--soft);border-radius:var(--radius);justify-content:center;padding:1.5rem;display:flex}.steps-list{counter-reset:how;gap:1rem;margin:0 0 2.5rem;padding:0;list-style:none;display:grid}@media (min-width:820px){.steps-list{grid-template-columns:repeat(3,1fr)}}.steps-list li{counter-increment:how;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.steps-list li:before{content:counter(how);background:var(--ember);color:#fff;width:2.5rem;height:2.5rem;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:1.25rem;font-weight:700;display:inline-flex}.steps-list p{color:var(--muted);margin:0}fieldset{border:0;min-width:0;margin:0 0 2rem;padding:0}legend{font-family:var(--font-display);margin-bottom:.75rem;padding:0;font-size:1.3rem;font-weight:600}.choices{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.choices.wide{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.choice{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:.25rem;min-height:64px;padding:.9rem 1rem;display:flex;position:relative}.choice:hover{border-color:var(--primary)}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice:focus-within{outline:3px solid var(--ink);outline-offset:3px}.choice.is-selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.choice.is-selected:after{content:"✓";background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:1rem;font-weight:700;display:flex;position:absolute;top:.5rem;right:.6rem}.choice.is-disabled{cursor:not-allowed;background:var(--soft);color:var(--muted);border-style:dashed}.choice.is-disabled:hover{border-color:var(--line)}.choice-title{padding-right:1.8rem;font-weight:700}.choice-desc{color:var(--muted);font-size:1rem;line-height:1.4}.choice-art{color:var(--primary);justify-content:center;margin-bottom:.25rem;display:flex}.tag{background:var(--ink);color:#fff;border-radius:999px;align-self:flex-start;padding:.1rem .6rem;font-size:.9rem}.swatches{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:.5rem;max-width:640px;display:grid}.swatch{aspect-ratio:1;cursor:pointer;border:2px solid #00000059;border-radius:50%;min-height:52px;display:block;position:relative}.swatch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.swatch:focus-within{outline:3px solid var(--ink);outline-offset:3px}.swatch.is-selected{box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--ink)}.swatch.is-selected:after{content:"✓";color:var(--tick,#fff);justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex;position:absolute;inset:0}.swatch-name{margin:.6rem 0 0;font-weight:700}.field{margin-bottom:1.25rem}.field label{margin-bottom:.25rem;font-weight:700;display:block}.field .hint{color:var(--muted);margin-bottom:.4rem;font-size:1rem;display:block}.input-row{align-items:center;gap:.5rem;display:flex}input[type=number]{border:2px solid var(--muted);border-radius:var(--radius-small);background:var(--surface);width:8rem;min-height:52px;color:var(--ink);font:inherit;padding:.5rem .75rem;font-size:1.25rem}.field-pair{flex-wrap:wrap;gap:0 2rem;display:flex}details.help{background:var(--soft);border-radius:var(--radius-small);margin:0 0 1.25rem}details.help summary{min-height:48px;color:var(--primary-dark);cursor:pointer;align-items:center;padding:0 1rem;font-weight:700;display:flex}details.help p{margin:0;padding:0 1rem 1rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:2rem;padding:1.25rem}.notice{background:var(--notice-bg);border-left:5px solid var(--notice-line);border-radius:var(--radius-small);margin:0 0 1.5rem;padding:.9rem 1rem}.progress{margin-bottom:1.75rem}.progress-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 1rem;margin-bottom:.25rem;display:flex}.progress-top .btn{min-height:48px;padding:0 .5rem}.progress-text{margin:0;font-weight:700}.step-heading:focus{outline:none}.progress ol{grid-template-columns:repeat(5,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.progress li{background:var(--line);border-radius:5px;height:10px}.progress li.is-done{background:var(--primary)}.wizard-nav{z-index:5;background:var(--bg);border-top:1px solid var(--line);margin-top:1rem;padding:.75rem 0;position:sticky;bottom:0}.wizard-nav .row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.wizard-nav .spacer{flex:1}.wizard-nav .message{color:var(--ember);margin:0 0 .5rem;font-weight:700}.saved-note{color:var(--muted);margin:.5rem 0 0;font-size:1rem}@media (max-width:600px){.wizard-nav .btn{padding:.5rem 1rem}.wizard-nav .btn-primary{flex:auto}.saved-note{display:none}}.design-layout{gap:1.5rem;display:grid}@media (min-width:900px){.design-layout{grid-template-columns:minmax(0,1fr) minmax(380px,46%);align-items:start}.design-layout .preview-panel{order:2;position:sticky;top:1rem}}.preview-panel{background:var(--soft);border-radius:var(--radius);text-align:center;padding:1rem}.preview-panel h2{font-size:1.2rem}.preview-canvas{width:100%;max-width:560px;height:auto;margin:0 auto;display:block}.preview-note{color:var(--muted);margin:.5rem 0 0;font-size:1rem}.motif-thumb{border:1px solid var(--line);border-radius:6px;width:100%;height:56px;display:block}.editor-grid{background:var(--muted);border-radius:6px;gap:2px;max-width:480px;margin:.75rem 0;padding:2px;display:grid}.editor-cell{aspect-ratio:1;cursor:pointer;border:0;border-radius:2px;min-width:24px;min-height:24px;padding:0;font-size:1rem;font-weight:700;line-height:1}.editor-cell:focus-visible{outline-offset:-3px}.editor-tools{flex-wrap:wrap;gap:.5rem;display:flex}.editor-tools .btn{min-height:48px;padding:.4rem 1rem}.pattern{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,4vw,2.5rem)}.pattern-top{gap:1.5rem;margin-bottom:1.5rem;display:grid}@media (min-width:820px){.pattern-top{grid-template-columns:1fr 320px}}.pattern h2{border-top:2px solid var(--soft);margin-top:2rem;padding-top:1.25rem}.pattern h3{color:var(--ember);margin-top:1.5rem}.pattern ol,.pattern ul{margin:0 0 1em;padding-left:1.4em}.pattern li{margin-bottom:.6em}.facts{grid-template-columns:auto 1fr;gap:.25rem 1.25rem;margin:0 0 1rem;display:grid}.facts dt{font-weight:700}.facts dd{margin:0}.chart-wrap{overflow-x:auto}.chart{max-width:100%;height:auto;display:block}.actions{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.glossary dt{font-family:var(--font-display);margin-top:1.25rem;font-size:1.25rem;font-weight:600}.glossary dd{margin:.25rem 0 0}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.75rem}.faq summary{cursor:pointer;align-items:center;min-height:56px;padding:.5rem 1.25rem;font-weight:700;display:flex}.faq details p{margin:0;padding:0 1.25rem 1.25rem}@media print{body{background:#fff;font-size:12pt}.banner,.site-header,.site-footer,.progress,.wizard-nav,.actions,.skip-link,.step-heading{display:none!important}main{padding:0}.pattern{border:0;padding:0}.pattern h2,.pattern h3{break-after:avoid}.pattern li,.chart-wrap{break-inside:avoid}}:root{--shadow-1:0 1px 2px #23262d0f, 0 6px 18px #23262d12;--shadow-2:0 14px 40px #23262d29;--ease:cubic-bezier(.2, .8, .2, 1)}body{background:radial-gradient(1100px 560px at 92% -8%, #f7dfcd 0%, #f7dfcd00 62%), radial-gradient(900px 520px at -12% 12%, #dfecee 0%, #dfecee00 58%), var(--bg);background-repeat:no-repeat}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7}.eyebrow{background:var(--surface);box-shadow:var(--shadow-1);color:var(--ember);border-radius:999px;margin:0 0 1rem;padding:.25rem .9rem;font-size:1rem;font-weight:700;display:inline-block}.hero h1{letter-spacing:-.01em;font-size:clamp(2.3rem,6.2vw,3.7rem)}.hero-art{box-shadow:var(--shadow-2);background:radial-gradient(circle at 50% 38%,#fffaf3 0%,#efe2cf 100%);border-radius:28px;animation:7s ease-in-out infinite alternate float}.hero>div:first-child{animation:rise .7s var(--ease) both}.btn{transition:transform .18s var(--ease), box-shadow .18s var(--ease), background-color .18s}.btn:hover:not([disabled]){box-shadow:var(--shadow-1);transform:translateY(-2px)}.btn:active:not([disabled]){transform:translateY(0)scale(.98)}.btn-primary{background:linear-gradient(180deg, #27657a 0%, var(--primary) 100%);box-shadow:0 6px 16px #1f4e5f47}.btn-primary:hover{background:linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%)}.choice{box-shadow:var(--shadow-1);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s, background-color .2s}.choice:hover:not(.is-disabled){box-shadow:var(--shadow-2);transform:translateY(-3px)}.choice.is-disabled{box-shadow:none}.choice.is-selected:after{animation:pop .32s var(--ease) both}.choice-art svg{transition:transform .3s var(--ease)}.choice:hover:not(.is-disabled) .choice-art svg,.choice.is-selected .choice-art svg{transform:scale(1.1)rotate(-3deg)}.swatch{transition:transform .16s var(--ease), box-shadow .16s}.swatch:hover{transform:scale(1.1)}.swatch.is-selected:after{animation:pop .3s var(--ease) both}.steps-list li,.panel,.pattern,.faq details{box-shadow:var(--shadow-1)}.steps-list li{animation:rise .6s var(--ease) both}.steps-list li:nth-child(2){animation-delay:80ms}.steps-list li:nth-child(3){animation-delay:.16s}.step-anim{animation:rise .45s var(--ease) both}.progress li{transition:background-color .45s var(--ease)}.progress li.is-current{background:linear-gradient(90deg, var(--ember), #d9793f)}.preview-panel{box-shadow:inset 0 0 0 1px #23262d0d, var(--shadow-1);background:radial-gradient(circle at 50% 36%,#fffaf3 0%,#ecdfcb 100%);border-radius:24px}.wizard-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbf7f0db}.editor-cell{transition:transform .12s var(--ease)}.editor-cell:active{transform:scale(.88)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}@media print{body{background:#fff}.pattern,.preview-panel{box-shadow:none}.step-anim{animation:none}}.studio{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);animation:rise .45s var(--ease) both;border-radius:24px;margin-top:1.5rem;padding:clamp(1rem,3vw,2rem)}.studio-preview{text-align:center;background:radial-gradient(circle at 50% 36%,#fffaf3 0%,#ecdfcb 100%);border-radius:20px;margin:1rem 0 1.5rem;padding:1rem}.studio-preview h3{font-size:1.1rem}.studio-preview .preview-canvas{max-width:min(640px,100%)}.studio-tools{gap:0 2rem;display:grid}@media (min-width:900px){.studio-tools{grid-template-columns:1fr 1fr}}.studio-tools fieldset{margin-bottom:1.25rem}.yarn-list{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.yarn{background:var(--surface);border:2px solid var(--line);cursor:pointer;min-height:52px;transition:transform .16s var(--ease), border-color .16s, background-color .16s;border-radius:999px;align-items:center;gap:.6rem;padding:.3rem 1rem;font-weight:700;display:inline-flex;position:relative}.yarn.has-dot{padding-left:.4rem}.yarn:hover{border-color:var(--primary);transform:translateY(-2px)}.yarn input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.yarn:focus-within{outline:3px solid var(--ink);outline-offset:3px}.yarn.is-selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.yarn-dot{border:2px solid #0000004d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:inline-flex}.studio-swatches{padding:0 1rem .5rem}.studio-swatches fieldset{margin:0}.studio-swatches legend{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.studio-scroll{padding:.5rem 0 1rem;overflow-x:auto}.studio-frame{--cell:28px;min-width:min-content;display:inline-block}.studio-body{display:flex}.studio-grid{grid-template-columns:repeat(var(--cols), var(--cell));grid-auto-rows:var(--cell);cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y;background:#8b8f98;border-radius:8px;gap:2px;padding:2px;display:grid}.studio-grid.tool-fill{cursor:cell}.studio-grid:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.studio-cell{pointer-events:none;border-radius:5px;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;line-height:1;display:flex}.studio-cell.is-cursor{outline:3px solid var(--ink);outline-offset:1px;z-index:1}.studio-numbers{color:var(--muted);font-size:.78rem;font-weight:700}.studio-numbers.cols{grid-template-columns:repeat(var(--cols), var(--cell));text-align:center;gap:2px;padding:0 2px 4px;display:grid}.studio-numbers.rows{grid-auto-rows:var(--cell);align-items:center;gap:2px;padding:2px 0 2px 8px;display:grid}@media print{.studio{display:none}}.design-layout,.hero,.pattern-top,.studio-tools{grid-template-columns:minmax(0,1fr)}.design-layout>*,.hero>*,.pattern-top>*,.studio-tools>*{min-width:0}@media (min-width:820px){.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.pattern-top{grid-template-columns:minmax(0,1fr) 320px}}@media (min-width:900px){.design-layout{grid-template-columns:minmax(0,1fr) minmax(380px,46%)}.studio-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}main{overflow-x:clip}@media (max-width:600px){.preview-panel{padding:.75rem}.preview-canvas,.studio-preview .preview-canvas{width:auto;max-width:100%;max-height:52vh}}.label-short,.undo-icon{display:none}.wizard-nav .message:empty{margin:0}.wizard-nav{padding-bottom:max(.75rem, env(safe-area-inset-bottom))}@media (max-width:600px){.banner{padding:.35rem 0;font-size:.95rem}.site-header .container{padding-top:.25rem;padding-bottom:.25rem}.logo{gap:.45rem;font-size:1.3rem}.logo svg{width:36px;height:36px}.nav a{padding:0 .7rem}main{padding-top:1.25rem}.progress{margin-bottom:1.25rem}.wizard-nav .row{flex-wrap:nowrap;gap:.4rem}.wizard-nav .spacer{display:none}.wizard-nav .btn{white-space:nowrap;min-height:52px;padding:.4rem .8rem}.wizard-nav .btn-primary{flex:auto;min-width:0}.label-long{display:none}.label-short{display:inline}}@media (max-width:359px){.undo-icon{font-size:1.4rem;line-height:1;display:inline}.undo-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wizard-nav .btn{padding:.4rem .65rem}}@media (max-width:899px){.design-layout{display:block}.design-layout .preview-panel{z-index:4;border-radius:0 0 20px 20px;margin:0 -.25rem 1.25rem;padding:.5rem;position:sticky;top:0;box-shadow:0 10px 24px #23262d29}.design-layout .preview-panel h2,.design-layout .preview-panel .preview-note{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.design-layout .preview-panel .preview-canvas{width:auto;max-width:100%;max-height:30vh}}@media (max-width:420px){.wizard-nav [aria-hidden=true]:not(.undo-icon){display:none}}@media (max-width:359px){.nav a{padding:0 .45rem;font-size:1rem}}.hero-art{animation:none}.showcase{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.showcase-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.showcase-name{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:600}.showcase-controls{gap:.4rem;display:flex}.icon-btn{border:2px solid var(--line);background:var(--surface);width:48px;height:48px;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .16s, transform .16s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;font-weight:700;display:inline-flex}.icon-btn:hover{border-color:var(--primary);transform:translateY(-1px)}.showcase-dots{gap:6px;display:flex}.showcase-dots span{background:var(--line);width:8px;height:8px;transition:width .3s var(--ease), background-color .3s;border-radius:4px}.showcase-dots span.is-current{background:var(--ember);width:22px}.showcase-cta{align-self:stretch}.garment-links{margin:0 0 2rem;padding:0;list-style:none}.garment-links .choice{height:100%;color:var(--ink);text-decoration:none}.choice-go{color:var(--primary);margin-top:auto;padding-top:.5rem;font-weight:700}.result-actions{gap:.75rem;margin:0 0 1.5rem;display:grid}.action-card{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:64px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-1);transition:transform .18s var(--ease), border-color .18s;flex-direction:column;gap:.15rem;padding:.9rem 1.1rem;text-decoration:none;display:flex}.action-card:hover:not([disabled]){border-color:var(--primary);color:var(--ink);transform:translateY(-2px)}.action-card[disabled]{opacity:.6;cursor:progress}.action-main{background:var(--primary);border-color:var(--primary);color:#fff}.action-main:hover:not([disabled]){color:#fff;border-color:var(--primary-dark);background:var(--primary-dark)}.action-title{font-size:1.15rem;font-weight:700}.action-desc{opacity:.85;font-size:1rem}@media print{.result-actions{display:none}}.knit{--km-scale:1;max-width:860px}.km-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.km-kicker{color:var(--ember);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.95rem;font-weight:700}.km-pattern{margin:0;font-size:clamp(1.5rem,4vw,2rem)}.km-tools{flex-wrap:wrap;gap:.5rem;display:flex}.km-tools .btn{min-height:48px;padding:.3rem 1rem}.km-textsize{gap:.35rem;display:flex}.km-progress p{margin:0 0 .4rem}.km-bar{background:var(--line);border-radius:6px;height:12px;margin-bottom:1.25rem;overflow:hidden}.km-bar span{background:linear-gradient(90deg, var(--primary), #2f7a8f);height:100%;transition:width .4s var(--ease);display:block}.km-card{background:var(--surface);border:2px solid var(--line);box-shadow:var(--shadow-2);animation:rise .35s var(--ease) both;border-radius:24px;padding:clamp(1.25rem,4vw,2.25rem);position:relative}.km-card.is-done{border-color:#3f7d4f}.km-section{color:var(--ember);margin:0 0 .5rem;font-weight:700}.km-text{font-family:var(--font-body);font-weight:400;font-size:calc(1.45rem * var(--km-scale));text-wrap:pretty;margin:0;line-height:1.5}.km-text:focus{outline:none}.km-done-tag{color:#24562f;background:#e3f1e6;border-radius:999px;margin:1rem 0 0;padding:.2rem .8rem;font-weight:700;display:inline-block}.km-chart{margin-top:1.25rem}.km-chart .chart-wrap{margin-top:1rem}.km-legend{margin:.75rem 0 0;padding-left:1.2em}.km-nav{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.75rem;margin:1.25rem 0 .25rem;display:grid}.km-nav .btn{min-height:68px;padding:.5rem 1rem;font-size:1.15rem}.km-undo-done{margin-bottom:.5rem}.km-counter{background:var(--soft);text-align:center;border-radius:24px;margin-top:1.25rem;padding:1.25rem}.km-counter h2{margin:0;font-size:1.2rem}.km-count{font-family:var(--font-display);font-weight:700;font-size:calc(4.5rem * var(--km-scale));font-variant-numeric:tabular-nums;margin:.25rem 0 .75rem;line-height:1}.km-counter-buttons{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.75rem;max-width:480px;margin:0 auto .5rem;display:grid}.km-counter-buttons .btn{min-height:76px;font-size:1.5rem}.km-overview ol{margin:0 0 1rem;padding:0;list-style:none}.km-overview h2{color:var(--ember);margin:1.25rem 0 .5rem;font-size:1.15rem}.km-row{border:2px solid var(--line);border-radius:var(--radius-small);background:var(--surface);width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:flex-start;gap:.75rem;margin-bottom:.4rem;padding:.6rem .8rem;display:flex}.km-row:hover{border-color:var(--primary)}.km-row.is-current{border-color:var(--ember);box-shadow:inset 0 0 0 1px var(--ember)}.km-row-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.km-check{border:2px solid var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:inline-flex}.km-check.is-done{color:#fff;background:#3f7d4f;border-color:#3f7d4f}.km-footer{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.km-footer p{margin:0 0 .4rem;font-size:1rem}@media (max-width:600px){.km-nav,.km-counter-buttons{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}}.glossary-tools{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.5rem;display:flex}.glossary-tools .field{flex:260px;margin-bottom:.5rem}.glossary-tools .btn{margin-bottom:.5rem}input.search{border:2px solid var(--muted);border-radius:var(--radius-small);background:var(--surface);width:100%;max-width:420px;min-height:52px;color:var(--ink);font:inherit;padding:.5rem .9rem}.glossary-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:1rem;margin:.5rem 0 2rem;padding:0;list-style:none;display:grid}.glossary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:1rem;padding:1rem;display:grid}.glossary-card h2{margin:0 0 .25rem;font-size:1.35rem}.glossary-card p{margin:0}.glossary-art{background:var(--soft);border-radius:12px;justify-content:center;align-items:center;min-height:112px;padding:6px;display:flex}.glossary-art .preview-canvas{width:auto;max-width:100%;max-height:120px}@media (max-width:420px){.glossary-card{grid-template-columns:minmax(0,1fr)}.glossary-art{max-width:220px}}.stitch-art{width:100%;max-width:150px;height:auto;overflow:visible}.art-caption{fill:var(--muted);font-size:11px;font-weight:700;font-family:var(--font-body)}.a-rise{animation:a-rise 2.6s var(--ease) infinite}.a-slide-right{animation:a-slide-r 2.6s var(--ease) infinite}.a-slide-left{animation:a-slide-l 2.6s var(--ease) infinite}.a-appear{animation:3.6s ease-out infinite both a-appear}.a-leave{animation:3.6s ease-in infinite both a-leave}.a-chain{animation:3.6s ease-out infinite both a-chain}.a-spin{animation:3.2s linear infinite a-spin}.a-read-x{animation:1.8s steps(6,end) infinite a-read-x}.a-read-y{animation:9s steps(5,end) infinite a-read-y}.a-measure{transform-box:fill-box;transform-origin:0;animation:a-measure 2.4s var(--ease) infinite}@keyframes a-rise{0%,12%{opacity:0;transform:translateY(46px)}30%{opacity:1}70%,to{opacity:1;transform:translateY(0)}}@keyframes a-slide-r{0%,10%{transform:translate(0)}40%,to{transform:translate(14px)}}@keyframes a-slide-l{0%,10%{transform:translate(0)}40%,to{transform:translate(-14px)}}@keyframes a-appear{0%,8%{opacity:0}18%,92%{opacity:1}to{opacity:0}}@keyframes a-leave{0%,8%{opacity:1}20%,92%{opacity:0}to{opacity:1}}@keyframes a-chain{0%,10%{opacity:0}22%,92%{opacity:1}to{opacity:0}}@keyframes a-spin{to{transform:rotate(360deg)}}@keyframes a-read-x{0%{transform:translate(0)}to{transform:translate(-96px)}}@keyframes a-read-y{0%{transform:translateY(0)}to{transform:translateY(-80px)}}@keyframes a-measure{0%,10%{transform:scaleX(0)}60%,to{transform:scaleX(1)}}.anim-paused *{animation-play-state:paused!important}
