.song-tools-container { margin: 4px 12px 0; flex: 0 0 auto; font-family: system-ui, sans-serif; }
.song-tools { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.song-tool-button, .song-tool-sort { box-sizing: border-box; min-height: 34px; border: 1px solid #b69ad4; border-radius: 6px; padding: 5px 9px; background: #fff8ff; color: #51336b; cursor: pointer; font: 13px/1.3 system-ui, sans-serif; text-decoration: none; }
.song-tool-button[aria-pressed="true"] { background: #8f65c7; color: white; }
.song-tool-button:disabled { opacity: .55; cursor: default; }
.song-tool-button:focus-visible, .song-tool-sort:focus-visible, #type_list button:focus-visible { outline: 3px solid #5931a2; outline-offset: 2px; }
.song-tools-status { margin: 5px 0; font: 12px/1.4 system-ui, sans-serif; color: #614c72; overflow-wrap: anywhere; }
.has-song-tools #type_list button { cursor: pointer; font-family: inherit; padding: 0; }
.has-song-tools.is-desktop-template .type_box { display: flex; flex-direction: column; }
.has-song-tools.is-desktop-template .type_box > .title { top: auto; left: auto; flex: 0 0 auto; margin: 16px 12px 8px; }
.has-song-tools.is-desktop-template #type_list { box-sizing: border-box; flex: 1; min-height: 0; height: auto; width: 100%; overflow-y: auto; margin: 8px 0; padding: 0 8px; }
.has-song-tools.is-desktop-template .view_song { display: flex; flex-direction: column; }
.has-song-tools.is-desktop-template #songs_list { flex: 1 1 auto; min-height: 0; height: auto; margin-top: 2px; }
.has-song-tools .song-tools-item { box-sizing: border-box; height: auto; min-height: 92px; padding: 8px 10px; cursor: default; }
.song-tools-item .song_info { position: relative; top: auto; left: auto; width: auto; max-height: none; padding: 0 0 0 12px; white-space: normal; overflow-wrap: anywhere; font-size: 16px; line-height: 1.4; }
.song-tools-item .song_info::after { left: 2px; }
.song-tools-item .claim { position: static; display: block; margin-top: 2px; font: 12px/1.4 system-ui, sans-serif; }
.song-tools-item .info_tag_area { position: static; display: flex; flex-wrap: wrap; width: auto; margin: 3px 0; }
.song-tools-item .info_tag { margin: 0 4px 3px 0; float: none; font-size: 12px; line-height: 20px; letter-spacing: 1px; }
.song-item-actions { display: flex; justify-content: flex-end; gap: 6px; }
.song-list-state { clear: both; list-style: none; text-align: center; padding: 12px 8px; color: #614c72; font: 13px/1.5 system-ui, sans-serif; }
.song-list-state p { margin: 0 0 8px; }
.song-tools-toast { position: fixed; left: 50%; top: 16px; transform: translateX(-50%); z-index: 20000; width: max-content; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 12px 16px; border-radius: 8px; background: #39264d; color: white; font: 14px/1.5 system-ui, sans-serif; box-shadow: 0 4px 20px #0003; }
.song-tools-toast[hidden] { display: none; }
.song-copy-fallback { position: fixed; left: -10000px; top: 0; }
.song-manual-copy { display: block; box-sizing: border-box; width: 100%; margin-top: 8px; font-size: 16px; }
.song-random-dialog { box-sizing: border-box; width: min(420px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid #b69ad4; border-radius: 12px; padding: 22px; background: #fff9ff; color: #3d294d; font-family: system-ui, sans-serif; }
.song-random-dialog::backdrop { background: #23133170; }
.song-random-dialog h2 { margin: 0 0 16px; font-size: 20px; }
.song-random-dialog h3 { margin: 12px 0; font-size: 24px; overflow-wrap: anywhere; }
.song-random-content { min-height: 90px; }
.song-random-scope { font-size: 12px; color: #74617d; }
.song-random-actions { display: flex; gap: 8px; margin: 12px 0 20px; }
.song-random-dialog > button { margin-right: 8px; }
.has-song-tools.is-mobile-template .song-tools-container { margin-top: 2px; }
.has-song-tools.is-mobile-template .song-tools { gap: 4px; }
.has-song-tools.is-mobile-template .song-tools > * { font-size: 12px; padding-left: 7px; padding-right: 7px; }
.has-song-tools.is-mobile-template.song-list-scrolled .info_box { display: none; }
.has-song-tools.is-mobile-template.song-list-scrolled .song_list { top: 0; }
.has-song-tools.is-mobile-template .tool_box { display: none; }
.song-return-top { display: none; }
.song-list-scrolled .song-return-top { display: inline-block; }
@media (prefers-reduced-motion: reduce) { .has-song-tools * { scroll-behavior: auto !important; } }
