@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Gochi+Hand&display=swap');
:root{--paper:#f6f0e6;--ink:#293e36;--rust:#ae513d;--muted:#7a7c6c;--line:#ded8c9;--gold:#d4a54d;--sage:#788c73}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'DM Sans',system-ui,sans-serif;background-image:radial-gradient(#9a896412 .7px,transparent .7px);background-size:6px 6px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ca9a3a;outline-offset:4px}header{max-width:1400px;margin:auto;padding:28px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:25px Georgia,serif}.brand-mark{font:44px Georgia;color:var(--rust);transform:rotate(-12deg)}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:.19em;margin-top:4px}.prototype{font-size:11px;color:var(--muted);padding:8px 13px;border:1px solid var(--line);border-radius:30px}main{max-width:1320px;margin:auto;padding:0 5%}.intro{display:flex;justify-content:space-between;align-items:center;padding:46px 0 28px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:#777d68;margin:0 0 10px}h1{font:normal clamp(40px,4.8vw,68px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:0}h1 em{color:var(--rust);font-weight:normal}.intro-note{font-size:14px;color:#6e7465;line-height:1.8;padding-right:30px}.handwritten{display:block;font:24px 'Gochi Hand',cursive;color:var(--rust);margin-top:12px;transform:rotate(-5deg)}.steps{display:flex;gap:32px;padding:12px 0 27px;color:#626f60;font-size:12px}.steps span{display:flex;align-items:center;gap:8px}.steps b{border:1px solid #c6ccba;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:10px}.workspace{display:grid;grid-template-columns:1.06fr 1fr;gap:24px;align-items:stretch}.paint-card,.heart-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fffcf5;box-shadow:0 8px 22px #57432305}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}h2{font:normal 28px/1.15 Georgia,serif;letter-spacing:-.025em;margin:0}.count{font-size:9px;letter-spacing:.09em;color:#868872;white-space:nowrap}.prompt{font-size:12px;color:#80806f;margin:10px 0 17px;min-height:18px}.patch-picker{display:flex;gap:9px;margin-bottom:18px}.swatch{height:42px;flex:1;max-width:60px;border:2px solid transparent;border-radius:8px;background:#eee6d8;color:#344537;position:relative;box-shadow:inset 0 0 0 1px #0001;touch-action:none;overflow:hidden;font-weight:700}.swatch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.swatch span{position:relative;z-index:1;background:#fffcf2dd;border-radius:50%;width:21px;height:21px;display:inline-grid;place-items:center;font-size:10px}.swatch.active{border-color:var(--ink);outline:2px solid #fff;box-shadow:0 0 0 3px #293e3620;transform:rotate(-3deg)}.swatch.placed:after{content:'✓';position:absolute;bottom:0;right:2px;font-size:11px;color:#263d31;z-index:2;background:#fff9;border-radius:50%}.fabric-stage{position:relative;border:1px solid #e3daca;border-radius:10px;background:#eee8db;background-image:linear-gradient(90deg,#fff3 1px,transparent 1px),linear-gradient(#fff3 1px,transparent 1px);background-size:22px 22px;overflow:hidden}canvas{display:block;width:100%;height:auto}#editor{touch-action:none;cursor:crosshair}.canvas-hint{position:absolute;bottom:10px;left:0;width:100%;text-align:center;font-size:10px;color:#8e8b77;pointer-events:none}.tools{padding:19px 0 0}.tool-line{display:flex;align-items:center;gap:10px}.palette{display:flex;gap:9px;flex-wrap:wrap}.color{width:27px;height:27px;border:3px solid #fffcf5;border-radius:50%;box-shadow:0 0 0 1px #0001;padding:0}.color.active{box-shadow:0 0 0 2px var(--ink);transform:scale(1.05)}.custom-color{position:relative;border:1px solid var(--line);width:27px;height:27px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.custom-color input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.tool-settings{margin-top:17px;justify-content:space-between;gap:8px}.tool-group{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.tool{border:0;background:transparent;font-size:11px;padding:7px 9px;color:#6b715e}.tool.active{background:#e8ecdf;color:var(--ink)}.brush-size{font-size:11px;display:flex;align-items:center;gap:5px;color:#7f826e}.brush-size input{width:65px;accent-color:var(--ink)}.text-button{background:transparent;border:0;color:#787a66;text-decoration:underline;text-underline-offset:4px;font-size:11px;padding:7px}.patterns{display:flex;align-items:center;gap:5px;margin-top:14px;flex-wrap:wrap;font-size:10px;color:#888673}.patterns>span{margin-right:6px}.patterns button{border:1px solid var(--line);background:transparent;color:#78806c;border-radius:15px;font-size:10px;padding:5px 10px}.patterns button.active{background:#e9ecdf;border-color:#b3bda2;color:#354b39}.place-row{display:flex;gap:15px;align-items:center;margin-top:22px}.place-row>span{font-size:10px;line-height:1.6;color:#99917e}.primary{border:0;background:var(--ink);color:#fffaf0;border-radius:8px;padding:13px 19px;font-size:12px;font-weight:600;display:inline-flex;gap:24px;justify-content:center;align-items:center}.primary:hover:not(:disabled){background:#3b5545}.primary>span{font-size:19px;line-height:1}.heart-card{background:#eeeee3;display:flex;flex-direction:column;position:relative}.heart-stage{position:relative;margin:18px -7px 0;flex:1;display:flex;align-items:center}.heart-stage canvas{max-height:460px;object-fit:contain}.heart-stage.drag-over{filter:drop-shadow(0 0 7px #b5ab63)}#needle{display:none;position:absolute;color:#a85540;font-size:26px;transform:translate(-50%,-50%);pointer-events:none}#message{font-size:12px;text-align:center;min-height:36px;margin:12px 0;color:#6c7760}.stitch-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.stitch{width:100%;background:var(--rust)}.stitch:hover:not(:disabled){background:#97442f}#finished{text-align:center}.finished-title{font:27px 'Gochi Hand',cursive;color:var(--rust);margin:8px}.finish-buttons{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.secondary{border:1px solid #bbc1aa;background:transparent;border-radius:8px;padding:12px;font-size:12px;color:var(--ink)}.quilt-section{padding:58px 0 30px}.quilt-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.quilt-heading h2{font-size:34px}.quilt-heading>p{font-size:11px;color:#878774;line-height:1.7}.quilt{display:grid;grid-template-columns:repeat(6,1fr);border:9px solid #d9dfcc;outline:1px dashed #a4af93;outline-offset:-5px;box-shadow:0 8px 20px #4d523d0a;background:#d9dfcc;gap:3px;border-radius:4px}.quilt-square{aspect-ratio:1;display:grid;place-items:center;position:relative;background:#fcf8ed;border:1px dashed #b7bbaa;overflow:hidden}.quilt-square:nth-child(even){background:#e9e9d9}.quilt-square canvas,.quilt-square img{width:95%;height:95%;object-fit:contain}.quilt-square.empty:after{content:'＋';color:#b8bea5;font:25px Georgia}.quilt-foot{font:20px 'Gochi Hand',cursive;text-align:center;color:#8b8d77;margin:19px 0}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding:24px 0 30px;font-size:10px;color:#8b8c7b}footer span span{color:var(--rust);font-size:15px;padding:0 5px}#dragGhost{position:fixed;display:none;z-index:50;width:65px;height:65px;border:3px solid #fff8;border-radius:8px;box-shadow:0 5px 20px #0003;pointer-events:none;transform:translate(-50%,-50%) rotate(-7deg)}@media(min-width:1400px){.heart-stage canvas{max-height:500px}}@media(max-width:850px){.workspace{gap:14px}.paint-card,.heart-card{padding:20px}.tool-settings{flex-wrap:wrap}.brush-size input{width:45px}.primary{gap:10px}.intro-note{padding-right:0}.steps{gap:20px}.palette{gap:6px}.color{width:25px;height:25px}}@media(max-width:680px){header{padding:19px 5%}.brand{font-size:22px}.prototype{display:none}.intro{padding-top:30px}.intro-note{display:none}h1{font-size:48px}.steps{gap:12px;font-size:10px;justify-content:space-between}.steps b{width:20px;height:20px}.workspace{grid-template-columns:1fr}.paint-card,.heart-card{padding:22px}.heart-stage{flex:initial}.heart-stage canvas{max-height:430px}.palette{gap:10px}.color{width:29px;height:29px}.tool-settings{flex-wrap:nowrap}.brush-size input{width:60px}.quilt-section{padding-top:38px}.quilt-heading{align-items:flex-start;gap:18px}.quilt-heading h2{font-size:29px}.quilt-heading>p{max-width:130px;margin-top:0}.quilt{grid-template-columns:repeat(3,1fr)}footer{flex-direction:column;gap:4px}.handwritten{font-size:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.template-bar{margin:0 0 25px;padding:22px 24px;border:1px solid var(--line);border-radius:15px;background:#ecebdf;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.template-bar h2{font-size:23px}.template-bar .eyebrow{margin-bottom:6px}.template-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.template-buttons button{border:1px solid #c9cdbb;background:#f9f6ec;border-radius:9px;padding:12px 14px;font-size:12px;color:#53654f}.template-buttons button.active{background:#293e36;color:#fff9e9;border-color:#293e36}.template-note{width:100%;font-size:10px;color:#818574;margin:-9px 0 -4px}.basket-help{font-size:12px;color:#777d68;line-height:1.6;margin:13px 0}.fabric-basket{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:0 0 22px}.fabric-tile{aspect-ratio:1;border:3px solid #fff9ed;border-radius:7px;box-shadow:0 0 0 1px #d4cbb9;touch-action:none;padding:0;position:relative;overflow:hidden}.fabric-tile img{width:100%;height:100%;display:block;pointer-events:none}.fabric-tile:hover{box-shadow:0 0 0 2px #b7654b;transform:rotate(-3deg)}.fabric-tile:after{content:'';position:absolute;inset:5px;border:1px dashed #fff8;border-radius:3px;pointer-events:none}.section-label{margin-top:12px}.fabric-stage{max-height:235px}.canvas-hint{bottom:6px;font-size:9px}.heart-stage canvas{max-height:620px}.heart-stage{cursor:pointer}.template-bar .template-buttons{margin-left:auto}.heart-card{justify-content:flex-start}.heart-stage{flex:initial}#message{margin-top:auto;padding-top:18px}.tool-settings{flex-wrap:wrap}@media(max-width:680px){.template-bar{padding:19px;gap:12px}.template-bar .template-buttons{margin-left:0}.template-buttons button{font-size:11px;padding:10px}.template-note{margin:0}.fabric-basket{gap:9px}.heart-stage canvas{max-height:470px}.workspace{gap:18px}.fabric-stage{max-height:none}#message{margin-top:10px}}

.drawing-details{border-top:1px solid var(--line);padding-top:14px;margin-top:17px}.drawing-details summary{cursor:pointer;font-size:12px;color:#6a7860;list-style-position:inside}.drawing-details summary span{font-size:10px;color:#99917e;margin-left:5px}.drawing-details[open] summary{margin-bottom:15px}.drawing-details .fabric-stage{max-height:none}.workspace{align-items:start}.heart-card{min-height:660px}.heart-stage{margin-top:10px}#message{margin-top:10px;padding-top:0}.heart-stage canvas{max-height:470px}@media(max-width:680px){.heart-card{min-height:0}}

.embroidery-controls{border-top:1px solid #cfd3bf;margin:15px 0 4px;padding-top:17px;display:flex;flex-wrap:wrap;gap:12px 16px}.embroidery-controls .eyebrow{width:100%;margin-bottom:0}.embroidery-controls label{display:flex;align-items:center;gap:7px;font-size:11px;color:#607056;flex:1}.embroidery-controls select{font:inherit;color:#354d3c;background:#fcf8ef;border:1px solid #bfc6ae;border-radius:6px;padding:8px 6px;max-width:100%}.embroidery-controls .flower-toggle{flex-basis:100%;gap:8px}.flower-toggle input{accent-color:#a8513d;width:15px;height:15px}.embroidery-controls p:last-child{font-size:10px;color:#879077;margin:0;width:100%}.embroidery-controls select:disabled{opacity:.55}.heart-card{min-height:0}#needle{width:33px;height:7px;border-radius:50%;background:linear-gradient(#fefdf2 0%,#767567 35%,#fcfff9 60%,#595a4b 100%);box-shadow:1px 3px 4px #0003;font-size:0;transform:translate(-4px,-4px) rotate(-38deg)}#needle:after{content:'';position:absolute;left:23px;top:2px;width:5px;height:2px;background:#657061;border-radius:50%}#replay{margin-right:10px}#message{margin-top:14px}@media(max-width:850px){.embroidery-controls label{flex-basis:100%;justify-content:space-between}.embroidery-controls .flower-toggle{justify-content:flex-start}}

/* Where the Fireflies Glow series branding. */
:root{--ink:#172b48;--rust:#a27627;--gold:#d4ac56;--sage:#71877a}header{max-width:none;background:#11213e;border-bottom:2px solid #d6ad56;padding:12px max(5%,calc((100vw - 1200px)/2));min-height:112px;position:relative}.brand{color:#fff2ce;font-size:27px;gap:22px}.brand small{color:#d2b571;letter-spacing:.17em;font-size:9px}.series-logo{width:152px;height:99px;object-fit:contain;filter:drop-shadow(0 0 7px #f6cd6217)}.brand-divider{height:51px;width:1px;background:#d4ac5655}.prototype{border-color:#c3a66466;color:#ded0a7;background:#ffffff05}.intro .eyebrow{color:#9a762f}.intro h1 em{color:#a77c2d}.intro h1{color:#172b48}.handwritten{color:#a77c2d}.steps b{border-color:#d8be83;color:#8d6e2e}.template-bar{background:#e9eae4;border-color:#d7d6c4}.template-buttons button.active{background:#172b48;border-color:#172b48;color:#f8e9c0}.primary{background:#172b48;color:#fff4d4}.primary:hover:not(:disabled){background:#273e60}.stitch{background:#b08330;color:#fffdf3}.stitch:hover:not(:disabled){background:#936b23}.finished-title{color:#a77c2d}.quilt{border-color:#d9c89c;background:#d9c89c;outline-color:#a78e59}.heart-card{background:#eceee6}.brand-mark{color:#d6ad56}footer{color:#6c776f}footer span span{color:#b18a3c}.tool.active{color:#172b48}.drawing-details summary{color:#4d6277}.embroidery-controls select{color:#172b48}.flower-toggle input{accent-color:#b08330}@media(max-width:680px){header{padding:12px 5%;min-height:96px}.series-logo{width:116px;height:77px}.brand{font-size:22px;gap:14px}.brand-divider{height:40px}.brand small{font-size:8px}.intro .eyebrow{font-size:9px;letter-spacing:.13em}}@media(max-width:360px){.series-logo{width:98px;height:66px}.brand{gap:10px;font-size:20px}}

/* Butter-yellow sewing-room palette and illustrated banner. */
:root{--paper:#fff0b9;--line:#e1cea0}header{min-height:214px;overflow:hidden;padding-top:28px;padding-bottom:28px}.brand{position:relative;z-index:2;max-width:62%}.series-logo{width:170px;height:120px}.sewing-banner{position:absolute;right:3%;bottom:-4px;width:620px;height:218px;object-fit:contain;object-position:right bottom;pointer-events:none}.brand-divider{margin-left:0}.paint-card{background:#fffaf0}.heart-card{background:#fff5d5}.template-bar{background:#f5e4ae}.template-buttons button{background:#fff9e7}.fabric-groups{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.fabric-groups button{background:#fff9e9;color:#5f634d;border:1px solid #dacba7;border-radius:20px;font-size:11px;padding:7px 10px}.fabric-groups button.active{background:#172b48;border-color:#172b48;color:#fff3cf}.fabric-status{font-size:10px;color:#7a725e;margin:9px 0 13px}.fabric-tile img{object-fit:cover}.fabric-tile:after{border-color:#fff6}.intro{position:relative}.quilt-section{position:relative}.quilt-section:before{content:'';display:block;width:190px;height:65px;margin:0 auto 18px;background:url('sewing-vignette.webp') left bottom/400px auto no-repeat;opacity:.8;pointer-events:none}@media(max-width:1000px){.sewing-banner{right:-50px;width:460px;opacity:.9}.brand{max-width:70%}.brand>span:last-child{font-size:23px}}@media(max-width:680px){header{min-height:215px;align-items:flex-start;padding-top:18px}.brand{max-width:100%;gap:13px}.series-logo{width:124px;height:87px}.brand>span:last-child{font-size:23px}.sewing-banner{width:310px;height:143px;right:8px;bottom:-8px;opacity:.85}.brand-divider{height:43px}.fabric-groups button{font-size:10px;padding:7px 9px}.fabric-basket{grid-template-columns:repeat(4,1fr);gap:10px}.fabric-tile{max-height:96px}}

.fabric-basket{grid-template-columns:repeat(4,1fr);gap:11px}.fabric-tile{max-height:102px}.fabric-pager{display:flex;align-items:center;gap:10px;margin:16px 0 8px}.fabric-pager>button{border:1px solid #d9c38e;background:#fff8df;color:#172b48;border-radius:50%;width:34px;height:34px;font-size:18px}.fabric-pager .fabric-groups{margin:0;gap:5px}.fabric-pager .fabric-groups button{width:32px;height:32px;padding:0}.fabric-pager>span{font-size:11px;color:#7a725e;margin-left:auto}.patch-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.swatch{max-width:none;width:100%;height:45px}.fabric-basket{animation:basketIn .22s ease-out}@keyframes basketIn{from{opacity:.5;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.fabric-basket{animation:none}}

/* Shannon's series illustration anchors the banner; sewing tools frame the quilt. */
header{background:#182d37;min-height:240px}header:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11213ef5 0%,#11213ee8 29%,#11213e88 47%,transparent 72%);pointer-events:none}.grove-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%}.brand{z-index:2}.sewing-banner{display:none}.quilt-section:before{display:none}.sewing-keepsake{display:block;margin:-6px 0 20px auto;width:min(440px,80%);height:190px;object-fit:contain;object-position:right bottom;pointer-events:none}.quilt-section{padding-top:38px}@media(max-width:680px){header{min-height:210px;align-items:center}header:after{background:linear-gradient(90deg,#11213ef0,#11213eb0 65%,#11213e22)}.grove-banner{object-position:43% center}.sewing-keepsake{height:140px;width:300px;max-width:90%;margin-bottom:15px}}

/* A quieter studio: tactile scraps, illustrated shape choices, room to create. */
main{max-width:1440px;padding:0 5.5%}.intro{padding:52px 0 33px}.intro h1{font-size:clamp(44px,4.6vw,68px)}.intro-note{font-size:13px}.steps{padding-bottom:34px}.template-bar{padding:21px 30px;background:#f9eabd;border-color:#dfc992;border-radius:12px;gap:24px}.template-bar h2{font-size:25px}.template-note{display:none}.template-buttons{gap:14px}.template-buttons button{position:relative;width:100px;height:99px;padding:5px;border:1px solid transparent;background:transparent;border-radius:12px;transition:background .2s,box-shadow .2s,transform .2s}.template-buttons button canvas{width:100%;height:100%;object-fit:contain;pointer-events:none}.template-buttons button.active{background:#fff7db;border:1px solid #bd9549;box-shadow:0 3px 13px #9f78321b}.template-buttons button.active:after{content:'✓';position:absolute;right:-5px;top:-5px;width:20px;height:20px;border-radius:50%;background:#172b48;color:#fff0c8;font:11px/20px system-ui}.template-buttons button:hover:not(:disabled){transform:translateY(-3px);background:#fff8e1}.workspace{grid-template-columns:.9fr 1.12fr;gap:30px}.paint-card,.heart-card{padding:30px;border-radius:14px;border-color:#dcca9f;box-shadow:0 9px 30px #5e421b09}.heart-card{background:#fff7df}.heart-stage{margin:22px -8px 4px}.heart-stage canvas{max-height:565px}.card-heading h2{font-size:29px}.basket-help{font-size:11px;color:#6e715e;line-height:1.7;margin:18px 0 20px}.fabric-status{font-size:9px;letter-spacing:.03em;margin:11px 0 19px}.fabric-basket{gap:14px;padding:2px 4px 9px}.fabric-tile{border:0;border-radius:1px;background:none;overflow:visible;max-height:100px;box-shadow:2px 4px 6px #48381c27;transform:rotate(-1.5deg);transition:transform .16s,box-shadow .16s}.fabric-tile:nth-child(3n){transform:rotate(2deg)}.fabric-tile:nth-child(4n){transform:rotate(-.7deg)}.fabric-tile img{clip-path:polygon(2% 0,6% 2%,10% 0,14% 2%,18% 0,22% 2%,26% 0,30% 2%,34% 0,38% 2%,42% 0,46% 2%,50% 0,54% 2%,58% 0,62% 2%,66% 0,70% 2%,74% 0,78% 2%,82% 0,86% 2%,90% 0,94% 2%,98% 0,100% 4%,98% 20%,100% 35%,98% 50%,100% 65%,98% 80%,100% 96%,98% 100%,80% 98%,65% 100%,50% 98%,35% 100%,20% 98%,2% 100%,0 96%,2% 80%,0 65%,2% 50%,0 35%,2% 20%,0 4%)}.fabric-tile:after{inset:6px;border:1px dashed #fff7;border-radius:0}.fabric-tile:hover{transform:translateY(-3px) rotate(0);box-shadow:3px 7px 12px #48381c33}.fabric-tile:focus-visible{outline-offset:6px}.section-label{margin-top:22px}.patch-picker{gap:11px}.drawing-details{margin-top:22px}.embroidery-controls{gap:15px;padding-top:21px;margin-top:20px}.embroidery-controls p:last-child{display:none}.stitch-actions{gap:13px}.primary{padding:15px 20px;border-radius:7px}.quilt-section{padding-top:46px}.quilt-heading h2{font-size:38px}@media(max-width:1000px){.workspace{gap:20px}.paint-card,.heart-card{padding:23px}.fabric-basket{gap:11px}.template-buttons button{width:86px;height:86px}}@media(max-width:680px){main{padding:0 5%}.workspace{grid-template-columns:1fr;gap:22px}.intro{padding-top:33px}.template-bar{padding:23px;gap:18px}.template-bar .template-buttons{width:100%;justify-content:space-around}.template-buttons button{width:90px;height:90px}.heart-stage canvas{max-height:490px}.paint-card,.heart-card{padding:24px}.fabric-basket{gap:15px}.fabric-tile{max-height:110px}.card-heading h2{font-size:27px}}@media(prefers-reduced-motion:reduce){.template-buttons button,.fabric-tile{transition:none}}

/* The quilt itself is the fabric drop target. */
.paint-card>.card-heading{margin-bottom:8px}.paint-card>.basket-help{margin:12px 0 24px}.drawing-details{margin-top:25px}.heart-stage canvas:focus-visible{outline:2px solid #b58d40;outline-offset:5px;border-radius:10px}.heart-stage canvas{touch-action:manipulation}#fabrics{margin-bottom:10px}

/* The approved, simple gift-studio layout. */
.intro{display:block;text-align:center;padding:38px 0 28px}.intro h1{font-size:clamp(35px,4.6vw,65px);line-height:1.15;letter-spacing:-.035em}.intro>p{font:italic 21px Georgia,serif;color:#172b48;margin:12px 0 0}.workspace{grid-template-columns:.75fr 1.15fr;gap:34px;align-items:start;border:0;padding-top:12px}.paint-card,.heart-card{padding:18px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.paint-card{padding-right:26px;border-right:1px solid #c5a25e70}.card-heading h2{font-size:34px}.basket-help{font-size:11px;max-width:340px}.paint-card{display:flex;flex-direction:column}.fabric-pager{order:5;justify-content:center;margin:20px 0}.fabric-pager>span{margin-left:8px}.fabric-status{display:none}.fabric-basket{gap:10px;margin-top:10px;order:3}.fabric-tile{max-height:120px}.drawing-details{order:6}.heart-card .template-buttons{align-self:center;margin:0 0 8px;gap:24px}.heart-card .template-buttons button{width:88px;height:83px}.quilt-progress{display:block;text-align:center;opacity:.7;font-size:9px}.heart-stage{margin:6px 0 0}.heart-stage canvas{max-height:580px}#finished{margin-top:0}.finished-title{font:italic 22px Georgia,serif;color:#172b48;margin:0 0 7px}.finish-bar{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;border-top:1px solid #d1b16c66;padding:21px 5px 13px;margin-top:16px}.finish-bar .embroidery-controls{border:0;margin:0;padding:0;flex:1;gap:12px;align-items:center}.embroidery-controls label{flex:initial;font-size:14px;color:#172b48}.embroidery-controls .flower-toggle{flex-basis:auto;font-size:11px}.finish-bar .stitch-actions{align-items:center;gap:5px}.stitch{width:auto;min-width:220px;background:#172b48}.stitch:hover:not(:disabled){background:#293f5e}.finish-bar #message{width:100%;margin:0;font-size:11px;min-height:20px}.gift-section{text-align:center;border-top:1px solid #be943e;padding:25px 0 21px;margin-top:8px}.gift-section h2{font-size:clamp(29px,3.5vw,43px);margin-bottom:20px}.gift-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.gift-actions .secondary{background:#fff6da;border-color:#172b48;border-radius:6px;min-width:170px;font:18px Georgia,serif;padding:11px 18px}.gift-actions .text-button{font:italic 17px Georgia,serif;color:#172b48;margin-left:8px}.gift-section>p{font:italic 17px Georgia,serif;color:#172b48;margin:16px 0 0}.gift-section .gift-hint,.gift-hint{font:11px/1.6 system-ui,sans-serif;color:#766b55}.gift-section button:disabled{opacity:.45}.gift-actions button:hover:not(:disabled){background:#fffbea}footer{display:block;text-align:center;border:0;font:12px Georgia,serif;letter-spacing:.3em;color:#172b48;padding:14px 0 24px}dialog{border:1px solid #c5a05c;border-radius:12px;background:#fff6dc;color:#172b48;max-width:480px;width:calc(100% - 32px);padding:34px;box-shadow:0 20px 80px #11213e44}dialog::backdrop{background:#11213e88}dialog h2{font-size:30px;margin-bottom:14px}dialog p{font-size:14px;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-close{position:absolute;right:13px;top:8px;font:26px Georgia;background:none;border:0;color:#172b48}dialog textarea{display:block;width:100%;font:16px/1.5 Georgia;color:#172b48;background:#fffaf0;border:1px solid #c6b589;border-radius:6px;padding:12px;margin:8px 0 18px;resize:vertical}dialog label{font-size:12px}#emailDraft{color:#172b48;text-underline-offset:4px}#printPreview{display:none}@media(max-width:850px){.finish-bar .embroidery-controls label{flex-basis:auto;justify-content:flex-start}.finish-bar{justify-content:center}.fabric-basket{gap:9px}.paint-card{padding-right:20px}.workspace{gap:22px}}@media(max-width:680px){.intro{padding:27px 0 20px}.intro>p{font-size:17px;line-height:1.5}.workspace{grid-template-columns:1fr;gap:12px}.paint-card{padding:10px 0 16px;border-right:0;border-bottom:1px solid #c5a25e55}.card-heading h2{font-size:29px}.fabric-basket{gap:11px}.fabric-tile{max-height:85px}.basket-help{max-width:none}.heart-card{padding-top:12px}.heart-stage canvas{max-height:470px}.finish-bar .embroidery-controls{justify-content:center}.gift-actions{gap:10px}.gift-actions .secondary{min-width:140px;font-size:16px}.gift-actions .text-button{width:100%;margin:8px 0}.gift-section h2{font-size:30px}footer{font-size:10px;letter-spacing:.18em}}@media print{@page{size:auto;margin:12mm}body>*{display:none!important}body>#printPreview{display:block!important}#printPreview img{display:block;width:auto;max-width:100%;height:auto;max-height:245mm;margin:auto}body{background:white!important}}

/* White work square and printed-card inspiration. */
.heart-stage{display:block;position:relative;aspect-ratio:1;width:100%;max-width:600px;margin:16px auto 18px;background:#fff;box-shadow:0 5px 20px #4e3d2010}.heart-stage canvas{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}.card-inspiration{max-width:1000px;margin:28px auto 24px}.card-inspiration img{display:block;width:100%;height:auto;border-radius:5px;box-shadow:0 7px 24px #4b351b12}@media(max-width:680px){.heart-stage canvas{max-height:none}.card-inspiration{margin-top:20px}}

/* Running stitch around the white backing square, separate from quilt seams. */
.heart-stage:after{content:'';position:absolute;inset:12px;border:1px dashed #ae8c53;pointer-events:none;z-index:2}@media(max-width:680px){.heart-stage:after{inset:9px}}

.clear-quilt{position:absolute;top:22px;right:23px;z-index:3;border:1px solid #dacdad;background:#fff;color:#76664c;border-radius:4px;padding:5px 11px;font:11px/1.4 'DM Sans',system-ui,sans-serif;cursor:pointer;min-height:30px}.clear-quilt:hover:not(:disabled){background:#fbf5e7;color:#172b48;border-color:#b89a62}.clear-quilt:focus-visible{outline:2px solid #b58d40;outline-offset:3px}@media(max-width:680px){.clear-quilt{top:16px;right:16px;padding:7px 12px;min-height:34px}}

/* Shape choices, swatches, and quilt in one vertical working flow. */
.workspace{display:flex;flex-direction:column;gap:14px;max-width:800px;margin:0 auto}.shape-chooser{width:100%;display:flex;justify-content:center}.shape-chooser .template-buttons{margin:0;gap:24px}.shape-chooser .template-buttons button{width:88px;height:83px}.paint-card{width:100%;padding:10px 0 16px;border:0;border-bottom:1px solid #c5a25e55}.paint-card .card-heading{justify-content:center}.paint-card .card-heading h2{font-size:29px}.basket-help{max-width:none;text-align:center;margin:10px 0 15px!important}.fabric-basket{grid-template-columns:repeat(10,minmax(0,1fr));gap:12px;padding:4px 5px;margin:0}.fabric-tile{max-height:80px}.fabric-pager{margin:15px 0 0}.drawing-details{margin-top:14px}.heart-card{width:100%;padding:0}.heart-stage{max-width:620px;margin:10px auto 15px}.quilt-progress{margin:0 auto 6px}.finish-bar{max-width:800px;margin:22px auto 0}.gift-section{max-width:1000px;margin:15px auto 0}@media(max-width:680px){.workspace{gap:12px}.fabric-basket{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.fabric-tile{max-height:76px}.paint-card .card-heading h2{font-size:26px}.shape-chooser .template-buttons{gap:20px}.shape-chooser .template-buttons button{width:80px;height:76px}.basket-help{font-size:10px}.paint-card{padding-bottom:14px}}

.fabric-pending{min-height:80px;background:#efe4c9;color:#776d58;font-size:12px;opacity:1;cursor:wait}

/* A light running stitch wanders down the linen, ending in a threaded needle. */
main{position:relative;isolation:isolate;padding-bottom:125px}
.background-sewing{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.background-stitch-trail{position:absolute;top:0;left:0;width:100%;height:calc(100% - 110px);overflow:visible}
.background-stitch-trail path{stroke:#a65b57;stroke-width:1.7;stroke-dasharray:7 7;stroke-linecap:round;opacity:.65}
.background-needle{position:absolute;right:15%;bottom:10px;width:180px;height:100px;filter:drop-shadow(1px 2px 1px #55452522)}
.loose-thread{stroke:#a65b57;stroke-width:1.7;stroke-linecap:round}
@media print{.background-sewing{display:none}}

#savePreview{display:block;width:100%;max-height:55vh;object-fit:contain;margin:15px auto;-webkit-touch-callout:default}#saveDialog{max-width:520px}#downloadQuilt{display:inline-block;text-decoration:none;color:var(--ink)}

/* The book's garden wraps the studio in the same world as the story. */
body{background:#39472a url('book-garden-background.webp') center center/cover fixed no-repeat}
main{background:none;padding-bottom:25px}.intro h1,.intro p{color:#fff9e6;text-shadow:0 2px 5px #18220cd9}.workspace{padding:24px;background:#fff5dfee;border:1px solid #d0b573;border-radius:12px;box-shadow:0 8px 30px #17200e44}.paint-card,.heart-card{background:none}.finish-bar,.gift-section{background:#fff5dff2;border:1px solid #d0b573;border-radius:10px;padding:23px}.background-stitch-trail path,.loose-thread{stroke:#fce4ad}.brand-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;letter-spacing:0;text-align:left;padding:24px 0 10px;color:white}.footer-copy{display:flex;flex-direction:column;gap:7px;text-shadow:0 1px 4px #18220c}.footer-copy>span{font:18px Georgia,serif}.footer-copy small{font:11px Arial,sans-serif}.footer-purchase{display:flex;align-items:center;gap:18px;justify-content:flex-end}.wondersky-footer-logo{display:block;width:150px;height:auto;background:white;border-radius:3px}.book-order{display:inline-block;text-decoration:none;white-space:nowrap;padding:14px 19px;font:12px Arial,sans-serif;letter-spacing:0;border-radius:4px}
@media(max-width:680px){body{background-attachment:scroll;background-size:auto 100vh;background-repeat:repeat-y}.workspace{padding:18px 12px}.brand-footer{flex-wrap:wrap;justify-content:center}.footer-copy{width:100%;text-align:center}.footer-purchase{gap:12px}.wondersky-footer-logo{width:125px}.finish-bar,.gift-section{padding:20px 14px}}

.footer-book-cover{display:block;width:150px;height:auto;max-height:92px;object-fit:contain;border-radius:2px;box-shadow:0 2px 6px #14200c55}
@media(max-width:680px){.footer-purchase{gap:10px;flex-wrap:wrap;justify-content:center}.footer-book-cover{width:125px;max-height:80px}.book-order{padding:13px 12px}}

/* Sister banner to the Pound Cake Bake Shop. */
header.heritage-banner{max-width:1200px;width:calc(100% - 88px);height:auto;min-height:0;aspect-ratio:1600/331;margin:18px auto 0;padding:0;border:0;overflow:hidden;background:linear-gradient(90deg,#071b38 0%,#071b38f2 24%,#071b3880 50%,#071b3833 100%),url('book-garden-background.webp') center 48%/cover no-repeat;box-shadow:0 5px 28px #18200c55}
.heritage-brand{width:100%;height:100%;display:flex;align-items:center;gap:28px;padding:18px 3.5%;text-decoration:none}.heritage-brand>img{display:block;width:24%;height:90%;object-fit:contain;filter:drop-shadow(0 2px 4px #0007)}.heritage-banner-title{flex:1;text-align:center;color:#ffdf37;font:bold clamp(27px,4vw,60px)/1.15 Georgia,serif;letter-spacing:1.5px;text-shadow:0 2px 5px #0009}.heritage-banner-title small{display:block;margin-top:14px;font:normal 15px/1.3 Georgia,serif;letter-spacing:5px;color:#fff2b8}
@media(max-width:680px){header.heritage-banner{width:calc(100% - 36px);margin-top:12px;aspect-ratio:auto;height:160px}.heritage-brand{padding:12px;gap:10px}.heritage-brand>img{width:33%;height:115px}.heritage-banner-title{font-size:clamp(22px,5.5vw,34px);letter-spacing:.3px}.heritage-banner-title small{font-size:10px;letter-spacing:2px;margin-top:10px}}
header.heritage-banner:after{display:none}.heritage-brand{position:relative;z-index:1}

/* Painted pale-yellow beadboard, shared with the Bake Shop's material palette. */
.workspace,.finish-bar,.gift-section{background-color:#fff1b9;background-image:linear-gradient(#fff8dc55,#fff8dc55),url('beadboard.webp');background-size:auto,150px auto;background-repeat:repeat;background-blend-mode:normal,luminosity;border-color:#cdbb7f;box-shadow:0 7px 24px #15200d40,inset 0 0 0 1px #fff8df88}
.workspace .paint-card,.workspace .heart-card{background:none}.workspace .basket-help,.workspace .drawing-details,.workspace .fabric-pager,.finish-bar,.gift-section{color:#354538}.workspace .card-heading h2,.gift-section h2{color:#263b31}.workspace .quilt-progress{color:#4f5a40;opacity:1}.basket-help,.gift-hint{color:#526044}

.heritage-radio-position{max-width:800px;margin:0 auto -18px;position:relative;z-index:3;display:flex;justify-content:flex-end;padding-right:12px}.heritage-radio-control{display:flex;align-items:center;border:0;padding:0;background:none;color:#293e36;max-width:100%;text-align:center}.heritage-radio-art{position:relative;z-index:1;display:block;width:150px;flex-shrink:0;filter:drop-shadow(1px 3px 3px #19250d66)}.heritage-radio-art img{display:block;width:100%;height:auto}.music-symbol{position:absolute;left:66.7%;top:67.7%;transform:translate(-50%,-50%);font:13px/1 Arial;color:#2b4431}.heritage-radio-plaque{display:flex;flex-direction:column;gap:6px;margin-right:-12px;padding:12px 24px 12px 16px;border:2px solid #b99b59;border-radius:16px;background:linear-gradient(115deg,#fff8e3,#f7e9b6);box-shadow:inset 0 0 0 2px #fff8df,0 3px 6px #17200e44}.heritage-radio-plaque strong{font:bold 16px/1.2 Georgia,serif}.heritage-radio-plaque>span{font:italic 12px/1.2 Georgia,serif}.heritage-radio-control[aria-pressed=true] .heritage-radio-art{filter:drop-shadow(0 0 6px #ffd975)}
@media(max-width:680px){.heritage-radio-position{padding-right:3px;margin-bottom:-12px}.heritage-radio-art{width:120px}.heritage-radio-plaque{padding:10px 17px 10px 11px;max-width:calc(100% - 105px)}.heritage-radio-plaque strong{font-size:13px}.heritage-radio-plaque>span{font-size:11px}.music-symbol{font-size:11px}}
@media print{.heritage-radio-position{display:none!important}}
.shape-chooser{flex-direction:column;align-items:center;gap:18px}.instruction-heading{width:100%;font:normal 28px/1.2 Georgia,serif;text-align:center;color:#263b31;margin:0 0 15px}.finish-bar{flex-direction:column;align-items:center}.finish-bar .embroidery-controls{flex:none;justify-content:center;width:100%}.finish-bar .embroidery-controls label[hidden]{display:none}.stitch-samples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:700px}.stitch-samples button{border:2px solid transparent;background:#fff8e3;border-radius:7px;padding:6px;position:relative}.stitch-samples button[aria-pressed=true]{border-color:#a57f3f;box-shadow:0 0 0 2px #fff5d4}.stitch-samples canvas{width:100%;height:auto}.stitch-samples span{font:11px Georgia,serif;color:#34483a}.embellishment-section{max-width:800px;margin:20px auto 0;padding:24px;background-color:#fff1b9;background-image:linear-gradient(#fff8dc55,#fff8dc55),url('beadboard.webp');background-size:auto,150px auto;background-blend-mode:normal,luminosity;border:1px solid #cdbb7f;border-radius:10px;box-shadow:0 7px 24px #15200d40;text-align:center}.embellishment-section p{font-size:12px;color:#445743;line-height:1.6}.embellishment-tray{display:flex;justify-content:center;gap:18px}.embellishment-tray button{width:100px;padding:6px;border:2px solid transparent;border-radius:8px;background:#fff7df;touch-action:none;color:#293e36}.embellishment-tray button[aria-pressed=true]{border-color:#a57f3f}.embellishment-tray canvas{width:100%;height:auto}.embellishment-tray span{font:13px Georgia,serif}.embellishment-tools{display:flex;justify-content:center;gap:10px}.embellishment-tools .secondary{padding:10px 14px;font-size:12px}#heart{touch-action:none}
@media(max-width:680px){.instruction-heading,.paint-card .card-heading h2{font-size:25px}.stitch-samples{grid-template-columns:repeat(2,minmax(0,1fr))}.embellishment-section{padding:22px 14px}.stitch-samples button{min-height:60px}}

/* Upright stitch samples leave room for the embellishment basket alongside. */
.finishing-options{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;max-width:1000px;margin:22px auto 0;align-items:stretch}.finishing-options .finish-bar,.finishing-options .embellishment-section{width:100%;max-width:none;margin:0;padding:23px 18px;justify-content:flex-start}.finishing-options .instruction-heading{font-size:26px;min-height:32px}.finishing-options .stitch-samples{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:370px}.finishing-options .stitch-samples button{height:164px;padding:0;overflow:hidden}.finishing-options .stitch-samples canvas{position:absolute;left:50%;top:46%;width:144px;height:50.4px;max-width:none;transform:translate(-50%,-50%) rotate(90deg)}.finishing-options .stitch-samples span{position:absolute;bottom:5px;left:0;right:0;font-size:10px}.finishing-options .embroidery-controls{margin-top:6px}.finishing-options .stitch-actions{display:flex;flex-direction:column;align-items:center;margin-top:3px;width:100%}.finishing-options #stitch{min-width:200px}.finishing-options .embellishment-tray{margin-top:14px}.finishing-options .embellishment-section>p{margin:6px 0 12px}.finishing-options .embellishment-tools{flex-wrap:wrap}.finishing-options #message{margin:4px 0 0;text-align:center}
@media(max-width:680px){.finishing-options{grid-template-columns:1fr;gap:16px}.finishing-options .finish-bar,.finishing-options .embellishment-section{padding:22px 16px}.finishing-options .stitch-samples{max-width:360px}.finishing-options .stitch-samples button{height:150px}.finishing-options .stitch-samples canvas{width:130px;height:45.5px}.finishing-options .instruction-heading{font-size:25px}}

/* Vintage notions edge the basket and lead the eye through the finishing steps. */
.spool-trim{position:relative;width:100%;margin:0 auto 18px;pointer-events:none}.spool-trim img{display:block;width:100%;aspect-ratio:4.6/1;object-fit:cover;filter:drop-shadow(0 3px 2px #6c4b292b)}.paint-card .card-heading{margin-bottom:8px}
.finishing-options{position:relative;isolation:isolate}.finishing-options .finish-bar,.finishing-options .embellishment-section{position:relative;padding-bottom:72px}.finishing-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.thread-shadow{fill:none;stroke:#fbf1cb;stroke-width:4;opacity:.8}.running-thread{fill:none;stroke:#9f4c65;stroke-width:1.8;stroke-dasharray:5 5;stroke-linecap:round;opacity:.78}.vintage-finishing-needle{position:absolute;right:7px;bottom:14px;width:118px;height:85px;z-index:2;pointer-events:none;filter:drop-shadow(0 1px 1px #fff6)}.needle-thread{fill:none;stroke:#9f4c65;stroke-width:1.5;stroke-linecap:round}.needle-body{fill:#465349}
@media(max-width:680px){.spool-trim{margin-bottom:14px}.spool-trim img{aspect-ratio:4.3/1}.finishing-thread{display:none}.finishing-options .finish-bar:after,.finishing-options .embellishment-section:after{content:'';position:absolute;bottom:23px;left:9%;right:9%;height:20px;border-bottom:2px dashed #9f4c6588;border-radius:0 0 50% 70%;pointer-events:none}.vintage-finishing-needle{width:98px;height:72px;bottom:6px;right:0}}

/* The main sewing action bridges the two finishing panels. */
.finishing-options{margin-bottom:94px}.finishing-options .stitch-actions{position:absolute;z-index:5;left:50%;bottom:-67px;transform:translateX(-50%);width:max-content;max-width:94%;display:flex;align-items:center;flex-direction:column;gap:7px;margin:0}.finishing-options .stitch-actions #stitch{min-width:270px;padding:21px 32px;font:normal 23px/1.2 Georgia,serif;border:2px solid #d1ad62;border-radius:12px;box-shadow:0 5px 16px #17200d66,0 0 0 4px #fff0bf;white-space:nowrap}.finishing-options .stitch-actions #demo{color:#fff9df;text-shadow:0 1px 4px #15220c;font-size:11px}.finishing-options #message{min-height:32px;max-width:90%;margin-top:10px}
@media(max-width:680px){.finishing-options{margin-bottom:100px}.finishing-options .stitch-actions #stitch{min-width:245px;padding:19px 25px;font-size:22px}}

.heritage-banner-title small{font-size:clamp(22px,2.25vw,31px);letter-spacing:4px;margin-top:15px;font-weight:normal}
.finishing-options .stitch-actions #stitch{position:relative;min-width:350px;min-height:88px;padding:25px 40px;font:normal 30px/1.2 Georgia,serif;color:#fff5d9;border:1px solid #243d4b;border-radius:3px;background-color:#3f5b6b;background-image:repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#132d3f2b 0 1px,transparent 1px 3px);box-shadow:0 6px 15px #15220c66,inset 0 0 0 3px #263e4c;opacity:1;white-space:nowrap}
.finishing-options .stitch-actions #stitch:before{content:'';position:absolute;inset:8px;border:2px dashed #f7e3b9;border-radius:1px;pointer-events:none;box-shadow:0 0 0 1px #0c223029}
.finishing-options .stitch-actions #stitch:hover:not(:disabled){background-color:#4c6a79}.finishing-options .stitch-actions #stitch:disabled{opacity:1;color:#e6ddc6;filter:saturate(.55);cursor:default}.finishing-options .stitch-actions{bottom:-77px}.finishing-options{margin-bottom:110px}.gift-section h2{font-size:clamp(29px,3.25vw,44px);line-height:1.2}
@media(max-width:680px){.heritage-banner-title small{font-size:clamp(14px,3.4vw,19px);letter-spacing:1.7px;margin-top:12px}.finishing-options .stitch-actions #stitch{min-width:0;width:100%;padding:25px 30px;font-size:25px;min-height:84px}.finishing-options .stitch-actions{width:min(330px,94%)}.finishing-options{margin-bottom:115px}.gift-section h2{font-size:30px}}
/* Fabric keepsake buttons with readable white lettering. */
.gift-actions #printQuilt,.gift-actions #giftQuilt,.gift-actions #save{position:relative;border:1px solid #263e40;border-radius:2px;color:#fff;font:normal 18px/1.25 Georgia,serif;padding:20px 25px;min-width:170px;min-height:65px;opacity:1;background-image:repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#1423292b 0 1px,transparent 1px 3px);box-shadow:0 3px 8px #18230d55,inset 0 0 0 2px #ffffff12}
.gift-actions #printQuilt{background-color:#3c586a}.gift-actions #giftQuilt{background-color:#803f55}.gift-actions #save{background-color:#416451}
.gift-actions #printQuilt:before,.gift-actions #giftQuilt:before,.gift-actions #save:before{content:'';position:absolute;inset:6px;border:1.5px dashed #fff4df;border-radius:1px;pointer-events:none}
.gift-actions #printQuilt:hover:not(:disabled),.gift-actions #giftQuilt:hover:not(:disabled),.gift-actions #save:hover:not(:disabled){filter:brightness(1.12)}
.gift-actions #printQuilt:disabled,.gift-actions #giftQuilt:disabled,.gift-actions #save:disabled{opacity:1;color:#fff;filter:saturate(.25) brightness(.8);cursor:not-allowed}
@media(max-width:680px){.gift-actions #printQuilt,.gift-actions #giftQuilt,.gift-actions #save{min-width:150px;padding:19px 18px;font-size:17px}}
/* Keep the tall fabric basket beside the quilt while decorating. */
@media(min-width:851px){
 .workspace{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-areas:'fabrics shapes' 'fabrics quilt';gap:16px 26px;max-width:1200px;padding:25px;align-items:start}
 .workspace>.shape-chooser{grid-area:shapes;padding:4px 0 8px;gap:14px}.workspace>.shape-chooser .instruction-heading{font-size:28px;margin-bottom:0}.shape-chooser .template-buttons{gap:22px}.shape-chooser .template-buttons button{width:75px;height:72px}
 .workspace>.paint-card{grid-area:fabrics;min-width:0;padding:0 22px 10px 0;border-bottom:0;border-right:1px solid #b99b5c77}.workspace>.heart-card{grid-area:quilt;min-width:0;padding:0}.workspace .heart-stage{width:100%;max-width:620px;margin:6px auto 0}.workspace .heart-stage canvas{max-height:none}
 .workspace .fabric-basket{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:5px 3px}.workspace .fabric-tile{max-height:none;aspect-ratio:1}.workspace .spool-trim{margin-bottom:14px}.workspace .spool-trim img{aspect-ratio:3.8/1}.workspace .paint-card .card-heading h2{font-size:27px}.workspace .basket-help{font-size:11px;margin:10px 0 18px!important}.workspace .fabric-pager{flex-wrap:wrap;gap:8px}.workspace .fabric-pager>span{font-size:10px}
 .heritage-radio-position{max-width:1200px}.finishing-options{max-width:1200px}.gift-section{max-width:1200px}
}
@media(min-width:851px) and (max-width:1050px){.workspace{grid-template-columns:270px minmax(0,1fr);gap:16px 18px;padding:20px}.workspace>.paint-card{padding-right:16px}.workspace .paint-card .card-heading h2{font-size:24px}.workspace .fabric-basket{gap:9px}.workspace .shape-chooser .instruction-heading{font-size:25px}}
.gift-actions #printQuilt{background-color:#216b98}.gift-actions #giftQuilt{background-color:#ad365f}.gift-actions #save{background-color:#28794f}

.finishing-options .stitch-actions{bottom:-45px}.finishing-options{margin-bottom:85px}

.gift-actions #printQuilt,.gift-actions #giftQuilt,.gift-actions #save{background-image:linear-gradient(#14202738,#14202738),var(--button-fabric);background-size:auto,165px 165px;background-repeat:repeat;text-shadow:0 1px 3px #102018,0 0 5px #102018aa}.gift-actions #printQuilt:before,.gift-actions #giftQuilt:before,.gift-actions #save:before{border-color:white;box-shadow:0 0 0 1px #14202733}

.footer-links{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.cake-shop-link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:67px;padding:12px 33px 12px 22px;border:3px double #ad8441;border-radius:8px 23px;background:#fff5db;color:#612d32;text-decoration:none;text-align:center;box-shadow:0 3px 12px #17200e55,inset 0 0 0 3px #fffaf0;transition:transform .18s,background .18s}
.cake-shop-invitation{font:italic 12px Georgia,serif;letter-spacing:.08em}.cake-shop-name{font:19px/1.15 Georgia,serif;white-space:nowrap}.cake-shop-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:15px Georgia,serif}.cake-shop-link:hover{background:#fffbe9;transform:translateY(-2px)}.cake-shop-link:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:1050px){.brand-footer{flex-wrap:wrap}.footer-purchase{flex-wrap:wrap}}@media(max-width:680px){.footer-links{width:100%;gap:14px;margin-bottom:5px}.cake-shop-link{padding:11px 31px 11px 19px}.cake-shop-name{font-size:18px}}

.quilt-actions{position:absolute;top:22px;right:23px;z-index:3;display:flex;gap:7px}.quilt-actions .clear-quilt{position:static;min-height:34px}.quilt-actions button:disabled{opacity:.45;cursor:default}@media(max-width:680px){.quilt-actions{top:12px;right:12px;gap:6px}.quilt-actions .clear-quilt{min-height:38px;padding:7px 12px}}

.cake-shop-link{background:#a94065;color:white;border:1px solid #8e3053;border-radius:5px;min-height:59px;padding:16px 22px;box-shadow:0 3px 12px #17200e55,inset 0 0 0 3px #b94c75;text-shadow:0 1px 2px #64233b}.cake-shop-link:before{content:'';position:absolute;inset:5px;border:1.5px dashed #fff6ee;border-radius:3px;pointer-events:none}.cake-shop-link:hover{background:#b64c75}.cake-shop-name{font:19px/1.2 Georgia,serif}

/* The monarch belongs to the garden layer, beneath all studio panels. */
body{isolation:isolate}body>header,body>main{position:relative;z-index:1}
.garden-butterfly{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none;contain:strict}
.monarch-flight{position:absolute;top:0;left:0;width:60px;opacity:0;pointer-events:none}
.monarch-flight img{display:block;width:100%;height:auto;pointer-events:none}
.garden-butterfly.is-flying .monarch-flight{animation:monarch-crossing 18s linear both}
.garden-butterfly.is-flying img{animation:monarch-flutter .32s ease-in-out infinite alternate}
@keyframes monarch-flutter{from{transform:scaleX(1)}to{transform:scaleX(.3)}}
@keyframes monarch-crossing{
 0%{opacity:0;transform:translate3d(-75px,72vh,0) rotate(30deg)}
 5%{opacity:1;transform:translate3d(3vw,67vh,0) rotate(44deg)}
 22%{opacity:1;transform:translate3d(23vw,50vh,0) rotate(77deg)}
 40%{opacity:1;transform:translate3d(44vw,59vh,0) rotate(105deg)}
 58%{opacity:1;transform:translate3d(61vw,43vh,0) rotate(45deg)}
 78%{opacity:1;transform:translate3d(83vw,28vh,0) rotate(65deg)}
 95%{opacity:1;transform:translate3d(100vw,35vh,0) rotate(108deg)}
 100%{opacity:0;transform:translate3d(calc(100vw + 75px),33vh,0) rotate(90deg)}
}
@media(max-width:680px){.monarch-flight{width:46px}}
@media(prefers-reduced-motion:reduce){.garden-butterfly{display:none}.garden-butterfly *{animation:none!important}}

/* Keep the stitch action with its choices on phones. */
@media(max-width:680px){.finishing-options{margin-bottom:24px}.finishing-options .finish-bar>.stitch-actions{position:relative;left:auto;bottom:auto;transform:none;width:min(330px,100%);max-width:100%;margin:18px auto 0;z-index:2}.finishing-options .finish-bar>.stitch-actions #stitch{white-space:normal}}
