/**{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI','Microsoft YaHei',sans-serif}
body{background-color:#f5f7fa;color:#333;line-height:1.6}
.container{max-width:1200px;margin:0 auto;background-color:#fff;border-radius:12px;box-shadow:0 5px 25px rgba(0,0,0,.08);overflow:hidden}*/
.subtitle{font-size:1.1rem;opacity:.9;max-width:800px;margin:0 auto}
.main-content{display:flex;flex-wrap:wrap;gap:20px}
.mode-selector{flex:1.2;min-width:300px;background-color:#f9fafc;border-radius:10px;padding:25px}
.mode-title{font-size:1.6rem;color:#2c3e50;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #eaeef2}
.mode-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}
.tab{padding:12px 20px;background-color:#edf2f7;border-radius:8px;cursor:pointer;transition:all .3s;font-weight:600;color:#4a5568;border:none;font-size:.95rem}
.tab:hover{background-color:#e2e8f0}
.tab.active{background-color:#4299e1;color:#fff}
.mode-content{margin-top:20px}
.mode-panel{display:none;animation:fadeIn .4s}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}
to{opacity:1;transform:translateY(0)}}
.mode-panel.active{display:block}
.form-group{margin-bottom:20px}
label{display:block;margin-bottom:8px;font-weight:600;color:#2d3748}
input,select,textarea{width:100%;padding:12px 15px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s}
input:focus,select:focus,textarea:focus{outline:0;border-color:#4299e1;box-shadow:0 0 0 3px rgba(66,153,225,.2)}
textarea{min-height:180px;resize:vertical;font-family:Consolas,monospace;font-size:.95rem}
.form-row{display:flex;gap:15px;flex-wrap:wrap}
.form-row .form-group{flex:1;min-width:150px}
.note{font-size:.9rem;color:#718096;margin-top:5px;font-style:italic}
.actions{margin-top:25px}
.btn{padding:14px 28px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-primary{background-color:#4299e1;color:#fff}
.btn-primary:hover{background-color:#3182ce;transform:translateY(-2px);box-shadow:0 4px 12px rgba(66,153,225,.3)}
.btn-secondary{background-color:#a0aec0;color:#fff}
.btn-secondary:hover{background-color:#718096}
.btn-success{background-color:#38a169;color:#fff}
.btn-success:hover{background-color:#2f855a}
.btn-group{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}
.preview-section{flex:0.8;min-width:300px;background-color:#f9fafc;border-radius:10px;padding:25px}
.preview-title{font-size:1.6rem;color:#2c3e50;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #eaeef2}
.preview-content{background-color:#fff;border-radius:8px;padding:15px;max-height:400px;overflow-y:auto;overflow-x:auto;border:2px solid #e2e8f0;font-family:Consolas,monospace;font-size:.9rem;line-height:1.6}
.folder-item{padding:4px 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:flex-start}
.folder-item:last-child{border-bottom:none}
.folder-icon{color:#ffb347;margin-right:8px;font-size:1rem;flex-shrink:0;margin-top:2px}
.folder-name{word-break:break-all;flex:1}
.folder-structure{margin-left:10px;padding-left:10px;border-left:2px solid #eaeef2}
.folder-count{margin-top:15px;font-weight:600;color:#4299e1}
.upload-area{border:3px dashed #cbd5e0;border-radius:10px;padding:25px 20px;text-align:center;transition:all .3s;cursor:pointer}
.upload-area.dragover,.upload-area:hover{border-color:#4299e1;background-color:rgba(66,153,225,.05)}
.upload-icon{font-size:3rem;color:#4299e1;margin-bottom:15px}
.upload-text{font-size:1.1rem;color:#4a5568;margin-bottom:10px}
.upload-note{color:#a0aec0;font-size:.9rem}
.file-input{display:none}
.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);padding:20px 30px;border-radius:12px;color:#fff;font-weight:600;z-index:1001;box-shadow:0 10px 30px rgba(0,0,0,.2);opacity:0;transition:all .3s cubic-bezier(.68, -.55, .27, 1.55);max-width:500px;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.toast.success{background-color:#38a169}
.toast.error{background-color:#e53e3e}
.toast.info{background-color:#4299e1}
.toast-icon{margin-right:10px;font-size:1.2rem}
@media (max-width:768px){.main-content{flex-direction:column}
.mode-selector,.preview-section{width:100%}
.form-row{flex-direction:column}
.toast{width:90%;max-width:none}}
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s}
.modal-overlay.active{opacity:1;visibility:visible}
.modal{background-color:#fff;border-radius:12px;width:90%;max-width:900px;max-height:85vh;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.2);transform:translateY(-30px);transition:transform .3s}
.modal-overlay.active .modal{transform:translateY(0)}
.modal-title{font-size:1.5rem}
.modal-close{background:0 0;border:none;font-size:1.8rem;cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.modal-close:hover{background-color:rgba(255,255,255,.1)}
.modal-header{padding:14px 28px;background-color:#f0f0f0;display:flex;justify-content:space-between;align-items:center}
.modal-content{padding:25px 30px;overflow-y:auto;max-height:60vh}
.script-tabs{display:flex;border-bottom:2px solid #e2e8f0;margin-bottom:20px}
.script-tab{padding:12px 20px;background:0 0;border:none;font-size:1rem;font-weight:600;color:#4a5568;cursor:pointer;transition:all .3s;border-bottom:3px solid transparent;margin-bottom:-2px}
.script-tab:hover{color:#2d3748}
.script-tab.active{color:#4299e1;border-bottom-color:#4299e1}
.script-preview{white-space:pre-wrap;word-break:break-all;background-color:#1a202c;color:#cbd5e0;padding:20px;border-radius:8px;font-family:Consolas,monospace;font-size:.9rem;line-height:1.5;max-height:300px;overflow-y:auto;display:none}
.script-preview.active{display:block}
.download-options{display:flex;flex-wrap:wrap;gap:15px;margin-top:25px;justify-content:center}
.script-info{background-color:#f7fafc;border-radius:8px;padding:15px;margin-bottom:20px;border-left:4px solid #4299e1}
.script-info h4{margin-bottom:10px;color:#2d3748}