.qr-reader[data-v-c5fa79b2]{width:100%;max-width:500px}.upload-area[data-v-c5fa79b2]{border:2px dashed var(--color-border);border-radius:16px;padding:48px 32px;text-align:center;cursor:pointer;transition:all .45s cubic-bezier(.4,0,.2,1);background:var(--color-surface)}.upload-area.has-result[data-v-c5fa79b2]{padding-top:8px;padding-bottom:8px}.upload-area[data-v-c5fa79b2]:hover{border-color:var(--color-accent);background:var(--color-surface-hover)}.upload-area.dragover[data-v-c5fa79b2]{border-color:var(--color-accent);background:var(--color-surface-active);transform:scale(1.01)}.upload-icon[data-v-c5fa79b2]{color:var(--color-accent);margin-bottom:16px;opacity:.8}.upload-text[data-v-c5fa79b2]{color:var(--color-text);font-size:16px;font-weight:500;margin-bottom:4px}.upload-text-secondary[data-v-c5fa79b2]{color:var(--color-text-muted);font-size:14px;margin-top:16px;margin-bottom:16px}input[type=file][data-v-c5fa79b2]{display:none}.btn[data-v-c5fa79b2]{background:var(--color-accent);color:var(--color-text-on-accent);border:none;padding:12px 28px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn[data-v-c5fa79b2]:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--color-accent-shadow)}.preview[data-v-c5fa79b2]{margin-top:24px;background:var(--color-surface);border-radius:16px;padding:20px;border:1px solid var(--color-border)}.preview-header[data-v-c5fa79b2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:var(--color-text-muted);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.btn-reset[data-v-c5fa79b2]{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--color-text-muted);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.btn-reset[data-v-c5fa79b2]:hover{background:var(--color-surface-hover);color:var(--color-text)}.preview img[data-v-c5fa79b2]{width:100%;border-radius:12px;box-shadow:0 2px 8px #0000001a}.loading[data-v-c5fa79b2]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;color:var(--color-accent);font-size:14px}.spinner[data-v-c5fa79b2]{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin-c5fa79b2 .8s linear infinite}@keyframes spin-c5fa79b2{to{transform:rotate(360deg)}}.result[data-v-c5fa79b2]{margin-top:16px;padding:16px;border-radius:12px;position:relative}.result.success[data-v-c5fa79b2]{background:var(--color-success-bg);border:1px solid var(--color-success-border)}.result.error[data-v-c5fa79b2]{background:var(--color-error-bg);border:1px solid var(--color-error-border)}.result-label[data-v-c5fa79b2]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.result.success .result-label[data-v-c5fa79b2]{color:var(--color-success)}.result.error .result-label[data-v-c5fa79b2]{color:var(--color-error)}.result-text[data-v-c5fa79b2]{color:var(--color-text);font-size:15px;line-height:1.6;word-break:break-word;font-family:JetBrains Mono,Fira Code,monospace;padding:12px;background:var(--color-bg);border-radius:8px}.btn-copy[data-v-c5fa79b2]{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:6px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:12px;font-weight:500;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-copy[data-v-c5fa79b2]:hover{background:var(--color-surface-hover);color:var(--color-text)}.fade-enter-active[data-v-c5fa79b2],.fade-leave-active[data-v-c5fa79b2]{transition:all .3s ease}.fade-enter-from[data-v-c5fa79b2],.fade-leave-to[data-v-c5fa79b2]{opacity:0;transform:translateY(-10px)}.button-group[data-v-c5fa79b2]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-camera[data-v-c5fa79b2]{display:flex;align-items:center;justify-content:center}.camera-preview[data-v-c5fa79b2]{margin-top:16px;width:100%}.camera-preview video[data-v-c5fa79b2]{width:100%;max-height:400px;border-radius:12px;background:var(--color-bg);object-fit:contain}.camera-controls[data-v-c5fa79b2]{display:flex;gap:12px;justify-content:center;margin-top:16px;align-items:center}.btn-capture[data-v-c5fa79b2]{width:64px;height:64px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-text-on-accent);border:4px solid var(--color-surface);box-shadow:0 2px 8px #0003}.btn-capture[data-v-c5fa79b2]:hover{transform:scale(1.05);box-shadow:0 4px 12px var(--color-accent-shadow)}.btn-secondary[data-v-c5fa79b2]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary[data-v-c5fa79b2]:hover{background:var(--color-surface-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.captured-preview[data-v-c5fa79b2]{margin-top:16px;width:100%}.captured-preview img[data-v-c5fa79b2]{width:100%;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px}.captured-controls[data-v-c5fa79b2]{display:flex;gap:12px;justify-content:center}@media(max-width:480px){.button-group[data-v-c5fa79b2]{flex-direction:column}.button-group .btn[data-v-c5fa79b2]{width:100%}.camera-controls[data-v-c5fa79b2],.captured-controls[data-v-c5fa79b2]{flex-direction:column}.captured-controls .btn[data-v-c5fa79b2],.camera-controls .btn-secondary[data-v-c5fa79b2]{width:100%}}.home[data-v-fe5f0ffd]{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.container[data-v-fe5f0ffd]{display:flex;flex-direction:column;align-items:center;width:100%;max-width:560px}.hero[data-v-fe5f0ffd]{text-align:center;margin-bottom:40px}.logo[data-v-fe5f0ffd]{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;margin-bottom:24px;color:var(--color-accent);box-shadow:0 0 40px var(--color-accent-glow),inset 0 1px #ffffff0d}h1[data-v-fe5f0ffd]{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle[data-v-fe5f0ffd]{color:var(--color-text-muted);font-size:1rem;max-width:320px;margin:0 auto}.footer[data-v-fe5f0ffd]{margin-top:40px;text-align:center}.footer p[data-v-fe5f0ffd]{color:var(--color-text-muted);font-size:13px;opacity:.7}
