.language-preference {
    position: fixed;
    top: max(88px, env(safe-area-inset-top));
    right: max(18px, env(safe-area-inset-right));
    z-index: 1950;
    box-sizing: border-box;
    width: min(420px, calc(100% - 36px));
    max-height: calc(60svh - 24px);
    overflow-y: auto;
    padding: 20px;
    background: #fffaf0;
    color: #202632;
    border: 2px solid #202632;
    border-radius: 8px;
    box-shadow: 4px 4px 0 #202632;
    font: 14px/1.6 system-ui, sans-serif;
    text-align: start;
}
.language-preference h2 {
    margin: 0 0 8px;
    font: 700 18px/1.4 system-ui, sans-serif;
    color: inherit;
}
.language-preference p { margin: 0 0 16px; }
.language-preference__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.language-preference button {
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #202632;
    border-radius: 5px;
    background: transparent;
    color: #202632;
    font: 600 14px/1.4 system-ui, sans-serif;
    cursor: pointer;
}
.language-preference [data-language-accept] { background: #202632; color: #fffaf0; }
.language-preference button:hover { background: #ffdc48; color: #202632; }
.language-preference button:focus-visible { outline: 3px solid #1044ed; outline-offset: 3px; }
@media (max-width: 650px) {
    .language-preference { right: 16px; width: calc(100% - 32px); padding: 16px; }
}
