@font-face {
    font-family: MusicTojo;
    src: url("../../fonts/TheTojoCaptioner-Regular.ttf") format("truetype");
    font-display: swap;
}
@font-face {
    font-family: MusicEdosz;
    src: url("../../fonts/edosz.ttf") format("truetype");
    font-display: swap;
}
.has-music-player { padding-bottom: 220px; }
.music-player, .music-player * { box-sizing: border-box; }
/* Default background for tracks without a custom gradient */
.music-player {
    --music-accent: #c9a227;
    --music-background: #111;

    /* Keep the rest of your existing .music-player properties */
    background: var(--music-background);
    position: fixed; right: 20px; bottom: 20px; z-index: 10000;
    width: min(420px, calc(100vw - 40px));
    padding: 0 16px 13px;
    border: 2px solid #444; border-left: 4px solid var(--music-accent);
border-radius: 0;
background: #111;
color: #fff;
    box-shadow: 5px 5px 0 #0009;
    font: normal 17px/1.2 MusicTojo, sans-serif; text-align: left;
}
.music-player[data-track="tojo"] { --music-accent: #c4c4c4; }
.music-player[data-track="omi"] { --music-accent: #c9a227; }
.music-player[data-track="dissolution"] { --music-accent: #c9a227; }
.music-player[data-track="jingon"] { --music-accent: #d27174; }
/* PYIH — Now or Never: gold to Majima purple */
.music-player[data-track="spr"] {
    --music-accent: #ffd700;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #EE7107,
        #7d4071
    ) 1;
}


/* Nishitani III — Prelude: blue to orange */
.music-player[data-track="nishitani3_prelude"] {
    --music-accent: #2e79af;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #168cff,
        #ff7900
    ) 1;
}

/* Nishitani III — Boss theme: orange to blue */
.music-player[data-track="nishitani3_boss"] {
    --music-accent: #ff7900;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #ff7900,
        #168cff
    ) 1;
}
.music-player[data-track="murasaki"] {
    --music-accent: #B200FF;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #B200FF,
        #7d4071
    ) 1;
}
.music-player[data-track="runner"] { --music-accent: #7d4071; }
.music-player[data-track="vsblake"] {
	--music-accent: #BC4330;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #BC4330,
        #7d4071
    ) 1;
}
.music-player[data-track="kijincunts"] { --music-accent: #FF0000; }
.music-player[data-track="koumakyou"] {
	    --music-accent: #FF0000;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #FF0000,
        #E1DBFE
    ) 1;
}
.music-player[data-track="sakuya"],
.music-player[data-track="bleck"] {
	    --music-accent: #5074DE;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #5074DE,
        #319221
    ) 1;
}
.music-player[data-track="kensetsu"] {
	    --music-accent: #c9a227;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #c9a227,
        #7d4071
    ) 1;
}
.music-player[data-track="hayashi"] {
	    --music-accent: #FF0000;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #FF0000,
        #0000FF
    ) 1;
}
.music-player[data-track="ykri"] {
    --music-accent: #C50572;
    border-left: 4px solid transparent;
    border-image: linear-gradient(
        to bottom,
        #C50572,
        #310882
    ) 1;
}
.music-player__header {
    display: flex; align-items: center; gap: 13px;
    border-bottom: 1px solid #3a3a3a; padding: 12px 0 10px;
}
.music-player__album {
    display: block;
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    object-fit: cover;
    border-radius: 4px;
    background: #181818;
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.music-player__info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.music-player__eyebrow {
    display: block; color: var(--music-accent); font-size: 13px;
    letter-spacing: 0px; margin-bottom: 4px;
}
.music-player__title {
    display: block;
    width: 100%;
    color: #fff;
    font: normal 21px/1.05 MusicTojo, sans-serif;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: clip;
}
.music-player__title-text {
    display: inline-block;
    white-space: nowrap;
    transform: translateX(var(--music-title-offset, 0px));
    will-change: transform;
}
/* Spotify-style scrolling for long track titles */
.music-player__title[data-scrolling="true"] {
    text-overflow: clip;
}

/* Keep the title clipped to its available space */
.music-player__info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.music-player__game { display: block; color: #999; font-size: 14px; margin-top: 4px; }
.music-player button {
    min-height: 32px; padding: 5px 9px;
    border: 1px solid #555; border-radius: 0;
    color: #ddd; background: #1b1b1b;
    font: normal 16px/1 MusicTojo, sans-serif;
    text-transform: uppercase; cursor: pointer;
}
.music-player button:hover, .music-player button:focus-visible {
    color: #0b0b0b; background: #fff; border-color: #fff;
}
.music-player :focus-visible { outline: 2px solid var(--music-accent); outline-offset: 3px; }
.music-player button[aria-pressed="true"] { color: var(--music-accent); border-color: var(--music-accent); }
.music-player button[aria-pressed="true"]:hover { color: #111; }
.music-player .music-player__play {
    min-width: 57px; color: #111; background: #fff; border-color: #fff;
}
.music-player .music-player__play:hover { background: var(--music-accent); border-color: var(--music-accent); }
.music-player__quick-play { display: none; }
.music-player .music-player__collapse { min-height: 25px; width: 25px; padding: 0; font: 20px/1 Arial, sans-serif; }
.music-player__body { margin-top: 11px; }
.music-player__track-label { display: flex; align-items: center; gap: 12px; color: #999; font-size: 15px; text-transform: uppercase; }
.music-player__track {
    flex: 1; min-width: 0; padding: 5px 6px;
    border: 1px solid #444; border-radius: 0;
    color: #eee; background: #191919;
    font: normal 16px/1.2 MusicTojo, sans-serif; color-scheme: dark;
}
.music-player__timeline {
    display: flex; align-items: center; gap: 9px; margin: 10px 0 11px;
    color: #aaa; font: 11px/1 Arial, sans-serif; font-variant-numeric: tabular-nums;
}
.music-player input[type="range"] {
    appearance: none; -webkit-appearance: none; min-width: 0;
    height: 16px; margin: 0; padding: 0; background: transparent;
    border: 0; border-radius: 0; cursor: pointer;
}
.music-player input[type="range"]::-webkit-slider-runnable-track {
    height: 3px;
    background: linear-gradient(to right, var(--music-accent) 0 var(--music-progress, 0%), #454545 var(--music-progress, 0%) 100%);
}
.music-player input[type="range"]::-moz-range-track { height: 3px; background: #454545; }
.music-player input[type="range"]::-moz-range-progress { height: 3px; background: var(--music-accent); }
.music-player input[type="range"]::-webkit-slider-thumb {
    appearance: none; -webkit-appearance: none;
    width: 7px; height: 13px; margin-top: -5px;
    border: 1px solid #111; border-radius: 0; background: #fff;
}
.music-player input[type="range"]::-moz-range-thumb {
    width: 7px; height: 13px; border: 1px solid #111; border-radius: 0; background: #fff;
}
.music-player input[type="range"]:disabled { opacity: .4; cursor: default; }
.music-player__seek { flex: 1; }
.music-player__controls { display: flex; align-items: center; gap: 5px; }
.music-player__volume-label { display: flex; align-items: center; gap: 7px; margin-left: auto; color: #999; font-size: 13px; text-transform: uppercase; }
.music-player__volume { width: 61px; }
.music-player__status { margin: 9px 0 0; color: #aaa; font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; }
.music-player__status:empty { display: none; }
.music-player.is-collapsed { padding-bottom: 0; }
.music-player.is-collapsed .music-player__header { border-bottom: 0; }
.music-player.is-collapsed .music-player__body { display: none; }
.music-player.is-collapsed .music-player__quick-play { display: inline-block; }
.music-player.is-collapsed .music-player__eyebrow { display: none; }
.music-player audio { display: none; }
.fTheme .theme-play {
    padding: 1px 0; border: 0; border-bottom: 1px solid #555; border-radius: 0;
    color: #aaa; background: none; font: inherit; cursor: pointer; text-align: left;
}
.fTheme .theme-play::before { content: "▶ "; font-size: .8em; }
.fTheme .theme-play.is-playing::before { content: "▌▌ "; }
.fTheme .theme-play:hover, .fTheme .theme-play.is-playing { color: #fff; border-bottom-color: #c9a227; }
.fTheme .theme-play:focus-visible { outline: 1px solid #c9a227; outline-offset: 4px; }
.fTheme .theme-source { margin-left: 7px; text-decoration: none; }
.has-music-player #taxiSprite { bottom: 240px; }
@media (max-width: 480px) {
    .music-player { right: 10px; bottom: 10px; width: calc(100vw - 20px); padding-left: 12px; padding-right: 12px; }
.music-player__album { flex-basis: 60px; width: 60px; height: 60px; }
    .music-player__title { font-size: 20px; }
    .music-player button { padding-left: 7px; padding-right: 7px; font-size: 15px; }
    .music-player__volume-label { gap: 4px; }
    .music-player__volume { width: 43px; }
}
/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
    .music-player__title {
        scroll-behavior: auto;
    }
}