@media (max-width: 768px) {
    body {
        --header-height: 56px;
        --layout-width: 100%;
        --page-width: 100%;
        --body-background-color: #ebedf0;
        font-size: 14px;
    }
    body.mode-2018 {
        --module-border-radius: 6px!important;
        --tooltip-border-radius: 8px!important;
        --button-border-radius: 6px!important;
    }
    body * {
        user-select: none;
        -webkit-tap-highlight-color: transparent;
    }
    body .really_text, body span.text, body .lyrics, body .video_info_title {
        user-select: text;
    }
    .mobileonly {
        display: block !important;
    }
    .nomobile {
        display: none!important;
    }
    .page_header {
        display: none !important;
    }
    .layout,
    .page_body,
    .wrap1,
    .wrap2,
    .page_content,
    .wide_column,
    .wide_column_wrap,
    #auth,
    .crp-list,
    .messenger-app {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        box-sizing: border-box;
        position: static;
    }
    .wide_column_left .wide_column_wrap,
    .wide_column_right .wide_column_wrap {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    .narrow_column_wrap,.narrow_column {
        width: 100% !important;
    }
    .toTop,
    .show_as_menu_on_mobile {
        display: none !important;
    }
    .page_body {
        margin-top: var(--header-height);
    }
    .page_body, center span:only-child, .post-content .text, .post-content, .edit_link, table, .video-wowzer,.video_item_info {
        font-size: 14px;
    }
    svg {
        text-align: center;
    }

    /* appbar */
    .appbar {
        display: flex;
        align-items: center;
        height: var(--header-height);
        background-color: var(--accent-color);
        color: var(--accent-text-color);
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 198;
        box-shadow: none;
        transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1);
        padding: 0 4px;
        box-sizing: border-box;
        --appbar-bg-alpha: 1;
    }
    .appbar svg, .appbat .appbar-title {
        transition: 250ms;
    }
    .dark-mode .appbar {
        --accent-color: var(--module-header-background-color);
        --accent-text-color: var(--text-color);
    }
    .appbar .hamburger {
        width: 48px;
        height: 48px;
        margin: 0;
        flex-shrink: 0;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }
    .appbar .hamburger svg {
        fill: var(--accent-text-color);
    }
    .appbar .hamburger-badge {
        position: absolute;
        top: 4px;
        right: 4px;
        min-width: 18px;
        height: 18px;
        padding: 0 5px;
        border-radius: 9px;
        background-color: var(--sidebar-count-color);
        color: var(--sidebar-count-text-color);
        font-size: 11px;
        font-weight: 700;
        line-height: 18px;
        text-align: center;
        box-sizing: border-box;
        pointer-events: none;
        z-index: 1;
        display: none;
        align-items: center;
        justify-content: center;
    }
    .appbar .hamburger-badge:not(:empty) {
        display: flex;
    }
    .appbar .appbar-title {
        font-size: 20px;
        line-height: 32px;
        font-weight: 500;
        letter-spacing: 0.0125em;
        flex: 1;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .appbar .appbar-extra {
        display: flex;
        align-items: center;
    }
    .appbar-extra-btn,#__feed_settings_link.appbar-extra-btn {
        background: none;
        border: none;
        cursor: pointer;
        padding: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--accent-text-color);
    }
    .appbar-extra-btn svg {
        fill: var(--accent-text-color);
    }
    .appbar--transparent {
        background-color: transparent !important;
        box-shadow: none !important;
    }
    .appbar:not(.appbar--transparent):not(.appbar--scrolled):not(.appbar--elevated) {
        background-color: color-mix(in srgb, var(--accent-color) calc(var(--appbar-bg-alpha) * 100%), transparent) !important;
        box-shadow: none !important;
    }
    .appbar--transparent .hamburger svg,
    .appbar--transparent .appbar-title,
    .appbar--extra-btn svg,
    .appbar--transparent .appbar-extra-btn svg {
        fill: #fff !important;
        color: #fff !important;
    }
    .appbar--transparent .appbar-title {
        color: #fff !important;
        text-shadow: 0 1px 3px rgba(0,0,0,0.5);
    }
    .appbar--transparent .hamburger svg,
    .appbar--transparent .appbar-extra-btn svg {
        filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5));
    }
    .appbar--scrolled,
    .appbar--elevated {
        background-color: var(--accent-color) !important;
        box-shadow: 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12) !important;
    }

    /* appbar tabs dropdown */
    .appbar-tabs-menu-wrap {
        flex: 1;
        min-width: 0;
    }
    .appbar .appbar-title.appbar-title--tabs-menu {
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 2px;
        user-select: none;
    }
    .appbar-title--tabs-menu:focus-visible {
        outline: 2px solid var(--accent-text-color);
        outline-offset: 2px;
        border-radius: 4px;
    }
    .appbar-title-label {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-weight: 500;
        min-width: 0;
    }
    .appbar-title-chevron {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
    }
    .appbar-title-chevron svg {
        display: block;
        fill: currentColor;
        transition: transform 150ms ease;
    }
    .appbar-tabs-menu-wrap.shown .appbar-title-chevron svg {
        transform: rotate(180deg);
    }
    .appbar-tabs-menu-wrap .appbar-tabs-menu {
        min-width: 200px;
    }
    .appbar-tabs-menu-item {
        display: flex !important;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
        padding: 0 !important;
        height: 44px;
        line-height: 44px;
    }
    .appbar-tabs-menu-link {
        display: flex !important;
        align-items: center;
        flex: 1;
        min-width: 0;
        gap: 8px;
        height: 44px;
        line-height: 44px;
        padding: 0 16px !important;
        text-decoration: none;
    }
    .appbar-tabs-menu-link:hover {
        background-color: color-mix(in srgb, currentColor 4%, transparent);
    }
    .appbar-tabs-menu-label {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-width: 0;
    }
    .appbar-tabs-menu-count {
        margin-left: auto;
        padding-left: 24px;
        flex-shrink: 0;
        font-size: 12px;
        font-weight: 400;
        color: var(--muted-text-color);
    }
    .appbar-tabs-menu-item--active,
    .appbar-tabs-menu-item--active .appbar-tabs-menu-link {
        color: inherit;
        opacity: 0.95;
    }
    .appbar-tabs-menu-item--subitem .appbar-tabs-menu-link {
        padding-left: 32px !important;
        font-size: 14px;
    }
    .appbar-tabs-menu-item--subitem .appbar-tabs-menu-label {
        color: var(--text-color);
        opacity: 0.9;
    }
    .appbar-tabs-menu-item--subitem.appbar-tabs-menu-item--active .appbar-tabs-menu-label {
        color: var(--accent-color);
        font-weight: 500;
        opacity: 1;
    }
    .appbar-tabs-menu-extra {
        margin-left: auto;
        padding-right: 12px;
        display: inline-flex;
        align-items: center;
        flex-shrink: 0;
        height: 44px;
    }
    .appbar-tabs-menu-extra .archive_actions_icon {
        display: inline-block;
        width: 16px;
        height: 16px;
        cursor: pointer;
    }
    .appbar-extra-btn-wrap {
        display: flex;
        align-items: center;
    }
    .appbar-extra-btn-wrap .appbar-extra-btn {
        background: none;
        border: none;
        cursor: pointer;
        padding: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--accent-text-color);
    }
    .appbar-extra-btn-wrap .archive_actions_icon {
        display: block;
        width: 18px;
        height: 18px;
        background-size: contain;
        cursor: pointer;
        filter: brightness(0) invert(1);
    }
    .dark-mode .appbar-extra-btn-wrap .archive_actions_icon {
        filter: none;
    }
    .appbar--transparent .appbar-extra-btn-wrap .archive_actions_icon {
        filter: drop-shadow(0 1px 3px rgba(0,0,0,0.5)) brightness(0) invert(1);
    }

    /* sidebar drawer */
    .sidebar {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        display: block !important;
        padding-top: 0;
        width: calc(100vw - 3.5rem) !important;
        max-width: 17.5rem;
        background-color: var(--module-background-color);
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        overflow-y: auto;
        margin: 0 !important;
        z-index: 201;
    }
    .sidebar_inner {
        width: 100%;
    }
    .sidebar_inner .link {
        height: 3rem;
        line-height: 3rem;
        padding: 0 1rem;
        color: var(--text-color);
        font-weight: 500;
    }
    .sidebar_inner .link * {
        font-size: .875rem;
    }
    .sidebar_inner .link .link_icon {
        height: 1.75rem;
        width: 1.75rem;
        margin-right: 1rem;
        color: rgba(0,0,0,.54);
    }
    body.dark-mode .sidebar .sidebar_inner .link .link_icon {
        color: #71aaeb;
    }
    .sidebar_inner .link span {
        margin-top: 1px;
        max-width: calc(100% - 3.5rem);
    }
    .sidebar .sidebar_inner .link object[type="internal/link"] {
        right: 1rem;
        margin-top: .75rem;
        padding: .3125rem .5rem;
        border-radius: var(--module-border-radius);
        height: fit-content;
        line-height: .875rem;
        font-size: .875rem;
    }
    .menu_divider {
        background: var(--border-color);
        margin: .5rem 0!important;
    }
    .left_menu_nav_wrap {
        padding: .4375rem 1rem 1rem;
    }
    body.menu-expanded .sidebar {
        transform: translateX(0);
        box-shadow: 0 8px 10px -5px rgba(0,0,0,.2), 0 16px 24px 2px rgba(0,0,0,.14), 0 6px 30px 5px rgba(0,0,0,.12);
    }
    body.menu-expanded {
        overflow: hidden;
    }
    .home_button {
        width: 100%;
        padding: .5rem 1rem;
        margin-bottom: .5rem;
        height: var(--header-height);
        box-sizing: border-box;
        background-color: var(--accent-color);
    }

    .home_button:active {
        padding-top: calc(.5rem + 1px);
        height: var(--header-height)
    }

    #votesBalance, #news {
        background: none;
        border: 0;
        border-top: 1px solid var(--border-color);
        margin: .5rem 0 0;
        padding: 1rem;
        text-align: start;
    }
    #news b {
        font-size: .875rem
    }

    /* mobile-exclusive sidebar items */

    /* sidebar profile bar */
    .mobile-profile-bar {
        display: block;
        width: 100%;
        height: 10.5rem;
        overflow: hidden;
        text-decoration: none;
        box-sizing: border-box;
        z-index: 1;
        position: relative;
    }
    .mobile-profile-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        filter: blur(10px) brightness(.75);
        transform: scale(1.3);
        z-index: 1;
    }
    .mobile-profile-avatar-wrap {
        position: absolute;
        top: 1rem;
        left: 1rem;
        z-index: 2;
    }
    #mobileProfileAvatar {
        width: 4.5rem;
        height: 4.5rem;
        border-radius: 50%;
        object-fit: cover;
        display: block;
    }
    .mobile-profile-info {
        position: absolute;
        bottom: 1rem;
        left: 1rem;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        max-width: calc(100% - 2rem);
    }
    .mobile-profile-name {
        font-size: 1.125rem;
        line-height: 1.375rem;
        font-weight: 500;
        color: var(--white);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
    .mobile-profile-status {
        font-size: .875rem;
        line-height: 1.25rem;
        font-weight: 400;
        color: var(--white);
        margin-top: .25rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
    .mobile-profile-bar-wrap {
        position: relative;
        display: block;
        margin-bottom: .5rem;
    }
    .mobile-profile-search {
        position: absolute;
        top: .5rem;
        right: .5rem;
        z-index: 3;
        width: 2.5rem;
        height: 2.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(255, 255, 255, 0.9);
    }
    .mobile-profile-search svg {
        width: 1.5rem;
        height: 1.5rem;
    }
    .mobile-profile-search:active {
        opacity: 0.7;
    }

    /* sidebar audio player */
    .sidebar_audio_player.mobileonly {
        display: none!important;
        position: sticky;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        align-items: center;
        height: 3.5rem;
        padding: 0 .5rem;
        box-sizing: border-box;
        overflow: hidden;
        background-color: var(--module-background-color);
        border-top: 1px solid var(--border-color);
        gap: .5rem;
        z-index: 10;
    }
    .sidebar_audio_player.mobileonly.sidebar_audio_player_active {
        display: flex!important;
    }
    .sidebar_audio_player svg {
        width: 1.5rem;
        height: 1.5rem;
        flex-shrink: 0;
        color: var(--accent-color);
    }
    .sidebar_ap_play_btn {
        flex-shrink: 0;
        width: 2.25rem;
        height: 2.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border-radius: 50%;
        transition: background-color 80ms;
    }
    .sidebar_ap_play_btn:active {
        background-color: var(--hover-background-color);
    }
    .sidebar_ap_play_btn svg {
        display: none;
    }
    .sidebar_ap_play_btn .sidebar_ap_play_icon {
        display: block;
    }
    .sidebar_audio_player.sidebar_audio_player_playing .sidebar_ap_play_icon {
        display: none;
    }
    .sidebar_audio_player.sidebar_audio_player_playing .sidebar_ap_pause_icon {
        display: block;
    }
    .sidebar_ap_track_info {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 1px;
        cursor: pointer;
    }
    .sidebar_ap_track_name {
        font-size: .8125rem;
        font-weight: 600;
        color: var(--text-color);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        transition: opacity 80ms linear;
    }
    .sidebar_ap_track_performer {
        font-size: .8125rem;
        font-weight: 400;
        color: var(--muted-text-color-2);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        opacity: 0.75;
        transition: opacity 80ms linear;
    }
    .sidebar_ap_right_btn:active {
        background-color: var(--hover-background-color);
    }
    .sidebar_ap_right_btn svg {
        display: none;
    }
    .sidebar_ap_next_icon {
        display: block !important;
    }
    .sidebar_audio_player:not(.sidebar_audio_player_playing) .sidebar_ap_next_icon {
        display: none !important;
    }
    .sidebar_audio_player:not(.sidebar_audio_player_playing) .sidebar_ap_cancel_icon {
        display: block !important;
    }

    /* page structure */

    h2.page_block_h2,.page_block_header {
        min-height: unset;
    }
    /* group header */
    .page_block_header {
        background-color: var(--module-background-color);
        color: var(--text-color);
        border: 0;
        font-size: 16px;
        line-height: 20px;
        font-weight: 500;
        padding: 12px 16px 8px;
    }
    .page_block_header_count {
        font-size: 13px;
        margin-top: 0;
        color: var(--muted-text-color-2);
    }
    .page_block_header .button {
        text-transform: none;
    }
    .crumb_header .ui_crumb_sep, .crumb_header .page_block_header_inner .ui_crumb:not(:last-child) {
        display: none;
    }
    .page_block {
        margin-bottom: 8px;
        box-shadow: none;
    }
    .page_block + .page_block.comments {
        margin-top: -8px;
    }
    .page_block.postFeedWrapperMicroblog,
    .wall_posts .post:first-child, .insertThere .post:first-child,
    .page_block.wall_posts_tabs + .page_block,
    .page_body:has(.mobile-rmenu-wrap):not(:has(.narrow_column .module)):not(:has(.postFeedWrapperMicroblog)) .wide_column .page_block:first-child,
    .mobile-rmenu-wrap-but-actually + .page_block {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }
    .page_block_h2:not(.tabs_header) + .ui_search {
        border-top: 1px solid var(--border-color);
        margin-top: 12px;
    }
    .app-play-block {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    #appFrame {
        width: 100vw;
        height: 600px;
        display: block;
        margin: 16px auto;
    }
    .page_block_sub_header, .page_padding, #auth.page_block, .audios_padding, .deactivated, #fastLogin {
        padding: 16px!important;
    }
    .messagebox-content-header, .mb_tabs {
        margin: -16px -16px 0;
        padding: 16px;
    }
    .settings_padding,.settings_block_msg,.audio_pl_edit_box .ape_header {
        padding-block: 16px;
    }
    .form_group {
        margin-inline: 16px;
    }
    .page_padding .form_group {
        margin-inline: 0;
    }
    .settings_block_msg,.post .wall_text,.post_replies_header,.audio_pl_edit_box .box_controls,.audio_pl_edit_box .ape_item_list,.audio_pl_edit_box .ape_header {
        padding-inline: 16px;
    }
    .post .post_header {
        padding: 16px 16px 0;
    }
    .post_author {
        font-weight: 500;
    }
    .post-nsfw .post-content::after, .deleted_content .content_page_error {
        margin: 0 16px;
        width: calc(100% - 32px);
    }
    .post_view_page .comments {
        border-top: 1px solid var(--border-color)!important;
    }

    .post_header_info {
        margin-left: 58px;
        padding-top: 8px;
    }

    .post-avatar {
        height: 46px;
        width: 46px;
    }

    .post_full_like_wrap {
        margin: 0;
        padding: 0;
        overflow: hidden;
    }
    .post_full_like {
        width: 100%;
    }
    body:not(.mode-2018) .post_full_like {
        display: flex;
        align-items: center;
    }
    .post_full_like_wrap .post_like:first-child, .post_full_like_wrap .post_share:first-child {
        margin: 0;
    }
    body:not(.mode-2018) .post .action_button {
        width: 100%;
        align-items: center;
        justify-content: center;
        padding: 14px 6px;
        border-radius: 0;
        line-height: 1;
        margin: 0;
    }
    body.mode-2018 .post_full_like .action_count {
        width: 33px;
    }
    body:not(.mode-2018) .post_full_like .action_count {
        margin-left: 8px;
    }
    body.mode-2018 .post .action_button {
        padding: 12px 0 12px 16px;
        height: unset;
        margin: 0;
    }
    body.mode-2018 .post .action_count:empty {
        display: block!important;
    }

    body:not(.mode-2018) .post .post_reply {
        order: unset;
    }
    body:not(.mode-2018) .post .post_reply .action_icon {
        display: block;
    }

    .post_likes_faces.mobileonly {
        display: flex !important;
        align-items: center;
        gap: 10px;
        padding: 1px 16px 10px;
        text-decoration: none;
    }
    .post_likes_faces.mobileonly[hidden] {
        display: none !important;
    }
    .post_likes_faces_photos {
        display: flex;
        align-items: center;
        flex-shrink: 0;
    }
    .post_likes_faces_photos > * + * {
        margin-left: -2px;
    }
    .post_likes_face {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        object-fit: cover;
        display: block;
        box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
    }
    .post_likes_faces_photos:not(.has_counter) .post_likes_face + .post_likes_face {
        -webkit-mask-image: radial-gradient(circle 12px at -8px 50%, transparent 11px, #000 12px);
        mask-image: radial-gradient(circle 12px at -8px 50%, transparent 11px, #000 12px);
    }
    .post_likes_faces_photos.has_counter .post_likes_face {
        -webkit-mask-image: radial-gradient(circle 12px at calc(100% + 8px) 50%, transparent 11px, #000 12px);
        mask-image: radial-gradient(circle 12px at calc(100% + 8px) 50%, transparent 11px, #000 12px);
    }
    .post_likes_faces_counter {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 24px;
        min-width: 24px;
        padding: 0 6px;
        box-sizing: border-box;
        border-radius: 12px;
        background: var(--muted-text-color-2);
        color: var(--white);
        font-size: 11px;
        font-weight: 500;
        text-transform: uppercase;
    }
    .post_likes_faces_label {
        font-size: inherit;
        line-height: 15px;
        color: var(--muted-text-color-2);
        min-width: 0;
    }

    .composer.model_content_textarea textarea {
        margin-left: 44px;
        width: calc(100% - 44px);
    }
    .post_field_user_link {
        left: 16px;
    }
    .composer.model_content_textarea:not(.shown) #wallAttachmentMenu {
        padding: 15px 16px;
    }
    .composer.model_content_textarea.shown .post-bottom-acts {
        padding: 16px;
    }

    /* buttons */
    .button, input[class="button"], .profile_link {
        min-width: 88px;
        height: 36px;
        min-height: 36px;
        padding: 0 16px;
        border-radius: 2px;
        font-size: 14px;
        line-height: 20px;
        font-weight: 500;
        letter-spacing: normal;
        text-transform: none;
        box-shadow: none;
        transition: background-color 0.15s ease-out, color 0.15s ease-out, box-shadow 0.15s ease-out;
    }
    .button:not(.button_light):not(.profile_link,:disabled, [disabled], [data-type="video"]):active,
    input[class="button"]:not(:disabled, [disabled]):active {
        box-shadow: 0 1px 2px 0 rgba(0,0,0,.14), 0 1px 3px 0 rgba(0,0,0,.12);
    }
    .button:not(.profile_more_btn):active, input[class="button"]:active {
        padding-top: 7px;
        padding-bottom: 8px;
    }
    .button.profile_more_btn {
        min-width: 0;
        background-position: 11px 17px;
    }
    .button.button_light, .profile_link {
        padding-left: 12px;
        padding-right: 12px;
    }
    .button.button_wide {
        padding-left: 16px;
        padding-right: 16px;
    }
    .button:disabled, .button[disabled],
    input[class="button"]:disabled, input[class="button"][disabled] {
        box-shadow: none;
        opacity: 0.64;
    }
    .action_links .button {
        padding: 7px 16px 8px
    }

    /* forms */
    .form_group .form_field,.game_edit {
        flex-direction: column;
        width: 100%;
    }
    .form_field:not(:last-child) {
        margin-bottom: 16px;
    }
    .form_group .form_label {
        width: 100%;
        padding: 2px 0 8px;
        font-size: 14px;
        line-height: 18px;
        color: var(--muted-text-color);
        font-weight: 500;
    }
    .form_group .form_label:empty {
        display: none;
    }
    .form_group .form_data,.ovk-diag-body .module_body {
        font-size: 14px;
        line-height: 22px;
        margin-left: 0;
    }
    #login_form, .form_field input:not([type="submit"], [type="checkbox"], [type="radio"], [type="button"]), .form_field:not(.settings_privacy_row) select, .form_field textarea {
        width: 100%;
    }

    /* form fields */
    .form_field input:not([type="submit"], [type="checkbox"], [type="radio"], [type="button"], [type="hidden"], [type="file"], [type="image"]),
    #login_form input:not([type="submit"], [type="checkbox"], [type="radio"], [type="button"], [type="hidden"]),
    .form_field select,
    .form_field textarea, textarea:not(.expanded-textarea) {
        height: 44px;
        padding: 11px 0 8px;
        font-size: 16px;
        line-height: 24px;
        color: var(--text-color);
        background-color: transparent;
        border: none;
        border-bottom: 1px solid color-mix(in srgb, var(--text-color) 38%, transparent);
        border-radius: 0;
        box-sizing: border-box;
        outline: none;
    }
    .form_field input:not([type="submit"], [type="checkbox"], [type="radio"], [type="button"], [type="hidden"], [type="file"], [type="image"])::placeholder,
    .form_field textarea::placeholder, textarea::placeholder {
        color: var(--muted-text-color);
        opacity: 1;
    }
    .form_field input:not([type="submit"], [type="checkbox"], [type="radio"], [type="button"], [type="hidden"], [type="file"], [type="image"]):focus,
    .form_field select:focus,
    .form_field textarea:focus, textarea:not(.expanded-textarea):focus {
        border-bottom-color: var(--accent-color);
        box-shadow: 0 1px 0 0 var(--accent-color);
    }
    .form_field input:disabled,
    .form_field select:disabled,
    .form_field textarea:disabled, textarea:disabled {
        border-bottom-style: dotted;
        opacity: 0.48;
    }
    .form_field textarea, textarea {
        height: auto;
        min-height: 88px;
        padding: 8px 0;
        resize: none;
    }
    .form_field select[size],
    .form_field select[multiple] {
        height: auto;
        border: 1px solid color-mix(in srgb, var(--text-color) 38%, transparent);
    }

    /* selects */
    .form_field select {
        appearance: none;
        -webkit-appearance: none;
        padding-right: 32px;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath d='M12 13.698 6.64 9.232a1 1 0 0 0-1.28 1.536l6 5a1 1 0 0 0 1.28 0l6-5a1 1 0 1 0-1.28-1.536L12 13.698Z' fill='%23818c99'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 4px center;
        background-size: 20px 20px;
    }
    body.dark-mode .form_field select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath d='M12 13.698 6.64 9.232a1 1 0 0 0-1.28 1.536l6 5a1 1 0 0 0 1.28 0l6-5a1 1 0 1 0-1.28-1.536L12 13.698Z' fill='%2399a2ad'/%3E%3C/svg%3E");
    }
    .label_end .form_label {
        text-align: start;
    }
    .form_field.settings_privacy_row {
        padding-top: 0;
    }
    .form_group.game_edit {
        margin: 0;
    }

    .tickets_header {
        padding: 12px 16px;
        margin-top: 12px;
        border-top: 1px solid var(--border-color);
    }
    .tickets_content .reply,.reply {
        padding: 0 16px;
    }

    /* dialogs */
    .ovk-diag-cont {
        width: min(560px, calc(100vw - 80px))!important;
        min-width: min(280px, calc(100vw - 80px));
        height: auto!important;
        top: 50%;
        bottom: auto;
        left: 50%;
        margin-right: -50%;
        transform: translate(-50%, -50%);
        animation: mdDialogIn 0.2s ease-out;
        background-color: transparent !important;
    }
    .ovk-diag-cont .ovk-diag {
        width: 100% !important;
        margin: 0;
        border: none;
        border-radius: 2px;
        box-shadow: 0 11px 15px -7px rgba(0,0,0,0.2), 0 24px 38px 3px rgba(0,0,0,0.14), 0 9px 46px 8px rgba(0,0,0,0.12);
    }

    .ovk-msg-dialog .ovk-diag {
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - 48px);
    }
    .ovk-msg-dialog .ovk-diag-head {
        background: none!important;
        border: 0!important;
        color: var(--text-color);
        height: auto;
        font-size: 20px;
        line-height: 28px;
        font-weight: 500;
        padding: 24px 24px 20px;
        border-radius: 0;
        flex: none;
    }
    .ovk-msg-dialog .ovk-diag-head a {
        color: var(--accent-color);
    }
    .ovk-msg-dialog .ovk-diag-head-close {
        display: none;
    }
    .ovk-msg-dialog.ovk-diag-no-title .ovk-diag-head {
        display: none;
    }
    .ovk-msg-dialog.ovk-diag-no-title .ovk-diag-body {
        padding-top: 24px;
    }
    .ovk-diag-body {
        height: auto !important;
        padding: 0 24px 24px!important;
    }
    .ovk-msg-dialog .ovk-diag-body {
        font-size: 16px;
        min-height: 0;
        flex: 0 1 auto;
        overflow-y: auto;
    }
    .ovk-msg-dialog .ovk-diag-action {
        display: flex;
        justify-content: flex-end;
        gap: 0;
        padding: 8px;
        white-space: nowrap;
        background: none;
        flex: none;
    }
    .ovk-msg-dialog .ovk-diag-action > .ovk-msg-btn {
        width: auto;
        min-width: 64px;
        min-height: 36px;
        height: 36px;
        margin: 0 0 0 8px;
        padding: 0 8px !important;
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        color: var(--accent-color) !important;
        font-size: 14px;
        text-transform: uppercase;
        font-weight: 500;
        border-radius: 2px;
    }

    .ovk-msg-dialog.ovk-diag-stacked .ovk-diag-action {
        flex-direction: column;
        align-items: stretch;
        row-gap: 4px;
    }
    .ovk-msg-dialog.ovk-diag-stacked .ovk-diag-action > .ovk-msg-btn {
        width: 100%;
        min-height: 48px;
        height: 48px;
        margin: 0;
        padding: 0 16px !important;
        justify-content: flex-end;
    }
    .ovk-msg-dialog .ovk-diag-action > .ovk-msg-btn:hover,
    .ovk-msg-dialog .ovk-diag-action > .ovk-msg-btn:active {
        background-color: color-mix(in srgb, var(--accent-color) 12%, transparent) !important;
        color: var(--accent-color) !important;
    }

    /* bottom sheet */
    .ovk-diag-cont.ovk-msg-sheet {
        width: 100%!important;
        max-width: none;
        top: auto;
        bottom: 0;
        left: 0;
        margin-right: 0;
        transform: translateY(0);
        animation: slideUpBottomSheet 0.3s ease-out forwards !important;
    }
    .ovk-msg-sheet .ovk-diag {
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - var(--header-height) - 8px);
        border-radius: 0;
        box-shadow: 0 -8px 10px -5px rgba(0,0,0,0.2),
                    0 -16px 24px 2px rgba(0,0,0,0.14),
                    0 -6px 30px 5px rgba(0,0,0,0.12);
        will-change: transform;
    }
    .ovk-msg-sheet .ovk-diag-body {
        overscroll-behavior-y: contain;
    }

    @media (orientation: portrait) {
        .ovk-diag-cont.ovk-msg-sheet:not(.ovk-msg-sheet--expanded) .ovk-diag {
            max-height: calc(100vh - 56.25vw);
        }
    }
    .ovk-diag-cont.ovk-msg-sheet--dragging .ovk-diag,
    .ovk-diag-cont.ovk-msg-sheet--resizing .ovk-diag {
        max-height: none !important;
    }
    body.dimmed.ovk-sheet-dim > .dimmer {
        opacity: 0.2;
    }
    .ovk-msg-sheet .ovk-diag-head {
        display: flex;
        align-items: center;
        flex: none;
        height: 56px;
        line-height: normal;
        padding: 0 4px;
        background-color: var(--module-background-color);
        color: var(--muted-text-color-2);
        font-size: 16px;
        font-weight: 400;
        border-radius: 0;
        border-bottom: 1px solid var(--border-color);
    }
    .ovk-diag-cont.ovk-diag-no-title.ovk-msg-sheet .ovk-diag-head {
        display: none;
    }
    .ovk-msg-sheet .ovk-diag-head a {
        color: var(--muted-text-color-2);
    }
    .ovk-msg-sheet .ovk-diag-head-close {
        float: none;
        order: -1;
        flex: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        padding: 0;
        margin-right: 4px;
        background: none;
        color: var(--muted-text-color-2);
    }
    .ovk-msg-sheet .ovk-diag-head-close-icon {
        display: block;
    }
    .ovk-msg-sheet .ovk-diag-head-apply {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: none;
        width: 48px;
        height: 48px;
        margin-left: auto;
        padding: 0;
        background: none;
        border: none;
        color: var(--accent-color);
        cursor: pointer;
    }
    .ovk-msg-sheet .ovk-diag-body {
        flex: 1;
        min-height: 0 !important;
        height: auto !important;
        padding: 8px 16px !important;
        overflow-y: auto;
        font-size: 16px;
        line-height: 20px;
    }
    .ovk-msg-sheet .ovk-diag-action {
        display: flex;
        flex: none;
        gap: 8px;
        padding: 8px 16px;
        white-space: nowrap;
    }

    .composer.model_content_textarea :is(.post-horizontal:not(:empty), .post-vertical:not(:empty), .post-has-geo:not(:empty), .post-source:not(:empty), .post-has-poll:not(:empty), .post-has-geo.appended-geo) {
        padding: 0 16px 0;
    }

    /* attachment sheets */
    .ovk-msg-sheet .audio_attachment_header,
    .ovk-msg-sheet .notesInsert ._content {
        align-items: center;
        cursor: pointer;
    }
    .ovk-msg-sheet .audio_attachment_header:not(:last-child),
    .ovk-msg-sheet .notesInsert ._content:not(:last-child) {
        margin-bottom: 15px;
    }
    .ovk-diag-body .audiosInsert,.ovk-diag-body .notesInsert {
        margin: 0;
        padding: 8px;
    }
    .ovk-msg-sheet .audio_attachment_header .media_check_btn_wrap,
    .ovk-msg-sheet .notesInsert .media_check_btn_wrap {
        display: block;
        position: static;
        flex: none;
        padding: 8px 12px 8px 0;
    }
    .ovk-msg-sheet .audio_attachment_header .player_part,
    .ovk-msg-sheet .notesInsert .notes_titles {
        flex: 1;
        width: auto !important;
        min-width: 0;
    }
    .ovk-msg-sheet .audio_attachment_header .attachAudio,
    .ovk-msg-sheet .notesInsert .attachAudio {
        display: none;
    }
    .ovk-msg-sheet .ovk-diag-action > .ovk-msg-btn,
    .ovk-msg-sheet .ovk-diag-action > .button {
        width: 100%;
        margin: 0;
        box-sizing: border-box;
        text-align: center;
    }

    /* full-screen dialog */
    .ovk-diag-cont.ovk-msg-fullscreen {
        width: 100%!important;
        height: 100%!important;
        min-width: 0;
        max-width: none;
        top: 0;
        bottom: auto;
        left: 0;
        margin-right: 0;
        transform: none;
        animation: fullscreenDialogIn 0.2s ease-out !important;
    }
    .ovk-msg-fullscreen .ovk-diag {
        display: flex;
        flex-direction: column;
        height: 100%;
        border-radius: 0;
        box-shadow: none;
    }
    .ovk-msg-fullscreen .ovk-diag-head {
        display: flex;
        align-items: center;
        flex: none;
        height: var(--header-height);
        line-height: normal;
        padding: 0 4px;
        background-color: var(--accent-color);
        color: var(--accent-text-color);
        font-size: 20px;
        font-weight: 500;
        letter-spacing: 0.0125em;
        border-radius: 0;
    }
    .dark-mode .ovk-msg-fullscreen .ovk-diag-head {
        --accent-color: var(--module-header-background-color);
        --accent-text-color: var(--text-color);
    }
    .ovk-msg-fullscreen .ovk-diag-head-title,
    .ovk-msg-sheet .ovk-diag-head-title {
        flex: 1;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .ovk-msg-fullscreen .ovk-diag-head-close {
        float: none;
        order: -1;
        flex: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        box-sizing: border-box;
        padding: 0;
        margin-right: 4px;
        background: none;
        opacity: 1;
        color: var(--accent-text-color);
    }
    .ovk-msg-fullscreen .ovk-diag-head-close-icon {
        display: block;
    }
    .ovk-msg-fullscreen .ovk-diag-head-apply {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: none;
        width: 48px;
        height: 48px;
        margin-left: auto;
        padding: 0;
        background: none;
        border: none;
        color: var(--accent-text-color);
        cursor: pointer;
    }
    .ovk-msg-fullscreen .ovk-diag-body {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0 !important;
        height: auto !important;
        padding-top: 16px !important;
        overflow-y: auto;
    }
    .ovk-msg-fullscreen .ovk-diag-action {
        display: none;
    }
    /* tabs */
    .ovk-msg-fullscreen #_feed_settings_container,
    .ovk-msg-sheet #_fast_video_upload,
    .ovk-msg-sheet #_feed_settings_container {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        width: 100%;
    }
    .ovk-msg-fullscreen #_feed_settings_container #_tabs,
    .ovk-msg-sheet #_fast_video_upload #_tabs,
    .ovk-msg-sheet #_feed_settings_container #_tabs {
        flex: none;
    }
    .ovk-msg-fullscreen #_feed_settings_container #__content,
    .ovk-msg-sheet #_fast_video_upload #__content,
    .ovk-msg-sheet #_feed_settings_container #__content {
        flex: 1;
        min-height: 0;
        height: auto;
        overflow-y: auto;
        padding: 16px;
    }

    .ovk-msg-fullscreen #_feed_settings_container #__content input[type='button'].button,
    .ovk-msg-sheet #_feed_settings_container #__content input[type='button'].button {
        display: none;
    }

    /* fullscreen edit post modal */
    .ovk-msg-fullscreen:has(#_edit_post_modal) .ovk-diag-body {
        padding: 0 !important;
    }
    .ovk-msg-fullscreen #_edit_post_modal {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        width: 100%;
    }
    .ovk-msg-fullscreen #_edit_post_modal .edit_menu {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
        padding: 0;
        background: none;
    }
    .ovk-msg-fullscreen #_edit_post_modal form {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        height: 100%;
    }
    .ovk-msg-fullscreen #_edit_post_modal textarea {
        flex: 1;
        min-height: 140px;
        width: 100%;
        box-sizing: border-box;
        border: none;
        outline: none;
        background: transparent;
        font-size: 16px;
        line-height: 22px;
        padding: 16px;
        resize: none;
    }
    .ovk-msg-fullscreen #_edit_post_modal .post-buttons {
        margin-top: auto;
        padding: 8px 16px;
    }
    .ovk-msg-fullscreen #_edit_post_modal .post-bottom-acts {
        padding-top: 0;
    }
    .ovk-msg-fullscreen #_edit_post_modal .edit_menu_buttons {
        display: none;
    }
    .ovk-msg-fullscreen #_edit_post_modal .post-opts.ui_actions_menu {
        max-width: calc(100vw - 32px);
        min-width: 180px;
        z-index: 1000;
    }
    .ovk-msg-fullscreen #_edit_post_modal .post-opts label.checkbox {
        padding: 6px 12px;
        cursor: pointer;
    }

    .ovk-diag-cont .ovk-diag-action {
        border-top-color: transparent;
    }
    .ovk-diag-cont.ovk-diag-can-scroll .ovk-diag-action {
        border-top-color: var(--border-color);
    }
    .ovk-diag .language_column {
        width: 100%;
        margin: 0;
    }
    .language_column a, .language_column b {
        padding: 8px;
    }

    .ovk-diag-body.vkify-graffiti-body {
        height: 420px!important
    }

    /* search */
    .ui_search_reset {
        right: 0;
    }
    .ui_tabs_search_opened .ui_tab_search_wrap .ui_search {
        padding: 0;
    }
    .ui_tabs_search_opened .ui_search .ui_search_input_block {
        border-radius: 0;
        background-color: var(--module-background-color);
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs.ui_tabs_search_opened {
        overflow: hidden;
    }

    /* attachments */
    /* attachments grid fallback */
    .attachments_b:not(.makima) {
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    .attachments_b:not(.makima) .attachment {
        width: 100% !important;
        height: auto !important;
        float: none !important;
    }
    .attachments_b:not(.makima) .attachment img.media_makima {
        width: 100% !important;
        height: auto !important;
        max-height: 70vh !important;
        object-fit: contain !important;
    }
    .attachments_b:not(.makima) .attachment .compact_video {
        width: 100% !important;
        height: auto !important;
    }

    .attachments_b.makima {
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column;
        gap: 2px;
        overflow: hidden;
    }
    .attachments_b.makima .makima_row {
        display: flex;
        gap: 2px;
        width: 100%;
    }
    .attachments_b.makima .makima_col {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }
    .attachments_b.makima .attachment {
        float: none !important;
        width: auto !important;
        min-width: 0;
        min-height: 0;
        overflow: hidden;
        background: var(--placeholder, #e9ebed);
    }
    .attachments_b.makima .attachment .media {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
    }
    .attachments_b.makima .attachment .compact_video {
        margin: 0;
    }

    /* upload / picker / photos */
    .choose_upload_area {
        margin: -8px -16px 8px;
        padding: 13px 16px 14px;
    }
    .attachment_selector {
        margin: 0 -8px;
    }
    .attachment_selector .choose_upload_area {
        margin: -8px -8px 8px;
    }
    #albums_content {
        margin-bottom: 16px;
    }
    .show_more {
        margin-top: 8px;
    }
    .photos_choose_album_rows .page_album_row, .photos_choose_album_rows .page_album_thumb {
        width: 100%;
        height: auto;
        aspect-ratio: 3/2;
    }
    .picker-items > .document_attachment_header {
        margin: 0 -16px;
    }
    .docListViewItem a {
        max-width: 220px;
    }
    .page_photos_module {
        height: auto;
        padding: 4px 16px 16px;
    }
    .module_header .header_top {
        margin-bottom: 5px;
    }
    .wide_column .module_header .header_top {
        padding: 2px 16px 0;
    }
    .module + .module {
        border: 0;
    }

    /* list views / search rows */
    .list_view {
        padding: 0 16px 16px;
    }
    .list_view.video_items_list {
        padding-top: 8px;
    }
    .blist_last .info .labeled.name {
        max-width: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .search_row .img {
        width: 60px;
        height: 60px;
    }
    .search_row .controls {
        width: fit-content;
    }
    .picker-title-text {
        vertical-align: top;
    }
    .toggle_link {
        display: inline-block;
        height: 100%;
    }
    .toggle_link .divider {
        vertical-align: top;
    }
    .toggle_link a {
        white-space: nowrap;
        max-width: 170px;
        display: inline-block;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* tabs */
    .mobile-rmenu-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .mobile-rmenu-tabs::-webkit-scrollbar {
        display: none;
    }
    .mobile-rmenu-tabs .ui_tabs {
        flex-wrap: nowrap;
        display: flex;
        width: max-content;
        min-width: 100%;
        padding: 0 0 0 6px;
    }
    .mobile-rmenu-tabs .ui_tab {
        white-space: nowrap;
        display: flex;
        align-items: center;
        max-width: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .mobile-rmenu-tabs .ui_tab_subitem {
        font-size: 12px;
        opacity: 0.85;
    }
    .mobile-rmenu-tabs .ui_tab_extra_item {
        display: inline-flex;
        align-items: center;
        margin-left: 6px;
        font-size: 11px;
        color: var(--muted-text-color);
        float: none;
        opacity: 0.8;
        flex-shrink: 0;
    }
    .ui_tab_icon--avatar {
        border-radius: 50%;
        width: 22px;
        height: 22px;
        object-fit: cover;
        margin-right: 5px;
        flex-shrink: 0;
    }
    .tabs_header:not(.mobile-rmenu-tabs) {
        overflow: hidden;
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        width: 100%;
        max-width: 100%;
        padding: 0 4px;
        box-sizing: border-box;
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs::-webkit-scrollbar {
        display: none;
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs::after {
        display: none;
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs > li {
        flex: 1 1 0%;
        min-width: max-content;
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs > li.ui_tabs_extra,
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs > li.ui_tabs_sep {
        flex: 0 0 auto;
        min-width: 0;
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs .ui_tab,
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs .ui_tab_plain {
        float: none;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        box-sizing: border-box;
        height: 48px;
        min-width: 72px;
        max-width: 264px;
        margin: 0 auto;
        padding: 0 12px;
        border-bottom: 2px solid transparent;
        font-size: 14px;
        font-weight: 500;
        line-height: 16px;
        overflow: hidden;
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs .ui_tab_sel,
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs .ui_tab_sel:hover {
        color: var(--accent-color-3);
        border-bottom-color: var(--accent-color-3);
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs.ui_tabs_sliding .ui_tab_sel {
        border-bottom-color: transparent;
    }
    .tabs_header:not(.mobile-rmenu-tabs) .ui_tabs_extra {
        margin-left: auto;
    }

    .ui_tabs_header {
        background-color: var(--module-background-color);
    }
    .ui_tab, .ui_tab_plain,.ui_tabs_header .ui_tab, .ui_tabs_header .ui_tab_plain, .ui_tabs_header .ui_tab_sel {
        padding: 16px 6px;
        margin: 0 4px;
    }
    .ui_tab_sel, .ui_tab_sel:hover, .ui_tabs .ui_tab_sel, .ui_tabs .ui_tab_sel:hover {
        padding-bottom: 14px;
    }
    .ui_tab:hover, .ui_tabs .ui_tab:hover {
        padding-bottom: 14px;
    }
    .ui_tabs.ui_tabs_sliding .ui_tabs_slider {
        bottom: 0;
    }

    /* tooltips / context menu */
    .tippy-box[data-theme~="vk"], #ctx_menu {
        border: 0;
        box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.12), 0px 16px 16px rgba(0, 0, 0, 0.16);
    }
    #ctx_menu a {
        padding: 8px 16px;
        height: unset;
        font-size: 16px;
        color: var(--text-color);
    }
    .tippy-box[data-theme~="light"] .tippy-arrow {
        color: var(--module-background-color);
    }
    .profile_actions_split [data-tippy-root], .profile_actions_standalone [data-tippy-root] {
        width: 100%;
    }
    .profile_actions_split .tippy-box[data-theme~="vk"],
    .profile_actions_standalone .tippy-box[data-theme~="vk"] {
        max-width: 100%!important;
    }

    /* video */
    .video_block_layout {
        padding: 8px 16px 0;
    }
    .ovk-diag-body .video_block_layout {
        margin: 0;
    }
    .video_block_layout .video_items_list {
        padding-top: 0;
    }
    .video_item {
        width: 100%!important;
        height: unset!important;
        box-sizing: border-box;
        padding: 0;
    }
    .ovk-diag-body .video_item {
        margin-bottom: 16px;
    }
    .video_item .video_item_thumb_wrap {
        width: 100%;
        aspect-ratio: 16/9;
    }
    .video_item .video_item_thumb {
        width: 100%!important;
        height: 100%!important;
    }
    .video_item_info .video_item_author {
        padding-top: 5px;
    }

    /* video view page */
    .page_block .video_block_layout:has(+ .ovk-vid-details) {
        padding: 0 !important;
    }
    .page_block .video_block_layout iframe {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9;
        display: block;
    }
    .page_block .video_block_layout .bsdn {
        width: 100%;
    }
    .page_block .video_block_layout video {
        width: 100%;
        display: block;
    }
    .video_info {
        padding-top: 12px;
    }
    .video_info .post_likes_faces {
        padding: 0 0 12px;
        border-bottom: 1px solid var(--border-color);
        margin-bottom: 20px;
    }
    .video_info_title {
        font-size: 15px;
        line-height: 20px;
    }
    .video_info_actions {
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 12px;
        padding-bottom: 12px;
    }
    .video_info_actions .button {
        margin-left: 0;
        min-width: unset;
    }

    /* audio page */
    .audiosDiv {
        padding: 16px!important;
    }
    .audioEntry .audioEntryWrapper {
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding: 0;
    }
    .module_body .audioEntry,
    .attachments_m .audioEntry {
        margin: 0;
        width: 100%;
    }
    .audioEntry:hover,
    .vertical-attachment .audioEntry:hover,
    .audioEntry:hover, .vertical-attachment .audioEntry:hover, .audioEntry.nowPlaying, .audioEntry.nowPlaying:hover, .vertical-attachment .audioEntry.nowPlaying:hover {
        background-color: transparent !important;
    }
    .audioEntry .playerButton,
    .audioEntry .playerButton .playIcon {
        width: 2.25rem;
        height: 2.25rem;
    }
    .audioEntry .playerButton .playIcon svg {
        width: 1.5rem;
        height: 1.5rem;
    }
    .audioEntry .status {
        min-width: 0;
    }
    .audioEntry .status .mediaInfo {
        display: flex;
        align-items: center;
        gap: .25rem;
    }
    .audioEntry .status .mediaInfo .info {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-width: 0;
        line-height: 1.2;
    }
    .audioEntry .info .performer,
    .audioEntry .info .title {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .audioEntry .info .title {
        order: -1;
        font-weight: 600;
    }
    .audioEntry .info .title,
    .audioEntry .info .title a {
        color: var(--text-color)!important;
    }
    .audioEntry .info .performer,
    .audioEntry .info .performer a {
        font-weight: 400;
        color: var(--muted-text-color-2);
    }
    .audioEntry .tire {
        display: none;
    }
    .audioEntry .explicitMark {
        flex-shrink: 0;
    }
    .bigPlayer:not(.tidy) {
        width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box;
    }
    .bigPlayer .bigPlayerWrapper {
        grid-template-columns: auto 1fr auto;
        padding: 0 10px;
        align-items: center;
    }
    .bigPlayer,
    .bigPlayer .bigPlayerWrapper {
        height: unset;
    }
    .bigPlayer .trackPanel,
    .wide_column .bigPlayer .trackPanel {
        width: auto !important;
        flex: 1;
        min-width: 0;
        margin-left: 8px;
    }
    .bigPlayer .trackInfo .timer span:not(.time),
    .bigPlayer .volumePanel,
    .bigPlayer .additionalButtons .deviceButton {
        display: none !important;
    }
    .bigPlayer .additionalButtons {
        gap: 10px;
        height: 100%;
    }
    .bigPlayer .playButtons .playButton {
        width: 34px;
        height: 34px;
        margin: 9px 0;
    }
    .bigPlayer .playButtons .playButton .playIcon {
        width: 34px;
        height: 34px;
        background-size: 34px auto;
    }
    .bigPlayer .playButtons .playButton.pause .playIcon {
        background-size: 34px auto;
        background-position: 0px -68px;
    }

    .audiosSideContainer .scroll_node:not(:last-child) .audioEmbed {
        margin-bottom: 15px;
    }
    .musfooter {
        width: 100% !important;
        left: 0;
        box-sizing: border-box;
        bottom: calc(var(--header-height) * 2);
    }
    .playlistContainer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .list_view.playlistContainer {
        padding: 12px 16px;
    }
    .audio_pl__title,
    .audio_pl__subtitle {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    ._playlist_page_content_block {
        margin-top: 0;
    }
    .AudioPlaylistSnippet {
        flex-direction: column !important;
        padding: 16px !important;
    }
    .AudioPlaylistSnippet__left {
        width: 100% !important;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .AudioPlaylistSnippet__covers {
        width: 160px !important;
        height: 160px !important;
    }
    .AudioPlaylistSnippet__cover {
        width: 160px !important;
        height: 160px !important;
    }
    .AudioPlaylistSnippet__right {
        width: 100% !important;
        max-width: 100% !important;
        margin: 12px 0 0 0 !important;
    }
    .AudioPlaylistSnippet__actions {
        flex-wrap: wrap;
        gap: 4px;
    }

    /* notifications */
    .notifications_global_wrap {
        margin: 8px 8px 0;
        padding: 0;
        box-sizing: border-box;
        pointer-events: none;
        width: calc(100% - 16px);
    }
    .notification_ballon {
        width: 100%;
        min-height: 48px;
        background-color: #333333;
        box-shadow: 0px 3px 5px -1px rgba(0,0,0,0.2), 
                    0px 6px 10px 0px rgba(0,0,0,0.14), 
                    0px 1px 18px 0px rgba(0,0,0,0.12);
        display: flex;
        flex-direction: row-reverse;
        align-items: stretch;
        justify-content: center;
        margin: 0 0 8px 0;
        min-height: unset;
        pointer-events: auto;
        transform: scale(0.8);
        opacity: 0;
        animation: notification_snackbar_open 150ms 0ms cubic-bezier(0, 0, 0.2, 1) forwards;
    }
    .notification_ballon.disappears {
        transform: scale(1);
        animation: notification_snackbar_close 75ms 0ms cubic-bezier(0.4, 0, 1, 1);
    }
    .notification_ballon * {
        box-sizing: border-box;
    }
    .notification_ballon notification_title {
        padding: 0;
        font-size: 0;
        line-height: 0;
    }
    .notification_ballon notification_title .close {
        width: 36px;
        height: 100%;
        padding: 9px;
        margin: 0;
        opacity: 0.87;
    }
    .notification_ballon notification_title .close::before {
        height: 100%;
        background-position: center;
    }
    .notification_ballon wrap {
        padding: 14px 16px;
        align-items: flex-start;
    }
    .notification_ballon wrap avatar {
        display: none;
    }
    .notification_ballon wrap content {
        font-size: 0.875rem;
        line-height: 1.25rem;
        letter-spacing: 0.0178571429em;
        flex-grow: 1;
    }
    .notification_ballon wrap content .nobold {
        opacity: 0.7;
    }
    @keyframes notification_snackbar_open {
        0% {
            opacity: 0;
            transform: scale(0.8);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
    @keyframes notification_snackbar_close {
        0% {
            opacity: 1;
        }
        100% {
            opacity: 0;
        }
    }

    /* mobile rmenu (sticky profile/group nav bar) */
    .mobile-rmenu-wrap {
        position: sticky;
        top: var(--header-height);
        z-index: 10;
        background: var(--module-background-color);
    }
    .mobile-rmenu-owner {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 8px 14px;
        border-bottom: 1px solid var(--border-color);
        text-decoration: none;
        color: var(--text-color);
        font-size: 14px;
        font-weight: 500;
    }
    .mobile-rmenu-owner-img {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        object-fit: cover;
        flex-shrink: 0;
    }

    /* profile hero */
    .mobile-profile-hero {
        position: relative;
        width: 100%;
        overflow: hidden;
        margin-top: calc(-1 * var(--header-height));
    }
    .mobile-hero-img-wrap {
        position: relative;
        width: 100%;
    }
    .mobile-hero-img-wrap.has-avatar-photo {
        cursor: pointer;
    }
    .mobile-hero-img {
        width: 100%;
        height: 65vw;
        min-height: 260px;
        max-height: 420px;
        object-fit: cover;
        display: block;
        border-radius: 0;
    }
    .mobile-hero-gradient {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 65%;
        background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
        pointer-events: none;
    }
    .mobile-hero-info {
        position: absolute;
        bottom: 14px;
        left: 16px;
        right: 16px;
        color: #fff;
    }
    .mobile-hero-name {
        color: #fff !important;
        font-size: 22px;
        font-weight: 600;
        margin: 0 0 2px;
        line-height: 1.2;
        text-shadow: 0 1px 4px rgba(0,0,0,0.5);
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        display: flex;
        align-items: last baseline;
    }
    .mobile-hero-name .page_verified {
        max-width: 16px;
        width: 100%;
    }
    .mobile-hero-status {
        font-size: 15px;
        color: rgba(255,255,255,0.88);
        text-shadow: 0 1px 3px rgba(0,0,0,0.5);
    }
    .mobile-hero-avatar-edit {
        position: absolute;
        top: calc(var(--header-height) + 8px);
        right: 16px;
        z-index: 5;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 12px;
        border-radius: 16px;
        background: rgba(0, 0, 0, 0.45);
        color: #fff;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        text-decoration: none;
        text-shadow: 0 1px 3px rgba(0,0,0,0.5);
        backdrop-filter: blur(2px);
        user-select: none;
        pointer-events: auto;
    }
    .mobile-hero-avatar-edit:active {
        background: rgba(0, 0, 0, 0.65);
    }

    /* profile actions */
    .mobile-actions-wrap {
        padding: 16px 16px 8px!important;
    }
    .mobile_profile_actions {
        display: flex !important;
        gap: 8px;
        width: 100%;
        box-sizing: border-box;
        position: relative;
        min-height: 36px;
    }
    .mobile_profile_action_primary {
        flex: 1 1 50%;
    }
    .mobile_profile_action_secondary {
        flex: 1 1 50%;
    }
    .mobile_profile_action_secondary form {
        width: 100%;
    }
    .mobile_profile_action_full {
        flex: 1 1 100%;
    }
    .mobile_profile_action_btn {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    .mobile_profile_actions .button_wide {
        width: 100%;
    }
    .guest_actions {
        padding-bottom: 8px;
    }

    .mobile_profile_actions .profile_sub_wrapper {
        width: 100%;
    }

    .profile_sub_wrapper.ui_actions_menu_wrap.shown .ui_actions_menu {
        max-width: unset;
    }

    /* profile info rows */
    .mobile-info-rows {
        padding: 8px 0;
    }
    .mobile-actions-wrap + .mobile-info-rows {
        padding-top: 0;
    }
    .mobile-info-row {
        display: flex;
        align-items: flex-start;
        padding: 6px 16px;
        gap: 14px;
        font-size: 14px;
        color: var(--text-color);
        line-height: 1.4;
    }
    a.mobile-info-row:visited,
    a.mobile-info-row:hover {
        color: var(--text-color);
        text-decoration: none;
    }
    a.mobile-info-row.mir-link div {
        color: var(--link-color)
    }
    .mobile-info-row .divider {
        margin-left: 4px;
    }
    .mir-icon {
        width: 24px;
        height: 20px;
        flex-shrink: 0;
        margin-top: 1px;
        color: var(--muted-text-color);
        fill: currentColor;
    }
    .mir-text {
        flex: 1;
        font-size: 14px;
        color: var(--text-color);
        margin-top: 2px;
    }
    .mir-text a {
        color: var(--text-color);
        text-decoration: none;
    }
    .mir-text-muted {
        color: var(--muted-text-color-2);
    }
    .mobile-info-row-more {
        cursor: pointer;
    }
    .mobile-info-row-more .mir-icon {
        color: var(--accent-color);
    }
    .mobile-info-row-more .mir-text {
        color: var(--accent-color) !important;
        cursor: pointer;
    }
    .mobile-more-sep {
        margin: 8px 0;
    }

    /* scroll modules */
    .mobile-scroll-modules {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0;
    }
    .mobile-scroll-modules::-webkit-scrollbar {
        display: none;
    }
    .mobile-scroll-card {
        flex-shrink: 0;
        width: 165px;
        padding: 0 16px 16px;
        box-sizing: border-box;
    }

    .mobile-scroll-card:not(:last-child) {
        margin-right: -16px;
    }
    .mobile-scroll-card .module_body {
        width: 100%;
        height: 89px;
        padding: 0;
        overflow: hidden;
        position: relative;
        display: block;
        color: inherit;
        text-decoration: none;
    }
    .mobile-scroll-card .module_header .header_top {
        padding: 0;
    }
    a.msm-grid__cell {
        display: block;
        color: inherit;
        text-decoration: none;
    }
    .video_module .video {
        width: 100%;
        height: 100%;
    }

    .msm-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
        width: 100%;
        height: auto;
    }
    .msm-grid__cell {
        aspect-ratio: 1;
        overflow: hidden;
        position: relative;
    }
    .msm-grid__cell img {
        width: 100%;
        height: 100%;
        border-radius: 0;
        object-fit: cover;
        object-position: center;
    }
    a.msm-doc-cell {
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--module-background-color--secondary);
        color: inherit;
        text-decoration: none;
    }
    .msm-doc-cell img {
        object-fit: cover;
    }
    .msm-doc-ext {
        font-size: 10px;
        font-weight: 600;
        text-transform: uppercase;
        color: var(--muted-text-color);
        line-height: 1;
    }
    .mobile-scroll-card .doc_icon.page_doc_icon {
        display: block;
        width: 30px;
        height: 30px;
        border-radius: 3px;
        background: url(../icons/doc_icons.png) no-repeat;
        text-align: center;
        overflow: hidden;
        text-overflow: ellipsis;
        box-sizing: border-box;
    }
    .mobile-scroll-card .doc_icon.page_doc_icon_mp3,
    .mobile-scroll-card .doc_icon.page_doc_icon_flac {
        background-position: left -90px;
    }
    .mobile-scroll-card .doc_icon.page_doc_icon_zip,
    .mobile-scroll-card .doc_icon.page_doc_icon_7z,
    .mobile-scroll-card .doc_icon.page_doc_icon_rar {
        background-position: left -30px;
    }
    .mobile-scroll-card .doc_icon.page_doc_icon_webm,
    .mobile-scroll-card .doc_icon.page_doc_icon_mp4,
    .mobile-scroll-card .doc_icon.page_doc_icon_avi {
        background-position: left -120px;
    }
    .mobile-scroll-card .doc_icon.page_doc_icon_djvu,
    .mobile-scroll-card .doc_icon.page_doc_icon_ps,
    .mobile-scroll-card .doc_icon.page_doc_icon_pdf,
    .mobile-scroll-card .doc_icon.page_doc_icon_fb2 {
        background-position: left -150px;
    }
    .msm-album-cover {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .mobile-scroll-card .module_body.msm-placeholder {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        background: var(--module-background-color--secondary);
        box-sizing: border-box;
        color: var(--link-color);
        text-decoration: none;
    }
    .msm-placeholder svg {
        display: block;
        opacity: 0.55;
    }
    .msm-placeholder-label {
        font-size: 11px;
        line-height: 1.2;
        text-align: center;
        padding: 0 4px;
    }

    .ovk-diag-body .module_header .header_top {
        line-height: inherit;
        height: unset;
        padding: 2px 0;
        font-size: 13px;
        color: var(--muted-text-color);
    }
    .ovk-diag-body .module_header .header_top .header_label {
        font-weight: 500;
    }
    .ovk-diag-body .module_body {
        padding: 8px 0 0;
    }
    .ovk-diag-body .page_list_module .line_cell .info {
        width: unset;
    }
    .ovk-diag-body .mobile-info-row {
        margin: 0 -16px;
    }

    .page_block .action_label {
        display: none;
    }

    /* photo viewer (fullscreen modal) */
    .ovk-photo-view-window {
        min-width: 0 !important;
        max-width: 100vw !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        top: 0 !important;
        transform: none !important;
        background: #000;
    }
    .mobile-photo-modal {
        position: absolute;
        background: none;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
        z-index: 2000;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .mobile-photo-header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: var(--header-height);
        padding: 0 .25rem;
        background: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent);
        z-index: 10;
        box-sizing: border-box;
        transition: opacity 0.25s ease;
    }
    .mobile-photo-header .mph-left {
        display: flex;
        align-items: center;
        flex: 1;
        overflow: hidden;
    }
    .mobile-photo-header .pv_title_group {
        display: flex;
        flex-direction: column;
        justify-content: center;
        overflow: hidden;
    }
    .mobile-photo-header .pv_album_name {
        color: #fff;
        font-size: 1rem;
        line-height: 1.25rem;
        font-weight: 500;
        text-shadow: 0 1px 2px rgba(0,0,0,0.5);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .mobile-photo-header .pv_counter {
        color: #fff;
        font-size: .8125rem;
        line-height: 1.125rem;
        font-weight: 400;
        text-shadow: 0 1px 2px rgba(0,0,0,0.5);
    }
    .mobile-photo-header .pv_title_group.pv-no-album .pv_album_name {
        display: none;
    }
    .mobile-photo-header .pv_title_group.pv-no-album .pv_counter {
        font-size: 1.25rem;
        line-height: 2rem;
        font-weight: 500;
        opacity: 1;
    }
    .mobile-photo-header .mph-right {
        display: flex;
        align-items: center;
    }
    .mobile-photo-header .pv_back_btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        flex-shrink: 0;
    }
    .mobile-photo-header .pv_actions_more {
        width: 3rem;
        height: 3rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .mobile-photo-header svg {
        color: #fff;
        filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
    }
    .mobile-photo-body {
        flex: 1;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .mobile-photo-body img {
        max-width: 100vw;
        max-height: 100vh;
        max-height: 100dvh;
        object-fit: contain;
    }
    .mobile-photo-footer {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
        padding-top: 40px;
        padding-bottom: env(safe-area-inset-bottom, 0);
        z-index: 10;
        box-sizing: border-box;
        transition: opacity 0.25s ease;
    }
    .mobile-photo-header.pv-ui-hidden,
    .mobile-photo-footer.pv-ui-hidden {
        opacity: 0;
        pointer-events: none;
    }
    .mobile-photo-footer .pv_desc {
        color: #fff!important;
        padding: 0 15px;
        margin-inline: 0;
        font-size: 14px;
        text-shadow: 0 1px 2px rgba(0,0,0,0.5);
        max-height: 100px;
        overflow-y: auto;
    }
    .mobile-photo-footer .pv_desc .pv_can_edit,.mobile-photo-footer .pv_no_description {
        color: #fff;
    }
    .mobile-photo-footer .pv_can_edit:hover {
	    background: rgba(122,122,122,.1);
    }
    .mobile-photo-footer .mobile-photo-actions {
        padding: 10px 15px;
        display: flex;
        align-items: center;
        white-space: nowrap;
    }
    .mobile-photo-footer .mobile-photo-actions .post_full_like {
        flex: 1 1 0;
    }
    .mobile-photo-footer .mobile-photo-actions .action_button,.mobile-photo-footer .mobile-photo-actions a {
        color: #fff !important;
        text-shadow: 0 1px 2px rgba(0,0,0,0.5);
        text-decoration: none;
        max-width: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    body:not(.mode-2018) .mobile-photo-footer .mobile-photo-actions .action_button:hover {
        background: rgba(122,122,122,.25)
    }
    .mobile-photo-footer .mobile-photo-actions .action_count {
	    color: rgba(255,255,255,.5)!important;
    }
    .mobile-photo-footer .mobile-photo-actions .action_button .action_icon {
        color: #fff;
        filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
    }
    body.mode-2018 .mobile-photo-footer .mobile-photo-actions .action_button.my_like .action_icon {
        color: #ff3347;
    }

    /* photo viewer (inline / standalone page) */
    .action_button.mobileonly {
        display: flex!important
    }
    .page_content .action_button.mobileonly {
        display: none!important;
    }
    .pv_wrapper:not(.mobile-photo-modal) {
        display: block;
        max-height: unset;
        min-height: unset;
        border-radius:  0 var(--module-border-radius) var(--module-border-radius);
        background: var(--module-background-color);
        padding-top: 16px;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_left {
        width: 100%;
        max-height: none;
        float: none;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_photo {
        min-height: 0;
        height: auto;
        max-height: 80vw;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_photo img {
        height: auto;
        max-height: 80vw;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_bottom_info {
        padding: 16px;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_left .pv_bottom_actions {
        float: none;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_right {
        width: 100%;
        max-height: unset;
        float: none;
        border-left: none;
        border-top: 1px solid var(--border-color);
        flex: 1;
        min-height: 500px;
        display: block;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_right .scroll_container {
        height: auto;
        overflow-y: visible;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_author_block {
        border-radius: 0;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_right .post_full_like_wrap {
        padding: 10px 16px;
    }
    .pv_wrapper:not(.mobile-photo-modal) .pv_desc {
        max-height: none;
        overflow-y: visible;
    }
    .pv_album_name, .pv_left .pv_bottom_actions > a, .pv_left .pv_bottom_actions > button, .pv_left .pv_bottom_actions > span, .pv_left .pv_bottom_actions > .pv_actions_more {
        color: var(--text-color);
    }
    .pv_wrapper:not(.mobile-photo-modal) :is(.pv_nav_left, .pv_nav_right) {
        display: none !important;
    }
    .pv_wrapper .pv_comments {
        display: block;
    }
    .pv_comments #standaloneCommentBox {
        position: sticky;
    }

    /* video modal */
    .ovk-modal-video-window .video_block_layout {
        padding: 16px 16px 0
    }
    .video_info {
        margin: 0 16px;
    }

    /* messages */
    .messenger-app--messages---message {
        position: relative;
        padding: 16px 8px 13px;
    }
    .messenger-app--messages---message .time {
        width: fit-content;
        position: absolute;
        right: 8px;
        top: 16px;
    }
    .messenger-app--messages---message ._content > a {
        width: calc(100% - 80px)
    }

    /* notes */

    #noteFactory .post_full_like_wrap {
        flex-direction: column-reverse;
    }
    #noteFactory .post_full_like_wrap .reply_link_wrap {
        align-self: end;
    }

    /* album list */
    .photo_items_list {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        margin: 0;
        padding: 0 4px;
    }

    .photo_items_list .page_album_row {
        width: auto !important;
        height: auto !important;
        margin: 0;
        display: block;
        border-radius: var(--module-border-radius);
        overflow: hidden;
    }

    .photo_items_list .page_album_thumb_wrap {
        aspect-ratio: 3 / 2;
        overflow: hidden;
    }

    .photo_items_list .page_album_thumb {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .photo_items_list .page_album_nocover {
        width: auto !important;
        height: auto !important;
        aspect-ratio: 3 / 2;
    }

    .photo_items_list .page_album_description {
        display: none;
    }

    .photos-skeleton {
        padding: 10px;
    }
    .photos-skeleton-item {
        width: calc(50% - 5px);
    }

    .archive_actions_button {
        margin: 0;
    }

    /* mobile hover effects */
    .mobile-info-row, .mobile-scroll-card,.ui_tabs .ui_tab,.sidebar_inner .link,
    #ctx_menu a {
        transition: background-color 250ms;
    }
    .mobile-info-row:hover,.mobile-scroll-card:hover,.ui_tabs .ui_tab:hover,.sidebar_inner .link:hover,
    #ctx_menu a:hover,
    .ui_actions_menu a.appbar-tabs-menu-item--active {
        background-color: rgba(122,122,122,.1);
    }
    .mobile-info-row:active,.mobile-scroll-card:active,.ui_tabs .ui_tab:active,.sidebar_inner .link:active,
    #ctx_menu a:active {
        background-color: rgba(122,122,122,.2);
    }

    /* action menu */
    .ui_actions_menu {
        --ui-actions-menu-distance: 12px;
        min-width: 112px;
        max-width: 280px;
        padding: 1px 0;
        border: 1px solid var(--border-color-2);
        border-radius: 2px;
        z-index: 10;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.09),
            0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12), 0 5px 5px -3px rgba(0,0,0,.2);
    }

    .ui_actions_menu:before,
    .ui_actions_menu:after {
        display: none !important;
    }

    .ui_actions_menu a,
    .ui_actions_menu form button,
    .ui_actions_menu label {
        display: flex;
        align-items: center;
        padding: 0 16px;
        font-size: 16px;
        line-height: 44px;
        height: 44px;
        transition: none;
        box-sizing: border-box;
    }

    .ui_actions_menu a:hover,
    .ui_actions_menu form button:hover,
    .ui_actions_menu label:hover {
        background-color: color-mix(in srgb, currentColor 4%, transparent);
    }

    .ui_actions_menu:not(.dark) a {
        color: var(--text-color);
    }

    .ui_actions_menu a.delete,
    .ui_actions_menu button.delete,
    .ui_actions_menu form button.delete {
        color: #ED330A;
    }
    body.dark-mode .ui_actions_menu a.delete,
    body.dark-mode .ui_actions_menu button.delete,
    body.dark-mode .ui_actions_menu form button.delete {
        color: #ff5c5c;
    }

    .ui_actions_menu .separator,
    .ui_actions_menu .ui_actions_menu_sep {
        border-top: 1px solid var(--border-color);
        margin: 0;
    }

    /* touch ripples */

    .button, .button *, .profile_link, .profile_link *,
    .ui_actions_menu a, .ui_actions_menu button, .ui_actions_menu input,
    .ui_actions_menu label, .ui_actions_menu *,
    .ui_tab, .ui_tab *, .ui_tab_plain, .ui_tab_plain *,
    .sidebar_inner .link, .sidebar_inner .link *,
    .mobile-info-row, .mobile-info-row *, .mobile-scroll-card, .mobile-scroll-card *,
    .appbar .hamburger, .appbar .hamburger *, .appbar-extra-btn, .appbar-extra-btn *,
    .ovk-msg-fullscreen .ovk-diag-head-close, .ovk-msg-fullscreen .ovk-diag-head-close *,
    .ovk-msg-fullscreen .ovk-diag-head-apply, .ovk-msg-fullscreen .ovk-diag-head-apply *,
    .ovk-msg-sheet .ovk-diag-head-close, .ovk-msg-sheet .ovk-diag-head-close *,
    .ovk-msg-sheet .ovk-diag-head-apply, .ovk-msg-sheet .ovk-diag-head-apply * {
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        user-select: none;
    }
    .md-ripple {
        position: relative;
        overflow: hidden;
    }
    .md-ripple--unbounded {
        overflow: visible;
    }
    .md-ripple-ink {
        position: absolute;
        display: block;
        border-radius: 50%;
        background: currentColor;
        opacity: 0;
        pointer-events: none;
        transition: transform 225ms cubic-bezier(0, 0, 0.2, 1), opacity 75ms linear;
    }
    .md-ripple-ink-clip {
        position: absolute;
        overflow: hidden;
        pointer-events: none;
    }
}

.ovk-diag-head-close-icon,
.ovk-diag-head-apply {
    display: none;
}

@keyframes fullscreenDialogIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes slideUpBottomSheet {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes mdDialogIn {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@media (min-width: 769px) {
    .appbar,
    .mobileonly {
        display: none !important;
    }
}
