@font-face{font-family:RF Dewi;src:url(/fonts/RF-Dewi-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:RF Dewi;src:url(/fonts/RF-Dewi-Semibold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:RF Dewi;src:url(/fonts/RF-Dewi-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{--accent: #0c8250;--accent-deep: #0a6a41;--accent-soft: #e6f5ec;--ink: #0a0a0e;--ink-muted: #6b6b6b;--bg: #f5f4f2;--panel: #ffffff;--rule: #e4e3e0;--danger: #b3261e;--font: "RF Dewi", -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box;box-shadow:none}html,body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font)}.shell{max-width:480px;margin:0 auto;padding:48px 16px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand img{border-radius:8px}.brand-name{font-weight:700;font-size:20px;letter-spacing:-.01em}.card{background:var(--panel);border:1px solid var(--rule);border-radius:12px;padding:32px 24px}h1{margin:0 0 8px;font-size:28px;font-weight:700;line-height:1.15;letter-spacing:-.02em}.lead{margin:0 0 24px;color:var(--ink-muted)}.muted{color:var(--ink-muted);font-size:14px;word-break:break-all}.button{display:inline-block;padding:12px 20px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font:600 16px/1.2 var(--font);text-decoration:none;cursor:pointer}.button:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.button:disabled{opacity:.6;cursor:progress}.button.secondary{background:var(--panel);color:var(--accent)}.button.secondary:hover{background:var(--accent-soft)}.link{margin-top:16px;padding:0;border:0;background:none;color:var(--accent);font:400 15px/1.4 var(--font);text-decoration:underline;cursor:pointer}.code-form label{display:block;font-weight:600;font-size:14px}.code-form input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--rule);border-radius:8px;font:600 20px/1.2 var(--mono);letter-spacing:.1em}.code-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.error{min-height:1.5em;margin:8px 0;color:var(--danger);font-size:14px}.qr{display:block;width:220px;height:220px;margin:0 auto 8px;border:1px solid var(--rule);border-radius:8px;background:#fff}.codes{columns:2;margin:0 0 24px;padding-left:24px;font:600 16px/2 var(--mono)}.who{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 24px}.who dt{color:var(--ink-muted)}.who dd{margin:0;font-weight:600}[hidden]{display:none!important}
