/* [next]/internal/font/google/ibm_plex_sans_44f89ef8.module.css [app-client] (css) */
@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/44ed10da57ebfb0e-s.2y65deuc30pmy.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/73263b2957b73100-s.2qt3tdwt-y9x_.woff2") format("woff2");
  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-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/ab664c0e419cc841-s.3cvcemwuzoywn.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6fca7e74603dd412-s.02z5rrbg5nt92.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c1b11b726b36a5e5-s.2rixgazldzomk.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/48eea41d8317494f-s.p.0wiir8udbzjvx.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/44ed10da57ebfb0e-s.2y65deuc30pmy.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/73263b2957b73100-s.2qt3tdwt-y9x_.woff2") format("woff2");
  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-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/ab664c0e419cc841-s.3cvcemwuzoywn.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6fca7e74603dd412-s.02z5rrbg5nt92.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c1b11b726b36a5e5-s.2rixgazldzomk.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/48eea41d8317494f-s.p.0wiir8udbzjvx.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/44ed10da57ebfb0e-s.2y65deuc30pmy.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/73263b2957b73100-s.2qt3tdwt-y9x_.woff2") format("woff2");
  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-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/ab664c0e419cc841-s.3cvcemwuzoywn.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6fca7e74603dd412-s.02z5rrbg5nt92.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c1b11b726b36a5e5-s.2rixgazldzomk.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/48eea41d8317494f-s.p.0wiir8udbzjvx.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/44ed10da57ebfb0e-s.2y65deuc30pmy.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/73263b2957b73100-s.2qt3tdwt-y9x_.woff2") format("woff2");
  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-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/ab664c0e419cc841-s.3cvcemwuzoywn.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/6fca7e74603dd412-s.02z5rrbg5nt92.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c1b11b726b36a5e5-s.2rixgazldzomk.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/48eea41d8317494f-s.p.0wiir8udbzjvx.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Sans Fallback;
  src: local(Arial);
  ascent-override: 101.32%;
  descent-override: 27.18%;
  line-gap-override: 0.0%;
  size-adjust: 101.17%;
}

.ibm_plex_sans_44f89ef8-module__CjyCuq__className {
  font-family: IBM Plex Sans, IBM Plex Sans Fallback;
  font-style: normal;
}

.ibm_plex_sans_44f89ef8-module__CjyCuq__variable {
  --font-plex-sans: "IBM Plex Sans", "IBM Plex Sans Fallback";
}

