:root{--bg: #0b1020;--surface: #141b33;--fg: #eef1fb;--muted: #9fb0d0;--accent: #5b8cff;--ok: #41d19b;--warn: #ffcf6b;--line: #273458;color-scheme:dark}@media (prefers-color-scheme: light){:root{--bg: #f3f6fc;--surface: #ffffff;--fg: #0c1430;--muted: #4b5a7c;--accent: #2c5bd6;--ok: #157a56;--warn: #8a5a00;--line: #d7deef;color-scheme:light}}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--fg);font:17px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;display:grid;place-items:start center;padding:24px 16px calc(24px + env(safe-area-inset-bottom,0))}#app{width:100%;max-width:640px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:grid;gap:16px}h1{margin:0;font-size:1.5rem;letter-spacing:-.01em}.status{margin:0;font-weight:600}.hint{margin:0;color:var(--muted);font-size:.95rem}code{background:#7f7f7f2e;padding:.1em .35em;border-radius:6px}.pair{display:grid;gap:12px;justify-items:center;text-align:center}.pair[hidden]{display:none}.qr img{width:200px;height:200px;display:block;background:#fff;padding:10px;border-radius:12px}.save-row:empty{display:none}button{font:inherit;font-weight:600;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 16px;cursor:pointer}button:disabled{opacity:.6;cursor:default}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pick{display:grid;gap:10px;justify-items:center;border:2px dashed var(--line);border-radius:14px;padding:24px;text-align:center}.pick span{font-weight:600}input[type=file]{font:inherit}.err{margin:0;color:var(--warn);font-weight:600;min-height:1.2em}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.thumbs:empty{display:none}.thumb{margin:0;display:grid;gap:6px}.thumb img,.file-tile{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#7f7f7f1f}.file-tile{display:grid;place-items:center;font-weight:700;color:var(--muted)}.thumb figcaption{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer{display:grid;gap:6px;margin-top:4px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.footer a{color:var(--accent);width:max-content}
