@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_76ed27aa-module__9NK6DG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_76ed27aa-module__9NK6DG__variable{--font-display-loaded:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_d988eceb-module__4UhelW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_d988eceb-module__4UhelW__variable{--font-mono-loaded:"JetBrains Mono", "JetBrains Mono Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--theme-primary:#2f6fed;--theme-secondary:#163b67;--theme-accent:#ef8354;--theme-highlight:#78c4ff;--bg-rgb:247 248 250;--surface-rgb:255 255 255;--text-rgb:29 36 48;--muted-rgb:99 108 118;--primary-rgb:47 111 237;--secondary-rgb:22 59 103;--accent-rgb:239 131 84;--border-rgb:208 215 222;--success-rgb:28 140 87;--warning-rgb:194 122 24;--danger-rgb:203 75 75;--color-bg:rgb(var(--bg-rgb));--color-surface:rgb(var(--surface-rgb));--color-text:rgb(var(--text-rgb));--color-text-muted:rgb(var(--muted-rgb));--color-primary:rgb(var(--primary-rgb));--color-secondary:rgb(var(--secondary-rgb));--color-accent:rgb(var(--accent-rgb));--color-border:rgb(var(--border-rgb));--color-success:rgb(var(--success-rgb));--color-warning:rgb(var(--warning-rgb));--color-danger:rgb(var(--danger-rgb));--bg:var(--color-bg);--surface:var(--color-surface);--text:var(--color-text);--text-muted:var(--color-text-muted);--brand:var(--color-primary);--brand-light:var(--color-secondary);--accent:var(--color-accent);--border:var(--color-border);--pass:var(--color-success);--warn:var(--color-warning);--fail:var(--color-danger);--primary:var(--color-primary);--secondary:var(--color-secondary);--success:var(--color-success);--warning:var(--color-warning);--danger:var(--color-danger);--surface-hover:rgb(var(--primary-rgb) / .08);--surface-hover-strong:rgb(var(--primary-rgb) / .14);--surface-subtle:rgb(var(--primary-rgb) / .04);--surface-raised:rgb(var(--surface-rgb) / .82);--surface-raised-strong:rgb(var(--surface-rgb) / .94);--surface-inverse:#0f131dc2;--surface-inverse-strong:#0f131de0;--text-inverse:#fff;--text-inverse-muted:#ffffffb8;--border-soft:rgb(var(--border-rgb) / .72);--border-strong:rgb(var(--border-rgb) / .94);--focus-ring:rgb(var(--primary-rgb) / .18);--success-border:rgb(var(--success-rgb) / .32);--warning-border:rgb(var(--warning-rgb) / .34);--danger-border:rgb(var(--danger-rgb) / .36);--pass-bg:rgb(var(--success-rgb) / .12);--warn-bg:rgb(var(--warning-rgb) / .14);--fail-bg:rgb(var(--danger-rgb) / .13);--track-bg:rgb(var(--primary-rgb) / .1);--panel-shadow:0 18px 44px #0c121c2e;--panel-shadow-soft:0 10px 26px #0c121c1a;--header-bg:linear-gradient(135deg, var(--color-secondary), var(--color-primary));--header-border-color:rgb(var(--secondary-rgb) / .96);--header-control-bg:#ffffff1f;--header-control-bg-hover:#fff3;--header-control-border:#ffffff42;--header-control-border-strong:#fff6;--header-control-text:var(--text-inverse);--header-control-text-muted:var(--text-inverse-muted);--legend-bg:var(--surface-inverse);--legend-text:#ecf0f5eb;--scene-label-bg:#0a0d14a3;--scene-label-text:#f8fafcf5;--scene-badge-vertical:var(--color-primary);--scene-badge-horizontal:var(--color-accent);--demand-only-bg:rgb(var(--secondary-rgb) / .12);--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius:6px;--radius-sm:4px;--radius-md:6px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:16px;--radius-pill:999px;--shadow:0 1px 3px #0000001f;--shadow-lg:var(--panel-shadow);--surface-overlay:rgb(var(--surface-rgb) / .92);--surface-overlay-strong:rgb(var(--surface-rgb) / .97);--surface-overlay-soft:rgb(var(--surface-rgb) / .72);--brand-soft:rgb(var(--primary-rgb) / .07);--brand-soft-strong:rgb(var(--primary-rgb) / .1);--brand-faint:rgb(var(--primary-rgb) / .03);--brand-border-soft:rgb(var(--primary-rgb) / .1);--brand-border:rgb(var(--primary-rgb) / .14);--brand-border-strong:rgb(var(--primary-rgb) / .22);--detail-track-bg:var(--track-bg);--detail-tick:rgb(var(--primary-rgb) / .24);--detail-close-bg:rgb(var(--surface-rgb) / .82);--detail-close-border:rgb(var(--primary-rgb) / .12);--pass-border-soft:rgb(var(--success-rgb) / .2);--pass-border:var(--success-border);--warn-border-soft:rgb(var(--warning-rgb) / .22);--warn-border:var(--warning-border);--fail-border-soft:rgb(var(--danger-rgb) / .22);--fail-border:var(--danger-border);--pass-fill-start:#28a86e;--pass-fill-end:#63d08f;--warn-fill-start:#db9327;--warn-fill-end:#f0c26c;--fail-fill-start:#cf4c52;--fail-fill-end:#eb7a75;--pass-fill-glow:rgb(var(--success-rgb) / .25);--warn-fill-glow:rgb(var(--warning-rgb) / .25);--fail-fill-glow:rgb(var(--danger-rgb) / .3);--detail-panel-bg-end:rgb(var(--bg-rgb) / .94);--utilization-fail-card-bg:rgb(var(--danger-rgb) / .14);--utilization-summary-pass-start:rgb(var(--success-rgb) / .14);--utilization-summary-pass-end:rgb(var(--surface-rgb) / .95);--utilization-summary-warn-start:rgb(var(--warning-rgb) / .16);--utilization-summary-warn-end:rgb(var(--surface-rgb) / .95);--utilization-summary-fail-start:rgb(var(--danger-rgb) / .16);--utilization-summary-fail-end:rgb(var(--surface-rgb) / .95);--utilization-summary-score:var(--color-primary)}html,body{height:100%;font-family:var(--font);color:var(--text);background:var(--bg);font-size:14px;overflow-x:hidden}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header{background:var(--header-bg);color:var(--text-inverse);border-bottom:2px solid var(--header-border-color);flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;display:flex}.app-header h1{letter-spacing:.02em;font-size:15px;font-weight:600}.spacer{flex:1}.app-body{flex:1;display:flex;overflow:hidden}.form-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:420px;min-width:320px;display:flex;overflow-y:auto}.results-panel{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.btn{border-radius:var(--radius);font-size:13px;font-family:var(--font);cursor:pointer;border:none;align-items:center;gap:6px;padding:6px 14px;font-weight:500;transition:opacity .15s,background .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--btn-primary-glow,none)}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.12)}.btn-secondary{background:var(--header-control-bg);color:var(--header-control-text);border:1px solid var(--header-control-border)}.btn-secondary:hover:not(:disabled){background:var(--header-control-bg-hover);border-color:var(--header-control-border-strong)}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-danger{color:var(--fail);border:1px solid var(--fail);background:0 0;padding:3px 8px;font-size:12px}.btn-danger:hover:not(:disabled){background:var(--fail-bg)}.btn-sm{padding:4px 10px;font-size:12px}.section-accordion{border-bottom:1px solid var(--border)}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--brand);background:var(--bg);align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.section-header:hover,.section-header.open{background:var(--surface-hover)}.section-badge{background:var(--border);color:var(--text-muted);border-radius:10px;margin-left:auto;padding:1px 6px;font-size:11px;font-weight:500}.section-chevron{color:var(--text-muted);margin-left:4px;font-size:11px}.section-body{padding:12px 16px}.field-row{margin-bottom:10px}.field-row label{color:var(--text-muted);margin-bottom:3px;font-size:12px;display:block}.field-row label .req{color:var(--accent);margin-left:2px}.field-row input,.field-row select{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:13px;font-family:var(--font);background:var(--surface);color:var(--text);padding:6px 8px;transition:border-color .15s}.field-row input:focus,.field-row select:focus{border-color:var(--brand-light);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.field-row input[type=checkbox]{width:auto}.field-row .checkbox-row{align-items:center;gap:8px;display:flex}.field-row .checkbox-row label{margin-bottom:0}.field-row .unit-suffix{color:var(--text-muted);pointer-events:none;font-size:11px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.field-row .input-with-unit{position:relative}.field-row .input-with-unit input{padding-right:36px}.field-row__select-with-unity{align-items:center;gap:6px;display:flex}.field-row__select-with-unity select{flex:1}.field-row__warning{margin:4px 0 0;line-height:1.3}.field-grid-2{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.field-grid-3{grid-template-columns:1fr 1fr 1fr;gap:0 10px;display:grid}.repeat-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.repeat-item-header{background:var(--bg);border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;padding:7px 10px;font-size:12px;font-weight:600;display:flex}.repeat-item-header .item-title{flex:1}.repeat-item-body{padding:10px}.repeat-add-btn{margin-top:4px}.sag-presets{gap:6px;margin-bottom:8px;display:flex}.sag-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;text-align:center;flex:1;padding:5px 8px;font-size:12px;transition:all .15s}.sag-btn:hover{background:var(--bg);color:var(--text)}.sag-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}.result-status-bar{border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.result-status-bar.pass{background:var(--pass-bg);border-color:var(--success-border)}.result-status-bar.warn{background:var(--warn-bg);border-color:var(--warning-border)}.result-status-bar.fail{background:var(--fail-bg);border-color:var(--danger-border)}.result-status-bar.idle{background:var(--bg)}.result-status-bar.demand-only{background:var(--demand-only-bg);border-color:var(--border)}.unity-badge{text-align:center;min-width:60px;font-size:22px;font-weight:700}.unity-badge.pass{color:var(--pass)}.unity-badge.warn{color:var(--warn)}.unity-badge.fail{color:var(--fail)}.unity-badge.idle{color:var(--text-muted)}.unity-badge.demand-only{color:var(--brand)}.result-info{flex:1}.result-info .label{color:var(--text-muted);font-size:11px}.result-info .value{font-size:13px;font-weight:600}.result-info__code-editions{margin-top:2px}.result-card{border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;overflow:hidden}.result-card-header{background:var(--bg);border-bottom:1px solid var(--border);text-align:left;cursor:default;border-top:none;border-left:none;border-right:none;align-items:center;width:100%;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.result-card-title{flex:1}.result-card-badge,.grouped-results-card__meta{margin-left:auto}.result-card-body{padding:12px}.quick-wall-fastener-results{flex-direction:column;gap:12px;padding:8px;display:flex}.quick-wall-fastener-results .result-card{padding:10px 12px}.quick-wall-fastener-results .result-card--warning{border-color:var(--warn,#d4881a);background:color-mix(in srgb, var(--warn,#d4881a) 8%, transparent)}.quick-wall-fastener-results .result-card--muted{background:var(--bg);color:var(--text-muted)}.quick-wall-fastener-results .result-card__heading{margin:0 0 6px;font-size:13px;font-weight:600}.quick-wall-fastener-results .result-card__list{flex-direction:column;gap:6px;margin:0;padding-left:16px;font-size:12px;display:flex}.quick-wall-fastener-results .result-card__empty{color:var(--text-muted);margin:0;font-size:12px;font-style:italic}.quick-wall-fastener-results .result-row{line-height:1.35}.quick-wall-fastener-results .result-row--muted strong{color:var(--text-muted)}.quick-wall-fastener-results .result-row__warning{color:var(--text-muted);margin-top:2px;font-size:11px}.quick-wall-fastener-results .result-row__flags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.quick-wall-fastener-results .result-row__flag{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 6px;font-size:10px}.check-row{border-bottom:1px solid var(--bg);align-items:center;gap:8px;padding:5px 0;font-size:12px;display:flex}.check-row:last-child{border-bottom:none}.check-label{color:var(--text-muted);flex:1}.check-value{font-variant-numeric:tabular-nums;text-align:right;min-width:50px;font-weight:600}.check-unity{text-align:center;border-radius:4px;min-width:48px;padding:1px 6px;font-size:11px;font-weight:600}.check-unity.pass{background:var(--pass-bg);color:var(--pass)}.check-unity.warn{background:var(--warn-bg);color:var(--warn)}.check-unity.fail{background:var(--fail-bg);color:var(--fail)}.check-unity.neutral{background:var(--border);color:var(--text-muted)}.governing-tag{background:var(--brand);color:#fff;border-radius:3px;margin-left:4px;padding:1px 5px;font-size:10px}.governing-tag--spaced{margin-left:8px}.unity-bar-wrap{background:var(--track-bg);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.unity-bar{border-radius:3px;height:100%;transition:width .4s}.unity-bar.pass{background:var(--pass)}.unity-bar.warn{background:var(--warn)}.unity-bar.fail{background:var(--fail)}.detail-panel{background:linear-gradient(180deg, var(--surface-overlay-strong), var(--detail-panel-bg-end));flex-direction:column;height:100%;min-height:100%;display:flex;position:relative;overflow:hidden}.detail-panel__header{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) calc(var(--space-6) + var(--space-2)) var(--space-3) var(--space-5);border-bottom:1px solid var(--brand-border-soft);background:linear-gradient(180deg, var(--brand-soft-strong), var(--brand-faint));display:flex}.detail-panel__title-wrap{min-width:0}.detail-panel__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 2px;font-size:10px;font-weight:700}.detail-panel__title{color:var(--brand);margin:0;font-size:16px;line-height:1.2}.detail-panel__close{z-index:5;border:1px solid var(--detail-close-border);border-radius:var(--radius-pill);background:var(--detail-close-bg);width:28px;height:28px;color:var(--brand);cursor:pointer;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;position:absolute;top:10px;right:10px}.detail-panel__close:hover{background:var(--surface);border-color:var(--brand-border-strong);box-shadow:0 2px 6px #0000001a}.detail-panel__collapse{font-size:18px;font-weight:700}.detail-panel--collapsed{background:0 0;align-items:flex-end;height:auto;min-height:0;overflow:visible}.detail-panel__expand-tab{align-items:center;gap:var(--space-2);padding:var(--space-3) 6px;border:1px solid var(--detail-close-border);border-radius:var(--radius-pill);background:var(--detail-close-bg);color:var(--brand);cursor:pointer;flex-direction:column;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.detail-panel__expand-tab:hover{background:var(--surface);border-color:var(--brand-border-strong);box-shadow:0 2px 6px #0000001a}.detail-panel__expand-tab-chevron{font-size:18px;font-weight:700;line-height:1}.detail-panel__expand-tab-title{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:700}.detail-panel__body{padding:var(--space-4);flex:auto;overflow-y:auto}.detail-panel__content--with-checks{margin-bottom:12px}.utilization-list{flex-direction:column;gap:6px;display:flex}.utilization-bar{border-radius:var(--radius-lg);border:1px solid var(--brand-soft-strong);background:var(--surface-overlay-soft);padding:10px 14px 8px;transition:border-color .15s,background .15s}.utilization-bar--pass{border-color:var(--pass-border-soft)}.utilization-bar--warn{border-color:var(--warn-border-soft)}.utilization-bar--fail{border-color:var(--fail-border-soft);background:var(--utilization-fail-card-bg)}.utilization-bar__head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:6px;display:flex}.utilization-bar__label{color:var(--text);font-size:13px;font-weight:700}.utilization-bar__ratio{align-items:center;gap:6px;display:flex}.utilization-bar__detail{color:var(--text-muted);font-size:10px}.utilization-bar__value{font-variant-numeric:tabular-nums;color:var(--text);font-size:14px;font-weight:700}.utilization-bar__badge{border-radius:var(--radius-pill);letter-spacing:.07em;text-transform:uppercase;justify-content:center;align-items:center;padding:2px 7px;font-size:9px;font-weight:800;display:inline-flex}.utilization-bar__badge--pass{background:var(--pass-bg);color:var(--pass)}.utilization-bar__badge--warn{background:var(--warn-bg);color:var(--warn)}.utilization-bar__badge--fail{background:var(--fail-bg);color:var(--fail)}.utilization-bar__track{border-radius:var(--radius-pill);background:var(--detail-track-bg);height:14px;position:relative;overflow:hidden}.utilization-bar__fill{width:calc(max(var(--utilization-fill-width,0%), 0%) - 4px);border-radius:var(--radius-pill);transition:width .35s cubic-bezier(.4,0,.2,1);position:absolute;inset:2px auto 2px 2px}.utilization-bar__fill--pass{background:linear-gradient(90deg, var(--pass-fill-start), var(--pass-fill-end));box-shadow:0 0 8px var(--pass-fill-glow)}.utilization-bar__fill--warn{background:linear-gradient(90deg, var(--warn-fill-start), var(--warn-fill-end));box-shadow:0 0 8px var(--warn-fill-glow)}.utilization-bar__fill--fail{background:linear-gradient(90deg, var(--fail-fill-start), var(--fail-fill-end));box-shadow:0 0 8px var(--fail-fill-glow)}.utilization-bar__tick{background:var(--detail-tick);width:2px;position:absolute;top:0;bottom:0;right:0}.utilization-bar__meta{justify-content:space-between;gap:var(--space-2);font-variant-numeric:tabular-nums;color:var(--text-muted);margin-top:4px;font-size:11px;font-weight:600;display:flex}.utilization-summary{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-xl);border:1px solid var(--brand-border);padding:12px 16px;display:flex}.utilization-summary--pass{background:linear-gradient(135deg, var(--utilization-summary-pass-start), var(--utilization-summary-pass-end));border-color:var(--pass-border)}.utilization-summary--warn{background:linear-gradient(135deg, var(--utilization-summary-warn-start), var(--utilization-summary-warn-end));border-color:var(--warn-border)}.utilization-summary--fail{background:linear-gradient(135deg, var(--utilization-summary-fail-start), var(--utilization-summary-fail-end));border-color:var(--fail-border)}.utilization-summary__left{flex-direction:column;gap:2px;display:flex}.utilization-summary__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.utilization-summary__name{color:var(--text);text-transform:capitalize;font-size:15px;font-weight:700}.utilization-summary__score{font-variant-numeric:tabular-nums;color:var(--utilization-summary-score);font-size:22px;font-weight:800}.warnings-list{list-style:none}.warnings-list li{color:var(--warn);align-items:flex-start;gap:8px;padding:5px 0;font-size:12px;display:flex}.warnings-list li:before{content:"!";flex-shrink:0}.error-box{background:var(--fail-bg);border:1px solid var(--danger-border);border-radius:var(--radius);color:var(--fail);padding:10px 14px;font-size:13px}.error-box ul{margin-top:4px;margin-left:16px}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.diagram-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.elevation-diagram{flex-direction:column;display:flex}.elevation-diagram__toolbar{align-items:center;gap:6px;padding:4px 6px 6px;display:flex}.elevation-diagram__toolbar-label{color:#888;margin-right:2px;font-family:system-ui,sans-serif;font-size:10px}.elevation-diagram__toolbar-btn{letter-spacing:.03em;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #c8cdd3;border-radius:4px;align-items:center;gap:4px;padding:3px 10px;font-family:system-ui,sans-serif;font-size:11px;font-weight:600;transition:background .12s;display:inline-flex}.elevation-diagram__toolbar-btn--disabled{color:#aaa;cursor:default}.elevation-diagram__sheet{background:#fff;border:1px solid #d0d7de;border-top:none;border-radius:0 0 6px 6px;line-height:0}.section-picker{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-overlay-soft);color:var(--text);font-size:13px;overflow:hidden}.section-picker__header{background:var(--surface-subtle);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.section-picker__title{color:var(--text);font-weight:600}.section-picker__meta{color:var(--text-muted);margin-left:auto;font-size:11px}.section-picker__show-all{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px}.section-picker__show-all[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand-border-strong);color:var(--brand)}.section-picker__show-all:hover{background:var(--surface-hover)}.section-picker__list--all{max-height:320px}.section-picker__error{color:var(--fail);background:var(--fail-bg);padding:8px 10px}.section-picker__empty{color:var(--text-muted);padding:12px 10px}.section-picker__list{max-height:240px;overflow-y:auto}.section-picker__list--failing{max-height:160px}.section-picker__row{cursor:pointer;border-bottom:1px solid var(--border-soft);background:0 0;align-items:center;gap:8px;padding:5px 10px;font-weight:400;display:flex}.section-picker__row:hover{background:var(--surface-hover)}.section-picker__row--selected{background:var(--brand-soft);font-weight:600}.section-picker__row--failing{background:var(--fail-bg)}.section-picker__row--disabled{opacity:.4;cursor:not-allowed}.section-picker__row--disabled:hover{background:0 0}.section-picker__constraint{color:var(--text-muted);background:var(--surface-hover);border-left:2px solid var(--warn);border-radius:4px;margin:6px 0;padding:6px 10px;font-size:12px;line-height:1.35}.section-picker__unity{color:#fff;text-align:center;border-radius:4px;min-width:48px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.section-picker__unity--pass{background:var(--pass)}.section-picker__unity--warn{background:var(--warn)}.section-picker__unity--fail{background:var(--fail)}.section-picker__unity--neutral{background:var(--color-surface-2,#4a5363)}.section-picker__schedule{white-space:nowrap;color:var(--brand,var(--color-text));background:var(--brand-soft,var(--color-surface-2));border:1px solid var(--color-border);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.section-picker__name{flex:1}.section-picker__name--muted{color:var(--text-muted)}.section-picker__metric{color:var(--text-muted);text-align:right;min-width:64px}.section-picker__metric--secondary{color:var(--text-muted);min-width:60px}.section-picker__toggle{background:var(--fail-bg);cursor:pointer;color:var(--fail);text-align:left;border:0;width:100%;padding:4px 10px;font-size:12px}.section-picker__toggle--with-border,.section-picker__custom-pipe{border-top:1px solid var(--border)}.section-picker__row--custom{text-align:left;border:0;width:100%;font-size:13px}.section-picker__custom-body{background:var(--surface-subtle);border-top:1px solid var(--border-soft);padding:8px 10px}.section-picker__custom-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.section-picker__custom-summary{align-items:center;gap:8px;margin-top:8px;display:flex}.placeholder{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex}.placeholder .icon{opacity:.4;font-size:40px}.placeholder--compact{padding:24px}.placeholder__icon--compact{opacity:.4;font-size:32px}.hidden-file-input{display:none}.save-status-pill{white-space:nowrap;border:1px solid var(--success-border);background:var(--pass-bg);color:var(--pass);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600}.save-status-pill--dirty{border-color:var(--warning-border);background:var(--warn-bg);color:var(--warn)}.save-status-pill--saved{border-color:var(--success-border);background:var(--pass-bg);color:var(--pass)}.backend-status{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-overlay-soft);min-height:24px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;padding:4px 9px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:relative}.backend-status__dot{border-radius:var(--radius-pill);background:currentColor;flex:0 0 7px;width:7px;height:7px}.backend-status--checking{border-color:var(--warning-border);background:var(--warn-bg);color:var(--warn)}.backend-status--checking .backend-status__dot{box-shadow:0 0 8px var(--warn);animation:1.2s ease-in-out infinite backend-status-pulse}.backend-status--live{border-color:var(--success-border);background:var(--pass-bg);color:var(--pass)}.backend-status--live .backend-status__dot{box-shadow:0 0 8px var(--pass)}.backend-status--offline{border-color:var(--danger-border);background:var(--fail-bg);color:var(--fail)}.backend-status--offline .backend-status__dot{box-shadow:0 0 8px var(--fail)}@keyframes backend-status-pulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}.backend-status__bubble{z-index:80;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised-strong);min-width:220px;box-shadow:var(--panel-shadow-soft);color:var(--text-muted);font-family:var(--font);letter-spacing:normal;text-align:left;text-transform:none;white-space:normal;cursor:default;flex-direction:column;gap:9px;padding:10px 12px;font-size:11px;font-weight:500;line-height:1.45;display:none;position:absolute;top:calc(100% + 6px);right:0}.backend-status:hover .backend-status__bubble,.backend-status:focus-visible .backend-status__bubble{display:flex}.backend-status__bubble-row{display:block}.backend-status__bubble-source{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:700;display:block}.backend-status__bubble-build{font-family:var(--font-mono);color:var(--text);font-weight:600;display:block}.backend-status__bubble-when{color:var(--text-muted);display:block}.clamp-toast{background:var(--header-bg);color:var(--text-inverse);box-shadow:var(--panel-shadow-soft);z-index:9999;pointer-events:none;border-radius:8px;padding:8px 18px;font-size:12px;font-weight:500;animation:3.2s ease-in-out forwards clamp-fade;position:fixed;top:12px;left:50%;transform:translate(-50%)}@keyframes clamp-fade{0%{opacity:0;transform:translate(-50%)translateY(-6px)}8%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1}to{opacity:0}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.divider{border:none;border-top:1px solid var(--border);margin:8px 0}.text-muted{color:var(--text-muted)}.text-warn{color:var(--warn)}.text-sm{font-size:12px}.text-xs{font-size:11px}.text-brand{color:var(--brand)}.text-accent{color:var(--accent)}.text-center{text-align:center}.justify-center{justify-content:center}.fw-600{font-weight:600}.mt-2{margin-top:2px}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mb-2{margin-bottom:2px}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.w-full{width:100%}.result-stack{flex-direction:column;gap:12px;margin-top:12px;display:flex}.info-box{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:12px}.info-box__title{color:var(--brand);margin-bottom:6px;font-weight:600}.info-box__grid{grid-template-columns:1fr 1fr;gap:4px 16px;display:grid}.info-box__divider{border-top:1px solid var(--border);margin-top:8px;padding-top:6px}.sub-card{border:1px solid var(--border);border-radius:var(--radius);margin-top:10px;padding:10px}.sub-card__header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sub-card__label{font-size:12px;font-weight:600}.sub-card__meta{color:var(--text-muted);font-size:11px}.toggle-row{cursor:pointer;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.toggle-row__label{font-weight:600}.hint-text{color:var(--text-muted);margin-top:2px;font-size:10px}.field-readonly{opacity:.7;cursor:default}.diagram-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:100%;display:block}.base-plate-detail{background:var(--color-surface,#fafafa);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-width:100%;display:block}.admin-page{max-width:680px;margin:0 auto;padding:32px 16px}.admin-page--narrow{max-width:500px}.admin-page--auth{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-page__back{color:var(--brand);margin-bottom:16px;font-size:13px;text-decoration:none;display:inline-block}.admin-page__back:hover{text-decoration:underline}.admin-page__title{color:var(--text);margin-bottom:4px;font-size:22px}.admin-page__title--sm{font-size:20px}.admin-page__title--lg{font-size:28px}.admin-page__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.admin-page__intro{color:var(--text-muted);margin-bottom:24px;font-size:13px;line-height:1.5}.admin-page__intro--tight{margin-bottom:20px}.admin-page__loading{font-family:var(--font);color:var(--text);padding:32px}.admin-page__card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:16px;padding:16px}.admin-page__card--auth{border-radius:16px;width:100%;max-width:420px;padding:28px;box-shadow:0 12px 32px #00000014}.admin-page__section{margin-bottom:24px}.admin-page__section--spacious{margin-bottom:32px}.admin-page__section-title{border-bottom:1px solid var(--border);color:var(--text);margin-bottom:12px;padding-bottom:4px;font-size:16px;font-weight:600}.admin-page__section-title--sm{border-bottom:none;padding-bottom:0;font-size:14px}.admin-page__grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.admin-calc-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:6px;display:grid}.admin-calc-card{border:1px solid var(--color-border,var(--border));background:var(--color-surface,var(--surface));border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.admin-calc-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-calc-card__name{color:var(--color-text,var(--text));font-weight:600}.admin-calc-card__link{color:var(--color-accent,var(--accent));margin-top:2px;font-size:13px;font-weight:600;text-decoration:none}.admin-calc-card__link:hover{text-decoration:underline}.admin-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-page__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-page__actions--tight{gap:8px}.button-row{flex-wrap:wrap;gap:12px;display:flex}.button-row--tight{gap:8px}.button-row--stretch>*,.button-row__item--grow{flex:1}.button-row--stretch .btn,.button-row--stretch button,.button-row--stretch a{justify-content:center}.status-banner{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;padding:8px 12px;font-size:13px}.status-banner--success{border-color:var(--success-border);background:var(--pass-bg);color:var(--pass)}.status-banner--error{border-color:var(--danger-border);background:var(--fail-bg);color:var(--fail)}.status-banner--warning{border-color:var(--warning-border);background:var(--warn-bg);color:var(--warn)}.admin-field{margin-bottom:8px;display:block}.admin-field__label{color:var(--text);margin-bottom:2px;font-size:13px;display:block}.admin-field__help{color:var(--text-muted);margin-top:4px;font-size:12px}.admin-field__control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font-size:13px;font-family:var(--font);padding:4px 8px}.admin-field__control:focus{border-color:var(--brand-light);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.admin-field__control:disabled{opacity:.55;cursor:not-allowed;background:var(--bg)}.admin-field__control--mono{font-family:var(--font-mono)}.quick-calc-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.quick-calc-page__header{margin-bottom:1.5rem}.quick-calc-page__back{color:var(--text-muted);font-size:14px;text-decoration:none}.quick-calc-page__back:hover{text-decoration:underline}.quick-calc-page__title{margin-top:.5rem;margin-bottom:.25rem}.quick-calc-page__subtitle{color:var(--text-muted);margin:0}.quick-calc-page__layout{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.quick-calc-page__layout--with-viewport{grid-template:"form viewport"minmax(360px,auto)"form results"/minmax(360px,1fr) minmax(0,1.5fr)}.quick-calc-page__layout--with-viewport .quick-calc-page__form{grid-area:form}.quick-calc-page__layout--with-viewport .quick-calc-page__viewport{grid-area:viewport}.quick-calc-page__layout--with-viewport .quick-calc-page__results{grid-area:results}.quick-calc-page__viewport{flex-direction:column;min-height:360px;display:flex;position:relative}@media (max-width:1024px){.quick-calc-page__layout--with-viewport{grid-template:"form""viewport""results"/1fr}.quick-calc-page__viewport{min-height:320px}}.quick-calc-page:has(.quick-calc-page__layout--with-viewport){max-width:1440px}.quick-calc-page__form{flex-direction:column;gap:1.5rem;display:flex}.quick-calc-page__section-title,.quick-calc-page__result-title{border-bottom:1px solid var(--border);padding-bottom:.25rem}.quick-calc-page__grid{grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin-top:.5rem;display:grid}.quick-calc-page__field{flex-direction:column;font-size:13px;display:flex}.quick-calc-page__field--full{grid-column:1/-1}.quick-calc-page__field-label{color:var(--text);align-items:center;gap:6px;margin-bottom:2px;display:flex}.quick-calc-page__field-unity{padding:1px 6px;font-size:11px}.quick-calc-page__field-warn{color:var(--color-warn,#b58200);margin-top:3px;font-size:11px;line-height:1.3}.quick-calc-page__field--focused .quick-calc-page__field-label{color:#b58200;font-weight:600}.quick-calc-page__field--focused input,.quick-calc-page__field--focused select{border-color:#ffd644!important;box-shadow:0 0 0 2px #ffd6444d!important}.quick-calc-page__live{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);vertical-align:middle;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:500}.quick-calc-page__live--solving{color:var(--brand);border-color:var(--brand-light)}.quick-calc-page__check-list{flex-direction:column;gap:4px;margin-top:8px;display:flex}.quick-calc-page__caveat{color:var(--text-muted);background:var(--surface);border-left:3px solid var(--warn);border-radius:var(--radius-sm);margin-top:10px;padding:8px 10px;font-size:11px;font-style:italic}.quick-calc-page__field input,.quick-calc-page__field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font-size:13px;font-family:var(--font);padding:6px 8px}.quick-calc-page__field input:focus,.quick-calc-page__field select:focus{border-color:var(--brand-light);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.quick-calc-page__field input[type=checkbox]{width:auto}.quick-calc-page__submit{background:var(--brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:0;padding:.75rem 1rem;font-size:15px}.quick-calc-page__submit:disabled{cursor:wait;opacity:.7}.quick-calc-page__error{border-radius:var(--radius-sm);background:var(--fail-bg);color:var(--fail);margin-top:.5rem;padding:.75rem;font-size:13px}.quick-calc-page__summary{border-radius:var(--radius-sm);margin-top:.75rem;padding:1rem;font-size:15px;font-weight:600}.quick-calc-page__summary--pass{background:var(--pass-bg);color:var(--pass)}.quick-calc-page__summary--fail{background:var(--fail-bg);color:var(--fail)}.quick-calc-page__summary-detail{color:var(--text-muted);margin-top:4px;font-size:12px;font-weight:400}.quick-calc-page__code{background:var(--bg);border-radius:var(--radius-sm);max-height:400px;margin-top:1rem;padding:.75rem;font-size:11px;overflow:auto}.fastener-table-panel{margin-top:1.5rem}.fastener-table-panel__error{margin-top:.5rem}.fastener-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:13px}.fastener-table th,.fastener-table td{padding:6px 8px}.fastener-table th{text-align:left;border-bottom:1px solid var(--color-border);font-weight:600}.fastener-table__th--num,.fastener-table__td--num{text-align:right}.fastener-table td{border-bottom:1px solid var(--color-border);vertical-align:top}.fastener-table__status--pass{color:var(--pass)}.fastener-table__status--fail{color:var(--fail)}.fastener-table__status--none{color:var(--color-text-muted)}.fastener-table__badge{border-radius:4px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.fastener-table__badge--pass{background:var(--pass-bg);color:var(--pass)}.fastener-table__badge--fail{background:var(--fail-bg);color:var(--fail)}.fastener-table__badge--neutral{background:var(--border);color:var(--color-text-muted)}.fastener-table__basis{color:var(--color-text-muted);margin-top:1px;font-size:10px;display:block}.fastener-table__td--gov{font-weight:700}.fastener-table--selectable td{cursor:pointer}.fastener-table__row--pick:hover td{background:var(--color-surface-2,var(--track-bg))}.fastener-table__row--pick:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.fastener-table__row--selected td{background:var(--brand-bg,var(--track-bg));font-weight:600}@media (max-width:820px){.quick-calc-page__layout{grid-template-columns:1fr}}@media (max-width:640px){.admin-page{padding:24px 16px}.admin-page__grid,.quick-calc-page__grid{grid-template-columns:1fr}.button-row{flex-direction:column}.button-row__item--grow{width:100%}}.vp2d-panel{flex-direction:column;gap:12px;height:100%;padding:8px;display:flex;overflow:auto}@media (max-width:768px){html,body{font-size:13px}.app-body{flex-direction:column;overflow-y:auto}.form-panel{border-right:none;border-bottom:1px solid var(--border);flex-shrink:0;width:100%;min-width:0;height:50vh;min-height:240px;max-height:55vh}.results-panel{padding:10px}.field-row input,.field-row select{padding:5px 7px;font-size:12px}.app-header h1{font-size:13px}.field-grid-2{grid-template-columns:1fr}.field-grid-3{grid-template-columns:1fr 1fr}.detail-panel__header,.detail-panel__body{padding-left:var(--space-4);padding-right:var(--space-4)}}.resizable-split-panel{--resizable-right-width:360px;flex:1;align-self:stretch;min-width:0;height:100%;display:flex;overflow:hidden}.resizable-split-panel__left{flex:1;align-items:stretch;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.resizable-split-panel__left>*{flex:auto;min-width:0;min-height:0}.resizable-split-panel__handle{cursor:col-resize;background:var(--border);z-index:10;outline:none;flex-shrink:0;width:5px;transition:background .15s;position:relative}.resizable-split-panel__handle:hover,.resizable-split-panel__handle:focus-visible{background:var(--brand-light,#4a90d9)}.resizable-split-panel__handle:before{content:"";position:absolute;inset:0 -4px}.resizable-split-panel__handle:after{content:"";background:repeating-linear-gradient(to bottom, var(--text-muted,#888) 0px, var(--text-muted,#888) 2px, transparent 2px, transparent 5px);opacity:.5;border-radius:2px;width:3px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resizable-split-panel__right{height:100%;width:var(--resizable-right-width);min-width:var(--resizable-right-width);max-width:var(--resizable-right-width);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.resizable-split-panel__right>*{flex:auto;min-height:0}.resizable-split-panel__collapse-btn{right:calc(var(--resizable-right-width,360px) + 5px - 10px);z-index:20;border:1px solid var(--border);background:var(--surface);width:20px;height:48px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #0000001f}.resizable-split-panel__collapse-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.resizable-split-panel--collapsed .resizable-split-panel__collapse-btn{right:5px}.result-card--collapsible .result-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border)}.result-card--collapsible .result-card-toggle{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:12px;transition:transform .18s}.result-card--collapsible.result-card--closed .result-card-toggle{transform:rotate(-90deg)}.result-card--collapsible.result-card--closed .result-card-body{display:none}
.wizard-layout{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.wizard-layout__header{background:var(--header-bg);color:var(--text-inverse);border-bottom:2px solid var(--header-border-color);box-shadow:var(--header-border-glow,none);flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;display:flex;position:relative}.wizard-layout__title{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.wizard-layout__menu{align-items:center;gap:10px;display:flex}.wizard-layout__menu-toggle,.wizard-layout__menu-close{border:1px solid var(--header-control-border,#ffffff38);background:var(--header-control-bg,#ffffff14);width:32px;height:32px;color:var(--header-control-text,var(--text-inverse));cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:none}.wizard-layout__menu-toggle:hover,.wizard-layout__menu-close:hover{background:var(--header-control-bg-hover,#ffffff2e);border-color:var(--header-control-border-strong,#ffffff73)}.wizard-layout__mode-toggle{border-radius:var(--radius);background:#0003;gap:2px;padding:2px;display:flex}.wizard-layout__mode-toggle .btn{border-radius:4px}.wizard-layout__mode-toggle .btn-ghost{color:#ffffffb3;border-color:#fff3}.wizard-layout__mode-toggle .btn-ghost:hover{color:#fff;background:#ffffff1a;border-color:#fff6}.wizard-layout__body{--wizard-panel-width:420px;--wizard-progress-pct:100%;flex:1;align-items:flex-start;display:flex;overflow:hidden}.wizard-layout__panel{width:var(--wizard-panel-width);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;min-width:340px;display:flex;overflow:hidden}.wizard-layout__header-spacer{flex:1}.wizard-layout__divider{cursor:col-resize;background:linear-gradient(90deg,#0000000a,#0000001a,#0000000a);flex-shrink:0;width:8px}.wizard-layout__divider:hover,.wizard-layout__divider--active{background:linear-gradient(to right, rgb(var(--primary-rgb) / .2), rgb(var(--primary-rgb) / .4), rgb(var(--primary-rgb) / .2))}.calculator-floating-sidebar{z-index:2;border:1px solid var(--border);background:var(--panel-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;width:min(460px,42vw);max-height:calc(100dvh - 86px);margin:14px;position:relative;overflow:hidden;box-shadow:0 12px 34px #00000038}.calculator-floating-sidecar{z-index:2;border:1px solid var(--border);background:var(--panel-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:none;border-radius:0 18px 18px 0;flex-direction:column;width:min(360px,32vw);max-height:calc(100dvh - 86px);margin:14px 14px 14px 0;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 34px #00000038}.wizard-layout__body--linear,.wizard-layout__body--stack{position:relative}.wizard-layout__body--linear .wizard-layout__viewport,.wizard-layout__body--stack .wizard-layout__viewport{z-index:1;position:absolute;inset:0}.wizard-layout__body--linear .wizard-layout__panel,.wizard-layout__body--stack .wizard-layout__panel{position:relative}.wizard-layout__body--linear .wizard-layout__panel--with-aside,.wizard-layout__body--stack .wizard-layout__panel--with-aside{border-radius:18px 0 0 18px}.wizard-layout__body--linear .wizard-layout__panel-aside,.wizard-layout__body--stack .wizard-layout__panel-aside{position:relative}.wizard-layout__body--linear .wizard-layout__divider,.wizard-layout__body--stack .wizard-layout__divider{display:none}.wizard-layout__body--stack .wizard-layout__panel,.wizard-layout__body--stack .wizard-layout__panel-aside{overflow-y:auto}.wizard-layout__progress{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;padding:8px 16px}.wizard-layout__steps{flex:auto;min-height:0;overflow-y:auto}.wizard-layout__nav{border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.wizard-layout__nav-label{text-align:center;color:var(--text-muted);flex:1;font-size:12px}.wizard-layout__progress--linear{flex-direction:column;gap:6px;display:flex}.wizard-layout__progress-meta{color:var(--text-muted);justify-content:space-between;font-size:11px;font-weight:600;display:flex}.wizard-layout__progress-track{background:var(--track-bg);border-radius:999px;width:100%;height:7px;overflow:hidden}.wizard-layout__progress-fill{width:var(--wizard-progress-pct);background:linear-gradient(90deg, var(--brand), var(--brand-light));border-radius:999px;height:100%;transition:width .2s}.wizard-layout__view-toggle{border-radius:var(--radius);background:#0003;gap:2px;padding:2px;display:flex}.wizard-layout__view-toggle .btn{border-radius:4px}.wizard-layout__view-toggle .btn-ghost{color:#ffffffb3;border-color:#fff3}.wizard-layout__view-toggle .btn-ghost:hover{color:#fff;background:#ffffff1a;border-color:#fff6}.wizard-layout__viewport{background:var(--viewport-bg,#1a1d23);flex:1;position:relative;overflow:hidden}.wizard-layout__viewport-2d{background:#fff;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:16px;display:flex;overflow:auto}.wizard-progress{align-items:center;gap:4px;display:flex}.wizard-progress__dot{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:12px;align-items:center;gap:4px;padding:4px 6px;font-size:11px;transition:all .15s;display:flex}.wizard-progress__dot:hover{background:#0000000f}.wizard-progress__dot--active{background:var(--accent);color:#fff}.wizard-progress__dot--active:hover{background:var(--accent);filter:brightness(1.12)}.wizard-progress__dot--past{color:var(--pass)}.wizard-progress__num{border:1.5px solid;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:600;display:inline-flex}.wizard-progress__dot--active .wizard-progress__num{background:#fff3;border-color:#0000}.wizard-progress__label{font-size:11px}.wizard-step{border-bottom:1px solid var(--border);transition:background .15s}.wizard-step--active{background:var(--surface-subtle)}.wizard-layout__body--stack .wizard-step{border:1px solid var(--border-soft);background:0 0;border-radius:12px;margin:6px 10px;transition:box-shadow .15s,border-color .15s;overflow:hidden}.wizard-layout__body--stack .wizard-step:hover{border-color:var(--border);box-shadow:0 2px 8px #0000001a}.wizard-layout__body--stack .wizard-step--expanded{border-color:var(--brand-border-strong);box-shadow:0 2px 10px rgb(var(--primary-rgb) / .12)}.wizard-layout__body--stack .wizard-step__header{border-radius:12px}.wizard-layout__body--stack .wizard-step--expanded .wizard-step__header{border-bottom:1px solid var(--border);background:var(--brand-soft-strong);border-radius:12px 12px 0 0}.wizard-step__header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;transition:background .1s;display:flex}.wizard-step__header:hover{background:var(--surface-hover)}.wizard-step__number{border:2px solid var(--border);width:26px;height:26px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.wizard-step__number--active{border-color:var(--accent);color:var(--accent);background:rgb(var(--accent-rgb) / .1)}.wizard-step__title{color:var(--text);font-size:13px;font-weight:600}.wizard-step--active .wizard-step__title,.wizard-step--expanded .wizard-step__title{color:var(--accent)}.wizard-step__summary{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;margin-left:auto;font-size:11px;overflow:hidden}.wizard-step__chevron{color:var(--text-muted);margin-left:auto;font-size:12px;transition:transform .2s;display:inline-block}.wizard-step__chevron--open{transform:rotate(90deg)}.wizard-step__body{padding:12px 16px 16px;animation:.2s ease-out wizardSlideIn}.pylon-section-subtitle{margin-bottom:6px;font-weight:600}.pylon-design-fixed{border:1px solid var(--border-soft,var(--border));background:var(--surface-subtle);border-radius:10px;flex-direction:column;justify-content:center;min-height:60px;padding:10px 12px;font-size:12px;display:flex}.pylon-block{margin-bottom:4px;display:block}.pylon-accent-bold{color:var(--accent);font-weight:600}@keyframes wizardSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.viewport-overlay{pointer-events:none;z-index:10;position:absolute;bottom:16px;left:16px;right:16px}.viewport-overlay>*{pointer-events:auto}.viewport-results{background:var(--surface-overlay-strong);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);max-height:50vh;overflow-y:auto}.viewport-results__toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.viewport-results__body{padding:0 12px 12px}.viewport3d-root{width:100%;height:100%;min-height:100%;position:relative}.viewport-home-btn{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffffffa6;cursor:pointer;background:#00000073;border:1px solid #ffffff38;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:flex;position:absolute;top:14px;right:8px}.viewport-home-btn:hover{color:#fff;background:#000000a6;border-color:#ffffff73}[data-palette=cyberpunk-blue] .viewport-home-btn{color:#44a7ffbf;border-color:#44a7ff59}[data-palette=cyberpunk-blue] .viewport-home-btn:hover{color:#44a7ff;border-color:#44a7ffb3;box-shadow:0 0 8px #44a7ff66}.viewport-fit-btn{top:48px}.viewport-dim-groups{z-index:11;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:82px;right:8px}.viewport-dim-groups__toggle{position:static}.viewport-dim-groups__menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0000008c;border:1px solid #ffffff2e;border-radius:8px;flex-direction:column;gap:2px;margin-top:4px;padding:4px;transition:opacity .15s,transform .15s;display:flex;transform:translateY(-4px)}.viewport-dim-groups:hover .viewport-dim-groups__menu,.viewport-dim-groups:focus-within .viewport-dim-groups__menu{opacity:1;pointer-events:auto;transform:none}.viewport-dim-groups__row{color:#ffffffc7;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-family:system-ui,sans-serif;font-size:11px;font-weight:600;transition:background .12s,color .12s;display:flex}.viewport-dim-groups__row:hover{color:#fff;background:#ffffff1a}.viewport-dim-groups__row.is-quieted{color:#ffffff61}.viewport-dim-groups__eye{background:currentColor;border:1.5px solid;border-radius:50%;flex:none;width:7px;height:7px}.viewport-dim-groups__row.is-quieted .viewport-dim-groups__eye{background:0 0}.viewport3d-canvas{background:var(--viewport-bg,#1a1d23);display:block;width:100%!important;height:100%!important;min-height:100%!important}.viewport3d-root>.viewport3d-canvas,.viewport3d-root>div:not(.dimension-overlay):not(.viewport-overlay):not(.viewport-dim-groups),.viewport3d-root>div:not(.dimension-overlay):not(.viewport-overlay):not(.viewport-dim-groups)>div,.viewport3d-canvas>canvas{display:block;width:100%!important;height:100%!important;min-height:100%!important}.dimension-overlay{z-index:8;pointer-events:none;position:absolute;inset:0;overflow:hidden}.dimension-overlay__svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dimension-overlay__item{pointer-events:none}.dimension-overlay__label-wrap{pointer-events:inherit;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.dimension-line__html,.dimension-line__html--interactive{pointer-events:none}.dimension-line__html--interactive{z-index:9999}.dimension-line__input{background:var(--dim-label-bg,#0a0f18eb);width:92px;color:var(--dim-label-fg,#fff);border:1px solid rgb(var(--accent-rgb,255 221 87) / .55);text-align:center;pointer-events:auto;border-radius:999px;outline:none;padding:6px 12px;font-family:system-ui,sans-serif;font-size:11px;font-weight:600;box-shadow:0 6px 14px #00000052,inset 0 1px #ffffff0f}.cabinet-add-pill{pointer-events:auto;cursor:pointer;background:var(--dim-label-bg,#0a0f18eb);color:var(--dim-label-fg,#fff);border:1px solid var(--color-accent,var(--dim-label-fg));box-shadow:var(--shadow-lg,var(--shadow));white-space:nowrap;border-radius:999px;padding:6px 12px;font-family:system-ui,sans-serif;font-size:11px;font-weight:600}.cabinet-add-pill:hover{background:var(--dim-highlight,var(--dim-label-bg))}.dimension-line__select{text-align:left;appearance:auto;width:auto;min-width:100px;padding:6px 28px 6px 12px}.dimension-line__slot{pointer-events:none;transform:translate(var(--dim-shift-x,0px), var(--dim-shift-y,0px));transition:transform .16s,opacity 90ms;display:inline-block;position:relative}.dimension-line__slot.is-culled{opacity:0}.dimension-line__slot.is-culled *{pointer-events:none!important}.dims-orbiting .dimension-line__slot{opacity:.45}.dims-orbiting .dimension-line__slot:hover,.dims-orbiting .dimension-line__slot[data-dim-editing=true]{opacity:1}.dims-orbiting .dimension-line__slot:has(.dimension-line__label--highlighted){opacity:1}.dims-orbiting .dimension-line__slot.is-culled{opacity:0}.dimension-line__slot.dim-group-quiet,.dims-orbiting .dimension-line__slot.dim-group-quiet{opacity:.25}.dimension-line__slot.dim-group-faded,.dims-orbiting .dimension-line__slot.dim-group-faded{opacity:.12}.dimension-line__slot.dim-group-quiet:hover{opacity:1}.dimension-line__slot.is-culled.dim-group-hot{opacity:.9}.dimension-line__leader{width:var(--dim-leader-len,0px);transform-origin:0;height:0;transform:rotate(var(--dim-leader-angle,0deg));opacity:0;pointer-events:none;z-index:-1;border-top:1px solid #fff6;position:absolute;top:50%;left:50%}.dimension-line__slot.has-leader .dimension-line__leader{opacity:.55}.dimension-line__label{background:var(--dim-label-bg,#0a0f18d1);color:var(--dim-label-fg,#fff);text-shadow:var(--dim-label-glow,none);letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:default;border:1px solid #ffffff1a;border-bottom:none;border-radius:999px;padding:3px 8px;font-family:system-ui,sans-serif;font-size:10px;font-weight:600;box-shadow:0 6px 14px #00000047,inset 0 1px #ffffff0d}.dimension-line__label--highlighted{background:var(--dim-label-bg,#0a0f18eb);color:var(--dim-highlight,#ffdd57);border-color:rgb(var(--accent-rgb,255 221 87) / .7);box-shadow:0 8px 18px #0000005c, 0 0 0 2px rgb(var(--accent-rgb,255 221 87) / .22), inset 0 1px 0 #ffffff0f;text-shadow:var(--dim-label-glow,none)}.dimension-line__label--editable{border-color:rgb(var(--accent-rgb,255 221 87) / .35);border-bottom:1px solid rgb(var(--accent-rgb,255 221 87) / .35)}.dimension-line__label--clickable{cursor:pointer;z-index:0;pointer-events:auto;position:relative}.dimension-line__label--clickable:before{content:"";z-index:-1;position:absolute;inset:-10px}.dimension-line__label--load-tag{min-width:60px;padding:3px 8px;font-size:9px;box-shadow:0 8px 18px #00000057,inset 0 1px #ffffff14}.dimension-line__label--highlighted.dimension-line__label--load-tag{box-shadow:0 10px 22px #00000061, 0 0 0 2px rgb(var(--accent-rgb,255 221 87) / .22), inset 0 1px 0 #ffffff1a}.dimension-line__input--load-tag{width:68px;min-width:68px;padding:3px 8px;font-size:9px}.dimension-line__label--load-arrow{color:var(--load-arrow-color,var(--dim-label-fg,#fff));white-space:nowrap;pointer-events:none}@media (max-width:768px){.wizard-layout__body{flex-direction:column;align-items:stretch;overflow:hidden}.wizard-layout__viewport{flex:none;order:-1;height:45vh;min-height:220px}.wizard-layout__body--linear .wizard-layout__panel,.wizard-layout__body--stack .wizard-layout__panel,.wizard-layout__body--linear .wizard-layout__panel-aside,.wizard-layout__body--stack .wizard-layout__panel-aside{border:none;border-top:1px solid var(--border);width:100%;min-height:0;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface);z-index:auto;border-radius:0;flex:auto;margin:0;position:static}.wizard-layout__body--linear .wizard-layout__panel--with-aside,.wizard-layout__body--stack .wizard-layout__panel--with-aside{border-radius:0}.wizard-layout__body--linear .wizard-layout__viewport,.wizard-layout__body--stack .wizard-layout__viewport{z-index:auto;position:static;inset:auto}.wizard-layout__nav{background:var(--surface);gap:8px;padding:10px 12px;box-shadow:0 -2px 8px #0000000d}.wizard-layout__nav .btn{min-height:44px;padding:10px 14px;font-size:14px;font-weight:600}.wizard-layout__nav-label{font-size:13px;font-weight:500}.wizard-progress{scrollbar-width:thin;gap:6px;padding:2px 4px;overflow-x:auto}.wizard-progress::-webkit-scrollbar{width:6px;height:6px}.wizard-progress::-webkit-scrollbar-thumb{background:var(--color-border,#7f7f7f66);border-radius:3px}.wizard-progress::-webkit-scrollbar-track{background:0 0}.wizard-layout__panel>.wizard-progress{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:6px 10px}.wizard-progress__dot{flex-shrink:0;padding:6px 8px}.wizard-progress__num{width:28px;height:28px;font-size:12px}.wizard-progress__label{display:none}.wizard-layout__menu-toggle{display:inline-flex}.wizard-layout__menu{background:var(--header-bg);width:min(280px,80vw);color:var(--text-inverse);border-left:1px solid var(--header-border-color);z-index:1001;flex-direction:column;align-items:stretch;gap:12px;padding:14px;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-8px 0 24px #00000059}.wizard-layout__menu--open{transform:translate(0)}.wizard-layout__menu-close{align-self:flex-end;display:inline-flex}.wizard-layout__menu-backdrop{z-index:1000;background:#0006;position:fixed;inset:0}.wizard-layout__menu .wizard-layout__mode-toggle,.wizard-layout__menu .wizard-layout__view-toggle{width:100%;display:flex}.wizard-layout__menu .wizard-layout__mode-toggle .btn,.wizard-layout__menu .wizard-layout__view-toggle .btn{flex:1}.wizard-layout__menu>.btn{justify-content:center;width:100%}}
[data-palette=highland-moss],[data-palette=standard-light],[data-palette=forest-light],[data-palette=slate-light],[data-palette=copper-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-palette=standard-dark],[data-palette=vintage-dark],[data-palette=cyberpunk-blue],[data-palette=aurora-dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-palette=highland-moss]{--theme-primary:#3f5341;--theme-secondary:#1f2a22;--theme-accent:#b8893a;--theme-highlight:#c8a977;--bg-rgb:232 225 208;--surface-rgb:242 237 222;--text-rgb:31 42 34;--muted-rgb:95 84 64;--primary-rgb:63 83 65;--secondary-rgb:31 42 34;--accent-rgb:184 137 58;--border-rgb:200 188 162;--success-rgb:63 122 69;--warning-rgb:194 106 28;--danger-rgb:142 58 58;--panel-glass:#f2eddeeb;--panel-glass-hi:#f2eddeb8;--border-subtle:#c8bca28c;--viewport-bg:#14201a;--dim-label-bg:#0b120dc7;--dim-label-fg:#f0eadd;--dim-highlight:var(--theme-accent)}[data-palette=standard-light]{--theme-primary:#2f6fed;--theme-secondary:#163b67;--theme-accent:#ef8354;--theme-highlight:#78c4ff;--bg-rgb:247 248 250;--surface-rgb:255 255 255;--text-rgb:29 36 48;--muted-rgb:99 108 118;--primary-rgb:47 111 237;--secondary-rgb:22 59 103;--accent-rgb:239 131 84;--border-rgb:208 215 222;--success-rgb:28 140 87;--warning-rgb:194 122 24;--danger-rgb:203 75 75;--panel-glass:#ffffffeb;--panel-glass-hi:#ffffffb8;--border-subtle:#d0d7de8c;--viewport-bg:#161d28;--dim-label-bg:#0e141fc2;--dim-label-fg:#fff;--dim-highlight:var(--theme-highlight)}[data-palette=forest-light]{--theme-primary:#5a8a3e;--theme-secondary:#264826;--theme-accent:#c68347;--theme-highlight:#9ad872;--bg-rgb:239 244 236;--surface-rgb:249 251 246;--text-rgb:28 42 24;--muted-rgb:82 107 74;--primary-rgb:90 138 62;--secondary-rgb:38 72 38;--accent-rgb:198 131 71;--border-rgb:191 205 181;--success-rgb:39 137 90;--warning-rgb:184 123 46;--danger-rgb:179 88 74;--panel-glass:#f9fbf6eb;--panel-glass-hi:#f9fbf6b8;--border-subtle:#bfcdb58c;--viewport-bg:#1a241c;--dim-label-bg:#0c120dc2;--dim-label-fg:#f5f8f2;--dim-highlight:var(--theme-highlight)}[data-palette=slate-light]{--theme-primary:#4a84c4;--theme-secondary:#264260;--theme-accent:#6bb7cf;--theme-highlight:#7ad9ec;--bg-rgb:237 241 246;--surface-rgb:248 250 252;--text-rgb:25 35 49;--muted-rgb:91 104 123;--primary-rgb:74 132 196;--secondary-rgb:38 66 96;--accent-rgb:107 183 207;--border-rgb:201 210 223;--success-rgb:42 141 100;--warning-rgb:199 139 55;--danger-rgb:194 88 96;--panel-glass:#f8fafceb;--panel-glass-hi:#f8fafcb8;--border-subtle:#c9d2df8c;--viewport-bg:#16202d;--dim-label-bg:#0b121cc2;--dim-label-fg:#f9fbff;--dim-highlight:var(--theme-highlight)}[data-palette=copper-light]{--theme-primary:#b86a3c;--theme-secondary:#6f3e2c;--theme-accent:#e5a65e;--theme-highlight:#f3d08c;--bg-rgb:247 239 230;--surface-rgb:255 248 242;--text-rgb:55 38 30;--muted-rgb:123 95 81;--primary-rgb:184 106 60;--secondary-rgb:111 62 44;--accent-rgb:229 166 94;--border-rgb:219 195 180;--success-rgb:80 136 95;--warning-rgb:197 138 67;--danger-rgb:182 90 78;--panel-glass:#fff8f2eb;--panel-glass-hi:#fff8f2b8;--border-subtle:#dbc3b48c;--viewport-bg:#251a16;--dim-label-bg:#1a120ec2;--dim-label-fg:#fff8f0;--dim-highlight:var(--theme-highlight)}[data-palette=standard-dark]{--theme-primary:#5aa9ff;--theme-secondary:#1f2e44;--theme-accent:#f08d54;--theme-highlight:#5de2f4;--bg-rgb:15 17 21;--surface-rgb:26 30 36;--text-rgb:232 236 241;--muted-rgb:157 170 184;--primary-rgb:90 169 255;--secondary-rgb:31 46 68;--accent-rgb:240 141 84;--border-rgb:77 92 111;--success-rgb:70 191 126;--warning-rgb:233 173 79;--danger-rgb:229 101 109;--panel-glass:#12171ff0;--panel-glass-hi:#12171fc2;--border-subtle:#4d5c6f73;--viewport-bg:#0c1117;--dim-label-bg:#090e16e0;--dim-label-fg:#e8ecf1;--dim-highlight:var(--theme-highlight);--surface-inverse:#080c12c7;--surface-inverse-strong:#080c12e6}[data-palette=vintage-dark]{--theme-primary:#d98245;--theme-secondary:#2c4a5c;--theme-accent:#efc37c;--theme-highlight:#72afc8;--bg-rgb:33 36 40;--surface-rgb:46 50 56;--text-rgb:210 198 165;--muted-rgb:138 146 138;--primary-rgb:217 130 69;--secondary-rgb:44 74 92;--accent-rgb:239 195 124;--border-rgb:72 80 88;--success-rgb:102 183 148;--warning-rgb:221 165 45;--danger-rgb:201 102 84;--panel-glass:#212428f2;--panel-glass-hi:#212428c2;--border-subtle:#48505873;--viewport-bg:#171a1e;--dim-label-bg:#0e0f12e0;--dim-label-fg:#d0c4a0;--dim-highlight:var(--theme-accent);--btn-primary-glow:0 0 10px #d9824559}[data-palette=cyberpunk-blue]{--theme-primary:#44a7ff;--theme-secondary:#7c3aed;--theme-accent:#fbbf24;--theme-highlight:#22d3ee;--bg-rgb:10 14 23;--surface-rgb:19 26 38;--text-rgb:228 238 255;--muted-rgb:135 162 196;--primary-rgb:68 167 255;--secondary-rgb:124 58 237;--accent-rgb:251 191 36;--border-rgb:52 90 160;--success-rgb:52 211 153;--warning-rgb:251 146 60;--danger-rgb:248 113 133;--panel-glass:#0a0e17f2;--panel-glass-hi:#0a0e17c2;--border-subtle:#345aa073;--viewport-bg:#070b14;--dim-label-bg:#070b14eb;--dim-label-fg:#eaf2ff;--dim-highlight:var(--theme-accent);--dim-label-glow:0 0 8px currentColor;--btn-primary-glow:0 0 12px #44a7ff94, 0 0 26px #44a7ff47;--header-border-glow:0 4px 24px #44a7ff42;--scene-badge-vertical:#2f79cf;--scene-badge-horizontal:#6b21c8}[data-palette=aurora-dark]{--theme-primary:#1f8a70;--theme-secondary:#18424b;--theme-accent:#f2a65a;--theme-highlight:#58c4dd;--bg-rgb:15 23 27;--surface-rgb:24 37 43;--text-rgb:232 241 239;--muted-rgb:150 177 173;--primary-rgb:31 138 112;--secondary-rgb:24 66 75;--accent-rgb:242 166 90;--border-rgb:70 103 108;--success-rgb:102 199 127;--warning-rgb:242 166 90;--danger-rgb:235 112 105;--panel-glass:#0f171bf2;--panel-glass-hi:#0f171bc2;--border-subtle:#46676c73;--viewport-bg:#0b1216;--dim-label-bg:#0a1114e6;--dim-label-fg:#e8f1ef;--dim-highlight:var(--theme-accent);--btn-primary-glow:0 0 12px #1f8a7047;--header-border-glow:0 4px 24px #1f8a702e}[data-palette]{--header-bg:linear-gradient(135deg, var(--theme-secondary), var(--theme-primary));--header-border-color:rgb(var(--secondary-rgb) / .92);--header-control-bg:#ffffff1f;--header-control-bg-hover:#fff3;--header-control-border:#ffffff38;--header-control-border-strong:#ffffff61;--header-control-text:var(--text-inverse);--header-control-text-muted:var(--text-inverse-muted);--legend-bg:#0a0e149e;--legend-text:#ecf0f5eb;--scene-label-bg:#0a0d1499;--scene-label-text:#f8fafcf5}[data-palette=cyberpunk-blue] .btn-primary:hover:not(:disabled){box-shadow:0 0 16px #44a7ffb3,0 0 34px #44a7ff47}[data-palette=cyberpunk-blue] .settings-btn,[data-palette=aurora-dark] .settings-btn{box-shadow:0 0 8px rgb(var(--primary-rgb) / .24)}[data-palette=cyberpunk-blue] .settings-palette-btn--active{border-color:var(--theme-accent);box-shadow:0 0 8px rgb(var(--accent-rgb) / .36)}[data-palette=cyberpunk-blue] .wizard-layout__progress-fill{background:linear-gradient(90deg, var(--theme-primary), var(--theme-accent));box-shadow:0 0 6px rgb(var(--accent-rgb) / .5)}[data-palette=aurora-dark] .wizard-layout__progress-fill{background:linear-gradient(90deg, var(--theme-primary), var(--theme-highlight))}[data-palette=cyberpunk-blue] .result-status-bar.pass,[data-palette=aurora-dark] .result-status-bar.pass{box-shadow:0 0 10px rgb(var(--success-rgb) / .14)}[data-palette=cyberpunk-blue] .result-status-bar.fail,[data-palette=aurora-dark] .result-status-bar.fail{box-shadow:0 0 10px rgb(var(--danger-rgb) / .12)}
.settings-btn{border-radius:var(--radius,6px);border:1px solid var(--header-control-border,#ffffff40);background:var(--header-control-bg,#ffffff1f);width:32px;height:32px;color:var(--header-control-text,#ffffffd9);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.settings-btn:hover,.settings-btn--active{background:var(--header-control-bg-hover,#ffffff38);border-color:var(--header-control-border-strong,#ffffff73);color:var(--header-control-text,#fff)}.settings-anchor{position:relative}.settings-panel{background:var(--surface);border:1px solid var(--border);z-index:9000;border-radius:12px;width:284px;animation:.15s ease-out settings-fade-in;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #0000004d,0 2px 8px #00000026}@keyframes settings-fade-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.settings-panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.settings-panel__title{color:var(--text);letter-spacing:.02em;font-size:13px;font-weight:700}.settings-panel__close{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .1s,color .1s;display:inline-flex}.settings-panel__close:hover{background:var(--bg-hover,var(--bg));color:var(--text)}.settings-section{border-bottom:1px solid var(--border);padding:12px 14px}.settings-section:last-child{border-bottom:none}.settings-section__label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:700}.settings-theme-toggle{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:3px;padding:3px;display:flex}.settings-theme-toggle__btn{color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font);background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:5px 10px;transition:background .12s,color .12s,box-shadow .12s;display:flex}.settings-theme-toggle__btn:hover{color:var(--text)}.settings-theme-toggle__btn--active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000001f}.settings-palettes{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}.settings-palette-btn{border:1.5px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:5px;padding:7px 4px 6px;transition:border-color .12s,background .12s;display:flex}.settings-palette-btn:hover{border-color:var(--accent)}.settings-palette-btn--active{border-color:var(--accent);background:var(--bg-hover,var(--bg))}.settings-palette-btn__swatches{gap:2px;display:flex}.settings-palette-btn__swatch{background:var(--swatch-bg,#888);border:1px solid #0000001f;border-radius:50%;flex-shrink:0;width:12px;height:12px}.settings-palette-btn__name{color:var(--text-muted);text-align:center;white-space:nowrap;font-size:10px;font-weight:600;line-height:1.25}.settings-palette-btn--active .settings-palette-btn__name{color:var(--text)}.settings-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.settings-row:last-child{margin-bottom:0}.settings-row__label{color:var(--text-muted);flex-shrink:0;min-width:100px;font-size:12px}.settings-toggle-group{background:var(--bg);border:1px solid var(--border);border-radius:6px;gap:2px;padding:2px;display:flex}.settings-toggle-group__btn{color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font);white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:3px 9px;transition:background .12s,color .12s,box-shadow .12s}.settings-toggle-group__btn:hover{color:var(--text)}.settings-toggle-group__btn--active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000001a}.settings-select{border:1px solid var(--border);font-size:12px;font-family:var(--font);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;flex:1;min-width:0;padding:4px 8px}.settings-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent), .15);outline:none}.settings-admin-link{border:1px solid var(--border);color:var(--accent,var(--text));font-size:12px;font-weight:600;font-family:var(--font);text-align:center;cursor:pointer;background:0 0;border-radius:6px;margin-top:10px;padding:6px 10px;text-decoration:none;transition:color .12s,border-color .12s,background .12s;display:block}.settings-admin-link:hover{border-color:var(--accent);background:var(--surface)}.settings-row__value{color:var(--text);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.settings-signout-btn{border:1px solid var(--border);width:100%;color:var(--text-muted);font-size:12px;font-weight:500;font-family:var(--font);cursor:pointer;background:0 0;border-radius:6px;margin-top:6px;padding:6px 10px;transition:color .12s,border-color .12s,background .12s}.settings-signout-btn:hover{color:var(--text);border-color:var(--text-muted);background:var(--surface)}
.detail-svg{background:var(--color-surface,#fafafa)}.detail-svg--pier{max-width:400px}.detail-svg--rectangular,.detail-svg--footing{max-width:520px}.detail-svg--splice{max-width:720px;margin:0 auto;display:block}.rebar-detail-figure{width:100%;margin-block:8px}.rebar-detail-figure .sheet-svg,.rebar-detail-figure .sheet-svg__pan-area,.rebar-detail-figure .sheet-svg__viewport{height:auto}.rebar-detail-figure .detail-svg{max-width:100%}.load-label-3d{border:1px solid color-mix(in srgb, var(--load-color,var(--color-border)) 75%, white 25%);color:#f5f7fb;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform-origin:50%;background:linear-gradient(#141a22f5,#0b0f15eb);border-radius:999px;align-items:center;gap:4px;min-width:0;padding:4px 5px 4px 8px;font-size:10px;font-weight:700;display:flex;box-shadow:0 10px 24px #04091061,inset 0 1px #ffffff14}.load-label-3d--editing{border-color:color-mix(in srgb, var(--load-color,var(--color-border)) 88%, white 12%);box-shadow:0 14px 30px #0409106b, 0 0 0 2px color-mix(in srgb, var(--load-color,#6ea8ff) 22%, transparent 78%)}.load-label-3d__name{opacity:.78;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.load-label-3d__button{appearance:none;background:color-mix(in srgb, var(--load-color,#6ea8ff) 18%, #ffffff0f);color:inherit;min-width:0;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:3px 8px;line-height:1;box-shadow:inset 0 1px #ffffff14}.load-label-3d__button:hover{background:color-mix(in srgb, var(--load-color,#6ea8ff) 26%, #ffffff14)}.load-label-3d__button:focus-visible{outline:2px solid color-mix(in srgb, var(--load-color,#6ea8ff) 55%, white 45%);outline-offset:2px}.load-label-3d__value{text-align:center;min-width:2.75rem;display:block}.load-label-3d__input{background:color-mix(in srgb, var(--load-color,#6ea8ff) 18%, #ffffff14);width:3.25rem;color:inherit;font-size:inherit;font-weight:inherit;text-align:center;border:none;border-radius:999px;outline:none;padding:3px 8px;line-height:1;box-shadow:inset 0 1px #ffffff14}.load-label-3d__unit{opacity:.72;letter-spacing:.06em;text-transform:uppercase;font-size:9px}.elevation-empty-state{color:var(--color-text-muted,#888);text-align:center;font-family:var(--font,sans-serif);padding:20px}.calc-packet-metadata__overlay{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.calc-packet-metadata__modal{background:var(--surface,#fff);color:var(--text,#111827);width:min(640px,92vw);max-height:90vh;font-family:var(--font,system-ui, sans-serif);border-radius:8px;padding:24px;overflow-y:auto}.calc-packet-metadata__title{margin:0 0 4px;font-size:16px}.calc-packet-metadata__hint{color:var(--text-muted,#6b7280);margin-top:0;font-size:12px}.calc-packet-metadata__section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#6b7280);margin:16px 0 8px;font-size:11px;font-weight:600}.calc-packet-metadata__field{grid-template-columns:140px 1fr;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:grid}.calc-packet-metadata__field--multiline{align-items:start}.calc-packet-metadata__field input,.calc-packet-metadata__field textarea{border:1px solid var(--border,#cbd5e1);background:var(--surface,#fff);color:var(--text,#111827);font:inherit;border-radius:4px;padding:6px 8px;font-size:13px}.calc-packet-metadata__field textarea{min-height:80px;font-family:monospace}.calc-packet-metadata__actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.calc-packet-metadata__btn{cursor:pointer;font:inherit;border-radius:4px;padding:8px 16px;font-size:13px}.calc-packet-metadata__btn--cancel{border:1px solid var(--border,#cbd5e1);background:var(--surface,#fff);color:var(--text,#111827)}.calc-packet-metadata__btn--save{color:#fff;background:#1d4ed8;border:none;font-weight:600}.unsaved-changes__overlay{z-index:1100;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.unsaved-changes__modal{background:var(--color-surface,#fff);color:var(--color-text,#111827);border:1px solid var(--color-border,#cbd5e1);width:min(440px,92vw);font-family:var(--font,system-ui, sans-serif);border-radius:8px;padding:24px;box-shadow:0 12px 40px #0f172a40}.unsaved-changes__title{margin:0 0 8px;font-size:16px}.unsaved-changes__message{color:var(--color-text-muted,#6b7280);margin:0;font-size:13px;line-height:1.5}.unsaved-changes__error{color:var(--color-danger,#dc2626);margin:12px 0 0;font-size:12px}.unsaved-changes__actions{flex-direction:column;gap:8px;margin-top:20px;display:flex}.unsaved-changes__action{justify-content:center;width:100%}.unsaved-changes__stay{margin-top:6px}.calc-packet-download__error{color:var(--fail,#dc2626);margin-left:8px;font-size:12px}.calc-packet-download-menu{display:inline-block;position:relative}.calc-packet-download-menu__chevron{opacity:.75;margin-left:6px;font-size:.85em}.calc-packet-download-menu__list{background:var(--surface,var(--color-surface));border:1px solid var(--color-border);z-index:50;border-radius:6px;min-width:220px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000040}.calc-packet-download-menu__item{text-align:left;width:100%;color:var(--text,var(--color-text));cursor:pointer;background:0 0;border:none;padding:8px 14px;font-family:inherit;font-size:13px;display:block}.calc-packet-download-menu__item:hover:not(:disabled),.calc-packet-download-menu__item:focus-visible{background:var(--surface-hover);color:var(--text,var(--color-text));outline:none}.calc-packet-download-menu__item:disabled{opacity:.5;cursor:not-allowed}.calc-packet-download-menu__pagesetup{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding:8px 14px 6px;display:flex}.calc-packet-download-menu__pagesetup-label{letter-spacing:.02em;color:var(--text-muted,var(--color-text-muted));white-space:nowrap;font-size:12px;font-weight:600}.calc-packet-download-menu__error{background:var(--surface,var(--color-surface));border:1px solid var(--fail,#dc2626);color:var(--fail,#dc2626);z-index:60;border-radius:4px;max-width:320px;padding:6px 10px;font-size:12px;position:absolute;top:calc(100% + 4px);right:0}.viewport-mode-switch{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.viewport-mode-switch>*{flex:auto;min-height:0}.viewport-mode-toggle{background:var(--surface,var(--color-surface));border:1px solid var(--color-border);border-radius:6px;display:inline-flex;overflow:hidden}.viewport-mode-toggle__btn{letter-spacing:.05em;color:var(--text-muted,var(--color-text-muted));cursor:pointer;background:0 0;border:none;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4}.viewport-mode-toggle__btn+.viewport-mode-toggle__btn{border-left:1px solid var(--color-border)}.viewport-mode-toggle__btn:hover:not(.is-active){background:var(--surface-hover);color:var(--text,var(--color-text))}.viewport-mode-toggle__btn.is-active{background:var(--accent,var(--color-accent));color:#fff}.sheet-setup{background:var(--surface,var(--color-surface));border:1px solid var(--color-border);border-radius:6px;align-items:stretch;display:inline-flex;overflow:hidden}.sheet-setup__select{letter-spacing:.02em;color:var(--text-muted,var(--color-text-muted));cursor:pointer;background:0 0;border:none;padding:4px 6px 4px 10px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4}.sheet-setup__select:hover{background:var(--surface-hover);color:var(--text,var(--color-text))}.sheet-setup__select option{background:var(--surface,var(--color-surface));color:var(--text,var(--color-text))}.sheet-setup__rotate{border:none;border-left:1px solid var(--color-border);color:var(--text-muted,var(--color-text-muted));cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:4px 10px;display:inline-flex}.sheet-setup__rotate:hover{background:var(--surface-hover);color:var(--text,var(--color-text))}.sheet-setup__page-icon{border:1.5px solid;border-radius:2px;width:9px;height:12px;transition:width .15s,height .15s;display:block}.sheet-setup__page-icon.is-landscape{width:12px;height:9px}.calc-packet-page-loading{font-family:var(--font,system-ui, sans-serif);padding:24px}.calc-packet-error__body{margin-top:8px}.info-tip{vertical-align:middle;align-items:center;margin-left:6px;display:inline-flex;position:relative}.info-tip__trigger{border:1px solid var(--border,#cbd5e1);background:var(--surface,#fff);width:14px;height:14px;color:var(--text-muted,#6b7280);cursor:pointer;font-size:9px;font-weight:700;line-height:1;font-family:var(--font,system-ui, sans-serif);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.info-tip__trigger:hover,.info-tip__trigger[aria-expanded=true]{background:var(--brand,#2a5a8c);color:#fff;border-color:var(--brand,#2a5a8c)}.info-tip__popover{z-index:50;background:var(--surface,#fff);border:1px solid var(--border,#cbd5e1);border-radius:var(--radius,4px);width:280px;max-width:min(320px,90vw);max-height:280px;color:var(--text,#111827);white-space:normal;text-align:left;padding:10px 12px;font-size:11px;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 6px);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 6px 18px #0000002e}.info-tip__popover--portal{top:var(--info-tip-top,0);left:var(--info-tip-left,0);width:var(--info-tip-width,300px);z-index:10000;max-width:90vw;position:fixed;transform:none}.info-tip__popover p{margin:0 0 8px}.info-tip__popover p:last-child{margin-bottom:0}.info-tip__popover strong{color:var(--text,#111827)}.calc-shell-body{flex:auto;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden}.calc-shell-stage{z-index:1;align-items:stretch;display:flex;position:absolute;inset:0}.calc-shell-stage>.resizable-split-panel{flex:auto;min-width:0}.calc-shell-form{z-index:5;background:var(--panel-glass-hi,rgba(var(--surface-rgb,255 255 255), .72));border:1px solid var(--border-subtle,rgba(var(--border-rgb,200 200 200), .5));-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-radius:14px;flex-direction:column;width:420px;display:flex;position:absolute;top:14px;bottom:14px;left:14px;overflow:hidden auto;box-shadow:0 12px 30px #0000002e}.calc-shell-viewport{background:var(--viewport-bg,#1a1d23);border-right:1px solid var(--border);flex:auto;align-items:stretch;width:100%;min-width:300px;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.calc-shell-viewport>.viewport3d-root{flex:auto;min-height:0}.drawing-sheet-deck{background:var(--viewport-bg,#1a1d23);--drawing-sheet-deck-pan-x:0px;--drawing-sheet-deck-pan-y:0px;--drawing-sheet-deck-zoom:1;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.drawing-sheet-deck__pan-area{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}.drawing-sheet-deck--dragging .drawing-sheet-deck__pan-area{cursor:grabbing}.drawing-sheet-deck__viewport{transform-origin:0 0;width:min(100%,17in);transform:translate(var(--drawing-sheet-deck-pan-x), var(--drawing-sheet-deck-pan-y)) scale(var(--drawing-sheet-deck-zoom));flex-direction:column;gap:.35in;margin:0 auto;padding:.35in 0;display:flex}.drawing-sheet-deck__page{flex:none;width:100%;box-shadow:0 12px 30px #0000003d}.drawing-sheet-deck__empty{color:var(--color-text-muted);flex:auto;justify-content:center;align-items:center;font-size:13px;display:flex}.calc-shell-viewport>*{flex:auto;width:100%;min-width:0;height:100%;min-height:0}.calc-shell-viewport-stack{flex:auto;align-items:stretch;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.calc-shell-viewport-stack>.viewport3d-root,.calc-shell-viewport-stack>.calc-shell-viewport-stack__primary{flex:auto;min-width:0;min-height:0}.calc-shell-viewport-stack__overlay{z-index:200000;isolation:isolate;pointer-events:auto;background:var(--surface,#fff);border:1px solid var(--border);border-radius:8px;flex-direction:column;width:clamp(280px,40%,420px);display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:auto;box-shadow:0 8px 24px #0000002e}.calc-shell-viewport-stack__overlay>.detail-panel{background:var(--surface,#fff)}.calc-shell-viewport-stack__overlay:has(>.detail-panel--collapsed){width:auto;box-shadow:none;background:0 0;border:none;border-radius:0;bottom:auto;overflow:visible}.calc-shell-viewport-stack__overlay:has(>.detail-panel--collapsed)>.detail-panel{background:0 0}.pylon-detail-scene{background:var(--surface);z-index:2;flex-direction:column;gap:12px;padding-bottom:4px;display:flex;position:sticky;top:0}.pylon-detail-scene__viewport{border:1px solid var(--border-soft);background:var(--viewport-bg,#1a1d23);border-radius:16px;height:440px;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.pylon-detail-scene__viewport--tall{height:680px}.pylon-detail-scene--fill{background:0 0;flex:auto;height:100%;min-height:0;padding-bottom:0;position:static}.pylon-detail-scene__viewport--fill{flex:auto;height:auto;min-height:0}.pylon-detail-scene__summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pylon-detail-scene__summary-item{border:1px solid var(--border-soft);background:var(--surface);border-radius:12px;padding:10px 12px}.pylon-detail-scene__summary-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.pylon-detail-scene__summary-value{color:var(--text);margin-top:4px;font-size:13px;font-weight:700}.pylon-detail-scene__note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}@media (max-width:1024px){.pylon-detail-scene__viewport{height:320px}.pylon-detail-scene__viewport--tall{height:480px}.pylon-detail-scene__summary{grid-template-columns:1fr}}.calc-shell-results{background:var(--panel-glass-hi,rgba(var(--surface-rgb,255 255 255), .72));-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-left:1px solid var(--border-subtle,rgba(var(--border-rgb,200 200 200), .5));border-radius:14px;height:100%;margin:14px 14px 14px 0;overflow:auto;box-shadow:0 12px 30px #0000002e}.calc-shell-results .result-card-header{white-space:normal;word-break:break-word;line-height:1.35}.calc-shell-form-steps{flex-direction:column;gap:8px;padding:10px;display:flex}.calc-shell-form-steps .wizard-step{border:1px solid var(--border);background:var(--surface-overlay-soft,var(--panel-glass,var(--surface)));border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.calc-shell-form-steps .wizard-step--expanded{border-color:var(--brand-border-strong,var(--brand-light));box-shadow:0 2px 10px #2a5a8c1f}.calc-shell-form-steps .wizard-step__header{appearance:none;background:linear-gradient(180deg, var(--brand-soft-strong,#1a3a5c14), var(--brand-faint,#1a3a5c05));cursor:pointer;text-align:left;width:100%;color:var(--text);box-shadow:none;border:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.calc-shell-form-steps .wizard-step__header:hover{background:var(--bg-hover,#00000008)}.calc-shell-form-steps .wizard-step--expanded .wizard-step__header{border-bottom:1px solid var(--brand-border-soft,var(--border))}.calc-shell-form-steps .wizard-step__number{border:2px solid var(--border);width:26px;height:26px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.calc-shell-form-steps .wizard-step__number--active{border-color:var(--accent);color:var(--accent);background:#2a5a8c14}.calc-shell-form-steps .wizard-step__title{color:var(--accent);font-size:13px;font-weight:600}.calc-shell-form-steps .wizard-step__summary{text-overflow:ellipsis;white-space:nowrap;max-width:150px;color:var(--text-muted);margin-left:auto;font-size:11px;overflow:hidden}.calc-shell-form-steps .wizard-step__chevron{color:var(--text-muted);font-size:14px;transition:transform .2s}.calc-shell-form-steps .wizard-step__chevron--open{transform:rotate(90deg)}.calc-shell-form-steps .wizard-step__body{padding:12px 16px 16px}@media (max-width:768px){.calc-shell-form-steps .wizard-step__summary{max-width:110px}}.calc-shell-live-status{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:auto;padding:14px 16px 18px;display:flex}.calc-shell-live-status__pill{background:var(--brand-soft-strong,#2a5a8c1a);border:1px solid var(--brand-border,#2a5a8c2e);color:var(--brand);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.calc-shell-live-status__pill--loading{color:var(--accent);background:#e05a001f;border-color:#e05a0033}.calc-shell-live-status__text{line-height:1.35}@media (max-width:768px){.calc-shell-body{flex-direction:column;display:flex;overflow:hidden auto}.calc-shell-stage{flex:auto;position:relative;inset:auto}.calc-shell-stage>.resizable-split-panel{flex-direction:column;height:auto}.calc-shell-form{border:none;border-bottom:1px solid var(--border);width:100%;min-width:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;position:relative;top:auto;bottom:auto;left:auto;overflow-y:visible}.resizable-split-panel__left{flex:none;height:50vh;min-height:280px}.resizable-split-panel__handle{display:none}.resizable-split-panel__right{flex:auto;width:100%;min-width:0;max-width:none;height:auto}.calc-shell-viewport{border-right:none;border-bottom:1px solid var(--border)}}.wall-detail-panel{background:var(--surface);color:var(--text);margin-top:var(--space-3,12px);font-size:12px}.wall-detail-panel__group{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.wall-detail-panel__body{flex-direction:column;gap:10px;display:flex}.wall-detail-panel__rows{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}.wall-detail-panel__row{display:contents}.wall-detail-panel__label{color:var(--text-muted);margin:0;font-weight:600}.wall-detail-panel__value{margin:0}.wall-detail-panel__notes{border-top:1px dashed var(--border);color:var(--text-muted);margin:0;padding-top:8px;font-style:italic}.calc-shell-viewport .quick-calc-page__viewport .wall-detail-panel{border-radius:10px;margin:0 14px 14px 448px;overflow:hidden}@media (max-width:768px){.calc-shell-viewport .quick-calc-page__viewport .wall-detail-panel{border-radius:0;margin:0}}.wall-construction-picker{flex-direction:column;display:flex}.wall-construction-picker__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.wall-construction-picker__label{color:var(--text-muted);font-size:12px}.wall-construction-picker__toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;margin-bottom:0;font-size:12px;display:inline-flex}.wall-construction-picker__toggle input[type=checkbox]{width:auto;margin:0}.wall-construction-picker__checklist{border:1px solid var(--border);border-radius:var(--radius,6px);flex-direction:column;gap:8px;max-height:320px;margin:0;padding:8px 10px;display:flex;overflow-y:auto}.wall-construction-picker__group{flex-direction:column;gap:2px;display:flex}.wall-construction-picker__group-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:10px;font-weight:600}.wall-construction-picker__row{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin-bottom:0;padding:1px 0;font-size:12px;display:flex}.wall-construction-picker__row input[type=checkbox]{flex:none;width:auto;margin:0}.wall-connection-results{gap:var(--space-3,12px);flex-direction:column;display:flex}.wall-connection-results__heading{color:var(--text);margin:0;font-size:13px;font-weight:600}.wall-connection-results__strip{flex-wrap:wrap;gap:8px;display:flex}.wall-connection-results__chip{border:1px solid var(--border);border-radius:var(--radius,6px);background:var(--surface);align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.wall-connection-results__chip-label{color:var(--text-muted)}.sheet-svg{--sheet-svg-pan-x:0px;--sheet-svg-pan-y:0px;--sheet-svg-zoom:1;position:relative;overflow:hidden}.calc-shell-viewport .sheet-svg,.calc-shell-viewport .drawing-sheet-deck{padding-left:438px}@media (max-width:1024px){.calc-shell-viewport .sheet-svg,.calc-shell-viewport .drawing-sheet-deck{padding-left:0}}.sheet-svg__pan-area{cursor:default;width:100%;height:100%;position:relative;overflow:hidden}.sheet-svg--pannable .sheet-svg__pan-area{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.sheet-svg--dragging .sheet-svg__pan-area{cursor:grabbing}.sheet-svg__viewport{transform-origin:0 0;width:100%;height:100%;transform:translate(var(--sheet-svg-pan-x), var(--sheet-svg-pan-y)) scale(var(--sheet-svg-zoom))}.sheet-svg__hud{color:var(--color-text-muted,#888);background:var(--color-surface-overlay,#00000059);pointer-events:none;opacity:.85;border-radius:4px;padding:4px 6px;font-family:system-ui,sans-serif;font-size:10px;position:absolute;bottom:8px;right:8px}.sheet-svg__dim-label--editable{cursor:pointer;font-weight:600}.sheet-svg__dim-label--editable:hover{text-decoration:underline;fill:var(--color-accent,#f5a623)!important}.drawing-sheet-deck--hit-actions .sheet-hit{cursor:pointer}.drawing-sheet-deck--hit-actions .sheet-hit:hover{fill-opacity:.75}.sheet-hit-action{left:var(--sheet-hit-x,0);top:var(--sheet-hit-y,0);border:1px solid var(--color-accent,#f5a623);background:var(--color-surface,#fff);color:var(--color-text,#222);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-lg,var(--shadow));z-index:50;pointer-events:auto;border-radius:999px;padding:4px 10px;font-family:system-ui,sans-serif;font-size:11px;font-weight:600;position:absolute;transform:translate(-50%,-100%)}.sheet-hit-action:hover{background:var(--color-surface-raised,var(--color-surface,#fff));text-decoration:underline}.sheet-svg__dim-edit{left:var(--sheet-svg-edit-x,0);top:var(--sheet-svg-edit-y,0);background:var(--color-surface,#fff);border:1px solid var(--color-accent,#f5a623);z-index:50;pointer-events:auto;border-radius:4px;flex-direction:column;gap:2px;padding:3px 5px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000059}.sheet-svg__dim-edit-row{align-items:center;gap:4px;display:inline-flex}.sheet-svg__dim-edit-hint{color:var(--color-text-muted,#6b7480);text-align:right;white-space:nowrap;font-size:10px;line-height:1.1}.sheet-svg__dim-edit-input{border:1px solid var(--color-border,#cbd2da);background:var(--color-surface,#fff);width:70px;color:var(--color-text,#1a1f26);text-align:right;border-radius:3px;padding:2px 4px;font-family:system-ui,sans-serif;font-size:12px}.sheet-svg__dim-edit-input:focus{border-color:var(--color-accent,#f5a623);outline:none}.sheet-svg__dim-edit-unit{color:var(--color-text-muted,#888);font-size:11px}.gc-combos__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.gc-combos__edition{letter-spacing:.04em;color:var(--color-text-muted,#888);text-transform:none;font-size:10px;font-weight:600}.gc-combos__tabs{gap:4px;padding:8px 10px 0;display:flex}.gc-combos__tab{font-size:12px;font-weight:600;font-family:var(--font,inherit);color:var(--color-text-muted,#888);background:var(--color-surface,transparent);border:1px solid var(--color-border,#7f7f7f4d);border-radius:var(--radius-sm,4px);cursor:pointer;flex:1;padding:5px 10px;transition:background .15s,color .15s,border-color .15s}.gc-combos__tab--active{background:var(--brand,#2f6fed);color:#fff;border-color:var(--brand,#2f6fed)}.gc-combos__tab:hover:not(.gc-combos__tab--active){color:var(--color-text,inherit);border-color:var(--brand,#2f6fed)}.gc-combos__body{padding:0}.gc-combos__table{border-collapse:collapse;width:100%;font-size:12px}.gc-combos__table thead th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted,#888);border-bottom:1px solid var(--color-border,#7f7f7f4d);padding:8px 12px;font-size:10px;font-weight:700}.gc-combos__table th.gc-combos__num,.gc-combos__table td.gc-combos__num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono,ui-monospace, monospace);white-space:nowrap}.gc-combos__table tbody td{border-bottom:1px solid var(--color-border,#7f7f7f2e);padding:7px 12px}.gc-combos__table tbody tr:last-child td{border-bottom:none}.gc-combos__row--governs{background:rgb(var(--primary-rgb,47 111 237) / .08)}.gc-combos__name{font-family:var(--font-mono,ui-monospace, monospace)}.gc-combos__section{color:var(--color-text-muted,#888);white-space:nowrap;font-size:11px}.gc-combos__governs-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--brand,#2f6fed);background:rgb(var(--primary-rgb,47 111 237) / .14);border-radius:10px;margin-left:8px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.fastener-method-picker{flex-direction:column;gap:8px;display:flex}.fastener-method-picker__label{color:var(--text-muted);font-size:12px}.fastener-method-picker__hint{color:var(--text-muted);margin:0;font-size:12px}.fastener-method-picker__error{color:var(--color-danger);margin:0;font-size:12px}.fastener-method-picker__cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.fastener-method-card{text-align:left;border:1px solid var(--border,var(--color-border));border-radius:var(--radius,6px);background:var(--surface,var(--color-surface));color:var(--text,var(--color-text));cursor:pointer;flex-direction:column;gap:4px;padding:8px 10px;transition:border-color .12s,background .12s;display:flex}.fastener-method-card:hover{border-color:color-mix(in srgb, var(--color-accent) 50%, var(--border))}.fastener-method-card--selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, var(--surface,var(--color-surface)))}.fastener-method-card--disallowed{opacity:.62}.fastener-method-card__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.fastener-method-card__name{overflow-wrap:anywhere;flex:auto;min-width:0;font-size:12px;font-weight:600;line-height:1.2}.fastener-method-card__note{color:var(--text-muted);font-size:11px;line-height:1.25}.fastener-method-card__badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:2px 6px;font-size:9px;font-weight:700}.fastener-method-card__badge--recommended{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 16%, transparent)}.fastener-method-card__badge--verify{color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 18%, transparent)}.fastener-method-card__badge--secondary_only{color:var(--text-muted);background:color-mix(in srgb, var(--text-muted) 16%, transparent)}.fastener-method-card__badge--not_recommended{color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 16%, transparent)}.fastener-method-picker__detail{flex-direction:column;gap:8px;padding-top:4px;display:flex}.rebar-cage{flex-direction:column;gap:10px;margin-top:8px;display:flex}.rebar-cage__picker{flex-direction:column;gap:6px;display:flex}.rebar-cage__picker-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.rebar-cage__label{color:var(--color-text-muted,#6b7280);font-size:11px;font-weight:500}.rebar-cage__auto{color:var(--color-text-muted,#6b7280);cursor:pointer;align-items:center;gap:5px;font-size:11px;display:inline-flex}.rebar-cage__opt{position:relative}.rebar-cage__auto-pill{letter-spacing:.04em;text-transform:uppercase;background:var(--color-accent,#2563eb);color:#fff;border-radius:6px;padding:1px 4px;font-size:8px;font-weight:700;position:absolute;top:-6px;right:-4px}.rebar-cage__grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px;display:grid}.rebar-cage__opt{border:1px solid var(--color-border,#cbd5e1);background:var(--color-surface,#fff);color:var(--color-text,#111827);cursor:pointer;text-align:center;border-radius:6px;flex-direction:column;align-items:stretch;gap:3px;padding:5px 6px;display:flex}.rebar-cage__opt:hover:not(:disabled){border-color:var(--color-accent,#2563eb)}.rebar-cage__opt.is-selected{border-color:var(--color-accent,#2563eb);border-width:2px;padding:4px 5px}.rebar-cage__opt.is-invalid{opacity:.5;cursor:not-allowed}.rebar-cage__size{font-size:13px;font-weight:600}.rebar-cage__summary{color:var(--color-text-muted,#6b7280);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.rebar-cage__opt .section-picker__unity{width:100%;min-width:0}.rebar-cage__advanced>summary{cursor:pointer;color:var(--color-text-muted,#6b7280);-webkit-user-select:none;user-select:none;font-size:12px}.rebar-cage__advanced-body{flex-direction:column;gap:10px;padding-top:8px;display:flex}.rebar-cage__fields{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.rebar-cage__result-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.rebar-cage__result-bar{font-size:15px;font-weight:700}.rebar-cage__result-summary{color:var(--color-text-muted,#6b7280);flex:1;font-size:12px}.rebar-cage__result-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;display:grid}.rebar-cage__result-grid dt{color:var(--color-text-muted,#6b7280);font-size:10px}.rebar-cage__result-grid dd{color:var(--color-text,#111827);margin:0;font-size:13px;font-weight:500}.rebar-cage__warn{color:var(--warn,#b45309);margin:6px 0 0;font-size:11px}.min-reinf-card{background:var(--surface,var(--color-surface,#fafafa));border-left:3px solid var(--color-border,#cbd5e1);color:var(--text,var(--color-text,#111827));border-radius:6px;margin-top:8px;padding:8px 10px;font-size:11px}.min-reinf-card--pass{border-left-color:var(--color-success,#2e7d32)}.min-reinf-card--fail{border-left-color:var(--color-danger,#c62828);background:#c628280f}.min-reinf-card__title{margin-bottom:4px;font-weight:600}.min-reinf-card__note{margin:6px 0 8px;line-height:1.45}.min-reinf-card__grid{color:var(--text-muted,var(--color-text-muted,#6b7280));grid-template-columns:1fr;gap:4px;display:grid}.min-reinf-card__grid>span{word-break:break-word;min-width:0}.soil-picker{border:1px solid var(--color-border,#cbd5e1);border-radius:var(--radius,6px);background:var(--surface-subtle,color-mix(in srgb, var(--accent,#2f6fed) 4%, var(--color-surface,#fff)));padding:var(--space-3,12px) var(--space-4,16px);margin-bottom:var(--space-4,16px);gap:var(--space-2,8px);flex-direction:column;display:flex}.soil-picker__head{align-items:center;gap:var(--space-2,8px);display:flex}.soil-picker__title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted,#6b7280);font-size:.76rem;font-weight:600}.soil-picker__result{gap:var(--space-2,8px);flex-direction:column;display:flex}.soil-picker__summary{align-items:center;gap:var(--space-2,8px);flex-wrap:wrap;display:flex}.soil-picker__badge{letter-spacing:.03em;padding:2px var(--space-2,8px);border-radius:var(--radius-pill,999px);border:1px solid var(--color-border,#cbd5e1);color:var(--color-text-muted,#6b7280);white-space:nowrap;font-size:.72rem;font-weight:600}.soil-picker__badge--granular{color:var(--accent,#2f6fed);border-color:var(--accent,#2f6fed)}.soil-picker__badge--cohesive{color:var(--color-text,#111827)}.soil-picker__badge--organic{color:var(--color-danger,#dc2626);border-color:var(--color-danger,#dc2626)}.soil-picker__values{color:var(--color-text,#111827);font-size:.8rem}.soil-picker__actions{align-items:center;gap:var(--space-2,8px);display:flex}.soil-picker__apply{font:inherit;cursor:pointer;padding:var(--space-1,4px) var(--space-3,12px);border-radius:var(--radius,6px);border:1px solid var(--accent,#2f6fed);background:var(--accent,#2f6fed);color:#fff;font-size:.8rem;font-weight:600}.soil-picker__apply:hover{filter:brightness(.95)}.soil-picker__applied{color:var(--color-success,#1c8c57);font-size:.78rem;font-weight:600}.soil-picker__note{color:var(--color-text-muted,#6b7280);margin:0;font-size:.76rem;line-height:1.5}.soil-picker__error{color:var(--color-danger,#dc2626);margin:0;font-size:.78rem}.wall-typical-card .result-card-body{flex-direction:column;gap:6px;display:flex}.wall-typical-row{border-top:1px solid var(--color-border,var(--obs-border));flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0 12px;display:flex}
