/* =========================================================
   PLAYER OPERATIONS
   ========================================================= */

.players-page {

    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.page-header {

    margin: 20px 0 24px;

    padding-bottom: 18px;

    border-bottom:
        1px solid var(--theme-border);
}


.back-link {

    display: inline-block;

    margin-bottom: 14px;

    color:
        var(--theme-text-muted);

    text-decoration: none;

    font-size: 12px;
    font-weight: 600;
}


.back-link:hover {

    color:
        var(--theme-primary);
}


.page-kicker {

    color:
        var(--theme-primary);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.14em;
}


.page-header h1 {

    margin: 4px 0;

    color:
        var(--theme-text);

    font-size: 24px;
    font-weight: 800;

    letter-spacing: 0.04em;
}


.page-subtitle {

    color:
        var(--theme-text-secondary);

    font-size: 14px;
}


/* =========================================================
   SECTION
   ========================================================= */

.section-title {

    margin: 20px 0 8px;

    color:
        var(--theme-text);

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 0.08em;
}


.iron-panel {

    padding: 16px;

    border:
        1px solid var(--theme-border);

    border-radius:
        var(--theme-card-radius);

    background:
        var(--theme-gradient-panel);

    box-shadow:
        var(--theme-shadow-card),
        var(--theme-highlight-inset);
}


.panel-description {

    margin-bottom: 16px;

    color:
        var(--theme-text-secondary);

    font-size: 13px;
}


/* =========================================================
   CONTROLLER
   ========================================================= */

.control-container {

    width: 100%;

    display: flex;

    justify-content: center;

    text-align: center;
}


.control-frame {

    display: block;

    width: 700px;

    max-width: 100%;

    border:
        1px solid var(--theme-border);

    border-radius: 8px;

    background:
        #05080a;

    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.45);

    overflow: hidden;
}


/* =========================================================
   PLAYER CARDS
   ========================================================= */

.player-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;
}


.player-card {

    display: block;

    padding: 18px;

    border:
        1px solid var(--theme-border);

    border-radius:
        var(--theme-card-radius);

    background:
        var(--theme-gradient-panel);

    box-shadow:
        var(--theme-shadow-card),
        var(--theme-highlight-inset);

    color:
        var(--theme-text);

    text-decoration: none;

    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.15s ease;
}


.player-card:hover {

    border-color:
        var(--theme-primary);

    box-shadow:
        var(--theme-shadow-card),
        var(--theme-accent-glow);

    transform:
        translateY(-1px);
}


.player-card-top {

    display: flex;

    justify-content: space-between;
    align-items: center;

    margin-bottom: 18px;
}


.player-icon {

    color:
        var(--theme-primary);

    font-size: 17px;
}


.player-status {

    color:
        var(--theme-text-muted);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.12em;
}


.player-card-title {

    font-size: 16px;
    font-weight: 800;

    letter-spacing: 0.03em;
}


.player-card-description {

    margin-top: 5px;

    color:
        var(--theme-text-secondary);

    font-size: 13px;
}


.player-card-action {

    margin-top: 20px;

    color:
        var(--theme-primary);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.08em;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .players-page {

        width: 100%;

    }


    .page-header {

        margin-top: 12px;

    }


    .page-header h1 {

        font-size: 20px;

    }


    .player-grid {

        grid-template-columns:
            1fr;

    }


    .iron-panel {

        padding: 10px;

    }

}


/* =========================================================
   RD350 VIDEO
   ========================================================= */

.video-frame {
    width: 100%;

    aspect-ratio: 16 / 9;

    border-radius:
        var(--theme-card-radius);

    overflow: hidden;
}

#rd350-video.video-js {
    width: 100%;
    height: 100%;
}

/* =========================================================
   RD350 VIDEO CONTROLS
   ========================================================= */

#rd350-video .vjs-control-bar {
    display: flex;
}
