@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#16233b;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.loading{padding:3rem;text-align:center}.brand{display:flex;align-items:center;flex:0 0 auto}.brand-logo{display:block;width:160px;height:auto;max-height:54px}.shell{min-height:100vh}.topbar{height:82px;background:#fff;border-bottom:1px solid #e6eaf2;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1380px)/2));gap:20px}.toplinks{display:flex;align-items:center;gap:28px}.navlink{border:0;background:transparent;color:#607087;font-weight:700;padding:12px 2px}.navlink.active{color:#075ff0;border-bottom:2px solid #075ff0}.person{border:1px solid #dde4ee;background:#fff;border-radius:50px;padding:8px 13px;color:#3c4c64;display:flex;gap:8px;align-items:center}.avatar{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;background:#e7efff;color:#075ff0;font-weight:800;font-size:12px}.container{max-width:1380px;margin:auto;padding:42px 32px 72px}.pagehead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.eyebrow{color:#075ff0;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}.pagehead h1{font-family:Manrope,sans-serif;font-size:38px;letter-spacing:-.055em;margin:5px 0 8px}.muted{color:#718098}.pagehead p{margin:0;color:#6b7890}.finder{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}.panel,.song-card,.stat,.modal,.empty,.table-card{background:#fff;border:1px solid #e5e9f0;border-radius:14px;box-shadow:0 8px 30px rgba(20,40,82,.035)}.filters{padding:22px;position:sticky;top:24px}.filters h2{font-size:15px;margin:0 0 22px}.field{display:block;margin-bottom:19px}.field label,.field>span{display:block;font-size:12px;font-weight:800;margin-bottom:8px;color:#34445d}.input,.select{width:100%;height:42px;border:1px solid #d7e0eb;border-radius:8px;padding:0 12px;background:#fff;color:#25344c;outline:none}.select{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M3.5 6l4.5 4 4.5-4%27 fill=%27none%27 stroke=%27%23576b89%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}.input:focus,.select:focus{border-color:#075ff0;box-shadow:0 0 0 3px #dceaff}.range-label{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:#34445d}.range-label span{font-weight:500;color:#718098}input[type=range]{width:100%;accent-color:#075ff0;margin:11px 0 3px}.checklist{display:flex;flex-wrap:wrap;gap:7px}.check{border:1px solid #dce4ef;background:#fff;padding:7px 10px;border-radius:30px;font-size:12px;color:#53637b}.check.on{background:#e9f1ff;color:#075ff0;border-color:#95bbff;font-weight:700}.clear{border:0;background:transparent;color:#075ff0;padding:0;font-weight:700;font-size:12px}.results-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:16px;gap:12px}.results-head strong{font-size:14px}.sort{width:280px;max-width:100%}.song-list{display:grid;gap:12px}.song-card{padding:21px 23px}.song-top{display:flex;justify-content:space-between;gap:15px;align-items:start}.song-title{font-family:Manrope,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.035em;margin:0}.song-sub{font-size:12px;color:#738198;margin:5px 0 0}.key-list{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.key-pill{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#075ff0;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;white-space:nowrap}.song-bottom{border-top:1px solid #eef0f4;margin-top:17px;padding-top:15px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.song-meta,.song-actions{display:flex;align-items:center;gap:19px;color:#5e6b80;font-size:13px}.tag{background:#eaf2ff;color:#075ff0;border-radius:30px;padding:5px 9px;font-size:11px;font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:5px}.song-actions a,.iconbtn{color:#61718b;text-decoration:none;border:0;background:transparent;padding:3px;font-size:13px}.song-actions a:hover,.iconbtn:hover{color:#075ff0}.btn{border:0;border-radius:8px;padding:11px 16px;background:#075ff0;color:#fff;font-weight:700}.btn:hover{background:#004ed0}.btn.secondary{background:#fff;border:1px solid #d9e0eb;color:#374761}.btn.danger{background:#fff0f0;color:#b52335;border:1px solid #f3ced3}.btn.small{padding:8px 11px;font-size:12px}.empty{padding:45px;text-align:center;color:#728096}.empty h3{color:#24334c;margin-bottom:6px}.auth-bg{min-height:100vh;background:#075ff0;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,410px);background:#fff;border-radius:16px;padding:34px;box-shadow:0 20px 60px #003cad55}.auth-card .brand{margin-bottom:30px;color:#075ff0}.auth-card h1{font-family:Manrope,sans-serif;letter-spacing:-.045em;font-size:28px;margin:0 0 7px}.auth-card p{color:#738198;margin:0 0 24px}.auth-card .field{margin-bottom:15px}.auth-card .btn{width:100%;margin-top:6px}.auth-switch{margin-top:20px;text-align:center;color:#6a7890;font-size:13px}.textbtn{border:0;background:none;color:#075ff0;font-weight:700}.auth-change-email{margin-top:18px;padding:0}.error{background:#fff0f0;color:#aa2636;padding:12px;border-radius:8px;font-size:13px;margin-bottom:15px}.success{background:#e9f9ef;color:#1f7541;padding:12px;border-radius:8px;font-size:13px;margin-bottom:15px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:22px}.table-card{padding:24px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.card-head h2{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.04em;margin:0}.table-row{display:flex;align-items:center;justify-content:space-between;padding:12px 10px;border-radius:7px;gap:10px;font-size:13px}.table-row:nth-child(even){background:#f7f9fc}.table-row .actions{display:flex;gap:7px}.leader-name{display:flex;align-items:center;gap:10px}.leader-name .avatar{width:34px;height:34px}.overlay{position:fixed;inset:0;background:#15233a99;display:grid;place-items:center;padding:20px;z-index:10;overflow:auto}.modal{width:min(100%,610px);max-height:calc(100vh - 40px);overflow:auto;padding:26px}.modal.wide{width:min(100%,950px)}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modalhead h2{font-family:Manrope,sans-serif;letter-spacing:-.04em;margin:0;font-size:23px}.x{border:0;background:transparent;font-size:24px;color:#718098}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid .field.full{grid-column:1/-1}.section-title{font-size:14px;margin:14px 0}.assignment{border-top:1px solid #edf0f5;padding:13px 0}.assignment-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.assignment .key-options{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.key-option{border:1px solid #cdd7e5;border-radius:50%;width:44px;height:44px;flex:0 0 44px;background:#fff;color:#68778d;font-size:10px;white-space:nowrap;padding:0}.key-option.on{background:#075ff0;border-color:#075ff0;color:#fff}.modalfoot{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.hint{font-size:12px;color:#7b889c}.my-list{display:grid;gap:10px}.my-row{background:#fff;border:1px solid #e5eaf2;border-radius:12px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.my-row strong{font-size:15px}.my-row p{font-size:12px;color:#7a8799;margin:4px 0 0}.my-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;min-width:0;max-width:75%}.my-row .key-list{min-width:0;justify-content:flex-start}.profile-card{display:flex;align-items:center;gap:18px}.profile-card .avatar{width:72px;height:72px;font-size:23px}.profile-card h3{margin:0 0 4px}.profile-card p{margin:0;color:#708099}.notice{background:#edf4ff;border:1px solid #c9ddff;color:#385d94;border-radius:9px;padding:12px 15px;font-size:13px;margin-bottom:20px}@media(max-width:900px){.finder{grid-template-columns:1fr}.filters{position:static}.dashboard-grid{grid-template-columns:1fr}.topbar{padding:0 20px}.container{padding:30px 20px}.toplinks{gap:12px}.navlink{font-size:12px}.person .name{display:none}}@media(max-width:600px){.topbar{height:auto;padding:14px 18px;align-items:flex-start;flex-direction:column}.toplinks{width:100%;justify-content:space-between}.pagehead{align-items:start;flex-direction:column}.pagehead h1{font-size:31px}.form-grid{grid-template-columns:1fr}.song-meta{gap:10px}.song-top{align-items:start}.song-title{font-size:17px}.song-card{padding:17px}.my-row{align-items:flex-start;flex-direction:column}.my-actions{max-width:100%}}
.avatar{overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.review-list{max-height:420px;overflow:auto;border-top:1px solid #e7ebf2;margin-top:12px}.review-list .table-row{align-items:start}.review-list .hint{line-height:1.6}
/* The header switch uses the same colors throughout the library and dialogs. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:7px 11px;border:1px solid #d9e0eb;border-radius:24px;background:#fff;color:#34445d;font-size:12px;font-weight:700;white-space:nowrap}
.theme-toggle span[aria-hidden]{font-size:19px;line-height:1}
.theme-toggle:hover{border-color:#075ff0;color:#075ff0}
.theme-toggle:focus-visible{outline:3px solid #86b5ff;outline-offset:2px}
html[data-theme=dark]{color-scheme:dark;background:#101827;color:#e9effa}
html[data-theme=dark] body{background:#101827}
html[data-theme=dark] .topbar{background:#172235;border-color:#30405a}
html[data-theme=dark] .brand-logo{filter:invert(1)}
html[data-theme=dark] .navlink{color:#b7c6dc}
html[data-theme=dark] .navlink.active,html[data-theme=dark] .eyebrow{color:#80b3ff;border-color:#80b3ff}
html[data-theme=dark] .theme-toggle,html[data-theme=dark] .person,html[data-theme=dark] .panel,html[data-theme=dark] .song-card,html[data-theme=dark] .stat,html[data-theme=dark] .modal,html[data-theme=dark] .empty,html[data-theme=dark] .table-card,html[data-theme=dark] .my-row,html[data-theme=dark] .auth-card{background:#1b2940;border-color:#35465f;color:#e9effa;box-shadow:0 8px 30px rgba(0,0,0,.12)}
html[data-theme=dark] .theme-toggle:hover{border-color:#80b3ff;color:#80b3ff}
html[data-theme=dark] .avatar{background:#2b4367;color:#a9ceff}
html[data-theme=dark] .muted,html[data-theme=dark] .pagehead p,html[data-theme=dark] .song-sub,html[data-theme=dark] .song-meta,html[data-theme=dark] .song-actions,html[data-theme=dark] .my-row p,html[data-theme=dark] .profile-card p,html[data-theme=dark] .hint,html[data-theme=dark] .auth-card p,html[data-theme=dark] .range-label span,html[data-theme=dark] .empty,html[data-theme=dark] .x{color:#acbbd0}
html[data-theme=dark] .field label,html[data-theme=dark] .field>span,html[data-theme=dark] .range-label,html[data-theme=dark] .empty h3{color:#e3ebf7}
html[data-theme=dark] .input,html[data-theme=dark] .select{background-color:#121d30;border-color:#42546e;color:#f2f6ff}
html[data-theme=dark] .input::placeholder{color:#91a2b8}
html[data-theme=dark] .input:focus,html[data-theme=dark] .select:focus{border-color:#80b3ff;box-shadow:0 0 0 3px #3969a5}
html[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M3.5 6l4.5 4 4.5-4%27 fill=%27none%27 stroke=%27%23b7c6dc%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E")}
html[data-theme=dark] .check,html[data-theme=dark] .key-option,html[data-theme=dark] .btn.secondary{background:#20314b;border-color:#42546e;color:#d8e3f2}
html[data-theme=dark] .check.on{background:#254b82;border-color:#70a9f8;color:#ecf4ff}
html[data-theme=dark] .key-option.on{background:#075ff0;border-color:#075ff0;color:#fff}
html[data-theme=dark] .song-bottom,html[data-theme=dark] .assignment{border-color:#35465f}
html[data-theme=dark] .table-row:nth-child(even){background:#24334b}
html[data-theme=dark] .tag{background:#254b82;color:#d8eaff}
html[data-theme=dark] .song-actions a,html[data-theme=dark] .iconbtn{color:#b7c9e1}
html[data-theme=dark] .song-actions a:hover,html[data-theme=dark] .iconbtn:hover,html[data-theme=dark] .clear,html[data-theme=dark] .textbtn{color:#80b3ff}
html[data-theme=dark] .notice{background:#213b61;border-color:#395e91;color:#d6e8ff}
html[data-theme=dark] .success{background:#193f34;color:#c5f5db}
html[data-theme=dark] .error,html[data-theme=dark] .btn.danger{background:#4a2733;border-color:#7a4150;color:#ffd7dc}
@media(max-width:600px){.theme-label{display:none}.theme-toggle{width:40px;padding:7px}}
.tempo-range{display:grid;gap:3px;margin-top:12px}
.field .tempo-range label{display:flex;justify-content:space-between;margin:3px 0 0;color:#53637b;font-size:12px;font-weight:600}
.field .tempo-range label span{color:#34445d;font-variant-numeric:tabular-nums}
.tempo-range input[type=range]{margin:4px 0 10px}
html[data-theme=dark] .field .tempo-range label{color:#acbbd0}
html[data-theme=dark] .field .tempo-range label span{color:#e3ebf7}
.choice-field{border:0;padding:0;min-width:0}
.choice-field legend{padding:0;margin-bottom:8px;color:#34445d;font-size:12px;font-weight:800}
.choice-field .check{display:inline-flex;align-items:center;gap:6px;margin:0;color:#53637b;font-weight:500}
.choice-field input[type=checkbox]{accent-color:#075ff0}
html[data-theme=dark] .choice-field legend{color:#e3ebf7}
html[data-theme=dark] .choice-field .check{color:#d8e3f2}
