@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAVEABAAAAAACbQAAATsAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cKAZgAFQIPAmCcxEQCoMogyoLDgABNgIkAxgEIAWDPgdGDIMYG5AIUZQO0gyKrw54Q7ypR0jQbYRHROLUhDCW7dl5v9U7gZgNnv//P/2fa58ToWA6Xk/lVE57lQp6BP+c5oG/xieg5EDg4uZybyR3v5LD/fTo9pkrZS7hkbNOBRe8AGF4i5OQgoQSyPEEz//x1nTUJZ//Y6k/3vcLoGjCQ7r/LyumG2iSd+IwKYHOFkgDwDkyZ92IcSmd2G/3RAA7KVLIwcOdg1jRASIAjChbNrVo9M0du40bgD5dVwnyK0BdrEaBDvizZZquqAHlMJtNSkNpgAYoAIC26TIkAMbTnJFMKdRFYgzkGgBlVWHAoAAFaEAsDQFi6QSAEysKHXBhuNN4PAK2hSTymx0/70VYXiZBv2mHNMjWoFuHoHGbOpTZcQxwRmpwShtm2cOsrDhVvBb8KcUhaQq2Hn1FGJHIQ5yD/g+bY71KBUkA9FWxzKaCSgSJMBW0BArWsooBlQ1Yw7YdrFHAZXtgPQuoe4ujHcuBGaDrMDhIyAHjGsaOxlRSQZdh3WnHUh/cNPhGi8v8U8GUNIG17B71ic9Ubm5U5RAiaH6hR7ugcnGmhcP8uBRi92vpwaHFZY4Kq1VlHFbGQJFlzF5sS5aRz6zyrs0w42rCC6VKgQQ8grZTy9IiZ/YCjGemZjdXH9S107ibf4RKBVvSHJJWLqJJXQdBw4odL1MkwgOAGQAnoAFNoAsA6MCXKABAQNerTnGZnQsmuz538XvSHT67OEY6ZNAurkfkrOfsFweGn3/f8buceWuiA/tgkJHEeStnvup4oO+ZdxTnqnM1ufPo146uyneszI30xly/1xs8sb8qYt+bHwi2etL9D5QF/6oJJM7mVc2NjXTH3HB0T/DEPurFd+b7goGfUv25tUd8V+TNFDwKEMaCFVtUdG0IizeE9gYhOLQhtBLfPhreHgvBJyHMvUkbt7J84i8N41OlOlYfg3x8n2RmRvDAu5Wv9okjv4a5wcKVW7lLWjRKuJG9Hl3ROrWPFfuvRr4Ha6sF268h7lO4HmyiBB7i3GnfGwqRCdAKc6EFFpiI4vqJoIwF/6v4SxFAeOWcq+/anfE0/Ga1aV8CfFzd2gbwyRcvXfD/X///r1+o72KwoX5cq/z/HfRnGPDnKgiLklkexGB9p82oZjItDy+AmX4WZpgRAOygUA50BLCyTEN0GzDu/0QiNHhJonDzuESjyfHLdVJiIt6sxEyhCpN7KMGqY1fBrjolrcdYcLQ1q+BYxyj+HGs2FdtxtBUlehzWqU2rLr02LTnRgDnbjnHAjm2LinRZsmjNcbYMW3K0jDG9hlLFyve2et3mGerFsH/piuNsmnO0SC9wGLXDqC1LVjauNHSMiuw66cUtKx/kIEMZv1K1DD1jv3q0XcUMLTZtMuIsx9gsSzeJHO346heLKQCIpMtyCTMgotBEE91y3PaaPzEfhGyZv7XCemiLPwQFwgguVIH0PDcKPn/3MnkMCdyAteB5PPjlShU/tvA8QkNwLYtPVLWaoiYrafRoqWMZYtK9dMa0qZXHl+xl4ipOMKpZdtJqZkK7OpIkLbVwQLUCqfqlVg6rVSQl28tGUL1iGeISRTutquSThJCD8iqRJvH59nLSrkGJdLFZq4tt4w7PlqPSXQnjZcFSEIK/xFCYZrHkWCABskvuRF5wHGdWPDgGeanXtgPIYz4uxYk2P+BeAA==)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAR8AA0AAAAABVQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABMAAAAB4AAAAeRHRMdUdTVUIAAAFQAAAAJwAAACi4/LjqT1MvMgAAAXgAAABUAAAAYGl3oOZjbWFwAAABzAAAADwAAABUAMohV2dhc3AAAAIIAAAAEAAAABAAGAAhZ2x5ZgAAAhgAAADAAAAAwI9eV9BoZWFkAAAC2AAAADYAAAA2Gt1J6GhoZWEAAAMQAAAAHgAAACQHhQKoaG10eAAAAzAAAAAXAAAAGAZjAERsb2NhAAADSAAAAA4AAAAOAIoAim1heHAAAANYAAAAHAAAACAAGACzbmFtZQAAA3QAAADXAAABviKTP8Fwb3N0AAAETAAAADAAAABG/6CrQQABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaLYUxDkBAFAXnv10bCZ1Cu4XSAZSiE9le5UBaV1E5lx7CZCaDV20nDrRqBqbvtpCsAxUhZHI8wpv4GYcUrYe4u/JqrPVmVcQ2AOU6gIhuzNMJYHjaY2BgYAJiZiAWAZKMYJqFwQFI8zBwAOVYgCxeBgWGBQpb/v8HspF5jP+//n/8P/V+AEgfAgAAknEOOQABAAMACAAKABAABf//AA8AAgAgAAABiAMMAAMABwAAEyERISURIxEgAWj+mAEbzgMM/PRNAnL9jgAAAQAk//QCGgLGADUAAAUiJjU0NjcjNTM/ATUHIzUhNjU0JiMiByc+ATMyFhUUBgczFSMPARU3MxUhBhUUFjMyNxcOAQErZ2IKCFB4U0BkpwFCESsySDA5ImE2YVoKCE94UkBjpf7AEDM5RzI5I2AMWFATJxJINyAKB0ggIjAoOkEpKlhOEygTSDcgCgdIIh8wKTxAKiwAAQAAAAEAxCoHyPxfDzz1AAkD6AAAAADbN0JJAAAAANznwof++f7+BIgEcAAgAAkAAgAAAAAAAHjaY2BkYGBh/PcWSO759/PfD5YOoAgqYAMAryEHMgAAeNpjXMGgwAACVyCYyZ5BBUQDACxpA6sAAAAAFQAVABUAFQBgAGAAAHjaY2BkYGBgYwhiYGeIB9IgHgKwMDACABHfAMx42pWQM4KDURhFz9hTTv36sW3bShPbTvaVFWRfwS1+tXm659MTMEmMEYZGpwAfXYuHOKJt8TDztCwe4YSaxaOenDEWCFg8zhJbFs+LIEFFvcABq+plwpRIyq6IVyiLM9I8JeKKv3LDE/dc8MybIlEafBIkR5lL8tIIy4pFpUmqZPkRl9A+KIphnRU2rfXQ2smIBtnzQxwXZZRVcvawajFOtXHqo8gmKjLenVCcAk1KsuPoLzBssMY6+xhnZ2VRUt6K+JyMuvFUlJFFVBqV1tDurPQBFXFCdQB42mNgYgCD/2sZfBmwATYgZmRkYmBmZGZkYS/NyzQwMHAB0UYGTiYQvqMBAM4bCIg=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-vietnamese-500-normal-CkG7ISwK.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-vietnamese-500-normal-DtRh6yEl.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-latin-ext-500-normal--oYb3bSD.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-ext-500-normal-C9nn0g37.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-latin-500-normal-BqaLkUoX.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-500-normal-BLe87hIu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAVsABAAAAAACiAAAAUUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cKAZgAFQIQgmCcxEQCoNAg0ELDgABNgIkAxgEIAWDSgdGDINWG/cICK4HeEMa9QvHYUYoWISVufhyPO4rK4wq8QCvG/Z+khpQ9VQUKmJGR7VhNlofJtO7WzYT/m8t/bOzfITh2QAfBfFyYSBXUpF13botgcrzFYYlS+gb3HN6PVb2Pa4Ohav2P3Vx21PdwH74+5m+WGikRhOOaID//63f/qKCK3XA6Xdii6sAOUw+PJpdIB2Anpo55RTBIV+qjt97ogBkBAqERo6uaAAeDSgHkzpSJOpY48behSnQAuzbkigomguDqKglYMKfHRZrCf1AlOVYhsJAxQBiIALAuOGVBA0F6YM49791KCQBmVJAFwBRhnoKpCggAmKgDgwBddDygBwehQaqIm7SB+UEjwrl396mQnbvWd+AKeW8YuRrU69KowkVkuwYc+WOB0Cu3Jc6lGLDLDYSQR09HcCnD1kChQkKYercxyFczSuF8qkSb9MnBHjJYocCFVJSNOqVw9JOCqpQgjq2cChwIfXJcZvRdS1hreQsLY5beZaOJiO9A3LSRtMZWwbP5nUhsvq5o3Nvw1xJHjovwDe0qrU1w6GgeTgJnM2TKBkj4TG6fszfTmIKE4gct53aUtsiHx3ZuHKNbPokiRTJr6fOPSZGNpY2uvazL0zr7Oao/dUhF2Q71l6e5prRuobWFa3FYrAQJslH21rjYqt54UWK143ZgDs0rCC3xm1GKeHo1BzXUfEEVNSZ6gKtAft/g9ehEAoT6luKvAGS1OoABOOJ9JhyWXWAigA5IAaGANMASIC/RQAEkCSpBzQV1f0VMnRv8Us4dqdxJqia56CZmaC5eyMce5kpDp396Gv2/GdHbzbIEmfOhOYs9VU7L7LnR8x6/imK1SO5tdXnLFQW9naoNqxorzQebJ1StVTlLgoR11a8P3n4ZJcuP8Ph+zBo/B/yaQNtbZXGQ6Oi0uWTtlS6N3nYbZr/2GNs/R7MisJ7eIrDE2rWSldwNUrwOyUwaq4Cd2n8BGYa3KqAn8Ue3dht437u2u0pq1RpxY4iFCgOFMREEIhA7WRgjSdbE/2KVhO4dZu2yzBMRwttm3jXaAYuwt9bnuCJvxYQ3r+NI/wabY0ndIEk9pZYLw6FvktTDkZAHsZADsa7oUzogZSJOB632//uQPD+xr5ZUn3gb5Wr4G/wE8PLAfi5/vf/yZ1kD0JAAQSQhH+TvDMBCyA7k4rhIcL7aShHI0mh5w9ARbU4fVgIIAMi6BcJBFQ2BEOJAGB+yECL5LnVUrSea7ECa/O0VcuwGtCy3JI+o1YSsNaCBTMyuLjM6zdn1IwF85zmjZrgNG3OMJdqPhVKFahUY8KgFfV6TZlXaNqUAQ71Bk0aVWDahAFNBs2ZN9p2Eh5OiYrNpG6WyOTDutlhiyb0muM5OH7S+UlHBsOnDxpAqIw1PWP1N5Dh33MWkcDNIx15iI341TkznIh8EyaQQjIfdA9qOEiWHviLThSAMi12j6gIhEABDhjR3OLmUTc8Xl1JcBckhS/Ndysg7ylEg8qHSaTFwFeXxAkVyEIDVM4vlnWSxApdpBdlPcsgQjA7AxFJo3Dh2+7wCpIinsSPYTpJcYuSszCfdA4SE86iVcrlFs4PZzGOTWmSJhxnsep5JYtkQ5OTxdP6Ax7Q5OVKcvzAswSFUsUJY4GxqFQWF9fvLJVEsSR2WrBqq1Ri3qcxppmXRyAOesqEw+VL4P/T91QuG7RTc/O4M9wbpAe7BD38wA6kBzu501DH2KTfNcYBrFtwDQA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAASIAA0AAAAABWQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABMAAAAB4AAAAeRHRMdUdTVUIAAAFQAAAAJwAAACi4/LjqT1MvMgAAAXgAAABTAAAAYGncofljbWFwAAABzAAAADwAAABUAMohV2dhc3AAAAIIAAAAEAAAABAAGAAhZ2x5ZgAAAhgAAADEAAAAxFI/PixoZWFkAAAC3AAAADYAAAA2GuVJ6WhoZWEAAAMUAAAAHgAAACQHjQKuaG10eAAAAzQAAAAXAAAAGAZoAEFsb2NhAAADTAAAAA4AAAAOAIwAjG1heHAAAANcAAAAHAAAACAAGAC1bmFtZQAAA3gAAADeAAAByiPTQMdwb3N0AAAEWAAAADAAAABG/6irTAABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaLYUxDkBAFAXnv10k6NSSLZQuoBOdiH4rB9K6isrlWGEyk8GrVcSB9nRYvttGtAFUFXkmRxLexM88rcFGCKer7856b9YE7ABQqQsI6AGbcwjaAHjaY2BgYAJiZiAWAZKMYJqFwQFI8zBwAOVYgCxeBgWGBQpb/v8HspF5jP+//n/8P/V+AEgfAgAAknEOOQABAAMACAAKABAABf//AA8AAgAgAAABiAMMAAMABwAAEyERISURIxEgAWj+mAEQuAMM/PRYAlz9pAAAAQAh//QCJALGADYAAAUiJjU0NjcjNTM/ATUHIzUhPgE1NCYjIgcnPgEzMhYVFAYHMxUjDwEVNzMVIQYVFBYzMjcXDgEBLmtkCQhPdk9GaaIBQgcGJi1GLj4gZDhkWwkIT3ZOR2mh/r8NLzNILj4hZAxcTRIlEU4xIAoHTg4fDyskN0smLFtNEiYRTjAiCghOGyArJDdLJi0AAAEAAAABAMSgvffYXw889QAJA+gAAAAA2zdCSwAAAADc58KH/ur+9gSfBHcAIAAJAAIAAAAAAAB42mNgZGBgYfz3Fkhe+Pfq3yuW+UARVMAGALBLB0AAAHjaY1zBoMAAAlcgmMmFQRFEAwAsfQOtAAAAABUAFQAVABUAYgBiAAB42mNgZGBgYGMIZGBnSALSIB4CsDAwAgASBQDOeNqVkEWWQkEQBGPcZznrPsC4u7s7ssLdHc7GCTgV+frhrPgaVZ2lwCwhJhibnBO7x+ZbPMYljRaPs0y9xRNcU2vxZI9mihUCLZ5mk90WL4sgQkF3hmM2dOfxkyMquyBeJy9O6J+WN6zzD+555Ylr3vjUSZAKP3hJSXkjVUqV1uQJklTktTwJef5l52wuKTBsKeNO63vSymZEo+b9lh2mKPaSa+fpxJtOBtPJEbR2UGSGsklDhio5+cJ2L4ZtNtniSNTKblU56dbFVyR0m56IvLWCtkaOkq203gTmuEO8AAB42mNgYgCD/1sZIhiwATYgZmRkYmBmZGZkYS/NyzQwMHAB0UYGTiYQvqMBANKMCJs=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-vietnamese-600-normal-CdKbmnAp.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-vietnamese-600-normal--5ui7us-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-latin-ext-600-normal-CBdNZ9Ci.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-ext-600-normal-DvCwRnqE.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-latin-600-normal-CRd5VyFf.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-600-normal-6XnkKYvF.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg0:#0b0d0f;--bg1:#101316;--bg2:#16191d;--bg3:#1d2126;--canvas:#0b0e11;--well:#08090b;--line:#252b32;--line-soft:#1b2025;--ink:#e8ecf0;--ink2:#9ba5b0;--ink3:#5f6a75;--copper:#d98b41;--copper-hi:#eda95e;--copper-dim:#d98b411f;--sel:#4da3ff;--sel-dim:#4da3ff24;--net-focus:#5ad2ff;--net-focus-ink:#d7f2ff;--net-focus-ink2:#9adcf7;--ok:#57c793;--warn:#e5b454;--err:#e06456;--grid-dot:#1d242c;--font:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--cond:"IBM Plex Sans Condensed", var(--font);--r:3px;--r-lg:5px;--shadow:0 14px 40px #0000008c;--toast-bg:#101318f2;--ink-dim:var(--ink3)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg0:#dedbd3;--bg1:#f2f0ea;--bg2:#e8e5de;--bg3:#dcd8cf;--canvas:#f8f6f0;--well:#fffdf8;--line:#c8c3b9;--line-soft:#ded9cf;--ink:#252a2e;--ink2:#5d656c;--ink3:#858c91;--copper:#ad601f;--copper-hi:#914914;--copper-dim:#ad601f1c;--sel:#176db5;--sel-dim:#176db51f;--net-focus:#d9700f;--net-focus-ink:#8a4108;--net-focus-ink2:#a04f0b;--ok:#277a57;--warn:#9b6914;--err:#b7483d;--grid-dot:#d8d3c9;--shadow:0 14px 40px #3c342a2e;--toast-bg:#fffdf8f7}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg0);-webkit-font-smoothing:antialiased;font-size:12.5px;overflow:hidden}.mono{font-family:var(--mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{border:2px solid var(--bg1);background:#2a323b;border-radius:4px}::-webkit-scrollbar-track{background:0 0}.app{flex-direction:column;height:100%;display:flex}.main{flex:1;min-height:0;display:flex}.workspace{flex:1;min-width:0;min-height:0;display:flex;position:relative}.tooltip{z-index:300;color:#dfe6ec;pointer-events:none;opacity:0;background:#1a1f25;border:1px solid #333c46;border-radius:4px;align-items:center;gap:8px;max-width:300px;padding:5px 9px;font-size:11px;line-height:1.45;display:flex;position:fixed;box-shadow:0 6px 22px #0000008c}.tooltip.placed{opacity:1;animation:90ms ease-out tip-in}@keyframes tip-in{0%{opacity:0;transform:translateY(1px)}}.tooltip kbd{color:var(--copper-hi);font-family:var(--mono);background:#10141a;border:1px solid #3a434d;border-bottom-width:2px;border-radius:3px;flex:none;padding:1px 5px;font-size:9.5px}.topbar{background:var(--bg1);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:12px;height:44px;padding:0 12px;display:flex;position:relative}.brand{-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.brand-name{font-family:var(--cond);letter-spacing:.14em;color:var(--ink);font-size:13.5px;font-weight:600}.brand-name em{color:var(--copper);margin-left:4px;font-style:normal;font-weight:500}.project-name{border-radius:var(--r);color:var(--ink2);background:0 0;border:1px solid #0000;width:180px;padding:5px 8px;font-size:11.5px;transition:border-color .12s,color .12s,background .12s}.project-name:hover{border-color:var(--line);color:var(--ink)}.project-name:focus{border-color:var(--copper);color:var(--ink);background:var(--well);outline:none}.tabs{gap:0;height:100%;margin:0 auto;display:flex}.tab{color:var(--ink2);font-family:var(--cond);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 15px;font-size:12.5px;font-weight:500;transition:color .12s;display:flex}.tab:hover{color:var(--ink)}.tab.on{color:var(--copper-hi);border-bottom-color:var(--copper)}.tab .icon{opacity:.75}.topbar-actions{align-items:center;gap:3px;display:flex}.tb-sep{background:var(--line);width:1px;height:18px;margin:0 6px}.tb-btn{border-radius:var(--r);height:28px;color:var(--ink2);font-family:var(--font);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 8px;font-size:11.5px;transition:color .12s,background .12s,border-color .12s;display:flex}.tb-btn:hover:not(:disabled){color:var(--ink);background:var(--bg2);border-color:var(--line)}.tb-btn:disabled{opacity:.35;cursor:default}.tb-btn.primary{color:#14181d;background:var(--copper);border-color:var(--copper);font-weight:600}.tb-btn.primary:hover{background:var(--copper-hi);color:#14181d}.theme-toggle{width:28px;color:var(--copper-hi);justify-content:center;padding:0}.theme-toggle .icon{transition:transform .18s}.theme-toggle:active .icon{transform:rotate(18deg)scale(.9)}.menu-host{display:inline-flex;position:relative}.menu-trigger{all:unset;cursor:pointer;display:inline-flex}.menu{border-radius:var(--r-lg);min-width:218px;box-shadow:var(--shadow);z-index:90;background:#161a1f;border:1px solid #313944;padding:4px;animation:90ms ease-out menu-in;position:absolute;top:calc(100% + 5px)}.menu.left{left:0}.menu.right{right:0}.menu.float{z-index:210;position:fixed;top:0}.menu.ctx{z-index:200;min-width:190px;position:fixed;top:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-2px)}}.menu-item{border-radius:var(--r);width:100%;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.menu-item:hover:not(:disabled){background:var(--bg3);color:var(--ink)}.menu-item:disabled{opacity:.4;cursor:default}.menu-item.danger:hover:not(:disabled){color:#ffb1a6;background:#e064561f}.menu-item-icon{width:15px;color:var(--ink3);justify-content:center;display:inline-flex}.menu-item:hover:not(:disabled) .menu-item-icon{color:var(--copper-hi)}.menu-item.danger:hover:not(:disabled) .menu-item-icon{color:var(--err)}.menu-hint{color:var(--ink3);font-size:10px;font-family:var(--mono);margin-left:auto;padding-left:14px}.menu-sep{background:var(--line);height:1px;margin:4px 6px}.statusbar{background:var(--bg1);border-top:1px solid var(--line);height:27px;color:var(--ink3);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:0 12px;font-size:11px;display:flex}.sb-coords{color:var(--copper);min-width:170px;font-size:11px}.sb-sep{background:var(--line);width:1px;height:13px}.sb-spring{flex:1}.sb-item{align-items:center;gap:6px;display:flex}.sb-sel{color:var(--sel)}.sb-issue{color:var(--err)}.sb-save .dot{background:var(--warn);border-radius:50%;width:6px;height:6px;transition:background .3s}.sb-save.ok .dot{background:var(--ok)}.side{background:var(--bg1);flex-direction:column;flex-shrink:0;width:272px;transition:width .26s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden auto}.workspace.dock-dragging .side{transition:none}.side-left{width:var(--dock-w-left,272px);border-right:1px solid var(--line)}.side-right{width:var(--dock-w-right,296px);border-left:1px solid var(--line)}.side-right.editor{width:var(--dock-w-right,352px)}.workspace[data-collapse-left] .side-left{border-right-width:0}.workspace[data-collapse-right] .side-right{border-left-width:0}.workspace[data-collapse-left] .side-left,.workspace[data-collapse-right] .side-right{min-width:0;overflow:hidden}.dock-handle{z-index:7;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:11px;display:flex;position:absolute;top:0;bottom:0}.dock-handle-left{left:var(--dock-w-left,272px);transform:translate(-50%)}.dock-handle-right{right:var(--dock-w-right,296px);transform:translate(50%)}.workspace.dock-dragging .dock-handle{transition:none}.dock-handle:not(.dock-dragging){transition:left .26s cubic-bezier(.4,0,.2,1),right .26s cubic-bezier(.4,0,.2,1)}.dock-handle-grip{background:0 0;width:2px;height:100%;transition:background .14s}.dock-handle:hover .dock-handle-grip,.workspace.dock-dragging .dock-handle-grip{background:var(--copper)}.dock-collapse{border:1px solid var(--line);background:var(--bg2);width:18px;height:26px;color:var(--ink3);cursor:pointer;opacity:0;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:opacity .14s,color .14s,background .14s,border-color .14s;display:flex;position:absolute;top:12px}.dock-handle:hover .dock-collapse{opacity:1}.dock-collapse:hover{color:var(--ink);border-color:var(--copper);background:var(--bg1)}.dock-handle-left .dock-collapse{right:-6px}.dock-handle-left .dock-collapse .icon{transform:rotate(180deg)}.dock-handle-right .dock-collapse{left:-6px}.dock-show{z-index:8;border:1px solid var(--line);background:var(--bg1);width:20px;height:40px;color:var(--ink3);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:color .14s,background .14s;animation:.26s cubic-bezier(.4,0,.2,1) dock-tab-in;display:flex;position:absolute;top:12px;box-shadow:0 2px 8px #00000047}.dock-show:hover{color:var(--copper-hi);background:var(--bg2)}.dock-show-left{border-left-width:0;border-radius:0 7px 7px 0;left:0}.dock-show-right{border-right-width:0;border-radius:7px 0 0 7px;right:0}.dock-show-right .icon{transform:rotate(180deg)}@keyframes dock-tab-in{0%{opacity:0;transform:translateX(var(--dock-tab-slide,-6px))}to{opacity:1;transform:translate(0)}}.dock-show-right{--dock-tab-slide:6px}.dock-tabs{z-index:6;background:var(--bg1);border-bottom:1px solid var(--line);flex:none;display:flex;position:sticky;top:0}.dock-tab{min-width:0;height:34px;color:var(--ink3);font-family:var(--font);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:550;transition:color .12s;display:flex}.dock-tab:hover{color:var(--ink)}.dock-tab.on{color:var(--copper-hi);border-bottom-color:var(--copper)}.dock-tab b{color:var(--ink3);font-size:9.5px;font-weight:500}.dock-tab.on b{color:var(--copper)}.dock-tab .icon{flex:none}.dock-tab span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sect{border-bottom:1px solid var(--line-soft)}.sect-head{background:var(--bg1);z-index:3;align-items:center;gap:7px;min-height:30px;padding:8px 12px 6px;display:flex;position:sticky;top:0}.sect-tick{background:var(--copper);width:3px;height:10px}.sect-head h3{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;font-weight:600;overflow:hidden}.sect-toggle{min-width:0;color:var(--ink3);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:0;display:flex}.sect-toggle .icon{transition:transform .12s}.sect:not(.closed) .sect-toggle .icon{transform:rotate(90deg)}.sect-toggle:hover h3,.sect-toggle:hover{color:var(--ink2)}.sect-info{color:var(--ink3);cursor:help;display:inline-flex}.sect-info:hover{color:var(--copper-hi)}.sect-right{align-items:center;gap:5px;display:flex}.sect-count{color:var(--ink3);border:1px solid var(--line-soft);border-radius:var(--r);background:var(--well);padding:1px 6px;font-size:9.5px}.sect-body{flex-direction:column;gap:8px;padding:2px 12px 12px;display:flex}.sect-body.nopad{padding:0 0 8px}.mini-btn{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);min-width:22px;height:22px;color:var(--ink2);font-family:var(--font);cursor:pointer;justify-content:center;align-items:center;gap:4px;font-size:10px;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.mini-btn:hover:not(:disabled){color:var(--copper-hi);border-color:var(--copper)}.mini-btn.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.mini-btn.danger:hover{color:var(--err);border-color:var(--err)}.mini-btn:disabled{opacity:.35;cursor:default}.row{width:100%;min-width:0;min-height:30px;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:8px;padding:4px 12px 4px 10px;font-size:11.5px;transition:background .1s,color .1s;display:flex}.row:hover{background:var(--bg2);color:var(--ink)}.row.on{border-left-color:var(--copper);background:var(--copper-dim);color:var(--ink)}.row.sel{border-left-color:var(--sel);background:var(--sel-dim);color:var(--ink)}.row-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.row-main b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.row-main small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.row-trail{color:var(--ink3);flex:none;align-items:center;gap:4px;font-size:10px;display:flex}.field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.field-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:10px}.field input,.field .dd,.search{background:var(--well);border:1px solid var(--line);border-radius:var(--r);width:100%;height:26px;color:var(--ink);font-family:var(--font);padding:0 8px;font-size:11.5px;transition:border-color .12s}.field input.mono{font-family:var(--mono)}.field input:focus,.field .dd:focus,.search:focus{border-color:var(--copper);outline:none}.field-row{gap:8px;display:flex}.num-wrap{display:flex;position:relative}.num-wrap .unit{color:var(--ink3);pointer-events:none;font-size:10px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.dd{border:1px solid var(--line);border-radius:var(--r);background:var(--well);height:26px;color:var(--ink);font-family:var(--font);text-align:left;cursor:pointer;align-items:center;gap:6px;padding:0 7px 0 8px;font-size:11.5px;transition:border-color .12s;display:inline-flex}.dd:disabled{opacity:.45;cursor:default}.dd.open{border-color:var(--copper)}.dd-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dd-value.placeholder{color:var(--ink3)}.dd>.icon{color:var(--ink3);flex:none}.dd.open>.icon{color:var(--copper-hi)}.dd-pop{z-index:220;overscroll-behavior:contain;border-radius:var(--r-lg);min-width:120px;max-width:min(420px,100vw - 12px);box-shadow:var(--shadow);background:#161a1f;border:1px solid #313944;padding:4px;animation:90ms ease-out menu-in;position:fixed;overflow-y:auto}.dd-opt{border-radius:var(--r);width:100%;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.dd-opt.hi:not(:disabled){background:var(--bg3);color:var(--ink)}.dd-opt.on{color:var(--copper-hi)}.dd-opt:disabled{opacity:.4;cursor:default}.dd-opt-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dd-opt-hint{color:var(--ink3);font-family:var(--mono);flex:none;font-size:10px}.dd-empty{color:var(--ink3);padding:7px 9px;font-size:11px}.combo{flex:1;align-items:center;min-width:0;display:inline-flex;position:relative}.combo>.icon{color:var(--ink3);pointer-events:none;flex:none;position:absolute;right:7px}.combo.open>.icon{color:var(--copper-hi)}.combo .combo-input{border:1px solid var(--line);border-radius:var(--r);background:var(--well);width:100%;min-width:0;height:26px;color:var(--ink);font-family:var(--font);text-overflow:ellipsis;padding:0 22px 0 8px;font-size:11.5px;transition:border-color .12s}.combo.open .combo-input{border-color:var(--copper)}.combo .combo-input:disabled{opacity:.45;cursor:default}.combo .combo-input::placeholder{color:var(--ink3)}.combo .combo-input.has-value::placeholder{color:var(--ink);opacity:1}.combo .combo-input:focus{border-color:var(--copper);outline:none}.dd-opt.dd-add{color:var(--copper-hi)}.dd-opt.dd-add .icon{flex:none}.dd-opt.dd-add.hi{background:var(--bg3)}.search{height:26px;font-size:11px}.search.wide{width:100%}.search-box{border:1px solid var(--line);border-radius:var(--r);background:var(--well);height:27px;color:var(--ink3);flex:none;align-items:center;gap:6px;padding:0 7px;display:flex}.search-box:focus-within{border-color:var(--copper)}.search-box input{min-width:0;color:var(--ink);font:11px var(--font);background:0 0;border:none;outline:none;flex:1}.search-box input::placeholder{color:#4d5761}.search-box button{width:18px;height:18px;color:var(--ink3);cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.search-box button:hover{color:var(--ink)}.kv{color:var(--ink2);justify-content:space-between;gap:10px;font-size:12px;display:flex}.kv b{color:var(--ink);text-align:right;font-weight:500}.kv.wide{flex-direction:column;gap:2px}.kv-copy{align-items:center;gap:6px}.kv-copy>span{margin-right:auto}.kv-copy b{-webkit-user-select:text;user-select:text;cursor:text;overflow-wrap:anywhere}.kv-copy-btn{width:20px;height:20px;color:var(--ink2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:none;place-items:center;padding:0;display:inline-grid}.kv-copy-btn:hover:not(:disabled){color:var(--ink);border-color:#3a4652}.kv-copy-btn.copied{color:var(--copper)}.kv-copy-btn:disabled{opacity:.3;cursor:default}.hint-text{color:var(--ink3);font-size:11px;line-height:1.55}.hint-text b{color:var(--ink2)}.stack{flex-direction:column;align-items:stretch;gap:6px;display:flex}.empty-inline{color:var(--ink3);padding:10px 12px;font-size:11px}.howto{color:var(--ink2);flex-direction:column;gap:7px;padding-left:16px;font-size:11.5px;line-height:1.5;display:flex}.howto b{color:var(--copper-hi);font-weight:500}.btn{border-radius:var(--r);border:1px solid var(--line);background:var(--bg2);height:28px;color:var(--ink2);font-family:var(--font);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:11.5px;transition:all .12s;display:inline-flex}.btn:hover:not(:disabled){color:var(--ink);border-color:#3a4652}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--copper);border-color:var(--copper);color:#14181d;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--copper-hi);color:#14181d;border-color:var(--copper-hi)}.btn-danger:hover:not(:disabled){color:var(--err);border-color:var(--err);background:#e0645614}.btn-tool{background:0 0;border-color:#0000;height:28px;padding:0 8px}.btn-tool:hover:not(:disabled){background:var(--bg2);border-color:var(--line)}.btn-tool.active{color:var(--copper-hi);background:var(--copper-dim);border-color:var(--copper)}.toggle{color:var(--ink2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:12px;display:flex}.toggle input{display:none}.toggle-track{background:var(--bg3);border:1px solid var(--line);border-radius:9px;flex-shrink:0;width:30px;height:16px;transition:all .15s;position:relative}.toggle-dot{background:var(--ink3);border-radius:50%;width:10px;height:10px;transition:all .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track{background:var(--copper-dim);border-color:var(--copper)}.toggle input:checked+.toggle-track .toggle-dot{background:var(--copper);left:16px}.toggle:hover{color:var(--ink)}.swatches{flex-wrap:wrap;gap:5px;display:flex}.swatch{cursor:pointer;border:1px solid #ffffff1f;border-radius:5px;width:22px;height:22px;transition:transform .1s;position:relative}.swatch:hover{transform:scale(1.12)}.swatch.on{outline:2px solid var(--copper);outline-offset:1px}.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.swatch.custom:after{content:"+";color:#ffffffb3;text-shadow:0 0 3px #000;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.swatch.small{width:20px;height:20px}.swatch.small:after{content:""}.swatch.none{border-style:dashed}.canvas-wrap{background:var(--canvas);cursor:default;-webkit-user-select:none;user-select:none;touch-action:none;flex:1;min-width:0;position:relative;overflow:hidden}.canvas-wrap *{-webkit-user-select:none;user-select:none}.canvas-wrap.placing{cursor:copy}.canvas-wrap.wiring{cursor:crosshair}.canvas-wrap.panning{cursor:grabbing}svg.canvas{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.canvas-clear{fill:var(--canvas);pointer-events:none}.canvas-toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--r-lg);z-index:10;pointer-events:auto;background:#0f1216f0;border:1px solid #2b333c;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #0006}.toolbar-options{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--r-lg);z-index:10;color:var(--ink2);background:#0f1216f0;border:1px solid #2b333c;align-items:center;gap:8px;padding:5px 9px;font-size:11px;animation:90ms ease-out menu-in;display:flex;position:absolute;top:48px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #0006}.toolbar-options label,.toolbar-options .opt-group{align-items:center;gap:6px;display:inline-flex}.toolbar-options .opt-label{color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:600}.toolbar-options .dd{border:1px solid var(--line);border-radius:var(--r);background:var(--well);height:24px;color:var(--ink);font:10.5px var(--mono);padding:0 6px}.toolbar-options .dd:focus{border-color:var(--copper);outline:none}.canvas-toolbar *{pointer-events:auto}.ct-sep{background:var(--line);width:1px;height:18px;margin:0 4px}.zoom-pct{color:var(--ink3);text-align:center;min-width:40px;font-size:11px}.ct-lock{border:1px solid var(--line);background:var(--bg0);height:28px;color:var(--ink3);font:600 10px var(--font);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.ct-lock.editing{color:var(--copper-hi);background:var(--copper-dim);border-color:var(--copper)}:root[data-touch] .ct-lock{height:36px}.lock-dialog-note{color:var(--ink2);margin:0 0 8px;font-size:12.5px;line-height:1.5}.lock-dialog-note.dim{color:var(--ink3);margin:0}.wiretype-pick{align-items:center;gap:7px;padding:0 4px;display:flex}.wiretype-pick .dd{color:var(--ink2);font-family:var(--mono);cursor:pointer;background:0 0;border:none;max-width:195px;font-size:11px}.wiretype-pick .dd:focus{color:var(--ink);outline:none}.wt-dot{border:1px solid #fff3;border-radius:4px;flex-shrink:0;width:14px;height:14px;position:relative;overflow:hidden}.wt-dot .wt-stripe{clip-path:polygon(0 100%,100% 0,100% 45%,0 55%);position:absolute;inset:0}.wt-dot.inline{vertical-align:-3px;width:12px;height:12px;margin-right:6px;display:inline-block}.mode-banner{border-radius:var(--r);color:var(--copper-hi);z-index:10;white-space:nowrap;background:#130f0af2;border:1px solid #d98b41a6;padding:6px 14px;font-size:11.5px;animation:.18s ease-out rise;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.mode-banner b{color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translate(-50%,6px)}}.route-tip{border:1px solid var(--line);border-radius:var(--r);color:var(--ink2);z-index:10;background:#0e1115f2;padding:6px 12px;font-size:11px;position:absolute;bottom:14px;left:14px}.route-tip b{color:var(--copper-hi)}.connected-wires{border:1px solid var(--line);border-radius:var(--r);max-width:min(560px,46vw);max-height:calc(100% - 28px);color:var(--ink2);z-index:10;background:#0e1115f2;flex-direction:column;font-size:11px;display:flex;position:absolute;top:14px;left:14px;overflow:hidden}.connected-wires .cw-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:6px 10px;display:flex}.connected-wires .cw-head b{color:var(--copper-hi);font-size:12px}.connected-wires .cw-head span{color:var(--ink3);font-size:10px}.connected-wires .cw-list{padding:3px 0;overflow-y:auto}.connected-wires .cw-row{white-space:nowrap;grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;padding:2px 10px;display:grid}.connected-wires .cw-net{color:#f29b45;font-weight:700}.connected-wires .cw-id{color:var(--ink3);font-size:10px}.connected-wires .cw-pins{color:var(--ink);text-overflow:ellipsis;overflow:hidden}.connected-wires .cw-arrow{color:var(--ink3)}.connected-wires .cw-wire{color:var(--ink2);opacity:.85;margin-right:5px;font-style:normal}:root[data-theme=light] .connected-wires{background:#fffdf8f5}.sheet{fill:#0f1319}.sheet-border{fill:none;stroke:#2b3540;stroke-width:1.5px}.sheet-border.thin{stroke-width:.5px;stroke:#222b34}.sheet-zones{pointer-events:none}.sheet-zones line{stroke:#2b3540;stroke-width:.5px}.sheet-zones text{fill:#566371;font:500 9px var(--mono);letter-spacing:.04em}.titleblock{pointer-events:none}.titleblock .tb-paper{fill:#10151b;stroke:#46515d;stroke-width:1px}.titleblock line{stroke:#2b3540;stroke-width:1px}.titleblock .tb-logo-paper{fill:#fff;stroke:none}.titleblock .tb-logo{opacity:.98}.titleblock .tb-label{fill:var(--ink3);font:600 5.5px var(--mono);letter-spacing:.12em}.titleblock .tb-company{fill:var(--ink);font:650 8px var(--cond);letter-spacing:.04em}.titleblock .tb-company-empty{font-size:15px}.titleblock .tb-project{fill:var(--ink);font:650 13px var(--cond);letter-spacing:.025em}.titleblock .tb-sheet-name{fill:var(--ink2);font:600 11px var(--mono)}.titleblock .tb-value{fill:var(--ink2);font:500 8.5px var(--mono)}.titleblock .tb-sheet-meta{fill:var(--ink2);font:650 7.5px var(--mono);letter-spacing:.03em}.sym-glyph{color:#dbe3ec}.sym-text{fill:#dbe3ec;font-family:var(--mono)}.sym-text.dim{fill:#6d7a87}.sym-text.pin-label{fill:#c8d2dc;paint-order:stroke;stroke:#0f1319;stroke-width:2.6px;stroke-linejoin:round;font-weight:500}.sym-text.pin-label.annotated{fill:var(--copper-hi);font-weight:600}.pin-tick{fill:#8593a1}.ghost{color:var(--copper);opacity:.75;pointer-events:none}.ghost .sym-text{fill:var(--copper);stroke:#0f1319}.ghost-box{fill:#e08d3c0f;stroke:var(--copper);stroke-dasharray:5 4;stroke-width:1.2px;pointer-events:none}.dev-tag{fill:var(--copper-hi);font-family:var(--mono);paint-order:stroke;stroke:#0f1319;stroke-width:2px;stroke-linejoin:round;font-size:12px;font-weight:600}.dev-sub{fill:#58646f;font-family:var(--mono);font-size:8.5px}.dev-description{pointer-events:none}.dev-description rect{fill:#141b22f5;stroke:#566573;stroke-width:.8px}.dev-description text{fill:#aebac5;font-family:var(--font);letter-spacing:.01em;font-size:8px;font-weight:500}.dev-tag.hover,.dev-loc.hover,.dev-sub.hover{fill:var(--sel)}.dev-tag.dragging,.dev-loc.dragging,.dev-sub.dragging{fill:var(--sel);opacity:.85}.dev-description.hover rect{stroke:var(--sel)}.dev-description.dragging rect{stroke:var(--sel);stroke-dasharray:4 3}.symbol{cursor:grab}.symbol.sel .sym-glyph{color:#eef4fa}.sym-selbox{fill:var(--sel-dim);stroke:var(--sel);stroke-width:1px;stroke-dasharray:4 3}.sym-grip-warning{pointer-events:none}.sym-grip-warning path{fill:var(--err);stroke:#30110d;stroke-width:.8px}.sym-grip-warning text{fill:#fff4f0;font:700 10px var(--mono)}.schematic-item{cursor:grab}.schematic-item-selbox{fill:var(--sel-dim);stroke:var(--sel);stroke-width:1px;stroke-dasharray:4 3}.schematic-item.marquee-hit .schematic-item-selbox{stroke:#62bdff;fill:#4da3ff33}.schematic-text text{fill:#cbd5de;font-family:var(--font);paint-order:stroke;stroke:#0f1319;stroke-width:2px;stroke-linejoin:round}.schematic-table-bg{fill:#10151b}.schematic-table-header{fill:#1c252e}.schematic-table-frame,.schematic-table line{fill:none;stroke:#71808e;stroke-width:.8px}.schematic-table text{fill:#bdc8d2;font:10px var(--mono)}.schematic-table text.header{fill:#e4eaf0;font-weight:700}.termination{cursor:pointer}.termination polygon{fill:#9fb0bd;stroke:#10151b;stroke-width:.6px;stroke-linejoin:round}.termination text{fill:#cbd5de;font:700 8px var(--mono);paint-order:stroke;stroke:#0f1319;stroke-width:2px;stroke-linejoin:round;pointer-events:none}.termination-halo{fill:var(--sel-dim);stroke:var(--sel);stroke-width:1.2px}.termination.sel polygon{fill:var(--sel)}.termination.issue polygon{fill:var(--err)}.termination.issue text{fill:#ffd9d1}.termination.ghost{pointer-events:none;opacity:.75}.termination.ghost polygon{fill:var(--copper-hi)}.termination.ghost .termination-halo{fill:#d98b4133;stroke:var(--copper-hi)}.termination-legend{cursor:grab}.termination-legend.dragging{cursor:grabbing}.termination-legend line{fill:none;stroke:#71808e;stroke-width:.8px}.termination-legend text{fill:#bdc8d2;font-family:var(--mono)}.termination-legend text.header{fill:#e4eaf0;font-weight:700}.termination-swatch{stroke:#71808e;stroke-width:.6px}.wire{cursor:pointer}.wire-core{fill:none;stroke-width:1.3px;stroke-linejoin:round;stroke-linecap:round}.wire-stripe{fill:none;stroke-width:1.3px;stroke-dasharray:5 7;stroke-linecap:butt;pointer-events:none}.wire-glow{fill:none;stroke:var(--sel);stroke-width:6px;opacity:.4;stroke-linejoin:round;stroke-linecap:round}.wire.sel .wire-glow{stroke:#f29b45;opacity:.52}.wire.sel .wire-core,.wire.sel .wire-stripe{stroke:#f29b45;stroke-width:1.8px}.wire.net .wire-glow{stroke:var(--copper);opacity:.3}.wire.marquee-hit .wire-glow{stroke:#62bdff;opacity:.58}.wire-net-focus-glow{fill:none;stroke:var(--net-focus);stroke-width:7px;opacity:.32;stroke-linejoin:round;stroke-linecap:round;pointer-events:none;animation:1.7s ease-in-out infinite net-focus-pulse}@keyframes net-focus-pulse{0%,to{opacity:.16;stroke-width:5.5px}50%{opacity:.46;stroke-width:9px}}@media (prefers-reduced-motion:reduce){.wire-net-focus-glow{animation:none}}.wire-conflict-glow{fill:none;stroke:var(--err);stroke-width:7px;stroke-dasharray:4 4;opacity:.52;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.wire.core-conflict:not(.sel) .wire-core,.wire.core-conflict:not(.sel) .wire-stripe{stroke:var(--err);stroke-width:1.8px}.wire-core-conflict-mark{pointer-events:none}.wire-core-conflict-mark circle{fill:var(--err);stroke:var(--canvas);stroke-width:1.2px}.wire-core-conflict-mark text{fill:#fff;font:700 8px var(--mono)}.wire-unmapped-glow{fill:none;stroke:#ffe000;stroke-width:8px;opacity:.8;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.wire.unmapped:not(.sel) .wire-core,.wire.unmapped:not(.sel) .wire-stripe{stroke:#ffe000;stroke-width:2px}.wire-num,.wire-type-label{fill:#93a1b0;font-family:var(--mono);text-anchor:middle;paint-order:stroke;stroke:#0f1319;stroke-width:2.6px;font-size:8px}.wire-type-label{font-size:7px}.wire-label-layer{pointer-events:none}.wire-label-box{fill:none;stroke:var(--sel);stroke-width:.8px;stroke-dasharray:3 2.5;opacity:.5}.wire-label.hover .wire-label-box,.wire-label.dragging .wire-label-box{opacity:1;stroke-dasharray:none}.wire-label.manual .wire-label-box{stroke:var(--copper-hi)}.wire-label-grip-stem{stroke:var(--sel);stroke-width:.9px;opacity:.75}.wire-label-grip{fill:#4da3ff2e;stroke:var(--sel);stroke-width:1.2px}.wire-label.hover .wire-label-grip{fill:var(--sel)}.wire-label.dragging .wire-label-grip{fill:var(--sel);stroke:#0f1319}.wire-label.manual .wire-label-grip-stem{stroke:var(--copper-hi)}.wire-label.manual .wire-label-grip{stroke:var(--copper-hi);fill:#e08d3c33}.wire-label.manual.hover .wire-label-grip{fill:var(--copper-hi)}.wire-label-placement{gap:7px;margin:8px 0 2px;display:grid}.net-tag-layer{pointer-events:none}.net-tag rect{fill:var(--canvas);stroke:#cdd6de;stroke-width:1.2px}.net-tag text{fill:var(--ink);font:600 11px var(--mono);text-anchor:middle}.net-tag.hover rect{stroke:var(--sel)}.net-tag.sel rect{stroke:var(--sel);stroke-width:1.5px}.net-tag.dragging rect{stroke:var(--sel);stroke-width:1.5px;stroke-dasharray:4 3}.net-tag.net-focus rect{stroke:var(--net-focus);stroke-width:1.6px}.net-tag.net-focus text{fill:var(--net-focus-ink)}.wire-draft{fill:none;stroke-width:1.3px;stroke-dasharray:7 5;opacity:.9;pointer-events:none}.wire-draft-stripe{fill:none;stroke-width:1.3px;stroke-dasharray:5 7;stroke-dashoffset:5px;opacity:.9;pointer-events:none;stroke-linecap:butt}.wire.jumper .wire-core{stroke-dasharray:6 4}.wire-draft.jumper{stroke-dasharray:2 5;stroke-width:1.6px}.wire-draft-stripe.jumper{stroke-width:1.6px;stroke-dasharray:5 2;stroke-dashoffset:5px}.wire-bend{cursor:move;color:var(--sel)}.wire-bend circle{fill:#4da3ff1f;stroke:var(--sel);stroke-width:1.4px}.wire-bend rect{fill:var(--sel);stroke:#0f1319;stroke-width:1px}.wire-endpoint{pointer-events:none}.wire-endpoint-halo{fill:#d98b4114;stroke:#d98b41b8;stroke-width:1.2px;stroke-dasharray:2.5 2}.wire-endpoint-core{fill:var(--canvas);stroke:var(--copper-hi);stroke-width:1.5px}.wire-endpoint.selected .wire-endpoint-halo{fill:var(--sel-dim);stroke:var(--sel)}.wire-endpoint.selected .wire-endpoint-core{stroke:var(--sel)}.wire-endpoint.hover .wire-endpoint-halo,.wire-endpoint.dragging .wire-endpoint-halo{fill:#d98b4133;stroke:var(--copper-hi);stroke-width:1.6px}.wire-endpoint.dragging .wire-endpoint-core{fill:var(--copper-hi);stroke:var(--canvas)}.wire-endpoint.invalid .wire-endpoint-halo{fill:#e064562e;stroke:var(--err)}.wire-endpoint.invalid .wire-endpoint-core{fill:var(--err);stroke:var(--canvas)}.wire-seg-hint{pointer-events:none}.wire-seg-hint line{stroke:var(--sel);stroke-width:5px;stroke-linecap:round;opacity:.35}.wire-seg-hint.split line{opacity:.16}.wire-seg-hint circle{fill:var(--sel);stroke:#0f1319;stroke-width:1px;opacity:.85}.bend-list{flex-direction:column;gap:7px;padding:0 10px 10px;display:flex}.bend-row{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) 22px;align-items:end;gap:6px;display:grid}.bend-index{height:28px;color:var(--ink3);place-items:center;font-size:10px;display:grid}.junction{fill:#dbe3ec}.pin-target{pointer-events:none}.pin-target circle:first-child{fill:#e08d3c14;stroke:#e08d3c8c;stroke-width:1.2px}.pin-target circle:last-child{fill:var(--copper);stroke:none}.pin-hover circle{fill:none;stroke:var(--copper);stroke-width:1.5px}.pin-hover .fillc{fill:var(--copper);stroke:none}.pin-hover.invalid circle{stroke:var(--err)}.pin-hover.invalid .fillc{fill:var(--err)}.pin-selected{pointer-events:none}.pin-selected circle:first-child{fill:#4da3ff17;stroke:var(--sel);stroke-width:1.3px;stroke-dasharray:2 2}.pin-selected .core{fill:var(--sel);stroke:none}.pin-wired-elsewhere{pointer-events:none}.pin-wired-elsewhere.clickable{pointer-events:auto;cursor:pointer}.pin-wired-elsewhere circle{fill:var(--canvas);stroke:var(--ok);stroke-width:.8px}.pin-wired-elsewhere path{fill:none;stroke:var(--ok);stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round}.pin-wired-elsewhere.clickable:hover circle{fill:var(--ok);stroke:var(--ok)}.pin-wired-elsewhere.clickable:hover path{stroke:var(--canvas)}.pin-wire-tag-layer{pointer-events:none}.pin-wire-tag{fill:var(--copper-hi);font-family:var(--mono);paint-order:stroke;stroke:#0f1319;stroke-width:2.4px;stroke-linejoin:round;font-size:7.5px;font-weight:500}.pin-wire-tip{z-index:7;color:#dfe6ec;white-space:nowrap;pointer-events:none;background:#1a1f25;border:1px solid #333c46;border-radius:4px;flex-direction:column;gap:3px;padding:5px 9px 6px;font-size:11px;line-height:1.4;animation:90ms ease-out pin-tip-in;display:flex;position:absolute;box-shadow:0 6px 22px #0000008c}@keyframes pin-tip-in{0%{opacity:0}}.pin-wire-tip b{font-family:var(--mono);color:var(--copper-hi)}.pin-wire-tip dl{grid-template-columns:auto auto;align-items:baseline;gap:1px 10px;display:grid}.pin-wire-tip dt{color:#8b97a3;font-size:10px}.pin-wire-tip dd{font-family:var(--mono);font-weight:600}.pin-wire-tip dd.none{color:#6d7884;font-style:italic;font-weight:400}.pin-wire-tip small{color:#8b97a3;font-size:10px}.pin-note-context{border-radius:var(--r);background:linear-gradient(90deg, var(--copper-dim), transparent);border:1px solid #d98b4147;align-items:center;gap:9px;padding:8px;display:flex}.pin-note-context-mark{border:2px solid var(--copper);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 3px #d98b411a}.pin-note-context>span:last-child{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pin-note-context b{color:var(--copper-hi);font-size:12px}.pin-note-context small{color:var(--ink3);text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.connector-pin-note-list{flex-direction:column;gap:8px;display:flex}.wire-dangling{cursor:grab;color:var(--err)}.wire-dangling.dragging{cursor:grabbing}.wire-dangling-halo{fill:#e064561a;stroke:#e0645675;stroke-width:1px;stroke-dasharray:2.5 2;animation:1.8s ease-in-out infinite dangling-pulse}.wire-dangling-ring{fill:#0f1319;stroke:var(--err);stroke-width:2px}.wire-dangling-core{fill:var(--err);stroke:none}.wire-dangling text{fill:#f28c80;font:600 8px var(--mono);letter-spacing:.05em;paint-order:stroke;stroke:#0f1319;stroke-width:2.5px;stroke-linejoin:round;pointer-events:none}.wire-dangling.hover .wire-dangling-halo,.wire-dangling.dragging .wire-dangling-halo{fill:#e0645638;stroke:#f28c80}.wire-dangling.hover .wire-dangling-ring,.wire-dangling.dragging .wire-dangling-ring{stroke:#ff9c90;stroke-width:2.4px}@keyframes dangling-pulse{0%,to{stroke-opacity:.52}50%{stroke-opacity:1}}.splice-hover{pointer-events:none}.splice-hover circle{fill:none;stroke:var(--copper);stroke-width:1.5px;stroke-dasharray:3 2.5}.splice-hover .fillc{fill:var(--copper);stroke:none;stroke-dasharray:none}.check-row{color:var(--ink2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:flex}.check-row input{accent-color:var(--copper)}.wire-type-label-preview{border:1px solid var(--line);border-left:2px solid var(--copper);border-radius:var(--r);background:linear-gradient(100deg, var(--copper-dim), transparent 64%);flex-direction:column;gap:5px;min-width:0;padding:8px 9px 9px 11px;display:flex}.wire-type-label-preview span{color:var(--ink3);font:600 8px var(--mono);letter-spacing:.12em}.wire-type-label-preview code{color:var(--copper-hi);font:500 10px/1.45 var(--mono);overflow-wrap:anywhere}.wire-type-label-toggle{padding-top:2px}.wire-type-label-hint{color:var(--ink3);margin:-2px 0 0 39px;font-size:10px;line-height:1.4}.symbol.marquee-hit .sym-selbox{stroke:#62bdff;fill:#4da3ff33}.marquee-group{pointer-events:none}.marquee{fill:#4da3ff17;stroke:#62bdff;stroke-width:1px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.marquee-count rect{fill:#0b1118f0;stroke:#62bdff8c;stroke-width:1px;vector-effect:non-scaling-stroke}.marquee-count text{fill:#8bceff;font-family:var(--mono);letter-spacing:.01em;font-weight:500}.smart-guides{pointer-events:none}.smart-align line{stroke:#62bdff;stroke-width:1.15px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #4da3ff73)}.smart-align circle{fill:#62bdff;stroke:#0f1319;stroke-width:1px;vector-effect:non-scaling-stroke}.smart-space path{fill:none;stroke:var(--copper-hi);stroke-width:1.15px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #e08d3c59)}.smart-space text{fill:var(--copper-hi);font-family:var(--mono);paint-order:stroke;stroke:#0f1319;stroke-width:4px;stroke-linejoin:round;font-weight:600}.smart-guide-toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink2);font-family:var(--mono);z-index:9;pointer-events:none;background:#0c1015e0;border:1px solid #62bdff59;border-radius:6px;align-items:center;gap:9px;padding:5px 9px 5px 10px;font-size:10px;animation:.12s ease-out smart-guide-in;display:flex;position:absolute;top:96px;left:50%;transform:translate(-50%);box-shadow:0 5px 18px #00000059}.smart-guide-toast b{color:#8bceff;font-weight:500}.smart-guide-toast span{border-left:1px solid var(--line);color:var(--ink3);padding-left:9px}@keyframes smart-guide-in{0%{opacity:0;transform:translate(-50%,-3px)}}.selection-tally{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px;display:grid}.selection-tally>div{color:var(--ink2);background:#4da3ff12;border:1px solid #4da3ff38;border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 9px;font-size:11px;display:flex}.selection-tally b{color:#8bceff;font-size:13px;font-weight:500}.schematic-content-field{flex-direction:column;gap:5px;display:flex}.schematic-content-field>span{color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.schematic-content-field textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--r);background:var(--well);width:100%;min-height:112px;color:var(--ink);font:11.5px/1.5 var(--font);outline:none;padding:8px}.schematic-content-field textarea:focus{border-color:var(--copper)}.schematic-cell-editor{padding:9px 10px 4px;overflow:auto}.schematic-cell-row{min-width:max-content;display:grid}.schematic-cell-row input,.schematic-cell-row textarea{border:1px solid var(--line);background:var(--well);min-width:72px;height:28px;color:var(--ink2);font:10.5px var(--mono);border-radius:0;outline:none;margin:-1px 0 0 -1px;padding:0 7px}.schematic-cell-row textarea{resize:none;height:auto;padding:5px 7px;line-height:1.5}.schematic-cell-row input:focus,.schematic-cell-row textarea:focus{z-index:1;border-color:var(--copper);color:var(--ink);position:relative}.schematic-cell-row input.header,.schematic-cell-row textarea.header{background:var(--bg3);color:var(--ink);font-weight:700}.schematic-table-actions{grid-template-columns:1fr 1fr;gap:5px;padding:6px 10px 10px;display:grid}.schematic-table-actions .btn{min-width:0;padding-inline:7px}.enc-body{fill:#12161b;stroke:#2b3540;stroke-width:1.5px}.plate{fill:#171d24;stroke:#37424e;stroke-width:1px}.zone-label{fill:#4d5966;font-family:var(--mono);letter-spacing:.14em;font-size:11px}.dims line{stroke:#46525e;stroke-width:1px}.dims text{fill:#6d7a87;font-family:var(--mono);font-size:11px}.rail-body{fill:#3d4650;stroke:#55616d;stroke-width:1px}.rail-line{stroke:#29323c;stroke-width:1.2px}.rail.sel .rail-body,.ductg.sel .duct-body{stroke:var(--sel);stroke-width:2px}.item-label{fill:#1d242c;font-family:var(--mono);font-size:9px}.duct-body{fill:#20262d;stroke:#3a4650;stroke-width:1px}.duct-tooth{stroke:#2c353f;stroke-width:1.6px}.route{fill:none;opacity:.8;cursor:pointer;transition:opacity .1s}.route-hit{fill:none;stroke:#0000;pointer-events:stroke;cursor:pointer}.route.visual{pointer-events:none}.route-selection-backdrop{fill:none;opacity:.28;pointer-events:none;filter:drop-shadow(0 0 7px #f29b45f2)}.route-selection-backdrop.transit{stroke-dasharray:4 6;opacity:.22}.route.direct{stroke-dasharray:7 5;opacity:.5}.route.stripe{stroke-dasharray:5 7;stroke-linecap:butt;pointer-events:none}.route.transit{stroke-dasharray:4 6;opacity:.3}.route.hov{opacity:1;filter:drop-shadow(0 0 4px #ffffff4d)}.route.transit.hov{opacity:.75}.route.sel{opacity:1;filter:drop-shadow(0 0 2px #fffffff2)drop-shadow(0 0 7px #e08d3ce6)}.route.transit.sel{opacity:.92}.route.dimmed{opacity:.16}.route.transit.dimmed{opacity:.1}.route.dimmed.hov{opacity:.42}.cable-exit{cursor:grab}.cable-exit-hit{fill:#0000;stroke:none}.cable-exit-dot{fill:#11161c;stroke:#7b8794;stroke-width:1.4px;vector-effect:non-scaling-stroke;pointer-events:none}.cable-exit.pinned .cable-exit-dot{fill:#232c36;stroke:#9aa7b4}.cable-exit:hover .cable-exit-dot,.cable-exit.focused .cable-exit-dot{fill:#f29b45;stroke:#fff2e2;filter:drop-shadow(0 0 5px #f29b45d9)}.selected-wire-label{pointer-events:none}.selected-wire-label rect{fill:#0b0d10f0;stroke:#f29b45e6;stroke-width:1px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #000c)}.selected-wire-label text{fill:#fff7ec;font:700 7px var(--mono);letter-spacing:.01em}.pdev{cursor:grab}.pdev-body{stroke:#06080aa6;stroke-width:1px}.pdev-shade{fill:#00000047;pointer-events:none}.pdev-tag{font-family:var(--mono);fill:#f2f5f8;paint-order:stroke;stroke:#080a0deb;stroke-width:2.25px;stroke-linejoin:round;pointer-events:none;font-weight:600}.pdev-tag.door{fill:var(--ink2);stroke:none;font-size:10px}.pdev-highlight{fill:#4da3ff1f;stroke:#6dbbffeb;stroke-width:2px;stroke-dasharray:7 4;pointer-events:none;filter:drop-shadow(0 0 7px #4da3ffad);animation:1.45s ease-in-out infinite panel-highlight-pulse}.wire-grip-highlight{fill:#f29b451f;stroke:#f29b45;stroke-width:2.4px;stroke-dasharray:4 2;pointer-events:none;filter:drop-shadow(0 0 6px #f29b45e0);animation:1.15s ease-in-out infinite wire-grip-pulse}@keyframes wire-grip-pulse{50%{fill-opacity:.42;stroke-opacity:.68}}@keyframes panel-highlight-pulse{50%{fill-opacity:.45;stroke-opacity:.62}}.pdev.sel .pdev-body{stroke:var(--sel);stroke-width:2px;filter:drop-shadow(0 0 6px #4da3ff80)}.pdev.bad .pdev-body,.pdev.grip-mismatch .pdev-body{stroke:var(--err);stroke-width:2px;filter:drop-shadow(0 0 6px #e0645699)}.panel-grip-warning{pointer-events:none}.panel-grip-warning circle{fill:var(--err);stroke:#30110d;stroke-width:1px}.panel-grip-warning text{fill:#fff4f0;font:700 10px var(--mono)}.pin-dot{fill:var(--copper-hi);stroke:#07090be6;stroke-width:.8px;pointer-events:none}.pdev.sel .pin-dot{fill:#f2f5f8;stroke:var(--sel);stroke-width:1px}.wire-pin-numbers{pointer-events:none}.wire-pin-number>line{stroke:#f5ad5bd1;stroke-width:.7px;vector-effect:non-scaling-stroke}.wire-pin-entry{fill:#fff6e8;stroke:#9b561e;stroke-width:.8px;vector-effect:non-scaling-stroke}.wire-pin-badge{fill:#080a0df0;stroke:#f5ad5bfa;stroke-width:1px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #000000b8)}.wire-pin-text{fill:#fff6e8;font:600 5px var(--mono);letter-spacing:.015em}.wire-pin-number.focused>line{stroke-width:1px}.wire-pin-number.focused .wire-pin-entry{stroke-width:1.15px}.wire-pin-number.focused .wire-pin-badge{stroke-width:1.2px;filter:drop-shadow(0 1px 2px #000000d1)drop-shadow(0 0 3px #f5ad5b73)}.wire-pin-number.focused .wire-pin-text{font-size:6.8px}.door-body{fill:#13181e;stroke:#2b3540;stroke-width:1.5px;stroke-dasharray:8 5}.door-seam{stroke:var(--copper);stroke-width:1.2px;stroke-dasharray:7 5;opacity:.75}.hinge{fill:#46525e}.canvas-wrap.panel-low-detail .wall-body,.canvas-wrap.panel-low-detail .door-body{stroke-dasharray:none;stroke-width:1px;opacity:.72}.canvas-wrap.panel-low-detail .door-seam,.canvas-wrap.panel-low-detail .hinge,.canvas-wrap.panel-low-detail .rail-line,.canvas-wrap.panel-low-detail .zone-label,.canvas-wrap.panel-low-detail .zone-sublabel,.canvas-wrap.panel-low-detail .item-label,.canvas-wrap.panel-low-detail .duct-fill-label,.canvas-wrap.panel-low-detail .pin-dot,.canvas-wrap.panel-low-detail .wire-pin-numbers,.canvas-wrap.panel-low-detail .drill,.canvas-wrap.panel-low-detail .cutout-outline{display:none}.canvas-wrap.panel-low-detail .route.direct{stroke-dasharray:none;opacity:.45}.canvas-wrap.panel-overview .route,.canvas-wrap.panel-overview .pdev-tag,.canvas-wrap.panel-overview .pdev-shade,.canvas-wrap.panel-overview .dims,.canvas-wrap.panel-overview .dimc{display:none}.panel-side-left{width:300px;position:relative;overflow:hidden}.panel-kicker{color:var(--ink3);font-family:var(--font);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:600;line-height:1}.panel-context{border-bottom:1px solid var(--line);flex-direction:column;flex:none;display:flex}.panel-context-row{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:8px;min-height:36px;padding:4px 12px;display:grid}.panel-context-row+.panel-context-row{border-top:1px solid var(--line-soft)}.panel-context-row>.panel-kicker{text-align:left}.panel-context-row .dd{border:1px solid var(--line);border-radius:var(--r);background:var(--well);width:100%;height:26px;color:var(--ink);font:500 11px var(--mono);cursor:pointer;padding:0 6px}.panel-context-row .dd:focus{border-color:var(--copper);outline:none}.enclosure-summary{border:1px solid var(--line);border-radius:var(--r);background:var(--well);min-width:0;height:26px;color:var(--ink2);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:0 7px;transition:border-color .12s,color .12s;display:flex}.enclosure-summary:hover{border-color:var(--copper);color:var(--ink)}.enclosure-summary b{min-width:0;color:var(--ink);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:550;overflow:hidden}.enclosure-summary em{color:var(--copper-hi);font-family:var(--mono);flex:none;margin-left:auto;font-size:10px;font-style:normal}.enclosure-summary .icon:last-child{color:var(--ink3);flex:none}.progress-rail{background:var(--line-soft);flex:none;height:2px;margin:0 12px 8px;position:relative}.progress-rail span{background:var(--copper);transition:width .24s;position:absolute;inset:0 auto 0 0}.place-swatch{border-radius:1px;flex:none;align-self:stretch;width:3px}.place-target{color:#7f8b97;align-items:center;gap:4px;font-size:9.5px;display:inline-flex}.place-cta{border:1px solid var(--line);border-radius:var(--r);color:var(--ink3);white-space:nowrap;flex:none;align-items:center;gap:4px;padding:3px 6px;font-size:9.5px;display:inline-flex}.row:hover .place-cta{color:var(--copper-hi);border-color:#d98b4166}.row.on .place-cta{background:var(--copper);border-color:var(--copper);color:#14181d;font-weight:600}.row .badge-x{border:1px solid var(--line);border-radius:var(--r);color:var(--ink3);font-family:var(--mono);flex:none;padding:0 5px;font-size:9px;line-height:15px}.row.sel .badge-x{color:#8bceff;border-color:#4da3ff73}.placement-empty{min-height:60px;color:var(--ink3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:10px;display:flex}.placement-empty .icon{color:#53606c;margin-bottom:2px}.placement-empty b{color:var(--ink2);font-size:10.5px;font-weight:550}.placement-empty span{font-size:9.5px}.placement-empty.success .icon,.placement-empty.success b{color:var(--ok)}.field-device-note{color:var(--ink3);flex:none;padding:4px 12px 8px;font-size:9.5px}.group-highlight-summary{background:linear-gradient(135deg,#4da3ff24,#4da3ff09);border:1px solid #4da3ff6b;border-radius:8px;align-items:flex-start;gap:9px;padding:10px;display:flex}.group-highlight-mark{color:#8bceff;border:1px solid #4da3ff80;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 0 12px #4da3ff3d}.group-highlight-summary>div{min-width:0}.group-highlight-summary b{color:#b9dcff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.group-highlight-summary p{color:var(--ink2);margin-top:3px;font-size:10px;line-height:1.35}.instance-list{flex-direction:column;gap:3px;display:flex}.instance-list button{border:1px solid var(--line-soft);color:var(--ink2);font:10px var(--font);text-align:left;cursor:pointer;background:#080a0c57;border-radius:6px;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:7px;padding:6px 8px;display:grid}.instance-list button:hover{background:var(--sel-dim);color:var(--ink);border-color:#4da3ff80}.instance-list button .mono{color:#8bceff}.instance-list button .icon{color:var(--ink3)}.touch-actions{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:6px;display:grid}.touch-actions .btn{min-width:0;padding-inline:8px}.touch-actions .btn:last-child{color:var(--copper-hi);border-color:#c484476b}.touch-actions .btn:last-child:hover:not(:disabled){border-color:var(--copper);background:var(--copper-dim)}.touch-note{margin-top:2px}.trim-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.trim-actions .btn{min-width:0;padding-inline:8px;font-size:11px}.cabinet-tools{grid-template-columns:minmax(0,1fr) 82px;gap:6px;display:grid}.cabinet-tools .dd{background:var(--bg0);border:1px solid var(--line);min-width:0;height:24px;color:var(--ink2);font-family:var(--mono);border-radius:6px;font-size:10.5px}.cabinet-tools .dd:focus{border-color:var(--copper);color:var(--ink);outline:none}.cabinet-list{flex-direction:column;gap:4px;max-height:250px;padding-right:2px;display:flex;overflow-y:auto}.cabinet-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:5px;display:grid}.cabinet-pick{border:1px solid var(--line-soft);width:100%;color:var(--ink2);text-align:left;cursor:pointer;background:#0a0c0e38;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:7px 8px;transition:all .12s;display:grid}.cabinet-pick:hover{color:var(--ink);background:var(--bg2);border-color:#394552}.cabinet-row.on .cabinet-pick{color:var(--ink);border-color:var(--copper);background:var(--copper-dim);box-shadow:inset 2px 0 0 var(--copper)}.cabinet-pick span{flex-direction:column;gap:2px;min-width:0;display:flex}.cabinet-pick b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:500;overflow:hidden}.cabinet-pick em{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;line-height:1.2;overflow:hidden}.cabinet-pick strong{color:var(--copper-hi);align-self:start;font-size:10.5px;font-weight:500}.cabinet-pick small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:9.5px;overflow:hidden}.wire-run-list{flex-direction:column;max-height:400px;padding:2px 8px 10px;display:flex;overflow-y:auto}.wire-run{color:var(--ink2);border-radius:5px;align-items:center;gap:7px;padding:4px 6px;font-size:10.5px;display:flex}button.wire-run{width:100%;font-family:var(--mono);text-align:left;cursor:pointer;background:0 0;border:0}.wire-run:hover{background:var(--bg2)}.wr-dot{border:1px solid #ffffff26;border-radius:2px;flex-shrink:0;width:8px;height:8px}.wr-ft{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.wr-len{color:var(--ink3)}.wire-end{border:1px solid var(--line-soft);background:#0a0c0e4d;border-radius:6px;flex-direction:column;gap:3px;padding:8px;display:flex}.wire-end+.wire-end{margin-top:7px}.wire-end span{color:var(--ink3);text-transform:uppercase;font-size:10px}.wire-end b{color:var(--copper-hi);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.wire-end em{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-style:normal;overflow:hidden}.floating-wire-notice{border-radius:var(--r);color:var(--err);background:#e0645614;border:1px solid #e064566b;align-items:flex-start;gap:8px;padding:8px;display:flex}.floating-wire-notice span{flex-direction:column;gap:2px;min-width:0;display:flex}.floating-wire-notice b{color:#f08e82;font-size:10.5px}.floating-wire-notice small{color:var(--ink3);font-size:9.5px;line-height:1.35}.three-wrap{cursor:grab}.three-wrap:active{cursor:grabbing}.three-wrap canvas{display:block}.three-orientation-actions .field-row .btn{flex:1;padding-inline:8px}.sheet-tree{padding-bottom:2px}.sheet-row{min-height:26px;color:var(--ink2);cursor:pointer;-webkit-user-select:none;user-select:none;border-left:2px solid #0000;align-items:center;gap:6px;padding:3px 8px 3px 6px;font-size:11.5px;transition:background .1s,color .1s;display:flex;position:relative}.sheet-row:hover{background:var(--bg2);color:var(--ink)}.sheet-row:focus-visible{outline:1px solid var(--copper);outline-offset:-1px}.sheet-row.on{border-left-color:var(--copper);background:var(--copper-dim);color:var(--ink)}.sheet-row.folder{color:var(--ink);font-weight:550}.sheet-row.folder .icon{color:var(--copper-hi)}.sheet-twisty{color:var(--ink3);transition:transform .12s;display:inline-flex}.sheet-twisty.open{transform:rotate(90deg)}.sheet-idx{color:var(--ink3);flex:none;font-size:9.5px}.sheet-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sheet-count{background:var(--bg3);color:var(--ink3);border-radius:7px;flex:none;padding:0 5px;font-size:9px}.sheet-format{color:var(--ink3);letter-spacing:.04em;flex:none;font-size:8.5px}.sheet-row .sheet-del{opacity:0}.sheet-row:hover .sheet-del{opacity:1}.sheet-del:disabled{display:none}.sheet-rename{border:1px solid var(--copper);border-radius:var(--r);background:var(--bg1);min-width:0;color:var(--ink);font-family:var(--font);flex:1;padding:1px 4px;font-size:11.5px}.sheet-row.drop-before:before,.sheet-row.drop-after:before{content:"";background:var(--copper-hi);height:2px;position:absolute;left:4px;right:4px}.sheet-row.drop-before:before{top:-1px}.sheet-row.drop-after:before{bottom:-1px}.sheet-row.drop-into{background:var(--copper-dim);box-shadow:inset 0 0 0 1px var(--copper)}.sheet-tree-tail{border-radius:var(--r);color:var(--ink3);border:1px dashed #0000;margin:2px 8px 0;padding:5px 6px;font-size:9.5px}.sheet-tree-tail.active{border-color:var(--copper);color:var(--copper-hi)}.pal-search-row{padding:4px 10px 7px}.pal-cats{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:4px;padding:0 10px 8px;display:flex}.pal-chip{border-radius:var(--r);border:1px solid var(--line);min-width:0;height:21px;color:var(--ink3);font-size:10px;font-family:var(--font);cursor:pointer;background:0 0;flex:0 auto;align-items:center;gap:5px;padding:0 7px;transition:all .12s;display:inline-flex}.pal-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pal-chip b{color:var(--ink3);font-size:9px;font-weight:500}.pal-chip:hover{color:var(--ink);background:var(--bg2);border-color:#3a4652}.pal-chip.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.pal-chip.on b{color:var(--copper-hi)}.palette{flex-direction:column;flex:1;min-height:120px;padding:4px 0 8px;display:flex;overflow-y:auto}.pal-cat{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--bg1);z-index:1;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 3px;font-size:9px;font-weight:600;display:flex;position:sticky;top:0}.pal-cat b{letter-spacing:0;color:var(--ink3);font-size:9px;font-weight:500}.pal-card{cursor:pointer;text-align:left;width:100%;min-width:0;color:var(--ink2);background:0 0;border:none;border-left:2px solid #0000;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 12px 4px 10px;transition:background .1s;display:grid}.pal-card:hover{background:var(--bg2);color:var(--ink)}.pal-card.on{border-left-color:var(--copper);background:var(--copper-dim);color:var(--ink)}.pal-card-glyph{border-radius:var(--r);background:var(--well);border:1px solid var(--line-soft);color:#8b98a6;place-items:center;height:34px;display:grid;overflow:hidden}.pal-card-glyph svg{width:100%;height:100%}.pal-card-glyph .sym-text{display:none}.pal-card-glyph.photo{background:#fff;padding:2px}.pal-card-glyph img{object-fit:contain;width:100%;height:100%}.pal-card.on .pal-card-glyph:not(.photo){color:var(--copper-hi)}.pal-card.on .pal-card-glyph{border-color:#d98b4159}.pal-card-body{flex-direction:column;gap:1px;min-width:0;display:flex}.pal-card-top{align-items:center;gap:6px;min-width:0;display:flex}.pal-card-top b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:550;overflow:hidden}.pal-use{border-radius:var(--r);color:var(--copper-hi);border:1px solid #d98b4166;flex:none;margin-left:auto;padding:0 4px;font-size:9px;line-height:14px}.pal-desc{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.3;overflow:hidden}.pal-mount{color:var(--ink3);font-size:9px;font-family:var(--mono);flex:none}.pal-empty{color:var(--ink3);padding:12px;font-size:11px;line-height:1.5}.replacement-picker{flex-direction:column;gap:7px;display:flex}.replacement-current{border:1px solid var(--line-soft);border-left:2px solid var(--copper);border-radius:var(--r);background:linear-gradient(90deg, var(--copper-dim), #080a0c29);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-height:29px;padding:5px 7px;display:grid}.replacement-current span{color:var(--copper-hi);font:600 8px var(--cond);letter-spacing:.12em}.replacement-current b{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.replacement-current em{color:var(--ink3);font-size:9.5px;font-style:normal}.replacement-search{width:100%}.replacement-list{border:1px solid var(--line);border-radius:var(--r);background:var(--well);max-height:326px;overflow-y:auto}.replacement-option{border:0;border-left:2px solid #0000;border-bottom:1px solid var(--line-soft);width:100%;min-width:0;min-height:43px;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:7px;padding:4px 7px 4px 5px;display:grid}.replacement-option:last-child{border-bottom:0}.replacement-option:hover{background:var(--bg2)}.replacement-option.selected{border-left-color:var(--copper);background:var(--copper-dim)}.replacement-glyph{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--canvas);color:#8995a1;place-items:center;width:36px;height:34px;display:grid;overflow:hidden}.replacement-glyph svg{width:100%;height:100%}.replacement-glyph .sym-text{display:none}.replacement-option.selected .replacement-glyph{color:var(--copper-hi);border-color:#d98b4166}.replacement-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.replacement-copy>span{align-items:baseline;gap:6px;min-width:0;display:flex}.replacement-copy b{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.replacement-copy em{color:var(--ink3);text-transform:uppercase;flex:none;font-size:8.5px;font-style:normal}.replacement-copy small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.replacement-score{border-radius:var(--r);min-width:30px;color:var(--ok);text-align:center;border:1px solid #57c79357;padding:3px 4px}.replacement-score b{font-size:10px;font-weight:600}.replacement-score small{color:var(--ink3);font-size:8.5px}.replacement-score.has-float{color:var(--err);border-color:#e0645657}.replacement-preview{border-radius:var(--r);background:#57c79312;border:1px solid #57c79361;flex-direction:column;gap:7px;padding:8px;display:flex}.replacement-preview.warning{background:#e0645612;border-color:#e064566b}.replacement-preview>div{color:var(--ok);align-items:flex-start;gap:7px;display:flex}.replacement-preview.warning>div{color:var(--err)}.replacement-preview>div>span{flex-direction:column;gap:2px;min-width:0;display:flex}.replacement-preview>div b{color:var(--ink);font-size:10.5px;font-weight:600}.replacement-preview>div small{color:var(--ink3);font-size:9.5px;line-height:1.35}.replacement-preview .btn{width:100%;min-width:0;overflow:hidden}.replacement-cancel{color:var(--ink3);font:10px var(--font);cursor:pointer;background:0 0;border:0;align-self:center;padding:2px 8px}.replacement-cancel:hover{color:var(--ink)}.replacement-empty,.replacement-limit{color:var(--ink3);text-align:center;padding:10px;font-size:10px;line-height:1.4}.replacement-limit{padding:0 4px}.dev-list{list-style:none}.dev-list li.on .dev-row{border-left-color:var(--copper);background:var(--copper-dim)}.dev-row{width:100%;min-height:28px;color:var(--ink2);font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:8px;padding:3px 12px 3px 10px;font-size:11px;transition:background .1s;display:flex}.dev-row:hover:not(:disabled){background:var(--bg2);color:var(--ink)}.dev-row:disabled{opacity:.45;cursor:default}.dev-tag-chip{border-radius:var(--r);background:var(--well);border:1px solid var(--line);min-width:38px;color:var(--copper-hi);text-align:center;flex:none;padding:1px 5px;font-size:10px}.dev-mpn{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dev-badges{flex:none;gap:3px;display:flex}.badge{border-radius:var(--r);border:1px solid var(--line);font-size:9px;font-family:var(--mono);color:var(--ink3);background:0 0;padding:1px 4px;line-height:13px}.badge.ok{color:var(--ok);border-color:#57c79366}.badge.add{color:var(--copper-hi);border-color:#d98b4180}.badge.dim{color:var(--ink3)}.cmp-panel{border-bottom:1px solid var(--line)}.cmp-head{align-items:flex-start;gap:8px;padding:2px 0;display:flex}.cmp-head-body{flex-direction:column;gap:1px;min-width:0;display:flex}.cmp-head-body b{color:var(--copper-hi);font-size:12px}.cmp-head-body small{color:var(--ink3);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.cmp-loc{color:var(--ink2);align-items:center;gap:6px;margin-top:6px;font-size:11px;display:flex}.cmp-list{max-height:220px;list-style:none;overflow-y:auto}.cmp-list li.on .cmp-row{border-left-color:var(--copper);background:var(--copper-dim)}.cmp-list li.on .cmp-row .cmp-sub{color:var(--ink)}.cmp-row{width:100%;min-height:26px;color:var(--ink2);font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:7px;padding:3px 10px 3px 8px;font-size:11px;transition:background .1s;display:flex}.cmp-row:hover{background:var(--bg2);color:var(--ink)}.cmp-mark{text-align:center;width:12px;color:var(--ink3);flex:none;font-size:10px}.cmp-row b.mono{color:var(--copper-hi);flex:none}.cmp-sub{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.linked-child-banner{border:1px solid color-mix(in srgb, var(--sel) 42%, var(--line));border-left:3px solid var(--sel);border-radius:var(--r);background:color-mix(in srgb, var(--sel) 9%, var(--well));align-items:center;gap:9px;padding:8px 9px;display:flex}.linked-child-mark{color:var(--sel);font:700 18px/1 var(--mono)}.linked-child-banner>span:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.linked-child-banner b{color:var(--sel);font:700 9px/1.2 var(--mono);letter-spacing:.8px}.linked-child-banner small{color:var(--ink2);font-size:10px;line-height:1.35}.chip{border-radius:var(--r);border:1px solid var(--line);color:var(--ink2);cursor:pointer;background:0 0;padding:3px 9px;font-size:10.5px;transition:all .12s}.chip:hover{color:var(--ink);border-color:#3a4652}.chip.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.cat-chips{flex-wrap:wrap;gap:4px;padding:0 10px 10px;display:flex}.lib-main{background:var(--canvas);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.component-editor-scrim{padding:14px}.component-editor-window{background:var(--bg1);border:1px solid #35404c;border-radius:7px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1420px,100vw - 28px);height:min(900px,100dvh - 102px);min-height:0;animation:.14s cubic-bezier(.2,.85,.3,1) component-editor-in;display:grid;overflow:hidden;box-shadow:0 26px 80px #000000ad}@keyframes component-editor-in{0%{opacity:0;transform:translateY(6px)scale(.994)}}.component-editor-head{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#d98b4114,#0000 36%),linear-gradient(#191e24,#11151a);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:10px 12px 10px 16px;display:flex}:root[data-theme=light] .component-editor-head{background:linear-gradient(90deg, #ad601f14, transparent 36%), linear-gradient(180deg, var(--bg1), var(--bg2))}.component-editor-title{flex-direction:column;gap:4px;min-width:0;display:flex}.component-editor-kicker{color:var(--copper-hi);font:600 9px var(--cond);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:6px;display:flex}.component-editor-title>div:nth-child(2){align-items:baseline;gap:10px;min-width:0;display:flex}.component-editor-title>div:nth-child(2) b{color:var(--ink);font-size:15px;font-weight:600}.component-editor-title>div:nth-child(2) span{min-width:0;color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.component-editor-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.component-editor-meta .badge{align-items:center;gap:4px;display:inline-flex}.component-editor-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.component-editor-content{background:radial-gradient(circle at 12% 8%, #d98b410b, transparent 28%), var(--canvas);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;align-items:start;gap:10px;min-height:0;padding:12px;display:grid;overflow:auto}.component-editor-content>.sect{border:1px solid var(--line);background:var(--bg1);border-radius:6px;min-width:0;overflow:hidden}.component-editor-content>.sect:has(.term-table){grid-column:1/-1}.component-editor-content .sect-head{position:static}.component-editor-content .photo-preview{height:180px;padding:0;position:relative}.component-editor-content .photo-preview img{object-fit:contain;width:calc(100% - 28px);max-width:none;height:calc(100% - 28px);max-height:none;position:absolute;top:14px;left:14px}.component-editor-footer{background:linear-gradient(#15191e,#101317);min-height:52px;margin:0;padding:9px 12px;position:static}.component-editor-footer .spring{flex:1}@media (width<=920px){.component-editor-head{flex-direction:column;align-items:flex-start;gap:9px}.component-editor-actions{justify-content:flex-start;width:100%}.component-editor-content{grid-template-columns:minmax(0,1fr)}.component-editor-content>.sect:has(.term-table){grid-column:auto}}.view-tabs{border-bottom:1px solid var(--line);background:var(--bg1);flex:none;align-items:center;gap:0;padding:0 14px;display:flex}.view-tab{height:40px;color:var(--ink2);font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:color .12s;display:flex}.view-tab:hover{color:var(--ink)}.view-tab.on{color:var(--copper-hi);border-bottom-color:var(--copper)}.view-tab b{border:1px solid var(--line);border-radius:var(--r);color:var(--ink3);font-family:var(--mono);padding:0 5px;font-size:9.5px;font-weight:500;line-height:15px}.view-tab.on b{color:var(--copper-hi);border-color:#d98b4166}.lib-toolbar{border-bottom:1px solid var(--line-soft);background:var(--bg1);flex:none;align-items:center;gap:8px;padding:9px 14px;display:flex}.lib-toolbar .search-box{flex:0 260px}.lib-toolbar .dd{background:var(--well);height:27px;color:var(--ink);border:1px solid var(--line);border-radius:var(--r);font:11px var(--font);cursor:pointer;padding:0 8px}.lib-toolbar .dd:focus{border-color:var(--copper);outline:none}.lib-count{color:var(--ink3);margin-left:auto;font-size:11px}.lib-count b{color:var(--ink2);font-weight:500}.syncing-icon{animation:.85s linear infinite library-sync-spin;display:inline-flex}@keyframes library-sync-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.syncing-icon{animation:none}}.lib-scroll{flex:1;min-height:0;overflow-y:auto}.lib-head,.part-line{grid-template-columns:46px 150px minmax(130px,.7fr) minmax(200px,1.4fr) 120px 140px 76px;align-items:center;gap:12px;padding:0 14px;display:grid}.lib-head{z-index:2;background:var(--canvas);border-bottom:1px solid var(--line);height:28px;color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:600;position:sticky;top:0}.part-line{content-visibility:auto;contain-intrinsic-size:46px;border:none;border-left:2px solid #0000;border-bottom:1px solid var(--line-soft);width:100%;min-height:46px;color:var(--ink2);font:inherit;text-align:left;cursor:pointer;background:0 0;padding-block:4px;transition:background .1s}.part-line:hover{background:var(--bg1);color:var(--ink)}.part-line.on{border-left-color:var(--copper);background:var(--copper-dim);color:var(--ink)}.pl-thumb{border-radius:var(--r);border:1px solid var(--line-soft);color:#9fadbc;background:var(--well);place-items:center;width:42px;height:38px;padding:3px;display:grid;overflow:hidden}.pl-thumb.photo{background:#fff;padding:2px}.pl-thumb img{object-fit:contain;width:100%;height:100%}.pl-thumb svg{width:100%;height:100%}.part-line.on .pl-thumb:not(.photo){color:var(--copper-hi)}.pl-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pl-mpn{flex-direction:column;gap:1px;min-width:0;display:flex}.pl-mpn b{color:var(--ink);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:550;overflow:hidden}.pl-mpn small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.pl-desc{color:var(--ink2);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.3;display:-webkit-box}.pl-dim{color:var(--ink3);font-size:10px}.pl-flags{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}@media (width<=1400px){.lib-head,.part-line{grid-template-columns:46px 150px minmax(120px,.8fr) minmax(180px,1.4fr) 130px 76px}.lib-col-cat{display:none}}.lib-head.enc-head,.part-line.enc-line{grid-template-columns:46px 150px minmax(100px,.6fr) minmax(170px,1.3fr) 104px 104px 96px 96px}.enc-desc{flex-direction:column;gap:1px;min-width:0;display:flex}.enc-desc>span{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.enc-desc small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.part-line.enc-line:hover .enc-desc>span,.part-line.enc-line.on .enc-desc>span{color:var(--ink)}.enc-size{color:var(--ink);font-size:10.5px}.pl-thumb.enc-thumb{padding:4px}@media (width<=1100px){.lib-head.enc-head,.part-line.enc-line{grid-template-columns:46px 130px minmax(140px,1fr) 100px 96px 84px}.lib-head.enc-head>:nth-child(3),.part-line.enc-line>:nth-child(3),.lib-head.enc-head>:nth-child(6),.part-line.enc-line>:nth-child(6){display:none}}.enc-glyph{width:100%;height:100%;display:block;overflow:visible}.enc-g-body{fill:var(--bg3);stroke:var(--ink3);stroke-width:1.2px;vector-effect:non-scaling-stroke}.enc-g-plate{fill:var(--well);stroke:var(--ink3);stroke-width:1px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.enc-g-swing{fill:none;stroke:var(--copper);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.enc-g-seam{stroke:var(--ink2);stroke-width:1.2px;vector-effect:non-scaling-stroke}.enc-g-hinge{fill:var(--ink2)}.enc-g-dims line{stroke:var(--ink3);stroke-width:1px;vector-effect:non-scaling-stroke}.enc-g-dims text{fill:var(--ink2);font-family:var(--mono)}.enc-g-dims text.enc-g-note{fill:var(--ink3);font-size:.85em}.part-line.enc-line.on .enc-g-swing{stroke:var(--copper-hi)}.component-editor-window.enclosure-editor-window{width:min(1180px,100vw - 28px);height:min(860px,100dvh - 102px)}.enc-preview{border:1px solid var(--line-soft);background:var(--canvas);border-radius:6px;height:270px;padding:8px}.component-editor-content>.sect.enc-users-sect{grid-column:1/-1}.enc-users{flex-direction:column;gap:4px;display:flex}.enc-user{border:1px solid var(--line-soft);background:var(--well);color:var(--ink3);border-radius:5px;align-items:center;gap:8px;padding:4px 4px 4px 9px;display:flex}.enc-user b{color:var(--ink);font-size:11.5px;font-weight:550}.enc-user .hint-text{margin-right:auto}.photo-preview{border:1px solid var(--line-soft);background:#fff;border-radius:8px;place-items:center;height:130px;margin-bottom:8px;display:grid;overflow:hidden}.photo-preview img{object-fit:scale-down;object-position:center;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.editor-head{border-bottom:1px solid var(--line);background:var(--bg1);z-index:5;justify-content:space-between;align-items:center;gap:8px;padding:12px;font-size:13px;font-weight:500;display:flex;position:sticky;top:0}.editor-actions{gap:5px;display:flex}.editor-footer{border-top:1px solid var(--line);background:var(--bg1);align-items:center;gap:8px;margin-top:auto;padding:12px;display:flex;position:sticky;bottom:0}.source-list{flex-direction:column;gap:5px;margin:2px 0;display:flex}.source-row{border:1px solid var(--line-soft);background:#0a0c0e47;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:5px 6px;display:grid}.source-file{text-overflow:ellipsis;white-space:nowrap;color:var(--ink2);font-size:10px;overflow:hidden}.source-size{color:var(--ink3);font-size:9px}.step-attach-card{background:linear-gradient(105deg,#4da3ff1c,#e08d3c0e),#0a0c0e38;border:1px solid #4da3ff61;border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.step-attach-card.compact{border-color:var(--line-soft);background:#0a0c0e38}.step-attach-icon{color:#82c1ff;background:#4da3ff1a;border:1px solid #4da3ff61;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.step-attach-card>div{min-width:0}.step-attach-card b{color:var(--ink);font-size:11px;font-weight:600;display:block}.step-attach-card p{color:var(--ink3);margin-top:2px;font-size:9.5px;line-height:1.42}.term-table{flex-direction:column;gap:8px;padding:0 10px 10px;display:flex}.term-scroll{border:1px solid var(--line-soft);border-radius:8px;overflow-x:auto}.term-tbl{border-collapse:collapse;background:#0a0c0e47;width:100%;min-width:760px}.term-tbl thead th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--bg1);border-bottom:1px solid var(--line);white-space:nowrap;cursor:help;padding:6px 6px 5px;font-size:8.5px;font-weight:600;position:sticky;top:0}.term-tbl thead th[aria-label]{cursor:default}.term-tbl tbody td{vertical-align:middle;padding:3px 4px}.term-tbl tbody tr+tr td{border-top:1px solid var(--line-soft)}.term-tbl td.term-rm{text-align:center;width:26px;padding-right:6px}.term-tbl input,.term-tbl .dd{background:var(--bg0);border:1px solid var(--line);height:25px;color:var(--ink);width:100%;font-size:11px;font-family:var(--font);border-radius:5px;padding:0 6px}.term-tbl input.mono{font-family:var(--mono)}.term-tbl input:focus,.term-tbl .dd:focus{border-color:var(--copper);outline:none}.term-add{background:var(--bg1);border:1px dashed var(--line);height:28px;color:var(--ink);font-size:11px;font-family:var(--font);cursor:pointer;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.term-add:hover{border-color:var(--copper);color:var(--copper)}.sym-preview{background:var(--bg0);border:1px solid var(--line);color:#dbe3ec;border-radius:8px;place-items:center;height:150px;padding:8px;display:grid}.sym-preview svg{width:100%;height:100%}.symbol-json{resize:vertical;background:var(--bg0);border:1px solid var(--line);width:100%;min-height:126px;color:var(--ink2);border-radius:7px;padding:8px;font-size:10.5px;line-height:1.45}.symbol-json:focus{border-color:var(--copper);color:var(--ink);outline:none}.component-editor-content>.sect.ai-part-sect{grid-column:1/-1}.component-editor-content>.sect.ai-part-sect.hero{border-color:var(--copper);box-shadow:inset 0 0 0 1px var(--copper-dim)}.ai-part-sect.hero .sect-head h3{color:var(--copper-hi)}.ai-part-body{flex-direction:column;gap:8px;display:flex}.ai-part-steps{color:var(--ink2);flex-direction:column;gap:3px;margin:0;padding-left:18px;font-size:11px;line-height:1.5;display:flex}.ai-part-steps b{color:var(--ink);font-weight:600}.ai-part-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ai-part-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:9px}.ai-part-prompt{min-height:190px}.ai-part-notes{color:var(--ok);flex-direction:column;gap:2px;margin:0;padding-left:16px;font-size:11px;line-height:1.45;display:flex}.wt-editor{max-width:780px;padding:18px}.wt-table{flex-direction:column;gap:4px;margin-top:12px;display:flex}.wt-row{grid-template-columns:1fr 64px 84px 28px 28px 28px;align-items:center;gap:7px;display:grid}.wt-row.head{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:9px}.wt-row input{background:var(--bg1);border:1px solid var(--line);height:27px;color:var(--ink);font-size:12px;font-family:var(--font);border-radius:6px;width:100%;padding:0 8px}.wt-row input.mono{font-family:var(--mono)}.wt-row input:focus{border-color:var(--copper);outline:none}.wt-editor .editor-head{background:0 0;border:none;padding:0 0 4px;position:static}.wt-editor .editor-footer{background:0 0;border:none;padding:14px 0 0;position:static}.modal-scrim{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050709c7;place-items:center;padding:18px;display:grid;position:fixed;inset:47px 0 27px}.modal-shell{border-radius:var(--r-lg);background:var(--bg1);border:1px solid #303946;grid-template-rows:48px 1fr;grid-template-columns:292px 1fr;width:min(1260px,100vw - 36px);height:min(790px,100dvh - 110px);display:grid;overflow:hidden;box-shadow:0 22px 70px #0000009e}.modal-head{border-bottom:1px solid var(--line);background:linear-gradient(#171c22,#11151a);grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;padding:0 12px 0 16px;display:flex}.modal-head>div:first-child{align-items:baseline;gap:12px;min-width:0;display:flex}.modal-head b{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--copper-hi);font-size:14px}.modal-head span{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.modal-actions{align-items:center;gap:6px;display:flex}.modal-rail{border-right:1px solid var(--line);background:var(--bg1);flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.modal-panel{border:1px solid var(--line-soft);background:#0a0c0e47;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.modal-panel.grow{flex:1;min-height:0}.mini-title{letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-size:9px}.modal-field{flex-direction:column;gap:4px;display:flex}.modal-field span,.micro-grid label span,.micro-grid>div>span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:8.5px}.modal-field input,.modal-field .dd,.micro-grid input,.micro-grid .dd{background:var(--bg0);border:1px solid var(--line);height:27px;color:var(--ink);border-radius:6px;width:100%;padding:0 7px;font-size:11px}.modal-field input:focus,.modal-field .dd:focus,.micro-grid input:focus,.micro-grid .dd:focus{border-color:var(--copper);outline:none}.micro-grid{gap:6px;display:grid}.micro-grid.two{grid-template-columns:1fr 1fr}.micro-grid.three{grid-template-columns:repeat(3,1fr)}.micro-grid label,.micro-grid>div{flex-direction:column;gap:4px;min-width:0;display:flex}.pin-mode-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.pin-mode-btn,.pin-opacity-btn{border:1px solid var(--line);background:var(--bg2);height:29px;color:var(--ink2);font-family:var(--font);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:5px;font-size:10.5px;display:inline-flex}.pin-mode-btn:hover,.pin-opacity-btn:hover{color:var(--ink);border-color:#3a4652}.pin-mode-btn.on,.pin-opacity-btn.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.pin-view-row{grid-template-columns:1fr 62px;align-items:end;gap:6px;display:grid}.pin-opacity-btn{height:27px;font-family:var(--mono)}.mounting-guide{gap:10px}.mounting-direction-card{background:linear-gradient(90deg,#4da3ff17,#f2a9591a);border:1px solid #f2a95970;border-radius:7px;padding:9px}.mounting-direction-card>div{font:600 8px var(--cond);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:auto minmax(24px,1fr) auto;align-items:center;gap:7px;display:grid}.mounting-direction-card span{color:#8bceff}.mounting-direction-card b{color:#f2a959}.mounting-direction-card i,.mounting-outside-hud i{background:linear-gradient(90deg,#4da3ff,#f2a959);height:2px;position:relative}.mounting-direction-card i:after,.mounting-outside-hud i:after{content:"";border-top:2px solid #f2a959;border-right:2px solid #f2a959;width:7px;height:7px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)rotate(45deg)}.mounting-direction-card p{color:var(--ink2);margin-top:7px;font-size:9.5px;line-height:1.45}.mounting-direction-card p b{color:var(--copper-hi)}.mounting-step{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;display:grid}.mounting-step>span{border:1px solid var(--copper);background:var(--copper-dim);width:24px;height:24px;color:var(--copper-hi);font:600 10px var(--mono);border-radius:50%;place-items:center;display:grid}.mounting-step b{color:var(--ink);font-size:11px;font-weight:600;display:block}.mounting-step p{color:var(--ink3);margin-top:2px;font-size:9.5px;line-height:1.42}.mounting-primary-action,.mounting-turn-grid button{border:1px solid var(--line);background:var(--bg2);min-height:31px;color:var(--ink2);font:10px var(--font);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.mounting-primary-action{color:#a9d6ff;background:#4da3ff1a;border-color:#4da3ff85}.mounting-primary-action:disabled{cursor:wait;opacity:.5}.mounting-primary-action:hover,.mounting-turn-grid button:hover{border-color:var(--copper);color:var(--ink)}.mounting-turn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.mounting-turn-grid button:disabled{cursor:wait;opacity:.5}.mounting-rotation-notice{border-left:2px solid var(--copper);background:var(--copper-dim);min-height:26px;color:var(--ink2);font:9px var(--mono);align-items:center;padding:6px 8px;display:flex}.mounting-range{flex-direction:column;gap:5px;display:flex}.mounting-range>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.mounting-range b{color:var(--ink2);font-size:9.5px;font-weight:500}.mounting-range output{color:#8bceff;font:9px var(--mono)}.mounting-range input{width:100%;accent-color:var(--copper);cursor:ew-resize}.mounting-confirm{color:#9bcbb5;background:#57c7930f;border:1px solid #57c79347;border-radius:6px;align-items:flex-start;gap:6px;margin-top:auto;padding:8px;font-size:9.5px;line-height:1.42;display:flex}.mounting-confirm .icon{color:var(--ok);flex:none;margin-top:1px}.pin-align-assistant{background:linear-gradient(145deg,#4da3ff14,#0a0c0e42);border-color:#4da3ff52}.pin-align-assistant>p{color:var(--ink3);font-size:9.5px;line-height:1.45}.pin-align-flow{grid-template-columns:auto minmax(8px,1fr) auto minmax(8px,1fr) auto;align-items:center;gap:5px;display:grid}.pin-align-flow span{color:var(--ink3);font:8px var(--cond);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.pin-align-flow span.done{color:var(--ok)}.pin-align-flow b{width:16px;height:16px;font:600 8px var(--mono);border:1px solid;border-radius:50%;place-items:center;display:grid}.pin-align-flow i{background:linear-gradient(90deg, var(--ok), var(--line));height:1px}.pin-align-actions{grid-template-columns:1fr 1fr;gap:5px;display:grid}.pin-align-actions button{border:1px solid var(--line);background:var(--bg2);min-height:29px;color:var(--ink2);font:9.5px var(--font);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:5px;display:inline-flex}.pin-align-actions button:hover:not(:disabled){border-color:var(--copper);color:var(--ink)}.pin-align-actions button:disabled{opacity:.42;cursor:wait}.pin-align-actions .pin-align-primary{color:#a9d6ff;background:#4da3ff1f;border-color:#4da3ff94;grid-column:1/-1;min-height:33px;font-weight:600}.pin-align-notice{background:#57c79312;border:1px solid #57c79347;border-radius:6px;align-items:flex-start;gap:5px;padding:6px 7px;display:flex;color:#a8d7c0!important}.pin-align-notice.warn{background:#e5b45414;border-color:#e5b45457;color:#e5c783!important}.pin-align-notice .icon{flex:none;margin-top:1px}.tool-strip{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.tool-square{border:1px solid var(--line);background:var(--bg2);height:32px;color:var(--ink2);cursor:pointer;border-radius:7px;place-items:center;display:grid}.tool-square:hover{color:var(--ink);border-color:#3a4652}.tool-square.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.terminal-pick-list{flex-direction:column;gap:5px;min-height:0;display:flex;overflow-y:auto}.terminal-pick{border:1px solid var(--line-soft);background:var(--bg0);min-height:31px;color:var(--ink2);cursor:pointer;text-align:left;border-radius:7px;align-items:center;gap:8px;padding:5px 7px;display:flex}.terminal-pick:hover{color:var(--ink);border-color:#3a4652}.terminal-pick.on{border-color:var(--copper);color:var(--copper-hi);background:var(--copper-dim)}.terminal-pick span{min-width:42px;font-size:11px}.terminal-pick i{color:var(--ink3);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-style:normal;overflow:hidden}.symbol-stage,.pin3d-stage{background:radial-gradient(900px 360px at 50% 0%, #e08d3c0f, transparent 62%), var(--canvas);min-width:0;min-height:0}.symbol-stage{touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.symbol-stage.panning{cursor:grabbing!important}.sym-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.sym-canvas *{pointer-events:none}.sym-frame{fill:#e08d3c09;stroke:#435161}.sym-axis{stroke:#4d5c6d}.sym-shape{color:#dbe3ec;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.sym-shape.hot{color:#9fd0ff}.sym-shape.on{color:var(--copper-hi);filter:drop-shadow(0 0 4px #e08d3c80)}.sym-shape-text{fill:#dbe3ec;font-family:var(--mono)}.sym-shape-text.dim{fill:#93a1b0}.sym-shape-text.hot{fill:#9fd0ff}.sym-shape-text.on{fill:var(--copper-hi)}.sym-pin circle{fill:#4da3ff29;stroke:var(--sel)}.sym-pin .sym-pin-core{fill:var(--sel);stroke:none}.sym-pin .sym-pin-lead{stroke:var(--sel);opacity:.65}.sym-pin text{fill:#9fc7f2;font-family:var(--mono);paint-order:stroke;stroke:var(--canvas);stroke-linejoin:round}.sym-pin.hot circle{fill:#4da3ff4d}.sym-pin.on circle{fill:var(--copper-dim);stroke:var(--copper-hi)}.sym-pin.on .sym-pin-core{fill:var(--copper-hi)}.sym-pin.on .sym-pin-lead{stroke:var(--copper-hi)}.sym-pin.on text{fill:var(--copper-hi)}.sym-selbox{fill:none;stroke:var(--copper);opacity:.75}.sym-handle{fill:var(--copper-hi);stroke:#11161b}.sym-guide{stroke:var(--net-focus);opacity:.9}.sym-marquee{fill:#4da3ff1a;stroke:var(--sel)}.sym-preview{fill:none;stroke:var(--copper-hi);stroke-width:1.6px;opacity:.85;stroke-linecap:round}.sym-preview-dot{fill:var(--copper-hi)}.sym-hud{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101316eb;border-radius:8px;align-items:center;gap:3px;padding:4px;display:flex;position:absolute;box-shadow:0 8px 24px #00000073}.sym-hud.left{top:10px;left:10px}.sym-hud.top{top:48px;left:10px}.hud-btn{min-width:26px;height:26px;color:var(--ink2);font-family:var(--mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0 5px;font-size:10.5px;display:grid}.hud-btn:hover{color:var(--ink);background:var(--bg2);border-color:var(--line)}.hud-btn.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.hud-btn.wide{min-width:46px}.hud-sep{background:var(--line);width:1px;height:18px;margin:0 2px}.hud-label{color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;padding:0 2px 0 4px;font-size:8.5px}.sym-hud .dd{min-width:68px;height:26px;font-size:10.5px}.sym-status{z-index:3;border-top:1px solid var(--line-soft);height:24px;color:var(--ink3);background:#0b0e11e6;align-items:center;gap:8px;padding:0 10px;font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.sym-status .spring{flex:1}.sym-status .dot{background:var(--line);border-radius:50%;width:3px;height:3px}.sym-status .mono{color:var(--ink2)}.sym-hint{color:var(--ink3);opacity:.85;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sym-text-edit{z-index:4;border:1px solid var(--copper);background:var(--bg0);min-width:90px;color:var(--ink);font-family:var(--mono);border-radius:4px;outline:none;padding:2px 6px;position:absolute}.symbol-modal{grid-template-columns:248px 1fr 268px;width:min(1520px,100vw - 36px);height:min(900px,100dvh - 96px)}.symbol-modal .modal-rail.right{border-right:none;border-left:1px solid var(--line)}.modal-head-sep{background:var(--line);width:1px;height:18px;margin:0 4px}.tb-btn.labeled{border-color:var(--line);background:var(--bg2);justify-content:flex-start}.tb-btn.labeled.danger:hover{color:var(--err);border-color:var(--err)}.sym-btn-row{grid-template-columns:1fr 1fr;gap:5px;display:grid}.sym-btn-row .tb-btn{justify-content:center;padding:0 6px}.sym-count{color:var(--ink3);text-transform:none;letter-spacing:0;font-size:9.5px}.sym-search{border:1px solid var(--line);background:var(--bg0);height:26px;color:var(--ink3);border-radius:6px;align-items:center;gap:6px;padding:0 7px;display:flex}.sym-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:11px}.sym-pitch-row{grid-template-columns:74px 1fr;align-items:end;gap:5px;display:grid}.sym-pitch-row label{flex-direction:column;gap:4px;display:flex}.sym-pitch-row label span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:8.5px}.sym-pitch-row .tb-btn{justify-content:center}.sym-kbd-list{flex-direction:column;gap:5px;display:flex}.sym-kbd-list>div{align-items:center;gap:4px;display:flex}.sym-kbd-list i{color:var(--ink3);margin-left:4px;font-size:10px;font-style:normal}.sym-kbd-list kbd{border:1px solid var(--line);background:var(--bg2);min-width:20px;color:var(--ink2);font-family:var(--mono);text-align:center;border-radius:4px;padding:1px 5px;font-size:9.5px}.terminal-pick.ghost{opacity:.72;border-style:dashed}.terminal-pick.ghost:hover{opacity:1}.symbol-check{min-height:27px;color:var(--ink2);cursor:pointer;align-items:center;gap:6px;font-size:10px;display:flex}.micro-grid label.symbol-check{flex-direction:row}.symbol-check>span{color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;font-size:8.5px}.symbol-check i{color:var(--ink2);align-items:center;gap:5px;font-style:normal;display:flex}.symbol-check input{width:13px;height:13px;accent-color:var(--copper);flex:none}.shape-point-list{flex-direction:column;gap:4px;max-height:168px;display:flex;overflow-y:auto}.shape-point-row{grid-template-columns:22px 1fr 1fr 22px;align-items:center;gap:5px;display:grid}.shape-point-row>span{color:var(--ink3);font-size:9px}.shape-point-row label{grid-template-columns:9px 1fr;align-items:center;gap:3px;min-width:0;display:grid}.shape-point-row label i{color:var(--ink3);font-size:8px;font-style:normal}.shape-point-row input{border:1px solid var(--line);background:var(--bg0);width:100%;min-width:0;height:24px;color:var(--ink);border-radius:5px;padding:0 5px;font-size:10.5px}.shape-point-row button{border:1px solid var(--line);width:22px;height:22px;color:var(--ink3);cursor:pointer;background:0 0;border-radius:5px;place-items:center;padding:0;display:grid}.shape-point-row button:hover:not(:disabled){color:var(--err);border-color:var(--err)}.shape-point-row button:disabled{opacity:.3;cursor:default}.symbol-editor-hint{color:var(--ink3);margin:0;font-size:9.5px;line-height:1.5}.pin3d-stage{cursor:crosshair;position:relative}.pin3d-stage[data-mode=move]{cursor:move}.pin3d-stage[data-mode=orbit]{cursor:grab}.pin3d-stage[data-mode=orbit]:active{cursor:grabbing}.pin3d-stage canvas{width:100%;height:100%;display:block}.mounting-outside-hud{z-index:2;color:#8bceff;width:min(560px,100% - 28px);font:600 9px var(--cond);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0d10e0;border:1px solid #f2a9597a;border-radius:7px;grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:11px;padding:8px 11px;display:grid;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0000006b}.mounting-outside-hud b{color:#f2a959;font:inherit}.pin-align-hud{z-index:2;color:#9ba8b5;min-height:34px;font:9px var(--mono);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0d10db;border:1px solid #4da3ff52;border-radius:7px;align-items:center;gap:14px;padding:7px 10px;display:flex;position:absolute;bottom:14px;left:14px;right:14px;box-shadow:0 7px 22px #00000057}.pin-align-hud span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.pin-align-hud b{color:#cad3dc;font:500 9px var(--font);margin-left:auto}.pin-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.pin-dot.blue{background:#4da3ff;box-shadow:0 0 0 3px #4da3ff2e}.pin-line{width:13px;height:2px;display:inline-block}.pin-line.green{background:#57c793}.pin-form{border-color:#e08d3c47}.workspace.reports{background:var(--canvas)}.reports-scroll{flex-direction:column;flex:1;gap:4px;min-width:0;padding:18px 22px 40px;scroll-padding-top:12px;display:flex;overflow-y:auto}.reports-scroll>div[data-rep-sect]{width:100%;max-width:1160px;margin:0 auto;scroll-margin-top:12px}.reports-scroll .sect{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);margin-bottom:12px;overflow:hidden}.reports-scroll .sect-head{background:var(--bg1);padding:12px 14px 10px}.rep-nav{border-right:1px solid var(--line);background:var(--bg1);flex-direction:column;flex:none;gap:1px;width:198px;padding:14px 8px;display:flex;overflow-y:auto}.rep-nav-head{letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);padding:0 10px 8px;font-size:9.5px;font-weight:600}.rep-nav-item{color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;transition:background .12s,color .12s;display:flex}.rep-nav-item:hover{background:var(--bg2);color:var(--ink)}.rep-nav-item.on{background:var(--copper-dim);color:var(--copper-hi)}.rep-nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.rep-nav-count{color:var(--ink3);font-size:10px}.rep-nav-item.on .rep-nav-count{color:var(--copper)}.rep-dot{border-radius:50%;flex:none;width:7px;height:7px}.rep-dot.ok{background:var(--ok)}.rep-dot.warn{background:var(--warn)}.rep-dot.err{background:var(--err)}.rep-hero{align-items:center;gap:14px;width:100%;max-width:1160px;margin:0 auto 14px;display:flex}.rep-hero-main{flex:1;min-width:0}.rep-hero-main h2{font-family:var(--cond);letter-spacing:.02em;font-size:21px;font-weight:600}.rep-hero-sub{color:var(--ink3);margin-top:3px;font-size:12px}.rep-health{cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font);background:0 0;border:1px solid;border-radius:9px;align-items:center;gap:8px;padding:9px 14px;transition:filter .12s;display:flex}.rep-health:hover{filter:brightness(1.18)}.rep-health.ok{color:var(--ok);background:#57c79312;border-color:#57c79359}.rep-health.warn{color:var(--warn);background:#e5b45412;border-color:#e5b45459}.rep-health.err{color:var(--err);background:#e0645614;border-color:#e0645666}.rep-exports{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;width:100%;max-width:1160px;margin:0 auto 16px;display:grid}.rep-export-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);align-items:stretch;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.rep-export-card:hover{border-color:#e08d3c73}.rep-export-hit{cursor:pointer;min-width:0;color:var(--ink);text-align:left;font-family:var(--font);background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:12px;display:flex}.rep-export-icon{width:36px;height:36px;color:var(--copper);background:var(--copper-dim);border-radius:9px;flex:none;place-items:center;display:grid}.rep-export-body{flex-direction:column;gap:2px;min-width:0;display:flex}.rep-export-body b{font-size:12.5px;font-weight:600}.rep-export-body span{color:var(--ink3);font-size:11px;line-height:1.35}.rep-export-formats{flex-direction:column;justify-content:center;gap:4px;padding:8px 10px 8px 0;display:flex}.rep-fmt{border:1px solid var(--line);background:var(--bg3);color:var(--ink2);letter-spacing:.08em;cursor:pointer;border-radius:6px;padding:3px 8px;font-size:9.5px;transition:all .12s}.rep-fmt:hover{color:var(--copper-hi);background:var(--copper-dim);border-color:#e08d3c80}.rep-fmt:disabled{opacity:.4;cursor:default}.rep-fmt:disabled:hover{color:var(--ink2);border-color:var(--line);background:var(--bg3)}.rep-pinfilter{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(180px,240px) minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px 14px 14px;display:grid}.rep-pinfilter-field{flex-direction:column;gap:5px;min-width:0;display:flex}.rep-pinfilter-field>span,.rep-pinfilter-head>span:first-child{color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.rep-pinfilter-parts{flex-direction:column;gap:5px;min-width:0;display:flex}.rep-pinfilter-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.rep-pinfilter-acts{gap:5px;display:flex}.rep-pinfilter-list{border:1px solid var(--line);border-radius:var(--r);background:var(--bg1);max-height:168px;padding:4px 0;overflow-y:auto}.rep-pinfilter-list .check-row{gap:9px;padding:4px 10px}.rep-pinfilter-list .check-row:hover{background:var(--bg2);color:var(--ink)}.rep-pinfilter-list .check-row>.dim{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.rep-pinfilter-count{color:var(--ink3);white-space:nowrap;font-size:10px}.rep-pinfilter-summary{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;padding-top:14px;display:flex}.rep-pinfilter-summary b{color:var(--copper-hi);font-size:19px;font-weight:500}.rep-pinfilter-summary span{color:var(--ink3);font-size:10px}@media (width<=1000px){.rep-pinfilter{grid-template-columns:1fr}.rep-pinfilter-summary{align-items:flex-start;padding-top:0}}.rep-allclear{color:var(--ok);align-items:center;gap:9px;padding:16px 14px;font-size:12.5px;display:flex}.rep-issue-link{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.rep-issue-link:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.rep-subtable{border-top:1px solid var(--line-soft);padding:4px 14px 12px}.rep-subtable-title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding:10px 0 4px;font-size:9.5px;font-weight:600}.rep-cards{grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:10px;width:100%;max-width:1160px;margin:0 auto 16px;display:grid}.rep-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);flex-direction:column;gap:3px;padding:13px 15px;display:flex}.rep-card b{color:var(--copper-hi);font-size:21px;font-weight:500}.rep-card span{letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-size:10px}.rep-table{border-collapse:collapse;width:100%;font-size:12px}.rep-table.half{max-width:480px}.rep-table th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--line);padding:8px 14px;font-size:9.5px;font-weight:600}.rep-table td{border-bottom:1px solid var(--line-soft);color:var(--ink2);padding:7px 14px}.rep-table tr:hover td{color:var(--ink);background:#ffffff04}.rep-table .r{text-align:right}.rep-table .dim{color:var(--ink3)}.rep-table .ok{color:var(--ok)}.rep-table .warn{color:var(--warn)}.rep-table .center{text-align:center;padding:20px}.rep-transit-report{background:var(--bg1)}.rep-transit-toolbar{border-bottom:1px solid var(--line);background:linear-gradient(100deg, var(--bg2), var(--bg1) 64%);justify-content:space-between;align-items:center;gap:24px;min-height:67px;padding:11px 14px;display:flex}.rep-transit-toolbar>div:first-child,.rep-transit-schedule-head>div:first-child{min-width:0}.rep-transit-eyebrow{color:var(--copper-hi);font-family:var(--cond);letter-spacing:.15em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.2;display:block}.rep-transit-toolbar p,.rep-transit-schedule-head p{color:var(--ink3);margin-top:4px;font-size:11px;line-height:1.35}.rep-transit-toggle{border:1px solid var(--line);background:var(--well);border-radius:7px;flex:none;align-items:center;gap:3px;padding:3px;display:flex}.rep-transit-toggle button{min-height:30px;color:var(--ink3);cursor:pointer;font-family:var(--font);background:0 0;border:none;border-radius:5px;align-items:center;gap:6px;padding:0 10px;font-size:11px;transition:color .14s,background .14s,box-shadow .14s;display:flex}.rep-transit-toggle button:hover{color:var(--ink)}.rep-transit-toggle button.on{color:var(--copper-hi);background:var(--copper-dim);box-shadow:inset 0 0 0 1px #d98b4138}.rep-transit-toggle button b{opacity:.72;border-left:1px solid;min-width:19px;padding-left:6px;font-size:9px;font-weight:500}.rep-transit-canvas{border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 50%, #4da3ff0e, transparent 46%), var(--well);height:clamp(440px,58vh,760px);position:relative;overflow:hidden}.rep-transit-canvas:before,.rep-transit-canvas:after{z-index:1;color:var(--ink3);font-family:var(--mono);letter-spacing:.13em;pointer-events:none;font-size:8px;position:absolute;top:14px}.rep-transit-canvas:before{content:"TRANSIT MAP / NOT TO SCALE";left:15px}.rep-transit-canvas:after{content:"SITE COORDINATES";right:15px}.rep-transit-canvas>svg{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.rep-transit-canvas>svg:active{cursor:grabbing}.rep-transit-grid-minor{stroke:color-mix(in srgb, var(--grid-dot) 42%, transparent);stroke-width:.6px}.rep-transit-grid-major{stroke:color-mix(in srgb, var(--line) 55%, transparent);stroke-width:.75px}.rep-transit-zoom{z-index:2;border:1px solid var(--line-soft);background:color-mix(in srgb, var(--well) 88%, transparent);border-radius:5px;flex-direction:column;gap:1px;display:flex;position:absolute;bottom:11px;left:13px;overflow:hidden;box-shadow:0 2px 8px #00000047}.rep-transit-zoom button{background:var(--bg2);width:26px;height:26px;color:var(--ink2);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.rep-transit-zoom button:hover{background:var(--bg3);color:var(--ink)}.rep-transit-zoom button:active{color:var(--copper-hi)}.rep-transit-edges>g{cursor:pointer;outline:none}.rep-transit-hit{fill:none;stroke:#0000;stroke-width:16px;stroke-linejoin:round;pointer-events:stroke}.rep-transit-edge-halo{fill:none;stroke:var(--well);stroke-width:calc(6px / var(--edge-zoom,1));stroke-linejoin:round;pointer-events:none}.rep-transit-edge{fill:none;stroke-width:calc(2px / var(--edge-zoom,1));stroke-linecap:round;stroke-linejoin:round;opacity:.78;pointer-events:none;transition:opacity .13s}.rep-transit-edges.cables .rep-transit-edge{stroke-width:calc(3.2px / var(--edge-zoom,1))}.rep-transit-edges.has-selection .rep-transit-edge{opacity:.24}.rep-transit-edges.has-selection .rep-transit-edge-halo{opacity:.5}.rep-transit-edges>g:hover .rep-transit-edge,.rep-transit-edges>g:focus .rep-transit-edge{opacity:1;stroke-width:calc(3.5px / var(--edge-zoom,1))}.rep-transit-edges.cables>g:hover .rep-transit-edge,.rep-transit-edges.cables>g:focus .rep-transit-edge{stroke-width:calc(5px / var(--edge-zoom,1))}.rep-transit-edges>g.selected .rep-transit-edge{opacity:1;stroke-width:calc(4px / var(--edge-zoom,1));filter:url(#transit-glow)}.rep-transit-edges.cables>g.selected .rep-transit-edge{stroke-width:calc(5.5px / var(--edge-zoom,1))}.rep-transit-edge-labels{pointer-events:none}.rep-transit-edge-label text{fill:var(--ink2);font-family:var(--mono);paint-order:stroke;stroke:var(--well);stroke-width:3px;stroke-linejoin:round;font-size:9px}.rep-transit-edge-label.hot text{fill:var(--ink)}.rep-transit-node-shadow{fill:#000;opacity:.3;transform:translateY(5px)}.rep-transit-node-body{fill:var(--bg2);stroke:#3d4954;stroke-width:1.2px}.rep-transit-node-tab{fill:#4a5661}.rep-transit-nodes .field .rep-transit-node-body{fill:color-mix(in srgb, var(--ok) 6%, var(--bg2));stroke:color-mix(in srgb, var(--ok) 42%, var(--line));stroke-dasharray:5 3.5}.rep-transit-nodes .field .rep-transit-node-tab{fill:color-mix(in srgb, var(--ok) 72%, var(--line))}.rep-transit-nodes .hub .rep-transit-node-body,.rep-transit-nodes .focused .rep-transit-node-body{fill:color-mix(in srgb, var(--copper) 10%, var(--bg2));stroke:var(--copper);stroke-width:1.7px;stroke-dasharray:none}.rep-transit-nodes .hub .rep-transit-node-tab,.rep-transit-nodes .focused .rep-transit-node-tab,.rep-transit-nodes .hub .rep-transit-node-kind{fill:var(--copper-hi)}.rep-transit-node-port{fill:var(--sel);stroke:var(--well);stroke-width:1.4px}.rep-transit-node-kind{fill:var(--ink3);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:7.5px}.rep-transit-node-name{fill:var(--ink);font-family:var(--cond);letter-spacing:.02em;font-weight:600}.rep-transit-node-count{fill:var(--ink3);font-family:var(--mono);letter-spacing:.06em;font-size:7.5px}.rep-transit-nodes .hub .rep-transit-node-count{fill:var(--copper-hi)}.rep-transit-legend{z-index:2;border:1px solid var(--line-soft);background:color-mix(in srgb, var(--well) 88%, transparent);color:var(--ink3);letter-spacing:.04em;pointer-events:none;border-radius:4px;align-items:center;gap:13px;padding:5px 8px;font-size:8.5px;display:flex;position:absolute;bottom:11px;right:13px}.rep-transit-legend span{align-items:center;gap:5px;display:flex}.rep-transit-legend i{border-top:2px solid;width:18px;display:inline-block}.rep-transit-legend i.wire-colour{background:linear-gradient(90deg,#5b5b5b,#d98b41,#4f8fd6,#5aa469);border:0;border-radius:2px;height:3px}.rep-transit-legend i.field{border:1px dashed color-mix(in srgb, var(--ok) 62%, var(--line));background:color-mix(in srgb, var(--ok) 14%, var(--bg2));border-radius:2px;width:12px;height:9px}.rep-transit-detail{border-bottom:1px solid var(--line);background:var(--bg1)}.rep-transit-detail-head{background:linear-gradient(105deg,#d98b4113,#0000 45%);justify-content:space-between;align-items:stretch;gap:18px;padding:15px 14px 13px;display:flex}.rep-transit-detail-title{flex:1;min-width:220px}.rep-transit-kicker{color:var(--ink3);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px;font-size:8px;display:block}.rep-transit-detail-title h4{color:var(--ink);font-family:var(--cond);letter-spacing:.025em;align-items:center;gap:8px;font-size:20px;font-weight:600;display:flex}.rep-transit-detail-title p{color:var(--ink3);margin-top:3px;font-size:11px}.rep-transit-detail-title p span{color:var(--copper);margin:0 3px}.rep-transit-metrics{border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(4,minmax(100px,1fr));align-items:stretch;display:grid;overflow:hidden}.rep-transit-metrics>span{border-left:1px solid var(--line-soft);flex-direction:column;justify-content:center;gap:2px;min-width:105px;padding:8px 10px;display:flex}.rep-transit-metrics>span:first-child{border-left:none}.rep-transit-metrics b{color:var(--ink2);font-size:12px;font-weight:500}.rep-transit-metrics b.spare{color:var(--ok)}.rep-transit-metrics b.missing{color:var(--warn)}.rep-transit-metrics small{color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;font-size:8px}.rep-transit-swatch{--wire-color:#87919b;--stripe-color:#87919b;border:1px solid color-mix(in srgb, var(--wire-color) 60%, var(--line));background:var(--wire-color);vertical-align:-1px;border-radius:4px;flex:none;width:14px;height:8px;margin-right:7px;display:inline-block;position:relative;overflow:hidden}.rep-transit-swatch>span{background:var(--stripe-color);height:2px;position:absolute;inset:3px -1px auto;transform:rotate(-22deg)scaleX(1.25)}.rep-entry-plan{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--bg2);flex-wrap:wrap;align-items:center;gap:6px;min-height:39px;padding:7px 14px;display:flex}.rep-entry-plan-label{color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;margin-right:5px;font-size:8.5px;font-weight:600}.rep-entry-chip{border:1px solid;border-radius:4px;align-items:center;gap:5px;padding:4px 7px;font-size:9.5px;display:inline-flex}.rep-entry-chip b{font-weight:600}.rep-entry-chip.assigned{border-color:color-mix(in srgb, var(--ok) 38%, transparent);background:color-mix(in srgb, var(--ok) 8%, transparent);color:var(--ok)}.rep-entry-chip.missing{border-color:color-mix(in srgb, var(--warn) 42%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent);color:var(--warn)}.rep-core-table td:first-child{white-space:nowrap}.rep-core-spare td{background:color-mix(in srgb, var(--ok) 3%, transparent)}.rep-core-status{min-width:50px;font-family:var(--mono);letter-spacing:.08em;text-align:center;text-transform:uppercase;border:1px solid;border-radius:3px;padding:2px 5px;font-size:8px;display:inline-block}.rep-core-status.used{border-color:color-mix(in srgb, var(--sel) 42%, transparent);color:var(--sel)}.rep-core-status.spare{border-color:color-mix(in srgb, var(--ok) 42%, transparent);color:var(--ok)}.rep-core-status.unmapped{border-color:color-mix(in srgb, var(--warn) 42%, transparent);color:var(--warn)}.rep-transit-schedule{background:var(--bg1)}.rep-transit-schedule-head{justify-content:space-between;align-items:center;gap:16px;padding:13px 14px 10px;display:flex}.rep-transit-schedule-total{color:var(--ink3);flex:none;align-items:baseline;gap:6px;display:flex}.rep-transit-schedule-total b{color:var(--copper-hi);font-size:18px;font-weight:500}.rep-transit-schedule-total span{letter-spacing:.08em;text-transform:uppercase;font-size:9px}.rep-transit-stockbar{flex-wrap:wrap;gap:5px;padding:0 14px 11px;display:flex}.rep-transit-stockbar>span{border:1px solid var(--line);background:var(--bg2);color:var(--ink2);border-radius:4px;align-items:baseline;gap:5px;padding:4px 7px;font-size:9.5px;display:inline-flex}.rep-transit-stockbar b{color:var(--copper-hi);font-weight:500}.rep-transit-stockbar small{color:var(--ink3);font-size:8px}.rep-transit-table-wrap{border-top:1px solid var(--line);overflow-x:auto}.rep-transit-table{min-width:1080px}.rep-transit-table tr.selected td{background:var(--copper-dim)}.rep-run-link{color:var(--copper-hi);cursor:pointer;font-size:inherit;background:0 0;border:none;border-bottom:1px solid #0000}.rep-run-link:hover{border-color:currentColor}.rep-run-kind{min-width:25px;font-family:var(--mono);text-align:center;border:1px solid;border-radius:3px;margin-right:7px;padding:1px 4px;font-size:8px;display:inline-block}.rep-run-kind.multicore{border-color:color-mix(in srgb, var(--copper) 55%, transparent);color:var(--copper-hi)}.rep-run-kind.wire{border-color:color-mix(in srgb, var(--sel) 45%, transparent);color:var(--sel)}.rep-transit-empty{background-image:radial-gradient(var(--grid-dot) .7px, transparent .7px);min-height:240px;color:var(--ink3);text-align:center;background-size:18px 18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:30px;display:flex}.rep-transit-empty-icon{border:1px dashed var(--line);width:48px;height:48px;color:var(--copper);border-radius:50%;place-items:center;display:grid}.rep-transit-empty b{color:var(--ink2);font-size:13px;font-weight:500}.rep-transit-empty>span:last-child{max-width:430px;font-size:10.5px;line-height:1.5}.workspace.topology{background:var(--canvas);flex-direction:column}.topology-head{border-bottom:1px solid var(--line);background:linear-gradient(100deg, var(--bg2), var(--bg1) 64%);flex:none;justify-content:space-between;align-items:flex-end;gap:24px;padding:11px 16px;display:flex}.topology-title{min-width:0}.topology-title p{color:var(--ink3);margin-top:4px;font-size:11px;line-height:1.35}.topology-head .report-scope-select{flex:none}.topology-canvas{cursor:grab;background:radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--sel) 6%, transparent), transparent 46%), var(--well)}.topology-canvas.panning{cursor:grabbing}.topo-grid-fill{pointer-events:none}.topology-detail{z-index:6;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);width:fit-content;max-width:min(560px,46%);height:fit-content;max-height:64%;position:absolute;bottom:12px;right:12px;overflow:auto;box-shadow:0 10px 30px #00000061}.topology-detail .rep-transit-detail{border-bottom:none}.topology-canvas .rep-transit-legend{left:13px;right:auto}.topology-empty{background-image:radial-gradient(var(--grid-dot) .7px, transparent .7px);color:var(--ink3);text-align:center;background-size:18px 18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:9px;padding:40px;display:flex}.topology-empty-icon{border:1px dashed var(--line);width:54px;height:54px;color:var(--copper);border-radius:50%;place-items:center;display:grid}.topology-empty b{color:var(--ink2);font-size:14px;font-weight:500}.topology-empty>span:last-child{max-width:440px;font-size:11px;line-height:1.5}.rep-bulkheads{background:var(--bg1)}.rep-bulkhead-group{border-top:1px solid var(--line)}.rep-bulkhead-head{justify-content:space-between;align-items:center;gap:16px;padding:11px 14px 8px;display:flex}.rep-bulkhead-title{align-items:center;gap:8px;min-width:0;display:flex}.rep-bulkhead-title h4{color:var(--ink1);font-size:14px;font-weight:500}.rep-bulkhead-kind{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:3px;flex:none;padding:1px 5px;font-size:8px}.rep-bulkhead-kind.cabinet{border-color:color-mix(in srgb, var(--copper) 55%, transparent);color:var(--copper-hi)}.rep-bulkhead-kind.field{border-color:color-mix(in srgb, var(--sel) 45%, transparent);color:var(--sel)}.rep-bulkhead-counts{flex:none;gap:14px;display:flex}.rep-bulkhead-counts span{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.rep-bulkhead-counts b{color:var(--copper-hi);font-size:16px;font-weight:500}.rep-bulkhead-counts small{color:var(--ink3);letter-spacing:.07em;text-transform:uppercase;font-size:8.5px}.rep-bulkhead-table{min-width:860px}.rep-bulkhead-through{border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);color:var(--warn);font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;border-radius:3px;margin-left:7px;padding:1px 4px;font-size:8px}@media (width<=1120px){.rep-transit-detail-head{flex-direction:column}.rep-transit-metrics{width:100%}}@media (width<=820px){.rep-bulkhead-head{flex-direction:column;align-items:flex-start;gap:8px}.rep-bulkhead-counts{justify-content:space-between;width:100%}.rep-transit-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.rep-transit-toggle{width:100%}.rep-transit-toggle button{flex:1;justify-content:center}.rep-transit-metrics{grid-template-columns:repeat(2,minmax(100px,1fr))}.rep-transit-metrics>span:nth-child(3){border-left:none;border-top:1px solid var(--line-soft)}.rep-transit-metrics>span:nth-child(4){border-top:1px solid var(--line-soft)}.rep-transit-legend{display:none}}.empty-state{color:var(--ink3);text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;padding:60px 30px;display:flex}.empty-icon{width:54px;height:54px;color:var(--copper);border:1px dashed #3a4652;border-radius:14px;place-items:center;display:grid}.empty-title{color:var(--ink2);font-size:14px;font-weight:500}.empty-hint{max-width:300px;font-size:12px;line-height:1.5}.toast{background:var(--toast-bg);border:1px solid var(--ok);border-radius:var(--r-lg);color:var(--ink);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;pointer-events:none;align-items:center;gap:9px;max-width:min(420px,100vw - 36px);padding:10px 16px;font-size:12px;animation:.22s cubic-bezier(.2,.9,.3,1.2) toast-in;display:flex;position:fixed;bottom:40px;left:18px}.toast .icon{color:var(--ok);flex-shrink:0}.toast.err{border-color:var(--err)}.toast.err .icon{color:var(--err)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}.wire-crossloc path{fill:var(--bg1);stroke:var(--warn);stroke-width:1.3px}.offpage-ref{pointer-events:none}.offpage-ref>path{fill:var(--copper-hi);stroke:#14181d;stroke-width:1px}.offpage-ref>rect{fill:#14181df5;stroke:var(--copper);stroke-width:.9px}.offpage-ref>text{fill:#f1c796;font:600 7.5px var(--mono);letter-spacing:.02em}.offpage-ref.hover>rect{stroke:var(--copper-hi);stroke-width:1.5px}.offpage-ref.dragging>rect{stroke:var(--copper-hi);stroke-width:1.6px;stroke-dasharray:3 2}.offpage-ref.dragging>path{fill:#ffd9a8}.sheet-span-readout{color:var(--ink3);background:#e08d3c0f;border:1px solid #e08d3c40;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-size:10px;display:flex}.sheet-span-readout b{color:var(--copper-hi);font-weight:500}.sheet-mainloc-note{color:var(--ink3);margin:-3px 1px 2px;font-size:9px;line-height:1.45}.titleblock-scope{border:1px solid var(--line);background:var(--well);border-radius:7px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.titleblock-scope button{min-width:0;color:var(--ink2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 8px;display:flex}.titleblock-scope button:hover{color:var(--ink);background:var(--bg2)}.titleblock-scope button.on{background:var(--copper-dim);color:var(--copper-hi);border-color:#e08d3c6b}.titleblock-scope button span{font-size:10.5px;font-weight:600}.titleblock-scope button small{color:var(--ink3);font:8.5px var(--mono)}.titleblock-scope button.on small{color:var(--ink2)}.titleblock-scope-note{color:var(--ink3);margin:-1px 1px 2px;font-size:9px;line-height:1.45}.titleblock-logo-editor{border:1px dashed var(--line);background:#0a0c0e38;border-radius:7px;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:7px;min-width:0;padding:6px;display:grid}.titleblock-logo-editor.has-logo{border-style:solid;grid-template-columns:48px minmax(0,1fr) 28px 28px}.titleblock-logo-preview{color:#7c8791;background:#fff;border-radius:4px;place-items:center;width:48px;height:34px;display:grid;overflow:hidden}.titleblock-logo-preview img{object-fit:contain;width:100%;height:100%;display:block}.titleblock-logo-preview>span{flex-direction:column;align-items:center;gap:1px;display:flex}.titleblock-logo-preview small{text-transform:uppercase;letter-spacing:.08em;font-size:7px}.titleblock-logo-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.titleblock-logo-copy b{color:var(--ink);font-size:10px;font-weight:600}.titleblock-logo-copy small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.draft-bend{fill:var(--copper);stroke:var(--bg0);stroke-width:1px;pointer-events:none}.sym-remote{fill:none;stroke:var(--warn);stroke-width:1px;stroke-dasharray:6 4;opacity:.55;pointer-events:none}.dev-loc{font-family:var(--mono);fill:var(--warn);letter-spacing:.06em;paint-order:stroke;stroke:#0f1319;stroke-width:2px;stroke-linejoin:round;font-size:9.5px}.badge.warn{color:var(--warn);border-color:#e5b45473}.warn-text{color:var(--warn)!important}.ok-text{color:var(--ok)!important}.compat-check{color:var(--ink2);background:#57c79312;border:1px solid #57c7934d;border-radius:7px;align-items:flex-start;gap:7px;padding:7px 8px;font-size:10.5px;line-height:1.35;display:flex}.compat-check .icon{color:var(--ok);flex:none;margin-top:1px}.compat-check.mismatch{background:#e0645617;border-color:#e0645673}.compat-check.mismatch .icon{color:var(--err)}.compat-check.mismatch b{color:#ffb1a6}.net-search{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.net-search .search-box{flex:160px;min-width:0}.net-mode{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--bg0);flex:none;gap:2px;padding:2px;display:flex}.net-mode button{color:var(--ink3);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;display:flex}.net-mode button b{color:inherit;font-family:var(--mono);opacity:.75;font-size:9.5px}.net-mode button:hover{color:var(--ink)}.net-mode button.on{background:var(--bg1);color:var(--ink);box-shadow:0 1px 2px #0000002e}.net-clear{border:1px solid color-mix(in srgb, var(--net-focus) 40%, transparent);border-radius:var(--r);background:color-mix(in srgb, var(--net-focus) 9%, transparent);height:27px;color:var(--net-focus-ink2);cursor:pointer;flex:none;align-items:center;gap:4px;padding:0 7px;font-size:10.5px;display:flex}.net-clear:hover{border-color:var(--net-focus);color:var(--net-focus-ink)}.net-browser{flex-direction:column;max-height:320px;display:flex;overflow:auto}.net-item{border-bottom:1px solid var(--line-soft)}.net-item.on{background:color-mix(in srgb, var(--net-focus) 8%, transparent);box-shadow:inset 2px 0 0 var(--net-focus)}.net-row{width:100%;color:var(--ink2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:5px 12px;font-size:11px;display:flex}.net-row:hover{background:var(--bg2);color:var(--ink)}.net-row b{min-width:44px;color:var(--ink)}.net-item.on .net-row b{color:var(--net-focus-ink)}.net-sheet-count{color:var(--ink3);align-items:center;gap:3px;margin-left:auto;font-size:10px;display:inline-flex}.net-row .badge{margin-left:0}.net-divider{border-bottom:1px solid var(--line-soft);color:var(--ink3);letter-spacing:.06em;text-transform:uppercase;padding:5px 12px 3px;font-size:9.5px}.net-row.wire-label-row b.wire-label-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.net-row.wire-label-row .dim{flex:none}.net-of-label{border:1px solid var(--line-soft);color:var(--ink3);border-radius:4px;flex:none;margin-left:auto;padding:1px 5px;font-size:9.5px}.net-item.on .net-of-label{border-color:color-mix(in srgb, var(--net-focus) 45%, transparent);color:var(--net-focus-ink)}.net-detail{flex-direction:column;gap:3px;padding:2px 10px 8px;display:flex}.net-terminals{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;margin:0 2px 3px;font-size:10px;line-height:1.45;overflow:hidden}.net-sheet-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:4px;display:grid}.net-sheet-open{border:1px solid var(--line-soft);min-width:0;color:var(--ink2);text-align:left;cursor:pointer;background:#0a0c0e38;border-radius:6px;align-items:center;gap:6px;padding:4px 7px;font-size:10.5px;display:flex}.net-sheet-open:hover{background:var(--bg2);color:var(--ink);border-color:#394552}.net-sheet-open b{min-width:0;color:var(--ink)}.net-sheet-open span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.net-sheet-open .icon{color:var(--ink3);flex:none}.net-sheet-open .dim{flex:none;margin-left:auto}.net-sheet-row.here .net-sheet-open{border-color:color-mix(in srgb, var(--net-focus) 50%, transparent);background:color-mix(in srgb, var(--net-focus) 12%, transparent);color:var(--net-focus-ink)}.net-sheet-row.here .net-sheet-open b{color:var(--net-focus-ink)}.net-detail-empty{color:var(--ink3);padding:2px 2px 4px;font-size:10.5px}.loc-list{flex-direction:column;gap:4px;padding:6px 12px 10px;display:flex}.loc-row{color:var(--ink3);grid-template-columns:1fr 64px 26px 24px;align-items:center;gap:6px;font-size:11px;display:grid}.loc-kind{background:var(--bg0);border:1px solid var(--line);height:25px;color:var(--ink3);cursor:pointer;border-radius:5px;padding:0 3px;font-family:inherit;font-size:10px}.loc-kind:hover:not(:disabled){color:var(--ink);border-color:var(--copper)}.loc-kind:focus{border-color:var(--copper);outline:none}.loc-kind:disabled{cursor:not-allowed;opacity:.5}.loc-row input{background:var(--bg0);border:1px solid var(--line);height:25px;color:var(--ink);border-radius:5px;padding:0 7px;font-size:11px}.loc-row input:focus{border-color:var(--copper);outline:none}.wiretype-pick.core .dd{max-width:96px}.wall-body{fill:#11161c;stroke:#27313c;stroke-width:1.2px;stroke-dasharray:4 4}.zone-sublabel{fill:#39434e;font-family:var(--mono);letter-spacing:.1em;font-size:9px}.ductg.used .duct-body{stroke:#46525e}.ductg.near .duct-body{fill:#e5b45421;stroke:var(--warn)}.ductg.over .duct-body{fill:#e0645629;stroke:var(--err);stroke-width:1.6px}.duct-fill-label{font-family:var(--mono);fill:var(--ink2);paint-order:stroke;stroke:#0a0c0ed9;stroke-width:3px;pointer-events:none;font-size:10px}.ductg.near .duct-fill-label{fill:var(--warn)}.ductg.over .duct-fill-label{fill:var(--err);font-weight:700}.cutout-outline{fill:#0a0c0e66;stroke:var(--copper-hi);stroke-width:1.1px;stroke-dasharray:5 3;pointer-events:none}.drill circle{fill:#0d1015;stroke:#5d6873;stroke-width:1px}.drill line{stroke:#5d6873;stroke-width:.7px}.slot-marker circle:first-child{fill:#57c7931f;stroke:var(--ok);stroke-width:1.4px;stroke-dasharray:4 3}.slot-marker circle:last-of-type{fill:var(--ok);stroke:none}.slot-marker.on circle:first-child{fill:#57c7934d;stroke-width:2.2px;stroke-dasharray:none}.pdev.hosted .pdev-body{stroke:#57c793cc;stroke-dasharray:4 2.5}.pdev.host-hl .pdev-body{stroke:var(--ok);stroke-width:2px}.ghost-box.snap{stroke:var(--ok);fill:#57c7931f}.ghost-box.no{stroke:var(--err);fill:#e064560f}.assembly-leader{pointer-events:none}.assembly-leader line{stroke:var(--copper);stroke-width:1px;stroke-dasharray:2 3.5;opacity:.45}.assembly-leader circle{fill:var(--copper);opacity:.45}.assembly-leader text{fill:var(--copper-hi);font-family:var(--mono);paint-order:stroke;stroke:#080a0deb;stroke-width:2.5px;stroke-linejoin:round;font-size:8.5px;font-weight:600}.assembly-leader.on line{opacity:1;stroke-width:1.4px;stroke-dasharray:3 3}.assembly-leader.on circle{opacity:1}.assembly-leader.ghost line{stroke:var(--copper-hi)}:root[data-theme=light] .assembly-leader text{stroke:#fffdf8f2}:root[data-theme=light] .assembly-leader line,:root[data-theme=light] .assembly-leader circle{opacity:.6}:root[data-theme=light] .assembly-leader.on line,:root[data-theme=light] .assembly-leader.on circle{opacity:1}.canvas-wrap.dimensioning{cursor:crosshair}.dimc .dim-line{stroke:var(--sel);stroke-width:1.1px}.dimc .dim-ext{stroke:var(--sel);stroke-width:.8px;opacity:.55;stroke-dasharray:2 3}.dimc .dim-arrow{fill:var(--sel)}.dimc .dim-badge{fill:#0b0e11eb;stroke:var(--sel);stroke-width:.8px;cursor:pointer}.dimc .dim-text{font-family:var(--mono);fill:#cfe3ff;cursor:pointer;font-size:10.5px}.dimc.ref .dim-line,.dimc.ref .dim-ext{stroke:var(--ink3)}.dimc.ref .dim-arrow{fill:var(--ink3)}.dimc.ref .dim-badge{stroke:var(--ink3)}.dimc.ref .dim-text{fill:var(--ink2)}.dimc.sel .dim-line{stroke-width:2px}.dimc.sel .dim-badge{stroke-width:1.6px;filter:drop-shadow(0 0 5px #4da3ff99)}.dimc.conflict .dim-line,.dimc.conflict .dim-ext{stroke:var(--err)}.dimc.conflict .dim-arrow{fill:var(--err)}.dimc.conflict .dim-badge{stroke:var(--err)}.dimc.conflict .dim-text{fill:#ffb1a6}.dim-pick circle{fill:none;stroke:var(--sel);stroke-width:1.4px}.dim-pick line{stroke:var(--sel);stroke-width:1px}.fill-alerts{flex-direction:column;gap:5px;margin-top:6px;display:flex}.fill-alert{color:var(--ink);cursor:pointer;text-align:left;background:#e0645617;border:1px solid #e0645666;border-radius:7px;align-items:center;gap:8px;padding:6px 9px;font-size:11px;display:flex}.fill-alert:hover{background:#e0645629}.fill-alert .icon{color:var(--err);flex-shrink:0}.fill-alert b{color:var(--err);margin-left:auto}.fill-meter{background:var(--bg0);border:1px solid var(--line);border-radius:6px;height:20px;margin-bottom:8px;position:relative;overflow:hidden}.fill-meter-bar{background:linear-gradient(90deg,#57c79380,#57c793cc);transition:width .2s;position:absolute;inset:0 auto 0 0}.fill-meter-bar.near{background:linear-gradient(90deg,#e5b45480,#e5b454d9)}.fill-meter-bar.over{background:linear-gradient(90deg,#e064568c,#e06456e6)}.fill-meter span{color:var(--ink);text-shadow:0 1px 2px #000000b3;place-items:center;font-size:10.5px;display:grid;position:absolute;inset:0}.mini-title-row{letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);justify-content:space-between;align-items:center;margin:10px 0 6px;font-size:9.5px;display:flex}.hole-row{grid-template-columns:16px repeat(3,1fr) 24px;align-items:end;gap:5px;margin-bottom:5px;display:grid}.hole-row label{flex-direction:column;gap:2px;display:flex}.hole-row label span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:8.5px}.hole-row input{background:var(--bg0);border:1px solid var(--line);width:100%;height:25px;color:var(--ink);border-radius:5px;padding:0 6px;font-size:11px}.hole-row input:focus{border-color:var(--copper);outline:none}.hole-row>span{padding-bottom:6px}.slot-card{border:1px solid var(--line-soft);background:#0a0c0e47;border-radius:7px;margin-bottom:6px;padding:7px}.slot-main{grid-template-columns:1fr 84px 24px;gap:5px;display:grid}.slot-grid{grid-template-columns:repeat(3,52px) 1fr;gap:5px;margin-top:6px;display:grid}.slot-card label{flex-direction:column;gap:2px;min-width:0;display:flex}.slot-card label span{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:8.5px}.slot-card input,.slot-card .dd{background:var(--bg0);border:1px solid var(--line);width:100%;height:25px;color:var(--ink);border-radius:5px;padding:0 6px;font-size:11px}.slot-card input:focus,.slot-card .dd:focus{border-color:var(--copper);outline:none}.cutout-row .slot-main{grid-template-columns:96px 1fr 24px}.cutout-grid{grid-template-columns:repeat(auto-fit,minmax(46px,1fr))}.cutout-preview{background:var(--bg0);border:1px solid var(--line);border-radius:8px;width:100%;max-height:150px;margin-top:8px}.cp-body{fill:#1d242c;stroke:#3a4650;stroke-width:1px}.cp-cut{fill:#0a0c0e;stroke:var(--copper-hi);stroke-width:1px;stroke-dasharray:4 3}.cp-note{fill:var(--ink3);font-family:var(--mono);font-size:8px}.surface-checks{flex-wrap:wrap;gap:8px;display:flex}.check{color:var(--ink2);cursor:pointer;align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.check input{accent-color:var(--copper)}.wt-editor{max-width:960px}.wt-table.v2 .wt-row{grid-template-columns:1fr 62px 48px 52px 52px 62px 28px 28px 56px}.wt-block{border-bottom:1px solid var(--line-soft);padding-bottom:4px}.wt-actions{justify-content:flex-end;gap:4px;display:inline-flex}.wt-row .dd{background:var(--bg1);border:1px solid var(--line);height:27px;color:var(--ink);border-radius:6px;width:100%;padding:0 4px;font-size:11.5px}.core-editor{border-left:2px solid var(--copper-dim);background:#0a0c0e4d;border-radius:0 8px 8px 0;margin:6px 0 8px 14px;padding:8px 10px}.core-row{grid-template-columns:minmax(92px,1fr) 46px 46px 82px 42px 28px 28px 58px 24px;align-items:center;gap:7px;margin-bottom:4px;display:grid}.core-row.head{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-size:9px}.core-row input,.core-row .dd{background:var(--bg1);border:1px solid var(--line);height:25px;color:var(--ink);border-radius:5px;width:100%;padding:0 7px;font-size:11px}.core-row input:focus,.core-row .dd:focus{border-color:var(--copper);outline:none}.core-foot{align-items:flex-end;gap:12px;margin-top:8px;display:flex}.schematic-scope-bar{z-index:7;border-radius:var(--r-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f1318f0;border:1px solid #303946;align-items:center;gap:8px;padding:5px 7px;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #0000005c}.scope-segment{background:var(--bg0);border:1px solid var(--line);border-radius:6px;padding:2px;display:inline-flex}.scope-segment button{height:24px;color:var(--ink3);font:600 10px var(--font);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 10px}.scope-segment button.on{background:var(--copper-dim);color:var(--copper-hi);box-shadow:inset 0 0 0 1px #e08d3c47}.schematic-scope-bar .dd,.panel-scope-card .dd,.scope-select .dd,.report-scope-select .dd{min-width:112px;height:28px;color:var(--ink);background:var(--bg0);border:1px solid var(--line);font:500 11px var(--mono);cursor:pointer;border-radius:6px;padding:0 26px 0 8px}.schematic-scope-bar small{max-width:190px;color:var(--ink3);white-space:nowrap;font-size:9px}.wire-continuation-banner{z-index:8;border:1px solid var(--copper);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:min(680px,90%);color:var(--ink);font:500 11px var(--font);background:#0f1318f5;align-items:center;gap:10px;padding:7px 10px 7px 12px;display:flex;position:absolute;top:100px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #0000006b}.wire-continuation-banner .msg{color:var(--ink2)}.wire-continuation-banner .msg b{color:var(--copper-hi);margin-right:1px;font-weight:700}.wire-continuation-banner .pulse{background:var(--copper-hi);border-radius:50%;flex:none;width:9px;height:9px;animation:1.4s ease-out infinite wire-cont-pulse;box-shadow:0 0 #e08d3c8c}.wire-continuation-banner button{border:1px solid var(--line);background:var(--bg0);height:24px;color:var(--ink3);font:600 10px var(--font);letter-spacing:.03em;cursor:pointer;border-radius:5px;flex:none;padding:0 10px}.wire-continuation-banner button:hover{color:var(--copper-hi);border-color:var(--copper)}@keyframes wire-cont-pulse{0%{box-shadow:0 0 #e08d3c80}70%{box-shadow:0 0 0 7px #e08d3c00}to{box-shadow:0 0 #e08d3c00}}.wire-continuation-line{fill:none;stroke-width:1.4px;stroke-dasharray:7 5;opacity:.9;pointer-events:none}.wire-continuation-ghost{pointer-events:none}.wire-continuation-ghost .offpage-ref{opacity:.85}.wire-continuation-ghost .offpage-ref>rect{stroke-dasharray:3 2}.wire-continuation-ghost.active .offpage-ref{opacity:1}.schematic-location-group{pointer-events:none}.schematic-location-group>rect{fill:#4da3ff06;stroke:#4da3ff59;stroke-width:1px;stroke-dasharray:8 5}.schematic-location-group.field>rect{fill:#57c79306;stroke:#57c7936b}.schematic-location-group .location-group-label-bg{fill:#151b21;stroke:#4da3ff73;stroke-width:1px}.schematic-location-group.field .location-group-label-bg{stroke:#57c79380}.schematic-location-group text{fill:#9cc9f3;font:600 9px var(--mono);letter-spacing:.06em}.schematic-location-group.field text{fill:#8fd9ba}.schematic-location-group .location-group-meta{fill:var(--ink3);font-size:7.5px;font-weight:400}.wire-bundle-pick{background:var(--bg0);border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;height:28px;padding:0 5px 0 7px;display:flex}.wire-bundle-pick:focus-within{border-color:var(--copper)}.wire-bundle-pick span{color:var(--copper);font:600 8px var(--mono);letter-spacing:.12em}.wire-bundle-pick .dd{background:var(--bg2);width:96px;height:22px;color:var(--ink);font:10px var(--mono);cursor:pointer;border:0;border-radius:4px;outline:0;padding:0 4px}.wire-bundle-pick.creating .dd{width:49px;color:var(--copper-hi)}.wire-bundle-pick input{width:62px;color:var(--ink);font:11px var(--mono);background:0 0;border:0;outline:0}.wire-bundle-pick input::placeholder{color:var(--ink3)}.panel-scope-card{background:linear-gradient(145deg,#e08d3c14,#0a0c0e2e);border:1px solid #e08d3c47;border-radius:9px;flex-direction:column;gap:6px;margin:10px 10px 6px;padding:10px;display:flex}.panel-scope-card .dd{width:100%}.panel-scope-card small{color:var(--ink3);font-size:9.5px}.scope-select{flex-direction:column;gap:5px;display:flex}.scope-select>span,.report-scope-select>span{color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.report-scope-select{flex-direction:column;align-items:stretch;gap:4px;min-width:190px;display:flex}.report-scope-select small{color:var(--ink3);font-size:9px}.rep-hero{gap:24px}.loc-add{gap:3px;width:auto;padding:0 6px;font-size:8.5px}.cable-bundle-editor{background:linear-gradient(120deg,#d98b4114,#0000 62%),#080a0c52;border:1px solid #d98b414d;border-radius:8px;flex-direction:column;gap:7px;padding:9px;display:flex}.cable-bundle-heading{align-items:center;gap:8px;padding-bottom:1px;display:flex}.cable-bundle-heading>span:last-child{flex-direction:column;gap:1px;min-width:0;display:flex}.cable-bundle-heading b{color:var(--ink);font-size:10.5px;font-weight:600}.cable-bundle-heading small{color:var(--ink3);font:8.5px var(--mono)}.cable-bundle-mark{width:25px;height:25px;color:var(--copper-hi);background:#12100e;border:1px solid #d98b4173;border-radius:50%;flex:none;place-items:center;display:grid}.cable-bundle-create{grid-template-columns:minmax(0,1fr) 26px;align-items:end;gap:5px;display:grid}.cable-bundle-create .mini-btn{margin-bottom:1px}.cable-bundle-help{color:var(--ink3);font-size:9.5px;line-height:1.45}.cable-bundle-help b{color:var(--ink2);font-weight:600}.core-option-taken{color:var(--err)}.core-option-same-net{color:var(--warn)}.core-usage-key{margin-top:-2px}.core-usage-key b:first-of-type{color:var(--err)}.core-usage-key b:nth-of-type(2){color:var(--warn)}.cable-core-conflict{color:var(--err);background:#e0645617;border:1px solid #e0645680;border-radius:7px;align-items:flex-start;gap:7px;padding:8px;display:flex}.cable-core-conflict>.icon{flex:none;margin-top:1px}.cable-core-conflict>span{flex-direction:column;gap:2px;min-width:0;display:flex}.cable-core-conflict b{color:#f2a096;font-size:10.5px}.cable-core-conflict small{color:var(--ink2);font-size:9.5px;line-height:1.4}.cable-entry-editor{border-top:1px dashed var(--line);flex-direction:column;gap:7px;margin-top:5px;padding-top:9px;display:flex}.cable-entry-summary{background:linear-gradient(105deg,#d98b411a,#080a0c6b 58%);border:1px solid #d98b4147;border-radius:7px;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;min-height:42px;padding:6px 8px;display:grid}.cable-entry-symbol{width:27px;height:27px;color:var(--copper-hi);background:#12100e;border:1px solid #d98b417a;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 3px #d98b410f}.cable-entry-summary>span:nth-child(2){flex-direction:column;gap:1px;min-width:0;display:flex}.cable-entry-summary b{color:var(--ink);letter-spacing:.04em;font-size:10.5px}.cable-entry-summary small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.cable-entry-summary>em{color:var(--copper-hi);font-size:10px;font-style:normal}.cable-entry-help{color:var(--ink3);font-size:9.5px;line-height:1.45}.cable-entry-location{flex-direction:column;gap:5px;padding-top:2px;display:flex}.cable-entry-location+.cable-entry-location{border-top:1px solid var(--line-soft);margin-top:3px;padding-top:9px}.cable-entry-location-head{justify-content:space-between;align-items:center;min-height:17px;display:flex}.cable-entry-location-head>span{color:var(--ink2);font:600 9.5px var(--mono)}.cable-entry-location-head>b{font:600 8px var(--mono);letter-spacing:.08em}.cable-entry-location-head>b.auto{color:var(--ink3)}.cable-entry-location-head>b.fixed{color:var(--ok)}.grip-choice{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:#080a0c6b;border-radius:7px;grid-template-columns:26px minmax(0,1fr) auto 14px;align-items:center;gap:6px;padding:6px;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s;display:grid}.grip-choice:hover:not(:disabled){background:#1a1f24b3;border-color:#46515c}.grip-choice:active:not(:disabled){transform:translateY(1px)}.grip-choice:focus-visible{outline:1px solid var(--copper-hi);outline-offset:2px}.grip-choice.selected{box-shadow:inset 3px 0 0 var(--ok);background:linear-gradient(90deg,#57c7931a,#0a0e0e85);border-color:#57c793b3}.grip-choice.automatic{border-style:dashed;min-height:40px}.grip-choice.automatic.selected{box-shadow:inset 3px 0 0 var(--copper);background:#d98b410e;border-color:#d98b4180}.grip-choice.automatic .grip-choice-mark{grid-column:4}.grip-choice:disabled{opacity:.58;cursor:not-allowed}.grip-choice.unavailable.selected{box-shadow:inset 3px 0 0 var(--err);border-color:#e064569e}.grip-choice-port{background:var(--bg2);width:24px;height:24px;color:var(--ink3);border:1px solid #313941;border-radius:50%;align-self:center;place-items:center;display:grid}.grip-choice.selected .grip-choice-port{color:var(--ok);border-color:#57c79380}.grip-choice.automatic.selected .grip-choice-port{color:var(--copper-hi);border-color:#d98b417a}.grip-choice-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.grip-choice-copy>b{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:550;overflow:hidden}.grip-choice-copy>small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:8.8px;line-height:1.25;overflow:hidden}.grip-choice-copy>small.attached{color:var(--ok)}.grip-choice-copy>small.bad{color:#dd8b81}.grip-choice-title{align-items:baseline;gap:6px;min-width:0;display:flex}.grip-choice-title b{color:var(--ink);font-size:10.5px}.grip-choice-title em{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;font-style:normal;overflow:hidden}.grip-choice-part{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.grip-choice-range{color:var(--ink3);white-space:nowrap;align-self:start;padding-top:1px;font-size:8.5px}.grip-choice-mark{width:14px;height:14px;color:var(--ok);place-items:center;display:grid}.grip-choice.automatic .grip-choice-mark{color:var(--copper-hi)}.cable-entry-empty{color:var(--ink3);border:1px dashed var(--line);border-radius:6px;align-items:center;gap:6px;padding:7px;font-size:9.5px;display:flex}.core-shield-check input{accent-color:var(--copper)}.cable-construction-row{align-items:flex-end;gap:14px;margin-bottom:10px;display:flex}.cable-twist-check{padding-bottom:7px}.core-shield-check{place-items:center;display:grid}.help-sheet{background:var(--bg1);border-radius:var(--r-lg);border:1px solid #303946;width:min(620px,100vw - 40px);overflow:hidden;box-shadow:0 22px 70px #0000009e}.help-sheet .modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.help-row{color:var(--ink2);align-items:center;gap:10px;font-size:12px;display:flex}.help-row kbd{background:var(--bg0);border:1px solid var(--line);min-width:74px;color:var(--copper-hi);text-align:center;border-bottom-width:2px;border-radius:5px;padding:3px 7px;font-size:10.5px}.sb-help{border:1px solid var(--line);width:17px;height:17px;color:var(--ink3);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:10px;line-height:1;display:grid}.sb-help:hover{color:var(--copper-hi);border-color:var(--copper)}.rep-card.alert b,.rep-table td.err{color:var(--err)}.dialog{border-radius:var(--r-lg);background:var(--bg1);max-height:min(720px,100dvh - 110px);box-shadow:var(--shadow);border:1px solid #313944;flex-direction:column;animation:.12s ease-out dialog-in;display:flex;overflow:hidden}@keyframes dialog-in{0%{opacity:0;transform:translateY(4px)scale(.995)}}.dialog-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px 11px 14px;display:flex}.dialog-head>div{align-items:baseline;gap:10px;min-width:0;display:flex}.dialog-head b{white-space:nowrap;font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);flex:none;font-size:13px;font-weight:600}.dialog-head span{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dialog-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.dialog-foot{border-top:1px solid var(--line);background:var(--bg1);flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:10px 14px;display:flex}.dialog-foot .spring{flex:1}.dialog-foot small{color:var(--ink3);font-size:10px}.cabinet-divider{color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-top:2px;font-size:9px;font-weight:600;display:flex}.cabinet-divider:after{content:"";background:var(--line);flex:1;height:1px}.cabinet-custom-fields{flex-direction:column;gap:8px;display:flex}.cabinet-custom-actions{align-items:center;gap:8px;display:flex}.cabinet-custom-actions>span{color:var(--ink3);text-align:right;flex:1;font-size:10px}.overlay-panel{z-index:10;border-radius:var(--r-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f1216f0;border:1px solid #2b333c;flex-direction:column;width:218px;display:flex;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 8px 26px #0006}.overlay-panel .op-head{color:var(--ink3);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:7px;padding:8px 10px 6px;font-size:9px;font-weight:600;display:flex}.overlay-panel .op-head .sect-tick{background:var(--copper);width:3px;height:9px}.overlay-panel .op-body{flex-direction:column;gap:7px;padding:2px 10px 10px;display:flex}.overlay-panel .op-sep{background:var(--line-soft);height:1px;margin:2px 0}.overlay-panel .dd{border:1px solid var(--line);border-radius:var(--r);background:var(--well);width:100%;height:25px;color:var(--ink);font:500 10.5px var(--mono);cursor:pointer;padding:0 6px}.overlay-panel .dd:focus{border-color:var(--copper);outline:none}.op-check{color:var(--ink2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:11px;display:flex}.op-check:hover{color:var(--ink)}.op-check input{accent-color:var(--copper)}.op-stat{color:var(--ink3);justify-content:space-between;gap:8px;font-size:10px;display:flex}.op-stat b{color:var(--ink2);font-weight:500}.op-row{gap:5px;display:flex}.op-row .btn{flex:1;height:25px;padding:0 6px;font-size:10.5px}.wt-editor{flex:1;max-width:none;min-height:0;padding:0 0 26px;overflow-y:auto}.wt-scroll-pad{max-width:1080px;padding:12px 14px 0}.wt-table{margin-top:0}.wt-block{border-bottom:1px solid var(--line-soft);padding:3px 0 4px}.wt-row.head{background:var(--canvas);z-index:2;padding:6px 0 4px;position:sticky;top:0}.inspector-hint{color:var(--ink3);padding:10px 12px;font-size:11px;line-height:1.5}.sheet-stats{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.sheet-stat{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--well);flex-direction:column;gap:1px;padding:7px 8px;display:flex}.sheet-stat b{color:var(--ink);font-family:var(--mono);font-size:13px;font-weight:500}.sheet-stat span{color:var(--ink3);letter-spacing:.07em;text-transform:uppercase;font-size:8.5px}.help-groups{grid-template-columns:1fr 1fr;gap:14px 26px;padding:14px 18px 6px;display:grid}.help-group-title{color:var(--ink3);letter-spacing:.1em;text-transform:uppercase;padding-bottom:5px;font-size:9.5px;font-weight:600}.help-group .help-row{padding:2px 0}.help-flow{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--well);color:var(--ink3);margin:10px 18px 16px;padding:9px 11px;font-size:11px;line-height:1.5}.help-flow b{color:var(--copper-hi);font-weight:550}.panel-comp-head{flex:none;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px 6px;display:flex}.comp-tally{color:var(--ink3);font-size:10px}.comp-tally b{color:var(--copper-hi);font-size:13px;font-weight:550}.place-scroll{flex:1;min-height:0;padding-bottom:10px;overflow-y:auto}.place-scroll .pal-cat{padding-top:10px}.cabinet-list-dialog{min-height:140px;max-height:300px}.row-line{align-items:stretch;min-width:0;display:flex}.row-line .row{min-width:0}.row-line:hover .row-kill{color:var(--ink3)}.row-kill{color:#0000;cursor:pointer;background:0 0;border:none;flex:none;align-items:center;padding:0 10px;transition:color .1s,background .1s;display:flex}.row-kill:hover,.row-kill:focus-visible{color:var(--err);background:var(--bg2)}.row-flag{border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);border-radius:var(--r);color:var(--warn);letter-spacing:.04em;margin-left:6px;padding:0 4px;font-size:9px;font-style:normal}.undrawn-banner{border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:var(--r);background:color-mix(in srgb, var(--warn) 8%, transparent);color:var(--warn);font-family:var(--font);text-align:left;cursor:pointer;align-items:center;gap:6px;margin:0 12px 8px;padding:5px 8px;font-size:10.5px;display:flex}.undrawn-banner span{min-width:0}.undrawn-banner .undrawn-cta{flex:none;margin-left:auto;text-decoration:underline}.undrawn-banner:hover{background:color-mix(in srgb, var(--warn) 16%, transparent)}.dialog-note{color:var(--ink3);margin:0 0 10px;font-size:11px;line-height:1.5}.undrawn-group{margin-bottom:8px}.undrawn-row{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:8px;padding:3px 4px;font-size:11px;display:flex}.undrawn-row b{width:62px;color:var(--copper-hi);flex:none;font-weight:550}.undrawn-row>span{color:var(--ink2);flex:none;font-size:10.5px}.undrawn-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink3);flex:1;font-size:10px;overflow:hidden}.undrawn-row em{color:var(--warn);flex:none;font-size:9.5px;font-style:normal}.three-mount{position:absolute;inset:0}.three-mount canvas{display:block}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-gate{z-index:100;background:radial-gradient(120% 90% at 50% -10%, var(--bg2), var(--bg0) 70%);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.auth-gate-card{background:var(--bg1);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:380px;box-shadow:var(--shadow);padding:28px 26px 22px}.auth-gate-brand{align-items:center;gap:10px;margin-bottom:18px;display:flex}.auth-gate-brand .brand-name{letter-spacing:2px;font-size:18px;font-weight:600}.auth-gate-title{color:var(--ink);margin:0 0 6px;font-size:19px;font-weight:600}.auth-gate-sub{color:var(--ink-dim);align-items:center;gap:6px;margin:0 0 18px;font-size:12.5px;display:flex}.auth-gate-sub svg{color:var(--copper);flex:none}.auth-gate-hint{color:var(--ink-dim);margin:0;font-size:11.5px;line-height:1.6}.auth-gate-hint code{background:var(--well);border:1px solid var(--line);color:var(--ink);border-radius:3px;padding:1px 4px;font-size:11px}.auth-gate-actions{margin-top:16px}.auth-gate-actions .btn{justify-content:center;width:100%}.auth-gate-foot{text-align:center;margin-top:12px}.workspace-loading{color:var(--ink-dim);background:var(--bg0);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:fixed;inset:0}.workspace-loading svg{color:var(--copper);animation:1.4s ease-in-out infinite ws-pulse}@keyframes ws-pulse{0%,to{opacity:.45}50%{opacity:1}}.sync-badge{color:var(--ink-dim);border-radius:var(--r);border:1px solid var(--line);background:var(--bg2);align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;display:inline-flex}.sync-badge svg{color:var(--copper)}.sync-badge.as-btn{cursor:pointer}.sync-badge.as-btn:hover{border-color:var(--copper-dim);color:var(--ink)}.auth-error{color:#e06c5b;background:#e06c5b14;border:1px solid #e06c5b40;border-radius:4px;margin-top:12px;padding:6px 8px;font-size:12px}.google-btn{width:100%;font-family:var(--font);color:var(--ink);background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;justify-content:center;align-items:center;gap:9px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.google-btn:hover:not(:disabled){border-color:var(--copper-dim);background:var(--well)}.google-btn:disabled{opacity:.6;cursor:default}.google-btn svg{flex:none}.auth-divider{color:var(--ink-dim);align-items:center;gap:10px;margin:18px 0 14px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.linklike{color:var(--copper-hi);cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;border:none;padding:0}.linklike:hover{text-decoration:underline}.avatar{color:#14181d;width:18px;height:18px;font-size:10px;font-weight:700;font-family:var(--cond);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.account-btn{gap:5px}.peer-avatars{align-items:center;margin-right:2px;display:inline-flex}.peer-avatars .avatar.peer{border:1.5px solid var(--bg1,#14181d);margin-left:-5px}.peer-avatars .avatar.peer:first-child{margin-left:0}.avatar.peer.more{background:var(--well);color:var(--ink-dim);font-size:9px}.sync-dot{background:var(--ink-dim);border-radius:50%;width:8px;height:8px;margin:0 4px;display:inline-block}.sync-dot.connecting{background:#c8a24b;animation:1.2s ease-in-out infinite syncPulse}.sync-dot.live{background:#3fa34d}.sync-dot.offline{background:#c8a24b}.sync-dot.error{background:#e06c5b}@keyframes syncPulse{50%{opacity:.35}}.projects-page{background:var(--bg0);z-index:60;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dashboard{background:var(--bg1);border:1px solid var(--line);border-radius:8px;flex-direction:column;width:min(860px,100vw - 48px);max-height:calc(100dvh - 80px);display:flex;overflow:hidden;box-shadow:0 18px 60px #00000080}.dashboard .modal-head{flex:none}.dash-sub{color:var(--ink-dim);margin-left:10px;font-size:12px}.dash-actions{align-items:center;gap:6px;display:flex}.dash-body{padding:14px 18px 20px;overflow-y:auto}.dash-tab-body{padding:14px 18px 20px}.dash-loading{color:var(--ink-dim);text-align:center;padding:30px 0}.dash-current{background:var(--copper-dim);border:1px solid var(--copper);border-radius:6px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;font-size:13px;display:flex}.dash-current .tb-btn{margin-left:auto}.dash-section{margin-bottom:18px}.dash-section h3{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;display:flex}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.proj-card{border:1px solid var(--line);background:var(--bg2);border-radius:6px;align-items:center;padding-right:6px;display:flex}.proj-card.open{border-color:var(--copper)}.proj-card-main{color:var(--ink);cursor:pointer;text-align:left;font-family:var(--font);background:0 0;border:none;flex:1;align-items:center;gap:9px;min-width:0;padding:11px 12px;font-size:13px;display:flex}.proj-card-main:disabled{cursor:default}.proj-card-main:hover:not(:disabled) .proj-card-name{color:var(--copper-hi)}.proj-card-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.proj-card-when{color:var(--ink-dim);flex:none;font-size:11px}.team-mgr{gap:16px;min-height:300px;display:flex}.team-list{flex-direction:column;flex:0 0 170px;gap:4px;display:flex}.team-item{background:var(--bg2);border:1px solid var(--line);color:var(--ink);cursor:pointer;font-family:var(--font);text-align:left;border-radius:5px;align-items:center;gap:7px;padding:8px 10px;font-size:13px;display:flex}.team-item.on{border-color:var(--copper);color:var(--copper-hi)}.team-item small{color:var(--ink-dim);text-transform:uppercase;margin-left:auto;font-size:10px}.team-detail{flex:1;min-width:0}.team-detail h4{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);margin:12px 0 6px;font-size:11px}.team-detail h4:first-child{margin-top:0}.member-rows{flex-direction:column;gap:4px;display:flex}.member-rows.pending{opacity:.85;margin-top:6px}.member-row{background:var(--bg2);border:1px solid var(--line);border-radius:5px;align-items:center;gap:9px;padding:6px 8px;font-size:12.5px;display:flex}.member-row .field{margin:0}.member-name{flex-direction:column;flex:1;min-width:0;display:flex}.member-name small{color:var(--ink-dim);font-size:10.5px}.member-role{color:var(--ink-dim);font-size:11px}.invite-row{align-items:center;gap:6px;display:flex}.invite-row input{flex:1}.invite-row .field{margin:0}.invite-hint{color:var(--ink-dim);margin:8px 0 0;font-size:11.5px}.mini-btn.labeled{gap:4px;width:auto;padding:0 7px;font-size:11px}.readonly-banner{background:var(--well);border:1px solid var(--copper);color:var(--copper-hi);z-index:60;border-radius:6px;align-items:center;gap:7px;padding:7px 14px;font-size:12.5px;display:flex;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}.share-modes{flex-direction:column;gap:12px;display:flex}.share-mode{border:1px solid var(--line);background:var(--bg2);border-radius:6px;padding:12px 14px}.share-mode.on{border-color:var(--copper)}.share-mode-head{align-items:center;gap:7px;font-size:13px;display:flex}.share-mode-head svg{color:var(--copper);flex:none}.share-count{color:var(--ink-dim);margin-left:auto;font-size:10.5px}.share-blurb{color:var(--ink-dim);margin:6px 0 10px;font-size:11.5px;line-height:1.5}.share-link-row{align-items:center;gap:6px;display:flex}.share-url{background:var(--well);border:1px solid var(--line);min-width:0;color:var(--ink);border-radius:4px;flex:1;padding:6px 8px;font-size:11.5px}.share-url:focus{border-color:var(--copper);outline:none}.lib-head.team{grid-template-columns:1.2fr 1fr 2fr 70px 120px}.team-part-row{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr 2fr 70px 120px;align-items:center;gap:10px;padding:8px 14px;font-size:12.5px;display:grid}.team-part-row:hover{background:var(--bg2)}.tp-desc{color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tp-data{color:var(--ink-dim);gap:6px;display:flex}.tp-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}:root[data-theme=light] body,:root[data-theme=light] .topbar,:root[data-theme=light] .statusbar,:root[data-theme=light] .side,:root[data-theme=light] .canvas-wrap{transition:background-color .16s,color .16s,border-color .16s}:root[data-theme=light] ::-webkit-scrollbar-thumb{border-color:var(--bg1);background:#b8b3a9}:root[data-theme=light] .tooltip{border-color:var(--line);color:var(--ink);background:#fffdf8f7;box-shadow:0 6px 22px #3e362c29}:root[data-theme=light] .tooltip kbd{border-color:var(--line);background:var(--bg2)}:root[data-theme=light] .menu,:root[data-theme=light] .dd-pop{border-color:var(--line);background:#f8f6f0fa}:root[data-theme=light] .menu-item.danger:hover:not(:disabled){color:var(--err)}:root[data-theme=light] .search-box input::placeholder{color:var(--ink3)}:root[data-theme=light] .swatch{border-color:#23282c2e}:root[data-theme=light] .canvas-toolbar,:root[data-theme=light] .toolbar-options,:root[data-theme=light] .overlay-panel,:root[data-theme=light] .schematic-scope-bar{border-color:var(--line);background:#f8f6f0f0;box-shadow:0 8px 26px #3c342a24}:root[data-theme=light] .route-tip{background:#fffdf8f2}:root[data-theme=light] .mode-banner{background:#fff8edf5}:root[data-theme=light] .sheet{fill:#fbfaf6}:root[data-theme=light] .sheet-border{stroke:#aeb2b3}:root[data-theme=light] .sheet-border.thin,:root[data-theme=light] .sheet-zones line{stroke:#cbc7bf}:root[data-theme=light] .sheet-zones text{fill:#8a8579}:root[data-theme=light] .titleblock .tb-paper{fill:#f1eee7;stroke:#8f999e}:root[data-theme=light] .titleblock .tb-logo-paper{fill:#fff;stroke:none}:root[data-theme=light] .titleblock line{stroke:#aeb2b3}:root[data-theme=light] .sym-glyph,:root[data-theme=light] .symbol.sel .sym-glyph{color:#30363a}:root[data-theme=light] .sym-text,:root[data-theme=light] .junction{fill:#30363a}:root[data-theme=light] .sym-text.dim,:root[data-theme=light] .dev-sub{fill:#747c81}:root[data-theme=light] .dev-description rect{fill:#f0ede6;stroke:#8b959a}:root[data-theme=light] .dev-description text{fill:#424b50}:root[data-theme=light] .schematic-text text{fill:#30363a;stroke:#fbfaf6}:root[data-theme=light] .schematic-table-bg{fill:#fbfaf6}:root[data-theme=light] .schematic-table-header{fill:#e9e6df}:root[data-theme=light] .schematic-table-frame,:root[data-theme=light] .schematic-table line{stroke:#69747a}:root[data-theme=light] .schematic-table text{fill:#495359}:root[data-theme=light] .schematic-table text.header{fill:#242b2f}:root[data-theme=light] .termination polygon{fill:#5c6a74;stroke:#fbfaf6}:root[data-theme=light] .termination text{fill:#30363a;stroke:#fbfaf6}:root[data-theme=light] .termination-legend line{stroke:#69747a}:root[data-theme=light] .termination-legend text{fill:#495359}:root[data-theme=light] .termination-legend text.header{fill:#242b2f}:root[data-theme=light] .termination-swatch{stroke:#69747a}:root[data-theme=light] .sym-text.pin-label{fill:#3f474c;stroke:#fbfaf6}:root[data-theme=light] .pin-wire-tag{stroke:#fbfaf6}:root[data-theme=light] .pin-wire-tip{border-color:var(--line);color:var(--ink);background:#fffdf8f7;box-shadow:0 6px 22px #3e362c29}:root[data-theme=light] .pin-wire-tip dt,:root[data-theme=light] .pin-wire-tip small{color:var(--ink2)}:root[data-theme=light] .pin-wire-tip dd.none{color:var(--ink3)}:root[data-theme=light] .pin-tick{fill:#6e787e}:root[data-theme=light] .wire-dangling-ring{fill:#fbfaf6}:root[data-theme=light] .wire-dangling text,:root[data-theme=light] .ghost .sym-text,:root[data-theme=light] .dev-tag,:root[data-theme=light] .dev-loc,:root[data-theme=light] .wire-num,:root[data-theme=light] .wire-type-label,:root[data-theme=light] .smart-space text{stroke:#fbfaf6}:root[data-theme=light] .wire-num,:root[data-theme=light] .wire-type-label{fill:#667178}:root[data-theme=light] .net-tag rect{fill:#fbfaf6;stroke:#2a3138}:root[data-theme=light] .net-tag text{fill:#1c2226}:root[data-theme=light] .net-tag.net-focus rect{stroke:var(--net-focus)}:root[data-theme=light] .net-tag.net-focus text{fill:var(--net-focus-ink)}:root[data-theme=light] .wire-bend rect,:root[data-theme=light] .wire-seg-hint circle,:root[data-theme=light] .smart-align circle{stroke:#fbfaf6}:root[data-theme=light] .marquee-count rect{fill:#fffdf8f5}:root[data-theme=light] .marquee-count text,:root[data-theme=light] .smart-guide-toast b,:root[data-theme=light] .selection-tally b,:root[data-theme=light] .row.sel .badge-x,:root[data-theme=light] .instance-list button .mono{fill:var(--sel);color:var(--sel)}:root[data-theme=light] .smart-guide-toast{background:#fffdf8eb;box-shadow:0 5px 18px #3c342a21}:root[data-theme=light] .offpage-ref>rect{fill:#fffaf1fa}:root[data-theme=light] .offpage-ref>text{fill:var(--copper-hi)}:root[data-theme=light] .schematic-location-group .location-group-label-bg{fill:#f4f2ec}:root[data-theme=light] .schematic-location-group text{fill:#3977aa}:root[data-theme=light] .schematic-location-group.field text{fill:#3c8065}:root[data-theme=light] .enc-body{fill:#deddd8;stroke:#9ca2a4}:root[data-theme=light] .plate{fill:#f0f0ec;stroke:#b5b8b7}:root[data-theme=light] .zone-label{fill:#8a8f90}:root[data-theme=light] .dims line{stroke:#7e8588}:root[data-theme=light] .dims text{fill:#60696e}:root[data-theme=light] .rail-body{fill:#aeb3b4;stroke:#858c8f}:root[data-theme=light] .rail-line{stroke:#747b7e}:root[data-theme=light] .duct-body{fill:#c9cdcc;stroke:#969d9f}:root[data-theme=light] .duct-tooth{stroke:#a1a7a7}:root[data-theme=light] .item-label{fill:#333a3e}:root[data-theme=light] .door-body,:root[data-theme=light] .wall-body{fill:#e4e3de;stroke:#a2a7a8}:root[data-theme=light] .hinge{fill:#858d90}:root[data-theme=light] .zone-sublabel{fill:#899092}:root[data-theme=light] .drill circle{fill:#f7f6f1;stroke:#737c80}:root[data-theme=light] .drill line{stroke:#737c80}:root[data-theme=light] .dimc .dim-badge{fill:#fffdf8f5}:root[data-theme=light] .dimc .dim-text{fill:var(--sel)}:root[data-theme=light] .cp-body{fill:#d5d7d5;stroke:#93999a}:root[data-theme=light] .cp-cut{fill:#fbfaf6}:root[data-theme=light] .modal-scrim{background:#302d2861}:root[data-theme=light] .modal-shell,:root[data-theme=light] .help-sheet,:root[data-theme=light] .dialog{border-color:var(--line)}:root[data-theme=light] .modal-head{background:linear-gradient(#faf8f2,#ece9e1)}:root[data-theme=light] .modal-panel,:root[data-theme=light] .source-row,:root[data-theme=light] .term-tbl,:root[data-theme=light] .core-editor,:root[data-theme=light] .wire-end,:root[data-theme=light] .cabinet-pick,:root[data-theme=light] .instance-list button{background:#6c655a0b}:root[data-theme=light] .sym-frame{fill:#ad601f0d;stroke:#b0a99c}:root[data-theme=light] .sym-axis{stroke:#a09889}:root[data-theme=light] .sym-shape{color:#30363a}:root[data-theme=light] .sym-shape.hot{color:#1d6ba8}:root[data-theme=light] .sym-shape-text{fill:#30363a}:root[data-theme=light] .sym-shape-text.dim{fill:#6b7278}:root[data-theme=light] .sym-pin text{fill:#2c5f8d;stroke:var(--canvas)}:root[data-theme=light] .sym-handle{stroke:#fffdf8}:root[data-theme=light] .sym-hud{background:#f8f6f0f0}:root[data-theme=light] .sym-status{background:#f8f6f0eb}:root[data-theme=light] .mounting-primary-action,:root[data-theme=light] .mounting-range output{color:var(--sel)}:root[data-theme=light] .mounting-confirm{color:var(--ok)}:root[data-theme=light] .rep-table tr:hover td{background:#252a2e06}:root[data-theme=light] .panel-scope-card{background:linear-gradient(145deg,#ad601f14,#6c655a09)}:root[data-theme=light] .cable-bundle-editor{background:linear-gradient(120deg,#ad601f12,#0000 62%),#6c655a09}:root[data-theme=light] .cable-bundle-mark{background:#fff8ee}:root[data-theme=light] .cable-entry-summary{background:linear-gradient(105deg,#ad601f17,#6c655a0d 58%)}:root[data-theme=light] .cable-entry-symbol{background:#fff8ee}:root[data-theme=light] .grip-choice{background:#6c655a0b}:root[data-theme=light] .grip-choice:hover:not(:disabled){background:var(--bg2)}:root[data-theme=light] .grip-choice.selected{background:linear-gradient(90deg,#277a5717,#fffdf880)}:root[data-theme=light] .compat-check.mismatch b,:root[data-theme=light] .dimc.conflict .dim-text{color:var(--err);fill:var(--err)}.sb-history{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);color:var(--ink3);cursor:pointer;height:18px;padding:0 7px;transition:color .12s,border-color .12s}.sb-history:hover{color:var(--copper-hi);border-color:var(--copper)}.sb-guide{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);color:var(--ink3);height:18px;padding:0 7px;text-decoration:none;transition:color .12s,border-color .12s}.sb-guide:hover{color:var(--copper-hi);border-color:var(--copper)}.history-scrim{z-index:90;position:fixed;inset:0}.history-panel{z-index:91;background:var(--bg1);border:1px solid var(--line);border-radius:8px;flex-direction:column;width:min(460px,100vw - 20px);max-height:min(620px,100dvh - 100px);display:flex;position:fixed;bottom:33px;right:10px;overflow:hidden;box-shadow:0 18px 60px #0000008c}.history-head{border-bottom:1px solid var(--line);background:linear-gradient(#171c22,#11151a);flex:none;align-items:center;gap:8px;height:38px;padding:0 8px 0 12px;display:flex}.history-head b{font-family:var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--copper-hi);font-size:12px}.history-sub{min-width:0;color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.history-msg{color:var(--ink-dim);padding:18px 14px;font-size:12px;line-height:1.55}.history-msg.err{color:var(--err);align-items:flex-start;gap:7px;display:flex}.history-list{flex:1;min-height:0;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.history-day{z-index:1;background:var(--bg1);color:var(--ink-dim);font-family:var(--cond);letter-spacing:.14em;text-transform:uppercase;padding:6px 12px 4px;font-size:10px;position:sticky;top:0}.history-row{border-left:2px solid #0000;align-items:center;gap:6px;padding:0 8px 0 12px;display:flex}.history-row:hover{background:var(--well)}.history-row.destructive{border-left-color:var(--err)}.history-main{text-align:left;cursor:pointer;min-width:0;color:var(--ink2);background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:6px 0;font-size:12px;display:flex}.history-time{color:var(--ink-dim);flex:none;font-size:10.5px}.history-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.history-row.destructive .history-title{color:var(--err)}.history-acts{opacity:0;flex:none;gap:4px;display:flex}.history-row:hover .history-acts,.history-acts:focus-within{opacity:1}.history-acts .mini-btn{height:19px;padding:0 6px;font-size:10px}.history-detail{color:var(--ink-dim);margin:0 0 6px;padding:2px 12px 4px 62px;font-size:11.5px;line-height:1.7;list-style:none}.history-detail li{text-overflow:ellipsis;overflow:hidden}.history-meta{color:var(--ink3);opacity:.75;font-size:10px}.history-foot{border-top:1px solid var(--line);color:var(--ink3);flex:none;padding:7px 12px;font-size:10.5px;line-height:1.5}:root[data-theme=light] .history-head{background:linear-gradient(#fffdf8,#f6f2ea)}:root[data-theme=light] .history-panel{box-shadow:0 18px 50px #302d2838}.build-workspace .build-centre{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.build-bar-wrap{border-bottom:1px solid var(--line);background:var(--bg1);flex-wrap:wrap;align-items:center;gap:10px;padding:7px 10px;display:flex}.build-bar{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.build-bar-picks,.build-bar-status,.build-bar-right{align-items:center;gap:6px;display:flex}.build-bar-picks .dd{min-width:132px;max-width:220px}.build-bar-right{margin-left:auto}.build-bar-right .dd{min-width:118px}.build-bar-jump{flex:220px;min-width:180px;max-width:360px}.build-bar-progress{color:var(--ink2);align-items:center;gap:7px;font-size:11.5px;display:flex}.build-bar-progress small{color:var(--ink3);white-space:nowrap;font-size:10.5px}.build-bar-bar{background:var(--bg3);border-radius:3px;width:96px;height:6px;display:block;overflow:hidden}.build-bar-bar i{background:var(--copper);height:100%;transition:width .2s;display:block}.build-bar-busy{color:var(--ink3);align-items:center;gap:5px;font-size:11px;display:flex}.build-view-tools{border-bottom:1px solid var(--line);background:var(--bg1);flex-wrap:wrap;align-items:center;gap:4px;padding:4px 10px;display:flex}.build-view-tools:empty{display:none}.build-view-tools .tb-btn.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.build-filter-chip{border:1px solid var(--copper);background:var(--copper-dim);height:26px;color:var(--copper-hi);font-family:var(--font);cursor:pointer;border-radius:13px;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;display:flex}.build-filter-chip:hover{background:var(--copper);color:#14181d}.build-error,.build-warn{border-bottom:1px solid var(--line);align-items:center;gap:7px;margin:0;padding:7px 12px;font-size:11.5px;display:flex}.build-error{color:var(--err);background:#e0645617}.build-warn{color:var(--warn);background:#e5b45414}.build-canvas{position:relative}.build-scene{flex:1;min-height:0;position:relative}.build-scene canvas{width:100%;height:100%;display:block}.build-canvas-legend{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);color:var(--ink2);pointer-events:none;gap:12px;padding:6px 10px;font-size:10.5px;display:flex;position:absolute;bottom:12px;left:12px}.build-canvas-legend span{align-items:center;gap:5px;display:flex}.build-canvas-legend i{border-radius:2px;width:14px;height:3px;display:block}.build-canvas-legend .swatch-focus{background:#f29b45}.build-canvas-legend .swatch-run{background:var(--ink2);opacity:.45}.build-canvas-legend .swatch-todo{background:var(--ink3);opacity:.3}.build-dev .pdev-body{stroke:var(--line);stroke-width:.8px}.build-dev .pdev-tag{font-family:var(--mono);fill:#10141a;paint-order:stroke;stroke:#ffffff8c;stroke-width:2.4px;font-size:9px}.build-dev.build-ghost{opacity:.9}.build-dev.build-ghost .pdev-body{stroke-dasharray:4 3;stroke:#f29b45;stroke-width:1.6px}.build-dev.build-installed{opacity:1}.build-dev-halo{fill:none;stroke:#f29b45;stroke-width:2.2px}.build-dev.build-ghost .build-dev-halo{stroke-dasharray:5 4}.build-ghost .rail-body,.build-ghost .duct-body{opacity:.35}.build-focus .rail-body,.build-focus .duct-body{stroke:#f29b45;stroke-width:2px}.build-pending-item{fill:var(--ink3);fill-opacity:.06;stroke:var(--ink3);stroke-width:.6px;opacity:.35}.build-route-halo{fill:none;stroke:var(--canvas);stroke-linecap:round;stroke-linejoin:round}.build-opening-cut{fill:none;stroke:#f29b45;stroke-width:2px}.build-crosshair{stroke:#f29b45;stroke-width:1px;opacity:.9}.build-dim-line{stroke:var(--sel);stroke-width:.8px;stroke-dasharray:4 3;opacity:.85}.build-dim-text{font-family:var(--mono);fill:var(--sel);paint-order:stroke;stroke:var(--canvas);stroke-width:3px;font-size:10px}.build-term-halo{fill:none;stroke:#f29b45;stroke-width:2px;stroke-dasharray:6 3}.build-flag-box{fill:var(--bg1);stroke:var(--line);stroke-width:.8px}.build-flag.accent .build-flag-box,.build-flag-leader{stroke:#f29b45;stroke-width:1.2px}.build-flag-swatch{stroke:var(--line);stroke-width:.5px}.build-flag-text{font-family:var(--mono);fill:var(--ink2);font-size:9px}.build-flag-text.lead{fill:var(--ink);font-weight:600}.build-rail{flex-direction:column;padding:0;display:flex;overflow:hidden}.build-rail-empty{color:var(--ink3);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;font-size:12px;display:flex}.build-section{border-bottom:1px solid var(--line)}.build-section-head{border:0;border-bottom:1px solid var(--line);background:var(--bg2);width:100%;color:var(--ink);font-family:var(--font);cursor:pointer;text-align:left;align-items:center;gap:7px;padding:0 10px;font-size:11.5px;display:flex}.build-section-head b{flex:1}.build-group-head,.build-subgroup-head{width:100%;color:var(--ink2);font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px 0 16px;font-size:11px;display:flex}.build-subgroup-head{padding-left:26px;font-size:10.5px}.build-group-head:hover,.build-subgroup-head:hover{background:var(--bg2)}.build-group-toggle{min-width:0;height:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:0;display:flex}.build-group-label{flex-direction:column;flex:1;min-width:0;display:flex}.build-group-label small{color:var(--ink3);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.build-group-swatch{border:1px solid;border-radius:2px;flex:none;width:9px;height:9px;display:block}.build-cores{font-family:var(--mono);color:var(--ink3);flex:none;font-size:9.5px}.build-pill{background:var(--bg3);border-radius:8px;flex:none;justify-content:center;align-items:center;min-width:46px;height:15px;padding:0 6px;display:flex;position:relative;overflow:hidden}.build-pill-fill{background:var(--copper-dim);position:absolute;inset:0 auto 0 0}.build-pill.full .build-pill-fill{background:#57c79338}.build-pill-text{font-family:var(--mono);color:var(--ink2);font-size:9px;position:relative}.build-pill.full .build-pill-text{color:var(--ok)}.build-step{width:100%;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:8px;padding:0 8px 0 24px;font-size:11.5px;display:flex}.build-step.nested{padding-left:34px}.build-step:hover{background:var(--bg2);color:var(--ink)}.build-step.on{border-left-color:var(--copper);background:var(--copper-dim);color:var(--ink)}.build-step.done{color:var(--ink3)}.build-step.done .build-step-title{text-decoration:line-through;-webkit-text-decoration-color:var(--ink3);text-decoration-color:var(--ink3)}.build-step-mark{border:1px solid var(--line);border-radius:3px;flex:none;justify-content:center;align-items:center;width:15px;height:15px;margin-top:1px;display:flex}.build-step.done .build-step-mark{border-color:var(--ok);color:var(--ok)}.build-step.partial .build-step-mark{border-color:var(--copper)}.build-step-part{background:var(--copper);border-radius:1px;width:7px;height:2px}.build-step-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.build-step-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.build-step-body small{color:var(--ink3);font-size:9.5px}.build-step-progress{font-family:var(--mono)}.build-detail{flex-direction:column;padding:0;display:flex}.build-detail-scroll{flex:1;min-height:0;overflow-y:auto}.build-detail-head{border-bottom:1px solid var(--line);padding:12px 12px 10px}.build-detail-kind{letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);font-size:9.5px}.build-detail-head h2{color:var(--ink);margin:4px 0 0;font-size:14px;font-weight:600}.build-detail-sub{color:var(--ink2);margin:3px 0 0;font-size:11px}.build-detail-foot{border-top:1px solid var(--line);background:var(--bg1);gap:6px;padding:9px 10px;display:flex}.build-detail-foot .btn{flex:1;justify-content:center}.build-detail-foot .btn:first-child svg{transform:rotate(180deg)}.build-facts{flex-direction:column;gap:7px;margin:0;display:flex}.build-facts>div{flex-direction:column;gap:1px;display:flex}.build-facts dt{letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);font-size:9.5px}.build-facts dd{color:var(--ink);margin:0;font-size:11.5px}.build-part-card,.build-term-card{border-bottom:1px solid var(--line-soft);gap:10px;padding:10px 12px;display:flex}.build-part-photo{border-radius:var(--r);border:1px solid var(--line);background:var(--bg2);width:64px;height:64px;color:var(--ink3);flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.build-part-photo img{object-fit:contain;max-width:100%;max-height:100%}.build-part-text{flex-direction:column;gap:2px;min-width:0;display:flex}.build-part-text b{color:var(--ink);font-size:12px}.build-part-text span{color:var(--ink2);font-size:11px}.build-part-text small{color:var(--ink3);font-size:10.5px}.build-term-card{align-items:flex-start;padding:9px 12px}.build-term-index{border:1px solid var(--copper);width:18px;height:18px;color:var(--copper-hi);font-family:var(--mono);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:10px;display:flex}.build-term-text{flex-direction:column;gap:2px;min-width:0;display:flex}.build-term-text b{color:var(--ink);font-size:12px}.build-term-text small{color:var(--ink3);font-size:10.5px}.build-term-remote{color:var(--sel);align-items:center;gap:4px;display:flex}.build-crimp{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);align-items:center;gap:8px;margin-top:5px;padding:6px 8px;display:flex}.build-crimp-art{flex:none;justify-content:center;align-items:center;width:46px;height:22px;display:flex;overflow:hidden}.build-crimp-art img{object-fit:contain;max-width:100%;max-height:100%}.build-crimp-text{flex-direction:column;min-width:0;display:flex}.build-crimp-text b{font-size:11px}.build-crimp-text small{color:var(--ink3);font-size:10px}.build-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.build-item-row{border-radius:var(--r);border-left:3px solid #0000;align-items:flex-start;gap:4px;display:flex}.build-item-row.on{border-left-color:var(--copper);background:var(--copper-dim)}.build-item{border-radius:var(--r);min-width:0;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-start;gap:8px;padding:6px;font-size:11.5px;display:flex}.build-item:hover:not(:disabled){background:var(--bg2);color:var(--ink)}.build-item.done{color:var(--ink3)}.build-item.done .build-item-label{text-decoration:line-through}.build-item-check{border:1.5px solid var(--line);background:var(--bg1);width:22px;height:22px;color:var(--ok);cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;margin:4px 0 0 4px;display:flex}.build-item-check:hover:not(:disabled){border-color:var(--ok)}.build-item-check:disabled{cursor:default;opacity:.55}.build-item-check.on{border-color:var(--ok);color:var(--ok);background:#57c79324}.build-item-check.changed{border-color:var(--err);color:var(--err);background:#e064561a}.build-item-check.pending{border-style:dashed}.build-item-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.build-item-body small{color:var(--ink3);font-size:10px}.build-item-who{color:var(--ok)}.build-item-qty{color:var(--ink2);flex:none;font-size:11px}.build-count{font-family:var(--mono);color:var(--ink3);font-size:10px}.build-log{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.build-log li{color:var(--ink2);grid-template-columns:14px 1fr auto;align-items:baseline;gap:4px 6px;font-size:10.5px;display:grid}.build-log li.undone{color:var(--ink3)}.build-log-who{color:var(--ink)}.build-log-what{color:var(--ink3);grid-column:2}.build-log-when{font-family:var(--mono);color:var(--ink3);font-size:9.5px}.build-log-empty{color:var(--ink3);margin:0;font-size:11px}.pick-board{background:var(--bg0);flex-direction:column;flex:1;min-height:0;display:flex}.pick-head{border-bottom:1px solid var(--line);background:var(--bg1);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.pick-title{align-items:baseline;gap:8px;display:flex}.pick-title b{color:var(--ink);font-size:13px}.pick-count{font-family:var(--mono);color:var(--ink2);font-size:11px}.pick-tools{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.pick-tools .tb-btn.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.pick-search{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);height:28px;color:var(--ink3);align-items:center;gap:6px;padding:0 9px;display:flex}.pick-search input{color:var(--ink);font-family:var(--font);background:0 0;border:0;outline:none;width:200px;font-size:11.5px}.pick-scroll{flex:1;min-height:0;padding:4px 14px 16px;overflow-y:auto}.pick-group h4{letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);align-items:baseline;gap:8px;margin:12px 0 6px;font-size:11px;display:flex}.pick-group h4 small{font-family:var(--mono);color:var(--ink3);letter-spacing:0}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-content:start;gap:8px;display:grid}.pick-empty{color:var(--ink3);text-align:center;margin:24px auto;font-size:12px}.pick-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);color:var(--ink2);align-items:center;gap:8px;padding:0 8px 0 0;transition:border-color .12s,background .12s;display:flex}.pick-card:hover{border-color:var(--copper)}.pick-card.done{background:#57c7930f;border-color:#57c79366}.pick-card.short{border-color:var(--err)}.pick-main{min-width:0;color:inherit;font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:10px;display:flex}.pick-main:disabled{cursor:default}.pick-check{border:1.5px solid var(--line);border-radius:4px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.pick-check.on{border-color:var(--ok);background:var(--ok);color:#0b1410}.pick-photo{border-radius:var(--r);border:1px solid var(--line);background:var(--bg2);width:56px;height:56px;color:var(--ink3);flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.pick-photo img{object-fit:contain;max-width:100%;max-height:100%}.pick-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.pick-mpn{color:var(--ink);font-size:12px}.pick-sub,.pick-cat,.pick-tags,.pick-signoff{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pick-sub{color:var(--ink2)}.pick-cat{color:var(--ink3)}.pick-tags{color:var(--copper)}.pick-signoff{color:var(--ok)}.pick-qty{border-left:1px solid var(--line-soft);flex-direction:column;flex:none;align-items:center;min-width:40px;padding-left:6px;display:flex}.pick-qty b{font-family:var(--mono);color:var(--ink);font-size:16px}.pick-qty small{color:var(--ink3);font-size:9px}.rework-op{cursor:pointer}.rework-cut{fill:none;stroke:var(--warn);stroke-width:1.4px;stroke-dasharray:5 3}.rework-cross{stroke:var(--warn);stroke-width:.9px}.rework-label{font-family:var(--mono);fill:var(--warn);paint-order:stroke;stroke:var(--canvas);stroke-width:3px;font-size:9px}.rework-op.sel .rework-cut{stroke:var(--copper-hi);stroke-width:2.2px;stroke-dasharray:none}.rework-op.sel .rework-cross,.rework-op.sel .rework-label{stroke:var(--canvas);fill:var(--copper-hi)}.rework-op.sel .rework-cross{stroke:var(--copper-hi)}.row-add{color:var(--ink3)}.row-add:hover{color:var(--copper-hi)}.build-unit-state{border:1px solid var(--ok);height:22px;color:var(--ok);background:#57c7931f;border-radius:11px;align-items:center;gap:5px;padding:0 8px;font-size:10.5px;display:flex}.unit-log-people{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.unit-log-person{border:1px solid var(--line);background:var(--bg2);border-radius:12px;align-items:baseline;gap:6px;padding:4px 9px;display:flex}.unit-log-person b{color:var(--ink);font-size:11.5px}.unit-log-person small{color:var(--ink3);font-size:10px}.unit-log-search{margin-bottom:10px}.unit-log-search input{width:100%}.unit-log{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.unit-log-row{border-bottom:1px solid var(--line-soft);color:var(--ink2);grid-template-columns:18px minmax(0,1fr) auto auto;align-items:baseline;gap:4px 10px;padding:7px 0;font-size:11.5px;display:grid}.unit-log-row:last-child{border-bottom:0}.unit-log-row.undone{color:var(--ink3)}.unit-log-mark{color:var(--ok)}.unit-log-row.undone .unit-log-mark{color:var(--warn)}.unit-log-main{flex-direction:column;gap:1px;min-width:0;display:flex}.unit-log-main b{color:var(--ink)}.unit-log-step{color:var(--ink2);font-size:11px}.unit-log-row.undone .unit-log-step{text-decoration:line-through}.unit-log-note{color:var(--ink3);font-size:10px}.unit-log-section,.unit-log-when{color:var(--ink3);white-space:nowrap;font-size:10px}.build-drag-flag{cursor:grab}.build-drag-flag:active{cursor:grabbing}.build-flag-tether{stroke:var(--ink3);stroke-width:.8px;stroke-dasharray:3 3}.build-remote-run{fill:none;stroke:#f29b45;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 5}.build-remote-box{fill:var(--bg1);stroke:#f29b45;stroke-width:1.6px}.build-remote-loc{font-family:var(--cond);fill:var(--ink);letter-spacing:.03em;font-size:12px;font-weight:600}.build-remote-pin{font-family:var(--mono);fill:var(--ink2);font-size:9px}.build-reset-labels{border:1px solid var(--line);border-radius:var(--r);background:var(--bg1);height:26px;color:var(--ink2);font-family:var(--font);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:flex}.build-reset-labels:hover{color:var(--ink);border-color:var(--copper)}.build-empty{flex-direction:column}.build-empty .build-bar-wrap{width:100%}.build-sync{border:1px solid var(--line);background:var(--bg2);height:24px;color:var(--ink2);font-family:var(--font);cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:5px;padding:0 9px;font-size:11px;display:flex}.build-sync.off{border-color:var(--warn);color:var(--warn);background:#e5b4541a}.build-sync.warn{border-color:var(--warn);color:var(--warn)}.build-sync.err{border-color:var(--err);color:var(--err);background:#e064561a}.build-form-err{color:var(--err);align-items:center;gap:6px;margin:4px 0 10px;font-size:11.5px;display:flex}.build-jump{position:relative}.build-jump .pick-search,.build-jump .pick-search input{width:100%}.build-jump-results{z-index:40;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);max-height:320px;box-shadow:var(--shadow);padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.build-jump-hit{border-radius:var(--r);width:100%;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 8px;font-size:11.5px;display:flex}.build-jump-hit.on,.build-jump-hit:hover{background:var(--copper-dim);color:var(--ink)}.build-jump-hit span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.build-jump-none{color:var(--ink3);margin:6px 8px;font-size:11px}.build-peers{align-items:center;gap:3px;margin-left:auto;display:flex}.build-peers i,.build-peer{color:#10141a;border:1.5px solid var(--bg1);border-radius:9px;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-style:normal;font-weight:700;display:inline-flex}.build-peers small{color:var(--ink3);margin-left:4px;font-size:10.5px}.build-badges{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.build-badge{border:1px solid var(--line);height:20px;color:var(--ink2);border-radius:10px;align-items:center;gap:4px;padding:0 7px;font-size:10.5px;display:inline-flex}.build-badge.ok{color:var(--ok);background:#57c7931a;border-color:#57c79380}.build-badge.part{border-color:var(--copper);color:var(--copper-hi);background:var(--copper-dim)}.build-badge.pend{color:var(--ink3);border-style:dashed}.build-badge.err{border-color:var(--err);color:var(--err);background:#e064561a}.build-issues{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:6px 12px;display:flex}.build-issues p{align-items:flex-start;gap:6px;margin:0;font-size:11px;line-height:1.35;display:flex}.build-issues p.err{color:var(--err)}.build-issues p.warn{color:var(--warn)}.build-issues svg{flex:none;margin-top:1px}.build-changed{border-radius:var(--r-lg);border:1px solid var(--err);color:var(--ink2);background:#e0645614;flex-direction:column;gap:4px;margin:8px 10px 0;padding:8px 10px;font-size:11px;display:flex}.build-changed b{color:var(--err);align-items:center;gap:5px;font-size:11.5px;display:flex}.build-changed p{margin:0;line-height:1.4}.build-changed em{font-style:normal;font-family:var(--mono);color:var(--ink)}.build-howto{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:5px;padding:8px 12px;display:flex}.build-howto p{color:var(--ink2);margin:0;font-size:11px;line-height:1.4}.build-tools{flex-wrap:wrap;gap:4px;display:flex}.build-tool{border:1px solid var(--line);color:var(--ink2);background:var(--bg2);border-radius:10px;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;display:inline-flex}.build-item-group{letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);margin:8px 0 2px;font-size:10px}.build-item-group:first-child{margin-top:0}.build-item-swatch{border:1.5px solid;border-radius:2px;flex:none;width:10px;height:10px;margin-top:3px;display:block}.build-item-pass{color:var(--ok)}.build-item-fail{color:var(--err);font-weight:600}.build-item-thumb{border-radius:var(--r);border:1px solid var(--line);background:var(--bg2);width:34px;height:34px;color:var(--ink3);flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.build-item-thumb img{object-fit:cover;width:100%;height:100%}.build-item-cam{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);width:28px;height:28px;color:var(--ink2);cursor:pointer;flex:none;justify-content:center;align-items:center;margin-top:4px;display:flex}.build-item-cam:hover{color:var(--copper-hi);border-color:var(--copper)}.build-count.err{color:var(--err)}.build-flag-row{border-radius:var(--r-lg);border:1px solid var(--err);background:#e0645612;grid-template-columns:auto 1fr auto;align-items:center;gap:3px 8px;margin-bottom:6px;padding:7px 8px;display:grid}.build-flag-row .build-flag-text{color:var(--ink);grid-column:2;font-size:11.5px}.build-flag-row small{color:var(--ink3);grid-column:1/3;font-size:10px}.build-flag-row .btn{grid-area:1/3/3}.build-flag-cat{color:var(--err);white-space:nowrap;align-items:center;gap:4px;font-size:10.5px;font-weight:600;display:inline-flex}.build-photos{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.build-photo{border-radius:var(--r);border:1px solid var(--line);background:var(--bg2);width:56px;height:56px;color:var(--ink3);justify-content:center;align-items:center;display:flex;overflow:hidden}.build-photo img{object-fit:cover;width:100%;height:100%}.build-note{color:var(--ink);flex-direction:column;gap:1px;margin:0 0 6px;font-size:11.5px;display:flex}.build-note small{color:var(--ink3);font-size:10px}.build-note-compose{align-items:flex-end;gap:6px;margin-top:4px;display:flex}.build-note-compose textarea,.build-textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--r);background:var(--well,var(--bg2));min-width:0;color:var(--ink);font-family:var(--font);flex:1;padding:6px 8px;font-size:11.5px}.build-textarea{box-sizing:border-box;width:100%;margin:10px 0}.build-note-actions{gap:6px;margin-top:6px;display:flex}.build-log li.failed{color:var(--err)}.build-detail-foot .btn{flex:none}.build-detail-foot .btn-primary{flex:1;font-size:12.5px;font-weight:600}.bcard{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.bcard-hero{align-items:center;gap:12px;min-width:0;display:flex}.bcard-number{flex-direction:column;flex:1;min-width:0;display:flex}.bcard-number small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-size:10px}.bcard-number b{color:var(--ink);overflow-wrap:anywhere;font-size:26px;font-weight:700;line-height:1.1}.bcard-number b.bcard-text{font-size:15px;font-family:var(--font);font-weight:600;line-height:1.3}.bcard-type{flex:none;align-items:center;gap:8px;display:flex}.bcard-type span{flex-direction:column;display:flex}.bcard-type b{color:var(--ink);font-size:13px}.bcard-type small{color:var(--ink2);font-size:10.5px}.bcard-swatch{border:1px solid var(--line);border-radius:3px;flex:none;display:block}.bcard-swatch.md{width:14px;height:14px}.bcard-swatch.lg{width:22px;height:34px}.bcard-strip,.bcard-tools{flex-wrap:wrap;gap:5px;display:flex}.bcard-chip{border:1px solid var(--line);background:var(--bg2);min-height:24px;color:var(--ink2);border-radius:12px;align-items:center;gap:5px;padding:0 8px;font-size:11px;display:inline-flex}.bcard-chip.big{color:var(--ink);min-height:28px;font-size:12.5px}.bcard-chip.big b{font-size:15px}.bcard-chip.on{border-color:var(--copper);color:var(--copper-hi);background:var(--copper-dim)}.bcard-alert{border-radius:var(--r);border:1px solid var(--warn);color:var(--warn);background:#e5b4541a;align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;display:flex}.bcard-ends{grid-template-columns:1fr;gap:6px;display:grid}.bcard-end{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg2);flex-direction:column;gap:3px;min-width:0;padding:8px;display:flex}.bcard-end.remote{border-style:dashed}.bcard-end-head{align-items:center;gap:6px;min-width:0;display:flex}.bcard-end-head b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:17px;overflow:hidden}.bcard-colon{color:var(--ink3);margin:0 1px}.bcard-end-where{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.bcard-end-where b{white-space:normal;font-size:15px}.bcard-end-where small{color:var(--ink3);font-size:11px}.bcard-end-pin{color:var(--ink2);font-size:12.5px}.bcard-end-pin b{color:var(--copper-hi);font-size:17px}.bcard-end-pin small{color:var(--ink3);margin-left:4px}.bcard-device>.bcard-where{color:var(--ink);font-size:14px;font-weight:600;line-height:1.3}.shopfloor .bcard-end-where b{font-size:18px}.shopfloor .bcard-device>.bcard-where{font-size:17px}.bcard-end-letter{border:1.5px solid var(--copper);width:18px;height:18px;color:var(--copper-hi);font-family:var(--mono);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.bcard-mini{border:1px solid var(--line);border-radius:var(--r);background:var(--bg1);width:22px;height:22px;color:var(--ink2);cursor:pointer;flex:none;justify-content:center;align-items:center;display:flex}.bcard-mini:hover{color:var(--copper-hi);border-color:var(--copper)}.bcard-remote{color:var(--sel);align-items:center;gap:4px;font-size:11px;display:flex}.bcard-end-meta{color:var(--ink2);align-items:center;gap:4px;font-size:10.5px;display:flex}.bcard-end-meta.dim{color:var(--ink3)}.bcard-crimp{align-items:center;gap:6px;margin-top:2px;display:flex}.bcard-crimp>span{flex-direction:column;min-width:0;display:flex}.bcard-crimp b{color:var(--ink);font-size:11px}.bcard-crimp small{color:var(--ink3);font-size:10px}.bcard-warn{color:var(--warn);align-items:center;gap:4px;font-size:10.5px;display:flex}.bcard-note{color:var(--sel);flex-wrap:wrap;align-items:center;gap:4px;font-size:10.5px;display:flex}.ferrule-glyph{flex:none}.bcard-photo{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg2);color:var(--ink3);flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.bcard-photo img{object-fit:contain;max-width:100%;max-height:100%}.bcard-device{flex-direction:column;gap:1px;min-width:0;display:flex}.bcard-device>b{color:var(--ink);font-size:26px;font-weight:700;line-height:1.1}.bcard-device>span{color:var(--ink2);font-size:12px}.bcard-device>small{color:var(--ink3);font-size:10.5px}.bcard-offset{color:var(--ink);margin-top:2px;font-size:12.5px}.bcard-offset b{color:var(--copper-hi);font-size:16px}.bcard-link{border-radius:var(--r);color:var(--sel);font-family:var(--font);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:5px;padding:3px 6px;font-size:11px;display:inline-flex}.bcard-link:hover{background:var(--sel-dim,var(--bg2))}.bcard-done{color:var(--ok);align-items:center;gap:8px;padding:4px 0;font-size:13px;font-weight:600;display:flex}.bcard-tool{color:var(--ink);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.bcard-note-line{color:var(--ink2);margin:0;font-size:11px}.bcard-rail{flex-direction:column;gap:3px;display:flex}.bcard-rail-bar{background:repeating-linear-gradient(90deg, var(--bg3) 0 2px, var(--bg2) 2px 12px);border:1px solid var(--line);border-radius:3px;height:34px;position:relative}.bcard-rail-slot{background:var(--bg1);border:1px dashed var(--ink3);border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.bcard-rail-slot em{font-style:normal;font-family:var(--mono);color:var(--ink2);white-space:nowrap;font-size:9px}.bcard-rail-slot.done{border-style:solid;border-color:var(--ok);background:#57c79329}.bcard-rail-slot.on{border:2px solid var(--copper);background:var(--copper-dim);z-index:1}.bcard-rail-slot.on em{color:var(--copper-hi);font-weight:700}.bcard-rail-scale{color:var(--ink3);justify-content:space-between;font-size:9.5px;display:flex}.bcard-camera,.bcard-record{border-radius:var(--r-lg);border:1px solid var(--copper);background:var(--copper-dim);min-height:40px;color:var(--copper-hi);font-family:var(--font);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.bcard-camera:disabled,.bcard-record:disabled{opacity:.45;cursor:default}.bcard-reading{flex-direction:column;gap:6px;display:flex}.bcard-reading label{flex-direction:column;gap:4px;display:flex}.bcard-reading label>span:first-child{color:var(--ink2);font-size:11px}.bcard-reading label small{color:var(--ink3)}.bcard-reading-box{border:1.5px solid var(--line);border-radius:var(--r-lg);background:var(--well,var(--bg2));align-items:center;gap:6px;padding:0 10px;display:flex}.bcard-reading-box input{min-width:0;height:42px;color:var(--ink);font-family:var(--mono);background:0 0;border:0;outline:none;flex:1;font-size:22px}.bcard-reading-box em{font-style:normal;font-family:var(--mono);color:var(--ink2);font-size:14px}.bcard-reading-box.pass{border-color:var(--ok)}.bcard-reading-box.fail{border-color:var(--err)}.bcard-record.pass{border-color:var(--ok);color:var(--ok);background:#57c79324}.bcard-record.fail{border-color:var(--err);color:var(--err);background:#e064561f}.build-rail-head{border-bottom:1px solid var(--line);flex-direction:column;flex:none;gap:6px;padding:7px 8px;display:flex}.build-rail-close{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);width:28px;height:28px;color:var(--ink2);cursor:pointer;justify-content:center;align-self:flex-end;align-items:center;display:flex}.build-chips{flex-wrap:wrap;gap:4px;display:flex}.build-chip{border:1px solid var(--line);background:var(--bg2);height:22px;color:var(--ink2);font-family:var(--font);cursor:pointer;white-space:nowrap;border-radius:11px;align-items:center;gap:4px;padding:0 8px;font-size:10.5px;display:inline-flex}.build-chip em{font-style:normal;font-family:var(--mono);color:var(--ink3);font-size:10px}.build-chip.on{border-color:var(--copper);background:var(--copper-dim);color:var(--copper-hi)}.build-chip.alert em{color:var(--err);font-weight:700}.build-chip:disabled{opacity:.45;cursor:default}.build-batch{color:var(--ink2);align-items:center;gap:6px;font-size:11px;display:flex}.build-rail-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.build-row{box-sizing:border-box;position:absolute;left:0;right:0;overflow:hidden}.build-step.changed .build-step-mark{border-color:var(--err);color:var(--err)}.build-step.picked{background:var(--sel-dim,var(--bg2));box-shadow:inset 0 0 0 1px var(--sel)}.build-step-flags{color:var(--err);flex:none;align-items:center;gap:3px;display:flex}.build-step-flags svg:not(:first-child){color:var(--ink3)}.build-issue-dot{border-radius:4px;width:7px;height:7px;display:block}.build-issue-dot.err{background:var(--err)}.build-issue-dot.warn{background:var(--warn)}.build-claim{height:18px;color:var(--ink);border:1.5px solid;border-radius:9px;flex:none;align-items:center;gap:3px;padding:0 5px;font-size:9.5px;font-weight:700;display:inline-flex}.build-claim i{border-radius:3px;width:6px;height:6px;display:block}.build-claim-btn{border-radius:var(--r);width:22px;height:22px;color:var(--ink3);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:flex}.build-claim-btn:hover{color:var(--ink);border-color:var(--line)}.build-claim-btn.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.build-pin-ring{fill:none;stroke:#f29b45;stroke-width:2.4px;animation:1.4s ease-in-out infinite build-pin-pulse}.build-pin-dot{fill:#f29b45;stroke:var(--canvas);stroke-width:1.2px}.build-pin-letter{font-family:var(--mono);fill:#f29b45;paint-order:stroke;stroke:var(--canvas);stroke-width:3px;font-size:11px;font-weight:700}@keyframes build-pin-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.25}}@media (prefers-reduced-motion:reduce){.build-pin-ring,.build-inset-pulse{animation:none}}.build-callout-window{fill:#f29b4514;stroke:#f29b45;stroke-width:2px;vector-effect:non-scaling-stroke}.build-callout-leader{stroke:#f29b45;stroke-width:1.6px;vector-effect:non-scaling-stroke}.build-callout-bg{fill:var(--canvas)}.build-callout-ring{fill:none;stroke:#f29b45;stroke-width:3px;vector-effect:non-scaling-stroke}.build-callout-dev{fill:none;stroke:#f29b45;stroke-width:2.4px;vector-effect:non-scaling-stroke;paint-order:stroke}.build-callout .build-pin-ring{stroke-width:3px;vector-effect:non-scaling-stroke}.build-callout .build-pin-dot{stroke-width:1.5px;vector-effect:non-scaling-stroke}.build-callout-chip circle{fill:#f29b45}.build-callout-chip text{font-family:var(--mono);fill:#10141a;font-weight:700}.build-callout{cursor:pointer}.build-callout-cap{z-index:2;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);max-width:280px;box-shadow:var(--shadow);color:var(--ink2);text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:1px;padding:5px 10px 6px;font-size:12px;line-height:1.35;display:flex;position:absolute;transform:translate(-50%)}.build-callout-cap.above{transform:translate(-50%,-100%)}.build-callout-where{color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.build-callout-where em{font-style:normal;font-family:var(--mono);color:#10141a;background:#f29b45;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:grid}.build-callout-cap>span b{color:var(--ink);font-size:14px}.build-callout-crimp{align-items:center;gap:5px;display:flex}.build-callout-crimp i{border-radius:2px;flex:none;width:10px;height:10px}.build-callout-cap small{color:var(--ink3);font-size:10.5px}.shopfloor .build-callout-cap{max-width:340px;font-size:14px}.shopfloor .build-callout-where{font-size:17px}.build-opening.quiet .build-opening-cut{stroke-width:1.2px;opacity:.5}.build-opening.quiet .build-crosshair{opacity:.35}.build-dev.build-ghost.faint{opacity:.28}.build-dev.build-ghost.faint .pdev-body{stroke:var(--ink3);stroke-width:.6px;stroke-dasharray:none}.build-insets{z-index:3;flex-direction:column;gap:8px;max-height:calc(100% - 64px);display:flex;position:absolute;top:10px;right:10px;overflow-y:auto}.build-inset{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);box-shadow:var(--shadow);cursor:pointer;color:var(--ink2);font-family:var(--font);text-align:left;flex-direction:column;gap:4px;padding:8px 8px 6px;display:flex}.build-inset:hover{border-color:var(--copper)}.build-inset-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:0 2px;display:flex}.build-inset-head>b{color:var(--ink);font-size:16px}.build-inset-head>b.build-inset-where{font-size:14px;font-family:var(--font);flex-basis:100%}.build-inset-head small{color:var(--ink3);font-size:10.5px}.build-inset-target{color:var(--ink2);font-size:13px}.build-inset-target em{color:#14181d;width:18px;height:18px;font-style:normal;font-family:var(--mono);background:#f29b45;border-radius:9px;justify-content:center;align-items:center;margin-right:3px;font-size:11px;font-weight:700;display:inline-flex}.build-inset-target b{color:#f29b45;font-size:16px}.pinfig{background:var(--canvas);border-radius:6px;display:block}.pinfig-body{fill:var(--bg2);stroke:var(--ink3);stroke-width:1.2px}.pinfig-pin circle{fill:var(--bg1);stroke:var(--ink3);stroke-width:1.2px}.pinfig-pin text{font-family:var(--mono);fill:var(--ink3);paint-order:stroke;stroke:var(--canvas);stroke-width:3px;font-size:11px}.pinfig-pin.used circle{stroke:var(--ink)}.pinfig-pin.used text{fill:var(--ink2)}.pinfig-pin.done circle{fill:var(--ok);stroke:var(--ok)}.pinfig-pin.done text{fill:var(--ok)}.pinfig-dot{fill:#f29b45;stroke:#fff;stroke-width:2.5px}.pinfig-pulse{fill:#f29b452e;stroke:#f29b45;stroke-width:2.5px;animation:1.3s ease-in-out infinite build-pin-pulse}.pinfig-leader{stroke:#f29b45;stroke-width:2px}.pinfig-pill{fill:#f29b45;stroke:#fff;stroke-width:1.5px}.pinfig-pill-text{font-family:var(--mono);fill:#14181d;font-size:15px;font-weight:700}.pinfig-overview-bg{fill:var(--bg1);stroke:var(--line);stroke-width:1px}.pinfig-overview-body{fill:var(--bg2);stroke:var(--ink3);stroke-width:.8px}.pinfig-overview-window{fill:#f29b452e;stroke:#f29b45;stroke-width:1.2px}.pinfig-overview-dot{fill:#f29b45}@media (prefers-reduced-motion:reduce){.pinfig-pulse{animation:none}}.build-canvas-tools{z-index:3;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.pick-kit{width:100%;color:var(--ink2);flex-wrap:wrap;align-items:center;gap:5px;font-size:11px;display:flex}.pick-kit>span:first-child{align-items:center;gap:4px;display:inline-flex}.pick-kit em{color:var(--ink3);font-size:10.5px;font-style:normal}.pick-tools .seg{border:1px solid var(--line);border-radius:var(--r);gap:2px;padding:2px;display:flex}.pick-check.pending{border-style:dashed}.pick-swatch{border:2px solid;border-radius:3px;width:22px;height:34px;display:block}.pick-short{color:var(--err);align-items:center;gap:4px;font-size:10px;display:inline-flex}.pick-counter{align-items:center;gap:4px;display:flex}.pick-counter button{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);width:30px;height:30px;color:var(--ink);cursor:pointer;font-size:16px}.pick-counter button:disabled{opacity:.35;cursor:default}.pick-counter b{font-family:var(--mono);color:var(--ink2);font-size:13px}.pick-counter b em{color:var(--ink);font-size:16px;font-style:normal}.pick-flag{border:1px solid var(--line);border-radius:var(--r);height:28px;color:var(--ink3);font-family:var(--font);cursor:pointer;background:0 0;flex:none;padding:0 8px;font-size:10.5px}.pick-flag:hover{color:var(--err);border-color:var(--err)}.pick-flag.on{color:var(--ok);border-color:var(--ok)}.bterm-head{align-items:center;gap:14px;margin-bottom:12px;display:flex}.bterm-map{flex:1;justify-content:center;min-width:0;display:flex}.bterm-stats{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.bterm-stats b{font-family:var(--mono);color:var(--ink);font-size:20px}.bterm-stats small{color:var(--ink3);font-size:10.5px}.bterm-table{border-collapse:collapse;width:100%;font-size:11.5px}.bterm-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--line);padding:4px 6px;font-size:10px}.bterm-table td{border-bottom:1px solid var(--line-soft);color:var(--ink2);vertical-align:middle;padding:6px}.bterm-table tr:not(.empty) td{cursor:pointer}.bterm-table tr:not(.empty):hover td{background:var(--bg2)}.bterm-table tr.done td{color:var(--ok)}.bterm-table tr.empty td{color:var(--ink3)}.bterm-table td b{color:var(--ink)}.bterm-swatch{vertical-align:-1px;border:1.5px solid;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.build-flag-cats{flex-wrap:wrap;gap:5px;display:flex}.build-dialog-hint{color:var(--ink2);margin:0;font-size:11.5px;line-height:1.4}.build-flag-photo{color:var(--ink2);align-items:center;gap:8px;font-size:11px;display:flex}.build-ready{color:var(--ok);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.build-blockers{margin-bottom:12px}.build-blockers h4{color:var(--ink);align-items:center;gap:6px;margin:0 0 6px;font-size:12px;display:flex}.build-blockers h4 small{font-family:var(--mono);color:var(--ink3);font-weight:400}.build-blockers ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.build-blockers li{border-bottom:1px solid var(--line-soft);color:var(--ink2);align-items:center;gap:8px;padding:5px 0;font-size:11.5px;display:flex}.build-blockers li>span{flex-direction:column;flex:1;min-width:0;display:flex}.build-blockers li small.err{color:var(--err)}.build-issue-list{margin:0;padding:0;list-style:none}.build-issue-list li{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:8px;padding:6px 0;font-size:11.5px;display:flex}.build-issue-list li>span{color:var(--ink);flex-direction:column;flex:1;gap:2px;display:flex}.build-issue-list li small{color:var(--ink3);font-size:10.5px}.build-issue-list li.err>svg{color:var(--err)}.build-issue-list li.warn>svg{color:var(--warn)}.build-flag-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.build-flag-list li{border-radius:var(--r-lg);border:1px solid var(--err);background:#e064560f;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.build-flag-list li.resolved{border-color:var(--line);opacity:.75;background:0 0}.build-flag-main{min-width:0;color:var(--ink2);flex-direction:column;flex:1;gap:2px;font-size:11.5px;display:flex}.build-flag-main b{color:var(--ink)}.build-flag-main small{color:var(--ink3);font-size:10.5px}.build-flag-main small.ok{color:var(--ok)}.build-repeat{color:var(--warn);font-style:normal}.build-flag-actions{flex-direction:column;gap:4px;display:flex}.build-undo{z-index:6;background:var(--toast-bg,var(--bg1));border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);border-radius:22px;align-items:center;gap:10px;max-width:calc(100% - 40px);padding:8px 8px 8px 12px;font-size:12px;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%)}.build-undo>svg{color:var(--ok);flex:none}.build-undo>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.build-undo button{border:1px solid var(--copper);background:var(--copper-dim);height:28px;color:var(--copper-hi);font-family:var(--font);cursor:pointer;border-radius:14px;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:600;display:flex}.build-undo button.x{color:var(--ink3);background:0 0;border-color:#0000;padding:0 6px}.build-centre{position:relative}.board-scrim{align-items:stretch;padding:24px;display:flex}.board{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);min-height:0;box-shadow:var(--shadow);flex-direction:column;flex:1;display:flex}.board-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.board-head>div:first-child{flex-direction:column;gap:2px;display:flex}.board-head b{color:var(--ink);font-size:15px}.board-head span{color:var(--ink3);font-size:11.5px}.board-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.board-tools .tb-btn.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.board-body{flex:1;min-height:0;padding:8px 16px 16px;overflow:auto}.board-table{border-collapse:collapse;width:100%;font-size:12px}.board-table th{z-index:1;background:var(--bg1);text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--line);padding:6px 8px;font-size:10px;position:sticky;top:0}.board-table td{border-bottom:1px solid var(--line-soft);color:var(--ink2);vertical-align:middle;padding:8px}.board-table td>b,.board-table td>span{color:var(--ink);display:block}.board-table td small{color:var(--ink3);font-size:10.5px;display:block}.board-table td small.ok{color:var(--ok)}.board-table td small.warn,.board-table td span.warn{color:var(--warn)}.board-table tbody tr{cursor:pointer}.board-table tbody tr:hover td{background:var(--bg2)}.board-table tr.here td:first-child{box-shadow:inset 3px 0 0 var(--copper)}.board-sec{width:92px}.board-bar{background:var(--bg3);border-radius:4px;width:80px;height:8px;display:block;overflow:hidden}.board-bar i{background:var(--copper);height:100%;display:block}.board-bar.full i{background:var(--ok)}.board-flag{align-items:center;gap:4px;font-weight:700;color:var(--err)!important;display:inline-flex!important}.build-workspace.shopfloor{--dock-w-left:380px;--dock-w-right:330px}.build-workspace.shopfloor .side-left{width:var(--dock-w-left,380px)}.build-workspace.shopfloor .side-right{width:var(--dock-w-right,330px)}.build-workspace.shopfloor .tb-btn,.build-workspace.shopfloor .btn{height:40px;padding:0 12px;font-size:13px}.build-workspace.shopfloor .build-bar .dd,.build-workspace.shopfloor .build-bar .dd-trigger{min-height:40px;font-size:13px}.build-workspace.shopfloor .pick-search{height:40px}.build-workspace.shopfloor .pick-search input{font-size:14px}.build-workspace.shopfloor .build-detail-head h2{font-size:19px}.build-workspace.shopfloor .build-detail-kind{font-size:11px}.build-workspace.shopfloor .build-detail-sub,.build-workspace.shopfloor .build-howto p{font-size:13px}.build-workspace.shopfloor .bcard-number b{font-size:40px}.build-workspace.shopfloor .bcard-number b.bcard-text{font-size:20px}.build-workspace.shopfloor .bcard-device>b{font-size:36px}.build-workspace.shopfloor .bcard-end-head b{font-size:22px}.build-workspace.shopfloor .bcard-end-meta,.build-workspace.shopfloor .bcard-crimp small{font-size:12px}.build-workspace.shopfloor .bcard-crimp b{font-size:13px}.build-workspace.shopfloor .bcard-chip{min-height:32px;padding:0 10px;font-size:13px}.build-workspace.shopfloor .bcard-chip.big b{font-size:20px}.build-workspace.shopfloor .bcard-reading-box input{height:56px;font-size:28px}.build-workspace.shopfloor .bcard-camera,.build-workspace.shopfloor .bcard-record{min-height:56px;font-size:16px}.build-workspace.shopfloor .build-item{padding:10px 8px;font-size:14px}.build-workspace.shopfloor .build-item-body small{font-size:12px}.build-workspace.shopfloor .build-item-check{width:34px;height:34px;margin-top:6px}.build-workspace.shopfloor .build-item-cam{width:40px;height:40px;margin-top:6px}.build-workspace.shopfloor .build-detail-foot{gap:8px;padding:10px}.build-workspace.shopfloor .build-detail-foot .btn{min-width:60px;height:60px;font-size:15px}.build-workspace.shopfloor .build-detail-foot .btn-primary{font-size:18px}.build-workspace.shopfloor .build-step{font-size:14px}.build-workspace.shopfloor .build-step-body small{font-size:11.5px}.build-workspace.shopfloor .build-step-mark{width:22px;height:22px}.build-workspace.shopfloor .build-section-head{font-size:14px}.build-workspace.shopfloor .build-group-head{font-size:13px}.build-workspace.shopfloor .build-chip{height:32px;padding:0 12px;font-size:12.5px}.build-workspace.shopfloor .pick-main{padding:14px}.build-workspace.shopfloor .pick-mpn{font-size:15px}.build-workspace.shopfloor .pick-sub{font-size:12px}.build-workspace.shopfloor .pick-check{width:32px;height:32px}.build-workspace.shopfloor .pick-photo{width:76px;height:76px}.build-workspace.shopfloor .pick-counter button{width:44px;height:44px;font-size:20px}.build-workspace.shopfloor .pick-flag{height:44px;font-size:12px}.build-workspace.shopfloor .build-undo{font-size:15px;bottom:64px}.build-workspace.shopfloor .build-undo button{border-radius:20px;height:40px;padding:0 18px;font-size:15px}.build-workspace.shopfloor .build-reset-labels{height:40px;font-size:13px}.build-reset-labels.on{border-color:var(--copper);color:var(--copper-hi);background:var(--copper-dim)}.build-workspace.portrait{flex-direction:column}.build-workspace.portrait .build-centre{flex:54%;order:1;min-height:0}.build-workspace.portrait>.side-left{border-right:0;border-top:1px solid var(--line);flex:0 0 46%;order:2;min-height:0;width:auto!important}.build-workspace.portrait>.side-right{z-index:20;box-shadow:var(--shadow);border-left:1px solid var(--line);position:absolute;top:0;bottom:0;right:0;width:min(440px,92vw)!important}.build-rail-scrim{z-index:19;background:#00000059;position:absolute;inset:0}.build-modules{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);gap:2px;padding:2px;display:flex}.build-modules button{border-radius:calc(var(--r) - 1px);height:26px;color:var(--ink2);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.build-modules button:hover:not(:disabled){color:var(--ink)}.build-modules button:disabled{opacity:.4;cursor:default}.build-modules button.on{background:var(--copper);color:#14181d}.build-modules em{height:16px;font-style:normal;font-family:var(--mono);background:#0000002e;border-radius:8px;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex}.build-modules button:not(.on) em{background:var(--bg3);color:var(--ink2)}.build-field{flex-direction:column}.build-field .build-bar-wrap{flex:none}.fmod{flex-direction:column;flex:1;min-height:0;display:flex}.fmod-where{border-bottom:1px solid var(--line);background:var(--bg1);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.fmod-where-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);align-items:center;gap:5px;margin-right:4px;font-size:10.5px;display:inline-flex}.fmod-where-btn{border:1px solid var(--line);background:var(--bg2);height:30px;color:var(--ink2);font-family:var(--font);cursor:pointer;border-radius:15px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.fmod-where-btn:hover{border-color:var(--copper);color:var(--ink)}.fmod-where-btn.on{border-color:var(--copper);background:var(--copper);color:#14181d}.fmod-where-btn em{background:var(--bg3);min-width:20px;height:18px;font-style:normal;font-family:var(--mono);color:var(--ink);border-radius:9px;justify-content:center;align-items:center;padding:0 6px;font-size:10.5px;display:inline-flex}.fmod-where-btn.on em{color:#14181d;background:#0003}.fmod-where-btn.clear em{color:var(--ok);background:#57c79333}.fmod-where-spacer{flex:1}.fmod-views{gap:4px;display:flex}.fmod-drawing{display:flex}.fmod-drawing .canvas-wrap{height:100%}.fmod-drawing .build-canvas-legend{display:none}.fmod-where .tb-btn.on{color:var(--copper-hi);border-color:var(--copper);background:var(--copper-dim)}.fmod-body{flex:1;grid-template-columns:280px minmax(0,1fr) 360px;min-height:0;display:grid}.fmod-list{border-right:1px solid var(--line);background:var(--bg1);flex-direction:column;min-height:0;display:flex}.fmod-list>.build-chips{border-bottom:1px solid var(--line);padding:8px}.fmod-list-scroll{flex-direction:column;flex:1;gap:6px;min-height:0;padding:6px;display:flex;overflow-y:auto}.fmod-empty{margin:16px 8px;font-size:12px}.fbundle{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);width:100%;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:9px 10px;display:flex}.fbundle:hover{border-color:var(--copper)}.fbundle.on{border-color:var(--copper);border-left-color:var(--copper);background:var(--copper-dim)}.fbundle.done{border-left-color:var(--ok)}.fbundle-top{color:var(--err);align-items:center;gap:7px;display:flex}.fbundle-top b{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.fbundle-count{color:var(--ink2);font-size:11px}.fbundle-route{color:var(--ink2);align-items:center;gap:5px;min-width:0;font-size:11px;display:flex}.fbundle-route>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fbundle-entry{font-family:var(--mono);border:1px solid var(--line);border-radius:8px;flex:none;padding:1px 6px;font-size:10.5px}.fbundle-entry.grip{border-color:var(--sel);color:var(--sel)}.fbundle-entry.bulkhead{border-color:var(--copper);color:var(--copper-hi)}.fbundle-entry.none{border-color:var(--err);color:var(--err)}.fbundle-meta{color:var(--ink3);font-size:10.5px}.fbundle-bar{background:var(--bg3);border-radius:3px;height:5px;display:block;overflow:hidden}.fbundle-bar i{background:var(--copper);height:100%;transition:width .2s;display:block}.fbundle.done .fbundle-bar i{background:var(--ok)}.fmod-centre{background:var(--bg0);flex-direction:column;min-width:0;min-height:0;display:flex}.fmod-map{border-bottom:1px solid var(--line);flex:0 0 46%;min-height:280px;position:relative}.fmod-none{color:var(--ink3);flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.fmap{background:var(--canvas);position:absolute;inset:0}.fmap-empty{color:var(--ink3);justify-content:center;align-items:center;gap:8px;font-size:12.5px;display:flex}.fmap-hit{fill:none;stroke:#0000;stroke-width:18px;cursor:pointer}.fmap-line{fill:none;stroke-linecap:round;opacity:.9;pointer-events:none}.fmap-stripe{fill:none;stroke-width:2px;stroke-dasharray:6 8;pointer-events:none}.fmap-halo{fill:none;stroke:var(--sel);stroke-width:16px;opacity:.35;stroke-linecap:round;pointer-events:none}.fmap-edges.has-selection .fmap-edge:not(.on){opacity:.35}.fmap-edge.away{opacity:.18}.fmap-cabinet rect{fill:var(--bg1);stroke:var(--ink2);stroke-width:2px}.fmap-cabinet-name{font-family:var(--cond);fill:var(--ink);font-size:30px;font-weight:600}.fmap-cabinet-sub{fill:var(--ink3);font-size:12px}.fmap-wall{letter-spacing:.1em;fill:var(--ink3);font-size:10px}.fmap-entry{cursor:pointer}.fmap-entry circle,.fmap-entry>rect{fill:var(--bg1);stroke:var(--sel);stroke-width:3px}.fmap-entry.bulkhead>rect{stroke:var(--copper)}.fmap-entry.none circle{stroke:var(--err);stroke-dasharray:3 2}.fmap-entry.complete circle,.fmap-entry.complete>rect{fill:var(--ok);stroke:var(--ok)}.fmap-entry.on circle,.fmap-entry.on>rect{stroke-width:4px}.fmap-tag{fill:var(--bg1);stroke:var(--line);stroke-width:1px}.fmap-entry.on .fmap-tag{stroke:var(--sel);stroke-width:2px}.fmap-tag-text{font-family:var(--mono);fill:var(--ink);font-size:12px;font-weight:600}.fmap-node{cursor:pointer}.fmap-node rect{fill:var(--bg1);stroke:var(--line);stroke-width:1.5px}.fmap-node.cabinet rect{stroke-dasharray:6 4}.fmap-node.on rect{stroke:var(--sel);stroke-width:3px}.fmap-node.complete rect{stroke:var(--ok)}.fmap-node.here rect{stroke:var(--copper);stroke-width:3px;fill:var(--copper-dim)}.fmap-node.away{opacity:.35}.fmap-node-tag{font-family:var(--mono);fill:var(--ink);font-size:17px;font-weight:700}.fmap-node-mpn{font-family:var(--mono);fill:var(--ink3);font-size:11px}.fmap-node-loc{fill:var(--ink2);font-size:11px;font-weight:600}.fmap-node-done{fill:var(--ok)}.fmap-node-tick{fill:none;stroke:#0b1410;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.fmap-tools{inset:8px 8px auto auto}.fmap-legend{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);color:var(--ink2);pointer-events:none;flex-wrap:wrap;gap:10px;padding:4px 9px;font-size:10.5px;display:flex;position:absolute;bottom:8px;left:10px}.fmap-legend span{align-items:center;gap:5px;display:inline-flex}.fmap-legend i{border:2px solid var(--sel);border-radius:5px;width:10px;height:10px;display:block}.fmap-legend i.bulkhead{border-color:var(--copper);border-radius:2px}.fmap-legend i.none{border-color:var(--err);border-style:dashed}.fmap-legend i.done{background:var(--ok);border-color:var(--ok)}.fbench{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px 14px 24px;display:flex;overflow-y:auto}.fbench-head{align-items:center;gap:12px;display:flex}.fbench-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fbench-title b{color:var(--ink);font-size:22px}.fbench-title span{color:var(--ink2);font-size:12px}.fbench-title small{color:var(--ink3);font-size:11px}.fbench .build-issues{border:1px solid var(--line);border-radius:var(--r-lg)}.fend{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.fend.far{border-color:var(--sel)}.fend.other{border-style:dashed}.fend.ring{padding:6px 10px}.fend h3{color:var(--ink2);align-items:baseline;gap:6px;margin:0;font-size:13px;font-weight:600;display:flex}.fend h3 b{color:var(--ink);font-size:15px}.fend h3 small{color:var(--ink3);font-size:11px;font-weight:400}.fentry{justify-content:space-between;align-items:center;gap:12px;display:flex}.fentry-text{flex-direction:column;gap:2px;min-width:0;display:flex}.fentry-text b{color:var(--ink);font-size:18px}.fentry-text small{color:var(--ink2);font-size:11px}.fentry-text small.err{color:var(--err)}.fentry-kind{border:1px solid var(--line);border-radius:9px;align-self:flex-start;padding:1px 8px;font-size:10.5px;font-weight:600}.fentry-kind.grip{color:var(--sel);border-color:var(--sel)}.fentry-kind.bulkhead{color:var(--copper-hi);border-color:var(--copper)}.fentry-kind.none{color:var(--err);border-color:var(--err)}.fwall{flex-direction:column;flex:none;align-items:center;gap:2px;margin:0;display:flex}.fwall figcaption{color:var(--ink3);font-size:10px}.fwall-face{fill:var(--bg2);stroke:var(--ink3);stroke-width:1px}.fwall-other{fill:var(--bg1);stroke:var(--ink3);stroke-width:1.2px}.fwall-me{fill:#f29b45;stroke:#fff;stroke-width:1.5px}.fwall-pulse{fill:#f29b452e;stroke:#f29b45;stroke-width:1.5px;animation:1.3s ease-in-out infinite build-pin-pulse}.ftargets{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;display:grid}.ftarget{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg0);flex-direction:column;gap:8px;padding:9px 10px;display:flex}.ftarget.complete{border-color:#57c79380}.ftarget header{grid-template-columns:1fr auto;align-items:baseline;gap:1px 8px;display:grid}.ftarget-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);grid-column:1/-1;font-size:10px}.ftarget header>b{color:var(--ink);font-size:17px}.ftarget header>b.ftarget-where{font-size:15px;font-weight:600;line-height:1.3}.ftarget-sub{color:var(--ink2);grid-column:1;font-size:11.5px}.ftarget-count{color:var(--ink2);grid-area:2/2;font-size:12px}.ftarget-how{color:var(--ink2);flex-wrap:wrap;gap:4px 12px;margin:0;font-size:11px;display:flex}.ftarget-note{color:var(--ink3);margin:0;font-size:10px}.ftarget-close{border:1px dashed var(--line);border-radius:var(--r);color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:8px;padding:6px;display:flex}.ftarget-close>span:last-child{flex-direction:column;gap:1px;display:flex}.ftarget-close b{color:var(--ink);font-size:12px}.ftarget-close small{color:var(--ink3);font-size:10.5px}.ftarget-close.on{border-color:var(--copper);background:var(--copper-dim)}.ftarget-close.done b{color:var(--ink3);text-decoration:line-through}.ftarget.wide{max-width:calc(var(--cols) * 76px + 16px);grid-column:1/-1}.fcav{--gap:6px;--min:58px;gap:var(--gap);grid-template-columns:repeat(auto-fill, minmax(max(var(--min), (100% - (var(--cols) - 1) * var(--gap)) / var(--cols) - .1px), 1fr));display:grid}.fcav-cell{border:2px solid var(--line);background:var(--bg1);min-width:0;min-height:64px;font-family:var(--font);color:var(--ink2);cursor:default;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;display:flex;position:relative}.fcav-cell b{color:var(--ink);font-size:20px;line-height:1}.fcav-cell small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-family:var(--mono);overflow:hidden}.fcav-cell.used{cursor:pointer}.fcav-cell.used:hover{border-color:var(--copper)}.fcav-fill{display:flex}.fcav-cell.seal{background:repeating-linear-gradient(45deg, var(--bg1) 0 6px, var(--bg2) 6px 12px);border-style:dashed}.fcav-cell.seal b,.fcav-cell.other b{color:var(--ink3)}.fcav-cell.other{opacity:.5}.fcav-cell.done{border-color:var(--ok);background:#57c7931a}.fcav-cell.changed{border-color:var(--err)}.fcav-cell.pending{border-style:dashed}.fcav-cell.on{border-color:#f29b45;animation:1.3s ease-in-out infinite fcav-pulse;box-shadow:0 0 0 3px #f29b4559}@keyframes fcav-pulse{0%,to{box-shadow:0 0 0 3px #f29b4559}50%{box-shadow:0 0 0 7px #f29b451a}}@media (prefers-reduced-motion:reduce){.fcav-cell.on,.fwall-pulse{animation:none}}.fcav-tick{background:var(--ok);color:#0b1410;border-radius:8px;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:3px;right:3px}.fcav.compact{--gap:4px;--min:48px}.fcav.compact .fcav-cell{min-height:46px;padding:3px}.fcav.compact .fcav-cell b{font-size:16px}.fstrip{flex-wrap:wrap;gap:4px;display:flex}.fstrip-cell{border:2px solid var(--line);background:var(--bg1);width:56px;font-family:var(--font);color:var(--ink2);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;display:flex;position:relative}.fstrip-cell b{color:var(--ink);font-size:18px}.fstrip-cell small{font-size:10.5px;font-family:var(--mono)}.fstrip-cell:hover{border-color:var(--copper)}.fstrip-cell.done{border-color:var(--ok);background:#57c7931a}.fstrip-cell.changed{border-color:var(--err)}.fstrip-cell.on{border-color:#f29b45;box-shadow:0 0 0 3px #f29b4559}.fpins,.fprep,.fother{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.fpins li,.fprep li{border-radius:var(--r);border-left:3px solid #0000;align-items:center;gap:6px;display:flex}.fpins li.on,.fprep li.on{border-left-color:var(--copper);background:var(--copper-dim)}.fpins-check{border:1.5px solid var(--line);background:var(--bg1);width:26px;height:26px;color:var(--ok);cursor:pointer;border-radius:5px;flex:none;justify-content:center;align-items:center;display:flex}.fpins-check.on{border-color:var(--ok);background:#57c79324}.fpins-check.changed{border-color:var(--err)}.fpins-body,.fprep-body{min-width:0;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:center;gap:4px 8px;padding:6px;display:flex}.fpins-body b{color:var(--ink);font-size:15px}.fpins-body small{color:var(--ink3);flex-basis:100%;font-size:10.5px}.fprep-body{flex-direction:column;align-items:flex-start;gap:1px}.fprep-body b{color:var(--ink);font-size:13px}.fprep-body small{color:var(--ink3);font-size:11px}.fpins li.done .fpins-body b:first-of-type,.fprep li.done .fprep-body b{color:var(--ink3);text-decoration:line-through}.fother li{color:var(--ink2);align-items:center;gap:6px;font-size:12px;display:flex}.fother li small{color:var(--ink3);margin-left:auto}.fcores-toggle{color:var(--ink2);font-family:var(--font);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:12px;font-weight:600;display:flex}.fcores-toggle small{color:var(--ink3);font-weight:400}.fcores .bterm-table td .fcore-swatch{vertical-align:-2px}.fcore-swatch{border:1px solid #00000059;border-radius:3px;flex:none;display:inline-block}.fcore-swatch.sm{width:14px;height:14px}.fcore-swatch.md{width:16px;height:16px}.fcore-swatch.lg{border-radius:4px;width:26px;height:40px}.fcore-swatch.xl{border-width:3px;border-radius:29px;width:58px;height:58px}.fnow{border-left:1px solid var(--line);background:var(--bg1);flex-direction:column;min-height:0;display:flex}.fnow-scroll{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px;display:flex;overflow-y:auto}.fnow-progress{color:var(--ink2);align-items:center;gap:8px;font-size:12px;display:flex}.fnow-progress .fbundle-bar{flex:1;height:7px}.fnow-hero{border:2px solid var(--copper);background:var(--bg0);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.fnow-hero.done{border-color:var(--ok)}.fnow-where{letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);align-items:center;gap:5px;font-size:11px;display:inline-flex}.fnow-task{flex-direction:column;gap:4px;display:flex}.fnow-task b{color:var(--ink);font-size:22px;line-height:1.2}.fnow-task span{color:var(--ink2);font-size:13px}.fnow-done{color:var(--ok);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.fnow-done.big{font-size:16px}.fnow-hint{color:var(--ink2);font-size:12px}.fnow-next{flex-direction:column;gap:4px;display:flex}.fnow-next>span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-size:10.5px}.fnow-next button{border:1px solid var(--line);border-radius:var(--r);color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.fnow-next button:hover{border-color:var(--copper);color:var(--ink)}.fnow-actions{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:8px;padding:10px;display:flex}.fnow-small{gap:6px;display:flex}.fnow-small .btn{flex:1}.fnow-main{gap:6px;display:flex}.fnow-main .btn{height:48px}.fnow-main .btn:first-child svg{transform:rotate(180deg)}.fnow-main .btn-primary{flex:1;font-size:16px;font-weight:700}.fnow-actions>.btn{height:40px}.fhero{flex-direction:column;gap:8px;display:flex}.fhero-core{align-items:center;gap:14px;display:flex}.fhero-core>div{flex-direction:column;min-width:0;display:flex}.fhero-core small,.fhero-target small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-size:10.5px}.fhero-core b{color:var(--ink);font-size:40px;line-height:1}.fhero-core span{color:var(--ink2);font-size:13px}.fhero-arrow{color:var(--copper-hi);padding-left:20px}.fhero-target{flex-direction:column;gap:2px;display:flex}.fhero-target b{color:#f29b45;font-size:38px;line-height:1.05}.fhero-target b em{color:var(--ink2);margin-right:4px;font-size:16px;font-style:normal}.fhero-target span{color:var(--ink2);font-size:12.5px}.fhero-how{color:var(--ink);flex-direction:column;gap:3px;margin:0;padding-left:18px;font-size:12.5px;display:flex}.build-workspace.shopfloor .build-modules button{height:36px;padding:0 14px;font-size:13.5px}.build-workspace.shopfloor .fmod-where-btn{border-radius:20px;height:40px;padding:0 16px;font-size:14px}.build-workspace.shopfloor .fmod-body{grid-template-columns:300px minmax(0,1fr) 420px}.build-workspace.shopfloor .fbundle b{font-size:16px}.build-workspace.shopfloor .fbundle-route,.build-workspace.shopfloor .fbundle-meta{font-size:12.5px}.build-workspace.shopfloor .fcav-cell{min-height:76px}.build-workspace.shopfloor .fcav-cell b{font-size:26px}.build-workspace.shopfloor .fstrip-cell{width:68px}.build-workspace.shopfloor .fstrip-cell b{font-size:22px}.build-workspace.shopfloor .fpins-check{width:36px;height:36px}.build-workspace.shopfloor .fpins-body b{font-size:18px}.build-workspace.shopfloor .fprep-body b{font-size:15px}.build-workspace.shopfloor .fhero-core b{font-size:56px}.build-workspace.shopfloor .fcore-swatch.xl{border-radius:38px;width:76px;height:76px}.build-workspace.shopfloor .fhero-target b{font-size:50px}.build-workspace.shopfloor .fhero-how{font-size:15px}.build-workspace.shopfloor .fnow-main .btn{height:64px}.build-workspace.shopfloor .fnow-main .btn-primary{font-size:20px}.fmod.portrait .fmod-body{flex-direction:column;display:flex;overflow-y:auto}.fmod.portrait .fmod-list{border-right:0;border-bottom:1px solid var(--line);flex:none}.fmod.portrait .fmod-list>.build-chips{display:none}.fmod.portrait .fmod-list-scroll{flex-direction:row;overflow:auto hidden}.fmod.portrait .fbundle{flex:0 0 240px}.fmod.portrait .fnow{border-left:0;border-bottom:1px solid var(--line);flex:none;order:-1}.fmod.portrait .fnow-scroll{overflow:visible}.fmod.portrait .fmod-centre{flex:none}.fmod.portrait .fmod-map{flex:none;height:360px}.fmod.portrait .fbench{overflow:visible}.twist-layer{pointer-events:none}.twist-mark .twist-stroke{fill:none;stroke:var(--ink);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.twist-mark .twist-outline{fill:none;stroke:none;stroke-width:1.2px;stroke-dasharray:4 3}.twist-mark.hover .twist-outline{stroke:var(--sel)}.twist-mark.sel .twist-stroke{stroke:#f29b45;stroke-width:1.9px}.twist-mark.sel .twist-outline{stroke:var(--sel)}.twist-mark.dragging .twist-stroke{stroke:var(--sel);stroke-width:1.9px}.twist-mark.dragging .twist-outline{stroke:var(--sel)}.fhero-target .fhero-where{color:var(--ink2);font-size:13px;font-weight:600;line-height:1.3}.fhero-target .fhero-where.big{color:var(--ink);font-size:16px}.shopfloor .fhero-target .fhero-where.big{font-size:19px}.cab-locator{flex-direction:column;gap:4px;min-width:0;margin:0;display:flex}.cab-locator svg{width:100%;display:block}.cab-loc-plate{fill:var(--bg2);stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.cab-loc-face{fill:var(--bg1);stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.cab-loc-rail{fill:#3d4650}.cab-loc-duct{fill:#20262d;stroke:#3a4650;stroke-width:.6px;vector-effect:non-scaling-stroke}.cab-loc-dev{stroke:#06080a8c;stroke-width:.6px;vector-effect:non-scaling-stroke}.cab-locator figcaption{color:var(--ink2);flex-direction:column;gap:1px;font-size:12px;line-height:1.35;display:flex}.cab-locator figcaption>b{color:var(--ink);font-size:14px}.cab-locator figcaption span b{color:var(--ink)}.cab-locator figcaption small{color:var(--ink3);font-size:10.5px}.shopfloor .cab-locator figcaption>b{font-size:17px}.bterm-where{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--canvas);margin-bottom:10px;padding:6px}.comment-layer{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.comment-pin{cursor:pointer;pointer-events:auto;background:0 0;border:none;padding:0;position:absolute;transform:translate(-1px,calc(1px - 100%))}.comment-pin-bubble{background:var(--pin-color,var(--copper));color:#14181d;width:24px;height:24px;font-family:var(--cond);box-shadow:0 0 0 1.5px var(--canvas), 0 3px 10px #00000059;transform-origin:0 100%;border-radius:12px 12px 12px 2px;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:transform .12s ease-out,box-shadow .12s;display:flex}.comment-pin:hover .comment-pin-bubble{transform:scale(1.12)}.comment-pin.open .comment-pin-bubble{box-shadow:0 0 0 1.5px var(--canvas), 0 0 0 3.5px var(--sel), 0 4px 14px #0006;transform:scale(1.18)}.comment-pin.for-me .comment-pin-bubble{box-shadow:0 0 0 1.5px var(--canvas), 0 0 0 3.5px var(--copper), 0 3px 10px #00000059}.comment-pin.for-me:after{content:"";background:var(--err);width:8px;height:8px;box-shadow:0 0 0 1.5px var(--canvas);border-radius:50%;position:absolute;top:-3px;left:-3px}.comment-pin.resolved .comment-pin-bubble{background:var(--bg3);color:var(--ok);opacity:.85}.comment-pin.detached .comment-pin-bubble{outline:1.5px dashed var(--ink3);outline-offset:2px}.comment-pin.draft{cursor:default;pointer-events:none}.comment-pin.draft .comment-pin-bubble{background:var(--copper);animation:.18s ease-out comment-drop}@keyframes comment-drop{0%{opacity:0;transform:scale(.4)}}.comment-pin-count{border:1px solid var(--line);background:var(--bg1);min-width:15px;height:15px;color:var(--ink);font-family:var(--mono);text-align:center;border-radius:8px;padding:0 3px;font-size:9px;font-weight:600;line-height:13px;position:absolute;top:-6px;right:-9px}.comment-card{z-index:150;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);width:min(330px,100vw - 16px);max-height:min(480px,100dvh - 16px);box-shadow:var(--shadow);flex-direction:column;animation:90ms ease-out menu-in;display:flex;position:fixed}.comment-card-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:6px;padding:7px 8px 7px 11px;display:flex}.comment-card-where{min-width:0;color:var(--ink2);font-family:var(--cond);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:flex;overflow:hidden}.comment-card-where .icon{color:var(--copper);flex:none}.comment-resolve{padding:0 8px;font-size:11px}.comment-resolve .icon{color:var(--ok)}.comment-resolved-note,.comment-assignees{border-bottom:1px solid var(--line-soft);color:var(--ink3);flex-wrap:wrap;flex:none;align-items:center;gap:5px;padding:6px 12px;font-size:10.5px;display:flex}.comment-resolved-note{color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, transparent)}.comment-list{flex:auto;min-height:0;padding:2px 12px;overflow-y:auto}.comment-row{border-bottom:1px solid var(--line-soft);padding:9px 0}.comment-row:last-child{border-bottom:none}.comment-row-head{align-items:center;gap:7px;min-height:22px;display:flex}.comment-row-head b{color:var(--ink);font-size:12px;font-weight:600}.comment-row-head time{color:var(--ink3);font-size:10.5px}.comment-row-tools{opacity:0;gap:3px;margin-left:auto;transition:opacity .12s;display:flex}.comment-row:hover .comment-row-tools,.comment-row-tools:focus-within{opacity:1}.comment-body{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;margin:4px 0 0 25px;font-size:12.5px;line-height:1.5}.comment-card.resolved .comment-body{color:var(--ink2)}.comment-row .mention-composer{margin:6px 0 0 25px}.comment-confirm{color:var(--ink2);align-items:center;gap:6px;margin:6px 0 0 25px;font-size:11.5px;display:flex}.comment-confirm span{flex:1}.comment-card-compose{border-top:1px solid var(--line);flex:none;padding:8px 12px 10px}.comment-card.draft .comment-card-compose{border-top:none;padding-top:10px}.mention-chip{background:var(--sel-dim);color:var(--sel);white-space:nowrap;border-radius:3px;padding:0 3px;font-weight:600}.mention-chip.me{background:var(--copper-dim);color:var(--copper-hi)}.mention-field{position:relative}.mention-input{border:1px solid var(--line);border-radius:var(--r);background:var(--well);width:100%;min-height:32px;max-height:160px;color:var(--ink);font-family:var(--font);resize:none;padding:7px 9px;font-size:12.5px;line-height:1.45;display:block;overflow-y:auto}.mention-input:focus{border-color:var(--copper);outline:none}.mention-input::placeholder{color:var(--ink3)}.mention-composer.busy .mention-input{opacity:.6}.mention-actions{align-items:center;gap:6px;margin-top:7px;display:flex}.mention-actions small{color:var(--ink3);flex:1;font-size:10px}.mention-list{z-index:3;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg2);max-height:224px;box-shadow:var(--shadow);padding:3px;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow-y:auto}.mention-list.above{top:auto;bottom:calc(100% + 3px)}.mention-opt{border-radius:var(--r);width:100%;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:5px 7px;font-size:12px;display:flex}.mention-opt.hi{background:var(--bg3);color:var(--ink)}.mention-opt .avatar{flex:none}.mention-opt-name{white-space:nowrap}.mention-opt-mail{min-width:0;color:var(--ink3);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:10.5px;overflow:hidden}.ct-comments-menu .btn-tool{border-radius:6px;gap:3px;height:28px;padding:0 7px}.ct-comments-menu .btn-tool:not(.active){background:var(--bg0);border-color:var(--line);color:var(--ink3)}.ct-count{color:var(--copper-hi);font-size:10px}.bell-btn{justify-content:center;width:30px;padding:0;position:relative}.bell-btn.has,.bell-btn.open{color:var(--ink)}.bell-badge{background:var(--err);color:#fff;text-align:center;min-width:15px;height:15px;box-shadow:0 0 0 2px var(--bg1);pointer-events:none;border-radius:8px;padding:0 4px;font-size:9.5px;font-weight:700;line-height:15px;position:absolute;top:1px;right:-1px}.bell-pop{z-index:210;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg1);width:min(370px,100vw - 16px);max-height:min(540px,100dvh - 64px);box-shadow:var(--shadow);flex-direction:column;animation:90ms ease-out menu-in;display:flex;position:fixed}.bell-head{border-bottom:1px solid var(--line);flex:none}.bell-tabs{display:flex}.bell-tabs button{height:36px;color:var(--ink2);font-family:var(--cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.bell-tabs button:hover{color:var(--ink)}.bell-tabs button.on{color:var(--copper-hi);border-bottom-color:var(--copper)}.bell-tabs b{background:var(--bg3);min-width:17px;color:var(--ink);border-radius:8px;padding:0 5px;font-size:10px;line-height:16px}.bell-tabs button.on b{background:var(--copper-dim);color:var(--copper-hi)}.bell-list{flex:auto;min-height:0;padding:4px;overflow-y:auto}.bell-row{border-radius:var(--r);width:100%;color:var(--ink2);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;gap:9px;padding:9px 10px;display:flex}.bell-row:hover{background:var(--bg2)}.bell-row .avatar{flex:none;width:22px;height:22px;margin-top:1px;font-size:11px}.bell-row.for-me{box-shadow:inset 2px 0 0 var(--copper)}.bell-row.resolved{opacity:.62}.bell-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bell-row-top{align-items:baseline;gap:4px;font-size:12px;display:flex}.bell-row-top b{color:var(--ink);font-weight:600}.bell-row-top time{color:var(--ink3);white-space:nowrap;margin-left:auto;padding-left:8px;font-size:10.5px}.bell-row-where{color:var(--ink3);font-family:var(--cond);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:600;overflow:hidden}.bell-row-where em{color:var(--copper);margin-right:6px;font-style:normal}.bell-row-text{color:var(--ink);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.bell-row-meta{color:var(--ink3);font-size:10.5px}.bell-empty{color:var(--ink3);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:30px 26px;font-size:11.5px;line-height:1.5;display:flex}.bell-empty b{color:var(--ink2);font-size:12.5px}.bell-empty em{color:var(--ink2);font-style:normal;font-weight:600}.bell-foot{border-top:1px solid var(--line);color:var(--ink2);flex:none;gap:16px;padding:8px 12px;font-size:11px;display:flex}.bell-foot label{cursor:pointer;align-items:center;gap:5px;display:flex}.bell-foot input{accent-color:var(--copper)}@media (width<=1480px){.tab{padding:0 11px}}
