:root {
    --primary: #6366f1;
    --primary-dark: #4f46e5;
    --secondary: #8b5cf6;
    --success: #10b981;
    --danger: #ef4444;
    --warning: #f59e0b;
    --info: #3b82f6;
    --light: #f8fafc;
    --dark: #1e293b;
    --gray: #64748b;
    --gray-light: #e2e8f0;
    --radius: 16px;
    --shadow: 0 10px 40px rgba(0,0,0,0.1);
    --shadow-lg: 0 20px 60px rgba(0,0,0,0.15);
    --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
body{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;color:var(--dark)}
.container{width:100%;max-width:1100px;background:white;border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;animation:fadeIn 0.5s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.header{background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;padding:40px 30px;text-align:center;position:relative;overflow:hidden}
.header::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,0.1) 1px,transparent 1px);background-size:30px 30px;opacity:0.1;animation:float 20s linear infinite}
@keyframes float{0%{transform:translate(0,0) rotate(0deg)}100%{transform:translate(-30px,-30px) rotate(360deg)}}
.header h1{font-size:32px;font-weight:700;margin-bottom:12px;position:relative;display:inline-flex;align-items:center;gap:15px;letter-spacing:-0.5px}
.header p{font-size:16px;opacity:0.9;max-width:600px;margin:0 auto;line-height:1.6;font-weight:300}
.badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.2);padding:8px 16px;border-radius:50px;font-size:14px;margin-top:15px;backdrop-filter:blur(10px)}
.tabs{display:flex;background:var(--light);border-bottom:1px solid var(--gray-light);position:relative}
.tab{flex:1;padding:22px;text-align:center;cursor:pointer;font-weight:600;font-size:16px;color:var(--gray);background:none;border:none;outline:none;transition:var(--transition);position:relative;overflow:hidden}
.tab::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);transition:left 0.6s}
.tab:hover::before{left:100%}
.tab.active{color:var(--primary);background:white;box-shadow:0 2px 10px rgba(0,0,0,0.05)}
.tab-indicator{position:absolute;bottom:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:var(--transition);border-radius:3px 3px 0 0}
.content{padding:40px}
.tab-content{display:none;animation:slideUp 0.4s ease-out}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.tab-content.active{display:block}
.form-group{margin-bottom:32px}
.label{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-weight:600;font-size:17px;color:var(--dark)}
.label-icon{color:var(--primary);font-size:20px;width:24px;text-align:center}
.upload-box{border:3px dashed var(--gray-light);border-radius:var(--radius);padding:50px 30px;text-align:center;cursor:pointer;transition:var(--transition);background:var(--light);position:relative;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.upload-box:hover{border-color:var(--primary);background:rgba(99,102,241,0.03);transform:translateY(-2px);box-shadow:var(--shadow)}
.upload-box.dragover{border-color:var(--primary);background:rgba(99,102,241,0.08);transform:scale(1.01)}
.upload-icon{font-size:56px;color:var(--primary);margin-bottom:20px;opacity:0.8;transition:var(--transition)}
.upload-box:hover .upload-icon{transform:scale(1.1);opacity:1}
.upload-text{font-size:20px;font-weight:600;color:var(--dark);margin-bottom:10px}
.upload-subtext{font-size:15px;color:var(--gray);max-width:400px;line-height:1.5}
.file-input{display:none}
.preview{margin-top:25px;text-align:center;animation:fadeIn 0.5s ease}
.preview-img{max-width:220px;max-height:220px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,0.12);border:4px solid white;transition:var(--transition)}
.preview-img:hover{transform:scale(1.02);box-shadow:0 12px 40px rgba(0,0,0,0.15)}
.file-info{margin-top:15px;font-size:14px;color:var(--gray);display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
textarea,input{width:100%;padding:18px 20px;border:2px solid var(--gray-light);border-radius:12px;font-size:16px;font-family:'Consolas','Monaco',monospace;transition:var(--transition);background:white;color:var(--dark);line-height:1.5}
textarea{height:220px;resize:vertical;min-height:150px}
textarea:focus,input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,0.15);transform:translateY(-1px)}
.config-file-upload{margin-top:15px;display:flex;align-items:center;gap:15px}
.config-file-box{flex:1;border:2px dashed var(--gray-light);border-radius:12px;padding:20px;text-align:center;cursor:pointer;transition:var(--transition);background:var(--light)}
.config-file-box:hover{border-color:var(--primary);background:rgba(99,102,241,0.03)}
.config-file-box.dragover{border-color:var(--primary);background:rgba(99,102,241,0.08)}
.config-file-text{font-size:14px;color:var(--gray);margin-top:8px}
.config-file-info{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--primary)}
.file-remove-btn{background:none;border:none;color:var(--danger);cursor:pointer;font-size:18px;transition:var(--transition)}
.file-remove-btn:hover{transform:scale(1.2)}
.input-tabs{display:flex;background:var(--light);border-radius:12px;padding:6px;margin-bottom:15px}
.input-tab{flex:1;padding:12px;text-align:center;cursor:pointer;font-weight:600;font-size:15px;color:var(--gray);background:none;border:none;border-radius:8px;transition:var(--transition)}
.input-tab.active{background:white;color:var(--primary);box-shadow:0 2px 10px rgba(0,0,0,0.05)}
.btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:22px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:var(--transition);margin-top:10px;position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.2);transform:translate(-50%,-50%);transition:width 0.6s,height 0.6s}
.btn:hover::before{width:300px;height:300px}
.btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(99,102,241,0.4)}
.btn:active{transform:translateY(-1px)}
.btn:disabled{opacity:0.6;cursor:not-allowed;transform:none !important;box-shadow:none !important}
.btn i{font-size:20px}
.btn-decode{background:linear-gradient(135deg,var(--success),#059669)}
.btn-decode:hover{box-shadow:0 15px 40px rgba(16,185,129,0.4)}
.loader{display:none;text-align:center;padding:40px}
.spinner{width:60px;height:60px;border:4px solid rgba(99,102,241,0.1);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}
.spinner-decode{border-top-color:var(--success)}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.alert{padding:20px;border-radius:12px;margin-bottom:25px;display:none;animation:slideIn 0.3s ease;position:relative;overflow:hidden}
.alert::before{content:'';position:absolute;top:0;left:0;width:6px;height:100%}
.alert-error{background:rgba(239,68,68,0.08);color:var(--danger);border-left:6px solid var(--danger)}
.alert-success{background:rgba(16,185,129,0.08);color:var(--success);border-left:6px solid var(--success)}
.alert-info{background:rgba(59,130,246,0.08);color:var(--info);border-left:6px solid var(--info)}
@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.result-area{margin-top:35px;padding:30px;background:var(--light);border-radius:var(--radius);border-left:6px solid var(--primary);display:none;animation:fadeIn 0.5s ease}
.result-header{display:flex;align-items:center;gap:15px;margin-bottom:25px}
.result-icon{font-size:28px;color:var(--success);background:rgba(16,185,129,0.1);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.result-title{font-size:22px;font-weight:700;color:var(--dark)}
.result-subtitle{color:var(--gray);font-size:15px;margin-top:5px}
.result-image{text-align:center;margin:30px 0}
.result-img{max-width:100%;max-height:350px;border-radius:16px;box-shadow:0 15px 50px rgba(0,0,0,0.1);border:6px solid white}
.actions{display:flex;gap:15px;justify-content:center;margin-top:25px}
.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;text-decoration:none;border-radius:12px;font-weight:600;transition:var(--transition);border:none;cursor:pointer;font-size:16px}
.action-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(99,102,241,0.3)}
.action-btn-secondary{background:var(--gray-light);color:var(--dark)}
.action-btn-secondary:hover{box-shadow:0 10px 30px rgba(100,116,139,0.2)}
.decoded-result{background:white;border-radius:12px;padding:25px;margin-top:20px;position:relative}
.decoded-content{font-family:'Consolas','Monaco',monospace;font-size:14px;line-height:1.6;max-height:400px;overflow-y:auto;padding:20px;background:#f8fafc;border-radius:8px;border:1px solid var(--gray-light);white-space:pre-wrap;word-wrap:break-word}
.copy-btn{position:absolute;top:20px;right:20px;padding:10px 18px;background:var(--primary);color:white;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;transition:var(--transition)}
.copy-btn:hover{background:var(--primary-dark);transform:translateY(-2px)}
.copy-btn.copied{background:var(--success)}
.instructions{background:linear-gradient(135deg,rgba(99,102,241,0.05),rgba(139,92,246,0.05));padding:35px;border-radius:var(--radius);margin-bottom:30px}
.instructions h3{font-size:24px;color:var(--primary);margin-bottom:25px;display:flex;align-items:center;gap:15px}
.steps{display:grid;gap:25px;margin-bottom:30px}
.step{display:flex;gap:20px;align-items:flex-start}
.step-number{background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}
.step-content h4{font-size:18px;color:var(--dark);margin-bottom:8px}
.step-content p{color:var(--gray);line-height:1.6}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:30px 0}
.feature{background:white;padding:25px 15px;border-radius:var(--radius);text-align:center;border:1px solid var(--gray-light);transition:var(--transition);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px}
.feature:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:var(--shadow)}
.feature-icon{font-size:32px;color:var(--primary);margin-bottom:12px}
.feature-title{font-size:16px;font-weight:600;color:var(--dark);margin-bottom:8px;text-align:center}
.feature-desc{color:var(--gray);font-size:13px;line-height:1.5;text-align:center}
.info-card{background:white;border-radius:var(--radius);padding:30px;margin-bottom:25px;border:1px solid var(--gray-light);box-shadow:var(--shadow);transition:var(--transition)}
.info-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.info-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}
.info-icon{font-size:32px;color:var(--primary);background:rgba(99,102,241,0.1);width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.info-title{font-size:22px;font-weight:700;color:var(--dark)}
.info-content{color:var(--gray);line-height:1.7}
.info-content p{margin-bottom:15px}
.info-list{margin:15px 0;padding-left:20px}
.info-list li{margin-bottom:10px;line-height:1.6}
.warning{background:rgba(245,158,11,0.08);padding:25px;border-radius:var(--radius);border-left:6px solid var(--warning);margin-top:30px}
.warning h3{color:var(--warning);margin-bottom:15px;display:flex;align-items:center;gap:12px}
.warning p{color:var(--gray);line-height:1.6;margin-bottom:10px}
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:1000;justify-content:center;align-items:center;animation:fadeIn 0.3s ease}
.modal-content{background:white;border-radius:var(--radius);max-width:600px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp 0.3s ease}
.modal-header{padding:25px 30px;border-bottom:1px solid var(--gray-light);display:flex;justify-content:space-between;align-items:center}
.modal-title{font-size:22px;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:12px}
.modal-close{background:none;border:none;font-size:24px;color:var(--gray);cursor:pointer;transition:var(--transition)}
.modal-close:hover{color:var(--danger);transform:rotate(90deg)}
.modal-body{padding:30px}
.footer{text-align:center;padding:30px;background:var(--light);border-top:1px solid var(--gray-light)}
.footer-content{color:var(--gray);font-size:14px;line-height:1.6}
.footer-links{display:flex;justify-content:center;gap:25px;margin-top:20px;flex-wrap:wrap}
.footer-link{color:var(--primary);text-decoration:none;font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:8px;cursor:pointer}
.footer-link:hover{color:var(--secondary);transform:translateY(-2px)}
@media(max-width:1024px){.features{grid-template-columns:repeat(2,1fr);gap:20px}.feature{min-height:170px;padding:20px 15px}}
@media(max-width:768px){.container{margin:10px;border-radius:12px}.header{padding:30px 20px}.header h1{font-size:26px;flex-direction:column;gap:12px}.content{padding:25px}.tab{padding:18px 15px;font-size:15px}.upload-box{padding:40px 20px;min-height:180px}.upload-text{font-size:18px}.config-file-upload{flex-direction:column}.config-file-box{width:100%}.btn{padding:20px;font-size:16px}.actions{flex-direction:column}.action-btn{width:100%;padding:18px}.instructions,.warning{padding:25px}.steps{gap:20px}.features{grid-template-columns:repeat(2,1fr);gap:15px}.feature{padding:20px 12px;min-height:160px}.feature-icon{font-size:28px}.feature-title{font-size:15px}.feature-desc{font-size:12px}.modal-content{width:95%}}
@media(max-width:480px){body{padding:10px}.header h1{font-size:22px}.header p{font-size:14px}.content{padding:20px}.upload-text{font-size:16px}.upload-subtext{font-size:13px}textarea,input{padding:16px;font-size:15px}.result-title{font-size:20px}.info-card{padding:20px}.features{grid-template-columns:1fr;gap:15px}.feature{min-height:150px;padding:20px}.feature-icon{font-size:30px}.feature-title{font-size:16px}.feature-desc{font-size:13px}}