/* Curated audio library; styles stay inside its own tool shell. */
#sound-library-app{display:grid;gap:22px;color:var(--site-text);text-align:start}
#sound-library-app [hidden]{display:none!important}
#sound-library-app *{box-sizing:border-box}
#sound-library-app svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
#sound-library-app button,#sound-library-app a{touch-action:manipulation}
#sound-library-app button:focus-visible,#sound-library-app a:focus-visible{outline:3px solid var(--site-accent);outline-offset:3px}
#sound-library-app .sl-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px 14px}
#sound-library-app[data-mode=asmr] .sl-toolbar{grid-template-columns:minmax(0,1fr)}
#sound-library-app .sl-search-field{display:contents}
#sound-library-app .sl-search-field>.tool-label{display:block;grid-column:1/-1;grid-row:1;margin:0}
#sound-library-app .sl-search-box{position:relative;grid-column:1;grid-row:2;min-width:0}
#sound-library-app .sl-search-box>svg{position:absolute;inset-inline-start:15px;top:50%;transform:translateY(-50%);color:var(--site-muted);pointer-events:none}
#sound-library-app #sound-library-search{width:100%;height:100%;min-height:46px;padding-left:45px;padding-right:12px;margin:0}
html[dir=rtl] #sound-library-app #sound-library-search{padding-left:12px;padding-right:45px}
#sound-library-app .sl-filter-button,#sound-library-app .sl-category{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;white-space:normal;overflow-wrap:anywhere;font:inherit;cursor:pointer}
#sound-library-app .sl-filter-button{grid-column:2;grid-row:2;padding:10px 16px;border:1px solid var(--site-border);border-radius:9px;background:var(--site-surface);color:var(--site-text);max-width:min(38vw,260px)}
#sound-library-app .sl-filter-button[aria-pressed=true]{background:var(--site-accent-soft);border-color:var(--site-accent);color:var(--site-accent)}
#sound-library-app .sl-filter-button[aria-pressed=true] svg{fill:currentColor}
#sound-library-app .sl-categories{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px}
#sound-library-app .sl-category{min-width:46px;border:1px solid var(--site-border);border-radius:999px;padding:9px 16px;background:var(--site-surface);color:var(--site-muted);font-size:14px}
#sound-library-app .sl-category[aria-pressed=true]{color:var(--site-accent);border-color:var(--site-accent);background:var(--site-accent-soft);font-weight:600}
#sound-library-app .sl-results-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;min-width:0}
#sound-library-app .sl-result-count,#sound-library-app .sl-status{margin:0;color:var(--site-muted);font-size:13px;overflow-wrap:anywhere}
#sound-library-app .sl-status:empty{display:none}
#sound-library-app .sl-status.error{color:#b91c1c}
#sound-library-app .sl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#sound-library-app .sl-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--site-border);border-radius:13px;background:var(--site-surface);padding:18px;transition:border-color .15s,box-shadow .15s}
#sound-library-app .sl-card.is-selected{border-color:var(--site-accent);box-shadow:0 0 0 1px var(--site-accent)}
#sound-library-app .sl-card-top{display:flex;justify-content:space-between;align-items:start;gap:12px;color:var(--site-muted);font-size:12px;line-height:1.5}
#sound-library-app .sl-card-category{overflow-wrap:anywhere;min-width:0}
#sound-library-app .sl-duration{flex:none;font-variant-numeric:tabular-nums}
#sound-library-app .sl-card-body{display:flex;align-items:center;gap:13px;margin:16px 0 14px;min-width:0}
#sound-library-app .sl-preview{position:relative;width:48px;height:48px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--site-accent-soft);color:var(--site-accent);border:1px solid transparent;text-decoration:none}
#sound-library-app .sl-preview:hover{border-color:var(--site-accent)}
#sound-library-app .sl-preview .sl-progress-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);transform-origin:50% 50%;pointer-events:none}
#sound-library-app .sl-progress-ring circle{fill:none;stroke-width:2.5}
#sound-library-app .sl-progress-track{stroke:var(--site-border)}
#sound-library-app .sl-progress-value{stroke:currentColor}
#sound-library-app .sl-preview[data-progress="0"] .sl-progress-value{opacity:0}
#sound-library-app .sl-preview .sl-play-icon{fill:currentColor;stroke:none;margin-inline-start:2px}
#sound-library-app .sl-pause-icon{display:none;stroke-width:3}
#sound-library-app .sl-card.is-playing .sl-play-icon{display:none}
#sound-library-app .sl-card.is-playing .sl-pause-icon{display:block}
#sound-library-app .sl-card-title{font-size:16px;line-height:1.45;font-weight:650;margin:0;overflow-wrap:anywhere;min-width:0}
#sound-library-app .sl-card-meta{display:flex;flex:1;min-width:0;flex-wrap:wrap;gap:5px 10px;font-size:12px;color:var(--site-muted);line-height:1.5}
#sound-library-app .sl-card-meta>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
#sound-library-app .sl-card-bottom{margin-top:auto;display:flex;align-items:center;gap:8px}
#sound-library-app .sl-card-actions{display:flex;align-items:center;align-self:flex-end;flex:none;gap:2px}
#sound-library-app .sl-icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;min-width:46px;min-height:46px;width:46px;height:46px;flex:none;border-radius:9px;padding:10px;background:transparent;color:var(--site-muted);cursor:pointer;text-decoration:none}
#sound-library-app .sl-icon-button:hover{color:var(--site-accent);background:var(--site-accent-soft)}
#sound-library-app .sl-favorite[aria-pressed=true]{color:var(--site-accent)}
#sound-library-app .sl-favorite[aria-pressed=true] svg{fill:currentColor}
#sound-library-app .sl-player{min-width:0;border:1px solid var(--site-border);border-radius:13px;background:var(--site-surface-muted);padding:20px;display:grid;gap:16px}
#sound-library-app .sl-player-heading{display:flex;align-items:center;gap:14px;min-width:0}
#sound-library-app .sl-player-title-wrap{flex:1;min-width:0}
#sound-library-app .sl-player-heading h2{font-size:18px;font-weight:650;line-height:1.4;margin:3px 0;overflow-wrap:anywhere}
#sound-library-app .sl-eyebrow,#sound-library-app .sl-current-meta{font-size:12px;line-height:1.5;color:var(--site-muted);margin:0;overflow-wrap:anywhere}
#sound-library-app .sl-playing-art{width:54px;height:54px;flex:none;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:13px;background:var(--site-accent-soft);color:var(--site-accent)}
#sound-library-app .sl-playing-art span{width:3px;height:14px;border-radius:3px;background:currentColor}
#sound-library-app .sl-playing-art span:nth-child(2n){height:24px}
#sound-library-app .sl-playing-art span:nth-child(3n){height:33px}
#sound-library-app audio{display:block;width:100%;min-width:0;height:54px;direction:ltr}
#sound-library-app .sl-listening-settings{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 22px}
#sound-library-app .sl-listening-settings .tool-label{font-size:13px}
#sound-library-app .sl-loop-control,#sound-library-app .sl-volume-control{min-height:46px;display:flex;align-items:center;gap:12px;margin:0;font-size:14px;min-width:0}
#sound-library-app .sl-loop-control{cursor:pointer;overflow-wrap:anywhere}
#sound-library-app .sl-loop-control input{width:18px;height:18px;flex:none;accent-color:var(--site-accent)}
#sound-library-app .sl-volume-control input{width:100%;min-width:0;accent-color:var(--site-accent);height:28px;padding:0}
#sound-library-app .sl-volume-control output{flex:none;min-width:3.5em;text-align:end;font-variant-numeric:tabular-nums}
#sound-library-app .sl-listening-settings select{appearance:none;min-height:46px;height:auto;padding-inline-end:34px;background-image:var(--site-select-arrow);background-repeat:no-repeat;background-size:16px;background-position:right 12px center}
html[dir=rtl] #sound-library-app .sl-listening-settings select{background-position:left 12px center}
#sound-library-app .sl-remaining{margin:0;color:var(--site-muted);font-size:13px;font-variant-numeric:tabular-nums}
#sound-library-app .sl-error{border:1px solid #fca5a5;background:#fff1f2;color:#b91c1c;border-radius:9px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px}
#sound-library-app .sl-error p{margin:0;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
#sound-library-app .sl-error button{min-height:46px;flex:none}
#sound-library-app[data-mode=effects] #sound-library-player{display:none!important}
#sound-library-app .sl-card>.sl-error{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px;min-width:0}
#sound-library-app .sl-card>.sl-error button{align-self:flex-start;min-width:46px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#sound-library-app .sl-empty{padding:32px 12px;margin:0;text-align:center;color:var(--site-muted);overflow-wrap:anywhere}
html[data-theme=dark] #sound-library-app .sl-error{background:#381d29;border-color:#823342;color:#fda4af}
html[data-theme=dark] #sound-library-app .sl-status.error{color:#fda4af}
@media(min-width:1200px){#sound-library-app .sl-card{padding:20px}}
@media(max-width:1000px){#sound-library-app .sl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#sound-library-app{gap:16px}#sound-library-app .sl-toolbar{gap:8px 10px}#sound-library-app .sl-filter-button{padding:10px;width:46px;max-width:none;font-size:13px}#sound-library-app .sl-favorites-label{display:none}#sound-library-app .sl-category{font-size:13px;padding:8px 12px}#sound-library-app .sl-categories{gap:6px}#sound-library-app .sl-grid{grid-template-columns:minmax(0,1fr);gap:12px}#sound-library-app .sl-card{padding:16px}#sound-library-app .sl-card-body{margin:12px 0}#sound-library-app .sl-player{padding:14px;gap:14px}#sound-library-app .sl-playing-art{display:none}#sound-library-app .sl-player-heading{gap:8px}#sound-library-app .sl-player-heading h2{font-size:17px}#sound-library-app .sl-listening-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}#sound-library-app .sl-listening-settings>.tool-form-field:last-child{grid-column:1/-1}#sound-library-app .sl-error{align-items:start;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#sound-library-app .sl-card{transition:none}}
