/* Reality Check languages (rc-i18n-1): language picker, script fonts, right-to-left and long-text rules.
   Loaded after rc.css. The illustrated building is never mirrored: the stage keeps left-to-right geometry
   (its overlay labels, pins and room signs are placed in scene coordinates), and only the text inside each
   label follows its own direction. The journey timeline is a time axis and also stays left-to-right. */

@font-face{font-family:"Noto Sans Hebrew";src:url('../assets/fonts/NotoSansHebrew-Regular.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0590-05FF,U+FB1D-FB4F}
@font-face{font-family:"Noto Sans Hebrew";src:url('../assets/fonts/NotoSansHebrew-SemiBold.woff2') format('woff2');font-weight:500 700;font-display:swap;unicode-range:U+0590-05FF,U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Sans Arabic";src:url('../assets/fonts/IBMPlexSansArabic-Regular.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"IBM Plex Sans Arabic";src:url('../assets/fonts/IBMPlexSansArabic-SemiBold.woff2') format('woff2');font-weight:500 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}

/* CJK: the system font comes first (every phone and desktop ships one). The subset Noto webfonts below are the
   fallback for systems without it; unicode-range means they download only when such characters are on the page,
   and only for the language actually shown (the Japanese and Chinese stacks name different families). */
@font-face{font-family:"RC Noto Sans JP";src:url('../assets/fonts/NotoSansJP-Regular.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+3000-30FF,U+4E00-9FFF,U+FF00-FFEF}
@font-face{font-family:"RC Noto Sans JP";src:url('../assets/fonts/NotoSansJP-SemiBold.woff2') format('woff2');font-weight:500 700;font-display:swap;unicode-range:U+3000-30FF,U+4E00-9FFF,U+FF00-FFEF}
@font-face{font-family:"RC Noto Sans SC";src:url('../assets/fonts/NotoSansSC-Regular.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+3000-303F,U+4E00-9FFF,U+FF00-FFEF}
@font-face{font-family:"RC Noto Sans SC";src:url('../assets/fonts/NotoSansSC-SemiBold.woff2') format('woff2');font-weight:500 700;font-display:swap;unicode-range:U+3000-303F,U+4E00-9FFF,U+FF00-FFEF}

/* Script fonts: Inter keeps Latin, digits and product names; the script font carries the rest.
   CJK uses the visitor's system font (Hiragino / Yu Gothic / Noto Sans CJK / PingFang / Microsoft YaHei). */
html[lang=he] body,html[lang=he] .rc-app,html[lang=he] button,html[lang=he] input,html[lang=he] select{font-family:Inter,"Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif}
html[lang=ar] body,html[lang=ar] .rc-app,html[lang=ar] button,html[lang=ar] input,html[lang=ar] select{font-family:Inter,"IBM Plex Sans Arabic","Geeza Pro","Segoe UI",Tahoma,sans-serif}
html[lang=ja] body,html[lang=ja] .rc-app,html[lang=ja] button,html[lang=ja] input,html[lang=ja] select{font-family:Inter,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Noto Sans JP","Noto Sans CJK JP",Meiryo,"RC Noto Sans JP",sans-serif}
html[lang=zh-Hans] body,html[lang=zh-Hans] .rc-app,html[lang=zh-Hans] button,html[lang=zh-Hans] input,html[lang=zh-Hans] select{font-family:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC","Source Han Sans SC","RC Noto Sans SC",sans-serif}
/* Letter-spaced capitals are a Latin device; scripts without case read better without them. */
html:is([lang=he],[lang=ar],[lang=ja],[lang=zh-Hans]) :is(.eyebrow,.rc-kicker,.rc-btn,.rc-illus,.rc-zl,.rc-chip,.rc-tl-k,.rc-kind,.rc-class,.rc-help-kicker,.rc-rep-cover span,.rc-badge-partial,.rc-tag,.rc-snd-toggle){letter-spacing:0!important;text-transform:none!important}
html:is([lang=ja],[lang=zh-Hans]) :is(p,li,dd,.rc-lede,.rc-help,.rc-qhelp){line-height:1.75;word-break:normal;line-break:strict}
html[lang=ar] :is(p,li,dd){line-height:1.8}
html[lang=ja] .rc-title h1,html[lang=zh-Hans] .rc-title h1{letter-spacing:.04em}

/* Longer translations (de, pl, fr, ro …): buttons and labels may wrap instead of overflowing. */
.rc-app :is(.rc-btn,.rc-tag,.rc-seg-opt span,.rc-segs-opt span,.rc-mode button){white-space:normal;text-align:center;hyphens:auto;overflow-wrap:anywhere}
.rc-app .rc-sm-t,.rc-app .rc-sm-v small{white-space:normal;overflow-wrap:anywhere}
.rc-app .rc-stop small{max-width:min(110px,22cqw);text-overflow:ellipsis}
.rc-app .rc-tl-track{container-type:inline-size}
html:not([lang=en]) .rc-app .rc-exits .rc-btn{white-space:nowrap}

/* ------------------------------------------------------------------ language picker */
.rc-lang{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.rc-lang-k{white-space:nowrap}
.rc-lang select{appearance:none;-webkit-appearance:none;height:30px;padding:0 28px 0 10px;border-radius:999px;border:1px solid var(--line);color:#eef2f8;font:inherit;font-size:13px;cursor:pointer;
  background:rgba(5,10,22,.6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' fill='none' stroke='%239ca8b9' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 10px center/10px}
.rc-lang select:focus-visible{outline:2px solid #58dcf8;outline-offset:2px}
.rc-lang select option{background:#0a1122;color:#eef2f8}
[dir=rtl] .rc-lang select{padding:0 10px 0 28px;background-position:left 10px center}
.rc-lang-slot{display:flex;justify-content:flex-start;margin:0 0 14px}
.rc-reg-lang{display:flex;justify-content:flex-end;margin:-4px 0 6px}
/* In the app bar the label is visual noise: the select itself is labelled for screen readers. */
.rc-lang--bar .rc-lang-k{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rc-lang--bar select{height:32px;max-width:15ch}
.rc-lang--set{margin:0 0 6px}
/* Phones: the bar has no room for a picker; the language sits in Settings (gear) and on the landing page. */
@media (max-width:640px){.rc-bar .rc-lang--bar{display:none}}
@media (min-width:641px) and (max-width:900px){.rc-lang--bar select{max-width:12ch;font-size:12px}}
/* Logical margins so the bar pushes its actions to the reading end in every direction. */
[dir=rtl] .rc-save{margin-left:0;margin-right:auto}
@media (max-width:820px){[dir=rtl] .rc-exits{margin-left:0;margin-right:auto}}

/* ------------------------------------------------------------------ right to left */
/* The scene: geometry stays as painted; label text keeps its own direction inside each label. */
[dir=rtl] .rc-stage,[dir=rtl] .rc-preview-stage{direction:ltr}
[dir=rtl] .rc-stage :is(.rc-zl,.rc-room,.rc-pin,.rc-tip,.rc-caption,.rc-textview,.rc-testpanel),
[dir=rtl] .rc-preview-stage :is(.rc-zl,.rc-room,.rc-pin,.rc-preview-caption){direction:rtl;unicode-bidi:isolate}
[dir=rtl] .rc-stage .rc-illus,[dir=rtl] .rc-preview-stage .rc-illus{direction:rtl}
/* Chrome around the scene mirrors: panels anchored to the reading start side. */
/* The test panel and sound prompt stay where they are in every language: they float over the scene,
   which is not mirrored, so they keep covering the same part of the building. Their text is RTL. */
[dir=rtl] .rc-testpanel{text-align:right}
[dir=rtl] .rc-snd-prompt--app{direction:rtl}
[dir=rtl] .rc-app .rc-illus{left:auto;right:10px}
[dir=rtl] .rc-illus{right:auto;left:10px}
[dir=rtl] .rc-drawer{right:auto;left:0;border-left:0;border-right:1px solid var(--line);box-shadow:30px 0 80px rgba(0,0,0,.45)}
[dir=rtl] .rc-pop{left:auto;right:0}
[dir=rtl] .rc-prod .rc-ico--chev{right:auto;left:10px}
[dir=rtl] .rc-ico--chev{transform:scaleX(-1)}
[dir=rtl] .rc-tp-iv legend{float:right}
[dir=rtl] .rc-toggle-k::after{left:auto;right:2px}
[dir=rtl] .rc-toggle input:checked+.rc-toggle-k::after{transform:translateX(-16px)}
[dir=rtl] .rc-help-pic b{left:auto;right:-7px}
[dir=rtl] :is(.rc-table th,.rc-table td,.rc-choice,.rc-actions button,.rc-findings button,.rc-nc li){text-align:right}
[dir=rtl] .rc-steps li,[dir=rtl] .rc-facts li{padding-left:0;padding-right:18px;border-left:0}
[dir=rtl] .rc-rep-cover i{transform:rotate(24deg)}
/* Timeline: a time axis runs left to right in every language (the labels themselves are RTL text). */
[dir=rtl] .rc-tl-track{direction:ltr}
[dir=rtl] .rc-tl-track .rc-stop small{direction:rtl}
[dir=rtl] .rc-play svg{transform:none}
/* Mixed direction: emails, phone numbers, codes and URLs stay left-to-right inside RTL text. */
[dir=rtl] :is(input[type=email],input[type=tel],.rc-otp-input,.rc-tags li[dir=ltr],.rc-clock,.rc-versions){direction:ltr;text-align:right}
[dir=rtl] .rc-otp-input{text-align:center}
bdi{unicode-bidi:isolate}
@media (max-width:820px){
  [dir=rtl] .rc-pop{left:12px;right:12px}
}
/* The organization pill holds a sentence that grows with translation: it truncates instead of pushing the bar. */
.rc-pill{min-width:0}.rc-pill>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-head{min-width:0}
/* Phones: the dock's middle (Current state / Test controls) shrinks and wraps its words, so the tail
   (sound, settings) always stays on screen, in every language. */
@media (max-width:820px){
  .rc-dock-mid{flex:1 1 auto;min-width:0}
  .rc-dock-mid .rc-exploring{display:none}
  .rc-mode{min-width:0}.rc-mode button{min-width:0;padding:0 8px;line-height:1.1;font-size:11px}
  .rc-dock-tail{min-width:0}
}
/* Phones: long exit labels (fr "Enregistrer et quitter") wrap onto two lines instead of pushing past the edge. */
@media (max-width:520px){html:not([lang=en]) .rc-app .rc-exits .rc-btn{white-space:normal;line-height:1.1;max-width:34vw;font-size:10.5px;padding:2px 8px}}
