:root{--obsidian: #0f1115;--amber: #d4a017;--teal: #1f6f6a;--fog: #e8e6e1;--fog-dim: color-mix(in srgb, var(--fog) 68%, transparent);--line: color-mix(in srgb, var(--fog) 16%, transparent);--panel: color-mix(in srgb, #1a1f28 88%, transparent);color:var(--fog);background:radial-gradient(ellipse at 12% 0%,rgba(212,160,23,.22),transparent 40%),radial-gradient(ellipse at 90% 20%,rgba(31,111,106,.28),transparent 42%),linear-gradient(155deg,#0b0d11,#161a22 55%,#0f1115);font-family:DM Sans,sans-serif;min-height:100vh}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.shell{min-height:100vh;display:grid;align-content:center;gap:.5rem;padding:2rem;max-width:28rem;margin:0 auto}.shell-wide{max-width:56rem;align-content:start;padding-top:1.75rem}.brand{font-family:"DM Serif Display",serif;font-size:clamp(2.2rem,5vw,3.2rem);margin:0;color:var(--amber)}h1{font-weight:500;font-size:1.15rem;margin:.35rem 0 0}.lead,.meta,.hint,.empty{color:var(--fog-dim);line-height:1.5;margin:0}.login{display:grid;gap:.9rem;margin-top:1.5rem}.login label,.form label{display:grid;gap:.35rem;font-size:.9rem}.login input,.form input{border:1px solid var(--line);background:var(--panel);color:var(--fog);border-radius:.4rem;padding:.75rem .85rem}.login input:focus,.form input:focus{outline:2px solid color-mix(in srgb,var(--amber) 55%,transparent);outline-offset:1px}button{border:0;border-radius:.4rem;padding:.8rem 1rem;background:var(--amber);color:#1a1405;font-weight:700;cursor:pointer}button:disabled{opacity:.6;cursor:wait}button.ghost{background:transparent;color:var(--fog);border:1px solid var(--line);font-weight:500}.error{color:#ffb4a8;margin:0}.ok{color:#9fd6c8;margin:0}.top{display:flex;justify-content:space-between;align-items:start;gap:1rem}.top .brand{font-size:clamp(1.6rem,3.5vw,2.2rem)}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1.25rem 0 1rem}.tabs button{background:transparent;color:var(--fog-dim);border:1px solid var(--line);font-weight:600}.tabs button.active{background:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--fog);border-color:color-mix(in srgb,var(--amber) 55%,transparent)}.panel{border-top:1px solid var(--line);padding-top:1.1rem;display:grid;gap:1rem}.form{display:grid;gap:.85rem;max-width:22rem}.result{font-family:DM Mono,ui-monospace,monospace;font-size:.9rem;display:grid;gap:.35rem;margin:0}.scanner{width:min(100%,28rem);overflow:hidden;border:1px solid var(--line);border-radius:.45rem;background:#0a0c10;min-height:14rem}.scanner video{width:100%}.manual{display:grid;gap:.65rem;max-width:28rem}@media (max-width: 720px){.shell-wide{padding:1.25rem}.top{flex-direction:column}}
