@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2)format("woff2");font-display:swap}*{box-sizing:border-box}html{--bg:#fafafd;--panel:#fff;--text:#17213b;--muted:#78819b;--border:#e2e5f1;--accent:#7569e6;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}html[data-theme=dark]{--bg:#0e1529;--panel:#18213a;--text:#f8f9ff;--muted:#b1bbda;--border:#384462;--accent:#7569e6}html,body,.card,input,button{transition:background-color .25s,color .25s,border-color .25s}body{margin:0}main{flex-direction:column;min-height:100vh;padding:28px;display:flex}header{justify-content:space-between;align-items:center;gap:20px;display:flex}.brand{color:var(--text);align-items:center;gap:12px;font-size:26px;font-weight:700;text-decoration:none;display:flex}.brand svg{fill:currentColor;width:48px}.brand ellipse{fill:none;stroke:currentColor;stroke-width:3px}.card{border:1px solid var(--border);background:var(--panel);border-radius:24px;width:min(100%,480px);margin:auto;padding:36px}h1{margin:0 0 20px;font-size:28px;line-height:1.3}p{color:var(--muted);line-height:1.6}form{gap:20px;display:grid}label{gap:8px;font-size:14px;display:grid}input{border:1px solid var(--border);width:100%;font:inherit;background:var(--bg);color:var(--text);border-radius:12px;padding:14px 16px}button{border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;cursor:pointer;border-radius:12px;padding:12px 18px}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);color:#fff;border-color:var(--accent);min-height:48px}a{color:var(--accent)}.error{color:#c34765}footer{text-align:center;color:var(--muted);padding-top:28px;font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=540px){main{padding:20px}.card{margin:40px auto;padding:24px}.theme{font-size:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.brand-mark{background:currentColor;width:48px;height:48px;-webkit-mask:url(/brand/mark.svg) 50%/contain no-repeat;mask:url(/brand/mark.svg) 50%/contain no-repeat}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.card>button{width:100%;margin-top:16px}.download-button{text-align:center;background:var(--accent);color:#fff;border-radius:12px;padding:14px 18px;text-decoration:none;display:block}.download-meta{font-size:13px}.download-hash{overflow-wrap:anywhere;font-size:12px;line-height:1.7;display:block}.downloads details{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.downloads summary{cursor:pointer}
