* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --background: #090909;
    --background-light: #111111;
    --card: #151515;

    --red: #e30613;
    --orange: #ffb000;

    --white: #ffffff;
    --gray: #a7a7a7;
    --dark-gray: #303030;
}

body {
    min-height: 100vh;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    background:
        radial-gradient(
            circle at top,
            #252525 0%,
            #0d0d0d 45%,
            #050505 100%
        );

    color: var(--white);

    display: flex;
    justify-content: center;
    align-items: center;

    overflow-x: hidden;
}


.page {
    width: 100%;
    min-height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;

    padding: 40px 20px;
}


.content {
    width: 100%;
    max-width: 850px;

    text-align: center;
}


/* LOGÓ */

.logo-container {
    width: 100%;

    display: flex;
    justify-content: center;

    margin-bottom: 25px;
}

.logo {
    width: min(430px, 85vw);
    height: auto;

    display: block;

    filter:
        drop-shadow(0 10px 30px rgba(0, 0, 0, 0.8));
}


/* ELVÁLASZTÓ */

.divider {
    width: 80%;

    margin: 0 auto 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 20px;
}

.divider span {
    height: 1px;
    flex: 1;

    background:
        linear-gradient(
            to right,
            transparent,
            #444
        );
}

.divider span:last-child {
    background:
        linear-gradient(
            to left,
            transparent,
            #444
        );
}

.tools {
    color: var(--orange);

    font-size: 25px;

    transform: rotate(-15deg);

    text-shadow:
        0 0 15px rgba(255, 176, 0, 0.5);
}


/* KARBANTARTÁSI ÜZENET */

.maintenance {
    margin-bottom: 35px;
}

.maintenance h1 {
    font-size: clamp(28px, 5vw, 46px);

    line-height: 1.15;

    font-weight: 700;

    margin-bottom: 20px;

    letter-spacing: -1px;
}

.maintenance p {
    color: var(--gray);

    font-size: clamp(16px, 2.5vw, 20px);

    line-height: 1.6;
}

.maintenance strong {
    color: var(--white);
}


/* PLAYER */

.player {
    width: 100%;

    background:
        linear-gradient(
            145deg,
            #1b1b1b,
            #101010
        );

    border: 1px solid #353535;

    border-radius: 20px;

    padding: 28px;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.03);

    position: relative;

    overflow: hidden;
}


/* piros fény a kártya mögött */

.player::before {
    content: "";

    position: absolute;

    width: 250px;
    height: 250px;

    background: var(--red);

    opacity: 0.08;

    filter: blur(100px);

    top: -120px;
    left: -100px;

    pointer-events: none;
}


/* PLAYER FELSŐ RÉSZ */

.player-top {
    display: flex;

    align-items: center;

    text-align: left;

    gap: 25px;

    padding-bottom: 25px;

    border-bottom: 1px solid #292929;
}


.station-logo {
    width: 150px;
    height: 150px;

    flex-shrink: 0;

    background: #ffffff;

    border-radius: 15px;

    overflow: hidden;

    display: flex;
    justify-content: center;
    align-items: center;

    box-shadow:
        0 10px 35px rgba(0, 0, 0, 0.5);
}

.station-logo img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}


.station-info {
    flex: 1;
}

.now-label {
    color: var(--red);

    font-size: 14px;

    font-weight: bold;

    letter-spacing: 2px;

    margin-bottom: 7px;
}

.station-info h2 {
    font-size: clamp(25px, 4vw, 35px);

    margin-bottom: 8px;
}

.station-info p {
    color: var(--gray);

    font-size: 16px;

    margin-bottom: 18px;
}


/* LIVE BADGE */

.live-badge {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    background: rgba(227, 6, 19, 0.15);

    border: 1px solid rgba(227, 6, 19, 0.35);

    color: #ff4b55;

    padding: 7px 12px;

    border-radius: 8px;

    font-size: 12px;

    font-weight: bold;

    letter-spacing: 1px;
}

