:where(.astro-j7pv25f6),:where(.astro-j7pv25f6):before,:where(.astro-j7pv25f6):after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60rem 34rem at 50% -14%,rgba(240,180,41,.16),transparent 68%),radial-gradient(40rem 30rem at 88% 8%,rgba(77,214,193,.07),transparent 70%)}.skip:where(.astro-j7pv25f6){position:absolute;left:-9999px}.skip:where(.astro-j7pv25f6):focus{left:var(--sp-4);top:var(--sp-4);z-index:99;background:var(--accent);color:#000;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius)}main:where(.astro-j7pv25f6),.nav:where(.astro-j7pv25f6),.foot:where(.astro-j7pv25f6){position:relative;z-index:1}section:where(.astro-j7pv25f6){max-width:76rem;margin-inline:auto;padding-inline:var(--sp-6)}.nav:where(.astro-j7pv25f6){display:flex;align-items:center;justify-content:space-between;max-width:76rem;margin-inline:auto;padding:var(--sp-6) var(--sp-6)}.brand:where(.astro-j7pv25f6){font-family:var(--font-mono);font-weight:600;color:var(--accent);text-decoration:none;letter-spacing:-.02em}.nav:where(.astro-j7pv25f6) nav:where(.astro-j7pv25f6){display:flex;gap:var(--sp-6);align-items:center}.nav:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6){color:var(--text-dim);text-decoration:none;font-size:var(--step--1)}.nav:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6):hover{color:var(--accent)}.nav:where(.astro-j7pv25f6) .ghost:where(.astro-j7pv25f6){border:1px solid var(--border);padding:var(--sp-1) var(--sp-3);border-radius:999px;font-family:var(--font-mono);font-size:.75rem}.hero:where(.astro-j7pv25f6){padding-block:var(--sp-12) var(--sp-24);text-align:center}.sign:where(.astro-j7pv25f6){display:inline-flex;align-items:baseline;gap:.5ch;font-family:var(--font-mono);font-weight:600;font-size:var(--step--1);letter-spacing:.34em;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--radius);padding:var(--sp-2) var(--sp-4) var(--sp-2) calc(var(--sp-4) + .34em);margin-bottom:var(--sp-8);box-shadow:var(--glow-brass);background:color-mix(in srgb,var(--accent) 7%,transparent)}.sign-no:where(.astro-j7pv25f6){color:var(--warn);animation:flickerOut 4.2s steps(1,end) .8s forwards}.sign-word:where(.astro-j7pv25f6){color:var(--accent);text-shadow:0 0 12px rgba(240,180,41,.9),0 0 34px rgba(240,180,41,.55)}@keyframes flickerOut{0%,8%{opacity:1}10%{opacity:.15}12%{opacity:.9}18%{opacity:.1}22%{opacity:.75}30%,to{opacity:.12}}@media(prefers-reduced-motion:reduce){.sign-no:where(.astro-j7pv25f6){animation:none;opacity:.12}}h1:where(.astro-j7pv25f6){font-family:var(--font-display);font-size:var(--step-4);font-weight:800;line-height:1.02;letter-spacing:-.03em;margin:0 0 var(--sp-6)}h1:where(.astro-j7pv25f6) em:where(.astro-j7pv25f6){font-style:italic;color:var(--accent)}.lede:where(.astro-j7pv25f6){max-width:44rem;margin:0 auto var(--sp-6);color:var(--text-dim);font-size:var(--step-1)}.lede:where(.astro-j7pv25f6) strong:where(.astro-j7pv25f6){color:var(--text);font-weight:600}.lede:where(.astro-j7pv25f6) em:where(.astro-j7pv25f6){color:var(--accent-soft);font-style:italic}.keyless:where(.astro-j7pv25f6){display:flex;gap:var(--sp-6);justify-content:center;flex-wrap:wrap;margin:0 0 var(--sp-8);font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-faint)}.keyless:where(.astro-j7pv25f6) span:where(.astro-j7pv25f6):before{content:"✕ ";color:var(--warn)}.cta:where(.astro-j7pv25f6){display:flex;gap:var(--sp-4);justify-content:center;flex-wrap:wrap}.btn:where(.astro-j7pv25f6){display:inline-block;padding:var(--sp-3) var(--sp-6);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:var(--step--1);font-family:var(--font-mono);transition:.16s ease}.btn:where(.astro-j7pv25f6):hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn:where(.astro-j7pv25f6).primary{background:var(--accent);color:#14100a;border-color:var(--accent);font-weight:600}.btn:where(.astro-j7pv25f6).primary:hover{background:var(--accent-soft);color:#14100a}.why:where(.astro-j7pv25f6){max-width:40rem;margin:var(--sp-16) auto 0;padding-top:var(--sp-6);border-top:1px solid var(--border);color:var(--text-faint);font-size:var(--step--1)}.why:where(.astro-j7pv25f6) strong:where(.astro-j7pv25f6){color:var(--warn)}.section-head:where(.astro-j7pv25f6){max-width:var(--measure);margin-bottom:var(--sp-8)}.kicker:where(.astro-j7pv25f6){font-family:var(--font-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:var(--sp-3)}h2:where(.astro-j7pv25f6){font-family:var(--font-display);font-size:var(--step-3);font-weight:600;letter-spacing:-.02em;margin:0 0 var(--sp-4)}.section-head:where(.astro-j7pv25f6) p:where(.astro-j7pv25f6){color:var(--text-dim);margin:0}section:where(.astro-j7pv25f6){padding-block:var(--sp-16)}code:where(.astro-j7pv25f6){font-family:var(--font-mono);font-size:.92em}.section-head:where(.astro-j7pv25f6) code:where(.astro-j7pv25f6),.fineprint:where(.astro-j7pv25f6) code:where(.astro-j7pv25f6),.boundary:where(.astro-j7pv25f6) code:where(.astro-j7pv25f6){color:var(--accent-soft)}.datestrip:where(.astro-j7pv25f6){margin:0 0 var(--sp-8)}.strip:where(.astro-j7pv25f6){display:grid;grid-template-columns:repeat(auto-fit,minmax(4.6rem,1fr));gap:var(--sp-2)}.night:where(.astro-j7pv25f6){border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);padding:var(--sp-3) var(--sp-2);text-align:center;font-family:var(--font-mono);display:flex;flex-direction:column;gap:var(--sp-1);transition:.2s ease}.night:where(.astro-j7pv25f6):hover{transform:translateY(-2px);border-color:var(--ink-500)}.dnum:where(.astro-j7pv25f6){font-size:.72rem;color:var(--text-faint);letter-spacing:.1em}.dprice:where(.astro-j7pv25f6){font-size:var(--step-0);color:var(--text);font-weight:600}.night:where(.astro-j7pv25f6).best{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));box-shadow:var(--glow-brass)}.night:where(.astro-j7pv25f6).best .dprice:where(.astro-j7pv25f6){color:var(--accent)}.night:where(.astro-j7pv25f6).gone{opacity:.4}.night:where(.astro-j7pv25f6).gone .dprice:where(.astro-j7pv25f6){color:var(--warn)}figcaption:where(.astro-j7pv25f6){display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-4);font-size:var(--step--1);color:var(--text-faint);font-family:var(--font-mono)}.swatch:where(.astro-j7pv25f6){width:.75rem;height:.75rem;border-radius:2px;display:inline-block}.swatch:where(.astro-j7pv25f6).best{background:var(--accent);margin-left:0}.swatch:where(.astro-j7pv25f6).gone{background:var(--warn);opacity:.5;margin-left:var(--sp-4)}figcaption:where(.astro-j7pv25f6) .cap:where(.astro-j7pv25f6){margin-left:auto}.code:where(.astro-j7pv25f6){background:var(--ink-850);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);overflow-x:auto;font-size:var(--step--1);line-height:1.85;box-shadow:var(--shadow-card);margin:0}.code:where(.astro-j7pv25f6) .c:where(.astro-j7pv25f6){color:var(--text-faint);font-style:italic}.code:where(.astro-j7pv25f6) .k:where(.astro-j7pv25f6){color:var(--accent-soft)}.code:where(.astro-j7pv25f6) .s:where(.astro-j7pv25f6){color:var(--ok)}.code:where(.astro-j7pv25f6) .n:where(.astro-j7pv25f6){color:var(--accent)}.tabs:where(.astro-j7pv25f6){border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);overflow:hidden;box-shadow:var(--shadow-card)}.tabs:where(.astro-j7pv25f6) input:where(.astro-j7pv25f6){position:absolute;opacity:0;pointer-events:none}.tabs:where(.astro-j7pv25f6) label:where(.astro-j7pv25f6){display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);cursor:pointer;font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-faint);border-bottom:2px solid transparent}.tabs:where(.astro-j7pv25f6) label:where(.astro-j7pv25f6):hover{color:var(--text)}.rec:where(.astro-j7pv25f6).soon{color:var(--text-faint);border-color:var(--border)}.rec:where(.astro-j7pv25f6){font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;padding:1px 6px}.panes:where(.astro-j7pv25f6){border-top:1px solid var(--border)}.pane:where(.astro-j7pv25f6){display:none;align-items:center;gap:var(--sp-4);padding:var(--sp-6)}.pane:where(.astro-j7pv25f6) code:where(.astro-j7pv25f6){color:var(--accent-soft);font-size:var(--step-0);overflow-x:auto}.copy:where(.astro-j7pv25f6){margin-left:auto;background:transparent;border:1px solid var(--border);color:var(--text-faint);border-radius:var(--radius);padding:var(--sp-1) var(--sp-3);font-family:var(--font-mono);font-size:.72rem;cursor:pointer}.copy:where(.astro-j7pv25f6):hover{border-color:var(--accent);color:var(--accent)}#t-source:where(.astro-j7pv25f6):checked~label:where(.astro-j7pv25f6)[for=t-source],#t-uvx:where(.astro-j7pv25f6):checked~label:where(.astro-j7pv25f6)[for=t-uvx],#t-uvtool:where(.astro-j7pv25f6):checked~label:where(.astro-j7pv25f6)[for=t-uvtool],#t-pipx:where(.astro-j7pv25f6):checked~label:where(.astro-j7pv25f6)[for=t-pipx],#t-pip:where(.astro-j7pv25f6):checked~label:where(.astro-j7pv25f6)[for=t-pip]{color:var(--accent);border-bottom-color:var(--accent)}#t-source:where(.astro-j7pv25f6):checked~.panes:where(.astro-j7pv25f6) .pane:where(.astro-j7pv25f6)[data-for=source],#t-uvx:where(.astro-j7pv25f6):checked~.panes:where(.astro-j7pv25f6) .pane:where(.astro-j7pv25f6)[data-for=uvx],#t-uvtool:where(.astro-j7pv25f6):checked~.panes:where(.astro-j7pv25f6) .pane:where(.astro-j7pv25f6)[data-for=uvtool],#t-pipx:where(.astro-j7pv25f6):checked~.panes:where(.astro-j7pv25f6) .pane:where(.astro-j7pv25f6)[data-for=pipx],#t-pip:where(.astro-j7pv25f6):checked~.panes:where(.astro-j7pv25f6) .pane:where(.astro-j7pv25f6)[data-for=pip]{display:flex}.rack:where(.astro-j7pv25f6){display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:var(--sp-4)}.slot:where(.astro-j7pv25f6){position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);padding:var(--sp-6);box-shadow:var(--shadow-card);transition:.2s ease}.slot:where(.astro-j7pv25f6):before{content:"";position:absolute;inset-inline:0;top:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%);opacity:.5}.slot:where(.astro-j7pv25f6):hover{transform:translateY(-3px);border-color:var(--ink-500)}.rnum:where(.astro-j7pv25f6){font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--text-faint)}.slot:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){margin:var(--sp-2) 0 var(--sp-3);font-size:var(--step-0)}.slot:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6) code:where(.astro-j7pv25f6){color:var(--accent)}.slot:where(.astro-j7pv25f6) p:where(.astro-j7pv25f6){margin:0;color:var(--text-dim);font-size:var(--step--1)}.signals:where(.astro-j7pv25f6){display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:var(--sp-4)}.signal:where(.astro-j7pv25f6){border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);background:var(--bg-card)}.signal:where(.astro-j7pv25f6) .code-num:where(.astro-j7pv25f6){font-family:var(--font-mono);font-size:var(--step-2);font-weight:600;display:block;line-height:1}.signal:where(.astro-j7pv25f6) h3:where(.astro-j7pv25f6){font-family:var(--font-mono);margin:var(--sp-2) 0 var(--sp-3);font-size:var(--step-0);letter-spacing:.04em}.signal:where(.astro-j7pv25f6) p:where(.astro-j7pv25f6){margin:0;color:var(--text-dim);font-size:var(--step--1)}.signal:where(.astro-j7pv25f6).warn{border-color:color-mix(in srgb,var(--warn) 34%,var(--border))}.signal:where(.astro-j7pv25f6).warn .code-num:where(.astro-j7pv25f6),.signal:where(.astro-j7pv25f6).warn h3:where(.astro-j7pv25f6){color:var(--warn)}.signal:where(.astro-j7pv25f6).ok{border-color:color-mix(in srgb,var(--ok) 34%,var(--border))}.signal:where(.astro-j7pv25f6).ok .code-num:where(.astro-j7pv25f6),.signal:where(.astro-j7pv25f6).ok h3:where(.astro-j7pv25f6){color:var(--ok)}.fineprint:where(.astro-j7pv25f6){margin-top:var(--sp-6);color:var(--text-faint);font-size:var(--step--1);max-width:var(--measure)}.boundary:where(.astro-j7pv25f6) p:where(.astro-j7pv25f6){max-width:var(--measure);color:var(--text-dim)}.boundary:where(.astro-j7pv25f6) strong:where(.astro-j7pv25f6){color:var(--text)}.foot:where(.astro-j7pv25f6){max-width:76rem;margin:var(--sp-16) auto 0;padding:var(--sp-8) var(--sp-6);border-top:1px solid var(--border);display:flex;gap:var(--sp-6);align-items:center;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-faint)}.foot:where(.astro-j7pv25f6) span:where(.astro-j7pv25f6):first-child{color:var(--accent)}.foot:where(.astro-j7pv25f6) nav:where(.astro-j7pv25f6){display:flex;gap:var(--sp-6)}.foot:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6){color:var(--text-faint);text-decoration:none}.foot:where(.astro-j7pv25f6) a:where(.astro-j7pv25f6):hover{color:var(--accent)}.foot:where(.astro-j7pv25f6) .lic:where(.astro-j7pv25f6){margin-left:auto}.reveal:where(.astro-j7pv25f6){opacity:1}html.js .reveal:where(.astro-j7pv25f6){opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}html.js .reveal:where(.astro-j7pv25f6).in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html.js .reveal:where(.astro-j7pv25f6){opacity:1;transform:none;transition:none}}@media(max-width:46rem){.nav:where(.astro-j7pv25f6) nav:where(.astro-j7pv25f6) .ghost:where(.astro-j7pv25f6){display:none}.foot:where(.astro-j7pv25f6) .lic:where(.astro-j7pv25f6){margin-left:0;width:100%}figcaption:where(.astro-j7pv25f6) .cap:where(.astro-j7pv25f6){margin-left:0;width:100%}}
