.b64-page-header{text-align:center;max-width:900px;margin:0 auto;padding:24px 16px 8px}.b64-wrapper{flex-direction:column;gap:16px;max-width:900px;margin:0 auto;padding:0 16px 48px;display:flex}.b64-mode-tabs{border-bottom:2px solid var(--swp-border,#e5e7eb);display:flex}.b64-mode-tab{min-height:44px;color:var(--swp-ink-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;margin-bottom:-2px;padding:10px 16px;font-size:14px;font-weight:700;transition:color .15s,border-color .15s}.b64-mode-tab--active{color:var(--color-primary,#0d9488);border-bottom-color:var(--color-primary,#0d9488)}.b64-urlsafe-row{background:var(--swp-bg,#f9fafb);border:1px solid var(--swp-border,#e5e7eb);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.b64-urlsafe-check{cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary,#0d9488);flex-shrink:0}.b64-urlsafe-label{color:var(--swp-ink);cursor:pointer;font-size:13px}.b64-section{background:var(--swp-surface,#fff);border:1px solid var(--swp-border,#e5e7eb);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.b64-section-title{color:var(--swp-ink);margin:0;font-size:13px;font-weight:800}.b64-presets{flex-wrap:wrap;gap:6px;display:flex}.b64-preset-btn{border:1px solid var(--swp-border,#e5e7eb);background:var(--swp-surface,#fff);cursor:pointer;min-height:44px;color:var(--swp-ink);white-space:nowrap;border-radius:20px;padding:8px 12px;font-size:12px;transition:background .15s}.b64-preset-btn:hover{background:var(--swp-bg,#f9fafb)}.b64-layout{grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;display:grid}.b64-swap-col{justify-content:center;align-items:center;padding-top:48px;display:flex}.b64-pane-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.b64-pane-label{color:var(--swp-ink);margin:0;font-size:13px;font-weight:700}.b64-char-count{color:var(--swp-ink-muted);white-space:nowrap;font-size:11px}.b64-textarea{border:1px solid var(--swp-border,#e5e7eb);width:100%;min-height:180px;color:var(--swp-ink);background:var(--swp-bg,#f9fafb);resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 12px;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.6;transition:border-color .15s}.b64-textarea:focus{border-color:var(--color-primary,#0d9488);outline:none}.b64-textarea--output{background:var(--swp-surface,#fff);color:var(--swp-ink)}.b64-error-msg{color:#c53030;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5}.b64-action-row{flex-wrap:wrap;gap:8px;display:flex}.b64-action-btn{border:1px solid var(--swp-border,#e5e7eb);background:var(--swp-surface,#fff);cursor:pointer;min-height:44px;color:var(--swp-ink);border-radius:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:background .15s}.b64-action-btn:hover:not(:disabled){background:var(--swp-bg,#f9fafb)}.b64-action-btn:disabled{opacity:.4;cursor:not-allowed}.b64-action-btn--copied{color:#065f46;background:#d1fae5;border-color:#059669}.b64-swap-btn{border:1px solid var(--swp-border,#e5e7eb);background:var(--swp-surface,#fff);cursor:pointer;min-width:44px;min-height:44px;color:var(--swp-ink);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;transition:background .15s;display:flex}.b64-swap-btn:hover:not(:disabled){background:var(--swp-bg,#f9fafb)}.b64-swap-btn:disabled{opacity:.4;cursor:not-allowed}.b64-image-panel{border:1px solid var(--swp-border,#e5e7eb);border-radius:12px;overflow:hidden}.b64-image-toggle{background:var(--swp-bg,#f9fafb);width:100%;min-height:44px;color:var(--swp-ink);cursor:pointer;text-align:left;border:none;gap:8px;padding:12px 16px;font-size:14px;font-weight:700;transition:background .15s;display:flex}.b64-image-toggle:hover{background:var(--swp-surface,#fff)}.b64-image-body{border-top:1px solid var(--swp-border,#e5e7eb);flex-direction:column;gap:12px;padding:16px;display:flex}.b64-image-note{color:var(--swp-ink-muted);margin:0;font-size:12px}.b64-image-dropzone{border:2px dashed var(--swp-border,#9ca3af);cursor:default;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:16px;transition:border-color .15s,background .15s;display:flex}.b64-image-dropzone--dragging{border-color:var(--color-primary,#0d9488);background:color-mix(in srgb, var(--color-primary,#0d9488) 5%, transparent)}.b64-dropzone-text{color:var(--swp-ink-muted);margin:0;font-size:14px;font-weight:700}.b64-dropzone-sub{color:var(--swp-ink-muted);margin:0;font-size:12px}.b64-image-select-btn{border:1px solid var(--color-primary,#0d9488);background:var(--swp-surface,#fff);min-height:44px;color:var(--color-primary,#0d9488);cursor:pointer;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:700;transition:background .15s}.b64-image-select-btn:hover{background:color-mix(in srgb, var(--color-primary,#0d9488) 8%, transparent)}.b64-image-file-input{display:none}.b64-image-preview{flex-direction:column;gap:10px;display:flex}.b64-image-thumb{object-fit:cover;border:1px solid var(--swp-border,#e5e7eb);border-radius:8px;width:100px;height:100px}.b64-image-info{flex-direction:column;gap:2px;display:flex}.b64-image-filename{color:var(--swp-ink);word-break:break-all;margin:0;font-size:13px;font-weight:700}.b64-image-size{color:var(--swp-ink-muted);margin:0;font-size:12px}.b64-image-dataurl{color:var(--swp-ink-muted);word-break:break-all;background:var(--swp-bg,#f9fafb);border:1px solid var(--swp-border,#e5e7eb);border-radius:6px;padding:8px 10px;font-family:Courier New,Courier,monospace;font-size:12px}.b64-image-clear-btn{color:#dc2626;border-color:#fca5a5}.b64-image-clear-btn:hover{background:#fee2e2}.b64-cheatsheet{background:var(--swp-surface,#fff);border:1px solid var(--swp-border,#e5e7eb);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.b64-cheatsheet-title{color:var(--swp-ink);margin:0;font-size:13px;font-weight:800}.b64-cheatsheet-table{border-collapse:collapse;width:100%;font-size:13px}.b64-cheatsheet-table th,.b64-cheatsheet-table td{border:1px solid var(--swp-border,#e5e7eb);text-align:left;color:var(--swp-ink);padding:6px 12px}.b64-cheatsheet-table th{background:var(--swp-bg,#f9fafb);font-size:12px;font-weight:700}.b64-security-note{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;margin:0;padding:10px 12px;font-size:13px;line-height:1.6}.b64-how-to{max-width:900px;margin:48px auto 0;padding:0 16px}.b64-section-heading{color:var(--swp-ink);margin:0 0 16px;font-size:20px;font-weight:800}.b64-steps{color:var(--swp-ink);flex-direction:column;gap:8px;padding-left:20px;font-size:15px;line-height:1.7;display:flex}.b64-related-section{max-width:900px;margin:32px auto 0;padding:0 16px}.b64-related-tools{flex-direction:column;gap:8px;display:flex}.b64-related-link{color:var(--color-primary,#0d9488);font-size:15px;text-decoration:none}.b64-related-link:hover{text-decoration:underline}@media (width<=639px){.b64-layout{grid-template-columns:1fr}.b64-input-col{order:1}.b64-swap-col{order:2;justify-content:center;padding-top:0}.b64-output-col{order:3}.b64-swap-btn{transform:rotate(90deg)}.b64-textarea{min-height:140px}.b64-image-dropzone{min-height:120px}}
