/* The flag moves left, reveals its native name, then lifts the free language rows. */
.language-control{position:fixed;right:24px;bottom:20px;top:auto;width:196px;height:44px;z-index:36;pointer-events:none;direction:ltr;--language-accent:#9bd0ff}
.admin-theme .language-control,body.admin-language .language-control{--language-accent:#ffc0ae}
.language-control button{font:500 15px/1.2 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef4ff;border:0;box-shadow:none;cursor:pointer;margin:0;min-height:44px;background:transparent!important;pointer-events:auto;letter-spacing:0;border-radius:0}
.language-control .language-toggle{position:absolute;right:0;bottom:0;width:196px;height:44px;padding:0;display:flex;align-items:center;text-align:left;transform:translateY(-276px);clip-path:inset(-5px -5px -5px -5px)}
.language-flag{display:block;width:40px;height:27px;margin-left:6px;border-radius:2px;overflow:hidden;flex:none;filter:drop-shadow(0 2px 5px #0004)}
.language-flag svg{display:block;width:100%;height:100%}
.language-current-name{position:absolute;left:64px;right:0;white-space:nowrap;color:var(--language-accent);font-weight:600;text-align:left;unicode-bidi:isolate}
.language-control[data-state=closed] .language-toggle{width:52px;transform:none;clip-path:none}
.language-control[data-state=closed] .language-toggle>.language-flag{transform:none}
.language-control[data-state=closed] .language-current-name{display:none;opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(20px)}
.language-menu{position:absolute;right:0;bottom:44px;width:196px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;direction:ltr}
.language-menu[hidden],.language-option[hidden]{display:none!important}
.language-control .language-option{display:flex;align-items:center;gap:18px;width:100%;height:46px;padding:0;text-align:left;direction:ltr}
.language-option .language-flag{width:32px;height:21px;margin-left:10px}
.language-option bdi{display:block;text-align:left;unicode-bidi:isolate;transition:color .18s,text-shadow .18s}
.language-option:hover bdi,.language-option:focus-visible bdi,.language-toggle:hover .language-current-name{color:var(--language-accent);text-shadow:0 0 12px color-mix(in srgb,var(--language-accent) 35%,transparent)}
.language-control button:focus-visible{outline:none}.language-control .language-toggle:focus-visible>.language-flag{outline:1px solid var(--language-accent);outline-offset:4px}.language-option:focus-visible bdi{text-decoration:underline;text-underline-offset:5px}
html.auth-open .language-control[data-language-page]{visibility:hidden}
.auth-dialog>.language-control{position:fixed;right:24px;bottom:20px;top:auto}
.site-legal{pointer-events:none}.site-legal a{pointer-events:auto}
/* RTL shapes Arabic text correctly without mirroring the established composition. */
html[dir=rtl] .hero header,html[dir=rtl] .topbar,html[dir=rtl] .hero-layout,html[dir=rtl] #login-space,html[dir=rtl] .module-timeline,html[dir=rtl] .site-legal,html[dir=rtl] .auth-content,html[dir=rtl] .card-content{direction:ltr}
html[dir=rtl] .intro h1,html[dir=rtl] .explanation-copy,html[dir=rtl] .modules-heading,html[dir=rtl] .module-card{direction:rtl;text-align:left}
html[dir=rtl] .intro .login-trigger{direction:ltr}
html[dir=rtl] .intro .login-label,html[dir=rtl] .intro .login-light{direction:rtl;unicode-bidi:isolate}
html[dir=rtl] .auth-content label,html[dir=rtl] .auth-content p,html[dir=rtl] .auth-content summary,html[dir=rtl] .card-content label,html[dir=rtl] .card-content p,html[dir=rtl] .card-content summary{direction:rtl;text-align:left}
html[dir=rtl] .auth-content h2,html[dir=rtl] .card-content h2{direction:rtl;text-align:center}
html[dir=rtl] .pin-fields,html[dir=rtl] .otp-fields,html[dir=rtl] input{direction:ltr;text-align:left}
html[dir=rtl] .auth-content button,html[dir=rtl] .card-content button,html[dir=rtl] .auth-content .auth-hint{direction:rtl}
@media(max-width:850px){.language-control,.auth-dialog>.language-control{right:14px;bottom:13px}.site-legal{right:70px;padding-left:8px}.site-legal a+a::before{margin:0 7px}}
@media(max-height:440px){.language-control,.auth-dialog>.language-control{bottom:10px}.language-control .language-toggle{transform:translateY(-231px)}.language-control .language-option{height:37px}}
@media(prefers-reduced-motion:reduce){.language-control *{transition:none!important;animation:none!important}}

/* On narrow screens the free list takes visual priority over the form beneath it. */
@media(max-width:600px){
 .auth-dialog .auth-viewport,.login-card .card-content{transition:opacity .22s}
 .auth-dialog:has(.language-control:not([data-state=closed])) .auth-viewport,body:has(.language-control:not([data-state=closed])) .login-card .card-content{opacity:.06;pointer-events:none}
}
