/* Language controls and direction-aware additions to the existing design. */
:root { --ui-direction: rtl; }
:root[dir="ltr"] { --ui-direction: ltr; --landing-body: "Space Grotesk", "Segoe UI", Arial, sans-serif; --landing-display: "Space Grotesk", "Segoe UI", Arial, sans-serif; }
html[lang="en"] body { font-family: "Space Grotesk", "Segoe UI", Arial, sans-serif; }
html[lang="en"] :is(input, textarea, select, button, .export-download) { font-family: inherit; }
.language-switch { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: 8px 13px; border: 1px solid var(--landing-line, var(--line-strong, #d8d3e2)); border-radius: 12px; color: var(--landing-ink, var(--ink, #29243b)); background: var(--landing-glass, var(--surface, #fff)); font: 600 13px/1.2 "Segoe UI", Tahoma, Arial, sans-serif; cursor: pointer; transition: background 160ms ease-out, border-color 160ms ease-out; }
.language-switch:hover { border-color: var(--landing-teal, #7a3e89); }
.language-switch:focus-visible { outline: 2px solid var(--landing-teal, #7a3e89); outline-offset: 3px; }
.chat-topbar .language-switch { order: 4; color: var(--chat-text); background: var(--chat-surface); border-color: var(--chat-border-strong); }
.auth-language { display: flex; justify-content: flex-start; margin-bottom: 10px; }
.auth-language .language-switch { color: var(--ink); background: transparent; border-color: var(--line-strong); }
.export-language { position: fixed; inset-block-start: 12px; inset-inline-end: 16px; z-index: 10; }
html[dir="ltr"] .app-shell { grid-template-columns: 300px minmax(0, 1fr); }
html[dir="ltr"] .app-sidebar { grid-column: 1; }
html[dir="ltr"] .chat-main { grid-column: 2; }
html[dir="ltr"] .auth-x { left: auto; right: 14px; }
html[dir="ltr"] .landing-nav-menu { right: 0; left: auto; }
html[dir="ltr"] .landing-feature-number { left: auto; right: 46px; }
html[dir="ltr"] .preview-stage-hint { left: 16px; right: auto; }
html[dir="ltr"] .landing-hero h1 { font-size: clamp(42px, 5vw, 72px); line-height: 1.12; font-weight: 600; letter-spacing: -.035em; }
html[dir="ltr"] .landing-section-heading h2 { line-height: 1.2; }
html[dir="ltr"] .landing-hero-copy { max-width: 700px; }
html[dir="ltr"] .landing-nav { gap: 3px; }
html[dir="ltr"] .landing-nav a { padding-inline: 9px; }
html[dir="ltr"] :is(.new-project-button, .project-item-button, .suggestion-card, .support-ticket-item) { text-align: start; }
.message-content, .support-message p, #previewModelName { unicode-bidi: plaintext; }
@media (max-width: 1100px) {
  .landing-header-actions { gap: 6px; }
  .landing-header-inner { gap: 10px; }
}
@media (max-width: 900px) {
  html[dir="ltr"] .app-shell { grid-template-columns: minmax(0, 1fr); }
  html[dir="ltr"] .chat-main { grid-column: 1; }
  html[dir="ltr"] .app-sidebar { right: auto; left: 0; transform: translateX(-102%); box-shadow: 18px 0 48px rgba(0, 0, 0, .35); }
  html[dir="ltr"] .app-shell.sidebar-open .app-sidebar { transform: translateX(0); }
  .content-header-inner { flex-wrap: wrap; }
  .content-language { margin-inline-start: auto; }
}
@media (max-width: 600px) {
  .language-switch { padding-inline: 9px; font-size: 12px; }
  .landing-header-inner { width: calc(100% - 16px); gap: 6px; padding-inline: 6px; }
  .landing-brand-logo { max-width: 100px; height: auto; }
  .landing-header-actions { gap: 4px; }
  .landing-header-actions .landing-header-link { padding-inline: 9px; }
  .chat-topbar .language-switch { min-width: 0; padding-inline: 7px; }
  html[dir="ltr"] .landing-feature-number { right: 30px; }
  html[dir="ltr"] .preview-stage-hint { left: 12px; right: auto; }
}
@media (prefers-reduced-motion: reduce) { .language-switch { transition: none; } }
