/* OBS Default Reset & Transparent Canvas */ body { background-color: rgba(0, 0, 0, 0) !important; margin: 0 auto; overflow: visible !important; display: flex; justify-content: center; align-items: flex-start; min-height: 100vh; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; } * { margin: 0; padding: 0; box-sizing: border-box; } /* Main widget container */ .widget-container { position: relative; display: flex; flex-direction: column; width: 100%; max-width: 400px; height: auto !important; border-radius: 20px; overflow: hidden; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.95); margin: 20px; } /* Blurred background layer using album art */ .background-blur { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; overflow: hidden; } .background-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(25px) brightness(0.4); /* Strong blur and dimmed for readability */ transform: scale(1.2); /* Prevents hard/unblurred edges around borders */ z-index: 0; } /* Dark overlay to ensure text contrast */ .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.35); z-index: 1; pointer-events: none; } /* Content layer */ .widget-content { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 24px; z-index: 2; width: 100%; height: auto !important; align-items: center; } /* Album art box & Fallback Image Handler */ .album-art-box { position: relative; flex-shrink: 0; width: 100%; aspect-ratio: 1 / 1; height: auto; border-radius: 15px; overflow: hidden; /* REPLACE URL WITH YOUR CUSTOM FALLBACK IMAGE */ background: #1e1e1e url('https://i.imgur.com/8Q9Z4Zm.png') center/cover no-repeat; display: flex; justify-content: center; align-items: center; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.6); z-index: 2; } .album-art { width: 100%; height: 100%; object-fit: cover; } /* Hides broken image icons so background fallback shows cleanly */ .album-art[src=""], .album-art:not([src]) { opacity: 0; } /* Song info box */ .song-info { width: 100%; display: flex !important; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 6px; min-width: 0; padding: 4px 0 8px 0; z-index: 3; } /* Song title */ .song-title { width: 100%; font-size: 20px; font-weight: 600; color: #ffffff !important; text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.9); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; } /* Song artist */ .song-artist { width: 100%; font-size: 15px; font-weight: 400; color: #ffffff !important; opacity: 0.75; text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.9); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; } /* Smooth fade animation for updates */ @keyframes fadeIn { from { opacity: 0.5; } to { opacity: 1; } } .song-title.updating, .song-artist.updating { animation: fadeIn 0.4s ease-in-out; }