@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#102a43;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7f9;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:#102a43 var(--art-url) center / cover fixed no-repeat;min-width:320px;margin:0}button{font:inherit}.install-message{z-index:10;color:#fff;background:#102a43f2;border:1px solid #8af5e1;border-radius:16px;align-items:center;gap:20px;width:min(420px,100% - 32px);padding:16px 16px 16px 20px;animation:.45s ease-out both rise;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 14px 34px #102a4366}.install-message strong,.install-message span{display:block}.install-message strong{font-size:.98rem}.install-message span{color:#d5e9eb;margin-top:4px;font-size:.8rem}.install-message__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.install-button{color:#fff;cursor:pointer;background:#00b9a8;border:0;border-radius:9px;padding:10px 14px;font-weight:700}.install-close{color:#fff;cursor:pointer;background:0 0;border:0;width:30px;height:30px;padding:0;font-size:1.5rem}.home-screen,.scanner-screen{background:linear-gradient(#f4f7f9d9, #dce8edc9), var(--art-url) center / cover fixed no-repeat;min-height:100svh;padding:42px 24px}.home-screen{text-align:center;place-content:center;display:grid}.brand-mark{color:#d45d3d;border:1px solid #8fb4bd;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 24px;font-size:30px;line-height:1;animation:.7s ease-out both appear;display:grid}.eyebrow{color:#56727a;letter-spacing:2px;margin:0 0 12px;font-size:11px;font-weight:700}h1{color:#102a43;letter-spacing:-.06em;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(2.7rem,10vw,5rem);line-height:.95}.home-screen h1{animation:.7s ease-out .18s both rise}.intro,.scanner-intro{color:#56727a;max-width:380px;margin:20px auto 0;font-size:1rem;line-height:1.5;animation:.7s ease-out .26s both rise}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(100%,560px);margin:34px auto 0;display:grid}.choice{color:#fff;text-align:left;cursor:pointer;border:2px solid #0000;border-radius:18px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:142px;padding:20px;font-size:1rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;animation:.7s ease-out .34s both rise;display:flex;box-shadow:0 10px #102a4330}.choice:hover{filter:saturate(1.12)brightness(1.04);transform:translateY(-5px);box-shadow:0 15px #102a4330}.choice:focus-visible,.back-button:focus-visible,.restart-button:focus-visible{outline-offset:3px;outline:3px solid #d45d3d}.choice--success{background:linear-gradient(135deg,#087fbd,#00b9a8);border-color:#8af5e1}.choice--pending{background:linear-gradient(135deg,#ff8a00,#f24b70);border-color:#ffd166}.choice__icon{font-size:2rem;line-height:1}.scanner-screen{max-width:720px;margin:0 auto}.page-header{align-items:center;gap:18px;display:flex}.page-header h1{font-size:clamp(2.2rem,8vw,4rem)}.back-button{color:#102a43;cursor:pointer;background:#fffa;border:1px solid #b6c9cf;border-radius:50%;width:44px;height:44px;font-size:1.5rem}.scanner-intro{margin:28px 0 20px}.scanner-card{background:#102a43;border:1px solid #8fb4bd;border-radius:20px;place-items:center;min-height:320px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #102a4324}#qr-reader{width:100%}#qr-reader video{object-fit:cover;min-height:320px;display:block;width:100%!important}#qr-reader__dashboard{color:#fff;padding:12px;font-size:.8rem}#qr-reader__dashboard button{cursor:pointer;border:0;border-radius:6px;padding:8px 12px}.scanner-guide{pointer-events:none;border:2px solid #fff;border-radius:14px;width:240px;height:240px;position:absolute;box-shadow:0 0 0 999px #102a434d}.scanner-status{color:#102a43;text-align:center;margin:20px 0 0;font-weight:700}.scanner-status--error{color:#b83b2b}.hash-hint{color:#56727a;text-align:center;margin:8px 0 0;font-size:.82rem}.result-screen{background:#102a43;place-items:center;min-height:100svh;padding:32px 20px;display:grid;position:relative;overflow:hidden}.result-art{z-index:0;object-fit:cover;opacity:.92;width:100%;height:100%;position:absolute;inset:0}.result-panel{z-index:1;text-align:center;background:#fffe;border-radius:20px;width:min(100%,480px);padding:42px 28px 30px;animation:.5s ease-out both rise;position:relative;box-shadow:0 24px 70px #0005}.result-icon{color:#fff;border:6px solid #fff;border-radius:50%;place-items:center;width:64px;height:64px;margin:-74px auto 24px;font-size:2rem;font-weight:700;display:grid}.result--success .result-icon{background:#239653}.result--not-computed .result-icon{background:#657985}.result--invalid .result-icon{background:#c94d39}.result-panel h1{font-size:clamp(2.3rem,8vw,4.5rem)}.result-message{color:#56727a;margin:18px auto 28px;line-height:1.5}.restart-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#087fbd,#00a896);border:0;border-radius:10px;padding:13px 18px;font-weight:700;transition:transform .18s,filter .18s}.restart-button:hover{filter:brightness(1.1);transform:translateY(-2px)}@keyframes appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=500px){.home-screen,.scanner-screen{padding:28px 18px}.choice-grid{grid-template-columns:1fr}.choice{min-height:104px}.scanner-card,#qr-reader video{min-height:280px}.install-message{gap:12px;width:auto;bottom:16px;left:16px;right:16px}.install-message__actions{gap:4px}}
