    :root {
        --bg: #000;
        --controls-bg: rgba(0, 0, 0, .45);
        --controls-bg-hover: rgba(0, 0, 0, .6);
        --text: #fff;
        --radius: 12px;
        --gap: 10px;
        --bar-h: 6px;
        --btn-size: 40px;
    }

    * {
        box-sizing: border-box;
    }

    .grid {
        display: grid;
        gap: 20px;
        padding: 24px;
        max-width: 1120px;
        margin: 0 auto;
    }

    .player {
        position: relative;
        background: var(--bg);
        border-radius: var(--radius);
        overflow: hidden;
        aspect-ratio: 16 / 9;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
        cursor: default;
    }

    .player__video {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        background: #000;
    }

    /* Большая кнопка Play поверх превью */
    .overlay {
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        background: linear-gradient(180deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .4));
        transition: opacity .2s ease;
    }

    .overlay__btn {
        display: grid;
        place-items: center;
        width: 88px;
        height: 88px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .12);
        border: 1px solid rgba(255, 255, 255, .22);
        backdrop-filter: blur(4px);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: transform .12s ease, background .12s ease;
    }

    .overlay__btn:hover {
        transform: scale(1.03);
        background: rgba(255, 255, 255, .18);
    }

    .overlay__btn img {
        width: 40px;
        height: 40px;
        display: block;
    }

    .player.is-playing .overlay {
        opacity: 0;
        pointer-events: none;
    }

    /* Контролы: одна строка */
    .controls {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        display: flex;
        align-items: center;
        gap: var(--gap);
        padding: 10px;
        background: var(--controls-bg);
        transition: background .15s ease, opacity .15s ease;
    }

    .player:hover .controls {
        background: var(--controls-bg-hover);
    }

    /* Автоскрытие (только когда играет) */
    .player.is-playing.ui-hidden .controls {
        opacity: 0;
        pointer-events: none;
    }

    .player.is-playing.ui-hidden {
        cursor: none;
    }

    .btn {
        width: var(--btn-size);
        height: var(--btn-size);
        display: inline-grid;
        place-items: center;
        border: none;
        background: rgba(255, 255, 255, .1);
        border-radius: 999px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .btn:hover {
        background: rgba(255, 255, 255, .16);
    }

    .btn:active {
        transform: translateY(1px);
    }

    .btn img {
        width: 22px;
        height: 22px;
        display: block;
    }

    /* Кастомный сикбар */
    .seek {
        position: relative;
        flex: 1;
        height: var(--bar-h);
        background: rgba(255, 255, 255, .28);
        border-radius: 999px;
        cursor: pointer;
        outline: none;
    }

    .seek__bar {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 0%;
        background: #fff;
        border-radius: 999px;
    }

    .seek:focus-visible {
        box-shadow: 0 0 0 3px rgba(255, 255, 255, .4);
    }

    @media (max-width:560px) {
        .overlay__btn {
            width: 76px;
            height: 76px;
        }

        .overlay__btn img {
            width: 34px;
            height: 34px;
        }
    }