/* [next]/internal/font/google/ibm_plex_mono_2107a1c2.module.css [app-client] (css) */
@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/faab88e4be272d29-s.0rgnxg2b64rzs.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/a45aa1001bf9176f-s.2vemzm0itqzfy.woff2") format("woff2");
  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-weight: 400;
  font-display: swap;
  src: url("../media/41ba59f553543ecf-s.3cb5lpr2l6xud.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/67bba87670b402d1-s.1u30mmyq6lnsd.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/d6c1ff7e86974212-s.p.40sczeszzbjw1.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/49b1d53681a91a99-s.1yd4_i3e35931.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/123d516c9baeb953-s.1qc6dx89jd2qv.woff2") format("woff2");
  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-weight: 500;
  font-display: swap;
  src: url("../media/a74d2542cc4c775f-s.29yke99gs9qpn.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/7ac0b1cd3e695dd0-s.1i-sca43-qwng.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/916cd8a3bde3edf8-s.p.0oace-s_gkfks.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/e60f3e45d49b65c3-s.352ti9pm7m6qh.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1f5edaafc8393c36-s.0o-3_g79811ob.woff2") format("woff2");
  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-weight: 600;
  font-display: swap;
  src: url("../media/f1c080d8717d5d0c-s.0ngr-xkgqz1kf.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/afc8e0e4a8c58d89-s.15orukf5wyxb5.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2880e9b87afbd5d9-s.p.226pwps5o-gq_.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Mono Fallback;
  src: local(Arial);
  ascent-override: 76.16%;
  descent-override: 20.43%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.ibm_plex_mono_2107a1c2-module__GIqCja__className {
  font-family: IBM Plex Mono, IBM Plex Mono Fallback;
  font-style: normal;
}

.ibm_plex_mono_2107a1c2-module__GIqCja__variable {
  --font-plex-mono: "IBM Plex Mono", "IBM Plex Mono Fallback";
}

/* [next]/internal/font/google/jetbrains_mono_42ef8ac4.module.css [app-client] (css) */
@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/c64053b510252f55-s.1kd-r_s9smv5m.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/733da6bd8dac84c8-s.3hlisc-pwq13z.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/784318cea1dfcfa4-s.0-oo9_1x_xmvg.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/7e114457660b62ed-s.36fqqi66-3tjb.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9fecbd3e5ea9bccb-s.3_z45zcoc-xoz.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9a321a2c78eff0b5-s.p.1bkzbscqrt8rl.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/c64053b510252f55-s.1kd-r_s9smv5m.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/733da6bd8dac84c8-s.3hlisc-pwq13z.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/784318cea1dfcfa4-s.0-oo9_1x_xmvg.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/7e114457660b62ed-s.36fqqi66-3tjb.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9fecbd3e5ea9bccb-s.3_z45zcoc-xoz.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9a321a2c78eff0b5-s.p.1bkzbscqrt8rl.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/c64053b510252f55-s.1kd-r_s9smv5m.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/733da6bd8dac84c8-s.3hlisc-pwq13z.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/784318cea1dfcfa4-s.0-oo9_1x_xmvg.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/7e114457660b62ed-s.36fqqi66-3tjb.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9fecbd3e5ea9bccb-s.3_z45zcoc-xoz.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9a321a2c78eff0b5-s.p.1bkzbscqrt8rl.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: JetBrains Mono Fallback;
  src: local(Arial);
  ascent-override: 75.79%;
  descent-override: 22.29%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.jetbrains_mono_42ef8ac4-module__W1-RhG__className {
  font-family: JetBrains Mono, JetBrains Mono Fallback;
  font-style: normal;
}

.jetbrains_mono_42ef8ac4-module__W1-RhG__variable {
  --font-jetbrains-mono: "JetBrains Mono", "JetBrains Mono Fallback";
}

/* [next]/internal/font/google/fira_code_e3ef9355.module.css [app-client] (css) */
@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2542c97081d27b0c-s.0tlm39yf_ckdx.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/11dd2674118891ce-s.3fnhzl7vreycw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/7d8aa323c2a5602a-s.0jxe124sc_62t.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5bc02fdab8c33fd8-s.0iws-x-_m0m6k.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/6cc1ab76fa999d2c-s.0f7v04cdymq72.woff2") format("woff2");
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9379da8ac5af6a68-s.3xa5d8otat0m1.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/356810c1c81c4d60-s.2qe5xx8d5sx8i.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2542c97081d27b0c-s.0tlm39yf_ckdx.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/11dd2674118891ce-s.3fnhzl7vreycw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/7d8aa323c2a5602a-s.0jxe124sc_62t.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5bc02fdab8c33fd8-s.0iws-x-_m0m6k.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/6cc1ab76fa999d2c-s.0f7v04cdymq72.woff2") format("woff2");
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9379da8ac5af6a68-s.3xa5d8otat0m1.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/356810c1c81c4d60-s.2qe5xx8d5sx8i.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2542c97081d27b0c-s.0tlm39yf_ckdx.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/11dd2674118891ce-s.3fnhzl7vreycw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/7d8aa323c2a5602a-s.0jxe124sc_62t.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5bc02fdab8c33fd8-s.0iws-x-_m0m6k.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/6cc1ab76fa999d2c-s.0f7v04cdymq72.woff2") format("woff2");
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9379da8ac5af6a68-s.3xa5d8otat0m1.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fira Code;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/356810c1c81c4d60-s.2qe5xx8d5sx8i.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fira Code Fallback;
  src: local(Arial);
  ascent-override: 73.56%;
  descent-override: 23.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.fira_code_e3ef9355-module___cAiPa__className {
  font-family: Fira Code, Fira Code Fallback;
  font-style: normal;
}

.fira_code_e3ef9355-module___cAiPa__variable {
  --font-fira-code: "Fira Code", "Fira Code Fallback";
}

/* [next]/internal/font/google/source_code_pro_4c6d8fec.module.css [app-client] (css) */
@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/50045f7d80f7381d-s.0vbhejztomta0.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2cf64c6f76ce7c1a-s.1vqi-k1w20m2i.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2eabde602c2ea8bd-s.016_c6f56w-54.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/b421b8e2d365b903-s.43u5tn_wmp7tb.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/55c1635ac04d2af7-s.0o146vuhj0hlr.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/cbd71410ee45994d-s.19n67_thuu7m9.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/de6e71f3e1b49215-s.2s-4kwv_nqb0b.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/50045f7d80f7381d-s.0vbhejztomta0.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2cf64c6f76ce7c1a-s.1vqi-k1w20m2i.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2eabde602c2ea8bd-s.016_c6f56w-54.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/b421b8e2d365b903-s.43u5tn_wmp7tb.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/55c1635ac04d2af7-s.0o146vuhj0hlr.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/cbd71410ee45994d-s.19n67_thuu7m9.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/de6e71f3e1b49215-s.2s-4kwv_nqb0b.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/50045f7d80f7381d-s.0vbhejztomta0.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2cf64c6f76ce7c1a-s.1vqi-k1w20m2i.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2eabde602c2ea8bd-s.016_c6f56w-54.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/b421b8e2d365b903-s.43u5tn_wmp7tb.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/55c1635ac04d2af7-s.0o146vuhj0hlr.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/cbd71410ee45994d-s.19n67_thuu7m9.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Source Code Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/de6e71f3e1b49215-s.2s-4kwv_nqb0b.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Source Code Pro Fallback;
  src: local(Arial);
  ascent-override: 73.11%;
  descent-override: 20.28%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.source_code_pro_4c6d8fec-module__1MOI9q__className {
  font-family: Source Code Pro, Source Code Pro Fallback;
  font-style: normal;
}

.source_code_pro_4c6d8fec-module__1MOI9q__variable {
  --font-source-code-pro: "Source Code Pro", "Source Code Pro Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
:root {
  --bg: #f2f4f7;
  --surface: #fff;
  --surface-2: #eceff3;
  --line: #dbe0e7;
  --ink: #101720;
  --ink-2: #5b6674;
  --accent: #2350d8;
  --accent-ink: #fff;
  --accent-soft: #2350d81a;
  --ok: #17865a;
  --warn: #b26a10;
  --bad: #c43a30;
  --ok-soft: #17865a1f;
  --warn-soft: #b26a1021;
  --bad-soft: #c43a301c;
  --idle: #8a95a3;
  --code-bg: #f6f7f9;
  --hl-keyword: #a1356b;
  --hl-string: #17865a;
  --hl-number: #9a5b00;
  --hl-title: #2350d8;
  --shadow: 0 1px 2px #1017200f, 0 8px 24px #1017200f;
  --font-body: var(--font-plex-sans), system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-code: var(--font-plex-mono), ui-monospace, "SF Mono", Menlo, monospace;
  --r: 8px;
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0c1015;
    --surface: #131920;
    --surface-2: #1a222b;
    --line: #26303b;
    --ink: #e5eaf0;
    --ink-2: #8e9aa8;
    --accent: #7095ff;
    --accent-ink: #0b1020;
    --accent-soft: #7095ff24;
    --ok: #3ccf8e;
    --warn: #f0b04c;
    --bad: #ff6f63;
    --ok-soft: #3ccf8e21;
    --warn-soft: #f0b04c21;
    --bad-soft: #ff6f6321;
    --idle: #67727f;
    --code-bg: #0f141a;
    --hl-keyword: #f08fbf;
    --hl-string: #6fdca8;
    --hl-number: #f0b04c;
    --hl-title: #8fb0ff;
    --shadow: 0 1px 2px #0006, 0 8px 24px #0000004d;
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --bg: #0c1015;
  --surface: #131920;
  --surface-2: #1a222b;
  --line: #26303b;
  --ink: #e5eaf0;
  --ink-2: #8e9aa8;
  --accent: #7095ff;
  --accent-ink: #0b1020;
  --accent-soft: #7095ff24;
  --ok: #3ccf8e;
  --warn: #f0b04c;
  --bad: #ff6f63;
  --ok-soft: #3ccf8e21;
  --warn-soft: #f0b04c21;
  --bad-soft: #ff6f6321;
  --idle: #67727f;
  --code-bg: #0f141a;
  --hl-keyword: #f08fbf;
  --hl-string: #6fdca8;
  --hl-number: #f0b04c;
  --hl-title: #8fb0ff;
  --shadow: 0 1px 2px #0006, 0 8px 24px #0000004d;
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
  margin: 0;
}

body {
  background: var(--bg);
  color: var(--ink);
  font: 14px/1.5 var(--font-body);
  -webkit-font-smoothing: antialiased;
}

button, input, textarea, select {
  font: inherit;
  color: inherit;
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

code, .mono {
  font-family: var(--font-code);
  font-size: 12.5px;
}

h1, h2, h3 {
  text-wrap: balance;
  margin: 0;
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}

svg.i {
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
  width: 16px;
  height: 16px;
}

.sr-only {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.desk-frame {
  flex-direction: column;
  height: 100%;
  display: flex;
}

.desk-frame > .shell {
  flex: 1;
  height: auto;
  min-height: 0;
}

.update-bar {
  padding: 6px 12px;
  padding-top: calc(6px + env(safe-area-inset-top));
  background: var(--accent-soft);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  align-items: center;
  gap: 10px;
  font-size: 13px;
  display: flex;
}

.update-bar > svg.i {
  color: var(--accent);
  flex: none;
}

.update-bar-text {
  flex: 1;
  min-width: 0;
}

.update-bar-reload {
  height: 28px;
}

.update-bar-close {
  width: 28px;
  height: 28px;
  color: var(--ink-2);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  place-items: center;
  display: grid;
}

.update-bar-close:hover {
  background: var(--surface-2);
  color: var(--ink);
}

.shell {
  grid-template-columns: 248px 1fr;
  height: 100%;
  display: grid;
  position: relative;
}

.side-toggle {
  z-index: 5;
  app-region: no-drag;
  -webkit-app-region: no-drag;
  position: absolute;
  top: 14px;
  left: 12px;
}

:root[data-side="collapsed"] .shell {
  grid-template-columns: 1fr;
}

:root[data-side="collapsed"] .side {
  display: none;
}

:root[data-side="collapsed"] .main > .top {
  padding-left: 54px;
}

.side {
  background: var(--surface);
  border-right: 1px solid var(--line);
  flex-direction: column;
  min-height: 0;
  display: flex;
}

.brand {
  color: var(--ink);
  align-items: center;
  gap: 10px;
  padding: 14px 18px 14px 50px;
  display: flex;
}

.brand:hover {
  text-decoration: none;
}

.brand-mark {
  flex: none;
  width: 30px;
  height: 30px;
  display: block;
}

.btn .brand-mark {
  width: 16px;
  height: 16px;
}

.brand-name {
  letter-spacing: -.01em;
  font-size: 15px;
  font-weight: 600;
}

.side-new {
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--ink);
  font: 500 13px/1.3 var(--font-body);
  cursor: pointer;
  text-align: left;
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  margin: 0 10px 10px;
  padding: 7px 10px;
  display: flex;
}

.side-new:hover {
  background: var(--surface-2);
  border-color: var(--accent);
}

.side-new svg.i {
  color: var(--accent);
}

.nav {
  gap: 2px;
  padding: 4px 10px;
  display: grid;
}

.nav a, .ws-link {
  color: var(--ink-2);
  border-radius: 6px;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  font-weight: 500;
  display: flex;
}

.nav a:hover, .ws-link:hover {
  background: var(--surface-2);
  color: var(--ink);
  text-decoration: none;
}

.nav a[aria-current="page"], .ws-link[aria-current="page"] {
  background: var(--accent-soft);
  color: var(--accent);
}

.nav .count {
  font: 500 11px/1 var(--font-code);
  color: var(--ink-2);
  margin-left: auto;
}

.nav .flag {
  background: var(--warn);
  border-radius: 50%;
  width: 7px;
  height: 7px;
  margin-left: auto;
}

.side-label {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-2);
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px 6px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.side-scroll {
  scrollbar-width: thin;
  flex-direction: column;
  flex: auto;
  min-height: 0;
  padding-bottom: 8px;
  display: flex;
  overflow-y: auto;
}

.ws-list {
  align-content: start;
  gap: 1px;
  padding: 0 10px;
  display: grid;
}

.side-menu-toggle {
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: flex-start;
  gap: 6px;
  width: 100%;
  padding-top: 2px;
  font-family: inherit;
}

.side-menu-toggle:hover {
  color: var(--ink);
}

.side-menu-toggle .chev {
  transform: rotate(90deg);
}

.side-menu-toggle .chev svg.i {
  width: 12px;
  height: 12px;
}

.side-menu-toggle .count {
  background: var(--warn);
  color: #fff;
  font: 500 11px/1 var(--font-code);
  letter-spacing: 0;
  border-radius: 999px;
  margin-left: auto;
  padding: 2px 6px;
  display: none;
}

:root[data-side-nav="collapsed"] .side-menu-toggle .chev {
  transform: none;
}

:root[data-side-nav="collapsed"] .side-menu-toggle .count {
  display: inline-block;
}

:root[data-side-nav="collapsed"] .side-scroll > .nav {
  display: none;
}

:root[data-side-nav="collapsed"] .side-scroll > .nav + .side-label {
  padding-top: 10px;
}

.ws-link {
  font: 400 12.5px/1.3 var(--font-code);
}

.ws-link .n {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.ws-link .n.label {
  font-family: var(--font-body);
  font-size: 13px;
}

.wtitle a.name.label, .ws-hero h1.label {
  font-family: var(--font-body);
  letter-spacing: -.01em;
  font-weight: 600;
}

.real-name {
  color: var(--ink-2);
  overflow-wrap: anywhere;
  margin-top: 2px;
  font-size: 12px;
}

.ws-list .hint {
  padding: 4px 10px;
}

.side-foot {
  border-top: 1px solid var(--line);
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding: 12px 14px;
  display: flex;
}

.avatar {
  background: var(--surface-2);
  width: 28px;
  height: 28px;
  color: var(--ink-2);
  text-transform: uppercase;
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: 12px;
  font-weight: 600;
  display: grid;
}

.who {
  flex: 1;
  min-width: 0;
  margin-left: 4px;
}

.who b {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  display: block;
  overflow: hidden;
}

.who span {
  color: var(--ink-2);
  font-size: 12px;
}

.icon-btn {
  color: var(--ink-2);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 6px;
  flex: none;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  display: grid;
}

.icon-btn:hover {
  background: var(--surface-2);
  color: var(--ink);
}

.main {
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  display: flex;
}

.top {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  align-items: center;
  gap: 16px;
  min-height: 57px;
  padding: 12px 28px;
  display: flex;
}

.crumbs {
  color: var(--ink-2);
  white-space: nowrap;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 13px;
  display: flex;
  overflow: hidden;
}

.crumbs a {
  color: var(--ink-2);
  flex: none;
}

.crumbs b {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  overflow: hidden;
}

.crumbs .sep {
  opacity: .5;
}

.open-pr {
  flex-wrap: wrap;
  flex: none;
  align-items: center;
  gap: 0 10px;
  margin-left: auto;
  display: flex;
}

.open-pr .group {
  display: flex;
}

.open-pr .field {
  border: 1px solid var(--line);
  background: var(--bg);
  width: 280px;
  height: 34px;
  color: var(--ink-2);
  border-right: 0;
  border-radius: 6px 0 0 6px;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  display: flex;
}

.open-pr .field:focus-within {
  border-color: var(--accent);
}

.open-pr input {
  width: 100%;
  height: 100%;
  color: var(--ink);
  background: none;
  border: 0;
  outline: none;
}

.open-pr .btn {
  border-radius: 0 6px 6px 0;
  height: 34px;
}

.pr-error {
  color: var(--bad);
  font-size: 12px;
}

.settings-nav {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  gap: 2px;
  padding: 0 24px;
  display: flex;
  overflow-x: auto;
}

.settings-nav a {
  color: var(--ink-2);
  white-space: nowrap;
  border-bottom: 2px solid #0000;
  align-items: center;
  gap: 6px;
  margin-bottom: -1px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.settings-nav a:hover {
  color: var(--ink);
  text-decoration: none;
}

.settings-nav a[aria-current="page"] {
  color: var(--ink);
  border-bottom-color: var(--accent);
}

.settings-nav .flag {
  background: var(--warn);
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.scroll {
  flex: 1;
  padding: 28px 28px 120px;
  overflow-y: auto;
}

.page {
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  max-width: 1040px;
  margin: 0 auto;
  display: grid;
}

.page-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  display: flex;
}

.page-head h1 {
  letter-spacing: -.02em;
  font-size: 24px;
  font-weight: 600;
}

.page-head p {
  color: var(--ink-2);
  max-width: 62ch;
  margin: 4px 0 0;
}

.btn {
  border: 1px solid var(--line);
  background: var(--surface);
  height: 32px;
  color: var(--ink);
  cursor: pointer;
  white-space: nowrap;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.btn:hover:not(:disabled) {
  background: var(--surface-2);
  text-decoration: none;
}

.btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.btn.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
}

.btn.primary:hover:not(:disabled) {
  background: var(--accent);
  filter: brightness(1.08);
}

.btn.danger {
  color: var(--bad);
}

.btn.danger-solid {
  background: var(--bad);
  border-color: var(--bad);
  color: #fff;
}

.btn.ghost {
  color: var(--ink-2);
  background: none;
  border-color: #0000;
}

.btn.ghost:hover:not(:disabled) {
  color: var(--ink);
}

.btn.ghost.danger {
  color: var(--bad);
}

.btn.sm {
  height: 28px;
  padding: 0 9px;
  font-size: 12.5px;
}

.seg {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 6px;
  display: inline-flex;
  overflow: hidden;
}

.seg .btn {
  border: 0;
  border-radius: 0;
}

.seg .btn + .btn {
  border-left: 1px solid var(--line);
}

.status {
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 500;
  display: inline-flex;
}

.dot {
  background: var(--idle);
  border-radius: 50%;
  flex: none;
  width: 8px;
  height: 8px;
  display: inline-block;
}

.s-ok {
  color: var(--ok);
}

.s-ok .dot, .dot.s-ok {
  background: var(--ok);
}

.s-warn {
  color: var(--warn);
}

.s-warn .dot, .dot.s-warn {
  background: var(--warn);
  animation: 1.4s ease-in-out infinite pulse;
}

.s-bad {
  color: var(--bad);
}

.s-bad .dot, .dot.s-bad {
  background: var(--bad);
}

.s-idle {
  color: var(--ink-2);
}

.s-idle .dot, .dot.s-idle {
  background: var(--idle);
}

.s-live {
  color: var(--accent);
}

.s-live .dot, .dot.s-live {
  background: var(--accent);
  animation: 1.2s ease-in-out infinite pulse;
}

@keyframes pulse {
  50% {
    opacity: .35;
  }
}

.dot.working-dot {
  animation: 1.2s ease-in-out infinite pulse, 1.6s ease-out infinite working-glow;
}

@keyframes working-glow {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent);
  }

  100% {
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 0%, transparent);
  }
}

.nav .count.working {
  color: var(--accent);
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.nav .count.working + .count {
  margin-left: 8px;
}

.nav .count.working .dot {
  width: 6px;
  height: 6px;
}

.side-menu-toggle .side-menu-working {
  width: 6px;
  height: 6px;
  margin-left: auto;
  display: none;
}

:root[data-side-nav="collapsed"] .side-menu-toggle .side-menu-working {
  display: inline-block;
}

:root[data-side-nav="collapsed"] .side-menu-toggle .side-menu-working + .count {
  margin-left: 8px;
}

.summary {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

.summary > div {
  gap: 2px;
  padding: 14px 16px;
  display: grid;
}

.summary > div + div {
  border-left: 1px solid var(--line);
}

.summary .k {
  color: var(--ink-2);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.summary .v {
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
  font-size: 22px;
  font-weight: 600;
}

.summary .v small {
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 400;
}

.stack {
  gap: 14px;
  display: grid;
}

.page .row, .panel-body .row {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.team-members {
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.team-members li {
  align-items: center;
  gap: 10px;
  min-height: 34px;
  font-size: 13.5px;
  display: flex;
}

.team-members .grow {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.team-members select {
  width: 120px;
}

.panel-head .aside + .menu-btn, .panel-head .aside ~ button {
  margin-left: 4px;
}

.kv {
  grid-template-columns: max-content 1fr;
  gap: 6px 18px;
  margin: 0;
  font-size: 13.5px;
  display: grid;
}

.kv dt {
  color: var(--ink-2);
}

.kv dd {
  overflow-wrap: anywhere;
  min-width: 0;
  margin: 0;
}

.notice {
  border-radius: var(--r);
  background: var(--warn-soft);
  color: var(--ink);
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  display: flex;
}

.notice > svg {
  color: var(--warn);
}

.notice .btn {
  margin-left: auto;
}

.notice.err {
  background: var(--bad-soft);
}

.notice.err > svg {
  color: var(--bad);
}

.notice.info {
  background: var(--accent-soft);
}

.notice.info > svg {
  color: var(--accent);
}

.notice.ok {
  background: var(--ok-soft);
}

.notice.ok > svg {
  color: var(--ok);
}

.notice p {
  margin: 0;
}

.section-title {
  align-items: baseline;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.section-title span {
  color: var(--ink-2);
  font-weight: 400;
}

.cards {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  display: grid;
  container: cards / inline-size;
}

.wcard {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px 24px;
  padding: 16px 18px 16px 20px;
  display: grid;
  position: relative;
}

.wcard > * {
  min-width: 0;
}

.wcard:before {
  content: "";
  background: var(--stripe, var(--idle));
  border-radius: 0 3px 3px 0;
  width: 3px;
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: -1px;
}

.wcard.k-ok {
  --stripe: var(--ok);
}

.wcard.k-warn {
  --stripe: var(--warn);
}

.wcard.k-bad {
  --stripe: var(--bad);
}

.wtitle {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.wtitle a.name {
  font: 500 14px/1.3 var(--font-code);
  color: var(--ink);
  overflow-wrap: anywhere;
}

.wmeta {
  color: var(--ink-2);
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 6px;
  font-size: 12.5px;
  display: flex;
}

.wmeta > span {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.wmeta .mono {
  overflow-wrap: anywhere;
  font-size: 12px;
}

.wside {
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  display: flex;
}

.wside .row {
  align-items: center;
  gap: 8px;
  display: flex;
}

.connect {
  border-top: 1px dashed var(--line);
  flex-wrap: wrap;
  grid-column: 1 / -1;
  align-items: center;
  gap: 8px;
  padding-top: 12px;
  display: flex;
}

.connect .lbl {
  color: var(--ink-2);
  margin-right: 2px;
  font-size: 12px;
}

.ssh {
  border: 1px solid var(--line);
  background: var(--code-bg);
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  height: 28px;
  padding: 0 4px 0 10px;
  display: inline-flex;
}

.ssh code {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.ssh button {
  color: var(--ink-2);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 4px;
  align-items: center;
  gap: 4px;
  height: 22px;
  padding: 0 6px;
  font-size: 12px;
  display: inline-flex;
}

.ssh button:hover {
  background: var(--surface-2);
  color: var(--ink);
}

.card-error {
  grid-column: 1 / -1;
}

.hook {
  font: 12px/1 var(--font-code);
  color: var(--ink-2);
  opacity: .6;
  align-items: center;
  gap: 3px;
  margin-right: 8px;
  display: inline-flex;
}

.hook.on {
  color: var(--ok);
  opacity: 1;
}

.hook svg.i {
  width: 12px;
  height: 12px;
}

.repo-error {
  max-height: 160px;
  margin-top: 8px;
}

.golden-log {
  margin-top: 10px;
}

.wjob {
  grid-column: 1 / -1;
  min-width: 0;
}

.setup-stuck {
  background: var(--warn-soft);
  border-radius: 8px;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  font-size: 13px;
  display: flex;
}

.setup-stuck > svg {
  color: var(--warn);
  flex: none;
}

.setup-stuck > span {
  flex: 1;
  min-width: 0;
}

.setup-stuck .btn {
  flex: none;
}

.setup-stuck .setup-log {
  flex-basis: 100%;
  min-width: 0;
}

.setup-wait {
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 20px 16px;
  display: flex;
}

.setup-wait h2 {
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  display: flex;
}

.setup-wait h2 .cg-run, .setup-wait .hint {
  margin: 0;
}

.setup-wait .job-log .tool-output {
  max-height: 60vh;
}

.job-log summary {
  cursor: pointer;
  color: var(--ink-2);
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 12.5px;
  list-style: none;
  display: flex;
}

.job-log summary::-webkit-details-marker {
  display: none;
}

.job-log summary > svg {
  flex: none;
  width: 12px;
  height: 12px;
}

.job-log-word {
  flex: none;
  font-weight: 500;
}

.job-log-retry {
  flex: none;
  margin-left: auto;
}

.job-log.k-error .job-log-word {
  color: var(--bad);
}

.job-log-last {
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: .85;
  flex: 1;
  min-width: 0;
  font-size: 11.5px;
  overflow: hidden;
}

.job-log .tool-output {
  max-height: 280px;
  margin-top: 6px;
}

.golden-log summary {
  cursor: pointer;
  color: var(--ink-2);
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-size: 12.5px;
  list-style: none;
  display: flex;
}

.golden-log summary::-webkit-details-marker {
  display: none;
}

.golden-log summary .icon {
  flex: none;
  width: 12px;
  height: 12px;
}

.golden-log summary > span:not(.golden-log-last) {
  flex: none;
}

.golden-log-last {
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: .8;
  flex: 1;
  min-width: 0;
  font-size: 11.5px;
  overflow: hidden;
}

.golden-log .tool-output {
  max-height: 320px;
  margin-top: 6px;
}

.golden-ref.other {
  color: var(--warn);
}

.repo-card .wside .row {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.repo-card .wmeta > span {
  flex-wrap: wrap;
}

@container cards (max-width: 760px) {
  .wcard.repo-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .repo-card .wside {
    border-top: 1px dashed var(--line);
    align-items: stretch;
    padding-top: 12px;
  }

  .repo-card .wside .row {
    justify-content: flex-start;
  }
}

@container cards (max-width: 480px) {
  .repo-card .wmeta .hook {
    margin-right: 4px;
  }

  .repo-card .golden-log-last {
    display: none;
  }
}

.repo-chip {
  font: 500 11.5px/1 var(--font-code);
  background: var(--surface-2);
  color: var(--ink-2);
  border-radius: 5px;
  padding: 3px 7px;
}

.pr-link {
  font: 600 12.5px/1 var(--font-code);
}

.pr-state {
  background: var(--surface-2);
  color: var(--ink-2);
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 11.5px;
  font-weight: 600;
}

.pr-state.pr-open {
  background: var(--ok-soft);
  color: var(--ok);
}

.pr-state.pr-merged {
  background: var(--accent-soft);
  color: var(--accent);
}

.pr-state.pr-closed {
  background: var(--bad-soft);
  color: var(--bad);
}

.connect .warn-link {
  color: var(--warn);
  font-weight: 500;
}

.menu-wrap {
  position: relative;
}

.menu {
  z-index: 20;
  background: var(--surface);
  border: 1px solid var(--line);
  min-width: 220px;
  box-shadow: var(--shadow);
  border-radius: 8px;
  padding: 4px;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
}

.menu button {
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 5px;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  font-size: 13px;
  display: flex;
}

.menu button:hover:not(:disabled) {
  background: var(--surface-2);
}

.menu button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.menu button.danger {
  color: var(--bad);
}

.menu hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 4px 0;
}

.panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r);
}

.panel-head {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  display: flex;
}

.panel-head h2 {
  font-size: 14px;
  font-weight: 600;
}

.panel-head .aside {
  color: var(--ink-2);
  margin-left: auto;
  font-size: 12.5px;
}

.panel-body {
  padding: 16px;
}

.ws-hero {
  gap: 14px;
  padding: 18px 20px;
  display: grid;
}

.ws-hero h1 {
  font: 500 20px/1.25 var(--font-code);
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}

.ws-hero .line1 {
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  display: flex;
}

.ws-hero .line1 .actions {
  align-items: center;
  gap: 8px;
  margin-left: auto;
  display: flex;
}

.ws-hero .wmeta {
  margin-top: 0;
}

.split {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  display: grid;
}

label.fl, .fl {
  color: var(--ink-2);
  gap: 6px;
  font-size: 12.5px;
  font-weight: 500;
  display: grid;
}

.input {
  border: 1px solid var(--line);
  background: var(--bg);
  width: 100%;
  color: var(--ink);
  border-radius: 6px;
  outline: none;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 400;
}

.input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

textarea.input {
  resize: vertical;
  line-height: 1.5;
}

textarea.mono-in, input.mono-in {
  font: 12.5px/1.6 var(--font-code);
}

.hint {
  color: var(--ink-2);
  font-size: 12px;
  font-weight: 400;
}

.form-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  display: grid;
}

.row2 {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.agents {
  gap: 6px;
  display: flex;
}

.agent-opt {
  border: 1px solid var(--line);
  background: var(--surface);
  cursor: pointer;
  height: 38px;
  color: var(--ink);
  border-radius: 6px;
  flex: 1;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  font-weight: 500;
  display: flex;
}

.agent-opt[aria-pressed="true"] {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent);
}

.glyph {
  width: 20px;
  height: 20px;
  font: 600 11px/1 var(--font-code);
  color: #fff;
  border-radius: 5px;
  flex: none;
  place-items: center;
  display: inline-grid;
}

.glyph .logo {
  fill: currentColor;
  width: 68%;
  height: 68%;
  display: block;
}

.g-opencode .logo-opencode .inner {
  fill-opacity: .28;
}

:root[data-theme="dark"] .g-opencode .logo-opencode .inner {
  fill-opacity: .2;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .g-opencode .logo-opencode .inner {
    fill-opacity: .2;
  }
}

.g-claude {
  color: #fff;
  background: #d97757;
}

.g-codex, .g-cursor, .g-opencode {
  color: #fff;
  background: #0d0d0d;
}

.g-agent {
  background: var(--idle);
}

:root[data-theme="dark"] .g-codex, :root[data-theme="dark"] .g-cursor, :root[data-theme="dark"] .g-opencode {
  color: #0d0d0d;
  background: #ececec;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .g-codex, :root:not([data-theme="light"]) .g-cursor, :root:not([data-theme="light"]) .g-opencode {
    color: #0d0d0d;
    background: #ececec;
  }
}

.form-foot {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  display: flex;
}

.form-foot > .hint, .form-foot > .saved-at {
  margin-right: auto;
}

.form-foot > .err-line {
  flex-basis: 100%;
}

kbd {
  font: 11px/1 var(--font-code);
  border: 1px solid var(--line);
  color: var(--ink-2);
  background: var(--surface);
  border-bottom-width: 2px;
  border-radius: 4px;
  padding: 2px 5px;
}

.slist {
  display: grid;
}

.srow {
  color: var(--ink);
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  display: grid;
}

.srow + .srow {
  border-top: 1px solid var(--line);
}

.srow:hover {
  background: var(--surface-2);
  text-decoration: none;
}

.srow .t {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  overflow: hidden;
}

.srow .m {
  color: var(--ink-2);
  font-size: 12px;
}

.empty {
  text-align: center;
  color: var(--ink-2);
  margin: 0;
  padding: 28px 16px;
}

.chat-wrap {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
}

.chat-head {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 14px 28px;
  display: flex;
}

.chat-head h1 {
  font-size: 16px;
  font-weight: 600;
}

.chat-head .m {
  color: var(--ink-2);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  font-size: 12.5px;
  display: flex;
}

.chat-head .status {
  margin-left: auto;
}

.chat-notices {
  gap: 8px;
  padding: 12px 28px 0;
  display: grid;
}

.thread {
  flex: 1;
  padding: 24px 28px;
  overflow-y: auto;
}

.thread-in {
  gap: 22px;
  max-width: 780px;
  margin: 0 auto;
  display: grid;
}

.thread-earlier {
  justify-content: center;
  display: flex;
}

.msg {
  grid-template-columns: 28px 1fr;
  gap: 12px;
  display: grid;
}

.msg .av {
  width: 28px;
  height: 28px;
  font: 600 12px/1 var(--font-code);
  background: var(--surface-2);
  color: var(--ink-2);
  text-transform: uppercase;
  border-radius: 7px;
  place-items: center;
  display: grid;
}

.msg .av.glyph {
  color: #fff;
}

.msg .av.g-claude {
  color: #fff;
  background: #d97757;
}

.msg .av.g-codex, .msg .av.g-cursor, .msg .av.g-opencode {
  color: #fff;
  background: #0d0d0d;
}

:root[data-theme="dark"] .msg .av.g-codex, :root[data-theme="dark"] .msg .av.g-cursor, :root[data-theme="dark"] .msg .av.g-opencode {
  color: #0d0d0d;
  background: #ececec;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .msg .av.g-codex, :root:not([data-theme="light"]) .msg .av.g-cursor, :root:not([data-theme="light"]) .msg .av.g-opencode {
    color: #0d0d0d;
    background: #ececec;
  }
}

.msg .body {
  min-width: 0;
}

.msg .who-l {
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  font-size: 12.5px;
  font-weight: 600;
  display: flex;
}

.msg .who-l span {
  color: var(--ink-2);
  font-weight: 400;
}

.msg.user .content {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 14px;
}

.msg.user .content p {
  white-space: pre-wrap;
}

.msg.user .content {
  position: relative;
}

.copy-btn {
  width: 26px;
  height: 26px;
  color: var(--ink-2);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  place-items: center;
  padding: 0;
  display: inline-grid;
}

.copy-btn svg {
  width: 14px;
  height: 14px;
}

.copy-btn:hover {
  background: var(--surface-2);
  color: var(--ink);
}

.copy-btn:focus-visible {
  outline: 2px solid var(--accent, currentColor);
  outline-offset: 1px;
}

.copy-btn.copied {
  color: var(--ok, #2f9e44);
}

.copy-btn.copy-hover {
  background: var(--surface);
  border: 1px solid var(--line);
  opacity: 0;
  transition: opacity .12s;
  position: absolute;
  top: 6px;
  right: 6px;
}

.msg.user .content:hover .copy-btn.copy-hover, .copy-btn.copy-hover:focus-visible, .copy-btn.copy-hover.copied {
  opacity: 1;
}

@media (hover: none) {
  .copy-btn.copy-hover {
    opacity: .7;
  }
}

.msg-actions {
  gap: 2px;
  margin-top: 4px;
  margin-left: -4px;
  display: flex;
}

details.thinking {
  border-left: 2px solid var(--line);
  color: var(--ink-2);
  margin-bottom: 10px;
  padding: 2px 0 2px 12px;
}

details.thinking summary {
  cursor: pointer;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  list-style: none;
  display: flex;
}

details.thinking summary::-webkit-details-marker {
  display: none;
}

details.thinking[open] summary svg {
  transform: rotate(90deg);
}

details.thinking[open] summary {
  margin-bottom: 6px;
}

.caret {
  background: var(--accent);
  vertical-align: text-bottom;
  width: 8px;
  height: 15px;
  margin-top: 6px;
  animation: 1s steps(2, end) infinite pulse;
  display: inline-block;
}

.composer-wrap {
  border-top: 1px solid var(--line);
  background: var(--surface);
  padding: 14px 28px 18px;
}

.queue {
  gap: 4px;
  max-width: 780px;
  margin: 0 auto 8px;
  padding: 0;
  list-style: none;
  display: grid;
}

.queue-row {
  border: 1px dashed var(--line);
  background: var(--bg);
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  padding: 5px 6px 5px 10px;
  font-size: 13px;
  display: flex;
}

.queue-tag {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ink-2);
  flex: none;
  min-width: 34px;
  font-size: 11px;
  font-weight: 600;
}

.queue-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: var(--ink);
  text-align: left;
  font-size: inherit;
  cursor: text;
  background: none;
  border: 0;
  flex: 1;
  padding: 0;
  overflow: hidden;
}

.queue-text:hover {
  color: var(--ink);
  -webkit-text-decoration: underline dotted var(--ink-2);
  text-decoration: underline dotted var(--ink-2);
  text-underline-offset: 3px;
}

.queue-row.editing {
  border-style: solid;
  border-color: var(--accent);
  align-items: flex-start;
}

.queue-row.editing .queue-tag {
  padding-top: 6px;
}

.queue-edit {
  resize: vertical;
  min-width: 0;
  color: var(--ink);
  background: none;
  border: 0;
  outline: none;
  flex: 1;
  max-height: 40vh;
  padding: 5px 0;
  font-size: 13px;
  line-height: 1.5;
}

.queue-files {
  flex: none;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  display: inline-flex;
}

.queue-row .btn, .queue-row .icon-btn {
  flex: none;
}

.queue-head {
  width: 100%;
  max-width: 780px;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  margin: 0 auto 4px;
  padding: 3px 6px;
  font-size: 12.5px;
  font-weight: 600;
  display: flex;
}

.queue-head:hover {
  background: var(--surface-2);
}

.queue-head .hint {
  font-weight: 400;
}

.queue-row.reveal {
  animation: .16s ease-out queue-reveal;
}

@keyframes queue-reveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.composer {
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 10px;
  max-width: 780px;
  margin: 0 auto;
}

.composer:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.composer textarea {
  resize: none;
  background: none;
  border: 0;
  outline: none;
  width: 100%;
  min-height: 64px;
  padding: 12px 14px 4px;
  display: block;
}

.composer textarea[readonly] {
  opacity: .6;
}

.composer .bar {
  align-items: center;
  gap: 10px;
  padding: 6px 8px 8px 12px;
  display: flex;
}

.composer .bar .hint {
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-right: auto;
  display: flex;
}

.md {
  overflow-wrap: anywhere;
  min-width: 0;
  max-width: 100%;
  line-height: 1.55;
}

.md > :first-child {
  margin-top: 0;
}

.md h1, .md h2, .md h3 {
  letter-spacing: -.01em;
  margin: 16px 0 0;
  font-weight: 600;
  line-height: 1.25;
}

.md h1 {
  font-size: 1.3rem;
}

.md h2 {
  font-size: 1.15rem;
}

.md h3 {
  font-size: 1.02rem;
}

.md h4, .md h5, .md h6 {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-2);
  margin: 14px 0 0;
  font-size: 12px;
  font-weight: 600;
}

.md p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 10px 0 0;
}

.md li > p {
  margin-top: 2px;
}

.md ul, .md ol {
  margin: 10px 0 0;
  padding-left: 1.25rem;
}

.md li + li {
  margin-top: 3px;
}

.md ul.contains-task-list, .md ol.contains-task-list {
  padding-left: .1rem;
  list-style: none;
}

.md input[type="checkbox"] {
  accent-color: var(--accent);
  vertical-align: middle;
  margin: 0 .45em 0 0;
}

.md a {
  text-underline-offset: 2px;
  text-decoration: underline;
}

.md del {
  color: var(--ink-2);
}

.md blockquote {
  border-left: 2px solid var(--line);
  color: var(--ink-2);
  margin: 10px 0 0;
  padding: 0 0 0 12px;
}

.md hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 14px 0 0;
}

.md img {
  border: 1px solid var(--line);
  border-radius: 6px;
  max-width: 100%;
  height: auto;
  margin: 10px 0 0;
  display: block;
}

.md .md-img-load {
  max-width: 100%;
  font: inherit;
  color: var(--ink-2);
  background: var(--surface-2);
  border: 1px dashed var(--line);
  cursor: pointer;
  vertical-align: middle;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  margin: 4px 0 0;
  padding: 3px 8px;
  font-size: 12px;
  display: inline-flex;
}

.md .md-img-load:hover {
  color: var(--ink);
}

.md .md-img-load > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.md .md-img-host {
  opacity: .75;
}

.md .md-img-load svg {
  width: 14px;
  height: 14px;
}

.md :not(pre) > code {
  background: var(--surface-2);
  overflow-wrap: anywhere;
  border-radius: 4px;
  padding: .08em .35em;
  font-size: .88em;
}

.md pre {
  background: var(--code-bg);
  border: 1px solid var(--line);
  max-width: 100%;
  font-family: var(--font-code);
  border-radius: 6px;
  margin: 10px 0 0;
  padding: 10px 12px;
  font-size: 12.5px;
  line-height: 1.55;
  overflow-x: auto;
}

.md pre code {
  font-size: inherit;
  line-height: inherit;
  white-space: pre;
  overflow-wrap: normal;
  word-break: normal;
  background: none;
  padding: 0;
  display: block;
}

.md .hljs-keyword, .md .hljs-selector-tag, .md .hljs-built_in, .md .hljs-type, .md .hljs-deletion {
  color: var(--hl-keyword);
}

.md .hljs-string, .md .hljs-addition, .md .hljs-regexp, .md .hljs-doctag {
  color: var(--hl-string);
}

.md .hljs-comment, .md .hljs-quote {
  color: var(--ink-2);
  font-style: italic;
}

.md .hljs-number, .md .hljs-literal, .md .hljs-meta, .md .hljs-symbol {
  color: var(--hl-number);
}

.md .hljs-title, .md .hljs-section, .md .hljs-name, .md .hljs-attr, .md .hljs-attribute, .md .hljs-variable, .md .function_ {
  color: var(--hl-title);
}

.md .md-table {
  border: 1px solid var(--line);
  border-radius: 6px;
  max-width: 100%;
  margin: 10px 0 0;
  overflow-x: auto;
}

.md table {
  border-collapse: collapse;
  width: 100%;
  font-size: .95em;
}

.md th, .md td {
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  padding: 6px 10px;
}

.md th {
  color: var(--ink-2);
  background: var(--surface-2);
  font-size: 12px;
  font-weight: 600;
}

.md-source {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
  margin: 0;
}

.logins {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
  display: grid;
}

.lcard {
  gap: 16px;
  min-width: 0;
  padding: 16px;
  display: grid;
  container-type: inline-size;
}

.lcard .h {
  align-items: center;
  gap: 10px;
  display: flex;
}

.lcard .h h2 {
  font-size: 15px;
  font-weight: 600;
}

.lcard .h .status {
  margin-left: auto;
}

.lcard p {
  color: var(--ink-2);
  margin: 0;
  font-size: 13px;
}

.lcard-sec {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.lcard-divider {
  color: var(--ink-2);
  text-transform: uppercase;
  letter-spacing: .06em;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 11.5px;
  font-weight: 600;
  display: flex;
}

.lcard-divider:after {
  content: "";
  border-top: 1px solid var(--line);
  flex: 1;
}

.saved-at {
  color: var(--ink-2);
  font-size: 12px;
}

.link-btn {
  color: var(--accent);
  cursor: pointer;
  background: none;
  border: 0;
  flex: none;
  padding: 0;
  font-size: 12px;
  font-weight: 500;
}

.link-btn:disabled {
  color: var(--ink-2);
  cursor: default;
}

.link-btn.danger {
  color: var(--bad);
}

.acct {
  gap: 8px;
  display: grid;
}

.acct-list {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.acct-row {
  align-items: stretch;
  min-height: 48px;
  display: flex;
}

.acct-select {
  cursor: pointer;
  flex: 1;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 7px 0 7px 12px;
  display: flex;
}

.acct-select:has(:disabled) {
  cursor: default;
}

.acct-select:has(:focus-visible) {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.acct-actions {
  align-items: center;
  gap: 10px;
  padding: 7px 8px 7px 10px;
  display: flex;
}

.acct-row + .acct-row {
  border-top: 1px solid var(--line);
}

.acct-row[aria-current="true"] {
  background: var(--accent-soft);
}

.acct-radio {
  appearance: none;
  cursor: inherit;
  border: 1.5px solid var(--line);
  background: var(--bg);
  border-radius: 50%;
  flex: none;
  width: 14px;
  height: 14px;
  margin: 0;
}

.acct-row[aria-current="true"] .acct-radio {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 3px var(--bg);
  background: var(--accent);
}

.acct-text {
  flex: 1;
  gap: 1px;
  min-width: 0;
  display: grid;
}

.acct-text b {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13.5px;
  font-weight: 600;
  overflow: hidden;
}

.acct-text span {
  color: var(--ink-2);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  overflow: hidden;
}

.acct-tag {
  color: var(--accent);
  flex: none;
  padding: 0 4px;
  font-size: 11.5px;
  font-weight: 600;
}

.acct-remove:hover:not(:disabled) {
  color: var(--bad);
}

.acct-foot {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.add-account > summary {
  border: 1px dashed var(--line);
  height: 30px;
  color: var(--ink);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 500;
  list-style: none;
  display: inline-flex;
}

.add-account > summary::-webkit-details-marker {
  display: none;
}

.add-account > summary:hover {
  background: var(--surface-2);
}

.add-account > summary svg.i {
  width: 14px;
  height: 14px;
  color: var(--ink-2);
}

.add-account[open] > summary {
  background: var(--surface-2);
  border-style: solid;
}

.add-account-body {
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 8px;
  gap: 12px;
  margin-top: 10px;
  padding: 14px;
  display: grid;
}

.add-account-form {
  gap: 12px;
  display: grid;
}

.add-account-form .fl .hint {
  font-weight: 400;
}

.add-account textarea {
  min-height: 72px;
}

.add-account-help > summary {
  cursor: pointer;
  color: var(--accent);
  width: fit-content;
  font-size: 12.5px;
}

.add-account-help ol {
  color: var(--ink-2);
  gap: 6px;
  margin: 8px 0 0;
  padding-left: 18px;
  font-size: 12.5px;
  display: grid;
}

.add-account-help code, .add-account-body p code {
  overflow-wrap: anywhere;
}

.defaults-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
  display: grid;
}

.defaults-grid > .wide {
  grid-column: 1 / -1;
}

.defaults-grid > .last {
  order: 1;
}

.defaults-grid .input {
  text-overflow: ellipsis;
  min-width: 0;
}

@container (max-width: 380px) {
  .defaults-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.model-meta {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.effort-models summary {
  cursor: pointer;
  color: var(--accent);
  width: fit-content;
  font-size: 12.5px;
}

.effort-grid {
  gap: 6px;
  max-height: 260px;
  margin-top: 8px;
  display: grid;
  overflow: auto;
}

.effort-row {
  grid-template-columns: minmax(0, 1fr) minmax(120px, 160px);
  align-items: center;
  gap: 10px;
  font-size: 13px;
  display: grid;
}

.effort-row span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.input-sm {
  height: auto;
  padding: 4px 8px;
  font-size: 12.5px;
}

@media (max-width: 820px) {
  .lcard {
    padding: 14px;
  }

  .lcard .input, .lcard textarea.mono-in {
    font-size: 16px;
  }

  .add-account > summary {
    justify-content: center;
    height: 38px;
    display: flex;
  }

  .add-account-body {
    padding: 12px;
  }

  .add-account-form .form-foot .btn, .add-account-body > div > .btn {
    flex: 1;
    width: 100%;
    height: 38px;
  }

  .acct-row .btn.sm {
    height: 32px;
    padding: 0 12px;
  }

  .acct-remove.icon-btn.sm {
    width: 32px;
    height: 32px;
  }
}

.usage-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  align-items: start;
  gap: 14px;
  display: grid;
}

.usage-checked {
  color: var(--ink-2);
  font-size: 12.5px;
}

.ucard {
  gap: 12px;
  padding: 16px;
  display: grid;
}

.usage-tabs {
  justify-self: start;
  max-width: 100%;
}

.usage-tabs .btn {
  flex: none;
  height: 28px;
}

.cost-controls {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.cost-controls .seg.tabs .btn {
  flex: none;
  height: 28px;
}

.cost-controls > .notice {
  flex-basis: 100%;
}

.cost-custom input[type="date"] {
  border: 1px solid var(--line);
  background: var(--bg);
  height: 28px;
  color: var(--ink);
  border-radius: 6px;
  padding: 0 6px;
  font-size: 12.5px;
}

.cost-summary {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  display: grid;
}

.cost-tile {
  gap: 4px;
  padding: 14px 16px;
  display: grid;
}

.cost-tile span {
  color: var(--ink-2);
  font-size: 12px;
  font-weight: 500;
}

.cost-tile strong {
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  font-size: 20px;
  font-weight: 600;
}

.cost-tile small {
  color: var(--ink-2);
  font-size: 11.5px;
}

.cost-tile.total {
  grid-column: span 2;
}

.cost-tile.total strong {
  font-size: 26px;
}

.cost-head {
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  display: flex;
}

.cost-head h2 {
  font-size: 15px;
  font-weight: 600;
}

.cost-sort {
  margin-left: auto;
}

.cost-sort .btn {
  flex: none;
  height: 26px;
}

.cost-filter {
  background: var(--surface-2);
  color: var(--ink);
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 2px 4px 2px 9px;
  font-size: 12px;
  display: inline-flex;
}

.cost-filter a {
  color: var(--ink-2);
  display: inline-flex;
}

.cost-filter .i {
  width: 14px;
  height: 14px;
}

.cost-table-wrap {
  overflow-x: auto;
}

table.cost-table td, table.cost-table th {
  padding: 10px 12px;
}

table.cost-table .num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

table.cost-table .strong {
  font-weight: 600;
}

table.cost-table .nowrap {
  white-space: nowrap;
}

table.cost-table tr.on td {
  background: var(--surface-2);
}

table.cost-table tfoot td {
  border-top: 1px solid var(--line);
  border-bottom: 0;
  font-weight: 600;
}

.cost-pager {
  border-top: 1px solid var(--line);
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  display: flex;
}

.cost-pager > .hint:first-child {
  margin-right: auto;
}

@media (max-width: 640px) {
  .cost-tile.total {
    grid-column: auto;
  }
}

.ucard .h {
  align-items: center;
  gap: 10px;
  display: flex;
}

.ucard .h h2 {
  font-size: 15px;
  font-weight: 600;
}

.ucard .h .status {
  margin-left: auto;
}

.ucard .tag {
  background: var(--surface-2);
  color: var(--ink-2);
  border-radius: 999px;
  padding: 1px 7px;
  font-size: 11.5px;
  font-weight: 500;
}

.ucard .notice {
  align-items: flex-start;
  font-size: 13px;
}

.ucard .notice .btn {
  flex: none;
}

.uwins {
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.uwins li {
  align-items: center;
  gap: 12px;
  display: flex;
}

.ulabel {
  font-size: 13.5px;
  font-weight: 500;
}

.usub {
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
  font-size: 12.5px;
}

.unote {
  color: var(--ink-2);
  margin: 0;
  font-size: 12.5px;
}

.uring {
  flex: none;
  width: 36px;
  height: 36px;
}

.uring circle {
  fill: none;
  stroke-width: 3.5px;
}

.uring .track {
  stroke: var(--surface-2);
}

.uring .fill {
  stroke-linecap: round;
  transition: stroke-dasharray .4s;
}

.uring text {
  font: 600 10.5px var(--font-body);
  fill: var(--ink);
  font-variant-numeric: tabular-nums;
}

.uring.u-ok .fill {
  stroke: var(--ok);
}

.uring.u-warn .fill {
  stroke: var(--warn);
}

.uring.u-bad .fill {
  stroke: var(--bad);
}

.editor {
  border: 1px solid var(--line);
  background: var(--code-bg);
  border-radius: 8px;
  grid-template-columns: auto 1fr;
  display: grid;
  overflow: hidden;
}

.editor:focus-within {
  border-color: var(--accent);
}

.gutter {
  text-align: right;
  color: var(--idle);
  font: 12.5px/1.7 var(--font-code);
  -webkit-user-select: none;
  user-select: none;
  border-right: 1px solid var(--line);
  white-space: pre;
  margin: 0;
  padding: 12px 10px 12px 14px;
  overflow: hidden;
}

.editor textarea {
  resize: vertical;
  font: 12.5px/1.7 var(--font-code);
  color: var(--ink);
  white-space: pre;
  background: none;
  border: 0;
  outline: none;
  min-height: 440px;
  padding: 12px 14px;
  overflow-x: auto;
}

.chips {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.chip {
  background: var(--surface-2);
  color: var(--ink-2);
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  font-size: 12px;
  display: inline-flex;
}

.env-locked-body {
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding: 22px 20px;
  display: flex;
}

.env-locked-body > div {
  flex: 1;
  justify-items: start;
  gap: 4px;
  min-width: 200px;
  display: grid;
}

.env-locked-body h2 {
  font-size: 14px;
  font-weight: 500;
}

.env-locked-body p {
  color: var(--ink-2);
  margin: 0;
}

.env-lock {
  background: var(--surface-2);
  width: 40px;
  height: 40px;
  color: var(--ink-2);
  border-radius: 10px;
  place-items: center;
  display: grid;
}

.snippet {
  border: 1px solid var(--line);
  background: var(--code-bg);
  border-radius: 6px;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 8px 8px 12px;
  display: flex;
}

.snippet pre {
  font: 12.5px/1.6 var(--font-code);
  color: var(--ink);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  flex: 1;
  margin: 0;
}

table.people {
  border-collapse: collapse;
  width: 100%;
}

table.people th {
  text-align: left;
  color: var(--ink-2);
  border-bottom: 1px solid var(--line);
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 500;
}

table.people td {
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
  overflow-wrap: anywhere;
  padding: 12px 16px;
}

table.people tr:last-child td {
  border-bottom: 0;
}

.role {
  background: var(--surface-2);
  color: var(--ink-2);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
  display: inline-block;
}

.role.admin {
  background: var(--accent-soft);
  color: var(--accent);
}

.token-box {
  background: var(--ok-soft);
  border-radius: 6px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  display: flex;
}

.token-box code {
  overflow-wrap: anywhere;
  color: var(--ink);
  flex: 1;
}

.dock {
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 8px;
  margin: 0 10px 8px;
  position: relative;
}

.dock-side {
  margin-top: auto;
}

.dock-side + .side-foot {
  margin-top: 0;
}

.dock-mobile {
  display: none;
}

.dock-bar {
  align-items: center;
  gap: 4px;
  padding-right: 4px;
  display: flex;
}

.dock-bar .btn.sm {
  flex: none;
}

.dock-head {
  cursor: pointer;
  text-align: left;
  min-width: 0;
  color: var(--ink-2);
  background: none;
  border: 0;
  flex: 1;
  align-items: center;
  gap: 8px;
  padding: 7px 4px 7px 10px;
  display: flex;
}

.dock-head .t, .dock-panel-head .t {
  color: var(--ink-2);
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: 12px;
  font-family: var(--font-code);
  flex: 1;
  overflow: hidden;
}

.dock-panel {
  z-index: 30;
  background: var(--surface);
  border: 1px solid var(--line);
  width: min(540px, 100vw - 300px);
  box-shadow: var(--shadow);
  border-radius: 10px;
  position: absolute;
  bottom: 0;
  left: calc(100% + 18px);
  overflow: hidden;
}

.dock-panel-head {
  align-items: center;
  gap: 10px;
  padding: 8px 6px 8px 14px;
  display: flex;
}

.dock-panel-head b {
  font-size: 13px;
  font-weight: 600;
}

.dock pre {
  border-top: 1px solid var(--line);
  background: var(--code-bg);
  max-height: 260px;
  font: 12px/1.6 var(--font-code);
  color: var(--ink);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0;
  padding: 10px 14px 14px;
  overflow: auto;
}

.dialog.wide {
  width: min(560px, 100%);
}

.seg.tabs {
  scrollbar-width: none;
  border-radius: 8px;
  align-items: stretch;
  gap: 2px;
  padding: 3px;
  display: flex;
  overflow-x: auto;
}

.seg.tabs .btn {
  height: 30px;
  color: var(--ink-2);
  white-space: nowrap;
  background: none;
  border: 0;
  border-radius: 6px;
  flex: 1;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}

.seg.tabs .btn + .btn {
  border-left: 0;
}

.seg.tabs .btn:hover:not(:disabled) {
  color: var(--ink);
  background: var(--surface-2);
}

.seg.tabs .btn.on, .seg.tabs .btn.on:hover {
  background: var(--bg);
  color: var(--ink);
  box-shadow: 0 0 0 1px var(--line);
}

.seg.tabs .btn.on svg {
  color: var(--accent);
}

.seg.tabs.repo-tabs {
  justify-self: start;
  max-width: 100%;
}

.seg.tabs.repo-tabs .btn {
  flex: none;
  height: 28px;
}

.scrim {
  z-index: 50;
  background: #080c1273;
  place-items: center;
  padding: 16px;
  display: grid;
  position: fixed;
  inset: 0;
}

.dialog {
  overscroll-behavior: contain;
  background: var(--surface);
  border: 1px solid var(--line);
  width: min(440px, 100%);
  max-height: calc(100dvh - 32px);
  box-shadow: var(--shadow);
  border-radius: 12px;
  gap: 14px;
  padding: 20px;
  display: grid;
  overflow-y: auto;
}

.dialog > .form-foot:last-child {
  background: var(--surface);
  border-radius: 0 0 12px 12px;
  margin: 0 -20px -20px;
  padding: 12px 20px 20px;
  position: sticky;
  bottom: -20px;
}

.dialog h2 {
  overflow-wrap: anywhere;
  font-size: 16px;
  font-weight: 600;
}

.dialog p {
  color: var(--ink-2);
  margin: 0;
}

.ssh-connect-dialog {
  max-height: calc(100dvh - 24px);
  color: var(--ink);
  margin: auto;
  overflow-y: auto;
}

.ssh-connect-dialog::backdrop {
  background: #00000080;
}

.toast {
  z-index: 60;
  background: var(--ink);
  color: var(--bg);
  border-radius: 6px;
  padding: 8px 14px;
  font-size: 13px;
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
}

.gate {
  grid-template-columns: 1fr 1fr;
  min-height: 100%;
  display: grid;
}

.gate-art {
  color: #e5eaf0;
  background: #101720;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  padding: 40px 48px;
  display: flex;
}

.gate-art .brand {
  color: inherit;
  padding: 0;
}

.gate-art h1 {
  letter-spacing: -.02em;
  max-width: 16ch;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.15;
}

.gate-art p {
  opacity: .7;
  max-width: 42ch;
  margin: 12px 0 0;
}

.gate-art .term {
  font: 12.5px/1.8 var(--font-code);
  opacity: .85;
  border-top: 1px solid #e5eaf033;
  padding-top: 18px;
}

.gate-art .term span {
  opacity: .5;
}

.gate-form {
  background: var(--bg);
  place-items: center;
  padding: 40px 24px;
  display: grid;
}

.gate-form form, .gate-form .gate-signin {
  gap: 16px;
  width: min(360px, 100%);
  display: grid;
}

.gate-form h2 {
  letter-spacing: -.01em;
  font-size: 22px;
  font-weight: 600;
}

.gate-form .btn {
  justify-content: center;
  height: 38px;
  text-decoration: none;
}

.err-line {
  color: var(--bad);
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12.5px;
  display: flex;
}

.err-line > span {
  flex: 1;
  min-width: 0;
}

.err-line .btn {
  flex: none;
  height: 28px;
  margin-left: auto;
}

.menu.floating {
  z-index: 40;
  position: fixed;
  top: auto;
  right: auto;
}

.menu .menu-label {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  overflow: hidden;
}

.menu .menu-pad {
  flex: none;
  width: 16px;
}

.menu .menu-back {
  color: var(--ink-2);
  font-weight: 500;
}

.menu .flip {
  display: inline-grid;
  transform: rotate(180deg);
}

.menu button[aria-checked="true"] {
  color: var(--accent);
}

.icon-btn.sm {
  width: 24px;
  height: 24px;
}

.icon-btn.sm svg.i {
  width: 14px;
  height: 14px;
}

.side-label .icon-btn {
  color: var(--ink-2);
}

.side-section {
  gap: 1px;
  padding-bottom: 6px;
  display: grid;
}

.side-filter {
  padding: 0 12px 6px;
  display: flex;
}

.repo-filter {
  position: relative;
}

.repo-filter-btn {
  border: 1px solid var(--line);
  background: var(--surface);
  width: 100%;
  height: 26px;
  color: var(--ink);
  cursor: pointer;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 0 8px 0 10px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.repo-filter-btn:hover, .repo-filter-btn[aria-expanded="true"] {
  background: var(--surface-2);
}

.repo-filter-btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.repo-filter-btn .n {
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.repo-filter-btn svg {
  width: 12px;
  height: 12px;
  color: var(--ink-2);
  flex: none;
  transform: rotate(90deg);
}

.repo-filter-pop {
  z-index: 30;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 8px;
  gap: 4px;
  padding: 4px;
  display: grid;
  position: absolute;
  top: 30px;
  left: 12px;
  right: 12px;
}

.repo-filter-search {
  border-bottom: 1px solid var(--line);
  height: 30px;
  color: var(--ink-2);
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  display: flex;
}

.repo-filter-search svg {
  flex: none;
  width: 13px;
  height: 13px;
}

.repo-filter-search input {
  min-width: 0;
  color: var(--ink);
  background: none;
  border: 0;
  outline: 0;
  flex: 1;
  font-size: 13px;
}

.repo-filter-list {
  gap: 1px;
  max-height: 260px;
  display: grid;
  overflow-y: auto;
}

.repo-filter-list .hint {
  margin: 0;
  padding: 6px 8px;
}

.repo-filter-opt {
  cursor: pointer;
  color: var(--ink);
  border-radius: 5px;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  font-size: 13px;
  display: flex;
}

.repo-filter-opt.active {
  background: var(--surface-2);
}

.repo-filter-opt .tick {
  width: 14px;
  color: var(--accent);
  flex: none;
  display: inline-flex;
}

.repo-filter-opt .tick svg {
  width: 13px;
  height: 13px;
}

.repo-filter-opt .n {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.repo-filter-opt .d {
  color: var(--ink-2);
  white-space: nowrap;
  margin-left: auto;
  font-size: 11px;
}

.repo-pick {
  position: relative;
}

.repo-pick-btn {
  border: 1px solid var(--line);
  background: var(--bg);
  width: 100%;
  height: 42px;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  border-radius: 6px;
  outline: none;
  align-items: center;
  gap: 10px;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 400;
  display: flex;
}

.repo-pick-btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--ink-2) 45%, var(--line));
}

.repo-pick-btn:focus-visible, .repo-pick-btn[aria-expanded="true"] {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.repo-pick-btn:disabled {
  cursor: default;
}

.repo-pick-avatar {
  background: var(--surface-2);
  width: 22px;
  height: 22px;
  color: var(--ink-2);
  border-radius: 5px;
  flex: none;
  place-items: center;
  display: inline-grid;
  position: relative;
}

.repo-pick-avatar svg {
  width: 13px;
  height: 13px;
}

.repo-pick-avatar-image {
  border-radius: inherit;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.repo-pick-label {
  white-space: nowrap;
  flex: 1;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  display: flex;
  overflow: hidden;
}

.repo-pick-label .n {
  color: var(--ink);
  text-overflow: ellipsis;
  flex: 0 auto;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
}

.repo-pick-label .o {
  color: var(--ink-2);
  text-overflow: ellipsis;
  flex: 0 10 auto;
  min-width: 0;
  font-size: 12.5px;
  overflow: hidden;
}

.repo-pick-branch {
  background: var(--surface-2);
  max-width: 40%;
  color: var(--ink-2);
  font: 11.5px/1.5 var(--font-code);
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 999px;
  flex: none;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  display: inline-flex;
  overflow: hidden;
}

.repo-pick-branch svg {
  flex: none;
  width: 11px;
  height: 11px;
}

.repo-pick-tag {
  background: var(--warn-soft);
  color: var(--warn);
  white-space: nowrap;
  border-radius: 999px;
  flex: none;
  padding: 2px 8px;
  font-size: 11.5px;
  font-weight: 500;
}

.repo-pick-chev {
  color: var(--ink-2);
  flex: none;
  display: inline-flex;
}

.repo-pick-chev svg {
  width: 14px;
  height: 14px;
  transition: transform .12s;
  transform: rotate(90deg);
}

.repo-pick-btn[aria-expanded="true"] .repo-pick-chev svg {
  transform: rotate(-90deg);
}

.repo-pick-pop {
  z-index: 30;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 8px;
  gap: 4px;
  padding: 4px;
  display: grid;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
}

.repo-pick-list {
  outline: none;
  gap: 2px;
  max-height: 288px;
  display: grid;
  overflow-y: auto;
}

.repo-pick-list .hint {
  margin: 0;
  padding: 8px 10px;
}

.repo-pick-opt {
  cursor: pointer;
  min-height: 40px;
  color: var(--ink);
  border-radius: 6px;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  font-size: 14px;
  display: flex;
}

.repo-pick-opt.active {
  background: var(--surface-2);
}

.repo-pick-opt[aria-selected="true"] .repo-pick-label .n {
  color: var(--accent);
}

.repo-pick-opt.off {
  cursor: not-allowed;
}

.repo-pick-opt.off .repo-pick-avatar, .repo-pick-opt.off .repo-pick-label {
  opacity: .5;
}

.repo-pick-opt .tick {
  width: 14px;
  color: var(--accent);
  flex: none;
  display: inline-flex;
}

.repo-pick-opt .tick svg {
  width: 14px;
  height: 14px;
}

.side-section-head {
  border-radius: 6px;
  align-items: center;
  gap: 2px;
  display: flex;
}

.side-section-head.plain {
  color: var(--ink-2);
  gap: 8px;
  padding: 6px 10px 2px;
  font-size: 12px;
}

.side-section-head .count, .side-section-head.plain .count {
  font: 500 11px/1 var(--font-code);
  color: var(--ink-2);
  margin-left: auto;
}

.side-section-toggle {
  cursor: pointer;
  min-width: 0;
  color: var(--ink-2);
  text-align: left;
  background: none;
  border: 0;
  border-radius: 6px;
  flex: 1;
  align-items: center;
  gap: 6px;
  padding: 6px 6px 6px 4px;
  font-size: 12.5px;
  font-weight: 600;
  display: flex;
}

.side-section-toggle:hover {
  color: var(--ink);
  background: var(--surface-2);
}

.side-section-toggle .n {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.side-section-toggle .count {
  margin-left: auto;
  padding-left: 6px;
}

.side-section-toggle .working-dot {
  width: 6px;
  height: 6px;
  margin-left: auto;
}

.side-section-toggle .working-dot + .count {
  margin-left: 0;
  padding-left: 10px;
}

.side-section-head .hover-only {
  opacity: 0;
}

.side-section-head:hover .hover-only, .side-section-head .hover-only:focus-visible, .side-section-head .hover-only[aria-expanded="true"] {
  opacity: 1;
}

.side-section-list {
  gap: 1px;
  min-height: 4px;
  display: grid;
}

.side-section-list .ws-link {
  padding-left: 24px;
}

.side-section:last-child .side-section-list .ws-link, .side-section-head.plain + .side-section-list .ws-link {
  padding-left: 10px;
}

.side-empty {
  color: var(--ink-2);
  margin: 0;
  padding: 4px 10px 4px 24px;
  font-size: 12px;
  font-style: italic;
}

.chev {
  color: var(--ink-2);
  transition: transform .12s;
  display: inline-grid;
}

.chev svg.i {
  width: 13px;
  height: 13px;
}

.chev.open {
  transform: rotate(90deg);
}

.ws-link[draggable="true"] {
  cursor: grab;
}

.drop-before {
  box-shadow: inset 0 2px 0 var(--accent);
}

.drop-after {
  box-shadow: inset 0 -2px 0 var(--accent);
}

.wcard.drop-before {
  box-shadow: 0 -3px 0 var(--accent);
}

.wcard.drop-after {
  box-shadow: 0 3px 0 var(--accent);
}

.drop-into {
  background: var(--accent-soft);
  border-radius: 8px;
}

.side-section-head.drop-into {
  outline: 1px dashed var(--accent);
}

.wcard.dragging {
  opacity: .5;
}

.desk-section {
  border-radius: 10px;
  gap: 10px;
  margin: -4px;
  padding: 4px;
  display: grid;
}

.section-title.movable {
  cursor: grab;
  border-radius: 6px;
  align-items: center;
}

.section-toggle {
  color: var(--ink);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 4px;
  align-items: center;
  gap: 8px;
  padding: 2px 4px 2px 0;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.section-toggle span:last-child {
  color: var(--ink-2);
  font-weight: 400;
}

.drop-zone {
  border-style: dashed;
  padding: 20px 16px;
  font-size: 13px;
}

.grip {
  color: var(--idle);
  cursor: grab;
  margin-left: -6px;
  display: inline-grid;
}

.wcard[draggable="true"] {
  cursor: default;
}

.wcard[draggable="true"]:hover .grip {
  color: var(--ink-2);
}

.run {
  flex: 1;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  display: grid;
  position: relative;
}

.run.with-panel {
  grid-template-columns: minmax(0, 1fr) var(--panel-w, minmax(360px, 44%));
}

.panel-resizer {
  top: 0;
  bottom: 0;
  right: var(--panel-w, 44%);
  cursor: col-resize;
  z-index: 5;
  touch-action: none;
  width: 8px;
  margin-right: -4px;
  position: absolute;
}

.panel-resizer:after {
  content: "";
  background: none;
  transition: background .15s;
  position: absolute;
  inset: 0 3px;
}

.panel-resizer:hover:after, .panel-resizer:focus-visible:after, body.resizing .panel-resizer:after {
  background: var(--accent);
}

body.resizing {
  cursor: col-resize;
  -webkit-user-select: none;
  user-select: none;
}

body.resizing iframe {
  pointer-events: none;
}

.run-main {
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  display: flex;
}

.run-head {
  background: var(--surface);
  gap: 8px;
  padding: 10px 28px 8px;
  display: grid;
}

.run-head .line1 {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.run-head h1 {
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
  font-size: 17px;
  font-weight: 600;
}

.run-head h1.mono {
  font: 500 15px/1.3 var(--font-code);
}

.run-head h1 {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  max-width: 34ch;
  overflow: hidden;
}

.run-head .line1 {
  flex-wrap: nowrap;
}

.run-head .line1 .head-meta {
  flex-shrink: 1000;
}

.run-head .rename-btn {
  opacity: .6;
  margin-left: -6px;
}

.run-head .line1:hover .rename-btn, .run-head .rename-btn:focus-visible {
  opacity: 1;
}

.status-btn {
  border: 1px solid var(--line);
  background: var(--surface);
  cursor: pointer;
  border-radius: 999px;
  flex: none;
  align-items: center;
  gap: 6px;
  height: 26px;
  padding: 0 8px;
  font-size: 12.5px;
  font-weight: 500;
  display: inline-flex;
}

.status-btn:hover {
  background: var(--surface-2);
}

.status-btn svg.i {
  width: 12px;
  height: 12px;
  color: var(--ink-2);
}

.head-meta {
  min-width: 0;
  color: var(--ink-2);
  align-items: center;
  gap: 12px;
  font-size: 12.5px;
  display: inline-flex;
}

.head-meta > span {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.head-branch {
  min-width: 0;
}

.head-meta {
  flex: 0 auto;
  overflow: hidden;
}

.run-main {
  container: runmain / inline-size;
}

@container runmain (max-width: 760px) {
  .head-branch, .head-meta .chip {
    display: none;
  }
}

@container runmain (max-width: 600px) {
  .head-meta {
    display: none;
  }
}

.head-meta > span:not(.head-branch), .head-meta .chip, .run-head .checks-btn, .run-head .line1 > .btn {
  white-space: nowrap;
  flex: none;
}

.head-branch > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--font-code);
  font-size: 12px;
  overflow: hidden;
}

.run-head .actions {
  align-items: center;
  gap: 8px;
  margin-left: auto;
  display: flex;
}

.run-head .wmeta {
  margin-top: 0;
}

.run-head .connect {
  padding-top: 8px;
}

.tabs {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  scrollbar-width: thin;
  align-items: flex-end;
  gap: 2px;
  padding: 0 20px;
  display: flex;
  overflow-x: auto;
}

.tab {
  border: 1px solid #0000;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  flex: none;
  align-items: center;
  max-width: 240px;
  margin-bottom: -1px;
  display: flex;
}

.tab:hover {
  background: var(--surface-2);
}

.tab.on {
  background: var(--bg);
  border-color: var(--line);
}

.tab-main {
  cursor: pointer;
  min-width: 0;
  color: var(--ink-2);
  background: none;
  border: 0;
  align-items: center;
  gap: 8px;
  padding: 8px 4px 8px 12px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
}

.tab.on .tab-main {
  color: var(--ink);
}

.tab-main .glyph {
  width: 18px;
  height: 18px;
  font-size: 10px;
}

.tab-name {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.tab-more {
  color: var(--ink-2);
  cursor: pointer;
  opacity: 0;
  background: none;
  border: 0;
  border-radius: 5px;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-right: 4px;
  display: grid;
}

.tab:hover .tab-more, .tab.on .tab-more, .tab-more:focus-visible {
  opacity: 1;
}

.tab-more:hover {
  background: var(--surface-2);
  color: var(--ink);
}

.tab-new {
  border: 1px dashed var(--line);
  height: 34px;
  color: var(--ink-2);
  cursor: pointer;
  background: none;
  border-radius: 6px;
  flex: none;
  align-items: center;
  gap: 6px;
  margin: 0 0 4px 4px;
  padding: 0 10px;
  font-size: 13px;
  display: inline-flex;
}

.tab-new:hover, .tab-new.on {
  color: var(--accent);
  border-color: var(--accent);
  background: var(--accent-soft);
}

.session {
  background: var(--bg);
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
}

.session-toolbar {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 8px 28px;
  display: flex;
}

.toolbar-field {
  color: var(--ink-2);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: inline-flex;
}

.toolbar-field select {
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--ink);
  border-radius: 6px;
  max-width: 220px;
  height: 28px;
  padding: 0 6px;
  font-size: 12.5px;
}

.toolbar-spacer {
  flex: 1;
}

.usage {
  font: 500 12px/1 var(--font-code);
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.usage-bar {
  background: var(--surface-2);
  border-radius: 3px;
  width: 64px;
  height: 5px;
  overflow: hidden;
}

.usage-bar span {
  background: var(--accent);
  height: 100%;
  display: block;
}

.session .thread {
  flex: 1;
  padding: 22px 28px;
  overflow-y: auto;
}

.thread-in {
  gap: 14px;
}

.draft-in {
  gap: 18px;
  max-width: 780px;
}

.draft-in h2 {
  font-size: 18px;
  font-weight: 600;
}

.turn-end {
  text-align: center;
  color: var(--ink-2);
  margin: 0;
  font-size: 12px;
}

.compacted {
  color: var(--ink-2);
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 12px;
  display: flex;
}

.compacted:before, .compacted:after {
  content: "";
  border-top: 1px dashed var(--line);
  flex: 1;
}

details.thinking.step {
  margin: 0;
}

.step-group {
  margin-left: 40px;
}

.step-group-head {
  color: var(--ink-2);
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  margin-left: -8px;
  padding: 4px 8px;
  font-size: 13px;
  line-height: 18px;
  display: flex;
}

.step-group-head:hover {
  background: var(--surface-2);
  color: var(--ink);
}

.step-group-head > * {
  flex: none;
}

.step-group-head .chev svg {
  width: 12px;
  height: 12px;
  transition: transform .15s;
}

.step-group.open .step-group-head .chev svg {
  transform: rotate(90deg);
}

.step-group-head .cg-run {
  margin: 0;
}

.step-group-icons {
  opacity: .7;
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.step-group-icons svg {
  width: 13px;
  height: 13px;
}

.step-group-failed {
  color: var(--bad);
  font-size: 12px;
  font-weight: 500;
}

.step-group-now {
  text-overflow: ellipsis;
  min-width: 0;
  font-family: var(--font-code);
  opacity: .7;
  border-left: 1px solid var(--line);
  flex: 0 auto;
  padding-left: 8px;
  font-size: 11.5px;
  overflow: hidden;
}

.step-group-body {
  gap: 2px;
  padding: 4px 0 6px 2px;
  display: grid;
}

.tool-row-head, .step-thought summary {
  text-align: left;
  width: 100%;
  min-width: 0;
  color: var(--ink);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 10px;
  padding: 5px 6px;
  font-size: 13.5px;
  list-style: none;
  display: flex;
}

.step-thought summary::-webkit-details-marker {
  display: none;
}

.tool-row-head:hover, .step-thought summary:hover {
  background: var(--surface-2);
}

.tool-row-head > svg, .step-thought summary > svg {
  width: 14px;
  height: 14px;
  color: var(--ink-2);
  flex: none;
}

.tool-row-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: none;
  max-width: 45%;
  overflow: hidden;
}

.tool-row-chip {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: var(--ink-2);
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 5px;
  flex: 0 auto;
  padding: 1px 7px;
  font-size: 12px;
  overflow: hidden;
}

.step-thought .tool-row-chip {
  font-family: inherit;
}

.tool-row.k-failed .tool-row-title {
  color: var(--bad);
}

.tool-row .tool-body {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin: 2px 0 8px 30px;
  overflow: hidden;
}

.step-thought > :not(summary) {
  color: var(--ink-2);
  margin: 2px 0 8px 30px;
  font-size: 13px;
}

.step-msg {
  padding: 4px 6px;
  font-size: 14px;
}

.step-msg p {
  margin: 0 0 6px;
}

.tool {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  margin-left: 40px;
  overflow: hidden;
}

.tool.k-failed {
  border-color: var(--bad);
}

.tool-head {
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: var(--ink);
  background: none;
  border: 0;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  display: flex;
}

.tool-head:hover {
  background: var(--surface-2);
}

.tool-icon {
  background: var(--surface-2);
  width: 24px;
  height: 24px;
  color: var(--ink-2);
  border-radius: 6px;
  flex: none;
  place-items: center;
  display: grid;
}

.tool-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: 13px;
  font-weight: 500;
  font-family: var(--font-code);
  flex: 1;
  overflow: hidden;
}

.tool-locations {
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 12px 8px 46px;
  display: flex;
}

.tool-body {
  border-top: 1px solid var(--line);
  gap: 8px;
  padding: 10px 12px;
  display: grid;
}

.tool-output {
  background: var(--code-bg);
  border: 1px solid var(--line);
  max-height: 360px;
  font: 12px/1.55 var(--font-code);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--ink);
  border-radius: 6px;
  margin: 0;
  padding: 8px 10px;
  overflow: auto;
}

details.raw summary, details.resource summary {
  cursor: pointer;
  color: var(--ink-2);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: inline-flex;
}

.file-chip {
  background: var(--surface-2);
  max-width: 100%;
  color: var(--ink);
  overflow-wrap: anywhere;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  font-size: 12px;
  display: inline-flex;
}

.file-chip img {
  object-fit: cover;
  border-radius: 3px;
  width: 22px;
  height: 22px;
}

.file-chip button {
  color: var(--ink-2);
  cursor: pointer;
  background: none;
  border: 0;
  place-items: center;
  padding: 0;
  display: grid;
}

.block-image {
  margin: 6px 0;
  display: inline-block;
}

.block-image img {
  border: 1px solid var(--line);
  border-radius: 8px;
  max-width: min(100%, 480px);
  max-height: 360px;
}

.diff {
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
}

.diff-head {
  background: var(--surface-2);
  width: 100%;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  border: 0;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  font-size: 12.5px;
  display: flex;
}

.diff-head .mono {
  overflow-wrap: anywhere;
  flex: 1;
  min-width: 0;
}

.diff-add {
  color: var(--ok);
  font: 600 12px/1 var(--font-code);
}

.diff-del {
  color: var(--bad);
  font: 600 12px/1 var(--font-code);
}

.diff-body {
  background: var(--code-bg);
  max-height: 520px;
  overflow: auto;
}

.hunk-head {
  color: var(--ink-2);
  background: var(--accent-soft);
  padding: 4px 10px;
  font-size: 11.5px;
}

.diff-line {
  font: 12px/1.6 var(--font-code);
  grid-template-columns: 42px 42px 16px 1fr;
  display: grid;
}

.diff-line .ln {
  text-align: right;
  color: var(--idle);
  -webkit-user-select: none;
  user-select: none;
  padding-right: 8px;
}

.diff-line .sign {
  color: var(--ink-2);
  -webkit-user-select: none;
  user-select: none;
}

.diff-line code {
  white-space: pre;
  font: inherit;
  background: none;
  padding: 0;
}

.diff-line.add {
  background: var(--ok-soft);
}

.diff-line.del {
  background: var(--bad-soft);
}

.plan {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 10px;
  margin-left: 40px;
  padding: 12px 16px;
}

.plan ol {
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.plan li {
  color: var(--ink);
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  line-height: 18px;
  display: flex;
}

.plan li.plan-completed .plan-text {
  color: var(--ink-2);
}

.plan-mark {
  width: 16px;
  height: 18px;
  color: var(--ink-2);
  flex: none;
  place-items: center;
  display: grid;
}

.plan-mark svg {
  width: 15px;
  height: 15px;
}

.plan-todo {
  border: 1.5px dashed var(--ink-2);
  border-radius: 50%;
  width: 13px;
  height: 13px;
}

.plan-ring {
  border: 1.5px solid var(--ink-2);
  border-radius: 50%;
  width: 13px;
  height: 13px;
}

.btn-spin {
  border: 1.5px solid;
  border-top-color: #0000;
  border-radius: 50%;
  flex: none;
  width: 12px;
  height: 12px;
  animation: .9s linear infinite spin;
}

.plan-spin {
  border: 1.5px solid var(--line);
  border-top-color: var(--ink);
  border-radius: 50%;
  width: 13px;
  height: 13px;
  animation: .9s linear infinite spin;
}

.live-status {
  color: var(--ink-2);
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 2px 0 0 40px;
  font-size: 13.5px;
  display: flex;
}

.live-doing {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.live-steps, .live-time {
  flex: none;
}

.live-time {
  font-variant-numeric: tabular-nums;
}

.live-dots {
  flex: none;
  gap: 3px;
  display: inline-flex;
}

.live-dots i {
  background: var(--accent);
  border-radius: 50%;
  width: 4px;
  height: 4px;
  animation: 1.2s ease-in-out infinite livedot;
}

.live-dots i:nth-child(2) {
  animation-delay: .15s;
}

.live-dots i:nth-child(3) {
  animation-delay: .3s;
}

@keyframes livedot {
  0%, 80%, 100% {
    opacity: .25;
  }

  40% {
    opacity: 1;
  }
}

.ring {
  border: 1.5px solid var(--idle);
  border-radius: 50%;
  width: 10px;
  height: 10px;
}

.chip.prio {
  background: var(--warn-soft);
  color: var(--ink);
}

.permission {
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  margin-left: 40px;
  font-size: 13px;
  display: flex;
}

.permission.done {
  color: var(--ink-2);
  min-width: 0;
  padding: 2px 0;
}

.permission.done > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.permission.done > svg {
  flex: none;
}

.thread-in {
  grid-template-columns: minmax(0, 1fr);
}

.thread-in > *, .step-group, .step-group-body, .tool-row, .tool-row-head, .live-status, .msg .body, .msg .content {
  min-width: 0;
}

.step-group-body {
  grid-template-columns: minmax(0, 1fr);
}

.step-group-body .permission {
  margin-left: 0;
  padding: 5px 6px;
  font-size: 12.5px;
}

.tool-row-title {
  min-width: 0;
}

.tool-body pre, .tool-output {
  max-width: 100%;
}

.permission.waiting {
  border: 1px solid var(--warn);
  background: var(--warn-soft);
  gap: 10px;
  padding: 12px 14px;
  display: grid;
}

.permission-head {
  align-items: center;
  gap: 8px;
  display: flex;
}

.permission-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.question {
  border-radius: 8px;
  margin-left: 40px;
  font-size: 13px;
}

.question.waiting {
  border: 1px solid var(--accent);
  background: var(--accent-soft);
  gap: 14px;
  padding: 12px 14px;
  display: grid;
}

.question.compact {
  margin-left: 0;
}

.question-head {
  white-space: pre-wrap;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.question-head > svg {
  color: var(--accent);
  flex: none;
  margin-top: 2px;
}

.q-field {
  border: 0;
  gap: 6px;
  min-width: 0;
  margin: 0;
  padding: 0;
  display: grid;
}

.q-field legend {
  gap: 2px;
  margin-bottom: 6px;
  padding: 0;
  display: grid;
}

.q-header {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-2);
  font-size: 11px;
  font-weight: 600;
}

.q-label {
  font-weight: 600;
}

.q-options {
  gap: 6px;
  display: grid;
}

.q-option {
  text-align: left;
  border: 1px solid var(--line);
  background: var(--surface);
  width: 100%;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
  border-radius: 6px;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  display: flex;
}

.q-option:hover:not(:disabled) {
  border-color: var(--accent);
}

.q-option.on {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}

.q-option:disabled {
  cursor: default;
  opacity: .7;
}

.q-option:focus-visible {
  box-shadow: 0 0 0 3px var(--accent-soft);
  border-color: var(--accent);
  outline: none;
}

.q-mark {
  border: 1px solid var(--line);
  width: 20px;
  height: 20px;
  color: var(--ink-2);
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: 11px;
  font-weight: 600;
  display: grid;
}

.q-mark.multi {
  border-radius: 4px;
}

.q-option.on .q-mark {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
}

.q-mark svg {
  width: 12px;
  height: 12px;
}

.q-option-text {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.q-option-text .hint {
  font-size: 12.5px;
}

.q-typed {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.q-typed .q-label {
  color: var(--ink-2);
  font-weight: 500;
}

.q-check {
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.question-problem {
  color: var(--bad);
  margin: 0;
}

.question-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.question.done {
  color: var(--ink-2);
  gap: 4px;
  min-width: 0;
  padding: 2px 0;
  display: grid;
}

.question-done-head {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.question-done-head > svg {
  flex: none;
}

.question-done-head > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.question-answers {
  gap: 2px;
  margin: 0;
  padding: 0 0 0 26px;
  list-style: none;
  display: grid;
}

.question-answers li {
  color: var(--ink);
}

.question-answers .hint {
  margin-right: 6px;
}

.inbox-question {
  padding: 0 14px 12px 52px;
}

.artifact {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  margin: 10px 0 0;
  overflow: hidden;
}

.artifact-bar {
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
  align-items: center;
  gap: 8px;
  padding: 6px 8px 6px 12px;
  display: flex;
}

.artifact-kind {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 12.5px;
  font-weight: 600;
  display: inline-flex;
  overflow: hidden;
}

.artifact .seg .btn.on, .artifact-panel .seg .btn.on {
  background: var(--accent-soft);
  color: var(--accent);
}

.artifact-frame {
  background: #fff;
  border: 0;
  width: 100%;
  display: block;
}

.artifact-code {
  background: var(--code-bg);
  max-height: 420px;
  font: 12px/1.55 var(--font-code);
  white-space: pre;
  margin: 0;
  padding: 10px 12px;
  overflow: auto;
}

.artifact-code.full {
  flex: 1;
  max-height: none;
}

.checks-btn.tone-bad {
  color: var(--bad);
  border-color: var(--bad-soft);
}

.checks-btn.tone-ok {
  color: var(--ok);
}

.checks-btn.tone-warn {
  color: var(--warn);
}

.checks-title {
  flex: 1;
  font-weight: 600;
}

.checks-title.tone-bad {
  color: var(--bad);
}

.checks-title.tone-ok {
  color: var(--ok);
}

.checks-title.tone-warn {
  color: var(--warn);
}

.checks-body {
  flex: 1;
  min-height: 0;
  padding: 4px 0 16px;
  overflow: auto;
}

.checks-sec {
  gap: 6px;
  padding: 12px 16px 4px;
  display: grid;
}

.checks-sec h3 {
  color: var(--ink-2);
  align-items: center;
  gap: 14px;
  margin: 0;
  font-size: 12.5px;
  font-weight: 600;
  display: flex;
}

.checks-prtitle {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.checks-sec .add {
  color: var(--ok);
}

.checks-sec .del {
  color: var(--bad);
}

.checks-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.checks-sec {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.checks-panel {
  min-width: 0;
  overflow: hidden;
}

.checks-list li {
  border-radius: 6px;
  align-items: center;
  gap: 10px;
  min-height: 30px;
  padding: 0 2px;
  font-size: 13.5px;
  display: flex;
}

.checks-list li:hover {
  background: var(--surface-2);
}

.checks-list .grow {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.checks-list .row-action {
  opacity: 0;
}

.checks-list li:hover .row-action, .checks-list .row-action:focus-visible {
  opacity: 1;
}

.cg {
  text-align: center;
  width: 16px;
  color: var(--idle);
  flex: none;
  font-size: 13px;
  font-weight: 700;
}

.cg-ok {
  color: var(--ok);
}

.cg-bad {
  color: var(--bad);
}

.cg-run {
  border: 2px solid var(--warn);
  border-top-color: #0000;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  margin: 0 3px;
  animation: .9s linear infinite spin;
}

.avatar-sm {
  border-radius: 50%;
  flex: none;
  width: 18px;
  height: 18px;
}

.comment-text strong {
  margin-right: 4px;
  font-weight: 600;
}

.artifact-panel {
  border-left: 1px solid var(--line);
  background: var(--surface);
  flex-direction: column;
  min-height: 0;
  display: flex;
}

.artifact-panel .artifact-frame {
  flex: 1;
}

.artifact-item {
  margin: 10px 0 10px 40px;
}

.artifact-row {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  width: 100%;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  display: flex;
}

.artifact-row:hover, .artifact-row:focus-visible {
  border-color: var(--accent);
}

.artifact-row-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
}

.artifact-row .hint {
  flex: none;
}

.artifact-row-open {
  color: var(--accent);
  flex: none;
  font-size: 12.5px;
}

.artifact-item > .artifact-frame, .artifact-item > .artifact-doc {
  border: 1px solid var(--line);
  border-radius: var(--r);
  margin-top: 8px;
}

.artifact-doc {
  flex: 1;
  min-height: 0;
  padding: 16px 20px;
  overflow: auto;
}

.artifact-version {
  border: 1px solid var(--line);
  background: var(--surface);
  height: 26px;
  color: var(--ink);
  font: inherit;
  border-radius: 6px;
  flex: none;
  padding: 0 6px;
  font-size: 12.5px;
}

.cos-from {
  color: var(--ink-2);
  font-style: italic;
}

.composer-controls {
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
  overflow: hidden;
}

.pill-select {
  flex: 0 auto;
  min-width: 0;
  display: inline-flex;
  position: relative;
}

.pill-select select {
  appearance: none;
  border: 1px solid var(--line);
  background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238a95a3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;
  width: 100%;
  max-width: 160px;
  height: 26px;
  color: var(--ink);
  cursor: pointer;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 999px;
  padding: 0 22px 0 10px;
  font-size: 12px;
  font-weight: 500;
  overflow: hidden;
}

.pill-select select:hover {
  background-color: var(--surface-2);
}

.pill-select select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.pill-more {
  border: 1px solid var(--line);
  background: var(--surface);
  height: 26px;
  color: var(--ink-2);
  cursor: pointer;
  border-radius: 999px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 500;
}

.pill-more:hover {
  background: var(--surface-2);
  color: var(--ink);
}

.composer .bar {
  flex-wrap: nowrap;
}

.composer .bar .usage-bar {
  display: none;
}

.composer .bar .usage {
  flex: none;
  font-size: 11.5px;
}

.composer .bar .btn {
  flex: none;
}

.composer-hint {
  min-width: 0;
}

.session-note {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  padding: 8px 28px;
}

.composer {
  position: relative;
}

.composer.dropping {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.prompt-box {
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 6px;
}

.prompt-box:focus-within, .prompt-box.dropping {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.prompt-box textarea {
  resize: vertical;
  width: 100%;
  min-height: 88px;
  color: var(--ink);
  background: none;
  border: 0;
  outline: none;
  padding: 8px 10px 4px;
  font-size: 14px;
  font-weight: 400;
  display: block;
}

.prompt-box .attachments {
  padding: 8px 10px 0;
}

.prompt-box-bar {
  align-items: center;
  gap: 6px;
  padding: 2px 6px 6px;
  display: flex;
}

.prompt-box-bar .hint {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.attachments {
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px 12px 0;
  display: flex;
}

.slash-menu {
  z-index: 10;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 8px;
  max-height: 280px;
  padding: 4px;
  display: grid;
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  right: 0;
  overflow-y: auto;
}

.slash-menu button {
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  background: none;
  border: 0;
  border-radius: 5px;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 12px;
  padding: 7px 10px;
  display: grid;
}

.slash-menu button .hint {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.slash-menu button.on, .slash-menu button:hover {
  background: var(--accent-soft);
}

@media (display-mode: window-controls-overlay) {
  .brand {
    min-height: env(titlebar-area-height, 33px);
    padding: 10px 18px 10px calc(env(titlebar-area-x, 78px) + 42px);
    box-sizing: border-box;
  }

  .side-toggle {
    top: calc((env(titlebar-area-height, 33px) - 30px) / 2);
    left: calc(env(titlebar-area-x, 78px) + 4px);
  }

  :root[data-side="collapsed"] .main > .top {
    padding-left: calc(env(titlebar-area-x, 78px) + 46px);
  }

  .top {
    app-region: drag;
    -webkit-app-region: drag;
    padding-right: calc(100vw - env(titlebar-area-x, 0px) - env(titlebar-area-width, 100vw) + 16px);
  }

  .top a, .top button, .top input, .top select, .top textarea, .top [role="button"], .top .crumbs b {
    app-region: no-drag;
    -webkit-app-region: no-drag;
  }
}

@media (max-width: 1000px) {
  .logins, .split, .usage-grid {
    grid-template-columns: 1fr;
  }

  .summary {
    grid-template-columns: 1fr 1fr;
  }

  .summary > div:nth-child(3) {
    border-left: 0;
  }

  .summary > div:nth-child(n+3) {
    border-top: 1px solid var(--line);
  }
}

.mobile-tabs, .m-back, .sheet-backdrop, .cb-short {
  display: none;
}

.inbox {
  gap: 14px;
  display: grid;
}

.inbox-filters {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.chip-btn {
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink-2);
  cursor: pointer;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  font-size: 13px;
  display: inline-flex;
}

.chip-btn[aria-selected="true"] {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
}

.chip-btn .n {
  font: 500 11px/1 var(--font-code);
}

.inbox-list {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.inbox-list:empty {
  display: none;
}

.inbox-row + .inbox-row {
  border-top: 1px solid var(--line);
}

.inbox-main {
  color: var(--ink);
  grid-template-columns: 26px 1fr auto;
  align-items: start;
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.inbox-main:hover {
  background: var(--surface-2);
  text-decoration: none;
}

.inbox-glyph {
  width: 24px;
  height: 24px;
}

.inbox-text {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.inbox-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  overflow: hidden;
}

.inbox-ws {
  color: var(--ink-2);
  font-weight: 400;
}

.inbox-line {
  color: var(--ink-2);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  overflow: hidden;
}

.s-needs_you .inbox-line {
  color: var(--warn);
}

.inbox-dots {
  color: var(--accent);
  letter-spacing: 1px;
  margin-right: 6px;
}

.inbox-when {
  color: var(--ink-2);
  justify-items: end;
  gap: 6px;
  font-size: 12px;
  display: grid;
}

.inbox-need {
  background: var(--warn);
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.inbox-perm {
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 14px 12px 52px;
  display: flex;
}

.archived {
  gap: 14px;
  display: grid;
}

.archived-list {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.archived-list:empty {
  display: none;
}

.archived-row {
  align-items: center;
  gap: 12px;
  padding: 0 14px 0 0;
  display: flex;
}

.archived-row + .archived-row {
  border-top: 1px solid var(--line);
}

.archived-main {
  min-width: 0;
  color: var(--ink);
  flex: 1;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  display: flex;
}

.archived-main:hover {
  background: var(--surface-2);
  text-decoration: none;
}

.archived-text {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.archived-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  overflow: hidden;
}

.archived-line {
  color: var(--ink-2);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  overflow: hidden;
}

.archived-actions {
  flex-shrink: 0;
  gap: 6px;
  display: flex;
}

.archived-row.selected {
  background: var(--surface-2);
}

.archived-check {
  accent-color: var(--accent);
  flex-shrink: 0;
  margin: 0 -4px 0 14px;
}

.archived-disk {
  text-align: right;
  font-variant-numeric: tabular-nums;
  min-width: 64px;
  color: var(--ink);
  flex-shrink: 0;
  font-size: 13px;
}

.archived-disk.unknown {
  color: var(--ink-2);
}

.archived-bar {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 0 2px;
  display: flex;
}

.archived-all {
  cursor: pointer;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.archived-all input {
  accent-color: var(--accent);
  margin: 0;
}

.archived-bar-actions {
  gap: 6px;
  margin-left: auto;
  display: flex;
}

@media (max-width: 640px) {
  .archived-row {
    flex-wrap: wrap;
    padding: 0 14px 12px 0;
  }

  .archived-actions {
    padding-left: 14px;
  }

  .archived-disk {
    text-align: left;
    min-width: 0;
  }
}

.nav .count.need {
  background: var(--warn);
  color: #fff;
  border-radius: 999px;
  padding: 2px 6px;
}

@media (max-width: 820px) {
  .shell {
    grid-template-rows: 1fr auto;
    grid-template-columns: 1fr;
    height: 100%;
  }

  .side, .side-toggle {
    display: none;
  }

  :root[data-side="collapsed"] .main > .top {
    padding-left: 16px;
  }

  .mobile-tabs {
    border-top: 1px solid var(--line);
    background: var(--surface);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
    grid-template-columns: repeat(4, 1fr);
    display: grid;
  }

  .mtab {
    color: var(--ink-2);
    font: 500 11px/1.2 var(--font-body);
    cursor: pointer;
    background: none;
    border: 0;
    justify-items: center;
    gap: 2px;
    padding: 4px 0;
    display: grid;
  }

  .mtab:hover {
    text-decoration: none;
  }

  .mtab[aria-current="page"] {
    color: var(--accent);
  }

  .mtab-icon {
    border-radius: 13px;
    place-items: center;
    width: 34px;
    height: 26px;
    display: grid;
    position: relative;
  }

  .mtab[aria-current="page"] .mtab-icon {
    background: var(--accent-soft);
  }

  .mtab-new .mtab-icon {
    background: var(--accent);
    color: var(--accent-ink);
  }

  .mtab-icon svg {
    width: 18px;
    height: 18px;
  }

  .mtab-badge {
    background: var(--warn);
    color: #fff;
    border-radius: 8px;
    place-items: center;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 10px;
    font-weight: 700;
    display: grid;
    position: absolute;
    top: -4px;
    right: -2px;
  }

  .top {
    min-height: 48px;
    padding: 10px 16px;
  }

  .crumbs > :not(:last-child) {
    display: none;
  }

  .scroll {
    padding: 16px 12px 40px;
  }

  .page-head p {
    font-size: 13.5px;
  }

  .dock-mobile {
    left: 12px;
    right: 12px;
    bottom: calc(76px + env(safe-area-inset-bottom));
    z-index: 30;
    background: var(--surface);
    box-shadow: var(--shadow);
    margin: 0;
    display: block;
    position: fixed;
  }

  .dock-mobile .dock-panel {
    width: auto;
    bottom: calc(100% + 6px);
    left: 0;
    right: 0;
  }

  .summary {
    grid-template-columns: repeat(3, 1fr);
  }

  .summary > div {
    padding: 10px 12px;
  }

  .summary > div:nth-child(3) {
    border-left: 1px solid var(--line);
  }

  .summary > div:nth-child(n+3) {
    border-top: 0;
  }

  .summary .v {
    font-size: 18px;
  }

  .wcard {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 10px;
    padding: 12px 12px 12px 14px;
  }

  .wcard .connect, .wcard .grip, .wcard .real-name {
    display: none;
  }

  .wcard .wside {
    align-items: flex-end;
  }

  .wcard .wside .seg, .wcard .wside > .btn {
    display: none;
  }

  .wtitle .name {
    font-size: 13.5px;
  }

  .wmeta {
    gap: 6px 10px;
    font-size: 12px;
  }

  .main:has(.run) > .top {
    display: none;
  }

  .cb-full {
    display: none;
  }

  .cb-short {
    display: inline;
  }

  .run-head .status-btn, .run-head .pill-btn {
    flex: none;
  }

  .m-back {
    width: 30px;
    height: 30px;
    color: var(--accent);
    border-radius: 8px;
    flex: none;
    place-items: center;
    margin-left: -6px;
    display: grid;
  }

  .m-back svg {
    width: 18px;
    height: 18px;
    transform: rotate(180deg);
  }

  .run-head {
    padding: 8px 12px;
  }

  .run-head .line1 {
    gap: 8px;
  }

  .run-head h1 {
    flex: 1;
    min-width: 0;
    max-width: none;
    font-size: 16px;
  }

  .run-head .head-meta, .run-head .line1 > a.icon-btn, .run-head .line1 > .btn:not(.checks-btn), .run-head .toolbar-spacer {
    display: none;
  }

  .tabs {
    border-bottom: 1px solid var(--line);
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
  }

  .tab {
    border: 1px solid var(--line);
    border-radius: 999px;
    max-width: 180px;
    margin: 0;
  }

  .tab.on {
    background: var(--ink);
    color: var(--bg);
    border-color: var(--ink);
  }

  .tab.on .tab-main, .tab.on .tab-more {
    color: var(--bg);
  }

  .tab-new {
    border-radius: 999px;
    height: 30px;
    margin: 0;
  }

  .chat-head, .thread, .composer-wrap, .chat-notices, .session .thread, .session-toolbar {
    padding-left: 12px;
    padding-right: 12px;
  }

  .composer-wrap {
    padding-top: 8px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
  }

  .composer textarea {
    min-height: 44px;
    font-size: 16px;
  }

  .composer .bar {
    flex-wrap: wrap;
    row-gap: 6px;
  }

  .composer-controls {
    scrollbar-width: none;
    flex: 100%;
    order: 2;
    overflow-x: auto;
  }

  .msg .av {
    display: none;
  }

  .msg {
    grid-template-columns: 1fr;
  }

  .tool, .plan, .permission, .question, .step-group, .live-status {
    margin-left: 0;
  }

  .row2 {
    grid-template-columns: 1fr;
  }

  .agents {
    flex-wrap: wrap;
  }

  .gate {
    grid-template-columns: 1fr;
  }

  .gate-art {
    padding: 28px 24px;
  }

  .run.with-panel {
    grid-template-columns: 1fr;
  }

  .panel-resizer {
    display: none;
  }

  .artifact-panel {
    z-index: 45;
    position: fixed;
    inset: 0;
  }

  .changes-panel {
    z-index: 45;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-bottom: env(safe-area-inset-bottom);
    border-radius: 16px 16px 0 0;
    position: fixed;
    inset: 18vh 0 0;
    box-shadow: 0 -16px 40px #00000059;
  }

  .checks-panel {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-bottom: env(safe-area-inset-bottom);
    border-radius: 16px 16px 0 0;
    inset: 18vh 0 0;
    box-shadow: 0 -16px 40px #00000059;
  }

  .sheet-backdrop {
    z-index: 44;
    background: #0006;
    display: block;
    position: fixed;
    inset: 0;
  }

  .dialog, .dialog.wide {
    width: calc(100vw - 24px);
    max-height: calc(100% - 24px);
    overflow-y: auto;
  }

  .settings-nav {
    scrollbar-width: none;
    overflow-x: auto;
  }

  .settings-nav a {
    white-space: nowrap;
  }

  .inbox-perm, .inbox-question {
    padding-left: 14px;
  }

  .checks-list .row-action, .side-section-head .hover-only {
    opacity: 1;
  }

  .inbox-main {
    padding: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    transition: none !important;
    animation: none !important;
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.paused-note {
  margin-top: 8px;
}

:root {
  --lin: #5e6ad2;
  --lin-soft: #5e6ad221;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --lin: #8b93f0;
    --lin-soft: #8b93f029;
  }
}

:root[data-theme="dark"] {
  --lin: #8b93f0;
  --lin-soft: #8b93f029;
}

.lin-state {
  flex: none;
  display: block;
}

.lin-chip {
  border: 1px solid var(--line);
  background: var(--surface);
  max-width: 240px;
  color: var(--ink);
  font: 500 12px/1.3 var(--font-body);
  cursor: pointer;
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 2px 9px 2px 6px;
  display: inline-flex;
}

.lin-chip:hover, .lin-chip[aria-expanded="true"] {
  border-color: var(--lin);
}

.lin-chip[aria-expanded="true"] {
  box-shadow: 0 0 0 3px var(--lin-soft);
}

.lin-chip .k {
  font: 500 11.5px var(--font-code);
  color: var(--ink-2);
}

.lin-chip .s {
  text-overflow: ellipsis;
  overflow: hidden;
}

.lin-chip.ghost {
  color: var(--ink-2);
  border-style: dashed;
  padding-left: 7px;
}

.lin-chip.ghost svg {
  width: 12px;
  height: 12px;
}

.lin-moved {
  color: var(--lin);
  font-size: 11.5px;
}

.ws-list > .side-section, .side-section-list, .side-section-list > .ws-link {
  min-width: 0;
}

.ws-link .n {
  flex: auto;
  min-width: 0;
}

.lin-key {
  font: 500 10.5px/1 var(--font-code);
  color: var(--ink-2);
  flex: none;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  display: inline-flex;
}

.ws-link[aria-current="page"] .lin-key {
  color: inherit;
}

.lin-auto {
  font: 500 10px/1.4 var(--font-code);
  color: var(--lin);
  background: var(--lin-soft);
  text-transform: none;
  letter-spacing: 0;
  border-radius: 4px;
  flex: none;
  padding: 0 4px;
}

.lin-title {
  align-items: center;
  gap: 10px;
  display: flex;
}

.lin-badge {
  background: var(--lin);
  color: #fff;
  border-radius: 6px;
  flex: none;
  place-items: center;
  width: 24px;
  height: 24px;
  display: grid;
}

.lin-ok {
  color: var(--ok);
  font-weight: 500;
}

.lin-warn {
  color: var(--warn);
}

.lin-map th.num, .lin-map td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--ink-2);
  width: 90px;
}

.lin-map td {
  padding-top: 8px;
  padding-bottom: 8px;
}

.lin-state-name {
  align-items: center;
  gap: 8px;
  font-weight: 500;
  display: inline-flex;
}

.lin-select {
  max-width: 280px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.lin-select.set {
  border-color: var(--lin);
  background: var(--lin-soft);
}

.lin-radio, .choice-radio {
  border: 0;
  gap: 10px;
  margin: 0;
  padding: 0;
  font-size: 13.5px;
  display: grid;
}

.lin-radio legend, .choice-radio legend {
  margin-bottom: 4px;
  padding: 0;
  font-weight: 600;
}

.lin-radio label, .choice-radio label {
  cursor: pointer;
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.lin-radio input, .choice-radio input {
  margin-top: 3px;
}

.lin-radio small, .choice-radio small {
  color: var(--ink-2);
  font-size: 12.5px;
  display: block;
}

.lin-dialog {
  gap: 12px;
}

.lin-dialog-head {
  gap: 4px;
  display: grid;
}

.lin-results {
  gap: 1px;
  max-height: 320px;
  margin: 0 -8px;
  display: grid;
  overflow-y: auto;
}

.lin-results-label {
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ink-2);
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 600;
}

.lin-results .hint {
  padding: 6px 8px;
}

.lin-result {
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  background: none;
  border: 0;
  border-radius: 6px;
  grid-template-columns: 14px 76px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  font-size: 13px;
  display: grid;
}

.lin-result[aria-selected="true"] {
  background: var(--surface-2);
}

.lin-result .k {
  font: 500 12px var(--font-code);
  color: var(--ink-2);
}

.lin-result .t {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.lin-result .why {
  color: var(--lin);
  background: var(--lin-soft);
  white-space: nowrap;
  border-radius: 4px;
  padding: 0 5px;
  font-size: 11px;
}

.lin-foot-note {
  color: var(--ink-2);
  align-items: center;
  gap: 6px;
  margin-right: auto;
  font-size: 12px;
  display: inline-flex;
}

.mcp-grid {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
  padding: 14px;
  display: grid;
}

.mcp-tile {
  text-align: left;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--bg);
  color: var(--ink);
  cursor: pointer;
  grid-template-rows: auto auto;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px 12px;
  padding: 14px;
  transition: border-color .15s, box-shadow .15s, transform .15s;
  display: grid;
}

.mcp-tile:hover:not(:disabled) {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
  transform: translateY(-1px);
}

.mcp-tile:disabled {
  cursor: progress;
  opacity: .7;
}

.mcp-tile.on {
  border-color: color-mix(in srgb, var(--ok) 45%, var(--line));
}

.mcp-tile-text {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.mcp-tile-text .t {
  font-size: 14px;
  font-weight: 600;
}

.mcp-tile-text .m {
  color: var(--ink-2);
  font-size: 12px;
  line-height: 1.35;
}

.mcp-state {
  background: var(--accent-soft);
  color: var(--accent);
  border-radius: 999px;
  grid-column: 1 / -1;
  justify-self: start;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.mcp-state .i {
  width: 13px;
  height: 13px;
}

.mcp-state.ok {
  background: var(--ok-soft);
  color: var(--ok);
}

.mcp-state.warn {
  background: var(--warn-soft);
  color: var(--warn);
}

.mcp-state.bad {
  background: var(--bad-soft);
  color: var(--bad);
}

.mcp-logo {
  color: #fff;
  border-radius: 7px;
  flex: none;
  place-items: center;
  width: 26px;
  height: 26px;
  display: inline-grid;
  box-shadow: inset 0 0 0 1px #ffffff1f;
}

.mcp-logo.lg {
  border-radius: 10px;
  width: 40px;
  height: 40px;
}

.mcp-logo svg {
  fill: currentColor;
  width: 60%;
  height: 60%;
  display: block;
}

.mcp-initial {
  font: 600 13px/1 var(--font-code);
}

.mcp-row + .mcp-row {
  border-top: 1px solid var(--line);
}

.mcp-row .srow:hover {
  background: none;
}

.mcp-actions {
  align-items: center;
  gap: 6px;
  display: flex;
}

.mcp-status.ok {
  color: var(--ok);
}

.mcp-status.warn {
  color: var(--warn);
}

.mcp-status.bad {
  color: var(--bad);
}

.mcp-tools {
  gap: 8px;
  padding: 0 16px 14px 54px;
  display: grid;
}

.mcp-tools .hint {
  overflow-wrap: anywhere;
  margin: 0;
}

.mcp-tool-list {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}

.mcp-tool-list code {
  font: 11.5px/1 var(--font-code);
  background: var(--surface-2);
  color: var(--ink-2);
  border-radius: 5px;
  padding: 4px 7px;
}

.mcp-header {
  grid-template-columns: 160px 1fr;
  gap: 8px;
  display: grid;
}

.fl-check {
  color: var(--ink-2);
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  display: flex;
}

@media (max-width: 700px) {
  .mcp-header {
    grid-template-columns: 1fr;
  }

  .mcp-tools {
    padding-left: 16px;
  }
}

.term {
  background: #0f141a;
  flex: 1;
  min-height: 0;
  display: flex;
  position: relative;
}

.term-host {
  flex: 1;
  min-width: 0;
  min-height: 0;
  padding: 8px 0 0 10px;
}

.term-host .xterm {
  height: 100%;
}

.term-host .xterm-viewport {
  scrollbar-width: thin;
}

.term-note {
  color: #d7dde4;
  background: #1b222bf2;
  border: 1px solid #2a3440;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  font-size: 12.5px;
  display: flex;
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
}

.term-note span {
  flex: 1;
  min-width: 0;
}

.term-note.bad {
  border-color: var(--bad);
}

.term-settings {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  align-items: start;
  gap: 14px;
  display: grid;
}

.term-settings-form {
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
  display: grid;
}

.term-settings-form input[type="range"] {
  width: 100%;
  accent-color: var(--accent);
}

.term-settings-check {
  cursor: pointer;
  grid-column: 1 / -1;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  display: flex;
}

.term-settings-foot {
  border-top: 1px solid var(--line);
  justify-content: flex-end;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
}

.term-preview {
  white-space: pre;
  min-height: 220px;
  margin: 0;
  padding: 14px 16px;
  overflow-x: auto;
}

.term-preview-cursor {
  width: .6em;
  display: inline-block;
}

.term-swatches {
  border-radius: 0 0 var(--r) var(--r);
  grid-template-columns: repeat(8, 1fr);
  gap: 6px;
  padding: 0 16px 16px;
  display: grid;
}

.term-swatches span {
  border-radius: 4px;
  height: 18px;
  box-shadow: inset 0 0 0 1px #7f7f7f40;
}

.term-settings .panel {
  overflow: hidden;
}

@media (max-width: 900px) {
  .term-settings {
    grid-template-columns: 1fr;
  }
}

.term-tab-pane {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
}

.term-tab-pane[hidden], .term-panel[hidden] {
  display: none;
}

.term-tab .tab-main svg.i {
  width: 14px;
  height: 14px;
}

.term-panel .term {
  flex: 1;
}

.icon-btn.on {
  color: var(--accent);
  background: var(--accent-soft);
}

.changes-panel {
  min-width: 0;
  overflow: hidden;
}

.changes-panel .artifact-kind .diff-add, .changes-panel .artifact-kind .diff-del {
  font-size: 12px;
}

.changes-body {
  flex: 1;
  min-height: 0;
  padding: 0 0 16px;
  overflow: auto;
}

.changes-meta {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 6px;
  display: flex;
}

.changes-empty, .changes-error {
  padding: 10px 14px;
}

.changes-error {
  color: var(--bad);
}

.changes-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  margin: 0;
  padding: 0 6px;
  list-style: none;
  display: grid;
}

.changes-row {
  width: 100%;
  min-height: 30px;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  padding: 0 8px 0 4px;
  font-size: 12.5px;
  display: flex;
}

.changes-row:hover {
  background: var(--surface-2);
}

.changes-row.static {
  cursor: default;
}

.changes-row:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.changes-list li.open > .changes-head {
  background: var(--surface-2);
  border-radius: 6px;
}

.changes-head {
  align-items: center;
  gap: 2px;
  display: flex;
}

.changes-head .changes-row {
  flex: 1;
  min-width: 0;
}

.changes-head .changes-full {
  opacity: 0;
  color: var(--ink-2);
}

.changes-head:hover .changes-full, .changes-head .changes-full:focus-visible, .changes-list li.open .changes-full {
  opacity: 1;
}

@media (hover: none) {
  .changes-head .changes-full {
    opacity: 1;
  }
}

.diff-full {
  z-index: 55;
  background: var(--bg);
  flex-direction: column;
  display: flex;
  position: fixed;
  inset: 0;
}

.diff-full-bar {
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  display: flex;
}

.diff-full-bar .changes-path {
  font-size: 13.5px;
}

.diff-full-bar .diff-add, .diff-full-bar .diff-del {
  font-size: 12.5px;
}

.diff-full-bar .seg .btn.on {
  background: var(--accent-soft);
  color: var(--accent);
}

.diff-full-pos {
  white-space: nowrap;
  font-size: 12px;
}

.diff-full-body {
  flex: 1;
  min-height: 0;
  padding: 14px;
  overflow: auto;
}

.diff-full-body .changes-diff {
  max-width: 1800px;
  margin: 0 auto;
}

.diff-full-body diffs-container {
  font-size: 13px;
}

.changes-chev {
  color: var(--idle);
  flex: none;
  display: inline-flex;
}

.changes-chev svg.i {
  width: 13px;
  height: 13px;
  transition: transform .12s;
}

.changes-list li.open .changes-chev svg.i {
  transform: rotate(90deg);
}

.changes-path {
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-size: 12.5px;
  display: flex;
  overflow: hidden;
}

.changes-path .dir {
  color: var(--ink-2);
  text-overflow: ellipsis;
  text-align: left;
  direction: rtl;
  flex: 0 auto;
  min-width: 2ch;
  overflow: hidden;
}

.changes-path .name {
  text-overflow: ellipsis;
  flex: none;
  max-width: 100%;
  overflow: hidden;
}

.changes-dot {
  background: var(--warn);
  border-radius: 50%;
  flex: none;
  width: 6px;
  height: 6px;
}

.changes-status {
  width: 16px;
  height: 16px;
  font: 700 10px/1 var(--font-code);
  color: var(--ink-2);
  border: 1px solid var(--line);
  border-radius: 4px;
  flex: none;
  place-items: center;
  display: inline-grid;
}

.changes-status.st-A {
  color: var(--ok);
  border-color: currentColor;
}

.changes-status.st-D {
  color: var(--bad);
  border-color: currentColor;
}

.changes-status.st-M, .changes-status.st-R {
  color: var(--warn);
  border-color: currentColor;
}

.changes-diff {
  border: 1px solid var(--line);
  background: var(--code-bg);
  border-radius: 6px;
  margin: 4px 0 10px;
  overflow: hidden;
}

.changes-diff > .hint {
  margin: 0;
  padding: 10px 12px;
}

.changes-diff diffs-container {
  font-size: 12px;
  display: block;
}

.changes-btn .diff-add, .changes-btn .diff-del {
  font-size: 11.5px;
}

.changes-btn.on {
  color: var(--accent);
  background: var(--accent-soft);
}

.lin-sub {
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 600;
}

.lin-labels {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.lin-labels-item {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.lin-label-dot {
  border-radius: 50%;
  flex: none;
  width: 8px;
  height: 8px;
}

.lin-label-add {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.lin-label-add .lin-select {
  width: auto;
}

.lin-label-pick {
  cursor: pointer;
  border: 0;
}

.lin-label-pick svg {
  width: 10px;
  height: 10px;
}

.page:has( > .board) {
  max-width: none;
}

.board {
  scroll-snap-type: x proximity;
  grid-auto-columns: minmax(270px, 1fr);
  grid-auto-flow: column;
  align-items: start;
  gap: 12px;
  padding: 2px 2px 10px;
  display: grid;
  overflow-x: auto;
}

.board-col {
  background: var(--surface-2);
  border: 1px solid var(--line);
  scroll-snap-align: start;
  border-radius: 10px;
  align-content: start;
  gap: 8px;
  min-height: 180px;
  padding: 8px;
  display: grid;
}

.board-col.drop-into {
  background: var(--accent-soft);
  border-color: var(--accent);
}

.board-col-head {
  background: inherit;
  border-radius: 10px 10px 0 0;
  align-items: center;
  gap: 8px;
  margin: -8px -8px 0;
  padding: 10px 10px 8px 12px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.board-col-title {
  flex: 1;
  align-items: center;
  gap: 7px;
  min-width: 0;
  display: inline-flex;
}

.board-col-head.movable {
  cursor: grab;
}

.board-col-name {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.board-col.drop-before {
  box-shadow: -3px 0 0 var(--accent);
}

.board-col.drop-after {
  box-shadow: 3px 0 0 var(--accent);
}

.board-count {
  font: 500 11.5px/1 var(--font-code);
  color: var(--ink-2);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px 7px;
}

.board-cards {
  gap: 8px;
}

.board-col.collapsed .board-cards {
  display: block;
}

.board-folded {
  border: 1px dashed var(--line);
  border-radius: var(--r);
  width: 100%;
  color: var(--ink-2);
  font: 500 12.5px var(--font-body);
  cursor: pointer;
  background: none;
  padding: 14px 12px;
}

.board-folded:hover {
  color: var(--ink);
  border-color: var(--ink-2);
}

.board-empty {
  border: 1px dashed var(--line);
  border-radius: var(--r);
  min-height: 96px;
  color: var(--ink-2);
  text-align: center;
  place-items: center;
  padding: 12px;
  font-size: 12.5px;
  display: grid;
}

.board-add {
  border: 1px dashed var(--line);
  min-height: 180px;
  color: var(--ink-2);
  font: 500 13px var(--font-body);
  cursor: pointer;
  background: none;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.board-add:hover {
  color: var(--ink);
  border-color: var(--ink-2);
  background: var(--surface-2);
}

@container cards (max-width: 420px) {
  .wcard {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 12px 12px 12px 14px;
    box-shadow: 0 1px 2px #1017200d;
  }

  .wcard .connect, .wcard .real-name {
    display: none;
  }

  .wcard .wside {
    border-top: 1px dashed var(--line);
    flex-flow: wrap;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
  }

  .wcard .wmeta {
    gap: 5px 12px;
  }

  .wcard .wtitle {
    gap: 6px 10px;
  }

  .wcard .grip {
    display: none;
  }

  .wcard[draggable="true"] {
    cursor: grab;
  }

  .wcard .wtitle a.name {
    flex-basis: 100%;
    font-size: 13px;
  }

  .wcard .wmeta > span:has( > a.mono) {
    display: none;
  }
}

.view-switch .btn {
  height: 30px;
  color: var(--ink-2);
  gap: 6px;
}

.view-switch .btn[aria-pressed="true"] {
  background: var(--accent-soft);
  color: var(--accent);
}

.page-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ob-progress {
  background: var(--surface-2);
  border-radius: 3px;
  height: 6px;
  overflow: hidden;
}

.ob-progress > span {
  background: var(--ok);
  border-radius: inherit;
  height: 100%;
  transition: width .3s;
  display: block;
}

.ob-steps {
  border-top: 1px solid var(--line);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ob-step {
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  padding: 14px 16px;
  display: grid;
}

.ob-step + .ob-step {
  border-top: 1px solid var(--line);
}

.ob-step.next {
  background: var(--accent-soft);
}

.ob-step > .btn {
  margin-top: 2px;
}

.ob-mark {
  border: 1.5px solid var(--line);
  width: 26px;
  height: 26px;
  font: 600 12px/1 var(--font-code);
  color: var(--ink-2);
  background: var(--surface);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.ob-step.next .ob-mark {
  border-color: var(--accent);
  color: var(--accent);
}

.ob-step.done .ob-mark {
  border-color: var(--ok);
  background: var(--ok);
  color: #fff;
}

.ob-mark svg {
  width: 14px;
  height: 14px;
}

.ob-text p {
  color: var(--ink-2);
  margin: 3px 0 0;
  font-size: 13px;
}

.ob-text .ob-status {
  color: var(--ink);
  font-size: 12.5px;
}

.ob-step.done .ob-status {
  color: var(--ok);
}

.ob-title {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ob-level {
  background: var(--surface-2);
  color: var(--ink-2);
  border-radius: 999px;
  padding: 1px 7px;
  font-size: 11px;
  font-weight: 500;
}

.ob-level.required {
  background: var(--warn-soft);
  color: var(--warn);
}

.ob-step.done .ob-level {
  background: var(--surface-2);
  color: var(--ink-2);
}

.ob-banner .ob-banner-text {
  flex: 1;
  gap: 6px;
  min-width: 0;
  display: grid;
}

.ob-banner .ob-progress {
  background: var(--surface);
  max-width: 260px;
}

.ob-banner .btn + .btn {
  margin-left: 0;
}

@media (max-width: 640px) {
  .ob-step {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .ob-step > .btn {
    grid-column: 2;
    justify-self: start;
  }
}

.switch {
  background: var(--line);
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  flex: none;
  width: 32px;
  height: 18px;
  padding: 0;
  transition: background .15s;
  position: relative;
}

.switch span {
  background: #fff;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  transition: transform .15s;
  position: absolute;
  top: 2px;
  left: 2px;
  box-shadow: 0 1px 2px #00000040;
}

.switch[aria-checked="true"] {
  background: var(--accent);
}

.switch[aria-checked="true"] span {
  transform: translateX(14px);
}

.switch:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.switch:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.auto-list {
  display: grid;
}

.auto-row {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  padding: 12px 12px 12px 16px;
  display: grid;
}

.auto-row + .auto-row {
  border-top: 1px solid var(--line);
}

.auto-row.off .auto-main b {
  color: var(--ink-2);
}

.auto-main {
  min-width: 0;
  color: var(--ink);
  gap: 4px;
  display: grid;
}

.auto-main:hover {
  text-decoration: none;
}

.auto-main:hover b {
  text-decoration: underline;
}

.auto-main b {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
}

.auto-meta {
  color: var(--ink-2);
  flex-wrap: wrap;
  gap: 4px 16px;
  font-size: 12.5px;
  display: flex;
}

.auto-meta > span {
  align-items: center;
  gap: 5px;
  min-width: 0;
  display: inline-flex;
}

.auto-meta svg.i {
  width: 13px;
  height: 13px;
}

.auto-meta .glyph {
  border-radius: 4px;
  width: 15px;
  height: 15px;
}

.auto-side {
  justify-items: end;
  gap: 3px;
  display: grid;
}

.auto-templates {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px;
  display: grid;
}

.auto-template {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  color: var(--ink);
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  display: flex;
}

.auto-template:hover {
  background: var(--surface-2);
  text-decoration: none;
}

.auto-template > span:last-child {
  gap: 3px;
  display: grid;
}

.auto-template b {
  font-size: 13.5px;
  font-weight: 600;
}

.auto-template > span:last-child > span {
  color: var(--ink-2);
  font-size: 12.5px;
  line-height: 1.45;
}

.auto-template-icon {
  background: var(--surface-2);
  width: 30px;
  height: 30px;
  color: var(--ink-2);
  border-radius: 7px;
  flex: none;
  place-items: center;
  display: grid;
}

.auto-edit {
  flex: 1;
  grid-template-columns: minmax(0, 1fr) 320px;
  min-height: 0;
  display: grid;
}

.auto-form.scroll {
  padding: 28px 36px 120px;
}

.auto-form-inner {
  gap: 22px;
  max-width: 680px;
  display: grid;
}

.auto-title {
  width: 100%;
  color: var(--ink);
  letter-spacing: -.02em;
  background: none;
  border: 0;
  outline: none;
  padding: 0;
  font-size: 22px;
  font-weight: 600;
}

.auto-title::placeholder {
  color: var(--ink-2);
  opacity: .7;
}

.auto-bar {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: -10px;
  display: flex;
}

.auto-bar .grow {
  flex: 1;
}

.auto-active {
  cursor: pointer;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.auto-sec {
  gap: 10px;
  display: grid;
}

.auto-sec h2 {
  font-size: 13px;
  font-weight: 600;
}

.auto-sec > .hint {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.auto-sec > .hint svg.i {
  width: 13px;
  height: 13px;
  color: var(--ok);
}

.auto-trigger {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  display: flex;
}

.auto-trigger > svg.i {
  color: var(--ink-2);
}

.auto-trigger .input {
  width: auto;
  padding: 6px 10px;
  font-size: 13px;
}

.auto-trigger input.mono-in {
  flex: 1;
  min-width: 180px;
}

.auto-inline {
  color: var(--ink-2);
  align-items: center;
  gap: 8px;
  font-size: 13px;
  display: inline-flex;
}

.auto-inline .input {
  width: 72px;
}

.auto-radio {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  cursor: pointer;
  color: var(--ink);
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  display: flex;
}

.auto-radio:has(input:checked) {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.auto-radio input {
  accent-color: var(--accent);
  margin-top: 3px;
}

.auto-radio > span {
  gap: 2px;
  display: grid;
}

.auto-radio b {
  font-size: 13px;
  font-weight: 500;
}

.auto-prompt {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  overflow: hidden;
}

.auto-prompt:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.auto-prompt textarea.input {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  min-height: 160px;
}

.auto-prompt-foot {
  border-top: 1px solid var(--line);
  background: var(--surface-2);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  display: flex;
}

.auto-prompt-foot .agents {
  flex-wrap: wrap;
}

.auto-prompt-foot .agent-opt {
  flex: none;
  gap: 6px;
  height: 28px;
  padding: 0 10px;
  font-size: 12.5px;
}

.auto-prompt-foot .agent-opt .glyph {
  border-radius: 4px;
  width: 16px;
  height: 16px;
}

.auto-prompt-foot .pill-select select {
  max-width: 220px;
}

.auto-danger {
  border-top: 1px solid var(--line);
  padding-top: 6px;
}

.auto-runs {
  border-left: 1px solid var(--line);
  background: var(--surface);
  align-content: start;
  gap: 12px;
  padding: 20px 18px;
  display: grid;
  overflow-y: auto;
}

.auto-runs h2 {
  font-size: 13px;
  font-weight: 600;
}

.auto-runs ol {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.auto-run {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--bg);
  gap: 6px;
  padding: 10px 12px;
  display: grid;
}

.auto-run-head {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.auto-run-msg {
  color: var(--ink-2);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 12.5px;
}

.auto-run-msg.bad {
  color: var(--bad);
}

.auto-run-links {
  flex-wrap: wrap;
  gap: 4px 12px;
  font-size: 12.5px;
  display: flex;
}

.auto-run-links a {
  text-overflow: ellipsis;
  white-space: nowrap;
  align-items: center;
  gap: 5px;
  min-width: 0;
  max-width: 100%;
  display: inline-flex;
  overflow: hidden;
}

.auto-run-links svg.i {
  flex: none;
  width: 13px;
  height: 13px;
}

.auto-run-links:empty {
  display: none;
}

@media (max-width: 980px) {
  .auto-edit {
    display: block;
    overflow-y: auto;
  }

  .auto-form.scroll {
    padding: 20px 16px 24px;
    overflow: visible;
  }

  .auto-runs {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 16px;
    overflow: visible;
  }

  .auto-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .auto-side {
    display: none;
  }
}

.page.iss-page {
  max-width: 1180px;
}

.issues {
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  display: grid;
}

.iss-head-side {
  align-items: center;
  gap: 8px;
  display: flex;
}

.iss-filters {
  z-index: 6;
  background: var(--bg);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: -8px 0;
  padding: 8px 0;
  display: flex;
  position: sticky;
  top: -28px;
}

.iss-search {
  width: 200px;
  display: block;
  position: relative;
}

.iss-search > svg.i {
  width: 15px;
  height: 15px;
  color: var(--ink-2);
  position: absolute;
  top: 8px;
  left: 9px;
}

.iss-search input {
  border: 1px solid var(--line);
  background: var(--surface);
  width: 100%;
  height: 32px;
  color: var(--ink);
  border-radius: 6px;
  outline: none;
  padding: 0 30px;
  font-size: 13px;
}

.iss-search input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.iss-search kbd {
  font: 500 10.5px/1 var(--font-code);
  color: var(--ink-2);
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 4px;
  padding: 3px 5px;
  position: absolute;
  top: 7px;
  right: 8px;
}

.iss-search-x {
  width: 24px;
  height: 24px;
  color: var(--ink-2);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 4px;
  place-items: center;
  display: grid;
  position: absolute;
  top: 4px;
  right: 4px;
}

.iss-search-x svg.i {
  width: 13px;
  height: 13px;
}

.iss-chip {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 6px;
  flex: none;
  align-items: stretch;
  height: 32px;
  font-size: 13px;
  display: inline-flex;
  overflow: hidden;
}

.iss-chip.set {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  background: color-mix(in srgb, var(--accent-soft) 60%, var(--surface));
}

.iss-chip > button {
  cursor: pointer;
  color: var(--ink);
  background: none;
  border: 0;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  display: inline-flex;
}

.iss-chip > button:hover, .iss-chip > button[aria-expanded="true"] {
  background: var(--surface-2);
}

.iss-chip.set > button:hover, .iss-chip.set > button[aria-expanded="true"] {
  background: var(--accent-soft);
}

.iss-chip .k {
  color: var(--ink-2);
}

.iss-chip .v {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 220px;
  font-weight: 500;
  overflow: hidden;
}

.iss-chip > button > svg.i {
  width: 13px;
  height: 13px;
  color: var(--ink-2);
}

.iss-chip .x {
  border-left: 1px solid var(--line);
  color: var(--ink-2);
  padding: 0 7px;
}

.iss-chip.add {
  border-style: dashed;
}

.iss-chip.add > button {
  color: var(--ink-2);
}

.iss-avs {
  display: inline-flex;
}

.iss-avs > * + * {
  margin-left: -5px;
}

.iss-reset {
  color: var(--accent);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0 4px;
  font-size: 12.5px;
}

.iss-saved {
  color: var(--ink-2);
  align-items: center;
  gap: 5px;
  font-size: 12px;
  animation: 1.4s forwards iss-fade;
  display: inline-flex;
}

.iss-saved:empty {
  display: none;
}

@keyframes iss-fade {
  0%, 70% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.iss-saved svg.i {
  width: 13px;
  height: 13px;
  color: var(--ok);
}

.iss-spacer {
  flex: 1;
}

.iss-pop {
  z-index: 40;
  background: var(--surface);
  border: 1px solid var(--line);
  width: 270px;
  max-height: min(460px, 100vh - 140px);
  box-shadow: var(--shadow);
  border-radius: 8px;
  flex-direction: column;
  padding: 6px;
  display: flex;
  position: fixed;
}

.iss-scroll {
  flex: 0 auto;
  min-height: 0;
  overflow-y: auto;
}

.iss-find {
  border: 1px solid var(--line);
  background: var(--bg);
  width: 100%;
  height: 30px;
  color: var(--ink);
  border-radius: 5px;
  outline: none;
  flex: none;
  margin-bottom: 4px;
  padding: 0 9px;
  font-size: 13px;
}

.iss-find:focus {
  border-color: var(--accent);
}

.iss-sec {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-2);
  flex: none;
  justify-content: space-between;
  align-items: center;
  padding: 8px 8px 4px;
  font-size: 10.5px;
  font-weight: 600;
  display: flex;
}

.iss-sec button {
  color: var(--accent);
  font: 500 11px var(--font-body);
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  background: none;
  border: 0;
  padding: 0;
}

.iss-opt {
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: var(--ink);
  background: none;
  border: 0;
  border-radius: 5px;
  flex: none;
  align-items: center;
  gap: 9px;
  padding: 6px 8px;
  font-size: 13px;
  display: flex;
}

.iss-opt:hover, .iss-opt:focus-visible {
  background: var(--surface-2);
}

.iss-opt .cb {
  border: 1.5px solid var(--line);
  border-radius: 4px;
  flex: none;
  place-items: center;
  width: 15px;
  height: 15px;
  display: grid;
}

.iss-opt.on .cb {
  background: var(--accent);
  border-color: var(--accent);
}

.iss-opt.on .cb:after {
  content: "";
  border: 2px solid var(--accent-ink);
  border-top: 0;
  border-right: 0;
  width: 7px;
  height: 4px;
  transform: rotate(-45deg) translate(1px, -1px);
}

.iss-opt.radio .cb {
  border-radius: 50%;
}

.iss-opt.radio.on .cb:after {
  background: var(--accent-ink);
  border: 0;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  transform: none;
}

.iss-opt .n {
  font: 500 11px/1 var(--font-code);
  color: var(--ink-2);
  margin-left: auto;
}

.iss-pop hr {
  border: 0;
  border-top: 1px solid var(--line);
  flex: none;
  width: auto;
  margin: 4px 2px;
}

.iss-pop-foot {
  color: var(--ink-2);
  flex: none;
  margin: 0;
  padding: 6px 8px 2px;
  font-size: 11.5px;
}

.iss-dot {
  border-radius: 50%;
  flex: none;
  width: 8px;
  height: 8px;
}

.iss-av {
  width: 20px;
  height: 20px;
  font: 600 9px/1 var(--font-body);
  color: #fff;
  box-shadow: 0 0 0 2px var(--surface);
  object-fit: cover;
  border-radius: 50%;
  flex: none;
  place-items: center;
  display: inline-grid;
}

.iss-av.none {
  border: 1.5px dashed var(--idle);
  box-shadow: none;
  background: none;
}

.iss-prio {
  flex: none;
  place-items: center;
  width: 16px;
  height: 16px;
  display: inline-grid;
}

.iss-lbl {
  border: 1px solid var(--line);
  height: 20px;
  color: var(--ink-2);
  white-space: nowrap;
  border-radius: 10px;
  align-items: center;
  gap: 5px;
  padding: 0 7px;
  font-size: 11.5px;
  display: inline-flex;
}

.iss-lbl i {
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.iss-proj {
  color: var(--ink-2);
  white-space: nowrap;
  text-overflow: ellipsis;
  align-items: center;
  gap: 5px;
  max-width: 160px;
  font-size: 12px;
  display: inline-flex;
  overflow: hidden;
}

.iss-proj svg.i {
  width: 13px;
  height: 13px;
}

.iss-list {
  transition: opacity .15s;
  overflow: hidden;
}

.iss-list.busy {
  opacity: .6;
}

.iss-ghead {
  background: var(--surface-2);
  border: 0;
  border-top: 1px solid var(--line);
  width: 100%;
  font: 600 13px var(--font-body);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  align-items: center;
  gap: 9px;
  padding: 9px 14px;
  display: flex;
}

.iss-list > section:first-child .iss-ghead {
  border-top: 0;
}

.iss-ghead svg.i {
  width: 14px;
  height: 14px;
  color: var(--ink-2);
}

.iss-ghead .c {
  color: var(--ink-2);
  font: 500 12px/1 var(--font-code);
}

.iss-ghead .car {
  margin-left: auto;
  transition: transform .15s;
  display: inline-flex;
}

.iss-ghead.closed .car {
  transform: rotate(-90deg);
}

.iss-you {
  color: var(--ink-2);
  font-weight: 400;
}

.iss-you.mono {
  font: 500 11px var(--font-code);
}

.iss-row {
  border-top: 1px solid var(--line);
  cursor: pointer;
  grid-template-columns: 18px 76px 16px minmax(0, 1fr) auto auto 22px 38px;
  align-items: center;
  gap: 10px;
  height: 42px;
  padding: 0 14px;
  display: grid;
}

.iss-list > section:first-child > .iss-row:first-child, .iss-ghead + .iss-row {
  border-top: 0;
}

.iss-row:hover {
  background: color-mix(in srgb, var(--surface-2) 55%, var(--surface));
}

.iss-row:focus-visible {
  outline-offset: -2px;
}

.iss-row.sel {
  background: var(--accent-soft);
}

.iss-row .id {
  font: 500 12px/1 var(--font-code);
  color: var(--ink-2);
  white-space: nowrap;
}

.iss-row .t {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
  overflow: hidden;
}

.iss-row.closed .t {
  color: var(--ink-2);
}

.iss-row .meta {
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.iss-row .when {
  color: var(--ink-2);
  text-align: right;
  font-size: 12px;
}

.iss-start {
  opacity: 0;
  transition: opacity .1s;
}

.iss-row:hover .iss-start, .iss-row.sel .iss-start, .iss-row:focus-within .iss-start {
  opacity: 1;
}

.iss-start svg.i {
  width: 13px;
  height: 13px;
}

.iss-ws {
  background: var(--surface-2);
  max-width: 200px;
  height: 22px;
  color: var(--ink-2);
  font: 500 11.5px/1 var(--font-code);
  white-space: nowrap;
  border-radius: 11px;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  display: inline-flex;
}

.iss-ws span:last-child {
  text-overflow: ellipsis;
  overflow: hidden;
}

.iss-ws.s-on {
  background: var(--ok-soft);
  color: var(--ok);
}

.iss-ws:hover {
  filter: brightness(.97);
  text-decoration: none;
}

.iss-ws .dot {
  width: 6px;
  height: 6px;
}

.iss-foot {
  border-top: 1px solid var(--line);
  color: var(--ink-2);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  font-size: 12.5px;
  display: flex;
}

.iss-sk {
  border-top: 1px solid var(--line);
  align-items: center;
  gap: 12px;
  height: 42px;
  padding: 0 14px;
  display: flex;
}

.iss-sk:first-child {
  border-top: 0;
}

.iss-sk i {
  background: linear-gradient(90deg, var(--surface-2), color-mix(in srgb, var(--surface-2) 40%, var(--surface)), var(--surface-2));
  background-size: 200% 100%;
  border-radius: 5px;
  height: 10px;
  animation: 1.2s linear infinite iss-shimmer;
  display: block;
}

@keyframes iss-shimmer {
  from {
    background-position: 200% 0;
  }

  to {
    background-position: -200% 0;
  }
}

.iss-empty {
  text-align: center;
  justify-items: center;
  gap: 8px;
  padding: 52px 24px;
  display: grid;
}

.iss-empty h2 {
  font-size: 16px;
  font-weight: 600;
}

.iss-empty p {
  color: var(--ink-2);
  max-width: 48ch;
  margin: 0;
}

.iss-empty-glyph {
  background: var(--accent-soft);
  width: 44px;
  height: 44px;
  color: var(--accent);
  border-radius: 12px;
  place-items: center;
  margin-bottom: 6px;
  display: grid;
}

.iss-empty-glyph svg.i {
  width: 22px;
  height: 22px;
}

.iss-empty-btns {
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
  display: flex;
}

.iss-panel {
  z-index: 30;
  background: var(--surface);
  border-left: 1px solid var(--line);
  flex-direction: column;
  width: 440px;
  max-width: 100vw;
  animation: .18s iss-slide;
  display: flex;
  position: fixed;
  top: 57px;
  bottom: 0;
  right: 0;
  box-shadow: -12px 0 32px #10172014;
}

@keyframes iss-slide {
  from {
    opacity: 0;
    transform: translateX(24px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.iss-panel-head {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  display: flex;
}

.iss-panel-head .id {
  font: 500 12.5px/1 var(--font-code);
  color: var(--ink-2);
}

.iss-panel-head .btn.sm {
  width: 30px;
  padding: 0;
}

.iss-panel-body {
  flex: 1;
  align-content: start;
  gap: 18px;
  padding: 18px 20px 40px;
  display: grid;
  overflow-y: auto;
}

.iss-panel-body h2 {
  letter-spacing: -.01em;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

.iss-props {
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 6px 10px;
  font-size: 13px;
  display: grid;
}

.iss-props .k {
  color: var(--ink-2);
}

.iss-props .v {
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  display: flex;
}

.iss-pick {
  height: 28px;
  color: var(--ink);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 6px;
  align-items: center;
  gap: 7px;
  margin-left: -8px;
  padding: 0 8px;
  font-size: 13px;
  display: inline-flex;
}

.iss-pick:hover:not(:disabled) {
  border-color: var(--line);
  background: var(--bg);
}

.iss-pick svg.i {
  width: 13px;
  height: 13px;
  color: var(--ink-2);
}

.iss-label {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-2);
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 600;
}

.iss-start-box {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--bg);
  gap: 10px;
  padding: 14px;
  display: grid;
}

.iss-start-box .iss-label {
  margin: 0;
}

.iss-branch {
  font: 12px var(--font-code);
  color: var(--ink-2);
  align-items: center;
  gap: 7px;
  min-width: 0;
  display: flex;
}

.iss-branch span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.iss-start-btns {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.iss-wsline {
  border: 1px solid var(--line);
  border-radius: var(--r);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  display: flex;
}

.iss-wsline + .iss-wsline {
  margin-top: 6px;
}

.iss-wsline .n {
  font: 500 12.5px var(--font-code);
}

.iss-wsline .btn {
  margin-left: auto;
}

.iss-desc {
  overflow-wrap: anywhere;
  font-size: 13.5px;
  line-height: 1.6;
}

.new-ws-issue {
  margin: -6px 0 0;
}

@media (max-width: 1000px) {
  .iss-row {
    grid-template-columns: 18px 70px 16px minmax(0, 1fr) auto 22px;
  }

  .iss-row .meta:not(.ws), .iss-row .when {
    display: none;
  }
}

@media (max-width: 640px) {
  .iss-filters {
    flex-wrap: nowrap;
    top: -16px;
    overflow-x: auto;
  }

  .iss-search {
    flex: none;
    width: 170px;
  }

  .iss-row {
    grid-template-columns: 18px 64px 16px minmax(0, 1fr) 22px;
    height: auto;
    min-height: 46px;
    padding: 8px 14px;
  }

  .iss-row .meta {
    display: none;
  }

  .iss-panel {
    z-index: 60;
    width: 100vw;
    top: 0;
  }

  .iss-head-side .hint {
    display: none;
  }
}

.copy-btn.copy-hover.continue-prompt {
  right: 38px;
}

.copy-btn:disabled {
  cursor: wait;
}

.copy-btn:disabled:not(.copy-hover), .msg.user .content:hover .copy-btn.copy-hover:disabled {
  opacity: .5;
}

.cos {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
}

.cos-head {
  padding: 10px 16px 0;
}

.cos-head .seg.tabs {
  max-width: 560px;
}

.cos-head .count {
  margin-left: 6px;
}

.cos > .scroll, .cos > .run {
  flex: 1;
  min-height: 0;
}

.cos-chat-head .line1 {
  align-items: center;
  gap: 8px;
  display: flex;
}

.cos-intro {
  justify-items: start;
  gap: 14px;
  padding: 18px 20px;
  display: grid;
}

.cos-intro ul {
  color: var(--ink-2);
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.cos-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  display: flex;
}

.cos-card {
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  border-radius: var(--r);
  background: var(--surface);
  gap: 8px;
  margin: 10px 0 10px 40px;
  padding: 12px 14px;
  display: grid;
}

.cos-card.approved, .cos-card.sent, .cos-card.answered {
  border-left-color: var(--ok);
}

.cos-card.declined, .cos-card.discarded, .cos-card.superseded, .cos-card.gone {
  border-left-color: var(--idle);
  opacity: .85;
}

.cos-card.failed {
  border-left-color: var(--bad);
}

.cos-card-head {
  align-items: center;
  gap: 8px;
  display: flex;
}

.cos-card-head b {
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.cos-status {
  background: var(--surface-2);
  color: var(--ink-2);
  white-space: nowrap;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 12px;
}

.cos-status.pending {
  background: var(--accent-soft);
  color: var(--accent);
}

.cos-status.approved, .cos-status.sent, .cos-status.answered {
  background: var(--ok-soft);
  color: var(--ok);
}

.cos-status.failed {
  background: var(--bad-soft);
  color: var(--bad);
}

.cos-args {
  gap: 4px;
  margin: 0;
  font-size: 13px;
  display: grid;
}

.cos-args > div {
  grid-template-columns: minmax(80px, max-content) 1fr;
  gap: 10px;
  display: grid;
}

.cos-args dt {
  color: var(--ink-2);
  font-family: var(--font-code);
  font-size: 12px;
}

.cos-args dd {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0;
}

.cos-result pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: var(--code-bg);
  border-radius: 6px;
  max-height: 260px;
  padding: 8px;
  font-size: 12px;
  overflow: auto;
}

.cos-auto {
  color: var(--ink-2);
  margin: 6px 0 6px 40px;
  font-size: 13px;
}

.cos-auto > summary {
  cursor: pointer;
  align-items: center;
  gap: 8px;
  list-style: none;
  display: flex;
}

.cos-auto > summary::-webkit-details-marker {
  display: none;
}

.cos-auto > summary b {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-weight: 500;
  overflow: hidden;
}

.cos-auto.failed > summary .cos-status {
  background: var(--bad-soft);
  color: var(--bad);
}

.cos-auto .cos-args, .cos-auto .cos-result {
  margin: 6px 0 0 24px;
}

.cos-approvals {
  gap: 4px;
  display: grid;
}

.cos-approval {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  font-size: 13px;
  display: flex;
}

.cos-approval:last-child {
  border-bottom: 0;
}

.cos-approval code {
  overflow-wrap: anywhere;
  flex: 1;
  min-width: 0;
}

.cos-approval .hint {
  flex: 2;
}

.cos-approval select {
  flex: none;
  width: auto;
}

.cos-approvals h3.section-title {
  margin: 8px 0 2px;
  font-size: 13px;
}

.cos-quote {
  border-left: 3px solid var(--line);
  background: var(--surface-2);
  border-radius: 4px;
  margin: 0;
  padding: 6px 10px;
}

.cos-draft {
  resize: vertical;
  width: 100%;
  font: inherit;
}

.cos-check {
  color: var(--ink-2);
  align-items: center;
  gap: 6px;
  font-size: 13px;
  display: inline-flex;
}

.cos-sent > a {
  align-items: center;
  gap: 4px;
  font-size: 13px;
  display: inline-flex;
}

.cos-preview {
  border: 1px dashed var(--line);
  border-radius: 4px;
  gap: 2px;
  padding: 6px 10px;
  display: grid;
}

.slack-text {
  overflow-wrap: anywhere;
}

.slack-text > * {
  margin: 6px 0 0;
}

.slack-text > :first-child {
  margin-top: 0;
}

.slack-text p, .slack-text blockquote, .slack-text li {
  white-space: pre-wrap;
}

.slack-text blockquote {
  border-left: 3px solid var(--line);
  color: var(--ink-2);
  padding: 0 0 0 10px;
}

.slack-text ul {
  padding-left: 1.25rem;
}

.slack-text code {
  font-family: var(--font-code);
  background: var(--code-bg);
  border: 1px solid var(--line);
  color: var(--bad);
  border-radius: 4px;
  padding: 1px 4px;
  font-size: .9em;
}

.slack-text pre {
  background: var(--code-bg);
  border: 1px solid var(--line);
  font-family: var(--font-code);
  white-space: pre-wrap;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 12.5px;
  overflow-x: auto;
}

.slack-text a {
  color: var(--accent);
}

.slack-mention {
  background: var(--accent-soft);
  color: var(--accent);
  border-radius: 3px;
  padding: 0 2px;
  font-weight: 500;
}

.origin-note {
  margin: 12px 0;
}

.cos-form {
  gap: 12px;
  margin-bottom: 14px;
  padding: 16px 18px;
  display: grid;
}

.cos-form .section-title {
  margin: 0;
}

.cos-row {
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  display: flex;
}

.cos-row > .fl {
  flex: 1;
  min-width: 160px;
}

.cos-row.cos-fields {
  align-items: flex-start;
}

.fl-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.fl-head .link-btn {
  font-size: inherit;
  line-height: inherit;
}

.cos-webhook {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface-2);
  gap: 8px;
  padding: 12px;
  display: grid;
}

.cos-webhook .section-title, .cos-webhook .hint {
  margin: 0;
}

.cos-webhook-row {
  grid-template-columns: 64px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  display: grid;
}

@media (max-width: 640px) {
  .cos-webhook-row {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .cos-webhook-row > .hint {
    grid-column: 1 / -1;
  }
}

.cos-routine {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  display: flex;
}

.cos-routine:last-child {
  border-bottom: 0;
}

.cos-runs summary {
  cursor: pointer;
  list-style: none;
}

.cos-runs summary::-webkit-details-marker {
  display: none;
}

.cos-runs summary:before {
  content: "▸ ";
}

.cos-runs[open] summary:before {
  content: "▾ ";
}

.cos-runs ul {
  gap: 6px;
  margin: 6px 0 0;
  padding: 0 0 0 14px;
  list-style: none;
  display: grid;
}

.cos-run-reply {
  color: var(--ink-2);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 13px;
}

.cos-repos {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 6px;
  display: grid;
}

.cos-memory-grid {
  grid-template-columns: minmax(220px, 300px) 1fr;
  align-items: start;
  gap: 14px;
  display: grid;
}

.cos-files {
  gap: 2px;
  padding: 8px;
  display: grid;
}

.cos-file {
  width: 100%;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  font-size: 13px;
  display: flex;
}

.cos-file:hover {
  background: var(--surface-2);
}

.cos-file.on {
  background: var(--accent-soft);
  color: var(--accent);
}

.cos-editor {
  gap: 10px;
  padding: 12px;
  display: grid;
}

.cos-file-text {
  resize: vertical;
  width: 100%;
  min-height: 420px;
  font-size: 13px;
  line-height: 1.5;
}

.cos-event {
  border-bottom: 1px solid var(--line);
  align-items: baseline;
  gap: 12px;
  padding: 8px 14px;
  font-size: 13px;
  display: flex;
}

.cos-event:last-child {
  border-bottom: 0;
}

@media (max-width: 760px) {
  .cos-memory-grid {
    grid-template-columns: 1fr;
  }

  .cos-card, .artifact-item, .cos-auto {
    margin-left: 0;
  }

  .cos-approval {
    flex-wrap: wrap;
  }
}

.cos-computer-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 12px 0;
  display: flex;
}

.cos-computer-actions input {
  flex: 1;
  min-width: 160px;
}

.cos-computer-terminal {
  height: 520px;
  min-height: 300px;
  display: flex;
  position: relative;
}

.cos-computer-terminal .term {
  flex: 1;
  min-width: 0;
}

.cos-desktop {
  aspect-ratio: 16 / 10;
  background: #111;
  width: 100%;
  max-height: 75vh;
  overflow: hidden;
}

.cos-desktop:fullscreen {
  aspect-ratio: auto;
  height: 100vh;
  max-height: none;
}

.cos-computer-log {
  white-space: pre-wrap;
  max-height: 260px;
  font-size: 12px;
  overflow: auto;
}

.cos-computer {
  gap: 14px;
}

.cos-computer .cos-computer-actions {
  margin: 0;
}

.mcp-app {
  margin: 10px 0;
}

.mcp-app.borderless {
  background: none;
  border-color: #0000;
}

.mcp-app-frame {
  background: none;
  transition: height .2s ease-out;
}

.mcp-app-note {
  color: var(--ink-2);
  margin: 0;
  padding: 10px 12px;
  font-size: 13px;
}

.mcp-app-note .tool-output {
  margin-top: 8px;
}

.mcp-app-inline {
  position: relative;
}

.mcp-app-expand {
  border: 1px solid var(--line);
  background: var(--surface);
  width: 28px;
  height: 28px;
  color: var(--ink-2);
  cursor: pointer;
  border-radius: 7px;
  place-items: center;
  display: grid;
  position: absolute;
  top: 6px;
  right: 6px;
}

.mcp-app-expand:hover {
  color: var(--ink);
  background: var(--surface-2);
}

.mcp-app-stub {
  color: var(--ink-2);
  margin: 0;
  padding: 10px 12px;
  font-size: 13px;
}

.mcp-app-side, .mcp-app-full {
  z-index: 40;
  background: var(--bg);
  flex-direction: column;
  display: flex;
  position: fixed;
}

.mcp-app-side {
  border-left: 1px solid var(--line);
  width: min(50vw, 760px);
  min-width: 320px;
  top: 0;
  bottom: 0;
  right: 0;
  box-shadow: -12px 0 32px #0000001f;
}

.mcp-app-full {
  z-index: 50;
  inset: 0;
}

.mcp-app-display-bar {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  display: flex;
}

.mcp-app-display-bar strong {
  font-weight: 600;
}

.mcp-app-display-bar span {
  color: var(--ink-2);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.mcp-app-display-frame {
  flex: 1;
  min-height: 0;
}

.mcp-app-display-frame .mcp-app-frame {
  height: 100%;
}

.mcp-entry {
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 8px;
  display: flex;
}

.mcp-entry-btn {
  border: 1px solid var(--line);
  background: var(--surface);
  height: 28px;
  color: var(--ink);
  cursor: pointer;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  font-size: 12.5px;
  display: inline-flex;
}

.mcp-entry-btn:hover {
  background: var(--surface-2);
}

.mcp-entry-btn:disabled {
  opacity: .6;
  cursor: default;
}

.mcp-entry-open {
  margin-bottom: 8px;
}

.chief-msg .body, .chief-item {
  position: relative;
}

.chief-tools {
  opacity: 0;
  gap: 2px;
  margin-top: 4px;
  margin-left: -4px;
  transition: opacity .12s;
  display: flex;
  position: relative;
}

.chief-msg:hover .chief-tools, .chief-item:hover .chief-tools, .chief-tools:focus-within, .chief-tools.open {
  opacity: 1;
}

@media (hover: none) {
  .chief-tools {
    opacity: .8;
  }
}

.chief-item-foot {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.chief-item-foot .chief-tools {
  margin-top: 2px;
}

.reaction-picker {
  z-index: 30;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  grid-template-columns: repeat(6, 32px);
  gap: 2px;
  padding: 6px;
  display: grid;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  box-shadow: 0 8px 24px #00000024;
}

.reaction-picker button {
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  width: 32px;
  height: 32px;
  font-size: 18px;
  line-height: 1;
}

.reaction-picker button:hover, .reaction-picker button:focus-visible {
  background: var(--surface-2);
  outline: none;
}

.reactions {
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
  display: flex;
}

.reaction {
  border: 1px solid var(--line);
  background: var(--surface);
  height: 24px;
  color: var(--ink);
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  font-size: 13px;
  line-height: 1;
  display: inline-flex;
}

button.reaction {
  cursor: pointer;
}

button.reaction:hover {
  background: var(--surface-2);
}

.reaction.mine {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.reaction.chief:not(.mine) {
  border-style: dashed;
}

.reaction .count {
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
}

.reply-quote {
  border: 0;
  border-left: 2px solid var(--accent);
  background: var(--surface-2);
  max-width: 100%;
  color: var(--ink-2);
  text-align: left;
  cursor: pointer;
  border-radius: 4px;
  align-items: center;
  gap: 6px;
  margin: 0 0 4px;
  padding: 3px 8px;
  font-size: 12px;
  display: flex;
}

.reply-quote:hover {
  color: var(--ink);
}

.reply-quote svg, .reply-chip > svg {
  flex: none;
  width: 13px;
  height: 13px;
}

.reply-quote-text, .reply-chip-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.reply-chip {
  border-left: 2px solid var(--accent);
  background: var(--surface-2);
  color: var(--ink-2);
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  padding: 4px 4px 4px 10px;
  font-size: 12.5px;
  display: flex;
}

.reply-chip-text {
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  flex: 1;
  padding: 0;
}

.origin-note.reaction-note {
  opacity: .85;
  padding-top: 4px;
  padding-bottom: 4px;
}

.flash {
  border-radius: 8px;
  animation: 1.8s ease-out item-flash;
}

@keyframes item-flash {
  0%, 30% {
    background: var(--accent-soft);
    box-shadow: 0 0 0 6px var(--accent-soft);
  }

  100% {
    background: none;
    box-shadow: 0 0 0 6px #0000;
  }
}

.queue-reply {
  color: var(--ink-2);
  display: inline-flex;
}

.queue-reply svg {
  width: 13px;
  height: 13px;
}

.mcp-app-placement [hidden] {
  display: none;
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__02v5gjqeh5bcm._.css.map*/