@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23736f66' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1b1a17;--ink-2:#3f3d38;--text-2:#57544d;--muted:#736f66;--faint:#aca89e;--line:#e7e4dd;--line-strong:#d7d3ca;--hover:#f6f5f1;--field:var(--hover);--chip:#ecebe6;--paper:#eceae5;--surface:#fff;--bar:var(--ink);--bar-text:#f2f0ea;--bar-muted:#a9a59b;--bar-faint:#8a8579;--bar-line:#34322d;--bar-hover:#2c2a26;--bar-dim:#5a574f;--bar-chip:#3a3833;--bar-focus:#8aa6e8;--accent:#2b59c3;--accent-hover:#244ea9;--accent-soft:#e9eefa;--accent-line:#c5d2ef;--accent-text:var(--accent);--focus:var(--accent);--danger-fg:var(--danger);--selected-bg:var(--ink);--selected-text:var(--on-solid);--logo-deep:var(--accent);--logo-light:#9fb8f2;--danger:#b8352b;--danger-hover:#9e2c23;--danger-soft:#fbeae8;--danger-line:#e8b4ae;--danger-text:#7a2119;--warning-soft:#fdf3dc;--warning-line:#e9cf8f;--pending:#9a6418;--on-solid:#fff;--warn:#d0602a;--warn-text:#e8a47f;--good:#2a7d4f;--good-soft:#e3f1e8;--good-text:#1f6340;--flow-high:#d0602a;--flow-medium:#e6a27c;--flow-low:#efc3a6;--thumb:var(--surface);--shadow-pop:0 10px 30px #1b1a1729;--shadow-float:0 4px 14px #1b1a171f;--shadow-dialog:0 20px 60px #1b1a174d;--shadow-sheet:0 -6px 20px #1b1a171a;--shadow-knob:0 1px 1px #1b1a1733;--scrim:#1b1a1752;--note:#1b1a17db;--switch-off:#d3cfc6;--switch-off-hover:#c5c0b6;--paper-grid:#e2e0da;--paper-grid-minor:#eeede9;--hatch-aisle:#d4a01773;--hatch-keepout:#dc262673;--series-1:#2a78d6;--series-2:#eb6834;--grid-line:var(--chip);--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--h-control:36px;--h-field:36px;--h-compact:32px;--h-compact-field:32px;--r-mark:2px;--r-small:4px;--r-control:8px;--r-track:calc(var(--r-control) + 3px);--r-card:12px;--r-sheet:16px;--r-pill:999px;--h-row:32px;--h-float:36px;--h-float-button:32px;font-family:var(--font);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.45}:root[data-theme=dark]{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a9a59b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e6e3db;--ink-2:#cfcabe;--text-2:#b9b4a8;--muted:#a9a59b;--faint:#6f6b63;--line:#34322d;--line-strong:#46433d;--hover:#2a2825;--chip:#34322d;--paper:#161513;--surface:#1f1e1b;--bar:#121110;--bar-line:#3a3833;--bar-hover:#32302c;--bar-chip:#3f3d38;--accent-hover:#3a68d4;--accent-soft:#1e2a44;--accent-line:#34497a;--accent-text:#8aa6e8;--focus:#8aa6e8;--danger-soft:#3a1f1c;--danger-line:#6b2f29;--danger-text:#f5b3ac;--danger-fg:#f0897f;--warning-soft:#3a2f17;--warning-line:#6b5523;--pending:#e0b062;--good:#5fc690;--good-soft:#1c3326;--good-text:#7fd3a2;--flow-high:#ef8a55;--flow-medium:#9c6a50;--flow-low:#68442f;--thumb:#4a4741;--selected-bg:#e6e3db;--selected-text:#1b1a17;--shadow-pop:0 10px 30px #00000080;--shadow-float:0 4px 14px #00000073;--shadow-dialog:0 20px 60px #0009;--shadow-sheet:0 -6px 20px #0006;--shadow-knob:0 1px 1px #0006;--scrim:#0000008c;--note:#0a0a09e6;--switch-off:#46433d;--switch-off-hover:#57534c;--paper-grid:#2e2c28;--paper-grid-minor:#262421}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.012em;margin:0;font-size:20px;font-weight:600;line-height:28px}h2{margin:0 0 8px;font-size:14px;font-weight:600}h3{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:600}code{font-family:var(--mono)}kbd{font-family:var(--mono);color:var(--muted);font-size:11px}button,.button{font:inherit;height:var(--h-control);border-radius:var(--r-control);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;flex-direction:row;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{background:var(--hover);text-decoration:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,.button:focus-within,a:focus-visible,input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,input[type=range]:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.app-bar :focus-visible,.editor-bar :focus-visible{outline-color:var(--bar-focus)}.segmented button:focus-visible,.button-group .bar-icon:focus-visible,.page-tabs button:focus-visible,.inspector-tabs button:focus-visible{outline-offset:-2px}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-solid)}button.primary:hover:not(:disabled),.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{color:var(--danger-fg)}button.danger-solid{background:var(--danger);border-color:var(--danger);color:var(--on-solid)}button.danger-solid:hover:not(:disabled){background:var(--danger-hover)}button.ghost,.button.ghost{color:var(--text-2);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--hover);color:var(--ink)}button.subtle{color:var(--muted);font-weight:400}button.small,.button.small{height:var(--h-compact);padding:0 8px;font-size:12px}button.block{width:100%;margin:4px 0}button.link{height:auto;color:var(--accent-text);background:0 0;border:0;padding:0;font-size:12px;font-weight:400}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.danger-text{color:var(--danger)!important}.icon-button{width:var(--h-control);height:var(--h-control);border-radius:var(--r-control);color:var(--muted);background:0 0;border:0;padding:0}.icon-button:hover:not(:disabled){background:var(--hover);color:var(--ink)}.icon-button.on{color:var(--accent-text)}.row-menu{width:var(--h-compact);height:var(--h-compact);color:var(--muted)}.row-menu:hover:not(:disabled),.row-menu.open{background:var(--chip);color:var(--text-2)}input,select,textarea{font:inherit;color:var(--ink);background-color:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-control);height:var(--h-field);width:100%;min-width:0;padding:0 10px;font-size:13px;font-weight:400}::placeholder{color:var(--muted);opacity:1}select:where(:not([multiple]):not([size])){appearance:none;background-image:var(--select-chevron);background-position:right 10px center;background-repeat:no-repeat;background-size:14px 14px;padding:0 30px 0 10px}select:disabled{background-image:none}textarea{resize:vertical;height:auto;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input:disabled,select:disabled,textarea:disabled{color:var(--text-2);background-color:var(--hover)}input[type=checkbox],input[type=radio]{width:14px;height:14px;accent-color:var(--accent);box-shadow:none;flex:none;margin:0}input[type=range]{height:auto;accent-color:var(--accent);box-shadow:none;border:0;padding:0}input[type=color]{height:var(--h-field);padding:2px}label,.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:12px;font-weight:500;display:flex}.field>span{color:var(--muted);font-size:12px;font-weight:500}.field-hint{font-weight:400}label.checkbox{color:var(--ink);flex-direction:row;align-items:center;gap:8px;font-size:13px;font-weight:400}label.compact{margin-top:6px}.length-input{align-items:center;display:flex;position:relative}.length-input input{font-family:var(--mono);padding-right:28px;font-size:13px}.length-input input::placeholder{font-family:var(--font)}.length-input .suffix{font-family:var(--mono);color:var(--muted);pointer-events:none;font-size:12px;position:absolute;right:10px}.length-input.invalid input,.length-input.invalid{border-color:var(--danger)!important}.length-input.no-suffix input{padding-right:10px}.length-hint{z-index:5;border-radius:var(--r-small);background:var(--surface);color:var(--danger-fg);padding:3px 6px;font-size:11px;line-height:1.3;position:absolute;top:calc(100% + 2px);left:0;right:0;box-shadow:0 1px 4px #00000026}.length-input.has-prefix{height:var(--h-compact-field);border-radius:var(--r-control);background:var(--field);border:1px solid #0000}.length-input.has-prefix:hover{border-color:var(--line-strong)}.length-input.has-prefix:focus-within{border-color:var(--focus);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.length-input.has-prefix .prefix{text-align:center;min-width:22px;color:var(--muted);flex:none;padding:0 2px;font-size:12px}.length-input.has-prefix input,.length-input.has-prefix select{height:100%;box-shadow:none;font-family:var(--mono);background-color:#0000;border:0;flex:1;padding:0 4px 0 0;font-size:12px}.length-input.has-prefix select{background-position:right 8px center;padding:0 24px 0 0}.length-input.has-prefix .suffix{color:var(--muted);padding-right:8px;font-size:12px;position:static}progress{width:100%;accent-color:var(--accent)}.segmented{border-radius:var(--r-track);background:var(--chip);gap:2px;padding:3px;font-size:12px;display:inline-flex}.segmented button{height:calc(var(--h-compact) - 4px);border-radius:var(--r-control);color:var(--text-2);background:0 0;border:0;padding:0 10px;font-size:12px;font-weight:500}.segmented button:hover:not(:disabled){color:var(--ink);background:0 0}.segmented button.active,.segmented button.active:hover:not(:disabled){background:var(--thumb);color:var(--ink);box-shadow:0 1px 2px #1b1a1724, 0 0 0 1px var(--line);font-weight:600}.switch{border-radius:var(--r-pill);background:var(--switch-off);border:0;flex:none;width:28px;height:16px;padding:0;transition:background .15s;position:relative}.switch:hover:not(:disabled){background:var(--switch-off-hover)}.switch.on,.switch.on:hover:not(:disabled){background:var(--accent)}.switch-knob{background:var(--surface);width:12px;height:12px;box-shadow:var(--shadow-knob);border-radius:50%;transition:left .15s;position:absolute;top:2px;left:2px}.switch.on .switch-knob{left:14px}.tag{border-radius:var(--r-small);height:20px;color:var(--text-2);background:var(--chip);white-space:nowrap;align-items:center;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.avatar{background:var(--chip);width:28px;height:28px;color:var(--text-2);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.avatar-dark{background:var(--bar-chip);width:28px;height:28px;color:var(--bar-text);font-size:11px}.muted{color:var(--muted)}.small{font-size:12px}.nowrap{white-space:nowrap}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>label,.row>input{flex:1}.row>progress{flex:1;width:auto;min-width:0}.alert{border-radius:var(--r-control);border:1px solid var(--line-strong);background:var(--hover);margin:8px 0;padding:8px 12px;font-size:13px}.alert.error{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-text)}.alert.warning{background:var(--warning-soft);border-color:var(--warning-line)}.alert.invitation{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.invitation-text{flex:320px;min-width:0}.invitation-actions{gap:8px;margin-left:auto;display:flex}.alert.banner{border-width:0 0 1px;border-radius:0;align-items:center;gap:12px;margin:0;display:flex}.crash{gap:8px;max-width:520px;display:grid}.crash p{margin:0}.crash-detail{font-family:var(--mono);overflow-wrap:anywhere;font-size:12px}.crash-actions{flex-wrap:wrap;gap:8px;display:flex}.canvas-crash{background:var(--paper);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.empty{color:var(--muted);text-align:center;padding:40px 12px}.better{color:var(--good);font-weight:500}.worse{color:var(--danger-fg)}.divider{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.list{margin:0;padding:0;list-style:none}@media (width>=901px){.mobile-only-cell{display:none}.mobile-only,.mobile-only-flex{display:none!important}}@media (width<=900px){.desktop-only,.desktop-only-cell{display:none!important}}.menu{display:inline-flex;position:relative}.menu-panel{z-index:40;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-card);min-width:180px;box-shadow:var(--shadow-pop);color:var(--ink);text-align:left;flex-direction:column;padding:3px;font-size:13px;display:flex;position:absolute;top:calc(100% + 6px)}.menu-panel.align-end{right:0}.menu-panel.align-start{left:0}.menu-item{width:100%;height:var(--h-row);border-radius:var(--r-control);color:var(--ink);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;padding:0 10px;font-size:13px;font-weight:400;display:flex}.menu-item:has(.menu-item-hint){height:auto;padding:6px 10px}.menu-panel:has(.menu-item-hint){min-width:max-content}.menu-item-text{flex-direction:column;display:flex}.menu-item-hint{color:var(--muted);font-size:12px}.menu-item-check{color:var(--accent);margin-left:auto}.menu-item:hover:not(:disabled){background:var(--hover)}.menu-item.danger{color:var(--danger-fg)}.menu-separator{background:var(--line);height:1px;margin:4px -4px}.account-trigger{background:0 0;border:0;border-radius:50%;width:auto;height:auto;padding:0}.account-trigger:hover:not(:disabled){background:0 0}.account-trigger.open{box-shadow:0 0 0 2px var(--bar), 0 0 0 3.5px var(--bar-focus)}.account-panel{width:260px;padding:0}.account-who-group{border-bottom:1px solid var(--line);padding:4px}.menu-item.account-who{gap:10px;height:auto;padding:8px 10px}.account-who-text{flex-direction:column;flex:1;min-width:0;display:flex}.account-who-chevron{color:var(--muted);flex:none}.menu-item.account-who:hover .account-who-chevron{color:var(--ink)}.account-name{font-size:13px;font-weight:600}.account-email{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.account-settings{border-bottom:1px solid var(--line);padding:6px 0}.account-row{justify-content:space-between;align-items:center;padding:6px 14px;display:flex}.account-actions{padding:4px}.menu-panel>.account-row{gap:16px;padding:6px 10px}.account-facts{grid-template-columns:max-content minmax(0,1fr);gap:8px 24px;margin:0;font-size:13px;display:grid}.account-facts dt{color:var(--muted)}.account-facts dd{align-items:center;margin:0;display:flex}.app{flex-direction:column;height:100%;display:flex}.app-main{flex:1;min-height:0;overflow:auto}.app-bar{height:calc(44px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0 16px;background:var(--bar);color:var(--bar-text);z-index:10;flex:none;align-items:center;display:flex;position:relative}.app-bar,.editor-bar{--logo-deep:var(--bar-text)}.brand{color:var(--bar-text);white-space:nowrap;align-items:center;gap:6px;margin-right:22px;font-size:13px;font-weight:600;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{flex:none;display:block}.brand-mark-deep{fill:var(--logo-deep)}.brand-mark-light{fill:var(--logo-light)}.app-nav{align-self:stretch;display:flex}.app-nav a{color:var(--bar-muted);align-items:center;padding:0 10px;font-size:13px;font-weight:500;display:flex;position:relative}.app-nav a:hover{color:var(--bar-text);text-decoration:none}.app-nav a.active{color:var(--bar-text)}.app-nav a.active:after{content:"";background:var(--bar-text);height:2px;position:absolute;bottom:0;left:10px;right:10px}.app-bar-end{align-items:center;gap:6px;margin-left:auto;display:flex}.page{--gutter:max(28px, calc((100% - 1160px) / 2));background:var(--surface);min-height:100%}.page-header{padding:28px var(--gutter) 20px;border-bottom:1px solid var(--line)}.page-header.with-breadcrumb{padding-top:20px}.page-header.with-tabs{padding-bottom:0}.page-header:not(.with-tabs){border-bottom:0}.breadcrumb{margin-bottom:4px;font-size:12px;display:flex}.breadcrumb a{color:var(--muted);align-items:center;gap:2px;display:inline-flex}.breadcrumb a:hover{color:var(--ink);text-decoration:none}.breadcrumb-sep{color:var(--faint);margin-left:6px}.page-header-row{align-items:flex-start;gap:16px;min-height:32px;display:flex}.page-heading{flex:1;min-width:0}.page-title{align-items:center;gap:10px;min-width:0;min-height:32px;display:flex}.page-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:24px;line-height:32px;overflow:hidden}.count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.page-title .count{font-size:14px;font-weight:400}.page-description{max-width:72ch;color:var(--muted);margin:2px 0 0;font-size:13px}.page-actions,.page-actions-inner{flex:none;gap:8px;margin-left:auto;display:flex}.page-tabs{scrollbar-width:none;gap:20px;margin-top:14px;display:flex;overflow-x:auto}.page-tabs::-webkit-scrollbar{display:none}.page-tabs button{height:auto;color:var(--muted);background:0 0;border:0;border-radius:0;align-items:baseline;padding:0 0 10px;font-size:13px;position:relative}.page-tabs button:hover:not(:disabled){color:var(--ink);background:0 0}.page-tabs button .count{font-size:12px}.page-tabs button.active{color:var(--ink)}.page-tabs button.active .count{color:var(--text-2)}.page-tabs button.active:after{content:"";background:var(--ink);height:2px;position:absolute;bottom:0;left:0;right:0}.page-body{padding:8px calc(var(--gutter) - 12px) 40px}.list-toolbar{align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.search-field{width:280px;max-width:100%;position:relative}.search-field-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-field input{appearance:none;padding-left:32px;padding-right:var(--h-field)}.search-field input::-webkit-search-cancel-button{appearance:none}.search-field input::-webkit-search-decoration{appearance:none}.search-clear{width:var(--h-field);height:var(--h-field);place-items:center;display:grid;position:absolute;top:0;right:0}.icon-button.search-clear:hover:not(:disabled){background:0 0}@media (hover:hover){.icon-button.search-clear:hover:not(:disabled){color:var(--ink)}}.data-table .cell-num{text-align:right;font-variant-numeric:tabular-nums}.data-table td.cell-num{color:var(--text-2)}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;height:34px;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:0 12px;font-size:12px;font-weight:500}.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;height:52px;padding:0 12px}.data-table .col-fill{width:100%;max-width:0}.data-table .col-menu{width:28px;padding-right:8px}.data-table tr.clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}@media (hover:hover){.data-table tr.clickable:hover td{background:var(--hover)}}.data-table tr.clickable:active:not(:has(.menu:active)){background:var(--chip)}.data-table tr.clickable:active:not(:has(.menu:active)) td{background:var(--chip)}.list-note{color:var(--text-2);margin:0;padding:4px 12px 12px}.layout-table td{height:88px}.layout-table .cell-thumb{width:120px;padding-right:4px}.layout-thumb{border-radius:var(--r-control);background:var(--paper);width:104px;height:68px;box-shadow:inset 0 0 0 1px var(--line);display:block;overflow:hidden}.layout-thumb .plan-preview{width:100%;height:100%;display:block}.layout-updated{color:var(--muted);margin-top:2px;font-size:12px;display:block}.layout-table .cell-action{width:40px;padding:0 4px 0 0}@media (hover:none){.row-link:hover{text-decoration:none}}.name-line{align-items:baseline;gap:12px;min-width:0;display:flex}.row-link{color:var(--ink);white-space:nowrap;font-weight:500}.secondary{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.placeholder{color:var(--muted)}.cell-date{color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.cell-action{text-align:right}.compact-select{height:var(--h-compact);width:110px;font-size:13px}.table-note{max-width:72ch;color:var(--muted);margin:0;padding:14px 12px;font-size:12px}.person{align-items:center;gap:10px;min-width:0;display:flex}.person-text{min-width:0;line-height:1.35}.person-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.you{color:var(--muted);font-weight:400}a.you:hover{color:var(--ink)}.person-email{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}tr.pending .avatar{border:1px dashed var(--line-strong);background:0 0}tr.inactive .person{opacity:.5}.status-toggle{align-items:center;gap:8px;font-size:13px;display:inline-flex}tr.inactive .status-toggle{color:var(--muted)}.plan-preview{width:100%;height:100%;display:block}.settings{padding:0 12px}.settings-section{border-bottom:1px solid var(--line);grid-template-columns:280px minmax(0,520px);gap:48px;padding:24px 0;display:grid}.settings-section:last-child{border-bottom:0}.settings-intro h2{margin:0 0 4px;font-size:13px}.settings-intro p{color:var(--muted);margin:0;font-size:12px}.settings-fields{flex-direction:column;gap:16px;display:flex}.settings-submit{justify-content:flex-end;display:flex}.dialog-backdrop{z-index:100;background:var(--scrim);justify-content:center;align-items:flex-start;padding:110px 16px 16px;display:flex;position:fixed;inset:0;overflow:auto}.dialog{background:var(--surface);border-radius:var(--r-card);max-width:100%;box-shadow:var(--shadow-dialog);border:1px solid var(--line-strong)}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:48px;padding:0 8px 0 18px;display:flex}.dialog-header h2{white-space:nowrap;margin:0;font-size:14px}.dialog-body{flex-direction:column;gap:16px;padding:18px;display:flex}.dialog-body p,.dialog-body .alert{margin:0}.dialog-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.dialog-footer-start{margin-right:auto}.field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dialog-note{color:var(--muted);font-size:12px}.dialog-list{margin:6px 0 0;padding-left:18px}.error-text{color:var(--danger-fg)}.login{background-color:var(--paper);place-items:center;min-height:100%;padding:16px 16px 8vh;display:grid}.login-column{flex-direction:column;gap:24px;width:min(360px,100%);display:flex}.login-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-card);box-shadow:none;flex-direction:column;gap:20px;padding:32px;display:flex}.login-card p{margin:0}.login-brand{letter-spacing:-.012em;color:var(--ink);justify-content:center;align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.login-heading{text-align:center;flex-direction:column;gap:4px;display:flex}.login-heading p{text-wrap:balance;font-size:13px}.login-note{color:var(--muted);font-size:12px;font-weight:500}.login-form button{height:36px;margin-top:4px}.login-providers{flex-direction:column;gap:8px;display:flex}.button.provider{gap:10px;height:36px}.login-guest{text-align:center;text-wrap:balance;margin:0;font-size:13px}.editor{height:100%;color:var(--ink);background:var(--surface);flex-direction:column;display:flex}.editor-bar{height:calc(44px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0 16px;background:var(--bar);color:var(--bar-text);z-index:20;flex:none;align-items:center;gap:10px;display:flex;position:relative}.editor-bar .brand{margin:0}.editor-crumbs{align-items:center;gap:8px;min-width:0;margin-left:8px;font-size:13px;display:flex}.crumb{max-width:260px;color:var(--bar-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.crumb:hover{color:var(--bar-text);text-decoration:none}.crumb-sep{color:var(--bar-dim)}.title-block{min-width:0}.title-input{field-sizing:content;width:auto;min-width:6ch;max-width:360px;height:var(--h-compact);border-radius:var(--r-control);color:var(--bar-text);background:0 0;border:0;margin:0 -6px;padding:0 6px;font-size:13px;font-weight:500}.title-input:hover:not(:disabled){background:var(--bar-hover);box-shadow:0 0 0 1px var(--bar-dim)}.title-input:focus{background:var(--bar-hover);box-shadow:0 0 0 1px var(--bar-focus)}.title-input:disabled{color:var(--bar-text);background:0 0}.editor-bar .bar-tag{color:var(--bar-muted);background:var(--bar-chip);flex:none}.bar-end{align-items:center;gap:2px;margin-left:auto;display:flex}.bar-group{align-items:center;gap:2px;display:flex}.bar-icon{width:var(--h-compact);height:var(--h-compact);border-radius:var(--r-control);color:var(--bar-muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.editor-bar .bar-icon:hover:not(:disabled),.editor-bar .bar-icon.open{background:var(--bar-hover);color:var(--bar-text)}.editor-bar .bar-icon:disabled{opacity:1;color:var(--bar-dim)}.bar-divider{background:var(--bar-line);width:1px;height:18px;margin:0 8px}.bar-button{height:28px;color:var(--bar-text);background:0 0;border-color:#0000;gap:4px;padding:0 8px 0 10px;font-size:12px}.bar-button:hover:not(:disabled),.bar-button.open{background:var(--bar-hover)}.bar-save{min-width:72px;height:28px;margin:0 0 0 12px;padding:0 12px;font-size:12px}.bar-account{margin-left:12px}.editor-bar .bar-save:disabled{opacity:.75}.editor-main{flex:1;grid-template-rows:minmax(0,1fr);min-height:0;display:grid}.canvas-area{grid-area:canvas;min-width:0;min-height:0;position:relative;overflow:hidden}.canvas-wrap{background:var(--paper);flex-direction:column;display:flex;position:absolute;inset:0}.canvas-viewport{flex:1;min-height:0;position:relative}.canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:default;width:100%;height:100%;display:block;position:absolute;inset:0}.canvas.tool-pan,.canvas.panning{cursor:grab}.canvas.tool-wall,.canvas.tool-area,.canvas.tool-column,.canvas.tool-measure,.canvas.tool-equipment,.canvas.tool-stair,.canvas.tool-lift,.canvas.tool-door,.canvas.tool-double_door,.canvas.tool-sliding_door,.canvas.tool-window,.canvas.tool-dock{cursor:crosshair}.canvas.tool-flow{cursor:alias}.canvas .layer.locked{pointer-events:none}.canvas.tool-select .equipment{cursor:move}.canvas .handle{fill:var(--surface);stroke:var(--accent);cursor:grab}.canvas text{font-family:var(--font)}.button-group,.level-switch select,.chip{border:1px solid var(--line-strong);border-radius:var(--r-card);background-color:var(--surface);box-shadow:var(--shadow-float)}.tool-hint,.draft-note{border-radius:var(--r-control)}.canvas-controls{z-index:5;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.canvas-controls>*{pointer-events:auto}.controls-end{margin-left:auto}.button-group .bar-icon[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text)}.button-group{display:flex;overflow:hidden}.controls-end .menu{position:static}.button-group:has(.menu){overflow:visible}.button-group:has(.menu)>.bar-icon:first-child{border-radius:calc(var(--r-card) - 1px) 0 0 calc(var(--r-card) - 1px)}.button-group:has(.menu)>.bar-icon:last-child{border-radius:0 calc(var(--r-card) - 1px) calc(var(--r-card) - 1px) 0}.button-group .bar-icon{background:var(--surface);width:44px;height:44px;color:var(--ink-2);border-radius:0}.button-group .bar-icon+.bar-icon,.button-group .menu+.bar-icon,.button-group .bar-icon+.menu>.bar-icon{border-left:1px solid var(--line)}.button-group .bar-icon:disabled{color:var(--faint)}.tool-hint{background:var(--note);max-width:calc(100% - 48px);color:var(--bar-text);text-align:center;pointer-events:none;z-index:4;padding:6px 12px;font-size:12px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.chip{height:var(--h-float);padding:0 12px}.draft-actions{z-index:6;gap:8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.draft-note{height:var(--h-float);background:var(--note);color:var(--bar-text);align-items:center;padding:0 12px;font-size:13px;display:inline-flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.level-switch{min-width:0;display:flex;position:relative}.level-switch select{width:auto;height:var(--h-float);color:var(--ink);background-position:right 12px center;padding:0 32px 0 12px;font-weight:500}.level-switch select:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-float)}.item-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.item-list li{align-items:center;gap:4px;display:flex}.item-list .item-row{border-radius:var(--r-control);min-width:0;min-height:36px;color:var(--text-2);font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 8px;font-size:13px;font-weight:400;line-height:1.3;display:flex}.item-list button.item-row:hover:not(:disabled){background:var(--hover);color:var(--ink)}.item-list li.current .item-row,.item-list li.current button.item-row:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text);font-weight:600}.item-list li.muted .item-row{color:var(--faint)}.item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.item-value{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;margin-left:4px;font-size:12px;font-weight:400}.props-advanced>.item-list{padding:0 8px 8px}.item-list:not(:has(.icon-button)) .item-action{display:none}.item-action,.item-list .icon-button{width:var(--h-control);height:var(--h-control);flex:none}.item-list .icon-button.blocked{color:var(--faint)}.item-list .icon-button.blocked:hover{color:var(--muted);background:0 0}.item-fields{margin-top:12px}.item-copy{margin-top:10px}.unit-note{color:var(--muted);pointer-events:none;margin:0;font-size:11px;position:absolute;bottom:10px;left:12px}.cursor-readout{height:var(--h-float);border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-float);font-family:var(--mono);color:var(--text-2);white-space:nowrap;align-items:center;gap:2px;padding:0 3px 0 12px;font-size:12px;display:flex}.status-cursor{white-space:pre;font-variant-numeric:tabular-nums;min-width:20ch}.status-cursor.ft-in{min-width:30ch}.status-cursor.small-units{min-width:28ch}.snap-toggle{width:var(--h-float-button);height:var(--h-float-button);border-radius:var(--r-control);color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.snap-toggle:hover:not(:disabled){background:var(--hover);color:var(--ink)}.snap-toggle[aria-pressed=true],.snap-toggle[aria-pressed=true]:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.snap-toggle:disabled{opacity:1}@media (width>=901px){.unit-note{display:none}}.zoom-value{text-align:center;min-width:36px}.canvas-area .toast{position:absolute;bottom:44px}.tool-dock-wrap{z-index:8;background:var(--surface);border-right:1px solid var(--line);grid-area:dock;position:relative}.tool-dock{scrollbar-width:none;flex-direction:column;align-items:center;gap:2px;height:100%;padding:8px 0;display:flex;overflow-y:auto}.tool-dock::-webkit-scrollbar{display:none}.dock-slot{flex-direction:column;align-items:center;display:flex}.dock-divider{background:var(--line);width:24px;height:1px;margin:6px 0 8px}.dock-button{border-radius:var(--r-control);width:36px;height:36px;color:var(--ink-2);background:0 0;border:0;flex:none;padding:0;position:relative}.dock-button:hover:not(:disabled){background:var(--hover)}.dock-button.active,.dock-button.active:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.dock-caret{opacity:.5;border-bottom:3.5px solid;border-left:3.5px solid #0000;width:0;height:0;position:absolute;bottom:4px;right:4px}.dock-picker{left:calc(100% + 6px);top:var(--picker-top,8px);max-height:calc(100% - var(--picker-top,8px) - 8px);border-radius:var(--r-card);border:1px solid var(--line-strong);background:var(--surface);width:max-content;max-width:calc(100vw - 16px);box-shadow:var(--shadow-pop);z-index:30;flex-direction:column;gap:2px;padding:3px;display:flex;position:absolute;overflow-y:auto}.picker-option{border-radius:var(--r-control);background:0 0;border:0;justify-content:flex-start;gap:8px;height:32px;padding:0 10px;font-weight:400}.picker-option.active,.picker-option.active:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.zone-swatch{border-radius:var(--r-mark);border:1px solid var(--line-strong);width:16px;height:16px}.zone-swatch.zone-aisle{background-image:repeating-linear-gradient(45deg, transparent 0 3px, var(--hatch-aisle) 3px 4px)!important}.zone-swatch.zone-keepout{background-image:repeating-linear-gradient(-45deg, transparent 0 3px, var(--hatch-keepout) 3px 4px)!important}.dock-picker.library{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));width:min(560px,100vw - 80px);max-height:min(460px,100dvh - 120px);padding:6px;display:grid;overflow-y:auto}.library-item{border-radius:var(--r-control);white-space:normal;text-align:center;background:0 0;border:1px solid #0000;flex-direction:column;gap:4px;height:auto;padding:8px 6px;font-size:12px;font-weight:400}.library-item.active{background:var(--accent-soft)}.symbol-thumb{width:100%;height:52px}.inspector{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;grid-area:inspector;min-height:0;font-size:13px;display:flex}.sheet-peek{display:none}.inspector-body{flex-direction:column;flex:1;min-height:0;display:flex}.inspector-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.swatch-box{border:1px solid var(--line-strong);border-radius:var(--r-mark);background:var(--swatch,var(--muted));flex:none;width:14px;height:14px}.props input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),.props select{height:var(--h-compact-field);background-color:var(--field);border-color:#0000}.dialog input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),.dialog select{background-color:var(--field);border-color:#0000}.dialog input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]):hover,.dialog select:hover{border-color:var(--line-strong)}.dialog input:focus,.dialog select:focus{background-color:var(--surface)}.props input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):hover,.props select:hover{border-color:var(--line-strong)}.props input:focus,.props select:focus{background-color:var(--surface)}.props .length-input.has-prefix input,.props .length-input.has-prefix select{height:100%;box-shadow:none;background-color:#0000;border:0;font-size:12px}.props .length-input:not(.has-prefix) input{font-size:12px}.props input[type=number]{font-family:var(--mono);font-size:12px}.props :where(button:not(.link,.icon-button,.item-row,.switch)),.props .button{height:var(--h-compact);font-size:12px}.props-head{align-items:center;gap:6px;padding:12px 12px 0 6px;display:flex}.props-heading{flex:1;min-width:0}.plan-head{padding-left:16px}.props-subtitle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.props-actions{gap:2px;margin:-6px -6px -6px 0;display:flex}.props-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.props-section{padding:16px 16px 18px}.props-section-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.props-section-head h3{letter-spacing:0;text-transform:none;color:var(--ink);margin:0;font-size:14px}.props-section-head+.props-note{margin-top:0}.props-fieldset{border:0;min-width:0;margin:0;padding:0;display:block}.props .table{margin-top:4px}.props-grid{grid-template-columns:1fr 1fr;align-items:center;gap:8px;display:grid}.props-stack{flex-direction:column;gap:8px;display:flex}.props-note{color:var(--muted);margin:8px 0 0;font-size:12px}.props-note.warning{color:var(--danger-fg)}.props-note.proposal-lock{border-radius:var(--r-control);background:var(--accent-soft);color:var(--text-2);margin:12px 16px 0;padding:8px 10px}.revision-mark{color:var(--text-2);flex:none}input[type=date]{text-align:left;width:100%;min-width:0}input[type=date]::-webkit-date-and-time-value{text-align:left}.props-stack.spaced,.props-grid.spaced{margin-top:12px}.props-footer{flex-direction:column;gap:8px;padding:8px 16px 18px;display:flex}.props-footer>button{width:100%}.props-empty{color:var(--muted);padding:14px}.slider{grid-template-columns:1fr 90px 2rem;align-items:center;gap:6px;font-size:12px;display:grid}.slider>span{color:var(--muted)}.slider output{text-align:right;font-variant-numeric:tabular-nums}.status{font-weight:600}.status-failed{color:var(--danger-fg)}.status-running,.status-queued{color:var(--pending)}.status-cancelled{color:var(--faint)}.table{border-collapse:collapse;width:100%;font-size:12px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px}.table.compact td,.table.compact th{padding:4px}.table.compact input{width:4.5rem;height:var(--h-compact);font-family:var(--mono);padding:0 4px;font-size:12px}.table.compact button{height:var(--h-compact)}.table tr.total td{font-weight:500}.results td:not(:first-child),.results th:not(:first-child){text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}details.table-view summary{cursor:pointer;color:var(--text-2);font-size:12px}.toast{z-index:50;border-radius:var(--r-control);box-shadow:var(--shadow-float);background:var(--bar);color:var(--bar-text);padding:8px 14px;font-size:13px;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}.toast.error{background:var(--danger);color:var(--on-solid)}.help-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px 32px;display:grid}.help-grid dl{margin:0 0 18px;font-size:13px}.help-grid dl:last-child{margin-bottom:0}.help-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:30px;display:flex}.help-row:last-child{border-bottom:0}.help-grid dt{color:var(--ink)}.help-grid dd{color:var(--text-2);margin:0}.help-grid dd.gesture{text-align:right;font-size:12px}.keys,.key-alt,.key-chord{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.keys{gap:6px}.key-or,.key-plus{color:var(--muted);font-size:11px}.keys kbd{border:1px solid var(--line-strong);border-radius:var(--r-small);background:var(--surface);min-width:22px;height:22px;color:var(--ink-2);font-family:var(--font);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.viz-root{margin:4px 0}.energy-chart figcaption{color:var(--ink);font-size:12px;font-weight:600}.energy-chart .legend{color:var(--text-2);gap:14px;margin:2px 0;font-size:12px;display:flex}.energy-chart .legend span{align-items:center;gap:6px;display:inline-flex}.swatch.series-1{background:var(--series-1)}.swatch.series-2{background:var(--series-2)}.chart-box{position:relative}.chart-box svg{width:100%;height:auto;display:block}.energy-chart .gridline{stroke:var(--grid-line);stroke-width:1px}.energy-chart .tick,.energy-chart .direct-label{font-family:var(--mono);fill:var(--muted);font-size:11px}.energy-chart .direct-label{fill:var(--text-2)}.energy-chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.energy-chart .line.series-1{stroke:var(--series-1)}.energy-chart .line.series-2{stroke:var(--series-2);stroke-opacity:.85}.energy-chart .crosshair{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 2}.energy-chart .dot{stroke:var(--surface);stroke-width:2px}.energy-chart .dot.series-1{fill:var(--series-1)}.energy-chart .dot.series-2{fill:var(--series-2)}.chart-tooltip{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-control);box-shadow:var(--shadow-float);pointer-events:none;color:var(--ink);white-space:nowrap;padding:6px 8px;font-size:12px;position:absolute;top:4px}.chart-tooltip .tooltip-title{font-weight:600}.chart-tooltip .swatch{width:8px;height:8px}.menu-label{color:var(--muted);padding:8px 10px 4px;font-size:12px;font-weight:600}.menu-separator+.menu-label{padding-top:4px}.props-section-head h3{align-items:center;gap:4px;display:inline-flex}.help-toggle{border-radius:var(--r-pill);width:20px;height:20px;color:var(--faint);background:0 0;border:0;padding:0}.help-toggle:hover:not(:disabled),.help-toggle.open{color:var(--accent-text);background:0 0}.props-note.props-help{border-radius:var(--r-control);background:var(--hover);color:var(--text-2);margin:-4px 0 10px;padding:8px 10px}.dock-tip{z-index:40;border-radius:var(--r-small);background:var(--note);height:26px;color:var(--bar-text);white-space:nowrap;pointer-events:none;align-items:center;gap:8px;padding:0 8px;font-size:12px;font-weight:500;display:flex;position:absolute;left:calc(100% + 8px)}.dock-tip kbd{color:var(--bar-muted)}.library-head{color:var(--ink);grid-column:1/-1;padding:4px 6px 2px;font-size:13px;font-weight:600}.inspector-tabs{white-space:nowrap;border-radius:var(--r-track);background:var(--chip);border:0;flex:none;gap:2px;margin:12px 16px 8px;padding:3px;display:flex}.inspector-tabs button{height:32px;color:var(--text-2);background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:13px;font-weight:500;display:inline-flex}.inspector-tabs button:hover:not(:disabled):not(.active){color:var(--ink);background:0 0}.inspector-tabs button.active{background:var(--thumb);color:var(--ink);box-shadow:0 1px 2px #1b1a1724, 0 0 0 1px var(--line);font-weight:600}.props input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),.props select,.length-input.has-prefix{border-color:#0000}.props .length-input.has-prefix input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),.props .length-input.has-prefix select{height:100%;box-shadow:none;background-color:#0000;border:0}.props-advanced>summary{cursor:pointer;height:36px;color:var(--ink);justify-content:space-between;align-items:center;padding:0 16px;font-size:13px;list-style:none;display:flex}.props-section .props-advanced>summary{padding:0}.props-advanced>summary::-webkit-details-marker{display:none}.props-advanced>summary svg{color:var(--muted);transition:transform .12s}.props-advanced[open]>summary svg{transform:rotate(90deg)}.props-advanced>.props-section{border-bottom:0;padding-top:0}.segmented.wide{width:100%;display:flex}.segmented.wide button{flex:1;padding:0 4px}.slider{grid-template-columns:1fr 80px 4.25rem}.slider output{text-align:right;white-space:nowrap;font-size:12px}.swatch-row{grid-template-columns:repeat(9,minmax(0,1fr));justify-items:center;gap:6px;display:grid}.swatch-option{aspect-ratio:1;border-radius:var(--r-pill);background:var(--swatch);color:#fff;cursor:pointer;border:1px solid #1b1a171f;place-items:center;width:100%;max-width:28px;height:auto;padding:0;display:grid;position:relative}.swatch-option.light{color:var(--ink)}.swatch-option:hover:not(:disabled){background:var(--swatch);box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--line-strong)}.swatch-option[aria-checked=true],.swatch-option[aria-checked=true]:hover:not(:disabled){box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.swatch-custom{aspect-ratio:1;border:1px dashed var(--line-strong);border-radius:var(--r-pill);width:100%;max-width:28px;color:var(--muted);cursor:pointer;place-items:center;display:grid;position:relative}.swatch-custom:hover{border-color:var(--muted);color:var(--ink)}.swatch-custom.checked{background:var(--swatch);color:#fff;box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink);border:1px solid #1b1a171f}.swatch-custom.checked.light{color:var(--ink)}.swatch-custom input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.swatch-custom:focus-within{outline:2px solid var(--focus);outline-offset:2px}.color-field .props-note{margin-top:8px}@media (width<=900px){.swatch-option,.swatch-custom{max-width:36px}}.header-menu{border:1px solid var(--line-strong);color:var(--ink-2)}@media (width<=900px){:root{--h-control:40px;--h-field:44px;--h-compact:40px;--h-compact-field:44px;--h-row:44px;--h-float:46px;font-size:15px}input,select,textarea{font-size:16px}.brand-name{display:none}.brand{margin-right:12px}.app-bar{height:calc(48px + env(safe-area-inset-top,0px))}.app-nav a{font-size:15px}.page-header{padding:18px 16px 14px}.page-header.with-breadcrumb{padding-top:14px}.page-header h1{font-size:22px;line-height:28px}.page-header-row{flex-wrap:wrap;gap:6px 10px}.page-description{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.breadcrumb{font-size:14px}.page-tabs{gap:20px;margin-top:16px}.page-tabs button{font-size:15px}.page-body{padding:0 0 32px}.page-body>.alert{margin:12px 16px}.list-toolbar{padding:12px 16px 4px}.search-field{width:100%}.mobile-actions{grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px 0;display:grid}.mobile-actions span{display:contents}.mobile-actions>:only-child{grid-column:1/-1}.mobile-actions button,.mobile-actions .button{width:100%;font-size:15px}.data-table,.data-table tbody{display:block}.data-table thead{display:none}.data-table tr{border-bottom:1px solid var(--line);align-items:center;gap:6px 12px;padding:12px 16px;display:grid}.data-table td{border:0;min-width:0;height:auto;padding:0;display:block}.data-table .col-fill{width:auto;max-width:none}.data-table .col-menu{width:auto;padding:0}.layout-table tr{grid-template-columns:auto minmax(0,1fr) auto auto}.layout-table .layout-thumb{width:72px;height:48px}.layout-table .cell-none{display:none}.layout-table .cell-thumb,.layout-table .cell-action{width:auto;padding:0}.projects-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name menu""role menu"}.projects-table .cell-name{grid-area:name}.projects-table .cell-role{grid-area:role;align-items:center;gap:10px;display:flex}.projects-table .col-menu{grid-area:menu}.projects-table .name-line{flex-direction:column;align-items:stretch;gap:2px}.projects-table .row-link{text-overflow:ellipsis;font-size:15px;overflow:hidden}.list-toolbar{gap:10px}.list-toolbar .search-field{flex:1;min-width:0}.editor-main.sheet-open .unit-note{display:none}.members-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"person person""role action"}.members-table .cell-person{grid-area:person}.members-table .cell-role{grid-area:role;padding-left:52px}.members-table .cell-action{grid-area:action}.alert,.menu-panel,.menu-item,.account-name{font-size:15px}.account-email{font-size:14px}.users-table tr{grid-template-columns:minmax(0, 1fr) auto var(--h-control);grid-template-areas:"person person person""role status menu"}.users-table .cell-person{grid-area:person}.users-table .cell-role{grid-area:role;padding-left:52px}.users-table .cell-status{grid-area:status}.users-table .col-menu{grid-area:menu}.person .avatar{width:38px;height:38px;font-size:12px}.person{gap:14px}.person-name{font-size:15px}.person-email{font-size:14px}.person-extra{align-items:center;gap:8px;margin:4px 0 0 52px;font-size:14px;display:flex}tr.inactive .person-extra{opacity:.5}.switch{width:36px;height:22px}.switch-knob{width:18px;height:18px}.switch.on .switch-knob{left:16px}.table-note{padding:14px 16px}.settings{padding:0 16px}.settings-section{grid-template-columns:minmax(0,1fr);gap:12px}.settings-intro h2,.dialog-header h2{font-size:15px}.settings-intro p,.segmented button{font-size:14px}.login-form button,.button.provider{height:var(--h-field)}.dialog-backdrop{padding-top:48px}.editor-bar{height:calc(48px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0 16px;gap:4px}.bar-back,.editor-bar .bar-end .bar-icon{width:32px;height:32px;color:var(--bar-text);position:relative}.bar-back:before,.editor-bar .bar-end .bar-icon:before{content:"";position:absolute;inset:-6px}.bar-back{margin-right:6px}.editor-bar .bar-end .bar-icon{color:var(--bar-muted);margin-left:6px}.editor-crumbs{flex:1;margin:0}.title-block{flex:1}.title-input{text-overflow:ellipsis;width:100%;max-width:none;height:22px;margin:0;padding:0;font-size:15px;font-weight:600}.title-input:hover:not(:disabled),.title-input:focus{padding:0 4px}.bar-save{min-width:88px;height:32px;margin:0 2px 0 6px;padding:0 14px;font-size:14px;position:relative}.bar-save:before{content:"";position:absolute;inset:-6px -4px}.editor-main{grid-template:"canvas"minmax(0,1fr)"inspector"/minmax(0,1fr)}.unit-note{bottom:26px}.level-switch{flex:1}.level-switch select{text-overflow:ellipsis;width:100%;min-width:0}.tool-hint{max-width:calc(100% - 120px);top:68px;left:auto;right:12px;transform:none}.draft-actions{bottom:24px}.chip,.draft-note{font-size:14px}.level-switch select{font-size:16px}.canvas-area .toast{bottom:28px}.inspector{z-index:8;border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:var(--shadow-sheet);border-left:0;margin-top:-14px;font-size:14px;position:relative;overflow:hidden}.sheet-peek{display:block}.sheet-handle{background:0 0;border:0;border-radius:0;width:100%;height:18px;padding:8px 0 4px;display:flex}.sheet-handle:hover:not(:disabled){background:0 0}.sheet-handle span{border-radius:var(--r-mark);background:var(--line-strong);width:36px;height:4px}.sheet-summary{align-items:center;gap:8px;padding:2px 12px 12px 16px;display:flex}.sheet-title-button{text-align:left;background:0 0;border:0;flex:1;justify-content:flex-start;gap:10px;min-width:0;height:40px;padding:0}.sheet-title-button:hover:not(:disabled){background:0 0}.sheet-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.sheet-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.sheet-detail{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:400}.sheet-action{flex:none;width:44px;height:44px;margin:-2px 0;padding:0}.inspector-body{flex:none;height:52dvh;display:none}.sheet-open .inspector-body{display:flex}.inspector-tabs{margin:4px 16px 8px}.inspector-tabs button{height:38px;font-size:14px}.props-head{display:none}.props-section{border-bottom:0;padding:12px 16px 16px}.props-section-head h3,.props .length-input.has-prefix input,.props .length-input.has-prefix select,.props input[type=number]{font-size:16px}.props :where(button:not(.link,.icon-button,.item-row,.switch)),.props .button{font-size:14px}.item-list{gap:0}.item-list .item-row{min-height:var(--h-row)}.props-grid{gap:10px}.radio-row{grid-template-columns:20px minmax(0,1fr);column-gap:12px;padding:8px 0;font-size:15px}.radio-row input{width:20px;height:20px;margin-top:0}.radio-row .description{font-size:13px}.tool-dock-wrap,.tool-hint,.draft-actions{display:none}.canvas-area .toast{max-width:calc(100% - 140px)}.canvas-wrap:has(.tool-bar) .unit-note{bottom:118px}.canvas-area:has(.unit-note) .toast{bottom:48px}.canvas-area:has(.tool-bar) .toast{bottom:122px}.canvas-area:has(.tool-bar):has(.unit-note) .toast{bottom:140px}}.inspector-view-head{flex:none;align-items:center;gap:8px;height:56px;padding:0 10px 0 6px;display:flex}.inspector-view-head h2{flex:1;margin:0;font-size:15px}.plan-panel .props-note,.props-section-head+.props-note{color:var(--text-2);font-size:13px;line-height:1.45}.share-rows,.closeness-rows{margin:10px 0 0;padding:0;list-style:none}.closeness-row{width:100%;min-height:40px;color:var(--ink);line-height:1.35;font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;padding:3px 0;font-size:13px;font-weight:400;display:flex}.props button.closeness-row{border-radius:var(--r-control);width:calc(100% + 16px);height:auto;margin:0 -8px;padding:3px 8px}@media (hover:hover){.props button.closeness-row:hover:not(:disabled){background:var(--hover)}}.closeness-rows li.current .closeness-row{background:var(--accent-soft)}.closeness-pair{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.closeness-detail{color:var(--muted);font-size:12px}.share-row{border-radius:var(--r-control);width:calc(100% + 16px);color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 48px 36px;align-items:center;gap:10px;margin:0 -8px;padding:0 8px;font-weight:400;display:grid}.props .share-row{height:30px;font-size:13px}.share-row:hover:not(:disabled){background:0 0}@media (hover:hover){.share-row:hover:not(:disabled){background:var(--hover)}}.share-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.share-bar{border-radius:var(--r-mark);background:var(--chip);height:4px;overflow:hidden}.share-bar>span{background:var(--flow-high);height:100%;display:block}.share-row-value{text-align:right;font-variant-numeric:tabular-nums}.flow-table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:calc(100% + 16px);margin:8px -8px 0;font-size:13px}.flow-table th{height:28px;color:var(--muted);text-align:right;padding:0 6px;font-size:12px;font-weight:400}.flow-table th:first-child,.flow-table td:first-child{text-align:left;padding-left:8px}.flow-table th:nth-child(3){width:46px}.flow-table td{text-align:right;white-space:nowrap;cursor:pointer;height:30px;padding:0 6px}.flow-table td:first-child{text-overflow:ellipsis;border-radius:var(--r-control) 0 0 var(--r-control);overflow:hidden}.flow-table td:last-child{border-radius:0 var(--r-control) var(--r-control) 0}@media (hover:hover){.flow-table tbody tr:hover td{background:var(--hover)}}.flow-table tr.current td{background:var(--accent-soft)}.flow-table-name{max-width:100%;color:var(--ink);font:inherit;text-overflow:ellipsis;text-align:left;background:0 0;border:0;padding:0;font-weight:400;display:block;overflow:hidden}.props .flow-table-name{height:auto;font-size:13px}.flow-table tr.muted td,.flow-table tr.muted .flow-table-name,.closeness-rows li.muted .closeness-row,.closeness-rows li.muted .closeness-detail{color:var(--faint)}.check-row{color:var(--ink);cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;display:flex}.check-row input{margin:2px 0 0}.check-row .description{color:var(--muted);font-size:12px;display:block}.props .disclosure-row{width:100%;height:36px;color:var(--ink);background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;margin-top:6px;padding:0;font-size:13px;font-weight:400;display:flex}.props .disclosure-row svg{color:var(--muted)}.facts{grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0;display:grid}.facts-row{display:contents}.props-section>*+.facts{margin-top:14px}.props-grid>.field.wide{grid-column:1/-1}.props-section-head+.facts{margin-top:0}.facts dt{color:var(--muted)}.facts dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}@media (width>=901px){.editor-main{--inspector-w:340px;grid-template-columns:minmax(0, 1fr) var(--inspector-w);grid-template-areas:"canvas inspector";position:relative}.canvas-footer{z-index:8;pointer-events:none;grid-template-columns:minmax(max-content,1fr) minmax(0,auto) minmax(max-content,1fr);align-items:end;gap:12px;display:grid;position:absolute;bottom:16px;left:16px;right:16px}.canvas-footer>.tool-dock-wrap,.footer-start>*,.footer-end>*{pointer-events:auto}.footer-start,.footer-end{display:flex}.footer-end{justify-content:flex-end}.tool-dock-wrap{border:1px solid var(--line-strong);border-radius:var(--r-card);min-width:0;box-shadow:var(--shadow-float);grid-area:auto}.tool-dock{flex-direction:row;height:auto;overflow:auto hidden}.dock-slot{flex-direction:row;flex:none}.dock-divider{background:var(--line);flex:none;width:1px;height:20px;margin:0 4px}.dock-picker{top:auto;bottom:calc(100% + 8px);left:var(--picker-left,0px);max-height:min(460px,100dvh - 220px)}.dock-picker.library{left:auto;right:0}.dock-tip{top:auto;bottom:calc(100% + 8px);transform:translate(-50%)}.canvas-area .toast{bottom:104px}.draft-actions{bottom:72px}.tool-hint{top:auto;bottom:72px}.canvas-area:has(.draft-actions) .tool-hint{bottom:126px}.canvas-area:has(.draft-note) .tool-hint{display:none}}@container canvas (width<=697px){.draft-actions,.canvas-area .tool-hint{bottom:126px}.canvas-area:has(.draft-actions) .tool-hint{bottom:180px}}.props-intro{color:var(--text-2);margin:0;padding:16px 16px 0;font-size:13px;line-height:1.45}.proposal-score,.proposal-bar-score{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.change-chip{border-radius:var(--r-pill);background:var(--chip);white-space:nowrap;padding:2px 10px;font-size:13px;font-weight:600}.change-chip.better{background:var(--good-soft);color:var(--good-text)}.change-chip.worse{background:var(--danger-soft);color:var(--danger-text)}.savings{border-collapse:collapse;width:100%;margin-top:8px}.savings th,.savings td{border-top:1px solid var(--line);text-align:left;padding:7px 0;font-weight:400}.savings td{text-align:right;font-variant-numeric:tabular-nums;padding-left:10px;font-weight:600}.savings td.was{color:var(--muted);font-weight:400;text-decoration:line-through}.proposal-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.props-footer .proposal-actions{margin-top:0}.props-footer .proposal-actions>button{flex:auto}.spaced-button{margin-top:10px}.radio-row{color:var(--ink);cursor:pointer;grid-template-columns:16px minmax(0,1fr);align-items:start;column-gap:10px;padding:6px 0;font-size:13px;font-weight:400;display:grid}.radio-row input{width:16px;height:16px;accent-color:var(--accent);margin:1px 0 0;padding:0}.radio-row .description{color:var(--muted);font-size:12px;display:block}.proposal-bar{z-index:6;border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-pop);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 8px 8px 14px;display:flex;position:absolute;top:12px;left:12px;right:12px}.proposal-bar-label{color:var(--muted);font-size:12px}.proposal-bar-hint{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1 1 0;font-size:12px;overflow:hidden}.proposal-bar-actions{gap:8px;margin-left:auto;display:flex}@container canvas (width<=1009px){.proposal-bar-hint{display:none}}@container canvas (width<=784px){.proposal-bar .segmented{margin-left:auto}.proposal-bar-actions{flex-basis:100%;justify-content:flex-end}}@media (width>=901px){.canvas-controls.under-proposal{display:none}}@media (width<=900px){.proposal-bar{padding:8px 8px 8px 12px;top:68px}.proposal-bar .segmented{margin-left:auto}.proposal-bar .segmented button{height:36px;padding:0 12px}}.resume-row{border-radius:var(--r-card);background:var(--hover);color:var(--ink);align-items:center;gap:16px;margin-bottom:20px;padding:12px 14px 12px 12px;display:flex}.resume-row:hover{background:var(--chip);text-decoration:none}.resume-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.resume-label{color:var(--muted);font-size:12px}.resume-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.resume-project{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);overflow:hidden}.resume-open{height:var(--h-control);border-radius:var(--r-control);background:var(--selected-bg);color:var(--selected-text);flex:none;align-items:center;gap:4px;padding:0 10px 0 14px;font-weight:600;display:inline-flex}@media (width<=900px){.resume-row{min-height:64px}.resume-open{height:40px}.resume-row{margin:12px 16px 4px}.proposal-bar{flex-wrap:nowrap;gap:10px}.proposal-bar .change-chip-flow,.proposal-bar-label{display:none}}@media (width<=360px){.proposal-bar{flex-wrap:wrap}}.props-row{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.props-stack>.props-row{margin-top:0}label.props-row{min-height:32px;padding:6px 0;position:relative}.props-row .length-input{width:120px}.props-grid>.item-remove{align-self:end}.props-grid>.props-row{margin-top:0}.props-row-text{flex-direction:column;gap:2px;display:flex}.props-row-text .description{color:var(--muted);font-size:12px}@media (width>=901px){.canvas-area{--h-float:44px;--h-float-button:36px}.canvas-footer,.canvas-controls,.proposal-bar{left:16px;right:16px}.canvas-controls,.proposal-bar{top:16px}.dock-button.active,.dock-button.active:hover:not(:disabled){background:var(--selected-bg);color:var(--selected-text)}}.resume-thumb{border-radius:var(--r-control);background:var(--surface);flex:none;width:96px;height:64px;overflow:hidden}.resume-thumb .plan-preview{width:100%;height:100%;display:block}@media (width<=900px){.resume-thumb{width:72px;height:48px}}.zoom-card{height:var(--h-float);border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-float);align-items:center;gap:2px;padding:0 3px;display:flex}.zoom-card>button,.zoom-card>.menu>button{width:var(--h-float-button);height:var(--h-float-button);border-radius:var(--r-control);color:var(--text-2);background:0 0;border:0;padding:0;font-size:16px}.zoom-card .menu{display:flex}.zoom-card>.menu>button.open{background:var(--hover);color:var(--ink)}.zoom-card :focus-visible,.cursor-readout :focus-visible,.button-group :focus-visible,.tool-dock :focus-visible,.menu-panel :focus-visible,.dock-picker :focus-visible{outline-offset:-2px}.zoom-card>.menu>.view-button{width:auto;min-width:88px;color:var(--ink);justify-content:space-between;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:13px;font-weight:500;display:inline-flex}.zoom-card>.menu>.view-button svg{color:var(--muted)}.zoom-card .zoom-value{font-variant-numeric:tabular-nums;text-align:center;min-width:44px;color:var(--text-2);font-size:12px}.zoom-sep{background:var(--line);flex:none;width:1px;height:20px;margin:0 4px}.menu-panel.up{top:auto;bottom:calc(100% + 10px)}.view-menu{border-radius:var(--r-card);width:320px;max-height:min(560px,100dvh - 160px);padding:0;overflow-y:auto}@media (width>=901px){.tool-dock{gap:2px;padding:3px}.dock-button{width:var(--h-float-button);height:var(--h-float-button)}.optimize .props-footer>button{height:var(--h-control);border-radius:var(--r-control);font-weight:600}}.list-heading{flex:1;margin:0;font-size:15px}.list-toolbar .search-field{width:240px}@media (width<=900px){.list-toolbar .search-field{width:auto}}.projects-table .name-line{flex-direction:column;align-items:flex-start;gap:2px}.projects-table .row-link{font-size:14px;font-weight:600}@media (width>=901px){.projects-table td{height:64px}.resume-row{margin-left:12px;margin-right:12px}}@media (width<=900px){.list-heading{display:none}.resume-open{width:32px;color:var(--muted);background:0 0;justify-content:center;padding:0}}.canvas-area{container:canvas/inline-size}@container canvas (width<=830px){.zoom-card>.zoom-step{display:none}}@container canvas (width<=1115px){.canvas-footer:has(.status-cursor.ft-in,.status-cursor.small-units) .zoom-card>.zoom-step{display:none}}@container canvas (width<=1037px){.canvas-footer:has(.cursor-readout) .zoom-card>.zoom-step{display:none}}@container canvas (width<=697px){.canvas-footer{grid-template-columns:auto minmax(0,max-content);justify-content:start}.footer-end{grid-area:1/2}.footer-start{grid-area:2/1}.canvas-footer>.tool-dock-wrap{grid-area:2/2}}@container canvas (width<=741px){.canvas-footer:has(.cursor-readout){grid-template-columns:auto minmax(0,max-content);justify-content:start}.canvas-footer:has(.cursor-readout) .footer-end{grid-area:1/2}.canvas-footer:has(.cursor-readout) .footer-start{grid-area:2/1}.canvas-footer:has(.cursor-readout)>.tool-dock-wrap{grid-area:2/2}}@container canvas (width<=982px){.cursor-readout:has(.status-cursor.ft-in,.status-cursor.small-units){padding:0 3px}.cursor-readout:has(.status-cursor.ft-in,.status-cursor.small-units)>:not(.snap-toggle){display:none}}@container canvas (width<=904px){.cursor-readout{padding:0 3px}.cursor-readout>:not(.snap-toggle){display:none}}label.props-row{color:var(--ink);cursor:pointer;flex-direction:row;font-size:13px;font-weight:400}@media (width<=900px){.props-row{min-height:44px}label.props-row{min-height:36px}label.props-row:before{content:"";position:absolute;inset:-4px 0}.editor-bar .bar-icon,.resume-open{width:44px;height:44px}}.add-tool{z-index:7;width:var(--h-float);height:var(--h-float);border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-float);color:var(--ink);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:26px;right:12px}:is(.add-tool[aria-expanded=true],.editor-main:has(.tool-sheet) .inspector,.editor-main:has(.tool-sheet) .canvas-controls){visibility:hidden}.tool-bar{z-index:7;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);max-width:480px;box-shadow:var(--shadow-float);align-items:center;gap:10px;margin:0 auto;padding:8px 8px 8px 14px;display:flex;position:absolute;bottom:26px;left:12px;right:12px}.tool-bar-text{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.tool-bar-title{max-width:100%;height:auto;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:14px;font-weight:600;display:inline-flex;overflow:hidden}.tool-bar-hint{max-width:100%;color:var(--text-2);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.tool-bar-actions{flex:none;gap:6px;display:flex}.tool-sheet-scrim{z-index:19;background:#0000003d;position:fixed;inset:0}.tool-sheet{z-index:20;max-height:calc(100dvh - 24px);padding:6px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--surface);box-shadow:var(--shadow-sheet);position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.tool-sheet-handle{background:0 0;border:0;justify-content:center;width:100%;height:24px;padding:4px 0 16px;display:flex}.tool-sheet-handle span{border-radius:var(--r-mark);background:var(--line-strong);width:36px;height:4px}.tool-sheet-head{align-items:center;gap:4px;min-height:44px;display:flex}.tool-sheet-head h2{flex:1;margin:0;font-size:16px}.tool-sheet-head .icon-button{width:44px;height:44px}.tool-sheet-group+.tool-sheet-group{margin-top:8px}.tool-sheet-group h3{color:var(--text-2);margin:0 0 4px;font-size:12px;font-weight:500}.tool-sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.tool-tile{border-radius:var(--r-card);height:64px;color:var(--ink);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;display:flex}.tool-sheet-handle:hover:not(:disabled),.tool-tile:hover:not(:disabled,.active){background:0 0}.tool-tile:active:not(:disabled){background:var(--chip)}.tool-tile.active{background:var(--accent-soft);color:var(--accent)}.tool-sheet-list{flex-direction:column;gap:2px;display:flex}.tool-sheet-list .picker-option{justify-content:flex-start;height:48px;font-size:15px}.tool-sheet-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}@media (width<=900px) and (height<=500px){.tool-sheet{width:min(560px,100%);left:50%;right:auto;transform:translate(-50%)}.tool-sheet-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.tool-bar-hint{-webkit-line-clamp:1}}
