.qr-modal-backdrop.svelte-1et0efn{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1050}.qr-modal.svelte-1et0efn{border-radius:16px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:svelte-1et0efn-slideIn .3s ease-out;box-shadow:0 20px 60px #00000026}@keyframes svelte-1et0efn-slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.qr-modal-header.svelte-1et0efn{display:flex;justify-content:flex-end;padding:16px 20px 0}.close-btn.svelte-1et0efn{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s}.close-btn.svelte-1et0efn:hover{background-color:#f5f5f5}.qr-modal-content.svelte-1et0efn{padding:20px 40px 40px;text-align:center}.qr-card.svelte-1et0efn{border-radius:16px;padding:20px;margin-bottom:30px;display:inline-block;box-shadow:0 8px 32px #00000026}.qr-code-container.svelte-1et0efn{background:#fff;border-radius:12px;padding:16px;margin-bottom:20px;display:inline-block}.researcher-name.svelte-1et0efn{color:#fff;font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.qr-modal-text.svelte-1et0efn p:where(.svelte-1et0efn){color:#666;font-size:14px;line-height:1.5;margin-bottom:24px}.color-selector.svelte-1et0efn{display:flex;justify-content:center;gap:12px;margin-bottom:30px;transition:all .3s ease}.color-option.svelte-1et0efn{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s}.color-option.svelte-1et0efn:hover{transform:scale(1.1)}.color-option.selected.svelte-1et0efn{transform:scale(1.15)}.download-btn.svelte-1et0efn{color:#fff;border:none;padding:12px 30px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.download-btn.svelte-1et0efn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003;filter:brightness(1.1)}@media (max-width: 768px){.qr-modal.svelte-1et0efn{width:95%;margin:20px}.qr-modal-content.svelte-1et0efn,.qr-card.svelte-1et0efn{padding:20px}.qr-code-container.svelte-1et0efn canvas{max-width:100%;height:auto}}
