:root{--primary-color:#4361ee;--secondary-color:#3a0ca3;--accent-color:#7209b7;--light-color:#f8f9fa;--dark-color:#212529;--gray-color:#6c757d;--success-color:#4cc9f0;--warning-color:#f72585;--apache-color:#e95420;--nginx-color:#009639;--border-radius:12px;--box-shadow:0 8px 24px rgba(0,0,0,0.1);--transition:all 0.3s ease}*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI','Microsoft YaHei',sans-serif}body{background-color:#f0f2f5;color:var(--dark-color);line-height:1.6}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 20px}header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:white;padding:25px 0;box-shadow:0 4px 12px rgba(0,0,0,0.1);position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:15px}.logo i{font-size:2.8rem}.logo h1{font-size:2.2rem;font-weight:700}.logo p{font-size:1.1rem;opacity:0.9;margin-top:5px}.logo span{color:var(--success-color)}main{padding:40px 0}.section-title{font-size:1.8rem;margin-bottom:25px;color:var(--secondary-color);display:flex;align-items:center;gap:10px}.section-title i{color:var(--accent-color)}.converter-container{display:flex;flex-direction:column;gap:25px}.converter-row{display:flex;flex-wrap:wrap;gap:25px}.converter-col{flex:1;min-width:500px}.converter-col h3{margin-bottom:15px;color:var(--dark-color);font-size:1.4rem;display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.apache-label{color:var(--apache-color)}.nginx-label{color:var(--nginx-color)}.code-area{position:relative;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--box-shadow)}.code-header{background:#2d2d2d;color:white;padding:15px 20px;display:flex;justify-content:space-between;align-items:center}.code-header h4{font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:10px}.code-actions{display:flex;gap:10px}.code-btn{background:rgba(255,255,255,0.1);color:white;border:none;padding:8px 12px;border-radius:6px;font-size:0.9rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px}.code-btn:hover{background:rgba(255,255,255,0.2)}textarea{width:100%;height:400px;padding:20px;border:none;font-family:'Consolas','Monaco','Courier New',monospace;font-size:0.95rem;line-height:1.5;resize:vertical;background:#1e1e1e;color:#d4d4d4;outline:none}#apache-input{border-left:4px solid var(--apache-color)}#nginx-output{border-left:4px solid var(--nginx-color)}.converter-actions{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin-top:20px}.action-btn{padding:14px 28px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:10px;font-size:1.05rem;min-width:180px;justify-content:center}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:white}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(67,97,238,0.3)}.btn-secondary{background-color:#e9ecef;color:var(--dark-color)}.btn-secondary:hover{background-color:#dee2e6;transform:translateY(-3px)}.btn-success{background:linear-gradient(135deg,var(--nginx-color),#007c3a);color:white}.btn-success:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,150,57,0.3)}.btn-warning{background:linear-gradient(135deg,var(--apache-color),#d5431d);color:white}.btn-warning:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(233,84,32,0.3)}.config-section{background:white;border-radius:var(--border-radius);padding:30px;box-shadow:var(--box-shadow);margin-top:30px}.config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}.config-group{background:#f8f9fa;padding:20px;border-radius:10px;border-left:4px solid var(--primary-color)}.config-group h4{margin-bottom:15px;color:var(--secondary-color);font-size:1.2rem;display:flex;align-items:center;gap:10px}.option-row{margin-bottom:12px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:1rem}.checkbox-label input[type="checkbox"]{width:18px;height:18px;cursor:pointer}.text-input{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:8px;font-size:1rem;margin-top:8px;transition:var(--transition)}.text-input:focus{outline:none;border-color:var(--primary-color)}.select-input{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:8px;font-size:1rem;margin-top:8px;background:white;cursor:pointer;transition:var(--transition)}.select-input:focus{outline:none;border-color:var(--primary-color)}.stats-section{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:30px}.stat-box{background:white;border-radius:10px;padding:25px;text-align:center;box-shadow:var(--box-shadow);transition:var(--transition)}.stat-box:hover{transform:translateY(-5px)}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:10px}.stat-label{color:var(--gray-color);font-size:1rem}.error-message{background-color:#ffeaea;border-left:4px solid #ff6b6b;padding:20px;border-radius:8px;margin-top:30px;display:none}.error-message.show{display:block;animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error-title{color:#d63031;font-weight:600;margin-bottom:10px;font-size:1.2rem;display:flex;align-items:center;gap:10px}.error-content{color:#636e72;font-family:'Consolas',monospace;font-size:1rem;white-space:pre-wrap;word-break:break-all}.mapping-section{background:white;border-radius:var(--border-radius);padding:30px;box-shadow:var(--box-shadow);margin-top:30px}.mapping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f0f2f5}.mapping-title{font-size:1.4rem;color:var(--secondary-color);display:flex;align-items:center;gap:10px}.mapping-content{overflow-x:auto;max-height:400px;overflow-y:auto}.mapping-table{width:100%;border-collapse:collapse;font-size:0.95rem}.mapping-table th,.mapping-table td{padding:15px;text-align:left;border-bottom:1px solid #eee}.mapping-table th{background-color:#f8f9fa;font-weight:600;color:var(--dark-color);white-space:nowrap;position:sticky;top:0}.mapping-table tr:hover{background-color:#f9f9f9}.apache-rule{color:var(--apache-color);font-family:'Consolas',monospace}.nginx-rule{color:var(--nginx-color);font-family:'Consolas',monospace}.examples-section{background:#f8f9fa;border-radius:var(--border-radius);padding:30px;margin-top:30px}.examples-section h3{margin-bottom:20px;color:var(--secondary-color);font-size:1.4rem;display:flex;align-items:center;gap:10px}.example-buttons{display:flex;gap:15px;flex-wrap:wrap}.example-btn{padding:12px 24px;background-color:white;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:var(--transition);font-size:1rem;font-weight:500;display:flex;align-items:center;gap:8px}.example-btn:hover{background-color:var(--primary-color);color:white;border-color:var(--primary-color)}footer{background-color:var(--dark-color);color:white;padding:50px 0;margin-top:60px}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px}.footer-section{flex:1;min-width:250px}.footer-section h3{font-size:1.4rem;margin-bottom:20px;color:var(--success-color)}.footer-links{list-style:none}.footer-links li{margin-bottom:12px}.footer-links a{color:#ddd;text-decoration:none;transition:var(--transition)}.footer-links a:hover{color:var(--success-color)}.copyright{text-align:center;margin-top:40px;padding-top:20px;border-top:1px solid #444;color:#aaa;font-size:0.95rem}@media (max-width:1100px){.converter-row{flex-direction:column}.converter-col{min-width:100%}.config-grid{grid-template-columns:1fr}}@media (max-width:768px){.header-content{flex-direction:column;gap:20px;text-align:center}.converter-actions{flex-direction:column}.action-btn{width:100%}.stats-section{grid-template-columns:repeat(2,1fr)}.example-buttons{flex-direction:column}.example-btn{width:100%;justify-content:center}}@media (max-width:480px){.stats-section{grid-template-columns:1fr}.code-header{flex-direction:column;gap:10px;align-items:flex-start}.code-actions{width:100%;justify-content:space-between}}