:root{color-scheme:dark;--bg:#0d1117;--panel:#161b22;--side:#0b0f14;--line:#21262d;--line2:#1b2129;--line3:#30363d;--fg:#c9d1d9;--muted:#8b949e;--muted2:#6e7681;--cyan:#39c5cf;--blue:#58a6ff;--green:#3fb950;--red:#f85149;--purple:#a371f7;--amber:#d29922}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
button{font:inherit}
nav.side{position:fixed;top:0;left:0;bottom:0;width:200px;background:var(--side);border-right:1px solid var(--line);padding:16px 0;overflow-y:auto}
nav.side .brand{padding:2px 20px 14px;font-size:13px;font-weight:600;letter-spacing:.02em;border-bottom:1px solid var(--line);margin-bottom:8px}
nav.side .brand .sub2{display:block;color:var(--muted2);font-size:11px;font-weight:400;margin-top:2px}
nav.side a.nav{display:block;padding:8px 20px;color:var(--muted);font-size:13px;border-left:2px solid transparent}
nav.side a.nav:hover{background:var(--panel);color:var(--fg);text-decoration:none}
nav.side a.nav.active{color:var(--blue);border-left-color:var(--blue);background:var(--panel);font-weight:600}
.wrap{margin-left:200px;min-height:100vh;display:flex;flex-direction:column}
header{padding:18px 22px;border-bottom:1px solid var(--line);background:var(--panel);display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
header h1{margin:0;font-size:15px;font-weight:600}
header .sub{color:var(--muted);font-size:12px}
header .links{margin-left:auto;font-size:12px;color:var(--line3)}
header .links button{background:none;border:0;padding:0;margin:0;color:var(--blue);cursor:pointer}
header .links button:hover{text-decoration:underline}
.action{border:1px solid var(--green);border-radius:4px;background:#132a1a;color:var(--green);padding:5px 10px;cursor:pointer}.action:disabled{opacity:.55;cursor:wait}.action-state{margin-left:9px;color:var(--muted)}
header .me{color:var(--muted2);font-size:12px}
main{padding:20px 22px 24px;max-width:1080px;flex:1 1 auto;width:100%;display:flex;flex-direction:column}
.summary{display:grid;grid-template-columns:1.35fr repeat(4,1fr);border:1px solid var(--line);border-radius:6px;background:#010409;overflow:hidden}
.metric{padding:13px 16px;border-right:1px solid var(--line);min-width:0}
.metric:last-child{border-right:0}
.metric-label{display:block;color:var(--muted2);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.metric-value{display:block;font-size:16px;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric-value.status{font-size:13px;padding-top:2px}
.metric-unit{font-size:11px;color:var(--muted2);margin-left:4px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:middle}
.dot.ok{background:var(--green)}.dot.bad{background:var(--red)}.dot.wait{background:var(--amber)}
.ok{color:var(--green)}.bad{color:var(--red)}.wait{color:var(--amber)}
.measure-note{margin:8px 0 0;color:var(--muted2);font-size:11px;overflow-wrap:anywhere}
.pipeline-total{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:13px 0 0;padding:8px 12px;background:#010409;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:5px;font-size:12px}
.pipeline-total[hidden]{display:none}.pipeline-total .total-label{color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.05em}.pipeline-total strong{color:var(--green);font-size:14px}.pipeline-total .total-phase{color:var(--muted2)}
#panes{flex:1 1 auto;min-height:420px;display:flex;flex-direction:column;margin-top:2px}
.pane{display:flex;flex-direction:column;flex:0 0 auto;min-height:112px;border-bottom:1px solid var(--line2);padding-bottom:18px}
.pane:last-child{border-bottom:0}
h2.sec{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--fg);margin:24px 0 10px;padding-left:10px;border-left:3px solid var(--muted2);line-height:1.25}
h2.sec-build{border-left-color:var(--cyan)}h2.sec-release{border-left-color:var(--blue)}h2.sec-deploy{border-left-color:var(--purple)}
.caret{display:inline-block;width:16px;color:var(--blue);font-size:10px}
.hint{color:var(--muted2);font-size:12px;text-transform:none;letter-spacing:0;font-weight:400}
.empty{margin:0;padding:10px 0;color:var(--muted2);font-size:13px}
.empty strong{color:var(--muted);font-weight:500}
.empty[hidden]{display:none}
.table-wrap{width:100%;overflow-x:auto}
table.activity{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
table.activity th{padding:0 0 5px;text-align:left;color:var(--muted2);font-size:10px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line3)}
table.activity td{padding:6px 0;border-bottom:1px solid var(--line2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.activity tbody tr:last-child td{border-bottom:0}
table.activity tbody tr.foldable:hover{background:rgba(88,166,255,.035)}
tr.foldable{cursor:pointer}
tr.foldable:focus-visible{outline:1px solid var(--blue);outline-offset:-1px}
.fcaret{display:inline-block;width:20px;padding:0;border:0;background:none;color:var(--muted2);cursor:pointer;text-align:left;line-height:1}
.fcaret[aria-expanded="true"]{color:var(--blue)}
tr.foldrow>td{padding:0!important;border-bottom:1px solid var(--line3)!important;white-space:normal!important;overflow:visible!important}
.foldpanel{padding:14px 18px 16px 20px;background:#070b10;border-left:2px solid var(--blue)}
.foldpanel h3{margin:0 0 7px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.foldgrid{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(240px,1fr);gap:18px}
.evidence{margin:0;padding:0;list-style:none;color:var(--fg)}
.evidence li{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:3px 0;border-bottom:1px solid var(--line2);font-size:12px}
.evidence .event-name{text-transform:capitalize;color:var(--green)}.evidence time{color:var(--muted);overflow-wrap:anywhere}
.kv{display:grid;grid-template-columns:115px minmax(0,1fr);gap:5px 10px;margin:0;font-size:12px}
.kv dt{color:var(--muted2)}.kv dd{margin:0;overflow-wrap:anywhere}.kv code{white-space:normal;color:var(--fg)}
.executor-note{margin:9px 0 0;color:var(--muted2);font-size:11px}
.attempts{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:7px}
.attempts li{border:1px solid var(--line2);padding:7px;background:#0b1118}
.attempt-head{display:flex;gap:8px;align-items:center;color:var(--text)}
.attempt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.logview{max-height:320px;overflow:auto;white-space:pre-wrap;color:var(--muted);background:#05090e;border:1px solid var(--line2);padding:8px}
.fold-actions{margin:12px 0 0}
.release-blocker{margin:9px 0 0;color:var(--amber);font-size:11px}
.identity{width:44%;font-weight:600;color:var(--fg)}
.row-status{width:28%}.duration{width:15%;text-align:right;padding-right:24px!important}.when{width:13%;text-align:right;color:var(--muted)}
.status-text{text-transform:capitalize}.dot.running{background:var(--blue)}
footer{padding:18px 22px;color:var(--muted2);font-size:12px;border-top:1px solid var(--line)}
#network-state{transition:color .15s}
@media(max-width:800px){
  body{display:flex;flex-direction:column}
  nav.side{position:static;width:auto;display:flex;flex:none;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:0}
  nav.side .brand{display:none}
  nav.side a.nav{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;padding:10px 14px}
  nav.side a.nav.active{border-bottom-color:var(--blue)}
  .wrap{margin-left:0;min-height:0;flex:1 1 auto}
  header{padding:12px;gap:8px}
  header .links{margin-left:0;width:100%;order:3}
  main{padding:14px 12px 18px;max-width:none}
  .summary{grid-template-columns:repeat(2,1fr)}
  .metric{border-bottom:1px solid var(--line)}
  .metric:nth-child(2n){border-right:0}
  .metric:last-child{grid-column:1/-1;border-bottom:0}
  .hint{display:none}
  .foldgrid{grid-template-columns:1fr}.foldpanel{padding:12px}
  #panes{min-height:360px}
  footer{padding:12px}
}
@media(max-width:430px){
  .summary{grid-template-columns:1fr 1fr}
  .metric{padding:11px 12px}
  .metric-value{font-size:14px}
}
