footer.svelte-1n46o8q{font-size:.75rem;position:fixed;bottom:1rem;right:1rem}footer.svelte-1n46o8q a:where(.svelte-1n46o8q){color:var(--muted);text-decoration:none}footer.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{color:var(--text)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0f;--surface:#1a1a1a;--border:#2e2e2e;--text:#e8e8e8;--muted:#888;--accent:#7c3aed;--accent-light:#a78bfa;--success:#22c55e;--error:#ef4444;--font:system-ui, -apple-system, sans-serif;--radius:12px}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5}#app{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}button{cursor:pointer;border-radius:var(--radius);background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:opacity .15s}button:hover:not(:disabled){opacity:.85}button:disabled{opacity:.4;cursor:default}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:420px;padding:2rem;display:flex}h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.status{color:var(--muted);text-align:center;font-size:.9rem}.status.success{color:var(--success)}.status.error{color:var(--error)}.code-digits{letter-spacing:.25em;font-variant-numeric:tabular-nums;color:var(--accent-light);font-size:2.5rem;font-weight:800}progress{appearance:none;border-radius:4px;width:100%;height:8px}progress::-webkit-progress-bar{background:var(--border);border-radius:4px}progress::-webkit-progress-value{background:var(--accent);border-radius:4px}progress::-moz-progress-bar{background:var(--accent);border-radius:4px}input[type=text]{letter-spacing:.2em;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);text-align:center;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:1.5rem;font-weight:700;transition:border-color .15s}input[type=text]:focus{border-color:var(--accent)}label[for=file-input]{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;width:100%;color:var(--muted);padding:2rem;transition:border-color .15s,color .15s;display:block}label[for=file-input]:hover{border-color:var(--accent);color:var(--text)}input[type=file]{display:none}
