:root{--bg:#121110;--band:#151412;--panel:#191715;--gutter:#24211f;--hairline:#211f1d;--border:#2e2b28;--border-strong:#35312d;--border-hover:#6d6660;--accent:#f0b429;--accent-hover:#ffd471;--tint-holder:#f0b42912;--tint-column:#f0b4290d;--text:#f4f1ec;--text-bright:#d8d3cc;--text-body:#b8b2aa;--text-muted:#a39d94;--text-small:#8e8880;--text-dim:#736d64;--text-dimmest:#6d6660;--code-comment:#5c564f;--code-string:#8fb3a8;--code-number:#e5c07b;--code-keyword:#6d6660;--sans:"Instrument Sans", system-ui, sans-serif;--mono:"JetBrains Mono", monospace;--label:"Martian Mono", monospace}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-wrap:pretty;margin:0}a{color:var(--accent);text-decoration:none;transition:color .13s,border-color .13s,background .13s}a:hover{color:var(--accent-hover)}button{transition:color .13s,border-color .13s,background .13s}table{border-collapse:collapse}::selection{background:var(--accent);color:var(--bg)}.wrap{max-width:1180px;margin:0 auto;padding-inline:40px}.eyebrow{font-family:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px}.eyebrow-sm{font-family:var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:9.5px}.btn{border-radius:7px;padding:12px 22px;font-size:15px;display:inline-block}.btn-primary{background:var(--accent);color:var(--bg);font-weight:600}.btn-primary:hover{background:var(--accent-hover);color:var(--bg)}.btn-secondary{border:1px solid var(--border-strong);color:var(--text)}.btn-secondary:hover{border-color:var(--border-hover);color:var(--text)}.panel{border:1px solid var(--border);background:var(--panel);border-radius:10px;overflow:hidden}@media (width<=720px){.wrap{padding-inline:24px}}.site-header:where(.astro-khnakyww){z-index:20;backdrop-filter:blur(10px);border-bottom:1px solid var(--gutter);background:#121110db;position:sticky;top:0}.bar:where(.astro-khnakyww){justify-content:space-between;align-items:center;gap:32px;height:62px;display:flex}.brand:where(.astro-khnakyww){align-items:center;display:flex}.brand:where(.astro-khnakyww) img:where(.astro-khnakyww){width:auto;height:22px;display:block}nav:where(.astro-khnakyww){align-items:center;gap:28px;font-size:14.5px;display:flex}.nav-link:where(.astro-khnakyww){color:var(--text-muted)}.nav-link:where(.astro-khnakyww):hover{color:var(--text)}.gh:where(.astro-khnakyww){color:var(--text);border:1px solid var(--border-strong);border-radius:6px;padding:6px 14px;font-size:13.5px}.gh:where(.astro-khnakyww):hover{border-color:var(--accent);color:var(--accent)}@media (width<=700px){.nav-link:where(.astro-khnakyww){display:none}}.wrap:where(.astro-i3irphx7){padding-block:108px 96px}.cols:where(.astro-i3irphx7){grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:end;gap:72px;display:grid}.eb:where(.astro-i3irphx7){margin-bottom:26px}h1:where(.astro-i3irphx7){letter-spacing:-.035em;max-width:15ch;margin:0;font-size:clamp(42px,5.4vw,68px);font-weight:600;line-height:1.02}.lead:where(.astro-i3irphx7){color:var(--text-muted);max-width:34ch;margin:26px 0 0;font-size:21px;line-height:1.5}.actions:where(.astro-i3irphx7){flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.tbar:where(.astro-i3irphx7){border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.port:where(.astro-i3irphx7){font-family:var(--mono);color:#4f4a45;font-size:11px}.tbody:where(.astro-i3irphx7){font-family:var(--mono);color:var(--text);padding:20px 18px;font-size:13.5px;line-height:1.7;overflow-x:auto}.prompt:where(.astro-i3irphx7){color:var(--accent)}.stats:where(.astro-i3irphx7){background:var(--gutter);border:1px solid var(--gutter);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;display:grid;overflow:hidden}.stat:where(.astro-i3irphx7){background:var(--band);padding:16px 14px}.num:where(.astro-i3irphx7){letter-spacing:-.02em;font-size:20px;font-weight:600}.cap:where(.astro-i3irphx7){color:var(--text-small);margin-top:4px;font-size:12.5px;line-height:1.35}@media (width<=920px){.wrap:where(.astro-i3irphx7){padding-block:72px 64px}.cols:where(.astro-i3irphx7){grid-template-columns:minmax(0,1fr);gap:48px}}.lock-idea:where(.astro-645myycy){border-top:1px solid var(--gutter);background:var(--band)}.wrap:where(.astro-645myycy){padding-block:88px}.cols:where(.astro-645myycy){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;display:grid}.eb:where(.astro-645myycy){margin-bottom:22px}h2:where(.astro-645myycy){letter-spacing:-.03em;margin:0;font-size:clamp(30px,3.4vw,42px);font-weight:600;line-height:1.08}p:where(.astro-645myycy){color:var(--text-body);margin:24px 0 0;font-size:17.5px;line-height:1.62}p:where(.astro-645myycy)+p:where(.astro-645myycy){margin-top:18px}em:where(.astro-645myycy){color:var(--text);font-style:italic}.acquired:where(.astro-645myycy){font-family:var(--mono);color:var(--accent);font-size:15px}.more:where(.astro-645myycy){border-bottom:1px solid #4a443e;margin-top:26px;padding-bottom:2px;font-size:15px;display:inline-block}.handover:where(.astro-645myycy){width:100%;margin-top:28px;font-size:14px}.handover:where(.astro-645myycy) th:where(.astro-645myycy){text-align:left;font-family:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);padding:0 12px 10px 0;font-size:9.5px;font-weight:400}.handover:where(.astro-645myycy) th:where(.astro-645myycy):last-child{width:44%;padding:0 0 10px 12px}.handover:where(.astro-645myycy) td:where(.astro-645myycy){color:var(--text-body);border-bottom:1px solid var(--hairline);padding:11px 12px 11px 0}.handover:where(.astro-645myycy) td:where(.astro-645myycy):last-child{font-family:var(--mono);color:var(--text-small);padding:11px 0 11px 12px;font-size:13px}.handover:where(.astro-645myycy) td:where(.astro-645myycy).imm{color:var(--accent)}.handover:where(.astro-645myycy) tr:where(.astro-645myycy):last-child td:where(.astro-645myycy){border-bottom:0}@media (width<=920px){.wrap:where(.astro-645myycy){padding-block:64px}.cols:where(.astro-645myycy){grid-template-columns:minmax(0,1fr);gap:48px}}#lock-diagram .ld-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}#lock-diagram .ld-head-lock{align-items:baseline;gap:10px;min-width:0;display:flex}#lock-diagram .ld-lock-name{font-family:var(--mono);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}#lock-diagram .ld-head-token{flex:none;align-items:baseline;gap:8px;display:flex}#lock-diagram .ld-token{font-family:var(--mono);color:var(--accent);font-size:15px;font-weight:500}#lock-diagram .ld-sessions{padding:8px 0}#lock-diagram .ld-row{grid-template-columns:108px minmax(0,1fr) 78px 96px;align-items:center;gap:12px;padding:13px 18px;display:grid}#lock-diagram .ld-holder{background:var(--tint-holder);border-left:2px solid var(--accent)}#lock-diagram .ld-tag{font-family:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:9.5px}#lock-diagram .ld-name{font-family:var(--mono);color:var(--text);font-size:14px}#lock-diagram .ld-lease{font-family:var(--mono);color:var(--text-small);font-size:12.5px}#lock-diagram .ld-state{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);font-size:11.5px}#lock-diagram .ld-waiter{border-left:2px solid var(--border)}#lock-diagram .ld-pos{font-family:var(--mono);color:var(--text-dimmest);font-size:11.5px}#lock-diagram .ld-wname{font-family:var(--mono);color:var(--text-body);font-size:14px}#lock-diagram .ld-wlease{font-family:var(--mono);color:var(--text-dimmest);font-size:12.5px}#lock-diagram .ld-wstate{font-family:var(--mono);letter-spacing:.08em;color:var(--text-dimmest);font-size:11.5px}#lock-diagram .ld-free{font-family:var(--mono);color:var(--text-dimmest);border-left:2px solid var(--border);padding:22px 20px;font-size:13px}#lock-diagram .ld-controls{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}#lock-diagram .ld-controls button{font-family:var(--sans);cursor:pointer;border-radius:6px;padding:9px 14px;font-size:13px;font-weight:500}#lock-diagram .ld-btn-close{color:var(--bg);background:var(--accent);border:0}#lock-diagram .ld-btn-close:hover{background:var(--accent-hover)}#lock-diagram .ld-btn-hang{color:var(--text);border:1px solid var(--border-strong);background:0 0}#lock-diagram .ld-btn-hang:hover{border-color:var(--border-hover)}#lock-diagram .ld-btn-acquire{color:var(--text-muted);border:1px solid var(--border);background:0 0}#lock-diagram .ld-btn-acquire:hover{color:var(--text);border-color:var(--border-hover)}#lock-diagram .ld-note{border-top:1px solid var(--border);background:var(--band);font-family:var(--mono);color:var(--text-small);min-height:44px;padding:13px 18px;font-size:12.5px;line-height:1.5}.taking:where(.astro-4ul2g6fg){border-top:1px solid var(--gutter)}.wrap:where(.astro-4ul2g6fg){padding-block:88px}.head:where(.astro-4ul2g6fg){flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:40px;display:flex}.eb:where(.astro-4ul2g6fg){margin-bottom:22px}h2:where(.astro-4ul2g6fg){letter-spacing:-.03em;margin:0;font-size:clamp(30px,3.4vw,42px);font-weight:600;line-height:1.08}.install:where(.astro-4ul2g6fg){font-family:var(--mono);color:var(--text-small);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:13px}.cols:where(.astro-4ul2g6fg){grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);align-items:start;gap:40px;display:grid}.tabs:where(.astro-4ul2g6fg){border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:10px 16px;display:flex}.file:where(.astro-4ul2g6fg){font-family:var(--mono);color:var(--text);font-size:12px}pre:where(.astro-4ul2g6fg){font-family:var(--mono);color:var(--text-bright);font-variant-ligatures:none;margin:0;padding:22px 20px;font-size:13.5px;line-height:1.75;overflow-x:auto}pre:where(.astro-4ul2g6fg) .kw{color:var(--code-keyword)}pre:where(.astro-4ul2g6fg) .str{color:var(--code-string)}pre:where(.astro-4ul2g6fg) .num{color:var(--code-number)}pre:where(.astro-4ul2g6fg) .cm{color:var(--code-comment)}pre:where(.astro-4ul2g6fg) .fn{color:var(--accent)}.notes:where(.astro-4ul2g6fg){background:var(--gutter);border:1px solid var(--gutter);border-radius:8px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.note:where(.astro-4ul2g6fg){background:var(--band);padding:18px}.term:where(.astro-4ul2g6fg){font-family:var(--mono);color:var(--accent);margin-bottom:7px;font-size:12.5px}.text:where(.astro-4ul2g6fg){color:var(--text-muted);font-size:14.5px;line-height:1.5}@media (width<=920px){.wrap:where(.astro-4ul2g6fg){padding-block:64px}.cols:where(.astro-4ul2g6fg){grid-template-columns:minmax(0,1fr)}}.bugs:where(.astro-ozekxoot){border-top:1px solid var(--gutter);background:var(--band)}.wrap:where(.astro-ozekxoot){padding-block:76px}h2:where(.astro-ozekxoot){letter-spacing:-.025em;max-width:24ch;margin:0 0 44px;font-size:clamp(24px,2.6vw,32px);font-weight:600;line-height:1.15}.grid:where(.astro-ozekxoot){grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;display:grid}.item:where(.astro-ozekxoot){border-top:1px solid var(--accent);padding-top:18px}.title:where(.astro-ozekxoot){letter-spacing:-.015em;margin-bottom:8px;font-size:18px;font-weight:600}.body:where(.astro-ozekxoot){color:var(--text-small);font-size:15.5px;line-height:1.55}@media (width<=920px){.wrap:where(.astro-ozekxoot){padding-block:56px}.grid:where(.astro-ozekxoot){grid-template-columns:minmax(0,1fr);gap:32px}}.pillars:where(.astro-fty226ve){border-top:1px solid var(--gutter)}.wrap:where(.astro-fty226ve){padding-block:88px}.grid:where(.astro-fty226ve){background:var(--gutter);border:1px solid var(--gutter);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.cell:where(.astro-fty226ve){background:var(--band);padding:32px 28px 36px}.idx:where(.astro-fty226ve){margin-bottom:20px}h3:where(.astro-fty226ve){letter-spacing:-.02em;margin:0 0 12px;font-size:21px;font-weight:600;line-height:1.2}p:where(.astro-fty226ve){color:var(--text-muted);margin:0;font-size:15.5px;line-height:1.58}.cell:where(.astro-fty226ve)>a:where(.astro-fty226ve){margin-top:18px;font-size:14.5px;display:inline-block}.ops:where(.astro-fty226ve){border:1px solid var(--gutter);border-radius:10px;grid-template-columns:200px minmax(0,1fr);align-items:center;gap:32px;margin-top:40px;padding:26px 28px;display:grid}.ops-title:where(.astro-fty226ve){letter-spacing:-.015em;font-size:17px;font-weight:600}.ops-sub:where(.astro-fty226ve){color:var(--text-dim);margin-top:4px;font-size:14px}.chips:where(.astro-fty226ve){flex-wrap:wrap;gap:8px;display:flex}.chips:where(.astro-fty226ve) a:where(.astro-fty226ve){font-family:var(--mono);color:var(--text-body);border:1px solid var(--border);border-radius:5px;padding:7px 11px;font-size:12.5px}.chips:where(.astro-fty226ve) a:where(.astro-fty226ve):hover{border-color:var(--accent);color:var(--accent)}@media (width<=920px){.wrap:where(.astro-fty226ve){padding-block:64px}.grid:where(.astro-fty226ve){grid-template-columns:minmax(0,1fr)}.ops:where(.astro-fty226ve){grid-template-columns:minmax(0,1fr);gap:20px}}.compare:where(.astro-ofthzxzb){border-top:1px solid var(--gutter);background:var(--band)}.wrap:where(.astro-ofthzxzb){padding-block:88px}.eb:where(.astro-ofthzxzb){margin-bottom:22px}h2:where(.astro-ofthzxzb){letter-spacing:-.03em;max-width:20ch;margin:0;font-size:clamp(30px,3.4vw,42px);font-weight:600;line-height:1.08}.lead:where(.astro-ofthzxzb){color:var(--text-muted);max-width:58ch;margin:20px 0 44px;font-size:17.5px;line-height:1.6}.scroller:where(.astro-ofthzxzb){overflow-x:auto}table:where(.astro-ofthzxzb){width:100%;min-width:860px;font-size:14.5px}th:where(.astro-ofthzxzb){text-align:left;border-bottom:1px solid var(--border-strong);font-family:var(--mono);color:var(--text-muted);padding:0 16px 14px;font-size:13px;font-weight:400}th:where(.astro-ofthzxzb).label{width:22%;padding-left:0}th:where(.astro-ofthzxzb):last-child{padding-right:0}th:where(.astro-ofthzxzb).ml{color:var(--accent);border-bottom-color:var(--accent);background:var(--tint-column);font-weight:500}td:where(.astro-ofthzxzb){color:var(--text-small);border-bottom:1px solid var(--hairline);padding:15px 16px}td:where(.astro-ofthzxzb).label{color:var(--text-dim);padding-left:0}td:where(.astro-ofthzxzb):last-child{padding-right:0}td:where(.astro-ofthzxzb).ml{color:var(--text);background:var(--tint-column)}td:where(.astro-ofthzxzb).ml.loses{color:var(--text-body)}td:where(.astro-ofthzxzb).ml .x:where(.astro-ofthzxzb){color:var(--text-dimmest)}td:where(.astro-ofthzxzb).wins{color:var(--text-bright)}tr:where(.astro-ofthzxzb):last-child td:where(.astro-ofthzxzb){border-bottom:0}.cards:where(.astro-ofthzxzb){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px;display:grid}.cards:where(.astro-ofthzxzb) a:where(.astro-ofthzxzb){border:1px solid var(--border);color:var(--text);border-radius:8px;padding:20px}.cards:where(.astro-ofthzxzb) a:where(.astro-ofthzxzb):hover{border-color:var(--accent);color:var(--text)}.title:where(.astro-ofthzxzb){letter-spacing:-.015em;font-size:16.5px;font-weight:600}.desc:where(.astro-ofthzxzb){color:var(--text-small);margin-top:6px;font-size:14px;line-height:1.5}@media (width<=920px){.wrap:where(.astro-ofthzxzb){padding-block:64px}.cards:where(.astro-ofthzxzb){grid-template-columns:minmax(0,1fr)}}.dont-get:where(.astro-obdk56dv){border-top:1px solid var(--gutter)}.wrap:where(.astro-obdk56dv){padding-block:88px}.cols:where(.astro-obdk56dv){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;display:grid}.eb:where(.astro-obdk56dv){margin-bottom:22px}h2:where(.astro-obdk56dv){letter-spacing:-.03em;max-width:18ch;margin:0;font-size:clamp(30px,3.4vw,42px);font-weight:600;line-height:1.08}p:where(.astro-obdk56dv){color:var(--text-body);margin:24px 0 0;font-size:17.5px;line-height:1.62}.rows:where(.astro-obdk56dv){flex-direction:column;gap:22px;padding-top:6px;display:flex}.row:where(.astro-obdk56dv){border-bottom:1px solid var(--hairline);grid-template-columns:132px minmax(0,1fr);align-items:baseline;gap:20px;padding-bottom:20px;display:grid}.row:where(.astro-obdk56dv):last-child{border-bottom:0;padding-bottom:0}.label:where(.astro-obdk56dv){font-family:var(--mono);color:var(--accent);font-size:12.5px}.text:where(.astro-obdk56dv){color:var(--text-muted);font-size:15.5px;line-height:1.55}.code:where(.astro-obdk56dv){font-family:var(--mono);color:var(--text-bright);font-size:14px}@media (width<=920px){.wrap:where(.astro-obdk56dv){padding-block:64px}.cols:where(.astro-obdk56dv){grid-template-columns:minmax(0,1fr);gap:48px}}.get-started:where(.astro-ba4qppgp){border-top:1px solid var(--gutter);background:var(--band)}.wrap:where(.astro-ba4qppgp){padding-block:96px}.cols:where(.astro-ba4qppgp){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:72px;display:grid}h2:where(.astro-ba4qppgp){letter-spacing:-.03em;margin:0;font-size:clamp(30px,3.4vw,40px);font-weight:600;line-height:1.08}.actions:where(.astro-ba4qppgp){flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.terminal:where(.astro-ba4qppgp){border:1px solid var(--border);background:var(--panel);font-family:var(--mono);border-radius:10px;padding:22px 20px;font-size:13.5px;line-height:1.9;overflow-x:auto}.cm:where(.astro-ba4qppgp){color:var(--code-comment)}.gap:where(.astro-ba4qppgp){margin-top:12px}.prompt:where(.astro-ba4qppgp){color:var(--accent)}@media (width<=920px){.wrap:where(.astro-ba4qppgp){padding-block:64px}.cols:where(.astro-ba4qppgp){grid-template-columns:minmax(0,1fr);gap:48px}}footer:where(.astro-jnogxgk5){border-top:1px solid var(--gutter)}.grid:where(.astro-jnogxgk5){grid-template-columns:1.4fr repeat(4,1fr);gap:40px;padding-block:56px 32px;display:grid}img:where(.astro-jnogxgk5){width:auto;height:20px;display:block}.tagline:where(.astro-jnogxgk5){color:var(--text-small);max-width:28ch;margin-top:12px;font-size:14px;line-height:1.5}.col:where(.astro-jnogxgk5){flex-direction:column;gap:10px;display:flex}.head:where(.astro-jnogxgk5){letter-spacing:.14em;margin-bottom:4px}.col:where(.astro-jnogxgk5) a:where(.astro-jnogxgk5){color:var(--text-muted);font-size:14px}.col:where(.astro-jnogxgk5) a:where(.astro-jnogxgk5):hover{color:var(--accent)}@media (width<=920px){.grid:where(.astro-jnogxgk5){grid-template-columns:repeat(2,minmax(0,1fr))}.grid:where(.astro-jnogxgk5)>div:where(.astro-jnogxgk5):first-child{grid-column:1/-1}}
