@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--control-height:48px;--control-small:44px;--control-large:56px;--icon-size:20px;--icon-large:24px;--border-width:1px;--focus-width:2px;--field-min:80px;--thumbnail-size:56px;--proof-min:300px;--measurement-min:240px;--inspector-width:360px;--inspector-compact:280px;--popover-width:264px;--z-popover:20;--sheet-height:96px;--calibration-footer-size:216px;--success-soft:color-mix(in srgb, var(--ok) 10%, var(--surface))}.ui-button.ui-button{gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-4);border-radius:var(--r-sm);font:var(--type-label);box-shadow:none}.ui-button.ui-button:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:var(--ink-3)}.ui-button.ui-button[aria-pressed=true]:not(.primary){color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.ui-icon-button.ui-button{width:var(--control-height);padding:var(--space-2);flex-shrink:0}.ui-card{padding:var(--space-4);border:var(--border-width) solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--e1)}.ui-list-row{align-items:center;gap:var(--space-4);min-width:0;display:flex}.ui-row-thumbnail{width:var(--thumbnail-size);height:var(--thumbnail-size);background:var(--surface-2);border-radius:var(--r-sm);flex-shrink:0;place-items:center;display:grid}.ui-row-thumbnail .thumbnail{width:100%;height:100%;padding:var(--space-2)}.ui-row-copy{flex:1;min-width:0}.ui-row-copy strong{font:var(--type-label);display:block}.ui-row-copy small{font:var(--type-meta);color:var(--ink-2);display:block}.ui-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--r-full);font:var(--type-meta);background:var(--surface-2);color:var(--ink-2);display:inline-flex}.ui-segmented{padding:var(--space-1);gap:var(--space-1);background:var(--surface-2);border:var(--border-width) solid var(--line);border-radius:var(--r-sm);display:flex}.ui-segmented>.ui-button{background:0 0;border-color:#0000;flex:1}.ui-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-panel{min-width:0}.ui-section-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-4);border-bottom:var(--border-width) solid var(--line);display:flex}.ui-section-header h2{font:var(--type-label);margin:0}.ui-disclosure>summary{min-height:var(--control-small);gap:var(--space-2);font:var(--type-label);list-style:none}.ui-disclosure>summary::-webkit-details-marker{display:none}.ui-disclosure.ui-disclosure>summary:before{content:none}.ui-disclosure>summary:after{content:"";width:var(--space-2);height:var(--space-2);margin-left:auto;margin-right:var(--space-1);border-right:var(--border-width) solid currentColor;border-bottom:var(--border-width) solid currentColor;flex-shrink:0;transform:rotate(45deg)}.ui-disclosure[open]>summary:after{transform:rotate(225deg)}.ui-popover{padding:var(--space-2);width:var(--popover-width);max-width:calc(100vw - var(--space-8));background:var(--surface);color:var(--ink);border:var(--border-width) solid var(--line);border-radius:var(--r-md);box-shadow:var(--e2);z-index:var(--z-popover)}.ui-field{gap:var(--space-2);margin-block:var(--space-2);color:var(--ink-2);font:var(--type-label);display:grid}.ui-field :is(input,select){font:var(--type-body);font-variant-numeric:tabular-nums}.ui-field-control{align-items:center;gap:var(--space-2);display:flex}.ui-field-control input{min-width:var(--field-min)}.ui-field-unit{color:var(--ink-3);font:var(--type-meta)}.ui-field-error{color:var(--danger)}.ui-empty-state{justify-items:start;gap:var(--space-4);padding:var(--space-6);border:var(--border-width) dashed var(--line);border-radius:var(--r-md);color:var(--ink-2);display:grid}.ui-empty-state h2{color:var(--ink);font:var(--type-label);margin:0}.ui-toast{align-items:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--r-md);background:var(--ink);color:var(--surface);box-shadow:var(--e2);display:flex}.grain-editor-handle:focus-visible circle{stroke:var(--ink);stroke-width:3px}.account-dialog{width:min(420px,100vw - 32px);max-height:calc(100dvh - 48px);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);overflow-y:auto}.account-dialog::backdrop{background:#0006}.account-dialog h2,.account-dialog p{margin:0}.account-dialog>*+*,.account-dialog form>*+*{margin-top:var(--space-3)}.account-heading,.account-actions,.account-code-email{align-items:center;gap:var(--space-2);display:flex}.account-heading{margin-bottom:var(--space-3);justify-content:space-between}.account-heading h2{flex:1}.account-actions{flex-wrap:wrap;justify-content:flex-end}.account-dialog .account-close{border-color:#0000;width:44px;min-width:44px;padding:0}.account-dialog label{gap:var(--space-2);display:grid}.account-dialog input{width:100%;min-height:48px}.account-email{overflow-wrap:anywhere;min-width:0}.account-code-email{justify-content:space-between}.account-code-email .ui-button{flex-shrink:0}.account-resend{min-height:44px;font:var(--type-small);color:var(--ink-2);justify-content:flex-end;align-items:center;display:flex}.account-resend .ui-button{border-color:#0000;padding-inline:0}.account-success{text-align:center;padding:var(--space-4) 0}.account-error{color:var(--danger)}.cloud-project-actions{gap:var(--space-2);display:grid}.cloud-project-actions p{font:var(--type-small);margin:0}.account-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cloud-library-error{align-items:center;gap:var(--space-2);grid-column:1/-1;display:flex}.cloud-project-card{position:relative}.cloud-project-card .project-preview{place-items:center;display:grid}.cloud-project-card .cloud-project-delete{right:var(--space-2);bottom:var(--space-2);position:absolute}.cloud-project-card .project-title{padding-right:48px}.app-footer [data-testid=account-button]{white-space:nowrap}@media (width<=420px){.app .app-footer .ui-button{white-space:nowrap;padding-inline:12px}.account-send{width:100%}.account-code-email{flex-wrap:wrap}}.code-input{position:relative}.code-input-cells{pointer-events:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.code-input-cell{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);height:56px;color:var(--ink);font-variant-numeric:tabular-nums;place-items:center;font-size:28px;display:grid}.code-input-cell[data-active=true]{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.account-dialog .code-input-native{opacity:0;cursor:text;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.code-input:has(.code-input-native[aria-invalid=true]) .code-input-cell{border-color:var(--danger)}.code-input[data-disabled=true] .code-input-cell{opacity:.65}@media (width<=360px){.code-input-cells{gap:6px}}@media (forced-colors:active){.code-input-cell[data-active=true]{outline-color:highlight}}.restore-actions{gap:var(--space-2);display:grid}.app .restore-actions .ui-button{width:100%}.shortcut-dialog{width:min(560px,100vw - 32px)}.shortcut-dialog h3{margin:var(--space-4) 0 var(--space-2);font:var(--type-headline)}.shortcut-dialog dl{margin:0}.shortcut-dialog dl>div{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--line);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.shortcut-dialog dd{margin:0}.shortcut-dialog kbd{min-width:1.6em;padding:0 var(--space-1);border:var(--border-width) solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);font:var(--type-label);text-align:center;display:inline-block}.account-legal{margin:var(--space-2) 0 0;font:var(--type-small);color:var(--ink-2)}.account-legal a{color:inherit}.app .projects-screen .project-identity>.project-cloud-deleted{color:var(--warning-ink)}.account-data{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);display:grid}.account-data h3{font:var(--type-body);margin:0;font-weight:600}.account-data p{font:var(--type-label);color:var(--ink-2)}.account-data .account-actions{flex-wrap:wrap;justify-content:flex-start}.account-dialog .account-delete{color:var(--danger)}.account-delete-confirmation{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--danger);border-radius:var(--r-sm);display:grid}.account-delete-confirmation .account-actions{justify-content:flex-end}:is(.start,.input-review,.input-import,.flow-screen) button:not(.primary){background:0 0;border-color:#0000}:is(.start,.input-review,.input-import,.flow-screen) :is(input,select){border:var(--border-width) solid var(--line);border-radius:var(--r-xs);background:var(--surface);color:var(--ink);font-size:var(--space-4);line-height:var(--space-6);padding:var(--space-2) var(--space-3)}:is(.start,.input-review,.input-import,.flow-screen) .eyebrow{font-size:var(--space-3);line-height:var(--space-4)}:is(.start,.input-review,.flow-screen) :is(h1,h2,h3){text-wrap:balance}.start .upload{border:var(--border-width) solid transparent;padding:var(--space-6)}.pattern-journey{gap:var(--space-4);width:100%;margin:0 0 var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.pattern-journey li{gap:var(--space-2);font-size:var(--length-14);line-height:var(--icon-size);justify-items:center;display:grid}.pattern-journey li>div{border-radius:var(--r-sm);background:var(--surface-2);place-items:center;width:100%;display:grid}.pattern-journey span{color:var(--ink-2);font-size:var(--space-3);line-height:var(--space-4)}.start .project-preview{grid-template-columns:1fr;display:grid}.saved-layout-preview{width:100%;height:var(--length-160);font-size:var(--space-3);fill:var(--ink-2)}.layout-preview-sheet{fill:var(--paper);stroke:var(--line)}.layout-preview-piece{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5px}.preference-rows .field{grid-template-columns:minmax(0, 1fr) minmax(var(--length-160), 1fr);align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:var(--border-width) solid var(--line);margin:0;display:grid}.unit-example{font-variant-numeric:tabular-nums}.accepted-example{width:min(100%, var(--inspector-compact));height:var(--length-160);color:var(--accent);background:var(--surface-2);border-radius:var(--r-md)}.accepted-example path{stroke:currentColor;stroke-width:2px;fill:var(--accent-soft)}.input-review .unsupported{max-width:var(--length-560);margin:var(--space-6) auto;padding:var(--space-6);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--r-md)}@media (width>=64rem){:is(.start,.input-review,.input-import,.flow-screen) button.primary{min-height:var(--length-36);padding-block:var(--length-6)}}@media (width<=43.6875rem){.start .intro{margin-bottom:var(--space-6)}.start .upload{padding:var(--space-4);gap:var(--space-2)}.pattern-journey{gap:var(--space-2)}.preference-rows .field{grid-template-columns:minmax(0, 1fr) minmax(var(--length-140), 1fr);gap:var(--space-3)}}:is(.start,.input-review,.input-import,.flow-screen) .hint{font-size:var(--space-3);line-height:var(--space-4)}.start .saved-layout-preview{height:100%;min-height:0}.pattern-journey li>div{height:var(--length-120)}.pattern-journey svg{height:var(--length-112);max-width:100%}.start .project-open h2{-webkit-line-clamp:2;margin-right:var(--length-60);overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.start .project-preview .layout-preview-piece{fill:var(--accent-soft)}.input-import progress{height:var(--length-6);appearance:none;border-radius:var(--space-1);background:var(--surface-2);border:0}.input-import progress::-webkit-progress-bar{background:var(--surface-2);border-radius:var(--space-1)}.input-import progress::-webkit-progress-value{background:var(--accent);border-radius:var(--space-1)}.input-import progress:indeterminate::-webkit-progress-bar{background:var(--accent-soft);border-left:var(--control-height) solid var(--accent)}.accepted-example text{fill:var(--ink);font-size:var(--space-3)}@media (width<=43.6875rem){.input-import h1{font-size:var(--space-6);line-height:var(--length-30)}.input-review .unsupported{margin:var(--space-4) auto;padding:var(--space-4)}}.start .intro{gap:var(--space-8)}.home-import-actions{align-items:stretch;gap:var(--space-2) var(--space-3);margin-top:var(--icon-size);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.start .home-import-actions>button.ui-button{width:100%;min-height:var(--control-large);padding-block:var(--space-2)}.home-import-actions>span{text-align:center;font-size:var(--length-13);line-height:var(--length-18);color:var(--ink-2);grid-column:1}.pattern-journey li>span{min-height:var(--space-8);text-align:center}.pattern-journey text{fill:var(--ink);font-size:var(--space-3)}.start .project-preview{height:var(--length-128);gap:var(--space-1);padding:var(--space-2) var(--space-3);grid-template-rows:minmax(0,1fr) auto}.saved-surface-caption{font-size:var(--space-3);line-height:var(--space-4);color:var(--ink-2)}.start .card-menu{top:var(--length-140)}.library-controls{justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-2) 0 var(--space-4);display:flex}.library-controls label{align-items:center;gap:var(--space-2);font-size:var(--length-13)}.start .project-list-view{grid-template-columns:1fr}.project-list-view .project-open{grid-template-columns:var(--length-160) minmax(0, 1fr);padding-bottom:var(--space-2);display:grid}.project-list-view .project-preview{grid-row:1/span 3}.project-list-view .card-menu{top:var(--space-2)}.input-import{text-align:left}.input-import h1{font-family:Inter Variable,sans-serif;font-size:var(--space-6);line-height:var(--length-28)}.utility-screen{max-width:var(--length-640);padding:var(--space-4)}.utility-screen h1{font-size:var(--space-6);line-height:var(--length-28)}.utility-screen section h2{font-size:var(--length-17);line-height:var(--length-22)}.utility-screen .preference-rows .field{max-width:none;margin:0}@media (width<=43.6875rem){.start .intro{gap:var(--space-4)}.home-import-actions{margin-top:var(--space-4);grid-template-columns:minmax(0,1fr)}.home-import-actions>span{grid-row:2}.start .project-list-view .card-menu{top:var(--space-2)}.project-list-view .project-open{grid-template-columns:var(--length-104) minmax(0, 1fr)}.library-controls label{display:grid}}.start .saved-surface-caption{color:var(--mat-ink)}.library-controls label{white-space:nowrap;flex-wrap:nowrap;display:flex}.library-controls select{min-width:var(--length-160)}.start.returning .intro{margin-bottom:var(--space-6)}.start .project-open h2{font-size:var(--space-4);line-height:var(--length-22);margin:0}.start .project-open p{font-size:var(--space-3);line-height:var(--space-4)}.input-import{max-width:var(--length-480);gap:var(--space-3);padding:var(--icon-size)}.utility-screen section p{text-wrap:pretty;line-height:var(--space-6)}.utility-screen section+section{border-top:var(--border-width) solid var(--line)}@media (width<=43.6875rem){.start .projects{grid-template-columns:1fr}.start .project-open{grid-template-columns:var(--field-min) minmax(0, 1fr);align-content:center;gap:var(--space-1) var(--space-3);min-height:var(--length-104);padding:var(--space-3) var(--control-height) var(--space-3) var(--space-3);grid-template-rows:auto auto auto;display:grid}.start .project-preview{height:var(--field-min);padding:var(--space-1);border-radius:var(--r-xs);grid-area:1/1/span 3}.start .project-preview .saved-surface-caption{display:none}.start .card-menu{top:var(--space-2)}.start .project-open h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-controls{gap:var(--space-2);margin-block:var(--space-2)}.library-controls label{gap:0;font-size:0}.library-controls button{font-size:var(--space-3)}.start:not(.returning) .intro h1{font-size:var(--length-34);line-height:var(--length-38)}}.pattern-outcome{margin:0}.pattern-outcome>svg{width:100%;max-height:var(--length-320);display:block}.pattern-outcome text{fill:var(--palette-192e25);font-family:Inter Variable,sans-serif;font-size:var(--length-14);font-weight:600}.pattern-outcome figcaption>strong{margin:var(--space-3) 0 var(--space-4);font-family:Fraunces Variable,serif;font-size:var(--length-22);line-height:var(--length-28);text-align:center;display:block}.start:not(.returning) .intro h1{font-family:Fraunces Variable,serif}@media (width>=43.75rem){.start:not(.returning) .intro h1{font-size:var(--control-height);line-height:var(--length-52)}}.projects.project-list-view .project-card{min-height:var(--field-min);padding:var(--space-2) var(--space-4)}.pattern-journey li>div{color:var(--ink-2)}@media (width<=43.6875rem){.start:not(.returning) .intro{gap:var(--space-4);display:grid}.start:not(.returning) .intro>div:first-child{display:contents}.start:not(.returning) .intro h1{order:1;margin:0}.start:not(.returning) .intro .upload{padding:var(--space-4);order:2}.start:not(.returning) .intro>div:first-child>p{order:3;margin:0}.start:not(.returning) .home-import-actions{order:4}}.start .project-list-view .project-open{min-height:var(--field-min);padding:var(--space-2) var(--control-height) var(--space-2) var(--space-2)}.start .project-list-view .project-preview{padding:var(--space-1)}.start .project-list-view .saved-layout-preview{height:var(--control-large)}.start .project-list-view .saved-surface-caption{font:var(--type-meta)}.start .project-list-view .project-open h2{font:var(--type-label)}.start .project-list-view .project-open p{font:var(--type-meta)}.library-controls.ui-toolbar{padding:var(--space-2);background:var(--surface-2);border-radius:var(--r-sm);justify-content:space-between}.input-import h1{color:var(--ink);font:var(--type-title-phone)}.utility-header{justify-items:start;gap:var(--space-4);margin-bottom:var(--space-6);display:grid}.utility-header h1{margin:0}.utility-footer .utility-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:max-content;max-width:100%;margin:0;display:grid}.app .utility-footer .utility-tabs .ui-button{padding-inline:var(--space-3);white-space:nowrap;min-height:var(--control-height);box-shadow:none;background:0 0;border-color:#0000}.app .utility-tabs .ui-button[aria-current=page]:not(:disabled),.app .utility-tabs .ui-button[aria-current=page]:hover:not(:disabled),.app .utility-tabs .ui-button[aria-current=page]:active:not(:disabled){background:var(--select-soft);color:var(--select);border-color:#0000}.utility-screen>.utility-header+section{border-top:0;padding-top:0}.utility-footer{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.journey-animation{flex-direction:column;flex:1;width:100%;display:flex}.screen-content[data-screen=start]:has(>.landing-screen:not(.has-preparation)){flex-direction:column;display:flex}.landing-screen:not(.has-preparation){flex-direction:column;flex:1;display:flex}.landing-screen:not(.has-preparation)>.intro{flex:1;grid-template-rows:auto minmax(0,1fr)}.landing-screen:not(.has-preparation) .upload:has(.journey-animation){flex:1;align-self:stretch}@media (width>=43.75rem){.journey-stage{min-height:360px}}.journey-stage{border-radius:var(--r-sm);background:var(--surface-2);flex:1;min-height:240px;position:relative;overflow:hidden}.journey-stage>svg{width:100%;height:100%;position:absolute;inset:0}.journey-world,.journey-move{transform-box:view-box;transform-origin:0 0;transition:transform .9s cubic-bezier(.32,.72,0,1)}.journey-world :is(rect,path){vector-effect:non-scaling-stroke}.journey-scene{opacity:0;transition:opacity .4s}.journey-scene.on{opacity:1;transition-delay:.25s}.journey-page,.journey-poster{fill:var(--paper);stroke:var(--line-strong)}.journey-seams{fill:none;stroke:var(--line-strong);stroke-dasharray:4 3}.journey-page-fold{fill:var(--surface-2);stroke:var(--line-strong)}.journey-dropzone{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 5}.journey-scene.on .journey-file{animation:.8s cubic-bezier(.32,.72,0,1) .3s both journey-drop}@keyframes journey-drop{0%{opacity:0;transform:translateY(-420px)rotate(-6deg)}}.journey-badge{fill:var(--accent)}.pattern-outcome .journey-badge-text{fill:var(--paper);font-size:48px;font-weight:700}.journey-check{fill:none;stroke:var(--piece-stroke)}.journey-fabric{fill:var(--fabric)}.journey-selvage{fill:none;stroke:var(--ink-3);stroke-dasharray:4 4;opacity:.6}.journey-fabric-spare{opacity:.35}.journey-piece-copy{opacity:0;transition:transform .9s cubic-bezier(.32,.72,0,1),opacity .4s}.journey-piece-copy.on{opacity:1}.journey-piece{fill:var(--paper);stroke:var(--piece-stroke);stroke-linejoin:round;transition:fill .4s}.journey-animation[data-step="2"] .journey-piece{fill:#0000}.pattern-outcome .journey-number{fill:var(--ink-2);pointer-events:none;font-size:60px;font-weight:600}.journey-trace{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;fill-opacity:0;animation:1.2s ease-in-out forwards journey-trace}@keyframes journey-trace{70%{stroke-dashoffset:0;fill-opacity:0}to{stroke-dashoffset:0;fill-opacity:1}}.pattern-outcome .journey-caption{top:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-xs);background:var(--surface);color:var(--ink);font-size:var(--length-13);font-weight:600;line-height:var(--length-18);font-variant-numeric:tabular-nums;margin:0;position:absolute}.journey-animation .pattern-journey{gap:var(--space-2);margin:var(--space-3) 0 0;grid-template-columns:repeat(4,minmax(0,1fr))}.journey-animation .pattern-journey li{display:block}.journey-animation .pattern-journey button{gap:var(--space-1);width:100%;padding:0 0 var(--space-1);color:var(--ink-2);font:inherit;cursor:pointer;justify-items:center;display:grid}.journey-animation .pattern-journey [aria-current] button{color:var(--ink)}.journey-progress{width:100%;height:8px;margin-bottom:var(--space-2);background:var(--surface-2);border-radius:4px;display:block;overflow:hidden}.journey-progress>span{background:var(--accent);transform-origin:0;height:100%;display:block}.journey-progress>.running{animation:linear both journey-progress}@keyframes journey-progress{0%{transform:scaleX(0)}}.journey-animation .journey-detail{display:none}@media (width<=43.6875rem){.journey-animation .pattern-journey span:not(.journey-progress,.journey-progress>span){display:none}.journey-animation .journey-detail{margin:var(--space-1) 0 0;color:var(--ink-2);font-size:var(--length-13);display:block}}@media (prefers-reduced-motion:reduce){.journey-world,.journey-move,.journey-piece-copy,.journey-scene{transition:none}}.landing-screen .intro .upload:has(.journey-animation){padding:var(--space-3)}.app .journey-animation .pattern-journey li>button{grid-template-columns:minmax(0,1fr);padding-inline:0}.journey-animation .pattern-journey .journey-progress{justify-self:stretch}.journey-animation ol.pattern-journey{column-gap:6px}.canvas-panel.canvas-workspace{--canvas-print-ink:var(--piece-stroke);--canvas-selection:var(--select);--canvas-grain:var(--ink-2);--canvas-danger:var(--danger);padding:0}[data-theme=dark] .canvas-workspace{--fabric:#5a4e3e;--canvas-selection:var(--select);--canvas-grain:var(--ink-2);--canvas-danger:var(--danger)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .canvas-workspace{--fabric:#5a4e3e;--canvas-selection:var(--select);--canvas-grain:var(--ink-2);--canvas-danger:var(--danger)}}.canvas-workspace .piece-shape,.canvas-workspace .piece-shape.issue{stroke:var(--canvas-print-ink);color:var(--canvas-print-ink)}.fabric-workspace .piece-shape{stroke:var(--ink);color:var(--ink)}.canvas-workspace .selection-outline{stroke:var(--canvas-selection)}.canvas-workspace .grain-arrow{stroke:var(--canvas-grain);stroke-width:var(--focus-width);vector-effect:non-scaling-stroke}.canvas-workspace .print-ink{color:var(--canvas-print-ink);fill:var(--canvas-print-ink)}.canvas-workspace .piece-shape:focus-visible>path:first-child{stroke:var(--canvas-selection)}.canvas-labels,.canvas-issue-overlay,.canvas-guides{pointer-events:none}.canvas-labels{position:absolute;inset:0;overflow:hidden}.canvas-guides{opacity:0;transition:opacity 80ms linear}.canvas-guides.visible{opacity:1}.canvas-guides path{fill:none;stroke:var(--canvas-selection);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:4 3}.canvas-guides text{fill:var(--palette-1c211e);stroke:var(--surface);stroke-width:3px;paint-order:stroke;vector-effect:non-scaling-stroke}.canvas-workspace .scale-bar{display:flex}@keyframes canvas-selection-reveal{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.canvas-guides{transition:none}}.canvas-workspace .scale-bar{max-width:calc(100% - var(--canvas-right) - var(--length-188))}.canvas-workspace .scale-bar small{display:none}.repair-ghost{pointer-events:none}.canvas-workspace .camera-fit{right:var(--space-4);bottom:var(--space-4);height:var(--length-40);min-height:var(--length-40);padding:var(--space-2) var(--space-3);z-index:2;position:absolute}.canvas-workspace .sheet-pager{top:var(--space-2);left:var(--space-4);align-items:center;gap:var(--space-2);height:var(--space-8);background:var(--surface);border-radius:var(--space-4);z-index:2;font-size:var(--space-3);display:flex;position:absolute}.sheet-pager button{width:var(--control-small);height:var(--space-8);min-height:var(--space-8);padding:var(--space-1);background:0 0;border:0}.canvas-workspace .scale-bar{left:var(--space-4);bottom:var(--space-4);height:var(--space-6);font-size:var(--space-3);pointer-events:none;padding:0}.selvage-labels{pointer-events:none}.selvage-labels span{writing-mode:vertical-rl;font-size:var(--space-3);line-height:var(--space-4);position:absolute;top:50%}.camera-scale{right:var(--length-96);bottom:var(--icon-size);font-size:var(--space-3);line-height:var(--space-4);color:var(--surface);position:absolute}@media (width<=43.6875rem){.camera-scale{display:none}}.canvas-panel.canvas-workspace,[data-theme=dark] .canvas-workspace{--canvas-selection:var(--select);--canvas-proposal:var(--select)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .canvas-workspace{--canvas-selection:var(--select);--canvas-proposal:var(--select)}}.canvas-workspace .piece-shape.selected{fill:var(--select-soft)}.repair-drawing,.media-outline{pointer-events:none}.repair-drawing text,.media-outline text{fill:var(--palette-1c211e);stroke:var(--surface);stroke-width:var(--space-1);paint-order:stroke;stroke-linejoin:round;vector-effect:non-scaling-stroke}.canvas-workspace .camera-scale,.canvas-workspace .scale-bar{color:var(--ink);background:var(--surface);border-radius:var(--r-xs);padding:var(--space-1) var(--space-2);height:auto}.canvas-workspace .piece-shape:focus-visible>path:first-child{stroke-width:var(--focus-width);vector-effect:non-scaling-stroke;stroke-dasharray:4 3}.annotation-leaders{pointer-events:none;position:absolute;inset:0}.annotation-leaders path{fill:none;stroke:var(--ink-2);stroke-width:1px}.canvas-gesture-hint{bottom:var(--length-64);left:var(--space-4);align-items:center;gap:var(--space-2);border:var(--border-width) solid var(--line);color:var(--ink);background:var(--surface);z-index:2;display:flex;position:absolute}.canvas-gesture-hint p{font-size:var(--length-13);line-height:var(--length-18);margin:0}.canvas-gesture-hint button{min-width:var(--control-small);min-height:var(--control-small);padding:var(--space-2);background:0 0;border:0}.canvas-workspace,[data-theme=dark] .canvas-workspace{--canvas-proposal:var(--select)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .canvas-workspace{--canvas-proposal:var(--select)}}.selvage-labels span{color:var(--surface);background:0 0;padding:0}.canvas-workspace .sheet-pager button{width:var(--control-small);min-height:var(--control-small)}.canvas-gesture-hint{max-width:calc(100% - var(--space-8));padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--length-6)}.canvas-gesture-hint p{font:var(--type-meta)}.canvas-workspace .piece-shape:focus-visible{outline:none}.canvas-workspace .piece-shape:focus-visible>path{stroke:var(--canvas-selection)}.canvas-workspace .piece-shape .piece-contrast-halo{stroke:var(--paper);opacity:.65}.repair-drawing text{stroke-width:var(--border-width);font-weight:560}.canvas-labels .narrow-cluster{pointer-events:auto}.canvas-selection-toolbar{gap:8px;max-width:min(440px,100% - 32px);display:grid}.canvas-selection-actions{flex-wrap:wrap;gap:8px;display:flex}.canvas-selection-hint{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);font:var(--type-meta);overflow-wrap:anywhere;padding:8px 12px}.canvas-workspace .canvas-camera-controls{border:1px solid var(--line);background:var(--surface);max-width:calc(100% - 32px);box-shadow:var(--e1);z-index:4;border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;bottom:16px;right:16px}.canvas-camera-controls .camera-scale,.canvas-workspace .canvas-camera-controls .camera-fit,.canvas-workspace .canvas-camera-controls .camera-framing-menu{margin:0;position:static}.canvas-workspace .canvas-camera-controls .camera-fit,.canvas-workspace .canvas-camera-controls .camera-framing-menu>summary{height:44px;min-height:44px;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:8px 12px}.canvas-workspace .canvas-camera-controls .camera-framing-menu>summary{gap:10px}.canvas-workspace .canvas-camera-controls .camera-fit:hover,.canvas-workspace .canvas-camera-controls .camera-framing-menu>summary:hover{background:var(--surface-2)}.canvas-camera-controls .camera-scale{background:var(--surface-2);min-width:52px;height:44px;color:var(--ink-2);font:var(--type-meta);border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.canvas-camera-controls .camera-framing-menu>div{border:1px solid var(--line);background:var(--surface);width:220px;max-width:calc(100vw - 64px);box-shadow:var(--e2);border-radius:12px;gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0}.app .canvas-camera-controls .camera-framing-menu>div .ui-button{color:var(--ink);background:0 0;border:0;justify-content:flex-start}.app .canvas-camera-controls .camera-framing-menu>div .ui-button:hover:not(:disabled){background:var(--surface-2)}.app .canvas-camera-controls .camera-framing-menu>div .ui-button:disabled{color:var(--ink-2)}@media (width<=480px){.canvas-camera-controls .camera-scale{display:none}.canvas-workspace .scale-bar{bottom:80px}.canvas-selection-toolbar{--canvas-selection-lift:64px}}.canvas-camera-controls .camera-framing-menu .camera-zoom-controls{justify-content:space-between;align-items:center;gap:8px;display:flex}.camera-zoom-controls output{font:var(--type-meta);color:var(--ink)}.app .canvas-action.ui-button{height:var(--control-small);min-height:var(--control-small);min-width:var(--control-small);border-radius:var(--r-sm);padding:0 12px}.app .canvas-camera-controls .canvas-action.ui-button{width:var(--control-small);background:0 0;border:0;flex:none;padding:0}.canvas-piece-rail-panel{z-index:6;width:56px;padding:calc(var(--stage-gap,12px) + 48px) 6px 6px;border-right:1px solid var(--line);background:var(--surface);scrollbar-width:none;transition:transform .26s var(--sheet-ease,ease);flex-direction:column;gap:4px;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto}.canvas-workspace[data-piece-rail=closed] .canvas-piece-rail-panel{transform:translate(-100%)}.app .canvas-workspace .canvas-piece-rail-tab.ui-button{z-index:7;top:var(--stage-gap,12px);border:1px solid var(--select);background:var(--select-soft);width:44px;height:112px;min-height:112px;color:var(--select);border-left:0;border-radius:0 14px 14px 0;flex-direction:column;gap:10px;padding:10px 0;position:absolute;left:0;box-shadow:6px 0 18px #0000001a}.app .canvas-workspace .canvas-piece-rail-tab>span{writing-mode:vertical-rl;font:var(--type-meta);font-weight:600;transform:rotate(180deg)}.app .canvas-workspace[data-piece-rail=open] .canvas-piece-rail-tab.ui-button{top:var(--stage-gap,12px);border:1px solid var(--select);border-radius:var(--r-sm,10px);height:44px;min-height:44px;box-shadow:none;padding:0;left:6px}.layout-stage .canvas-workspace[data-piece-rail=closed] .canvas-camera-controls{left:calc(44px + var(--stage-gap))}.layout-stage .canvas-workspace[data-piece-rail=open] .canvas-camera-controls{left:calc(56px + var(--stage-gap))}@media (prefers-reduced-motion:reduce){.canvas-piece-rail-panel,.app .canvas-workspace .canvas-piece-rail-tab.ui-button{transition:none}}.canvas-piece-key{gap:4px;display:grid}.canvas-piece-key+.canvas-piece-key{border-top:1px solid var(--line);padding-top:4px}.app .canvas-piece-key .ui-button{width:44px;min-width:0;height:44px;min-height:44px;font:var(--type-meta);background:var(--surface);justify-content:center;padding:0}.canvas-piece-number{color:var(--select);font-weight:600}.print-check-option{cursor:pointer;align-items:center;gap:10px;min-height:44px;margin-block:12px;display:flex}@media (width<=420px){.canvas-camera-controls .camera-scale{display:none}}.canvas-camera-controls .camera-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app .canvas-rotation-handle.ui-button{z-index:5;border-color:var(--ink);background:var(--surface);touch-action:none;cursor:grab;border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;position:absolute}.app .stage-quick-actions .canvas-action.ui-button{border-radius:12px;height:54px;min-height:54px}.layout-stage .canvas-workspace .canvas-camera-controls{box-sizing:border-box;height:54px;padding-block:4px}.input-preview{--preview-height:400px;--preview-inset:32px;min-width:0;position:relative}.input-source-caption{color:var(--ink-2);font:var(--type-meta);overflow-wrap:anywhere;margin:8px 0}.input-preview-tools,.measurement-step{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.measurement-step{justify-content:space-between}.input-preview .source-preview{height:var(--preview-height);overscroll-behavior:contain;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;max-height:none;margin:0;padding:16px;overflow:auto}.input-preview .source-page{min-width:0;margin:auto;position:relative}.source-page canvas,.source-page .joined-source{width:100%;height:auto;display:block}.source-page canvas[hidden]{display:none}.source-page>svg:not(.joined-source){touch-action:manipulation;width:100%;height:100%;position:absolute;inset:0}.input-preview .source-outline,.input-preview .selected-source-outline{stroke:var(--select);stroke-width:2px;fill:#0000;cursor:pointer}.input-preview .selected-source-outline{fill:var(--select-soft);stroke-width:3px}.input-preview svg g:focus path{stroke-width:4px;stroke:var(--ink)}.measurement-endpoint.ui-button{width:44px;min-width:44px;height:44px;color:var(--select);touch-action:none;z-index:2;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-50%)}.measurement-endpoint>span{place-items:center;width:100%;height:100%;display:grid;position:relative}.measurement-endpoint b{background:var(--select);width:20px;color:var(--surface);border-radius:50%;font-size:12px;line-height:20px;position:absolute;top:-4px;right:-4px}.measurement-endpoint:last-child b{top:auto;bottom:-4px}.input-loupe{pointer-events:none;border:2px solid var(--select);width:88px;height:88px;box-shadow:var(--e1);border-radius:50%;position:absolute;top:112px;right:12px;overflow:hidden}.input-loupe canvas{width:100%;height:100%}.input-loupe span{color:var(--select);place-items:center;display:grid;position:absolute;inset:0}.calibration-controls{border-top:1px solid var(--line);gap:16px;padding-top:16px;display:grid}.calibration-controls>p{margin:0}.scale-consequence,.measurement-instructions{font:var(--type-meta)}.scale-consequence dl{gap:8px;display:grid}.scale-consequence dt{color:var(--ink-2)}.scale-consequence dd{margin:0}.calibration-notice{color:var(--ink-2);margin:0 0 16px}.assembly-settings{min-width:0}.assembly-settings details{margin-bottom:16px}.assembly-grid-scroll{max-height:400px;margin:12px 0;padding:4px;overflow:auto}.assembly-page-grid{display:grid}.assembly-tile{background:var(--paper);min-width:0;color:var(--ink);border:1px solid var(--line);border-radius:0;padding:0;position:relative}.assembly-tile svg{width:100%;display:block}.assembly-tile span{background:var(--surface);border-radius:6px;padding:4px 8px;position:absolute;top:4px;left:4px}.assembly-tile[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--select)}.tile-trim-boundary{fill:none;stroke:var(--select);stroke-width:2px;stroke-dasharray:5 3}.joined-proof svg{background:var(--paper);width:100%;height:400px;color:var(--palette-1c211e);margin:16px 0;display:block}.joined-seams path{stroke:var(--select);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;fill:none}.assembly-confirm-summary{flex:1;gap:4px;margin:0;display:grid}.assembly-confirm-summary span{color:var(--ink-2);font:var(--type-meta)}.input-flow-footer{margin-top:24px}.source-proof-loading{background:var(--surface);color:var(--ink-2);place-items:center;gap:16px;padding:24px;display:grid}.proof-skeleton{border:1px solid var(--line);gap:16px;width:100%;padding:24px;display:grid}.proof-skeleton span{background:var(--surface-2);border-radius:4px;height:12px}.proof-skeleton span:nth-child(2){width:70%}.input-review .unsupported{max-width:600px;margin:24px auto;padding:16px}.unsupported-diagnosis{border-radius:var(--r-sm);color:var(--warning-ink);background:var(--warning-soft);padding:12px}@media (width<=599px){.input-preview{--preview-height:320px}.joined-proof svg{height:320px}.input-loupe{width:64px;height:64px}.joined-proof .actions{flex-wrap:wrap}}.home-design{--hd-ink:var(--ink);--hd-muted:var(--ink-2);--hd-paper:var(--bg);--hd-line:var(--line);--hd-accent:var(--select);background:var(--hd-paper);color:var(--hd-ink);font-family:var(--font-body);min-height:100dvh;color-scheme:inherit}.home-design *{box-sizing:border-box}.home-design button,.home-design a{font:inherit;color:inherit}.home-design button{cursor:pointer}.home-design button:disabled{opacity:.55;cursor:wait}.home-design button:focus-visible,.home-design a:focus-visible{outline:3px solid var(--hd-accent);outline-offset:4px}.home-design button{background:0 0;border:0}.home-design h1,.home-design h2,.home-design h3,.home-design p{margin:0}.hd-comparison{background:var(--surface-2);border-bottom:1px solid var(--hd-line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px;font-size:12px;display:flex}.hd-comparison>span{font-weight:600}.hd-comparison>div{flex-wrap:wrap;gap:4px;display:flex}.hd-comparison button{border-radius:6px;padding:9px 12px}.home-design .hd-comparison button[aria-pressed=true]{background:var(--hd-ink);color:var(--hd-paper)}.hd-comparison>a{margin-left:auto}.hd-product{max-width:1440px;margin:auto}.hd-header{border-bottom:1px solid var(--hd-line);justify-content:space-between;align-items:center;gap:24px;padding:24px 6%;display:flex}.hd-brand{align-items:center;gap:12px;padding:4px 0;display:flex;font-size:23px!important;font-weight:600!important}.hd-menu-wrap{position:relative}.hd-menu-toggle{border-radius:8px;align-items:center;gap:14px;padding:12px 18px;display:flex;border:1px solid var(--hd-line)!important}.hd-menu{z-index:20;background:var(--hd-paper);border:1px solid var(--hd-line);border-radius:12px;width:220px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 35px #40362815}.hd-menu button{text-align:left;border-radius:6px;padding:14px}.hd-menu button:hover{background:var(--surface-2)}.hd-top-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hd-top-nav button{border-radius:6px;padding:12px 16px}.hd-top-nav button[aria-current=page]{background:var(--surface-2)}.hd-main{padding:0 6%}.hd-hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:7%;padding:64px 0 60px;display:grid}.home-design .hd-hero h1{font-family:var(--font-heading);letter-spacing:-.035em;white-space:pre-line;font-size:clamp(40px,4.5vw,64px);font-weight:450;line-height:1.08}.hd-hero-copy>p{max-width:400px;color:var(--hd-muted);margin-top:22px;font-size:16px;line-height:1.7}.hd-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.hd-actions button{border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 20px;font-size:14px;font-weight:550;display:flex}.hd-actions .hd-primary{background:var(--primary);color:var(--on-primary)}.hd-actions .hd-secondary{border:1px solid var(--hd-line)}.hd-local{color:var(--hd-muted);align-items:center;gap:7px;margin-top:20px;font-size:12px;display:flex}.hd-pattern-stage{background:var(--surface-2);border-radius:16px;padding:38px 26px 20px}.hd-pattern-sheet{background:var(--surface);padding:20px;transform:rotate(-4deg);box-shadow:0 10px 25px #40362815}.hd-pattern-sheet img{object-fit:contain;width:100%;height:210px;display:block}.hd-pattern-caption{justify-content:space-between;gap:12px;margin-top:28px;font-size:12px;display:flex}.hd-library{padding:0 0 44px}.hd-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;display:flex}.home-design .hd-section-heading h2{font-family:var(--font-heading);font-size:27px;font-weight:500}.hd-text-button{align-items:center;gap:10px;padding:10px 0;display:flex;font-size:13px!important}.hd-projects{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;display:grid}.hd-project{text-align:left;border-radius:12px;align-items:center;gap:18px;min-width:0;display:flex;border:1px solid var(--hd-line)!important;background:var(--surface)!important;padding:18px!important}.hd-project>div:nth-child(2){flex:1;min-width:0}.home-design .hd-project h3{overflow-wrap:anywhere;font-size:16px;font-weight:550}.hd-project p{color:var(--hd-muted);margin-top:8px;font-size:12px;line-height:1.5}.hd-project>svg{flex-shrink:0}.hd-project-image{background:var(--surface-2);border-radius:8px;flex-shrink:0;place-items:center;width:100px;height:100px;padding:8px;display:grid;overflow:hidden}.hd-project-image img,.hd-project-image svg{object-fit:contain;width:100%;height:100%}.hd-sample-label{color:var(--hd-accent);margin-bottom:7px;font-size:11px;display:block}.hd-process{border-top:1px solid var(--hd-line);grid-template-columns:repeat(3,1fr);gap:24px;padding:30px 0;display:grid}.hd-process>div{align-items:center;gap:14px;display:flex}.hd-process span{font-family:var(--font-heading);color:var(--hd-accent);font-size:24px}.hd-process strong{font-size:13px;font-weight:500}.hd-footer{border-top:1px solid var(--hd-line);color:var(--hd-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 6%;padding:28px 0;font-size:12px;display:flex}.hd-footer nav{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.hd-footer a{text-decoration:none}.hd-footer button{padding:0}.hd-library .hd-actions{margin:0 0 24px}.hd-library .hd-actions+.hd-projects{margin-top:20px}.hd-library .hd-section-heading{padding-top:4px}.home-design.hd-library .hd-hero{gap:8%;padding:40px 0}.home-design.hd-library .hd-hero h1{font-size:clamp(36px,3.6vw,50px)}.home-design.hd-library .hd-pattern-stage{background:var(--select-soft);padding:20px}.home-design.hd-library .hd-pattern-sheet img{height:140px}.home-design.hd-library .hd-pattern-caption{margin-top:18px}.home-design.hd-library .hd-projects{grid-template-columns:1fr}.home-design.hd-library .hd-project{border-radius:0;border:0!important;border-bottom:1px solid var(--hd-line)!important;background:0 0!important;padding:20px 0!important}.hd-header-note{color:var(--hd-muted);font-size:12px}.hd-dock .hd-hero{padding:50px 0 40px}.hd-dock .hd-pattern-stage{background:var(--select-soft);border-radius:45% 45% 12px 12px;padding-top:60px}.hd-bottom-nav{z-index:var(--z-popover);border-top:1px solid var(--hd-line);border-bottom:1px solid var(--hd-line);background:var(--surface-2);flex-wrap:wrap;justify-content:center;gap:8px;padding:14px 6%;display:flex;position:fixed;bottom:0;left:0;right:0}.hd-bottom-nav button{border-radius:8px;padding:14px 24px}.hd-bottom-nav button[aria-current=page]{background:var(--hd-ink);color:var(--hd-paper)}.hd-dock .hd-footer{border-top:0}.home-design.hd-dock{padding-bottom:80px}.hd-variant-select{display:none}@media (width<=700px){.home-design .hd-variant-select{align-items:center;gap:10px;width:100%;display:flex}.home-design .hd-variant-select select{border:1px solid var(--hd-line);background:var(--hd-paper);min-width:0;color:var(--hd-ink);font:inherit;border-radius:6px;flex:1;padding:10px}.hd-header{flex-wrap:wrap;gap:16px;padding:20px}.hd-main{padding:0 20px}.hd-top-nav{flex-basis:100%;justify-content:space-between;gap:0}.hd-top-nav button{padding:12px 8px;font-size:13px}.hd-hero,.hd-library .hd-hero,.hd-dock .hd-hero{grid-template-columns:1fr;gap:34px;padding:36px 0}.home-design .hd-hero h1{font-size:43px}.hd-pattern-stage{padding:26px 24px 18px}.hd-pattern-sheet img{height:165px}.hd-section-heading h2{font-size:24px}.hd-project{gap:12px;padding:14px!important}.hd-project-image{width:72px;height:80px}.hd-process{grid-template-columns:1fr;gap:18px}.hd-footer{margin:0 20px}.hd-comparison{gap:8px;padding:12px}.hd-comparison>div{display:none}.hd-comparison button{padding:10px 8px;font-size:11px}.hd-comparison>a{margin:4px 0 0}.hd-bottom-nav{justify-content:space-around;gap:0;padding:10px}.hd-bottom-nav button{padding:14px 10px;font-size:13px}}.home-design .hd-actions .hd-primary:hover:not(:disabled){background:var(--primary-hover)}.home-design .hd-actions .hd-primary:active:not(:disabled){background:var(--primary-active)}.piece-edit-button{border-radius:var(--r-md);color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:1px solid #0000;margin:0;padding:4px 8px 4px 4px}.piece-edit-button:hover{background:var(--surface-2)}.piece-edit-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.piece-edit-text{gap:4px;min-width:0;display:grid}.piece-edit-text strong{overflow-wrap:anywhere}.piece-edit-text>span{color:var(--ink-2)}.piece-edit-chevron{color:var(--ink-3);margin-left:auto;font-size:1.5rem;line-height:1}.piece-sheet-layer{z-index:1000;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.piece-sheet-backdrop{background:#14120c73;position:absolute;inset:0}.piece-sheet{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;width:min(960px,100%);max-height:min(92dvh,860px);box-shadow:var(--e2);color:var(--ink);will-change:transform;border-bottom:0;flex-direction:column;padding:8px 64px 24px;display:flex;position:relative}.piece-sheet:focus{outline:none}.piece-sheet-grabber{cursor:grab;touch-action:none;background:0 0;border:0;flex:none;align-self:center;width:80px;height:44px;min-height:44px;padding:0}.piece-sheet-grabber:before{content:"";background:var(--line-strong);border-radius:2px;width:40px;height:4px;margin:auto;display:block}.piece-sheet-grabber:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}.piece-sheet-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.piece-sheet-count{color:var(--ink-2);font:var(--type-meta);margin:0}.piece-sheet-close.ui-button{min-width:44px;min-height:44px;margin-right:-48px;padding:0}.piece-sheet-nav.ui-button{z-index:1;border-radius:var(--r-md);width:44px;min-width:44px;height:64px;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.piece-sheet-prev.ui-button{left:10px}.piece-sheet-next.ui-button{right:10px}.piece-sheet-body{overscroll-behavior:contain;scrollbar-width:none;gap:16px;min-height:0;display:grid;overflow:auto}.piece-sheet-name{margin:0}.piece-sheet-name input{width:100%;font:var(--type-title)}.piece-sheet-content{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.piece-sheet-preview{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);cursor:zoom-in;max-height:52dvh;padding:12px;position:relative}.piece-sheet-preview [data-testid=grain-arrow-editor]{display:block}.piece-sheet-source-button{border:1px solid var(--line);background:var(--bg);min-height:36px;color:var(--ink);font:var(--type-label);cursor:pointer;border-radius:999px;padding:6px 12px;position:absolute;bottom:8px;right:8px}.piece-sheet-source-button:hover{border-color:var(--select);color:var(--select)}.piece-sheet-source-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.piece-sheet-controls{gap:20px;display:grid}.piece-sheet-controls section{gap:10px;display:grid}.piece-sheet-controls h3{font:var(--type-label);color:var(--ink-2);margin:0}.piece-sheet-controls .grain-local-actions{gap:12px;display:grid}.grain-direction-group .ui-button{white-space:normal;flex:1 1 0;min-width:0;min-height:44px;line-height:1.15}.grain-rotate-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.grain-rotate-row>.ui-button,.grain-rotate-row input{box-sizing:border-box;height:44px;min-height:44px}.grain-rotate-row .field{margin:0}.grain-rotate-row .grain-angle-field input{width:5.5em}.grain-rotate-row .piece-allowance-override input{width:8em}.piece-sheet-pattern-allowance{border-radius:var(--r-md);background:var(--select-soft);color:var(--ink);margin:0;padding:10px 12px}.piece-sheet-size{color:var(--ink-2);font:var(--type-meta);margin:0}.source-fullscreen{z-index:1100;background:var(--bg);color:var(--ink);flex-direction:column;display:flex;position:fixed;inset:0}.source-fullscreen:focus{outline:none}.source-fullscreen-bar{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:12px 16px;display:flex}.source-fullscreen-bar .ui-button{min-height:44px}.source-fullscreen-bar strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-fullscreen-body{flex:1;min-height:0;padding:12px 16px 16px}.source-fullscreen-body .input-preview{--preview-height:calc(100dvh - 190px);max-width:none}.source-fullscreen-body .input-preview g:has(>.source-outline){display:none}.source-fullscreen-body .input-preview .selected-source-outline{fill:var(--select-soft);stroke:var(--select);stroke-width:3px;cursor:default}@media (width<=720px){.piece-sheet{max-height:94dvh;padding:8px 52px 16px}.piece-sheet-prev.ui-button{left:4px}.piece-sheet-next.ui-button{right:4px}.piece-sheet-close.ui-button{margin-right:-44px}.piece-sheet-content{grid-template-columns:minmax(0,1fr);gap:16px}.piece-sheet-preview{aspect-ratio:4/3;max-height:36dvh}.grain-direction-group .ui-button{padding-inline:4px}.piece-sheet-body{overflow-x:hidden}.source-fullscreen-body{padding:8px}.source-fullscreen-body .input-preview{--preview-height:calc(100dvh - 160px)}}.grain-source{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.grain-source p{color:var(--ink-2);font:var(--type-meta);margin:0}.grain-source[data-default=true][data-source=pattern] p{color:var(--ink)}.piece-sheet-body::-webkit-scrollbar{display:none}.piece-sheet .grain-direction-group{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.piece-sheet .grain-direction-group .ui-button{white-space:normal;min-width:0}.ui-segmented>.ui-button.ui-button:not([aria-pressed=true]):hover:not(:disabled){background:color-mix(in srgb, var(--ink) 6%, transparent);border-color:#0000}@media (width<=479px){.grain-rotate-row{gap:8px}.grain-rotate-row>.ui-button{width:44px;padding:0}.grain-rotate-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grain-rotate-row .grain-angle-field input{width:4.5em}}.size-preparation-heading p{color:var(--ink-2);margin:4px 0 0}.size-choice{gap:12px;margin-top:12px;display:grid}.size-choice-instruction{margin:0;font-weight:600}.size-choice-preview{border:1px solid var(--line);background:var(--surface-2,var(--surface));border-radius:12px;gap:6px;padding:12px;display:grid}.size-choice-preview svg{touch-action:manipulation;width:100%;height:min(40vh,380px);display:block}.size-choice-outline{fill:none;stroke-linejoin:round;stroke:var(--ink-2);stroke-width:1.25px;stroke-opacity:.6;transition:stroke-opacity .12s,stroke-width .12s}.size-choice-outline.is-highlighted{stroke:var(--ink);stroke-opacity:.85;stroke-width:2.5px}.size-choice-outline.is-selected{stroke:var(--select);stroke-opacity:1;stroke-width:3.5px}.size-choice-fill{fill:var(--select-soft);stroke:none}.size-choice-caption{min-height:1.5em;color:var(--ink-2);font-variant-numeric:tabular-nums;margin:0}.size-choice-chips{flex-wrap:wrap;gap:8px;display:flex}.size-choice .size-choice-chip{border:1px solid var(--line-strong,var(--line));background:var(--surface);min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:8px 14px;display:grid}.size-choice-chip:hover{border-color:var(--ink-2)}.size-choice-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.size-choice .size-choice-chip.is-selected{border-color:var(--select);box-shadow:inset 0 0 0 1px var(--select);background:var(--select-soft)}.size-choice-swatch{border:2px solid var(--ink-2);border-radius:50%;grid-row:span 2;width:14px;height:14px}.size-choice-chip.is-selected .size-choice-swatch{border-color:var(--select);background:radial-gradient(circle, var(--select) 0 45%, transparent 50%)}.size-choice-name{font-weight:700}.size-choice-size{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.875em}.size-preparation-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.size-preparation-note{color:var(--ink-2);margin:0}@media (prefers-reduced-motion:reduce){.size-choice-outline{transition:none}}.outline-examples figcaption{justify-content:space-around;gap:1rem;display:flex}.outline-example-label{text-align:center;flex:1}.projector{--bg:#000;--surface:var(--sunny-dark-surface);--surface-2:var(--sunny-dark-subtle);--line:var(--sunny-dark-line);--line-strong:#756a57;--ink:var(--sunny-dark-ink);--ink-2:var(--sunny-dark-muted);--ink-3:var(--sunny-dark-muted);--primary:var(--sunny-dark-accent);--on-primary:var(--sunny-dark-on-accent);--primary-hover:var(--sunny-dark-accent-hover);--select:var(--sunny-dark-accent-ink);--select-soft:var(--sunny-dark-accent-soft);--accent:var(--sunny-dark-accent-ink);--accent-soft:var(--sunny-dark-accent-soft);--focus:var(--sunny-dark-focus);z-index:1200;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:var(--type-body);font-family:var(--font-body);background:#000;position:fixed;inset:0;overflow:hidden}.projector:focus{outline:none}.projector :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.projector-surface{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:0}.projector-surface:active{cursor:grabbing}.projector-surface text{font-family:var(--font-body)}.projector .ui-button.ui-button{background:var(--surface);color:var(--ink);border-color:var(--line)}.projector .ui-button.ui-button:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.projector .ui-button.ui-button-primary{background:var(--primary);color:var(--on-primary);border-color:#0000}.projector .ui-button.ui-button-primary:hover:not(:disabled){background:var(--primary-hover);color:var(--on-primary)}.projector .ui-button.ui-button-ghost{color:var(--select);background:0 0}.projector .ui-button.ui-button[aria-pressed=true]{background:var(--select-soft);color:var(--select);border-color:var(--select)}.projector .ui-button.ui-button:disabled{background:var(--surface-2);color:var(--ink-2)}.projector-exit.ui-button,.projector-show-controls.ui-button{z-index:2;top:max(12px, env(safe-area-inset-top));position:absolute}.projector-exit.ui-button{right:max(12px, env(safe-area-inset-right))}.projector-show-controls.ui-button{left:max(12px, env(safe-area-inset-left))}.projector:has(.projector-controls[hidden]) :is(.projector-exit,.projector-show-controls){opacity:.55}.projector:has(.projector-controls[hidden]) :is(.projector-exit,.projector-show-controls):is(:hover,:focus-visible){opacity:1}.projector-controls{z-index:1;align-content:start;gap:var(--space-4);box-sizing:border-box;width:min(340px,100vw - 24px);padding:max(12px, env(safe-area-inset-top)) var(--space-4) var(--space-4) max(var(--space-4), env(safe-area-inset-left));border-right:1px solid var(--line);background:var(--surface);display:grid;position:absolute;top:0;bottom:0;left:0;overflow-y:auto}.projector-controls[hidden]{display:none}.projector-controls-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding-right:0;display:flex}.projector-controls h2,.projector-controls h3{font:var(--type-headline);font-family:var(--font-heading);color:var(--ink);margin:0}.projector-controls h3{font:var(--type-label);font-weight:700}.projector-status{gap:var(--space-2);color:var(--ink-2);font:var(--type-meta);margin:0;padding:0;list-style:none;display:grid}.projector-section{padding-top:var(--space-4);border-top:1px solid var(--line);gap:10px;display:grid}.projector-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.projector .field-hint{color:var(--ink-2);font:var(--type-meta);margin:0}.projector .check-field{color:var(--ink);grid-template-columns:auto 1fr;align-items:center;column-gap:10px;margin-block:0;display:grid}.projector .check-field input{width:20px;height:20px;min-height:0}.projector input[type=number]{min-height:var(--control-small);padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--r-xs,6px);background:var(--sunny-dark-background);color:var(--ink)}.projector-piece-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.projector-nudge{align-items:center;gap:var(--space-2);font:var(--type-label);grid-template-columns:1fr auto auto;display:grid}.projector-measured{gap:var(--space-2);display:grid}.projector-measured .fields{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.projector-keys{padding-top:var(--space-2)}.fabric-projector-actions{flex-wrap:wrap;gap:8px;display:flex}.fabric-projector-actions .ui-button{flex:auto}@media (width<=560px){.projector-controls{padding-top:calc(max(12px, env(safe-area-inset-top)) + 56px)}}.drop-overlay{z-index:200;padding:var(--space-6);background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;animation:drop-fade .16s var(--ease-out,cubic-bezier(.2, 0, 0, 1));place-items:center;display:grid;position:fixed;inset:0}.drop-card{justify-items:center;gap:var(--space-2);width:min(440px,100%);padding:var(--space-8) var(--space-6);border:2px dashed var(--select);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--e2);color:var(--ink);text-align:center;animation:.2s cubic-bezier(.2,0,0,1) drop-card-in;display:grid}.drop-card strong{font:var(--type-headline)}.drop-card>span:last-child{color:var(--ink-2);font:var(--type-label)}.drop-file{width:64px;height:64px;margin-bottom:var(--space-2);background:var(--primary);color:var(--on-primary);border-radius:50%;place-items:center;animation:1.1s cubic-bezier(.4,0,.2,1) infinite drop-file-sink;display:grid}.drop-unsupported .drop-card,.drop-busy .drop-card{border-color:var(--danger)}.drop-unsupported .drop-file,.drop-busy .drop-file{background:var(--surface-2);color:var(--danger);animation:.32s cubic-bezier(.4,0,.2,1) drop-file-refuse}@keyframes drop-fade{0%{opacity:0}}@keyframes drop-card-in{0%{opacity:0;transform:scale(.96)}}@keyframes drop-file-sink{0%{opacity:.4;transform:translateY(-14px)}55%,to{opacity:1;transform:translateY(0)}}@keyframes drop-file-refuse{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.drop-overlay,.drop-card,.drop-file{animation:none}}:root{--length-0:0px;--length-10:10px;--length-100:100px;--length-104:104px;--length-11:11px;--length-110:110px;--length-112:112px;--length-1120:1120px;--length-116:116px;--length-120:120px;--length-1200:1200px;--length-124:124px;--length-1240:1240px;--length-128:128px;--length-13:13px;--length-130:130px;--length-1352:1352px;--length-14:14px;--length-140:140px;--length-1400:1400px;--length-144:144px;--length-148:148px;--length-15:15px;--length-150:150px;--length-160:160px;--length-168:168px;--length-17:17px;--length-170:170px;--length-18:18px;--length-180:180px;--length-188:188px;--length-190:190px;--length-200:200px;--length-21:21px;--length-216:216px;--length-22:22px;--length-220:220px;--length-224:224px;--length-25:25px;--length-250:250px;--length-26:26px;--length-260:260px;--length-28:28px;--length-3:3px;--length-30:30px;--length-320:320px;--length-34:34px;--length-36:36px;--length-38:38px;--length-390:390px;--length-40:40px;--length-400:400px;--length-42:42px;--length-420:420px;--length-440:440px;--length-46:46px;--length-480:480px;--length-5:5px;--length-52:52px;--length-520:520px;--length-55:55px;--length-560:560px;--length-6:6px;--length-60:60px;--length-600:600px;--length-620:620px;--length-64:64px;--length-640:640px;--length-65:65px;--length-680:680px;--length-72:72px;--length-76:76px;--length-760:760px;--length-84:84px;--length-88:88px;--length-96:96px;--length-999:999px;--palette-0009:#0009;--palette-192e25:#192e25;--palette-1c211e:#1c211e;--palette-23624b:#23624b;--palette-2366d1:#2366d1;--palette-2366d112:#2366d112;--palette-2e5a4c:#2e5a4c;--palette-2f7a4d:#2f7a4d;--palette-486b59:#486b59;--palette-647067:#647067;--palette-777:#777;--palette-b42318:#b42318;--palette-b83a1e:#b83a1e;--palette-b83a1e20:#b83a1e20;--palette-b83a1e30:#b83a1e30;--palette-b8d1c3:#b8d1c3;--palette-f5f2eb:#f5f2eb;--palette-f5f5f0:#f5f5f0;--palette-fff:#fff;--palette-fffdf8:#fffdf8;--palette-ffffff12:#ffffff12;font-synthesis:none;font-family:Inter Variable,sans-serif;font-size:var(--space-4);line-height:var(--space-6);--type-hero-phone:560 34px/38px "Fraunces Variable", serif;--type-hero-desktop:560 48px/52px "Fraunces Variable", serif;--type-title-phone:560 24px/30px "Fraunces Variable", serif;--type-title-desktop:560 28px/34px "Fraunces Variable", serif;--type-metric:600 24px/28px "Fraunces Variable", serif;--type-body:400 16px/24px "Inter Variable", sans-serif;--type-label:560 14px/20px "Inter Variable", sans-serif;--type-meta:400 13px/18px "Inter Variable", sans-serif;--panel-padding:20px;--sheet-peek:96px;--sheet-half:52%;--sheet-full:92%;--warning:#87520d;--warning-ink:#87520d;--warning-soft:#faf0dc;--danger-soft:#fce9e5;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f2eb;--surface:#fffdf8;--surface-2:#eee9df;--line:#e2dacb;--ink:#1c211e;--ink-2:#535a55;--ink-3:#626a63;--accent:var(--select);--accent-soft:var(--select-soft);--mat:#2e5a4c;--mat-grid:#3b6b5b;--mat-grid-strong:#4f8270;--paper:#fff;--fabric:#e8dcc8;--piece-fill:#2e5a4c1a;--piece-stroke:#1c211e;--ok:#2f7a4d;--warn:var(--warning);--danger:#b42318;--focus:var(--select);--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-full:999px;--e1:0 1px 2px #1c211e0f;--e2:0 8px 24px calc(var(--length-6) * -1) #1c211e2e;--e3:0 calc(var(--space-3) * -1) 40px #1c211e29;--fast:.12s;--base:.2s;--screen:.28s;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--primary-hover:#343c36;background:var(--bg);color:var(--ink)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111311;--surface:#1a1d1a;--surface-2:#232723;--line:#2e342f;--ink:#ede9e0;--ink-2:#b8bdb6;--ink-3:#979f96;--accent:var(--select);--accent-soft:var(--select-soft);--mat:#14251f;--mat-grid:#1f3830;--mat-grid-strong:#2c4c41;--paper:#e9e5dc;--fabric:#5a4e3e;--ok:#5cc48a;--warning:#f2b654;--warning-ink:#f2b654;--warning-soft:#30271a;--danger-soft:#361f1b;--warn:var(--warning);--danger:#ff6b5e;--focus:var(--select);--primary-hover:#d4d1c9;--e1:0 0 0 1px #ffffff14;--e2:0 0 0 1px #ffffff14;--e3:0 calc(var(--border-width) * -1) 0 #ffffff24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111311;--surface:#1a1d1a;--surface-2:#232723;--line:#2e342f;--ink:#ede9e0;--ink-2:#b8bdb6;--ink-3:#979f96;--accent:var(--select);--accent-soft:var(--select-soft);--mat:#14251f;--mat-grid:#1f3830;--mat-grid-strong:#2c4c41;--paper:#e9e5dc;--fabric:#5a4e3e;--ok:#5cc48a;--warning:#f2b654;--warning-ink:#f2b654;--warning-soft:#30271a;--danger-soft:#361f1b;--warn:var(--warning);--danger:#ff6b5e;--focus:var(--select);--primary-hover:#d4d1c9;--e1:0 0 0 1px #ffffff14;--e2:0 0 0 1px #ffffff14;--e3:0 calc(var(--border-width) * -1) 0 #ffffff24}}*{box-sizing:border-box}body{margin:0}button,input,select,summary{font:inherit}button,input,select{min-height:var(--control-small)}.app button[hidden]{display:none}button{justify-content:center;align-items:center;gap:var(--space-2);border:var(--border-width) solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);padding:var(--length-10) var(--length-14);cursor:pointer;font-size:var(--length-14);font-weight:560;line-height:var(--icon-size);transition:background var(--fast), transform var(--fast);display:inline-flex}button svg{flex-shrink:0}button:hover{background:var(--surface-2);border-color:var(--ink-2)}button:active{transform:scale(.97)}button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}button.primary:hover{background:var(--primary-hover);color:var(--bg);border-color:var(--primary-hover)}button[aria-pressed=true]:not(.primary){background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}button:disabled{opacity:.55;cursor:default;transform:none}input,select{border:var(--border-width) solid var(--ink-2);border-radius:var(--r-xs);width:100%;min-width:0;padding:var(--length-10);background:var(--surface);color:var(--ink);font-size:var(--space-4);font-variant-numeric:tabular-nums}input[type=checkbox]{width:var(--length-22);height:var(--length-22);min-height:var(--length-22);accent-color:var(--accent);flex-shrink:0}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-width)}h1:focus{outline:none}h1,h2,h3,p{margin:0}h1{font-family:Fraunces Variable,serif;font-weight:560;font-size:var(--length-28);line-height:var(--length-34);letter-spacing:-.02em}h2{font-size:var(--length-17);line-height:var(--space-6);font-weight:620}h3{font-size:var(--space-4)}p{line-height:1.55}small,.hint,.privacy{color:var(--ink-2);font-size:var(--length-13);line-height:var(--icon-size)}ul{padding-left:var(--icon-size)}summary{cursor:pointer;min-height:var(--control-small);align-items:center;gap:var(--space-2);font-weight:560;display:flex}.sr-only{width:var(--border-width);height:var(--border-width);margin:calc(var(--border-width) * -1);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.app{min-height:100dvh}.brand{font-family:Fraunces Variable,serif;font-size:var(--length-26);padding:var(--space-1);gap:var(--length-10);background:0 0;border:0;font-weight:560}.brand svg{color:var(--accent)}.card-menu{position:relative}.card-menu summary{width:var(--control-small);border-radius:var(--length-10);justify-content:center}.card-menu summary:before{content:none}.notifications .error{top:var(--length-72);width:min(var(--length-620), calc(100% - var(--space-8)));z-index:60;position:fixed;left:50%;transform:translate(-50%)}.error,.warning{background:var(--danger-soft);color:var(--danger);border-radius:var(--length-10);padding:var(--space-3);line-height:1.5}.error{align-items:center;gap:var(--space-2);display:flex}.error button{margin-left:auto}.start{max-width:var(--length-1200);padding:var(--control-large) var(--space-6) var(--space-6);margin:auto}.intro{gap:var(--length-64);margin-bottom:var(--control-height);grid-template-columns:1.1fr 1fr;align-items:center;display:grid}.intro h1{font-size:var(--length-52);line-height:var(--control-large);max-width:var(--length-520)}.intro>div>p:not(.eyebrow){margin-top:var(--icon-size);color:var(--ink-2);max-width:var(--length-440);font-size:var(--space-4)}.eyebrow{font-size:var(--space-3);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:var(--space-3);font-weight:600}.upload{border:var(--border-width) dashed var(--ink-2);background:var(--surface);align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.upload>svg{color:var(--accent)}.upload>span{font-size:var(--length-13);color:var(--ink-2)}.section-title{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.restore{padding:var(--space-3) 0;cursor:pointer;font-size:var(--length-14);color:var(--ink-2);text-decoration:underline;position:relative}.restore:focus-within{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-width)}.projects{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;display:grid}.empty-projects{gap:var(--space-3);color:var(--ink-2);padding:var(--space-6) 0;border-block:var(--border-width) solid var(--line);grid-column:1/-1;align-items:center;display:flex}.project-card{border:var(--border-width) solid var(--line);background:var(--surface);border-radius:var(--length-14);box-shadow:var(--e1);position:relative;overflow:visible}.project-open{text-align:left;width:100%;padding:0 0 var(--space-4);border-radius:var(--length-14);background:0 0;border:0;display:block;overflow:hidden}.project-open h2{font-family:Fraunces Variable,serif;font-size:var(--length-21);line-height:var(--length-26);margin:var(--space-4) var(--space-4) var(--length-6);font-weight:560}.project-open p{margin:var(--space-2) var(--space-4);font-size:var(--space-3);color:var(--ink-2)}.project-preview{background:var(--mat);gap:var(--space-3);height:var(--length-150);padding:var(--icon-size);grid-template-columns:1fr 1fr;display:grid}.project-preview .thumbnail{height:var(--length-55);color:var(--surface);background:0 0}.project-preview svg path{fill:var(--palette-ffffff12)}.card-menu{right:var(--space-2);top:var(--space-2);background:var(--surface);border-radius:var(--length-10);position:absolute}.card-menu[open]{box-shadow:var(--e2);padding:var(--space-1);z-index:3}.card-menu button{width:100%;margin-top:var(--space-1);display:flex}.privacy{gap:var(--space-2);margin-top:var(--space-6);align-items:center;display:flex}.returning{gap:var(--space-8);padding-top:var(--space-8);flex-direction:column;display:flex}.returning .library{order:-1}.returning .intro{gap:var(--space-8);border-top:var(--border-width) solid var(--line);padding-top:var(--space-8);margin:0}.returning .intro h1{font-size:var(--length-34);line-height:var(--length-40)}.returning .upload{padding:var(--space-6)}.import-screen{max-width:var(--length-680);padding:var(--length-64) var(--space-6);text-align:center;align-items:center;gap:var(--icon-size);flex-direction:column;margin:auto;display:flex}.import-screen>svg{color:var(--accent)}.import-screen progress{accent-color:var(--accent);width:100%;height:var(--space-2)}.skeleton{height:var(--length-170);border-radius:var(--length-14);background:var(--surface-2);position:relative;overflow:hidden}.skeleton:after{content:"";background:var(--surface);opacity:.5;animation:1.2s linear infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.review{height:calc(100dvh - var(--length-64));padding:var(--space-6) var(--space-6) var(--length-110);max-width:var(--length-1400);margin:auto;overflow:auto}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.report{margin:var(--space-3) 0;color:var(--ink-2);font-size:var(--length-13)}.check{min-height:var(--control-small);align-items:center;gap:var(--length-10);font-size:var(--length-13);line-height:var(--icon-size);display:flex}.thumbnail{width:100%;height:var(--length-200);color:var(--ink);background:var(--surface-2);display:block}.dimensions span{font-size:var(--space-3);color:var(--ink-2)}.include-toggle{border-top:var(--border-width) solid var(--line);gap:var(--space-2);display:flex}.include-toggle button{flex:1}.unsupported{max-width:var(--length-560);margin:var(--space-8) auto;align-items:center;gap:var(--icon-size);text-align:center;padding:var(--space-6);flex-direction:column;display:flex}.unsupported>svg{color:var(--warn)}.unsupported details{text-align:left;width:100%;font-size:var(--length-13);color:var(--ink-2)}.canvas-panel{background:var(--mat);min-width:0;height:100%;position:relative;overflow:hidden}.canvas{touch-action:none;width:100%;height:100%;display:block}.piece-shape{stroke:var(--piece-stroke);color:var(--piece-stroke);fill:var(--piece-fill);cursor:grab}.piece-shape path:not(.issue-hatch):not(.selection-outline){stroke-linejoin:round}.piece-shape.selected{fill:var(--select-soft)}.piece-shape.issue{stroke:var(--danger)}.piece-shape:focus-visible{stroke:var(--select);outline:none}.piece-shape:focus-visible>path:first-child{stroke-width:var(--length-3);vector-effect:non-scaling-stroke}.issue-hatch,.selection-outline{pointer-events:none}.grain-arrow{stroke:var(--ink-2);vector-effect:non-scaling-stroke}.scale-bar{bottom:var(--icon-size);left:var(--icon-size);color:var(--surface);align-items:flex-start;gap:var(--space-1);pointer-events:none;font-size:var(--space-3);flex-direction:column;display:flex;position:absolute}.scale-bar small{color:var(--surface);font-size:var(--space-3)}.controls{background:var(--surface);border-left:var(--border-width) solid var(--line);z-index:8;min-width:0;height:100%;overflow:hidden}.controls section h2{margin-bottom:var(--space-3)}.controls section p{margin:var(--space-2) 0 var(--space-3)}.field{gap:var(--length-6);margin-bottom:var(--length-14);font-weight:560;display:grid}.fields{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.toast{bottom:var(--space-6);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--length-14);box-shadow:var(--e2);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);z-index:100;font-size:var(--length-14);max-width:calc(100% - var(--space-8));display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast>span{overflow-wrap:anywhere}.toast button{padding:var(--space-2)}@media (width>=43.75rem) and (width<=68.6875rem){.projects{grid-template-columns:repeat(3,minmax(0,1fr))}.intro{gap:var(--space-8)}.intro h1{font-size:var(--length-42);line-height:var(--length-46)}}@media (width<=43.6875rem){.brand{font-size:var(--space-6)}.start{padding:var(--space-8) var(--space-4) var(--space-6)}.intro{align-items:stretch;gap:var(--space-6);margin-bottom:var(--space-8);flex-direction:column;display:flex}.intro h1{font-size:var(--length-34);line-height:var(--length-38)}.intro>div>p:not(.eyebrow){font-size:var(--length-15);margin-top:var(--space-4)}.upload{padding:var(--space-6) var(--icon-size)}.upload>.hint{margin-top:0!important}.section-title{align-items:flex-start}.section-title h2{padding-top:var(--length-10)}.restore{font-size:var(--space-3)}.projects{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.project-preview{height:var(--length-120);padding:var(--space-3);gap:var(--space-2)}.project-preview .thumbnail{height:var(--length-40)}.project-open h2{font-size:var(--length-18);margin:var(--space-3) var(--space-3) var(--space-1)}.project-open p{margin-inline:var(--space-3);font-size:var(--space-3)}.returning{gap:var(--space-6)}.returning .intro h1{font-size:var(--length-28);line-height:var(--length-34)}.privacy{font-size:var(--space-3)}.review{height:calc(100dvh - var(--length-96));padding:var(--icon-size) var(--space-4) var(--length-150)}.thumbnail{height:var(--length-220)}.unsupported{padding:var(--space-3);margin:var(--space-6) 0}.import-screen{padding:var(--length-40) var(--space-4)}.import-screen h1{font-size:var(--space-6);line-height:var(--length-30)}.skeleton{height:var(--length-130)}.canvas-panel{padding-bottom:var(--length-112);position:absolute;inset:0}.canvas{height:100%}.controls{border-left:0;border-top:var(--border-width) solid var(--line);border-radius:var(--space-6) var(--space-6) 0 0;height:90dvh;box-shadow:var(--e3);position:absolute;bottom:0;left:0;right:0}.scale-bar{bottom:var(--length-124);left:var(--space-4)}.scale-bar small{display:none}.toast{bottom:var(--length-128);padding:var(--space-2) var(--space-3);font-size:var(--space-3);width:max-content;max-width:calc(100% - var(--space-6))}.notifications .error{top:var(--length-100)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.skeleton{opacity:.6}}.source-preview{margin-top:var(--space-4);background:var(--surface-2);max-height:55dvh;padding:var(--space-3);border-radius:var(--length-10);overflow:auto}.source-page{background:var(--surface);line-height:0;position:relative}.source-page canvas{width:100%;height:auto;display:block}.source-page>svg{cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.grain-arrow{stroke-width:var(--focus-width)}.flow-screen{height:calc(100dvh - var(--length-64));padding:var(--space-8) var(--space-6) var(--length-64);max-width:var(--length-1120);max-width:var(--length-760);margin:auto;overflow:auto}.flow-screen h1 h1{margin-bottom:var(--space-4)}.flow-screen>p{margin:var(--space-4) 0}.flow-screen>section{border-top:var(--border-width) solid var(--line);padding:var(--space-6) 0}.flow-screen section h2{margin-bottom:var(--space-3)}.flow-screen section p{margin:var(--space-2) 0;line-height:1.6}.assembly-preview{padding:var(--icon-size);background:var(--paper);color:var(--palette-1c211e);margin:var(--space-6) 0}.assembly-preview svg{width:100%;max-height:55dvh}.content-links{align-items:center;gap:var(--space-4);margin-top:var(--icon-size);flex-wrap:wrap;display:flex}.content-links a{color:var(--ink-2);font-size:var(--length-14)}.size-picker{grid-column:2}.include-toggle{padding-top:var(--space-2)}.include-toggle button{justify-content:flex-start}.size-picker>span{font-size:var(--length-13);margin-bottom:var(--space-2);display:block}.size-picker button{font-size:var(--length-13);padding:var(--space-2)}.field,.controls section p{font-size:var(--length-14);line-height:var(--icon-size)}.update-toast{bottom:auto;top:var(--length-76)}.screen-content{min-height:0}main h1:focus{outline:none}.returning .intro{display:none}.returning .library{margin-bottom:0}@media (width<=43.6875rem),(width<=68.6875rem) and (orientation:portrait){.brand{min-width:var(--control-small);padding:var(--space-2);font-size:0}.brand>svg{width:var(--space-6);height:var(--space-6)}.review,.flow-screen{height:calc(100dvh - var(--control-large))}.canvas-panel{padding-bottom:0;position:absolute;inset:0}.controls{border-left:0;border-top:var(--border-width) solid var(--line);border-radius:var(--space-6) var(--space-6) 0 0;height:90dvh;box-shadow:var(--e3);position:absolute;bottom:0;left:0;right:0}.scale-bar{bottom:calc(var(--sheet-height,var(--length-96)) + var(--space-4))}.flow-screen{padding:var(--space-6) var(--space-4) var(--control-height)}.review{padding:var(--icon-size) var(--space-4) var(--length-130)}.returning{padding-top:var(--icon-size)}.project-preview{height:var(--length-140);align-content:center}.project-open h2{font-size:var(--icon-size)}.notifications .error{top:var(--length-60)}}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}input,output{font-variant-numeric:tabular-nums}input,select{font:var(--type-body)}h1{font:var(--type-title-desktop)}.warning{background:var(--warning-soft);color:var(--warning-ink)}.review,.flow-screen{height:calc(100dvh - var(--control-large))}.start{padding-inline:var(--icon-size)}.intro h1{font:var(--type-hero-desktop)}.upload{padding:var(--space-8) var(--space-6);border-radius:var(--r-lg)}.library>.section-title h1{font:var(--type-title-desktop)}.returning .section-title{gap:var(--space-4);flex-wrap:wrap}.returning .section-title .restore{margin-left:auto}.project-open h2{font:560 var(--length-22)/var(--length-28) "Fraunces Variable", serif}.project-open p{font:var(--type-meta)}.utility-screen{height:calc(100dvh - var(--control-large));max-width:var(--length-760);padding:var(--space-6) var(--icon-size)}.utility-screen>.eyebrow{margin:0 0 var(--space-2)}.utility-screen section{padding-block:var(--space-6)}.utility-screen section h2{font:var(--type-label)}.utility-screen section p{line-height:var(--space-6)}.utility-screen .field{max-width:var(--length-400);margin-block:var(--space-4)}.storage-caution,.storage-backup{align-items:flex-start;gap:var(--space-4);margin-top:var(--space-4);display:flex}.storage-caution{padding:var(--panel-padding);border-radius:var(--r-md);background:var(--warning-soft)}.storage-caution>svg{color:var(--warning);margin-top:var(--space-2);flex-shrink:0}.storage-caution strong{color:var(--warning-ink)}.storage-caution button,.storage-backup button{margin-top:var(--space-2)}.information-row{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--control-small);margin-top:var(--space-4);color:var(--ink);border-bottom:var(--border-width) solid var(--line);text-decoration:none;display:flex}.information-row:hover{color:var(--accent)}.feedback-lane{z-index:100;width:min(var(--length-560), calc(100vw - var(--space-8)));left:50%;bottom:max(var(--space-4), env(safe-area-inset-bottom));pointer-events:none;position:fixed;transform:translate(-50%)}.feedback-lane .toast{width:100%;min-width:0;max-width:none;padding:var(--space-2) var(--space-4);gap:var(--space-2);pointer-events:none;position:static;transform:none}.feedback-lane .toast>span{min-width:0;font:var(--type-label);flex:1}.feedback-lane .toast>svg{flex-shrink:0}.feedback-lane .toast button{pointer-events:auto;flex-shrink:0}@media (width<=43.6875rem),(width<=68.6875rem) and (orientation:portrait){:root{--panel-padding:16px}h1,.library>.section-title h1{font:var(--type-title-phone)}.intro h1{font:var(--type-hero-phone)}.start{padding-inline:var(--space-4)}.intro{gap:var(--space-6);margin-bottom:var(--space-6)}.upload{padding:var(--space-6) var(--space-4)}.returning .section-title{align-items:center;gap:var(--space-2) var(--space-4)}.returning .section-title h1{flex:1}.returning .section-title .restore{order:2;width:100%;margin:0}.utility-screen{padding-inline:var(--space-4);padding-bottom:max(var(--space-6), env(safe-area-inset-bottom))}}.feedback-lane .toast{min-height:var(--length-60);max-height:var(--length-160);overflow-y:auto}@media (width<=43.6875rem),(width<=68.6875rem) and (orientation:portrait){.feedback-lane{bottom:min(calc(var(--space-4) + env(safe-area-inset-bottom)), calc(100dvh - var(--control-large) - var(--length-160) - var(--space-4)))}}.app button.information-row{border:0;border-bottom:var(--border-width) solid var(--line);width:100%;font:inherit;text-align:left;background:0 0;border-radius:0;padding:0}.app button.information-row:hover{border-color:var(--line);background:0 0}:root{--line:#e2dacb;--line-strong:#c9bfad;--primary:#1c211e;--on-primary:#fffdf8;--select:#2366d1;--select-soft:#2366d11a;--brand:#b83a1e;--brand-soft:#f7e3dc;--ok-soft:#e6f1ea;--warn:#87520d;--warn-soft:#faf0dc;--mat-ink:#e8f0ec;--piece-fill:#2e5a4c14;--halo:#f5f2ebb3;--accent:var(--select);--accent-soft:var(--select-soft);--focus:var(--select);--warning:var(--warn);--warning-ink:var(--warn);--warning-soft:var(--warn-soft);--canvas-grain:var(--ink-2);--canvas-proposal:var(--select);--canvas-selection:var(--select);--canvas-danger:var(--danger);--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--space-5:20px;--space-7:32px;--space-10:40px;--space-12:48px;--space-16:64px;--type-display:560 34px/38px "Fraunces Variable", serif;--type-title:560 24px/30px "Fraunces Variable", serif;--type-hero-desktop:560 48px/52px "Fraunces Variable", serif;--type-metric:600 24px/28px "Fraunces Variable", serif;--type-headline:600 17px/22px "Inter Variable", sans-serif;--type-control:560 15px/20px "Inter Variable", sans-serif;--type-label:500 14px/20px "Inter Variable", sans-serif;--type-meta:400 13px/18px "Inter Variable", sans-serif;--type-caption:500 12px/16px "Inter Variable", sans-serif;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-sheet:cubic-bezier(.32, .72, 0, 1);--ease-std:cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{--surface-2:#232723;--line:#2e342f;--line-strong:#434a44;--ink-3:#979f96;--primary:#ede9e0;--on-primary:#111311;--select:#8ab4ff;--select-soft:#8ab4ff26;--brand:#ff7452;--brand-soft:#3a211a;--ok-soft:#1b2e22;--warn:#f2b654;--warn-soft:#30271a;--mat-ink:#cfe0d8;--piece-fill:#2e5a4c26;--halo:#ede9e099;--e2:0 0 0 1px #ffffff14, 0 8px 24px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-2:#232723;--line:#2e342f;--line-strong:#434a44;--ink-3:#979f96;--primary:#ede9e0;--on-primary:#111311;--select:#8ab4ff;--select-soft:#8ab4ff26;--brand:#ff7452;--brand-soft:#3a211a;--ok-soft:#1b2e22;--warn:#f2b654;--warn-soft:#30271a;--mat-ink:#cfe0d8;--piece-fill:#2e5a4c26;--halo:#ede9e099;--e2:0 0 0 1px #ffffff14, 0 8px 24px #0009}}.app{font-variant-numeric:tabular-nums}.app :is(h1,h2,h3,p,small,strong,span){text-transform:none}.app h1{font:var(--type-title);letter-spacing:-.01em}.app :is(h2,h3){font:var(--type-headline)}.app .eyebrow{display:none}.app small,.app .hint{font:var(--type-meta)}.app button,.app summary{font:var(--type-control)}.app button:disabled{opacity:.4}.app .ui-button-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.app .ui-button{font:var(--type-control);transition:background .12s,transform 80ms}.app .ui-button-secondary{border-color:var(--line-strong)}.app .ui-button-ghost{color:var(--ink)}.app .ui-button-danger{background:0 0;border-color:#0000}.app .ui-button:active:not(:disabled){transform:scale(.98)}.app .ui-button[aria-pressed=true]:not(.primary){background:var(--select-soft);color:var(--select);border-color:var(--select)}.app .ui-segmented{gap:0;height:44px;padding:3px}.app .ui-segmented>.ui-button{min-width:0;min-height:36px;color:var(--ink-2);background:0 0;border:0;padding:0 8px}.app .ui-segmented>.ui-button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--e1);font-weight:600}.app .ui-list-group{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.app .ui-list-row{min-height:56px}.app .ui-list-row+.ui-list-row{border-top:1px solid var(--line)}.app .ui-row-copy strong{font:var(--type-control)}.app .ui-row-thumbnail{border-radius:var(--r-xs)}.app .ui-status-dot{font:var(--type-meta);align-items:center;gap:6px;display:inline-flex}.app .ui-status-dot:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.app .ui-status-success{color:var(--ok)}.app .ui-status-warning{color:var(--warn)}.app .ui-status-danger{color:var(--danger)}.app .ui-action-bar{background:var(--surface);border-top:1px solid var(--line);box-shadow:none;padding:12px 16px}.app .ui-field{gap:6px}.app :is(input:not([type=checkbox]),select){border-color:var(--line-strong);border-radius:var(--r-sm)}.app .ui-field :is(input,select){min-height:48px}.app .ui-disclosure>summary{align-items:center;min-height:44px;display:flex}.app .ui-disclosure>summary:after{transition:transform .2s var(--ease-out);border-width:1.75px}.app .ui-empty-state{text-align:left;background:0 0;border:0}.app .ui-empty-state h2{font:var(--type-title)}.app .ui-chip{min-height:28px;font:var(--type-caption);background:var(--surface-2);padding:4px 8px}.flow-header{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.logo-menu summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.logo-menu-items{gap:8px;min-width:180px;padding:16px 0;display:grid}.flow-header:has(.logo-menu[open]){align-items:flex-start}.flow-tabs,.flow-history{gap:4px;display:flex}.flow-tabs{border:1px solid var(--line);border-radius:12px;padding:4px}.flow-tabs button{background:0 0;border:0}.flow-tabs [aria-current=page]{background:var(--select-soft);color:var(--select)}.flow-history button{width:44px;padding:8px}.flow-page,.flow-workspace{width:min(1440px,100%);margin:0 auto;padding:24px}.flow-heading,.flow-footer{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.flow-heading h1{margin:0}.flow-heading p,.flow-heading span{color:var(--ink-2)}.pieces-settings{background:var(--surface);border-radius:var(--r-md);border:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:16px 32px;margin-bottom:16px;padding:16px 20px;display:flex}.pieces-settings-group{gap:6px;display:grid}.pieces-settings-title{font:var(--type-meta);color:var(--ink-2)}.pieces-settings-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seam-custom{align-items:center;display:flex}.seam-custom .field{font:var(--type-meta);color:var(--ink-2);align-items:center;gap:6px;margin:0;display:flex}.seam-custom input,.grain-angle-field input{width:5.5em}.seam-custom.is-selected input{border-color:var(--accent);background:var(--accent-soft)}.flow-piece-list,.layout-piece-key{margin:0;padding:0;list-style:none}.flow-piece-row{border-top:1px solid var(--line);padding:10px 0}.flow-piece-main{flex-wrap:wrap;align-items:stretch;gap:12px 24px;display:flex}.flow-piece-identity{flex:220px;align-items:center;gap:12px;min-width:0;display:flex}.flow-piece-identity>.piece-thumb{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex:0 0 112px;width:112px;height:112px;position:relative;overflow:hidden}.piece-thumb svg{width:100%;height:100%;display:block}.piece-thumb-number{background:var(--select);min-width:26px;color:var(--bg);text-align:center;border-radius:8px;padding:3px 7px;font-size:15px;font-weight:700;line-height:20px;position:absolute;top:6px;left:6px}.piece-thumb-number[data-excluded=true]{background:var(--surface-2);color:var(--ink-3)}.flow-piece-identity p{color:var(--ink-2);margin:4px 0}.grain-angle-field .field,.piece-allowance-override{margin:0}.piece-allowance-override input{width:9em}.flow-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.flow-canvas-column{min-width:0}.flow-workspace .canvas-panel{border-radius:16px;width:100%;height:min(72vh,760px);min-height:480px;position:relative;overflow:hidden}.flow-settings{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);gap:20px;min-width:0;padding:24px;display:grid}.paper-choices{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.fields,.flow-downloads{gap:16px;display:grid}.flow-settings .fields{grid-template-columns:minmax(0,1fr)}.flow-downloads p{font:var(--type-meta);color:var(--ink-2);margin:0}.print-settings,.fabric-settings details{border-top:1px solid var(--line);padding-top:16px}.flow-settings summary{cursor:pointer;min-height:44px}.canvas-issue-line{font:var(--type-meta);margin:12px 0}.canvas-issue-line.has-issues{color:var(--danger)}.line-legend{font:var(--type-meta);color:var(--ink-2);flex-wrap:wrap;gap:16px;display:flex}.layout-piece-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.layout-piece-key button{text-align:left;justify-content:flex-start;width:100%;margin-top:8px}.placement-controls{border-top:1px solid var(--line)}.placement-controls>button{margin:12px 4px 0 0}.inline-preparation{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:24px 0;padding:24px}.inline-preparation>.piece-thumb{width:200px;height:180px;display:block;position:relative}.size-chips{flex-wrap:wrap;gap:8px;display:flex}.inline-preparation .assembly-workspace,.inline-preparation .calibration-workspace{gap:24px;display:grid}.inline-preparation :is(.input-flow-footer,.calibration-controls,.assembly-settings){width:auto;height:auto;max-height:none;position:static;overflow:visible;transform:none}.inline-preparation .assembly-grid-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.inline-preparation .source-preview,.inline-preparation .assembly-preview{position:relative}.inline-preparation .measurement-preview{padding:0}.backup-restore{cursor:pointer;padding:12px}@media (width<=900px){.flow-layout{grid-template-columns:1fr}.flow-settings{border-radius:0}.flow-workspace{padding:16px 0}.flow-workspace>.flow-heading,.canvas-issue-line,.line-legend{padding:0 16px}.flow-workspace .canvas-panel{border-radius:0;height:60vh;min-height:400px}}@media (width<=599px){.flow-header{flex-wrap:wrap;gap:8px;padding:8px 12px}.flow-tabs{flex-basis:100%;order:3}.flow-tabs button{flex:1}.flow-page{padding:20px 16px}.pieces-settings{gap:12px;padding:12px}.inline-preparation{padding:16px}.flow-piece-identity{flex-basis:100%}.flow-piece-main{gap:8px 6px}.flow-piece-identity>.piece-thumb{flex-basis:80px;width:80px;height:80px}.flow-footer{flex-wrap:wrap;margin-top:24px}.flow-footer .primary{width:100%}.inline-preparation .assembly-grid-values{grid-template-columns:1fr}}.start .card-menu[open]{gap:8px;width:auto;display:grid;position:static}.start .card-menu[open]>button{position:static}.placement-controls{gap:12px;display:grid}.placement-controls .fields{gap:12px}.placement-controls .ui-field{margin:0}.placement-actions{flex-wrap:wrap;gap:8px;display:flex}.app{padding-bottom:calc(88px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.app>.screen-content{flex:1;min-width:0}.app-footer{z-index:50;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);transition:transform .2s,opacity .2s;position:fixed;left:50%;transform:translate(-50%)}.app-footer.is-hidden{transform:translate(-50%, calc(100% + 32px + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}.app-footer:focus-within{opacity:1;pointer-events:auto;transform:translate(-50%)}.app-footer nav{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(20px);border-radius:999px;align-items:center;gap:4px;padding:5px;display:flex;box-shadow:0 6px 24px #0000001a}.app .app-footer .ui-button{min-height:44px;color:var(--ink-2);border-color:#0000;border-radius:999px;padding:8px 20px;font-weight:500}.app .app-footer .ui-button[aria-current=page]{color:var(--select);background:var(--select-soft)}.app-credit{text-align:center;color:var(--ink-2);font:var(--type-meta);padding:16px 24px 0}.home-information>nav{justify-content:center;gap:8px;display:flex}.app-credit a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}.app-credit a:hover{color:var(--select)}.landing-brand{font:700 22px/28px var(--font-heading);align-items:center;gap:10px;margin-bottom:40px;display:flex}.landing-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:40px;display:flex}.landing-header .landing-brand{margin:0}.preference-buttons{flex-shrink:0;gap:8px;display:flex}.app .preference-buttons .ui-button{height:var(--control-small);min-height:var(--control-small);min-width:var(--control-small);padding:0 10px}.app .preference-buttons .ui-icon-button{width:var(--control-small)}.app-credit{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.app .flow-header :is(.flow-tabs,.flow-history) .ui-button{height:var(--control-small);min-height:var(--control-small);padding-block:0}.app .landing-screen{padding-top:24px}.app .landing-screen .intro{margin-bottom:0}.app .projects-screen{border:2px solid var(--primary);border-radius:16px;outline:none;width:calc(100% - 32px);margin:24px auto 0;padding:24px}.projects-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.projects-toolbar:has(.cloud-refresh){grid-template-columns:repeat(3,minmax(0,1fr))}.projects-toolbar>.restore{padding:0;text-decoration:none;display:contents}.app .projects-toolbar .ui-button{width:100%;min-height:48px;margin:0;padding:10px 16px}.app .projects-screen .projects,.app .projects-screen .library{margin:0}.app .projects-screen .empty-projects{border:0;padding:16px 0}.app .projects-screen>.privacy{border-top:1px solid var(--line);margin:24px 0 0;padding-top:16px}@media (width<=699px){.app .projects-screen{width:calc(100% - 24px);margin-top:16px;padding:16px}:is(.projects-toolbar,.projects-toolbar:has(.cloud-refresh)){grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:16px}.app .projects-toolbar .ui-button{min-height:64px}}.app .projects-screen .project-open h2{font:var(--type-headline)}.app .projects-screen .project-preview{border-radius:var(--r-xs)}.app .projects-screen .project-card:has(.project-open-target:hover){background:var(--surface-2)}.app .projects-screen .project-open-target.ui-button:hover:not(:disabled){box-shadow:none;background:0 0;transform:none}.app .projects-screen .project-open{background:0 0;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:20px;padding:16px 64px 16px 16px;display:grid;position:relative}.app .projects-screen .project-open-target.ui-button{background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.app .projects-screen .project-open-target.ui-button:disabled{opacity:1;background:0 0;border-color:#0000}.app .projects-screen .project-preview,.app .projects-screen .project-identity>p{pointer-events:none}.app .projects-screen .project-identity{pointer-events:none;gap:8px;min-width:0;display:grid}.app .projects-screen .project-identity>p{font:var(--type-meta);color:var(--ink-2);margin:0}.app .projects-screen .project-title{pointer-events:auto;min-width:0;position:relative;overflow:visible}.app .projects-screen .project-title-button.ui-button,.app .projects-screen .project-title input{width:100%;min-width:0;min-height:32px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;justify-content:flex-start;margin:0;padding:4px 0}.app .projects-screen .project-title-button.ui-button{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app .projects-screen .project-title input{background:var(--surface);outline:2px solid var(--focus);outline-offset:2px}.app .projects-screen .project-title-button.ui-button:hover{text-underline-offset:4px;background:0 0;text-decoration:underline}.app .projects-screen .project-open .project-preview{grid-row:auto;justify-content:center;align-items:center;height:112px;padding:8px;display:flex}.app .projects-screen .project-preview .saved-layout-preview{width:100%;height:100%}.app .projects-screen .card-menu,.app .projects-screen .card-menu[open]{box-shadow:none;background:0 0;padding:0;position:static}.app .projects-screen .card-menu>summary{width:var(--control-small);height:var(--control-small);color:var(--ink-2);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:12px;right:12px}.app .projects-screen .card-menu>summary:after{content:none}.app .projects-screen .card-menu>summary:hover,.app .projects-screen .card-menu[open]>summary{background:var(--select-soft);color:var(--select)}.app .projects-screen .project-editor{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;margin-top:0;padding:16px 8px 8px;display:grid}.app .projects-screen .project-editor .cloud-project-actions{display:contents}.app .projects-screen .project-editor .cloud-project-actions>p{grid-column:1/-1;margin:0}.app .projects-screen .project-editor .cloud-project-actions>.account-error{grid-row:3}.app .projects-screen .project-editor .ui-button{width:100%;max-width:100%;min-height:48px;margin:0;padding:10px 16px}.project-delete-confirmation{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);grid-column:1/-1;padding:12px}.project-delete-confirmation>p{margin:0 0 12px}.project-delete-confirmation>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=699px){.app .projects-screen .project-open{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px 56px 12px 8px}.app .projects-screen .project-open .project-preview{height:72px;padding:4px}.app .projects-screen .project-editor{grid-template-columns:minmax(0,1fr);gap:8px}.app .projects-screen .project-editor .ui-button{min-height:64px}.app .projects-screen .project-editor .cloud-project-actions>.account-error{grid-row:auto}}@media (width<=600px){.landing-brand{margin-bottom:28px}}@media (prefers-reduced-motion:reduce){.app-footer{transition:none}}.app .landing-screen{width:100%;padding-bottom:48px}.app .landing-screen .intro>div:first-child{min-width:0}.app .landing-screen .intro h1{overflow-wrap:anywhere}@media (width>=700px){.app .landing-screen:not(.has-preparation) .intro{grid-template-columns:minmax(0,1fr);gap:40px;max-width:640px;margin-inline:auto}}@media (width<=699px){.app .landing-screen .intro{flex-direction:column;gap:24px;display:flex}.app .landing-screen .intro>div:first-child{display:block}.app .landing-screen .intro>div:first-child>p{margin-top:16px}.app .landing-screen .home-import-actions{margin-top:20px}.app .landing-screen .intro .upload{width:100%;padding:16px}}@media (width<=599px){.app .flow-header{flex-wrap:nowrap}.app .flow-header .flow-tabs{flex:1;order:0;min-width:0}.app .flow-header .flow-tabs .ui-button{min-width:0;padding-inline:6px;font-size:14px}}.piece-copy-counts{flex:none;align-content:center;gap:6px;display:grid}.piece-copy-counts .copy-stepper,.piece-copy-counts .include-toggle{grid-template-columns:minmax(5em,1fr) 36px 28px 36px;align-items:center;gap:6px;display:grid}.app .piece-copy-counts .copy-stepper .ui-button{width:36px;min-width:36px;height:36px;min-height:36px;font:inherit;border-radius:var(--r-xs);padding:0}.copy-stepper output{text-align:center;font-variant-numeric:tabular-nums}.piece-copy-counts .include-toggle{cursor:pointer;border:0;min-height:36px;padding:0}.piece-copy-counts .include-toggle input{appearance:none;border:1px solid var(--line-strong);background:var(--surface-2);cursor:pointer;border-radius:999px;grid-column:2/5;justify-self:end;width:36px;height:22px;margin:0;padding:0;position:relative}.piece-copy-counts .include-toggle input:before{content:"";background:var(--ink-3);border-radius:50%;width:14px;height:14px;position:absolute;top:3px;left:3px}.piece-copy-counts .include-toggle input:checked{background:var(--select);border-color:var(--select)}.piece-copy-counts .include-toggle input:checked:before{background:var(--bg);left:17px}.piece-copy-counts .include-toggle input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (width<=43.6875rem){.flow-piece-main .piece-copy-counts{flex:100%}.piece-copy-counts .copy-stepper,.piece-copy-counts .include-toggle{grid-template-columns:minmax(5em,1fr) 44px 28px 44px}.app .piece-copy-counts .copy-stepper .ui-button{width:44px;min-width:44px;height:44px;min-height:44px}.piece-copy-counts .include-toggle{min-height:44px}}.app .flow-header .flow-history .ui-button{border-radius:12px;width:54px;min-width:54px;height:54px;min-height:54px;padding:0}.home-information>nav a.ui-button{border:var(--border-width) solid var(--line);align-items:center;text-decoration:none;display:inline-flex}.app[data-screen=layout]{flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.app[data-screen=layout]>.screen-content{flex:1;min-height:0;display:flex;position:relative}.layout-stage{--sheet-width:380px;--sheet-ease:cubic-bezier(.32, .72, 0, 1);--stage-gap:12px;flex:1;width:100%;max-width:none;min-height:0;margin:0;padding:0;position:relative;overflow:clip}.layout-stage .stage-canvas{position:absolute;inset:0;container-type:inline-size}.layout-stage[data-sheet=open][data-sheet-style=push] .stage-canvas{right:var(--sheet-width)}.layout-stage .canvas-panel,.layout-stage.flow-workspace .canvas-panel{border-radius:0;width:100%;height:100%;min-height:0}.layout-stage .stage-canvas[data-stale] .canvas{opacity:.65}.layout-stage .canvas-workspace .canvas-camera-controls{top:var(--stage-gap);left:var(--stage-gap);max-width:calc(100% - 2 * var(--stage-gap));bottom:auto;right:auto}.layout-stage .canvas-camera-controls .camera-framing-menu>div{inset:calc(100% + 8px) auto auto 0}.layout-stage .canvas-workspace .canvas-camera-controls .camera-lock-all{height:44px;min-height:44px;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:8px;gap:8px;padding:8px 12px;position:static}.layout-stage .canvas-workspace .canvas-camera-controls .camera-lock-all:hover:not(:disabled){background:var(--surface-2)}.app .layout-stage .canvas-camera-controls .camera-lock-all[aria-pressed=true]{background:var(--select-soft);color:var(--select)}.layout-stage .canvas-camera-controls .camera-fit{gap:8px}.layout-stage .canvas-workspace .sheet-pager{box-shadow:var(--e1);top:auto;bottom:84px;left:50%;transform:translate(-50%)}.stage-quick-actions{z-index:4;top:var(--stage-gap);right:var(--stage-gap);gap:8px;display:flex;position:absolute}.app .stage-quick-actions .ui-button{height:var(--control-small);min-height:var(--control-small);box-shadow:var(--e1);gap:8px;padding-block:0}.stage-quick-actions .ui-button:not(.ui-button-primary){background:var(--surface)}.stage-notices{z-index:3;top:calc(var(--stage-gap) + 60px);left:var(--stage-gap);right:var(--stage-gap);pointer-events:none;justify-items:center;gap:8px;display:grid;position:absolute}.stage-notices>*{pointer-events:auto}.stage-pill{border:1px solid var(--line);background:var(--surface);box-shadow:var(--e1);font:var(--type-label);border-radius:999px;align-items:center;gap:8px;margin:0;padding:8px 14px;display:inline-flex}.stage-spinner{border:2px solid var(--line);border-top-color:var(--select);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite stage-spin}@keyframes stage-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.stage-spinner{animation-duration:2.4s}}.layout-stage .canvas-issue-line{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--line));background:var(--surface);max-width:min(640px,100%);box-shadow:var(--e1);color:var(--danger);font:var(--type-meta);border-radius:14px;align-items:center;gap:10px;margin:0;padding:6px 6px 6px 14px;display:flex}.layout-stage .canvas-issue-line>svg{flex-shrink:0}.layout-stage .canvas-issue-line>span{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:1}.app .layout-stage .canvas-issue-line .ui-button{flex-shrink:0;min-height:36px;padding:6px 12px}.settings-sheet{z-index:6;width:var(--sheet-width);background:var(--surface);border-left:1px solid var(--line);max-width:calc(100% - 48px);transition:transform .26s var(--sheet-ease), visibility 0s;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(0)}.layout-stage[data-sheet-style=overlay] .settings-sheet{box-shadow:-16px 0 40px #00000024}.layout-stage[data-sheet=closed] .settings-sheet{visibility:hidden;box-shadow:none;transition:transform .2s var(--sheet-ease), visibility 0s linear .2s;transform:translate(100%)}.settings-sheet-header{border-bottom:1px solid var(--line);padding:18px 24px 14px}.settings-sheet-header h2{font:var(--type-title-phone);margin:0}.settings-sheet-header p{color:var(--ink-2);font:var(--type-meta);overflow-wrap:anywhere;margin:2px 0 0}.settings-sheet-body{overscroll-behavior:contain;flex:1;align-content:start;gap:20px;min-height:0;padding:18px 24px 24px;display:grid;overflow-y:auto}.settings-sheet-actions{border-top:1px solid var(--line);background:var(--surface);gap:10px;padding:12px 24px 16px;display:grid}.layout-stage[data-sheet-style=overlay] .settings-sheet-actions{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.app:has(.layout-stage[data-sheet=open][data-sheet-style=overlay]) .app-footer{display:none}.settings-sheet-actions .flow-downloads{gap:10px;display:grid}.settings-sheet-actions .flow-downloads p{color:var(--ink-2);font:var(--type-meta);margin:0}.app .settings-sheet-actions .ui-button{gap:8px;width:100%}.flow-downloads-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.app .settings-sheet-actions .flow-downloads-row .ui-button{white-space:normal;min-width:0;padding-inline:10px;line-height:1.2}.arrangement-status{justify-content:space-between;align-items:center;gap:8px;min-height:0;display:flex}.arrangement-status p{color:var(--ink-2);font:var(--type-meta);margin:0}.app .arrangement-status .ui-button{width:auto}.app .layout-stage .sheet-tab.ui-button{z-index:7;border:1px solid var(--select);background:var(--select-soft);width:44px;height:128px;min-height:128px;color:var(--select);transition:right .26s var(--sheet-ease);border-right:0;border-radius:14px 0 0 14px;flex-direction:column;gap:10px;padding:10px 0;position:absolute;top:calc(50% - 64px);right:0;box-shadow:-6px 0 18px #0000001a}.app .layout-stage .sheet-tab:hover{background:var(--select-soft)}.app .layout-stage .sheet-tab>span{writing-mode:vertical-rl;font:var(--type-meta);font-weight:600}.app .layout-stage[data-sheet=open] .sheet-tab{height:72px;min-height:72px;top:calc(50% - 36px);right:min(var(--sheet-width), calc(100% - 48px));box-shadow:none}@media (prefers-reduced-motion:reduce){.settings-sheet,.layout-stage[data-sheet=closed] .settings-sheet,.app .layout-stage .sheet-tab{transition:none}}.settings-sheet .placement-controls{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);padding:14px}.settings-sheet .placement-controls h2{font:var(--type-label);margin:0 0 4px}.settings-sheet .fields{grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.settings-sheet :is(.paper-settings,.fabric-settings){gap:20px;display:grid}.sheet-section{gap:10px;display:grid}.sheet-section h3{font:var(--type-label);color:var(--ink);margin:0}.settings-sheet .paper-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.app .settings-sheet .paper-choices .ui-button{min-height:44px;padding:8px}.field-hint{color:var(--ink-2);font:var(--type-meta);margin:0;font-weight:400}.settings-sheet .ui-field{margin-block:4px}.settings-sheet .ui-field>small.field-hint{margin-top:-2px}.sheet-summary{font:var(--type-label);color:var(--ink);margin:0}.settings-sheet .line-legend,.layout-stage .settings-sheet .line-legend{border-top:1px solid var(--line);color:var(--ink-2);font:var(--type-meta);gap:2px;margin:0;padding:12px 0 0;display:grid}.check-field{color:var(--ink);grid-template-columns:auto 1fr;align-items:center;column-gap:10px}.check-field>small{color:var(--ink-2);font:var(--type-meta);grid-column:2;margin:-4px 0 0}.check-field input{width:18px;height:18px;min-height:0}.settings-disclosure{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.settings-sheet .settings-disclosure.print-settings{border-top:1px solid var(--line);padding:0}.settings-disclosure>summary{cursor:pointer;min-height:60px;color:var(--ink);background:var(--surface-2);align-items:center;gap:12px;padding:10px 14px;list-style:none;transition:background .12s;display:flex}.settings-disclosure>summary::-webkit-details-marker{content:"";display:none}.settings-disclosure>summary::marker{content:"";display:none}.settings-disclosure>summary:before{content:none}.settings-disclosure>summary:hover{background:color-mix(in srgb, var(--surface-2) 70%, var(--line))}.settings-disclosure>summary:focus-visible{outline:var(--focus-width,2px) solid var(--select);outline-offset:-2px}.settings-disclosure>summary>svg:last-child{flex-shrink:0;margin-left:auto;transition:transform .16s}.settings-disclosure[open]>summary>svg:last-child{transform:rotate(180deg)}.settings-disclosure-text{min-width:0;display:grid}.settings-disclosure-text strong{font:var(--type-label)}.settings-disclosure-text small{color:var(--ink-2);font:var(--type-meta);overflow-wrap:anywhere}.settings-disclosure-body{border-top:1px solid var(--line);gap:6px;padding:12px 14px 14px;display:grid}.app .feedback-lane{bottom:calc(84px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.app:has(.layout-stage[data-sheet-style=overlay][data-sheet=open]) .feedback-lane{top:80px;bottom:auto}@media (width<=900px){.layout-stage{--stage-gap:8px}.layout-stage .camera-label,.stage-quick-actions .label-full{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.layout-stage .canvas-workspace .canvas-camera-controls :is(.camera-fit,.camera-lock-all){width:44px;padding:8px}.app .stage-quick-actions .ui-button{padding:8px 12px}.settings-sheet-header,.settings-sheet-body,.settings-sheet-actions{padding-inline:18px}.settings-sheet-header{padding-block:12px 10px}.settings-sheet-actions .flow-downloads p{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.app .settings-sheet-actions .flow-downloads-row .ui-button{min-height:44px}}@container (width<=900px){.layout-stage .camera-label,.stage-quick-actions .label-full{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.layout-stage .canvas-workspace .canvas-camera-controls :is(.camera-fit,.camera-lock-all){width:44px;padding:8px}.stage-quick-actions .label-short{display:inline}}@media (width>=901px){.stage-quick-actions .label-short{display:none}}.settings-sheet .fabric-selvage .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.buy-suggestion{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);gap:6px;padding:12px 14px;display:grid}.buy-suggestion p{margin:0}.buy-amount{font:var(--type-label);color:var(--ink);font-size:1.125rem}.buy-explanation,.buy-tip{color:var(--ink-2);font:var(--type-meta)}.buy-warning{color:var(--danger);font:var(--type-meta);align-items:flex-start;gap:8px;display:flex}.buy-warning svg{flex:none;margin-top:2px}@container (width<=400px){.layout-stage .canvas-workspace .canvas-camera-controls{gap:0;padding:2px}.layout-stage .canvas-workspace .canvas-camera-controls .camera-framing-menu>summary{gap:6px;padding-inline:8px}}.layout-stage .canvas-selection-toolbar{--canvas-selection-lift:0px}@media (width<=600px){.layout-stage .canvas-selection-hint{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}}.layout-stage .settings-sheet{z-index:20}.layout-stage .sheet-tab{z-index:21}@media (height<=560px){.settings-sheet{overscroll-behavior:contain;overflow-y:auto}.settings-sheet-body{flex:none;overflow:visible}}.vector-exports .field-hint{margin:8px 0}.vector-export-rows{display:grid}.app button.vector-export-row{min-height:56px;color:var(--ink);cursor:pointer;margin-top:0;padding-block:8px}.app button.vector-export-row:hover:not(:disabled){color:var(--select)}.app button.vector-export-row:disabled{color:var(--ink-3);cursor:not-allowed}.vector-export-row>span{display:grid}.vector-export-row strong{font:var(--type-control)}.vector-export-row>span>span{color:var(--ink-2);font:var(--type-label)}.vector-export-rows .print-check-option{border-bottom:var(--border-width) solid var(--line);padding-block:8px}@font-face{font-family:Zen Kaku Gothic Antique;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/zen-kaku-gothic-antique-latin-400-normal-bDTW8yIR.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+2044,U+20AC,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Zen Kaku Gothic Antique;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/zen-kaku-gothic-antique-cyrillic-400-normal-C7VZu2Ne.woff2)format("woff2");unicode-range:U+20,U+41,U+A0,U+C1-C2,U+301,U+401,U+410-44F,U+451,U+2116}@font-face{font-family:Zen Kaku Gothic Antique;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/zen-kaku-gothic-antique-latin-500-normal-BBrm8Wfy.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+2044,U+20AC,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Zen Kaku Gothic Antique;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/zen-kaku-gothic-antique-cyrillic-500-normal-CdB9nHc0.woff2)format("woff2");unicode-range:U+20,U+41,U+A0,U+C1-C2,U+301,U+401,U+410-44F,U+451,U+2116}@font-face{font-family:Zen Kaku Gothic Antique;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/zen-kaku-gothic-antique-latin-700-normal-CqmPUNHo.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+2044,U+20AC,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Zen Kaku Gothic Antique;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/zen-kaku-gothic-antique-cyrillic-700-normal-DxfLr2LG.woff2)format("woff2");unicode-range:U+20,U+41,U+A0,U+C1-C2,U+301,U+401,U+410-44F,U+451,U+2116}@font-face{font-family:Zen Kaku Gothic Antique;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/zen-kaku-gothic-antique-latin-900-normal-CJxaDQq9.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+2044,U+20AC,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Zen Kaku Gothic Antique;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/zen-kaku-gothic-antique-cyrillic-900-normal-DGgdaDWr.woff2)format("woff2");unicode-range:U+20,U+41,U+A0,U+C1-C2,U+301,U+401,U+410-44F,U+451,U+2116}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/zen-maru-gothic-latin-400-normal-D528XlL5.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2044,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/zen-maru-gothic-cyrillic-400-normal-pPaAjOI5.woff2)format("woff2");unicode-range:U+20,U+41,U+A0,U+C1-C2,U+301,U+401,U+410-44F,U+451,U+2116}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/zen-maru-gothic-latin-500-normal-SHJzRquW.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2044,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/zen-maru-gothic-cyrillic-500-normal-BvC5Bu5j.woff2)format("woff2");unicode-range:U+20,U+41,U+A0,U+C1-C2,U+301,U+401,U+410-44F,U+451,U+2116}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/zen-maru-gothic-latin-700-normal-CSiy1nnP.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2044,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/zen-maru-gothic-cyrillic-700-normal-BeZ5xGQt.woff2)format("woff2");unicode-range:U+20,U+41,U+A0,U+C1-C2,U+301,U+401,U+410-44F,U+451,U+2116}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/zen-maru-gothic-latin-900-normal-ClrOxROE.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+300-301,U+303,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+2044,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/zen-maru-gothic-cyrillic-900-normal-DhxCm-iq.woff2)format("woff2");unicode-range:U+20,U+41,U+A0,U+C1-C2,U+301,U+401,U+410-44F,U+451,U+2116}:root{--sunny-background:#fafbfe;--sunny-surface:#fff;--sunny-subtle:#f3efe7;--sunny-ink:#171c29;--sunny-muted:#666;--sunny-line:#ded9d0;--sunny-accent:#fc6;--sunny-accent-hover:#f90;--sunny-accent-active:#e6b34f;--sunny-accent-soft:#fff0d3;--sunny-on-accent:#30271d;--sunny-accent-ink:#76521f;--sunny-focus:#960;--sunny-loading-background:#f3efe7;--sunny-loading-ink:#625442;--sunny-danger:#b52a36;--sunny-danger-hover:#8c1c26;--sunny-on-danger:#fff;--sunny-dark-background:#201d19;--sunny-dark-surface:#29251f;--sunny-dark-subtle:#373128;--sunny-dark-ink:#f5f1e9;--sunny-dark-muted:#c0b7a9;--sunny-dark-line:#524a3e;--sunny-dark-accent:#fc6;--sunny-dark-accent-hover:#ffd98b;--sunny-dark-accent-active:#e6b34f;--sunny-dark-accent-soft:#443823;--sunny-dark-on-accent:#30271d;--sunny-dark-accent-ink:#fc6;--sunny-dark-focus:#fc6;--sunny-dark-loading-background:#373128;--sunny-dark-loading-ink:#ddd1be;--sunny-dark-danger:#eeaaa0;--sunny-dark-danger-hover:#f7c2b9;--sunny-dark-on-danger:#43221d;--font-heading:"Zen Kaku Gothic Antique", sans-serif;--font-body:"Zen Maru Gothic", sans-serif;font-family:var(--font-body);--type-hero-phone:700 34px/38px var(--font-heading);--type-hero-desktop:700 48px/52px var(--font-heading);--type-title-phone:700 24px/30px var(--font-heading);--type-title-desktop:700 28px/34px var(--font-heading);--type-title:var(--type-title-phone);--type-display:var(--type-hero-phone);--type-metric:700 24px/28px var(--font-heading);--type-headline:700 17px/22px var(--font-heading);--type-body:400 16px/24px var(--font-body);--type-control:700 15px/20px var(--font-body);--type-label:500 14px/20px var(--font-body);--type-meta:400 13px/18px var(--font-body);--type-caption:500 12px/16px var(--font-body)}:root,:root[data-theme=light]{--bg:var(--sunny-background);--surface:var(--sunny-surface);--surface-2:var(--sunny-subtle);--line:var(--sunny-line);--ink:var(--sunny-ink);--ink-2:var(--sunny-muted);--ink-3:var(--sunny-muted);--primary:var(--sunny-accent);--on-primary:var(--sunny-on-accent);--primary-hover:var(--sunny-accent-hover);--primary-active:var(--sunny-accent-active);--select:var(--sunny-accent-ink);--select-soft:var(--sunny-accent-soft);--brand:var(--sunny-accent-ink);--brand-soft:var(--sunny-accent-soft);--accent:var(--sunny-accent-ink);--accent-soft:var(--sunny-accent-soft);--focus:var(--sunny-focus);--danger:var(--sunny-danger);--danger-hover:var(--sunny-danger-hover);--on-danger:var(--sunny-on-danger);--loading-background:var(--sunny-loading-background);--loading-ink:var(--sunny-loading-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--line-strong:#b9ae9a;--mat:#d5c5aa;--mat-grid:#c0ac8b;--mat-grid-strong:#a48b65;--mat-ink:#403628;--paper:#fff;--fabric:#ede2cc;--piece-fill:#76521f14;--piece-stroke:#332c24;--ok:#625c37;--ok-soft:#f0eddc;--warn:#80551d;--warn-soft:#fff0d3;--warning:var(--warn);--warning-ink:var(--warn);--warning-soft:var(--warn-soft);--danger-soft:#f9e8e2;--halo:#ffffffb3;--palette-192e25:#403628;--palette-23624b:#76521f;--palette-2e5a4c:#d5c5aa;--palette-b8d1c3:#aa9677;--palette-486b59:#76644a;--e1:0 1px 2px #4036280a;--e2:0 8px 24px -6px #40362826}:root[data-theme=dark]{--bg:var(--sunny-dark-background);--surface:var(--sunny-dark-surface);--surface-2:var(--sunny-dark-subtle);--line:var(--sunny-dark-line);--ink:var(--sunny-dark-ink);--ink-2:var(--sunny-dark-muted);--ink-3:var(--sunny-dark-muted);--primary:var(--sunny-dark-accent);--on-primary:var(--sunny-dark-on-accent);--primary-hover:var(--sunny-dark-accent-hover);--primary-active:var(--sunny-dark-accent-active);--select:var(--sunny-dark-accent-ink);--select-soft:var(--sunny-dark-accent-soft);--brand:var(--sunny-dark-accent-ink);--brand-soft:var(--sunny-dark-accent-soft);--accent:var(--sunny-dark-accent-ink);--accent-soft:var(--sunny-dark-accent-soft);--focus:var(--sunny-dark-focus);--danger:var(--sunny-dark-danger);--danger-hover:var(--sunny-dark-danger-hover);--on-danger:var(--sunny-dark-on-danger);--loading-background:var(--sunny-dark-loading-background);--loading-ink:var(--sunny-dark-loading-ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--line-strong:#756a57;--mat:#302a20;--mat-grid:#443b2d;--mat-grid-strong:#61513b;--mat-ink:#ecdfc7;--paper:#f7f3eb;--fabric:#51432d;--piece-fill:#ffcc6620;--piece-stroke:#332c24;--ok:#c9c18f;--ok-soft:#35321f;--warn:#fc6;--warn-soft:#443823;--warning:var(--warn);--warning-ink:var(--warn);--warning-soft:var(--warn-soft);--danger-soft:#432923;--halo:#f5f1e999}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--sunny-dark-background);--surface:var(--sunny-dark-surface);--surface-2:var(--sunny-dark-subtle);--line:var(--sunny-dark-line);--ink:var(--sunny-dark-ink);--ink-2:var(--sunny-dark-muted);--ink-3:var(--sunny-dark-muted);--primary:var(--sunny-dark-accent);--on-primary:var(--sunny-dark-on-accent);--primary-hover:var(--sunny-dark-accent-hover);--primary-active:var(--sunny-dark-accent-active);--select:var(--sunny-dark-accent-ink);--select-soft:var(--sunny-dark-accent-soft);--brand:var(--sunny-dark-accent-ink);--brand-soft:var(--sunny-dark-accent-soft);--accent:var(--sunny-dark-accent-ink);--accent-soft:var(--sunny-dark-accent-soft);--focus:var(--sunny-dark-focus);--danger:var(--sunny-dark-danger);--danger-hover:var(--sunny-dark-danger-hover);--on-danger:var(--sunny-dark-on-danger);--loading-background:var(--sunny-dark-loading-background);--loading-ink:var(--sunny-dark-loading-ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--line-strong:#756a57;--mat:#302a20;--mat-grid:#443b2d;--mat-grid-strong:#61513b;--mat-ink:#ecdfc7;--paper:#f7f3eb;--fabric:#51432d;--piece-fill:#ffcc6620;--piece-stroke:#332c24;--ok:#c9c18f;--ok-soft:#35321f;--warn:#fc6;--warn-soft:#443823;--warning:var(--warn);--warning-ink:var(--warn);--warning-soft:var(--warn-soft);--danger-soft:#432923;--halo:#f5f1e999}}.app .ui-button.ui-button-primary{background:var(--primary);color:var(--on-primary);border-color:#0000}.app .ui-button.ui-button-primary:hover:not(:disabled){background:var(--primary-hover);color:var(--on-primary);border-color:#0000}.app .ui-button.ui-button-primary:active:not(:disabled){background:var(--primary-active);color:var(--on-primary)}.app .ui-button.ui-button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.app .ui-button.ui-button-secondary:hover:not(:disabled){background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}.app .ui-button.ui-button-secondary:active:not(:disabled),.app .ui-button.ui-button[aria-pressed=true]:not(:disabled),.app .ui-button.ui-button[aria-pressed=true]:hover:not(:disabled),.app .ui-button.ui-button[aria-pressed=true]:active:not(:disabled){background:var(--select-soft);color:var(--select);border-color:var(--select)}.app .ui-button.ui-button-ghost{color:var(--select);background:0 0}.app .ui-button.ui-button-ghost:hover:not(:disabled),.app .ui-button.ui-button-ghost:active:not(:disabled){background:var(--select-soft);color:var(--select);border-color:#0000}.app .ui-button.ui-button-danger{background:var(--danger);color:var(--on-danger);border-color:#0000}.app .ui-button.ui-button-danger:hover:not(:disabled),.app .ui-button.ui-button-danger:active:not(:disabled){background:var(--danger-hover);color:var(--on-danger);border-color:#0000}.app .ui-button.ui-button:disabled{opacity:1;background:var(--surface-2);color:var(--ink-2);border-color:var(--line)}.app .ui-button.ui-button[aria-busy=true]{background:var(--loading-background);color:var(--loading-ink);border-color:#0000}.app .flow-tabs button:disabled,.app .flow-history button:disabled{background:0 0;border-color:#0000}.app .flow-tabs [aria-current=page]{background:var(--select-soft);color:var(--select)}.app .flow-tabs button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.app .flow-tabs button:active:not(:disabled){background:var(--select-soft);color:var(--select)}.app :is(h1,h2,h3,.brand,.project-open h2,.pattern-outcome figcaption>strong){font-family:var(--font-heading)}.app .start:not(.returning) .intro h1{font-family:var(--font-heading);letter-spacing:-.03em}.app .pattern-outcome text{font-family:var(--font-body)}.app .project-preview{background:var(--mat)}.app .project-preview .thumbnail{color:var(--mat-ink)}.app .project-preview svg path{fill:var(--paper)}.app .scale-bar,.app .scale-bar small{color:var(--mat-ink)}.app .canvas-workspace{--fabric:var(--surface-2)}.app .ui-segmented>.ui-button[aria-pressed=true]{background:var(--surface);color:var(--ink);border-color:#0000}.app .ui-segmented>.ui-button:not([aria-pressed=true]){background:0 0;border-color:#0000}.app input.sr-only{border:0;width:1px;height:1px;min-height:0;padding:0}
