/* Login brand decoration. First-paint layout and black fallback live in cmp.css;
   the card continues to use the existing shared Milana black-glass material. */
body.cmp-body .cmp-login .cmp-wordmark { color: #f5f5f7; text-shadow: none; align-items: center; justify-content: center; gap: 0; }
body.cmp-body .cmp-login__tag { color: #b5b7bf; text-shadow: none; }
body.cmp-body .cmp-login .cmp-wordmark__word { position: relative; padding-bottom: 4px; }
body.cmp-body .cmp-login .cmp-wordmark__ch {
    animation: none;
    width: 1em;
    text-align: center;
    letter-spacing: 0;
    flex: 0 0 1em;
}
body.cmp-body .cmp-login-scramble { outline-offset: 8px; border-radius: 2px; }
body.cmp-body .cmp-login-scramble .cmp-wordmark__word::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 1px;
    background: rgba(255, 255, 255, .72);
    transform: scaleX(0);
    transform-origin: left;
}
body.cmp-body .cmp-login-scramble:focus-visible .cmp-wordmark__word::after { transform: scaleX(1); }
@media (hover: hover) {
    body.cmp-body .cmp-login-scramble:hover .cmp-wordmark__word::after { transform: scaleX(1); }
    body.cmp-body .cmp-login-scramble:hover .cmp-wordmark__word { text-shadow: 0 0 14px rgba(255, 255, 255, .18); }
}
@media (prefers-reduced-motion: no-preference) {
    body.cmp-body .cmp-login-scramble .cmp-wordmark__word::after { transition: transform 250ms ease; }
}

/* Keep the requested Cyrillic texts' advance widths identical before/after JS.
   Stable original glyphs retain line boxes; the random overlay never enters flow. */
body.cmp-body .cmp-login :is(.cmp-authcard__title, .cmp-authcard__sub) {
    font-kerning: none;
    font-variant-ligatures: none;
}
body.cmp-body .cmp-login .cmp-text-scramble-word { display: inline-block; white-space: nowrap; }
body.cmp-body .cmp-login .cmp-text-scramble-glyph { position: relative; display: inline-block; vertical-align: baseline; }
body.cmp-body .cmp-login .cmp-text-scramble-random {
    position: absolute;
    inset: 0;
    display: none;
    overflow: hidden;
    white-space: pre;
    text-align: center;
}
body.cmp-body .cmp-login .is-scrambling > .cmp-text-scramble-original { opacity: 0; }
body.cmp-body .cmp-login .is-scrambling > .cmp-text-scramble-random { display: block; }
@media (prefers-reduced-motion: reduce) {
    body.cmp-body .cmp-login .is-scrambling > .cmp-text-scramble-original { opacity: 1; }
    body.cmp-body .cmp-login .is-scrambling > .cmp-text-scramble-random { display: none; }
}
