/* ARI Showcase — language menu + translated text (CONTRACT.md, Version 3) */
.rail-lang { min-height: 44px; min-width: 44px; padding: 0 14px; display: inline-flex; align-items: center; gap: 8px; border-radius: 999px;
  border: 1px solid var(--stage-line); background: transparent; color: var(--chrome-ink); font: 500 13px/1 var(--chrome-font); cursor: pointer; white-space: nowrap; flex: none; }
.rail-lang:focus-visible { outline: 2px solid var(--chrome-accent); outline-offset: 2px; }
.rail-lang[aria-expanded="true"] { background: var(--stage-2); }
@media (max-width: 700px) {
  .rail-lang { padding: 0; justify-content: center; width: 44px; border-color: transparent; }
  .rail-lang .rail-lang-cur { display: none; }
}
@media (max-width: 700px) {
  /* phone rail wraps: [globe][Unlock] on the top row, scene tabs below */
  .rail-lang { order: -2; margin-top: 4px; border-color: var(--stage-line); }
  .rail-lang + .rail-price:not(.is-off) { width: calc(100% - 50px); }
}

.lg-sheet { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: flex-end; justify-content: center; }
.lg-sheet[hidden] { display: none; }
.lg-back { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
.lg-panel { position: relative; width: min(460px, 100%); max-height: calc(100% - 24px); overflow: auto; margin: 0 0 calc(var(--rail-h, 64px) + 8px);
  background: var(--stage-2, #181b1f); color: var(--chrome-ink, #f3f4f5); border: 1px solid var(--stage-line, #2a2e34); border-radius: 18px; padding: 14px 14px 16px;
  font-family: var(--chrome-font); box-shadow: 0 20px 60px rgba(0, 0, 0, .5); }
.lg-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 2px 4px 10px; }
.lg-head h2 { margin: 0; font-size: 16px; font-weight: 600; }
.lg-x { min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--stage-line); background: transparent; color: var(--chrome-dim); font-size: 13px; }
.lg-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.lg-list button { width: 100%; min-height: 52px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "native tier" "name tier";
  align-items: center; text-align: left; gap: 1px 12px; padding: 8px 12px; border-radius: 12px; border: 1px solid transparent; background: transparent; color: inherit; cursor: pointer; }
.lg-list button:hover:not([disabled]) { background: rgba(255, 255, 255, .05); }
.lg-list button[aria-pressed="true"] { border-color: var(--chrome-accent); background: rgba(224, 122, 95, .12); }
.lg-list button[disabled] { cursor: default; opacity: .55; }
.lg-list button:focus-visible { outline: 2px solid var(--chrome-accent); outline-offset: 1px; }
.lg-native { grid-area: native; font-size: 16px; font-weight: 600; }
.lg-native[dir="rtl"] { text-align: left; }
.lg-name { grid-area: name; font-size: 12.5px; color: var(--chrome-dim); }
.lg-tier { grid-area: tier; font-size: 11px; color: var(--chrome-dim); border: 1px solid var(--stage-line); border-radius: 999px; padding: 3px 8px; white-space: nowrap; }
.lg-note { margin: 12px 4px 0; font-size: 12px; color: var(--chrome-dim); }

/* translated block + English line under it */
.lg-tx { display: block; }
.lg-en { display: block; margin-top: 2px; font: 400 0.62em/1.3 var(--chrome-font, system-ui, sans-serif); letter-spacing: 0; text-transform: none; opacity: .62; unicode-bidi: isolate; }
.lg-en:empty { display: none; }
[dir="rtl"] .lg-en { text-align: right; }
.ws-msg .lg-en, .cn-l .lg-en { font-size: 12px; margin-top: 4px; }
.ws-msg-note { font-size: 11px; opacity: .65; margin: -2px 0 4px; }
.ws-mic { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: inherit; cursor: pointer; }
.cn-lang { margin: 10px 0 0; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--stage-line, #2a2e34); font-size: 12.5px; color: var(--chrome-dim, #9aa1ab); }
.cn-lang b { color: var(--chrome-ink, #f3f4f5); font-weight: 600; }
@media (max-width: 700px) { .lg-panel { margin-bottom: 8px; max-height: calc(100% - 16px); } }
/* the phone rail wraps taller than --rail-h; keep its top row (globe, Unlock) above the stage */
@media (max-width: 700px) { .rail { z-index: 30; } }

/* RTL frames: English business data (address, hours, name, tagline) keeps its own direction, so "613 Cedar Ave" never becomes "Cedar Ave 613". */
[dir="rtl"] :is(p, h1, h2, h3, li, dd, dt, strong, span, a, button, small, label) { unicode-bidi: plaintext; }
.lg-app-note { margin: 4px 0 0; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.06); color: var(--chrome-dim, #9aa1ab); font-size: 13px; }
