.install-banner{z-index:20;color:#fff;background:#111827;border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.install-banner__text{flex-direction:column;flex:1;gap:2px;min-width:0;line-height:1.3;display:flex}.install-banner__text strong{font-size:14px;font-weight:600}.install-banner__text span{color:#ffffffbf;font-size:12px}.install-banner__actions{gap:8px;display:flex}.install-banner__install{color:#07271a;cursor:pointer;background:#22c55e;border:0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.install-banner__dismiss{color:#ffffffb3;cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:13px}.install-banner--ios{background:#0f172a}.browser-banner{z-index:999;color:#fff;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:#0f172a;align-items:flex-start;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000040}.browser-banner__body{flex-direction:column;flex:1;gap:10px;display:flex}.browser-banner__text{color:#ffffffe6;font-size:14px;line-height:1.5}.browser-banner__copy{color:#0f172a;cursor:pointer;white-space:nowrap;background:#fff;border:0;border-radius:999px;align-self:flex-start;padding:9px 18px;font-size:14px;font-weight:700;transition:background .15s}.browser-banner__copy--done{color:#14532d;background:#bbf7d0}.browser-banner__dismiss{color:#ffffff80;cursor:pointer;background:0 0;border:0;flex-shrink:0;margin-top:2px;padding:4px;font-size:16px;line-height:1}.browser-banner__dismiss:hover{color:#fff}.qr-scanner-container{aspect-ratio:1;background:#000;border-radius:16px;width:100%;max-width:520px;margin:0 auto;position:relative;overflow:hidden}.qr-scanner-video{width:100%;height:100%}.qr-scanner-video video{object-fit:cover;width:100%!important;height:100%!important}.qr-scanner-status{color:#fff;background:#0f172ab3;border-radius:999px;padding:6px 12px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.qr-scanner-error-container,.qr-scanner-error-overlay{text-align:center;color:#991b1b;background:#fee2e2;border-radius:12px;padding:24px}.qr-scanner-error-button{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:8px;margin-top:12px;padding:10px 16px;font-weight:600}.pwa-shell{color:#0f172a;min-height:100vh;padding-bottom:env(safe-area-inset-bottom);background:#f8fafc;flex-direction:column;display:flex}.pwa-header{color:#fff;background:#0f172a;padding:16px 20px;box-shadow:0 2px 6px #0000001a}.pwa-header__event{letter-spacing:-.01em;font-size:16px;font-weight:700}.pwa-header__meta{color:#ffffffb3;margin-top:2px;font-size:12px}.pwa-main{box-sizing:border-box;flex-direction:column;flex:1;gap:20px;width:100%;max-width:640px;margin:0 auto;padding:20px 16px 80px;display:flex}.scanner-cta{background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;display:flex;box-shadow:0 1px 2px #0000000f}.scanner-cta__button{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:999px;align-items:center;gap:10px;min-width:220px;min-height:56px;padding:16px 28px;font-size:17px;font-weight:700;transition:transform 80ms;display:inline-flex}.scanner-cta__button:disabled{opacity:.6;cursor:wait}.scanner-cta__button:active:not(:disabled){transform:scale(.98)}.scanner-cta__icon{font-size:22px}.scanner-cta__hint{color:#64748b;text-align:center;margin:0;font-size:13px}.scanner-active{flex-direction:column;gap:12px;display:flex}.scanner-active__stop{color:#0f172a;cursor:pointer;background:#e2e8f0;border:0;border-radius:999px;align-self:center;padding:10px 18px;font-weight:600}.result{border-radius:14px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.result__title{font-size:18px;font-weight:700}.result__meta{font-size:14px}.result__time{color:#475569;font-size:12px}.result__undo{color:#0f172a;cursor:pointer;background:#0f172a14;border:0;border-radius:999px;align-self:flex-start;margin-top:8px;padding:8px 14px;font-size:13px;font-weight:600}.result--success{color:#166534;background:#dcfce7}.result--already{color:#854d0e;background:#fef9c3}.result--error{color:#991b1b;background:#fee2e2}.manual-entry{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px #0000000a}.manual-entry summary{cursor:pointer;padding:4px 0;font-weight:600}.manual-entry__hint{color:#64748b;margin:8px 0 12px;font-size:13px}.manual-entry__input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:15px}.manual-entry__input:focus{border-color:#0f172a;box-shadow:0 0 0 3px #0f172a14}.manual-entry__actions{gap:8px;margin-top:10px;display:flex}.manual-entry__submit{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:10px;flex:1;padding:12px 16px;font-weight:600}.manual-entry__submit:disabled{cursor:not-allowed;background:#cbd5e1}.manual-entry__clear{color:#0f172a;cursor:pointer;background:#f1f5f9;border:0;border-radius:10px;padding:12px 16px;font-weight:600}.invalid-screen{background:linear-gradient(160deg,#0f172a 0%,#1e293b 60%,#334155 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.invalid-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:420px;padding:28px 24px;box-shadow:0 24px 48px -12px #00000059}.invalid-card__icon{color:#b91c1c;background:#fee2e2;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:28px;font-weight:700;display:inline-flex}.invalid-card h1{color:#0f172a;margin:0 0 8px;font-size:20px}.invalid-card p{color:#334155;margin:0 0 8px;font-size:15px;line-height:1.5}.invalid-card__help{color:#64748b;margin-top:16px;font-size:13px}.invalid-card__help a{color:#0f172a}.invalid-card__retry{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:999px;width:100%;margin-top:16px;padding:10px 20px;font-size:14px;font-weight:600}.paste-screen{background:linear-gradient(160deg,#0f172a 0%,#1e293b 60%,#334155 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.paste-card{background:#fff;border-radius:20px;flex-direction:column;gap:0;width:100%;max-width:420px;padding:32px 24px;display:flex;box-shadow:0 24px 48px -12px #0006}.paste-card__logo{background:#121212;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:20px;padding:10px;display:flex}.paste-card__logo svg{width:100%;height:100%}.paste-card h1{color:#0f172a;margin:0 0 6px;font-size:22px;font-weight:700}.paste-card__sub{color:#475569;margin:0 0 20px;font-size:15px;line-height:1.5}.paste-card__field{margin-bottom:16px}.paste-card__input{resize:none;box-sizing:border-box;color:#0f172a;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:ui-monospace,Cascadia Code,SF Mono,monospace;font-size:14px;line-height:1.5}.paste-card__input:focus{border-color:#0f172a;box-shadow:0 0 0 3px #0f172a14}.paste-card__error{color:#b91c1c;margin:8px 0 0;font-size:13px}.paste-card__actions{flex-direction:column;gap:10px;display:flex}.paste-card__btn-primary{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:10px;width:100%;padding:14px;font-size:16px;font-weight:700;transition:opacity .1s}.paste-card__btn-primary:active{opacity:.85}.paste-card__btn-secondary{color:#0f172a;cursor:pointer;background:#f1f5f9;border:0;border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:600;transition:background .1s}.paste-card__btn-secondary:active{background:#e2e8f0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif}*{box-sizing:border-box}html{font-size:16px}html,body{color:#0f172a;background:#f8fafc;min-height:100vh;margin:0;padding:0}body{overscroll-behavior:none}a{color:inherit}button{font-family:inherit}.loading-screen{color:#475569;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;display:flex}.loading-spinner{border:3px solid #cbd5e1;border-top-color:#0f172a;border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
