:root{--bg: #edf0f4;--card: #ffffff;--muted: #9098a7;--text: #252535;--line: #d9dde6;--dash: #2f9fd8;--accent: #1f6feb;--accent-dark: #154aa5}*{box-sizing:border-box}body{margin:0;font-family:Avenir Next,Segoe UI,PingFang SC,sans-serif;color:var(--text);background:radial-gradient(circle at 20% 10%,#f5f7fb 0%,var(--bg) 62%)}.page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;position:relative}.modal-card{width:min(760px,95vw);background:var(--card);border-radius:14px;box-shadow:0 22px 46px #1a253d1f;padding:28px;animation:enter .26s ease-out}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-header,.card-footer,.panel-head,.hint-row,.progress-wrap{display:flex;justify-content:space-between;align-items:center}.card-header h1{margin:0;font-size:38px;font-weight:650;letter-spacing:-.3px}.icon-btn,.text-btn,.secondary-btn,.primary-btn,.help-btn{border:0;background:transparent;cursor:pointer}.icon-btn{font-size:28px;color:#566072;line-height:1}.drop-zone{margin-top:20px;border:2px dashed var(--line);border-radius:12px;min-height:240px;display:grid;place-items:center;text-align:center;padding:16px;background:#fafbfc;transition:border-color .18s ease,background .18s ease}.drop-zone.active{border-color:var(--dash);background:#f0f8ff}.file-icon{font-size:38px;margin-bottom:6px}.drop-zone p{margin:0;font-size:18px}.text-btn{color:#111;text-decoration:underline;font:inherit;padding:0}.hint-row{margin-top:12px;color:var(--muted);font-size:14px}.panel{margin-top:14px;background:#f4f6fa;border-radius:10px;padding:14px}.panel-head strong{font-size:15px}.panel-head p{margin:2px 0 0;color:var(--muted);font-size:13px}.secondary-btn,.primary-btn{border-radius:10px;padding:10px 18px;font-size:15px;border:1px solid var(--line);background:#fff}.primary-btn{border-color:transparent;background:var(--accent);color:#fff;transition:background .18s ease}.primary-btn:hover{background:var(--accent-dark)}.primary-btn:disabled{background:#e7eaf1;color:#9fa8b7;cursor:not-allowed}.file-list{list-style:none;padding:0;margin:12px 0 8px;max-height:160px;overflow:auto}.file-list li{padding:8px 10px;background:#fff;border-radius:8px;border:1px solid #e7eaf1;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:12px}.file-name{font-size:14px;font-weight:550}.file-meta{color:var(--muted);font-size:12px}.badge{font-size:12px;border-radius:999px;padding:2px 8px;color:#175f97;background:#dff2ff}.dir-label{font-size:13px;color:#4b5567;margin-bottom:8px}.progress-track{flex:1;height:8px;border-radius:999px;background:#e6e9ef;overflow:hidden;margin-right:10px}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f6feb,#27a6f0);transition:width .16s ease}#progressText{width:42px;color:#6c7688;text-align:right;font-size:13px}.log-box{margin-top:14px;width:100%;min-height:124px;max-height:220px;overflow:auto;background:#0f172a;color:#dbe6ff;border-radius:10px;padding:10px;font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:12px}.card-footer{margin-top:14px}.help-btn{font-size:15px;color:#6f7788}.actions{display:flex;gap:10px}.lang-floating{position:fixed;top:24px;right:24px;z-index:30}.lang-wrapper{position:relative}.lang-toggle{width:66px;height:50px;border-radius:12px;border:2px solid #1f6feb;background:#fff;color:#5d6677;font-size:19px;line-height:1;font-weight:600;letter-spacing:.2px;padding:0 6px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.lang-menu{position:absolute;right:0;top:calc(100% + 10px);width:240px;margin:0;padding:14px 0;list-style:none;border:1px solid #d2d7e0;background:#fff;box-shadow:0 18px 32px #1822382e;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .14s ease,transform .14s ease;z-index:20}.lang-wrapper.open .lang-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.lang-item{width:100%;border:0;background:transparent;text-align:left;padding:10px 34px;color:#585f6f;font-size:20px;cursor:pointer}.lang-item:hover{background:#f3f5f9}.lang-item.active{color:#1f2430;font-weight:700}@media (max-width: 720px){.modal-card{padding:18px}.card-header h1{font-size:30px}.drop-zone{min-height:170px}.lang-floating{top:14px;right:14px}.lang-toggle{width:58px;height:45px;font-size:17px}.lang-menu{width:200px}}
