.language-switch {
    position: relative;
    z-index: 102;
    display: inline-flex;
    margin-left: auto;
    padding: 7px 9px;
    gap: 7px;
    align-items: center;
    flex: 0 0 auto;
    color: var(--muted, #9f98aa);
    border: 1px solid var(--line, rgba(225, 215, 242, .14));
    border-radius: 999px;
    background: rgba(7, 5, 11, .48);
    font-family: Consolas, monospace;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .09em;
    line-height: 1;
    box-shadow: inset 0 0 18px rgba(149, 94, 255, .04);
    backdrop-filter: blur(12px);
}

.site-header .language-switch {
    margin-right: 5px;
}

.language-code {
    transition: color .25s ease, opacity .25s ease;
}

.language-switch[data-active-language="en"] .language-code:first-child,
.language-switch[data-active-language="de"] .language-code:last-child {
    color: var(--paper, #f6f1ff);
}

.language-switch[data-active-language="en"] .language-code:last-child,
.language-switch[data-active-language="de"] .language-code:first-child {
    opacity: .48;
}

.language-switch-button {
    display: inline-flex;
    width: 39px;
    height: 22px;
    margin: 0;
    padding: 2px;
    align-items: center;
    border: 1px solid rgba(215, 196, 255, .22);
    border-radius: 999px;
    background: rgba(215, 196, 255, .08);
    cursor: pointer;
    transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.language-switch-button:hover {
    border-color: rgba(191, 154, 255, .58);
    background: rgba(160, 104, 255, .14);
}

.language-switch-button:focus-visible {
    outline: 2px solid var(--acid, #d8ff65);
    outline-offset: 3px;
}

.language-switch-track {
    display: block;
    width: 100%;
    pointer-events: none;
}

.language-switch-track i {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--paper, #f6f1ff), #c8a9ff);
    box-shadow: 0 2px 9px rgba(130, 78, 227, .52);
    transition: transform .32s cubic-bezier(.22, 1, .36, 1), background .25s ease;
}

.language-switch[data-active-language="de"] .language-switch-track i {
    background: linear-gradient(135deg, var(--acid, #d8ff65), #b8ef6d);
    transform: translateX(17px);
}

.language-switch-standalone {
    position: fixed;
    top: 22px;
    right: 22px;
    z-index: 20;
    margin: 0;
    color: #91a5a6;
    border-color: rgba(157, 225, 216, .22);
    background: rgba(7, 10, 14, .82);
    box-shadow: 0 12px 35px rgba(0, 0, 0, .3);
}

.language-switch-standalone .language-switch-button {
    border-color: rgba(157, 225, 216, .25);
}

.language-switch-standalone .language-switch-track i {
    background: linear-gradient(135deg, #f4f1e8, #91cfc6);
}

.language-switch-standalone[data-active-language="de"] .language-switch-track i {
    background: linear-gradient(135deg, #d6bd83, #91cfc6);
}

html[lang="de"] .legal-hero > *,
html[lang="de"] .legal-layout > *,
html[lang="de"] .legal-document,
html[lang="de"] .legal-section {
    min-width: 0;
}

html[lang="de"] .legal-page .legal-title,
html[lang="de"] .legal-page .legal-section,
html[lang="de"] .legal-page .legal-status,
html[lang="de"] .legal-page .legal-toc {
    hyphens: auto;
    overflow-wrap: break-word;
}

html[lang="de"] .legal-page .legal-section h2 {
    overflow-wrap: anywhere;
}

@media (min-width: 821px) {
    .site-header .site-nav {
        margin-left: 3px;
    }
}

@media (max-width: 820px) {
    .site-header .language-switch {
        margin-right: 0;
    }

    .site-header .menu-toggle {
        margin-left: 10px;
    }
}

@media (max-width: 420px) {
    .language-switch {
        padding: 6px 7px;
        gap: 5px;
    }

    .language-switch-button {
        width: 35px;
        height: 20px;
    }

    .language-switch-track i {
        width: 14px;
        height: 14px;
    }

    .language-switch[data-active-language="de"] .language-switch-track i {
        transform: translateX(15px);
    }

    .language-switch-standalone {
        top: 14px;
        right: 14px;
    }
}

@media (max-width: 560px) {
    html[lang="de"] .legal-page .legal-title {
        font-size: clamp(3rem, 14.5vw, 4.7rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .language-code,
    .language-switch-button,
    .language-switch-track i {
        transition: none;
    }
}

@media print {
    .language-switch {
        display: none;
    }
}
