:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--text-main: #1f2937;--text-muted: #6b7280;--border-color: #e5e7eb;--bg-light: #f9fafb;--bg-card: #ffffff;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:16px;line-height:1.6}*{margin:0;padding:0;box-sizing:border-box}body{background-color:#f3f4f6;color:var(--text-main);min-height:100vh}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}#app{width:100%;min-height:100vh}.upload-wrapper[data-v-687185d5]{display:flex;flex-direction:column;gap:20px}.direction-selector[data-v-687185d5]{display:flex;align-items:center;gap:10px;padding:10px 15px;background:#f3f4f6;border-radius:8px}.direction-selector label[data-v-687185d5]{font-weight:500;color:var(--text-main)}.direction-select[data-v-687185d5]{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:white;font-size:.95rem;cursor:pointer;min-width:180px}.drop-zone[data-v-687185d5]{border:2px dashed var(--border-color);border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa}.drop-zone[data-v-687185d5]:hover,.drop-zone.drag-over[data-v-687185d5]{border-color:var(--primary-color);background:#f0f0ff}.drop-zone-content[data-v-687185d5]{pointer-events:none}.upload-icon[data-v-687185d5]{font-size:3rem;display:block;margin-bottom:10px}.drop-text[data-v-687185d5]{font-size:1.1rem;font-weight:500;color:var(--text-main);margin:0 0 5px}.file-types[data-v-687185d5]{font-size:.85rem;color:var(--text-muted);margin:0}.file-input[data-v-687185d5]{display:none}.selected-file[data-v-687185d5]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#e0e7ff;border-radius:8px}.file-icon[data-v-687185d5]{font-size:1.2rem}.file-name[data-v-687185d5]{flex:1;font-weight:500;color:var(--text-main);word-break:break-all}.file-size[data-v-687185d5]{color:var(--text-muted);font-size:.85rem}.clear-btn[data-v-687185d5]{background:none;border:none;color:#6b7280;font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px}.clear-btn[data-v-687185d5]:hover{background:rgba(0,0,0,.1);color:#dc2626}.upload-btn[data-v-687185d5]{padding:14px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.upload-btn[data-v-687185d5]:hover:not(:disabled){background:var(--primary-hover)}.upload-btn[data-v-687185d5]:disabled{background:#9ca3af;cursor:not-allowed}.error-message[data-v-687185d5]{padding:12px;background:#fee2e2;color:#dc2626;border-radius:8px;font-weight:500}.text-input-wrapper[data-v-a7b5c522]{display:flex;flex-direction:column;gap:20px}.direction-selector[data-v-a7b5c522]{display:flex;align-items:center;gap:10px;padding:10px 15px;background:#f3f4f6;border-radius:8px}.direction-selector label[data-v-a7b5c522]{font-weight:500;color:var(--text-main)}.direction-select[data-v-a7b5c522]{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:white;font-size:.95rem;cursor:pointer;min-width:180px}.input-section[data-v-a7b5c522],.output-section[data-v-a7b5c522]{display:flex;flex-direction:column;gap:8px}.input-section label[data-v-a7b5c522],.output-section label[data-v-a7b5c522]{font-weight:500;color:var(--text-main)}.text-area[data-v-a7b5c522]{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:Segoe UI Symbol,Apple Braille,PingFang SC,sans-serif;resize:vertical;line-height:1.6}.text-area[data-v-a7b5c522]:focus{outline:none;border-color:var(--primary-color)}.text-area.output[data-v-a7b5c522]{background:#f9fafb;font-size:1.2rem}.convert-btn[data-v-a7b5c522]{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.convert-btn[data-v-a7b5c522]:hover:not(:disabled){background:var(--primary-hover)}.convert-btn[data-v-a7b5c522]:disabled{background:#9ca3af;cursor:not-allowed}.copy-btn[data-v-a7b5c522]{align-self:flex-end;padding:8px 16px;background:#f3f4f6;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.9rem}.copy-btn[data-v-a7b5c522]:hover{background:#e5e7eb}.output-header[data-v-a7b5c522]{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-btn[data-v-a7b5c522]{padding:8px 16px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #10b9814d}.ai-btn[data-v-a7b5c522]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.ai-btn[data-v-a7b5c522]:disabled{background:linear-gradient(135deg,#9ca3af 0%,#6b7280 100%);cursor:not-allowed;transform:none;box-shadow:none}.ai-badge[data-v-a7b5c522]{padding:6px 12px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600}.error-message[data-v-a7b5c522]{padding:12px;background:#fee2e2;color:#dc2626;border-radius:8px;font-weight:500}.header-row[data-v-594a7d71]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}h3[data-v-594a7d71]{margin:0;border:none}.table-wrapper[data-v-594a7d71]{overflow-x:auto;border:1px solid var(--border-color);border-radius:8px}table[data-v-594a7d71]{width:100%;border-collapse:collapse;background:white}th[data-v-594a7d71]{background:#f9fafb;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--text-muted);font-weight:600;border-top:none;text-align:left}th[data-v-594a7d71]:nth-child(1),td[data-v-594a7d71]:nth-child(1){text-align:center}th[data-v-594a7d71]:nth-child(3),td[data-v-594a7d71]:nth-child(3){text-align:center}th[data-v-594a7d71]:nth-child(5),td[data-v-594a7d71]:nth-child(5){text-align:center}th[data-v-594a7d71],td[data-v-594a7d71]{padding:14px 20px;border-top:1px solid var(--border-color);font-size:.95rem;color:var(--text-main);vertical-align:middle;white-space:nowrap}.job-row[data-v-594a7d71]:hover{background-color:#f9fafb}.badge[data-v-594a7d71]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.badge.queued[data-v-594a7d71]{background:#fef3c7;color:#d97706}.badge.running[data-v-594a7d71]{background:#dbeafe;color:#2563eb}.badge.succeeded[data-v-594a7d71]{background:#d1fae5;color:#059669}.badge.failed[data-v-594a7d71]{background:#fee2e2;color:#dc2626}.progress-wrapper[data-v-594a7d71]{display:flex;align-items:center;gap:8px;min-width:100px}.progress-bar[data-v-594a7d71]{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;min-width:60px}.progress-fill[data-v-594a7d71]{height:100%;background:linear-gradient(90deg,#6366f1 0%,#8b5cf6 100%);border-radius:4px;transition:width .3s ease;animation:pulse-594a7d71 1.5s ease-in-out infinite}@keyframes pulse-594a7d71{0%,to{opacity:1}50%{opacity:.7}}.progress-text[data-v-594a7d71]{font-size:.75rem;font-weight:600;color:#6366f1;min-width:35px}.direction-badge[data-v-594a7d71]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500;background:#e0e7ff;color:#4338ca}.direction-badge.reverse[data-v-594a7d71]{background:#fce7f3;color:#be185d}.btn[data-v-594a7d71]{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:none;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s}.btn-sm[data-v-594a7d71]{padding:4px 10px;font-size:.85rem;margin-right:8px}.btn-primary[data-v-594a7d71]{background-color:var(--primary-color);color:#fff}.btn-primary[data-v-594a7d71]:hover{background-color:var(--primary-hover)}.btn-secondary[data-v-594a7d71]{background-color:#fff;border:1px solid var(--border-color);color:var(--text-main)}.btn-secondary[data-v-594a7d71]:hover{background-color:#f3f4f6;border-color:#d1d5db}.btn-danger[data-v-594a7d71]{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.btn-danger[data-v-594a7d71]:hover{background-color:#fecaca}.refresh-btn[data-v-594a7d71]{background:none;border:none;color:var(--primary-color);font-size:.9rem;padding:5px}.refresh-btn[data-v-594a7d71]:hover{text-decoration:underline}.empty-state[data-v-594a7d71]{text-align:center;padding:30px;color:var(--text-muted);font-style:italic}.braille-display[data-v-1a422543]{position:relative;background:linear-gradient(145deg,#f5f5dc,#fffef0);border:2px solid #d4c89a;border-radius:8px;padding:20px;min-height:150px;overflow:auto}.zoom-controls[data-v-1a422543]{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.9);padding:4px 8px;border-radius:6px;box-shadow:0 1px 3px #0000001a;z-index:10}.zoom-btn[data-v-1a422543]{width:28px;height:28px;border:1px solid #d1d5db;border-radius:4px;background:white;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.zoom-btn[data-v-1a422543]:hover:not(:disabled){background:#f3f4f6}.zoom-btn[data-v-1a422543]:disabled{opacity:.5;cursor:not-allowed}.zoom-level[data-v-1a422543]{font-size:12px;color:#6b7280;min-width:40px;text-align:center}.braille-cells-container[data-v-1a422543]{display:flex;flex-wrap:wrap;gap:12px;padding-top:40px;transition:transform .2s ease}.braille-cell[data-v-1a422543]{position:relative;cursor:pointer;transition:transform .15s ease}.braille-cell[data-v-1a422543]:hover{transform:scale(1.1)}.braille-cell.hovered[data-v-1a422543]{z-index:5}.dot-grid[data-v-1a422543]{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:4px;padding:6px;background:linear-gradient(145deg,#e8e4d0,#f0ece0);border-radius:4px;box-shadow:inset 1px 1px 2px #fffc,inset -1px -1px 2px #0000001a}.dot[data-v-1a422543]{width:12px;height:12px;border-radius:50%;transition:all .2s ease}.dot.raised[data-v-1a422543]{background:linear-gradient(145deg,#4a4a4a,#2a2a2a);box-shadow:2px 2px 4px #0006,-1px -1px 2px #fff3,inset 1px 1px 2px #ffffff4d;transform:translateZ(4px)}.braille-cell.hovered .dot.raised[data-v-1a422543]{background:linear-gradient(145deg,#6366f1,#4f46e5);box-shadow:2px 2px 6px #6366f180,-1px -1px 2px #ffffff4d,inset 1px 1px 2px #fff6}.dot.flat[data-v-1a422543]{background:linear-gradient(145deg,#d8d4c0,#c8c4b0);box-shadow:inset 1px 1px 2px #00000026,inset -1px -1px 2px #ffffff80}.non-braille-char[data-v-1a422543]{display:inline-block;color:transparent;width:8px}.hover-tooltip[data-v-1a422543]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:rgba(31,41,55,.95);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;display:flex;gap:12px;align-items:center;box-shadow:0 4px 12px #0003;z-index:100}.tooltip-char[data-v-1a422543]{font-size:24px;font-family:Segoe UI Symbol,Apple Braille,sans-serif}.tooltip-dots[data-v-1a422543]{color:#9ca3af}.high-contrast{background:#000;border-color:#fff}.high-contrast{background:#fff}.high-contrast{background:#333}.monitor-container[data-v-1dc6fd88]{display:flex;flex-direction:column}.monitor-header[data-v-1dc6fd88]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:10px;flex-wrap:wrap;gap:10px}.monitor-title[data-v-1dc6fd88]{font-weight:600;color:var(--text-main)}.monitor-actions[data-v-1dc6fd88]{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.display-mode-toggle[data-v-1dc6fd88]{display:flex;background:linear-gradient(135deg,#e0e7ff 0%,#f3e8ff 100%);border-radius:12px;padding:4px;gap:4px;box-shadow:inset 0 2px 4px #0000000f}.mode-btn[data-v-1dc6fd88]{padding:8px 16px;border:none;background:transparent;border-radius:10px;font-size:.85rem;cursor:pointer;transition:all .25s ease;color:#6366f1;font-weight:500;position:relative;overflow:hidden}.mode-btn[data-v-1dc6fd88]:hover{background:rgba(255,255,255,.5);transform:translateY(-1px)}.mode-btn.active[data-v-1dc6fd88]{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;box-shadow:0 4px 12px #6366f159;font-weight:600}.icon-btn[data-v-1dc6fd88]{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:4px}.icon-btn[data-v-1dc6fd88]:hover{background-color:#f3f4f6}.monitor-loader[data-v-1dc6fd88]{padding:40px;text-align:center;color:var(--text-muted)}.paper-sheet[data-v-1dc6fd88]{background:#fff;border:1px solid #e5e7eb;border-radius:4px;box-shadow:0 1px 3px #0000001a;padding:40px;min-height:200px;max-height:500px;overflow-y:auto;position:relative}.tactile-sheet[data-v-1dc6fd88]{min-height:200px;max-height:500px;overflow-y:auto}.braille-content[data-v-1dc6fd88]{font-family:Segoe UI Symbol,Apple Braille,sans-serif;white-space:pre-wrap;font-size:1.4rem;line-height:1.6;color:#374151;margin:0;letter-spacing:1px;text-align:center}.audio-controls[data-v-1dc6fd88]{display:flex;align-items:center}body.dark-mode{background:#1f2937;border-color:#374151}body.dark-mode{color:#e5e7eb}body.dark-mode{background:#374151}body.dark-mode{color:#9ca3af}body.dark-mode{background:#4b5563;color:#e5e7eb}.structured-view[data-v-1dc6fd88]{padding:20px}.structured-content[data-v-1dc6fd88]{display:flex;flex-direction:column;gap:15px}.element[data-v-1dc6fd88]{padding:12px 15px;border-radius:8px;background:#f9fafb;border-left:4px solid #e5e7eb;text-align:center}.element.heading[data-v-1dc6fd88]{background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border-left-color:#6366f1}.element.heading.level-1[data-v-1dc6fd88]{border-left-width:6px}.element.heading.level-1 .element-original[data-v-1dc6fd88]{font-size:1.3rem;font-weight:700}.element.heading.level-2 .element-original[data-v-1dc6fd88]{font-size:1.1rem;font-weight:600}.element.paragraph[data-v-1dc6fd88]{border-left-color:#10b981}.element.table_row[data-v-1dc6fd88]{background:#fef3c7;border-left-color:#f59e0b}.element-type-badge[data-v-1dc6fd88]{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:10px;background:rgba(99,102,241,.1);color:#4338ca;margin-bottom:8px}.element.paragraph .element-type-badge[data-v-1dc6fd88]{background:rgba(16,185,129,.1);color:#047857}.element-original[data-v-1dc6fd88]{color:var(--text-main);margin-bottom:8px;font-size:.95rem}.element-braille[data-v-1dc6fd88]{font-family:Segoe UI Symbol,Apple Braille,sans-serif;color:#6b7280;font-size:1.1rem;letter-spacing:1px}.no-structure[data-v-1dc6fd88]{text-align:center;color:var(--text-muted)}.auth-container[data-v-971ed742]{display:flex;justify-content:center;align-items:center;min-height:400px}.auth-card[data-v-971ed742]{background:white;border-radius:12px;padding:40px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:400px}h2[data-v-971ed742]{text-align:center;margin-bottom:30px;color:var(--primary-color)}.form-group[data-v-971ed742]{margin-bottom:20px;display:flex;align-items:center;gap:12px}.form-group label[data-v-971ed742]{min-width:80px;font-weight:500;color:var(--text-main);text-align:left;flex-shrink:0}.form-group input[data-v-971ed742]{flex:1;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input[data-v-971ed742]:focus{outline:none;border-color:var(--primary-color)}.btn-primary[data-v-971ed742]{width:100%;padding:14px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary[data-v-971ed742]:hover:not(:disabled){background:var(--primary-hover)}.btn-primary[data-v-971ed742]:disabled{opacity:.6;cursor:not-allowed}.toggle-link[data-v-971ed742]{text-align:center;margin-top:20px;color:var(--text-muted)}.toggle-link a[data-v-971ed742]{color:var(--primary-color);text-decoration:none;font-weight:500}.toggle-link a[data-v-971ed742]:hover{text-decoration:underline}.error-message[data-v-971ed742]{margin-top:15px;padding:10px;background:#fee2e2;color:#dc2626;border-radius:6px;text-align:center;font-size:.9rem}.profile-container[data-v-1dab93ae]{max-width:500px;margin:0 auto}h2[data-v-1dab93ae]{color:var(--primary-color);margin-bottom:24px}.section[data-v-1dab93ae]{background:#f9fafb;padding:20px;border-radius:8px;margin-bottom:20px}.section h3[data-v-1dab93ae]{margin:0 0 16px;font-size:1.1rem;color:var(--text-main);border-bottom:none;padding-bottom:0}.form-group[data-v-1dab93ae]{margin-bottom:16px}.form-group label[data-v-1dab93ae]{display:block;margin-bottom:6px;font-weight:500;color:var(--text-main)}.form-input[data-v-1dab93ae]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;box-sizing:border-box}.form-input[data-v-1dab93ae]:focus{outline:none;border-color:var(--primary-color)}.btn[data-v-1dab93ae]{padding:10px 20px;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.btn.primary[data-v-1dab93ae]{background:var(--primary-color);color:#fff}.btn.primary[data-v-1dab93ae]:hover:not(:disabled){background:var(--primary-hover)}.btn.primary[data-v-1dab93ae]:disabled{background:#9ca3af;cursor:not-allowed}.btn.secondary[data-v-1dab93ae]{background:#f3f4f6;color:var(--text-main);border:1px solid var(--border-color)}.btn.secondary[data-v-1dab93ae]:hover{background:#e5e7eb}.message[data-v-1dab93ae]{margin-top:12px;padding:10px;border-radius:6px;font-size:.9rem}.message.success[data-v-1dab93ae]{background:#d1fae5;color:#065f46}.message.error[data-v-1dab93ae]{background:#fee2e2;color:#dc2626}.stats-container[data-v-622fdca2]{padding:10px 0}h3[data-v-622fdca2]{margin-top:0;margin-bottom:20px}.loading-state[data-v-622fdca2]{text-align:center;padding:40px;color:var(--text-muted)}.stats-grid[data-v-622fdca2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card[data-v-622fdca2]{display:flex;align-items:center;gap:15px;padding:20px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:12px;border:1px solid var(--border-color)}.stat-card.success[data-v-622fdca2]{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%)}.stat-card.warning[data-v-622fdca2]{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%)}.stat-card.info[data-v-622fdca2]{background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%)}.stat-icon[data-v-622fdca2]{font-size:2rem}.stat-value[data-v-622fdca2]{font-size:1.8rem;font-weight:700;color:var(--text-main)}.stat-label[data-v-622fdca2]{font-size:.85rem;color:var(--text-muted)}.charts-row[data-v-622fdca2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.chart-card[data-v-622fdca2]{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:20px}.chart-card h4[data-v-622fdca2]{margin:0 0 15px;font-size:1rem;color:var(--text-main)}.chart-container[data-v-622fdca2]{height:220px;position:relative}.no-data[data-v-622fdca2]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-style:italic}.accuracy-container[data-v-f6e4c10a]{padding:10px 0}h3[data-v-f6e4c10a]{margin-top:0;margin-bottom:20px}h4[data-v-f6e4c10a]{margin:20px 0 15px;color:var(--text-main)}.action-bar[data-v-f6e4c10a]{display:flex;gap:10px;margin-bottom:20px}.btn[data-v-f6e4c10a]{padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-f6e4c10a]{background:var(--primary-color);color:#fff;border:none}.btn-primary[data-v-f6e4c10a]:hover:not(:disabled){background:var(--primary-hover)}.btn-primary[data-v-f6e4c10a]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-f6e4c10a]{background:transparent;border:1px solid var(--border-color);color:var(--text-main)}.btn-secondary[data-v-f6e4c10a]:hover{background:#f3f4f6}.summary-grid[data-v-f6e4c10a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin-bottom:20px}.summary-card[data-v-f6e4c10a]{padding:15px;background:#f8fafc;border-radius:10px;text-align:center;border:1px solid var(--border-color)}.summary-card.success[data-v-f6e4c10a]{background:#ecfdf5;border-color:#10b981}.summary-card.danger[data-v-f6e4c10a]{background:#fef2f2;border-color:#ef4444}.summary-card.info[data-v-f6e4c10a]{background:#eef2ff;border-color:#6366f1}.summary-value[data-v-f6e4c10a]{font-size:1.8rem;font-weight:700;color:var(--text-main)}.summary-label[data-v-f6e4c10a]{font-size:.85rem;color:var(--text-muted);margin-top:5px}.loading[data-v-f6e4c10a],.empty[data-v-f6e4c10a]{text-align:center;padding:30px;color:var(--text-muted)}.cases-list[data-v-f6e4c10a]{display:flex;flex-direction:column;gap:12px}.case-item[data-v-f6e4c10a]{background:white;border:1px solid var(--border-color);border-radius:10px;padding:15px;transition:all .2s}.case-item.passed[data-v-f6e4c10a]{border-left:4px solid #10b981}.case-item.failed[data-v-f6e4c10a]{border-left:4px solid #ef4444}.case-header[data-v-f6e4c10a]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.case-name[data-v-f6e4c10a]{font-weight:600;color:var(--text-main)}.case-category[data-v-f6e4c10a]{font-size:.75rem;background:#e0e7ff;color:#4338ca;padding:2px 8px;border-radius:12px}.case-status[data-v-f6e4c10a]{margin-left:auto;font-weight:600}.case-status.passed[data-v-f6e4c10a]{color:#10b981}.case-status.failed[data-v-f6e4c10a]{color:#ef4444}.case-details[data-v-f6e4c10a]{font-size:.9rem}.detail-row[data-v-f6e4c10a]{display:flex;gap:10px;margin-bottom:5px}.detail-row .label[data-v-f6e4c10a]{color:var(--text-muted);min-width:40px}.detail-row code[data-v-f6e4c10a]{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:Consolas,monospace}.detail-row code.error[data-v-f6e4c10a]{background:#fee2e2;color:#dc2626}body.high-contrast{background:rgba(99,102,241,.3);color:#a5b4fc}body.high-contrast{background:rgba(34,197,94,.25);border-color:#10b981}body.high-contrast{color:#4ade80}body.high-contrast{background:rgba(239,68,68,.25);border-color:#ef4444}body.high-contrast{color:#f87171}body.high-contrast{background:rgba(99,102,241,.25);border-color:#6366f1}body.high-contrast{background:rgba(51,65,85,.8);color:#e2e8f0}.ai-settings[data-v-e7de4a72]{padding:20px}h3[data-v-e7de4a72]{margin-bottom:20px;color:var(--text-main)}.settings-card[data-v-e7de4a72]{background:white;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.setting-row[data-v-e7de4a72]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.setting-row[data-v-e7de4a72]:last-child{border-bottom:none}.setting-row label[data-v-e7de4a72]{font-weight:500;color:var(--text-main)}.input-group[data-v-e7de4a72]{display:flex;gap:8px}.api-key-input[data-v-e7de4a72]{width:300px;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-family:monospace}.toggle-btn[data-v-e7de4a72]{padding:8px 12px;border:1px solid #ddd;border-radius:6px;background:white;cursor:pointer}.status-badge[data-v-e7de4a72]{padding:4px 12px;border-radius:20px;font-size:.9rem}.status-badge.active[data-v-e7de4a72]{background:#d4edda;color:#155724}.status-badge.inactive[data-v-e7de4a72]{background:#fff3cd;color:#856404}.key-preview[data-v-e7de4a72]{background:#f5f5f5;padding:4px 8px;border-radius:4px;color:#666}.action-bar[data-v-e7de4a72]{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.btn-primary[data-v-e7de4a72]{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}.btn-primary[data-v-e7de4a72]:disabled{opacity:.6;cursor:not-allowed}.btn-test[data-v-e7de4a72]{padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.btn-test[data-v-e7de4a72]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-test[data-v-e7de4a72]:disabled{opacity:.6;cursor:not-allowed}.btn-danger[data-v-e7de4a72]{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:8px;cursor:pointer}.message[data-v-e7de4a72]{margin-top:16px;padding:12px;border-radius:8px}.message.success[data-v-e7de4a72]{background:#d4edda;color:#155724}.message.error[data-v-e7de4a72]{background:#f8d7da;color:#721c24}.info-card[data-v-e7de4a72]{background:#f8f9fa;border-radius:12px;padding:20px;border-left:4px solid #667eea}.info-card h4[data-v-e7de4a72]{margin-bottom:12px;color:var(--text-main)}.info-card ol[data-v-e7de4a72]{margin:0;padding-left:20px}.info-card li[data-v-e7de4a72]{margin-bottom:8px;color:#666}.info-card a[data-v-e7de4a72]{color:#667eea}body.high-contrast{background:rgba(30,41,59,.8);border-color:#94a3b866}body.high-contrast{color:#94a3b8}body.high-contrast{background:rgba(51,65,85,.8);border-color:#94a3b866;color:#f1f5f9}body.high-contrast{background:rgba(51,65,85,.8);color:#94a3b8}body.high-contrast{background:rgba(34,197,94,.25);color:#4ade80}body.high-contrast{background:rgba(234,179,8,.25);color:#fcd34d}body.high-contrast{background:rgba(30,41,59,.8);border-left-color:#818cf8}body.high-contrast{color:#f1f5f9}body.high-contrast{color:#cbd5e1}body.high-contrast{color:#818cf8}body.high-contrast{border-bottom-color:#94a3b833}body.high-contrast{border-top-color:#94a3b833}:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--bg-color: #f3f4f6;--card-bg: #ffffff;--text-main: #1f2937;--text-muted: #6b7280;--border-color: #e5e7eb}body{margin:0;background-color:var(--bg-color);color:var(--text-main);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;padding:12px 24px;z-index:10000;text-decoration:none;border-radius:0 0 12px 12px;font-weight:600;font-size:.95rem;box-shadow:0 4px 15px #6366f166;transition:top .3s ease,box-shadow .3s ease;display:flex;align-items:center;gap:8px}.skip-link:before{content:"⏭️";font-size:1.1rem}.skip-link:focus{top:0;box-shadow:0 6px 20px #6366f180;outline:none}.skip-link:hover{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%)}*:focus{outline:3px solid var(--primary-color);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 6px #6366f133}body.high-contrast *:focus-visible{outline:3px solid #FFFF00!important;outline-offset:3px;box-shadow:0 0 0 6px #ffff004d!important}.login-accessibility-btns{position:fixed;top:20px;right:20px;display:flex;gap:10px;z-index:100}.contrast-btn-login{padding:10px 20px;background:linear-gradient(135deg,rgba(99,102,241,.15) 0%,rgba(139,92,246,.15) 100%);border:1px solid rgba(99,102,241,.3);border-radius:25px;color:#6366f1;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px #6366f126}.contrast-btn-login:hover{background:linear-gradient(135deg,rgba(99,102,241,.25) 0%,rgba(139,92,246,.25) 100%);transform:translateY(-2px);box-shadow:0 4px 15px #6366f140}.contrast-btn-login.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#059669;box-shadow:0 2px 10px #10b98166}.contrast-btn-login.active:hover{background:linear-gradient(135deg,#059669,#047857)}body.high-contrast .contrast-btn-login{background:rgba(30,41,59,.9);border-color:#94a3b866;color:#e2e8f0}body.high-contrast .contrast-btn-login.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.app-container{max-width:1000px;margin:0 auto;padding:40px 20px}.app-header{text-align:center;margin-bottom:40px}.app-header h1{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin:0 0 10px}.app-header p{color:var(--text-muted);font-size:1.1rem}.card{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:24px;margin-bottom:24px;transition:transform .2s ease-in-out}.card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}h3{margin-top:0;color:var(--text-main);font-size:1.25rem;border-bottom:1px solid var(--border-color);padding-bottom:12px;margin-bottom:20px}button{cursor:pointer;transition:all .2s}.tab-switcher{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:15px}.tab-btn{padding:10px 20px;border:none;background:transparent;color:var(--text-muted);font-size:1rem;font-weight:500;border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#f3f4f6;color:var(--text-main)}.tab-btn.active{background:var(--primary-color);color:#fff}.tab-content{padding-top:10px}.user-menu{position:fixed;top:15px;right:20px;display:flex;gap:8px;z-index:100}.menu-btn{padding:8px 14px;background:white;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.menu-btn:hover{background:#f3f4f6}.menu-btn.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#059669;box-shadow:0 2px 8px #10b9814d}.menu-btn.active:hover{background:linear-gradient(135deg,#059669,#047857)}.menu-btn.logout{color:#dc2626}.menu-btn.logout:hover{background:#fee2e2}.app-container{position:relative}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{max-width:550px;width:90%;max-height:90vh;overflow-y:auto}body.high-contrast{--primary-color: #818cf8;--primary-hover: #a5b4fc;--bg-color: #0f172a;--card-bg: rgba(30, 41, 59, .8);--text-main: #e2e8f0;--text-muted: #94a3b8;--border-color: rgba(148, 163, 184, .2);--glow-color: rgba(129, 140, 248, .15)}body.high-contrast{background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);background-attachment:fixed}body.high-contrast .app-header h1{background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(129,140,248,.3)}body.high-contrast .card{background:rgba(30,41,59,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.15);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d}body.high-contrast .card:hover{border-color:#818cf84d;box-shadow:0 8px 32px #0006,0 0 20px var(--glow-color),inset 0 1px #ffffff0d}body.high-contrast .badge{border:1px solid rgba(255,255,255,.1)}body.high-contrast .badge.queued{background:rgba(251,191,36,.2);color:#fbbf24}body.high-contrast .badge.running{background:rgba(59,130,246,.2);color:#60a5fa}body.high-contrast .badge.succeeded{background:rgba(34,197,94,.2);color:#4ade80}body.high-contrast .badge.failed{background:rgba(239,68,68,.2);color:#f87171}body.high-contrast input,body.high-contrast select,body.high-contrast textarea{background:rgba(30,41,59,.9);color:#f1f5f9;border:1px solid rgba(148,163,184,.4);transition:all .3s ease}body.high-contrast input::placeholder,body.high-contrast textarea::placeholder{color:#94a3b8}body.high-contrast .direction-selector{background:rgba(51,65,85,.6)}body.high-contrast .direction-select,body.high-contrast select option{background:#1e293b;color:#f1f5f9}body.high-contrast .drop-zone{background:rgba(30,41,59,.5);border-color:#94a3b866}body.high-contrast .drop-zone:hover,body.high-contrast .drop-zone.drag-over{background:rgba(99,102,241,.15);border-color:var(--primary-color)}body.high-contrast .drop-text,body.high-contrast .file-types{color:#cbd5e1}body.high-contrast .selected-file{background:rgba(99,102,241,.2)}body.high-contrast .text-area.output{background:rgba(51,65,85,.5)}body.high-contrast input:focus,body.high-contrast select:focus,body.high-contrast textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #818cf826;outline:none}body.high-contrast button{border:1px solid rgba(148,163,184,.2);transition:all .3s ease}body.high-contrast .btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;box-shadow:0 4px 15px #6366f14d}body.high-contrast .btn-primary:hover{background:linear-gradient(135deg,#818cf8,#a78bfa);box-shadow:0 4px 20px #818cf866;transform:translateY(-1px)}body.high-contrast .btn-secondary{background:rgba(51,65,85,.5);border:1px solid rgba(148,163,184,.3);color:#e2e8f0}body.high-contrast .btn-secondary:hover{background:rgba(71,85,105,.6);border-color:#94a3b880}body.high-contrast .btn-danger{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.3)}body.high-contrast .btn-danger:hover{background:rgba(239,68,68,.25)}body.high-contrast a{color:#a5b4fc;text-decoration:none;transition:color .2s ease}body.high-contrast a:hover{color:#c7d2fe;text-decoration:underline}body.high-contrast .tab-btn{color:#94a3b8}body.high-contrast .tab-btn:hover{background:rgba(51,65,85,.5);color:#e2e8f0}body.high-contrast .tab-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 15px #6366f14d}body.high-contrast .menu-btn{background:rgba(30,41,59,.8);border:1px solid rgba(148,163,184,.2);color:#e2e8f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.high-contrast .menu-btn:hover{background:rgba(51,65,85,.8);border-color:#94a3b866}body.high-contrast .menu-btn.logout{color:#f87171}body.high-contrast .menu-btn.logout:hover{background:rgba(239,68,68,.15)}body.high-contrast .modal-overlay{background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body.high-contrast .direction-badge{background:rgba(99,102,241,.2);color:#a5b4fc}body.high-contrast .direction-badge.reverse{background:rgba(236,72,153,.2);color:#f472b6}body.high-contrast .error-message{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.3)}body.high-contrast .refresh-btn{color:#a5b4fc}body.high-contrast .refresh-btn:hover{color:#c7d2fe}body.high-contrast table{background:transparent}body.high-contrast th{background:rgba(30,41,59,.6);color:#94a3b8}body.high-contrast .job-row:hover{background:rgba(51,65,85,.4)}body.high-contrast .empty-state{color:#94a3b8}body.high-contrast .copy-btn{background:rgba(51,65,85,.6);border-color:#94a3b84d;color:#e2e8f0}body.high-contrast .copy-btn:hover{background:rgba(71,85,105,.7)}body.high-contrast .convert-btn:disabled,body.high-contrast .upload-btn:disabled{background:rgba(71,85,105,.5);color:#94a3b8}body.high-contrast .auth-card{background:rgba(30,41,59,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.15);box-shadow:0 8px 32px #0006}body.high-contrast .toggle-link a{color:#a5b4fc}body.high-contrast .toggle-link a:hover{color:#c7d2fe}body.high-contrast .stat-card{background:rgba(30,41,59,.85)!important;border-color:#94a3b880!important}body.high-contrast .stat-card .stat-value{color:#f1f5f9!important}body.high-contrast .stat-card .stat-label{color:#94a3b8!important}body.high-contrast .stat-card.success{background:rgba(34,197,94,.3)!important;border-color:#22c55e!important}body.high-contrast .stat-card.success .stat-value{color:#4ade80!important}body.high-contrast .stat-card.warning{background:rgba(239,68,68,.3)!important;border-color:#ef4444!important}body.high-contrast .stat-card.warning .stat-value{color:#f87171!important}body.high-contrast .stat-card.info{background:rgba(99,102,241,.3)!important;border-color:#6366f1!important}body.high-contrast .stat-card.info .stat-value{color:#818cf8!important}body.high-contrast .chart-card{background:rgba(30,41,59,.85)!important;border-color:#94a3b880!important}body.high-contrast .chart-card h4{color:#f1f5f9!important}body.high-contrast .case-item{background:rgba(30,41,59,.85)!important;border-color:#94a3b880!important}body.high-contrast .case-item .case-name{color:#f1f5f9!important}body.high-contrast .case-item .case-category{background:rgba(99,102,241,.4)!important;color:#c7d2fe!important}body.high-contrast .summary-card{background:rgba(30,41,59,.85)!important;border-color:#94a3b880!important}body.high-contrast .summary-card .summary-value{color:#f1f5f9!important}body.high-contrast .summary-card .summary-label{color:#94a3b8!important}body.high-contrast .summary-card.success{background:rgba(34,197,94,.3)!important;border-color:#22c55e!important}body.high-contrast .summary-card.danger{background:rgba(239,68,68,.3)!important;border-color:#ef4444!important}body.high-contrast .summary-card.info{background:rgba(99,102,241,.3)!important;border-color:#6366f1!important}body.high-contrast .detail-row code{background:rgba(51,65,85,.9)!important;color:#e2e8f0!important}body.high-contrast .detail-row .label{color:#94a3b8!important}body.high-contrast .settings-card{background:rgba(30,41,59,.85)!important;border-color:#94a3b880!important}body.high-contrast .settings-card label{color:#f1f5f9!important}body.high-contrast .api-key-input{background:rgba(51,65,85,.9)!important;border-color:#94a3b880!important;color:#f1f5f9!important}body.high-contrast .toggle-btn{background:rgba(51,65,85,.9)!important;border-color:#94a3b880!important}body.high-contrast .key-preview{background:rgba(51,65,85,.9)!important;color:#cbd5e1!important}body.high-contrast .status-badge.active{background:rgba(34,197,94,.35)!important;color:#4ade80!important}body.high-contrast .status-badge.inactive{background:rgba(234,179,8,.35)!important;color:#fcd34d!important}body.high-contrast .info-card{background:rgba(30,41,59,.85)!important;border-left-color:#818cf8!important}body.high-contrast .info-card h4{color:#f1f5f9!important}body.high-contrast .info-card li{color:#cbd5e1!important}body.high-contrast .info-card a{color:#a5b4fc!important}body.high-contrast .setting-row{border-color:#94a3b84d!important}body.high-contrast .paper-sheet{background:rgba(30,41,59,.9)!important;border-color:#94a3b866!important}body.high-contrast .paper-sheet .braille-content{color:#f1f5f9!important}body.high-contrast .structure-container{background:rgba(30,41,59,.9)!important;border-color:#94a3b866!important}body.high-contrast .element{background:rgba(51,65,85,.6)!important;border-left-color:#94a3b880!important}body.high-contrast .element.heading{background:rgba(99,102,241,.2)!important;border-left-color:#818cf8!important}body.high-contrast .element.paragraph{background:rgba(16,185,129,.15)!important;border-left-color:#34d399!important}body.high-contrast .element-original{color:#f1f5f9!important}body.high-contrast .element-braille{color:#94a3b8!important}body.high-contrast .element-type-badge{background:rgba(99,102,241,.3)!important;color:#a5b4fc!important}body.high-contrast .tactile-sheet{background:rgba(30,41,59,.9)!important;border-color:#94a3b866!important}body.high-contrast .braille-display{background:rgba(30,41,59,.95)!important}body.high-contrast .braille-cell{background:rgba(51,65,85,.8)!important;border-color:#94a3b84d!important}body.high-contrast .braille-dot.active{background:#f1f5f9!important}body.high-contrast .braille-dot{background:rgba(148,163,184,.2)!important}body.high-contrast .monitor-header{border-color:#94a3b84d!important}body.high-contrast .monitor-title{color:#f1f5f9!important}body.high-contrast .mode-btn{background:rgba(51,65,85,.7)!important;color:#c7d2fe!important;border:1px solid rgba(148,163,184,.3)!important}body.high-contrast .mode-btn:hover{background:rgba(99,102,241,.3)!important;border-color:#6366f180!important;transform:translateY(-1px)}body.high-contrast .mode-btn.active{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%)!important;color:#fff!important;box-shadow:0 4px 15px #6366f180!important;border:none!important}body.high-contrast .display-mode-toggle{background:rgba(15,23,42,.9)!important;border:1px solid rgba(148,163,184,.2)!important;padding:5px!important;gap:6px!important}body.high-contrast .icon-btn{color:#94a3b8!important}body.high-contrast .icon-btn:hover{background:rgba(51,65,85,.8)!important}body.high-contrast .profile-container{color:#f1f5f9!important}body.high-contrast .profile-container h2{color:#c7d2fe!important}body.high-contrast .profile-container .section{background:rgba(30,41,59,.85)!important;border:1px solid rgba(148,163,184,.4)!important}body.high-contrast .profile-container .section h3{color:#a5b4fc!important}body.high-contrast .profile-container .form-group label{color:#94a3b8!important}body.high-contrast .profile-container .form-input{background:rgba(51,65,85,.9)!important;border-color:#94a3b866!important;color:#f1f5f9!important}body.high-contrast .profile-container .form-input::placeholder{color:#64748b!important}body.high-contrast .profile-container .form-input:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f14d!important}body.high-contrast .profile-container .btn.secondary{background:rgba(51,65,85,.8)!important;color:#e2e8f0!important;border-color:#94a3b866!important}body.high-contrast .modal-content{background:rgba(15,23,42,.98)!important;border:1px solid rgba(148,163,184,.3)!important}
