.base64-encoder[data-v-3ecfaf67]{width:100%;margin:0 auto;padding:20px}.encoder-container[data-v-3ecfaf67]{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:30px}.type-selector[data-v-3ecfaf67]{display:flex;gap:20px;margin-bottom:16px;justify-content:center}.type-selector-sub[data-v-3ecfaf67]{margin-bottom:30px}.type-option[data-v-3ecfaf67]{display:flex;align-items:center;gap:6px;cursor:pointer;padding:10px 20px;border:2px solid var(--border-1);border-radius:var(--radius-pill);transition:all var(--transition);font-size:15px;color:var(--text-2)}.type-option i[data-v-3ecfaf67]{font-size:13px}.type-option[data-v-3ecfaf67]:hover{border-color:var(--brand-400);color:var(--brand-600)}.type-option.active[data-v-3ecfaf67]{border-color:var(--brand-500);background:var(--brand-50);color:var(--brand-700);font-weight:500}.type-selector-sub .type-option[data-v-3ecfaf67]{font-size:14px;padding:8px 18px}.type-option input[type=radio][data-v-3ecfaf67]{cursor:pointer}.section-title[data-v-3ecfaf67]{display:block;margin-bottom:10px;font-weight:600;color:var(--text-1);font-size:16px}.result-textarea[data-v-3ecfaf67],.text-input[data-v-3ecfaf67]{width:100%;padding:12px;border:1px solid var(--border-1);border-radius:var(--radius-sm);font-family:Courier New,monospace;font-size:14px;resize:vertical;min-height:120px}.char-count[data-v-3ecfaf67]{text-align:right;font-size:12px;color:var(--text-2);margin-top:5px}.form-hint[data-v-3ecfaf67]{margin:8px 0 0;font-size:12px;line-height:1.8;color:var(--text-2)}.form-hint code[data-v-3ecfaf67]{padding:1px 5px;border-radius:4px;background:var(--surface-2);font-family:Courier New,monospace;font-size:12px;color:var(--text-1)}.error-hint[data-v-3ecfaf67]{color:var(--danger)}.controls[data-v-3ecfaf67]{display:flex;gap:10px;margin:20px 0;justify-content:center;flex-wrap:wrap}.clear-btn[data-v-3ecfaf67],.copy-btn[data-v-3ecfaf67],.decode-btn[data-v-3ecfaf67],.download-btn[data-v-3ecfaf67],.encode-btn[data-v-3ecfaf67],.example-btn[data-v-3ecfaf67]{padding:10px 20px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:all var(--transition);display:inline-flex;align-items:center;gap:5px}.encode-btn[data-v-3ecfaf67]{background:var(--brand-500);color:var(--text-inverse)}.decode-btn[data-v-3ecfaf67]{background:var(--success);color:var(--text-inverse)}.clear-btn[data-v-3ecfaf67]{background:var(--danger);color:var(--text-inverse)}.copy-btn[data-v-3ecfaf67]{background:var(--warning);color:var(--text-inverse)}.download-btn[data-v-3ecfaf67]{background:#9c27b0;color:var(--text-inverse);text-decoration:none}.example-btn[data-v-3ecfaf67]{background:#00bcd4;color:var(--text-inverse)}.clear-btn[data-v-3ecfaf67]:hover,.copy-btn[data-v-3ecfaf67]:hover:not(:disabled),.decode-btn[data-v-3ecfaf67]:hover:not(:disabled),.download-btn[data-v-3ecfaf67]:hover,.encode-btn[data-v-3ecfaf67]:hover:not(:disabled),.example-btn[data-v-3ecfaf67]:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.2)}.copy-btn[data-v-3ecfaf67]:disabled,.decode-btn[data-v-3ecfaf67]:disabled,.encode-btn[data-v-3ecfaf67]:disabled{background:var(--border-2);cursor:not-allowed;transform:none;box-shadow:none}.result-info[data-v-3ecfaf67]{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:14px;color:var(--text-2)}.drop-zone[data-v-3ecfaf67]{border:2px dashed var(--border-1);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--transition);position:relative}.drop-zone.drag-over[data-v-3ecfaf67],.drop-zone[data-v-3ecfaf67]:hover{border-color:var(--brand-500);background:var(--brand-50)}.upload-placeholder[data-v-3ecfaf67]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;cursor:pointer}.upload-placeholder i[data-v-3ecfaf67]{font-size:48px;color:var(--brand-500);margin-bottom:10px}.upload-placeholder p[data-v-3ecfaf67]{margin:0}.file-label[data-v-3ecfaf67]{color:var(--brand-500);text-decoration:underline}.file-input[data-v-3ecfaf67]{display:none}.image-preview[data-v-3ecfaf67]{position:relative;display:inline-block}.preview-image[data-v-3ecfaf67]{max-width:200px;max-height:200px;border-radius:var(--radius-md);box-shadow:0 2px 8px rgba(0,0,0,.1)}.remove-image[data-v-3ecfaf67]{position:absolute;top:-10px;right:-10px;background:var(--danger);color:var(--text-inverse);border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center}.decoded-image[data-v-3ecfaf67]{margin-top:20px;text-align:center}.decoded-preview[data-v-3ecfaf67]{max-width:100%;max-height:300px;border-radius:var(--radius-md);box-shadow:0 2px 8px rgba(0,0,0,.1)}.file-info[data-v-3ecfaf67]{display:flex;gap:15px;margin-top:10px;font-size:14px;color:var(--text-2);flex-wrap:wrap}.common-section[data-v-3ecfaf67]{margin-top:30px;padding-top:30px;border-top:1px solid var(--border-1)}.examples[data-v-3ecfaf67]{margin-bottom:20px}.examples h4[data-v-3ecfaf67]{margin-bottom:15px;color:var(--text-1)}.example-grid[data-v-3ecfaf67]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.example-item h5[data-v-3ecfaf67]{margin-bottom:8px;color:var(--text-2)}.tips h4[data-v-3ecfaf67]{margin-bottom:15px;color:var(--text-1)}.tips ul[data-v-3ecfaf67]{margin:0;padding-left:20px;color:var(--text-2)}.tips li[data-v-3ecfaf67]{margin-bottom:5px}@media (max-width:768px){.base64-encoder[data-v-3ecfaf67]{padding:10px}.encoder-container[data-v-3ecfaf67]{padding:20px}.controls[data-v-3ecfaf67]{flex-direction:column;align-items:stretch}.file-info[data-v-3ecfaf67]{flex-direction:column;gap:5px}.result-info[data-v-3ecfaf67]{flex-direction:column;align-items:flex-start;gap:5px}.encoder-container[data-v-3ecfaf67]{padding:16px}.upload-placeholder[data-v-3ecfaf67]{padding:24px}.base64-encoder input[data-v-3ecfaf67],.base64-encoder select[data-v-3ecfaf67],.base64-encoder textarea[data-v-3ecfaf67]{font-size:16px}}@media (max-width:480px){.base64-encoder[data-v-3ecfaf67]{padding:8px}.encoder-container[data-v-3ecfaf67]{padding:12px}.upload-placeholder[data-v-3ecfaf67]{padding:18px}.type-selector[data-v-3ecfaf67]{flex-direction:column;align-items:stretch}.type-option[data-v-3ecfaf67]{justify-content:center}}