:root{--bg:#eef1f6;--panel:#fff;--panel-2:#e6eaf1;--border:#d7dce6;--text:#5b6472;--text-h:#10161f;--brass:#b06d18;--brass-bg:color-mix(in srgb, var(--brass) 12%, transparent);--signal-ref:#1c9553;--signal-deployment:#3452c9;--signal-error:#c62851;--signal-pending:#b5690f;--display:"Space Grotesk", system-ui, "Segoe UI", sans-serif;--sans:"Space Grotesk", system-ui, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;font:17px/1.55 var(--sans);letter-spacing:.1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:15px}}@media (prefers-color-scheme:dark){:root{--bg:#0e131a;--panel:#151d27;--panel-2:#1b2430;--border:#29323f;--text:#8b96a6;--text-h:#eef2f8;--brass:#dd9f47;--brass-bg:color-mix(in srgb, var(--brass) 16%, transparent);--signal-ref:#3ddc84;--signal-deployment:#7592ff;--signal-error:#ff6f89;--signal-pending:#ffb454}}*{box-sizing:border-box}body{background-color:var(--bg);background-image:linear-gradient(color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px);background-size:34px 34px;margin:0}::selection{background:var(--brass);color:#0e131a}#root{background:var(--panel);border-inline:1px solid var(--border);flex-direction:column;width:100%;max-width:1600px;min-height:100svh;margin:0 auto;display:flex}h1,h2,h3{font-family:var(--display);color:var(--text-h);margin:0;font-weight:600}button,input,select{font-family:inherit}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.deployment{text-align:left;flex:1;padding:32px 40px 56px}.deployment-back{font-family:var(--mono);color:var(--text);margin-bottom:24px;font-size:13px;text-decoration:none;display:inline-block}.deployment-back:hover{color:var(--text-h)}.deployment-status{text-align:left;color:var(--text);padding:20px 0 40px;font-size:15px}.deployment-status-error{color:var(--signal-error)}.deployment-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.deployment-title{color:var(--text-h);align-items:center;gap:10px;margin:0;font-size:22px;display:flex}.deployment-actions-row{align-items:center;gap:16px;margin-bottom:24px;display:flex}.deployment-retry{align-items:center;gap:10px;margin-left:auto;display:flex}.deployment-retry-button{box-sizing:border-box;height:34px;font:inherit;font-family:var(--mono);letter-spacing:.04em;color:var(--brass);background:var(--brass-bg);border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);cursor:pointer;border-radius:6px;align-items:center;padding:0 14px;font-size:12.5px;transition:background-color .15s,border-color .15s;display:inline-flex}.deployment-retry-button:hover:not(:disabled){background:color-mix(in srgb, var(--brass) 22%, transparent);border-color:var(--brass)}.deployment-retry-button:disabled{opacity:.6;cursor:default}.deployment-retry-error{color:var(--signal-error);margin:0;font-size:13px}.deployment-retry-nav{font-family:var(--mono);align-items:center;gap:8px;font-size:12.5px;display:flex}.deployment-retry-nav-button{box-sizing:border-box;width:34px;height:34px;color:var(--brass);border:1px solid color-mix(in srgb, var(--brass) 35%, transparent);background:var(--brass-bg);border-radius:6px;justify-content:center;align-items:center;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.deployment-retry-nav-button:hover:not(.deployment-retry-nav-button-disabled){background:color-mix(in srgb, var(--brass) 22%, transparent);border-color:var(--brass)}.deployment-retry-nav-button-disabled{color:var(--text);opacity:.4;border-color:var(--border);background:0 0}.deployment-retry-nav-label{color:var(--text);letter-spacing:.04em;padding:0 2px}.deployment-badge-lamp{background:var(--status-color);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--status-color) 20%, transparent);border-radius:50%;flex-shrink:0}.deployment-badge-pending{--status-color:var(--signal-pending);opacity:.55;animation:2.4s ease-in-out infinite pulse}.deployment-badge-in-progress{--status-color:var(--signal-pending);animation:2.4s ease-in-out infinite pulse}.deployment-badge-successful{--status-color:var(--signal-ref)}.deployment-badge-failure{--status-color:var(--signal-error)}.deployment-meta{border:1px solid var(--border);background:var(--panel);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 32px;margin:0 0 32px;padding:20px 24px;display:grid}.deployment-meta-row{flex-direction:column;gap:4px;display:flex}.deployment-meta-row dt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-size:11px}.deployment-meta-row dd{color:var(--text-h);margin:0;font-size:14px}.deployment-mono{font-family:var(--mono);font-size:13px}.deployment-log{margin-bottom:24px}.deployment-log-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 0 8px;font-size:12px}.deployment-log-body{border:1px solid var(--border);background:var(--panel-2);color:var(--text-h);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:480px;margin:0;padding:16px;font-size:13px;line-height:1.5;overflow-y:auto}.deployment-log-empty{color:var(--text);margin:0;font-size:13.5px}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.pagination-button{border:1px solid var(--border);color:var(--text-h);font-family:var(--mono);cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-size:12.5px;transition:background-color .15s,border-color .15s,color .15s,opacity .15s;display:inline-block}.pagination-button:hover:not(:disabled){border-color:var(--brass);color:var(--brass)}.pagination-button:disabled{cursor:default;opacity:.4}.pagination-status{font-family:var(--mono);letter-spacing:.06em;color:var(--text);font-size:12px}.deployments{text-align:left;flex:1;padding:32px 40px 56px}.deployments-status{text-align:left;color:var(--text);padding:20px 0 40px;font-size:15px}.deployments-status-error{color:var(--signal-error)}.deployments-meta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 0 12px;font-size:12px}.deployments-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.deployments-table{border-collapse:collapse;width:100%;min-width:720px;font-size:15px}.deployments-table th{text-align:left;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);background:var(--panel-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:500}.deployments-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:16px}.deployments-table tbody tr:last-child td{border-bottom:none}.deployments-row{cursor:pointer;transition:background-color .15s}.deployments-row:hover,.deployments-row:focus-visible{background:var(--panel-2)}.deployments-row:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.deployments-started{font-family:var(--mono);color:var(--text-h);white-space:nowrap;font-size:13px}.deployments-project{color:var(--text-h);white-space:nowrap;font-weight:600}.deployments-repo{font-family:var(--mono);white-space:nowrap;font-size:13.5px}.deployments-commit{font-family:var(--mono);color:var(--text);white-space:nowrap;font-size:13.5px}.deployments-badge{font-family:var(--mono);letter-spacing:.04em;color:var(--status-color);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.deployments-badge-lamp{background:var(--status-color);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--status-color) 20%, transparent);border-radius:50%;flex-shrink:0}.deployments-badge-pending,.deployments-badge-in-progress{--status-color:var(--signal-pending)}.deployments-badge-pending .deployments-badge-lamp,.deployments-badge-in-progress .deployments-badge-lamp{animation:2.4s ease-in-out infinite pulse}.deployments-badge-successful{--status-color:var(--signal-ref)}.deployments-badge-failure{--status-color:var(--signal-error)}.event{text-align:left;flex:1;padding:32px 40px 56px}.event-back{font-family:var(--mono);color:var(--text);margin-bottom:24px;font-size:13px;text-decoration:none;display:inline-block}.event-back:hover{color:var(--text-h)}.event-status{text-align:left;color:var(--text);padding:20px 0 40px;font-size:15px}.event-status-error{color:var(--signal-error)}.event-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.event-title{color:var(--text-h);font-size:22px;font-family:var(--mono);margin:0}.event-meta{border:1px solid var(--border);background:var(--panel);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 32px;margin:0 0 32px;padding:20px 24px;display:grid}.event-meta-row{flex-direction:column;gap:4px;display:flex}.event-meta-row dt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-size:11px}.event-meta-row dd{color:var(--text-h);margin:0;font-size:14px}.event-mono{font-family:var(--mono);font-size:13px}.event-deployments{margin-bottom:24px}.event-deployments-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 0 8px;font-size:12px}.event-deployments-list{flex-wrap:wrap;gap:10px;display:flex}.event-no-deploy{color:var(--text);margin:0;font-size:13.5px}.event-deploy-badge{font-family:var(--mono);letter-spacing:.02em;color:var(--text-h);border:1px solid var(--border);background:var(--panel);border-radius:6px;align-items:center;gap:7px;padding:6px 10px;font-size:12px;text-decoration:none;display:inline-flex}.event-payload{margin-bottom:24px}.event-payload-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 0 8px;font-size:12px}.event-payload-body{border:1px solid var(--border);background:var(--panel-2);color:var(--text-h);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:640px;margin:0;padding:16px;font-size:13px;line-height:1.5;overflow-y:auto}.events{text-align:left;flex:1;padding:32px 40px 56px}.events-status{text-align:left;color:var(--text);padding:20px 0 40px;font-size:15px}.events-status-error{color:var(--signal-error)}.events-filters{margin:0 0 20px}.events-filter-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:inline-flex}.events-filter-toggle input{accent-color:var(--brass);cursor:pointer;width:15px;height:15px}.events-meta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 0 12px;font-size:12px}.events-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.events-table{border-collapse:collapse;width:100%;min-width:720px;font-size:15px}.events-table th{text-align:left;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);background:var(--panel-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:500}.events-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:16px}.events-table tbody tr:last-child td{border-bottom:none}.events-row{cursor:pointer;transition:background-color .15s}.events-row:hover,.events-row:focus-visible{background:var(--panel-2)}.events-row:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.events-received{font-family:var(--mono);color:var(--text-h);white-space:nowrap;font-size:13px}.events-type{font-family:var(--mono);color:var(--brass);white-space:nowrap;font-size:13.5px;font-weight:600}.events-repo{font-family:var(--mono);white-space:nowrap;font-size:13.5px}.events-action{color:var(--text)}.events-no-deploy{color:var(--text);font-size:13.5px}.events-deployments{flex-direction:column;gap:6px;display:flex}.event-deploy-badge{font-family:var(--mono);letter-spacing:.02em;color:var(--text-h);align-items:center;gap:7px;font-size:12px;text-decoration:none;display:inline-flex}.event-deploy-badge:hover{text-decoration:underline}.event-deploy-badge-lamp{background:var(--badge-color);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--badge-color) 20%, transparent);border-radius:50%;flex-shrink:0}.event-deploy-badge-pending,.event-deploy-badge-in-progress{--badge-color:var(--signal-pending)}.event-deploy-badge-pending .event-deploy-badge-lamp,.event-deploy-badge-in-progress .event-deploy-badge-lamp{animation:2.4s ease-in-out infinite pulse}.event-deploy-badge-successful{--badge-color:var(--signal-ref)}.event-deploy-badge-failure{--badge-color:var(--signal-error)}.events-deployments-more{font-family:var(--mono);color:var(--text);font-size:12px}.add-project{text-align:left;margin-bottom:8px}.add-project-toggle{font:inherit;font-family:var(--mono);letter-spacing:.04em;color:var(--brass);background:var(--brass-bg);border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);cursor:pointer;border-radius:6px;padding:10px 16px;font-size:13px;transition:background-color .15s,border-color .15s}.add-project-toggle:hover{background:color-mix(in srgb, var(--brass) 22%, transparent);border-color:var(--brass)}.add-project-form{border:1px solid var(--border);background:var(--panel-2);text-align:left;border-radius:8px;margin-bottom:28px;padding:20px}.add-project-heading{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:0 0 16px;font-size:11px}.add-project-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.add-project-span2{grid-column:span 2}.add-project-form label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);flex-direction:column;gap:6px;font-size:11px;display:flex}.add-project-form input,.add-project-form select{font-family:var(--sans);text-transform:none;letter-spacing:normal;color:var(--text-h);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:9px 11px;font-size:15px}.add-project-form input:focus,.add-project-form select:focus{border-color:var(--brass);box-shadow:0 0 0 3px color-mix(in srgb, var(--brass) 18%, transparent);outline:none}.add-project-error{color:var(--signal-error);margin:14px 0 0;font-size:14px}.add-project-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.add-project-actions button{font:inherit;cursor:pointer;border-radius:6px;padding:9px 18px;font-size:14px}.add-project-cancel{color:var(--text);border:1px solid var(--border);background:0 0}.add-project-cancel:hover{border-color:var(--text)}.add-project-submit{background:var(--brass);color:#0e131a;border:1px solid var(--brass);font-weight:600}.add-project-submit:hover:not(:disabled){filter:brightness(1.08)}.add-project-submit:disabled{opacity:.6;cursor:default}.project{text-align:left;flex:1;padding:32px 40px 56px}.project-back{font-family:var(--mono);color:var(--text);margin-bottom:24px;font-size:13px;text-decoration:none;display:inline-block}.project-back:hover{color:var(--text-h)}.project-status{text-align:left;color:var(--text);padding:20px 0 40px;font-size:15px}.project-status-error{color:var(--signal-error)}.project-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.project-title{color:var(--text-h);margin:0;font-size:22px}.project-edit-toggle{font:inherit;font-family:var(--mono);letter-spacing:.04em;color:var(--brass);background:var(--brass-bg);border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);cursor:pointer;border-radius:6px;padding:8px 14px;font-size:12.5px;transition:background-color .15s,border-color .15s}.project-edit-toggle:hover{background:color-mix(in srgb, var(--brass) 22%, transparent);border-color:var(--brass)}.project-meta{border:1px solid var(--border);background:var(--panel);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 32px;margin:0 0 32px;padding:20px 24px;display:grid}.project-meta-row{flex-direction:column;gap:4px;display:flex}.project-meta-row dt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-size:11px}.project-meta-row dd{color:var(--text-h);margin:0;font-size:14px}.project-mono{font-family:var(--mono);font-size:13px}.project-deployments{margin-top:8px}.project-deployments-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 0 12px;font-size:12px}.project-deployments-status{color:var(--text);margin:0;font-size:14px}.project-deployments-status-error{color:var(--signal-error)}.project-deployments-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.project-deployments-table{border-collapse:collapse;width:100%;min-width:480px;font-size:15px}.project-deployments-table th{text-align:left;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);background:var(--panel-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:500}.project-deployments-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:14px 16px}.project-deployments-table tbody tr:last-child td{border-bottom:none}.project-deployments-row{cursor:pointer;transition:background-color .15s}.project-deployments-row:hover,.project-deployments-row:focus-visible{background:var(--panel-2)}.project-deployments-row:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.project-deployments-started{font-family:var(--mono);color:var(--text-h);white-space:nowrap;font-size:13px}.project-deployments-commit{font-family:var(--mono);color:var(--text);white-space:nowrap;font-size:13.5px}.project-deployments-badge{font-family:var(--mono);letter-spacing:.04em;color:var(--status-color);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.project-deployments-badge-lamp{background:var(--status-color);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--status-color) 20%, transparent);border-radius:50%;flex-shrink:0}.project-deployments-badge-pending,.project-deployments-badge-in-progress{--status-color:var(--signal-pending)}.project-deployments-badge-pending .project-deployments-badge-lamp,.project-deployments-badge-in-progress .project-deployments-badge-lamp{animation:2.4s ease-in-out infinite pulse}.project-deployments-badge-successful{--status-color:var(--signal-ref)}.project-deployments-badge-failure{--status-color:var(--signal-error)}.projects{text-align:left;flex:1;padding:32px 40px 56px}.projects-status{text-align:left;color:var(--text);padding:20px 0 40px;font-size:15px}.projects-status-error{color:var(--signal-error)}.projects-meta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:28px 0 12px;font-size:12px}.projects-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.projects-table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}.projects-table th{text-align:left;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);background:var(--panel-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:500}.projects-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:16px}.projects-table tbody tr:last-child td{border-bottom:none}.projects-row{cursor:pointer;transition:background-color .15s}.projects-row:hover,.projects-row:focus-visible{background:var(--panel-2)}.projects-row:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.projects-name{color:var(--text-h);white-space:nowrap;font-weight:600}.projects-repo{font-family:var(--mono);white-space:nowrap;font-size:13.5px}.projects-description{color:var(--text)}.signal{align-items:flex-start;gap:8px;display:inline-flex}.signal-lamp{background:var(--signal-color);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--signal-color) 20%, transparent);border-radius:50%;flex-shrink:0;margin-top:5px}.signal-ref{--signal-color:var(--signal-ref)}.signal-deployment{--signal-color:var(--signal-deployment)}.signal-text{flex-direction:column;gap:2px;display:flex}.signal-kind{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--signal-color);font-size:11px;font-weight:600}.signal-value{font-family:var(--mono);color:var(--text-h);font-size:13px}.deploy-status-none{color:var(--text)}.deploy-status-wrap{flex-direction:column;gap:4px;display:flex}.deploy-status{font-family:var(--mono);letter-spacing:.04em;color:var(--status-color);align-items:center;gap:7px;font-size:12px;text-decoration:none;display:inline-flex}a.deploy-status:hover{text-decoration:underline}.deploy-status-time{font-family:var(--mono);color:var(--text);opacity:.65;font-size:11px}.deploy-status-lamp{background:var(--status-color);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--status-color) 20%, transparent);border-radius:50%;flex-shrink:0}.deploy-status-pending,.deploy-status-in-progress{--status-color:var(--signal-pending)}.deploy-status-pending .deploy-status-lamp,.deploy-status-in-progress .deploy-status-lamp{animation:2.4s ease-in-out infinite pulse}.deploy-status-successful{--status-color:var(--signal-ref)}.deploy-status-failure{--status-color:var(--signal-error)}.app{flex-direction:column;flex:1;display:flex}.app-header{border-bottom:1px solid var(--border);text-align:left;padding:56px 40px 32px}.app-header-eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);align-items:center;gap:9px;margin:0 0 18px;font-size:12px;display:inline-flex}.status-dot{background:var(--signal-ref);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--signal-ref) 25%, transparent);border-radius:50%;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.app-header h1{letter-spacing:-.02em;margin-bottom:10px;font-size:44px}.app-header-sub{color:var(--text);margin:0 0 24px;font-size:16px}.app-nav{gap:4px;display:flex}.app-nav-tab{border:1px solid var(--border);color:var(--text);font-family:var(--sans);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-block}.app-nav-tab:hover{border-color:var(--brass);color:var(--text-h)}.app-nav-tab-active,.app-nav-tab-active:hover{background:var(--brass-bg);border-color:var(--brass);color:var(--brass)}@media (width<=1024px){.app-header{padding:40px 20px 24px}.app-header h1{font-size:32px}}
