.window-bar[data-astro-cid-f5hhxop7]{color:var(--night-muted);border-bottom-color:var(--night-line)}.window[data-astro-cid-f5hhxop7] .code[data-astro-cid-f5hhxop7]{background:0 0;border:0;border-radius:0}.term[data-astro-cid-f5hhxop7] .code[data-astro-cid-f5hhxop7]{font-size:var(--text-xs);white-space:pre-wrap;line-height:1.75}.choice[data-astro-cid-f5hhxop7]{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.side[data-astro-cid-f5hhxop7]{gap:var(--space-4);align-content:start;display:grid}.side--self[data-astro-cid-f5hhxop7]{padding:var(--space-6);border-radius:var(--radius-lg);border:1.5px dashed var(--line-strong)}.side-art[data-astro-cid-f5hhxop7]{align-items:center;gap:var(--space-2);padding:var(--space-4);margin-bottom:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--paper-2);font-size:var(--text-xs);display:flex}.box[data-astro-cid-f5hhxop7]{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:8px;padding:.4rem .7rem}.box--gate[data-astro-cid-f5hhxop7],.box--you[data-astro-cid-f5hhxop7]{border-color:var(--brand);color:var(--brand);box-shadow:0 0 24px -8px var(--glow)}.wire[data-astro-cid-f5hhxop7]{border-top:2px dashed var(--line-strong);flex:1rem;min-width:1rem}.ticks[data-astro-cid-f5hhxop7]{gap:var(--space-2);color:var(--ink-2);margin:0;padding:0;list-style:none;display:grid}.ticks[data-astro-cid-f5hhxop7] li[data-astro-cid-f5hhxop7]{gap:var(--space-3);display:flex}.ticks[data-astro-cid-f5hhxop7] li[data-astro-cid-f5hhxop7]:before{content:"✓";color:var(--brand);font-weight:700}.side-link[data-astro-cid-f5hhxop7]{color:var(--muted);font-size:var(--text-sm);border-top:1px solid var(--line);padding-top:var(--space-4)}.caution[data-astro-cid-f5hhxop7]{margin-top:var(--space-2)}.spec[data-astro-cid-f5hhxop7]{gap:var(--space-5);display:grid}.spec-head[data-astro-cid-f5hhxop7]{align-items:center;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--line);display:flex}.spec-head[data-astro-cid-f5hhxop7] svg[data-astro-cid-f5hhxop7]{flex:none}.rack[data-astro-cid-f5hhxop7]{fill:var(--paper-2);stroke:var(--line-strong)}.led[data-astro-cid-f5hhxop7]{fill:var(--live)}.led--off[data-astro-cid-f5hhxop7]{fill:var(--line-strong)}.vent[data-astro-cid-f5hhxop7]{stroke:var(--line-strong);stroke-width:1.5px;stroke-linecap:round}.spec-title[data-astro-cid-f5hhxop7]{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);letter-spacing:-.015em}.spec-sub[data-astro-cid-f5hhxop7]{color:var(--muted);font-size:var(--text-sm)}.reqs[data-astro-cid-f5hhxop7]{margin:0}.reqs[data-astro-cid-f5hhxop7]>div[data-astro-cid-f5hhxop7]{gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px dashed var(--line);grid-template-columns:10rem minmax(0,1fr);display:grid}.reqs[data-astro-cid-f5hhxop7]>div[data-astro-cid-f5hhxop7]:last-child{border-bottom:0}.reqs[data-astro-cid-f5hhxop7] dt[data-astro-cid-f5hhxop7]{color:var(--muted);font-size:var(--text-sm);padding-top:.15em}.reqs[data-astro-cid-f5hhxop7] dd[data-astro-cid-f5hhxop7]{margin:0;font-weight:500}.ports[data-astro-cid-f5hhxop7]{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.ports[data-astro-cid-f5hhxop7] li[data-astro-cid-f5hhxop7]{padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);background:var(--paper-2);border:1px solid var(--line);font-size:var(--text-xs);color:var(--muted);justify-items:center;gap:2px;display:grid}.ports[data-astro-cid-f5hhxop7] strong[data-astro-cid-f5hhxop7]{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);font-variant-numeric:tabular-nums}.host[data-astro-cid-f5hhxop7]{margin:0 0 var(--space-7)}.host-frame[data-astro-cid-f5hhxop7]{padding:var(--space-6) var(--space-5) var(--space-5);border-radius:var(--radius-lg);border:2px dashed color-mix(in srgb, var(--warn) 55%, transparent);background:color-mix(in srgb, var(--surface) 60%, transparent);position:relative}.host-label[data-astro-cid-f5hhxop7],.ufw[data-astro-cid-f5hhxop7]{left:var(--space-5);padding:0 var(--space-2);background:var(--paper);font-size:var(--text-xs);position:absolute}.host-label[data-astro-cid-f5hhxop7]{color:var(--ink);font-weight:600;top:-.75rem}.ufw[data-astro-cid-f5hhxop7]{bottom:-.75rem;right:var(--space-5);color:var(--warn);left:auto}.host-grid[data-astro-cid-f5hhxop7]{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.layer[data-astro-cid-f5hhxop7]{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);box-shadow:inset 0 1px 0 var(--panel-top);align-content:start;display:grid}.l-swarm[data-astro-cid-f5hhxop7]{border-color:var(--slice-2);grid-area:span 2/span 2}.l-systemd[data-astro-cid-f5hhxop7]{border-color:var(--brand)}.l-tools[data-astro-cid-f5hhxop7]{grid-column:span 2}.layer-name[data-astro-cid-f5hhxop7]{font-size:var(--text-sm);font-weight:600}.units[data-astro-cid-f5hhxop7]{gap:var(--space-2);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.units[data-astro-cid-f5hhxop7] span[data-astro-cid-f5hhxop7]{background:var(--paper-2);border:1px solid var(--line);color:var(--ink-2);border-radius:6px;padding:.3rem .6rem}.l-systemd[data-astro-cid-f5hhxop7] .units[data-astro-cid-f5hhxop7] span[data-astro-cid-f5hhxop7]{background:var(--brand-tint);color:var(--brand);border-color:#0000;font-weight:600}.l-swarm[data-astro-cid-f5hhxop7]{grid-template-rows:auto 1fr}.l-swarm[data-astro-cid-f5hhxop7] .units[data-astro-cid-f5hhxop7]{grid-template-rows:auto 1fr;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.l-swarm[data-astro-cid-f5hhxop7] .units[data-astro-cid-f5hhxop7] .traefik[data-astro-cid-f5hhxop7]{text-align:center;border-color:var(--slice-2);color:var(--ink);grid-column:1/-1}.app[data-astro-cid-f5hhxop7]{align-items:end;min-height:3.2rem;display:grid}.app--empty[data-astro-cid-f5hhxop7]{color:var(--muted)!important;background:0 0!important;border-style:dashed!important}@media screen and (prefers-reduced-motion:no-preference){.js .host[data-astro-cid-f5hhxop7]:not(.is-playing) .layer[data-astro-cid-f5hhxop7],.js .host[data-astro-cid-f5hhxop7]:not(.is-playing) .app--empty[data-astro-cid-f5hhxop7],.js .host[data-astro-cid-f5hhxop7]:not(.is-playing) .ufw[data-astro-cid-f5hhxop7]{opacity:0}.host[data-astro-cid-f5hhxop7].is-playing .layer[data-astro-cid-f5hhxop7]{animation:layer-in .56s var(--ease-out) both;animation-delay:calc(.25s + var(--i) * .13s)}.host[data-astro-cid-f5hhxop7].is-playing .app--empty[data-astro-cid-f5hhxop7]{animation:layer-fade .5s var(--ease-out) 1s both}.host[data-astro-cid-f5hhxop7].is-playing .ufw[data-astro-cid-f5hhxop7]{animation:layer-fade .5s var(--ease-out) .85s both}}@keyframes layer-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes layer-fade{0%{opacity:0;transform:translateY(6px)}}.setup[data-astro-cid-f5hhxop7]{gap:var(--space-5) var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr))}.owner[data-astro-cid-f5hhxop7]{margin-top:var(--space-8);gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;display:grid}.owner-copy[data-astro-cid-f5hhxop7]{gap:var(--space-2);max-width:62ch;display:grid}.owner[data-astro-cid-f5hhxop7] p[data-astro-cid-f5hhxop7]{color:var(--muted)}.owner-art[data-astro-cid-f5hhxop7]{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--paper-2);font-size:var(--text-xs);display:grid}.seq[data-astro-cid-f5hhxop7]{align-items:center;gap:var(--space-2);grid-template-columns:7.5rem minmax(1rem,1fr) auto;display:grid}.who[data-astro-cid-f5hhxop7]{border:1px solid var(--line);background:var(--surface);text-align:center;white-space:nowrap;border-radius:999px;padding:.35rem .6rem}.who--first[data-astro-cid-f5hhxop7]{border-color:var(--brand);color:var(--brand);font-weight:600}.arrow[data-astro-cid-f5hhxop7]{border-top:2px dashed var(--line-strong)}.role[data-astro-cid-f5hhxop7]{font-weight:600}.role--muted[data-astro-cid-f5hhxop7]{color:var(--muted);font-weight:500}.install-steps[data-astro-cid-f5hhxop7]{max-width:860px}.install[data-astro-cid-f5hhxop7]{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:start;display:grid}.source[data-astro-cid-f5hhxop7]{gap:var(--space-4);display:grid}.source[data-astro-cid-f5hhxop7] h3[data-astro-cid-f5hhxop7]{margin:0}.source[data-astro-cid-f5hhxop7] p[data-astro-cid-f5hhxop7]{color:var(--ink-2);margin:0}.ops[data-astro-cid-f5hhxop7]{gap:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.op[data-astro-cid-f5hhxop7]{gap:var(--space-4);align-content:start;display:grid}.op[data-astro-cid-f5hhxop7]>p[data-astro-cid-f5hhxop7]{color:var(--muted)}.op[data-astro-cid-f5hhxop7] .note[data-astro-cid-f5hhxop7]{color:var(--ink-2)}.op[data-astro-cid-f5hhxop7] .window[data-astro-cid-f5hhxop7] .code[data-astro-cid-f5hhxop7]{font-size:var(--text-xs);white-space:pre-wrap}.backup[data-astro-cid-f5hhxop7]{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--paper-2);font-size:var(--text-xs);display:flex}.backup-items[data-astro-cid-f5hhxop7]{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.backup-items[data-astro-cid-f5hhxop7] li[data-astro-cid-f5hhxop7]{border:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);white-space:nowrap;border-radius:6px;padding:.3rem .6rem}.backup-items[data-astro-cid-f5hhxop7] .key[data-astro-cid-f5hhxop7]{border-color:var(--warn)}.backup-wire[data-astro-cid-f5hhxop7]{border-top:2px dashed var(--line-strong);flex:1rem;min-width:1rem}.backup-dest[data-astro-cid-f5hhxop7]{border:1.5px dashed var(--brand);color:var(--brand);white-space:nowrap;border-radius:10px;padding:.6rem .8rem;font-weight:600}.ops[data-astro-cid-f5hhxop7]+.caution[data-astro-cid-f5hhxop7]{margin-top:var(--space-7)}.license[data-astro-cid-f5hhxop7]{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;display:grid}.lic[data-astro-cid-f5hhxop7]{gap:var(--space-4);align-content:start;display:grid}.lic--cant[data-astro-cid-f5hhxop7]{padding:var(--space-6);border-radius:var(--radius-lg);border:1.5px dashed var(--line-strong)}.lic[data-astro-cid-f5hhxop7] ul[data-astro-cid-f5hhxop7]{gap:var(--space-3);color:var(--ink-2);margin:0;padding:0;list-style:none;display:grid}.lic[data-astro-cid-f5hhxop7] li[data-astro-cid-f5hhxop7]{gap:var(--space-3);display:flex}.lic--can[data-astro-cid-f5hhxop7] li[data-astro-cid-f5hhxop7]:before{content:"✓";color:var(--live);font-weight:700}.lic--cant[data-astro-cid-f5hhxop7] li[data-astro-cid-f5hhxop7]:before{content:"✕";color:var(--warn);font-weight:700}.tiers[data-astro-cid-f5hhxop7]{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;display:grid}.tier[data-astro-cid-f5hhxop7]{gap:var(--space-5);padding:var(--space-6);border-radius:var(--radius-lg);align-content:start;display:grid}.tier--free[data-astro-cid-f5hhxop7]{border:1.5px dashed var(--line-strong)}.tier--ent[data-astro-cid-f5hhxop7]{background:linear-gradient(var(--surface), var(--surface)) padding-box, conic-gradient(from var(--sweep,200deg), var(--beam-c), var(--beam-b) 15%, var(--beam-a) 30%, var(--line) 50%, var(--line) 75%, var(--beam-c)) border-box;box-shadow:inset 0 1px 0 var(--panel-top), 0 30px 80px -40px var(--glow);border:1px solid #0000}.tier-head[data-astro-cid-f5hhxop7]{gap:var(--space-2);display:grid}.tier-head[data-astro-cid-f5hhxop7] h3[data-astro-cid-f5hhxop7]{font-size:var(--text-xl)}.tier-price[data-astro-cid-f5hhxop7]{color:var(--muted);font-size:var(--text-sm)}.tier-price[data-astro-cid-f5hhxop7] strong[data-astro-cid-f5hhxop7]{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.03em;color:var(--ink);font-weight:650;line-height:1.1;display:block}.tier[data-astro-cid-f5hhxop7] dl[data-astro-cid-f5hhxop7]{margin:0}.tier[data-astro-cid-f5hhxop7] dl[data-astro-cid-f5hhxop7]>div[data-astro-cid-f5hhxop7]{gap:var(--space-3);padding-block:var(--space-3);border-top:1px solid var(--line);font-size:var(--text-sm);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid}.tier[data-astro-cid-f5hhxop7] dt[data-astro-cid-f5hhxop7]{color:var(--muted)}.tier[data-astro-cid-f5hhxop7] dd[data-astro-cid-f5hhxop7]{margin:0;font-weight:500}.tier[data-astro-cid-f5hhxop7] .off[data-astro-cid-f5hhxop7] dd[data-astro-cid-f5hhxop7]{color:var(--muted);font-weight:400}.tier[data-astro-cid-f5hhxop7] .gain[data-astro-cid-f5hhxop7] dd[data-astro-cid-f5hhxop7]{color:var(--brand);font-weight:600}.tier[data-astro-cid-f5hhxop7] .btn[data-astro-cid-f5hhxop7]{justify-self:start}@media (width<=960px){.host-grid[data-astro-cid-f5hhxop7]{grid-template-columns:repeat(2,minmax(0,1fr))}.l-swarm[data-astro-cid-f5hhxop7]{grid-area:auto/1/auto/-1}.setup[data-astro-cid-f5hhxop7]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.choice[data-astro-cid-f5hhxop7],.install[data-astro-cid-f5hhxop7],.ops[data-astro-cid-f5hhxop7],.license[data-astro-cid-f5hhxop7],.tiers[data-astro-cid-f5hhxop7],.owner[data-astro-cid-f5hhxop7]{gap:var(--space-5);grid-template-columns:1fr}}@media (width<=640px){.setup[data-astro-cid-f5hhxop7]{grid-template-columns:1fr}.side--self[data-astro-cid-f5hhxop7],.lic--cant[data-astro-cid-f5hhxop7],.tier[data-astro-cid-f5hhxop7]{padding:var(--space-5)}.term[data-astro-cid-f5hhxop7] .code[data-astro-cid-f5hhxop7]{padding:var(--space-4);font-size:.6875rem}}@media (width<=520px){.reqs[data-astro-cid-f5hhxop7]>div[data-astro-cid-f5hhxop7]{gap:var(--space-1);grid-template-columns:1fr}.ports[data-astro-cid-f5hhxop7]{grid-template-columns:repeat(3,minmax(0,1fr))}.host-grid[data-astro-cid-f5hhxop7]{grid-template-columns:1fr}.l-swarm[data-astro-cid-f5hhxop7] .units[data-astro-cid-f5hhxop7]{grid-template-columns:1fr 1fr}.l-tools[data-astro-cid-f5hhxop7]{grid-column:auto}.app--empty[data-astro-cid-f5hhxop7]{grid-column:1/-1}.side-art[data-astro-cid-f5hhxop7]{flex-wrap:wrap}.side-art[data-astro-cid-f5hhxop7] .wire[data-astro-cid-f5hhxop7]{display:none}.backup[data-astro-cid-f5hhxop7]{flex-direction:column;align-items:flex-start}.backup-wire[data-astro-cid-f5hhxop7]{display:none}.seq[data-astro-cid-f5hhxop7]{grid-template-columns:1fr;justify-items:start}.arrow[data-astro-cid-f5hhxop7]{display:none}}
