*{box-sizing:border-box}body{color:#111;background:#fff;margin:0;font-family:system-ui,sans-serif}main{flex-direction:column;gap:1rem;max-width:32rem;margin:0 auto;padding:1rem;display:flex}h1{margin:0;font-size:1.25rem}button.big{color:#fff;background:#0f766e;border:0;border-radius:1rem;padding:1.5rem;font-size:1.5rem}.banner{background:#fde68a;border:0;border-radius:.5rem;padding:.75rem;font-size:1rem}.notice{background:#fee2e2;border-radius:.5rem;padding:1rem}.result{text-align:center}.uid{word-break:break-all;font-family:ui-monospace,monospace;font-size:2.5rem;font-weight:700}.compact{font-family:ui-monospace,monospace;font-size:1.5rem}.time{color:#555}dl{grid-template-columns:auto 1fr;gap:.25rem 1rem;font-size:.9rem;display:grid}dt{font-weight:600}dd{word-break:break-all;margin:0}.scan-view{padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));background:inherit;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.scan-icon{width:min(90vw,80vh);height:auto}.scan-icon.check{animation:.25s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.scan-stop{color:inherit;opacity:.6;background:0 0;border:1px solid #9ca3af;border-radius:999px;padding:.5rem 1.5rem;font-size:1rem}@media (prefers-color-scheme:dark){body{color:#eee;background:#111}.time{color:#aaa}}