.live-dot {
    width: 7px;
    height: 7px;

    background: #ff3040;

    border-radius: 50%;

    box-shadow:
        0 0 10px #ff3040;

    animation: livePulse 1.5s infinite;
}

@keyframes livePulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.35;
    }
}


/* CONTROLS */

.controls {
    display: flex;

    align-items: center;

    gap: 25px;

    padding-top: 25px;
}


/* PLAY */

.play-button {
    width: 70px;
    height: 70px;

    flex-shrink: 0;

    border: none;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #f01827,
            #b9000d
        );

    color: white;

    font-size: 25px;

    cursor: pointer;

    display: flex;

    align-items: center;
    justify-content: center;

    padding-left: 4px;

    box-shadow:
        0 10px 30px rgba(227, 6, 19, 0.35);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.play-button:hover {
    transform: scale(1.06);

    box-shadow:
        0 12px 40px rgba(227, 6, 19, 0.5);
}

.play-button:active {
    transform: scale(0.96);
}


/* VOLUME */

.volume-container {
    display: flex;

    align-items: center;

    gap: 12px;

    flex: 1;

    max-width: 230px;
}

.volume-icon {
    font-size: 20px;
}

#volume {
    width: 100%;

    accent-color: var(--red);

    cursor: pointer;
}


/* STATUS */

.live-status {
    display: flex;

    align-items: center;

    gap: 9px;

    color: #999;

    font-size: 12px;

    letter-spacing: 1px;

    white-space: nowrap;
}

.status-dot {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #666;
}

.status-dot.active {
    background: #22c55e;

    box-shadow:
        0 0 10px rgba(34, 197, 94, 0.8);
}


/* VISUALIZER */

.visualizer {
    height: 40px;

    display: flex;

    align-items: center;

    gap: 4px;

    margin-left: auto;
}

.visualizer span {
    width: 3px;

    height: 15px;

    background: var(--red);

    border-radius: 3px;

    opacity: 0.6;
}

.visualizer.active span {
    animation:
        equalizer 0.8s infinite alternate ease-in-out;
}

.visualizer.active span:nth-child(2) {
    animation-delay: -0.2s;
}

.visualizer.active span:nth-child(3) {
    animation-delay: -0.4s;
}

.visualizer.active span:nth-child(4) {
    animation-delay: -0.1s;
}

.visualizer.active span:nth-child(5) {
    animation-delay: -0.5s;
}

.visualizer.active span:nth-child(6) {
    animation-delay: -0.3s;
}

.visualizer.active span:nth-child(7) {
    animation-delay: -0.6s;
}

.visualizer.active span:nth-child(8) {
    animation-delay: -0.15s;
}

.visualizer.active span:nth-child(9) {
    animation-delay: -0.45s;
}

.visualizer.active span:nth-child(10) {
    animation-delay: -0.25s;
}

@keyframes equalizer {
    from {
        height: 8px;
    }

    to {
        height: 35px;
    }
}


/* ALSÓ SZÖVEG */

.bottom-text {
    margin-top: 30px;

    color: #777;

    font-size: 14px;
}

.bottom-text p:first-child {
    margin-bottom: 10px;

    color: #999;
}

.copyright {
    font-size: 12px;

    color: #555;
}


/* MOBIL */

@media (max-width: 650px) {

    .page {
        padding: 25px 15px;
    }

    .player {
        padding: 20px;
    }

    .player-top {
        flex-direction: column;

        text-align: center;

        gap: 18px;
    }

    .station-logo {
        width: 125px;
        height: 125px;
    }

    .station-info {
        width: 100%;
    }

    .controls {
        flex-wrap: wrap;

        justify-content: center;

        gap: 18px;
    }

    .volume-container {
        flex-basis: 70%;

        max-width: none;
    }

    .live-status {
        order: 4;
    }

    .visualizer {
        order: 5;
    }

}


/* KIS MOBIL */

@media (max-width: 400px) {

    .maintenance h1 {
        font-size: 27px;
    }

    .maintenance p {
        font-size: 15px;
    }

    .play-button {
        width: 60px;
        height: 60px;
    }

}