.story-music-composer{position:relative;color:var(--text-main)}
.story-music-composer button,.story-music-dialog button{font:inherit;cursor:pointer;transition:background-color .15s,color .15s;touch-action:manipulation}
.story-music-composer svg,.story-music-dialog svg,.story-music-viewer svg{width:20px;height:20px;flex:none}
.story-music-add{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:44px;border:1px solid var(--border-color);border-radius:.8rem;background:var(--bg-elevated);color:var(--accent-color);font-size:.85rem!important;font-weight:800!important}
.story-music-selected,.story-music-track{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.65rem;border:1px solid var(--border-color);border-radius:.8rem;background:var(--bg-elevated)}
.story-music-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:2px;line-height:1.4}
.story-music-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:800}
.story-music-copy small{color:var(--text-main);color:color-mix(in srgb,var(--text-muted) 80%,var(--text-main));font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.story-music-copy a,.story-music-change{color:var(--accent-color);font-size:.72rem;text-decoration:underline;text-underline-offset:3px}
.story-music-change{display:block;min-height:44px;margin-left:auto;background:none;border:0;font-weight:700!important;padding:0 .5rem}
.story-music-square,.story-music-dialog .story-music-select,.story-music-pages button{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--border-color);border-radius:.7rem;background:var(--bg-surface);color:var(--text-main)}
.story-music-square[aria-pressed=true],.story-music-select[aria-pressed=true]{color:var(--accent-color);border-color:var(--accent-color)}
.story-music-dialog{box-sizing:border-box;width:min(32rem,calc(100% - 1.5rem));max-height:calc(100dvh - 1.5rem);margin:auto;padding:0;border:1px solid var(--border-color);border-radius:1.1rem;background:var(--bg-surface);color:var(--text-main);box-shadow:0 24px 80px #0005;overflow:auto;overscroll-behavior:contain}
.story-music-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}
.story-music-dialog header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--bg-surface);border-bottom:1px solid var(--border-color)}
.story-music-dialog header>div{display:flex;align-items:center;gap:.5rem;min-width:0}
.story-music-dialog h2{margin:0;font-size:1rem;font-weight:800;line-height:1.5}
.story-music-dialog-body{padding:1rem;min-width:0}
.story-music-search{display:flex;align-items:center;border:1px solid var(--input-border-color);border-radius:.75rem;background:var(--bg-elevated);overflow:hidden}
.story-music-search:focus-within{outline:2px solid var(--accent-color);outline-offset:2px}
.story-music-search input{width:100%;min-width:0;min-height:44px;padding:.65rem .75rem;border:0!important;outline:0!important;background:transparent!important;color:var(--text-main);font-size:1rem;box-shadow:none!important}
.story-music-search button{display:grid;place-items:center;min-width:44px;min-height:44px;border:0;background:none;color:var(--accent-color)}
.story-music-categories{display:flex;gap:.5rem;flex-wrap:wrap;padding:.65rem 0 0}
.story-music-categories button,.story-music-retry{min-height:44px;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:.7rem;background:var(--bg-elevated);color:var(--text-main);font-size:.8rem!important;font-weight:700!important}
.story-music-description,.story-music-dialog [data-music-status]{font-size:.8rem;line-height:1.6;color:var(--text-main);color:color-mix(in srgb,var(--text-muted) 80%,var(--text-main))}
.story-music-description{margin:.65rem 0}
.story-music-results{display:grid;gap:.5rem}
.story-music-track{position:relative;padding:.5rem;gap:.4rem}
.story-music-track img,.story-music-art{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:.5rem;object-fit:cover;background:var(--bg-surface);color:var(--accent-color)}
.story-music-pages{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:.75rem;font-size:.8rem}
.story-music-pages[hidden]{display:none}
.story-music-dialog button:disabled{opacity:.45;cursor:default}
.story-music-composer button:focus-visible,.story-music-dialog button:focus-visible,.story-music-copy a:focus-visible,.story-music-viewer button:focus-visible,.story-music-viewer a:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}
.story-music-composer button:hover,.story-music-dialog button:hover:not(:disabled){background:var(--bg-elevated)}
.story-music-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.story-music-skeleton{display:flex;align-items:center;gap:.75rem;height:69px;margin-bottom:.5rem;padding:.5rem;border-radius:.8rem;background:var(--bg-elevated)}
.story-music-skeleton i,.story-music-skeleton b{display:block;background:var(--border-color);border-radius:.4rem;animation:story-music-pulse 1.4s ease-in-out infinite}
.story-music-skeleton i{width:44px;height:44px;flex:none}.story-music-skeleton span{flex:1}.story-music-skeleton b{height:9px;width:76%;margin:7px 0}.story-music-skeleton b+b{width:48%}
.story-music-audio{position:absolute;display:block;width:4px;min-width:0;max-width:4px;height:4px;min-height:0;max-height:4px;left:4px;top:4px;opacity:0;pointer-events:none}
.story-music-viewer{position:relative;display:flex;align-items:center;gap:.5rem;min-width:0;padding:.5rem;margin-bottom:.75rem;border:1px solid #ffffff40;border-radius:.9rem;background:#000b;color:#fff;pointer-events:auto}
.story-music-viewer>.story-music-copy{color:#fff;text-decoration:none}
.story-music-viewer small{color:#ececec}
.story-music-viewer button{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;padding:8px;border:1px solid #ffffff4d;border-radius:.65rem;background:#ffffff15;color:#fff;cursor:pointer;touch-action:manipulation}
.story-music-viewer-status:not(:empty){position:absolute;right:.5rem;bottom:calc(100% + .25rem);max-width:90%;padding:.2rem .5rem;border-radius:.4rem;background:#000c;color:#fff;font-size:.7rem}
@keyframes story-music-pulse{50%{opacity:.4}}
@media(prefers-reduced-motion:reduce){.story-music-skeleton i,.story-music-skeleton b{animation:none}.story-music-composer button,.story-music-dialog button{transition:none}}
@media(max-width:374px){.story-music-dialog-body{padding:.7rem}.story-music-track{gap:.2rem;padding:.35rem}.story-music-track img,.story-music-art{width:36px;height:36px}.story-music-viewer{gap:.3rem;padding:.35rem}}
