body{font-family:var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}.app{flex-direction:column;height:100dvh;display:flex}.app button,.app select,.app input:not([type=checkbox],[type=radio]){box-sizing:border-box;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm);line-height:1}.app button{border-radius:var(--radius-pill);background:var(--button-fill);cursor:pointer;border-color:#0000;align-items:center;gap:6px;font-weight:500;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.app button:hover:not(:disabled){background:var(--button-fill-hover)}.app,.card,.tool-options,.make-dialog,.insert-menu{--button-fill:var(--surface-subtle);--button-fill-hover:var(--surface-subtle-hover);--track-fill:var(--surface-subtle);--field-fill:var(--surface-sunk);--tile-fill:var(--surface-sunk)}.side-panel,.pane-tabs-box,.gauge-help,.preview-3d-viewport,.preview-3d-wide .preview-3d-stage,.picture-pane,.colour-picker,.shelf-menu,.make-preview{--button-fill:var(--surface);--button-fill-hover:var(--surface-subtle-hover);--track-fill:var(--surface-subtle-hover);--field-fill:var(--surface);--tile-fill:var(--surface)}.app button:disabled{cursor:default;opacity:.5}.app select{padding-right:var(--space-2);cursor:pointer}.app input[aria-invalid=true]{border-color:var(--error)}.app button:focus-visible,.app select:focus-visible,.app input:focus-visible,.app textarea:focus-visible,.app summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);box-shadow:var(--focus-ring)}.icon{flex:none}.toolbar{align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-4);background:var(--bg);flex:none;display:flex}.toolbar-title{font-size:var(--text-body);letter-spacing:-.01em;align-items:center;margin:0;font-weight:650;display:flex}.toolbar[hidden]{display:none}.toolbar-title .icon,.import-mark .icon{box-sizing:border-box;background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;padding:7px}.toolbar-title-words{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-spacer{margin-left:auto}.toolbar-name-plain{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-heading);flex:0 auto;margin:0;font-weight:600;overflow:hidden}.app .toolbar button.toolbar-name-button{align-items:center;gap:var(--space-1);padding:0 var(--space-2);box-shadow:none;color:var(--text);font:inherit;font-size:var(--text-heading);background:0 0;border-color:#0000;font-weight:600;display:flex}.app .toolbar button.toolbar-name-button:hover:not(:disabled){background:var(--surface-subtle)}.toolbar-name-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.toolbar-group{gap:var(--space-1);display:flex}.toolbar-divider{width:1px;height:24px;margin:0 calc(-1 * var(--space-1));background:var(--border);flex:none}@media (width<=1099.98px){.toolbar-divider{display:none}}.app .toolbar-group button{box-shadow:none;color:var(--text);background:0 0;border-color:#0000}.app .toolbar-group button:hover{background:var(--surface-subtle)}.app .toolbar-group .icon{color:var(--text-secondary)}.app .toolbar-history button,.app .toolbar .toolbar-print{width:var(--icon-button);background:0 0;border-radius:50%;justify-content:center;padding:0}.app .toolbar .toolbar-print:hover:not(:disabled){background:var(--surface-subtle)}.toolbar-history-words,.toolbar-layout-words{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-make-actions{display:contents}.app .toolbar button.make-pattern-menu{gap:var(--space-1);white-space:nowrap;background:0 0}.app .toolbar button.make-pattern-menu:hover:not(:disabled){background:var(--surface-subtle)}.app .toolbar button.make-pattern-menu[aria-expanded=true]{background:var(--ink);color:var(--text-on-ink)}.app .toolbar-layout{border-radius:var(--radius-pill);background:var(--surface-subtle);gap:2px;padding:2px}.app .toolbar-layout button{min-width:2.75rem;height:calc(var(--control-height) - 8px);padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--text-secondary);justify-content:center}.app .toolbar-layout button:hover:not(:disabled){background:var(--surface-subtle-hover)}.app .toolbar-layout button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow-control);color:var(--text);font-weight:600}.workspace-3d-first>.pattern-editor,.workspace-3d-first>.pane-divider{display:none}.workspace.workspace-3d-first .side-panel{flex:1 1 0}.pattern-editor{background:var(--editor-bg);flex:1;min-height:0}.pattern-editor .cm-editor{height:100%;font-size:var(--text-body);color:var(--text)}.pattern-editor .cm-scroller{font-family:var(--font-ui);font-variant-numeric:tabular-nums;line-height:1.75}.pattern-editor .cm-content{padding:var(--space-3) 0 var(--space-6)}.pattern-editor .cm-line{padding:0 var(--space-4) 0 var(--space-2)}.pattern-editor .cm-editor .cm-gutters{background:var(--editor-bg);color:var(--text-muted);border-right:none}.pattern-editor .cm-editor .cm-lineNumbers .cm-gutterElement{min-width:0;padding:0 var(--space-1) 0 6px;font-size:var(--text-xs)}.pattern-editor .cm-editor .cm-lineNumbers .cm-gutterElement:not(.cm-heading-gutter){line-height:calc(var(--text-body) * 1.75)}.pattern-editor .cm-editor .cm-activeLine{background:#474a8c0d}.pattern-editor .cm-editor.cm-focused .cm-activeLine,.pattern-editor .cm-editor .cm-picked-line{border-radius:var(--radius-sm);background:var(--cursor-line)}.pattern-editor .cm-editor .cm-activeLineGutter{color:var(--text);background:0 0}.pattern-editor .cm-editor .cm-selectionLayer{mix-blend-mode:multiply;pointer-events:none;z-index:120!important}.pattern-editor .cm-editor.cm-focused.cm-has-selection .cm-activeLine{background-color:#0000}.pattern-editor .cm-editor>.cm-scroller>.cm-selectionLayer .cm-selectionBackground,.pattern-editor .cm-editor.cm-focused>.cm-scroller>.cm-selectionLayer .cm-selectionBackground{background:var(--selection-focused)}.pattern-editor .cm-editor:focus-within,.pattern-editor .cm-editor.cm-focused{outline:none}.pattern-editor .cm-panels.cm-panels-top{border-bottom:1px solid var(--border);background:var(--editor-bg);color:var(--text)}.find-bar{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);display:flex}.app .find-bar .find-field{min-width:0;margin-right:var(--space-1);font-size:var(--text-ui);flex:auto}.find-count{margin-right:var(--space-1);color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.pattern-editor .cm-editor .cm-searchMatch{background:var(--highlight-soft);border-radius:2px}.pattern-editor .cm-editor .cm-searchMatch.cm-searchMatch-selected{background:var(--highlight);box-shadow:inset 0 -2px 0 var(--highlight-edge)}.pattern-editor .cm-editor.cm-focused .cm-matchingBracket{box-shadow:inset 0 0 0 1px var(--tok-repeat);background:#74349024;border-radius:2px}.pattern-editor .cm-editor.cm-focused .cm-nonmatchingBracket{background:var(--error-soft);box-shadow:inset 0 0 0 1px var(--error);border-radius:2px}.import-pane .cm-editor.cm-editor:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.pattern-editor .cm-editor .cm-reshaped-line{background:var(--reshaped-line);box-shadow:inset 3px 0 0 var(--reshaped-edge);animation:3s ease-in forwards cm-reshaped-fade}@keyframes cm-reshaped-fade{0%,30%{background:var(--reshaped-line);box-shadow:inset 3px 0 0 var(--reshaped-edge)}to{background:0 0;box-shadow:inset 3px 0 #0000}}@media (prefers-reduced-motion:reduce){.pattern-editor .cm-editor .cm-reshaped-line{animation:none}}.cm-picked-instruction{background:var(--highlight);border-radius:3px}.cm-round-note{margin-left:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:500}.cm-round-note-ok{color:var(--success)}.cm-round-note-warning,.cm-round-note-error{color:var(--warning)}.pattern-editor .cm-editor .cm-round-line{padding-left:calc(var(--space-2) + 4.5em);text-indent:-4.5em;display:flow-root;position:relative}.pattern-editor .cm-round-line .tok-label{text-indent:0;min-width:4.2em;display:inline-block}.pattern-editor .cm-editor .cm-round-line[data-check]:before{content:attr(data-check);float:right;height:1px;margin-left:var(--space-2);font-size:var(--text-xs);text-indent:0;white-space:nowrap;visibility:hidden;font-weight:500}.pattern-editor .cm-editor .cm-round-line.cm-check-fix:before{padding-right:18px}.pattern-editor .cm-round-line .cm-round-note{top:0;right:var(--space-4);line-height:calc(var(--text-body) * 1.75);text-indent:0;margin-left:0;position:absolute}.pattern-editor .cm-editor .cm-heading-line{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title-sm);font-weight:600;line-height:1.9;display:flow-root}.cm-piece-badge{float:right;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);margin-top:.6em;font-weight:600;line-height:1.75}.cm-piece-badge-ok{background:var(--success-soft);color:var(--success)}.cm-piece-badge-warning,.cm-piece-badge-error{background:var(--warning-soft);color:var(--warning)}.workspace .pattern-editor .cm-lintRange-error,.workspace .pattern-editor .cm-lintRange-warning{-webkit-text-decoration:underline dotted var(--warning);text-decoration:underline dotted var(--warning);text-underline-offset:4px;background-image:none}.pattern-editor .cm-editor .cm-problem-line{box-shadow:inset 3px 0 0 var(--warning)}.pattern-editor .cm-editor .cm-knock-on-line,.pattern-editor .cm-editor.cm-focused .cm-activeLine.cm-knock-on-line,.pattern-editor .cm-editor .cm-picked-line.cm-knock-on-line{box-shadow:none;background-image:linear-gradient(var(--warning) 50%, transparent 50%);background-repeat:repeat-y;background-size:3px 6px}.cm-problem-line:not(.cm-knock-on-line) .tok-label,.cm-problem-line:not(.cm-knock-on-line) .tok-total{color:var(--warning)}.cm-round-note-fix{border-radius:var(--radius-pill);background:var(--surface);color:inherit;font:inherit;cursor:pointer;border:1px solid;margin-left:4px;padding:0 6px}.cm-round-note-fix:hover,.cm-round-note-fix:focus-visible{background:var(--surface);text-decoration:underline}.tok-label{color:var(--tok-label);font-weight:600}.tok-stitch{color:var(--tok-stitch)}.tok-repeat{color:var(--tok-repeat)}.tok-colour{color:var(--tok-colour)}.tok-loop{color:var(--tok-loop)}.tok-total{color:var(--tok-total)}.workspace{flex:1;min-height:0;display:flex}.workspace .pattern-editor{flex:60%;min-width:0}.side-panel{gap:var(--space-5);min-height:0;padding:var(--space-4) var(--space-4) var(--space-6);box-sizing:border-box;background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex:0 0 clamp(26rem,42%,44rem);display:flex;overflow-y:auto}.side-tabs{gap:var(--space-1);margin-bottom:calc(-1 * var(--space-2));border-bottom:1px solid var(--border);display:flex}.app .side-tabs button{height:36px;padding:0 var(--space-3);box-shadow:none;color:var(--text-muted);font-size:var(--text-ui);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px}.app .side-tabs button:hover:not(:disabled){color:var(--text);background:0 0}.app .side-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.tab-badge{box-sizing:border-box;border-radius:var(--radius-pill);background:var(--error);min-width:18px;color:var(--text-on-accent);font-size:var(--text-xs);text-align:center;padding:1px 5px;font-weight:700}.tab-badge-warning{background:var(--warning-soft);color:var(--warning)}.side-panel [role=tabpanel][hidden]{display:none}.assembly-list{font-size:var(--text-ui);line-height:1.55}.pane-tabs-box{border-top:1px solid var(--border-faint);background:var(--editor-bg);flex-direction:column;flex:none;max-height:45%;display:flex}.pane-drawer-head{align-items:center;gap:var(--space-2);min-height:56px;padding:var(--space-2) var(--space-3);flex:none;display:flex}.pane-drawer-status{align-items:center;gap:var(--space-2);min-width:0;color:var(--text-secondary);font-size:var(--text-ui);flex:auto;margin:0;display:flex}.pane-drawer-status .icon{color:var(--success);flex:none}.pane-drawer-count{margin-right:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.pane-drawer-words{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pane-drawer-status.pane-drawer-status-problems{color:var(--warning);font-weight:600}.pane-drawer-status.pane-drawer-status-problems .icon{color:var(--warning)}.pane-drawer:not(.is-open) .pane-drawer-status{order:-1}.pane-drawer.is-open .pane-drawer-status{color:var(--text-muted);font-size:var(--text-sm);justify-content:flex-end}.pane-panel{min-height:0;padding:0 var(--space-3) var(--space-3);flex:auto;overflow-y:auto}.pane-tabs{gap:var(--space-1);border-bottom:none;flex:none;margin-bottom:0;padding:0}.app .pane-tabs button{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--text-secondary);border:none;margin:0;font-weight:500}.app .pane-drawer:not(.is-open) .pane-tabs button{background:var(--surface-subtle)}.app .pane-tabs button:hover:not(:disabled){background:var(--surface-subtle-hover);color:var(--text)}.app .pane-tabs button[aria-selected=true]{background:var(--surface-subtle);box-shadow:none;color:var(--text);border:none;font-weight:600}.pane-tabs .tab-badge{background:var(--surface);color:var(--text)}.checks-list{font-size:var(--text-ui);line-height:1.45}.checks-summary{margin:0 0 var(--space-3);color:var(--text-muted)}.checks-list ul{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checks-list li{border-radius:var(--radius);background:var(--surface-subtle)}.app .checks-item{align-items:flex-start;gap:var(--space-3);width:100%;height:auto;padding:var(--space-3);border-radius:var(--radius);box-shadow:none;text-align:left;white-space:normal;background:0 0;border:none;display:flex}.app .checks-item:hover:not(:disabled){background:var(--surface-subtle-hover)}.checks-item .status-mark{color:var(--warning);background:0 0;flex:none}.checks-body{flex-direction:column;gap:2px;min-width:0;display:flex}.checks-where{color:var(--text-muted);font-size:var(--text-xs)}.checks-line{font-family:var(--font-ui);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.checks-message{color:var(--text-secondary)}.checks-follows{color:var(--text-muted);font-size:var(--text-sm)}.app .checks-fix{margin:0 0 var(--space-3) calc(var(--space-3) * 2 + 20px);height:auto;padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--surface);white-space:normal;text-align:left}.pane-drawer-status:has(.pane-drawer-fix){column-gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);row-gap:2px;display:grid}.pane-drawer-status:has(.pane-drawer-fix) .icon{grid-row:span 2}.pane-drawer-status:has(.pane-drawer-fix) .pane-drawer-words{line-height:1.4}.app .checks-fix.pane-drawer-fix{white-space:nowrap;justify-self:start;max-width:100%;margin:0;font-weight:600;overflow:hidden}.assembly-intro{margin:0 0 var(--space-4);color:var(--text-muted)}.assembly-list ol{padding-left:var(--space-5);margin:0}.assembly-list li{margin-bottom:var(--space-3);padding-left:var(--space-1)}.assembly-list li p{margin:0}.assembly-problems{margin-top:var(--space-5)}.assembly-problems h3{font-size:var(--text-ui)}.assembly-blocked{color:var(--text-muted)}.panel-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-weight:650}.panel-head,.card-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.card{padding:var(--space-3) var(--space-4) var(--space-4);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.pane{background:var(--surface);border-radius:var(--radius-lg);min-height:0;box-shadow:var(--shadow);flex-direction:column;display:flex}.settings-group,.right-panel .card{--track-fill:var(--surface-subtle-hover);--field-fill:var(--surface);--tile-fill:var(--surface);background:var(--surface-sunk);border-radius:var(--radius);box-shadow:none}.right-panel{--button-fill:var(--surface-subtle);--button-fill-hover:var(--surface-subtle-hover);--track-fill:var(--surface-subtle);--field-fill:var(--surface-sunk);--tile-fill:var(--surface-sunk)}.list-row{padding:var(--space-2) 10px;border-radius:var(--radius)}.list-row:hover{background:var(--surface-subtle)}.list-row[aria-current],.list-row.is-current{background:var(--accent-soft)}.callout{padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface-subtle);color:var(--text)}.callout-tip{background:var(--tip-soft);color:var(--tip)}.callout-new{background:var(--accent-soft)}.callout-reassure{align-items:center;gap:var(--space-1);color:var(--text-muted);font-size:var(--text-sm);background:0 0;padding:0;display:inline-flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app .icon-button{width:var(--control-height);color:var(--text-muted);justify-content:center;padding:0}.app .icon-button:hover:not(:disabled){color:var(--text)}.app .icon-button[aria-expanded=true],.app .icon-button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.app .link-button{height:auto;box-shadow:none;color:var(--accent);background:0 0;border:none;padding:0;font-weight:500}.app .link-button:hover:not(:disabled){color:var(--accent-hover);background:0 0;text-decoration:underline}.preview-3d{gap:var(--space-3);flex-direction:column;display:flex}.preview-3d-controls{gap:var(--space-3);flex-wrap:wrap;display:flex}.preview-placement-status{padding:var(--space-2) var(--space-1);font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:1.45}.shape-reach{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1) 0;font-size:var(--text-sm);color:var(--text-muted);display:flex}.shape-reach input{max-width:16rem;accent-color:var(--accent);flex:1}.shape-reach output{min-width:6rem;color:var(--text)}.paint-options{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-1) 0;flex-wrap:wrap;display:flex}.paint-options .colour-picker{flex-basis:100%;margin-top:0}.paint-brush{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:flex}.paint-brush input{width:7rem;accent-color:var(--accent)}.paint-brush output{min-width:3rem;color:var(--text)}.preview-3d-viewport{background:var(--surface-subtle);border-radius:var(--radius-lg);flex-direction:column;height:clamp(16rem,48vh,36rem);display:flex;position:relative;overflow:hidden}.preview-3d-carrying canvas{cursor:copy!important}.preview-3d-canvas{touch-action:none;flex:1;min-height:0;overflow:hidden}.preview-3d-stale{opacity:.45;filter:grayscale(.4);transition:opacity .2s}.preview-3d-note{left:var(--space-2);bottom:var(--space-2);max-width:calc(100% - 2 * var(--space-2));padding:2px var(--space-2);border-radius:var(--radius);box-shadow:0 0 0 1px var(--border);color:var(--text);font-size:var(--text-xs);pointer-events:none;background:#fffdf9e6;margin:0;line-height:1.4;position:absolute}.preview-3d-note.preview-3d-left-out{bottom:calc(var(--space-2) + 32px)}.preview-3d-left-out span{display:block}.preview-3d-overlay{top:var(--space-2);right:var(--space-2);gap:var(--space-1);display:flex;position:absolute}.app .preview-3d-overlay .icon-button:not([aria-expanded=true]):not([aria-pressed=true]){border-color:var(--border);background:#fffdf9d9}.preview-3d-message{padding:var(--space-5);color:var(--text-secondary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;margin:0;display:flex}.preview-3d-message p{max-width:24rem;margin:0 0 var(--space-3);line-height:1.5}.preview-3d-message-icon .icon{width:2rem;height:2rem;margin-bottom:var(--space-3);color:var(--text-secondary)}.preview-3d-message .preview-3d-message-title{margin-bottom:var(--space-2);color:var(--text);font-weight:600}.app .preview-3d-message button{min-height:44px;padding-inline:var(--space-5);border-radius:var(--radius-pill)}.preview-3d-message .preview-3d-reason{margin-top:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.preview-3d-status{left:var(--space-2);right:var(--space-2);bottom:calc(2 * var(--space-2) + 24px);padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5;position:absolute}.preview-3d-status b{color:var(--text)}.preview-3d-sizes{gap:var(--space-2);padding:0 var(--space-1);flex-direction:column;margin:0;list-style:none;display:flex}.preview-3d-sizes li{align-items:baseline;column-gap:var(--space-3);grid-template-columns:auto 1fr;display:grid}.size-piece{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.size-main{font-size:var(--text-heading);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600}.made-sizes{gap:var(--space-2);flex-direction:column;display:flex}.made-sizes-title{padding:0 var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;font-weight:600}.made-differences{padding-left:var(--space-3)}.made-gauge{padding:0 var(--space-1);font-size:var(--text-xs);color:var(--text-muted);margin:0}.size-note{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;grid-column:2}.gauge-panel{gap:var(--space-3);font-size:var(--text-sm);flex-direction:column;display:flex}.gauge-fields{gap:var(--space-3) var(--space-4);grid-template-columns:1fr 1fr;display:grid}.gauge-field{gap:var(--space-1);color:var(--text-muted);font-size:var(--text-xs);flex-direction:column;font-weight:500;display:flex}.app .gauge-field input,.app .gauge-field select{width:100%}.gauge-error{color:var(--error)}.gauge-about{margin:0;line-height:1.45}.app .gauge-about .link-button{vertical-align:baseline;min-height:0;margin:-6px 0;padding:6px 0;display:inline-block}.gauge-help{padding:var(--space-2) var(--space-3);background:var(--surface-subtle);border-radius:var(--radius);color:var(--text-muted);margin:0;line-height:1.45}.gauge-source{gap:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.status-mark{border-radius:var(--radius-pill);justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.status-mark .icon{width:13px;height:13px}.status-ok{color:var(--success);background:var(--success-soft)}.status-warning{color:var(--warning);background:var(--warning-soft)}.status-error{color:var(--error);background:var(--error-soft)}.round-table-empty{color:var(--text-muted);font-size:var(--text-sm);margin:0}.save-status{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);display:flex}.save-status .icon{color:var(--success)}.save-status-saved{color:var(--text-secondary);font-weight:500}.badge{padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap;font-weight:600;line-height:1.5;display:inline-block}.badge-beginner{background:var(--level-1-soft);color:var(--level-1)}.badge-intermediate{background:var(--level-2-soft);color:var(--level-2)}.badge-showpiece{background:var(--level-3-soft);color:var(--level-3)}.toolbar-title-words{white-space:nowrap}.save-status-words{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.save-status{min-width:0}@media (width<=899.98px){.toolbar-history .toolbar-history-words,.toolbar-share .toolbar-share-words{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-make{gap:var(--space-3);padding:0 var(--space-3)}.toolbar-make .save-status-saved .save-status-words{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app .toolbar-make .app-mode button{min-width:5rem;padding:0 var(--space-3)}.toolbar:has(.toolbar-pattern){gap:var(--space-2);padding:0 var(--space-3)}.toolbar:has(.toolbar-pattern) .toolbar-title{margin:0}.toolbar:has(.toolbar-pattern) .toolbar-title-words{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app .toolbar:has(.toolbar-pattern) .app-mode button{min-width:4.5rem;padding:0 var(--space-2)}.toolbar:has(.toolbar-pattern) .save-status{flex:none}}@media (width<=799.98px){.toolbar:has(.toolbar-pattern) .save-status-saved .save-status-words{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.toolbar-file-menu .icon:first-child{display:none}@media (width<=699.98px),(height<=499.98px) and (pointer:coarse){.toolbar .save-status-saved .save-status-words{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar{gap:var(--space-2);padding:0 var(--space-2)}.toolbar .toolbar-title{margin:0}.toolbar .toolbar-title-words{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar .toolbar-name-plain{flex:1 1 0}.app .toolbar button.toolbar-name-button{font-size:var(--text-lead);text-align:left;line-height:1.15}.toolbar-name-button span{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.app .toolbar button.toolbar-file-menu{justify-content:center;width:44px;padding:0}.toolbar-file-menu .toolbar-menu-button-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-file-menu .icon:first-child{display:inline}.toolbar-file-menu .icon:last-child{display:none}.app .toolbar .app-mode button{min-width:0;padding:0 var(--space-2)}.app .toolbar .toolbar-group button{padding:0 var(--space-2)}}@media (width<=374.98px){.app .toolbar button.toolbar-name-button{font-size:var(--text-body);padding:0 2px}.app .toolbar .app-mode button{padding:0 var(--space-1)}}.print-sheet{display:none}@media print{@page{margin:18mm}.app>.toolbar,.app>.workspace,.app>.import-view{display:none}.insert-menu,[role=menu]{display:none!important}.app{height:auto;display:block}body{background:#fff}.print-sheet{font-family:var(--font-ui);color:#000;font-size:10pt;line-height:1.45;display:block}.print-sheet h1,.print-sheet h2{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-weight:600}.print-sheet h1{margin:0 0 .2em;font-size:24pt;line-height:1.1}.print-top{border-bottom:1pt solid #000;align-items:flex-start;gap:6mm;padding-bottom:4mm;display:flex}.print-heading{flex:1}.print-sheet .print-about{margin:.3em 0;font-size:11pt}.print-sheet .print-facts{color:#444;margin:0}.print-sheet .print-site{color:#444;text-align:right;flex:none;margin:0;font-size:8.5pt}.print-site strong{color:#000}.print-sheet .print-safety{border:1pt solid #000;padding:.4em .6em}.print-picture{flex:none;width:26mm;height:26mm}.print-sheet .print-materials>h2{margin-top:.5em}.print-materials-columns{grid-template-columns:1fr 1fr;gap:0 8mm;display:grid}.print-materials-columns>*>:first-child{margin-top:0}.print-sheet .print-materials-columns ul{margin:0 0 .4em;padding:0;list-style:none}.print-sheet .print-materials-columns li{margin:0 0 .15em}.print-sheet .print-materials-list li{display:inline}.print-materials-list li+li:before{content:" · "}.print-yarn li{align-items:baseline;gap:.5em;font-size:9pt;line-height:1.35;display:flex}.print-yarn-dot{vertical-align:-.1em;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:.75pt solid #444;border-radius:50%;flex:none;width:.8em;height:.8em}.print-sheet .print-yarn small,.print-sheet .print-yarn-note{color:#444;font-size:8pt}.print-pieces{columns:2;column-gap:7mm;margin-top:.4em}.print-sheet .print-pieces h2{margin-top:0}.print-pieces>.print-piece{padding-bottom:1em}.print-pieces>.print-piece-long{break-inside:auto}.print-piece{break-inside:avoid}.print-templates{break-inside:auto}.print-sheet .canvas-template{break-inside:avoid;margin:.6em 0}.print-sheet .canvas-template-shape,.print-ruler path{fill:none;stroke:#000}.print-sheet p.print-step{border-bottom:.5pt solid #bbb;grid-template-columns:auto 5.6em 1fr;align-items:baseline;gap:0 .6em;margin:0;padding:.12em 0;font-size:9pt;line-height:1.35;display:grid}.print-sheet p.print-step strong{white-space:nowrap}.print-tick{vertical-align:-.1em;border:.75pt solid #000;border-radius:2pt;width:.85em;height:.85em;display:inline-block}.print-sheet h2{break-after:avoid;margin:.9em 0 .3em;font-size:14pt}.print-sheet p{margin:.25em 0}.print-piece>h2+p:not(.print-step){color:#444;margin-bottom:.5em;font-size:9pt}.print-abbreviations{grid-template-columns:fit-content(11em) 1fr;gap:.15em .75em;margin:0;display:grid}.print-abbreviations div{display:contents}.print-abbreviations dt{font-weight:700}.print-abbreviations dd{margin:0}.print-sheet .print-tip span,.print-sheet .print-action span{font-style:italic}.print-step,.print-sheet li,.print-abbreviations div{break-inside:avoid}.print-sheet h3{break-after:avoid;margin:.6em 0 .2em;font-size:8.5pt}.print-sheet li{margin-bottom:.3em}.print-sheet ul,.print-sheet ol{margin:.3em 0 .6em;padding-left:1.5em}.print-sheet ol{padding-left:2.2em}}.preview-mode{align-items:center;display:flex}.preview-mode:not(.tool-group){box-sizing:border-box;border-radius:calc(var(--control-height) / 2 + 2px);background:var(--track-fill);width:fit-content;max-width:100%;box-shadow:inset 0 0 0 1px var(--border);gap:2px;padding:2px}.preview-mode-label{margin-right:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.app .preview-mode button{box-shadow:none;color:var(--text-muted)}.app .preview-mode:not(.tool-group) button{min-width:2.75rem;height:calc(var(--control-height) - 4px);border-radius:var(--radius-pill);color:var(--text-secondary);background:0 0;border-color:#0000;justify-content:center}.app .preview-mode:not(.tool-group) button:hover:not(:disabled){background:var(--button-fill-hover);color:var(--text)}.app .preview-mode:not(.tool-group) button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow-control);color:var(--text);font-weight:600}@media (pointer:coarse){.app .preview-mode:not(.tool-group) button{height:var(--control-height)}}.number-stepper{align-items:center;gap:var(--space-1);box-sizing:border-box;border-radius:var(--radius-pill);background:var(--track-fill);width:fit-content;box-shadow:inset 0 0 0 1px var(--border);padding:4px;display:inline-flex}.app .number-stepper-button{width:calc(var(--control-height) - 8px);height:calc(var(--control-height) - 8px);background:var(--surface);box-shadow:var(--shadow-control);font-size:var(--text-lead);border-radius:50%;justify-content:center;padding:0;font-weight:600}.app .number-stepper-button:disabled{box-shadow:none}.number-stepper-value{text-align:center;min-width:2ch;font-size:var(--text-ui);font-variant-numeric:tabular-nums;font-weight:600}@media (pointer:coarse){.app .number-stepper-button{width:44px;height:44px}}.app input[type=checkbox].switch{border-radius:var(--radius-pill);background:var(--track-fill);cursor:pointer;appearance:none;flex:none;width:36px;height:20px;margin:0;transition:background-color .12s;position:relative}.app input[type=checkbox].switch:before{content:"";box-sizing:border-box;border:1px solid var(--line-control);background:var(--surface);width:16px;height:16px;box-shadow:var(--shadow-control);border-radius:50%;transition:transform .12s;position:absolute;top:2px;left:2px}.app input[type=checkbox].switch:checked{background:var(--accent)}.app input[type=checkbox].switch:checked:before{border-color:var(--text-on-accent);background:var(--text-on-accent);transform:translate(16px)}.app input[type=checkbox].switch:disabled{cursor:default;opacity:.5}@media (prefers-reduced-motion:reduce){.app input[type=checkbox].switch,.app input[type=checkbox].switch:before{transition:none}}.app input[type=range]{--fill:0;cursor:pointer;appearance:none;background:0 0;border:0;border-radius:0;height:24px;margin:0;padding:0}.app input[type=range]::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:linear-gradient(to right, var(--accent) calc(10px + (100% - 20px) * var(--fill)), var(--track-fill) 0);height:4px}.app input[type=range]::-moz-range-track{border-radius:var(--radius-pill);background:var(--track-fill);height:4px}.app input[type=range]::-moz-range-progress{border-radius:var(--radius-pill);background:var(--accent);height:4px}.app input[type=range]::-webkit-slider-thumb{border:1px solid var(--line-control);background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-control);appearance:none;border-radius:50%;margin-top:-8px}.app input[type=range]::-moz-range-thumb{box-sizing:border-box;border:1px solid var(--line-control);background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-control);border-radius:50%}@media (pointer:coarse){.app input[type=range]{height:44px}}.app input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),.app textarea{border-color:var(--border-strong);background-color:var(--field-fill)}.app input[type=search]{border-radius:var(--radius-pill);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b5f57' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");background-position:14px;background-repeat:no-repeat;padding-left:36px}.app input[type=search]::-webkit-search-cancel-button{cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b5f57' stroke-width='2.25' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") 50%/16px no-repeat;width:16px;height:16px;margin-right:2px}.app input[type=checkbox]:not(.switch),.app input[type=radio]{accent-color:var(--accent)}:where(.app) a{color:var(--accent-text);text-underline-offset:2px}:where(.app) a:hover{color:var(--accent-hover)}.app .picker-tile{border-radius:var(--radius-md);background:var(--tile-fill);border:0;font-weight:600}.app .picker-tile:hover:not(:disabled){background:var(--surface-subtle)}.app .picker-tile[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent-text)}.tool-group{gap:2px}.tool-group+.tool-group{margin-left:var(--space-1);padding-left:var(--space-1);border-left:1px solid var(--border-strong)}.app .tool-group button{height:var(--control-height-compact);border-radius:var(--radius-pill);color:var(--text);background:0 0;border-color:#0000;gap:6px;padding:0 8px;font-weight:500}.app .tool-group button:hover:not(:disabled){background:var(--surface-subtle)}.app .tool-group button[aria-pressed=true]{background:var(--ink);color:var(--text-on-ink);font-weight:600}.app .tool-group button[aria-pressed=true]:hover:not(:disabled){background:var(--text-secondary)}.tool-button .icon{display:none}.tool-button-view .icon,.tool-button-new .icon{display:block}.tool-button-view .tool-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app .tool-group button.tool-button-view{width:var(--control-height-compact);justify-content:center;padding:0}.app .preview-mode button:focus-visible{z-index:2}.workspace[hidden]{display:none}.app .primary-button{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent);font-weight:600}.app .primary-button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.app .strong-button{border-color:var(--ink);background:var(--ink);color:var(--text-on-ink);font-weight:600}.app .strong-button:hover:not(:disabled){border-color:var(--text-secondary);background:var(--text-secondary)}.app .quiet-button{background:0 0}.app .quiet-button:hover:not(:disabled){background:var(--surface-subtle)}.import-view{flex-direction:column;flex:1;min-height:0;display:flex}.import-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3) var(--space-5);padding:var(--space-4) var(--space-5) var(--space-3);flex-wrap:wrap;display:flex}.import-title{margin:0 0 var(--space-1);font-size:var(--text-title);font-weight:650}.import-help{max-width:44rem;color:var(--text-muted);font-size:var(--text-ui);margin:0;line-height:1.5}.import-actions{gap:var(--space-2);display:flex}.import-bar{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.import-mark{margin-right:calc(var(--space-2) * -1);display:flex}.import-name{font-size:var(--text-title-sm);margin:0;font-weight:650}.import-bar .import-steps{gap:var(--space-2);margin-inline:auto}.stepper.import-steps li,.stepper.import-steps li[aria-current=step]{box-shadow:none;background:0 0;padding:0}.import-steps li+li:before{content:"";width:2.25rem;height:2px;margin-right:var(--space-1);background:var(--border-strong);border-radius:1px}.import-steps li.is-done+li:before{background:var(--success)}.stepper{color:var(--text-muted);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:flex}.stepper li{align-items:center;gap:var(--space-2);display:flex}.stepper-n{box-sizing:border-box;border:1px solid var(--line-control);width:1.375rem;height:1.375rem;font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.stepper li[aria-current=step]{color:var(--text);font-weight:600}.stepper li[aria-current=step] .stepper-n{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.stepper li.is-done .stepper-n{border-color:var(--success);background:var(--success);color:var(--text-on-accent)}.stepper-across{gap:var(--space-1) var(--space-2);flex-wrap:wrap}.stepper-across li{padding:3px var(--space-3) 3px 3px;border-radius:var(--radius-pill)}.stepper-across li[aria-current=step]{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent)}.stepper-numbers li,.stepper-numbers li[aria-current=step]{box-shadow:none;background:0 0;padding:0}.stepper-down{gap:var(--space-2);flex-direction:column}.stepper-down li{align-items:flex-start}.app .import-cancel{margin-left:auto}.import-start{align-items:center;gap:var(--space-5);min-height:0;padding:var(--space-5) var(--space-4);flex-direction:column;flex:1;display:flex;overflow:auto}.import-start>*{box-sizing:border-box;width:min(100%,66rem)}.import-choice{gap:var(--space-2);border:0;flex-direction:column;flex:none;min-width:0;margin:0;padding:0;display:flex}.import-choice-title{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title);letter-spacing:-.01em;margin:0;padding:0;font-weight:600;line-height:1.15}.import-tiles{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.app .import-option{align-items:flex-start;gap:var(--space-3);height:auto;padding:var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font-size:inherit;text-align:left;cursor:pointer;flex-direction:column;line-height:1.4;display:flex;position:relative}.import-option:hover{border-color:var(--border-strong)}.import-option:has(input:checked){border-color:var(--accent);box-shadow:var(--shadow-control)}.import-option input{top:var(--space-4);right:var(--space-4);width:1.125rem;height:1.125rem;accent-color:var(--accent);margin:0;position:absolute}.import-option-icon{border-radius:var(--radius-md);background:var(--surface-subtle);width:2.5rem;height:2.5rem;color:var(--text-secondary);flex:none;place-items:center;display:inline-grid}.import-option:has(input:checked) .import-option-icon{background:var(--accent-soft);color:var(--accent-text)}.import-option-name,.import-option-about{display:block}.import-option-name{font-size:var(--text-body);font-weight:600}.import-option-about{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--text-sm);line-height:1.45}.import-path{gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-raised);border:0;flex-direction:column;flex:none;display:flex}.import-path .import-title{font-size:var(--text-title-sm);margin:0}.import-have{gap:var(--space-4) var(--space-5);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.import-have-files,.import-have-paste{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.import-drop{justify-content:center;align-items:center;gap:var(--space-2);min-height:13rem;padding:var(--space-4);border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-sunk);text-align:center;flex-direction:column;flex:1;display:flex}.import-drop.is-dragging{border-color:var(--accent);box-shadow:var(--focus-ring);border-style:dashed}.app .import-drop-button{align-items:center;gap:var(--space-3);height:auto;padding:var(--space-2);box-shadow:none;color:var(--text);background:0 0;border:none;flex-direction:column;font-weight:600;display:flex}.app .import-drop-button:hover:not(:disabled){color:var(--accent-text);background:0 0}.import-drop-icon{border-radius:var(--radius-md);background:var(--surface);width:3rem;height:3rem;box-shadow:var(--shadow-control);color:var(--accent);place-items:center;display:inline-grid}.import-drop-help{color:var(--text-muted);font-size:var(--text-sm);margin:0}.import-local{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);margin:0;display:flex}.import-paste-label{font-size:var(--text-sm);color:var(--text-secondary);margin:0;font-weight:600}.import-path-foot{justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.app .import-path-foot .link-button{min-height:24px;font-size:inherit}.app .import-path-foot .import-reads-badly{color:var(--accent-text);text-align:left;margin-right:auto}.import-lines{color:var(--text-muted);font-size:var(--text-sm)}@media (pointer:coarse){.app .import-path-foot .link-button{margin-block:-16px;padding-block:16px}}.app .import-convert{justify-content:center;align-items:center;gap:var(--space-2);min-width:7rem;display:inline-flex}.import-step-list{gap:var(--space-4);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.import-step{gap:var(--space-3);display:flex}.import-step.is-reply{flex:1}.import-step-n{background:var(--accent-soft);width:1.75rem;height:1.75rem;color:var(--accent-hover);font-size:var(--text-ui);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:flex}.import-step-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.import-step-title{font-size:var(--text-body);margin-top:.2rem;font-weight:600}.import-step-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.import-idea{box-sizing:border-box;width:100%;min-height:3.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-body);resize:vertical;line-height:1.4}.import-idea:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}@media (width<=699.98px){.import-steps{display:none}.import-start{gap:var(--space-4);padding:var(--space-3)}.import-path{padding:var(--space-3);box-shadow:none;background:0 0;border:0}.import-have{grid-template-columns:minmax(0,1fr)}.import-drop{min-height:0}.app .import-option{gap:var(--space-3);min-height:44px;margin-top:var(--space-2);flex-direction:row}}@media (width<=899.98px){.import-have{grid-template-columns:minmax(0,1fr)}.import-drop{min-height:8rem}}.import-ai{align-items:center;gap:var(--space-2) var(--space-3);max-width:44rem;margin-top:var(--space-2);flex-wrap:wrap;display:flex}.import-ai .import-help{flex:24rem}.import-ai strong{color:var(--text);font-weight:600}.import-ai button{flex:none}.import-paste{field-sizing:content;min-height:10rem;max-height:max(10rem,60vh);padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--editor-bg);color:var(--text);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-variant-ligatures:none;font-size:var(--text-body);resize:none;flex:1 0 auto;margin:0;line-height:1.75}.import-paste.is-dragging{border-color:var(--accent);box-shadow:var(--focus-ring);border-style:dashed}.import-file-note{align-items:flex-start;gap:var(--space-2);max-width:44rem;margin:var(--space-2) 0 0;font-size:var(--text-ui);line-height:1.5;display:flex}.import-file-note.is-problem{color:var(--warning)}.import-file-note svg{flex:none;margin-top:.2em}.import-paste:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.import-panes{min-height:0;margin:0 var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex:1;display:flex;overflow:hidden}@media (width<=699.98px){.import-panes{border-inline:0;border-radius:0;margin:0}}.import-view .cm-content{font-variant-ligatures:none}.import-found{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);font-size:var(--text-ui);font-weight:600;display:flex}.import-found .icon{color:var(--success)}.import-found.is-problem{color:var(--warning)}.import-found.is-problem .icon{color:inherit}.import-ask{font-size:var(--text-ui);align-self:center;font-weight:600}.import-pane{flex-direction:column;flex:50%;min-width:0;display:flex}.import-pane+.import-pane{border-left:1px solid var(--border)}.import-pane-switch{border-bottom:1px solid var(--border);background:var(--surface);display:flex}.app .import-pane-switch button{border:none;min-height:44px;box-shadow:none;color:var(--text-muted);background:0 0;border-bottom:3px solid #0000;border-radius:0;flex:1;justify-content:center;font-weight:600}.app .import-pane-switch button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--text)}.import-panes-one{min-height:12rem}.import-panes-one>.import-pane{flex-basis:100%;display:none}.import-panes-one>.import-pane+.import-pane{border-left:none}.import-panes-one.is-picture>.import-pane-picture,.import-panes-one.is-original>.import-pane-original,.import-panes-one.is-converted>.import-pane-converted{display:flex}.import-panes-one .import-pane-title{display:none}.import-pane-title{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:var(--text-sm);margin:0;font-weight:600;display:flex}.import-pane-note{color:var(--text-muted);margin-left:auto;font-weight:400}.source-pane .cm-editor{color:var(--text-muted)}.cm-unread-line{background:var(--warning-soft);box-shadow:inset 3px 0 0 var(--warning)}.cm-unread-line.cm-picked-line{background:var(--warning-line)}.import-unread{min-height:0;max-height:30vh;padding:var(--space-3) var(--space-5);font-size:var(--text-ui);flex:none;overflow-y:auto}.import-foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface);flex:none;display:flex}.import-foot .import-actions{justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;flex:1}.app .import-foot-back{align-items:center;gap:var(--space-2);margin-right:auto;display:inline-flex}.import-left{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--success-soft);color:var(--success);font-size:var(--text-sm)}.import-left.is-left{background:var(--warning-soft);color:var(--text)}.import-left.is-left:before{content:"";width:6px;height:6px;margin-right:var(--space-2);background:var(--warning);vertical-align:middle;border-radius:50%;display:inline-block}.import-foot .import-ask{flex:20rem}.import-unread-title,.import-unread-none{align-items:center;gap:var(--space-2);font-size:var(--text-ui);margin:0;font-weight:600;display:flex}.import-unread-title{color:var(--warning)}.import-unread-none .icon{color:var(--success)}.import-unread ul{margin:var(--space-2) 0 0;padding:0;list-style:none}.import-unread li{align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-1) 0;flex-wrap:wrap;display:flex}.import-unread-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.import-copy-note{margin:0 0 var(--space-2);font-size:var(--text-sm)}.import-unread-head .import-actions{flex-wrap:wrap}.import-unread-list li{margin-top:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--warning-soft);flex-wrap:nowrap}.import-unread-list .link-button{flex:none}.app .import-view li>.link-button{min-width:3rem;min-height:24px}@media (pointer:coarse){.app .import-view li>.link-button{min-width:44px;min-height:44px}}.import-unread-list .import-reason{flex:1;min-width:0}.import-unread-list .import-fix{margin-top:var(--space-1);color:var(--text);font-family:var(--font-ui);font-variant-numeric:tabular-nums;text-align:left;overflow-wrap:anywhere;display:block}.import-unread code{font-family:var(--font-ui);font-variant-numeric:tabular-nums}.import-reason{color:var(--text-muted);flex-basis:100%}.import-terms{max-width:44rem;margin-top:var(--space-2);padding:var(--space-3);background:var(--accent-soft);border:1px solid var(--border-strong);border-radius:var(--radius)}.import-terms-question{align-items:center;gap:var(--space-2);font-size:var(--text-ui);color:var(--warning);margin:0;font-weight:600;display:flex}.import-terms-signs{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-ui);padding-left:1.25rem}.import-terms .import-actions{margin-top:var(--space-2)}.import-terms-chosen{color:var(--text-muted);font-size:var(--text-ui);margin:.5rem 0 0}.cm-unsure-word{background:var(--highlight-soft);box-shadow:0 1px 0 var(--highlight-edge);border-radius:2px}.picture-pane{min-height:0;padding:var(--space-3);background:var(--surface-subtle);flex:1;overflow:auto}.picture-page{margin:0 0 var(--space-4)}.picture-page figcaption{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--text-sm);text-align:center}.picture-frame{background:var(--surface);border:0;position:relative}.picture-frame img{width:100%;height:auto;display:block}.app .picture-word{min-height:0;box-shadow:inset 0 -2px 0 var(--highlight-edge);cursor:pointer;background:#f0be1e47;border:0;border-radius:2px;padding:0;position:absolute}.app .picture-word:hover:not(:disabled),.app .picture-word:focus-visible{background:#f0be1e80;outline:none}.picture-picked{border:2px solid var(--accent);box-shadow:var(--focus-ring);pointer-events:none;border-radius:3px;position:absolute}.import-check-title{align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--warning);font-size:var(--text-ui);font-weight:600;display:flex}.import-check-help{margin:var(--space-1) 0 0;color:var(--text-muted)}.import-please-check label{align-items:baseline;gap:var(--space-2);cursor:pointer;flex:1;display:flex}.import-please-check input{flex:none}.import-please-check .is-ticked span{color:var(--text-muted);text-decoration:line-through}.tool-bar{box-sizing:border-box;border-radius:calc(var(--control-height-compact) / 2 + 4px);background:var(--surface);width:fit-content;max-width:100%;box-shadow:var(--shadow-raised);flex-wrap:wrap;align-items:center;row-gap:4px;padding:4px;display:flex}.tool-bar>.preview-mode{flex-wrap:nowrap}.preview-3d-wide,.tool-options,.make-sheet-head{--control-height:30px}.tool-options{margin-top:calc(-1 * var(--space-2));flex-direction:column;display:flex}.piece-panel{gap:var(--space-3);font-size:var(--text-sm);flex-direction:column;display:flex}.piece-panel-hint{font-size:var(--text-xs);color:var(--text-muted)}.piece-panel-fields{align-items:start;gap:var(--space-2) var(--space-4);grid-template-columns:max-content 1fr;display:grid}.piece-panel-fields>label,.piece-panel-fields>span{line-height:var(--control-height);color:var(--text-muted);font-size:var(--text-xs);font-weight:500}.app .piece-panel-fields input:not([type=checkbox]),.app .piece-panel-fields select{width:100%;max-width:18rem}.piece-panel-problem{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--warning)}.app .yarn-button{gap:var(--space-2)}.swatch-dot{border-radius:50%;width:14px;height:14px;display:inline-block;box-shadow:inset 0 0 0 1px #2b242033}.colour-picker{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3);background:var(--surface-subtle);border-radius:var(--radius);flex-direction:column;display:flex}.colour-picker-heading{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-weight:650}.swatches{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.app .swatch{width:26px;height:26px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;padding:0;font-weight:650;box-shadow:inset 0 0 0 1px #2b242033}.app .swatch:hover:not(:disabled){filter:brightness(.95)}.app .swatch[aria-pressed=true]{box-shadow:inset 0 0 0 1px #2b242033, 0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.app .swatch-unknown,.swatch-unknown{background:repeating-linear-gradient(45deg, var(--surface), var(--surface) 3px, var(--border) 3px, var(--border) 6px)}.colour-picker-own{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.colour-picker-own label{width:100%;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:650}.app .colour-picker-own input[type=text]{flex:1;min-width:8rem}.app .colour-picker-own input[type=color]{width:40px;padding:2px}.colour-picker-note{width:100%;font-size:var(--text-xs);color:var(--warning);margin:0}.library-groups{gap:var(--space-2);flex-direction:column;display:flex}.library-group-title{margin:0 0 var(--space-1);font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.shelf-menu{--tile-fill:var(--surface-subtle);gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(7.75rem,1fr));display:grid}.app .shelf-menu .picker-tile{text-align:left;white-space:normal;justify-content:flex-start;align-items:center;gap:10px;height:auto;min-height:44px;padding:5px 10px;display:flex}.app .shelf-menu .picker-tile:hover:not(:disabled){background:var(--surface-subtle-hover)}.app .shelf-menu .picker-tile[aria-pressed=true]{background:var(--accent-soft)}.picker-tile-icon{border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--accent);flex:none;place-items:center;display:grid}.picker-tile-words{flex-direction:column;min-width:0;display:flex}.picker-tile-name{font-size:var(--text-ui);color:var(--text);font-weight:600;line-height:1.25}.picker-tile-note{font-size:var(--text-xs);color:var(--text-muted);font-weight:400;line-height:1.3}.piece-panel-check{align-items:center;gap:var(--space-2);min-height:var(--control-height);font-size:var(--text-sm);display:flex}.app-mode{border-radius:var(--radius-pill);background:var(--surface-subtle);flex:none;gap:2px;padding:2px;display:flex}.app .app-mode button{height:calc(var(--control-height) - 4px);min-width:5rem;padding:0 var(--space-4);color:var(--text-secondary);font-size:var(--text-ui);background:0 0;border-color:#0000;justify-content:center}.app .app-mode button:hover:not(:disabled){background:var(--surface-subtle-hover);color:var(--text)}.app .app-mode button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow-control);color:var(--text);font-weight:600}@media (pointer:coarse){.app .app-mode button{height:var(--control-height)}}.make-view{flex:1;grid-template-columns:minmax(0,1fr) clamp(22rem,44%,46rem);min-height:0;display:grid}.make-sheet{min-height:0;padding:0 var(--space-5) var(--space-6);background:var(--editor-bg);overflow-y:auto}.make-steps{flex-direction:column;min-width:0;min-height:0;display:flex}.make-steps>.make-sheet{flex:1}.make-done-bar{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5) calc(var(--space-2) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--editor-bg);flex-wrap:wrap;flex:none;display:flex}.app button.make-done{min-height:3rem;padding:0 var(--space-5);border-radius:var(--radius-pill);font-size:var(--text-lead);box-shadow:var(--shadow-raised)}.make-done-note{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--ink);color:var(--text-on-ink);margin:0;display:flex}.app .make-done-note button{min-height:44px;box-shadow:none;color:var(--text-on-ink);background:#fffdf926;border-color:#0000;font-weight:650}.make-sheet-head{z-index:2;margin:0 calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5);background:var(--editor-bg);border-bottom:1px solid var(--border);position:sticky;top:0}.make-sheet-top{align-items:center;gap:var(--space-2);display:flex}.make-overall{min-width:0;font-size:var(--text-lead);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;flex:1;margin:0;font-weight:600}.make-piece{margin-top:var(--space-5);padding:var(--space-3) var(--space-4) var(--space-2);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:0}.make-piece-focus{border-color:var(--accent)}.make-hint{margin:var(--space-3) 0 0;font-size:var(--text-ui);color:var(--text-muted)}.make-piece-count{min-width:4.5rem;font-size:var(--text-ui);font-variant-numeric:tabular-nums;text-align:right;color:var(--text-muted);white-space:nowrap}.make-piece-inProgress .make-piece-progress{color:var(--accent-hover);font-weight:600}.make-piece-head{justify-content:space-between;align-items:baseline;gap:2px var(--space-3);flex-wrap:wrap;display:flex}.make-piece-head h2{font-size:var(--text-heading);flex:1;margin:0}.make-piece-kicker{order:1;margin:0}.make-piece-of,.make-piece-yarn,.make-piece-head .make-meter{display:none}.make-piece-meter{display:contents}.make-piece-meter .make-piece-count{order:2}.app .make-piece-name{height:auto;min-height:24px;box-shadow:none;font:inherit;letter-spacing:.02em;background:0 0;border:0;padding:0;font-weight:650}.app .make-piece-name:hover:not(:disabled){color:var(--accent);background:0 0}.make-count{color:var(--text-muted);font-weight:400}.make-piece-progress{font-size:var(--text-sm);color:var(--text-muted)}.make-copies{margin-top:var(--space-2)}.make-lines{margin:var(--space-2) 0 0;padding:0;list-style:none}.make-line{align-items:flex-start;gap:var(--space-3);margin:0 calc(-1 * var(--space-2));padding:var(--space-2);border-radius:var(--radius);border-left:3px solid #0000;transition:background-color .3s,border-left-color .3s;display:flex;position:relative}.make-line-text{font-size:var(--text-lead);margin:0;line-height:1.5}.app button.make-line-text{column-gap:var(--space-3);width:100%;height:auto;box-shadow:none;text-align:left;font-family:var(--font-ui);white-space:normal;border-radius:var(--radius-sm);background:0 0;border:0;grid-template-columns:5.25rem minmax(0,1fr) auto;grid-template-areas:"label body count";align-items:baseline;padding:0;display:grid}.app button.make-line-text:hover:not(:disabled){-webkit-text-decoration:underline dotted var(--border-strong);text-decoration:underline dotted var(--border-strong);background:0 0}.make-line-text strong{color:var(--accent);font-weight:650}.make-line-label{overflow-wrap:anywhere;grid-area:label;min-width:0}.make-line-body{grid-area:body;min-width:0}.make-line-count{color:var(--text-muted);font-size:var(--text-ui);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:count;justify-self:end}.make-label-stop{display:none}.make-line-main{flex:1;min-width:0}li.make-kind-text>.make-line-text{margin-left:calc(20px + var(--space-3));color:var(--text-muted);font-style:italic}li.make-kind-note>.make-line-text{margin-left:calc(20px + var(--space-3));padding:var(--space-1) var(--space-3);font-size:var(--text-body)}.make-kind-round,.make-kind-step{min-height:44px}.make-kind-round:before,.make-kind-step:before{content:"";left:calc(var(--space-2) + 21px);background:var(--border);width:2px;position:absolute;top:0;bottom:0}.make-line-done:before{background:var(--accent)}.app .make-mark{z-index:1;border-radius:var(--radius);width:44px;height:44px;box-shadow:none;color:var(--accent);background:0 0;border:0;flex:0 0 44px;justify-content:center;margin:-10px 0 0;padding:0;position:relative}.app .make-mark:hover:not(:disabled){background:var(--accent-soft)}.make-bead{border:2px solid var(--border-strong);background:var(--surface);width:24px;height:24px;color:var(--text-on-accent);font-size:var(--text-sm);border-radius:50%;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex}.make-mark-done .make-bead{border-color:var(--accent);background:var(--accent)}.make-mark-space{flex:0 0 44px}.make-marker-icon{flex:none;width:21px;height:28px}.make-line-done .make-line-text,.make-line-done .make-line-text strong{color:var(--text-muted)}.make-piece-focus .make-line-current{background:var(--accent-soft);border-left-color:var(--accent)}.make-line-found:not(.make-line-current){background:var(--selection)}.make-piece-focus .make-line-current .make-line-text,.make-piece-focus .make-line-current .make-line-text strong{color:var(--accent-hover)}.app .make-line .make-line-text,.make-line .make-line-text strong,.app .make-round{transition:background-color .3s,border-color .3s,box-shadow .3s,color .3s}@media (prefers-reduced-motion:reduce){.make-line,.app .make-line .make-line-text,.make-line .make-line-text strong,.app .make-round{transition:none}}.make-line-words{margin:var(--space-1) 0 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);background:var(--surface-subtle);font-size:var(--text-body);line-height:1.45}.make-step-how{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-ui);line-height:1.45}.make-new-stitches{margin-top:var(--space-2);padding:0 var(--space-3)}.make-new-stitches[open]{padding-bottom:var(--space-2)}.make-new-stitches>summary{cursor:pointer;min-height:24px;color:var(--accent);line-height:24px;font-size:var(--text-ui);font-weight:600}.make-new-stitch{max-width:36rem;margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-ui);line-height:1.45}.stitch-picture{max-width:36rem;margin:var(--space-2) 0 0}.stitch-picture img{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:auto;max-width:100%;height:auto;display:block}.stitch-picture figcaption{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--text-ui);line-height:1.45}.abbreviation-picture>summary{cursor:pointer;min-height:24px;color:var(--accent);line-height:24px;font-size:var(--text-sm)}.make-line .canvas-template{margin:var(--space-2) 0 0;font-size:var(--text-ui);color:var(--text-muted)}.make-line .canvas-template svg{max-width:100%;height:auto;display:block}.make-line .canvas-template-shape{fill:var(--surface);stroke:var(--text)}.make-reminders{gap:var(--space-1);margin:var(--space-1) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.make-reminder{align-items:center;gap:var(--space-1);padding:1px var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-sm);color:var(--text);display:inline-flex}.make-reminder-colour,.make-reminder-loop,.make-reminder-leaf{border-color:var(--warning);color:var(--warning)}.make-reminder-swatch{border:1px solid var(--border-strong);border-radius:50%;width:10px;height:10px}.make-rounds{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.app .make-round{height:auto;min-height:36px;padding:1px var(--space-3);gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--text-ui);color:var(--text-muted)}.app .make-round-done,.app .make-round-done:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.app .make-piece-focus .make-round-current{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent-hover)}.make-preview{gap:var(--space-3);min-height:0;padding:var(--space-3) var(--space-4) var(--space-4);background:var(--surface-subtle);border-left:1px solid var(--border);flex-direction:column;grid-area:1/2;display:flex}.make-preview-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.make-preview .make-preview-viewport{flex:1;height:auto;min-height:12rem}.make-preview-hint,.make-preview-key{font-size:var(--text-sm);color:var(--text-muted);margin:0}.make-preview-key{min-height:2.8em;line-height:1.4}.app .make-step-arrow{width:44px;height:44px;box-shadow:var(--shadow-raised);color:var(--accent);font-size:var(--text-title-sm);background:#fffdf9eb;border:0;border-radius:50%;justify-content:center;margin-top:-22px;padding:0;line-height:1;position:absolute;top:50%}.make-step-back{left:var(--space-2)}.make-step-next{right:var(--space-2)}.app .make-step-arrow:disabled{opacity:.4}.make-play{right:var(--space-2);bottom:var(--space-2);border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--border);background:#fffdf9eb;align-items:center;gap:2px;padding:3px;display:flex;position:absolute}.make-play .make-play-speed{height:26px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--text-secondary);background:0 0;background:var(--surface-subtle);min-width:4.5rem;border:none}.make-play .make-play-button,.make-play .make-play-all{background:var(--ink);width:30px;height:30px;color:var(--text-on-ink);font-size:var(--text-xs);border:none;border-radius:50%;justify-content:center;padding:0}.make-play .make-play-button:disabled,.make-play .make-play-all:disabled{opacity:.4}.make-preview-viewport .preview-3d-note{max-width:calc(100% - 20rem)}.make-step{align-items:center;gap:var(--space-2);height:2.5rem;padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius-lg);background:var(--surface);border:0;display:flex;position:relative}.make-step .make-step-home{font-size:var(--text-sm);flex:none}.app .make-preview-viewport .make-step-home{top:var(--space-2);left:var(--space-2);z-index:2;border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--border), var(--shadow-raised);font-size:var(--text-sm);position:absolute}.make-view-narrow{grid-template-rows:minmax(0,33%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.make-view-narrow.make-view-big{grid-template-rows:minmax(0,60%) minmax(0,1fr)}.app .make-grow{font-size:var(--text-heading);flex:none}.make-view-narrow.make-view-folded{grid-template-rows:auto minmax(0,1fr)}.make-view-narrow .make-steps{grid-row:2}.make-view-narrow .make-sheet{padding:0 var(--space-3) var(--space-5)}.make-view-narrow .make-sheet-head,.make-view-short .make-sheet-head{margin:0 calc(-1 * var(--space-3));padding:var(--space-2) var(--space-3)}.make-view-narrow .make-preview{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-left:none;border-bottom:1px solid var(--border);grid-area:1/1}.make-view-short .make-preview{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.make-view-short .make-sheet{padding:0 var(--space-3) var(--space-5)}.make-view-narrow .make-done-bar,.make-view-short .make-done-bar{padding-right:var(--space-3);padding-left:var(--space-3)}.make-view-narrow .make-preview-head,.make-view-short .make-preview-head{justify-content:flex-start;gap:var(--space-2);flex-wrap:nowrap;overflow-x:auto}.make-view-narrow .make-preview-head>*,.make-view-short .make-preview-head>*{flex:none}.make-view-narrow .make-preview .make-preview-viewport{min-height:6rem}.app .make-view-narrow .make-step-arrow{top:auto;bottom:var(--space-2);margin-top:0}.app .make-view-narrow .make-step-next{right:auto;left:calc(var(--space-2) + 52px)}.app .make-view button.make-view-menu{justify-content:space-between;gap:var(--space-2);flex:auto;min-width:0;display:flex}.make-view-menu .toolbar-menu-button-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.make-view-narrow .make-preview-viewport .preview-3d-note{top:var(--space-2);max-width:calc(100% - 8rem);bottom:auto}.app .make-fold{margin-left:auto}.make-fold span{font-size:var(--text-xs)}.make-preview-folded .make-preview-head,.make-preview-folded .make-preview-viewport,.make-preview-folded .make-preview-hint,.make-preview-folded .make-preview-key{display:none}.make-view-narrow .make-preview-folded:not(:has(.make-step)){display:none}.make-step.make-step-bare{justify-content:center;height:3rem}.make-step-mark{background:var(--accent-ring);color:inherit;box-shadow:0 0 0 1px var(--accent);border-radius:3px}.make-dialog-backdrop{z-index:20;padding:var(--space-4);background:var(--backdrop);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.make-dialog{background:var(--surface);border-radius:var(--radius-lg);width:min(36rem,100%);max-height:85vh;box-shadow:var(--shadow-overlay);border:0;flex-direction:column;display:flex}.make-dialog header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.make-dialog h2{font-size:var(--text-title-sm);margin:0}.dialog-backdrop-sheet{background:var(--backdrop-light);justify-content:flex-end;align-items:stretch}.make-dialog.dialog-sheet{width:min(30rem,100%);max-height:none}.make-dialog-body{padding:var(--space-2) var(--space-4) var(--space-4);line-height:1.5;overflow-y:auto}.make-dialog h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-lead)}.make-dialog ol{padding-left:var(--space-5)}.make-safety{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--safety);background:var(--surface);font-size:var(--text-ui);line-height:1.45}.make-dialog ul.make-materials{margin:var(--space-2) 0 var(--space-3);padding:0;list-style:none}.make-materials label{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);cursor:pointer;padding:6px 0;display:flex}.make-materials input{width:18px;height:18px;accent-color:var(--accent);margin:0}.make-materials input:checked~.make-materials-name{color:var(--text-muted);text-decoration:line-through}.make-materials-name{flex:1;min-width:0}.make-materials-amount{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto}.make-materials-total{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}.make-materials-swatch,.make-yarn-swatch{border-radius:50%;flex:none;width:16px;height:16px;box-shadow:inset 0 0 0 1px #2b242033}.make-dialog-notes{margin-top:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--text-muted)}.make-dialog-notes h3{font-size:var(--text-ui)}.make-yarns-about{margin:0 0 var(--space-3);font-size:var(--text-ui);color:var(--text-muted)}.make-dialog ul.make-yarns{margin:0 0 var(--space-3);padding:0;list-style:none}.make-yarn{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr) auto;display:grid}.make-yarn-theirs,.make-yarn-yours{align-items:center;gap:var(--space-2);min-width:0;display:flex}.make-yarn-theirs{overflow-wrap:anywhere}.make-yarn-arrow{color:var(--text-muted)}.make-yarn-colour{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;appearance:none;flex:none;width:44px;height:44px;padding:3px}.app input.make-yarn-colour{padding:3px}.make-yarn-colour::-webkit-color-swatch-wrapper{padding:0}.make-yarn-colour::-webkit-color-swatch{border-radius:calc(var(--radius) - 2px);border:none}.make-yarn-colour::-moz-color-swatch{border-radius:calc(var(--radius) - 2px);border:none}.make-yarn-name{min-width:0;min-height:44px;color:var(--text-muted);overflow-wrap:anywhere;flex:1;align-items:center;display:flex}.make-yarn-swapped .make-yarn-name{color:var(--text);font-weight:600}.app .make-yarn-reset,.app .make-yarns-reset-all{min-height:44px}.make-notes p{margin:var(--space-2) 0 var(--space-3);overflow-wrap:anywhere}.make-notes-compact p{margin:2px 0}.make-notes a,.make-abbreviations a{color:var(--accent)}.callout-tip .make-note-label{background:var(--tip-line);color:var(--tip)}.make-note-label{margin-right:var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-hover);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;padding:0 6px;font-weight:650;display:inline-block}.make-keys{border-collapse:collapse;width:100%}.make-keys th,.make-keys td{padding:6px var(--space-2);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.make-keys th{white-space:nowrap;width:40%;font-weight:400}.make-keys th span{color:var(--text-muted);font-size:var(--text-sm)}.make-keys kbd{border:1px solid var(--border-strong);background:var(--surface-subtle);font-family:var(--font-ui);font-size:var(--text-sm);border-bottom-width:2px;border-radius:4px;padding:1px 6px}.app input.abbreviations-search{box-sizing:border-box;width:100%;height:36px;margin-top:var(--space-2);font-size:var(--text-ui)}.abbreviations-none{color:var(--text-muted)}.make-abbreviations{width:100%;margin-top:var(--space-2);border-collapse:collapse}.make-abbreviations thead th{top:calc(-1 * var(--space-2));z-index:1;padding:6px var(--space-2);background:var(--surface);border-bottom:1px solid var(--border-strong);font-size:var(--text-xs);text-align:left;color:var(--text-muted);font-weight:650;position:sticky}.make-abbreviations tbody th,.make-abbreviations td{padding:5px var(--space-2);text-align:left;vertical-align:top}.make-abbreviations tbody th{white-space:nowrap;font-weight:700}.make-abbreviations tbody tr:nth-child(2n){background:var(--surface-subtle)}.make-abbreviations tr.make-abbreviations-group th{padding-top:var(--space-3);background:var(--surface);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-weight:650}.app .make-abbreviations-all{margin-top:var(--space-3)}.abbreviations-sheet header{padding:var(--space-5) var(--space-4) var(--space-3) var(--space-5);border-bottom:0}.abbreviations-sheet header h2{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title-sm);font-weight:600;display:flex}.abbreviations-terms{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-subtle);color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:0;font-weight:600}.abbreviations-top{padding:0 var(--space-5) var(--space-3);border-bottom:1px solid var(--border);flex:none}.app .abbreviations-top input.abbreviations-search{height:44px;font-size:var(--text-body);margin-top:0}.abbreviations-count{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.make-dialog-body.abbreviations-body{min-height:0;padding:var(--space-2) var(--space-5) var(--space-5);flex:1}.abbreviations-group h3{margin:var(--space-4) 0 var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.abbreviations-group dl{gap:var(--space-1) var(--space-3);grid-template-columns:auto minmax(0,1fr);margin:0;display:grid}.abbreviations-group.is-found dl{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--warning-soft)}.abbreviations-entry{display:contents}.abbreviations-entry dt{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-subtle);white-space:nowrap;place-self:start;font-weight:650}.abbreviations-group.is-found .abbreviations-entry dt{background:var(--accent-soft);color:var(--accent-text)}.abbreviations-entry dd{margin:0 0 var(--space-2);color:var(--text-secondary);line-height:1.45}.abbreviations-group mark{background:var(--highlight-soft);color:inherit;border-radius:3px}.make-dialog ol.make-assembly{margin:var(--space-2) 0 0;padding:0;list-style:none}.make-assembly li{gap:var(--space-2);border-radius:var(--radius);border-left:3px solid #0000;display:flex}.make-assembly li>button{align-items:flex-start;gap:var(--space-2);width:100%;height:auto;padding:var(--space-1) var(--space-2);border-radius:inherit;font:inherit;line-height:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.make-assembly-note{padding:var(--space-1) var(--space-2)}.make-assembly li>button:hover{background:var(--surface-subtle)}.make-assembly-mark{font-variant-numeric:tabular-nums;text-align:right;flex:none;width:1.5rem;font-weight:650}.make-assembly-mark svg{vertical-align:-2px}.make-assembly-text{min-width:0}.make-assembly-crochet{font-size:var(--text-ui);color:var(--text-muted)}.make-assembly-crochet .make-assembly-mark{font-weight:400}.make-assembly-where{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600;display:block}.make-assembly-done{opacity:.55}.make-assembly-done .make-assembly-mark{color:var(--accent)}.make-assembly-current{background:var(--accent-soft);border-left-color:var(--accent);opacity:1}.make-assembly-current,.make-assembly-current .make-assembly-text{color:var(--accent-hover)}@media print{.app>.make-view{display:none}}.make-step-tag{margin-right:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-subtle);border:1px solid var(--border-strong);font-size:var(--text-xs);vertical-align:1px;color:var(--text-muted);font-weight:600;line-height:1.5;display:inline-block}.make-step-tag.make-reminder-stuff,.make-step-tag.make-reminder-eyes,.make-step-tag.make-reminder-nose{border-color:var(--warning);color:var(--warning)}.preview-3d-stage{gap:var(--space-3);flex-direction:column;display:flex}.workspace-wide .pattern-editor{flex:0 40%;min-width:22rem;max-width:46rem}.workspace-wide .side-panel{min-width:0;padding:var(--space-3);background:var(--bg);flex:1 1 0;overflow:hidden}.workspace-wide:not(.workspace-tablet){padding:0 var(--space-4) var(--space-4)}.workspace-wide:not(.workspace-tablet)>.pattern-editor{border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-basis:clamp(26.25rem,31%,30rem);overflow:hidden}.workspace-wide:not(.workspace-tablet)>.pane-divider{flex-basis:var(--space-4);margin:0}.workspace-wide:not(.workspace-tablet)>.pane-divider:after{background:0 0;left:calc(50% - 1px)}.workspace-wide:not(.workspace-tablet)>.pane-divider:is(:hover,:focus-visible,[data-dragging=true]):after{background:var(--accent)}.workspace-wide:not(.workspace-tablet)>.side-panel{border-left:0;padding:0}.workspace-wide:not(.workspace-tablet)>.right-panel{margin-left:var(--space-4);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);border-left:0}.workspace-wide .panel-3d{flex-direction:column;flex:1;min-height:0;display:flex}.preview-3d-wide{flex:1;min-height:0}.preview-3d-wide .preview-3d-stage{background:var(--surface-subtle);border-radius:var(--radius-lg);flex:1;gap:0;min-height:0;position:relative;overflow:hidden}.preview-3d-viewport,.preview-3d-stage .tool-bar{-webkit-user-select:none;user-select:none}.preview-3d-wide .preview-3d-viewport{min-width:0;height:auto;min-height:0;box-shadow:none;border-radius:0;flex:1}.preview-3d-wide .tool-bar{top:var(--space-3);left:var(--space-3);z-index:3;max-width:calc(100% - 2 * var(--space-3));position:absolute}.preview-3d-wide .preview-3d-overlay{top:var(--overlay-top,var(--space-3));right:var(--space-3);align-items:center}.preview-3d-wide .preview-3d-overlay:has(>.first-design:not(.first-design-folded)){align-items:flex-start}.add-picker{gap:var(--space-2);box-sizing:border-box;padding:var(--space-3) var(--space-4) var(--space-2) var(--space-5);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex}.preview-3d-wide .add-picker{top:var(--picker-top,auto);bottom:var(--picker-bottom,auto);left:var(--picker-left,var(--space-3));z-index:4;width:min(38rem, calc(100% - var(--picker-left,var(--space-3)) - var(--space-3)));max-height:calc(100% - var(--picker-room,0px) - var(--space-3));position:absolute;overflow-y:auto}.add-picker-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.add-picker-title{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-heading);color:var(--text);margin:0;font-weight:600}.placement-switch{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex}.add-picker .preview-placement-status{padding:0}.right-panel{box-sizing:border-box;background:var(--surface-subtle);border-left:1px solid var(--border);flex-direction:column;flex:none;width:clamp(20rem,25vw,26rem);min-width:0;min-height:0;display:flex;overflow:hidden}.right-tab{gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-3) var(--space-4) var(--space-6);flex-direction:column;flex:1;display:flex;overflow:clip auto}.right-tab[hidden]{display:none}.right-properties{gap:var(--space-4);flex-direction:column;display:flex}.right-properties .tool-options{margin-top:0}.library{gap:var(--space-2);flex-direction:column;display:flex}.app .shelf-menu button[draggable=true]{cursor:grab}.library-ask{z-index:50;gap:var(--space-2);box-sizing:border-box;width:272px;padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);border:0;flex-direction:column;display:flex;position:fixed}.library-ask-title{margin:0 0 var(--space-1);flex-direction:column;display:flex}.library-ask-name{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-lead);letter-spacing:-.01em;font-weight:600}.library-ask-where{color:var(--text-muted);font-size:var(--text-xs)}.library-ask-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.library-ask-size{width:100%}.library-ask-field{justify-content:center;align-items:baseline;gap:var(--space-1);min-width:0;padding:0 var(--space-3);border:1.5px solid var(--accent);border-radius:var(--radius-md);background:var(--surface);flex:1;display:flex}.library-ask-field:focus-within{box-shadow:var(--focus-ring)}.app .library-ask-size input,.library-ask-size input{width:4ch;min-width:0;height:calc(var(--control-height) - 8px);box-shadow:none;font-size:var(--text-title-sm);font-variant-numeric:tabular-nums;text-align:right;appearance:textfield;background:0 0;border:0;outline:none;padding:0;font-weight:600}.library-ask-size input::-webkit-inner-spin-button{appearance:none;margin:0}.library-ask-size input::-webkit-outer-spin-button{appearance:none;margin:0}.library-ask-unit{color:var(--text-muted)}.library-ask-note{align-items:flex-start;gap:var(--space-1);min-height:1.2em;color:var(--text-muted);margin:0;display:flex}.library-ask-note>.icon{color:var(--success);flex:none;margin-top:.15em}.library-ask-note b{color:var(--text)}.library-ask-note.is-wrong{color:var(--warning)}.library-ask-buttons{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-1);display:flex}.outline-empty{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunk);color:var(--text-secondary);text-align:center;margin:0}.outline{gap:var(--space-1);min-width:0;font-size:var(--text-sm);flex-direction:column;display:flex}.outline-pieces,.outline-items{margin:0;padding:0;list-style:none}.outline-piece{border-radius:var(--radius)}.outline-piece.is-current,.app .outline-piece.is-current .outline-piece-name{background:var(--accent-soft)}.app .outline-item[aria-current]{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent);color:var(--text)}.outline-drop-before{box-shadow:inset 0 2px 0 var(--accent)}.outline-drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.outline-piece-row{align-items:center;display:flex}.app .outline-toggle,.app .outline-piece-name,.app .outline-item{border-radius:var(--radius);box-shadow:none;background:0 0;border:none}.app .outline-toggle{width:22px;color:var(--text-muted);padding:0}.app .outline-piece-name{align-items:center;gap:var(--space-2);min-width:0;padding:0 var(--space-2) 0 0;color:var(--text);cursor:grab;text-align:left;flex:1;display:flex}.outline-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.outline-check{font-size:var(--text-xs);white-space:nowrap;margin-left:auto}.outline-count{padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunk);color:var(--text-secondary);font-size:var(--text-xs);flex:none;font-weight:600}.outline-size{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;margin-left:auto}.outline-size+.outline-check{margin-left:0}.outline-piece-name>.swatch-dot,.outline-piece-name>.icon{flex:none}.outline-piece-name>.icon{color:var(--text-muted)}.outline-check-ok{color:var(--success)}.outline-check-warning{color:var(--warning)}.outline-check-error{color:var(--error)}.outline-items{padding:0 0 var(--space-1) 22px}.app .outline-item{gap:var(--space-2);width:100%;height:24px;padding:0 var(--space-2);color:var(--text-muted);font-size:var(--text-xs);text-align:left;white-space:nowrap;display:flex;overflow:hidden}.app .outline-item:hover:not(:disabled){background:var(--surface);color:var(--text)}.outline-item-label{text-overflow:ellipsis;overflow:hidden}.outline-item-rounds .outline-item-label{color:var(--text);flex:none;font-weight:500}.outline-item-detail{text-overflow:ellipsis;overflow:hidden}.outline-piece[data-depth]{margin-left:calc(var(--outline-depth,1) * 14px);border-left:1px solid var(--border)}.outline-item-mark .outline-item-label,.outline-rounds-toggle .outline-item-label{color:var(--text);flex:none;font-weight:500}.outline-hint{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.cm-piece-summary{margin-left:var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-muted);font-style:normal;font-weight:400}.app .cm-folded-piece{height:auto;margin-left:var(--space-2);padding:0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);font-family:var(--font-ui);font-size:var(--text-xs);font-style:normal;line-height:1.5}.cm-move-handle{cursor:grab;width:14px;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-sm);touch-action:none;-webkit-user-select:none;user-select:none;display:none}.cm-move-handle:hover{color:var(--accent)}.cm-activeLineGutter .cm-heading-tools .cm-move-handle,.cm-gutterElement:hover .cm-heading-tools .cm-move-handle{display:inline-block}.cm-activeLineGutter .cm-heading-tools .cm-kind,.cm-gutterElement:hover .cm-heading-tools .cm-kind{display:none}.cm-line.cm-move-before{box-shadow:inset 0 2px 0 var(--accent)}.cm-line.cm-move-after{box-shadow:inset 0 -2px 0 var(--accent)}.app .cm-fold-arrow{border-radius:var(--radius-sm);width:24px;height:24px;box-shadow:none;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-body);vertical-align:.15em;background:0 0;border:none;justify-content:center;margin-left:-2px;padding:0;font-weight:400}.app .cm-fold-arrow:before{content:"▸"}.app .cm-fold-arrow.is-open:before{content:"▾"}.app .cm-fold-arrow:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-hover)}@media (pointer:coarse){.app .cm-fold-arrow{width:44px;height:44px;min-height:0;margin:-10px -10px -10px -12px}}.pattern-editor .cm-editor .cm-gutterElement.cm-heading-gutter{line-height:calc(var(--text-title-sm) * 1.9)}.pattern-editor .cm-kind-gutter .cm-gutterElement{padding:0 1px}.cm-kind{vertical-align:-2px;color:var(--text-disabled);display:inline-flex}.cm-kind-heading,.cm-kind-yarn,.cm-kind-colour{color:var(--accent)}.cm-kind-tip,.cm-kind-note,.cm-kind-pinned{color:var(--warning)}.pattern-editor .cm-editor .cm-callout{border-left:3px solid var(--tip-line);background:var(--tip-soft)}.pattern-editor .cm-editor .cm-callout-pinned{border-left-color:var(--accent);background:var(--accent-soft)}.cm-insert-row{padding:0 0 var(--space-1) var(--space-2)}.app .cm-insert-button{height:24px;padding:0 var(--space-2);border:1px dashed var(--border-strong);border-radius:var(--radius-pill);box-shadow:none;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-xs);opacity:.75;background:0 0;font-style:normal}.app .cm-insert-button:hover{border-color:var(--accent);color:var(--accent-hover);opacity:1}.pattern-editor .cm-editor .cm-kind-gutter{overflow:visible}.app .cm-round-menu{border-radius:var(--radius-sm);width:24px;height:24px;box-shadow:none;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-ui);vertical-align:-2px;visibility:hidden;background:0 0;border:none;justify-content:center;margin:0 -5px;padding:0}.app .cm-activeLineGutter .cm-round-menu,.app .cm-gutterElement:hover .cm-round-menu,.app .cm-round-menu:focus-visible{visibility:visible}.app .cm-round-menu:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-hover)}@media (pointer:coarse){.app .cm-round-label{-webkit-text-decoration:underline dotted var(--border-strong);text-decoration:underline dotted var(--border-strong);text-underline-offset:3px}}.delete-round{flex-direction:column;max-width:20rem;display:flex}.delete-round-line{margin:2px var(--space-2);padding:2px var(--space-2);border-radius:var(--radius);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:var(--text-xs);overflow-wrap:anywhere}.delete-round-taken{background:var(--error-soft);color:var(--error);text-decoration:line-through}.delete-round-written{background:var(--accent-soft)}.delete-round-note{margin:var(--space-1) var(--space-2) 0;font-size:var(--text-xs);color:var(--text-muted)}.delete-round-actions{gap:var(--space-1);margin:var(--space-2) var(--space-1) var(--space-1);display:flex}.insert-menu .delete-round-actions button{flex:1;justify-content:center}.pick-detail-delete,.pick-detail-opening{margin-top:var(--space-2)}.insert-menu{max-height:60vh;color:var(--text);z-index:50;min-width:12rem;max-width:18rem;padding:var(--space-1);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay), 0 0 0 1px var(--border);font-family:var(--font-ui);font-size:var(--text-sm);flex-direction:column;display:flex;position:fixed;overflow-y:auto}.insert-menu button{height:28px;padding:0 var(--space-2);border-radius:var(--radius);cursor:pointer;font:inherit;box-shadow:none;color:var(--text);text-align:left;background:0 0;border:none;justify-content:flex-start;align-items:center;display:flex}.insert-menu button:disabled{cursor:default;color:var(--text-muted);opacity:.55}.insert-menu button:hover:not(:disabled),.insert-menu button:focus-visible{background:var(--accent-soft);color:var(--accent-hover)}.insert-menu-title{margin:var(--space-1) var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.insert-menu-message{max-width:16rem;margin:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--warning)}.round-menu{flex-direction:column;display:flex}@media (pointer:coarse){.insert-menu button{height:auto;min-height:44px}}.pattern-keys{z-index:50;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);background:var(--surface);font-family:var(--font-ui);font-size:var(--text-ui);scrollbar-width:none;display:flex;position:fixed;left:0;right:0;overflow-x:auto}.pattern-keys button{min-width:48px;height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text);cursor:pointer;font:inherit;touch-action:manipulation;border:none;flex:none;font-weight:600}.pattern-keys button:active{background:var(--surface-subtle-hover)}.pattern-editor.pattern-keys-up{padding-bottom:calc(44px + 2 * var(--space-2) + 1px)}.pin-note-text{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:flex}.app .pin-note-text input{flex:1;min-width:10rem}.app .outline-toggle{justify-content:center;min-width:24px;height:26px}.app .outline-piece-name{height:32px}.right-properties .paint-options,.right-properties .preview-mode{row-gap:var(--space-1);flex-wrap:wrap}.right-properties .tool-options,.right-properties .piece-panel{min-width:0}.pattern-pane{flex-direction:column;display:flex}.pattern-pane>.pattern-text{flex:1;min-height:0}.pattern-text .cm-editor{height:100%}.editor-bar{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--editor-bg);flex-wrap:wrap;flex:none;display:flex}.pane-divider{z-index:2;cursor:col-resize;touch-action:none;background:0 0;flex:0 0 6px;margin:0 -3px;position:relative}.pane-divider:after{content:"";background:var(--border);width:2px;transition:background-color .12s;position:absolute;top:0;bottom:0;left:2px}.pane-divider:hover:after,.pane-divider:focus-visible:after,.pane-divider[data-dragging=true]:after{background:var(--accent)}.pane-divider:focus-visible{outline:none}.workspace-wide .pattern-editor.pattern-sized{max-width:none}.snap-panel{gap:var(--space-2);padding:var(--space-2) var(--space-1) 0;flex-direction:column;display:flex}.snap-head{align-items:flex-start;gap:var(--space-2);display:flex}.snap-panel .snap-steps{flex:auto;min-width:0}.snap-steps li{min-width:0;max-width:100%}.snap-steps li.is-done{background:var(--success-soft);color:var(--text);font-weight:400}.snap-steps li.is-done .stepper-label{align-items:center;gap:var(--space-2);min-width:0;display:flex}.snap-chip-words{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app .snap-change{font-size:var(--text-xs);color:var(--text-muted);flex:none}.app .snap-help-toggle{border-radius:50%;flex:none;width:32px;min-width:32px;height:32px;margin-left:auto;padding:0;font-weight:600}.snap-help{font-size:var(--text-sm);color:var(--text-muted);margin:0}.snap-body{align-items:flex-start;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.snap-main{gap:var(--space-2);flex-direction:column;flex:16rem;min-width:0;display:flex}.snap-side{align-items:flex-start;gap:var(--space-2);flex-direction:column;flex:0 15rem;min-width:0;display:flex}.snap-panel .preview-placement-status{margin:0}.snap-place{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.snap-place-hint{font-size:var(--text-xs);color:var(--text-muted)}.snap-warning{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--warning-soft);color:var(--text);font-size:var(--text-sm);display:flex}.snap-warning>svg{color:var(--warning);flex:none}.snap-warning-words{flex:auto}.app .snap-warning button{background:var(--surface);flex:none}.sewn-piece-options{align-items:center;gap:var(--space-1) var(--space-3);padding-top:var(--space-1);border-top:1px solid var(--border);flex-wrap:wrap;flex:100%;display:flex}.sewn-piece-name{font-size:var(--text-sm);color:var(--text);font-weight:600}.sewn-piece-options .sewn-take-off{margin-left:auto}.snap-group{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.snap-panel .snap-actions{padding-top:var(--space-2);border-top:1px solid var(--border);align-items:center}.snap-step-now{font-size:var(--text-sm);color:var(--text-muted);flex:12rem;margin:0}.app .snap-sew{align-items:center;gap:var(--space-1);display:inline-flex}.snap-actions .preview-mode{margin-right:var(--space-3)}.edge-diagram{align-items:flex-start;gap:var(--space-2) var(--space-4);flex-wrap:wrap;width:100%;display:flex}.edge-diagram-figure{align-items:center;gap:var(--space-1);max-width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunk);flex-direction:column;flex:0 auto;margin:0;display:flex}.edge-diagram-words{max-width:18rem;font-size:var(--text-xs);color:var(--text-muted);margin:0}.edge-diagram-piece{max-width:100%;height:auto;fill:var(--text-muted);touch-action:none;font-size:10px}.edge-diagram-row{fill:var(--surface-subtle);stroke:var(--border);stroke-width:.5px}.edge-diagram-edge{cursor:pointer}.edge-diagram-edge:focus{outline:none}.edge-diagram-edge:focus-visible .edge-diagram-hit{stroke:var(--focus-ring);stroke-opacity:.5}.edge-diagram-edge.edge-on .edge-diagram-hit{stroke:var(--accent);stroke-opacity:.15}.edge-diagram-hit{fill:none;stroke:#0000;stroke-width:12px;stroke-linecap:round}.edge-diagram-line{pointer-events:none;fill:none;stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:3 3}.edge-diagram-edge.edge-on .edge-diagram-line,.edge-diagram-line.place-on{stroke:var(--accent);stroke-width:3.5px;stroke-dasharray:none}.edge-diagram-line.place-dragged{stroke:var(--accent-hover);stroke-width:3.5px;stroke-dasharray:2 2}.edge-diagram-edge:hover .edge-diagram-line{stroke:var(--accent-hover)}.edge-diagram-kinds{gap:var(--space-1);flex-direction:column;flex:18rem;min-width:0;display:flex}.edge-diagram-kinds-title{font-size:var(--text-xs);color:var(--text-muted);margin:0;font-weight:600}.edge-diagram-tiles{gap:var(--space-1);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));display:grid}.app .edge-diagram-tiles button{align-items:center;gap:var(--space-2);height:auto;min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--surface-subtle);text-align:left;border-color:#0000;display:flex}.app .edge-diagram-tiles button:hover:not(:disabled){background:var(--surface-subtle-hover)}.app .edge-diagram-tiles button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.edge-kind-words{flex-direction:column;min-width:0;line-height:1.25;display:flex}.edge-kind-name{color:var(--text);font-weight:600}.edge-kind-note{font-size:var(--text-xs);color:var(--text-muted)}@media (height<=820px) and (width>=700px){.edge-diagram-piece{width:auto;max-height:7.5rem}.snap-panel,.snap-main,.snap-side{gap:var(--space-1)}.snap-pair-note,.snap-place-hint{display:none}}@container tool-strip (width<=22rem){.snap-panel{gap:var(--space-1);padding:var(--space-1) 0 0}.snap-steps li:not([aria-current=step],.is-done) .stepper-label,.snap-steps .snap-chip-words{display:none}.snap-steps li:not([aria-current=step],.is-done){padding-right:3px}.snap-panel .snap-group{gap:var(--space-1)}.snap-panel .snap-pair{gap:6px}.snap-pair-note,.snap-place-hint{display:none}.snap-panel .snap-step-now{font-size:var(--text-xs);flex-basis:100%;line-height:1.3}.snap-panel:not([data-step="0"]) .snap-edges{display:none}.snap-panel .edge-diagram-piece{max-height:4.5rem}.app .snap-panel button{padding:0 var(--space-2);font-size:var(--text-sm)}.tool-options .snap-panel .snap-actions{gap:var(--space-1);padding:2px 0}.tool-options .snap-actions .preview-mode{flex-wrap:nowrap;margin-right:0}.snap-actions .preview-mode-label,.snap-actions .turn-control-name{display:none}.snap-panel .preview-placement-status{font-size:var(--text-xs);line-height:1.3}}.snap-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.tool-options .snap-actions{z-index:1;padding:var(--space-1) 0;background:var(--tool-strip-bg,var(--surface));flex:100%;position:sticky;bottom:0}.app .pair-picked{white-space:nowrap;flex:none}.snap-pair{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);display:flex}.snap-pair-words{flex-direction:column;font-weight:600;display:flex}.snap-pair-note{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.preview-3d-wide .tool-options{--tool-strip-bg:var(--surface);left:var(--tray-left,var(--space-3));bottom:var(--tray-bottom,var(--space-3));z-index:2;width:fit-content;max-width:var(--tray-room,calc(100% - var(--cube-room,0px) - 3 * var(--space-3)));box-sizing:border-box;height:auto;max-height:12rem;padding:var(--space-1) var(--space-4) var(--space-2);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-raised);margin:0;position:absolute;overflow-y:auto}.preview-3d-wide .tool-options:empty{display:none}.preview-3d-wide .tool-options.tool-options-tall{left:var(--tray-room-left,var(--space-3));width:var(--tray-room,calc(100% - var(--cube-room,0px) - 3 * var(--space-3)));max-width:none;max-height:min(50%, calc(100% - var(--tray-top,8px) - var(--tray-bottom,12px)));container:tool-strip/inline-size}.preview-3d-wide .tool-options.tool-options-tall.tool-options-embroider,.preview-3d-wide .tool-options.tool-options-tall.tool-options-face{max-height:min(60%, calc(100% - var(--tray-top,8px) - var(--tray-bottom,12px)))}.tool-options .shape-reach{flex-wrap:wrap;flex:0 auto;min-width:0}.tool-options .shape-reach label{white-space:nowrap}.tool-options .shape-reach input{flex:none;width:7rem}.tool-options .shape-reach output{min-width:0}.face-options{gap:var(--space-2);flex-direction:column;display:flex}.app .link-button.face-link{min-height:24px}.tray-group{align-items:center;gap:var(--space-2);display:flex}.tray-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.app .workspace-wide:not(.workspace-tablet) .tool-options-tall .colour-picker{gap:var(--space-1);padding:var(--space-2)}.app .workspace-wide:not(.workspace-tablet) .tool-options-tall .swatches{gap:4px}.app .workspace-wide:not(.workspace-tablet) .tool-options-tall .swatches li{display:flex}.app .workspace-wide:not(.workspace-tablet) .tool-options-tall .swatch{width:22px;height:22px}.app .workspace-wide:not(.workspace-tablet) .tool-options-tall .colour-picker-own{row-gap:var(--space-1);margin-top:0}.app .workspace-wide:not(.workspace-tablet) .tool-options-tall .colour-picker-own input[type=text]{min-width:0}.preview-3d-wide .preview-3d-note{bottom:calc(var(--tool-strip,0px) + var(--tools-foot,0px) + var(--space-4))}.preview-3d-wide .preview-3d-note.preview-3d-left-out,.preview-3d-wide .preview-3d-status{bottom:calc(var(--tool-strip,0px) + var(--tools-foot,0px) + var(--space-4) + 32px)}.preview-3d-wide .tool-options .paint-options,.preview-3d-wide .tool-options .preview-mode{row-gap:var(--space-1);flex-wrap:wrap}.preview-3d-wide .tool-options .preview-placement-status{padding:var(--space-1) 0 0}.preview-3d-overlay{z-index:2;max-width:calc(100% - 2 * var(--space-2));flex-wrap:wrap;justify-content:flex-end;align-items:flex-start}.preview-3d-wide .preview-3d-overlay{max-width:calc(100% - 9rem)}.preview-3d-overlay,.preview-3d-overlay .view-toggles{pointer-events:none}.preview-3d-overlay button{pointer-events:auto}.view-toggles{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}.app .preview-3d-overlay .checks-badge{height:24px;padding:0 var(--space-2);border-color:var(--error);background:var(--error-soft);color:var(--error);font-size:var(--text-xs);font-weight:600}.app .preview-3d-overlay .checks-badge-warning{border-color:var(--warning);background:var(--warning-soft);color:var(--text)}.app .view-toggles button.model-view-menu{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);max-width:100%;font-size:var(--text-xs);background:#fffdf9e0;display:inline-flex}.app .view-toggles button.model-view-menu[aria-expanded=true]{background:var(--accent-soft)}.app .preview-3d-wide .view-toggles button.model-view-menu{gap:var(--space-2);height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-raised);font-size:var(--text-ui);border-color:#0000;font-weight:600}.app .preview-3d-wide .view-toggles button.model-view-menu[aria-expanded=true]{border-color:var(--ink);background:var(--ink);color:var(--text-on-ink)}.preview-3d-wide .model-view-menu[aria-expanded=true] .icon:last-child{transform:rotate(180deg)}.model-view-menu .toolbar-menu-button-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.right-panel{position:relative}.right-panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.right-panel-body[hidden]{display:none}.app .panel-fold{top:var(--space-2);right:var(--space-2);z-index:2;background:var(--surface-subtle-hover);width:28px;height:28px;font-size:var(--text-lead);justify-content:center;padding:0;position:absolute}.app .right-panel:not(.right-panel-folded) .panel-fold:hover:not(:disabled){background:var(--border-strong)}.right-panel.right-panel-folded{width:40px}.app .right-panel-folded .panel-fold{justify-content:flex-start;gap:var(--space-3);width:100%;height:auto;padding:var(--space-3) 0;box-shadow:none;color:var(--text-muted);background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;position:static}.panel-fold-label{writing-mode:vertical-rl;font-size:var(--text-sm)}.pattern-editor .cm-content.cm-lineWrapping{min-width:0}.pattern-editor .cm-editor .cm-callout-folded{white-space:pre;text-overflow:ellipsis;cursor:pointer;overflow:hidden}.app .editor-bar .notes-toggle{box-shadow:none;color:var(--text-muted);margin-left:auto}.app .editor-bar .notes-toggle[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.fold-toggle-words{display:inline-grid}.fold-toggle-words>span{text-align:center;grid-area:1/1}.fold-toggle-words>span[aria-hidden=true]{visibility:hidden}.app button.make-line-text{font-size:var(--text-lead);line-height:1.5}li.make-kind-text>.make-line-text,li.make-kind-note>.make-line-text{align-items:baseline;gap:var(--space-2);min-width:0;font-size:var(--text-body);flex:1;display:flex}.make-note-body{min-width:0}.make-note-folded .make-note-body,.make-note-folded .make-note-lines{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}li.make-note-run>.make-line-text{align-items:flex-end}.make-note-lines{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.make-note-lines p{margin:0}.app .make-note-more{min-width:24px;height:auto;min-height:24px;padding:0 var(--space-1);box-shadow:none;color:var(--accent);font-size:var(--text-ui);background:0 0;border:0;flex:none;margin-left:auto;text-decoration:underline}.app .make-note-more:hover:not(:disabled){color:var(--accent-hover);background:0 0}.app .danger-button{color:var(--error);background:0 0;font-weight:600}.app .danger-button:hover:not(:disabled){background:var(--error-soft)}.make-cleared{top:calc(100% + var(--space-2));right:var(--space-5);left:var(--space-5);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--ink);color:var(--text-on-ink);font-size:var(--text-ui);margin:0;display:flex;position:absolute}.app .make-cleared button{height:26px;box-shadow:none;color:var(--text-on-ink);background:#fffdf926;border-color:#0000;margin-left:auto;font-weight:650}.app .make-cleared button:hover:not(:disabled){background:#fffdf940}.pattern-finder{width:min(32rem,100%);height:min(36rem,85vh)}.pattern-finder-search{gap:var(--space-2);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.pattern-finder-search input{flex:1;min-width:10rem}.pattern-finder-list{padding:0 var(--space-2) var(--space-2);flex:1;margin:0;list-style:none;overflow-y:auto}.app .pattern-finder-list button{justify-content:space-between;gap:var(--space-3);width:100%;min-height:44px;box-shadow:none;color:var(--text);text-align:left;border-radius:var(--radius);background:0 0;border:none;display:flex}.app .pattern-finder-list button:hover,.app .pattern-finder-list button:focus-visible{background:var(--accent-soft);color:var(--accent-hover)}.pattern-finder-when{font-size:var(--text-sm);color:var(--text-muted);flex:none}.pattern-finder-empty{padding:0 var(--space-4) var(--space-4);color:var(--text-muted);margin:0}.new-design-buttons{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.feedback-form{gap:var(--space-3);display:grid}.feedback-label,.feedback-field>span{color:var(--text-secondary);font-size:var(--text-sm);margin:0;font-weight:600}.feedback-kinds{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app .feedback-kinds .picker-tile{justify-content:flex-start;gap:var(--space-3);height:auto;min-height:56px;padding:var(--space-2) var(--space-3);font-size:var(--text-body);text-align:left;line-height:1.25}.feedback-kinds .picker-tile-icon{color:var(--text-secondary)}.feedback-kinds .picker-tile[aria-pressed=true] .picker-tile-icon{color:var(--accent)}.feedback-field{gap:var(--space-1);display:grid}.feedback-field textarea,.feedback-field input{box-sizing:border-box;width:100%;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-lg);font:inherit;background:var(--field-fill);color:var(--text)}.feedback-photos-head{margin:0 0 calc(var(--space-2) * -1);color:var(--text-muted);font-size:var(--text-sm);justify-content:space-between;display:flex}.feedback-photos{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.feedback-photo{position:relative}.feedback-photo img{object-fit:cover;border-radius:var(--radius-md);width:80px;height:80px;display:block}.app .feedback-photo button{min-width:24px;min-height:24px;color:var(--text-on-ink);background:#2b2420b3;border:0;border-radius:50%;padding:0;position:absolute;top:4px;right:4px}.app .feedback-photo button:hover:not(:disabled){background:var(--ink);color:var(--text-on-ink)}.feedback-add-photo{justify-content:center;align-items:center;gap:var(--space-1);box-sizing:border-box;width:80px;height:80px;padding:var(--space-1);border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);text-align:center;cursor:pointer;flex-direction:column;display:inline-flex}.feedback-add-photo input{opacity:0;width:1px;height:1px;position:absolute}.feedback-add-photo:focus-within{box-shadow:var(--focus-ring)}.feedback-check{align-items:center;gap:var(--space-2);min-height:24px;display:flex}.feedback-note{color:var(--text-muted);font-size:var(--text-sm);margin:0}.feedback-error{color:var(--error);margin:0}.feedback-turnstile:empty{display:none}.feedback-buttons{align-items:center;gap:var(--space-2);display:flex}.app .feedback-buttons .feedback-send{justify-content:center;gap:var(--space-2);min-height:var(--control-height-hero);border-radius:var(--radius-pill);font-size:var(--text-lead);flex:1}.feedback-sent{gap:var(--space-3);justify-items:start;display:grid}.preview-3d-canvas{position:relative}.view-cube-box{right:var(--space-3);bottom:var(--space-3);z-index:2;align-items:flex-end;gap:var(--space-2);display:flex;position:absolute}.view-cube{border-radius:var(--radius-lg);background:var(--surface);width:100px;height:100px;box-shadow:var(--shadow-raised);place-items:center;display:grid;position:relative}.view-cube-body{transform-style:preserve-3d;position:relative}.app .view-cube-face{border:1px solid var(--accent);min-width:0;height:auto;box-shadow:none;backface-visibility:hidden;color:var(--text);font-size:var(--text-xs);background:#fffdf9eb;border-radius:2px;place-items:center;padding:0;line-height:1;display:grid;position:absolute;inset:0}.app .view-cube-face:hover:not(:disabled){background:var(--accent-soft)}.app .view-cube-face[data-thin]{color:#0000}.app .view-cube-arrow{z-index:1;width:24px;min-width:0;height:24px;box-shadow:none;color:var(--text-muted);font-size:var(--text-body);background:0 0;border:none;justify-content:center;padding:0;line-height:1;position:absolute}.app .view-cube-arrow:hover:not(:disabled){color:var(--accent);background:0 0}.view-cube-arrow-left{top:calc(50% - 12px);left:-3px}.view-cube-arrow-right{top:calc(50% - 12px);right:-3px}.view-cube-arrow-up{top:-3px;left:calc(50% - 12px)}.view-cube-arrow-down{bottom:-3px;left:calc(50% - 12px)}@media (pointer:coarse){.view-cube{width:124px;height:124px}.app .view-cube-arrow{width:30px;height:30px;font-size:var(--text-heading)}.view-cube-arrow-left,.view-cube-arrow-right{top:calc(50% - 15px)}.view-cube-arrow-up,.view-cube-arrow-down{left:calc(50% - 15px)}}.view-cube-actions{gap:var(--space-2);flex-direction:column;display:flex}.app .view-cube-face-button,.app .view-cube-fit{gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-raised);font-size:var(--text-sm);border-color:#0000}.app .view-cube-fit:disabled{box-shadow:none;background:#fffdf9b3}.app .view-cube-reset{background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow-raised);color:var(--text);border-color:#0000;border-radius:50%}[data-compact-corner] .view-cube-box{grid-template-areas:"cube actions""cube reset";place-items:end center;display:grid}[data-compact-corner] .view-cube{grid-area:cube}[data-compact-corner] .view-cube-actions{grid-area:actions}[data-compact-corner] .view-cube-reset{grid-area:reset}.app [data-compact-corner] .view-cube-face-button,.app [data-compact-corner] .view-cube-fit{border-radius:50%;justify-content:center;width:36px;padding:0}@media (pointer:coarse){.app .view-cube-face-button,.app .view-cube-fit{height:44px}.app [data-compact-corner] .view-cube-face-button,.app [data-compact-corner] .view-cube-fit{width:44px}}[data-compact-corner] .view-cube-words{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.preview-3d-hint{left:var(--space-3);bottom:var(--space-3);max-width:calc(100% - 22rem);color:var(--text-muted);font-size:var(--text-xs);pointer-events:none;margin:0;line-height:1.4;position:absolute}.preview-3d-wide .preview-3d-hint{left:calc(var(--view-side,0px) + var(--space-4));bottom:calc(var(--tool-strip,0px) + var(--tools-foot,0px) + var(--space-4))}.preview-3d-note~.preview-3d-hint{display:none}.eye-spacing{min-width:5.5rem;padding:0 var(--space-2);font-size:var(--text-sm);color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums}.app .toolbar-group button.toolbar-menu-button{gap:var(--space-1);white-space:nowrap}.app .toolbar-group button.toolbar-menu-button[aria-expanded=true]{background:var(--surface-subtle)}.app .toolbar-file button.toolbar-menu-button[aria-expanded=true]{border-color:var(--ink);background:var(--ink);color:var(--text-on-ink)}.toolbar-menu{min-width:14rem;max-width:15rem;max-height:min(70vh,32rem)}.toolbar-menu button{gap:var(--space-2);height:auto;min-height:32px;padding-block:var(--space-1);text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.toolbar-menu button.toolbar-menu-danger{color:var(--error)}.toolbar-menu-label{white-space:normal;text-align:left;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.toolbar-menu-note{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.toolbar-menu [role=group]{flex-direction:column;display:flex}.toolbar-menu-section-note{max-width:15rem;margin:2px var(--space-2) var(--space-1);font-size:var(--text-xs);color:var(--text-muted);line-height:1.35}.toolbar-menu [role=group]+[role=group]{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--border)}.toolbar-menu.file-menu{min-width:17rem;max-width:19rem;padding:var(--space-2)}.file-menu .insert-menu-title{margin:var(--space-1) var(--space-2) 2px;font-size:var(--text-xs);text-transform:none;letter-spacing:0;color:var(--text-secondary)}.file-menu [role=group]+[role=group]{margin-top:var(--space-2);padding-top:var(--space-2)}.toolbar-menu.file-menu button{min-height:36px;padding-inline:var(--space-3);gap:var(--space-3);font-size:var(--text-body)}@media (pointer:coarse){.toolbar-menu.file-menu button{min-height:44px}}.file-menu button>.icon{color:var(--text-secondary);flex:none}.file-menu button:hover:not(:disabled)>.icon,.file-menu button:focus-visible>.icon{color:inherit}@media (pointer:coarse){.make-view,.toolbar-make,.toolbar-menu{touch-action:manipulation}.app .make-view button,.app .toolbar-make button,.app .toolbar-make input,.toolbar-menu button,.make-dialog button,.make-dialog input,.app .feedback-photo button{min-width:44px;min-height:44px}.feedback-check{min-height:44px}.app .make-step-arrow,.make-play .make-play-button,.make-play .make-play-all,.make-play .make-play-speed{height:44px}.make-play .make-play-button,.make-play .make-play-all{width:44px}.make-play{padding:2px}.make-step{height:3rem}.app .make-round,.app button.make-line-text,.app .make-piece-name,.app .make-note-more{min-height:44px}.app .make-mark{margin-top:-6px}}.app .dialog-close{width:var(--icon-button);font-size:var(--text-lead);flex:none;justify-content:center;padding:0;line-height:1}.dialog-close-words{display:none}@media (width<=699.98px),(height<=499.98px) and (pointer:coarse){.make-dialog-backdrop{align-items:stretch;padding:0}.make-dialog,.pattern-finder{width:100%;height:100%;max-height:none;box-shadow:none;border:0;border-radius:0}.make-dialog header{padding-right:var(--space-2);flex:none}.make-dialog-body{flex:1;min-height:0}.app .dialog-close,.dialog-close{min-width:44px;min-height:44px;box-shadow:none;font-size:var(--text-heading);background:0 0;border:0;padding:0;line-height:1}}.app button.make-pieces-menu{width:100%;min-width:0;margin-top:var(--space-2);justify-content:space-between;gap:var(--space-2);font-weight:600;display:flex}.make-pieces-menu .toolbar-menu-button-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.make-view:not(.make-view-narrow) .make-sheet-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.make-view:not(.make-view-narrow,.make-view-short){gap:var(--space-4);padding:0 var(--space-4) var(--space-4)}.make-view:not(.make-view-narrow,.make-view-short)>.make-steps{border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.make-view:not(.make-view-narrow,.make-view-short)>.make-preview{border-radius:var(--radius-lg);border-left:0}.make-view:not(.make-view-narrow) .make-sheet-top{display:contents}.make-view:not(.make-view-narrow) .make-sheet-head .make-overall{flex:none;order:1}.make-view:not(.make-view-narrow) .make-sheet-top>.toolbar-menu-button{order:2;margin-left:auto}.app .make-view:not(.make-view-narrow) button.make-pieces-menu{flex:1 1 0;width:auto;min-width:8rem;max-width:18rem;margin-top:0}.make-view:not(.make-view-narrow) .make-cleared{flex-basis:100%;order:3}.toolbar-menu-check{width:1em;color:var(--accent);flex:none}:is(html:has(.gallery),body:has(.gallery)){overflow:hidden}.app:has(.gallery){overflow:clip}.gallery{z-index:15;background:var(--bg);padding-bottom:env(safe-area-inset-bottom,0px);--gallery-gutter:var(--space-5);--gallery-width:min(74.5rem, 100% - 2 * var(--gallery-gutter));position:fixed;inset:0;overflow-y:auto}.gallery-top{justify-content:space-between;align-items:center;gap:var(--space-3);box-sizing:border-box;width:min(77.5rem,100%);padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) var(--gallery-gutter) var(--space-4);margin-inline:auto;display:flex}.gallery-wordmark{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title-sm);letter-spacing:-.01em;color:var(--text);white-space:nowrap;align-items:center;gap:10px;font-weight:600;display:inline-flex}.gallery-logo{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.gallery-logo svg{width:22px;height:22px}.app .gallery-top button{align-items:center;gap:var(--space-2);padding-inline:20px;display:inline-flex}.gallery-top-actions{justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-1);flex-wrap:wrap;min-width:0;display:inline-flex}.gallery-brand{align-items:center;gap:var(--space-3);min-width:0;display:inline-flex}.beta-badge{align-items:center;min-height:24px;text-decoration:none;display:inline-flex}.beta-badge-pill{border-radius:var(--radius-pill);background:var(--level-2-soft);color:var(--level-2);font-size:var(--text-xs);white-space:nowrap;padding:2px 10px;font-weight:600;line-height:1.4}.beta-badge:hover .beta-badge-pill,.beta-badge:focus-visible .beta-badge-pill{text-decoration:underline}.gallery-about{border-radius:var(--radius-pill);min-height:40px;color:var(--text);white-space:nowrap;align-items:center;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.gallery-about:hover{background:var(--surface-subtle);color:var(--text)}.gallery-hero{box-sizing:border-box;width:min(55rem,100%);padding:var(--space-6) var(--gallery-gutter) var(--space-5);text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;margin-inline:auto;display:grid}.gallery-hero h2{font-size:clamp(2.375rem, 6vw, var(--text-display));text-wrap:balance;margin:0;line-height:1.05}.gallery-intro{max-width:32.5rem;font-size:var(--text-lead);color:var(--text-muted);text-wrap:pretty;margin:14px 0 0}.gallery-heading{align-items:center;gap:var(--space-1);display:flex}.app .gallery-info{box-shadow:none;background:0 0;border-color:#0000}.gallery-about-dialog p{margin:0 0 var(--space-3)}.gallery-about-links{gap:var(--space-4);flex-wrap:wrap;display:flex}.gallery-search{width:min(38.75rem,100%);margin-top:var(--space-5);position:relative}.gallery-search svg{width:20px;height:20px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.app .gallery-search input{width:100%;height:var(--control-height-hero);padding:0 var(--space-5) 0 54px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-raised);font:inherit;font-size:var(--text-lead);color:var(--text);border:0}.app .gallery-search input:focus-visible{box-shadow:var(--shadow-raised), var(--focus-ring);outline:none}.gallery-chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:20px;display:flex}.gallery-chips>*{flex:none}.gallery-levels{border-radius:var(--radius-pill);background:var(--surface-subtle);padding:4px;display:inline-flex}.app .gallery-chips button{height:auto;min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-ui);background:0 0;border:0}.app .gallery-chips button.gallery-tag{padding-inline:14px}.app .gallery-chips button:hover:not(:disabled){background:var(--surface-subtle);color:var(--text)}.app .gallery-levels button:hover:not(:disabled){background:var(--surface-subtle-hover)}.app .gallery-levels button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow-control);color:var(--text);font-weight:600}.app .gallery-chips button.gallery-tag[aria-pressed=true]{background:var(--ink);color:var(--text-on-ink);font-weight:600}@media (pointer:coarse){.app .gallery-chips button{min-height:44px}}.gallery-chips-divider{background:var(--border-strong);width:1px;height:24px;margin:0 6px}.app .gallery-level-pick{height:44px;padding:0 40px 0 var(--space-4);border-radius:var(--radius-pill);appearance:none;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fffdf9' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;color:var(--text-on-ink);font:inherit;font-size:var(--text-body);border:0;flex:none;font-weight:600}.app .gallery-level-pick:focus-visible{box-shadow:var(--focus-ring);outline:none}.gallery-phone-only{display:none}.gallery-notice{box-sizing:border-box;width:var(--gallery-width);margin:0 auto var(--space-4);color:var(--warning)}.gallery-stitch{align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:var(--text);flex-wrap:wrap;display:flex}.gallery-stitch dl{gap:var(--space-1);margin:0;display:grid}.gallery-stitch dl>div{gap:var(--space-2);display:flex}.gallery-stitch dt{font-weight:650}.gallery-stitch dd{margin:0}.gallery-shelf{box-sizing:border-box;width:var(--gallery-width);margin:var(--space-2) auto var(--space-6)}.gallery-shelf h3{margin:0 0 var(--space-2);font-size:var(--text-lead)}.gallery-shelf-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.gallery-shelf-design{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg);border:0;flex-wrap:wrap;display:flex}.gallery-shelf-words{gap:2px;min-width:0;display:grid}.gallery-shelf-words strong{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-heading);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:600;line-height:1.25}.gallery-shelf-words span{font-size:var(--text-sm);color:var(--text-muted)}.gallery-shelf-open{margin-right:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);font-size:var(--text-xs);font-weight:600;line-height:1.6;display:inline-block}.gallery-shelf-rename{font:inherit;min-width:0;font-weight:600}.gallery-shelf-buttons{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.app .gallery-shelf-buttons button{padding-inline:var(--space-4)}.app .gallery-shelf-buttons button.gallery-shelf-model{background:var(--surface)}.app .gallery-shelf-buttons button.gallery-shelf-model:hover:not(:disabled){background:var(--surface-subtle)}.app .gallery-shelf-buttons button.gallery-shelf-quiet{width:var(--icon-button);color:var(--text-secondary);background:0 0;border-color:#0000;justify-content:center;padding:0}.app .gallery-shelf-buttons button.gallery-shelf-quiet:hover:not(:disabled){background:var(--surface-subtle)}.gallery-shelf-quiet .toolbar-menu-button-label,.gallery-shelf-quiet>.icon:last-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gallery-shelf-deleted,.gallery-shelf-more{align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;font-size:var(--text-ui);color:var(--text-muted);flex-wrap:wrap;display:flex}.gallery-shelf-kept{gap:var(--space-2) var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--tip-soft);color:var(--tip)}.gallery-shelf-kept>.icon{flex:none;width:18px;height:18px}.gallery-shelf-kept p{flex:14rem;margin:0}.app .gallery-shelf-kept button{background:var(--surface);color:var(--text)}.app .gallery-shelf-kept button:hover:not(:disabled){background:var(--surface-subtle)}.gallery-continue{align-items:center;gap:var(--space-2) var(--space-4);padding:14px var(--space-4);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);border:0;flex-wrap:wrap;display:flex}.gallery-continue-words{flex:15rem;min-width:0;display:grid}.gallery-continue-title{font-size:var(--text-sm);color:var(--text-muted)}.gallery-continue-words strong{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-heading);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:600;line-height:1.25}.gallery-continue-facts{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:2px 10px;display:flex}.gallery-continue-bar{border-radius:var(--radius-pill);background:var(--surface-subtle);width:120px;height:6px;display:inline-block;overflow:hidden}.gallery-continue-bar>span{border-radius:var(--radius-pill);background:var(--accent);height:100%;display:block}.gallery-continue-buttons{gap:var(--space-2);display:flex}.app .gallery-continue-buttons button{padding-inline:20px}.designs-dialog{width:min(45rem,100%)}.designs-dialog header{gap:var(--space-2)}.designs-dialog header h2{flex:1}.designs-dialog-search{box-sizing:border-box;width:100%;margin:var(--space-2) 0 var(--space-3);font:inherit}.designs-dialog-none{color:var(--text-muted)}.designs-dialog .make-dialog-body{padding-top:var(--space-3)}@media (width<=699.98px){.make-dialog-backdrop:has(>.designs-dialog){padding:0}.designs-dialog{border-radius:0;width:100%;height:100%;max-height:none}}.gallery-shelf.gallery-shelf-more{margin:0 auto var(--space-4)}.gallery-cards-head{align-items:baseline;gap:var(--space-1) var(--space-3);box-sizing:border-box;width:var(--gallery-width);flex-wrap:wrap;margin:0 auto 20px;display:flex}.gallery-cards-head h3{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title-sm);letter-spacing:-.01em;margin:0;font-weight:600}.gallery-cards-count{color:var(--text-muted)}.app .gallery-parts-link{min-height:32px;margin-left:auto}.gallery-cards{gap:var(--space-6) var(--space-5);box-sizing:border-box;width:var(--gallery-width);grid-template-columns:repeat(auto-fill,minmax(13.75rem,1fr));margin:0 auto;padding:0;list-style:none;display:grid}.gallery-card{flex-direction:column;min-width:0;display:flex;position:relative}.gallery-picture{aspect-ratio:1;background:var(--tile-tint,var(--tint-oat));transition:box-shadow var(--duration-quick);border-radius:22px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gallery-picture img{object-fit:contain;mix-blend-mode:multiply;width:92%;height:92%;display:block}.gallery-card:hover .gallery-picture{box-shadow:var(--shadow-raised)}.gallery-card-words{padding:var(--space-3) 0 0;flex:1;align-content:start;gap:6px;display:grid}.app button.gallery-card-name{height:auto;min-height:0;font-size:var(--text-heading);text-align:left;color:var(--text);border-radius:var(--radius-sm);background:0 0;border:0;justify-self:start;padding:0;line-height:1.3}.app button.gallery-card-name:after{content:"";position:absolute;inset:0}.app button.gallery-card-name:hover:not(:disabled),.app button.gallery-card-name:focus-visible{color:var(--accent-hover);background:0 0;text-decoration:underline}.gallery-card-facts{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;text-wrap:pretty;line-height:1.6}.gallery-card-facts .badge{margin-right:2px}.gallery-card-fact{white-space:nowrap}.gallery-card-time{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.gallery-card-time .icon{width:14px;height:14px}.gallery-details{gap:var(--space-3);max-width:64rem;padding:var(--space-4) var(--space-5) var(--space-6);margin:0 auto;display:grid}.app button.gallery-back{height:auto;color:var(--accent);background:0 0;border:0;justify-self:start;padding:0;font-weight:500}.app button.gallery-back:hover:not(:disabled){background:0 0;text-decoration:underline}.gallery-details-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:28px;display:grid}.gallery-details-picture{box-sizing:border-box;aspect-ratio:1;background:var(--tile-tint,var(--tint-oat));border-radius:22px;justify-content:center;align-self:stretch;align-items:center;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.gallery-details-picture img{object-fit:contain;mix-blend-mode:multiply;width:88%;height:88%;display:block}.turntable{position:relative}.turntable-view{mix-blend-mode:multiply;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;background-repeat:no-repeat;width:88%;height:88%}.turntable-view:active{cursor:grabbing}.turntable-buttons{left:50%;bottom:var(--space-4);gap:var(--space-2);display:flex;position:absolute;transform:translate(-50%)}.app .turntable-buttons button{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface) 92%, transparent);width:44px;min-width:44px;height:44px;color:var(--text);font-size:var(--text-heading);border:0;justify-content:center;padding:0}.app .turntable-buttons button:hover:not(:disabled){background:var(--surface)}.gallery-details-words{min-width:0;padding:var(--space-3) var(--space-2) var(--space-1) 0;flex-direction:column;display:flex}.gallery-details-head{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.gallery-details-corner{gap:var(--space-2);margin-left:auto;display:flex}.gallery-details-words h2{margin:var(--space-3) 0 0;font-size:var(--text-title);line-height:1.1}.gallery-details-about{margin:var(--space-2) 0 0;font-size:var(--text-lead);color:var(--text-secondary)}.gallery-facts{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0 0;display:grid}.gallery-facts div{padding:10px var(--space-3);border-radius:var(--radius);background:var(--bg);flex-direction:column;display:flex}.gallery>.gallery-details .gallery-facts div{background:var(--surface)}.gallery-facts dt{font-size:var(--text-xs);color:var(--text-muted)}.gallery-facts dd{font-size:var(--text-lead);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.gallery-details-yarn{margin-top:20px}.gallery-details-yarn p{font-size:var(--text-sm);color:var(--text-muted);margin:0;font-weight:600}.gallery-details-yarn ul{margin:var(--space-2) 0 0;font-size:var(--text-ui);flex-wrap:wrap;gap:6px 14px;padding:0;list-style:none;display:flex}.gallery-details-yarn li{align-items:center;gap:6px;display:inline-flex}.gallery-yarn-dot{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #00000026}.gallery-yarn-grams{color:var(--text-muted);font-variant-numeric:tabular-nums}.gallery-details-buttons{padding-top:var(--space-5);flex-direction:column;gap:10px;margin-top:auto;display:flex}.app .gallery-details-buttons button{text-align:left;border:0;border-radius:20px;justify-content:flex-start;gap:14px;height:auto;min-height:56px;padding:14px 18px}.gallery-choice-icon{background:var(--surface);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.gallery-choice-icon .icon{width:20px;height:20px}.primary-button .gallery-choice-icon{color:var(--text-on-accent);background:#ffffff2e}.gallery-choice-words{display:grid}.gallery-choice-words strong{font-size:var(--text-lead);font-weight:600}.gallery-choice-words small{font-size:var(--text-ui);color:var(--text-muted);font-weight:400}.primary-button .gallery-choice-words small{color:inherit;opacity:.9}.gallery-details-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.make-dialog.gallery-details-dialog{border-radius:var(--radius-xl);width:min(57.5rem,100%);max-height:90dvh;overflow-y:auto}.gallery-details-dialog .gallery-details{max-width:none;padding:var(--space-4);margin:0}.gallery-none{padding:var(--space-6) var(--gallery-gutter);text-align:center;color:var(--text-muted)}.gallery-parts{box-sizing:border-box;width:var(--gallery-width);margin:var(--space-7) auto 0;padding-bottom:var(--space-2)}.gallery-parts h3{margin:0 0 var(--space-3);font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-heading);letter-spacing:-.01em;scroll-margin-top:var(--space-4);font-weight:600}.gallery-parts ul{gap:var(--space-4);padding:0 0 var(--space-2);margin:0;list-style:none;display:flex;overflow-x:auto}.gallery-parts li{flex:0 0 8.5rem}.app .gallery-parts button{align-items:stretch;gap:var(--space-2);width:100%;height:auto;font-size:var(--text-sm);text-align:left;border-radius:var(--radius-md);background:0 0;border:0;flex-direction:column;padding:0;font-weight:500;display:flex}.app .gallery-parts button:hover:not(:disabled){color:var(--accent-hover);background:0 0}.gallery-parts img{box-sizing:border-box;aspect-ratio:1;border-radius:var(--radius-md);background:var(--tile-tint,var(--tint-oat));object-fit:contain;width:100%;padding:6%;display:block}.gallery-parts span{padding:0 var(--space-1)}@media (height<=899.98px){.gallery-hero{padding-top:var(--space-4);padding-bottom:var(--space-4)}.gallery-hero h2{font-size:clamp(2.375rem, 6vw, var(--text-hero))}.gallery-intro{margin-top:var(--space-2)}.gallery-search{margin-top:var(--space-4)}.gallery-chips{margin-top:var(--space-3)}.gallery-cards-head{margin-bottom:var(--space-3)}.gallery-shelf{margin-bottom:var(--space-5)}}@media (width<=699.98px){.gallery{--gallery-gutter:var(--space-4)}.gallery-top{padding-block:calc(var(--space-3) + env(safe-area-inset-top,0px)) var(--space-3)}.gallery-brand{gap:var(--space-2)}.gallery-wordmark{gap:var(--space-2);font-size:var(--text-heading)}.gallery-logo{width:30px;height:30px}.gallery-logo svg{width:19px;height:19px}.gallery-top-actions{gap:var(--space-1);flex-wrap:nowrap}.gallery-about{padding:0 10px}.app .gallery-top button{padding-inline:14px}.gallery-wide-only{display:none}.gallery-phone-only{display:inline}.gallery-hero{padding-top:var(--space-2);padding-bottom:var(--space-4);text-align:left;justify-items:stretch}.gallery-hero h2{font-size:var(--text-title)}.gallery-intro{display:none}.gallery-search{width:100%;margin-top:var(--space-4)}.gallery-chips{margin-inline:calc(-1 * var(--gallery-gutter));padding:2px var(--gallery-gutter);scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.gallery-chips::-webkit-scrollbar{display:none}.app .gallery-chips button.gallery-tag{background:var(--surface-subtle);min-height:44px;color:var(--text);font-size:var(--text-body);padding-inline:18px}.gallery-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-details{padding:var(--space-3) var(--gallery-gutter) var(--space-5)}.gallery-details-body{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.gallery-details-words{padding:0}.gallery-details-words h2{margin-top:var(--space-2)}}@media (height<=499.98px){.gallery-hero{align-items:center;column-gap:var(--space-3);width:var(--gallery-width);padding:var(--space-2) 0 var(--space-3);grid-template-columns:minmax(0,1fr) auto}.gallery-hero .gallery-heading,.gallery-intro{display:none}.gallery-search,.gallery-hero .gallery-chips{margin-top:0}.gallery-hero .gallery-chips{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;max-width:50vw;overflow-x:auto}.app .gallery-hero .gallery-chips button.gallery-tag{background:var(--surface-subtle);color:var(--text)}.app .gallery-hero .gallery-chips button.gallery-tag[aria-pressed=true]{background:var(--ink);color:var(--text-on-ink)}}@media (width<=699.98px){.gallery-cards{gap:var(--space-5) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-continue{padding:var(--space-3);border-radius:var(--radius-lg)}.gallery-continue-bar{width:80px}.app button.gallery-card-name{font-size:var(--text-lead)}.gallery-details-picture{justify-self:center;width:min(100%,22rem)}}.restore-ask p{margin:0 0 var(--space-3);color:var(--text-secondary)}.restore-ask-names{gap:var(--space-1);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunk);font-weight:600;list-style:none;display:grid}.restore-ask-buttons{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.link-dialog{width:min(32rem,100%)}.link-dialog-url{width:100%;font-family:var(--font-code);font-size:var(--text-sm)}.link-dialog-note,.link-dialog-status{font-size:var(--text-sm);color:var(--text-muted)}.link-dialog-status:empty{display:none}.pattern-finder-list li{align-items:center;display:flex}.app .pattern-finder-list .pattern-finder-link{width:auto;font-size:var(--text-sm);color:var(--text-muted);flex:none;justify-content:center}.pattern-finder-list li.pattern-finder-group{padding:var(--space-3) var(--space-2) var(--space-1);font-size:var(--text-sm);color:var(--text-muted);font-weight:600;display:block}.app .pattern-finder-list button{align-items:center}.pattern-finder-words{flex:1;min-width:0;display:grid}.pattern-finder-about{font-size:var(--text-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pattern-finder-picture{border-radius:var(--radius);background:var(--surface-subtle);flex:none;width:40px;height:40px;overflow:hidden}.pattern-finder-picture img{width:100%;height:100%;display:block}.app button.toolbar-home{align-items:center;gap:var(--space-2);padding:0 var(--space-1);box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;background:0 0;border:none;display:flex}.app button.toolbar-home:hover:not(:disabled) .icon{box-shadow:inset 0 0 0 1.5px var(--accent)}.app .sim-keep-trying{margin-left:var(--space-1);padding:0 var(--space-3);border-radius:var(--radius-pill);font-size:inherit}.home-screen-hint{left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:19;align-items:flex-start;gap:var(--space-2);max-width:32rem;padding:var(--space-3);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);border:0;margin:0 auto;display:flex;position:fixed}.home-screen-hint:not(.kept-note){background:var(--ink);color:var(--text-on-ink);align-items:center}.home-screen-hint-mark .icon{box-sizing:border-box;background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;padding:6px}.app .home-screen-hint:not(.kept-note) .icon-button{color:var(--text-on-ink);background:#ffffff1f;border-color:#0000;border-radius:50%}.home-screen-hint-top{top:calc(52px + var(--space-2));bottom:auto}.make-sheet .kept-note{max-width:none;margin:var(--space-2) 0;box-shadow:none;position:static}.app .home-screen-hint .icon-button{min-width:44px;min-height:44px}.home-screen-hint p{font-size:var(--text-body);flex:1;margin:0;line-height:1.4}@media print{.home-screen-hint{display:none}}.app-toast{top:calc(52px + var(--space-2));left:var(--space-3);right:var(--space-3);z-index:30;align-items:center;gap:var(--space-2);width:fit-content;max-width:32rem;padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-overlay);font-size:var(--text-body);border:0;margin:0 auto;display:flex;position:fixed}.app-toast .icon{color:var(--success);flex:none}.kept-note-words{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.app>.kept-note{max-width:none;padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));box-shadow:none;border-width:1px 0 0;border-radius:0;flex:none;margin:0;position:static}@media (width>=700px){.app>.kept-note .kept-note-words{flex-direction:row;align-items:center}.app>.kept-note .kept-note-buttons{flex-wrap:nowrap;flex:none}}.kept-note-words strong{color:var(--accent-text)}.kept-note-words a{margin-block:-12px;padding-block:12px;display:inline-block}.kept-note-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.gallery-foot{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-4);box-sizing:border-box;width:var(--gallery-width);margin:var(--space-8) auto 0;padding:28px 0 var(--space-7);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--text-ui);flex-wrap:wrap;display:flex}.gallery-foot a{min-height:24px;color:var(--text-muted);align-items:center;font-weight:500;display:inline-flex}@media (pointer:coarse){.gallery-foot a{min-width:44px;min-height:44px}}.inspector{gap:var(--space-3);flex-direction:column;display:flex}.inspector-heading{align-items:center;gap:0 var(--space-2);font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title-sm);color:var(--text);overflow-wrap:anywhere;flex-wrap:wrap;margin:0;font-weight:600;line-height:1.2;display:flex}.inspector-heading>.swatch-dot{width:20px;height:20px}.right-panel .inspector>:first-child{padding-right:48px}.inspector-level{margin:0 0 calc(var(--space-1) - var(--space-3));font-size:var(--text-sm);color:var(--text-muted)}.app .inspector-name-link{min-height:24px;margin-top:calc(var(--space-1) - var(--space-3) - 6px);font-size:var(--text-sm);align-self:flex-start}.inspector-name{gap:var(--space-1);display:grid}.inspector-name>label{color:var(--text-muted);font-size:var(--text-xs);font-weight:500}.app .inspector-name>input{width:100%;max-width:18rem}.inspector-crumbs{margin-bottom:calc(-1 * var(--space-1));font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:0 2px;display:flex}.inspector-crumbs>.icon{flex:none;width:14px;height:14px}.app .inspector-crumbs button{height:auto;min-height:24px;padding:0 var(--space-1);box-shadow:none;color:var(--accent);background:0 0;border-color:#0000;font-weight:500}.app .inspector-crumbs button:hover:not(:disabled){background:0 0;text-decoration:underline}.inspector-crumbs [aria-current]{padding:0 var(--space-1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (pointer:coarse){.app .inspector-crumbs button{min-height:44px}}.dimensions-toy{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.dimensions-tile{min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface-sunk)}.dimensions-tile dt{font-size:var(--text-xs);color:var(--text-muted)}.dimensions-tile dd{color:var(--text);font-size:var(--text-lead);white-space:nowrap;margin:0;font-weight:600}.dimensions-unit{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.gauge-summary{gap:var(--space-1)}.gauge-summary .card-head{justify-content:space-between}.app .gauge-summary .card-head .link-button{min-height:24px;margin:-6px 0}@media (pointer:coarse){.app .gauge-summary .card-head .link-button{min-height:44px;margin:-16px 0}}.gauge-summary>p{margin:0}.gauge-yarn{color:var(--text);font-size:var(--text-ui);font-weight:600}.gauge-summary .gauge-about{margin-top:var(--space-2)}.toy-orient-head{align-items:center;gap:var(--space-1) var(--space-2);max-width:none;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);border-radius:var(--radius);background:var(--surface-sunk);flex-wrap:wrap;align-self:stretch;display:flex}.app .toy-orient-toggle{gap:var(--space-1);padding:0 var(--space-1);box-shadow:none;background:0 0;border-color:#0000}.toy-orient-toggle>.icon{transition:transform .12s}.toy-orient-toggle[aria-expanded=true]>.icon{transform:rotate(90deg)}.toy-orient-head .face-me{margin-left:auto}.piece-panel-inspector{gap:var(--space-2);flex-direction:column;display:flex}.piece-panel-foot{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.piece-stuffing+.size-note{margin:var(--space-1) 0 0}.pick-detail-steps{gap:var(--space-1);margin-left:auto;display:inline-flex}.app .inspector-part-of{justify-content:flex-start;gap:var(--space-3);height:auto;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface-sunk);box-shadow:none;color:var(--text);text-align:left;border-color:#0000;font-weight:400}.inspector-part-of-words{flex-direction:column;flex:1;min-width:0;display:flex}.inspector-part-of-words .size-note{font-size:var(--text-xs);margin:0}.inspector-heading-label,.inspector-heading-dot{color:var(--text-muted)}.inspector-heading-dot{white-space:pre}.inspector-size{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;margin:0;display:flex}.inspector-size .size-main{font-size:inherit;font-weight:inherit;letter-spacing:normal;font-variant-numeric:tabular-nums}.app button.size-other{height:auto;min-height:24px;padding:0 var(--space-1);box-shadow:none;color:var(--accent);font-size:var(--text-sm);background:0 0;border-color:#0000}.piece-construction>summary{cursor:pointer;min-height:32px;color:var(--text-muted);align-items:center;font-weight:600;display:flex}.piece-construction[open]>summary{margin-bottom:var(--space-2)}.held-cancel{top:var(--space-2);z-index:3;min-height:44px;padding:0 var(--space-4);position:absolute;left:50%;transform:translate(-50%)}.preview-3d-viewport{--empty-x:calc((100% - var(--view-right,0px)) / 2);--empty-y:max(50%, calc(var(--view-top,0px) + var(--space-4) + 8.5rem + var(--space-4) + 28px))}.app .first-piece{top:var(--empty-y);left:var(--empty-x);z-index:3;align-items:center;gap:var(--space-2);min-height:56px;padding:0 var(--space-6);border-color:var(--accent);border-radius:var(--radius-pill);background:var(--accent);box-shadow:var(--shadow-raised);color:var(--text-on-accent);font-size:var(--text-lead);font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.first-piece-ring{top:calc(var(--empty-y) - 28px - var(--space-4) - 8.5rem);left:var(--empty-x);z-index:2;box-sizing:border-box;border:2px dashed var(--border-strong);background:var(--surface-subtle);width:8.5rem;height:8.5rem;color:var(--text-muted);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%)}.first-piece-ring .icon{stroke-width:1px;width:3.5rem;height:3.5rem}.first-piece-words{top:calc(var(--empty-y) + 28px + var(--space-3));left:var(--empty-x);z-index:2;width:min(22rem, calc(100% - var(--view-right,0px) - 2 * var(--space-4)));color:var(--text-secondary);font-size:var(--text-sm);text-align:center;pointer-events:none;margin:0;position:absolute;transform:translate(-50%)}.app .first-piece-ai{z-index:3;width:min(30rem, calc(100% - 2 * var(--space-4)));padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface);border:0;margin:0;position:absolute;top:calc(50% + 40px);left:50%;transform:translate(-50%)}.ai-design-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.phone-model .ai-design{margin-top:0}.first-design{max-width:20rem;max-height:60vh;margin-top:var(--steps-drop,0px);padding:var(--space-3) var(--space-4) var(--space-4);pointer-events:auto;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);border:0;flex-basis:100%;margin-left:auto;overflow-y:auto}.first-design header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.first-design h2{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-lead);letter-spacing:-.01em;flex:1;margin:0;font-weight:600}.app .first-design header .icon-button,.app .first-design header .icon-button[aria-expanded=true]{background:var(--surface-subtle);color:var(--text-secondary);border-color:#0000;border-radius:50%;flex:none}.first-design-bar{gap:var(--space-1);margin-top:var(--space-2);display:flex}.first-design-bar span{background:var(--border);border-radius:2px;flex:1;height:4px}.first-design-bar .is-done,.first-design-bar .is-now{background:var(--accent)}.first-design.first-design-folded{width:fit-content;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border-radius:var(--radius-pill)}.first-design-folded h2{font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:0}.first-design-of{color:var(--text-muted);font-weight:400}.first-design-n{background:var(--accent);width:1.375rem;height:1.375rem;color:var(--text-on-accent);font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.first-design ol[hidden]{display:none}.first-design ol{gap:var(--space-1);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.first-design li{gap:var(--space-2);padding:var(--space-1) var(--space-2);color:var(--text-secondary);display:flex}.first-design li b{font-weight:400}.first-design .first-design-next{padding:var(--space-2);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text)}.first-design .first-design-next b{font-weight:600}.first-design-how{margin-top:2px;font-weight:400;line-height:1.45;display:block}.inspector-actions{justify-content:flex-end;display:flex}.inspector-delete{color:var(--error)}@media (pointer:coarse){.inspector-delete{min-height:44px}}.inspector-toy{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;display:flex}.dimensions-table{border-collapse:collapse;font-variant-numeric:tabular-nums}.dimensions-table th,.dimensions-table td{padding:2px var(--space-3) 2px 0;text-align:left;vertical-align:baseline;font-weight:400}.dimensions-table th:last-child,.dimensions-table td:last-child{padding-right:0}.dimensions-size,.dimensions-simple>span{white-space:nowrap}.dimensions-table thead th{font-size:var(--text-xs);color:var(--text-muted)}.dimensions-simple{color:var(--text-muted);display:block}.inspector-toy .size-note{margin:0}.pick-detail{gap:var(--space-2);flex-direction:column;display:flex}.pick-detail-line{font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.pick-detail-facts{font-size:var(--text-sm);color:var(--text-muted);margin:0}.pick-detail-status{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.pick-detail-ok{color:var(--success)}.pick-detail-warning{color:var(--warning)}.pick-detail-error{color:var(--error)}.pick-detail-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toy-yarn{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;display:flex}.toy-yarn-table{border-collapse:collapse;font-variant-numeric:tabular-nums}.toy-yarn-table th{align-items:center;gap:var(--space-2);text-align:left;padding:2px 0;font-weight:400;display:flex}.toy-yarn-table td{padding:2px 0 2px var(--space-3);text-align:right;white-space:nowrap}.toy-yarn-total th,.toy-yarn-total td{border-top:1px solid var(--border);font-weight:600}.toy-yarn-safety{padding-left:var(--space-4);margin:0}.pose-block{align-self:stretch;gap:var(--space-3);flex-direction:column;display:flex}.pose-boxes{gap:var(--space-1)}.pose-field{gap:var(--space-1);flex-direction:column;display:flex}.pose-label{color:var(--text-muted);font-size:var(--text-xs);font-weight:500}.pose-turn{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toy-orient .pose-why{display:none}@media (hover:none){.toy-orient .pose-why{display:block}}.toy-orient .pose-main{align-self:stretch}.pose-ways{gap:var(--space-1);grid-template-columns:repeat(6,minmax(0,1fr));width:100%;display:grid}.app .pose-ways button{min-width:0;height:auto;padding:var(--space-1) 2px;font-size:var(--text-xs);white-space:normal;text-align:center;border-radius:var(--radius);flex-direction:column;align-items:center;gap:1px;line-height:1.2;display:flex}.app .pose-ways button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.app .pose-ways button:disabled{opacity:.5;border-style:dashed}.pose-glyph{font-size:var(--text-lead);line-height:1}.pose-marks{align-items:center;gap:var(--space-2);min-height:24px;font-size:var(--text-sm);display:flex}@media (pointer:coarse){.pose-marks{min-height:44px}}.toy-orient,.piece-front{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.toy-orient{gap:var(--space-4)}.toy-orient>*{max-width:25rem}.toy-orient .size-note,.piece-front .size-note{margin:0}.line-form-fields{gap:var(--space-1) var(--space-2);margin-top:var(--space-2);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.line-form-field{font-size:var(--text-sm);display:contents}.line-form-field label{color:var(--text-muted)}.line-form-field select,.line-form-field input:not([type=checkbox]){min-width:0;min-height:28px;font:inherit}.line-form-toggle input{justify-self:end}.line-form-more{margin-top:var(--space-2)}.line-form-more>summary{cursor:pointer;align-items:center;gap:var(--space-1);min-height:28px;font-size:var(--text-sm);color:var(--text-muted);list-style:none;display:flex}.line-form-more>summary::-webkit-details-marker{display:none}.line-form-more>summary:before{content:"▸";text-align:center;width:1em;display:inline-block}.line-form-more[open]>summary:before{content:"▾"}.app .cm-kind-form{cursor:pointer}.app .cm-kind-form:hover{color:var(--accent-hover)}.turn-control{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:flex}.turn-buttons{display:flex}.app .turn-buttons button{padding:0 var(--space-2);justify-content:center;align-items:center;display:inline-flex}.app .turn-buttons .turn-back{border-top-right-radius:0;border-bottom-right-radius:0}.app .turn-buttons .turn-on{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.turn-dots{gap:3px;display:inline-flex}.turn-dot{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--surface);border-radius:50%;width:7px;height:7px}.turn-dot[data-on]{border-color:var(--accent);background:var(--accent)}.turn-control-label{color:var(--text)}.round-of-it{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text);display:flex}.round-of-it-wrapped{align-items:center;gap:var(--space-1);color:var(--text-muted);white-space:nowrap;display:inline-flex}.app .cm-clause{border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--border-strong);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px}.app .cm-clause-tip{max-width:22rem;padding:var(--space-1) var(--space-2);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text)}.workspace-tablet{position:relative;overflow:clip}.workspace-tablet>.pattern-editor{z-index:5;visibility:hidden;width:min(30rem,85vw);min-width:0;max-width:none;transition:transform .2s,visibility .2s;position:absolute;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:4px 0 16px #3c281e29}.workspace-tablet.workspace-pattern-open>.pattern-editor{visibility:visible;transform:none}@media (width>=700px) and (height>=500px){.workspace-tablet .preview-3d-wide .tool-bar{top:var(--space-2);left:var(--space-2);border-radius:var(--radius-lg);flex-flow:column;row-gap:0;max-width:none;padding:6px}.workspace-tablet .preview-3d-wide .tool-bar>.preview-mode{flex-direction:column;align-items:stretch}.workspace-tablet .tool-group+.tool-group{margin:var(--space-1) 0 0;padding:var(--space-1) 0 0;border-top:1px solid var(--border-strong);border-left:0}.app .workspace-tablet .tool-group button,.app .workspace-tablet .tool-group button.tool-button-view{width:auto;min-width:56px;height:auto;min-height:52px;padding:6px var(--space-1);border-radius:var(--radius);font-size:var(--text-xs);flex-direction:column;justify-content:center;gap:3px;line-height:1.2}.workspace-tablet .tool-button .icon{width:20px;height:20px;display:block}.workspace-tablet .tool-button-view .tool-name{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.workspace-tablet .preview-3d-wide .tool-bar{transition:left .2s}.workspace-tablet.workspace-pattern-open .preview-3d-wide .tool-bar{left:calc(min(30rem, 85vw) + var(--space-2))}}@media (width>=700px) and (height>=500px) and (orientation:portrait){.workspace-tablet:not(.workspace-pattern-open) .preview-3d-wide .tool-bar{top:auto;right:calc(var(--cube-room,0px) + 2 * var(--space-2));bottom:var(--space-2);flex-flow:wrap;justify-content:center;margin:0 auto}.workspace-tablet:not(.workspace-pattern-open) .preview-3d-wide .tool-bar>.preview-mode{flex-direction:row}.workspace-tablet:not(.workspace-pattern-open) .tool-group+.tool-group{margin:0 0 0 var(--space-1);padding:0 0 0 var(--space-1);border-top:0;border-left:1px solid var(--border-strong)}}@media (width>=700px) and (height>=500px) and (width<=1000px){.workspace-tablet.workspace-pattern-open .first-design{visibility:hidden}}@media (width>=700px) and (height>=500px) and (width<=1100px){.workspace-tablet.workspace-pattern-open .view-toggles,.workspace-tablet.workspace-pattern-open .preview-3d-wide .tool-options,.workspace-tablet.workspace-pattern-open .view-cube-box{visibility:hidden}}@media (width>=700px) and (height>=500px) and (orientation:portrait){.workspace-tablet.workspace-pattern-open>.right-panel{margin-left:min(30rem,85vw)}}.app .toolbar-pattern[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}@media (orientation:portrait){.workspace-tablet{flex-direction:column}.workspace-tablet>.right-panel{border-top:1px solid var(--border);border-left:none;width:auto;max-height:45%}.workspace-tablet>.right-panel.right-panel-folded{width:auto;height:44px}.app .workspace-tablet .right-panel-folded .panel-fold{flex-direction:row;justify-content:center;padding:0}.workspace-tablet .panel-fold-label{writing-mode:horizontal-tb}.workspace-tablet .panel-fold>span[aria-hidden=true]{transform:rotate(90deg)}}@media (width<=699.98px){.workspace-tablet>.pattern-editor{width:100%;box-shadow:none}.toolbar:has(.toolbar-pattern){gap:var(--space-1)}:is(.toolbar-pattern .toolbar-pattern-words,.toolbar:has(.toolbar-pattern) .save-status){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=699.98px),(height<=499.98px){.workspace-tablet .preview-3d-wide .tool-bar{gap:var(--space-2);width:auto;max-width:none;padding:var(--space-1) var(--space-2);border-top:1px solid var(--border);background:var(--surface);box-shadow:none;border-radius:0;flex-flow:row;order:3;position:static;overflow-x:auto}.workspace-tablet .preview-3d-wide .tool-bar>.preview-mode{box-shadow:none;flex-flow:row;flex:none}.app .workspace-tablet .preview-3d-wide .tool-bar .preview-mode button{justify-content:center;min-height:44px}.workspace-tablet .side-panel{padding:0}.workspace-tablet .preview-3d-wide .preview-3d-stage{box-shadow:none;border-radius:0}.workspace-tablet .preview-3d-wide .tool-options{--tool-strip-bg:var(--surface-subtle);background:var(--surface-subtle);width:auto;height:auto;max-height:9rem;box-shadow:none;border-right:none;border-radius:0;order:2;margin:0;position:static}.workspace-tablet .preview-3d-wide .tool-options>*{flex-shrink:0}.workspace-tablet .preview-3d-wide .tool-options .paint-options,.workspace-tablet .preview-3d-wide .tool-options .preview-mode{flex-wrap:nowrap;overflow-x:auto}.app .workspace-tablet .tool-options button,.app .workspace-tablet .view-toggles button,.app .workspace-tablet .view-cube-actions button{flex:none;min-height:44px}.app .workspace-tablet [data-compact-corner] .view-cube-actions button{width:44px}.workspace-tablet .view-cube{width:100px;height:100px}.app .workspace-tablet .view-cube-arrow{width:22px;height:44px}.workspace-tablet .view-cube-arrow-left,.workspace-tablet .view-cube-arrow-right{top:calc(50% - 22px)}.app .workspace-tablet .view-cube-arrow-up,.app .workspace-tablet .view-cube-arrow-down{width:44px;height:22px;left:calc(50% - 22px)}}@media (height<=499.98px){.workspace-tablet .preview-3d-wide .tool-options{max-height:3.75rem}}@media (width<=699.98px) and (orientation:portrait){.workspace-tablet>.right-panel{max-height:33%}.workspace-tablet .preview-3d-wide .tool-options{max-height:6.5rem}}@media (prefers-reduced-motion:reduce){.workspace-tablet>.pattern-editor{transition:none}}.workspace-phone{flex-direction:column}@media (orientation:portrait){.workspace-phone>.phone-model{border-top:none;border-bottom:1px solid var(--border);order:-1}.phone-model-actions{order:-1}}.workspace-phone>.side-panel{flex:auto;min-height:0}.phone-model{gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;display:flex}.phone-model-note{font-size:var(--text-ui);color:var(--text-muted);margin:0}.phone-model-about{align-items:center;gap:var(--space-3);display:flex}.phone-model-about .phone-model-note{flex:1 1 0}.phone-model-units .gauge-field{align-items:center;gap:var(--space-2);font-size:var(--text-ui);flex-direction:row;display:flex}.phone-model-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.app .phone-model-actions button{flex:1 0 auto;justify-content:center;min-height:44px}@media (orientation:landscape){.workspace-phone{flex-direction:row}.phone-model{border-top:none;border-left:1px solid var(--border);justify-content:safe center;width:19rem;overflow-y:auto}.phone-model-about{flex-direction:column;align-items:stretch}.phone-model-actions{grid-template-columns:1fr 1fr;display:grid}.app .phone-model-actions button{flex:none;min-width:0}}.phone-model .home-screen-hint{padding:var(--space-2);box-shadow:none;margin:0;position:static}.phone-model .home-screen-hint-mark{display:none}.phone-model .home-screen-hint p{font-size:var(--text-ui)}.app .phone-model .home-screen-hint .icon-button{min-width:44px;min-height:44px}.crash-screen{padding:var(--space-4);background:var(--bg);justify-content:center;align-items:center}.crash-card{box-sizing:border-box;justify-items:start;gap:var(--space-3);width:min(28rem,100%);padding:var(--space-6) var(--space-6) var(--space-5);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-overlay);border:0;display:grid}.state-card-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:3rem;height:3rem;color:var(--accent-text);place-items:center;display:inline-grid}.state-card-icon.is-warning{background:var(--warning-soft);color:var(--text)}.crash-card h1{font-size:var(--text-title-sm);margin:0}.crash-card p{color:var(--text-secondary);margin:0;line-height:1.55}.crash-details summary{color:var(--text-muted);font-size:var(--text-sm);cursor:pointer}.crash-details .crash-error{margin-top:var(--space-2)}.crash-buttons{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.app .crash-buttons button{min-height:44px;padding-inline:var(--space-5);border-radius:var(--radius-pill)}.crash-feedback{min-height:44px;color:var(--accent);align-items:center;font-weight:500;display:inline-flex}.crash-error{color:var(--text-muted);font-family:var(--font-code);font-size:var(--text-sm);overflow-wrap:anywhere}@media (pointer:coarse){.app button:not(.view-cube-face,.gallery-card-name),.app select,.app input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),.app summary{min-height:44px}.app .icon-button,.app .panel-fold,.app .outline-toggle,.app .toolbar-home{min-width:44px}.app .outline-piece-name,.app .outline-toggle{height:44px}.gallery-about{justify-content:center;min-width:44px;min-height:44px}.beta-badge{justify-content:center;min-width:44px;min-height:44px;margin:-8px 0}.app .gauge-about .link-button{margin-block:-16px;padding-block:16px}.app .gallery-chips button{min-width:44px}.view-cube,.workspace-tablet .view-cube{width:140px;height:140px}.app .view-cube-arrow,.app .workspace-tablet .view-cube-arrow,.app .workspace-tablet .view-cube-arrow-up,.app .workspace-tablet .view-cube-arrow-down{width:44px;height:44px}.view-cube-arrow-left,.view-cube-arrow-right,.workspace-tablet .view-cube-arrow-left,.workspace-tablet .view-cube-arrow-right{top:calc(50% - 22px)}.view-cube-arrow-up,.view-cube-arrow-down,.app .workspace-tablet .view-cube-arrow-up,.app .workspace-tablet .view-cube-arrow-down{left:calc(50% - 22px)}.view-cube-arrow-left{left:-6px}.view-cube-arrow-right{right:-6px}.view-cube-arrow-up{top:-6px}.view-cube-arrow-down{bottom:-6px}}.preview-3d-beside{flex-direction:row}.preview-3d-beside .preview-3d-overlay,.preview-3d-beside .view-cube-box{right:calc(40% + var(--space-2))}.preview-3d-stage-beside>.tool-bar{max-width:var(--tools-room,calc(60% - 2 * var(--space-3)))}.preview-3d-beside .preview-3d-overlay,.preview-3d-beside .preview-3d-note{max-width:calc(60% - 2 * var(--space-2))}.reference-picture-beside{gap:var(--space-1);min-width:0;padding:var(--space-2);border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex:0 0 40%;display:flex}.reference-picture-box{cursor:grab;touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}.reference-picture-box:active{cursor:grabbing}.reference-picture-box img,.reference-picture-over img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.reference-picture-box img.reference-picture-framed,.reference-picture-over img.reference-picture-framed{object-fit:fill;max-width:none;max-height:none;inset:auto}.reference-picture-over{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.reference-picture-over.reference-picture-moving{cursor:move;pointer-events:auto;touch-action:none}.reference-picture-float{top:calc(var(--overlay-top,var(--space-3)) + 56px);right:var(--space-3);z-index:2;align-items:stretch;gap:var(--space-1);width:min(18rem, calc(100% - 2 * var(--space-3)));flex-direction:column;display:flex;position:absolute}.reference-picture-bar{gap:var(--space-2);font-size:var(--text-sm);flex-direction:column;flex:none;display:flex}.reference-picture-float .reference-picture-bar{padding:var(--space-4);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-overlay)}.reference-picture-beside .reference-picture-bar{padding:var(--space-2) var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.reference-picture-bar h3{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-lead);margin:0;font-weight:600}.reference-picture-label{margin:0 0 calc(var(--space-1) * -1);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.reference-picture-where{display:flex}.app .reference-picture-where button{padding-inline:var(--space-2);white-space:nowrap;flex:1;justify-content:center}.reference-picture-slider{align-items:center;gap:2px var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);grid-template-columns:1fr auto;display:grid}.reference-picture-slider input{grid-area:2/1/auto/-1;width:100%}.reference-picture-slider output{color:var(--text-muted);font-variant-numeric:tabular-nums;grid-area:1/2}.reference-picture-move{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-subtle);display:flex}.reference-picture-move label{font-weight:600}.reference-picture-move p{color:var(--text-muted);font-size:var(--text-xs);margin:2px 0 0;line-height:1.4}.reference-picture-actions{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);display:flex}.reference-picture-kept{color:var(--text-muted);font-size:var(--text-xs);margin:0;line-height:1.4}.reference-picture-problem{padding:2px var(--space-2);border-radius:var(--radius);box-shadow:0 0 0 1px var(--border);color:var(--text);font-size:var(--text-xs);background:#fffdf9e6;margin:0;line-height:1.4}.chart-key{top:var(--space-2);left:var(--space-2);z-index:2;width:max-content;max-width:min(16rem, calc(100% - 2 * var(--space-2)));max-height:calc(100% - 8rem);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:#fffdf9e6;position:absolute;overflow-y:auto}.chart-key summary{cursor:pointer;font-weight:600}.chart-key ul{margin:var(--space-1) 0 0;padding:0;list-style:none}.chart-key li{align-items:center;gap:var(--space-2);display:flex}.chart-key svg{flex:none;overflow:visible}.chart-key svg line,.chart-key svg ellipse{vector-effect:non-scaling-stroke}.preview-3d-overlay .chart-key{pointer-events:auto;flex-basis:100%;position:static}.make-view-desk{grid-template-columns:clamp(26.25rem,33%,30rem) minmax(0,1fr)}.make-view-desk.make-view-rail{grid-template-columns:clamp(15rem,20%,18.75rem) clamp(26.25rem,31%,30rem) minmax(0,1fr)}.make-view-rail>.make-rail{grid-area:1/1}.make-view-rail>.make-steps{grid-area:1/2}.make-view-rail>.make-preview{grid-column:3}.make-view-desk .make-sheet{padding:0 var(--space-5) var(--space-6)}.make-view-desk .make-steps{container-type:inline-size}.make-view-desk .make-sheet-head{margin:0 calc(-1 * var(--space-5));padding:var(--space-5) var(--space-5) var(--space-3);border-bottom-color:var(--border-faint)}.make-view.make-view-desk .make-sheet-head .make-overall{font-size:var(--text-ui);color:var(--text-muted);text-align:right;white-space:normal;flex:7rem;margin-left:auto;font-weight:400}.make-view-desk .make-sheet-head>.make-meter{flex-basis:100%;order:2}.app .make-view.make-view-desk button.make-pieces-menu{height:var(--control-height);padding:0 var(--space-4) 0 var(--space-3);border-color:var(--ink);background:var(--ink);color:var(--text-on-ink);flex:2 12rem}.app .make-view-desk button.make-pieces-menu:hover:not(:disabled){border-color:var(--text-secondary);background:var(--text-secondary)}.make-piece-chips{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.app button.make-piece-chip{height:var(--control-height);padding:0 var(--space-4) 0 var(--space-3);gap:var(--space-2);background:var(--surface-subtle);color:var(--text);border-color:#0000;font-weight:600}.app button.make-piece-chip:hover:not(:disabled){background:var(--surface-subtle-hover)}.app button.make-piece-chip[aria-pressed=true]{background:var(--ink);color:var(--text-on-ink)}.make-piece-chip-count{font-variant-numeric:tabular-nums;opacity:.8;font-weight:400}.make-piece-dot{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #2b242033}.make-meter{border-radius:var(--radius-pill);background:var(--surface-subtle);height:4px;display:block;overflow:hidden}.make-meter>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.make-rail{min-height:0;padding:var(--space-5) var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);overflow-y:auto}.make-rail-title{margin:0 var(--space-2) var(--space-3);font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title-sm);letter-spacing:-.01em;font-weight:600}.make-rail-title span{margin-left:var(--space-1);font-family:var(--font-ui);font-size:var(--text-sm);letter-spacing:0;color:var(--text-muted);font-weight:400}.make-rail>.make-meter{margin:0 var(--space-2) var(--space-2)}.make-rail>.make-overall{margin:0 var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);white-space:normal;font-weight:400}.make-rail-list{margin:0;padding:0;list-style:none}.app button.make-rail-piece{width:100%;height:auto;min-height:36px;padding:var(--space-1) var(--space-2);border-radius:var(--radius);color:var(--text);text-align:left;background:0 0;border-color:#0000;justify-content:flex-start;gap:10px}.app button.make-rail-piece:hover:not(:disabled){background:var(--surface-subtle)}.app button.make-rail-piece[aria-current=true]{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.make-rail-name{overflow-wrap:anywhere;text-align:left;flex:auto;min-width:0}.make-rail-times{border-radius:var(--radius-pill);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-xs);flex:none;padding:0 6px;font-weight:600}.make-rail-count{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-weight:400}.make-state{box-sizing:border-box;border:1.5px solid var(--border-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.make-state-finished{border-color:var(--success);background:var(--success);color:var(--text-on-accent)}.make-state-finished .icon{stroke-width:2.25px;width:12px;height:12px}.make-state-inProgress{border-color:var(--accent-ring);border-top-color:var(--accent);border-right-color:var(--accent)}.make-view-desk .make-piece{margin-top:var(--space-4);box-shadow:none;background:0 0;border-radius:0;padding:0}.make-view-desk .make-piece+.make-piece{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.make-view-desk .make-piece-head{display:block}.make-view-desk .make-piece-kicker{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 2px}.make-view-desk .make-piece-of{display:inline}.make-view-desk .make-piece-head h2{font-size:var(--text-title);line-height:1.15}.app .make-view-desk .make-piece-name{font-weight:inherit;letter-spacing:inherit}.make-view-desk .make-piece-yarn{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-body);display:block}.make-view-desk .make-piece-meter{align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.make-view-desk .make-piece-head .make-meter{flex:1;display:block}.make-view-desk .make-piece-count{min-width:0;font-size:var(--text-sm)}.make-view-rows .make-lines{margin-top:var(--space-3)}.make-view-rows .make-line{border-left:0;border-bottom:1px solid var(--border-faint);border-radius:0;align-items:center;margin:0;padding:2px 0}.make-view-rows .make-kind-round:before,.make-view-rows .make-kind-step:before{display:none}.app .make-view-rows .make-mark{align-self:flex-start;margin:0}.make-view-rows .make-bead{box-sizing:border-box;width:20px;height:20px;font-size:var(--text-xs);background:0 0;border-width:1.5px}.make-view-rows .make-mark-done .make-bead{border-color:var(--success);background:var(--success)}.app .make-view-rows button.make-line-text{box-sizing:border-box;min-height:44px;padding:10px 0}.make-view-rows .make-line-label{font-size:var(--text-ui);color:var(--text-muted)}.make-view-rows .make-line-text .make-line-label strong{color:inherit;font-weight:500}.make-view-rows .make-line-label .make-step-tag{color:var(--text-muted);font-size:var(--text-ui);background:0 0;border:0;margin:0;padding:0;font-weight:500}.make-view-rows .make-piece-focus .make-line-current{margin:var(--space-2) calc(-1 * var(--space-3));padding:var(--space-3) var(--space-3) var(--space-4) 0;border-radius:var(--radius-lg);background:var(--accent-soft);border-bottom:0;align-items:flex-start}.app .make-view-rows .make-piece-focus .make-line-current button.make-line-text{row-gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label count""body body";padding:2px 0 0}.make-view-rows .make-piece-focus .make-line-current .make-line-label,.make-view-rows .make-piece-focus .make-line-current .make-line-label strong{color:var(--accent-hover);font-weight:600}.make-view-rows .make-piece-focus .make-line-current .make-line-body{color:var(--text);font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title-sm);letter-spacing:-.01em;font-weight:600;line-height:1.25}.make-view-rows .make-piece-focus .make-line-current .make-mark{margin-top:2px}.make-view-desk .make-done-bar{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top-color:var(--border-faint);background:var(--surface)}.app .make-view-desk .make-back{flex:none;margin-right:auto}.make-view-desk .make-done-bar:not(:has(.make-done-note)){gap:var(--space-2);flex-wrap:nowrap}@container (width<=29.5rem){.make-done-key{display:none}}.make-view-desk .make-done-bar .make-done{flex:none}.make-done-key{min-width:0;color:var(--text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.make-done-key kbd{border-radius:var(--radius-sm);background:var(--surface-subtle);font-family:inherit;font-size:var(--text-xs);padding:2px 6px}.make-done-note~.make-back,.make-done-note~.make-done-key{display:none}.make-view-desk .make-done-note{margin-right:auto}.app .make-view-desk button.make-done{min-height:52px;padding:0 var(--space-6);gap:var(--space-2)}.make-done .icon{stroke-width:2px;width:18px;height:18px}.make-view-desk>.make-preview{gap:0;padding:0;position:relative;overflow:hidden}.make-view-desk .make-preview .make-preview-viewport{border-radius:0;container-type:inline-size}.make-view-desk .make-preview-head{top:var(--space-4);right:var(--space-4);z-index:3;position:absolute}.app .make-view-desk button.make-view-menu{height:44px;padding:0 var(--space-4);border-color:var(--ink);background:var(--ink);color:var(--text-on-ink);flex:none;font-weight:600}.app .make-view-desk button.make-view-menu:hover:not(:disabled){border-color:var(--text-secondary);background:var(--text-secondary)}.make-view-desk .preview-3d-overlay.make-view-tools{top:var(--space-4);right:auto;left:var(--space-4);justify-content:flex-start;gap:var(--space-2);max-width:calc(100% - 22rem)}.app .make-view-tools .icon-button,.app .make-view-tools button.make-lock{background:var(--surface);height:44px;box-shadow:var(--shadow-raised);border-color:#0000}.app .make-view-tools .icon-button{border-radius:50%;width:44px}.app .make-view-tools button.make-lock{padding:0 var(--space-4) 0 var(--space-3);gap:var(--space-2)}@container (width<=38rem){.app .make-view-tools button.make-lock{border-radius:50%;justify-content:center;width:44px;padding:0}.make-lock-words{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.app .make-view-tools button.make-lock[aria-pressed=true]{background:var(--ink);color:var(--text-on-ink)}.make-view-desk .make-preview-hint,.make-view-desk .make-preview-key{padding:var(--space-2) var(--space-4)}.make-view-desk .make-play.make-player{right:auto;bottom:var(--space-5);gap:var(--space-1);max-width:calc(100% - 2 * var(--space-4));background:var(--surface);box-shadow:var(--shadow-overlay);padding:6px;left:50%;transform:translate(-50%)}.app .make-player .make-step-arrow{background:var(--surface-subtle);width:40px;height:40px;box-shadow:none;color:var(--text);font-size:var(--text-heading);flex:none;margin:0;position:static}.make-player-where{width:11rem;color:var(--text-secondary);font-size:var(--text-ui);font-variant-numeric:tabular-nums;text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.make-player-divider{width:1px;height:24px;margin:0 var(--space-1);background:var(--border);flex:none}.make-player .make-play-button,.make-player .make-play-all{width:auto;height:40px;padding:0 var(--space-4) 0 var(--space-3);gap:var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-ui);white-space:nowrap;font-weight:600}.make-player .make-play-all{background:var(--surface-subtle);color:var(--text)}.make-player .make-play-speed{min-width:5rem;height:40px}@container (width<=46rem){.make-player-where{width:9rem}}@container (width<=38rem){.make-player .make-play-words{display:none}.make-player .make-play-button,.make-player .make-play-all{width:40px;padding:0}}@container (width<=26rem){.make-player-where,.make-player-divider{display:none}}@media (pointer:coarse){.app .make-player .make-step-arrow,.make-player .make-play-button,.make-player .make-play-all,.make-player .make-play-speed,.app button.make-piece-chip,.app button.make-rail-piece,.app .make-sheet-tab{min-width:44px;min-height:44px}}.make-view-desk .make-preview-viewport .preview-3d-note{top:calc(var(--space-4) + 52px);bottom:auto;left:var(--space-4);max-width:calc(100% - 2 * var(--space-4))}.make-view-desk .make-looking{bottom:calc(var(--space-5) + 64px);z-index:2;align-items:center;gap:var(--space-2);white-space:nowrap;flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.make-looking-note{color:var(--text-muted);font-size:var(--text-sm);margin:0}.app .make-preview-viewport .make-looking .make-step-home{position:static}.toolbar-menu-items{flex-direction:column;display:flex}.toolbar-menu.make-view-pop,.toolbar-menu.model-view-pop{width:min(25rem, calc(100vw - 2 * var(--space-4)));min-width:0;max-width:none;padding:var(--space-3) var(--space-4) var(--space-4)}.make-view-pop [role=group]+[role=group],.model-view-pop [role=group]+[role=group]{margin-top:var(--space-3);border-top:0;padding-top:0}.make-view-pop .insert-menu-title,.model-view-pop .insert-menu-title{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);letter-spacing:0;text-transform:none}.make-view-pop .toolbar-menu-section-note,.model-view-pop .toolbar-menu-section-note{max-width:none;margin:var(--space-2) 0 0}.toolbar-menu-tiles{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.toolbar-menu .toolbar-menu-tiles button{align-items:stretch;gap:var(--space-2);height:auto;padding:var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface-sunk);white-space:normal;flex-direction:column}.toolbar-menu .toolbar-menu-tiles button[aria-checked=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);color:var(--text)}.toolbar-menu-tiles .toolbar-menu-label{font-size:var(--text-ui);gap:2px;font-weight:600}.toolbar-menu-tiles .toolbar-menu-check,.toolbar-menu-segmented .toolbar-menu-check{display:none}.toolbar-menu-picture{border-radius:var(--radius-sm);background:var(--surface-subtle);justify-content:center;align-items:center;height:52px;display:flex}.make-view-picture{width:72px;height:36px}.make-view-picture-toy{fill:var(--picture-yarn)}.make-view-picture-piece{fill:var(--picture-yarn);stroke:var(--accent);stroke-width:2px;stroke-dasharray:2 2}.make-view-picture-round{fill:none;stroke:var(--surface);stroke-width:1.5px;stroke-dasharray:2 2.5}.make-view-picture-marker{fill:var(--surface);stroke:var(--accent);stroke-width:1.75px}.model-view-pop .toolbar-menu-tiles{gap:var(--space-1);grid-template-columns:repeat(5,minmax(0,1fr))}.toolbar-menu.model-view-pop .toolbar-menu-tiles button{gap:var(--space-1);padding:var(--space-1) var(--space-1) var(--space-2);font-size:var(--text-sm);text-align:center;font-weight:600;line-height:1.2}.model-view-pop .toolbar-menu-picture{background:0 0;height:auto}.look-picture{width:100%;height:auto;display:block}.look-picture-patch{fill:var(--picture-yarn)}.look-picture-ball{fill:#fffdf966}.look-picture-mark{fill:none;stroke:#fffdf999;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.toolbar-menu.model-view-pop .toolbar-menu-section-segmented{grid-template-columns:5rem minmax(0,1fr);align-items:center;display:grid}.model-view-pop .toolbar-menu-section-segmented .insert-menu-title{margin:0}.model-view-pop .toolbar-menu-section-segmented .toolbar-menu-section-note{grid-column:1/-1}.model-view-pop [role=group].toolbar-menu-ruled{padding-top:var(--space-3);border-top:1px solid var(--border)}.toolbar-menu .toolbar-menu-switches button{width:100%;min-height:36px;padding-inline:var(--space-1);white-space:normal;justify-content:space-between}.toolbar-menu-switch{border-radius:var(--radius-pill);background:var(--track-fill);flex:none;width:36px;height:20px;transition:background-color .12s;position:relative}.toolbar-menu-switch:before{content:"";box-sizing:border-box;border:1px solid var(--line-control);background:var(--surface);width:16px;height:16px;box-shadow:var(--shadow-control);border-radius:50%;transition:transform .12s;position:absolute;top:2px;left:2px}[aria-checked=true]>.toolbar-menu-switch{background:var(--accent)}[aria-checked=true]>.toolbar-menu-switch:before{border-color:var(--text-on-accent);background:var(--text-on-accent);transform:translate(16px)}@media (prefers-reduced-motion:reduce){.toolbar-menu-switch,.toolbar-menu-switch:before{transition:none}}.toolbar-menu.model-view-pop .toolbar-menu-section-pills{align-items:center;gap:var(--space-2) var(--space-3);flex-flow:wrap}.toolbar-menu-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar-menu .toolbar-menu-pills button{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-sunk);font-weight:600}.model-view-pop .toolbar-menu-section-pills .toolbar-menu-section-note{flex:8rem;margin:0}.toolbar-menu-segmented{border-radius:var(--radius-pill);background:var(--track-fill);box-shadow:inset 0 0 0 1px var(--border);gap:2px;padding:2px;display:flex}.toolbar-menu .toolbar-menu-segmented button{min-width:0;min-height:36px;padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--text-secondary);flex:1 1 0;justify-content:center}.toolbar-menu .toolbar-menu-segmented button[aria-checked=true]{background:var(--surface);box-shadow:var(--shadow-control);color:var(--text);font-weight:600}.dialog-backdrop-sheet{padding:calc(var(--header-height)) var(--space-4) var(--space-4);background:#2b242014}.make-dialog.dialog-sheet{width:min(27.5rem,100%);overflow:hidden}@media (width<=699.98px),(height<=499.98px) and (pointer:coarse){.dialog-backdrop-sheet{padding:0}.make-dialog.dialog-sheet{width:100%}}.make-pattern-sheet header{padding:var(--space-5) var(--space-4) var(--space-3) var(--space-5);border-bottom:0}.make-pattern-sheet h2{font-size:var(--text-title-sm)}.make-sheet-tabs{margin:0 var(--space-5) var(--space-2);border-radius:var(--radius-pill);background:var(--track-fill);box-shadow:inset 0 0 0 1px var(--border);flex:none;gap:2px;padding:2px;display:flex}.app .make-sheet-tab,.make-sheet-tab{min-width:0;height:36px;padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-ui);background:0 0;border-color:#0000;flex:auto;justify-content:center}.make-sheet-tab[aria-selected=true]{background:var(--surface);box-shadow:var(--shadow-control);color:var(--text);font-weight:600}.make-pattern-sheet .make-dialog-body{min-height:0;padding:var(--space-2) var(--space-5) var(--space-4);flex:1}.make-sheet-none{color:var(--text-muted)}.make-sheet-foot{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);flex:none;display:flex}.make-sheet-foot p{color:var(--text-muted);font-size:var(--text-sm);margin:0}.make-gather{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-1) 0;display:flex}.make-gather p{color:var(--text-muted);font-size:var(--text-ui);margin:0}.make-gather strong{color:var(--text-secondary);font-weight:600}.app .units-choice-compact button{min-width:2.5rem;height:30px;font-size:var(--text-sm)}.make-materials label{box-sizing:border-box;min-height:40px}.make-materials input{accent-color:var(--success)}.make-colours{margin-top:var(--space-4);padding:var(--space-3) var(--space-4) var(--space-4);border-radius:var(--radius);background:var(--surface-sunk)}.make-dialog .make-colours h3{margin:0 0 var(--space-1);font-size:var(--text-ui)}.make-piece-stepper{margin-top:var(--space-2);align-items:stretch;gap:6px;display:flex}.make-view-narrow.make-view-short .make-sheet-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.make-view-narrow.make-view-short .make-sheet-top{display:contents}.make-view-narrow.make-view-short .make-sheet-head .make-overall{flex:none;order:1}.make-view-narrow.make-view-short .make-sheet-top>.toolbar-menu-button{order:2;margin-left:auto}.make-view-short .make-sheet-head>.make-meter{display:none}.make-view-short .make-piece-chips{gap:6px}.app .make-view-short button.make-piece-chip{padding:0 var(--space-3) 0 var(--space-2);gap:6px}.make-view-short .make-piece-stepper{flex:8rem;min-width:0;margin-top:0}.make-view-short .make-piece-stepper .make-piece-step,.make-view-short .make-piece-button-of{display:none}.app .make-view-short button.make-piece-button{min-height:44px;padding:0 var(--space-3)}.app .make-piece-stepper .make-piece-step{border-radius:var(--radius);background:var(--surface-subtle);border-color:#0000;flex:none;width:44px;height:auto;min-height:44px}.app button.make-piece-button{min-width:0;height:auto;min-height:52px;padding:var(--space-1) var(--space-2);justify-content:flex-start;gap:var(--space-2);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-raised);color:var(--text);text-align:left;border-color:#0000;flex:auto}.make-piece-button-words{flex-direction:column;flex:auto;min-width:0;line-height:1.25;display:flex}.make-piece-button-of{color:var(--text-muted);font-size:var(--text-sm);font-weight:400}.make-piece-button-name{font-size:var(--text-lead);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.make-piece-button-count{color:var(--text-muted);font-weight:400}.make-ring{fill:none;stroke:var(--accent-ring);stroke-width:3px;flex:none}.make-ring-done{stroke:var(--accent);stroke-linecap:round}.app .make-view-narrow button.make-line-text{grid-template-columns:4rem minmax(0,1fr) auto}.make-view-narrow.make-view-rows .make-piece-focus .make-line-current .make-line-body{font-size:var(--text-heading)}.make-how{margin-top:var(--space-2)}.make-how-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.app button.make-how-chip{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--text);font-size:var(--text-body);border-color:#0000;font-weight:500}.make-piece-focus .make-line-current .make-how-chip{background:var(--surface)}.app button.make-how-chip[aria-expanded=true]{border-color:var(--accent);color:var(--accent-hover)}.make-how .make-new-stitch{margin-top:var(--space-2);color:var(--text-secondary)}.make-dialog-backdrop:has(>.make-pieces-sheet){justify-content:stretch;align-items:flex-end;padding:15vh 0 0}.make-dialog.make-pieces-sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:auto;max-height:100%}.make-dialog.make-pieces-sheet:before{content:"";width:40px;height:4px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--border-strong);flex:none;align-self:center}.make-pieces-sheet header{padding:var(--space-3) var(--space-3) var(--space-2) var(--space-5);border-bottom:0;flex-wrap:nowrap;align-items:center}.make-pieces-sheet h2{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);font-size:var(--text-title-sm);flex:none}.make-pieces-sheet-sum{min-width:0;color:var(--text-muted);font-size:var(--text-ui);flex:1 1 0;margin:0}.make-pieces-sheet .make-dialog-body{padding:0 var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom))}.app .make-pieces-sheet button.make-rail-piece{min-height:48px;padding:var(--space-2) var(--space-3);font-size:var(--text-lead)}.app .make-done-bar .make-back-round{background:var(--surface-subtle);border-color:#0000;flex:none;width:56px;height:56px}.make-view-narrow .make-done-bar:has(.make-back-round){flex-wrap:nowrap}.app .make-view-narrow .make-done-bar .make-done{flex:auto;justify-content:center;min-height:56px}.display,.toolbar-name-plain,.app .toolbar button.toolbar-name-button,.make-piece-head h2,.gallery-hero h2,.app button.gallery-card-name,.gallery-details-words h2,.designs-dialog header h2,.make-dialog h2,.import-title,.import-name,.crash-card h1{font-family:var(--font-display);font-variation-settings:var(--font-display-settings);letter-spacing:-.01em;font-weight:600}
