:root{--ground:#f3f2f2;--surface:#fbfafa;--sunken:#eae9e9;--ink:#201e1d;--ink-2:#57524f;--ink-3:#8a8481;--line:#d9d6d4;--line-strong:#201e1d;--red:#ec3013;--red-ink:#ae1800;--red-wash:#fce6e1;--ok:#1a7f37;--ok-wash:#e3f2e7;--run:#0e7c86;--run-wash:#dff1f2;--wait:#b4690e;--wait-wash:#f8ecdb;--bad:#b42318;--bad-wash:#fbe4e1;--code-bg:#201e1d;--code-fg:#f3f2f2;--font:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#151413;--surface:#1d1b1a;--sunken:#252322;--ink:#f3f2f2;--ink-2:#bdb7b3;--ink-3:#8c8682;--line:#34312f;--line-strong:#f3f2f2;--red:#ff4a2b;--red-ink:#ff7a61;--red-wash:#3a1a14;--ok:#4cc36e;--ok-wash:#15301e;--run:#3dc2cc;--run-wash:#10302f;--wait:#e9a54a;--wait-wash:#3a2a12;--bad:#ff6b5e;--bad-wash:#3b1714;--code-bg:#0e0d0c;--code-fg:#e9e6e4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#151413;--surface:#1d1b1a;--sunken:#252322;--ink:#f3f2f2;--ink-2:#bdb7b3;--ink-3:#8c8682;--line:#34312f;--line-strong:#f3f2f2;--red:#ff4a2b;--red-ink:#ff7a61;--red-wash:#3a1a14;--ok:#4cc36e;--ok-wash:#15301e;--run:#3dc2cc;--run-wash:#10302f;--wait:#e9a54a;--wait-wash:#3a2a12;--bad:#ff6b5e;--bad-wash:#3b1714;--code-bg:#0e0d0c;--code-fg:#e9e6e4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--red-ink)}:focus-visible{outline:2px solid var(--red);outline-offset:2px}.wrap{max-width:1280px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.mono{font-family:var(--mono);font-size:12.5px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:10;background:var(--ink);position:fixed;inset:0 0 auto}.top{top:env(safe-area-inset-top,0px);z-index:5;background:var(--ink);color:var(--ground);position:sticky}:root[data-theme=dark] .top{background:#0e0d0c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .top{background:#0e0d0c}}.top .wrap{flex-wrap:wrap;align-items:center;gap:24px;min-height:56px;display:flex}.brand{letter-spacing:-.01em;color:#f3f2f2;align-items:center;gap:10px;font-size:16px;font-weight:800;display:flex}.brand small{color:#a8a3a0;letter-spacing:0;font-size:13px;font-weight:500}.mark{grid-template-columns:repeat(4,1fr);gap:2px;width:22px;height:22px;display:grid}.mark i{background:#f3f2f224}.mark i.on{background:#f3f2f2}.mark i.r{background:#ec3013}.tabs{flex-wrap:wrap;gap:2px;margin-left:auto;display:flex}.tab{white-space:nowrap;color:#cfcac7;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:18px 14px 16px;font-size:14px;font-weight:600}.tab:hover{color:#fff}.tab[aria-selected=true]{color:#fff;border-bottom-color:#ec3013}.sim{background:var(--wait-wash);color:var(--wait);border-bottom:1px solid var(--line)}.sim .wrap{flex-wrap:wrap;align-items:baseline;gap:8px;padding-block:8px;font-size:13px;display:flex}.sim b{font-weight:700}main{padding-block:28px 64px}h1{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:28px;font-weight:800;line-height:1.1}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin:0 0 12px;font-size:13px;font-weight:700}h3{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head p{color:var(--ink-2);max-width:64ch;margin:6px 0 0}.btn{border:1.5px solid var(--line-strong);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--sunken)}.btn.primary{background:var(--red);border-color:var(--red);color:#fff}.btn.primary:hover{background:var(--red-ink);border-color:var(--red-ink)}.btn.ghost{border-color:#0000;padding-inline:8px}.btn.small{padding:4px 10px;font-size:13px}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn:disabled{opacity:.45;cursor:not-allowed}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.strip{border-top:2px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:32px;display:grid}.stat{flex-direction:column;gap:4px;min-width:0;padding:16px 20px 4px 0;display:flex}.stat+.stat{border-left:1px solid var(--line);padding-left:20px}.stat b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1}.stat span{color:var(--ink-2);font-size:13px}.stat em{color:var(--wait);font-size:12.5px;font-style:normal;font-weight:600}.grid-2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.panel{background:var(--surface);border:1px solid var(--line)}.panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.panel-body{padding:16px}.scroll-x{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:11.5px;font-weight:700}td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px}tr.click{cursor:pointer}tr.click:hover td{background:var(--sunken)}td .name{font-weight:700}.chip{border:1px solid var(--line);background:var(--ground);white-space:nowrap;margin:0 4px 4px 0;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.chip.custom{border-style:dashed}.chip.ex{border-color:var(--wait);color:var(--wait);background:0 0}.layer{font-family:var(--mono);border:1px solid;padding:1px 6px;font-size:11px;font-weight:500}.layer.l1{color:var(--ink)}.layer.l2{color:var(--run)}.layer.l3{color:var(--red-ink)}.pill{white-space:nowrap;align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.pill:before{content:"";background:currentColor;width:7px;height:7px}.pill.success{color:var(--ok);background:var(--ok-wash)}.pill.running,.pill.queued{color:var(--run);background:var(--run-wash)}.pill.running:before{animation:1s steps(2,end) infinite blink}.pill.waiting{color:var(--wait);background:var(--wait-wash)}.pill.failed,.pill.stale{color:var(--bad);background:var(--bad-wash)}.pill.none{color:var(--ink-3);background:var(--sunken)}@keyframes blink{50%{opacity:.2}}@media (prefers-reduced-motion:reduce){.pill.running:before{animation:none}}.behind{color:var(--wait);font-size:12px;font-weight:700}.runs{margin:0;padding:0;list-style:none}.run{border-bottom:1px solid var(--line);gap:8px;padding:12px 16px;display:grid}.run:last-child{border-bottom:0}.run-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.run-title{font-weight:700}.run-meta{color:var(--ink-3);font-size:12.5px}.steps{gap:3px;display:flex}.steps i{background:var(--sunken);flex:1;height:6px}.steps i.success{background:var(--ok)}.steps i.running{background:var(--run);animation:1s steps(2,end) infinite blink}.steps i.waiting{background:var(--wait)}.steps i.failed{background:var(--bad)}@media (prefers-reduced-motion:reduce){.steps i.running{animation:none}}.step-list{gap:2px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.step-list li{align-items:baseline;gap:8px;display:flex}.step-list li:before{content:"";background:var(--line);flex:none;width:8px;height:8px;transform:translateY(1px)}.step-list li.success:before{background:var(--ok)}.step-list li.running:before{background:var(--run)}.step-list li.waiting:before{background:var(--wait)}.step-list li.failed:before{background:var(--bad)}.step-list .err{color:var(--bad)}details>summary{cursor:pointer;color:var(--ink-2);font-size:12.5px}.back{margin-bottom:12px}.client-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.envs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.env{border:1px solid var(--line);background:var(--surface);gap:8px;padding:14px 16px;display:grid}.env.prod{border-top:3px solid var(--red)}.env.test{border-top:3px solid var(--run)}.env-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.env h3{text-transform:uppercase;letter-spacing:.08em;font-size:14px}.env .what{color:var(--ink-2);font-size:13px}.editor{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.sec{border-top:2px solid var(--line-strong);padding:14px 0 22px}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.sec-head p{color:var(--ink-3);margin:0;font-size:12.5px}.field{gap:4px;display:grid}.field label{color:var(--ink-2);font-size:12px;font-weight:600}input[type=text],select,textarea{background:var(--surface);border:1.5px solid var(--line);width:100%;min-width:0;padding:8px 10px}input[type=text]:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none}input[type=color]{border:1.5px solid var(--line);background:var(--surface);width:44px;height:38px;padding:2px}.mods{border:1px solid var(--line);background:var(--surface);gap:0;display:grid}.mod{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) 150px;align-items:center;gap:12px;padding:10px 12px;display:grid}.mod:last-child{border-bottom:0}.mod .t{font-weight:700}.mod .d{color:var(--ink-3);font-size:12.5px}.mod.off .t{color:var(--ink-2)}.mod select{padding:5px 8px}.switch{flex:none;width:36px;height:20px;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch span{background:var(--line);pointer-events:none;transition:background .15s;position:absolute;inset:0}.switch span:after{content:"";background:var(--surface);width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--red)}.switch input:checked+span:after{transform:translate(16px)}.switch input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}.widgets{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.check{border:1px solid var(--line);background:var(--surface);cursor:pointer;align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;display:flex}.check input{accent-color:var(--red);margin-top:3px}.check small{color:var(--ink-3);font-family:var(--mono);font-size:11px;display:block}.customs{gap:6px;margin-bottom:10px;display:grid}.custom-item{border:1px dashed var(--ink-3);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.custom-item .t{font-weight:700}.custom-item .d{color:var(--ink-3);font-size:12.5px}.add-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px;display:grid}.issues{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.issues li{border-left:3px solid;padding:8px 12px;font-size:13px}.issues li.error{border-color:var(--bad);background:var(--bad-wash);color:var(--bad)}.issues li.warn{border-color:var(--wait);background:var(--wait-wash);color:var(--wait)}.issues li.ok{border-color:var(--ok);background:var(--ok-wash);color:var(--ok)}.editor>*,.sticky-side>*{min-width:0}.sticky-side{top:calc(env(safe-area-inset-top,0px) + 72px);grid-template-columns:minmax(0,1fr);gap:16px;display:grid;position:sticky}pre.code{background:var(--code-bg);color:var(--code-fg);font-family:var(--mono);white-space:pre;max-height:420px;margin:0;padding:14px 16px;font-size:12px;line-height:1.6;overflow:auto}.code-head{background:var(--code-bg);color:#a8a3a0;font-family:var(--mono);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 0 16px;font-size:11.5px;display:flex}.code-head .btn{color:#f3f2f2;border-color:#57524f}.code-head .btn:hover{background:#34312f}.savebar{border:1.5px solid var(--line-strong);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.savebar .state{font-size:13px;font-weight:600}.savebar .state.dirty{color:var(--wait)}.lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px;display:grid}.lane{border:1px solid var(--line);background:var(--surface);grid-template-rows:auto auto 1fr;display:grid}.lane-head{border-bottom:1px solid var(--line);gap:6px;padding:14px 16px;display:grid}.lane-head p{color:var(--ink-2);margin:0;font-size:13px}.trigger{font-family:var(--mono);color:var(--ink-3);font-size:11.5px}.flow{border-bottom:1px solid var(--line);counter-reset:s;gap:0;margin:0;padding:12px 16px;list-style:none;display:grid}.flow li{counter-increment:s;gap:10px;padding:4px 0;font-size:13px;display:flex;position:relative}.flow li:before{content:counter(s);font-family:var(--mono);border:1px solid var(--line);width:18px;height:18px;color:var(--ink-2);flex:none;place-items:center;font-size:11px;display:grid}.flow li.gate:before{content:"◆";color:var(--wait);border-color:var(--wait)}.lane-actions{align-content:start;gap:8px;padding:12px 16px;display:grid}.yaml-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0;display:flex}.yaml-tab{font-family:var(--mono);cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 14px;font-size:12.5px}.yaml-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--red);font-weight:500}.how{border-top:2px solid var(--line-strong);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:32px;display:grid}.how div{color:var(--ink-2);padding:14px 16px 4px 0;font-size:13px}.how div+div{border-left:1px solid var(--line);padding-left:16px}.how b{color:var(--ink);margin-bottom:4px;font-size:14px;display:block}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.card{border:1px solid var(--line);background:var(--surface);align-content:start;gap:10px;padding:16px;display:grid}.card.core{border-top:3px solid var(--ink)}.card.module{border-top:3px solid var(--run)}.card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card p{color:var(--ink-2);margin:0;font-size:13px}.kv{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-size:12.5px;display:grid}.kv dt{color:var(--ink-3)}.kv dd{margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid .full{grid-column:1/-1}.empty{text-align:center;color:var(--ink-2);border:1px dashed var(--line);background:var(--surface);padding:40px 20px}.empty b{color:var(--ink);margin-bottom:6px;font-size:16px;display:block}.toast{right:max(16px, env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--ground);z-index:20;max-width:calc(100vw - 32px);padding:10px 16px;font-weight:600;position:fixed}.toast[hidden]{display:none!important}@media (max-width:1000px){.grid-2,.editor{grid-template-columns:minmax(0,1fr)}.sticky-side{position:static}.savebar{z-index:6;padding:10px max(16px, env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));box-shadow:0 -6px 20px color-mix(in srgb, var(--ink) 12%, transparent);border-width:1.5px 0 0;position:fixed;bottom:0;left:0;right:0}main.has-savebar{padding-bottom:120px}.lanes{grid-template-columns:minmax(0,1fr)}.how{grid-template-columns:repeat(2,minmax(0,1fr))}.how div:nth-child(3){border-left:0;padding-left:0}}@media (max-width:640px){.tabs{flex-wrap:nowrap;width:100%;margin-left:0;overflow-x:auto}.tab{padding:12px 10px}.strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0;padding-left:0}.envs,.widgets,.form-grid,.how{grid-template-columns:minmax(0,1fr)}.how div+div{border-left:0;padding-left:0}.mod{grid-template-columns:auto minmax(0,1fr)}.mod select{grid-column:2}.add-row{grid-template-columns:minmax(0,1fr)}h1{font-size:24px}}.who{color:#cfcac7;align-items:center;gap:10px;font-size:13px;display:flex}.who form{margin:0}.who .btn{color:#f3f2f2;border-color:#57524f;padding:4px 10px;font-size:12.5px}.who .btn:hover{background:#34312f}@media (max-width:640px){.who span{display:none}}.signin{min-height:100vh;padding:24px max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px));place-items:center;display:grid}.signin-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--red);gap:14px;width:100%;max-width:420px;padding:28px;display:grid}.signin-card h1{font-size:26px}.signin-card p{margin:0}.brand.dark{color:var(--ink)}.brand.dark small{color:var(--ink-3)}.brand.dark .mark i{background:color-mix(in srgb, var(--ink) 12%, transparent)}.brand.dark .mark i.on{background:var(--ink)}.brand.dark .mark i.r{background:var(--red)}.btn.wide{justify-content:center;width:100%;padding:12px 16px}.signin-error{color:var(--bad);background:var(--bad-wash);border-left:3px solid var(--bad);padding:10px 12px}.signin-problems{background:var(--wait-wash);color:var(--wait);gap:4px;margin:0;padding:10px 12px 10px 28px;font-size:13px;display:grid}.brand .badge{color:#f3f2f2;flex:none}.brand.dark .badge{color:var(--ink)}.lang-switch{font-family:var(--mono);letter-spacing:.04em}.signin-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.lang-switch.dark{border:1.5px solid var(--line);cursor:pointer;color:var(--ink);background:0 0;padding:4px 10px;font-size:12.5px;font-weight:600}.lang-switch.dark:hover{border-color:var(--ink)}
