.tool-work-panel [hidden] { display: none !important; }
.convert-options { display: flex; flex-wrap: wrap; align-items: end; gap: 18px; margin-bottom: 24px; }
.convert-field { display: grid; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 700; }
.convert-field select { min-height: 44px; min-width: 140px; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: white; font: inherit; }
.convert-quality { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.convert-quality input { width: 150px; accent-color: var(--mint); }
.convert-quality output { min-width: 35px; color: var(--deep); }
.convert-field[hidden] { display: none; }
.convert-mode-note { margin: 0 0 24px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.convert-results { display: grid; gap: 10px; }
.convert-results[hidden] { display: none; }
.convert-result-row { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #FBFEFC; }
.convert-thumbnail { display: block; width: 56px; height: 56px; object-fit: contain; border: 1px solid var(--line); border-radius: 10px; background: white; }
.convert-file-badge { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 10px; color: var(--deep); background: #E5F6EC; font-size: 12px; font-weight: 800; }
.convert-result-info { min-width: 0; }
.convert-result-info strong { display: block; overflow-wrap: anywhere; color: var(--ink); font-size: 13px; line-height: 1.5; }
.convert-result-info span { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.convert-result-row .secondary-button { padding: 9px 14px; min-height: 38px; font-size: 12px; white-space: nowrap; }
.convert-progress { margin-top: 22px; }
.convert-progress-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; color: var(--muted); font-size: 12px; }
.convert-progress-heading strong { color: var(--deep); font-weight: 700; }
.convert-progress progress { display: block; width: 100%; height: 8px; border: 0; border-radius: 999px; overflow: hidden; background: #E5F1EA; appearance: none; }
.convert-progress progress::-webkit-progress-bar { background: #E5F1EA; border-radius: 999px; }
.convert-progress progress::-webkit-progress-value { background: var(--mint); border-radius: 999px; transition: width .2s ease; }
.convert-progress progress::-moz-progress-bar { background: var(--mint); border-radius: 999px; }
.convert-progress progress:not([value]) { background: linear-gradient(90deg,#E5F1EA 25%,#1BAB84 50%,#E5F1EA 75%); background-size: 200% 100%; animation: convert-progress-pulse 1.5s linear infinite; }
.convert-progress progress:not([value])::-webkit-progress-bar { background: transparent; }
@keyframes convert-progress-pulse { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .convert-progress progress:not([value]) { animation: none; } .convert-progress progress::-webkit-progress-value { transition: none; } }
.document-conversion-sheet { position: fixed; top: 0; left: -100000px; pointer-events: none; width: 714px; padding: 0; margin: 0; box-sizing: border-box; color: #17231E; background: white; font: 14px/22px var(--font); overflow-wrap: anywhere; }
.document-conversion-sheet p, .document-conversion-sheet blockquote, .document-conversion-sheet ul, .document-conversion-sheet ol { margin: 0 0 12px; }
.document-conversion-sheet h1 { font-size: 26px; line-height: 34px; }
.document-conversion-sheet h2 { font-size: 22px; line-height: 30px; }
.document-conversion-sheet h3 { font-size: 18px; line-height: 26px; }
.document-conversion-sheet h1, .document-conversion-sheet h2, .document-conversion-sheet h3 { margin: 0 0 14px; }
.document-conversion-sheet img { display: block; max-width: 100%; max-height: 1000px; width: auto; height: auto; margin: 12px 0; }
.document-conversion-sheet table { width: 100%; border-collapse: collapse; margin: 0 0 12px; table-layout: fixed; }
.document-conversion-sheet td, .document-conversion-sheet th { padding: 6px 8px; border: 1px solid #C9D4CE; vertical-align: top; overflow-wrap: anywhere; }
.document-conversion-sheet pre { margin: 0; white-space: pre-wrap; font: inherit; }
@media (max-width: 640px) {
  .convert-options { gap: 14px; }
  .convert-field { width: 100%; }
  .convert-field select { width: 100%; }
  .convert-quality input { flex: 1; }
  .convert-result-row { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; padding: 12px; }
  .convert-thumbnail, .convert-file-badge { width: 44px; height: 44px; }
  .convert-result-row .secondary-button { padding: 8px 12px; }
}
