:root{color-scheme:light dark;--bg:#f6f6f4;--ink:#14140f;--muted:#6b6b63;--line:#e2e2dc;--accent:#1f1f1f;--ok:#2e7d5b;--warn:#a13b1e}@media(prefers-color-scheme:dark){:root{--bg:#14140f;--ink:#f2f2ec;--muted:#a3a39a;--line:#2e2e28;--accent:#f2f2ec}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.4 -apple-system,system-ui,Segoe UI,Roboto,sans-serif}.screen{min-height:100dvh;display:flex;flex-direction:column;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));gap:12px}.topbar{font-size:14px;color:var(--muted);display:flex;justify-content:space-between}h1{font-size:26px;margin:0;overflow-wrap:anywhere}.btn{display:block;width:100%;border:0;border-radius:14px;padding:18px;font:inherit;font-weight:700;font-size:18px;background:var(--accent);color:var(--bg);text-align:center;text-decoration:none}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--warn);color:#fff}.grow{flex:1}.muted{color:var(--muted);font-size:15px}.field{width:100%;font:inherit;font-size:32px;font-weight:700;letter-spacing:.06em;text-align:right;padding:14px;border:2px solid var(--ink);border-radius:12px;background:var(--bg);color:var(--ink)}.row{display:flex;justify-content:space-between;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.row.done{color:var(--muted)}.tick{color:var(--ok);font-weight:700}.video{width:100%;flex:1;object-fit:cover;background:#000;border-radius:14px;min-height:0}.overlay{position:absolute;inset:0;pointer-events:none}.frame{position:absolute;left:12%;right:12%;top:36%;height:26%;border:2px dashed #ffd54a;border-radius:8px}.camwrap{position:relative;flex:1;display:flex;min-height:0}.torch{position:absolute;left:12px;bottom:12px;pointer-events:auto;background:#0000008c;color:#fff;border:0;border-radius:999px;padding:10px 14px;font:inherit}.shutter{position:absolute;left:50%;bottom:12px;transform:translate(-50%);pointer-events:auto;width:68px;height:68px;border-radius:50%;background:#fff;border:5px solid #999}.notice{padding:12px;border-radius:10px;background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid var(--warn);font-size:15px}.bigid{font-size:40px;font-weight:800;line-height:1.1;overflow-wrap:anywhere}.btn.quiet{font-size:15px;font-weight:600;padding:12px;color:var(--muted)}.btn.quiet.armed{color:var(--warn);border-color:var(--warn)}.field.find{font-size:20px;letter-spacing:0;text-align:left;min-width:0}
