@font-face{font-family:Inter;src:url(/fonts/Inter.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--gw-lime: oklch(.813 .185 115.6);--gw-green: oklch(.654 .192 147.5);--gw-olive: oklch(.55 .09 110);--gw-surface: oklch(.2 .012 150);--gw-raised: oklch(.25 .012 150);--gw-border: oklch(.35 .012 150);--gw-muted: oklch(.62 .012 150);--gw-text: oklch(.95 .012 150);--gw-ground: oklch(.145 .012 150);--gw-hairline: oklch(.28 .012 150);--gw-green-fg: oklch(.78 .15 147.5);--gw-danger: oklch(.66 .2 25);--gw-danger-fg: oklch(.74 .17 25);--gw-warning: oklch(.8 .14 85);--gw-ink: oklch(.16 .03 115.6);--gw-info: oklch(.74 .11 235);--gw-h: 40px;--gw-radius: 10px;--gw-ease: cubic-bezier(.33,.7,.3,1);--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}p,h1,h2,h3,h4,ul,pre{margin:0}html,body{height:100%}body{margin:0;background:var(--gw-ground);color:var(--gw-text);font:14px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--gw-green-fg);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-size:12.5px}button{font:inherit;color:inherit}.app{display:grid;grid-template-columns:220px 1fr;min-height:100%}.side{background:var(--gw-surface);border-right:1px solid var(--gw-hairline);display:flex;flex-direction:column;padding:16px 10px;gap:2px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;padding:4px 10px 18px}.brand .mark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--gw-lime);color:var(--gw-ink);font-weight:800;font-size:15px}.brand .name{font-weight:650;font-size:16px;letter-spacing:-.01em}.brand .env{font-size:11px;color:var(--gw-muted)}.nav{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:8px;color:var(--gw-muted);cursor:pointer;font-weight:500}.nav:hover{background:var(--gw-raised);color:var(--gw-text);text-decoration:none}.nav.on{background:var(--gw-raised);color:var(--gw-text)}.nav.on svg{color:var(--gw-lime)}.nav svg{width:17px;height:17px;flex:none}.nav .count{margin-left:auto;font-size:11px;padding:0 7px;border-radius:99px;background:var(--gw-hairline);color:var(--gw-text)}.nav .count.bad{background:color-mix(in oklch,var(--gw-danger) 35%,transparent)}.nav .lock{margin-left:auto;font-size:10px;color:var(--gw-muted);letter-spacing:.06em;text-transform:uppercase}.navsep{margin:14px 10px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gw-muted)}.me{margin-top:auto;display:flex;gap:10px;align-items:center;padding:10px;border-top:1px solid var(--gw-hairline)}.face{width:30px;height:30px;border-radius:99px;display:grid;place-items:center;background:var(--gw-olive);font-weight:600;font-size:13px;flex:none}.me .who{line-height:1.25}.me .who div:last-child{font-size:12px;color:var(--gw-muted)}main{padding:24px 32px 60px;min-width:0}.head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.head h1{font-size:22px;font-weight:650;letter-spacing:-.015em}.head .sub{color:var(--gw-muted);font-size:13px}.head .right{margin-left:auto;display:flex;gap:8px}.crumb{color:var(--gw-muted);font-size:13px;margin-bottom:4px}.crumb a{color:var(--gw-muted)}.banner{display:flex;gap:10px;align-items:center;padding:10px 14px;margin-bottom:18px;border-radius:var(--gw-radius);font-size:13px;background:color-mix(in oklch,var(--gw-warning) 14%,var(--gw-surface));border:1px solid color-mix(in oklch,var(--gw-warning) 40%,transparent)}.banner b{color:var(--gw-warning)}.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.split.wide{grid-template-columns:minmax(0,1fr) 340px}.panel{background:var(--gw-surface);border:1px solid var(--gw-hairline);border-radius:var(--gw-radius);min-width:0}.panel>h3,.ph{font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;color:var(--gw-muted);padding:12px 16px;border-bottom:1px solid var(--gw-hairline);display:flex;align-items:center;gap:8px}.ph .right{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:500}.pb{padding:14px 16px}.pb.stack,.stack{display:flex;flex-direction:column;gap:10px}.muted{color:var(--gw-muted)}.small{font-size:12.5px}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.tile{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.tile .k{font-size:12px;color:var(--gw-muted)}.tile .v{font-size:22px;font-weight:650;letter-spacing:-.01em}.tile .d{font-size:12px;color:var(--gw-muted)}.dot{width:8px;height:8px;border-radius:99px;display:inline-block;flex:none}.dot.ok{background:var(--gw-green)}.dot.warn{background:var(--gw-warning)}.dot.bad{background:var(--gw-danger)}.dot.idle{background:var(--gw-border)}.dot.run{background:var(--gw-lime);box-shadow:0 0 0 4px color-mix(in oklch,var(--gw-lime) 25%,transparent);animation:pulse 1.6s infinite}@keyframes pulse{50%{box-shadow:0 0 0 1px color-mix(in oklch,var(--gw-lime) 10%,transparent)}}.badge{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 8px;border-radius:99px;font-size:11.5px;font-weight:550;white-space:nowrap;background:var(--gw-raised);color:var(--gw-text);border:1px solid var(--gw-hairline)}.badge.ok{color:var(--gw-green-fg);border-color:color-mix(in oklch,var(--gw-green) 45%,transparent)}.badge.run{color:var(--gw-lime);border-color:color-mix(in oklch,var(--gw-lime) 45%,transparent)}.badge.warn{color:var(--gw-warning);border-color:color-mix(in oklch,var(--gw-warning) 45%,transparent)}.badge.bad{color:var(--gw-danger-fg);border-color:color-mix(in oklch,var(--gw-danger) 45%,transparent)}.badge.info{color:var(--gw-info);border-color:color-mix(in oklch,var(--gw-info) 45%,transparent)}.badge.mono{font-family:var(--mono);font-weight:500}.btn{height:34px;padding:0 14px;border-radius:8px;cursor:pointer;font-weight:550;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:var(--gw-raised);border:1px solid var(--gw-border);color:var(--gw-text)}.btn:hover{border-color:var(--gw-muted)}.btn.primary{background:var(--gw-lime);color:var(--gw-ink);border-color:transparent}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{color:var(--gw-danger-fg);border-color:color-mix(in oklch,var(--gw-danger) 50%,transparent)}.btn.ghost{background:transparent;border-color:transparent;color:var(--gw-muted)}.btn.ghost:hover{color:var(--gw-text)}.btn.sm{height:28px;padding:0 10px;font-size:12.5px}.btn .step{font-size:10px;padding:1px 5px;border-radius:4px;background:color-mix(in oklch,currentColor 15%,transparent)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{height:28px;padding:0 11px;border-radius:99px;font-size:12.5px;cursor:pointer;border:1px solid var(--gw-hairline);background:transparent;color:var(--gw-muted);display:inline-flex;align-items:center;gap:6px}.chip:hover{color:var(--gw-text)}.chip.on{background:var(--gw-raised);color:var(--gw-text);border-color:var(--gw-border)}.chip .n{font-size:11px;color:var(--gw-muted)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--gw-hairline);margin-bottom:16px}.tab{padding:8px 12px;cursor:pointer;color:var(--gw-muted);font-weight:550;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;border-top:0;border-left:0;border-right:0}.tab:hover{color:var(--gw-text)}.tab.on{color:var(--gw-text);border-bottom-color:var(--gw-lime)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gw-muted);font-weight:600;padding:9px 14px;border-bottom:1px solid var(--gw-hairline);white-space:nowrap}td{padding:9px 14px;border-bottom:1px solid var(--gw-hairline);vertical-align:top}tr:last-child td{border-bottom:0}tr.link{cursor:pointer}tr.link:hover td{background:color-mix(in oklch,var(--gw-raised) 55%,transparent)}tr.sel td{background:var(--gw-raised)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}input,select,textarea{font:inherit;color:var(--gw-text);background:var(--gw-ground);border:1px solid var(--gw-border);border-radius:8px;height:34px;padding:0 10px;min-width:0}textarea{height:auto;padding:8px 10px;font-family:var(--mono);font-size:12.5px;line-height:1.5}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in oklch,var(--gw-lime) 60%,transparent);outline-offset:0;border-color:transparent}.field{display:flex;flex-direction:column;gap:5px}.field>span{font-size:12px;color:var(--gw-muted);font-weight:550}.search{position:relative}.search input{width:100%;padding-left:32px}.search svg{position:absolute;left:10px;top:9px;width:16px;height:16px;color:var(--gw-muted)}pre.code{background:var(--gw-ground);border:1px solid var(--gw-hairline);border-radius:8px;padding:10px 12px;overflow:auto;font:12.5px/1.55 var(--mono);color:#cfdbd1;white-space:pre-wrap;word-break:break-word}.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 14px;font-size:13px}.kv>div:nth-child(odd){color:var(--gw-muted)}.bar{height:8px;border-radius:99px;background:var(--gw-hairline);overflow:hidden}.bar>div{height:100%;border-radius:99px;background:var(--gw-green)}.bar.warn>div{background:var(--gw-warning)}.list-item{padding:10px 16px;border-bottom:1px solid var(--gw-hairline);cursor:pointer;display:flex;gap:10px;align-items:center}.list-item:last-child{border-bottom:0}.list-item:hover{background:color-mix(in oklch,var(--gw-raised) 55%,transparent)}.list-item.on{background:var(--gw-raised);box-shadow:inset 2px 0 0 var(--gw-lime)}.tree{font-size:13px;padding:8px 6px}.tree .n{padding:3px 8px;border-radius:6px;cursor:pointer;display:flex;gap:6px;align-items:center;color:var(--gw-muted)}.tree .n:hover,.tree .n.on{background:var(--gw-raised);color:var(--gw-text)}.tree .n.dir{color:var(--gw-text);font-weight:550}.tree .n .t{margin-left:auto;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.tree .ind1{padding-left:22px}.tree .ind2{padding-left:36px}.md{font-size:14.5px;line-height:1.65;max-width:760px}.md h1{font-size:22px;font-weight:650;margin:0 0 12px;letter-spacing:-.01em}.md h2{font-size:16px;font-weight:650;margin:22px 0 8px}.md p{margin:0 0 10px}.md ul{padding-left:20px;margin:0 0 10px}.md li{margin:2px 0}.md code{background:var(--gw-raised);padding:1px 5px;border-radius:4px}.md .open{border-left:3px solid var(--gw-warning);padding:8px 12px;background:color-mix(in oklch,var(--gw-warning) 7%,transparent);border-radius:0 8px 8px 0;margin:0 0 10px}.md a.secret{color:var(--gw-info)}.diff{font:12.5px/1.6 var(--mono)}.diff div{padding:0 12px;white-space:pre-wrap}.diff .add{background:color-mix(in oklch,var(--gw-green) 16%,transparent);color:var(--gw-green-fg)}.diff .del{background:color-mix(in oklch,var(--gw-danger) 16%,transparent);color:var(--gw-danger-fg)}.diff .hunk{color:var(--gw-info);padding-top:6px}.thumb{aspect-ratio:4/3;border-radius:8px;display:grid;place-items:center;color:var(--gw-muted);background:linear-gradient(135deg,var(--gw-raised),var(--gw-surface));border:1px solid var(--gw-hairline);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.card{cursor:pointer;padding:10px;display:flex;flex-direction:column;gap:8px}.card:hover{border-color:var(--gw-border)}.card.on{border-color:var(--gw-lime)}.scrim{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:10;padding:20px}.modal{width:min(520px,100%);background:var(--gw-surface);border:1px solid var(--gw-border);border-radius:14px;box-shadow:0 20px 60px #00000080}.modal .mh{padding:18px 20px 6px;font-size:17px;font-weight:650}.modal .mb{padding:8px 20px 18px;display:flex;flex-direction:column;gap:14px}.modal .mf{padding:12px 20px;border-top:1px solid var(--gw-hairline);display:flex;gap:8px;justify-content:flex-end}.once{font:13px var(--mono);padding:12px;border-radius:8px;word-break:break-all;background:var(--gw-ground);border:1px dashed var(--gw-lime);color:var(--gw-lime)}.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.checks label{display:flex;gap:6px;align-items:center;font:12.5px var(--mono);color:var(--gw-muted)}.approve{max-width:640px;margin:40px auto;display:flex;flex-direction:column;gap:16px;padding:0 20px}.approve .code-big{font:700 30px/1 var(--mono);letter-spacing:.12em;color:var(--gw-lime)}.warnline{display:flex;gap:10px;padding:8px 12px;border-radius:8px;font-size:13px;background:color-mix(in oklch,var(--gw-danger) 10%,transparent);border:1px solid color-mix(in oklch,var(--gw-danger) 35%,transparent)}.warnline b{color:var(--gw-danger-fg)}.argv{display:flex;flex-wrap:wrap;gap:6px}.argv span{font:13px var(--mono);padding:3px 8px;border-radius:6px;background:var(--gw-ground);border:1px solid var(--gw-border)}.argv span.hot{border-color:var(--gw-danger);color:var(--gw-danger-fg)}.hidden{display:none!important}@media(max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.split.wide{grid-template-columns:1fr}}#app{min-height:100%}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.signin{width:min(420px,100%);display:flex;flex-direction:column;gap:18px;text-align:center;align-items:center}.signin .mark{width:56px;height:56px;border-radius:14px;font-size:28px}.signin h1{font-size:24px;font-weight:650;letter-spacing:-.015em}.empty{padding:40px 16px;text-align:center;color:var(--gw-muted)}.error-line{color:var(--gw-danger-fg);font-size:13px}button:disabled{opacity:.5;cursor:default}.nav.soon{opacity:.45;pointer-events:none}.count-v{font-size:22px;font-weight:650;letter-spacing:-.01em}img.face{object-fit:cover}.gate-held{padding:10px 12px;border-radius:8px;border:1px solid color-mix(in oklch,var(--gw-lime) 40%,transparent);background:color-mix(in oklch,var(--gw-lime) 6%,transparent)}.md-body{font-size:14.5px;line-height:1.65;max-width:780px}.md-body h1{font-size:22px;font-weight:650;margin:0 0 12px;letter-spacing:-.01em}.md-body h2{font-size:16px;font-weight:650;margin:22px 0 8px}.md-body h3{font-size:14.5px;font-weight:650;margin:18px 0 6px}.md-body p,.md-body ul,.md-body ol,.md-body pre,.md-body table{margin:0 0 10px}.md-body ul,.md-body ol{padding-left:22px}.md-body code{background:var(--gw-raised);padding:1px 5px;border-radius:4px;font-size:12.5px}.md-body pre{background:var(--gw-ground);border:1px solid var(--gw-hairline);border-radius:8px;padding:10px 12px;overflow:auto}.md-body pre code{background:none;padding:0}.md-body blockquote{border-left:3px solid var(--gw-border);margin:0 0 10px;padding:2px 12px;color:var(--gw-muted)}.md-body table{border-collapse:collapse}.md-body td,.md-body th{border:1px solid var(--gw-hairline);padding:4px 8px}
