/* ==========================================================================
   Hermes WebUI - Persian RTL & Vazirmatn Pro Extension
   ========================================================================== */

@font-face {
  font-family: 'Vazirmatn';
  src: url('/extensions/vazir-persian-rtl/fonts/Vazirmatn-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vazirmatn';
  src: url('/extensions/vazir-persian-rtl/fonts/Vazirmatn-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vazirmatn';
  src: url('/extensions/vazir-persian-rtl/fonts/Vazirmatn-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Vazirmatn';
  src: url('/extensions/vazir-persian-rtl/fonts/Vazirmatn-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-vazir: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-ui: var(--font-vazir) !important;
  --font-conversation: var(--font-vazir) !important;
}

/* Force global Persian typography */
body, button, input, select, textarea,
.msg-body, .composer-wrap, .composer-box,
textarea#msg, .session-item, .session-title,
.sidebar, .modal-content, .panel-content,
.toast, .tooltip, .app-titlebar, .tab-item,
.dropdown-menu, .settings-row {
  font-family: var(--font-vazir) !important;
}

/* Smart Bidirectional layout */
.msg-body,
.msg-body p,
.msg-body li,
.msg-body blockquote,
.msg-body h1, .msg-body h2, .msg-body h3, .msg-body h4, .msg-body h5, .msg-body h6,
.msg-body div:not(.code-block):not(.code-header):not(.terminal-container):not(.katex):not(.katex-display) {
  unicode-bidi: plaintext;
  text-align: start;
}

.msg-body[dir="rtl"],
.msg-rtl,
[dir="rtl"] .msg-body {
  direction: rtl;
  text-align: right;
}

.msg-body[dir="rtl"] ul,
.msg-body[dir="rtl"] ol,
.msg-rtl ul,
.msg-rtl ol {
  padding-right: 1.5em;
  padding-left: 0;
  direction: rtl;
  text-align: right;
}

.msg-body[dir="rtl"] blockquote,
.msg-rtl blockquote {
  border-right: 3px solid var(--accent, #B8860B);
  border-left: none;
  padding-right: 0.85em;
  padding-left: 0;
  direction: rtl;
  text-align: right;
}

.msg-body[dir="rtl"] table,
.msg-rtl table {
  direction: rtl;
  text-align: right;
}

/* Composer Auto RTL */
textarea#msg,
.composer-box textarea,
input[type="text"],
input[type="search"] {
  unicode-bidi: plaintext;
  text-align: start;
}

/* Absolute Code & Terminal LTR Isolation */
pre, code, kbd, samp,
.xterm, .xterm *,
.terminal-window, .terminal-container,
.code-block, .code-header, .prism-code,
.katex, .katex *, .katex-display, .katex-display *,
[class*="language-"], pre code, .font-mono,
.app-titlebar-sub, .model-badge, .token-count, .timestamp {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: isolate !important;
  font-family: ui-monospace, 'SFMono-Regular', 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace !important;
}

.msg-body code:not(pre code) {
  direction: ltr;
  display: inline-block;
  margin: 0 3px;
  vertical-align: baseline;
  unicode-bidi: isolate;
}

/* Optional RTL Quick Switch Badge in Footer/Settings */
#hermes-rtl-toggle {
  position: fixed;
  bottom: 12px;
  left: 12px;
  z-index: 9999;
  background: var(--surface, #1E1E2E);
  border: 1px solid var(--border, rgba(255,255,255,0.15));
  color: var(--text, #E0E0E0);
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  cursor: pointer;
  opacity: 0.4;
  transition: opacity 0.2s ease, transform 0.2s ease;
  user-select: none;
}
#hermes-rtl-toggle:hover {
  opacity: 1;
  transform: translateY(-2px);
}
