:root{--bg:#f4f5f7;--surface:#fff;--list:#ebecf0;--text:#172b4d;--muted:#5e6c84;--line:#dfe1e6;--accent:#1f6feb;--late:#d1242f;--late-bg:#ffebe9;--ok:#1a7f37;--on:#1a7f37;--off:#bc4c00;--term:#a40e26;--conv:#8250df;--code-bg:#eef1f5;--shadow:0 1px 1px #091e4233, 0 0 1px #091e4240;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0d1117;--surface:#1c2128;--list:#161b22;--text:#e6edf3;--muted:#8d96a0;--line:#30363d;--accent:#4493f8;--late:#ff7b72;--late-bg:#f8514926;--ok:#3fb950;--on:#3fb950;--off:#f0883e;--term:#ff7b72;--conv:#bc8cff;--code-bg:#262c36;--shadow:0 0 0 1px #30363d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body.noscroll{overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0}code{background:var(--code-bg);word-break:break-all;border-radius:4px;padding:1px 4px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--muted)}.btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px;font-weight:600}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:10px 18px}.btn.danger{color:var(--late)}.btn.small{padding:3px 10px;font-size:12px}.link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.signin{place-items:center;min-height:100vh;padding:16px;display:grid}.signin-card{background:var(--surface);box-shadow:var(--shadow);text-align:center;border-radius:12px;justify-items:center;gap:12px;width:100%;max-width:360px;padding:32px;display:grid}.signin-card h1{font-size:20px}.signin-error{color:var(--late);background:var(--late-bg);border-radius:6px;margin:0;padding:8px 12px}.top{border-bottom:1px solid var(--line);background:var(--surface);z-index:2;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:8px;display:flex}.brand h1{font-size:17px}.attention{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.att{color:var(--muted);background:var(--list);border-radius:12px;padding:3px 10px;font-size:13px}.att b{color:var(--text)}.att.bad{background:var(--late-bg);color:var(--late)}.att.bad b,.att.warn b{color:inherit}.att.warn{color:#9a6700;background:#bf870026}.seg{border:1px solid var(--line);border-radius:8px;margin-left:4px;display:inline-flex;overflow:hidden}.seg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:13px}.seg button.on{background:var(--accent);color:#fff}.meta{color:var(--muted);align-items:center;gap:12px;margin-left:auto;font-size:13px;display:flex}.sync:before{content:"";background:var(--ok);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.sync.stale{color:var(--late)}.sync.stale:before{background:var(--late)}.board{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,.8fr);align-items:start;gap:16px;max-width:1600px;margin:0 auto;padding:16px 20px 32px;display:grid}.col{background:var(--list);border-radius:12px;gap:12px;min-width:0;padding:10px;display:grid}.col-head h2{text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;padding:2px 4px 6px;font-size:13px;display:flex}.col-head .n,.stage h3 .n{color:var(--muted);font-weight:500}.pipeline{flex-wrap:wrap;gap:4px;display:flex}.pipeline span{color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:2px 8px;font-size:11.5px}.pipeline span.has{color:var(--text);border-color:var(--muted)}.pipeline b{font-weight:700}.stage{gap:6px;display:grid}.stage h3{color:var(--muted);padding:0 4px;font-size:12px;font-weight:600}.cards{gap:8px;display:grid}.none{color:var(--muted);margin:0;padding:4px 6px 8px;font-size:13px}.card{text-align:left;font:inherit;color:inherit;background:var(--surface);border:0;border-left:4px solid var(--c,var(--accent));box-shadow:var(--shadow);cursor:pointer;border-radius:8px;grid-template-rows:auto auto auto auto 1fr;gap:5px;width:100%;min-width:0;height:164px;padding:10px 12px;display:grid;overflow:hidden}.card:hover{outline:2px solid var(--accent);outline-offset:-1px}.k-on{--c:var(--on)}.k-off{--c:var(--off)}.k-term{--c:var(--term)}.k-conv{--c:var(--conv)}.card-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.badges{flex:none;gap:4px;display:inline-flex}.chip{color:var(--accent);border:1px solid var(--accent);border-radius:10px;padding:0 6px;font-size:11px}.kind{text-transform:uppercase;letter-spacing:.04em;color:var(--c);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;min-width:0;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.kind-icon{background:var(--c);width:18px;height:18px;color:var(--surface);border-radius:50%;flex:none;place-items:center;font-size:11px;display:inline-grid}.late{background:var(--late);color:#fff;white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;overflow:hidden}.anchor{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.rel{color:var(--muted)}.progress{align-items:center;gap:8px;display:flex}.bar{background:var(--line);border-radius:3px;flex:1;height:6px;overflow:hidden}.bar span{background:var(--c,var(--ok));border-radius:3px;height:100%;display:block}.frac{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.next{color:var(--muted);border-top:1px solid var(--line);-webkit-line-clamp:2;-webkit-box-orient:vertical;align-self:start;max-height:calc(2.7em + 7px);padding-top:6px;font-size:12.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.next-k{color:var(--text);font-weight:700}.next.is-late .due{color:var(--late);font-weight:600}.queued{color:var(--accent);font-size:12px}.overlay{z-index:10;background:#090d1480;justify-content:flex-end;display:flex;position:fixed;inset:0}.detail{background:var(--surface);border-left:4px solid var(--c);align-content:start;gap:18px;width:min(640px,100%);height:100%;padding:20px 24px 40px;display:grid;overflow-y:auto}.d-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.d-head h2{margin:4px 0 2px;font-size:22px}.d-head p{margin:0}.x{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:26px;line-height:1}.d-anchor{gap:8px;display:grid}.progress.big .bar{height:8px}.d-links{flex-wrap:wrap;gap:8px;display:flex}.d-links a{border:1px solid var(--line);border-radius:16px;padding:4px 12px;font-size:13px}.facts{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:13px;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.detail section{gap:8px;display:grid}.detail section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:13px}.err{color:var(--late);background:var(--late-bg);border-radius:6px;margin:0;padding:8px 12px}.plan{border:1px solid var(--line);border-radius:10px;gap:10px;padding:12px}.plan.s-proposed{background:#bf870014;border-color:#bf8700}.plan.s-failed{border-color:var(--late)}.plan-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.plan-head h3{text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;font-size:15px!important}.plan-status{color:var(--muted);font-size:12px;font-weight:600}.s-proposed .plan-status{color:#9a6700}.plan-steps{gap:8px;margin:0;padding-left:20px;font-size:13px;display:grid}.plan-steps code{white-space:pre-wrap;margin-top:2px;display:block}.plan-steps .bad{color:var(--late)}.plan .row{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan p{margin:0;font-size:13px}.btn.go{background:var(--ok);border-color:var(--ok);color:#fff;padding:6px 22px}.chip.plan-chip{color:#9a6700;border-color:#bf8700}.steps{gap:2px;margin:0;padding:0;list-style:none;display:grid}.step{border-radius:6px;align-items:flex-start;gap:10px;padding:8px;display:flex}.step:hover{background:var(--list)}.step.sub{padding-left:24px}.check{border:1.5px solid var(--line);border-radius:4px;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;font-size:12px;display:grid}.step.is-done .check{background:var(--ok);border-color:var(--ok);color:#fff}.step.is-pending .check{border-color:var(--accent);color:var(--accent)}.step.is-late .check{border-color:var(--late)}.step-body{flex:1;min-width:0}.step-label{overflow-wrap:anywhere}.step-label a{color:inherit}.step-label a:hover{color:var(--accent)}.step.is-done .step-label{color:var(--muted);text-decoration:line-through}.step-meta{color:var(--muted);font-size:12px}.late-text{color:var(--late);font-weight:600}.who{color:var(--conv)}.note textarea{width:100%;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);resize:vertical;border-radius:6px;padding:8px}.note .row{justify-content:space-between;margin-top:8px;display:flex}.acts{margin:0;padding-left:18px;font-size:13px}.acts .failed{color:var(--late)}.timeline{gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.timeline li{grid-template-columns:112px 64px 1fr;gap:8px;display:grid}.timeline time{color:var(--muted);font-variant-numeric:tabular-nums}.timeline .src{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:2px;font-size:11px}.timeline .txt{overflow-wrap:anywhere}@media (max-width:1100px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.top{gap:8px;padding:10px 16px}.meta{justify-content:space-between;width:100%;margin-left:0}.board{grid-template-columns:minmax(0,1fr);gap:14px;padding:12px 16px 32px}.detail{border-left:0;border-top:4px solid var(--c);padding:16px 16px 40px}.timeline li{grid-template-columns:1fr;gap:0}.timeline .src{display:none}}
