.logo-menu-wrap { position: relative; flex-shrink: 0; }

.logo-toggle {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.05em;
    color: var(--t-text);
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
}
@media (min-width: 768px) {
    .logo-toggle { font-size: 2.25rem; }
}

.logo-dropdown {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    min-width: 220px;
    border-radius: 1rem;
    border: 1px solid var(--t-border);
    box-shadow: var(--t-shadow);
    padding: 0.5rem 0;
    z-index: 60;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}
.logo-dropdown.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.logo-dropdown-label {
    padding: 0.5rem 1rem 0.25rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--t-text-muted);
}
.logo-dropdown button {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    text-align: left;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    background: none;
    border: none;
    color: var(--t-text);
    cursor: pointer;
}
.logo-dropdown button.active { font-weight: 600; }
.theme-swatch {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 0.375rem;
    border: 1px solid var(--t-border);
    flex-shrink: 0;
}
.theme-swatch--light { background: linear-gradient(135deg, #f8fafc, #e0f2fe); }
.theme-swatch--gray { background: linear-gradient(135deg, #e4e4e7, #a1a1aa); }
.theme-swatch--dark { background: linear-gradient(135deg, #171717, #0a0a0a); }

.lang-switcher { position: relative; }

.lang-segment-toggle {
    display: inline-flex;
    align-items: center;
    padding: 2px;
    border-radius: 999px;
    border: 1px solid var(--t-border);
    background: var(--t-surface-2);
    gap: 1px;
}
.lang-segment-toggle button {
    min-width: 2.35rem;
    padding: 0.28rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--t-text-muted);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.lang-segment-toggle button.active {
    background: var(--t-accent);
    color: var(--t-accent-fg, #0a0a0a);
}
.mobile-nav-lang-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.35rem 0.5rem 0.15rem;
}
.studio-profile-lang-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
}
.lang-toggle {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 0.75rem;
    border-radius: 1rem;
    border: 1px solid var(--t-border);
    background: var(--t-surface);
    cursor: pointer;
    font-size: 1.125rem;
    line-height: 1;
}
.lang-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    min-width: 140px;
    border-radius: 1rem;
    border: 1px solid var(--t-border);
    box-shadow: var(--t-shadow);
    padding: 0.375rem 0;
    z-index: 60;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}
.lang-dropdown.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.lang-dropdown button {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    background: none;
    border: none;
    color: var(--t-text);
    cursor: pointer;
}
.lang-dropdown button.active { font-weight: 600; }

@media (max-width: 860px) {
    .lang-switcher .lang-dropdown {
        position: fixed;
        right: auto;
        left: auto;
        top: auto;
        margin-top: 0;
        min-width: 11.5rem;
        z-index: 80;
    }
    .lang-switcher .lang-dropdown button {
        padding: 0.65rem 1rem;
        min-height: 2.75rem;
        gap: 0.75rem;
    }
    .lang-switcher .lang-dropdown button .lang-code {
        min-width: 2rem;
        height: 1.5rem;
        border-radius: 0.4rem;
        background: var(--t-surface-2);
        font-size: 0.6875rem;
    }
    .lang-switcher .lang-dropdown button.active .lang-code {
        background: color-mix(in srgb, var(--t-accent) 22%, var(--t-surface-2));
    }
}

.theme-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}
.theme-modal.hidden { display: none; }
.theme-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
}
.theme-modal-card {
    position: relative;
    width: 100%;
    max-width: 24rem;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: var(--t-shadow);
    color: var(--t-text);
}

.theme-modal-head {
    padding: 1.5rem 2rem;
    border-bottom: 1px solid var(--t-border);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--t-surface-2);
}

.theme-modal-head .dot {
    width: 2rem;
    height: 2rem;
    border-radius: 1rem;
    flex-shrink: 0;
}

.theme-modal-head h2 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.theme-modal-head p {
    font-size: 0.8125rem;
    color: var(--t-text-muted);
    margin: 0.125rem 0 0;
}

.theme-modal-list {
    padding: 0.5rem;
    background: var(--t-surface);
}

.theme-modal-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    border: none;
    background: none;
    color: var(--t-text);
    font-size: 0.875rem;
    cursor: pointer;
    text-align: left;
}

.theme-modal-option:hover {
    background: var(--t-dropdown-hover);
}

.theme-modal-option.active {
    font-weight: 600;
    background: var(--t-surface-2);
}

.theme-modal-option-left {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.theme-modal-check {
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    border: 1.5px solid var(--t-border);
    flex-shrink: 0;
}

.theme-modal-option.active .theme-modal-check {
    border-color: var(--t-accent);
    background: var(--t-accent);
    box-shadow: inset 0 0 0 2px var(--t-surface);
}

.agent-avatar-wrap {
    overflow: hidden;
    flex-shrink: 0;
}

/* Language switch — left-to-right sweep */
html.lang-switching {
    overflow-x: clip;
}

.lang-wipe-layer {
    position: fixed;
    inset: 0;
    z-index: 9996;
    pointer-events: none;
    overflow: hidden;
}

.lang-wipe-layer::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        color-mix(in srgb, var(--t-surface) 55%, transparent) 42%,
        color-mix(in srgb, var(--t-accent) 10%, var(--t-surface)) 50%,
        color-mix(in srgb, var(--t-surface) 55%, transparent) 58%,
        transparent 100%
    );
    clip-path: inset(0 100% 0 0);
    animation: langPageWipe 0.95s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.lang-wipe-layer::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    left: 0;
    background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--t-accent) 35%, transparent), transparent);
    box-shadow: 0 0 24px 4px color-mix(in srgb, var(--t-accent) 18%, transparent);
    animation: langWipeEdge 0.95s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes langPageWipe {
    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0 0 0 100%); }
}

@keyframes langWipeEdge {
    from { transform: translateX(-4px); opacity: 0; }
    8% { opacity: 1; }
    92% { opacity: 1; }
    to { transform: translateX(100vw); opacity: 0; }
}

