:root{--bg:#ece6d6;--surface:#f6f2e9;--surface-2:#e9e3d3;--border:#d3c9b2;--border-strong:#c2b597;--text:#141517;--muted:#5e636a;--accent:#ffcf33;--accent-ink:#141517;--accent-strong:#7a5a00;--accent-soft:#f9e6a9;--primary:#141517;--primary-ink:#ece6d6;--success:#1b6e34;--success-ink:#fff;--success-soft:#d5f4d6;--danger:#a8165e;--danger-soft:#f4dcde;--focus:#a83e00;--shadow:0 1px 2px #1415170f, 0 4px 16px #1415170f;--radius:10px;--mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141517;--surface:#1e2023;--surface-2:#26292d;--border:#34373c;--border-strong:#4a4e54;--text:#ece6d6;--muted:#9a9fa6;--accent-strong:#ffcf33;--accent-soft:#423c26;--primary:#ece6d6;--primary-ink:#141517;--success:#40ff80;--success-ink:#141517;--success-soft:#233f30;--danger:#f06aa8;--danger-soft:#3e2434;--focus:#ff6a13;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .4em;line-height:1.25}h1{font-size:1.6rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0 0 1em}a{color:inherit;text-underline-offset:2px}code,pre{font-family:var(--mono);font-size:.88em}code{background:var(--surface-2);border-radius:5px;padding:.1em .35em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.fine{color:var(--muted);margin:1rem 0 0;font-size:.82rem}.button{border:1px solid var(--border-strong);background:var(--surface);min-height:38px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-weight:550;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--surface-2)}.button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.button-primary{border-color:var(--primary);background:var(--primary);color:var(--primary-ink)}.button-primary:hover:not(:disabled){background:var(--primary);opacity:.88}.button-accent{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.button-accent:hover:not(:disabled){background:var(--accent);filter:brightness(.95)}.button-wide{width:100%}.button-small{min-height:30px;padding:0 .7rem;font-size:.87rem}.button-link{min-height:0;color:var(--muted);background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.button-link:hover:not(:disabled){color:var(--text);background:0 0}.notice{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;margin:0 0 1rem;padding:.7rem .9rem;font-size:.92rem}.notice-error{background:var(--danger-soft);color:var(--danger);border-color:#0000}.notice-success{background:var(--success-soft);color:var(--success);border-color:#0000}.notice-accent{background:var(--accent-soft);border-color:#0000}.stack-update{gap:.5rem;display:grid}.stack-update p,.stack-update ul,.stack-update ol{margin:0}.stack-update-title{margin:0;font-size:1rem}.stack-changes,.stack-steps{padding-left:1.2rem}.stack-steps li+li{margin-top:.3rem}.stack-update .break{overflow-wrap:anywhere}.stack-cli pre{white-space:pre-wrap;overflow-wrap:anywhere}.auth{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 16px;display:flex}.auth-card{border:1px solid var(--border);background:var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:14px;padding:2rem}.auth-card h1{margin-top:1.25rem;font-size:1.4rem}.auth-footer{margin-top:1.25rem;font-size:.9rem}.loading{min-height:100vh}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.75rem;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.5rem;font-weight:650;text-decoration:none;display:inline-flex}.topbar-sep{color:var(--border-strong)}.topbar-nav{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.topbar-link{color:var(--muted);font-size:.92rem;text-decoration:none}.topbar-link:hover{color:var(--text)}.page{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:2rem 16px 4rem}.narrow{max-width:640px;margin:0 auto}.avatar{background:var(--surface-2);border-radius:50%;display:block}.avatar-button{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0}.menu{position:relative}.menu-popover{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:220px;box-shadow:var(--shadow);padding:.4rem;position:absolute;top:calc(100% + 8px);right:0}.menu-header{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:.3rem;padding:.5rem .6rem .6rem;font-size:.9rem;display:flex}.menu-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.5rem .6rem;font-size:.92rem;text-decoration:none;display:block}.menu-item:hover{background:var(--surface-2)}@media (width<=560px){.topbar-link{display:none}.auth-card{padding:1.5rem}.page{padding-top:1.5rem}}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .3rem;font-size:.8rem;font-weight:600}.page-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.page-head h1{margin-bottom:0}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.empty{padding:1.5rem}.badge{background:var(--surface-2);color:var(--muted);vertical-align:1px;border-radius:999px;margin-left:.5rem;padding:.05rem .45rem;font-size:.75rem;font-weight:550;display:inline-block}.badge-success{background:var(--success-soft);color:var(--success)}.badge-accent{background:var(--accent-soft);color:var(--text)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.avatar-square{border-radius:6px;flex:none}.avatar-blank{width:22px;height:22px;display:inline-block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--border)}.list-row{align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;display:flex}a.list-row:hover{background:var(--surface-2)}.list>li:first-child>a.list-row{border-radius:var(--radius) var(--radius) 0 0}.list>li:last-child>a.list-row{border-radius:0 0 var(--radius) var(--radius)}.list-title{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:550}.chevron{color:var(--muted);font-size:1.3rem;line-height:1}.spinner-row{align-items:center;gap:.6rem;padding:1rem 0;display:flex}.spinner{transform-origin:50% 85%;background:url(/brand/hatchrun-mark-micro.svg) 50%/contain no-repeat;width:20px;height:20px;animation:1.2s ease-in-out infinite rock}@keyframes rock{0%,to{transform:rotate(-24deg)}50%{transform:rotate(24deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.checklist-head{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:1rem;padding:.9rem 1.25rem;font-size:.88rem;display:flex}.progress{background:var(--surface-2);border-radius:999px;flex:1;height:6px;overflow:hidden}.progress>span{border-radius:inherit;background:var(--accent-strong);height:100%;display:block}.checklist ol{margin:0;padding:0;list-style:none}.step{gap:1rem;padding:1.1rem 1.25rem;display:flex;position:relative}.step+.step{border-top:1px solid var(--border)}.step-mark{border:1px solid var(--border-strong);width:26px;height:26px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:600;display:inline-flex}.step-done .step-mark{border-color:var(--success);background:var(--success);color:var(--success-ink)}.step-open .step-mark{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.step-content{flex:1;min-width:0}.step-title{margin:2px 0 0;font-size:1rem}.step-waiting .step-title{color:var(--muted)}.step-summary{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.step-summary a{color:var(--text)}.step-body{margin-top:.75rem}.step-body>:last-child{margin-bottom:0}.perm-list{color:var(--muted);margin:0 0 1.1rem;padding-left:1.1rem;font-size:.92rem}.perm-list strong{color:var(--text);font-weight:550}.inline-actions{flex-wrap:wrap;gap:.5rem;display:flex}.start-hero{text-align:center;max-width:460px;margin:2.5rem auto 0}.start-hero h1{font-size:1.5rem}.start-hero>.muted{margin-bottom:1.5rem}.start-marks{justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.start-mark{border:1px solid var(--border);background:var(--surface);width:48px;height:48px;box-shadow:var(--shadow);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.start-mark svg{width:26px;height:26px}.start-link{border-top:2px dashed var(--border);width:32px}.start-points{text-align:left;margin:0 0 1.25rem;padding:.25rem 1.1rem;font-size:.93rem;list-style:none}.start-points li{gap:.65rem;padding:.7rem 0;display:flex}.start-points li+li{border-top:1px solid var(--border)}.start-points strong{font-weight:600}.start-check{color:var(--success);flex:none;margin-top:.2rem}.start-add{color:var(--muted)}.start-add .list-title{font-weight:500}.start-plus{border:1px dashed var(--border);border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;display:inline-flex}.start .page-head .muted{margin:.25rem 0 0}@media (width<=560px){.start-hero{margin-top:1rem}.start .list-row{flex-wrap:wrap}}.switcher{max-width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.5rem;padding:.3rem .5rem;font-weight:550;display:inline-flex}.switcher:hover{background:var(--surface-2)}.switcher-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-popover-left{left:0;right:auto}.menu-item-org{align-items:center;gap:.55rem;display:flex}.menu-item-new{border-top:1px solid var(--border);color:var(--muted);border-radius:0 0 6px 6px;margin-top:.3rem}@media (width<=560px){.brand span{display:none}.step{gap:.75rem;padding:1rem}.page-head{flex-wrap:wrap}}label{margin-bottom:.35rem;font-size:.88rem;font-weight:550;display:block}.input{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:38px;color:var(--text);font:inherit;border-radius:8px;padding:0 .75rem}.input:focus-visible{outline:2px solid var(--focus);outline-offset:0;border-color:#0000}.input-mono{font-family:var(--mono);font-size:.88rem}.field-help{color:var(--muted);margin:.35rem 0 0;font-size:.84rem}.field-error{color:var(--danger);margin:.35rem 0 0;font-size:.86rem}.inline-form{margin:1rem 0 0}.inline-form-row{gap:.5rem;display:flex}.invite-toggle{margin:.9rem 0 0;font-size:.9rem}.plan{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:1rem}.plan-options{margin:0;padding:0;list-style:none}.plan-option{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.plan-option:first-child{padding-top:0}.plan-name{font-weight:650}.plan-description{margin:.2rem 0 0;font-size:.9rem}.plan-price{white-space:nowrap;font-weight:650}.plan-buy{justify-content:flex-end;align-items:center;gap:1rem;padding-top:1rem;display:flex}.plan-pick{margin:0;font-size:.9rem}@media (width<=560px){.plan-option,.plan-buy,.inline-form-row{flex-direction:column;align-items:stretch}}.substeps>p:first-child{margin-bottom:1.25rem}.substep{border-top:1px dashed var(--border);padding:1rem 0 .25rem}.substep+.substep{margin-top:1rem}.substep h3{align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.substep-number{background:var(--surface-2);width:20px;height:20px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.field{margin-bottom:1rem}.label{margin-bottom:.35rem;font-size:.88rem;font-weight:550;display:block}select.input{padding-right:2rem}.copy-field{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .35rem .35rem .75rem;display:flex}.copy-field code{overflow-wrap:anywhere;background:0 0;padding:0}.details{color:var(--muted);margin-top:1rem;font-size:.9rem}.details summary{cursor:pointer;color:var(--text);font-weight:550}.details ul{padding-left:1.1rem}.step-summary code{font-size:.82em}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin:-.75rem 0 1.5rem;display:flex}.tab{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .8rem;font-size:.92rem;font-weight:550;text-decoration:none}.tab:hover{color:var(--text)}.tab[aria-current=page]{border-bottom-color:var(--accent-strong);color:var(--text)}.small{font-size:.82rem}.mono{font-family:var(--mono)}.nowrap{white-space:nowrap}.panel{padding:1.25rem}.panel h2{font-size:1.05rem}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 1.25rem;display:flex}.panel-head h2{margin:0;font-size:1.05rem}.panel-foot{border-top:1px solid var(--border);padding:.75rem 1.25rem}.dashboard{flex-direction:column;gap:1.25rem;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.25rem;display:grid}.stats{grid-template-columns:1fr 1fr;align-content:start;gap:.75rem;display:grid}.stat{flex-direction:column;padding:.9rem 1rem;display:flex}.stat-label{color:var(--muted);font-size:.82rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:650}.stat-hint{color:var(--muted);font-size:.78rem}.stat-alarm .stat-value{color:var(--danger)}.snippet{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.75rem .75rem .75rem 1rem;display:flex}.snippet pre{margin:0;overflow-x:auto}.snippet code{background:0 0;padding:0}.options{gap:.4rem;margin:0;font-size:.88rem;display:grid}.options div{flex-wrap:wrap;gap:.25rem .75rem;display:flex}.options dt{min-width:11rem}.options dd{color:var(--muted);margin:0}.table-wrap{overflow-x:auto}table.jobs{border-collapse:collapse;width:100%;font-size:.9rem}.jobs th{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.03em;text-align:left;text-transform:uppercase;padding:.6rem 1.25rem;font-size:.78rem;font-weight:600}.jobs td{border-bottom:1px solid var(--border);vertical-align:top;padding:.7rem 1.25rem}.jobs tbody tr:last-child td{border-bottom:0}.job-link{font-weight:550;text-decoration:none}.job-link:hover{text-decoration:underline}.job-error{max-width:22rem;color:var(--danger);margin-top:.3rem;font-size:.8rem}.job-note{max-width:22rem;color:var(--muted);margin-top:.2rem;font-size:.8rem}.settings{flex-direction:column;gap:1.25rem;max-width:760px;display:flex}.field-narrow{max-width:14rem}fieldset.field{border:0;margin:0 0 1rem;padding:0}.check{align-items:center;gap:.5rem;margin:.35rem 0;font-weight:450;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.check-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:0 1rem;margin-top:.4rem;display:grid}@media (width<=760px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.tabs{margin-top:-.5rem}.panel,.panel-head,.jobs th,.jobs td{padding-left:1rem;padding-right:1rem}}.jobs td .job-link,.jobs td .mono,.jobs td code{white-space:nowrap}@media (width<=560px){.options div{flex-direction:column;gap:0}.options dt{min-width:0}}.runners-intro{max-width:46rem;margin-top:-.5rem}.runners-limits{margin-bottom:1rem}.runners-limits code{white-space:normal;overflow-wrap:anywhere}.numeric{text-align:right;font-variant-numeric:tabular-nums}.jobs th.numeric{text-align:right}.profile-name{flex-wrap:wrap;align-items:center;gap:.25rem 0;display:flex}.profile-name code{white-space:nowrap;font-size:.88rem}.row-actions{text-align:right;white-space:nowrap}.row-actions .button+.button{margin-left:.4rem}.runner-table tr.has-problem td{border-bottom:0}.runner-table .problem-row td{padding-top:0}.runner-table .problem-row .job-error{max-width:48rem;margin:0}.editor{grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:start;gap:1.25rem;display:grid}.editor-preview{position:sticky;top:1rem}.editor-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.editor-actions .danger{color:var(--danger);margin-left:auto}.field-pair{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.segmented{flex-wrap:wrap;gap:.4rem;display:inline-flex}.segment{border:1px solid var(--border-strong);cursor:pointer;border-radius:8px;align-items:center;gap:.45rem;margin:0;padding:.45rem .8rem;font-weight:500;display:flex}.segment:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.segment input{accent-color:var(--accent)}.families-help{margin:0 0 .6rem}.family-list{border:1px solid var(--border);border-radius:8px;margin:0 0 .6rem;padding:0;list-style:none}.family-item{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;padding:.5rem .75rem;display:flex}.family-item+.family-item{border-top:1px solid var(--border)}.category-list{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.2rem 1rem;display:grid}.family-name{font-weight:600}.family-buttons{gap:.3rem;margin-left:auto;display:flex}.add-family{max-width:30rem}.summary{gap:.8rem;margin:0;display:grid}.summary dt{color:var(--muted);font-size:.82rem}.summary dd{margin:0}@media (width<=860px){.editor{grid-template-columns:minmax(0,1fr)}.editor-preview{order:-1;position:static}}@media (width<=760px){.runner-table thead{display:none}.runner-table,.runner-table tbody,.runner-table tr,.runner-table td{display:block}.runner-table tr{border-bottom:1px solid var(--border);padding:.75rem 1rem}.runner-table tr.has-problem{border-bottom:0;padding-bottom:0}.runner-table tbody tr:last-child{border-bottom:0}.runner-table td,.runner-table td.numeric{text-align:right;border:0;justify-content:space-between;gap:1rem;padding:.2rem 0;display:flex}.runner-table td[data-label]:before{content:attr(data-label);color:var(--muted);text-align:left;font-size:.84rem}.runner-table td[data-label=Profile]{padding-bottom:.4rem}.runner-table td[data-label=Profile]:before{content:none}.runner-table .row-actions{justify-content:flex-start;padding-top:.5rem}.runner-table .problem-row td{text-align:left;display:block}.field-pair{grid-template-columns:minmax(0,1fr)}}
