@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}:root{--page-accent-soft:var(--sunny-accent-soft);--page-muted:var(--sunny-muted);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--page-accent-soft:var(--sunny-dark-accent-soft);--page-muted:var(--sunny-dark-muted);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--ink);margin:0;font:16px/24px Zen Maru Gothic,sans-serif}main{box-sizing:border-box;max-width:760px;margin:0 auto;padding:24px 20px 64px}a{color:var(--select);text-underline-offset:3px}a:hover{color:var(--ink)}a:focus-visible{outline:2px solid var(--focus,var(--select));outline-offset:2px;border-radius:4px}main>a[href^=\/]:first-child{align-items:center;gap:6px;min-height:44px;margin-bottom:8px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}main>a[href^=\/]:first-child:before{content:"";border-bottom:1.75px solid;border-left:1.75px solid;width:7px;height:7px;transform:rotate(45deg)}h1{letter-spacing:-.01em;margin:0 0 24px;font:700 24px/30px Zen Kaku Gothic Antique,sans-serif}h2{border-top:1px solid var(--line);margin:24px 0 12px;padding-top:24px;font:500 14px/20px Zen Kaku Gothic Antique,sans-serif}h3{margin:20px 0 8px;font:700 16px/24px Zen Kaku Gothic Antique,sans-serif}p{margin:8px 0}ul,ol{margin:8px 0;padding-left:22px}li{margin:6px 0}li::marker{color:var(--page-muted)}strong{font-weight:700}code{background:var(--surface-2);border-radius:6px;padding:1px 5px;font-size:.9em}.placeholder{background:var(--page-accent-soft);color:var(--ink);border-radius:4px;padding:0 4px}nav ul{margin:0;padding:0;list-style:none}nav li{margin:0}nav li a{border-bottom:1px solid var(--line);min-height:44px;color:var(--ink);justify-content:space-between;align-items:center;gap:16px;text-decoration:none;display:flex}nav li a:after{content:"";border-top:1.75px solid;border-right:1.75px solid;flex:none;width:7px;height:7px;margin-right:6px;transform:rotate(45deg)}nav li a:hover{color:var(--select)}kbd{border:1px solid var(--line);background:var(--surface-2);min-width:1.6em;font:inherit;text-align:center;border-radius:6px;padding:0 6px;font-size:14px;line-height:22px;display:inline-block}table{border-collapse:collapse;width:100%;margin:12px 0}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px 10px 0}thead th{color:var(--page-muted);font:500 14px/20px Zen Kaku Gothic Antique,sans-serif}th[scope=row]{white-space:nowrap;font-weight:400}
