.library-settings{border-bottom:1px solid var(--line);margin-top:15px}.library-settings>summary{display:flex;align-items:center;gap:16px;min-height:50px;padding:8px 1px;list-style:none;font-size:14px}.library-settings>summary::-webkit-details-marker{display:none}.library-settings>summary::after{content:'＋';margin-left:auto;font-size:19px;color:var(--teal);flex-shrink:0}.library-settings[open]>summary::after{content:'−'}.library-settings>summary strong{font-weight:500;flex-shrink:0}.library-settings>summary span{color:var(--muted);font-size:14px;min-width:0;overflow-wrap:anywhere}.library-filters{padding:12px 0 18px}.filter-layout{display:flex;flex-wrap:wrap;gap:12px}.filter-field{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--muted);flex:1.5;min-width:220px}.year-field{flex:1;min-width:135px}.filter-field select{width:100%;min-height:44px;padding:8px 11px;color:var(--text);background:#1e2e35;border:1px solid #607c72;border-radius:7px;font-size:15px}.range-options{border:0;margin:16px 0 0;padding:0}.range-options legend{font-size:14px;color:var(--muted);margin-bottom:8px}#range-options{display:flex;flex-wrap:wrap;gap:9px}.range-chip{display:flex;align-items:center;gap:7px;min-height:44px;font-size:14px;line-height:1.5;padding:8px 11px;border:1px solid #566f66;border-radius:7px;cursor:pointer;color:var(--text)}.range-chip:has(input:checked){background:#2b493d;border-color:#76b099;color:#baf5dd}.range-chip input{accent-color:var(--teal);width:17px;height:17px;margin:0}.filter-description{font-size:13px;color:var(--muted);line-height:1.8;margin-top:13px}.filter-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px}.filter-bottom span{font-size:14px;color:var(--teal)}.filter-bottom .primary-button{font-size:14px}.filter-error{font-size:14px;color:var(--gold);margin-top:10px}.filter-error:empty{display:none}
.title-hint{border:1px solid #45685b;border-radius:9px;padding:14px 17px;background:#1c302a;margin-bottom:19px}.hint-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:#d0e5da}.hint-heading strong{font-size:14px;color:var(--teal);margin-left:7px;font-variant-numeric:tabular-nums}#hint-status{font-size:13px;color:#b8cfc3}.hint-sequence{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:35px;margin:12px 0}.hint-glyph{display:inline-flex;justify-content:center;align-items:center;min-width:28px;min-height:34px;padding:1px 4px;border-bottom:1px solid #668779;border-radius:3px;font:500 23px/1.3 'Yu Gothic','Microsoft YaHei',sans-serif;color:#b6d8c8}.hint-glyph.alphanumeric{font-family:monospace;color:#c5d4cb}.hint-glyph.symbol{color:#d0bedc}.hint-glyph.revealed{background:#315844;border-color:#9cdbb8;color:#dcffe9}.hint-space{white-space:pre;min-width:10px}.hint-stages{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13px;color:#bccfc5;border-top:1px solid #38584a;padding-top:9px}.hint-stages b{font-weight:600;color:inherit}.hint-stages .unlocked{color:#bcf8d8}.hint-producer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:#c0d7c9}
.person-tags{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:5px;max-width:100%;vertical-align:middle}.person-tag{display:inline-block;border:1px solid #596f77;border-radius:5px;padding:3px 6px;line-height:1.5;font-size:13px;color:#dee9e9;background:#26373f;overflow-wrap:anywhere}.person-tag.matched{border-color:#73b394;color:#d1f9e4;background:#2b503d}.person-tag.neutral{border-color:#587469;background:#294035;color:#d3e5dc}.people-cell{background:#21313a;border-color:#405861}.people-cell .cell-note.exact{color:#c1f5dd}.people-cell .cell-note.close{color:#ffe4a4}.suggestion-sub .person-tags,.credit-row .person-tags,.result-panel .person-tags,.hint-producer .person-tags{justify-content:flex-start}.suggestion-sub .person-tag{padding:1px 5px;font-size:12px}.result-panel .person-tags{margin:5px 0}
.song-cover{position:relative;display:inline-block;flex-shrink:0;overflow:hidden;isolation:isolate;background:#101e23;border:1px solid #ffffff20;border-radius:6px;aspect-ratio:16/9;vertical-align:middle}.cover-small{width:72px}.song-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#10181c;opacity:0;transition:opacity .15s ease}.song-cover.cover-loaded img{opacity:1}.song-cover.cover-loaded .cover-placeholder{visibility:hidden}.cover-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;color:#b8c9cd;background:#20323a;font-size:22px;line-height:1.2}.cover-placeholder small{font-size:10px;font-weight:400}.selected-song{display:flex;align-items:center;gap:12px;padding:11px;margin-top:12px;border:1px solid #628b78;border-radius:8px;background:#20382e}.cover-selected{width:104px}.selected-song-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.selected-song-label{font-size:12px;color:var(--teal)}.selected-song-copy strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.selected-song-copy small{font-size:13px;color:var(--muted)}.song-entry .song-cover{width:84px}.cover-result{width:220px;max-width:100%;border-radius:8px}.cover-result .cover-placeholder{font-size:40px}.cover-result .cover-placeholder small{font-size:13px}
@media(min-width:1000px){.song-entry{flex-direction:row;text-align:left;gap:9px}.song-entry .song-cover{width:64px}.song-name{flex:1;min-width:0}.table-scroll td:first-child{text-align:left;padding:10px}.table-scroll td:first-child>.cell-note{padding-left:73px}}
@media(max-width:700px){.filter-field{min-width:100%}.year-field{min-width:0;flex:1}.library-settings>summary{gap:12px}.filter-bottom{flex-wrap:wrap}.title-hint{padding:13px}.hint-stages{gap:6px 16px}}
@media(max-width:480px){.library-settings>summary{align-items:center;gap:9px}.library-settings>summary strong{font-size:14px}.library-settings>summary span{font-size:13px;line-height:1.6}.hint-heading{gap:6px}#hint-status{font-size:12px}.hint-glyph{min-width:26px;font-size:21px}.hint-sequence{gap:4px}.title-hint{margin-bottom:17px}.hint-stages{font-size:13px;gap:5px 14px}.suggestion>.cover-small{width:58px}.cover-selected{width:82px}.selected-song-copy strong{font-size:15px}.selected-song-copy small{font-size:12px}.cover-result{width:100%;max-width:360px}.person-tag{font-size:13px}.filter-bottom .primary-button{flex:1}.song-entry .song-cover{width:78px}}
