.song-library{margin:0 0 26px;border:1px solid #d7e0d4;border-radius:15px;background:#fffef9;color:#223c37;overflow:hidden}
.song-library *{box-sizing:border-box;min-width:0}
.song-library [hidden]{display:none!important}
.song-library .songs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px 24px 0}
.song-library .songs-eyebrow{margin:0 0 8px;font-size:9px;line-height:1.6;letter-spacing:1.2px;font-weight:750;color:#58715f}
.song-library .songs-title{font:400 29px/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.5px;margin:0}
.song-library .songs-intro{font-size:12px;line-height:1.7;color:#586d5e;max-width:710px;margin:10px 0 0}
.song-library .songs-count{flex-shrink:0;padding:7px 10px;background:#edf2e5;border:1px solid #d8e3cf;border-radius:20px;color:#486342;font-size:10px;line-height:1.5;font-weight:650}
.song-library .songs-controls{display:flex;gap:15px;padding:20px 24px 0;max-width:860px}
.song-library .songs-search-group{flex:1}
.song-library .songs-level-group{flex:0 1 210px}
.song-library label{display:block;font-size:11px;font-weight:650;color:#48634f;margin:0 0 7px}
.song-library input,.song-library select{width:100%;min-height:44px;border:1px solid #cddac7;border-radius:8px;background:#fbfcf5;color:#223c37;padding:10px 12px;font-family:inherit;font-size:12px;line-height:1.5;font-weight:400}
.song-library input::placeholder{color:#6a7c70}
.song-library .songs-results{font-size:10px;line-height:1.6;color:#617261;margin:10px 24px 16px}
.song-library .songs-body{display:grid;grid-template-columns:minmax(205px,.68fr) minmax(0,1.6fr);border-top:1px solid #e0e6d9}
.song-library .songs-browsing{padding:15px;background:#f3f5eb;border-right:1px solid #e0e6d9}
.song-library .songs-list{display:grid;gap:8px;max-height:390px;overflow-y:auto;padding:3px;scrollbar-color:#a8b99e #edf2e6}
.song-library button{font:inherit;cursor:pointer;min-height:44px;white-space:normal;overflow-wrap:anywhere}
.song-library .songs-choice{display:grid;width:100%;text-align:left;gap:4px;border:1px solid #dce4d3;border-radius:9px;padding:12px 13px;background:#fffef9;color:#284e3c}
.song-library .songs-choice:hover{background:#eaf1e2;border-color:#aec5a4}
.song-library .songs-choice.is-selected{background:#e6efdf;border-color:#4f7e58;box-shadow:inset 3px 0 #4f7e58}
.song-library .songs-choice-title{font-size:12px;line-height:1.5;font-weight:650}
.song-library .songs-choice-composer{font-size:10px;line-height:1.5;color:#5f715f}
.song-library .songs-choice-level{font-size:9px;line-height:1.5;color:#456343;margin-top:2px}
.song-library button:focus-visible,.song-library input:focus-visible,.song-library select:focus-visible,.song-library summary:focus-visible,.song-library a:focus-visible{outline:3px solid #227cba;outline-offset:3px}
.song-library .songs-detail{padding:24px}
.song-library .songs-detail-top{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.song-library .songs-level-badge{background:#eaf1e3;border:1px solid #d7e1cc;border-radius:20px;color:#486342;padding:5px 9px;font-size:9px;line-height:1.5;font-weight:650}
.song-library .songs-detail-kind{font-size:8px;font-weight:650;letter-spacing:1.3px;color:#687e64}
.song-library .songs-current-title{font:400 27px/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.4px;margin:0 0 9px;overflow-wrap:anywhere}
.song-library .songs-composer{font-size:11px;line-height:1.65;color:#5c705f;margin:0 0 15px}
.song-library .songs-description{font-size:12px;line-height:1.7;color:#45634f;margin:0 0 12px}
.song-library .songs-focus{font-size:11px;line-height:1.6;color:#45634f;font-weight:650;margin:0 0 16px}
.song-library .songs-connection{font-size:11px;line-height:1.65;padding:10px 12px;background:#edf3e5;border-left:3px solid #92af77;border-radius:0 6px 6px 0;color:#4a6946;margin:0 0 16px}
.song-library .songs-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px}
.song-library .songs-primary,.song-library .songs-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbdac3;border-radius:8px;padding:10px 12px;font-size:11px;font-weight:650;line-height:1.5;background:#f2f6e9;color:#2b573f;min-height:44px}
.song-library .songs-primary{background:#175c4e;border-color:#175c4e;color:#fff}
.song-library .songs-primary:hover{background:#104b3f}
.song-library .songs-secondary:hover{background:#e4eedc}
.song-library .songs-action button{width:100%}
.song-library .songs-action p{font-size:10px;line-height:1.6;color:#63745f;margin:8px 0 0}
.song-library .songs-assessment{font-size:10px;line-height:1.65;color:#62725f;margin:17px 0 0}
.song-library .songs-rights{font-size:10px;line-height:1.65;color:#62725f;margin:9px 0 0}
.song-library .songs-source{border-top:1px solid #e1e6d8;margin-top:18px;padding-top:3px;color:#62725f;font-size:10px;line-height:1.7}
.song-library .songs-source summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:650;color:#45634f}
.song-library .songs-source p{margin:0 0 10px}
.song-library .songs-source a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px;color:#27573d}
.song-library .songs-empty{padding:22px 10px}
.song-library .songs-empty h3{font:400 21px/1.3 Georgia,serif;margin:0 0 9px}
.song-library .songs-empty p{font-size:11px;line-height:1.7;color:#617261;margin:0 0 16px}
@media(max-width:1000px){.song-library .songs-body{grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr)}.song-library .songs-actions{grid-template-columns:1fr}.song-library .songs-action{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;align-items:center}.song-library .songs-action p{margin:0}}
@media(max-width:680px){.song-library .songs-header{padding:20px 17px 0;display:block}.song-library .songs-title{font-size:26px}.song-library .songs-count{display:inline-block;margin-top:13px}.song-library .songs-controls{padding:17px 17px 0;gap:11px}.song-library .songs-level-group{flex-basis:170px}.song-library .songs-results{margin:10px 17px 14px}.song-library .songs-body{grid-template-columns:1fr}.song-library .songs-browsing{padding:11px;border-right:0;border-bottom:1px solid #e0e6d9}.song-library .songs-list{grid-template-columns:1fr 1fr;max-height:242px;gap:8px}.song-library .songs-detail{padding:20px 17px}.song-library .songs-current-title{font-size:25px}.song-library .songs-empty{padding:15px 7px}}
@media(max-width:420px){.song-library .songs-controls{flex-direction:column}.song-library .songs-level-group{flex-basis:auto}.song-library .songs-action{grid-template-columns:1fr;gap:6px}.song-library .songs-actions{gap:14px}.song-library .songs-choice{padding:10px}.song-library .songs-choice-title{font-size:11px}.song-library .songs-choice-composer{font-size:9px}}
@media(forced-colors:active){.song-library .songs-choice.is-selected{outline:2px solid Highlight;outline-offset:-3px}.song-library .songs-choice,.song-library .songs-primary,.song-library .songs-secondary,.song-library .songs-level-badge{border:1px solid ButtonText}}
.beginner-course .course-song-break{padding:15px 16px;border:1px solid #dce5d2;border-radius:9px;background:#f3f6e9;margin:0 0 18px}
.beginner-course .course-song-break h4{font-size:11px;margin-bottom:7px;color:#526c4b}
.beginner-course .course-song-title{font:400 20px/1.35 Georgia,"Times New Roman",serif;color:#2d503d;margin:0 0 8px;overflow-wrap:anywhere}
.beginner-course .course-song-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.beginner-course .course-song-actions button{flex:0 1 180px;min-height:44px;font-size:11px}
.piano-key.is-active{transform:translateY(2px)}
.note-pad.is-active{box-shadow:inset 0 0 0 2px currentColor}
@media(max-width:500px){.beginner-course .course-song-break{padding:13px}.beginner-course .course-song-actions button{flex:1 1 130px}.beginner-course .course-song-title{font-size:19px}}
body.classroom .song-library,body.classroom #song-library{display:none}
