/* Media Player (Winamp-style) for GameOS - styles (prefix mp-).
   Pairs with js/newgames/mediaplayer.js. A dark LCD display panel sits
   inside the Win95 silver window chrome. */

.window-mediaplayer { width: auto; min-width: unset; }

#mediaplayer-window .mp-body {
    padding: 8px;
    background: var(--win-bg);
    width: 320px;
}

/* --- LCD display panel (title + visualizer + time) -------------------- */
#mediaplayer-window .mp-lcd {
    background: #071807;
    border-top: 2px solid var(--win-darker);
    border-left: 2px solid var(--win-darker);
    border-right: 2px solid var(--win-white);
    border-bottom: 2px solid var(--win-white);
    padding: 6px;
    margin-bottom: 8px;
}

#mediaplayer-window .mp-title {
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    height: 15px;
    margin-bottom: 5px;
    border-bottom: 1px solid #0f3b0f;
    padding-bottom: 3px;
}
#mediaplayer-window .mp-title-text {
    display: inline-block;
    color: #57ff57;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1px;
    text-shadow: 0 0 4px rgba(87, 255, 87, 0.55);
    white-space: nowrap;
}
#mediaplayer-window .mp-title-text.mp-marquee {
    padding-left: 100%;
    animation: mp-marquee 8s linear infinite;
}
@keyframes mp-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-100%); }
}

#mediaplayer-window .mp-viz {
    display: block;
    width: 100%;
    height: 56px;
    image-rendering: pixelated;
    background: #071807;
}

#mediaplayer-window .mp-readout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 5px;
    color: #57ff57;
    font-size: 11px;
    letter-spacing: 1px;
    text-shadow: 0 0 3px rgba(87, 255, 87, 0.5);
}
#mediaplayer-window .mp-time { font-variant-numeric: tabular-nums; }

/* seekable progress bar inside the LCD */
#mediaplayer-window .mp-progress {
    flex: 1;
    height: 8px;
    margin-left: 8px;
    background: #0c260c;
    border: 1px solid #0f3b0f;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
#mediaplayer-window .mp-progress-fill {
    height: 100%;
    width: 0;
    background: #2ea82e;
    box-shadow: 0 0 5px rgba(87, 255, 87, 0.7);
}

/* --- transport buttons ------------------------------------------------ */
#mediaplayer-window .mp-transport {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
}
#mediaplayer-window .mp-btn {
    flex: 1;
    height: 26px;
    font-family: inherit;
    font-size: 12px;
    background: var(--win-btn-face);
    color: var(--win-text);
    border-top: 2px solid var(--win-white);
    border-left: 2px solid var(--win-white);
    border-right: 2px solid var(--win-darker);
    border-bottom: 2px solid var(--win-darker);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
#mediaplayer-window .mp-btn:active,
#mediaplayer-window .mp-btn.mp-on {
    border-top: 2px solid var(--win-darker);
    border-left: 2px solid var(--win-darker);
    border-right: 2px solid var(--win-white);
    border-bottom: 2px solid var(--win-white);
}
#mediaplayer-window .mp-btn.mp-on { background: #b0b0b0; }

/* --- volume ----------------------------------------------------------- */
#mediaplayer-window .mp-volrow {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    margin-bottom: 8px;
}
#mediaplayer-window .mp-volrow input[type="range"] {
    flex: 1;
    height: 14px;
}

/* --- playlist --------------------------------------------------------- */
#mediaplayer-window .mp-playlist {
    background: #071807;
    border-top: 2px solid var(--win-darker);
    border-left: 2px solid var(--win-darker);
    border-right: 2px solid var(--win-white);
    border-bottom: 2px solid var(--win-white);
    max-height: 96px;
    overflow-y: auto;
    padding: 2px;
}
#mediaplayer-window .mp-track {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 2px 5px;
    color: #3fd23f;
    font-size: 11px;
    cursor: pointer;
    white-space: nowrap;
}
#mediaplayer-window .mp-track:hover { background: #0f3b0f; }
#mediaplayer-window .mp-track-active {
    background: #14521a;
    color: #b6ff6a;
    text-shadow: 0 0 4px rgba(87, 255, 87, 0.55);
}
#mediaplayer-window .mp-track-name {
    overflow: hidden;
    text-overflow: ellipsis;
}
#mediaplayer-window .mp-track-dur { font-variant-numeric: tabular-nums; }

/* --- 16px pixel icon: play triangle + a note head/stem ---------------- */
.icon-mediaplayer-sm {
    width: 16px; height: 16px; position: relative; display: inline-block;
}
/* green play triangle built from stacked box-shadow "scanlines" */
.icon-mediaplayer-sm::before {
    content: '';
    position: absolute; top: 3px; left: 3px;
    width: 2px; height: 2px; background: #2ea82e;
    box-shadow:
        0 2px 0 #2ea82e,  0 4px 0 #2ea82e,
        2px 1px 0 #57ff57, 2px 3px 0 #57ff57,
        4px 2px 0 #57ff57,
        2px 5px 0 #2ea82e;
}
/* light-green note head + stem, upper-right */
.icon-mediaplayer-sm::after {
    content: '';
    position: absolute; top: 10px; left: 10px;
    width: 3px; height: 2px; background: #b6ff6a;
    border-radius: 1px;
    box-shadow:
        3px -1px 0 #b6ff6a,
        3px -3px 0 #b6ff6a,
        3px -5px 0 #b6ff6a;
}
