 #np-rc-wrap { position: fixed; left: 0; top: 50%; transform: translateY(-50%); z-index: 960; display: flex; flex-direction: column; align-items: flex-start; pointer-events: none; max-height: calc(100vh - 200px); } #np-rc-card { display: flex; flex-direction: column; align-items: flex-start; overflow: visible; pointer-events: auto; position: relative; } #np-rc-tab { width: 44px; height: 120px; flex-shrink: 0; background: linear-gradient(180deg, #DC143C 0%, #833AB4 100%); border: none; outline: none; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 14px 0; color: #fff; font-family: var(--font, 'Inter', sans-serif); -webkit-tap-highlight-color: transparent; transition: filter .2s ease, border-radius .3s ease, box-shadow .3s ease; border-radius: 0 16px 16px 0; position: relative; z-index: 2; box-shadow: 4px 0 24px rgba(0, 0, 0, .35); } #np-rc-tab:hover { filter: brightness(1.12); } #np-rc-tab:active { filter: brightness(.88); } .np-rc-arrow { font-size: 11px; opacity: .9; transition: transform .36s cubic-bezier(.4, 0, .2, 1); } #np-rc-card.expanded .np-rc-arrow { transform: rotate(180deg); } .np-rc-tab-label { writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); font-size: 8px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: rgba(255, 255, 255, .9); white-space: nowrap; overflow: hidden; max-height: 76px; line-height: 1; } .np-rc-eq { display: flex; align-items: flex-end; gap: 2px; height: 20px; } .np-rc-eq-bar { width: 3px; border-radius: 2px; background: rgba(255, 255, 255, .9); transform-origin: bottom; animation: npRcEqIdle 2s ease-in-out infinite; } .np-rc-eq-bar:nth-child(1) { height: 8px; animation-delay: 0s; } .np-rc-eq-bar:nth-child(2) { height: 14px; animation-delay: .22s; } .np-rc-eq-bar:nth-child(3) { height: 10px; animation-delay: .44s; } .np-rc-eq-bar:nth-child(4) { height: 6px; animation-delay: .11s; } #np-rc-card.playing .np-rc-eq-bar:nth-child(1) { animation: npRcEqPlay 1.0s ease-in-out infinite 0s; } #np-rc-card.playing .np-rc-eq-bar:nth-child(2) { animation: npRcEqPlay .8s ease-in-out infinite .18s; } #np-rc-card.playing .np-rc-eq-bar:nth-child(3) { animation: npRcEqPlay 1.2s ease-in-out infinite .36s; } #np-rc-card.playing .np-rc-eq-bar:nth-child(4) { animation: npRcEqPlay .9s ease-in-out infinite .08s; } @keyframes npRcEqIdle { 0%, 100% { height: 5px; opacity: .5; } 50% { height: 11px; opacity: .85; } } @keyframes npRcEqPlay { 0% { height: 4px; } 25% { height: 18px; } 50% { height: 8px; } 75% { height: 15px; } 100% { height: 4px; } } #np-rc-card:not(.expanded) #np-rc-tab { animation: npRcSuperEnergy 2s cubic-bezier(0.4, 0.2, 0.2, 1) infinite; } @keyframes npRcSuperEnergy { 0% { box-shadow: 4px 0 24px rgba(0, 0, 0, .35); transform: scaleX(1); } 25% { box-shadow: 4px 0 32px rgba(220, 20, 60, .5), 0 0 24px rgba(131, 58, 180, .3); } 50% { box-shadow: 4px 0 48px rgba(220, 20, 60, .7), 0 0 32px rgba(131, 58, 180, .5); transform: scaleX(1.02); } 75% { box-shadow: 4px 0 32px rgba(220, 20, 60, .5), 0 0 24px rgba(131, 58, 180, .3); } 100% { box-shadow: 4px 0 24px rgba(0, 0, 0, .35); transform: scaleX(1); } } #np-rc-body { height: 0; width: 285px; overflow: hidden; transition: height .4s cubic-bezier(.4, 0, .2, 1), opacity .3s ease; flex-shrink: 0; opacity: 0; position: relative; border-radius: 0 16px 16px 0; box-shadow: 4px 4px 32px rgba(0, 0, 0, .45); z-index: 1; } #np-rc-card.expanded #np-rc-body { opacity: 1; } .np-rc-inner { width: 285px; display: flex; flex-direction: column; background: #181828; max-height: calc(100vh - 260px); overflow: hidden; border-radius: 0 16px 16px 0; } [data-theme="light"] .np-rc-inner { background: #ffffff; border: 1px solid #e2e8f0; border-left: none; } [data-theme="light"] .np-rc-header { border-bottom-color: #e2e8f0; } [data-theme="light"] .np-rc-station-name { color: #1a202c; } [data-theme="light"] .np-rc-track-title { color: #1a202c; } [data-theme="light"] .np-rc-track-artist { color: #64748b; } [data-theme="light"] .np-rc-controls { border-bottom-color: #e2e8f0; } [data-theme="light"] .np-rc-mute-btn { background: rgba(0, 0, 0, .06); color: #475569; } [data-theme="light"] .np-rc-mute-btn:hover { background: rgba(0, 0, 0, .12); color: #1a202c; } [data-theme="light"] .np-rc-vol-slider { background: rgba(0, 0, 0, .12); } [data-theme="light"] .np-rc-history-header { background: #ffffff; color: #94a3b8; } [data-theme="light"] .np-rc-history-track-title { color: #334155; } [data-theme="light"] .np-rc-history-track-artist { color: #94a3b8; } [data-theme="light"] .np-rc-history-time { color: rgba(0, 0, 0, .3); } [data-theme="light"] .np-rc-history-item:hover { background: rgba(0, 0, 0, .03); } [data-theme="light"] .np-rc-history-empty { color: #94a3b8; } [data-theme="light"] .np-rc-cover-wrap { background: rgba(0, 0, 0, .05); } [data-theme="light"] .np-rc-cover-default { color: rgba(0, 0, 0, .18); } [data-theme="light"] .np-rc-skeleton { background: linear-gradient(90deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.06) 75%); background-size: 200% 100%; } .np-rc-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px 10px; border-bottom: 1px solid rgba(255, 255, 255, .07); flex-shrink: 0; gap: 8px; } .np-rc-station-name { font-size: 11px; font-weight: 800; color: #f0f4ff; text-transform: uppercase; letter-spacing: .7px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 158px; font-family: var(--font, 'Inter', sans-serif); } .np-rc-live-badge { display: flex; align-items: center; gap: 5px; background: rgba(220, 20, 60, .18); border: 1px solid rgba(220, 20, 60, .38); color: #ff4d6d; font-size: 9px; font-weight: 800; letter-spacing: .9px; padding: 3px 8px; border-radius: 20px; flex-shrink: 0; font-family: var(--font, 'Inter', sans-serif); } .np-rc-live-dot { width: 6px; height: 6px; border-radius: 50%; background: #DC143C; animation: npRcBlink 1.5s ease-in-out infinite; flex-shrink: 0; } @keyframes npRcBlink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } } .np-rc-track-section { display: flex; align-items: center; gap: 12px; padding: 12px 14px; flex-shrink: 0; } .np-rc-cover-wrap { position: relative; width: 72px; height: 72px; flex-shrink: 0; border-radius: 10px; overflow: hidden; background: rgba(255, 255, 255, .06); } .np-rc-cover { width: 100%; height: 100%; object-fit: cover; display: none; transition: opacity .4s ease; } #np-rc-card.playing .np-rc-cover { animation: npRcVinyl 9s linear infinite; } @keyframes npRcVinyl { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .np-rc-cover-default { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 26px; color: rgba(255, 255, 255, .25); } .np-rc-cover-loading { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; } .np-rc-cover-spinner { width: 22px; height: 22px; border: 2px solid rgba(255, 255, 255, .12); border-top-color: #DC143C; border-radius: 50%; animation: npRcSpin .7s linear infinite; } @keyframes npRcSpin { to { transform: rotate(360deg); } } .np-rc-track-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; } .np-rc-track-title { font-size: 13px; font-weight: 700; color: #f0f4ff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; font-family: var(--font, 'Inter', sans-serif); } .np-rc-track-artist { font-size: 11px; color: #94a3b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--font, 'Inter', sans-serif); } .np-rc-skeleton { background: linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.13) 50%,rgba(255,255,255,.06) 75%); background-size: 200% 100%; animation: npRcSkeleton 1.6s ease-in-out infinite; border-radius: 4px; display: block; } @keyframes npRcSkeleton { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } .np-rc-controls { display: flex; align-items: center; gap: 10px; padding: 4px 14px 12px; flex-shrink: 0; border-bottom: 1px solid rgba(255, 255, 255, .06); } .np-rc-play-btn { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, #DC143C, #833AB4); border: none; color: #fff; font-size: 15px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform .15s ease, filter .2s ease; -webkit-tap-highlight-color: transparent; box-shadow: 0 4px 16px rgba(220, 20, 60, .35); } .np-rc-play-btn:hover { filter: brightness(1.15); } .np-rc-play-btn:active { transform: scale(.9); } .np-rc-play-btn .fas { margin-left: 1px; } .np-rc-vol-wrap { display: flex; align-items: center; gap: 7px; flex: 1; min-width: 0; } .np-rc-mute-btn { width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, .07); border: none; color: rgba(255, 255, 255, .65); font-size: 12px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .2s ease, color .2s ease; -webkit-tap-highlight-color: transparent; } .np-rc-mute-btn:hover { background: rgba(255, 255, 255, .14); color: #fff; } .np-rc-vol-slider { flex: 1; min-width: 0; height: 3px; -webkit-appearance: none; appearance: none; background: rgba(255, 255, 255, .15); border-radius: 3px; outline: none; cursor: pointer; } .np-rc-vol-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 13px; height: 13px; border-radius: 50%; background: #DC143C; cursor: pointer; box-shadow: 0 0 6px rgba(220, 20, 60, .55); } .np-rc-vol-slider::-moz-range-thumb { width: 13px; height: 13px; border-radius: 50%; background: #DC143C; cursor: pointer; border: none; } .np-rc-history { flex: 1; overflow-y: auto; min-height: 0; scrollbar-width: thin; scrollbar-color: rgba(220, 20, 60, .35) transparent; } .np-rc-history::-webkit-scrollbar { width: 3px; } .np-rc-history::-webkit-scrollbar-track { background: transparent; } .np-rc-history::-webkit-scrollbar-thumb { background: rgba(220, 20, 60, .4); border-radius: 3px; } .np-rc-history-header { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; color: #64748b; padding: 8px 14px 5px; position: sticky; top: 0; background: #181828; z-index: 1; font-family: var(--font, 'Inter', sans-serif); } .np-rc-history-item { display: flex; align-items: center; gap: 8px; padding: 5px 14px; transition: background .15s ease; } .np-rc-history-item:hover { background: rgba(255, 255, 255, .04); } .np-rc-history-dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(220, 20, 60, .55); flex-shrink: 0; } .np-rc-history-text { flex: 1; min-width: 0; } .np-rc-history-track-title { font-size: 11px; font-weight: 600; color: #d1d5db; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--font, 'Inter', sans-serif); } .np-rc-history-track-artist { font-size: 10px; color: #64748b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--font, 'Inter', sans-serif); } .np-rc-history-time { font-size: 9px; color: rgba(255, 255, 255, .28); flex-shrink: 0; font-family: var(--font, 'Inter', sans-serif); } .np-rc-history-empty { font-size: 11px; color: #475569; font-style: italic; padding: 6px 14px 10px; margin: 0; font-family: var(--font, 'Inter', sans-serif); } .mcr-container, #mcr-container { display: none !important; } #np-rc-lightning-canvas { display: none !important; } @media (max-width: 767px) { #np-rc-wrap { top: 50%; bottom: auto; transform: translateY(-50%); left: 0; max-height: calc(100vh - 160px); z-index: 950; } #np-rc-tab { width: 38px; height: 100px; padding: 10px 0; } #np-rc-body { width: calc(100vw - 31px); max-width: 285px; z-index: 951; } .np-rc-inner { width: calc(100vw - 31px); max-width: 285px; max-height: 55vh; } #np-rc-card.expanded #np-rc-body { max-height: 55vh; } .np-rc-cover-wrap { width: 60px; height: 60px; } .np-rc-track-title { font-size: 12px; } .np-rc-track-artist { font-size: 10px; } } @media (max-width: 360px) { #np-rc-body { width: calc(100vw - 27px); max-width: 275px; } .np-rc-inner { width: calc(100vw - 27px); max-width: 275px; } #np-rc-tab { width: 34px; height: 90px; } } @media (min-width: 768px) and (max-width: 1023px) { #np-rc-body { width: 295px; } .np-rc-inner { width: 295px; } } @media (min-width: 1024px) { #np-rc-body { width: 305px; } .np-rc-inner { width: 305px; } .np-rc-controls { gap: 12px; } .np-rc-play-btn { width: 44px; height: 44px; font-size: 16px; } } #np-rc-tab:focus-visible, .np-rc-play-btn:focus-visible, .np-rc-mute-btn:focus-visible { outline: 2px solid #DC143C; outline-offset: 2px; } @media print { #np-rc-wrap { display: none !important; } } 