:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#213547;background-color:#f6f8fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{height:100%;margin:0;padding:0}body{margin:0;padding:0;min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d,#1a1a1a);background-attachment:fixed;transition:background .3s ease}body:not(.dark-mode){background:linear-gradient(135deg,#fff,#f8f9fa,#fff);background-attachment:fixed}#root{min-height:100vh;padding:2rem 0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{max-width:1200px;margin:0 auto;padding:2rem;font-family:system-ui,-apple-system,sans-serif;transition:all .3s ease;color:#e5e7eb}.app:not(.dark-mode){color:#1f2937}.app-header{text-align:center;margin-bottom:2rem}.header-top{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:1rem;position:relative}.dark-mode-toggle{position:absolute;right:0;background:#3b82f6;color:#fff;border:none;border-radius:50%;width:50px;height:50px;font-size:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #3b82f64d;outline:none}.dark-mode-toggle:hover{background:#2563eb;transform:scale(1.1)}.dark-mode-toggle:focus{outline:none;box-shadow:0 2px 12px #3b82f680}.dark-mode-toggle:active{outline:none;transform:scale(.95)}.app:not(.dark-mode) .dark-mode-toggle{background:maroon;color:#fff;box-shadow:0 2px 8px #8000004d}.app:not(.dark-mode) .dark-mode-toggle:hover{background:#a00000}.app:not(.dark-mode) .dark-mode-toggle:focus{outline:none;box-shadow:0 2px 12px #80000080}.app:not(.dark-mode) .dark-mode-toggle:active{outline:none;transform:scale(.95)}.app-header h1{color:#e5e7eb;font-size:2.5rem;margin-bottom:1rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.app:not(.dark-mode) .app-header h1{color:maroon;text-shadow:2px 2px 4px rgba(128,0,0,.1)}.app-header p{color:#9ca3af;font-size:1.1rem;max-width:600px;margin:0 auto;line-height:1.6;opacity:.8}.app:not(.dark-mode) .app-header p{color:maroon}.tab-navigation{display:flex;justify-content:center;margin-bottom:2rem;border-bottom:2px solid #374151;background:#1f2937;border-radius:10px 10px 0 0;overflow:hidden;box-shadow:0 2px 8px #0000004d}.app:not(.dark-mode) .tab-navigation{background:#fff;border-bottom-color:#c99;box-shadow:0 2px 8px #8000001a}.tab-button{background:transparent;border:none;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#9ca3af;border-bottom:3px solid transparent;min-width:200px}.tab-button:hover{background:#374151;color:#e5e7eb;border-bottom-color:#3b82f6}.tab-button.active{background:#3b82f6;color:#fff;border-bottom-color:#2563eb}.tab-button:first-child{border-right:1px solid #374151}.app:not(.dark-mode) .tab-button{color:maroon}.app:not(.dark-mode) .tab-button:hover{background:#f8f9fa;color:maroon;border-bottom-color:maroon}.app:not(.dark-mode) .tab-button.active{background:maroon;color:#fff;border-bottom-color:#a00000}.app:not(.dark-mode) .tab-button:first-child{border-right-color:#c99}.container{display:flex;flex-direction:column;gap:2rem}.section{background:#1f2937;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;border:1px solid #374151;transition:all .3s ease}.app:not(.dark-mode) .section{background:#fff;border-color:#c99;box-shadow:0 4px 6px -1px #8000001a,0 2px 4px -1px #8000000f}.section h2{color:#e5e7eb;font-size:1.5rem;margin-bottom:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.app:not(.dark-mode) .section h2{color:maroon}.upload-area{border:2px dashed #4b5563;border-radius:8px;padding:2rem;text-align:center;transition:border-color .3s ease;background:#111827}.upload-area:hover{border-color:#3b82f6;background:#1f2937}.app:not(.dark-mode) .upload-area{background:#f8f9fa;border-color:#c99}.app:not(.dark-mode) .upload-area:hover{background:#fff;border-color:maroon}.file-input{margin-bottom:1rem;padding:.5rem;border:1px solid #4b5563;border-radius:6px;background:#1f2937;cursor:pointer;color:#e5e7eb}.file-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.app:not(.dark-mode) .file-input{background:#fff;color:maroon;border-color:#c99}.app:not(.dark-mode) .file-input:focus{border-color:maroon;box-shadow:0 0 0 3px #8000001a}.textarea-container{position:relative}.base64-textarea{width:100%;min-height:150px;padding:1rem;border:1px solid #4b5563;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;resize:vertical;background:#111827;box-sizing:border-box;color:#e5e7eb;transition:all .3s ease}.base64-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#1f2937}.base64-textarea.readonly{background:#374151;color:#d1d5db;cursor:default}.app:not(.dark-mode) .base64-textarea{background:#fff;color:#1f2937;border-color:#c99}.app:not(.dark-mode) .base64-textarea:focus{background:#f8f9fa;border-color:maroon;box-shadow:0 0 0 3px #8000001a}.app:not(.dark-mode) .base64-textarea.readonly{background:#f8f9fa;color:maroon}.textarea-actions{display:flex;gap:1rem;margin-top:1rem;justify-content:flex-end}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-copy{background:#3b82f6;color:#fff}.btn-copy:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-clear{background:#ef4444;color:#fff}.btn-clear:hover{background:#dc2626;transform:translateY(-1px)}.btn-download{background:#10b981;color:#fff;font-weight:600}.btn-download:hover{background:#059669;transform:translateY(-1px)}.app:not(.dark-mode) .btn-copy{background:maroon}.app:not(.dark-mode) .btn-copy:hover:not(:disabled){background:#a00000}.app:not(.dark-mode) .btn-clear{background:#c60}.app:not(.dark-mode) .btn-clear:hover{background:#e67300}.app:not(.dark-mode) .btn-download{background:maroon}.app:not(.dark-mode) .btn-download:hover{background:#a00000}.image-preview{margin-top:1.5rem;text-align:center}.image-preview h3{color:#e5e7eb;margin-bottom:1rem;font-size:1.2rem}.app:not(.dark-mode) .image-preview h3{color:maroon}.preview-image{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 6px -1px #0000004d;border:1px solid #374151}.app:not(.dark-mode) .preview-image{border-color:#c99;box-shadow:0 4px 6px -1px #8000001a}.image-info{margin-top:1rem;color:#10b981;font-weight:500}.app:not(.dark-mode) .image-info{color:maroon}.image-actions{margin-top:1rem;display:flex;justify-content:center;gap:1rem}.loading-state{text-align:center;padding:2rem;color:#9ca3af;font-style:italic}.app:not(.dark-mode) .loading-state{color:maroon}.error-message{background:#1f2937;border:1px solid #ef4444;color:#fca5a5;padding:1rem;border-radius:8px;margin-top:1rem;font-weight:500}.app:not(.dark-mode) .error-message{background:#fef2f2;border-color:#f87171;color:#dc2626}@media (max-width: 768px){.app{padding:1rem}.section{padding:1.5rem}.app-header h1{font-size:2rem}.header-top{flex-direction:column;gap:1rem}.dark-mode-toggle{position:static}.textarea-actions{flex-direction:column}.btn{justify-content:center}.image-actions{flex-direction:column}.tab-button{min-width:150px;padding:.8rem 1rem}.app-footer{margin-top:3rem;padding:1.5rem 0 2rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section{animation:fadeIn .3s ease-out}.image-preview img{transition:transform .3s ease}.image-preview img:hover{transform:scale(1.02)}.app-footer{text-align:center;margin-top:4rem;padding:2rem 0 3rem;border-top:1px solid #374151;color:#9ca3af;font-size:.9rem;width:100%;box-sizing:border-box}.app:not(.dark-mode) .app-footer{border-top-color:#c99;color:maroon}.footer-content{display:flex;justify-content:center;align-items:center;gap:.5rem}.footer-heart{color:#ef4444;font-size:1.1rem;animation:heartbeat 2s ease-in-out infinite}.app:not(.dark-mode) .footer-heart{color:#dc2626}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}
