@font-face{font-family:Hanken Grotesk;src:url(/fonts/HankenGrotesk-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans-Variable.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}:root{--font-ui:"Hanken Grotesk","Inter","Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--font-display:"Instrument Sans","Hanken Grotesk","Inter","Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;--brand-25:#f3faf7;--brand-50:#e6f5ef;--brand-100:#d3eee4;--brand-200:#a9dccb;--brand-500:#2fa37f;--brand-600:#258a6b;--brand-700:#1c6e55;--brand-800:#134d3c;--brand-900:#0b2a20;--lime-300:#dcf86b;--lime-500:#c6f432;--bg:#fcfcfc;--card:#ffffff;--ink:#1c1c22;--ink-2:#55555f;--muted:#8b8b95;--line:#ececf0;--soft:#f3f3f6;--brand:var(--brand-700);--brand-soft:var(--brand-50);--ok:#1c6e55;--warn:#9a6a12;--bad:#b8332c;--dark-a:#1f7a5e;--dark-b:#0d3326;--radius:20px;--ease:cubic-bezier(.2,0,0,1);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{margin:0;background:var(--bg);color:var(--ink-2)}body{font-family:var(--font-ui);font-size:15px;font-weight:425;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}a{color:var(--brand-700);text-decoration:none;transition:color .2s,background-color .2s}a:hover{color:var(--brand-800);text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--brand-500);outline-offset:3px;border-radius:6px}strong{color:var(--ink);font-weight:550}code,pre{font-family:var(--font-mono);font-size:12.5px}code{border:1px solid var(--line);border-radius:6px;padding:.05em .4em;color:var(--ink)}code,pre{background:var(--soft)}pre{border:1px solid var(--line);border-radius:12px;padding:12px 14px;overflow:auto;max-height:420px;white-space:pre-wrap;word-break:break-word}pre code{background:none;border:0;padding:0}.shell{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,40px) 72px}.top{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;gap:20px;margin:0 calc(-1 * clamp(18px, 4vw, 40px)) 36px;padding:0 clamp(18px,4vw,40px);min-height:64px;background:rgba(252,252,252,.8);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}.brand,.top{align-items:center}.brand{display:inline-flex;gap:10px;white-space:nowrap;font-family:var(--font-display);font-weight:550;font-size:1.1875rem;letter-spacing:-.02em;color:var(--ink)}.brand:hover{color:var(--ink);text-decoration:none}.brand__sub{font-weight:400;color:var(--muted);margin-left:-2px}.nav{display:flex;flex-wrap:wrap;gap:2px;flex:1 1;padding:8px 0}.nav,.nav a{align-items:center}.nav a{display:inline-flex;gap:7px;padding:7px 13px;border-radius:999px;color:var(--ink);font-weight:450;font-size:14.5px;white-space:nowrap}.nav a:hover{background:rgba(28,28,34,.05);color:var(--ink);text-decoration:none}.nav a[aria-current=page]{color:var(--brand-700);background:rgba(47,163,127,.1);font-weight:500}.nav .sep{width:1px;height:18px;background:var(--line);margin:0 6px}.nav__out{margin:0 0 0 auto}.nav-toggle{display:none}button.signout{background:none;border:0;padding:7px 13px;border-radius:999px;color:var(--muted);cursor:pointer;font:inherit;font-size:14.5px;display:inline-flex;align-items:center;gap:7px;transition:background-color .2s,color .2s}button.signout:hover{background:rgba(28,28,34,.05);color:var(--ink)}@media (max-width:1100px){.top{gap:12px}.nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin:0 -10px 0 auto;padding:0;border:0;background:none;cursor:pointer;border-radius:50%}.nav-toggle span{display:block;width:20px;height:1.5px;border-radius:2px;background:var(--ink);transition:transform .3s var(--ease)}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.top.menu-open{background:rgba(252,252,252,.96)}.nav{display:none;position:absolute;left:0;right:0;top:100%;flex:none;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:2px;padding:8px clamp(18px,4vw,40px) 22px;background:rgba(252,252,252,.98);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -24px rgba(13,51,38,.18);max-height:calc(100vh - 64px);overflow-y:auto}.nav.is-open{display:flex;animation:panel-in .3s var(--ease) both}.nav a{padding:13px 8px;font-size:1.0625rem;border-radius:12px}.nav .sep{width:auto;height:1px;margin:6px 0}.nav__out{margin:8px 0 0}button.signout{width:100%;justify-content:flex-start;padding:13px 8px;font-size:1.0625rem;border-radius:12px}}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}h1,h2,h3,h4{margin:0;font-family:var(--font-display);color:var(--ink);font-weight:450;letter-spacing:-.025em;line-height:1.15}h1{font-size:clamp(2rem,1.5rem + 1.6vw,2.75rem);font-weight:425;margin-bottom:6px}h2{font-size:1.5rem;letter-spacing:-.02em;margin:40px 0 14px}h3{font-size:1.1875rem;letter-spacing:-.015em}.sub{color:var(--ink-2);font-size:1.0625rem;line-height:1.65;margin:0 0 28px;max-width:760px}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.card{background:var(--card);border:1px solid #e4e4ec;border-radius:var(--radius);box-shadow:0 1px 2px rgba(13,51,38,.04),0 12px 32px -20px rgba(13,51,38,.18);overflow:hidden}.card.pad{padding:24px 26px;overflow:visible}.grid{display:grid;grid-gap:16px;gap:16px}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.kpi .v{font-family:var(--font-display);font-size:2rem;font-weight:450;letter-spacing:-.03em;color:var(--ink);line-height:1.2}.kpi .l{color:var(--muted);font-size:13.5px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500;background:#fafafb;white-space:nowrap}tbody tr{transition:background-color .15s}tbody tr:hover{background:var(--brand-25)}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.dense td,table.dense th{padding:9px 14px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.chip{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);font-size:14px;transition:background-color .2s,border-color .2s}.chip:hover{background:var(--soft);text-decoration:none;color:var(--ink)}.chip.on{background:rgba(47,163,127,.1);border-color:transparent;color:var(--brand-700)}.chip.on,.pill{font-weight:500}.pill{display:inline-flex;align-items:center;padding:2px 11px;border-radius:999px;font-size:12.5px;background:var(--soft);color:var(--ink-2)}.pill.new{background:rgba(47,163,127,.1)}.pill.fixed,.pill.new{color:var(--brand-700)}.pill.fixed{background:var(--brand-50)}.pill.bad{background:#fbe9e8;color:var(--bad)}.pill.warn{background:#fdf2dc;color:var(--warn)}form.stack{display:grid;grid-gap:16px;gap:16px}label{display:grid;grid-gap:6px;gap:6px;font-weight:500;font-size:13.5px;color:var(--ink-2)}input,select,textarea{font:inherit;padding:10px 14px;border:1px solid #dcdce4;border-radius:12px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}input:hover,select:hover,textarea:hover{border-color:#c9c9d3}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 4px color-mix(in oklch,var(--brand-500) 22%,transparent)}textarea{min-height:96px;resize:vertical}.row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.row,.two{display:grid}.two{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}@media (max-width:900px){.two{grid-template-columns:1fr}}form.inline{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}form.inline input,form.inline select{padding:6px 12px;font-size:13.5px;border-radius:999px}form.search{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:18px}form.search label,label.check{font-weight:450}label.check{display:inline-flex;flex-direction:row;align-items:center;gap:6px}label.check input{padding:0;accent-color:var(--brand-600)}button{font-family:var(--font-display)}button.btn,button.primary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-size:14.5px;font-weight:500;letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s var(--ease),opacity .2s}button.primary{min-height:42px;padding:0 22px;border:0;justify-self:start;color:#fff;background:linear-gradient(180deg,var(--dark-a) 0,var(--dark-b) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 2px rgba(13,51,38,.18)}button.primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 18px rgba(13,51,38,.22)}button.btn{min-height:34px;padding:0 15px;border:0;color:var(--ink);background:#f2f2f4;box-shadow:inset 0 2px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.05)}button.btn:hover{background:#fff;box-shadow:0 2px 10px rgba(13,51,38,.12)}button.btn.danger{color:var(--bad)}button.btn:active,button.primary:active{transform:scale(.96);transition-duration:.15s}button:disabled{cursor:progress}button.is-pending{opacity:.9;pointer-events:none}button.is-pending .btn-label{opacity:.8}.spin{width:14px;height:14px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite;flex:none}.spin--sm{width:11px;height:11px;border-width:1.5px;color:var(--brand-600)}button.signout .spin{border-color:var(--muted);border-right-color:transparent}@keyframes spin{to{transform:rotate(1turn)}}form:has(.is-pending) :is(input,select,textarea,label.check){pointer-events:none;opacity:.6}.card:has(form .is-pending):after,.note-pending:after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,transparent,var(--brand-500),var(--lime-500),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:slide 1s linear infinite}.card{position:relative}@keyframes slide{0%{background-position:-50% 0}to{background-position:150% 0}}.nav-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:100;pointer-events:none;opacity:0;transition:opacity .25s;overflow:hidden}.nav-progress i{position:absolute;inset:0;background:linear-gradient(90deg,var(--brand-500),var(--lime-500));transform-origin:left;transform:scaleX(0)}.nav-progress.on{opacity:1}.nav-progress.on i{animation:progress 14s cubic-bezier(.1,.6,.2,1) forwards}@keyframes progress{0%{transform:scaleX(0)}10%{transform:scaleX(.35)}60%{transform:scaleX(.8)}to{transform:scaleX(.95)}}.page{transition:opacity .2s var(--ease) 0s}html[data-busy] .page{opacity:.55;pointer-events:none;transition-delay:.15s;cursor:progress}.note,.page>*{animation:rise .35s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sk{border-radius:14px;background:linear-gradient(90deg,#f0f0f3 25%,#f8f8fa 50%,#f0f0f3 75%);background-size:200% 100%;animation:shimmer 1.3s linear infinite}.sk-title{height:40px;width:min(320px,60%)}.sk-line{height:18px;width:min(520px,90%);margin-top:14px}.sk-card{height:96px}.sk-card,.sk-table{border-radius:var(--radius)}.sk-table{height:280px;margin-top:28px}.sk-bar{height:44px;width:min(560px,100%)}.sk-bar,.sk-chips{margin:24px 0 18px;border-radius:999px}.sk-chips{height:34px;width:min(420px,100%)}.sk-rows{padding:18px;display:grid;grid-gap:14px;gap:14px}.sk-row{height:22px;width:var(--w,90%)}.two-sk{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.sk-panel{height:200px;border-radius:var(--radius)}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.card:has(form .is-pending):after,.nav-progress.on i,.sk,.spin{animation-duration:2.4s}.nav.is-open,.note,.page>*{animation:none}button.btn,button.primary{transition-duration:.01ms}}.bar{height:6px;background:var(--soft);border-radius:99px;overflow:hidden;min-width:80px}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand-500),var(--lime-500));border-radius:inherit}.empty{padding:48px 24px;text-align:center;color:var(--muted)}.note{border-radius:14px;padding:13px 16px;margin-bottom:20px}.note,.note.ok{background:var(--brand-50);color:var(--brand-800)}.note.bad{background:#fbe9e8;color:#8f2620}.md h3{font-size:1.125rem;margin:18px 0 6px}.md h4{font-size:1rem;margin:14px 0 6px}.md p,.md ul{margin:0 0 10px;color:var(--ink-2)}.release{padding:24px 26px;border-bottom:1px solid var(--line)}.release:last-child{border-bottom:0}.release h3.title{margin:8px 0;font-size:1.25rem}.release ul.hl{margin:0 0 12px;padding-left:18px}.center{min-height:80vh;display:grid;place-items:center;text-align:center;padding:24px;position:relative}.center:before{content:"";position:absolute;inset:0 0 auto 0;height:560px;pointer-events:none;z-index:-1;background:radial-gradient(closest-side at 50% 0,rgba(198,244,50,.55),transparent 70%),radial-gradient(closest-side at 50% 30%,rgba(80,190,150,.35),transparent 75%);filter:blur(40px)}.actions,.meta{gap:8px}.meta{display:flex;flex-wrap:wrap;align-items:center;color:var(--muted);margin:0 0 24px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-head h2{margin-bottom:14px}details summary{cursor:pointer;color:var(--brand-700)}.diff{display:grid;grid-gap:8px;gap:8px;margin-top:6px;min-width:260px}.diff pre{max-height:220px;margin:2px 0 0}.list{margin:0;padding-left:18px}.list li{margin:2px 0}.code-big{font-family:var(--font-mono);font-size:18px;letter-spacing:.08em}.bad-text{color:var(--bad);font-weight:600}.small{font-size:13.5px;margin:10px 0 0}.kpi .v.small-v{font-size:1.125rem}.bar.meter{margin-top:10px;height:8px}.bar.meter.warn>span{background:var(--warn)}.bar.meter.bad>span{background:var(--bad)}.ann-preview{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;border:1px solid #e4e4ec;border-radius:14px;padding:16px;background:#fff}.ann-icon{width:36px;height:36px;border-radius:10px;background:#efe9ff;color:#6b4de6;display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto}.ann-text{flex:1 1 220px;min-width:0}.ann-title{font-weight:700}.ann-body{margin-top:4px;color:#5d6070;font-size:14px;line-height:1.45}.ann-buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ann-btn-prev{border:1px solid #d5d5e0;border-radius:10px;padding:6px 14px;font-size:14px;background:#fff}.ann-btn-prev.main{background:#6b4de6;border-color:#6b4de6;color:#fff}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:8px}.confirm{border-color:#6b4de6}