:root{--bg:oklch(15% .015 45);--surface:oklch(19% .02 50);--surface-raised:oklch(23% .022 52);--line:oklch(31% .025 55);--line-soft:oklch(26% .02 52);--text:oklch(93% .02 80);--muted:oklch(66% .025 65);--caramel:oklch(76% .13 70);--copper:oklch(62% .14 55);--danger:oklch(68% .17 28);--font-display:"Bricolage Grotesque", "Segoe UI", sans-serif;--font-body:"Instrument Sans", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Cascadia Code", Consolas, monospace;color:var(--text);background:var(--bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}body{background:radial-gradient(56rem 30rem at 50% -8rem, oklch(40% .08 60/.35), transparent 70%), radial-gradient(40rem 26rem at 12% 110%, oklch(30% .06 50/.3), transparent 70%), var(--bg);background-attachment:fixed;min-width:320px;min-height:100vh;margin:0}button,a,code{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--caramel);outline-offset:3px;border-radius:4px}.page{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:20px clamp(20px,4vw,44px);display:flex}.wordmark{font-family:var(--font-mono);letter-spacing:.02em;font-size:.95rem;font-weight:600}.wordmark em{color:var(--caramel);font-style:normal}.source-pill{border:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.source-dot{background:var(--caramel);border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px oklch(76% .13 70/.8)}.stage{gap:clamp(32px,5vh,48px);width:min(720px,100vw - 40px);margin:0 auto;padding:clamp(48px,9vh,96px) 0 clamp(48px,8vh,80px);display:grid}.hero{text-align:center;justify-items:center;gap:18px;display:grid}.eyebrow{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);margin:0;font-size:.8rem;font-weight:400}h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(2.9rem,8vw,4.6rem);font-weight:800;line-height:1.02}.lede{max-width:44ch;color:var(--muted);margin:0;font-size:1.06rem;line-height:1.55}.roll-button{background:linear-gradient(135deg, var(--caramel), var(--copper));color:oklch(18% .03 55);font-family:var(--font-display);letter-spacing:.01em;cursor:pointer;border:0;border-radius:999px;margin-top:10px;padding:18px 44px;font-size:1.12rem;font-weight:800;transition:transform .16s,box-shadow .16s,filter .16s;box-shadow:inset 0 0 0 1px oklch(80% .12 70/.25),0 10px 34px oklch(70% .14 60/.28)}.roll-button:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px);box-shadow:inset 0 0 0 1px oklch(80% .12 70/.3),0 14px 44px oklch(70% .14 60/.38)}.roll-button:active:not(:disabled){transform:translateY(0)}.roll-button:disabled{cursor:wait;filter:saturate(.6)brightness(.85)}.result-stage{min-height:280px;display:grid}.idle-card,.reel,.error-card,.result-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-raised), var(--surface));border-radius:18px;padding:clamp(24px,4vw,40px)}.idle-card,.reel{text-align:center;border-style:dashed;place-content:center;gap:10px;display:grid}.idle-card p{color:var(--muted);margin:0;font-size:1.02rem}.reel-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.reel-id{font-family:var(--font-mono);color:var(--caramel);font-size:clamp(1.15rem,3.4vw,1.7rem);font-weight:600;animation:80ms step-end infinite reel-tick}@keyframes reel-tick{0%{opacity:.75;transform:translateY(1px)}50%{opacity:1;transform:translateY(-1px)}}.result-card{gap:14px;animation:.26s cubic-bezier(.2,.9,.3,1.2) land;display:grid}@keyframes land{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.result-kicker{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--caramel);margin:0;font-size:.78rem;font-weight:600}.result-card h2{overflow-wrap:anywhere;font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:clamp(1.9rem,5.5vw,3rem);font-weight:800;line-height:1.05}.package-id{overflow-wrap:anywhere;font-family:var(--font-mono);color:var(--muted);margin:0;font-size:.92rem}.package-description{max-width:58ch;margin:0;line-height:1.55}.version-chip{border:1px solid var(--line);background:var(--surface);width:fit-content;font-family:var(--font-mono);border-radius:999px;margin:0;padding:5px 12px;font-size:.82rem;font-weight:600}.version-chip span{color:var(--muted);font-weight:400}.install-block{border:1px solid var(--line);background:oklch(12% .012 45);border-radius:12px;align-items:stretch;gap:10px;margin-top:6px;padding:6px;display:flex}.install-command{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono);color:var(--caramel);flex:1;padding:10px 12px;font-size:.9rem}.copy-button{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);font-family:var(--font-mono);cursor:pointer;border-radius:8px;flex-shrink:0;padding:0 18px;font-size:.82rem;font-weight:600;transition:background .14s,border-color .14s}.copy-button:hover{background:var(--line-soft);border-color:var(--caramel)}.result-links{flex-wrap:wrap;gap:20px;margin:4px 0 0;display:flex}.result-links a{color:var(--text);-webkit-text-decoration-color:var(--copper);text-decoration-color:var(--copper);text-underline-offset:4px;font-size:.95rem;font-weight:600;transition:color .14s}.result-links a:hover{color:var(--caramel)}.error-card{text-align:center;border-color:oklch(45% .12 28);place-content:center;gap:10px;display:grid}.error-kicker{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--danger);font-size:.78rem;font-weight:600}.error-card p{color:var(--text);margin:0;font-size:1.05rem}@media (width<=560px){.install-block{flex-direction:column}.copy-button{padding:10px}}@media (prefers-reduced-motion:reduce){.reel-id,.result-card{animation:none}.roll-button,.roll-button:hover:not(:disabled){transition:none;transform:none}}
