.tool-widget[data-v-08a5ebdb]{border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);background:var(--color-bg);margin-bottom:var(--space-8);position:relative}.visually-hidden[data-v-08a5ebdb]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.field[data-v-08a5ebdb]{margin-bottom:var(--space-4)}.field__header[data-v-08a5ebdb]{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.field__label[data-v-08a5ebdb]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.drop-zone[data-v-08a5ebdb]{border:1.5px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);cursor:pointer;transition:border-color var(--transition);background:var(--color-bg-secondary);position:relative}.drop-zone[data-v-08a5ebdb]:hover{border-color:var(--color-primary)}.drop-zone--active[data-v-08a5ebdb]{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.drop-zone__empty[data-v-08a5ebdb]{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.drop-zone__text[data-v-08a5ebdb]{font-size:var(--text-sm);color:var(--color-text-secondary)}.preview[data-v-08a5ebdb]{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.preview__img[data-v-08a5ebdb]{border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:100%;max-height:220px}.preview__meta[data-v-08a5ebdb]{gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.hint[data-v-08a5ebdb]{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-tertiary)}.btn[data-v-08a5ebdb]{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--sm[data-v-08a5ebdb]{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn--ghost[data-v-08a5ebdb]{border-color:var(--color-border);color:var(--color-text-secondary);background:0 0}.btn--ghost[data-v-08a5ebdb]:hover{background:var(--color-subtle);color:var(--color-text)}.tool-widget__error[data-v-08a5ebdb]{font-size:var(--text-sm);color:#dc2626;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca}.tool-widget__notice[data-v-08a5ebdb]{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius)}.exif-table[data-v-08a5ebdb]{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.exif-table th[data-v-08a5ebdb],.exif-table td[data-v-08a5ebdb]{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.exif-table th[data-v-08a5ebdb]{color:var(--color-text-secondary);font-weight:var(--font-medium);white-space:nowrap;width:40%}.exif-table td[data-v-08a5ebdb]{color:var(--color-text);font-family:var(--font-mono)}.map-link[data-v-08a5ebdb]{margin:var(--space-3) 0 0;font-size:var(--text-sm)}.map-link a[data-v-08a5ebdb]{color:var(--color-primary)}.gps-warning[data-v-08a5ebdb]{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--text-sm);color:#92400e;background:#fef9c3;border:1px solid #fde047;display:flex}[data-theme=dark] .gps-warning[data-v-08a5ebdb]{color:#fbbf24;background:#422006;border-color:#854d0e}.gps-warning svg[data-v-08a5ebdb]{flex-shrink:0;margin-top:1px}.drop-overlay[data-v-08a5ebdb]{border-radius:var(--radius-md);pointer-events:none;background:#2563eb0f;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drop-overlay__text[data-v-08a5ebdb]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);background:var(--color-bg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-primary)}.privacy-note[data-v-08a5ebdb]{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-tertiary)}
