.tool-widget[data-v-97fe3cbd]{border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);background:var(--color-bg);margin-bottom:var(--space-8);gap:var(--space-5);flex-direction:column;display:flex}.tabs[data-v-97fe3cbd]{gap:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:calc(-1 * var(--space-5) + var(--space-1));padding-bottom:0;display:flex}.tab[data-v-97fe3cbd]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}.tab[data-v-97fe3cbd]:hover{color:var(--color-text)}.tab--active[data-v-97fe3cbd]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.btn[data-v-97fe3cbd]{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition);border:1px solid #0000;display:inline-flex}.btn--primary[data-v-97fe3cbd]{background:var(--color-primary);color:#fff}.btn--primary[data-v-97fe3cbd]:hover{background:var(--color-primary-hover)}.btn--ghost[data-v-97fe3cbd]{border-color:var(--color-border);color:var(--color-text-secondary);background:0 0}.btn--ghost[data-v-97fe3cbd]:hover{background:var(--color-subtle);color:var(--color-text)}.btn--sm[data-v-97fe3cbd]{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn--icon[data-v-97fe3cbd]{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn--icon[data-v-97fe3cbd]:hover{background:var(--color-subtle);color:var(--color-text)}.btn[data-v-97fe3cbd]:disabled{opacity:.5;cursor:default}.camera-idle[data-v-97fe3cbd]{align-items:center;gap:var(--space-4);padding:var(--space-10) var(--space-6);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--color-border);flex-direction:column;display:flex}.camera-idle__icon[data-v-97fe3cbd]{color:var(--color-text-tertiary)}.camera-idle__text[data-v-97fe3cbd]{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.camera-error[data-v-97fe3cbd]{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--text-sm);color:#dc2626;background:#fef2f2;border:1px solid #fecaca;flex-wrap:wrap;display:flex}.camera-view[data-v-97fe3cbd]{gap:var(--space-3);flex-direction:column;display:flex}.viewfinder[data-v-97fe3cbd]{border-radius:var(--radius-lg);aspect-ratio:4/3;background:#000;justify-content:center;align-items:center;max-height:400px;display:flex;position:relative;overflow:hidden}.camera-video[data-v-97fe3cbd]{object-fit:cover;width:100%;height:100%;display:block}.scan-canvas[data-v-97fe3cbd]{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.scan-frame[data-v-97fe3cbd]{aspect-ratio:1;pointer-events:none;width:60%;max-width:220px;transition:all .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-frame--found .scan-frame__corner[data-v-97fe3cbd]{border-color:#22c55e!important}.scan-frame__corner[data-v-97fe3cbd]{border:0 solid #fff;width:20px;height:20px;position:absolute}.scan-frame__corner--tl[data-v-97fe3cbd]{border-top-width:3px;border-left-width:3px;border-radius:2px 0 0;top:0;left:0}.scan-frame__corner--tr[data-v-97fe3cbd]{border-top-width:3px;border-right-width:3px;border-radius:0 2px 0 0;top:0;right:0}.scan-frame__corner--bl[data-v-97fe3cbd]{border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 2px;bottom:0;left:0}.scan-frame__corner--br[data-v-97fe3cbd]{border-bottom-width:3px;border-right-width:3px;border-radius:0 0 2px;bottom:0;right:0}@keyframes scan-sweep-97fe3cbd{0%{opacity:1;top:4px}90%{opacity:1;top:calc(100% - 4px)}to{opacity:0;top:calc(100% - 4px)}}.scan-line[data-v-97fe3cbd]{background:linear-gradient(90deg, transparent, var(--color-primary), transparent);height:2px;box-shadow:0 0 6px var(--color-primary);animation:1.8s ease-in-out infinite scan-sweep-97fe3cbd;position:absolute;left:4px;right:4px}.scan-status[data-v-97fe3cbd]{bottom:var(--space-3);font-size:var(--text-xs);color:#ffffffd9;padding:3px var(--space-3);white-space:nowrap;background:#00000073;border-radius:999px;position:absolute;left:50%;transform:translate(-50%)}.camera-controls[data-v-97fe3cbd]{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.option-select[data-v-97fe3cbd]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-bg);color:var(--color-text);flex:1;min-width:0}.drop-zone[data-v-97fe3cbd]{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);cursor:pointer;transition:all var(--transition);flex-direction:column;min-height:200px;display:flex}.drop-zone[data-v-97fe3cbd]:hover,.drop-zone--drag[data-v-97fe3cbd]{border-color:var(--color-primary);background:#2563eb0a}.drop-zone--has-image[data-v-97fe3cbd]{padding:var(--space-4);border-style:solid}.drop-zone__icon[data-v-97fe3cbd]{color:var(--color-text-tertiary)}.drop-zone__text[data-v-97fe3cbd]{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.drop-zone__sub[data-v-97fe3cbd]{font-size:var(--text-xs);color:var(--color-text-tertiary)}.preview-image[data-v-97fe3cbd]{object-fit:contain;border-radius:var(--radius);max-width:100%;max-height:300px}.sr-only[data-v-97fe3cbd]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-actions[data-v-97fe3cbd]{gap:var(--space-3);margin:var(--space-3);display:flex}.scan-error[data-v-97fe3cbd]{font-size:var(--text-sm);color:#dc2626;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca}.results[data-v-97fe3cbd]{gap:var(--space-3);flex-direction:column;display:flex}.results__header[data-v-97fe3cbd]{justify-content:space-between;align-items:center;display:flex}.results__title[data-v-97fe3cbd]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.result-card[data-v-97fe3cbd]{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.result-card__header[data-v-97fe3cbd]{padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.result-card__type[data-v-97fe3cbd]{font-size:var(--text-xs);font-weight:var(--font-bold);padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.result-card__type--url[data-v-97fe3cbd]{color:var(--color-primary);background:#2563eb1f}.result-card__type--email[data-v-97fe3cbd]{color:#9333ea;background:#a855f71f}.result-card__type--phone[data-v-97fe3cbd]{color:var(--color-success);background:#16a3441f}.result-card__type--wifi[data-v-97fe3cbd]{color:#d97706;background:#f59e0b1f}.result-card__type--vcard[data-v-97fe3cbd]{color:#6366f1;background:#6366f11f}.result-card__type--text[data-v-97fe3cbd]{background:var(--color-subtle);color:var(--color-text-secondary)}.result-card__time[data-v-97fe3cbd]{font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.result-card__body[data-v-97fe3cbd]{padding:var(--space-3) var(--space-4)}.result-card__text[data-v-97fe3cbd]{font-size:var(--text-sm);color:var(--color-text);word-break:break-all;margin:0;line-height:1.5}.result-card__actions[data-v-97fe3cbd]{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary);display:flex}.result-fade-enter-active[data-v-97fe3cbd]{transition:all .25s}.result-fade-leave-active[data-v-97fe3cbd]{transition:all .2s}.result-fade-enter-from[data-v-97fe3cbd]{opacity:0;transform:translateY(-6px)}.result-fade-leave-to[data-v-97fe3cbd]{opacity:0;transform:translateY(6px)}@media (width<=640px){.viewfinder[data-v-97fe3cbd]{aspect-ratio:3/4}.scan-frame[data-v-97fe3cbd]{width:70%}}
