/* Light, Google-like minimal design with article & FAQ, multilingual */
:root{
  --bg:#ffffff;
  --fg:#202124;
  --muted:#5f6368;
  --primary:#1a73e8;
  --primary-hover:#1669c1;
  --success:#188038;
  --border:#e0e3e7;
  --card:#f8f9fa;
  --shadow:0 1px 2px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.04);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font:16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--fg);
  background:var(--bg);
}
.header{
  position:sticky; top:0; z-index:10;
  background:var(--bg);
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 20px;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:600; font-size:18px;}
.brand svg{fill:var(--primary)}
.nav{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.nav-link{color:var(--muted); text-decoration:none; padding:6px 10px; border-radius:10px}
.nav-link:hover{background:var(--card); color:var(--fg)}
.nav-link.active{color:var(--fg); background:var(--card)}
.lang-switch{display:flex; align-items:center; gap:6px; padding-inline-start:8px; border-inline-start:1px solid var(--border)}
.lang-switch select{border:1px solid var(--border); border-radius:8px; padding:6px 8px; background:var(--bg)}

.container{max-width:980px; margin:0 auto; padding:24px}
.hero{padding:24px 0 8px}
.hero h1{font-size:34px; margin:0 0 6px}
.subtitle{color:var(--muted); margin:0}

.uploader{margin-top:16px}
.dropzone{
  border:2px dashed var(--border);
  border-radius:var(--radius);
  background:var(--card);
  box-shadow:var(--shadow);
  display:block; padding:28px; text-align:center; cursor:pointer;
}
.dropzone.drag{border-color:var(--primary)}
.dz-inner{display:flex; flex-direction:column; align-items:center; gap:10px;}
.dz-graphic{font-size:36px}
.dz-text{font-weight:600}
.linklike{border:0; background:none; color:var(--primary); cursor:pointer; padding:0; font:inherit}
.dz-subtext{color:var(--muted); font-size:14px}

.panel.options{
  margin-top:14px; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px; background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:12px;
}
.option{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.option label{color:var(--fg); font-weight:600}
.option .hint{color:var(--muted); font-size:12px}
#quality{width:160px}
#qualityVal{min-width:28px; display:inline-block; text-align:right; color:var(--muted)}

.file-list{margin-top:14px; display:grid; gap:10px}
.file-card{
  display:grid; grid-template-columns:72px 1fr auto; gap:12px; align-items:center;
  border:1px solid var(--border); border-radius:12px; padding:10px; background:var(--bg); box-shadow:var(--shadow);
}
.file-thumb{width:72px; height:72px; border-radius:10px; background:#eee; object-fit:cover}
.file-meta{display:flex; flex-direction:column; gap:4px}
.file-name{font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%}
.file-size{color:var(--muted); font-size:13px}
.file-status{font-size:13px; color:var(--muted)}

.actions{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap}
.btn{border:1px solid var(--border); background:var(--bg); padding:10px 14px; border-radius:12px; cursor:pointer}
.btn:hover{background:var(--card)}
.btn.primary{background:var(--primary); color:white; border-color:var(--primary)}
.btn.primary:hover{background:var(--primary-hover)}
.btn.success{background:var(--success); color:white; border-color:var(--success)}

.progress{height:6px; background:#e8eaed; border-radius:999px; overflow:hidden; margin-top:6px}
.progress .bar{height:100%; width:0%; background:var(--primary); transition:width .2s}

.overall-progress{position:relative; height:12px; background:#e8eaed; border-radius:999px; overflow:hidden; margin-top:14px}
.overall-progress .bar{height:100%; width:0%; background:var(--primary); transition:width .2s}
.overall-progress .label{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:12px; color:#1f1f1f}

.hidden{display:none !important}

.info{margin-top:28px; border-top:1px solid var(--border); padding-top:20px}
.article{margin-top:24px}
.article-card{background:var(--card); border:1px solid var(--border); border-radius:12px; padding:16px; box-shadow:var(--shadow)}

.faq{margin-top:24px}
.faq-list{display:grid; gap:10px}
.faq-item{border:1px solid var(--border); background:var(--bg); border-radius:12px; box-shadow:var(--shadow); padding:10px}
.faq-item summary{cursor:pointer; font-weight:600}
.faq-item .answer{color:var(--muted); margin-top:8px}

.footer{border-top:1px solid var(--border); color:var(--muted); padding:16px 20px; text-align:center; margin-top:40px}

.dialog{border:1px solid var(--border); border-radius:16px; padding:18px; max-width:560px}
dialog::backdrop{background:rgba(32,33,36,.3)}
