:root{--ink:#16202a;--slate:#2e4756;--slate-light:#d7e3ea;--clay:#b4553b;--clay-light:#f6ded6;--action:#a34a32;--on-action:#ffffff;--primary:var(--slate);--on-primary:#ffffff;--primary-container:var(--slate-light);--on-primary-container:var(--ink);--secondary:var(--clay);--secondary-container:var(--clay-light);--background:#fbf7f2;--on-background:var(--ink);--surface:#fbf7f2;--on-surface:var(--ink);--surface-variant:#ede5da;--on-surface-variant:#3d4750;--surface-container:#ffffff;--surface-container-high:#f2ede6;--outline:#6d7780;--outline-variant:#c5cdd3;--error:#8a4b00;--on-error:#ffffff;--error-container:#ffe7c7;--on-error-container:#3a1f00;--shadow:rgba(22,32,42,0.14);--result-headline:34px;--min-touch-target:48px;--screen-padding:16px;--item-spacing:12px;--radius:12px;--wizardbar-height:72px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary:#a8cadd;--on-primary:#0c2634;--primary-container:#224354;--on-primary-container:#d6eaf6;--secondary:#f0a48c;--secondary-container:#6b2e1a;--background:#12171b;--on-background:#eceff1;--surface:#12171b;--on-surface:#eceff1;--surface-variant:#2a3138;--on-surface-variant:#c5cdd3;--surface-container:#1d242a;--surface-container-high:#262e35;--outline:#8b959d;--outline-variant:#444d55;--error:#ffb77c;--on-error:#432200;--error-container:#663400;--on-error-container:#ffddbb;--shadow:rgba(0,0,0,0.5);--action:#f0a48c;--on-action:#3a1409;color-scheme:dark}}:root[data-theme=dark]{--primary:#a8cadd;--on-primary:#0c2634;--primary-container:#224354;--on-primary-container:#d6eaf6;--secondary:#f0a48c;--secondary-container:#6b2e1a;--background:#12171b;--on-background:#eceff1;--surface:#12171b;--on-surface:#eceff1;--surface-variant:#2a3138;--on-surface-variant:#c5cdd3;--surface-container:#1d242a;--surface-container-high:#262e35;--outline:#8b959d;--outline-variant:#444d55;--error:#ffb77c;--on-error:#432200;--error-container:#663400;--on-error-container:#ffddbb;--shadow:rgba(0,0,0,0.5);--action:#f0a48c;--on-action:#3a1409;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{background:var(--background);color:var(--on-background);hyphens:auto;-webkit-hyphens:auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}.detailrow dd,.plancard-total,.planline-value,.result-headline,.result-subhead,input,textarea{hyphens:manual;-webkit-hyphens:manual}.app{display:flex;flex-direction:column;min-height:100svh;max-width:720px;margin:0 auto;padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px))}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;min-height:64px;padding:8px var(--screen-padding);background:var(--surface);border-bottom:1px solid var(--outline-variant)}.topbar h1{flex:1 1;margin:0;font-size:24px;line-height:30px;font-weight:600}.iconbutton{display:inline-flex;align-items:center;justify-content:center;min-width:var(--min-touch-target);min-height:var(--min-touch-target);padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--on-surface);cursor:pointer;text-decoration:none;font-size:17px}.iconbutton:hover{background:var(--surface-variant)}.content{flex:1 1;padding:var(--screen-padding)}.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--surface-container);border-top:1px solid var(--outline-variant);padding-bottom:env(safe-area-inset-bottom,0)}.bottomnav-inner{display:flex;max-width:720px;margin:0 auto}.bottomnav a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;min-width:0;padding:6px 2px;text-decoration:none;color:var(--on-surface-variant);font-size:13px;text-align:center;overflow-wrap:anywhere;line-height:1.15}.bottomnav a[aria-current=page]{color:var(--on-primary-container);font-weight:600}.bottomnav a[aria-current=page] .navicon{background:var(--primary-container)}.navicon{display:flex;align-items:center;justify-content:center;width:56px;height:30px;border-radius:999px;font-size:18px;line-height:1}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--item-spacing)}.tile{display:flex;flex-direction:column;gap:4px;min-height:116px;padding:12px;border-radius:var(--radius);background:var(--surface-container);border:1px solid var(--outline-variant);color:inherit;text-align:left;text-decoration:none;cursor:pointer}.tile:hover{border-color:var(--outline)}.tile-title{font-size:17px;line-height:23px;font-weight:500}.tile-desc{font-size:16px;line-height:22px;color:var(--on-surface-variant)}.fieldgroup,.fields{display:flex;flex-direction:column;gap:var(--item-spacing)}.section-header{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--min-touch-target);padding:0;border:0;border-top:1px solid var(--outline-variant);background:transparent;color:var(--on-surface);font-size:17px;font-weight:500;text-align:start;cursor:pointer}.fieldgroup:first-of-type .section-header{border-top:0}.description{margin:0;line-height:23px}.description,.field label{font-size:16px;color:var(--on-surface-variant)}.field label{display:block;margin-bottom:4px}.field input[type=search],.field input[type=text]{width:100%;min-height:56px;padding:0 14px;font-size:18px;border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface-container)}.field input[type=search]:focus,.field input[type=text]:focus{outline:2px solid var(--primary);outline-offset:-2px}.input-suffixed{position:relative;display:block}.field .input-suffixed input[type=text]{padding-right:52px}.input-suffix{position:absolute;top:50%;right:14px;transform:translateY(-50%);font-size:18px;color:var(--on-surface-variant);pointer-events:none}.fractions{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.fractions button{flex:0 0 auto;min-width:var(--min-touch-target);min-height:var(--min-touch-target);padding:0 12px;font-size:19px;border:1px solid var(--outline);border-radius:999px;background:var(--surface-container);cursor:pointer}.fractions button:hover{background:var(--surface-variant)}.switchrow{display:flex;align-items:center;gap:12px;min-height:var(--min-touch-target);padding:8px 0;cursor:pointer}.switchrow span{flex:1 1;font-size:18px}.switchrow input{width:22px;height:22px;accent-color:var(--primary)}.choices{display:flex;flex-direction:column}.choicerow{display:flex;align-items:center;gap:12px;min-height:var(--min-touch-target);cursor:pointer;font-size:18px}.choicerow input{width:22px;height:22px;accent-color:var(--primary)}.choicehint{display:block;margin-top:2px;font-size:15px;line-height:1.35;color:var(--on-surface-variant)}.choicerow:has(.choicehint){display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:start;padding:6px 0}.choicerow:has(.choicehint) input{margin-top:3px}.resultpanel{position:fixed;bottom:calc(64px + env(safe-area-inset-bottom, 0px));left:0;right:0;z-index:15;background:var(--surface-container-high);border-top:1px solid var(--outline-variant);box-shadow:0 -6px 18px var(--shadow)}.resultpanel-inner{max-width:720px;margin:0 auto;padding:12px var(--screen-padding)}.result-label{font-size:16px;line-height:21px;color:var(--on-surface-variant)}.result-headline{margin:2px 0 0;font-size:var(--result-headline);line-height:var(--result-headline);font-weight:600;color:var(--on-surface)}.result-subhead{margin:2px 0 0;font-size:18px;color:var(--on-surface-variant)}.result-toggle{min-height:var(--min-touch-target);margin-top:2px;padding:0;border:0;background:transparent;color:var(--primary);font-size:17px;font-weight:500;cursor:pointer}.result-detail{max-height:280px;overflow-y:auto}.result-section-title{margin:6px 0 2px;padding-top:6px;border-top:1px solid var(--outline-variant);font-size:17px;font-weight:500}.detailrow{display:flex;gap:12px;align-items:flex-start;padding:4px 0}.detailrow dt{flex:1 1;margin:0;font-size:16px;color:var(--on-surface-variant)}.detailrow dd{margin:0;font-size:16px;font-weight:500;text-align:right}.note{margin-top:8px;padding:10px 12px;border-radius:8px;font-size:16px}.note.warning{background:var(--error-container);color:var(--on-error-container)}.note.info{background:var(--primary-container);color:var(--on-primary-container)}.calc-content{padding-bottom:calc(var(--panel-height, 240px) + 24px)}@media (orientation:landscape) and (max-height:520px){.app:has(.resultpanel){max-width:none;margin:0;padding-right:var(--side-panel-width)}:root{--side-panel-width:min(40vw,380px)}.resultpanel{top:0;left:auto;width:var(--side-panel-width);overflow-y:auto;border-top:0;border-left:1px solid var(--outline-variant);box-shadow:-6px 0 18px var(--shadow)}.resultpanel-inner{max-width:none;padding-right:calc(var(--screen-padding) + env(safe-area-inset-right, 0px))}.result-detail{max-height:none;overflow:visible}.calc-content{padding-bottom:var(--screen-padding)}}.section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--outline-variant)}.section:last-child{border-bottom:0}.section h2{margin:0 0 8px;font-size:17px;font-weight:500}.hint{margin:8px 0 0}.hint,.save-indicator{font-size:16px;color:var(--on-surface-variant)}.save-indicator{display:flex;align-items:center;gap:6px;margin:0;min-height:var(--min-touch-target)}.save-indicator span{color:var(--primary)}.save-indicator.failed{color:var(--error)}.save-indicator button{min-height:var(--min-touch-target);padding:0 12px;border:0;background:none;color:var(--primary);font:inherit;font-weight:500;cursor:pointer}.card{display:block;width:100%;padding:var(--screen-padding);border:1px solid var(--outline-variant);border-radius:var(--radius);background:var(--surface-container);color:inherit;text-align:left;text-decoration:none;cursor:pointer}.card+.card{margin-top:var(--item-spacing)}.card h2{margin:0 0 6px;font-size:19px;line-height:25px;font-weight:500}.card p{margin:0 0 6px;font-size:16px;color:var(--on-surface-variant)}progress{width:100%;height:8px;accent-color:var(--primary)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--min-touch-target);padding:0 20px;border:0;border-radius:999px;background:var(--primary);color:var(--on-primary);font-size:17px;font-weight:500;text-decoration:none;cursor:pointer}.button:disabled{opacity:.5;cursor:not-allowed}.button.secondary{background:transparent;color:var(--primary);border:1px solid var(--outline)}.button.danger{background:transparent;color:var(--error);border:1px solid var(--error)}.buttonrow{display:flex;flex-wrap:wrap;gap:var(--item-spacing);margin-top:var(--item-spacing)}.button.quiet{background:transparent;color:var(--primary);padding:0 12px;font-size:15px}.transfer{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.transfer,.transfer .button.secondary{margin-top:var(--item-spacing)}.empty{padding:40px var(--screen-padding);text-align:center;font-size:18px;color:var(--on-surface-variant)}textarea{width:100%;min-height:96px;padding:10px 14px;font-size:18px;border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface-container);resize:vertical}.tilegroup-title{margin:20px 0 8px;font-size:17px;font-weight:500}section:first-of-type>.tilegroup-title{margin-top:0}.plus{font-size:28px;line-height:1}.projectcard{display:flex;gap:var(--item-spacing);align-items:flex-start}.projectcard-body{flex:1 1;min-width:0}.thumb{display:block;flex:0 0 auto;width:72px;height:72px;border-radius:8px;overflow:hidden;background:var(--surface-variant)}.thumb.large{width:96px;height:96px}.thumb img{object-fit:cover}.thumb img,.thumb svg{width:100%;height:100%}.thumb svg{display:block;padding:6px;box-sizing:border-box}.photorow{display:flex;gap:var(--item-spacing);align-items:flex-start}.photorow-actions{display:flex;flex-direction:column;gap:8px}.wizardbar{position:fixed;bottom:calc(64px + env(safe-area-inset-bottom, 0px));left:0;right:0;z-index:15;background:var(--surface-container-high);border-top:1px solid var(--outline-variant);box-shadow:0 -6px 18px var(--shadow)}.wizardbar-inner{max-width:720px;margin:0 auto;padding:12px var(--screen-padding)}.wizardbar .button{width:100%}.wizard-content{padding-bottom:calc(2 * var(--wizardbar-height))}.pinnedhead{position:sticky;top:0;z-index:10;background:var(--surface)}.pinnedhead>.topbar{position:static}.wizard-sketch{position:relative;display:flex;flex-direction:column;height:25vh;height:25dvh;padding:8px var(--screen-padding);border-bottom:1px solid var(--outline-variant);transition:height .2s ease}.wizard-sketch-zoom{position:absolute;top:8px;right:var(--screen-padding);z-index:1;width:40px;height:40px;border:1px solid var(--outline-variant);border-radius:50%;background:var(--surface);color:var(--on-surface);font-size:26px;cursor:pointer}.wizard-zoom-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:rgb(0 0 0/65%)}.wizard-zoom{position:relative;width:min(100%,900px);max-height:calc(100dvh - 32px);overflow:auto;padding:48px 20px 24px;border-radius:16px;background:var(--surface);color:var(--on-surface)}.wizard-zoom .quiltdiagram svg{max-height:55dvh}.quilt-zoom{position:relative}.quilt-zoom-viewport{max-height:55dvh;overflow:auto;touch-action:pan-x pan-y pinch-zoom;border:1px solid var(--outline-variant);border-radius:8px}.quilt-zoom-content{min-width:100%;transition:width .12s ease-out}.quilt-zoom-content .quiltdiagram svg{max-height:none}.quilt-zoom-content.quilt-zoom-fit .quiltdiagram svg{width:auto;max-width:100%;max-height:55dvh;margin-inline:auto}.quilt-zoom-controls{display:flex;justify-content:flex-end;gap:4px;margin-bottom:6px}.quilt-zoom-controls button{min-width:40px;min-height:36px;border:1px solid var(--outline);border-radius:18px;background:var(--surface);color:var(--on-surface);font-size:16px;cursor:pointer}.quilt-zoom-controls button:disabled{opacity:.45;cursor:default}.wizard-zoom-close{position:absolute;top:8px;right:12px;border:0;background:none;color:inherit;font-size:32px;cursor:pointer}.project-pieces-list,.wizard-zoom-measures{display:grid;gap:8px;margin:20px 0 0}.project-pieces-list>div,.wizard-zoom-measures>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--outline-variant);padding-bottom:6px}.project-pieces-list dt,.wizard-zoom-measures dt{color:var(--on-surface-variant)}.project-pieces-list dd,.wizard-zoom-measures dd{margin:0;text-align:right}.project-block-pieces{margin-top:16px}.project-block-pieces h3{margin:0}.project-block-pieces .project-pieces-list{margin-top:8px}.block-editor{display:grid;gap:12px;min-width:0}.block-editor .quiltdiagram{margin:0 auto}.block-editor .quilt-visual,.block-editor .quilt-zoom-fit .quiltdiagram svg{max-height:42dvh}.block-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.block-editor-actions .button{flex:1 1 9rem;min-height:var(--min-touch-target);padding-inline:12px;font-size:15px}.block-editor-actions .button.selected{background:var(--primary-container);color:var(--on-primary-container);border-color:var(--primary)}.block-editor-naming{display:grid;gap:8px;padding:10px;border-radius:var(--radius);background:var(--surface-variant)}.block-editor-naming input{width:100%;min-height:var(--min-touch-target);box-sizing:border-box}.block-editor-shelf{border:1px solid var(--outline-variant);border-radius:var(--radius)}.block-editor-shelf>summary{min-height:var(--min-touch-target);display:flex;align-items:center;padding:8px 12px;cursor:pointer;font-weight:600}.block-editor-shelf-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--outline-variant)}.block-editor-shelf-row button{min-height:var(--min-touch-target);padding-inline:10px}.block-editor-shelf-name{flex:1 1 8rem;display:grid;min-width:0;overflow-wrap:anywhere}.block-editor-shelf-name small{color:var(--on-surface-variant)}.block-editor-shelf-row .block-editor-naming,.block-editor-shelf-row .note{flex:1 1 100%}.block-cutting{display:flex;flex-direction:column;gap:8px}.block-cutting-section{border:1px solid var(--outline-variant);border-radius:var(--radius)}.block-cutting-section>summary{min-height:var(--min-touch-target);display:flex;align-items:center;padding:8px 12px;cursor:pointer;font-weight:600}.block-cutting-section>:not(summary){margin-inline:12px}.block-cutting-section>:last-child{margin-bottom:12px}.block-cutting-status p{margin:8px 0 0;overflow-wrap:anywhere}.block-cutting-group{margin-top:10px}.block-cutting-fabric{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;overflow-wrap:anywhere}.block-cutting-group ul,.block-cutting-spares ul{margin:4px 0 0;padding-inline-start:20px}.block-cutting-group li,.block-cutting-spares li{overflow-wrap:anywhere}.block-cutting-spares{margin-top:10px;padding-top:8px;border-top:1px solid var(--outline-variant)}.project-block-editor{display:flex;flex-direction:column;gap:var(--item-spacing);margin-top:16px;padding:12px;border:1px solid var(--outline-variant);border-radius:var(--radius)}.project-block-editor h3{margin:0;font-size:19px;font-weight:600}.project-shopping h2{margin:0 0 10px;font-size:20px}.project-shopping-card{border-top:1px solid var(--outline-variant)}.project-shopping-card summary{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;min-height:var(--min-touch-target);padding:8px 2px;cursor:pointer;list-style:none}.project-shopping-card summary::-webkit-details-marker{display:none}.project-shopping-card summary:after{content:"⌄";color:var(--on-surface-variant)}.project-shopping-card[open] summary:after{content:"⌃"}.project-shopping-card summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-shopping-name{flex:1 1 11rem;display:grid;min-width:0}.project-shopping-name small{color:var(--on-surface-variant);overflow-wrap:break-word}.project-shopping-name .project-shopping-motif{color:var(--on-surface);font-weight:600}.project-shopping-total{display:flex;flex:0 1 auto;flex-direction:column;align-items:end;margin-left:auto;white-space:nowrap;font-size:18px}.project-shopping-total small{color:var(--on-surface-variant);font-size:13px;font-weight:400}.project-shopping-lines{padding:0 8px 12px 28px}.project-shopping-lines p{margin:2px 0 6px;color:var(--on-surface-variant);font-size:13px}.project-shopping-lines>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:8px 0;border-top:1px solid var(--outline-variant)}.project-shopping-lines span{flex:1 1 10rem;min-width:0;overflow-wrap:break-word}.project-shopping-lines strong{flex:none;margin-left:auto;white-space:nowrap}.project-shopping-missing{border-top:1px solid var(--outline-variant);padding-top:10px}.project-shopping-missing>div{padding:6px 0}.plancard-motif,.project-shopping-missing>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px}.plancard-motif{margin-top:8px;font-weight:600}.plancard-motif strong{white-space:nowrap}.block-parts-panel{display:grid;gap:8px;margin:8px 0 12px}.block-parts{width:min(100%,320px);aspect-ratio:1;justify-self:center;touch-action:manipulation}.block-parts g[data-part]:focus{outline:none}.block-parts g[data-part]:focus-visible>:is(path,polygon,rect){stroke:var(--primary);stroke-width:3px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.block-part-name{display:flex;align-items:center;gap:8px;margin:0;flex-wrap:wrap}.block-pin-mark{height:0;margin-bottom:calc(-1 * var(--item-spacing))}.block-pin{display:grid;justify-items:center;gap:8px}.block-pin .block-history{justify-self:stretch}.block-editor-pinned .block-pin{position:sticky;top:var(--pin-top,0);z-index:5;margin-inline:-12px;padding:6px 12px;background:var(--surface)}.block-editor-pinned .block-pin[data-pinned] .block-parts{width:min(100%,var(--pin-small))}.block-editor-pinned .block-pin[data-pinned]{padding-block:4px;row-gap:4px;border-bottom:1px solid var(--outline-variant);box-shadow:0 6px 10px -8px var(--shadow)}.block-editor-pinned .block-pin[data-pinned=beside]{grid-template-columns:1fr minmax(0,var(--pin-small)) max-content 1fr;align-items:center;column-gap:0}.block-editor-pinned .block-pin[data-pinned=beside] .block-parts{grid-column:2;grid-row:1}.block-editor-pinned .block-pin[data-pinned=beside] .block-history{grid-column:3;grid-row:1;flex-direction:column;justify-self:start;margin-inline-start:12px}.block-editor-pinned .block-pin[data-pinned=beside] .block-history .button{padding-inline:10px;font-size:15px;white-space:nowrap;-webkit-hyphens:manual;hyphens:manual}.block-editor-pinned .project-compact-picker{scroll-margin-top:8px}.project-compact-picker{display:grid;gap:6px;min-width:0;scroll-margin-top:80px}.project-compact-label{color:var(--on-surface-variant);font-size:14px}.project-log-mode{display:grid;gap:6px;min-width:0;margin:0;padding:0;border:0}.project-log-mode legend{margin-bottom:6px;padding:0}.project-log-mode-option{display:flex;align-items:center;gap:10px;min-width:0;min-height:var(--min-touch-target);padding:6px 10px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface);color:var(--on-surface);cursor:pointer}.project-log-mode-option.selected{border-color:var(--primary);background:var(--surface-container,var(--surface));font-weight:600}.project-log-mode-option:focus-within{outline:2px solid var(--primary);outline-offset:2px}.project-log-mode-option input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--primary)}.project-log-mode-option span{flex:1 1;min-width:0;overflow-wrap:anywhere}.project-compact-placeholder{color:var(--on-surface-variant)}.library-offer p{margin:0}.project-compact-current,.project-compact-option{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--min-touch-target);padding:6px 10px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface);color:var(--on-surface);text-align:left;cursor:pointer}.project-compact-option>span,.project-compact-text{flex:1 1;min-width:0;overflow-wrap:anywhere}.project-compact-current:focus-visible,.project-compact-option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.project-compact-chevron{flex:none;color:var(--on-surface-variant)}.project-compact-options{display:grid;grid-auto-rows:max-content;gap:4px;max-height:min(320px,45dvh);overflow-y:auto;padding:4px}.project-compact-option:disabled{cursor:default;color:var(--on-surface-variant)}.project-compact-reason{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--on-surface-variant)}.project-compact-option.selected{border-color:var(--primary);background:var(--surface-container,var(--surface));font-weight:600}.project-compact-search{width:100%;min-height:var(--min-touch-target);margin-bottom:4px;padding:6px 10px;box-sizing:border-box;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface);color:var(--on-surface);font-size:15px}.project-compact-description,.project-compact-note{display:block;color:var(--on-surface-variant);overflow-wrap:break-word}.project-compact-description{margin-top:2px;font-size:.86em;line-height:1.35}.project-motif-preview{flex:none;width:36px;height:36px;color:var(--outline)}.wizard-sketch-drawing{flex:1 1;min-height:0}.wizard-sketch-tap{width:100%;height:100%;cursor:zoom-in}.wizard-sketch-legend{flex:none;display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 0;font-size:16px;line-height:20px;color:var(--on-surface-variant)}.wizard-sketch-dash{flex:none;width:24px;border-top:2px dashed}.wizard-sketch.compact{height:max(64px,12vh);height:max(64px,12dvh);box-shadow:0 6px 12px -8px var(--shadow)}@media (prefers-reduced-motion:reduce){.wizard-sketch{transition:none}}.wizard-progress{width:100%;height:8px}.wizard-step{margin:4px 0 0}.preset-label,.wizard-step{font-size:16px;color:var(--on-surface-variant)}.preset-label{display:block;margin-bottom:4px}.presets{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.presetrow{position:relative}.presetrow:after,.presetrow:before{content:"";position:absolute;top:0;bottom:4px;width:28px;opacity:0;pointer-events:none;transition:opacity .12s linear}.presetrow:before{left:0;background:linear-gradient(to right,var(--background),transparent)}.presetrow:after{right:0;background:linear-gradient(to left,var(--background),transparent)}.presetrow[data-more-after=true]:after,.presetrow[data-more-before=true]:before{opacity:1}.presets button{flex:0 0 auto;min-height:var(--min-touch-target);padding:0 16px;font-size:17px;border:1px solid var(--outline);border-radius:999px;background:var(--surface-container);cursor:pointer}.presets button:hover{background:var(--surface-variant)}.block-size-fit{margin:8px 0 0;line-height:2.9;color:var(--on-surface)}.block-size-fit button{min-height:var(--min-touch-target);margin:0 4px;padding:0 16px;font-size:17px;border:1px solid var(--primary);border-radius:999px;background:var(--surface-container);color:var(--on-surface);cursor:pointer}.shoppinglist{display:flex;flex-direction:column;gap:var(--item-spacing)}.missing-fabric{margin-top:0;font-size:18px}.plantotal{padding-bottom:4px}.plancard{padding:12px var(--screen-padding)}.plancard-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}.plancard-head h2{flex:1 1 8rem;min-width:0;margin:0;font-size:19px;font-weight:500;overflow-wrap:break-word}.plancard-total{display:flex;flex:0 1 auto;flex-direction:column;align-items:end;margin-left:auto;white-space:nowrap;font-size:19px;font-weight:600}.plancard-total small{font-size:13px;font-weight:400;color:var(--on-surface-variant)}.planline{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;min-height:var(--min-touch-target);padding:6px 0;border-top:1px solid var(--outline-variant);color:inherit;text-decoration:none}.planline:hover{color:var(--primary)}button.planline{width:100%;background:none;border-left:0;border-right:0;border-bottom:0;font:inherit;text-align:left;cursor:pointer}.planlist h2{margin:0 0 4px;font-size:19px;font-weight:500}.planlist .planline-value{color:var(--on-surface-variant);font-weight:400}.planline-text{flex:1 1 11rem;min-width:0;display:flex;flex-direction:column}.planline-role{font-size:16px}.planline-source{font-size:15px;color:var(--on-surface-variant)}.planline-caveat{font-size:14px;line-height:1.35;color:var(--on-surface-variant);text-wrap:pretty}.planline-value{margin-left:auto;font-size:16px;font-weight:500}.planline-chevron{color:var(--on-surface-variant);font-size:20px}.quiltdiagram{margin:0}.quiltdiagram svg{display:block;width:100%;height:auto;max-height:220px;overflow:visible}.project-hero{padding:12px;border-radius:12px;background:var(--surface-variant)}.project-hero .quiltdiagram svg{max-height:220px}.project-summary{display:grid;grid-template-columns:1fr auto;align-items:start;gap:4px 12px}.project-summary-tags{grid-column:1/-1;margin:0;color:var(--on-surface-variant)}.project-summary-name{grid-column:1/-1;margin:0;font-size:28px;line-height:1.2;overflow-wrap:anywhere}.project-summary-size{grid-column:1/-1;margin:0;color:var(--on-surface-variant)}.project-summary-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.project-summary-edit{min-height:var(--min-touch-target);padding:0 8px;border:0;background:transparent;color:var(--primary);font:inherit;font-weight:600;cursor:pointer}.project-summary-pattern{display:inline-grid;place-items:center;min-height:var(--min-touch-target);padding:0 16px;border-radius:999px;background:var(--primary);color:var(--on-primary);font-weight:700;text-decoration:none}.project-diagram-zoom{position:relative;display:block;width:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in}.project-diagram-zoom-icon{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--outline-variant);border-radius:50%;background:var(--surface);font-size:26px}.project-guide-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:24px;background:rgb(0 0 0/.38)}.project-guide-dialog{width:min(100%,420px);padding:24px;border-radius:20px;background:var(--surface);box-shadow:0 16px 48px rgb(0 0 0/.28)}.project-guide-dialog h2{margin:0 0 8px}.project-guide-dialog p{margin:0;line-height:1.45}.project-guide-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.example-copy-backdrop{z-index:1100}.project-example-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.project-example-note p{flex:1 1 16em;margin:0}.unit-onboarding-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:rgb(0 0 0/.38)}.unit-onboarding-dialog{width:min(100%,420px);padding:24px;border-radius:20px;background:var(--surface);color:var(--on-surface);box-shadow:0 16px 48px rgb(0 0 0/.28)}.unit-onboarding-dialog h1{margin:0 0 8px;font-size:24px;line-height:1.25}.unit-onboarding-dialog p{margin:0;line-height:1.45}.unit-onboarding-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px}.project-block-coach{position:relative;display:grid;justify-items:center;gap:4px;margin:0 0 10px;padding:12px 16px;border-radius:12px;background:var(--primary-container);color:var(--on-primary-container);font-weight:600;text-align:center}.project-block-coach-arrow{font-size:28px;line-height:20px}.project-block-coach-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.project-block-coach-actions button{min-height:36px;padding:4px 10px;border:1px solid;border-radius:18px;background:transparent;color:inherit;font:inherit;cursor:pointer}.project-section{border:1px solid var(--outline-variant);border-radius:12px;padding:8px 12px}.project-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:var(--min-touch-target);border:0;background:transparent;color:var(--on-surface);font:inherit;font-size:19px;font-weight:600;text-align:start;cursor:pointer}.project-section-heading span:last-child{font-size:14px;font-weight:400;color:var(--on-surface-variant)}.fabric-color-card{border-top:1px solid var(--outline-variant);padding:10px 0}.fabric-legend-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;border:0;background:transparent;color:var(--on-surface);font:inherit;text-align:start}.fabric-legend-row .swatch{width:32px;height:32px}.fabric-legend-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.fabric-legend-main small{color:var(--on-surface-variant)}.fabric-legend-detail{display:flex;flex:0 1 42%;flex-direction:column;min-width:0;text-align:end;overflow-wrap:anywhere}.fabric-legend-detail>span{color:var(--on-surface);font-size:1.05rem;font-weight:600;line-height:1.3}.fabric-legend-detail small{color:var(--on-surface-variant)}.fabric-legend-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.fabric-legend-change-color{padding:0 14px;border:1px solid var(--outline);border-radius:22px;font:inherit;font-weight:600}.fabric-legend-change-color,.fabric-legend-edit{min-height:var(--min-touch-target);background:transparent;color:var(--primary);cursor:pointer}.fabric-legend-edit{flex:0 0 var(--min-touch-target);border:0;font:inherit;font-size:22px}.fabric-legend-editor{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:8px}.fabric-legend-editor .fabric-description{flex:1 1 100%;margin-bottom:0}.project-photo-grid{display:flex;gap:8px;overflow-x:auto}.project-type{display:inline-block;width:fit-content;padding:2px 8px;border-radius:999px;background:var(--surface-variant);color:var(--on-surface-variant);font-size:13px}.project-tags{display:flex;flex-wrap:wrap;gap:4px}.project-edit-progress{display:grid;gap:6px;margin:0 0 8px;color:var(--on-surface-variant)}.project-progress-section{display:grid;gap:12px}.project-progress-section h2{margin:0;font-size:19px}.project-finished-size{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:12px;border:1px solid var(--outline-variant);border-radius:12px}.project-finished-size strong{text-align:right}.project-finished-size small{grid-column:1/-1;color:var(--on-surface-variant)}.project-first-photo{width:100%;margin:8px 0}.project-photo{display:flex;flex-direction:column;gap:4px;width:96px;flex:0 0 96px;font-size:12px}.project-photo img{width:96px;height:96px;object-fit:cover;border-radius:7px}.project-photo input{width:100%;box-sizing:border-box}.quilt-active .quilt-patch-action{transition:stroke-width .3s ease,stroke .3s ease;stroke-width:2.5;cursor:pointer}.quilt-active .quilt-patch-action.quilt-selected{stroke:var(--primary);stroke-width:4}.quilt-compact{width:100%;height:100%}.quilt-compact .quilt-visual,.quilt-compact svg{width:100%;height:100%;max-height:none}.quilt-grayscale svg{filter:grayscale(1)}.project-grayscale{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;color:var(--on-surface-variant);font-size:14px}.project-add-fabric{margin-top:8px;min-height:var(--min-touch-target);padding:0 12px;border:1px dashed var(--outline);border-radius:8px;background:transparent;color:var(--primary);font:inherit;cursor:pointer}.swatch.swatch-unchosen{box-shadow:none;outline:2px dashed var(--on-surface-variant);outline-offset:1px}.swatch{flex:0 0 auto;align-self:center;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.fabriccolors h2{margin:0 0 4px;font-size:19px;font-weight:500}.fabriccolor-row{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--min-touch-target);padding:6px 0;border:0;border-top:1px solid var(--outline-variant);background:transparent;color:var(--on-surface);font:inherit;font-size:17px;text-align:start;cursor:pointer}.fabriccolor-name{flex:1 1;min-width:0;overflow-wrap:anywhere}.fabriccolor-value{color:var(--on-surface-variant);font-size:16px}.fabric-description{width:100%;margin:0 0 12px;padding:10px 12px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface);color:var(--on-surface);font:inherit}.palette{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0 12px}.palette-swatch{display:flex;align-items:center;justify-content:center;width:var(--min-touch-target);height:var(--min-touch-target);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.palette-swatch span{width:36px;height:36px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}.palette-swatch[aria-checked=true] span{box-shadow:0 0 0 3px var(--background),0 0 0 5px var(--on-surface)}.palette-swatch:focus-visible{outline:2px solid var(--primary);outline-offset:0}.quick-fabrics{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;justify-self:stretch;contain:inline-size;min-width:0}.block-editor-pinned .block-pin .quick-fabrics{margin-inline:-10px}.quick-fabrics .palette-swatch,.quick-fabrics .quick-fabric-new{width:44px;height:44px}.quick-fabrics .palette-swatch span{width:34px;height:34px}.block-editor-pinned .block-pin[data-pinned=beside] .quick-fabrics{grid-column:1/-1;grid-row:2}.block-editor-pinned .block-pin[data-colours=line] .quick-fabrics{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.block-editor-pinned .block-pin[data-colours=line] .quick-fabrics>*{flex:none}.block-editor-pinned .block-pin[data-history=arrows] .history-word{display:none}.block-editor-pinned .block-pin[data-history=arrows] .block-history .button{width:44px;min-width:44px;padding-inline:0;font-size:20px}.quick-fabrics button:disabled{opacity:.45;cursor:default}.quick-fabrics .palette-swatch[aria-pressed=true] span{box-shadow:0 0 0 3px var(--background),0 0 0 5px var(--on-surface)}.quick-fabric-new{width:var(--min-touch-target);height:var(--min-touch-target);padding:0;border:1px dashed var(--outline);border-radius:50%;background:transparent;color:var(--on-surface);font-size:22px;line-height:1;cursor:pointer}.quick-fabric-new:focus-visible{outline:2px solid var(--primary);outline-offset:0}.block-fabric-edit{justify-self:start}.fieldlabel{display:flex;align-items:center;gap:4px}.fieldlabel label{flex:1 1;margin-bottom:0}.glossary-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--min-touch-target);height:var(--min-touch-target);margin:-12px -12px -12px 0;padding:0;border:0;background:none;color:var(--on-surface-variant);cursor:pointer}.glossary-icon:focus-visible{outline:2px solid var(--primary);outline-offset:-8px;border-radius:50%}.switchrow-wrap{display:flex;align-items:center}.switchrow-wrap .switchrow{flex:1 1}fieldset.field{position:relative}fieldset.field>.glossary-icon{position:absolute;top:-8px;right:0;margin:0}.glossary-dialog{width:min(34rem,calc(100vw - 32px));padding:0;border:0;border-radius:var(--radius);background:var(--surface-container);color:var(--on-surface)}.glossary-dialog::backdrop{background:rgba(0,0,0,.45)}.glossary-card{padding:var(--screen-padding)}.glossary-term{margin:0 0 8px;font-size:19px}.glossary-definition{margin:0;font-size:18px;line-height:26px}.glossary-close{margin-top:var(--item-spacing)}.glossary-entry{padding:var(--screen-padding)}.glossary-screen .topbar{border-bottom:0}.glossary-search{margin:0;padding:0 16px 12px;border-bottom:1px solid var(--outline-variant)}.glossary-search label{font-size:14px;margin-bottom:4px}.glossary-search input[type=search]{min-height:48px}.glossary-screen .content{padding-top:0}.glossary-screen .glossary-entry{padding:0;border-bottom:1px solid var(--outline-variant)}.glossary-heading{margin:0}.glossary-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:80px;padding:14px 0;border:0;background:transparent;text-align:left;cursor:pointer}.glossary-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.glossary-label{display:flex;flex:1 1;min-width:0;flex-direction:column;gap:4px}.glossary-screen .glossary-term{font-size:18px;line-height:24px;font-weight:600;margin:0}.glossary-summary{font-size:14px;line-height:20px;font-weight:400;color:var(--on-surface-variant)}.glossary-chevron{width:24px;height:24px;flex:none}.glossary-toggle[aria-expanded=true] .glossary-chevron{transform:rotate(180deg)}.glossary-details{padding-bottom:16px}.glossary-screen .glossary-definition{font-size:16px;line-height:25px;margin-bottom:0}.glossary-illustration{margin:10px 0 0}.glossary-illustration .glossary-figure{width:min(100%,208px);margin:0 auto}.glossary-illustration figcaption{margin-top:6px;color:var(--on-surface-variant);font-size:14px;line-height:20px}.glossary-figure{display:block;width:100%;max-width:360px;height:auto;margin-top:12px}.quilt-visual{position:relative}.quilt-layered figcaption{margin-top:8px;text-align:center;font-size:16px}.quilt-selection-chip{position:absolute;z-index:1001;transform:translate(-50%,-110%);max-width:min(80%,240px);padding:6px 12px;border-radius:999px;background:var(--surface-container);color:var(--on-surface);border:1px solid var(--outline);box-shadow:0 3px 10px var(--shadow);font-size:16px;line-height:1.3;text-align:center;pointer-events:none}.quilt-patch-action{cursor:pointer}.quilt-patch-action:focus-visible{outline:3px solid currentColor;outline-offset:2px}.quiltdiagram g[data-block-row]:focus{outline:none}.quiltdiagram g[data-block-row]:focus-visible>rect[data-role=BLOCKS]{stroke:#FF9A00;stroke-width:3px}.quilt-edge-action{cursor:pointer}.quilt-edge-action:focus-visible{outline:3px solid currentColor;outline-offset:2px}.quilt-active .quilt-edge-action.quilt-selected{stroke:var(--primary)}.quilt-target{stroke:var(--on-surface-variant)}.fabric-color-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgb(0 0 0/.5);padding:16px}.fabric-color-dialog{width:min(100%,420px);max-height:90vh;overflow:auto;padding:20px;border-radius:16px;background:var(--surface,white);color:var(--on-surface,black)}.fabric-color-dialog h2{margin:0 0 16px}.new-fabric-dialog{width:min(calc(100% - 32px),420px);border:1px solid var(--outline)}.new-fabric-dialog::backdrop{background:rgb(0 0 0/.4)}.pattern-page{max-width:900px;margin:0 auto;padding:24px;color:#161616;background:white}.pattern-page header{border-bottom:2px solid #161616;margin-bottom:18px}.pattern-page h1{font-size:32px}.pattern-page h2{margin:24px 0 8px;font-size:21px}.pattern-page dl>div{display:grid;grid-template-columns:minmax(130px,1fr) 3fr;gap:12px;padding:4px 0}.pattern-page dt{font-weight:700}.pattern-page table{width:100%;border-collapse:collapse}.pattern-page td,.pattern-page th{border:1px solid #777;padding:6px;text-align:left}.pattern-page .pattern-drawing svg{display:block;max-width:100%;max-height:120mm;margin:0 auto}.pattern-page .pattern-buy small{color:#444}.pattern-page .pattern-swatch{display:inline-block;width:14px;height:14px;margin-right:8px;border:1px solid #444;vertical-align:-2px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pattern-actions{display:flex;justify-content:space-between;margin-bottom:20px}@media print{.pattern-actions{display:none}.pattern-page{max-width:none;padding:0}@page{margin:14mm}}.template-page{padding:24px;color:#000;background:#fff}.template-calibration{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin:12px 0}.template-calibration p{flex:1 1 16rem;margin:0;font-weight:600}.template-section{margin-top:18px}.template-shapes{display:flex;flex-wrap:wrap;gap:.15in}.template-piece{margin:0;page-break-inside:avoid;break-inside:avoid}.template-section h2,.template-section h2+p{page-break-after:avoid;break-after:avoid}.template-piece figcaption{text-align:center}.template-foundation-page{page-break-before:always;break-before:page;page-break-inside:avoid;break-inside:avoid}.template-page svg{display:block;flex:none;overflow:visible}.cut-layout-figure,.template-page svg{page-break-inside:avoid;break-inside:avoid}.cut-layout-figure{margin:18px 0}.cut-layout{display:block;width:min(100%,460px);max-height:250px;color:#555}.cut-bolt{fill:#fff;stroke:#111;stroke-width:1}.cut-piece{fill:color-mix(in srgb,var(--primary,#2e6e73) 20%,white);stroke:#111;stroke-width:.7}.cut-offcut{fill:url(#cut-offcut);opacity:.45}.cut-strip-line{stroke:#555;stroke-width:.5}@media print{.assembly-step-action,.template-action{display:none}.template-page{padding:0;page:templates}[data-star-page]{margin-top:0}[data-star-page] h2{font-size:12pt;line-height:1.2;margin:0 0 4px}[data-star-page] p{font-size:10pt;line-height:1.2;margin:0 0 4px}}@media print{@page templates{margin:.5in}}.assembly-step-action{display:inline-flex;margin:6px 0 0 34px}.button.button-primary,.iconbutton.iconbutton-primary{background:var(--action);color:var(--on-action)}.button.button-primary:hover,.iconbutton.iconbutton-primary:hover{background:color-mix(in srgb,var(--action) 88%,black)}.button.button-primary{min-height:56px;padding:0 28px;font-size:18px;font-weight:600}.projects-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:calc(100svh - 64px - 72px - 2 * var(--screen-padding));padding:16px 8px;text-align:center}.projects-welcome .projectlist{align-self:stretch;text-align:start}.settings-check{display:flex;align-items:center;gap:10px;min-height:48px;font-size:17px}.settings-check input{width:22px;height:22px;margin:0}.projects-welcome-quilt{width:min(62vw,240px);aspect-ratio:11/14}.projects-welcome .empty{max-width:30ch;margin:0;padding:0;font-size:19px;line-height:1.4;color:var(--on-surface)}.projectlist{display:grid;grid-template-columns:1fr;gap:28px}.projects-pattern-action{grid-column:1/-1;justify-self:start}@media (min-width:600px){.projectlist{grid-template-columns:1fr 1fr}}.card.projectcard{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0;border:0;border-radius:0;background:transparent}.card.projectcard+.card.projectcard{margin-top:0}.projectcard .thumb{width:100%;height:auto;aspect-ratio:4/3;border-radius:16px;background:var(--surface-container-high)}.projectcard .thumb .quilt-compact,.projectcard .thumb svg{padding:14px}.projectcard .thumb .quilt-compact svg{padding:0}.projectcard:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:16px}.projectcard:hover .thumb{background:var(--surface-variant)}.projectcard-body{display:flex;flex-direction:column;gap:4px}.card.projectcard h2{margin:0;font-size:22px;line-height:28px;font-weight:600;overflow-wrap:anywhere}.card.projectcard p{margin:0}.card.projectcard .projectcard-size{font-size:16px}.card.projectcard .projectcard-progress{margin-top:4px;font-size:18px;font-weight:500;color:var(--on-surface)}.projectcard progress{height:6px}.projectcard-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-top:4px}.projectcard .project-tags{gap:0}.projectcard .project-type{padding:0;border-radius:0;background:none;font-size:15px;color:var(--on-surface-variant)}.projectcard .project-type+.project-type:before{content:" · ";white-space:pre}.card.projectcard .projectcard-date{font-size:14px;color:var(--on-surface-variant)}.topbar .save-indicator{flex:none;font-size:15px}.project-sheet{gap:16px}.project-sheet .project-summary{gap:6px 12px}.project-sheet .project-summary-tags{font-size:15px}.project-sheet .project-summary-name{font-size:30px;font-weight:700}.project-sheet .project-summary-size{font-size:18px;color:var(--on-surface)}.project-summary-progress{grid-column:1/-1;display:grid;gap:6px;font-size:18px;font-weight:500}.project-summary-progress progress{height:8px}.project-sheet .project-summary-actions{margin-top:8px;gap:12px}.project-sheet .project-hero{padding:16px;border-radius:16px;background:var(--surface-container-high)}.project-sheet .project-hero .quiltdiagram svg{max-height:min(340px,50svh)}.project-group{display:flex;flex-direction:column;gap:var(--item-spacing);margin-top:20px;padding-top:20px;border-top:1px solid var(--outline-variant)}.project-sheet>.field:first-child~.project-group:first-of-type,.project-sheet>.project-group:first-child{margin-top:0}.project-group-title,.project-progress-section h2.project-group-title{margin:0;font-size:22px;line-height:28px;font-weight:700}.project-group .project-section{border:0;border-radius:0;padding:0}.project-group .project-section+.project-section{padding-top:8px;border-top:1px solid var(--outline-variant)}.project-group .project-shopping h2{font-size:18px;font-weight:600}.project-group .project-section-heading{font-size:18px}.project-delete{display:flex;flex-direction:column;align-items:flex-start;margin-top:28px;padding-top:12px;border-top:1px solid var(--outline-variant)}.button.quiet.project-delete-button{color:var(--error);font-size:16px;padding:0 4px}.tiles{grid-template-columns:1fr;gap:0}@media (min-width:600px){.tiles{grid-template-columns:1fr 1fr;column-gap:16px}}.tile{flex-direction:row;align-items:center;gap:16px;min-height:84px;padding:12px 4px;border:0;border-bottom:1px solid var(--outline-variant);border-radius:0;background:transparent}.tile:hover{border-color:var(--outline-variant);background:var(--surface-container-high)}.tile:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.tile-glyph{flex:none;width:56px;height:56px}.tile-text{display:flex;flex-direction:column;gap:2px;min-width:0}.tile-title{font-size:18px;font-weight:600}.tilegroup-title{margin:28px 0 4px;font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant)}.calc-content .result-detail{max-height:none;overflow:visible;margin-top:24px;padding-top:8px;border-top:1px solid var(--outline-variant);scroll-margin-bottom:calc(var(--panel-height, 160px) + 80px)}.calc-content .result-detail .detailrow{padding:8px 0;border-bottom:1px solid var(--outline-variant)}.calc-content .result-detail .detailrow dd,.calc-content .result-detail .detailrow dt{font-size:17px}.calc-content .result-section-title{margin-top:16px;border-top:0;font-size:18px;font-weight:600}.calc-content>.fields .button-primary{align-self:flex-start}.assembly-steps{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:14px}.assembly-step{display:grid;gap:2px;padding-top:12px;border-top:1px solid var(--outline-variant)}.assembly-step:first-child{border-top:0;padding-top:0}.assembly-step-number{font-size:14px;color:var(--on-surface-variant)}.assembly-step-title{font-size:18px;font-weight:600;line-height:1.35}.assembly-step-lines{margin:4px 0 0;padding-left:20px;display:grid;gap:2px}.pattern-page .assembly-step{border-top-color:#bbb;page-break-inside:avoid;break-inside:avoid}.pattern-page .assembly-step-number{color:#444}.assembly-progress{margin:0 0 8px;color:var(--on-surface-variant)}.pattern-page .assembly-progress{color:#444}.assembly-step-check{display:flex;align-items:flex-start;gap:10px;min-height:var(--min-touch-target);cursor:pointer}.assembly-step-check input{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:var(--action,#a34a32)}.assembly-step.done .assembly-step-title{color:#555;text-decoration:line-through;text-decoration-thickness:1px}.assembly-step-check{align-items:center}.assembly-step-check+.assembly-step-lines{margin-top:0;padding-left:54px}.shopping-problems{display:flex;flex-direction:column;gap:8px;margin:8px 0}.shopping-problem{margin:0;color:var(--error,#b3261e);line-height:2.6}.shopping-problem p{margin:0 0 6px;line-height:1.4}.size-choice button{min-height:var(--min-touch-target);margin:0 4px;padding:0 16px;font-size:17px;border:1px solid var(--primary);border-radius:999px;background:var(--surface-container);color:var(--on-surface);cursor:pointer}.block-history{display:flex;gap:8px;flex-wrap:wrap}.block-history button:disabled{opacity:.45;cursor:default}.block-cell-heading{display:flex;align-items:center;gap:8px}.block-cell-heading h4{margin:0}.block-cell-clipboard{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.block-cell-clipboard>.button{flex:1 1 9rem;min-height:var(--min-touch-target);padding-inline:12px;font-size:15px}.block-cell-paste-turned{display:flex;flex:1 1 100%;align-items:center;gap:6px;min-width:0}.block-cell-paste-turned>span{flex:0 1 auto;min-width:0;font-size:14px;color:var(--on-surface-variant)}.block-cell-paste-turned .button{flex:1 1;min-width:0;min-height:var(--min-touch-target);padding-inline:4px;font-size:15px;white-space:nowrap}.block-piece-span{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.block-piece-span-label{flex:1 1 8rem;min-width:0;color:var(--on-surface-variant);font-size:14px}.block-piece-span>.button{min-width:var(--min-touch-target);min-height:var(--min-touch-target);padding-inline:0;font-size:20px}.block-piece-span output{min-width:2ch;text-align:center;font-weight:600}.block-piece-span-reason{flex:1 1 100%;color:var(--on-surface-variant)}.block-piece-split{justify-self:start;min-height:var(--min-touch-target)}.block-cell-moves{display:flex;gap:8px}.block-cell-moves>.button{flex:1 1;min-height:var(--min-touch-target);padding-inline:0;font-size:20px}.block-cell-clipboard>.button.selected{background:var(--primary-container);color:var(--on-primary-container);border-color:var(--primary)}.block-cell-clipboard .note,.block-cell-clipboard>.hint{flex:1 1 100%;margin:0}.block-back{min-height:var(--min-touch-target);padding:0 12px;border:1px solid var(--outline-variant);border-radius:999px;background:var(--surface);color:var(--primary);font-size:16px;cursor:pointer}.tracing-panel,.tracing-start{display:flex;flex-direction:column;gap:8px}.tracing-panel h4,.tracing-start h4{margin:0}.tracing-actions{display:flex;flex-wrap:wrap;gap:8px}.tracing-view{position:relative;width:100%;max-width:min(520px,70vh);align-self:center;aspect-ratio:1;overflow:hidden;border-radius:8px;background:var(--surface-variant);touch-action:manipulation;-webkit-user-select:none;user-select:none}.tracing-view.aligning{touch-action:none;outline:3px solid var(--primary);outline-offset:-3px;cursor:move}.tracing-view img{object-fit:cover;transform-origin:center}.tracing-view img,.tracing-view svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tracing-view .note{position:absolute;inset:auto 12px 12px 12px}.tracing-cell{display:flex;flex-direction:column;gap:8px}.tracing-measure{margin:0;font-weight:600}.tracing-slider{display:flex;flex-direction:column;gap:4px;color:var(--on-surface-variant)}.tracing-slider input{width:100%;min-height:var(--min-touch-target)}.color-groups,.color-modes,.piece-fabrics{display:flex;flex-wrap:wrap;gap:.4rem}.block-color-editor .button{min-height:44px;max-width:100%;overflow-wrap:anywhere}.block-color-editor label{display:flex;align-items:center;gap:.5rem;min-height:44px}.block-color-editor .block-parts{width:100%}.project-start-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-block:20px}.project-start-card{display:flex;flex-direction:column;justify-content:center;gap:16px;min-height:220px;padding:24px;border:1px solid var(--outline);border-radius:16px;text-decoration:none;color:var(--on-surface);background:var(--surface);overflow-wrap:break-word}.project-start-card.recommended{border:2px solid var(--primary);background:var(--surface-variant)}.project-start-card h2{margin:0;font-size:1.25rem;line-height:1.35}.project-start-card p{margin:0;line-height:1.6;color:var(--on-surface-variant)}.project-start-badge{align-self:flex-start;font-size:.875rem;font-weight:600;color:var(--primary)}.project-start-card:focus-visible{outline:3px solid var(--primary);outline-offset:4px}@media (max-width:480px){.project-start-card{min-height:180px;padding:20px}}.catalog-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-block:16px}.catalog-tabs button{flex:1 1;min-height:44px;padding:8px}.catalog-tabs [aria-selected=true]{font-weight:700;border-bottom:3px solid}.catalog-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding-block:12px}.catalog-filters label{display:flex;flex-direction:column;gap:6px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin-block:16px}.catalog-card{border:1px solid var(--outline,#ccc);border-radius:12px;padding:16px;min-width:0}.catalog-card-head{display:flex;align-items:center;gap:12px}.catalog-card-head h2,.catalog-card-head h3{flex:1 1;font-size:1.05rem}.catalog-card-head .project-motif-preview{width:64px;height:64px;flex:none}.catalog-card .button{width:100%;margin-top:12px;white-space:normal}.catalog-preview{max-height:240px;margin-block:12px;overflow:hidden}.catalog-preview svg{width:100%;max-height:240px}.ready-project-card{display:flex;flex-direction:column}.ready-project-card>.button{margin-top:auto}.ready-project-card .catalog-preview{height:240px;flex:none}.ready-project-card .quiltdiagram{margin:0}.ready-project-blocks{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin-block:8px}.ready-project-blocks li{display:flex;flex:1 1 100px;align-items:center;gap:8px;min-width:0;font-size:.85rem}.ready-project-blocks span{overflow-wrap:anywhere}.ready-project-block-preview{width:56px;height:56px;flex:none}.projects-home{max-width:960px;background:#fcfaf6;color:#0b1b29}.projects-heading{padding:20px 16px 12px}.projects-heading h1{margin:0 0 4px;font-size:26px;line-height:32px;font-weight:750}.projects-heading p{margin:0;color:#44586c;font-size:14px;line-height:21px}.projects-content{padding:0 12px 18px}.android-download{margin:0 0 16px;padding:16px;border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface)}.android-download p{margin:0 0 10px}.android-download .button{white-space:normal;text-align:center}.projects-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.projects-route{display:flex;flex-direction:column;min-width:0;min-height:213px;padding:14px 14px 12px;border-radius:16px;color:inherit;text-decoration:none}.projects-route-free{background:#fceae5;--route-accent:#b4482e;--badge-background:#fbded4}.projects-route-ready{background:#e5f4ee;--route-accent:#146664;--badge-background:#d0eee5}.projects-route-art{width:64px;height:64px;align-self:center;margin:0 0 10px}.projects-route-title{display:flex;gap:5px;align-items:center;justify-content:space-between}.projects-route h2{margin:0;font-size:15px;line-height:19px;font-weight:750;letter-spacing:-.3px;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal}.projects-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;border-radius:50%;background:#fffaf8;color:var(--route-accent);font-size:32px;line-height:1}.projects-route p{-webkit-hyphens:none;hyphens:none;margin:6px 0 12px;color:#354f60;font-size:13px;line-height:18px}.projects-route-footer{margin-top:auto;display:flex;align-items:center;gap:5px;color:var(--route-accent)}.projects-badge-icon{display:block;line-height:0;width:17px;font-size:15px;letter-spacing:-4px;flex-shrink:0}.projects-badge{font-size:10px;line-height:15px;border-radius:999px;padding:3px 5px;background:var(--badge-background)}.projects-section-heading{height:40px;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px;margin:4px 4px 0}.projects-section-heading h2{margin:0;font-size:17px;line-height:22px;font-weight:750}.projects-section-heading button{border:0;background:transparent;color:#237b78;min-height:48px;padding:0 2px;font-size:12px;font-weight:600}.projects-empty{text-align:center;padding:4px 12px 0}.projects-empty>img{width:260px;height:135px;max-width:100%;margin:4px auto 8px;display:block}.projects-empty h3{padding:0;color:#0b1b29;font-size:17px;line-height:20px;font-weight:750;margin:0 auto 7px;max-width:310px}.projects-empty p{font-size:13px;line-height:18px;color:#44586c;margin:0 auto 10px;max-width:300px}.projects-explore{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border-radius:999px;padding:8px 20px;background:#328b87;color:white;text-decoration:none;font-size:13px;font-weight:600}.projects-explore>span{font-size:26px;line-height:20px}.projects-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 4px}.projects-home .card.projectcard{position:relative;display:block;padding:4px;background:white;border:0;border-radius:12px;box-shadow:0 2px 8px #203d4810;min-width:0}.projects-home .projectcard-open{display:block;color:inherit;text-decoration:none}.projects-home .thumb{display:flex;align-items:center;justify-content:center;width:100%;height:78px;padding:0;background:#eee9df;border-radius:7px;aspect-ratio:auto}.projects-home .thumb .quiltdiagram,.projects-home .thumb svg{width:100%;height:100%;max-height:78px}.projects-no-preview{color:#9ba9a5;font-size:36px}.projects-home .projectcard-body{display:block;padding:4px 3px 0}.projects-home .card.projectcard h2{font-size:11px;line-height:14px;font-weight:700;margin:0 0 2px;overflow-wrap:anywhere}.projects-home .card.projectcard p{font-size:9px;line-height:12px;color:#536473;margin:0}.projects-home .projectcard-date{padding-right:24px;min-height:20px;padding-top:2px}.projects-menu-toggle{bottom:0;min-height:48px;width:32px;border:0;background:transparent;color:#536473;font-size:20px}.projects-menu,.projects-menu-toggle{position:absolute;right:0;border-radius:10px}.projects-menu{bottom:45px;z-index:2;background:white;box-shadow:0 3px 12px #22374430}.projects-menu a{display:block;padding:14px;min-height:48px;color:#146664;font-size:14px}.projects-home .bottomnav{border:0;border-radius:18px 18px 0 0;background:white;box-shadow:0 -2px 12px #203d4808}.projects-home .bottomnav-inner{max-width:960px}.projects-home .bottomnav a{min-height:64px;font-size:11px;color:#44586c}.projects-home .bottomnav a[aria-current=page]{color:#0b1b29}.projects-home .bottomnav a[aria-current=page] .navicon{background:#fbdcd2;color:#743820}@media (min-width:600px){.projects-heading{padding-top:40px}.projects-content{padding:0 24px 24px}.projects-route{padding:20px 24px}.projects-route h2{font-size:20px;line-height:26px}.projects-route p{font-size:16px;line-height:22px}.projects-badge{font-size:13px}.projects-home .thumb{height:150px}.projects-home .thumb svg{max-height:150px}.projects-home .card.projectcard h2{font-size:15px;line-height:20px}.projects-home .card.projectcard p{font-size:12px;line-height:17px}}.projects-home .projectcard .thumb svg{padding:0}.projects-home .card.projectcard .projectcard-date{font-size:9px}.projects-menu-toggle{width:48px}.projects-home .projectcard .thumb .quilt-compact{padding:0;margin:0}.projects-badge-icon svg{display:block}.projects-home .projectcard-open{padding:4px;height:100%}.projects-home .card.projectcard{padding:0}.projects-home .projectcard .project-type{display:block;width:auto}.projects-home .projectcard-meta{display:block;min-height:20px;margin:0;padding:0 18px 3px 0}.projects-menu-toggle{display:flex;align-items:flex-end;justify-content:flex-end;padding:0 6px 4px 0;line-height:20px}.app.az-wizard{--primary:#294e60;--on-primary:#fff;--surface:#fffdf9;--outline:#c9cece;--on-surface:#102738;--on-surface-variant:#46596c;background:#faf7f1;color:#102738;max-width:760px;margin:auto;padding-bottom:88px;font-size:14px;min-height:100dvh}.az-wizard *{min-width:0}.az-wizard .az-header{position:sticky;top:0;z-index:30;background:#faf7f1;padding:0 16px 10px}.az-wizard .topbar{background:transparent;padding:0;min-height:52px;gap:4px;box-shadow:none}.az-wizard .topbar h1{font-size:17px;line-height:22px;font-weight:650}.az-wizard .iconbutton{width:40px;height:48px;min-width:40px}.az-wizard .wizard-progress{width:100%;height:4px;display:block;accent-color:#294e60;margin:0 0 8px;border-radius:4px}.az-wizard .wizard-progress::-webkit-progress-bar{background:#dfe0dc;border-radius:4px}.az-wizard .wizard-progress::-webkit-progress-value{background:#294e60;border-radius:4px}.az-wizard .wizard-step{font-size:12px;line-height:18px;margin:0 0 6px}.az-wizard .description{font-size:13px;line-height:19px;margin:0}.az-wizard .az-content{padding:0 16px 16px}.az-wizard .wizard-content{display:flex;flex-direction:column;gap:12px;padding:0}.az-size-illustration{display:block;width:100%;height:150px;object-fit:contain;margin:4px 0 16px}.az-wizard .az-layer-stack .wizard-sketch-drawing{position:relative;height:148px}.az-wizard .az-layer-stack .wizard-sketch-drawing:after,.az-wizard .az-layer-stack .wizard-sketch-drawing:before{content:"";position:absolute;width:170px;height:65px;left:calc(50% - 85px);border-radius:3px;transform:skewX(-14deg) rotate(-12deg);border:1px solid #c9c7bd;box-shadow:0 3px 5px #294e6014}.az-wizard .az-layer-stack .wizard-sketch-drawing:before{top:68px;background:#dce7e4}.az-wizard .az-layer-stack .wizard-sketch-drawing:after{top:43px;background:#efe6d2}.az-wizard .az-layer-stack .wizard-sketch-tap{position:relative;z-index:1;transform:rotate(-12deg) skewX(-14deg) scaleY(.58);transform-origin:50% 20%}.az-wizard .az-patterns .project-compact-current{min-height:48px;padding:8px;font-size:14px;background:#fffdfa}.az-wizard .az-patterns .project-compact-current .project-motif-preview{width:32px;height:32px}.az-wizard .az-patterns .project-block-editor{margin-top:0;padding:10px;background:transparent;border-color:#e5ded2}.az-wizard .az-patterns .block-editor-actions .button{flex:none}.az-wizard .wizard-sketch,.az-wizard .wizard-sketch.compact{position:relative;height:164px!important;min-height:0;padding:8px 0;margin:0 0 12px;background:transparent;border:0}.az-wizard .wizard-sketch .quilt-diagram{max-height:144px;height:100%}.az-wizard .wizard-sketch-legend{display:none}.az-wizard .wizard-sketch-zoom{width:32px;height:32px;top:8px}.az-wizard .field{margin:0}.az-wizard .fieldlabel,.az-wizard .preset-label{font-size:13px;font-weight:500;line-height:19px;margin-bottom:5px}.az-wizard input:not([type=checkbox]),.az-wizard select{font-size:14px;min-height:48px;border-radius:9px;padding:10px;background:#fffdfa}.az-wizard .input-suffixed input{padding-right:38px}.az-wizard .input-suffix{font-size:12px}.az-wizard .hint,.az-wizard .note{font-size:12px;line-height:18px}.az-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.az-fields-grid .switchrow,.az-fields-grid>.field:has(.choice){grid-column:1/-1}.az-border-card,.az-fields{display:flex;flex-direction:column;gap:12px}.az-border-card{border:1px solid #eeebe4;border-radius:12px;background:#fffdfa;padding:12px}.az-advanced{background:#f9f6ee;border:1px solid #e6e1d8;border-radius:10px;padding:0 10px}.az-advanced>summary{display:flex;align-items:center;justify-content:space-between;font-size:13px;cursor:pointer;min-height:48px}.az-advanced>summary:after{content:"⌄"}.az-advanced[open]{padding-bottom:12px}.az-advanced[open]>*+*{margin-top:10px}.az-size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.az-choice-card{border:1px solid #d7dedc;background:#edf3f1;border-radius:11px;padding:12px 6px;min-height:84px;cursor:pointer;color:inherit}.az-choice-card:first-child{background:#eaf0f7}.az-choice-card:nth-child(2){background:#fbe9e2}.az-choice-card strong{display:block;font-size:14px;font-weight:600}.az-choice-card small{display:block;font-size:11px;line-height:17px;margin-top:5px}.az-choice-card[aria-pressed=true]{outline:1.5px solid #b74f3b;border-color:#b74f3b}.az-binding-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.az-binding-options .az-choice-card{text-align:left;padding:12px;min-height:144px}.az-binding-options .az-choice-card[aria-pressed=true]{outline-color:#294e60;border-color:#294e60}.az-binding-options svg{display:block;margin:8px auto 0}.az-wizard .switchrow{padding:0;min-height:48px;gap:8px;font-size:14px}.az-wizard .switchrow .switchlabel{font-size:14px}.az-wizard .switchrow input[type=checkbox]{appearance:none;position:relative;flex:none;width:38px;height:24px;min-height:24px;margin:0;padding:0;border:0;border-radius:20px;background:#adb5b8;cursor:pointer}.az-wizard .switchrow input[type=checkbox]:before{content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:#fffdfa}.az-wizard .switchrow input[type=checkbox]:checked{background:#294e60}.az-wizard .switchrow input[type=checkbox]:checked:before{transform:translateX(14px)}.az-wizard .switchrow input[type=checkbox]:focus-visible{outline:2px solid #294e60;outline-offset:3px}.az-wizard .presets{flex-wrap:wrap;overflow:visible;gap:8px}.az-wizard .presetrow:after,.az-wizard .presetrow:before{display:none}.az-wizard .presets button{font-size:13px;border-radius:10px;padding:8px 12px;min-height:44px}.az-wizard .az-footer{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#faf7f1f5;border-top:1px solid #e9e5dd;padding:10px 16px max(10px,env(safe-area-inset-bottom))}.az-footer>div{display:flex;gap:20px;justify-content:space-between;max-width:728px;margin:auto}.az-wizard .button{min-height:48px;border-radius:28px;font-size:14px;padding:10px 16px;background:#294e60;color:#fff;width:auto}.az-wizard .button.secondary{background:transparent;border:1px solid #acb8ba;color:#183547}.az-footer .button:first-child{min-width:94px}.az-footer .button:last-child{min-width:152px;max-width:calc(100% - 114px)}.az-wizard .project-compact-button{min-height:48px;padding:8px;background:#fffdfa;font-size:14px}.az-wizard .project-compact-button .project-motif-preview{width:32px;height:32px}.az-wizard .project-compact-option{font-size:13px}.az-fabrics{display:flex;flex-direction:column;gap:10px}.az-fabrics .fabriccolor{background:#fffdfa;border:1px solid #e9e5dd;border-radius:12px;padding:4px 10px}.az-fabrics .fabriccolor-row{border:0;padding:4px 0;min-height:64px;gap:10px;text-align:left}.az-fabrics .fabriccolor-name{font-size:14px;line-height:20px}.az-fabrics .fabriccolor-name small{display:block;font-size:11px;line-height:16px;font-weight:400;color:#46596c}.az-fabrics .az-fabric-description{color:#7b8488!important}.az-fabrics .swatch{width:24px;height:24px;flex:none}.az-fabrics .project-add-fabric{min-height:48px;border:1px solid #a9b5b9;border-radius:25px;background:transparent;color:#173449;text-align:left;font-size:14px;padding:10px 14px}.az-pattern-preview{padding-top:8px}.az-preview-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e4e0d7;border-radius:12px;background:#fffcf7}.az-preview-tabs button{min-height:44px;border:0;background:transparent;color:inherit;font-size:12px;padding:5px;border-radius:10px}.az-preview-tabs button[aria-selected=true]{box-shadow:inset 0 -3px #294e60;font-weight:600}.az-preview-drawing{display:flex;align-items:center;justify-content:center;height:138px;padding:6px;background:#f2eee6;border-radius:10px}.az-preview-drawing .block-parts,.az-preview-drawing .quilt-diagram{width:100%;height:100%;margin:0}.az-preview-drawing svg{display:block;width:100%;height:100%;max-height:126px}.az-selected-position{font-size:11px;line-height:16px;margin:3px 0 0;text-align:center}.az-wizard .az-patterns .project-block-editor>h3{font-size:13px}.az-wizard .az-patterns .block-editor-actions{display:flex;flex-wrap:wrap;gap:6px}.az-wizard .az-patterns .block-editor-actions .button{font-size:12px;min-height:44px;padding:6px 10px}.az-wizard .az-patterns .block-parts{max-width:190px;margin:auto}.az-wizard .az-patterns .block-parts svg{max-height:190px}.az-apply{position:relative}.az-apply-menu{display:flex;flex-direction:column;gap:2px;background:#fffdfa;padding:6px;border-radius:12px;border:1px solid #e1ded7;box-shadow:0 3px 12px #0002}.az-apply-menu button{min-height:48px;background:transparent;border:0;text-align:left;padding:8px;font-size:13px;color:inherit}.az-summary{display:flex;flex-direction:column;gap:8px}.az-summary-card{position:relative;background:#fffdfa;border:1px solid #ebe6de;border-radius:12px;padding:10px 44px 10px 12px}.az-summary-card h2{font-size:14px;margin:0 0 5px}.az-summary-card p{font-size:12px;line-height:18px;margin:3px 0}.az-summary-card p small{display:block}.az-edit{position:absolute;right:0;top:0;width:44px;height:48px;border:0;background:transparent;color:#294e60;font-size:20px;cursor:pointer}.az-summary-fabrics>div{display:flex;gap:8px;align-items:center;margin:5px 0;font-size:12px}.az-summary-fabrics .swatch{width:14px;height:14px}.az-summary-fabrics small{display:block;font-size:10px;color:#46596c}.az-summary-preview{height:150px}.az-summary-preview .quilt-diagram{height:100%}.az-shopping{display:flex;flex-direction:column;gap:10px}.az-shopping .note{margin:0;padding:8px}.az-shopping .plancard{order:1;background:#fffdfa;padding:10px;border:1px solid #ebe6de;border-radius:12px;box-shadow:0 1px 3px #18252c05}.az-shopping .plancard-head{cursor:pointer;margin:0;gap:8px}.az-shopping .plancard-head h2{font-size:14px;line-height:20px}.az-shopping .plancard-head h2 small{display:block;font-size:11px;line-height:16px;font-weight:400;color:#46596c}.az-shopping .plancard-total{font-size:14px}.az-shopping details:not([open]) .plancard-total small{display:none}.az-shopping .plantotal{order:2;background:#fcf0dc;border:1px solid #edddc1;border-radius:12px;padding:12px}.az-shopping .plantotal .result-headline{font-size:25px;line-height:30px}.az-shopping .plantotal .result-label{font-size:12px}.az-shopping .plantotal .result-subhead{display:none}.az-shopping .az-final-size{order:3}.az-shopping .detailrow{font-size:12px}@media (min-width:700px){.az-wizard .az-content,.az-wizard .az-header{padding-left:32px;padding-right:32px}.az-wizard .az-preview-drawing{height:170px}.az-wizard .az-preview-drawing svg{max-height:158px}}.az-binding-options{align-items:stretch}.az-binding-options .az-choice-card{display:flex;flex-direction:column}.az-binding-options svg{margin-top:auto;padding-top:8px}.project-name-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--outline);border-radius:16px;padding:24px;color:var(--on-surface);background:var(--surface)}.project-name-dialog::backdrop{background:rgb(0 0 0/45%)}.project-name-dialog h2{font-size:22px;margin:0 0 20px}.az-wizard[data-wizard-step="8"] .az-header{position:relative}.az-wizard[data-wizard-step="8"] .topbar{position:static}.app.az-wizard[data-wizard-step="8"]{padding-bottom:16px}.az-wizard[data-wizard-step="8"] .az-footer{position:static;border-top:0;padding-top:0;background:#faf7f1}.az-wizard[data-wizard-step="8"] .az-footer>div{gap:8px}.az-wizard[data-wizard-step="8"] .az-footer .button{flex:1 1;min-width:0;max-width:none;font-size:16px}.az-wizard[data-wizard-step="8"] .description{font-size:16px;line-height:23px}.az-wizard[data-wizard-step="8"] .wizard-step,.wizard-customization{font-size:16px;line-height:22px}.wizard-customization{display:flex;flex-direction:column;gap:12px}.customization-preview{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:16px;background:#f5f2ec}.customization-preview-card{aspect-ratio:1;width:100%;display:flex;align-items:center;justify-content:center}.customization-preview-card .quilt-visual,.customization-preview-card .quiltdiagram{height:100%;width:100%;margin:0;max-width:none}.customization-preview-card svg{display:block;width:100%;height:100%;max-height:none}.customization-preview-card rect[data-selected-block=true]{stroke:#294e60;stroke-width:6px;fill:none}.az-wizard[data-wizard-step="8"] .description{-webkit-hyphens:none;hyphens:none}.customization-position{margin:0;font-size:16px;line-height:22px;text-align:center}.customization-colors,.customization-motif-card,.customization-scope{padding:12px;border:0;margin:0;background:#fffdfa;border-radius:16px;box-shadow:0 1px 3px #294e6006}.customization-scope legend,.wizard-customization h2{font-size:18px;font-weight:650;line-height:24px;padding:0;margin:0 0 8px}.customization-pattern{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px;border:1px solid #adb9bd;border-radius:10px;background:transparent;color:inherit;font-size:16px;text-align:left;cursor:pointer}.customization-pattern-name{flex:1 1;font-weight:600}.customization-pattern .project-motif-preview,.customization-pattern .swatch{width:32px;height:32px;flex:none;border-radius:4px}.customization-colors{display:flex;flex-direction:column}.customization-color-row{min-height:64px;display:flex;align-items:center;gap:12px;padding:8px;background:transparent;color:inherit;border:1px solid #e3e1db;border-bottom:0;text-align:left;font-size:16px;cursor:pointer}.customization-color-row:first-of-type{border-radius:10px 10px 0 0}.customization-color-row:last-child{border-bottom:1px solid #e3e1db;border-radius:0 0 10px 10px}.customization-color-row:only-of-type{border-radius:10px}.customization-color-row .swatch,.customization-fabric-options .swatch{width:32px;height:32px;border-radius:50%;flex:none;border:1px solid #10273818}.customization-color-label{display:flex;flex-direction:column;flex:1 1;overflow-wrap:anywhere}.customization-fabric-name{color:#46596c}.customization-color-row>span:last-child{font-size:24px}.customization-add{min-height:48px;border:0;padding:0 4px;background:transparent;color:#294e60;text-align:left;font-size:16px;font-weight:550;cursor:pointer}.customization-scope legend{float:left;width:100%}.customization-scope>div{display:flex;clear:both;gap:6px}.customization-scope label{position:relative;display:flex;flex:1 1;align-items:center;justify-content:center;min-height:48px;padding:6px;border:1px solid #adb9bd;border-radius:28px;text-align:center;cursor:pointer}.customization-scope label:has(input:checked){background:#294e60;color:white;border-color:#294e60}.az-wizard .customization-scope input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.customization-scope label:has(input:focus-visible){outline:2px solid #294e60;outline-offset:3px}.customization-dialog{border:1px solid #c9cece;border-radius:12px;width:min(440px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:16px;color:#102738;background:#fffdf9}.customization-dialog::backdrop{background:#10273866}.customization-dialog-heading{display:flex;align-items:center;gap:8px}.customization-dialog-heading h2{flex:1 1;font-size:18px}.customization-dialog .project-compact-options{max-height:380px}.customization-fabric-options{display:flex;flex-direction:column;gap:4px}.customization-fabric-options button{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px;border:1px solid #c9cece;border-radius:8px;background:transparent;color:inherit;text-align:left;font-size:16px;cursor:pointer}.customization-fabric-options button>span:last-child{margin-left:auto}@media(min-width:700px){.customization-preview-card{max-height:440px}}.customization-history{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:6px}.customization-history button{min-height:48px;padding:6px;border:1px solid #adb9bd;border-radius:8px;color:#294e60;background:#fffdfa;font-size:16px;cursor:pointer}.customization-history button:disabled{color:#6b747c;opacity:.65;cursor:default}.customization-history .customization-edit{display:flex;align-items:center;justify-content:center;gap:6px;border-color:#294e60;font-weight:600}.customization-direct .customization-history{grid-template-columns:1fr 1fr;width:100%}.customization-direct .project-block-editor{margin:0}.customization-direct .click-toolbar{width:100%}.customization-groups>summary{min-height:48px;padding:12px;cursor:pointer}.customization-hint{display:flex;align-items:center;gap:12px;margin:0;padding:10px 12px;border:1px solid #d5e2e5;border-radius:12px;background:#edf3f4;color:#294e60;font-weight:500}.customization-hint img{width:24px;height:24px;flex:none}.customization-preview-card{position:relative}.customization-preview-card svg.customization-touch-guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.wizard-customization[data-editing=true] .customization-preview-card{aspect-ratio:auto;height:min(120px,14dvh)}.wizard-block-popup{position:fixed;inset:0;width:min(480px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;border-radius:0;color:#102738;background:#faf7f1;box-shadow:0 -4px 24px #10273822;overflow:hidden}.wizard-block-popup[open]{display:flex;flex-direction:column;gap:8px}.wizard-block-popup::backdrop{background:#10273826}.wizard-block-popup .customization-dialog-heading{flex-shrink:0}.wizard-block-popup .customization-dialog-heading h2{margin:0}.wizard-block-popup .customization-direct,.wizard-block-popup .project-block-editor{display:flex;flex-direction:column;flex:1 1;min-height:0}.wizard-block-popup .customization-direct .project-block-editor .click-compact-editor{display:flex;flex-direction:column;flex:1 1;min-height:0;gap:8px}.wizard-block-popup .click-editor-preview{display:flex;align-items:center;justify-content:center;gap:24px;flex-shrink:0}.wizard-block-popup .customization-direct .project-block-editor .click-compact-editor .block-parts{width:128px;height:128px;flex-shrink:0;margin:0}.wizard-block-overview{width:96px;height:112px;flex-shrink:0}.wizard-block-overview .quilt-visual,.wizard-block-overview .quiltdiagram,.wizard-block-overview svg{width:100%;height:100%;margin:0}.wizard-block-overview rect[data-selected-block=true]{stroke:#294e60;stroke-width:3px}.wizard-block-popup .click-pieces-controls{flex:1 1;min-height:0;overflow:auto;overscroll-behavior:contain}.customization-pattern-name small{display:block;font-size:16px;font-weight:400;color:#657181;line-height:22px}.customization-pattern:has(small){min-height:72px}.wizard-edit-sheet{position:fixed;inset:auto 0 0;width:min(480px,100%);margin:0 auto;max-height:calc(100dvh - 16px);padding:8px 16px 16px;border:0;border-radius:24px 24px 0 0;color:#102738;background:#faf7f1;box-shadow:0 -4px 28px #10273820}.wizard-edit-sheet::backdrop{background:#10273866;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.wizard-edit-handle{width:36px;height:5px;margin:4px auto 12px;border-radius:5px;background:#b9b9b8}.wizard-edit-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.wizard-edit-heading h2{flex:1 1;font-size:22px;line-height:28px;margin:0}.wizard-edit-body{max-height:calc(100dvh - 192px);overflow:auto;display:flex;flex-direction:column;gap:12px}.wizard-edit-body>p{margin:0;font-size:16px}.wizard-edit-card{background:#fffdfa;border-radius:14px;padding:12px}.wizard-edit-card h3{font-size:18px;line-height:24px;margin:0 0 8px}.wizard-edit-rotations{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.wizard-edit-rotations button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:68px;border:1px solid #adb9bd;border-radius:8px;background:transparent;color:#294e60;font-size:16px;cursor:pointer}.wizard-edit-rotations button span{font-size:28px;line-height:30px}.wizard-edit-rotations button[aria-pressed=true]{background:#294e60;color:white}.wizard-edit-rotations button:disabled{opacity:.45;cursor:default}.wizard-edit-piece-position{font-size:16px;color:#657181;margin:0 0 8px}.wizard-edit-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:16px}.wizard-edit-dimensions>div{border:1px solid #e3e1db;padding:8px;border-radius:10px}.wizard-edit-counter{display:flex;align-items:center;border:1px solid #adb9bd;border-radius:6px;margin-top:8px}.wizard-edit-counter button{width:48px;height:48px;flex:none;border:0;border-radius:6px;background:#edf0f0;color:#294e60;font-size:26px;cursor:pointer}.wizard-edit-counter button:disabled{opacity:.45;cursor:default}.wizard-edit-counter output{flex:1 1;text-align:center;font-weight:600}.wizard-edit-pieces-entry{display:flex;align-items:center;gap:10px;min-height:80px;border:1px solid #adb9bd;border-radius:10px;padding:12px;color:inherit;background:#fffdfa;font-size:16px;text-align:left;cursor:pointer}.wizard-edit-grid-icon{font-size:36px;flex:none}.wizard-edit-pieces-entry>span:nth-child(2){flex:1 1}.wizard-edit-pieces-entry small{display:block;font-size:16px;color:#657181;margin-top:4px}.wizard-edit-pieces-entry>span:last-child{font-size:26px}.wizard-edit-footer{display:flex;gap:8px;padding-top:16px}.az-wizard .wizard-edit-footer .button{flex:1 1;font-size:16px}.wizard-edit-sheet .block-parts{width:100%;max-width:none}.wizard-edit-sheet .piece-fabrics{display:flex;flex-wrap:wrap;gap:8px}.wizard-edit-sheet .piece-fabrics .button{min-height:48px;font-size:16px}.wizard-edit-cell{border:1px solid #e3e1db;border-radius:10px;padding:0 8px}.wizard-edit-cell summary{min-height:48px;display:flex;align-items:center;font-size:16px;cursor:pointer}.az-wizard[data-wizard-step="8"] .az-header{position:sticky}.customization-sticky-card{position:sticky;top:var(--customization-pin-top,0);z-index:20;display:flex;align-items:center;gap:12px;width:100%;min-height:96px;padding:10px 12px;border:1px solid #deded8;border-radius:14px;background:#fffdf9;color:inherit;text-align:left;font-size:16px;box-shadow:0 3px 8px #10273812;cursor:pointer}.customization-sticky-drawing{width:72px;height:72px;flex:none}.customization-sticky-drawing .quilt-visual,.customization-sticky-drawing .quiltdiagram,.customization-sticky-drawing svg{width:100%;height:100%;margin:0}.customization-sticky-drawing rect[data-selected-block=true]{stroke:#294e60;stroke-width:8px;fill:none}.customization-sticky-card>span:nth-child(2),.wizard-edit-preview>span{display:flex;flex:1 1;flex-direction:column;gap:4px}.customization-sticky-card small,.wizard-edit-preview small{font-size:16px;color:#46596c}.customization-sticky-card>span:last-child{font-size:26px}.wizard-customization :is(button,fieldset,.customization-preview){scroll-margin-top:calc(var(--customization-pin-top,0px) + 112px)}.wizard-edit-sheet[open]{display:flex;flex-direction:column;overflow:hidden}.wizard-edit-footer,.wizard-edit-handle,.wizard-edit-heading,.wizard-edit-preview{flex-shrink:0}.wizard-edit-preview{display:flex;align-items:center;gap:16px;min-height:96px;padding:12px;margin-bottom:12px;border-radius:14px;background:#f0ede7;font-size:16px}.wizard-edit-preview .project-motif-preview{width:72px;height:72px;flex:none}.wizard-edit-body{min-height:0;max-height:calc(100dvh - 308px)}.customization-sticky-card{margin-top:calc(-1 * var(--customization-preview-tail,0px) - 12px)}.wizard-customization[data-preview-pinned=true] .customization-position{visibility:hidden}.backup-reminder{margin-top:24px;padding:16px;border-radius:14px;background:#f0ede7;color:#0b1b29}.backup-reminder h2{margin:0 0 10px;font-size:18px}.backup-reminder p{margin:0 0 12px;font-size:16px;line-height:1.5}.backup-reminder .button{min-height:48px;font-size:16px;white-space:normal;text-align:center}#backup{scroll-margin-top:24px}.billing-panel{margin:1rem 0;padding:1.2rem;border:1px solid var(--border,#b7afa5);border-radius:1rem;line-height:1.55;overflow-wrap:anywhere}.billing-panel h2{margin-top:0}.billing-panel details{margin:1rem 0}.billing-panel summary{cursor:pointer;font-weight:600}.billing-panel form{display:grid;gap:.8rem;margin:1rem 0}.billing-panel input{display:block;width:100%;box-sizing:border-box;margin-top:.4rem}.billing-panel .button{white-space:normal;min-height:44px}.access-badge,.billing-status{font-weight:600}.access-badge{display:inline-block;font-size:.8rem;margin:.3rem .6rem}.billing-dialog{width:min(92vw,580px);max-height:88dvh;overflow:auto;border-radius:1rem;border:1px solid #a89d90;padding:1rem;background:var(--surface,#fffaf4);color:var(--text,#222)}.billing-dialog::backdrop{background:#0007}.billing-page{max-width:760px;margin:auto;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}