
:root{
  --bg:#fff;
  --text:#1f1f1f;
  --muted:#5f6368;
  --border:#e0e0e0;
  --primary:#1a73e8;
  --primary-press:#1557b0;
  --card:#fff;
  --shadow:0 1px 2px rgba(0,0,0,.06),0 2px 12px rgba(0,0,0,.06);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.6 "Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.container{max-width:980px;margin:0 auto;padding:0 16px}
.page-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border)}
.page-header .container{display:flex;align-items:center;gap:16px;height:64px}
.brand{display:flex;align-items:center;text-decoration:none;color:inherit;gap:10px}
.logo-dot{width:24px;height:24px;border-radius:50%;background:var(--primary);box-shadow:8px 0 0 #ea4335,16px 0 0 #fbbc05,24px 0 0 #34a853;position:relative;overflow:visible}
.brand-text{font-weight:700;font-size:20px;letter-spacing:.2px}
.brand-light{font-weight:400;color:var(--muted)}
.nav{margin-left:auto;display:flex;gap:8px}
.nav-link{padding:8px 12px;border-radius:10px;color:var(--muted);text-decoration:none}
.nav-link.active,.nav-link:hover{background:#f6f8fb;color:#202124}
.tool-card{margin:28px 0;padding:28px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
h1{margin:0 0 8px 0;font-size:28px;line-height:1.25}
.subtitle{margin:0 0 18px 0;color:var(--muted)}
.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:28px;text-align:center;transition:border-color .2s,background .2s;outline:none}
.dropzone:focus,.dropzone.dragover{border-color:var(--primary);background:#f8fbff}
.dz-inner{display:flex;flex-direction:column;align-items:center;gap:8px}
.dz-icon{font-size:40px}
.dz-text{font-size:15px}
.text-button{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font:inherit}
.text-button:hover{color:var(--primary-press);text-decoration:underline}
.dz-hint{color:var(--muted);font-size:13px}
.file-list{margin-top:16px;border:1px dashed var(--border);border-radius:12px;padding:0}
.file-list.empty{display:none}
.file-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}
.file-row:last-child{border-bottom:none}
.file-name{font-weight:500;word-break:break-all}
.file-size{color:var(--muted);font-size:14px}
.remove-btn{border:none;background:none;cursor:pointer;font-size:16px;padding:4px 8px;color:#b00020}
.remove-btn:hover{opacity:.8}
.actions{display:flex;gap:10px;align-items:center;margin-top:16px}
.btn{border:1px solid var(--border);background:#f8f9fa;color:#202124;border-radius:999px;padding:10px 18px;font-weight:600;cursor:pointer}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-press)}
.btn:hover{filter:brightness(.98)}
.progress-wrap{margin-top:16px}
.hidden{display:none}
.progress-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:var(--muted)}
.progress-bar{height:10px;background:#eef2f5;border-radius:999px;overflow:hidden;border:1px solid var(--border)}
.progress-fill{height:100%;background:var(--primary);width:0%;transition:width .15s linear}
.convert-spinner{margin-top:8px;font-size:14px;color:var(--muted);position:relative;padding-left:24px}
.convert-spinner::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;border:2px solid #c7d2fe;border-top-color:var(--primary);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.downloads{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.download-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.dl-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:8px 12px;background:#fff;text-decoration:none;color:#202124}
.dl-btn:hover{background:#f6f8fb}
.dl-btn .ico{font-size:18px}
.article{margin:40px 0;padding:28px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.article h2{margin-top:0}
.article details{border:1px solid var(--border);border-radius:10px;padding:8px 12px;margin:8px 0;background:#fafafa}
.page-footer{border-top:1px solid var(--border);padding:24px 0;color:var(--muted);font-size:14px;margin-top:40px}
.server-hint{margin-top:12px;color:#b00020;font-size:14px}
