@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#eef1f4;--surface:#fff;--sunk:#e4e9ee;--line:#d3dae2;--fg:#16202b;--muted:#5b6878;--accent:#2b5f8e;--accent-soft:#dce8f3;--ok:#2f7a4f;--ok-soft:#dcefe3;--warn:#a8670f;--warn-soft:#f6e8d2;--bad:#b33a3a;--bad-soft:#f5dddd;--park:#6a5aa8;--park-soft:#e6e2f4;--display:"Bricolage Grotesque Variable", "Avenir Next", "Segoe UI", sans-serif;--body:"IBM Plex Sans Variable", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--r:10px;--tabs-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f151c;--surface:#17202a;--sunk:#111922;--line:#283542;--fg:#e3e9ef;--muted:#8e9cab;--accent:#7fb2e0;--accent-soft:#1d3248;--ok:#6cc893;--ok-soft:#173326;--warn:#e3a54d;--warn-soft:#3a2c15;--bad:#ec7d7d;--bad-soft:#3d1d1f;--park:#ab9cf0;--park-soft:#2a2545;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.5 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}main:focus{outline:none}.mono{font-family:var(--mono);font-size:12.5px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 12px;position:absolute;top:-48px;left:16px}.skip:focus{top:8px}.app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:220px minmax(0,1fr);min-height:100dvh;display:grid}.top{padding:calc(10px + env(safe-area-inset-top,0px)) 20px 10px;background:var(--surface);border-bottom:1px solid var(--line);z-index:5;grid-column:1/-1;align-items:center;gap:18px;display:flex;position:sticky;top:0}.brand{font:700 19px/1 var(--display);letter-spacing:-.01em;align-items:center;gap:10px;display:flex}.brand svg{display:block}.sync{font:500 12px var(--mono);color:var(--muted);white-space:nowrap;align-items:center;gap:7px;margin:0 0 0 auto;display:flex}.dot{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 3px var(--ok-soft);border-radius:50%;flex:none}.sync.stale{color:var(--warn);font-weight:600}.sync.stale .dot{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.rail{border-right:1px solid var(--line);flex-direction:column;align-self:start;gap:2px;height:calc(100dvh - 49px);padding:16px 10px;display:flex;position:sticky;top:49px}.rail button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex}.rail button:hover{background:var(--sunk)}.rail button[aria-current=page]{background:var(--surface);box-shadow:0 0 0 1px var(--line)}.rail .count{font:600 11.5px var(--mono);background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:auto;padding:1px 8px}.tabs{display:none}main{min-width:0;padding:22px 28px 48px}.view{gap:18px;max-width:980px;margin:0 auto;display:grid}.vhead{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.vhead h1{font:700 26px/1.1 var(--display);letter-spacing:-.015em;text-wrap:balance;margin:0}.vhead p{color:var(--muted);flex-basis:100%;max-width:68ch;margin:0}.lane-group,.list{gap:10px;display:grid}.list.plain,.repo-list,.checks{margin:0;padding:0;list-style:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:8px;min-width:0;padding:14px 16px;display:grid}.card.stripe{border-left:4px solid var(--stripe,var(--line));padding-left:14px}.card h3{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600;line-height:1.35}.card p{max-width:72ch;margin:0}.empty{border-style:dashed;justify-items:start}.row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.row.spread{justify-content:space-between}.pill{font:500 11.5px/1 var(--body);background:var(--sunk);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;text-decoration:none;display:inline-flex}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.park{background:var(--park-soft);color:var(--park)}a.pill:hover{text-decoration:underline}.proj-tag{font:600 12px var(--mono);color:var(--accent);overflow-wrap:anywhere}.ts{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.section-label{font:600 11px var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:6px 0 0}.section-label.full{color:var(--warn)}.checks{flex-wrap:wrap;gap:4px;display:flex}.chk{font:500 11px var(--mono);background:var(--ok-soft);color:var(--ok);border-radius:4px;padding:2px 6px}.chk.fail{background:var(--bad-soft);color:var(--bad)}.chk.pending{background:var(--warn-soft);color:var(--warn)}.chk.skipped,.chk.none{background:var(--sunk);color:var(--muted)}.diff{font:500 12px var(--mono)}.diff .a{color:var(--ok)}.diff .d{color:var(--bad)}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--sunk)}.btn:disabled{opacity:.55}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.btn.ok{background:var(--ok);border-color:var(--ok);color:var(--surface)}.btn.danger{background:var(--bad);border-color:var(--bad);color:var(--surface)}.btn.primary:hover:not(:disabled),.btn.ok:hover:not(:disabled),.btn.danger:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.ok:hover:not(:disabled){background:var(--ok)}.btn.danger:hover:not(:disabled){background:var(--bad)}.confirm{background:var(--sunk);border-radius:8px;gap:8px;padding:10px 12px;display:grid}.change{gap:6px;display:grid}.change label,.wip label,.filter label{color:var(--muted);font-size:12px;font-weight:600}textarea,input{font:inherit;color:var(--fg);background:var(--sunk);border:1px solid var(--line);border-radius:8px;min-width:0;padding:8px 10px;font-size:16px}textarea{resize:vertical;width:100%}.note{background:var(--sunk);border-radius:8px;padding:8px 10px;font-size:13px}.note:empty{display:none}.note.ok{background:var(--ok-soft);color:var(--ok)}.note.warn{background:var(--warn-soft);color:var(--warn)}.note.bad{background:var(--bad-soft);color:var(--bad)}.banner{background:var(--warn-soft);color:var(--warn);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.wip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wip input{width:72px}.hint{color:var(--muted);font-size:12px}.hint.bad{color:var(--bad)}.filter{align-items:center;gap:8px;margin-bottom:10px;display:flex}.filter input{flex:1}.repo-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.repo-list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex}.repo-list li:first-child{border-top:0}.repo-meta{overflow-wrap:anywhere;flex:1;min-width:0;display:grid}.skeleton{gap:10px}.bone{background:var(--sunk);border-radius:4px;height:10px;display:block}.bone.tall{height:16px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);z-index:40;border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-size:13px;position:fixed;transform:translate(-50%)}.toast[hidden]{display:none}.gate{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.gate>*{width:min(100%,440px)}.gate-card{gap:14px;padding:24px}.gate-card h1{font:700 24px/1.15 var(--display);letter-spacing:-.015em;margin:0}.toggle{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.toggle input{width:18px;height:18px;accent-color:var(--accent)}.project.hidden .proj-tag{opacity:.6}@media (width<=720px){.app{grid-template-columns:1fr}.rail{display:none}.top{gap:10px;padding-left:16px;padding-right:16px}main{padding:16px 16px calc(var(--tabs-h) + 24px + env(safe-area-inset-bottom,0px))}.vhead h1{font-size:22px}.tabs{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;justify-items:center;gap:2px;padding:6px 0;font-size:11px;display:grid;position:relative}.tabs button[aria-current=page]{color:var(--accent);font-weight:600}.tabs .badge{font:600 10px var(--mono);background:var(--accent);color:var(--surface);border-radius:999px;padding:1px 5px;position:absolute;top:0;left:55%}.toast{bottom:calc(var(--tabs-h) + 16px + env(safe-area-inset-bottom,0px))}.btn{min-height:40px}a.pill{position:relative}a.pill:after{content:"";position:absolute;inset:-10px -4px}}@media (prefers-reduced-motion:no-preference){.card{animation:.25s ease-out both rise}.bone{animation:1.2s ease-in-out infinite pulse}@keyframes rise{0%{transform:translateY(4px)}to{transform:none}}@keyframes pulse{50%{opacity:.5}}}
