@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fraunces-latin-soft-normal-C-lS_vzd.woff2)format("woff2-variations")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7f6f2;--surface:#fff;--surface-2:#efeee9;--ink:#1b211e;--ink-2:#4a5450;--ink-3:#69746e;--rule:#1b211e1f;--rule-2:#1b211e3d;--hover:#1b211e0d;--accent:#25624c;--accent-2:#1b4c3a;--accent-soft:#e2eee7;--accent-ink:#fff;--mat:#24503f;--mat-line:#ebe2ac21;--mat-major:#ebe2ac5c;--mat-num:#f6f0d4cc;--chalk:#f4d35e;--focus:#1f5fd1;--danger:#b42318;--ok:#1e7a4f;--r-s:8px;--r-m:12px;--r-l:18px;--shadow:0 1px 2px #1b211e0f, 0 8px 24px -10px #1b211e2e;--pop:0 0 0 1px #1b211e14, 0 12px 32px #1b211e29, 0 32px 64px -24px #1b211e4d;--font-ui:"Atkinson Hyperlegible Next", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--ease:cubic-bezier(.22, 1, .36, 1);--bar-h:64px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#121715;--surface:#1a201d;--surface-2:#232a26;--ink:#edf1ee;--ink-2:#b4beb8;--ink-3:#8f9a94;--rule:#edf1ee1a;--rule-2:#edf1ee33;--hover:#edf1ee0f;--accent:#6dc69f;--accent-2:#8fd8b6;--accent-soft:#6dc69f24;--accent-ink:#0d1411;--mat:#183a2e;--mat-line:#ebe2ac17;--mat-major:#ebe2ac42;--mat-num:#f6f0d4a8;--focus:#8ab4ff;--danger:#ff8a7a;--ok:#6dc69f;--shadow:0 1px 2px #0000004d, 0 10px 28px -12px #0009;--pop:0 0 0 1px #ffffff12, 0 16px 40px #00000080, 0 40px 80px -24px #0009}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html.returning #root[data-prerendered]{visibility:hidden}html.has-modal body{overflow:hidden}body{background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}img,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1.5px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.tnum{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:var(--paper);border-radius:var(--r-s);padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.display,.h2,.h-small{font-family:var(--font-display);font-variation-settings:"SOFT" 60;letter-spacing:-.02em;color:var(--ink);text-wrap:balance;font-weight:600}.display{margin:0;font-size:clamp(42px,5.4vw,80px);line-height:1.02}.h2{margin:0 0 14px;font-size:clamp(32px,3.8vw,54px);line-height:1.06}.h-small{margin:0;font-size:24px;line-height:1.2}.lede,.band-sub{color:var(--ink-2);text-wrap:pretty;max-width:34em;margin:0;font-size:clamp(19px,1.5vw,22px);line-height:1.5}.btn{border-radius:var(--r-m);white-space:nowrap;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-size:17px;font-weight:650;line-height:1.15;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-quiet{background:var(--surface);border-color:var(--rule-2);color:var(--ink)}.btn-quiet:hover:not(:disabled){border-color:var(--ink-2)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--hover)}.btn-lg{min-height:56px;padding:0 24px;font-size:18px}.btn-block{width:100%}.icon-btn{border-radius:var(--r-m);width:44px;height:44px;color:var(--ink);background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover)}.icon-btn:disabled{opacity:.35}.link-btn{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:6px 2px;font-weight:650;text-decoration:underline;text-decoration-thickness:1.5px}.field{gap:8px;margin:0 0 18px;display:grid}.field-label{color:var(--ink-2);font-size:15px;font-weight:700}.input{border-radius:var(--r-m);border:1.5px solid var(--rule-2);background:var(--surface);width:100%;min-height:48px;padding:0 14px;font-size:17px}.input:focus{border-color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--rule-2);background:var(--surface);min-height:44px;color:var(--ink);border-radius:999px;padding:0 16px;font-size:16px;font-weight:600;transition:background .15s,border-color .15s}.chip:hover:not(.is-on){border-color:var(--ink-2)}.chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stepper{gap:8px;display:grid}.stepper-row{border:1.5px solid var(--rule-2);border-radius:var(--r-m);background:var(--surface);align-items:center;gap:4px;width:fit-content;display:flex}.step-btn{background:0 0;border:0;border-radius:10px;place-items:center;width:48px;height:46px;display:grid}.step-btn:hover:not(:disabled){background:var(--hover)}.step-btn:disabled{opacity:.3}.step-val{text-align:center;min-width:44px;font-size:19px;font-weight:700}.toggle{cursor:pointer;align-items:center;gap:14px;min-height:52px;margin:0 0 14px;display:flex;position:relative}.toggle-text{flex:1;font-weight:600;display:grid}.toggle-text small{color:var(--ink-3);font-size:15px;font-weight:400}.toggle input{opacity:0;width:52px;height:32px;margin:0;position:absolute;right:0}.toggle-track{background:var(--rule-2);border-radius:999px;flex:none;width:52px;height:32px;transition:background .15s;position:relative}.toggle-track:after{content:"";width:26px;height:26px;transition:transform .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(20px)}.toggle input:focus-visible+.toggle-track{outline:3px solid var(--focus);outline-offset:2px}.form-error{color:var(--danger);margin:10px 0 0;font-size:16px;font-weight:600}.backdrop{z-index:60;background:#12171580;place-items:center;padding:16px;animation:.18s fade;display:grid;position:fixed;inset:0;overflow-y:auto}@keyframes fade{0%{opacity:0}}.dialog{background:var(--surface);border-radius:var(--r-l);width:min(560px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--pop);animation:rise .24s var(--ease);overflow-y:auto}.dialog-wide{width:min(1060px,100%)}@keyframes rise{0%{opacity:0;transform:translateY(12px)scale(.985)}}.dialog-head{background:var(--surface);z-index:2;align-items:center;gap:12px;padding:18px 16px 6px 24px;display:flex;position:sticky;top:0}.dialog-head h2{font-family:var(--font-display);font-variation-settings:"SOFT" 60;letter-spacing:-.015em;flex:1;margin:0;font-size:28px;font-weight:600;line-height:1.15}.dialog-body{padding:8px 24px 24px}.toaster{z-index:80;width:max-content;max-width:calc(100vw - 32px);position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--paper);border-radius:var(--r-m);box-shadow:var(--pop);animation:rise .22s var(--ease);align-items:center;gap:14px;padding:12px 14px 12px 18px;font-size:16px;font-weight:500;display:flex}.toast button{color:inherit;background:#ffffff24;border:0;border-radius:8px;min-height:40px;padding:0 14px;font-weight:700}@media (prefers-color-scheme:dark){.toast button{background:#0000001f}}.logo{color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;min-height:44px;padding:4px;text-decoration:none;display:inline-flex}.logo-word{font-family:var(--font-display);font-variation-settings:"SOFT" 80;letter-spacing:-.02em;font-size:25px;font-weight:650}.quilt-stage{--maxh:78vh;width:min(100%, calc(var(--maxh) * var(--ar)));aspect-ratio:var(--ar);margin:0 auto;position:relative}.quilt-stage svg{width:100%;height:100%;display:block;overflow:visible}.mat-bg{fill:var(--mat)}.mat-minor{stroke:var(--mat-line);stroke-width:.6px;fill:none}.mat-major{stroke:var(--mat-major);stroke-width:1px;fill:none}.mat-num{fill:var(--mat-num);font-family:var(--font-ui);font-weight:700}.q-shadow{fill:#00000080}.q-patch{stroke:#141a1742;stroke-width:.7px;stroke-linejoin:round;transition:stroke .12s}.is-live .q-patch{cursor:pointer}.is-live .q-patch:hover,.q-patch:focus-visible{stroke:var(--chalk);stroke-width:2.5px;outline:none}.q-patch.is-picking{stroke:var(--chalk);stroke-width:3px;animation:1.2s ease-in-out infinite alternate pick}@keyframes pick{to{stroke-opacity:.3}}.q-weave{pointer-events:none;mix-blend-mode:multiply;opacity:.55;background:url(/weave.png) 0 0/160px 160px;position:absolute}.q-weave:after{content:"";background:linear-gradient(135deg,#ffffff29,#fff0 42%,#0000000f);position:absolute;inset:0}@media (prefers-color-scheme:dark){.q-weave{opacity:.4}}.quilt-stage:not(.has-mat){--maxh:60vh}.quilt-stage:not(.has-mat) svg{box-shadow:var(--shadow)}.thumb{border-radius:3px;display:block}.swatch{border-radius:6px;flex:none;display:block;box-shadow:inset 0 0 0 1px #00000014}svg.swatch{outline:1px solid var(--rule);outline-offset:-1px}.site-header{align-items:center;gap:24px;max-width:1560px;margin:0 auto;padding:12px clamp(16px,4vw,56px);display:flex}.site-nav{gap:24px;margin-left:auto;display:flex}.site-nav a{color:var(--ink);padding:10px 2px;font-weight:600;text-decoration:none}.site-nav a:hover{text-decoration:underline}@media (width<=760px){.site-nav{display:none}.header-cta{min-height:44px;margin-left:auto;padding:0 14px;font-size:16px}}@media (width<=374px){.header-cta{display:none}}.hero{grid-template-columns:minmax(0,1fr);gap:20px;max-width:1560px;margin:0 auto;padding:8px clamp(16px,4vw,56px) 56px;display:grid}.hero-copy .lede{margin-top:16px}.hero-stage{position:relative}.hero-stage .quilt-stage{--maxh:64vh}.hero-hint{color:var(--ink-2);justify-content:center;align-items:center;gap:8px;margin:12px 0 0;font-size:16px;font-weight:600;display:flex}.hero-controls .field{margin-bottom:14px}.hero-buy{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-l);box-shadow:var(--shadow);padding:20px}.hero-buy-head{margin-bottom:8px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.hero-actions .btn{flex:auto}.assure{color:var(--ink-3);margin:12px 0 0;font-size:15px}@media (width>=1100px){.hero{grid-template:"copy stage""controls stage""buy stage"1fr/minmax(380px,470px) minmax(0,1fr);align-items:start;column-gap:clamp(32px,4vw,72px);padding-top:24px}.hero-copy{grid-area:copy}.hero-controls{grid-area:controls}.hero-buy{grid-area:buy}.hero-stage{grid-area:stage;position:sticky;top:16px}.hero-stage .quilt-stage{--maxh:calc(100vh - 96px)}.display{font-size:clamp(44px,4vw,66px)}}.block-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;display:grid}.block-btn{border-radius:var(--r-m);border:1.5px solid var(--rule);background:var(--surface);color:var(--ink);text-align:center;justify-items:center;gap:6px;min-height:96px;padding:8px 4px;font-size:13.5px;font-weight:600;line-height:1.2;display:grid}.block-btn:hover:not(.is-on){border-color:var(--ink-3)}.block-btn.is-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);background:var(--accent-soft)}.more-btn{justify-self:start;font-size:16px}.palettes{flex-wrap:wrap;gap:8px;display:flex}.palette-btn{border:1.5px solid var(--rule-2);background:var(--surface);border-radius:999px;align-items:center;gap:10px;min-height:48px;padding:0 16px 0 10px;font-size:16px;font-weight:600;display:inline-flex}.palette-btn.is-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.palette-dots{display:inline-flex}.palette-dots i{width:22px;height:22px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin-left:-6px}.palette-dots i:first-child{margin-left:0}.band{max-width:1240px;margin:0 auto;padding:clamp(56px,8vw,112px) clamp(16px,4vw,56px) 0}.band .band-sub{margin-bottom:28px}.cta-row{flex-wrap:wrap;gap:12px;display:flex}.cta-center{justify-content:center}.photo-band{align-items:center;gap:32px;display:grid}@media (width>=900px){.photo-band{grid-template-columns:1fr 1fr;gap:64px}}.photo-fig{margin:0}.photo-fig>img{border-radius:var(--r-l);width:100%;height:auto;box-shadow:var(--shadow);display:block}.photo-swatches{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;font-size:16px;display:flex}.photo-swatches img{object-fit:cover;width:52px;height:52px;box-shadow:0 0 0 1px var(--rule);border-radius:10px}.pattern-row{align-items:start;gap:24px;display:grid}@media (width>=980px){.pattern-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 260px}}.pattern-pages{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pattern-pages li{align-items:baseline;gap:12px;font-size:17px;display:flex}.pattern-pages b{font-family:var(--font-display);color:var(--accent);min-width:18px;font-size:22px}.pattern-sample{margin-top:8px}.pattern-sample a{align-items:center;gap:8px;font-weight:700;display:inline-flex}.pdf-page{color:#1b211e;aspect-ratio:8.5/11;background:#fff;border-radius:4px;flex-direction:column;padding:7% 7.5%;font-size:12px;line-height:1.35;display:flex;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 18px 40px -16px #1b211e59;container-type:inline-size}.pp-kicker{color:#25624c;margin:0;font-size:11px;font-weight:700}.pp-title{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(16px,2.2vw,26px);font-weight:700;line-height:1.1}.pp-sub{color:#4a5450;margin:4px 0 10px;font-size:11px}.pp-quilt{flex:none;place-items:center;display:grid}.pp-quilt .quilt-stage{--maxh:60cqw}.pp-quilt .quilt-stage svg{box-shadow:0 2px 6px #00000026}.pp-quilt .q-weave{opacity:.35}.pp-h{margin:10px 0 4px;font-family:Georgia,serif;font-size:13px;font-weight:700}.pp-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pp-list li{border-top:1px solid #e6e8e6;grid-template-columns:14px 1fr auto;align-items:center;gap:6px;padding-top:2px;font-size:10.5px;display:grid}.pp-dot{border:1px dashed #b9c0bc;border-radius:3px;width:14px;height:14px}.pdf-page-cut{gap:6px}.pp-fab{align-items:center;gap:6px;margin:6px 0 0;font-weight:700;display:flex}.pp-cuts{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pp-cuts li{gap:6px;display:flex}.pp-box{border:1px solid #4a5450;flex:none;width:9px;height:9px;margin-top:3px}.pp-block{color:#4a5450;align-items:center;gap:12px;margin-top:auto;display:flex}.maths{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;margin:0;display:grid}.maths div{border-bottom:1px solid var(--rule);padding:18px 24px 18px 0}.maths dt{font-size:18px;font-weight:700}.maths dd{font-family:var(--font-display);color:var(--accent);font-variation-settings:"SOFT" 60;margin:4px 0 0;font-size:26px;line-height:1.2}.maths-fine{color:var(--ink-3);margin:16px 0 0}.block-links{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px 12px;margin:0;padding:0;list-style:none;display:grid}.block-links a{border-radius:var(--r-m);color:var(--ink);text-align:center;align-content:start;justify-items:center;gap:10px;min-height:64px;padding:14px 8px;font-weight:600;line-height:1.25;text-decoration:none;display:grid}.block-links .thumb{flex:none;width:72px;height:72px}.block-links a:hover{background:var(--surface);box-shadow:var(--shadow)}.pricing{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.plan{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-l);flex-direction:column;padding:24px;display:flex}.plan-feature{border:2px solid var(--accent)}.plan-name{margin:0;font-size:19px;font-weight:700}.plan-price{font-family:var(--font-display);margin:6px 0 4px;font-size:48px;font-weight:600;line-height:1}.plan-price span{font-family:var(--font-ui);color:var(--ink-3);font-size:17px;font-weight:500}.plan-blurb{color:var(--ink-2);margin:8px 0 12px}.plan ul{flex:1;gap:6px;margin:0 0 20px;padding-left:20px;display:grid}.plan-fine{color:var(--ink-3);margin:10px 0 0;font-size:15px}.pricing-note{color:var(--ink-3);grid-column:1/-1;margin:4px 0 0;font-size:16px}.faq-list{border-top:1px solid var(--rule);max-width:860px}.faq-list details{border-bottom:1px solid var(--rule)}.faq-list summary{cursor:pointer;min-height:44px;padding:20px 40px 20px 0;font-size:19px;font-weight:700;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--ink-3);font-size:26px;font-weight:400;position:absolute;top:16px;right:8px}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:var(--ink-2);max-width:44em;margin:0 0 20px}.closer{text-align:center;padding-bottom:24px}.site-footer{border-top:1px solid var(--rule);gap:16px;max-width:1240px;margin:96px auto 0;padding:32px clamp(16px,4vw,56px) 56px;display:grid}.sf-top{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.sf-top p{color:var(--ink-2);margin:0}.sf-links{flex-wrap:wrap;gap:4px 20px;display:flex}.sf-links a{color:var(--ink-2);padding:8px 0}.sf-legal{color:var(--ink-3);margin:0;font-size:15px}.shop-list{margin:0;padding:0;list-style:none}.shop-row{border-bottom:1px solid var(--rule);padding:10px 0}.shop-main{align-items:center;gap:12px;display:flex}.shop-swatch{background:0 0;border:0;border-radius:8px;flex:none;padding:0}.shop-swatch:disabled{cursor:default}.shop-name{flex:1;min-width:0;display:grid}.shop-name b{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.shop-name span{color:var(--ink-3);font-size:15px}.shop-letter{background:var(--surface-2);vertical-align:1px;border-radius:6px;place-items:center;width:22px;height:22px;margin-right:2px;font-size:13px;font-weight:800;display:inline-grid}.shop-yards{text-align:right;display:grid}.shop-yards b{white-space:nowrap;font-size:20px;font-weight:800}.shop-yards span{color:var(--ink-3);white-space:nowrap;font-size:14px}.shop-why{color:var(--accent);background:0 0;border:0;align-items:center;gap:6px;min-height:36px;margin-left:56px;padding:6px 0;font-size:15px;font-weight:650;display:inline-flex}.shop-work{color:var(--ink-2);margin:4px 0 6px 56px;font-size:16px}.shop-work ol{gap:8px;margin:0;padding-left:20px;display:grid}.shop-work li b{color:var(--ink);display:block}.shop-work p{margin:10px 0 0}.shop-fq{font-size:15px}.shop-extra{gap:8px;margin:12px 0 0;display:grid}.shop-extra div{grid-template-columns:82px 1fr;align-items:baseline;gap:8px;display:grid}.shop-extra dt{color:var(--ink-2);font-size:16px;font-weight:700}.shop-extra dd{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;display:flex}.shop-extra dd b{font-size:18px}.shop-extra dd span{color:var(--ink-3);font-size:15px}.shop-total{border-top:2px solid var(--ink);justify-content:space-between;align-items:baseline;margin:14px 0 0;padding-top:12px;font-weight:700;display:flex}.shop-total b{font-size:22px}.shop-fine{color:var(--ink-3);margin:10px 0 0;font-size:14.5px}.shop-compact .shop-row{padding:7px 0}.shop-compact .shop-yards b{font-size:18px}.studio{flex-direction:column;min-height:100dvh;display:flex}.bar{height:var(--bar-h);border-bottom:1px solid var(--rule);background:var(--surface);z-index:30;align-items:center;gap:8px;padding:0 12px;display:flex;position:sticky;top:0}.bar .logo-word{font-size:22px}.bar-name{min-width:0;color:var(--ink-3);flex:1;align-items:center;gap:6px;display:flex}.bar-name input{border-radius:var(--r-s);width:100%;min-width:0;max-width:420px;color:var(--ink);text-overflow:ellipsis;background:0 0;border:1.5px solid #0000;padding:8px 10px;font-size:18px;font-weight:700}.bar-name input:hover,.bar-name input:focus{border-color:var(--rule-2);background:var(--surface)}.bar-tools{align-items:center;gap:4px;display:flex}.bar-pdf{margin-left:6px}@media (width<=860px){.bar-hide-sm,.bar .logo-word,.bar-name svg{display:none}}@media (width<=480px){.bar-pdf span{display:none}.bar-pdf{padding:0 14px}.bar{gap:2px;padding:0 6px}}.studio-body{flex-direction:column;flex:1;display:flex}.stage{background:var(--paper);padding:16px clamp(12px,3vw,32px) 12px}.stage .quilt-stage{--maxh:46vh}.stage-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;margin-top:12px;display:flex}.stage-hint{color:var(--ink-3);margin:0;font-size:15px}.size-line{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:4px 0 0;display:flex}.size-line b{font-size:19px}.size-line span{color:var(--ink-3);font-size:15px}.side{background:var(--surface);padding:8px 20px 24px}.panel-sec{border-bottom:1px solid var(--rule);padding:18px 0 8px}.panel-sec:last-child{border-bottom:0}.panel-h{font-family:var(--font-display);font-variation-settings:"SOFT" 60;letter-spacing:-.01em;margin:0 0 14px;font-size:22px;font-weight:600}.panel-fine{color:var(--ink-3);margin:0 0 14px;font-size:15px}.steppers{flex-wrap:wrap;gap:16px;margin-bottom:14px;display:flex}.border-row+.border-row{border-top:1px dashed var(--rule-2);padding-top:14px}.fab-slots{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.fab-slot{text-align:left;border:1.5px solid var(--rule);background:var(--surface);border-radius:var(--r-m);align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 10px;display:flex}.fab-slot span{min-width:0;display:grid}.fab-slot b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fab-slot small{color:var(--ink-3);font-size:14.5px}.fab-slot.is-on,.fab-slot:hover{border-color:var(--accent)}.fab-select{flex-wrap:wrap;gap:8px;display:flex}.fs-btn{background:var(--surface);border:2px solid #0000;border-radius:10px;place-items:center;width:46px;height:46px;padding:4px;display:grid}.fs-btn.is-on{border-color:var(--accent)}.fs-new{border:1.5px dashed var(--rule-2);color:var(--ink-2);font-size:22px}.photo-btn{margin-top:4px}.buy-cta{margin-top:20px}.buy-cta p{color:var(--ink-3);margin:10px 0 0;font-size:15px}.share-sm{margin-top:16px}@media (width>=861px){.share-sm{display:none}}.tabbar{z-index:25;background:var(--surface);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:sticky;bottom:0}.tab{min-height:60px;color:var(--ink-3);background:0 0;border:0;justify-items:center;gap:2px;padding:8px 4px;font-size:13.5px;font-weight:650;display:grid}.tab.is-on{color:var(--accent)}@media (width<=1179px){.stage{top:var(--bar-h);z-index:10;border-bottom:1px solid var(--rule);order:-1;padding-bottom:8px;position:sticky}.stage-hint,.stage-photo{display:none}.stage-foot{margin-top:6px}.studio[data-tab=design] .tp-fabrics,.studio[data-tab=design] .tp-buy,.studio[data-tab=fabrics] .tp-design,.studio[data-tab=fabrics] .tp-buy,.studio[data-tab=buy] .side-left{display:none}.side{flex:1}}@media (width<=1179px) and (height<=700px){.stage .quilt-stage{--maxh:34vh}}@media (width>=1180px){.studio-body{min-height:0;height:calc(100dvh - var(--bar-h));flex:none;grid-template-rows:minmax(0,1fr);grid-template-columns:340px minmax(0,1fr) 390px;display:grid}.side{overscroll-behavior:contain;overflow-y:auto}.side-left{border-right:1px solid var(--rule)}.side-right{border-left:1px solid var(--rule);padding-top:22px}.stage{flex-direction:column;justify-content:center;min-height:0;padding:24px;display:flex}.stage .quilt-stage{--maxh:calc(100dvh - var(--bar-h) - 130px)}.tabbar{display:none}}.picker{z-index:50;background:var(--surface);box-shadow:var(--pop);flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex;position:fixed;overflow-y:auto}.picker.is-pop{border-radius:var(--r-l);width:380px;max-height:min(600px,100vh - 24px);animation:rise .18s var(--ease)}.picker.is-sheet{border-radius:var(--r-l) var(--r-l) 0 0;max-height:58vh;padding-bottom:calc(16px + env(safe-area-inset-bottom));animation:sheet .22s var(--ease);bottom:0;left:0;right:0}@keyframes sheet{0%{opacity:0;transform:translateY(40px)}}.picker-head{align-items:center;gap:12px;display:flex}.picker-head div{flex:1;min-width:0;display:grid}.picker-head b{font-size:18px}.picker-head span{color:var(--ink-3);font-size:15px}.pick-tabs{background:var(--surface-2);border-radius:var(--r-m);grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.pick-tab{min-height:42px;color:var(--ink-2);background:0 0;border:0;border-radius:9px;font-size:16px;font-weight:650}.pick-tab.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;display:grid}.pick-sw{aspect-ratio:1;border:0;border-radius:10px;min-height:44px;box-shadow:inset 0 0 0 1px #0000001f}.pick-sw.is-current{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--ink)}.pick-prints{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pick-print{border:1.5px solid var(--rule);background:var(--surface);border-radius:var(--r-m);justify-items:center;gap:6px;padding:8px 4px;font-size:14px;font-weight:600;display:grid}.pick-print.is-current{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.pick-note{color:var(--ink-3);margin:0;font-size:14.5px}.pick-photo p{color:var(--ink-2);margin:0 0 12px}.pick-photo input[type=range]{width:100%;accent-color:var(--accent);min-height:32px}.pick-name{gap:6px;display:grid}.pd-grid{gap:24px;padding:8px 24px 24px;display:grid}@media (width>=820px){.pd-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}}.pd-preview .pdf-page{max-width:460px;margin:0 auto}.pd-cap{text-align:center;color:var(--ink-3);margin:10px 0 0;font-size:14.5px}.pd-pages{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.pd-pages li{color:var(--ink-2);grid-template-columns:22px 24px 1fr;align-items:start;gap:10px;font-size:16px;display:grid}.pd-pages li b{color:var(--ink);display:block}.pd-num{font-family:var(--font-display);color:var(--accent);font-size:20px;line-height:1.1}.pd-lic{color:var(--ink-3);margin:12px 0 0;font-size:15px}.chooser{gap:10px;display:grid}.ch-options{gap:8px;display:grid}.ch-option{border:1.5px solid var(--rule-2);border-radius:var(--r-m);cursor:pointer;background:var(--surface);grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.ch-option.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.ch-option input{opacity:0;pointer-events:none;position:absolute}.ch-option:focus-within{outline:3px solid var(--focus);outline-offset:2px}.ch-dot{border:2px solid var(--rule-2);border-radius:50%;width:22px;height:22px;position:relative}.ch-option.is-on .ch-dot{border-color:var(--accent)}.ch-option.is-on .ch-dot:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:3px}.ch-text{display:grid}.ch-name{font-weight:800}.ch-blurb{color:var(--ink-2);font-size:15px}.ch-price{font-family:var(--font-display);white-space:nowrap;font-size:26px;font-weight:600}.ch-price small{font-family:var(--font-ui);color:var(--ink-3);font-size:14px;font-weight:500}.ch-go{margin-top:6px}.ch-fine{color:var(--ink-2);text-align:center;margin:0;font-size:15px}.ch-foot{color:var(--ink-3);text-align:center;margin:0;font-size:15px}.ch-restore{justify-self:center;font-size:16px}.restore{gap:8px;display:grid}.restore-row{gap:8px;display:flex}.done{text-align:center;justify-items:center;gap:6px;padding:8px 0;display:grid}.done-mark{background:var(--accent-soft);width:56px;height:56px;color:var(--ok);border-radius:50%;place-items:center;display:grid}.done-title{margin:4px 0 0;font-size:20px;font-weight:800}.done-sub{color:var(--ink-3);margin:0 0 8px}.pw-preview{grid-template-columns:120px 1fr;align-items:center;gap:16px;margin-bottom:18px;display:grid}.pw-preview .quilt-stage{--maxh:150px}.pw-preview p{color:var(--ink-2);margin:0}.pw-alt{text-align:center;color:var(--ink-3);margin:14px 0 0;font-size:15.5px}.share-body{gap:20px;display:grid}@media (width>=640px){.share-body{grid-template-columns:240px 1fr;align-items:start}}.share-img{aspect-ratio:2/3;background:var(--surface-2);border-radius:var(--r-m);place-items:center;display:grid;overflow:hidden}.share-img img{object-fit:contain;width:100%;height:100%}.share-wait{color:var(--ink-3)}.share-side{gap:12px;display:grid}.share-side p{color:var(--ink-2);margin:0}.share-fine{font-size:15px;color:var(--ink-3)!important}.quilts-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.quilts-note{color:var(--ink-3);font-size:15px}.quilts-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.quilts-grid li{position:relative}.quilt-card{text-align:left;border:1.5px solid var(--rule);border-radius:var(--r-m);background:var(--surface);gap:8px;width:100%;padding:12px;display:grid}.quilt-card .quilt-stage{--maxh:180px}.quilt-card span{color:var(--ink-3);font-size:14.5px}.quilts-grid li.is-on .quilt-card{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.quilt-del{background:var(--surface);position:absolute;top:6px;right:6px}.kd-lead{color:var(--ink-2);margin:0 0 14px}.kd-keybox{background:var(--surface-2);border-radius:var(--r-m);overflow-wrap:anywhere;margin-bottom:14px;padding:16px}.kd-key{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:15px}.kd-actions{flex-wrap:wrap;gap:8px;display:flex}.kd-note{color:var(--ink-3);margin:14px 0 0;font-size:15px}.block-grid.is-compact{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.block-grid.is-compact .block-btn{place-items:center;min-height:52px;padding:5px}.block-grid.is-compact .thumb{width:100%;max-width:44px;height:auto}@media (width<=479px){.block-grid.is-compact{grid-template-columns:repeat(6,minmax(0,1fr))}}.pick-sub{color:var(--ink-2);margin:16px 0 8px;font-weight:700}.pick-photos{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pick-photos img{object-fit:cover;border-radius:6px;width:52px;height:52px;display:block}
