*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:20px}.header{text-align:center;padding:40px 20px;color:#fff;position:relative}.language-switcher{position:absolute;top:20px;right:20px;display:flex;gap:5px}.lang-btn{padding:8px 12px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;border-radius:20px;cursor:pointer;font-size:.9em;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lang-btn:hover{background:#fff3;border-color:#ffffff80}.lang-btn.active{background:#ffffffe6;color:#667eea;border-color:#fff;font-weight:600}.title{font-size:2.5em;margin-bottom:10px;font-weight:700}.subtitle{font-size:1.2em;opacity:.9}.upload-area{background:#fff;border:3px dashed #ccc;border-radius:12px;padding:60px 20px;margin-bottom:30px;text-align:center;transition:all .3s ease;cursor:pointer}.upload-area:hover,.upload-area.dragover{border-color:#667eea;background-color:#f8f9ff}.upload-area h3{margin:20px 0 10px;color:#333;font-size:1.5em}.upload-icon{font-size:4em;margin-bottom:20px}.select-button{padding:12px 24px;border:none;border-radius:8px;font-size:1em;cursor:pointer;transition:all .3s ease;font-weight:600;background:#667eea;color:#fff;margin-top:20px}.select-button:hover{background:#5a6fd8;transform:translateY(-2px)}.preview-section{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;padding:30px;margin-bottom:30px}.section-title{font-size:1.5em;margin-bottom:20px;color:#333}.preview-image{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 15px #0000001a;display:block;margin:0 auto 30px}.controls{display:flex;flex-direction:column;gap:20px}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-weight:500;color:#555;display:flex;justify-content:space-between;align-items:center}.control-group .value{color:#667eea;font-weight:600;font-size:1.1em}.control-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer}.control-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer;border:none}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.convert-button{padding:12px 24px;border:none;border-radius:8px;font-size:1.1em;cursor:pointer;transition:all .3s ease;font-weight:600;background:#667eea;color:#fff;margin-top:10px}.convert-button:hover{background:#5a6fd8;transform:translateY(-2px)}.loading-section{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;padding:60px 30px;margin-bottom:30px;text-align:center}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:1.1em;color:#666}.result-section{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;padding:30px;margin-bottom:30px}.tabs{display:flex;gap:0;margin-bottom:20px;border-radius:8px;overflow:hidden;background:#f0f0f0}.tab{flex:1;padding:12px 20px;border:none;background:#f0f0f0;color:#666;font-weight:500;cursor:pointer;transition:all .3s ease}.tab.active{background:#667eea;color:#fff}.tab:hover:not(.active){background:#e0e0e0}.tab-content{width:100%}.ascii-output{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:20px;overflow:auto;max-height:600px;color:#000;font-family:Courier New,monospace;font-size:.5em;line-height:1;white-space:pre;margin:0;letter-spacing:0;box-shadow:inset 0 2px 4px #0000001a}.ascii-output::-webkit-scrollbar{width:8px;height:8px}.ascii-output::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.ascii-output::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.ascii-output::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.image-result{text-align:center;padding:20px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:inset 0 2px 4px #0000001a}.image-result img{max-width:100%;border:1px solid #ddd;border-radius:4px}.action-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;justify-content:center}.action-button{padding:10px 20px;border:none;border-radius:8px;font-size:.95em;cursor:pointer;transition:all .3s ease;font-weight:600;background:#f8f9fa;color:#333;border:2px solid #dee2e6}.action-button:hover{background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.reset-button{background:#dc3545;color:#fff;border-color:#dc3545}.reset-button:hover{background:#c82333;border-color:#c82333}.footer{text-align:center;padding:20px;color:#fff;opacity:.8}.copy-success{position:fixed;top:20px;right:20px;background:#28a745;color:#fff;padding:12px 20px;border-radius:8px;font-weight:600;z-index:1000;animation:slideIn .3s ease}.width-adjustment-notice{position:fixed;top:70px;right:20px;background:#667eea;color:#fff;padding:12px 20px;border-radius:8px;font-weight:600;z-index:1000;animation:slideIn .3s ease;box-shadow:0 4px 15px #667eea4d}.notice-content{display:flex;align-items:center;gap:8px}.notice-icon{font-size:1.2em}.notice-text{font-size:1em}.notice-detail{font-size:.9em;opacity:.9;margin-left:4px}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.title{font-size:2em}.language-switcher{position:static;justify-content:center;margin-bottom:20px}.container{padding:10px}.preview-section,.result-section,.upload-area{padding:20px;margin-bottom:20px}.upload-area{padding:40px 20px}.action-buttons{flex-direction:column}.tab{padding:10px 15px;font-size:.9em}.ascii-output{font-size:.4em}}@media (max-width: 480px){.upload-area{padding:30px 15px}.upload-icon{font-size:3em}.title{font-size:1.8em}.lang-btn{padding:6px 10px;font-size:.8em}.ascii-output{font-size:.3em}.width-adjustment-notice{top:60px;right:10px;left:10px;padding:10px 15px}.notice-content{flex-direction:column;align-items:flex-start;gap:4px}.tab{padding:8px 12px;font-size:.8em}}
