:root{--bg:#0b0c10; --card:#151821; --ink:#e9eef7; --muted:#98a2b3; --accent:#4f8cff; --border:#232837; --good:#22c55e}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,'PingFang SC','Microsoft Yahei',sans-serif;background:var(--bg);color:var(--ink)}
.container{max-width:1000px;margin:24px auto;padding:0 16px}
.header{display:flex;align-items:center;justify-content:space-between;gap:16px}
h1{font-size:28px;margin:0}.muted{color:var(--muted)}.small{font-size:12px;color:var(--muted)}
.select{background:#0e111a;color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:8px 10px}
.btn{padding:10px 16px;border-radius:12px;border:1px solid transparent;background:var(--accent);color:#fff;cursor:pointer;font-weight:600}
.btn-secondary{background:#222b3d;border-color:var(--border);text-decoration:none}.hidden{display:none}button[disabled]{opacity:.6;cursor:not-allowed}
.btn-primary-lg{font-size:18px;padding:14px 28px;border-radius:16px;box-shadow:0 4px 24px rgba(79,140,255,.25)}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;margin-top:16px}
.grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:840px){.grid{grid-template-columns:1fr 1fr}}
.uploader{border:2px dashed var(--border);border-radius:14px;background:#0e111a;text-align:center}.dz-inner{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px}
.icon{font-size:38px}.toolbar{margin:10px 0 0}.toolbar-row{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px 10px;color:var(--muted)}
.options{display:flex;flex-direction:column;gap:8px}.radio{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px}.radio--active,.radio:has(input:checked){border-color:var(--accent)}
.form{display:grid;gap:10px}.form-3{grid-template-columns:repeat(3,1fr)}.check{display:flex;align-items:center;gap:8px}
.actions{display:flex;gap:10px;align-items:center;margin:10px 0;flex-wrap:wrap}
.log{min-height:32px;white-space:pre-wrap;color:var(--muted);margin-top:6px}
.footer{opacity:.6;text-align:center;margin-top:24px}
.compare{display:grid;gap:12px}.compare .big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.badge{padding:4px 8px;border-radius:999px;background:#222b3d;border:1px solid var(--border);color:#cde6ff}
.figure{font-size:40px;font-weight:800}.arrow{opacity:.7;font-size:24px}.sublabel{font-size:12px;color:var(--muted)}
.progress{height:12px;background:#10131c;border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--good),#16a34a);width:0%}
/* Language gate */.gate{position:fixed;inset:0;background:rgba(5,8,13,.86);display:flex;align-items:center;justify-content:center;z-index:10}
.gate-panel{width:min(540px,92vw);background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:0 20px 80px rgba(0,0,0,.5)}
.gate-title{margin:0 0 6px;font-size:22px}.gate-desc{margin:0 0 14px;color:var(--muted)}.gate-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.queue{display:grid;gap:8px}
.job{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:8px}
.job .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge-status{font-size:12px;border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:#cde6ff;background:#1a2233}
.badge-ok{background:#14341f;color:#b7f7c2;border-color:#1f6d37}
.badge-err{background:#331212;color:#ffc9c9;border-color:#7a1c1c}
