@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/46a9e2f250689b4a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/76b70a1dbe058eb5-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2fb76073e23fd9e4-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6131cbbf5549afa2-s.2uwcyprjm3xu3.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/45462fd7b7c12654-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ba63f6a0e436df8e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07c7676b89ed2778-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}._0bjUvq_className{font-family:Inter,Inter Fallback;font-style:normal}._0bjUvq_variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/258bd0ab5fdd762a-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/99a2019bdfa8519b-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/44e0cb21b0d052b7-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/f9cd5a77d065db98-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/954d21e04331b2ae-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/53897e768d329f66-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}._78ed6G_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}._78ed6G_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#121212;--s1:#181818;--s2:#1e1e1e;--s3:#262626;--line:#2a2a2a;--line-strong:#3a3a3a;--text:#f2f2f2;--text-2:#a8a8a8;--text-3:#6f6f6f;--accent:#e4f222;--accent-ink:#121212;--ok:#3ecf6e;--warn:#f0a93a;--bad:#f06a6a;--info:#7aa2ff;--r:6px;--r-sm:4px;--gap:16px;--sidebar:224px;--tabbar:58px;--font:var(--font-inter), system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-mono), ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{font:400 14px/1.45 var(--font);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;min-height:100dvh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:560}h1{font-size:22px;line-height:1.2}h2{font-size:15px}p{text-wrap:pretty;margin:0}.mono{font-family:var(--mono);font-feature-settings:"zero" 1;letter-spacing:0}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sm{font-size:12.5px}.right{text-align:right}:focus-visible{outline:2px solid var(--line-strong);outline-offset:2px;border-radius:var(--r-sm)}.shell{grid-template-columns:var(--sidebar) 1fr;min-height:100dvh;display:grid}.side{background:var(--bg);border-right:1px solid var(--line);flex-direction:column;gap:4px;height:100dvh;padding:12px 10px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:8px;padding:6px 8px 14px;font-weight:600;display:flex}.brand i{background:var(--text);border-radius:5px;width:20px;height:20px;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav a{border-radius:var(--r-sm);color:var(--text-2);align-items:center;gap:10px;padding:7px 8px;display:flex}.nav a:hover{background:var(--s2);color:var(--text)}.nav a[aria-current=page]{background:var(--s2);color:var(--accent)}.nav svg{flex:none;width:16px;height:16px}.side .grow{flex:1}.me{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:6px;padding:8px;display:flex}.me .who{flex:1;min-width:0}.me .who b{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.main{width:100%;min-width:0;max-width:1240px;padding:20px 28px 48px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.topbar .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sub{color:var(--text-2);margin-top:2px}.tabbar{display:none}@media (max-width:860px){.shell{display:block}.side{display:none}.main{padding:14px 14px calc(var(--tabbar) + 28px + env(safe-area-inset-bottom))}h1{font-size:20px}.tabbar{z-index:30;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.tabbar a{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10.5px;display:flex}.tabbar a svg{width:20px;height:20px}.tabbar a[aria-current=page]{color:var(--accent)}}.btn{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--s2);height:32px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--s3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn.primary:hover{filter:brightness(.93)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--s2);color:var(--text)}.btn.danger{color:var(--bad)}.btn.sm{height:26px;padding:0 8px;font-size:12.5px}.btn svg{width:15px;height:15px}.btn.block{width:100%;height:40px}@media (max-width:860px){.btn{height:38px}.btn.sm{height:30px}}.card{background:var(--s1);border:1px solid var(--line);border-radius:var(--r)}.card>.hd{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.card>.bd{padding:14px}.grid{gap:var(--gap);display:grid}.grid.c4{grid-template-columns:repeat(4,1fr)}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c2{grid-template-columns:repeat(2,1fr)}@media (max-width:980px){.grid.c4{grid-template-columns:repeat(2,1fr)}.grid.c3{grid-template-columns:1fr 1fr}}@media (max-width:640px){.grid.c3,.grid.c2{grid-template-columns:1fr}.grid{gap:12px}}.stack{gap:var(--gap);flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.stat{padding:14px}.stat .k{color:var(--text-2);font-size:12.5px}.stat .v{font:560 28px/1.1 var(--mono);letter-spacing:-.03em;margin-top:6px}.stat .d{color:var(--text-3);margin-top:4px;font-size:12.5px}.stat.warn .v{color:var(--warn)}.stat.bad .v{color:var(--bad)}.badge{border-radius:var(--r-sm);background:var(--s3);height:20px;color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;padding:0 7px;font-size:12px;display:inline-flex}.badge .dot{background:var(--text-3);border-radius:50%;width:6px;height:6px}.badge.ok .dot{background:var(--ok)}.badge.warn .dot{background:var(--warn)}.badge.bad .dot{background:var(--bad)}.badge.info .dot{background:var(--info)}.badge.code{font-family:var(--mono);border:1px solid var(--line);background:0 0;padding:0 5px}.field{flex-direction:column;gap:5px;display:flex}.field>label{color:var(--text-2);font-size:12.5px}.input,.select,.textarea{background:var(--s2);border:1px solid var(--line);border-radius:var(--r);outline:none;width:100%;height:34px;padding:0 10px}.textarea{resize:vertical;height:auto;min-height:76px;padding:8px 10px}.input:focus,.select:focus,.textarea:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px #ffffff0d}.input::placeholder,.textarea::placeholder{color:var(--text-3)}@media (max-width:860px){.input,.select{height:40px;font-size:16px}.textarea{font-size:16px}}.form{gap:12px;display:grid}.form.two{grid-template-columns:1fr 1fr}@media (max-width:640px){.form.two{grid-template-columns:1fr}}.err{color:var(--bad);font-size:12.5px}.tbl-wrap{overflow-x:auto}table.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 14px;font-size:12px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 14px}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr.click{cursor:pointer}.tbl tbody tr:hover td{background:var(--s2)}@media (max-width:720px){.tbl thead{display:none}.tbl,.tbl tbody,.tbl tr,.tbl td{width:100%;display:block}.tbl tr{border-bottom:1px solid var(--line);padding:10px 14px}.tbl tr:last-child{border-bottom:0}.tbl td{border:0;justify-content:space-between;gap:8px;padding:2px 0;display:flex}.tbl td[data-label]:before{content:attr(data-label);color:var(--text-3);font-size:12px}.tbl td.title{padding-bottom:4px;font-size:15px;font-weight:500}.tbl td.title:before{display:none}}.seg{background:var(--s2);border:1px solid var(--line);border-radius:var(--r);gap:2px;max-width:100%;padding:2px;display:inline-flex;overflow-x:auto}.seg button{height:26px;color:var(--text-2);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 10px}.seg button[aria-pressed=true]{background:var(--s3);color:var(--text)}.empty{text-align:center;color:var(--text-2);padding:36px 16px}.empty b{color:var(--text);margin-bottom:4px;font-weight:500;display:block}.spin{border:2px solid var(--line-strong);border-top-color:var(--text);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite sp;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--s1), var(--s2), var(--s1));border-radius:var(--r);background-size:200% 100%;height:14px;animation:1.2s infinite sk}@keyframes sk{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.spin,.skeleton{animation:none}}.avatar{background:var(--s3);width:24px;height:24px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:inline-grid}.scrim{z-index:50;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--s1);border:1px solid var(--line-strong);border-radius:10px;width:min(520px,100%);max-height:calc(100dvh - 32px);overflow:auto}.modal .hd{border-bottom:1px solid var(--line);background:var(--s1);justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.modal .bd{padding:16px}.modal .ft{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}@media (max-width:640px){.scrim{place-items:end center;padding:0}.modal{max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0}}.toasts{z-index:60;gap:8px;display:grid;position:fixed;bottom:16px;right:16px}@media (max-width:860px){.toasts{left:14px;right:14px;bottom:calc(var(--tabbar) + 14px)}}.toast{background:var(--s3);border:1px solid var(--line-strong);border-radius:var(--r);padding:10px 12px}.toast.bad{border-color:var(--bad)}.board{scroll-snap-type:x proximity;grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.col{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);scroll-snap-align:start;flex-direction:column;min-height:120px;display:flex}.col>.hd{color:var(--text-2);justify-content:space-between;padding:10px 12px;font-size:12.5px;display:flex}.col>.list{gap:8px;padding:0 8px 8px;display:grid}.tile{background:var(--s2);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;padding:10px}.tile:hover{border-color:var(--line-strong)}.tile b{margin-bottom:4px;font-weight:500;display:block}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.list-row:last-child{border-bottom:0}.list-row .t{flex:1;min-width:0}.list-row .t b{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.bar{background:var(--s3);border-radius:3px;height:6px;overflow:hidden}.bar>i{background:var(--text-2);height:100%;display:block}.bar.warn>i{background:var(--warn)}.bar.bad>i{background:var(--bad)}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login .card{width:min(380px,100%);padding:22px}:root{--ease:cubic-bezier(.23, 1, .32, 1);--t-fast:.12s;--t-press:.15s;--t-move:.24s}.btn{transition:background-color var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease, transform var(--t-press) var(--ease)}.btn:active:not(:disabled){transform:scale(.97)}.tile{transition:border-color var(--t-fast) ease, transform var(--t-press) var(--ease)}.tile:active{transform:scale(.985)}.nav a,.tabbar a,.tbl tbody tr td{transition:background-color var(--t-fast) ease, color var(--t-fast) ease}.tabbar a svg{transition:transform var(--t-press) var(--ease)}.tabbar a:active svg{transform:scale(.9)}.input,.select,.textarea{transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease}@media not all and (hover:hover) and (pointer:fine){.btn:hover,.nav a:hover,.tbl tbody tr:hover td,.tile:hover{background:revert-layer;border-color:revert-layer}}.seg{isolation:isolate;position:relative}.seg>.ind{z-index:-1;background:var(--s3);border-radius:var(--r-sm);pointer-events:none;position:absolute;top:2px;bottom:2px;left:0}.seg[data-ready]>.ind{transition:transform var(--t-move) var(--ease), width var(--t-move) var(--ease)}.seg[data-ready] button[aria-pressed=true]{background:0 0}.seg:not([data-ready]) button[aria-pressed=true]{background:var(--s3)}.seg button{transition:color var(--t-fast) ease}.scrim{animation:.16s ease-out fade-in}.modal{animation:rise-in .22s var(--ease)}@media (max-width:640px){.modal{animation-name:sheet-in;animation-duration:.28s}}.toast{animation:toast-in .22s var(--ease)}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.tbl tbody tr,.list-row,.tile{animation:item-in .2s var(--ease) backwards}.tbl tbody tr:nth-child(n+9),.list-row:nth-child(n+9){animation:none}.tbl tbody tr:nth-child(2),.list-row:nth-child(2){animation-delay:20ms}.tbl tbody tr:nth-child(3),.list-row:nth-child(3){animation-delay:40ms}.tbl tbody tr:nth-child(4),.list-row:nth-child(4){animation-delay:60ms}.tbl tbody tr:nth-child(n+5),.list-row:nth-child(n+5){animation-delay:80ms}@keyframes item-in{0%{opacity:0;transform:translateY(4px)}}@media (pointer:coarse){.btn.sm{position:relative}.btn.sm:before{content:"";position:absolute;inset:-7px -4px}.seg button{height:34px}}.hold{touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.hold>.fill{background:var(--bad);opacity:.22;transform-origin:0;transition:transform .18s var(--ease);pointer-events:none;position:absolute;inset:0;transform:scaleX(0)}.hold[data-holding]>.fill{transition:transform var(--hold-ms,1.2s) linear;transform:scaleX(1)}.hold>span{position:relative}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-delay:0s!important}.btn:active:not(:disabled),.tile:active,.tabbar a:active svg{transform:none}.modal,.toast,.tbl tbody tr,.list-row,.tile{animation-name:fade-in;animation-duration:.12s!important}.seg[data-ready]>.ind{transition:none}.hold[data-holding]>.fill{transition:transform var(--hold-ms,1.2s) linear}}.roles-grid{gap:var(--gap);grid-template-columns:minmax(220px,280px) 1fr;align-items:start;display:grid}@media (max-width:860px){.roles-grid{grid-template-columns:1fr}}
