:root{--rail:184px;--top:60px;--mat:#ebe5d6;--mat-line:#29281f0d;--mat-line-2:#29281f1a;--paper:#f4f0e6;--paper-2:#ebe5d6;--ink:#29281f;--ink-2:#4b4a40;--muted:#706d60;--line:#29281f29;--thread:#a84e2c;--thread-ink:#f4f0e6;--thread-soft:#a84e2c14;--sage:#5a6d43;--straw:#e9d39a;--shadow:0 1px 2px #29281f12, 0 2px 8px #29281f0a;--lift:0 10px 28px #29281f2e;--scrim:#29281f61;--moss:#5a6d43;--stone:#cbc5a8;--sky:#91abc0;--blush:#dfbcaa;--mustard:#e3ad3a;--rust:#ad5230;--on-patch:#29281f;--on-moss:#f4f0e6;--stitch:#29281f52;--stitch-light:#ffffff8c;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .14 0 0 0 0 .1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--weave-line:#29281f06;--weave:repeating-linear-gradient(0deg, var(--weave-line) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, var(--weave-line) 0 1px, transparent 1px 3px);--stamp:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cfilter id='r'%3E%3CfeTurbulence baseFrequency='.35' numOctaves='2' seed='4'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='2.2'/%3E%3C/filter%3E%3Cg filter='url(%23r)' fill='%23ad5230'%3E%3Cellipse cx='20' cy='10' rx='5.5' ry='8.5'/%3E%3Cellipse cx='20' cy='10' rx='5.5' ry='8.5' transform='rotate(72 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='5.5' ry='8.5' transform='rotate(144 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='5.5' ry='8.5' transform='rotate(216 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='5.5' ry='8.5' transform='rotate(288 20 20)'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='3.6' fill='%23f4f0e6'/%3E%3C/svg%3E");--navy:#1d1e2c;--on-navy:#f3ecdc;--print-dark:url(/assets/print-dark-DcWki-fX.svg);--print-light:url(/assets/print-light-DiokL85L.svg);--display:"Newsreader", "Iowan Old Style", Georgia, serif;--body:"Hanken Grotesk", system-ui, sans-serif;--radius:8px;--wordmark:"Fraunces", "Newsreader", Georgia, serif;font-family:var(--body);color:var(--ink);background:var(--mat);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--mat:#1b1a16;--mat-line:#efe9dc0a;--mat-line-2:#efe9dc14;--paper:#23221d;--paper-2:#1b1a16;--ink:#efe9dc;--ink-2:#cdc7b8;--muted:#a19c8c;--line:#efe9dc24;--thread:#e39a76;--thread-ink:#1b1a16;--thread-soft:#e39a7621;--sage:#aab98f;--straw:#6b5e3a;--shadow:0 1px 2px #00000059, 0 2px 8px #0003;--lift:0 12px 30px #00000073;--scrim:#0000008c;--moss:#4c5c3a;--stone:#6c6854;--sky:#4d6679;--blush:#846357;--mustard:#9e772a;--rust:#9a4a2c;--on-patch:#f2ede1;--on-moss:#f2ede1;--stitch:#f2ede166;--stitch-light:#f2ede166;--weave-line:#efe9dc05;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--mat);overflow:hidden}body.is-dragging,body.is-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}body.is-panning .viewport{cursor:grabbing}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea{font:inherit;color:inherit}a{color:inherit}kbd{font:inherit;border:1px solid var(--line);background:var(--paper);border-radius:4px;padding:0 4px;font-size:.85em}code{background:var(--paper-2);border-radius:3px;padding:1px 4px;font-size:.9em}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.muted{color:var(--muted);font-weight:400}.app{grid-template-columns:var(--rail) 1fr;grid-template-rows:var(--top) 1fr;height:100%;display:grid}.top{background:var(--paper);border-bottom:1px solid var(--line);z-index:2;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:0 16px 0 20px;display:flex}.crumbs{white-space:nowrap;align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.crumb{color:var(--muted)}.crumb:hover{color:var(--ink)}.sep{color:var(--line);margin-left:6px}.board-name{font-family:var(--display);background:0 0;border:0;border-radius:4px;min-width:0;margin-left:-4px;padding:2px 4px;font-size:20px;font-weight:500}input.board-name:hover,input.board-name:focus{background:var(--paper-2);outline:none}.zoom{border:1px solid var(--line);border-radius:var(--radius);display:flex;overflow:hidden}.zoom button{min-width:32px;color:var(--ink-2);padding:4px 10px}.zoom button:hover{background:var(--paper-2)}.zoom .pct{border-left:1px solid var(--line);border-right:1px solid var(--line);min-width:52px;font-size:12px}.rail{background:var(--paper);border-right:1px solid var(--line);z-index:2;flex-direction:column;align-items:center;gap:4px;padding:12px 0;display:flex}.tool{border-radius:var(--radius);width:62px;color:var(--ink-2);flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;font-size:12px;display:flex}.tool:hover{background:var(--paper-2);color:var(--ink)}.tool.on{background:var(--thread-soft);color:var(--thread)}.rail-hint{text-align:center;color:var(--muted);margin-top:auto;font-size:11px;line-height:1.5}.viewport{cursor:default;position:relative;overflow:auto}.sizer{position:relative}.surface{transform-origin:0 0;background-image:linear-gradient(var(--mat-line-2) 1px, transparent 1px), linear-gradient(90deg, var(--mat-line-2) 1px, transparent 1px), linear-gradient(var(--mat-line) 1px, transparent 1px), linear-gradient(90deg, var(--mat-line) 1px, transparent 1px);background-size:160px 160px,160px 160px,32px 32px,32px 32px;position:absolute;top:0;left:0}.empty{text-align:center;pointer-events:none;width:min(460px,86%);color:var(--ink-2);position:absolute;top:18%;left:50%;transform:translate(-50%)}.empty h2{font-family:var(--display);color:var(--ink);margin:6px 0 10px;font-size:30px;font-weight:400}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);cursor:grab}.card.loose{position:absolute}.card.selected{outline:2px solid var(--thread);outline-offset:1px}.card.dragging{box-shadow:var(--lift);opacity:.96}.resize{background:var(--paper);border:2px solid var(--thread);cursor:ew-resize;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-6px;right:-6px}.note-text{white-space:pre-wrap;word-wrap:break-word;resize:none;background:0 0;border:0;outline:none;width:100%;min-height:44px;padding:12px 14px;line-height:1.45;display:block;overflow:hidden}.card-image{padding:6px}.pic{background:var(--paper-2);border-radius:3px;overflow:hidden}.pic img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.caption{width:100%;color:var(--ink-2);background:0 0;border:0;outline:none;padding:6px 4px 2px;font-size:13px;display:block}.link{gap:4px;padding:12px 14px;display:grid}.link-title{word-break:break-word;background:0 0;border:0;outline:none;width:100%;padding:0;font-weight:500}.open,.link-btn{color:var(--thread);justify-self:start;font-size:13px;text-decoration:none}.open:hover,.link-btn:hover{text-decoration:underline}.pdf{border-top:5px solid var(--thread);gap:6px;padding:14px 16px 12px;display:grid}.pdf-name{font-family:var(--display);word-break:break-word;width:100%;color:var(--ink);background:0 0;border:0;outline:none;padding:0;font-size:22px;font-weight:500;line-height:1.15}.card-video{overflow:hidden}.frame{aspect-ratio:16/9;background:#000;position:relative}.frame iframe{border:0;width:100%;height:100%;display:block}.poster{width:100%;height:100%;display:block;position:relative}.poster img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.play{width:52px;height:52px;color:var(--ink);background:#fbf8f2eb;border-radius:50%;place-items:center;padding-left:4px;font-size:18px;transition:transform .15s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.poster:hover .play{transform:translate(-50%,-50%)scale(1.06)}.video-meta{gap:4px;padding:10px 14px 14px;display:grid}.video-title{font-family:var(--display);font-size:17px;line-height:1.25}.row{align-items:center;gap:8px;margin-top:6px;display:flex}.row.end{justify-content:flex-end}.btn{border-radius:var(--radius);border:1px solid var(--line);padding:7px 14px;font-size:14px;font-weight:500}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.quiet:hover{background:var(--paper-2)}.btn:disabled{opacity:.4;pointer-events:none}.tile{padding:8px}.tile-pics{background:var(--paper-2);border-radius:3px;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:3px;height:110px;display:grid;overflow:hidden}.tile-pics.n0{background:linear-gradient(var(--mat-line-2) 1px, transparent 1px) 0 0 / 16px 16px, linear-gradient(90deg, var(--mat-line-2) 1px, transparent 1px) 0 0 / 16px 16px, var(--mat)}.tile-pics.n1>*{grid-area:1/1/3/3}.tile-pics.n2>*,.tile-pics.n3>:first-child{grid-row:1/3}.tile-pics img,.tile-pics span{object-fit:cover;pointer-events:none;width:100%;height:100%;min-height:0;display:block}.tile-name{font-family:var(--display);background:0 0;border:0;outline:none;width:100%;padding:8px 4px 2px;font-size:18px;font-weight:500}.tile-foot{color:var(--muted);justify-content:space-between;align-items:baseline;padding:0 4px 2px;font-size:12px;display:flex}.steps{gap:6px;padding:14px 16px;display:grid}.steps-title{font-family:var(--display);background:0 0;border:0;outline:none;width:100%;margin:0;padding:0;font-size:22px;font-weight:500;line-height:1.15}.progress{background-image:linear-gradient(90deg, var(--line) 60%, transparent 60%);background-size:8px 2px;height:2px;margin:4px 0 6px;position:relative}.progress span{background-image:linear-gradient(90deg, var(--thread) 60%, transparent 60%);background-size:8px 2px;transition:width .3s;position:absolute;inset:0 auto 0 0}.needs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}.needs ul{color:var(--ink-2);margin:4px 0 0;padding-left:18px;font-size:13.5px}.step-list{gap:10px;margin:4px 0 0;padding:0;list-style:none;display:grid}.step-list li{grid-template-columns:24px 1fr;align-items:start;gap:10px;display:grid}.tick{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;font-size:12px;display:grid}.tick:hover{border-color:var(--thread)}.done .tick{background:var(--sage);border-color:var(--sage);color:var(--paper)}.done .step-text{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.step-body{gap:2px;padding-top:2px;display:grid}.step-text{cursor:text;background:0 0;border:0;outline:none;width:100%;padding:0}.time{color:var(--thread);font-variant-numeric:tabular-nums;justify-self:start;font-size:12px}.time:hover{text-decoration:underline}.add-step{margin-top:6px}.card-column{background:var(--paper-2);padding:0 8px 8px}.col-head{justify-content:space-between;align-items:baseline;gap:8px;padding:12px 6px 10px;display:flex}.col-title{font-family:var(--display);background:0 0;border:0;outline:none;width:100%;padding:0;font-size:18px;font-weight:500}.count{color:var(--muted);font-size:12px}.col-body{gap:8px;min-height:60px;display:grid}.col-empty{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);place-items:center;min-height:60px;font-size:13px;display:grid}.slot{border-top:2px dashed var(--thread);height:0;margin:-1px 4px}.scrim{background:var(--scrim);z-index:20;place-items:start center;padding:6vh 16px;display:grid;position:fixed;inset:0;overflow:auto}.sheet{background:var(--paper);width:min(640px,100%);box-shadow:var(--lift);border-radius:4px;gap:10px;padding:22px 24px 18px;display:grid}.sheet>*,.sheet select{min-width:0;max-width:100%}.sheet.small{width:min(440px,100%)}.sheet-title{font-family:var(--display);margin:0 0 4px;font-size:24px;font-weight:400;line-height:1.2}.how{gap:4px;margin:0;padding-left:20px;display:grid}.aside{color:var(--ink-2);margin:0;font-size:14px}.field{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);outline:none;width:100%;padding:8px 10px}.field:focus{border-color:var(--thread)}.paste{resize:vertical;min-height:220px;font-size:13px}.label{color:var(--ink-2);gap:4px;font-size:13px;font-weight:500;display:grid}.needs-field{resize:vertical;min-height:90px;font-weight:400}.review{gap:6px;margin:0;padding:0;list-style:none;display:grid}.review li{grid-template-columns:20px 52px 1fr;align-items:start;gap:8px;display:grid}.review input[type=checkbox]{accent-color:var(--thread);margin-top:10px}.review .t{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:8px;font-size:12px}.review .off .field{opacity:.45;text-decoration:line-through}.step-field{resize:vertical;font-size:14px}.sticky{background:var(--paper);border-top:1px solid var(--line);padding:10px 0 4px;position:sticky;bottom:-18px}.working{color:var(--ink-2);padding:24px 0 18px}.stitching{background-image:linear-gradient(90deg, var(--thread) 60%, transparent 60%);background-size:12px 2px;height:2px;margin-bottom:14px;animation:.6s linear infinite sew}@keyframes sew{to{background-position:12px 0}}@media (prefers-reduced-motion:reduce){.stitching{animation:none}}.error{color:var(--thread)}.toast{overflow-wrap:anywhere;background:var(--ink);width:max-content;max-width:min(480px,100vw - 24px);color:var(--paper);border-radius:var(--radius);box-shadow:var(--lift);z-index:30;align-items:center;gap:16px;padding:10px 14px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast button{color:var(--paper);font-weight:700;text-decoration:underline}.missing{padding:40px}body.can-pan .viewport{cursor:grab}.marquee{border:1px solid var(--thread);background:var(--thread-soft);pointer-events:none;z-index:100000;position:absolute}.card.drop-into{outline:2px dashed var(--thread);outline-offset:3px;transition:transform .12s;transform:scale(1.03)}.top-right{align-items:center;gap:10px;display:flex}.rail-rule{border-top:1px solid var(--line);width:36px;margin:6px 0}.hint{color:var(--muted);margin:0;font-size:13px}.spaced{margin-top:10px}.turns{flex-wrap:wrap;gap:0 14px;display:flex}.turn{padding:2px 4px 4px;display:block}.push{margin-left:auto}.card-made>.made-card>.pic{border-radius:0}.stars{color:var(--line);gap:2px;font-size:17px;line-height:1;display:flex}.stars .on{color:var(--thread)}.stars.live button{cursor:pointer;color:inherit;padding:2px 1px}.stars.live button.on{color:var(--thread)}.stars.live button:hover{transform:scale(1.15)}.made-notes{font-family:var(--display);color:var(--ink-2);white-space:pre-wrap;margin:2px 0 0;font-size:15px;font-style:italic;line-height:1.35}.yes-no{border:1px solid var(--line);border-radius:var(--radius);justify-self:start;font-weight:400;display:flex;overflow:hidden}.yes-no button{padding:5px 16px}.fields{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px 12px;display:grid}.num{color:var(--ink-2);gap:3px;font-size:12px;display:grid}.num-label{font-weight:500}.num-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);align-items:center;padding:0 8px;font-size:14px;display:flex}.num-box:focus-within{border-color:var(--thread)}.num-box input{font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;width:100%;min-width:0;padding:6px 2px}.affix{color:var(--muted);white-space:nowrap;font-size:13px}.num select,.material select,.cut select,.made-fields select{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);padding:6px 8px;font-size:14px}.num input[type=color]{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:100%;height:33px;padding:2px}.card-swatch{padding:8px}.swatch-face{aspect-ratio:4/3;border-radius:3px 3px 0 0;overflow:hidden}.swatch-face img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.swatch-face img.picking{pointer-events:auto;cursor:crosshair}.swatch-meta{padding:8px 4px 2px}.swatch-name{font-family:var(--display);font-size:18px;line-height:1.2}.facts{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px}.card-product{overflow:hidden}.card-product>.product>.pic{border-radius:0}.product-body{gap:6px;padding:12px 14px;display:grid}.product-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.product-name{font-family:var(--display);font-size:20px;line-height:1.15}.price{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:20px;font-weight:500}.loss,.warn{color:var(--thread)}.warn{font-size:13px}.made{gap:4px;margin-top:2px;display:grid}.made-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.steppers{border:1px solid var(--line);border-radius:var(--radius);display:flex;overflow:hidden}.steppers button{width:30px;height:26px}.steppers button+button{border-left:1px solid var(--line)}.steppers button:hover{background:var(--paper-2)}.title-field{border:0;border-bottom:1px solid var(--line);background:0 0;outline:none;width:100%;padding:2px 0 6px}.title-field:focus{border-bottom-color:var(--thread)}.materials{gap:6px;display:grid}.material{grid-template-columns:minmax(0,1fr) 120px 64px 24px;align-items:center;gap:8px;display:grid}.cut{grid-template-columns:minmax(80px,1fr) 60px auto minmax(90px,1fr) 24px;align-items:center;gap:8px;display:grid}.cut .size{color:var(--muted);align-items:center;gap:4px;display:flex}.cut .size .num-box{width:72px}.cut .field{padding:6px 8px;font-size:14px}.cut-total{margin:2px 0 0}@media (width<=560px){.cut{grid-template-columns:1fr 60px 24px}.cut .x{grid-area:1/3}.cut .size{grid-column:1}.cut select{grid-column:2/4;min-width:0}.cut+.cut{border-top:1px solid var(--line);padding-top:8px}}.material .each{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.x{color:var(--muted);font-size:18px}.paste-hint{color:var(--muted)}.swatch-notes{resize:vertical;min-height:64px;font:inherit;font-size:13px}.made-fields{grid-template-columns:150px 1fr 1fr;gap:10px 12px;display:grid}@media (width<=560px){.made-fields{grid-template-columns:1fr}}.made-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.made-steps li{grid-template-columns:22px 1fr 24px;align-items:center;gap:6px;display:grid}.made-steps .step-n{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.made-steps li.add{display:block}.x:hover{color:var(--thread)}.link-btn:disabled{color:var(--muted);cursor:default;text-decoration:none}.sums{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.sums td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px 0}.sums td:last-child{text-align:right;white-space:nowrap}.sums .total td{border-bottom-color:var(--ink);font-weight:700}.inline-num{vertical-align:middle;width:120px;display:inline-block}.table-card{gap:6px;padding:12px 12px 10px;display:grid}.table-title{font-family:var(--display);margin:0;font-size:19px;font-weight:400}.formula-bar{color:var(--muted);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:4px;gap:8px;min-height:26px;padding:4px 8px;font-size:12px;display:flex}.formula-bar .ref{color:var(--ink);min-width:24px;font-weight:700}.formula-bar .raw{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grid{cursor:default;outline:none;overflow-x:auto}.grid table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13.5px}.grid th,.grid td{border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;max-width:220px;height:28px;padding:0 6px;overflow:hidden}.grid thead th,.grid tbody th{background:var(--paper-2);color:var(--muted);text-align:center;font-size:11px;font-weight:500}.grid tbody th{width:28px}.grid td.n{text-align:right}.grid td.head{font-weight:700}.grid td.on{outline:2px solid var(--thread);outline-offset:-2px}.grid td input{width:100%;font:inherit;background:0 0;border:0;outline:none;padding:0}.grid.read thead th,.grid.read td{text-align:right;padding:0 8px}.grid.read .l{text-align:left}.grid.read tfoot td{border-top:2px solid var(--ink);font-weight:700}.grid .muted{color:var(--muted);white-space:normal}.dot{vertical-align:-1px;border:1px solid var(--line);border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.grid-tools{gap:14px;margin-top:2px}.quiet-link{color:var(--muted)}.choices{gap:8px;display:grid}.choice{text-align:left;border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:10px 12px;display:grid}.choice:hover{border-color:var(--thread);background:var(--thread-soft)}.choice span{color:var(--ink-2);font-size:13px}.swatch-face.plain{aspect-ratio:5/2;border-radius:3px}.swatch.gone{padding:6px 4px}.supply-dots{flex-wrap:wrap;gap:2px;margin:4px 0 2px -3px;display:flex}.dot-btn{border-radius:50%;padding:3px;line-height:0}.dot-btn .dot{width:14px;height:14px;box-shadow:inset 0 0 0 1px var(--line);margin:0}.dot-btn:hover .dot,.dot-btn:focus-visible .dot{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--thread)}.warn-link,.enough{text-align:left;margin-top:2px;padding:0;font-size:13px;line-height:1.35;display:block}.warn-link:hover,.enough:hover .name{text-underline-offset:2px;text-decoration:underline}.enough{color:var(--sage)}.enough.short{color:var(--thread)}.inline-link{color:var(--thread);font:inherit;padding:0}.inline-link:hover{text-underline-offset:2px;text-decoration:underline}.link-btn.danger{color:var(--muted)}.link-btn.danger:hover{color:var(--thread)}.push-left{margin-right:auto}.gain{color:var(--sage)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border:1px solid var(--line);color:var(--ink-2);background:var(--paper);border-radius:999px;padding:4px 12px;font-size:13px}.chips button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chips.small button{padding:2px 10px;font-size:12px}.supply-sheet{width:min(720px,100%)}.supply-layout{grid-template-columns:220px 1fr;align-items:start;gap:20px;display:grid}.supply-photo{gap:8px;display:grid}.supply-photo .row{justify-content:space-between}.supply-photo .hint{margin:0}.colour-pick input{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;width:32px;height:24px;padding:0}.supply-fields{gap:12px;display:grid}.label.ruled{border-top:1px solid var(--line);margin-top:4px;padding-top:12px}.uses{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.uses .muted{color:var(--muted)}@media (width<=560px){.supply-layout{grid-template-columns:1fr}}.gift-list{flex:1;align-content:start;gap:14px;display:grid;overflow:auto}.gift-list section{gap:4px;display:grid}.gift-list h3{color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding-bottom:4px;font-size:13.5px;font-weight:500}.gift-list h3.late{color:var(--thread)}.gift-list ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.gift-row{text-align:left;border-radius:var(--radius);grid-template-columns:44px 1fr auto;grid-template-areas:"thumb who due""thumb what what";align-items:baseline;column-gap:10px;width:100%;padding:6px;display:grid}.gift-row:hover{background:var(--paper-2)}.gift-row .gift-thumb{grid-area:thumb;align-self:center}.gift-who{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;grid-area:who;font-size:17px;line-height:1.2;overflow:hidden}.gift-due{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:due;font-size:12px}.gift-row.late .gift-due{color:var(--thread);font-weight:600}.gift-what{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-area:what;align-items:center;gap:6px;min-width:0;font-size:13px;display:flex;overflow:hidden}.gift-what .dot{flex:none}.due-kind{letter-spacing:.03em;color:var(--ink-2);flex:none;font-size:11.5px;font-weight:600}.gift-thumb{aspect-ratio:1;background:var(--paper-2);width:44px;font-family:var(--display);color:var(--muted);border-radius:4px;place-items:center;font-style:italic;display:grid;overflow:hidden}.gift-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gift-top{flex-wrap:wrap;align-items:end;gap:12px 20px;display:flex}.gift-top .field{width:auto}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;display:grid}.pick{text-align:left;border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);outline-offset:1px;outline:2px solid #0000;align-content:start;gap:2px;padding:6px 6px 8px;display:grid}.pick:hover{box-shadow:var(--lift)}.pick{position:relative}.pick.on{outline-color:var(--moss)}.pick.on:after{content:"✓";background:var(--moss);width:22px;height:22px;color:var(--on-moss);border-radius:50%;place-items:center;font-size:13px;display:grid;position:absolute;top:10px;right:10px}.pick.short:not(.on){opacity:.55}.pick .gift-thumb{aspect-ratio:4/3;width:100%;margin-bottom:4px;font-size:28px}.pick .swatch-face{margin-bottom:4px}.pick-name{font-family:var(--display);font-size:15px;line-height:1.2}.pick-fact{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.pick.short .pick-fact{color:var(--thread)}.gift-takes{align-items:end;gap:14px;display:flex}.gift-takes .aside{padding-bottom:6px}.stash-grid{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:10px;margin:0 -4px;padding:2px 4px 8px;display:grid;overflow:auto}.stash-tile{border-radius:0;position:relative}.stash-open{text-align:left;gap:2px;width:100%;padding:0 0 8px;display:grid}.enlarge{background:color-mix(in srgb, var(--paper) 88%, transparent);width:26px;height:26px;color:var(--ink);box-shadow:var(--shadow);opacity:0;z-index:1;border-radius:50%;place-items:center;transition:opacity .12s;display:grid;position:absolute;top:6px;right:6px}.swatch-face:hover .enlarge,.stash-tile:hover .enlarge,.enlarge:focus-visible{opacity:1}@media (hover:none){.enlarge{opacity:1}}.swatch-face img.zoomable{pointer-events:auto;cursor:zoom-in}.stock-flags{flex-wrap:wrap;gap:8px;display:flex}.lightbox{z-index:60;background:#14100ceb;grid-template-rows:1fr auto;display:grid;position:fixed;inset:0}.lightbox-stage{place-items:center;min-height:0;padding:16px;display:grid;overflow:hidden}.lightbox-stage.actual{place-items:start;overflow:auto}.lightbox-stage img{object-fit:contain;border-radius:2px;max-width:100%;max-height:100%;display:block}.lightbox-stage.actual img{max-width:none;max-height:none;margin:auto}.lightbox-stage img.in{cursor:zoom-in}.lightbox-stage img.out{cursor:zoom-out}.lightbox-stage img.picking{cursor:crosshair}.lightbox-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--paper);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lightbox-name{min-width:120px;font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:17px;overflow:hidden}.lightbox-dot{border:1px solid var(--line);border-radius:50%;width:20px;height:20px}.lightbox .btn.on{outline:2px solid var(--ink)}.stash-tile:hover .swatch-face{filter:brightness(1.04)}.stash-tile .swatch-face{margin-bottom:4px}.stash-name{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.2;overflow:hidden}.stash-left{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.sync{color:var(--muted);border-radius:var(--radius);align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.sync:hover{background:var(--paper-2)}.sync-dot{background:var(--muted);border-radius:50%;width:7px;height:7px}.sync.ok-state .sync-dot{background:var(--sage)}.sync.warn-state{color:var(--thread)}.sync.warn-state .sync-dot{background:var(--thread)}.fold{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0}.fold+.fold{border-top:0;margin-top:-4px}.fold-head{text-align:left;width:100%;color:var(--ink-2);align-items:baseline;gap:8px;padding:10px 0;font-size:13px;font-weight:500;display:flex}.fold-head:hover{color:var(--ink)}.fold-mark{width:14px;color:var(--thread);font-size:16px;line-height:1}.fold-aside{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:400}.fold-body{gap:10px;padding:0 0 14px;display:grid}.made-fields.two{grid-template-columns:1fr 1fr}.progress .sold-bar{background:var(--sage);background-image:none;height:2px}.sheet.wide{width:min(860px,100%)}.market-line{color:var(--ink-2);border-radius:var(--radius);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0;padding:4px 10px;font-size:13px;overflow:hidden}.market-line:hover{background:var(--paper-2);color:var(--ink)}.market-more{color:var(--thread)}@media (width<=760px){.market-line{display:none}}.gallery{top:var(--top);left:var(--rail);z-index:5;background:var(--paper-2);padding:28px clamp(16px,4vw,48px) 48px;position:fixed;bottom:0;right:0;overflow:auto}.gallery-head{align-items:flex-end;gap:16px;max-width:1200px;margin:0 auto 8px;display:flex}.gallery-head>div{margin-right:auto}.gallery-head .kicker{margin:0 0 2px}.gallery-head h2{font-family:var(--display);margin:0;font-size:32px;font-weight:400;line-height:1.1}.gallery-head .count{font-family:var(--body);color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px}.gallery-head .x{align-self:flex-start;font-size:22px}.gallery-month{max-width:1200px;margin:0 auto}.gallery-month h3{font-family:var(--display);color:var(--ink-2);border-bottom:1px solid var(--line);margin:28px 0 12px;padding-bottom:6px;font-size:17px;font-style:italic;font-weight:400}.prints{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:start;gap:24px 20px;margin:0;padding:0;list-style:none;display:grid}.print{text-align:left;background:var(--paper);width:100%;box-shadow:var(--shadow);border-radius:2px;gap:4px;padding:10px 10px 14px;transition:box-shadow .15s,transform .15s;display:grid}.print:hover{box-shadow:var(--lift);transform:translateY(-2px)}.print-photo{aspect-ratio:1;background:var(--mat);place-items:center;margin-bottom:6px;display:grid;overflow:hidden}.print-photo img{object-fit:cover;width:100%;height:100%}.print-none{font-family:var(--display);color:var(--muted);font-size:44px;font-style:italic}.print-name{font-family:var(--display);font-size:18px;line-height:1.2}.print-facts{color:var(--muted);flex-wrap:wrap;gap:2px 10px;font-size:12px;display:flex}.print-stars{color:var(--thread);letter-spacing:1px}.gallery-empty{margin:12vh auto 0;position:static;transform:none}@media (width<=560px){.gallery{left:0}.prints{grid-template-columns:1fr 1fr;gap:14px 12px}.gallery-head h2{font-size:26px}}.to-buy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.to-buy summary{cursor:pointer;color:var(--thread);padding:8px 0;font-weight:500}.to-buy summary .count{color:var(--muted);margin-left:4px;font-weight:400}.to-buy ul{gap:2px;margin:0 0 8px;padding:0;list-style:none;display:grid}.to-buy-row{text-align:left;border-radius:var(--radius);grid-template-columns:auto 1fr auto;align-items:baseline;gap:0 4px;width:100%;padding:4px 6px;display:grid}.to-buy-row:hover{background:var(--paper-2)}.to-buy-amount{font-variant-numeric:tabular-nums;color:var(--ink)}.to-buy-for{color:var(--muted);grid-column:2/-1;font-size:12px}.add-sheet .aside{margin:0}.project-tabs{background:var(--paper);border-bottom:1px solid var(--line);z-index:1;grid-column:2;gap:2px;padding:0 20px;display:flex;overflow-x:auto}.project-tabs button{color:var(--ink-2);border-bottom:2px solid #0000;flex:none;padding:11px 16px 9px}.project-tabs button.on{border-color:var(--ink);color:var(--ink)}.tab-tick{color:var(--sage);margin-left:5px;font-size:12px}.stage{background:var(--paper-2);flex-direction:column;grid-column:2;align-items:flex-start;gap:12px;padding:24px clamp(16px,4vw,40px) 60px;display:flex;overflow:auto}.stage>*{width:100%;max-width:760px}.stage>.btn,.stage>.link-btn{width:auto}.stage-empty{color:var(--ink-2);font-family:var(--display);margin:0 0 4px;font-size:20px}.stage-steps{background:var(--paper);box-shadow:var(--shadow);padding:14px 16px}.stage-made{flex-wrap:wrap;gap:12px;max-width:none;overflow:visible}.viewport[hidden]{display:none}.app.has-strip{grid-template-rows:var(--top) auto 1fr}.app.has-strip .rail{grid-row:2/-1}.strip-thumb{background:var(--paper-2);border:1px solid var(--line);font-family:var(--display);color:var(--muted);border-radius:4px;place-items:center;font-style:italic;display:grid;overflow:hidden}.strip-thumb img{object-fit:cover;width:100%;height:100%}.strip-made{gap:6px;max-width:45%;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.strip-one{display:block;position:relative}.strip-one .dot{border:1.5px solid var(--paper);border-radius:50%;width:10px;height:10px;position:absolute;bottom:3px;left:3px}.strip-count{background:var(--paper);color:var(--ink);border-radius:3px;padding:0 3px;font-size:10px;position:absolute;bottom:2px;right:2px}.stash-page .chips,.stash-page .to-buy,.stash-page .page-grid,.gifts-page .gift-list,.stash-page .gallery-empty,.gifts-page .gallery-empty{max-width:1200px;margin-left:auto;margin-right:auto}.stash-page .chips,.stash-page .to-buy{margin-bottom:14px}.page-grid{flex:none;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;overflow:visible}.gifts-page .gift-list{margin-top:16px}.gifts-page .gift-list>section{max-width:680px}.made-fields select{width:100%;padding:8px 10px}@media (width<=700px){.page-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.boards-page{background:var(--paper-2);grid-column:2;padding:28px clamp(16px,4vw,48px) 48px;overflow:auto}.covers{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:36px 24px;max-width:1200px;margin:0;padding:0;list-style:none;display:grid}.cover{position:relative}.cover-open,.cover-new{text-align:left;width:100%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;padding:0;display:flex}.cover-open:hover .tile-pics{filter:brightness(1.04)}.cover-open .tile-pics{aspect-ratio:4/5;border-radius:0;height:auto}.cover-name{font:400 19px/1.2 var(--display);padding:12px 0 2px}.cover-facts{color:var(--muted);padding:0;font-size:13.5px}.cover-new{aspect-ratio:4/5;height:auto;color:var(--ink-2);border:1.5px dashed var(--line);background:0 0;justify-content:center;align-items:center;gap:6px;font-size:14px}.cover-new span{font:300 36px/1 var(--display);color:var(--thread)}.cover-new:hover{color:var(--ink);background:var(--paper)}.cover-x{background:var(--paper);opacity:0;border-radius:50%;width:26px;height:26px;position:absolute;top:12px;right:12px}.cover:hover .cover-x,.cover-x:focus-visible{opacity:1}@media (pointer:coarse){.cover-x{opacity:1}}.top-make{white-space:nowrap;font-size:14px}.move-to{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);padding:5px 8px;font-size:14px}.wide-only{display:inline}@media (width<=700px){:root{--tabbar:calc(60px + env(safe-area-inset-bottom,0px))}.wide-only{display:none}.app,.app.has-strip{padding-bottom:var(--tabbar);grid-template-rows:52px 1fr;grid-template-columns:minmax(0,1fr)}.app.has-strip{grid-template-rows:52px auto 1fr}.app.has-strip .rail{grid-row:auto}.viewport,.boards-page,.project-tabs,.stage{grid-column:1}.top{gap:8px;padding:0 12px}.top-right{flex:none;gap:8px}.crumbs{flex:1}.crumbs .crumb,.crumbs .sep,.zoom{display:none}.crumbs input.board-name{text-overflow:ellipsis;flex:1;width:100%;min-width:0}.top .btn.quiet{padding:6px 10px}.sync.ok-state .sync-label,.sync.quiet-state .sync-label{display:none}.move-to{max-width:110px}.rail{height:var(--tabbar);padding:0 4px env(safe-area-inset-bottom,0px);border-right:0;border-top:1px solid var(--line);z-index:10;flex-direction:row;justify-content:space-around;align-items:center;gap:0;position:fixed;bottom:0;left:0;right:0}.rail .tool{flex:1;width:auto;min-width:0;padding:6px 0 4px}.rail-rule,.rail-hint{display:none}.gallery{top:52px;left:0;bottom:var(--tabbar);padding-top:20px}.gallery-head{flex-wrap:wrap;gap:10px 12px}.gallery-head h2{overflow-wrap:anywhere}.page-grid,.covers{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.cover-new{min-height:0;padding:18px}.toast{bottom:calc(var(--tabbar) + 12px)}}@media (pointer:coarse){.viewport,.card{touch-action:pan-x pan-y}.card.selected{touch-action:none}.stash-tile{touch-action:pan-y}}.market-sheet .label.ruled{align-items:baseline;gap:12px;display:flex}.ruled-action{margin-left:auto;font-weight:400}.market-came-to p:first-child{margin:4px 0 0;font-size:17px;line-height:1.5}.market-came-to strong{font-family:var(--display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px;font-weight:600}.market-came-to strong.loss{color:var(--thread)}.pick-grid.pieces{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}.piece{align-content:start;gap:4px;display:grid}.piece .pick{width:100%;position:relative}.piece .num-box{padding:0 6px}.piece .num-box input{padding:4px 2px}.piece .link-btn{justify-self:start;font-size:12px}.stamp{border:2px solid var(--thread);color:var(--thread);background:var(--paper);letter-spacing:.1em;text-transform:uppercase;border-radius:3px;padding:1px 7px;font-size:11px;font-weight:700;position:absolute;top:12px;right:10px;transform:rotate(-8deg)}.piece.sold .pick.on:after{display:none}.piece.sold .gift-thumb{opacity:.6}.pick.counted{border:1.5px dashed var(--line);box-shadow:none;background:0 0;align-content:center;min-height:120px}.pick.counted .pick-name{color:var(--thread)}.ready-make{gap:6px;display:grid}.ready-make h4{font-family:var(--display);color:var(--ink-2);margin:0;font-size:15px;font-weight:400}.print-sold{color:var(--thread);font-size:13.5px;font-weight:500}.sold-extra{border:1.5px dashed var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:end;gap:8px 12px;padding:10px;display:flex}.sold-extra .label{flex:180px}.sold-extra .num{flex:0 110px}.sold-extra .aside{flex-basis:100%;margin:0}.pick-fact .loss{font-weight:600;display:block}.materials-cost{flex-wrap:wrap;align-items:end;gap:6px 14px;display:flex}.materials-cost .num{flex:0 0 140px}.materials-cost .aside{flex:200px;margin:0;padding-bottom:6px}body,.app,.stage,.boards-page,.gallery{background:var(--grain), var(--weave), var(--paper)}.kicker{font:500 12.5px/1.3 var(--body);letter-spacing:.02em;text-transform:none}.top{background:0 0;border-bottom:0;grid-area:1/2;justify-content:flex-start;padding:0 36px}.top .crumbs{margin-right:auto}.top .board-name{font:400 15px/1 var(--body)}.bookplate,.rail-mark{font:italic 400 25px/1 var(--wordmark);font-variation-settings:"SOFT" 100, "opsz" 72;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;flex:none;align-items:center;gap:8px;display:inline-flex}.bookplate:before,.rail-mark:before{content:"";background:var(--stamp) center / contain no-repeat;width:22px;height:22px}.top .bookplate{display:none}.rail,.app.has-strip .rail{background:0 0;border:0;grid-area:1/1/-1;align-items:stretch;gap:0;padding:0}.rail-mark{height:var(--top);padding:0 18px;font-size:26px}.viewport{grid-column:2}.tool{--patch:var(--stone);background:var(--grain), var(--patch);width:auto;min-height:56px;color:var(--on-patch);font:400 19px/1.15 var(--display);border-radius:0;flex:1 1 0;justify-content:flex-end;align-items:flex-start;padding:12px 16px}.tool:nth-child(1 of .tool){--patch:var(--moss);color:var(--on-moss);flex-grow:1.6}.tool:nth-child(3 of .tool){--patch:var(--sky);flex-grow:1.9}.tool:nth-child(4 of .tool){--patch:var(--blush);flex-grow:.9}.tool:nth-child(5 of .tool){--patch:var(--mustard);flex-grow:1.3}.tool:hover{background:var(--grain), var(--patch);color:inherit;filter:brightness(1.04)}.tool:nth-child(1 of .tool):hover{color:var(--on-moss)}.tool.on{background:var(--grain), var(--patch);outline-offset:-8px;box-shadow:none;outline:1.5px dashed;font-weight:500}.btn{font:500 14px/1 var(--body);letter-spacing:0;text-transform:none;border-radius:999px;padding:11px 20px}.btn.primary{background:var(--moss);border-color:var(--moss);color:var(--on-moss)}.btn.primary:hover{background:var(--thread);border-color:var(--thread);color:var(--thread-ink)}.yes-no{border-radius:999px;align-self:start;gap:2px;height:fit-content;padding:3px}.yes-no button{color:var(--ink-2);border-radius:999px;padding:6px 14px}.yes-no button+button{border-left:0}.yes-no button:hover{color:var(--ink);background:var(--thread-soft)}.yes-no button.on{background:var(--moss);color:var(--on-moss)}.sheet{border-radius:14px}.link-btn{font-size:14.5px}.gallery-head{--grainline:var(--stitch);background:linear-gradient(var(--grainline), var(--grainline)) left 5px bottom 3px / calc(100% - 10px) 1px no-repeat, conic-gradient(from 60deg at 0 50%, var(--grainline) 0 60deg, #0000 0) left bottom / 6px 7px no-repeat, conic-gradient(from 240deg at 100% 50%, var(--grainline) 0 60deg, #0000 0) right bottom / 6px 7px no-repeat;margin-bottom:26px;margin-left:0;padding-bottom:18px}.gallery-head h2{font:300 clamp(28px, 3vw, 36px) / 1.1 var(--display);letter-spacing:-.01em}@media (width<=700px){.gallery-head{background:0 0;padding-bottom:0}.gallery-head>div:first-child{background:linear-gradient(var(--stitch), var(--stitch)) left 5px bottom 3px / calc(100% - 10px) 1px no-repeat, conic-gradient(from 60deg at 0 50%, var(--stitch) 0 60deg, #0000 0) left bottom / 6px 7px no-repeat, conic-gradient(from 240deg at 100% 50%, var(--stitch) 0 60deg, #0000 0) right bottom / 6px 7px no-repeat;flex:1 0 100%;padding-bottom:14px}}.empty:before,.gallery-empty:before{content:"";background:#f3ecdc var(--print-light) 0 0 / 200px 200px;height:132px;box-shadow:inset 0 0 0 1px var(--line);margin-bottom:20px;display:block}.gallery-empty,.gallery .gallery-empty{text-align:center;max-width:460px;color:var(--ink-2);margin-left:auto;margin-right:auto}.sheet.signin:before{content:"";background:var(--navy) var(--print-dark) 0 0 / 200px 200px;border-radius:14px 14px 0 0;height:72px;margin:-22px -24px 8px}@media (width<=700px){.top{grid-column:1/-1;padding:0 12px}.viewport{grid-column:1}.top .bookplate{font-size:21px;display:inline-flex}.top:has(.board-name) .bookplate{gap:0;font-size:0}.rail-mark{display:none}:root{--top:52px}.rail,.app.has-strip .rail{padding:0 0 env(safe-area-inset-bottom,0px);background:var(--paper);grid-row:auto;align-items:stretch}.rail .tool{min-height:0;font:400 13px/1.2 var(--body);justify-content:center;align-self:stretch;align-items:center;padding:0}.rail .tool.on{font-weight:600}.rail .tool,.rail .tool:nth-child(n of .tool){flex:1 1 0}.rail .tool.on{outline-offset:-6px}}.materials:has(>.cut){counter-reset:piece;gap:0}.cut{border-bottom:1px solid var(--line);grid-template-columns:22px minmax(80px,1fr) 60px auto minmax(90px,1fr) 24px;padding:6px 0}.cut:before{counter-increment:piece;content:counter(piece);font:italic 400 17px/1 var(--display);color:var(--muted)}.materials:has(>.cut)>.row{margin-top:8px}.sums .total td{border-top:1px dashed var(--ink);border-bottom:0;padding-top:10px}.sums .total td:last-child{font:400 22px/1 var(--display)}@media (width<=560px){.cut{grid-template-columns:1fr 60px 24px}.cut:before{display:none}.cut+.cut{padding-top:8px}}.cut-layout{gap:8px;margin:6px 0 4px;display:grid}.cut-layout-fabric{font-family:var(--display);align-items:center;gap:6px;font-size:15px;display:inline-flex}.cloth-picker{gap:8px;display:grid}.cloth-size{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.cloth-size .num{flex:0 120px}.cloth-size .num:last-child{flex:180px}.cloth-size select{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);width:100%;padding:6px 8px;font-size:14px}.cloth-by{color:var(--muted);padding-bottom:8px}.cut-layout-svg{width:100%;max-width:480px;height:auto;max-height:560px;display:block}.cutplan .cut-layout-svg{margin:6px 0}.cut-layout-cloth{fill:var(--paper-2);fill-opacity:.4}.cut-layout-edge{fill:none;stroke:var(--ink-2);stroke-width:1.5px;vector-effect:non-scaling-stroke}.cut-layout-piece{stroke:var(--ink);stroke-width:1px;vector-effect:non-scaling-stroke}.cut-layout-hatch{stroke:var(--muted);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.45}.cut-layout-text{fill:var(--ink);font-family:var(--display)}.cut-layout-size{font-family:var(--body);fill:var(--ink-2);font-style:normal}.cut-layout-ground{fill:var(--paper)}.cutplan{gap:4px;padding:12px 14px;display:grid}.cut.cut-piece{grid-template-columns:22px minmax(80px,1fr) 70px auto 24px}@media (width<=560px){.cut.cut-piece{grid-template-columns:1fr 70px 24px}}.check{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.check.push-right{margin-left:auto}.bring-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 16px;margin:0;padding:0;list-style:none;display:grid}.bring-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:6px;padding:3px 0;display:flex}.bring-list .check{color:var(--ink);font-size:14px}.bring-list li.done .check{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--thread);text-decoration-color:var(--thread)}.bring-list .x{opacity:.5;font-size:15px}.bring-list .x:hover{opacity:1}.count-note{color:var(--muted);font-size:12px;font-weight:400}@media (width<=700px){.rail{gap:0}.rail .tool{font-size:14px}.rail .tool.small{letter-spacing:0;font-size:9px}}.links-sheet .push-right{margin-left:auto}.link-card{border-top:1px solid var(--line);gap:10px;padding:14px 0 12px;display:grid}.link-name{font:400 19px/1.25 var(--display);border-color:#0000;padding-left:0}.link-name:hover,.link-name:focus{border-color:var(--line);padding-left:8px}.link-picks{grid-template-columns:1fr;max-height:220px;overflow:auto}.link-picks li.off .check{color:var(--muted)}.link-picks .count-note{margin-left:6px}.link-actions{flex-wrap:wrap;align-items:center}.shared-page{background:var(--grain), var(--weave), var(--mat);flex-direction:column;display:flex;position:fixed;inset:0;overflow:auto}.shared-top{border-bottom:1.5px dashed var(--stitch);align-items:center;padding:20px clamp(16px,4vw,48px);display:flex}.shared-top .bookplate{font-size:22px;text-decoration:none}.shared-title{font:400 clamp(26px, 5vw, 36px) / 1.15 var(--display);margin:0 0 4px}.shared-by{margin:0 0 20px}.shared-body{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px clamp(16px,4vw,48px) 40px}.shared-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:8px;display:flex}.shared-head .kicker{margin:0}.shared-page .print:hover{box-shadow:var(--shadow);transform:none}.shared-page .print.is-sold .print-photo{opacity:.55}.shared-price{font:400 16px/1 var(--display);color:var(--ink)}.shared-note{text-align:center;max-width:420px;margin:10vh auto}.shared-note h1{font:italic 400 28px/1.2 var(--display);margin:0 0 8px}.shared-foot{text-align:center;color:var(--muted);padding:0 16px 28px;font-size:12px}@media (width<=560px){.shared-page .prints{grid-template-columns:1fr 1fr;gap:14px 12px}}@media (width<=700px){.rail .tool.small{flex:.7}}@media (width<=400px){.rail .tool:not(.small){font-size:14px}}.add-more{flex-wrap:wrap;gap:4px 14px;margin-top:4px}.add-more .aside{margin:0}.fabric-pick{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;max-width:760px;display:grid}.fabric-tile{background:var(--paper);box-shadow:var(--shadow);text-align:left;cursor:pointer;border:0;flex-direction:column;gap:4px;padding:6px 6px 8px;display:flex;position:relative}.fabric-tile:hover:not(:disabled){box-shadow:var(--lift)}.fabric-tile.on{outline:2px solid var(--ink);outline-offset:-2px}.fabric-name{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2;overflow:hidden}.fabric-check{background:var(--ink);width:22px;height:22px;color:var(--paper);border-radius:50%;place-items:center;font-size:13px;display:grid;position:absolute;top:10px;right:10px}.cut-from{flex-wrap:wrap;gap:6px;display:flex}.cut-from-chip{border:1px solid var(--rule,currentColor);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 6px;font-size:13px;display:inline-flex}.cut-from-chip.on{background:var(--ink);color:var(--paper)}.cut-from-dot{border:2px solid var(--paper);width:24px;height:24px;box-shadow:0 0 0 1px var(--muted);opacity:.45;cursor:pointer;border-radius:50%;padding:0}.cut-from-dot.on{opacity:1;box-shadow:0 0 0 2px var(--ink)}.legend{white-space:nowrap;margin-right:12px}.cloth-details{margin:4px 0 8px}.cloth-details summary{cursor:pointer;color:var(--muted);font-size:13px}@media (width<=560px){.fabric-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}@media (width<=380px){.fabric-pick{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-btn{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;place-items:center;display:grid}.settings-btn:hover{border-color:var(--ink-2)}.project-tabs{align-items:stretch}.project-tabs button.next:not(.on){color:var(--thread)}.tab-tools{flex:none;align-items:center;gap:16px;margin-left:auto;padding-left:16px;display:flex}.tab-tools .btn{padding:6px 12px}.stage.front{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-content:start;align-items:start;gap:24px 48px;display:grid}.stage.front>*{max-width:none}.front-look,.front-plan{flex-direction:column;gap:20px;min-width:0;display:flex}.front-photo{background:0 0}.front-photo img,.front-photo-empty{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.front-photo-empty{background:var(--grain), var(--sky);outline:1.5px dashed var(--stitch-light);outline-offset:-10px;cursor:pointer;text-align:left;border:0;place-items:end start;padding:22px 24px;display:grid}.front-photo-empty:after{content:none}.front-photo-empty span{font:italic 300 19px/1.3 var(--display);color:var(--on-patch)}.size-strip{background:var(--grain), var(--stone);width:max-content;color:var(--on-patch);justify-content:flex-end;align-items:stretch;margin:10px 0 10px auto;font-size:14px;display:flex}.size-strip span{padding:5px 12px;font-weight:500}.size-strip input{font:inherit;color:inherit;background:0 0;border:0;outline:none;padding:4px 10px}.size-strip input::placeholder{color:inherit;opacity:.6}.front-video{background:var(--paper);box-shadow:var(--shadow);text-align:left;cursor:pointer;border:0;align-items:center;gap:14px;padding:10px;display:flex}.front-video img{aspect-ratio:16/9;object-fit:cover;flex:none;width:104px}.front-video>span{flex-direction:column;gap:2px;min-width:0;display:flex}.front-video-title{font:400 18px/1.25 var(--display)}.front-video .aside{margin:0}.front-name{font:300 clamp(32px, 3.2vw, 42px) / 1.08 var(--display);letter-spacing:-.012em;margin:0 0 4px}.front-name input{width:100%;font:inherit;letter-spacing:inherit;text-overflow:ellipsis;background:0 0;border:0;padding:0}.front-name input:focus{box-shadow:0 1.5px 0 var(--thread);outline:none}.front-plan>div>.aside{margin:0}.front-next{--ink:var(--on-patch);--muted:var(--on-patch);background:var(--grain), var(--mustard);color:var(--on-patch);outline:1.5px dashed var(--stitch);outline-offset:-9px;flex-direction:column;align-items:flex-start;gap:10px;padding:26px 28px 28px;display:flex}.front-next .kicker{color:inherit;opacity:.72;margin:0}.front-next-title{font:400 24px/1.25 var(--display);margin:0}.front-next-detail{opacity:.8;margin:0;font-size:14px}.front-next .btn{background:var(--on-patch);color:var(--mustard);border-color:var(--on-patch);margin-top:6px}.front-next .btn:hover{background:var(--on-patch);border-color:var(--on-patch);opacity:.9}.front-lists{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.kicker.ruled{border-bottom:1.5px dashed var(--line);margin:0;padding-bottom:8px}.front-list{margin:0;padding:0;list-style:none}.front-list li{border-bottom:1px dashed var(--line)}.front-list button,.front-plain{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:9px 0;display:flex}.front-list .swatch-face{aspect-ratio:auto;border-radius:0;flex:none;width:40px;height:40px;padding:0;-webkit-mask:none;mask:none}.front-item{flex-direction:column;flex:1;min-width:0;display:flex}.front-item i,.front-plain i,.check-row i{font:16px/1.25 var(--display)}.front-item .aside{margin:0;font-size:13px}.front-list .have,.front-list .buy{white-space:nowrap;font-size:13px}.front-list .have{color:var(--sage)}.front-list .buy{color:var(--thread);font-weight:700}.front-lists .link-btn{margin-top:8px}.check-row{cursor:pointer;align-items:center;gap:10px;min-height:40px;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--sage);flex:none}.check-row.done span{color:var(--muted);text-decoration:line-through}.front-shop .hint{margin:4px 0 0}.front-ideas{border:0;border-top:1px dashed var(--line);text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;align-items:center;gap:12px;padding:14px 0 0;display:flex}.front-ideas .aside{flex:1;margin:0}.front-ideas-pics{gap:4px;display:flex}.front-ideas-pics img{object-fit:cover;width:36px;height:36px}.stage.chart-stage{grid-template-columns:minmax(0,640px) minmax(0,1fr);align-content:start;align-items:start;gap:24px 48px;display:grid}.stage.chart-stage>*{max-width:none}.chart-col{flex-direction:column;gap:16px;min-width:0;display:flex}.chart-head{border-bottom:1.5px solid var(--ink);justify-content:space-between;align-items:baseline;padding-bottom:10px;display:flex}.chart-head h2{font:400 32px var(--display);margin:0}.chart-head .aside{margin:0}.prep{border:0;margin:0;padding:0}.prep legend{margin-bottom:4px;padding:0}.chart-row{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(90px,1fr) 52px 150px minmax(130px,1fr) 40px 24px;align-items:center;gap:8px;padding:8px 0;display:grid}.chart-th{border-bottom:1px solid var(--line);color:var(--muted);padding:0 0 6px;font-size:13px;font-weight:500}.piece-no{border:1px solid var(--ink);width:26px;height:26px;font:italic 15px var(--display);border-radius:50%;place-items:center;display:inline-grid}.chart-name{min-width:0;font:400 17px var(--display);color:var(--ink);background:0 0;border:1px solid #0000;padding:5px 6px}.chart-row .num-box,.chart-name{background:0 0;border-color:#0000}.chart-row .num-box:hover,.chart-name:hover{border-color:var(--line)}.chart-row .num-box:focus-within,.chart-name:focus{border-color:var(--thread);background:var(--paper);outline:none}.chart-size{color:var(--muted);align-items:center;gap:2px;display:flex}.chart-size .num{flex:1;min-width:0}.chart-from{align-items:center;gap:8px;min-width:0;display:flex}.chart-from .swatch-face{aspect-ratio:auto;border-radius:0;flex:none;width:22px;height:22px;padding:0;-webkit-mask:none;mask:none}.chart-from select{width:100%;min-width:0;font:inherit;color:var(--ink);text-overflow:ellipsis;background:0 0;border:1px solid #0000;flex:1;padding:5px 2px;font-size:14px}.chart-from select:hover,.chart-from select:focus{border-color:var(--line)}.chart-from.no-fabric select{color:var(--thread);font-weight:700}.chart-done{text-align:center}.chart-done input{width:20px;height:20px;accent-color:var(--sage)}.cut-done .chart-name,.cut-done .chart-size,.cut-done .num-box input{color:var(--muted);text-decoration:line-through}.layouts .cut-layout{margin:0 0 8px}.stage.sew>*{max-width:720px}.sew-player{background:#000;position:relative}.sew-player .poster{aspect-ratio:16/9;height:auto}.sew-player iframe{border:0;width:100%;height:100%;display:block}.yt-host{width:100%;height:100%}.yt-host iframe{border:0;width:100%;height:100%;display:block}.sew-player .yt-host{aspect-ratio:16/9;height:auto}.yt-controls{background:var(--paper);border-bottom:1px solid var(--line);gap:4px;padding:2px 8px;display:flex}.step-list li.playing{box-shadow:inset 3px 0 0 var(--thread);padding-left:8px}.sew-paste .row{gap:8px}.sew-paste .field{flex:1}.sew-now{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:4px 0 12px;display:flex}.sew-now .kicker{margin:0}.sew-now-text{font:400 24px/1.25 var(--display);margin:0}.sew-now-actions{gap:10px;margin-top:6px;display:flex}.sew-now-actions .btn{min-height:48px;padding:10px 18px}.chips{gap:4px 16px}.chips button,.chips.small button{color:var(--ink-2);background:0 0;border:0;border-bottom:1.5px solid #0000;border-radius:0;padding:4px 0;font-size:14px}.chips button:hover{color:var(--ink);border-color:var(--line)}.chips button.on{color:var(--ink);border-color:var(--ink);background:0 0}.swatch-face{position:relative}.swatch-face.pinked:not(:has(img)):after{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#1d1e2c12 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#1d1e2c12 0 1px,#0000 1px 3px);position:absolute;inset:0}.cover-open .tile-pics.n0{background:var(--grain), var(--patch,var(--stone));outline:1.5px dashed var(--stitch-light);outline-offset:-9px}.covers>li:nth-child(5n+2){--patch:var(--moss)}.covers>li:nth-child(5n+3){--patch:var(--blush)}.covers>li:nth-child(5n+4){--patch:var(--sky)}.covers>li:nth-child(5n+5){--patch:var(--mustard)}.covers>li:nth-child(5n+6){--patch:var(--rust)}@media (width<=900px){.stage.front,.stage.chart-stage{grid-template-columns:minmax(0,1fr)}.front-plan{order:-1}}@media (width<=700px){.project-tabs{padding:0 6px}.project-tabs button{padding:11px 7px 9px;font-size:14px}.tab-tools{right:12px;bottom:calc(var(--tabbar) + 12px);z-index:5;background:var(--paper);box-shadow:var(--lift);gap:12px;padding:6px 6px 6px 12px;position:fixed}.front-lists{grid-template-columns:minmax(0,1fr)}.front-photo img,.front-photo-empty{aspect-ratio:3/2}.chart-row{grid-template-columns:28px minmax(0,1fr) 52px 40px 24px;grid-template-areas:"no name count done x"".size size size size"".from from from from";row-gap:2px}.chart-th>:nth-child(4),.chart-th>:nth-child(5){display:none}.chart-row>:first-child{grid-area:no}.chart-row>:nth-child(2){grid-area:name}.chart-row>:nth-child(3){grid-area:count}.chart-row>:nth-child(4){grid-area:size;max-width:200px}.chart-row>:nth-child(5){grid-area:from}.chart-row>:nth-child(6){grid-area:done}.chart-row>:nth-child(7){grid-area:x}.stage.sew{padding-top:0}.stage.sew .sew-player{z-index:2;width:auto;max-width:none;margin:0 calc(-1*clamp(16px,4vw,40px));position:sticky;top:0}.sew-now-actions .btn{flex:1}}.front-next .row{align-items:center;gap:18px}.front-next .link-btn{color:#f3ecdccc;margin-top:6px}.name-fabric{flex-direction:column;gap:6px;display:flex}.name-fabric .row{flex-wrap:wrap;gap:8px}.name-fabric input.field{flex:200px}.name-fabric select.field{flex:0 200px}.name-fabric .hint{margin:0}.num-box input[aria-invalid=true]{color:var(--danger,#a3362b)}.num-box:has(input[aria-invalid=true]){border-color:var(--danger,#a3362b)}.fabric-fact{color:var(--muted,#6b6b6b);font-size:12px}.price-ask .row,.size-ask{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.empty .empty-add{pointer-events:auto;margin-top:6px}@media (width<=560px){.scrim{padding:max(10px, env(safe-area-inset-top,0px)) max(8px, env(safe-area-inset-left,0px)) max(10px, env(safe-area-inset-bottom,0px));overscroll-behavior:contain}.sheet,.sheet.small,.sheet.wide,.supply-sheet{width:100%;padding:18px 16px 14px}.sheet-title{font-size:22px}.sheet input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),.sheet select,.sheet textarea{font-size:16px}.sheet .btn,.sheet .field{min-height:40px}.sheet .row.end{background:var(--paper);border-top:1px solid var(--line);box-shadow:0 14px 0 var(--paper);padding:8px 0 4px;position:sticky;bottom:0}.supply-photo .swatch-face{aspect-ratio:auto;height:140px}}@media (pointer:coarse){.desk-only{display:none}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),select,textarea{font-size:max(16px,1em)!important}.link-btn{align-items:center;min-height:40px;display:inline-flex}.yes-no button,.chips button{min-height:40px}.stars.live button{padding:8px 4px}.stars{font-size:22px}:where(button.x){position:relative}button.x:after{content:"";position:absolute;inset:-10px -6px}}@media (width<=700px){.empty .empty-add{display:none}.stage.sew:not(:has(.sew-player)){padding-top:20px}.toast{gap:12px;line-height:1.35}.toast button{flex:none;padding:8px 4px}}.year{max-width:1200px;margin:0 auto 12px}.year-head{flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin-bottom:12px;display:flex}.year-pick{align-items:baseline;gap:4px;display:inline-flex}.year-pick h3{font:400 24px/1.1 var(--display);font-variant-numeric:tabular-nums;margin:0}.year-pick .x{min-width:32px;min-height:32px;font-size:20px}.year-pick .x:disabled{opacity:.25;cursor:default}.year-sum{color:var(--ink-2);margin:0}.year-months{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.year-view{border:1.5px dashed var(--line);margin-left:auto;display:inline-flex}.year-view button{min-height:32px;font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:4px 12px}.year-view button.on{background:var(--grain), var(--stone);color:var(--on-patch)}.year-weeks{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.ym{border:1.5px dashed var(--line);width:100%;height:100%;min-height:92px;color:var(--ink);font:inherit;text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 10px 12px;display:flex}button.ym{outline:1.5px dashed var(--stitch);outline-offset:-5px;color:var(--on-patch);cursor:pointer;border:0}button.ym:hover{filter:brightness(.97)}.patch-stone{background:var(--grain), var(--stone)}.patch-sky{background:var(--grain), var(--sky)}.patch-blush{background:var(--grain), var(--blush)}.patch-mustard{background:var(--grain), var(--mustard)}.ym-name{opacity:.8;font-size:13px}.ym-made{font:300 28px/1 var(--display);font-variant-numeric:tabular-nums;min-height:28px}div.ym .ym-made{color:var(--muted)}.ym-fabric{font-variant-numeric:tabular-nums;flex-direction:column;margin-top:auto;font-size:12.5px;line-height:1.35;display:flex}div.ym .ym-fabric{color:var(--muted)}.year-months .ahead .ym{opacity:.45}.gallery-month{scroll-margin-top:16px}.finished-field{flex-direction:column;gap:4px;display:flex}.finished-field .muted{font-size:13px}@media (width<=900px){.year-months{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=480px){.year-months{grid-template-columns:repeat(4,minmax(0,1fr))}.year-weeks{grid-template-columns:repeat(3,minmax(0,1fr))}.ym{min-height:80px;padding:8px 8px 10px}}.tutorial-start{flex-direction:column;gap:8px;max-width:560px;margin:0 0 32px;display:flex}.tutorial-start .row{flex-wrap:nowrap;gap:8px}.tutorial-start .field{flex:1;min-width:0}.tutorial-start .hint{margin:0}.tutorial-start.first{--ink:var(--on-patch);--muted:var(--on-patch);background:var(--grain), var(--mustard);color:var(--on-patch);outline:1.5px dashed var(--stitch);outline-offset:-9px;gap:12px;padding:26px 28px 28px}.tutorial-start.first .label{font:400 24px/1.25 var(--display);color:inherit}.tutorial-start.first .field{background:var(--paper)}.tutorial-start.first .btn.primary{background:var(--on-patch);color:var(--mustard);border-color:var(--on-patch)}.tutorial-start.first .hint{opacity:.8}@media (width<=640px){.tutorial-start.first{padding:22px 22px 24px}.tutorial-start.first .label{font-size:21px}}.saved-layouts{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 14px;display:flex}.sheet.cutplan-sheet{width:min(1040px,100%)}.cutplan-body{align-items:start;gap:10px 28px;display:grid}.cutplan-form{gap:10px;min-width:0;display:grid}.cutplan-sheet .cut-layout-svg{width:auto;max-width:100%;max-height:min(560px,58vh)}@media (width>=900px){.cutplan-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.cutplan-body>.cut-layout{margin-top:0;position:sticky;top:0}.cutplan-sheet .cut-layout-svg{max-height:min(560px,88vh - 220px)}}.print-photo:has(>.print-none){background:var(--grain), var(--patch,var(--stone));outline:1.5px dashed var(--stitch-light);outline-offset:-9px}.print-photo>.print-none{visibility:hidden}.gift-thumb:not(:has(img)){background:var(--grain), var(--patch,var(--blush));color:var(--on-patch);font-style:normal}.icon-btn.settings-btn{border-radius:50%}.ways{flex-direction:column;align-self:stretch;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.ways li{background:var(--paper);color:var(--ink);box-shadow:var(--shadow);align-items:center;gap:12px;padding:8px 10px 8px 8px;display:flex}.ways li.on{outline:1.5px dashed var(--stitch);outline-offset:-5px}.ways img,.ways-pdf{aspect-ratio:16/9;object-fit:cover;flex:none;width:88px}.ways-pdf{background:var(--grain), var(--stone);color:var(--on-patch);letter-spacing:.08em;place-items:center;font-size:12px;font-weight:700;display:grid}.ways-text{flex-direction:column;flex:1;min-width:0;display:flex}.ways-title{font:400 16px/1.3 var(--display)}.ways .aside{color:var(--muted);margin:0;font-size:13px}.ways .have{color:var(--sage);white-space:nowrap;font-size:13px}.front-next .ways .btn{color:var(--ink);border-color:var(--line);background:0 0;margin-top:0}.ways .btn{white-space:nowrap}.other-ways .aside{margin:0;font-size:13px}.other-ways .ways{margin-top:8px}a.front-video{color:inherit;text-decoration:none}a.front-video .ways-pdf{width:104px}.sew-choose{flex-direction:column;gap:6px;max-width:640px;display:flex}.sew-choose .kicker,.sew-choose .aside{margin:0}.sew-pattern{max-width:480px}.front-add{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.front-add .aside{margin:0;font-size:13px}@media (width<=480px){.ways li{grid-template-columns:72px minmax(0,1fr);align-items:start;row-gap:8px;display:grid}.ways img,.ways-pdf{width:72px}.ways .btn,.ways .have{grid-column:2;justify-self:start}}.video-meta .row{flex-wrap:wrap;row-gap:4px}.video-meta .btn{white-space:nowrap}.this-one{background:var(--paper);outline:1.5px dashed var(--stitch);outline-offset:-5px;flex-wrap:wrap;align-items:center;gap:6px 14px;width:fit-content;max-width:100%;padding:10px 14px;font-size:14px;display:flex}.this-one .kicker{margin:0}.this-one-fabric{align-items:center;gap:6px;display:inline-flex}.this-one-fabric .dot{width:14px;height:14px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;flex:none}.this-one-fabric select{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:4px 8px}.chart-col>.this-one,.stage>.this-one{align-self:flex-start;margin-bottom:4px}.steps-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.step-edit{gap:10px;margin-top:4px;display:grid}.step-edit-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.step-edit-list li{grid-template-columns:20px minmax(0,1fr) 72px auto;align-items:start;gap:8px;display:grid}.step-edit-list.no-time li{grid-template-columns:20px minmax(0,1fr) auto}.step-edit-n{color:var(--muted);text-align:right;padding-top:9px;font-size:13px}.step-edit-time{font-variant-numeric:tabular-nums;font-size:14px}.step-edit-time[aria-invalid=true]{border-color:var(--thread)}.step-edit-tools{display:flex}.step-edit-tools button{border-radius:var(--radius);width:34px;height:40px;color:var(--ink-2)}.step-edit-tools button:hover:not(:disabled){background:var(--thread-soft)}.step-edit-tools button:disabled{opacity:.3}.step-edit-foot{justify-content:flex-end}@media (width<=560px){.step-edit-list li,.step-edit-list.no-time li{grid-template-columns:20px minmax(0,1fr) 72px}.step-edit-list.no-time .step-field{grid-column:2/-1}.step-edit-tools{grid-column:2/-1;justify-content:flex-end}.step-edit-tools button{width:44px;height:44px}}.shared-pattern{gap:1.5rem;max-width:40rem;display:grid}.shared-cut{background:var(--grain), var(--stone);color:var(--on-patch);outline:1.5px dashed var(--stitch);outline-offset:-9px;--ink:var(--on-patch);--muted:var(--on-patch);padding:22px 26px 24px}.shared-cut .kicker{margin:0}.shared-cuts,.shared-steps{margin:.5rem 0 0;padding:0;list-style:none}.shared-cuts li{border-bottom:1px dashed var(--line,currentColor);grid-template-columns:1fr 4.5rem 8rem;gap:1rem;padding:.4rem 0;display:grid}.shared-notions li{grid-template-columns:1fr auto}.shared-cuts .cut-size{text-align:right;white-space:nowrap}.shared-steps{counter-reset:step}.shared-steps li{counter-increment:step;border-bottom:1px dashed var(--line,currentColor);padding:.5rem 0}.shared-steps li:before{content:counter(step) ". ";font-weight:600}.shared-steps .link-btn{margin-left:.5rem}.app.has-route{grid-template-columns:var(--rail) 300px minmax(0, 1fr);grid-template-rows:var(--top) minmax(0, 1fr)}.app.has-route .top{grid-column:2/-1}.app.has-route .stage,.app.has-route .viewport{grid-area:2/3}.project-route{grid-area:2/2;padding:20px 16px 32px 24px;overflow:auto}.route-phase{font:400 21px/1.2 var(--display);margin:20px 0 8px}.route-phase:first-child{margin-top:0}.route-rows{gap:6px;display:grid}.route-row{text-align:left;background:var(--grain), var(--paper-2);border-radius:3px;align-items:flex-start;gap:12px;width:100%;min-height:56px;padding:11px 14px;display:flex}.route-row:hover{filter:brightness(1.03)}.route-num{border:1px solid var(--stitch);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin-top:1px;font-size:13px;display:grid}.route-row.done .route-num{background:var(--moss);border-color:var(--moss);color:var(--on-moss)}.route-title{font-weight:500;display:block}.route-summary{color:var(--ink-2);font-size:13.5px;display:block}.route-row.next{background:var(--grain), var(--mustard);color:var(--on-patch)}.route-row.next .route-summary{color:var(--on-patch)}.route-row.next .route-num{border-color:var(--on-patch)}.route-row.on{outline:1.5px dashed var(--stitch);outline-offset:-5px}.route-pin{border-top:1px dashed var(--stitch);width:100%;min-height:44px;color:var(--ink-2);text-align:left;justify-content:space-between;gap:10px;margin-top:18px;padding:10px 2px;font-size:14px;display:flex}.route-pin.on{color:var(--ink);font-weight:500}.route-tools{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px;font-size:14px;display:flex}.project-route .this-one{background:0 0;border:0;margin:0 0 8px;padding:0}.route-back{display:none}.pin-tools{z-index:2;grid-area:2/3;place-self:start end;align-items:center;gap:16px;margin:14px 24px 0 0;display:flex}.stage-title{font:400 26px/1.25 var(--display);margin:0}.stage-lede{color:var(--ink-2);margin:0}.stage-sub{font:400 19px/1.3 var(--display);margin:8px 0 0}.following-tag{align-items:center;gap:7px;margin:0;font-weight:500;display:flex}.following-tag .dot{background:var(--moss);border-radius:50%;width:9px;height:9px}.notes-box{flex-direction:column;gap:10px;display:flex}.notes-field{resize:vertical;min-height:180px;line-height:1.55}.notes-got{border-block:1px dashed var(--stitch);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:12px 0;display:grid}.notes-head{font:400 17px/1.3 var(--display);margin:0 0 4px}.notes-got ul{margin:0;padding:0;font-size:14px;list-style:none}.notes-got li{padding:2px 0}.sample-layout{margin:0}.sample-layout>div{aspect-ratio:110/42;border:1px dashed var(--stitch);opacity:.55;flex-wrap:wrap;align-content:flex-start;gap:2%;padding:2%;display:flex}.sample-layout span{background:var(--stone)}.plan-fabric{flex-direction:column;gap:12px;display:flex}.plan-size{max-width:260px}.plan-result{gap:4px;padding:16px 22px}.chart.plan .chart-done{visibility:hidden}.cut-list{margin:0;padding:0;list-style:none}.cut-list .check-row{border-bottom:1px dashed var(--stitch);flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:48px;padding:8px 0;display:flex}.cut-list-name{flex:160px}.cut-list .done .cut-list-name{color:var(--muted);text-decoration:line-through}.app.has-route .stage.chart-stage{grid-template-columns:minmax(0,760px)}.chart-head .stage-title{font:400 26px/1.25 var(--display)}.plan-fabric>.link-btn{align-self:flex-start}@media (width<=700px){.app.has-route{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--top) auto minmax(0, 1fr) auto}.app.has-route .top{grid-column:1}.app.has-route .project-route,.app.has-route .stage,.app.has-route .viewport{grid-area:3/1}.app.has-route .rail{grid-area:4/1}.project-route{padding:16px}.route-back{grid-area:2/1;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:2px 16px;display:flex}.route-back-tools{align-items:center;gap:14px;display:flex}.pin-tools,.app.at-route .stage,.app.at-route .viewport,.app.at-route .route-back,.app.at-step .project-route{display:none}.notes-got{grid-template-columns:minmax(0,1fr)}}
