/* DOSIGNY — Tool base64-encoder: Logik unverändert aus tools/base64-encoder.php übernommen (umgewandelt von werkzeuge_umbauen.py). */
.dz-tool .tool-container { padding: calc(80px + var(--spacing-xl)) 0 var(--spacing-xl); min-height: 100vh; }
.dz-tool .tool-header { text-align: center; margin-bottom: var(--spacing-xl); }
.dz-tool .tool-header__title { font-size: clamp(1.75rem, 4vw, 2.5rem); margin-bottom: var(--spacing-sm); }
.dz-tool .tool-header__desc { color: var(--color-text-muted); max-width: 600px; margin: 0 auto; }
.dz-tool .tool-back { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--color-text-muted); text-decoration: none; margin-bottom: var(--spacing-md); font-size: 0.9rem; }
.dz-tool .tool-back:hover { color: var(--color-primary); }
.dz-tool .tool-box { max-width: 900px; margin: 0 auto; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: var(--spacing-lg); }
.dz-tool .tabs { display: flex; gap: var(--spacing-xs); margin-bottom: var(--spacing-lg); }
.dz-tool .tab { padding: 0.75rem 1.5rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-sm); color: var(--color-text); cursor: pointer; }
.dz-tool .tab:hover { background: rgba(255,255,255,0.1); }
.dz-tool .tab.active { background: var(--color-primary); border-color: var(--color-primary); }
.dz-tool .tab-content { display: none; }
.dz-tool .tab-content.active { display: block; }
.dz-tool .editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md); }
@media (max-width: 700px) {.dz-tool .editor-grid { grid-template-columns: 1fr; }
 }
.dz-tool .editor-pane label { display: block; font-size: 0.9rem; color: var(--color-text-muted); margin-bottom: 0.5rem; }
.dz-tool textarea { width: 100%; height: 200px; padding: var(--spacing-md); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-sm); color: var(--color-text); font-family: monospace; font-size: 0.9rem; resize: vertical; }
.dz-tool textarea:focus { outline: none; border-color: var(--color-primary); }
.dz-tool .btn-row { display: flex; gap: var(--spacing-sm); margin: var(--spacing-md) 0; justify-content: center; }
.dz-tool .btn { padding: 0.75rem 1.5rem; background: var(--color-primary); color: #0c0816; border: none; border-radius: var(--radius-sm); cursor: pointer; font-size: 0.95rem; }
.dz-tool .btn:hover { opacity: 0.9; }
.dz-tool .btn--secondary { background: rgba(255,255,255,0.1); color: #fff; }
.dz-tool .file-upload { border: 2px dashed rgba(255,255,255,0.2); border-radius: var(--radius-md); padding: var(--spacing-xl); text-align: center; cursor: pointer; transition: all 0.2s; }
.dz-tool .file-upload:hover { border-color: var(--color-primary); background: rgba(99, 102, 241, 0.05); }
.dz-tool .file-upload input { display: none; }
.dz-tool .file-upload__text { color: var(--color-text-muted); }
.dz-tool .image-preview { margin-top: var(--spacing-md); text-align: center; }
.dz-tool .image-preview img { max-width: 200px; max-height: 200px; border-radius: var(--radius-sm); }
.dz-tool .output-box { background: #1a1a2e; border-radius: var(--radius-md); padding: var(--spacing-md); margin-top: var(--spacing-md); position: relative; }
.dz-tool .output-box pre { color: #a5b4fc; font-size: 0.85rem; white-space: pre-wrap; word-break: break-all; margin: 0; max-height: 200px; overflow: auto; }
.dz-tool .copy-btn { position: absolute; top: var(--spacing-sm); right: var(--spacing-sm); padding: 0.4rem 0.8rem; background: var(--color-primary); color: #0c0816; border: none; border-radius: var(--radius-sm); cursor: pointer; font-size: 0.8rem; }
.dz-tool .copy-btn.copied { background: #10b981; }

    