@font-face{font-family:Bricolage;src:url(/fonts/bricolage-latin.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage;src:url(/fonts/bricolage-latin-ext.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap;unicode-range:u+0100-02ba,u+02dd-02ff,u+1e??,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Jakarta;src:url(/fonts/jakarta-latin.woff2) format("woff2");font-weight:300 700;font-display:swap;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Jakarta;src:url(/fonts/jakarta-latin-ext.woff2) format("woff2");font-weight:300 700;font-display:swap;unicode-range:u+0100-02ba,u+02dd-02ff,u+1e??,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}:root{--paper:#ffffff;--ink:oklch(0.13 0.012 268);--ink-dim:oklch(0.42 0.012 268);--tomato:oklch(0.65 0.215 32);--tomato-text:oklch(0.52 0.2 32);--line:oklch(0.91 0.008 268);--wash:oklch(0.965 0.006 268);--good:#15803d;--good-soft:rgba(21,128,61,0.08);--good-line:rgba(21,128,61,0.35);--warn:#b45309;--warn-soft:rgba(180,83,9,0.08);--warn-line:rgba(180,83,9,0.35);--bad:#b91c1c;--bad-soft:rgba(185,28,28,0.07);--bad-line:rgba(185,28,28,0.35);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sharp:0;--radius-chip:2px;--font-heading:"Bricolage",ui-sans-serif,system-ui,sans-serif;--font-body:"Jakarta",ui-sans-serif,system-ui,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--transition-fast:200ms ease;color-scheme:light}*,:after,:before{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);caret-color:var(--tomato-text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin:0 0 var(--space-sm);letter-spacing:-.02em}h1{font-size:1.625rem;font-weight:800;letter-spacing:-.025em}h2{font-size:1.1rem;margin-top:var(--space-lg)}h3{font-size:1rem;margin-top:var(--space-md)}p{margin:0 0 var(--space-sm)}a{color:var(--tomato-text);cursor:pointer;text-underline-offset:.2em}code{font-family:var(--font-mono);font-size:.85em}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--radius-chip)}::selection{background:color-mix(in srgb,var(--tomato) 22%,transparent)}:focus-visible{outline:2px solid var(--tomato);outline-offset:2px}.app{display:flex;min-height:100vh}.sidebar{width:14rem;flex-shrink:0;display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--line);padding:var(--space-md)}.sidebar .rail-brand{display:block;padding:var(--space-xs) var(--space-sm) 0;margin:0 0 var(--space-md);font-family:var(--font-heading);font-size:1.3rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--ink);text-decoration:none}.sidebar .rail-rule{display:block;width:1.8rem;height:.22rem;background:var(--tomato);margin-top:.5rem}.sidebar .nav-group{display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar .nav-label{font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);padding:0 var(--space-sm);margin:0 0 var(--space-xs)}.sidebar .nav-link{display:block;padding:.4rem .6rem;text-decoration:none;color:var(--ink);font-size:.95rem;border-left:2px solid transparent;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.sidebar .nav-link:hover{color:var(--ink);background:var(--wash)}.sidebar .nav-link.active{color:var(--tomato-text);border-left-color:var(--tomato);font-weight:600}.sidebar .sidebar-footer{margin-top:auto;padding-top:var(--space-md);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-sm)}.sidebar .who{font-size:.85rem;color:var(--ink-dim);word-break:break-all}.sidebar form{margin:0}.sidebar .version{font-size:.72rem;color:var(--ink-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.content{flex:1 1;min-width:0;max-width:75rem}.content,main,main.content{padding:var(--space-lg) var(--space-xl)}main.content>main{padding:0}.sidebar-backdrop,.topbar{display:none}@media (max-width:48rem){.app{flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:3.5rem;padding:0 var(--space-md);background:var(--paper);border-bottom:1px solid var(--line)}.topbar-title{font-family:var(--font-heading);font-size:.95rem;font-weight:700}.menu-button{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0}.sidebar{position:fixed;top:3.5rem;bottom:0;left:0;z-index:30;width:min(18rem,85vw);overflow-y:auto;transform:translateX(-100%);visibility:hidden;transition:transform var(--transition-fast),visibility 0s linear .2s}.sidebar.open{transform:none;visibility:visible;transition:transform var(--transition-fast)}.sidebar-backdrop{display:block;position:fixed;inset:3.5rem 0 0;z-index:25;background:color-mix(in srgb,var(--ink) 38%,transparent)}main,main.content{padding:var(--space-md)}}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sharp);padding:var(--space-md);overflow-x:auto}.card>:last-child{margin-bottom:0}.card h2:first-child,.card h3:first-child{margin-top:0}table{border-collapse:collapse;width:100%;font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{padding:var(--space-sm);text-align:left;border-bottom:1px solid var(--line)}thead th{font-family:var(--font-body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);border-bottom:1px solid var(--ink)}tbody tr{transition:background-color var(--transition-fast)}tbody tr:hover{background:var(--wash)}td a,td a:visited{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--tomato);text-decoration-color:var(--tomato);text-underline-offset:2px;cursor:pointer;transition:color var(--transition-fast)}td a:hover{color:var(--tomato-text)}dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--space-xs) var(--space-md);gap:var(--space-xs) var(--space-md);margin:0 0 var(--space-md)}dt{font-family:var(--font-body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);padding-top:3px}dd{margin:0;font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-chip);background:var(--paper);border:1px solid var(--line);color:var(--ink-dim);font-size:.78rem;font-weight:600;line-height:1.4;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tier-high{background:var(--good-soft);border-color:var(--good-line);color:var(--good)}.badge-current,.tier-top{background:var(--tomato-text);border-color:var(--tomato-text);color:#ffffff}.tier-mid{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.tier-low{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad)}.timeline{display:flex;gap:var(--space-sm);align-items:center;margin:var(--space-md) 0;flex-wrap:wrap}.timeline .step{padding:.25rem .7rem;border-radius:var(--radius-chip);border:1px solid var(--line);background:var(--paper);color:var(--ink-dim);font-size:.78rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline .step.done{background:var(--good-soft);border-color:var(--good-line);color:var(--good)}.timeline .step.rejected{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad)}.timeline .step.bounced{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.timeline .step.current{background:var(--tomato-text);border-color:var(--tomato-text);color:#ffffff}.timeline .arrow{color:var(--ink-dim)}.split-pane{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:start}@media (max-width:60rem){.split-pane{grid-template-columns:1fr}}form label{color:var(--ink-dim);font-size:.95rem}form input[type=datetime-local],form input[type=number],form input[type=text],form select,form textarea{width:100%;margin-top:var(--space-xs);padding:.5rem .75rem;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sharp);font-family:var(--font-body);font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}form textarea{min-height:12rem;resize:vertical}form input[type=datetime-local]:focus,form input[type=number]:focus,form input[type=text]:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--tomato);box-shadow:0 0 0 3px color-mix(in srgb,var(--tomato) 22%,transparent)}form input[type=file]{width:100%;margin-top:var(--space-xs);padding:.45rem .6rem;background:var(--paper);color:var(--ink-dim);border:1px dashed var(--line);border-radius:var(--radius-sharp);font-size:.85rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}form input[type=file]:hover{border-color:var(--tomato);color:var(--ink)}form input[type=file]::-webkit-file-upload-button{margin-right:var(--space-sm);padding:.3rem .75rem;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-sharp);font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer;-webkit-transition:background-color var(--transition-fast),color var(--transition-fast);transition:background-color var(--transition-fast),color var(--transition-fast)}form input[type=file]::file-selector-button{margin-right:var(--space-sm);padding:.3rem .75rem;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-sharp);font-family:var(--font-body);font-size:.78rem;font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}form input[type=file]::-webkit-file-upload-button:not(:disabled):hover{background:var(--ink);color:var(--paper)}form input[type=file]::file-selector-button:not(:disabled):hover{background:var(--ink);color:var(--paper)}form input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--tomato-text);cursor:pointer}button{padding:.45rem 1rem;background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-sharp);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}button:hover{background:var(--wash);border-color:var(--ink)}button:disabled{opacity:.5;cursor:not-allowed}.sign-in-buttons{display:flex;flex-direction:column;gap:var(--space-xs)}.button-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.button-primary:hover{background:oklch(.22 .014 268);border-color:oklch(.22 .014 268);color:var(--paper)}.button-destructive{background:transparent;border-color:var(--bad);color:var(--bad)}.button-destructive:hover{background:var(--bad);border-color:var(--bad);color:#ffffff}.link-button{padding:0;background:transparent;border:none;color:var(--tomato-text);font-family:var(--font-body);font-size:.9rem;font-weight:400;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer;transition:color var(--transition-fast)}.link-button:hover{background:transparent;border-color:transparent;color:var(--ink);-webkit-text-decoration-style:solid;text-decoration-style:solid}dialog.signal-modal{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sharp);padding:var(--space-md);max-width:48rem;max-height:80vh;overflow:auto}dialog.signal-modal::-webkit-backdrop{background:color-mix(in srgb,var(--ink) 42%,transparent)}dialog.signal-modal::backdrop{background:color-mix(in srgb,var(--ink) 42%,transparent)}.signal-modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.signal-modal-head h3{margin:0}.signal-modal pre{margin:0;white-space:pre-wrap;word-break:break-word}.doc-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.doc-file-list li{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;font-size:.85rem}.doc-file-list code{word-break:break-all}.doc-file-list .badge{flex-shrink:0;font-size:.7rem}details pre,pre{background:var(--wash);border:1px solid var(--line);border-radius:var(--radius-sharp);padding:var(--space-sm) var(--space-md);overflow-x:auto;font-family:var(--font-mono);font-size:.82rem;line-height:1.55;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:var(--space-xs) 0 var(--space-sm)}details summary{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--ink-dim);cursor:pointer;transition:color var(--transition-fast)}details summary:hover{color:var(--ink)}.windows-grid{display:grid;grid-template-columns:minmax(11rem,max-content) 1fr 1fr;grid-gap:var(--space-xs) var(--space-sm);gap:var(--space-xs) var(--space-sm);align-items:center;margin:0 0 var(--space-md)}.windows-grid .stage-label{font-size:.8rem;font-weight:600;color:var(--ink-dim)}.matrix td{vertical-align:top}.cell-form{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin:var(--space-xs) 0 0}.cell-form input[type=number],.cell-form select{width:auto;margin-top:0;padding:.25rem .45rem;font-size:.85rem}.cell-form input[type=number]{width:5.5rem}.cell-form button{padding:.25rem .7rem;font-size:.8rem}.table-scroll{overflow-x:auto}.error{color:var(--bad)}.muted-note{color:var(--ink-dim);font-size:.85rem}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-shell{min-height:100dvh;display:grid;justify-items:start;align-content:start;padding:clamp(4rem,10vh,7rem) clamp(1.25rem,5vw,5.5rem) clamp(5rem,12vh,8rem)}.login-head{display:grid;grid-template-columns:auto 1fr;grid-column-gap:clamp(1rem,2.5vw,1.6rem);column-gap:clamp(1rem,2.5vw,1.6rem);align-items:center}.login-mark{width:clamp(4rem,8vw,6rem);height:auto;aspect-ratio:1;transform:translateY(-1.25rem)}.login-ident{display:grid;justify-items:start}.login-shell h1{font-size:clamp(1.9rem,5vw,3rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin:0;text-wrap:balance}.login-rule{width:2.6rem;height:.28rem;background:var(--tomato);margin:.9rem 0 0}.login-lede{color:var(--ink-dim);font-size:clamp(1rem,1.4vw,1.15rem);max-width:52ch;padding:clamp(2rem,5vh,3rem) 0;margin:0}.login-card{width:100%;max-width:60ch;display:grid;grid-gap:.9rem;gap:.9rem;border-top:1px solid var(--line);padding-top:clamp(1.4rem,3.5vh,2rem);background:transparent;border-radius:0}.login-card p{margin:0;color:var(--ink-dim)}.login-shell .sign-in-buttons{display:grid;grid-gap:.7rem;gap:.7rem}.login-shell .button-destructive,.login-shell .button-primary{background:transparent;border:1px solid var(--ink);border-radius:0;color:var(--ink);padding:.75rem 1.25rem;width:100%;max-width:22rem}.login-shell .button-destructive:hover,.login-shell .button-primary:hover{background:transparent;border-color:var(--tomato-text);color:var(--tomato-text)}.login-shell .button-primary:disabled{opacity:.6;cursor:wait}.login-shell .error{color:var(--bad);margin:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:var(--space-sm);margin-bottom:var(--space-md)}.page-head h1{border-bottom:0;padding-bottom:0;margin:0}.page-head a.button-primary{text-decoration:none;padding:.5rem 1.2rem}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));grid-gap:var(--space-md);gap:var(--space-md)}.dash-card{display:grid;grid-gap:var(--space-xs);gap:var(--space-xs);padding:var(--space-lg) var(--space-md);border:1px solid var(--line);border-radius:var(--radius-sharp);background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color var(--transition-fast)}.dash-card:hover{border-color:var(--tomato)}.dash-value{font-family:var(--font-heading);font-size:2rem;font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.dash-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim)}.dash-card-action{justify-content:center;align-content:center;text-align:center;border-color:var(--ink)}.dash-card-action:hover{border-color:var(--tomato-text)}.dash-hint{font-size:.8rem;color:var(--ink-dim)}.dash-value.dash-stage{font-size:1.15rem;text-transform:capitalize}.sidebar .nav-group+.nav-group{margin-top:var(--space-lg)}.view-tabs{display:inline-flex;margin-bottom:var(--space-md);border:1px solid var(--ink);border-radius:var(--radius-sharp);overflow:hidden}.view-tabs a{padding:.4rem 1.1rem;font-size:.85rem;font-weight:600;color:var(--ink);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast)}.view-tabs a+a{border-left:1px solid var(--ink)}.view-tabs a:hover{background:var(--wash)}.view-tabs a.active{background:var(--ink);color:var(--paper)}a.button,a.button-destructive,a.button-primary{display:inline-block;padding:.45rem 1rem;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none}tfoot td{border-top:1px solid var(--ink);border-bottom:0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}h1.repo-title{display:flex;align-items:center;gap:var(--space-sm)}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:.3rem;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-chip);transition:border-color var(--transition-fast),color var(--transition-fast)}.icon-button:hover{border-color:var(--tomato);color:var(--tomato-text)}.content:has(>.page-wide){max-width:none}