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