@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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:20px;--fs-2xl:28px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--bg-app:#f3f4f6;--bg-panel:#fff;--bg-subtle:#f6f7f9;--bg-hover:#eef0f3;--bg-active:#e4e7ec;--bg-inverse:#1b1f26;--border:#e1e4e9;--border-strong:#c9ced6;--text:#14171c;--text-muted:#59616e;--text-faint:#8b93a1;--text-inverse:#f3f4f6;--accent:#e8590c;--accent-hover:#d14d06;--accent-soft:#e8590c1f;--accent-contrast:#fff;--focus-ring:0 0 0 2px var(--bg-panel), 0 0 0 4px #e8590c8c;--error:#d92d20;--error-soft:#d92d201a;--warning:#b54708;--warning-soft:#b547081a;--info:#1d5bd6;--info-soft:#1d5bd617;--success:#067647;--success-soft:#0676471a;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814, 0 1px 3px #1018280f;--shadow-lg:0 18px 48px #1018282e, 0 4px 12px #10182814;--plan-bg:#fff;--plan-grid-minor:#f0f1f4;--plan-grid-major:#dfe2e8;--plan-axis:#c3c9d3;--plan-ink:#101318;--plan-wall-fill:#fff;--plan-core-fill:#f6f3ec;--plan-hatch:#bdb4a1;--plan-layer:#868c96;--plan-dim:#39404b;--plan-hover:#2f6feb;--plan-member:#8a5a2b;--plan-member-fill:#c48c5061;--plan-ruler-bg:#f7f8fa;--plan-ruler-text:#6b7280;--topbar-h:48px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#0d0f13;--bg-panel:#15181e;--bg-subtle:#1a1d24;--bg-hover:#21252e;--bg-active:#2a2f3a;--bg-inverse:#eef0f4;--border:#272c36;--border-strong:#3a4150;--text:#e8eaef;--text-muted:#a2a9b6;--text-faint:#6f7786;--text-inverse:#15181e;--accent:#ff7a36;--accent-hover:#ff8d52;--accent-soft:#ff7a3629;--accent-contrast:#15100c;--focus-ring:0 0 0 2px var(--bg-panel), 0 0 0 4px #ff7a3699;--error:#f97066;--error-soft:#f9706624;--warning:#fdb022;--warning-soft:#fdb0221f;--info:#84adff;--info-soft:#84adff21;--success:#47cd89;--success-soft:#47cd891f;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 18px 48px #0009;--plan-bg:#111419;--plan-grid-minor:#181c23;--plan-grid-major:#232833;--plan-axis:#384052;--plan-ink:#e6e9ee;--plan-wall-fill:#111419;--plan-core-fill:#1e2027;--plan-hatch:#4f4b43;--plan-layer:#79818f;--plan-dim:#b5bcc8;--plan-hover:#84adff;--plan-member:#e0a868;--plan-member-fill:#e0a86842;--plan-ruler-bg:#15181e;--plan-ruler-text:#8a92a0}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"tnum" 0;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{box-shadow:var(--focus-ring);outline:none}a{color:inherit}.mono,code,kbd{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}kbd{border:1px solid var(--border-strong);text-align:center;min-width:18px;color:var(--text-muted);background:var(--bg-subtle);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:10px;line-height:15px;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.spacer{flex:auto}.muted{color:var(--text-muted)}.small{font-size:var(--fs-xs)}.strong{font-weight:600}.selectable{-webkit-user-select:all;user-select:all}.page-center{place-items:center;min-height:100%;display:grid}.button-row{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.plain-list{margin:0;padding-left:18px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-panel);height:30px;color:var(--text);font-size:var(--fs-md);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn:active:not(:disabled){background:var(--bg-active)}.btn:disabled{opacity:.45}.btn--sm{height:26px;font-size:var(--fs-sm);padding:0 8px}.btn--icon{width:30px;padding:0}.btn--sm.btn--icon{width:26px}.btn--primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--ghost{background:0 0;border-color:#0000}.btn--subtle{background:var(--bg-subtle);border-color:#0000}.btn--danger{background:var(--error-soft);color:var(--error);border-color:#0000}.btn--danger:hover:not(:disabled){background:var(--error);color:#fff}.btn.is-active,.btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);z-index:50;border-radius:var(--radius-sm);background:var(--bg-inverse);color:var(--text-inverse);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;opacity:0;padding:4px 8px;font-weight:500;line-height:1.4;transition:opacity .1s,transform .1s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,2px)}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transition-delay:.35s;transform:translate(-50%)}[data-tip-side=right]:after{top:50%;left:calc(100% + 8px);transform:translate(2px,-50%)}[data-tip-side=right]:hover:after,[data-tip-side=right]:focus-visible:after{transform:translateY(-50%)}[data-tip-side=top]:after{top:auto;bottom:calc(100% + 6px)}.segmented{border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border);padding:2px;display:inline-flex}.segmented__item{height:24px;color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:0 10px;font-weight:500}.segmented__item:hover{color:var(--text)}.segmented__item.is-active{background:var(--bg-panel);color:var(--text);box-shadow:var(--shadow-sm)}.chip{border:1px solid var(--border);background:var(--bg-panel);height:24px;color:var(--text-muted);font-size:var(--fs-xs);border-radius:12px;padding:0 8px}.chip:hover{color:var(--text);border-color:var(--border-strong)}.badge{background:var(--bg-subtle);border:1px solid var(--border);height:20px;color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:0 7px;font-weight:500;display:inline-flex}.badge--info{background:var(--info-soft);color:var(--info);border-color:#0000}.badge--warning{background:var(--warning-soft);color:var(--warning);border-color:#0000}.badge--error{background:var(--error-soft);color:var(--error);border-color:#0000}.badge--success{background:var(--success-soft);color:var(--success);border-color:#0000}.badge--accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty{justify-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--text-muted);display:grid}.empty__icon{background:var(--bg-subtle);width:48px;height:48px;color:var(--text-faint);border-radius:12px;place-items:center;display:grid}.empty__title{font-size:var(--fs-lg);color:var(--text);font-weight:600}.empty__text{gap:var(--sp-3);justify-items:center;max-width:360px;display:grid}.empty__text p{margin:0}.callout{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);font-size:var(--fs-sm)}.callout--error{background:var(--error-soft);color:var(--error);border-color:#0000}.callout--warning{background:var(--warning-soft);color:var(--warning);border-color:#0000}.form{gap:var(--sp-4);display:grid}.field{gap:4px;min-width:0;display:grid}.field--inline{align-items:center;gap:var(--sp-2);display:inline-flex}.field__label{font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:.01em;font-weight:500}.field__optional{color:var(--text-faint);font-weight:400}.field__control{align-items:center;gap:4px;min-width:0;display:flex}.field__input,.field__select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel);width:100%;min-width:0;height:30px;color:var(--text);font-size:var(--fs-md);padding:0 8px;transition:border-color .12s,box-shadow .12s}textarea.field__input{resize:vertical;height:auto;padding:6px 8px}.field__select{width:auto;height:30px;color:var(--text-muted);font-size:var(--fs-sm)}.field__input:hover{border-color:var(--text-faint)}.field__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field__input:disabled{background:var(--bg-subtle);color:var(--text-faint)}.field__suffix{color:var(--text-faint);font-size:var(--fs-xs)}.field--error .field__input{border-color:var(--error)}.field--error .field__input:focus{box-shadow:0 0 0 3px var(--error-soft)}.field__error{color:var(--error);font-size:var(--fs-xs)}.field__hint{color:var(--text-faint);font-size:var(--fs-xs)}.field-grid{gap:var(--sp-2) var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.check{font-size:var(--fs-md);cursor:pointer;align-items:center;gap:8px;display:flex}.check input{accent-color:var(--accent);width:14px;height:14px}.search{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-panel);height:30px;color:var(--text-faint);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{width:200px;color:var(--text);background:0 0;border:0;outline:none}.search--compact{height:28px;margin:0 var(--sp-2) var(--sp-2);display:flex}.search--compact input{width:100%;font-size:var(--fs-sm)}.choices{gap:var(--sp-2);border:0;grid-template-columns:1fr 1fr;margin:0;padding:0;display:grid}.choices legend{margin-bottom:6px}.choice{padding:var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;gap:2px;transition:border-color .12s,background .12s;display:grid;position:relative}.choice input{opacity:0;position:absolute}.choice:hover{border-color:var(--text-faint)}.choice:focus-within{box-shadow:var(--focus-ring)}.choice.is-selected{border-color:var(--accent);background:var(--accent-soft)}.choice.is-disabled{cursor:not-allowed;opacity:.6}.choice__title{align-items:center;gap:6px;font-weight:600;display:flex}.choice__text{color:var(--text-muted);font-size:var(--fs-xs)}.choice__thumb{width:64px;height:40px;margin-bottom:6px}.thumb__paper{fill:var(--bg-panel);stroke:var(--border-strong)}.thumb__wall{fill:var(--plan-ink)}.thumb__inner{fill:var(--bg-panel)}.thumb__grid{stroke:var(--border-strong);stroke-dasharray:2 2}.dialog-backdrop{z-index:100;padding:var(--sp-4);background:#0a0c1073;place-items:center;animation:.12s fade-in;display:grid;position:fixed;inset:0}.dialog-backdrop--top{place-items:start center;padding-top:12vh}@keyframes fade-in{0%{opacity:0}}.dialog{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-panel);max-width:100%;max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);animation:.16s cubic-bezier(.16,1,.3,1) rise;overflow:auto}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.99)}}.dialog__header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) 0 var(--sp-5);display:flex}.dialog__title{font-size:var(--fs-lg);margin:4px 0 0;font-weight:600}.dialog__description{color:var(--text-muted);font-size:var(--fs-sm);margin:4px 0 0}.dialog__body{padding:var(--sp-4) var(--sp-5) var(--sp-5)}.dialog__actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.menu{position:relative}.menu__list{z-index:60;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);min-width:260px;box-shadow:var(--shadow-md);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px)}.menu__list--right{right:0}.menu__list--left{left:0}.menu__item{text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;display:flex}.menu__item:hover:not(:disabled),.menu__item:focus-visible{background:var(--bg-hover);box-shadow:none}.menu__item:disabled{opacity:.45}.menu__label{flex:1}.menu__hint{color:var(--text-faint);font-size:var(--fs-xs)}.popover{z-index:40;min-width:180px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:var(--shadow-md);gap:6px;display:grid;position:absolute;top:calc(100% + 4px)}.toaster{z-index:200;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.toast{border:1px solid var(--border);border-left:3px solid var(--text-faint);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:var(--shadow-md);align-items:flex-start;gap:10px;padding:10px 10px 10px 12px;animation:.18s cubic-bezier(.16,1,.3,1) rise;display:flex}.toast--info{border-left-color:var(--info)}.toast--success{border-left-color:var(--success)}.toast--warning{border-left-color:var(--warning)}.toast--error{border-left-color:var(--error)}.toast__icon{flex:none;margin-top:2px}.toast--info .toast__icon{color:var(--info)}.toast--success .toast__icon{color:var(--success)}.toast--warning .toast__icon{color:var(--warning)}.toast--error .toast__icon{color:var(--error)}.toast__body{flex:1;min-width:0}.toast__title{font-weight:600}.toast__message{color:var(--text-muted);font-size:var(--fs-sm);white-space:pre-line;margin-top:2px}.toast__meta{color:var(--text-faint);margin-top:4px;font-size:10px}.toast__close{width:22px;height:22px;color:var(--text-faint);background:0 0;border:0;border-radius:4px;flex:none;place-items:center;display:grid}.toast__close:hover{background:var(--bg-hover);color:var(--text)}.logo{align-items:center;gap:8px;display:inline-flex}.logo__mark{width:26px;height:26px}.logo__bg{fill:var(--bg-inverse)}.logo__house{stroke:var(--text-inverse)}.logo__frame{stroke:var(--accent)}.logo__word{letter-spacing:-.02em;font-size:17px;font-weight:600}.table-wrap{height:100%;overflow:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}.table th{z-index:1;border-bottom:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);font-size:var(--fs-xs);text-align:left;white-space:nowrap;padding:6px 10px;font-weight:500;position:sticky;top:0}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:5px 10px}.table .num{text-align:right}.table tbody tr{cursor:default}.table tbody tr[tabindex]{cursor:pointer}.table tbody tr:hover td{background:var(--bg-hover)}.table tbody tr.is-related td{background:var(--accent-soft)}.table tbody tr.is-related td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.table tbody tr.is-current td{background:var(--accent-soft)}.table tbody tr.is-undone td{color:var(--text-faint);text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.undone-mark{color:var(--warning);text-decoration:none}.delta-up{color:var(--success)}.delta-down{color:var(--error)}.link{color:var(--info);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--info) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--info) 35%, transparent);text-underline-offset:2px;background:0 0;border:0;padding:0}.link:hover{text-decoration-color:currentColor}.projects{background:var(--bg-app);min-height:100%}.projects__top{align-items:center;gap:var(--sp-4);height:56px;padding:0 var(--sp-5);border-bottom:1px solid var(--border);background:var(--bg-panel);display:flex}.projects__tagline{color:var(--text-muted);font-size:var(--fs-sm);padding-left:var(--sp-4);border-left:1px solid var(--border)}.projects__main{max-width:1200px;padding:var(--sp-6) var(--sp-5);margin:0 auto}.projects__head{align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-5);display:flex}.projects__title{font-size:var(--fs-2xl);letter-spacing:-.02em;margin:0;font-weight:600}.projects__subtitle{color:var(--text-muted);margin:4px 0 0}.projects__state{align-items:center;gap:var(--sp-3);padding:var(--sp-4);display:flex}.project-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.project-row{align-items:center;gap:var(--sp-4);padding:10px var(--sp-4);border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,1.6fr) auto minmax(220px,1fr) 56px 150px auto;transition:background .12s;display:grid}.project-row:last-child{border-bottom:0}.project-row:hover{background:var(--bg-subtle)}.project-row__main{align-items:center;gap:var(--sp-3);text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;min-width:0;padding:0;display:flex}.project-row__thumb{background:var(--bg-subtle);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);border-radius:8px;flex:none;place-items:center;display:grid}.project-row:hover .project-row__thumb{color:var(--accent);border-color:var(--accent)}.project-row__title{min-width:0;display:grid}.project-row__name{font-weight:600;font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-row__desc{color:var(--text-faint);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-row__stats{gap:var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);display:flex}.project-row__stats b{color:var(--text);font-weight:500}.project-row__rev,.project-row__date{color:var(--text-muted);font-size:var(--fs-sm)}.project-row__actions{align-items:center;gap:2px;display:flex}@media (width<=1000px){.project-row{grid-template-columns:1fr auto}.project-row__system,.project-row__stats,.project-row__rev,.project-row__date,.projects__tagline{display:none}}.editor{grid-template-rows:var(--topbar-h) minmax(0, 1fr);background:var(--bg-app);min-width:1120px;height:100vh;display:grid;overflow:hidden}.editor__body{grid-template-columns:248px minmax(0,1fr) 328px;min-height:0;display:grid}.editor__center{flex-direction:column;min-width:0;min-height:0;display:flex}.editor__views{background:var(--border);flex:auto;gap:1px;min-height:0;display:grid;position:relative}.editor__views--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel-title{padding:10px var(--sp-3) 8px;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.topbar{align-items:center;gap:var(--sp-2);padding:0 var(--sp-2) 0 var(--sp-2);border-bottom:1px solid var(--border);background:var(--bg-panel);min-width:0;display:flex}.topbar__home{border-radius:var(--radius-md);background:0 0;border:0;place-items:center;width:36px;height:36px;display:grid}.topbar__home:hover{background:var(--bg-hover)}.topbar__project{min-width:0;max-width:280px;padding-right:var(--sp-3);margin-right:var(--sp-2);border-right:1px solid var(--border);line-height:1.2;display:grid}.topbar__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.save-state{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:8px;display:flex}.save-state__status{align-items:center;gap:4px;display:inline-flex}.save-state__status .spinner{border-width:1.5px;width:10px;height:10px}.save-state__status.is-ok:before{content:"";background:var(--success);border-radius:50%;width:6px;height:6px}.save-state__status.is-warning{color:var(--warning)}.topbar__history{margin-left:var(--sp-2);gap:2px;display:flex}.topbar__history-label{font-size:var(--fs-sm)}.check-button{gap:6px}.check-button--error svg{color:var(--error)}.check-button--warning svg{color:var(--warning)}.check-button--ok svg{color:var(--success)}.check-button__counts{font-size:var(--fs-xs);gap:4px;display:inline-flex}.check-button__counts span{background:var(--bg-subtle);border-radius:8px;min-width:18px;padding:0 4px;line-height:16px}.check-button__counts .is-error{background:var(--error);color:#fff}.check-button__counts .is-warning{background:var(--warning-soft);color:var(--warning)}@media (width<=1280px){.topbar__history-label{display:none}.editor__body{grid-template-columns:220px minmax(0,1fr) 300px}}.navigator{border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;min-height:0;display:flex}.nav-tree{padding:0 4px var(--sp-2);flex:auto;margin:0;list-style:none;overflow:auto}.nav-tree__empty{padding:var(--sp-3);color:var(--text-faint);font-size:var(--fs-sm)}.nav-row{border-radius:var(--radius-sm);align-items:center;gap:2px;height:26px;display:flex}.nav-row:hover{background:var(--bg-hover)}.nav-row.is-selected{background:var(--accent-soft)}.nav-row.is-selected .nav-row__label{color:var(--accent);font-weight:500}.nav-row.is-hidden .nav-row__label,.nav-row.is-hidden .nav-row__meta{color:var(--text-faint)}.nav-row__twisty{width:18px;height:18px;color:var(--text-faint);background:0 0;border:0;border-radius:3px;flex:none;place-items:center;padding:0;transition:transform .12s;display:grid}.nav-row__twisty.is-open{transform:rotate(90deg)}.nav-row__main{border-radius:var(--radius-sm);text-align:left;min-width:0;height:100%;font-size:var(--fs-sm);background:0 0;border:0;flex:auto;align-items:center;gap:6px;padding:0 4px;display:flex}.nav-row__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-row__count{color:var(--text-faint);font-size:var(--fs-xs)}.nav-row__meta{color:var(--text-faint);white-space:nowrap;margin-left:auto;font-size:10px}.nav-row__eye{width:22px;height:22px;color:var(--text-faint);opacity:0;background:0 0;border:0;border-radius:3px;flex:none;place-items:center;display:grid}.nav-row:hover .nav-row__eye,.nav-row.is-hidden .nav-row__eye,.nav-row__eye:focus-visible{opacity:1}.nav-row__eye:hover{color:var(--text);background:var(--bg-active)}.navigator__summary{padding:8px var(--sp-3);border-top:1px solid var(--border);color:var(--text-faint);font-size:10px}.plan-pane{background:var(--bg-panel);grid-template-columns:44px minmax(0,1fr);min-width:0;min-height:0;display:grid}.toolbox{border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;gap:2px;padding:6px 4px;display:flex}.toolbox__btn{width:36px;height:34px;color:var(--text-muted)}.toolbox__btn.is-active{background:var(--accent);color:var(--accent-contrast);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 35%, transparent)}.toolbox__btn.is-active:hover:not(:disabled){background:var(--accent-hover)}.plan-pane__main{flex-direction:column;min-width:0;min-height:0;display:flex}.tool-options{align-items:center;gap:var(--sp-3);min-height:38px;padding:4px var(--sp-3);border-bottom:1px solid var(--border);background:var(--bg-panel);display:flex}.tool-options__title{font-weight:600;font-size:var(--fs-sm)}.tool-options__fields{align-items:center;gap:var(--sp-3);display:flex}.tool-options__fields .field{grid-template-columns:auto 92px;align-items:center;gap:6px}.tool-options__fields .field__error{grid-column:1/-1}.tool-options__fields .field__input{height:26px}.tool-options__note{color:var(--text-faint);font-size:var(--fs-xs)}.tool-options__measure{border-radius:var(--radius-sm);background:var(--info-soft);color:var(--info);padding:2px 8px;font-weight:500}.plan-canvas{flex:auto;min-height:0;position:relative;overflow:hidden}.plan-canvas__canvas{touch-action:none;outline:none;width:100%;height:100%;position:absolute;inset:0}.plan-canvas__canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-soft)}.statusbar{align-items:center;gap:var(--sp-3);height:30px;padding:0 6px 0 var(--sp-3);border-top:1px solid var(--border);background:var(--bg-panel);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;min-width:0;display:flex}.statusbar__coords{min-width:150px;color:var(--text)}.statusbar__snap{min-width:96px;color:var(--accent);font-weight:500}.statusbar__hint{text-overflow:ellipsis;min-width:0;overflow:hidden}.statusbar__scale{color:var(--text-faint)}.status-toggle{height:22px;font-size:var(--fs-xs);color:var(--text-faint);padding:0 6px}.status-toggle.is-active{color:var(--accent);background:0 0}@media (width<=1500px){.status-toggle__label{display:none}}.dyn-input{z-index:10;border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:var(--shadow-md);gap:2px;padding:6px;animation:.12s rise;display:grid;position:absolute}.dyn-input__row{border-radius:4px;grid-template-columns:80px 110px 90px;align-items:center;gap:6px;padding:2px 4px;display:grid}.dyn-input__row.is-active{background:var(--accent-soft)}.dyn-input__label{color:var(--text-muted);font-size:var(--fs-xs)}.dyn-input__field{border:1px solid var(--border-strong);background:var(--bg-panel);height:24px;font-size:var(--fs-sm);border-radius:3px;padding:0 6px}.dyn-input__field:focus{border-color:var(--accent);outline:none}.dyn-input__field[aria-invalid=true]{border-color:var(--error)}.dyn-input__preview{color:var(--text-faint);font-size:var(--fs-xs)}.dyn-input__hint,.dyn-input__error{color:var(--text-faint);padding:2px 4px 0;font-size:10px}.dyn-input__error{max-width:290px;color:var(--error);font-size:var(--fs-xs)}.viewer-pane{background:var(--bg-panel);flex-direction:column;min-width:0;min-height:0;display:flex}.viewer-toolbar{align-items:center;gap:var(--sp-2);min-height:38px;padding:4px var(--sp-2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex;position:relative}.viewer-toolbar__group{align-items:center;gap:2px;display:flex;position:relative}.viewer-toolbar__clip{color:var(--text-muted);font-size:var(--fs-xs);align-items:center;gap:6px;display:flex}.viewer-toolbar__clip input[type=range]{width:100px;accent-color:var(--accent)}.viewer-toolbar__measure{background:var(--info-soft);color:var(--info);font-size:var(--fs-xs);border-radius:4px;padding:2px 6px}.viewer-pane__canvas{flex:auto;min-height:0;position:relative}.viewer-pane__canvas>*{position:absolute;inset:0}.viewer-pane__loading,.viewer-pane__error{justify-content:center;align-items:center;gap:var(--sp-2);color:var(--text-muted);flex-direction:column;display:flex}.viewer-pane__error{color:var(--error)}.load-overlay{z-index:20;background:color-mix(in srgb, var(--bg-app) 70%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;display:grid;position:absolute;inset:0}.load-overlay__card{gap:var(--sp-3);max-width:420px;padding:var(--sp-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:var(--shadow-md);display:grid}.load-overlay__card h2{font-size:var(--fs-lg);margin:0}.load-overlay__card p{color:var(--text-muted);margin:0}.properties{border-left:1px solid var(--border);background:var(--bg-panel);flex-direction:column;min-height:0;display:flex}.properties__scroll{flex:auto;overflow:auto}.props{display:grid}.prop-header{padding:2px var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border);gap:4px;display:grid}.prop-header__kind{color:var(--text-muted);font-size:var(--fs-xs)}.prop-header__name{font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:600}.eng-status{border-radius:var(--radius-md);border-left:3px solid var(--text-faint);background:var(--bg-subtle);font-size:var(--fs-xs);margin-top:6px;padding:8px 10px}.eng-status--info{border-left-color:var(--info);background:var(--info-soft)}.eng-status--warning{border-left-color:var(--warning);background:var(--warning-soft)}.eng-status--error{border-left-color:var(--error);background:var(--error-soft)}.eng-status__label{color:var(--text);font-weight:600}.eng-status__text{color:var(--text-muted);margin-top:2px}.prop-section{border-bottom:1px solid var(--border)}.prop-section__title{padding-right:var(--sp-3);align-items:center;margin:0;display:flex}.prop-section__title button{padding:9px var(--sp-3);color:var(--text);font-size:var(--fs-sm);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;font-weight:600;display:flex}.prop-section__title button:before{content:"";border-left:4px solid var(--text-faint);border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;transition:transform .12s}.prop-section.is-open .prop-section__title button:before{transform:rotate(90deg)}.prop-section__body{gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-3);display:grid}.kv{gap:var(--sp-2);font-size:var(--fs-sm);grid-template-columns:130px minmax(0,1fr);line-height:1.5;display:grid}.kv__k{color:var(--text-muted)}.kv__v{overflow-wrap:anywhere}.layer-list,.join-list,.override-list,.issue-list,.checklist{font-size:var(--fs-sm);gap:6px;margin:0;padding:0;list-style:none;display:grid}.layer-list li{border-radius:var(--radius-sm);background:var(--bg-subtle);grid-template-columns:1fr auto;gap:0 8px;padding:6px 8px;display:grid}.layer-list li .muted{font-size:var(--fs-xs);grid-column:1}.layer-list li .mono{font-size:var(--fs-xs);grid-area:1/2/span 2;align-self:center}.join-list li,.override-list li{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.issue{align-items:flex-start;gap:6px;display:flex}.issue svg{flex:none;margin-top:2px}.issue--error svg{color:var(--error)}.issue--warning svg{color:var(--warning)}.issue--info svg{color:var(--info)}.issue__code{color:var(--text-faint);font-size:10px}.bottom-panel{border-top:1px solid var(--border);background:var(--bg-panel);flex-direction:column;flex:none;display:flex}.bottom-panel.is-open{height:clamp(220px,32vh,380px)}.bottom-panel__tabs{height:34px;padding:0 var(--sp-2);border-bottom:1px solid var(--border);align-items:stretch;gap:2px;display:flex}.bottom-panel__tab{color:var(--text-muted);font-size:var(--fs-sm);background:0 0;border:0;padding:0 12px;font-weight:500;position:relative}.bottom-panel__tab:hover,.bottom-panel__tab.is-active{color:var(--text)}.bottom-panel__tab.is-active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.bottom-panel__tabs>.btn{align-self:center}.bottom-panel__body{flex:auto;min-height:0;overflow:auto}.tab-state{align-items:center;gap:var(--sp-2);margin:var(--sp-3);display:flex}.diag{grid-template-columns:minmax(0,1fr) minmax(280px,380px);min-height:100%;display:grid}.diag__issues{padding:var(--sp-3);overflow:auto}.diag__summary{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.diag__group h4,.diag__engineering h4{margin:var(--sp-2) 0 6px;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.diag__group ul{margin:0;padding:0;list-style:none}.diag-row{border-radius:var(--radius-sm);text-align:left;width:100%;font-size:var(--fs-sm);background:0 0;border:0;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:5px 8px;display:grid}.diag-row:hover:not(:disabled){background:var(--bg-hover)}.diag-row:disabled{cursor:default;color:inherit}.diag-row--error svg{color:var(--error)}.diag-row--warning svg{color:var(--warning)}.diag-row--info svg{color:var(--info)}.diag-row__els{color:var(--text-muted);font-size:var(--fs-xs)}.diag-row__code{color:var(--text-faint);font-size:10px}.diag__engineering{padding:var(--sp-3);border-left:1px solid var(--border);background:var(--bg-subtle)}.checklist{margin-top:var(--sp-3)}.checklist li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.bom{flex-direction:column;height:100%;display:flex}.bom .table-wrap{flex:auto;min-height:0}.bom__name{font-weight:500;display:block}.bom__explain{max-width:520px;color:var(--text-faint);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.bom__footer{justify-content:space-between;gap:var(--sp-3);padding:6px var(--sp-3);border-top:1px solid var(--border);color:var(--warning);font-size:var(--fs-xs);display:flex}.bom__warnings{padding:4px var(--sp-3) 8px;font-size:var(--fs-xs);margin:0;list-style:none}.cutting{grid-template-rows:auto 1fr;min-height:100%;display:grid}.cutting__controls{z-index:2;align-items:flex-end;gap:var(--sp-4);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);background:var(--bg-panel);display:flex;position:sticky;top:0}.cutting__controls .field{width:120px}.cutting__controls .field:first-child{width:auto}.cutting__plans{gap:var(--sp-4);padding:var(--sp-3);display:grid}.cut-plan{gap:var(--sp-2);display:grid}.cut-plan__head{align-items:center;gap:var(--sp-2);display:flex}.cut-plan__head h4{font-size:var(--fs-md);margin:0}.cut-plan__head .mono{color:var(--text-faint);font-size:var(--fs-xs)}.cut-plan__stats{gap:var(--sp-5);flex-wrap:wrap;margin:0;display:flex}.cut-plan__stats dt{color:var(--text-muted);font-size:var(--fs-xs)}.cut-plan__stats dd{font-size:var(--fs-lg);margin:0;font-weight:500}.cut-plan__bins{gap:3px;display:grid}.cut-bin{font-size:var(--fs-xs);grid-template-columns:34px minmax(0,1fr) 84px;align-items:center;gap:8px;display:grid}.cut-bin__index,.cut-bin__meta{color:var(--text-faint)}.cut-bin__bar{background:var(--bg-subtle);border:1px solid var(--border);border-radius:3px;height:22px;position:relative;overflow:hidden}.cut-piece{border:0;border-right:1px solid var(--bg-panel);background:color-mix(in srgb, var(--plan-member) 30%, var(--bg-panel));min-width:2px;color:var(--text);font-family:var(--font-mono);white-space:nowrap;justify-content:center;align-items:center;padding:0 2px;font-size:10px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.cut-piece:hover{background:color-mix(in srgb, var(--plan-member) 50%, var(--bg-panel))}.cut-piece.is-selected{background:var(--accent);color:var(--accent-contrast)}.cut-bin__waste{background:repeating-linear-gradient(-45deg, transparent 0 4px, var(--border) 4px 5px);position:absolute;top:0;bottom:0}.compare{flex-direction:column;height:100%;display:flex}.compare__controls{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);display:flex}.compare .table-wrap{flex:auto;min-height:0}.compare__sources{gap:8px;display:flex}.palette{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);width:min(600px,100vw - 32px);box-shadow:var(--shadow-lg);animation:.14s cubic-bezier(.16,1,.3,1) rise;overflow:hidden}.palette__search{border-bottom:1px solid var(--border);color:var(--text-faint);align-items:center;gap:10px;padding:12px 14px;display:flex}.palette__search input{font-size:var(--fs-lg);color:var(--text);background:0 0;border:0;outline:none;flex:1}.palette__list{max-height:50vh;margin:0;padding:6px;list-style:none;overflow:auto}.palette__item{border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:10px;height:34px;padding:0 10px;display:grid}.palette__item.is-active{background:var(--accent-soft)}.palette__item.is-active .palette__label{color:var(--accent)}.palette__group{color:var(--text-faint);font-size:var(--fs-xs)}.palette__empty{padding:var(--sp-4);color:var(--text-faint);text-align:center}
