:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.page{padding:18px;font-family:Segoe UI,Calibri,Arial,sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#111}.topbar{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.title{margin:0;font-size:28px;letter-spacing:.2px}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.control{display:flex;flex-direction:column;gap:6px}.controlLabel{font-size:12px;opacity:.75}.select{padding:10px 12px;border-radius:12px;border:1px solid #ddd;background:#fff}.actions{margin-left:auto;display:flex;gap:10px;align-items:center}.btn{padding:10px 12px;border-radius:12px;border:1px solid #ccc;background:#fff;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{border-color:#111;background:#111;color:#fff}.warning{background:#fff7e6;border:1px solid #ffd7a3;padding:10px 12px;border-radius:12px;margin-bottom:12px}.gridWrap{width:1120px;max-width:100%;display:grid;gap:16px;background:#fff;padding:12px;border:1px solid #eee;border-radius:14px}.cell{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.coverWrap{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:6px;overflow:hidden;border:1px solid #e8e8e8;background:#fafafa}.cover{width:100%;height:100%;object-fit:cover;display:block}.emptyCover{width:100%;height:100%;display:grid;place-items:center;font-weight:700;opacity:.7}.categoryTitle{margin-top:8px;font-weight:800;font-size:16px;line-height:1.15}.hoverInfo{position:absolute;inset:0;opacity:0;display:grid;align-content:end;padding:10px;background:#000000a6;color:#fff;transition:opacity .12s ease-in-out}.coverWrap:hover .hoverInfo{opacity:1}.hoverTitle{font-weight:900;font-size:14px;line-height:1.1}.hoverArtist{margin-top:4px;font-size:12px;opacity:.92}.modalBackdrop{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;padding:16px;z-index:50}.modal{width:min(720px,100%);background:#fff;border-radius:14px;padding:14px}.modal.wide{width:min(960px,100%)}.modalHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.modalTitle{font-weight:900}.searchInput{width:100%;margin:8px 0 12px;padding:10px 12px;border-radius:12px;border:1px solid #ddd;outline:none}.smallNote{margin-top:10px;opacity:.7;font-size:12px}.errorText{color:#b00020;margin:6px 0;font-size:13px}.results{display:grid;gap:8px;max-height:420px;overflow:auto}.resultRow{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;border:1px solid #eee;border-radius:12px;padding:10px;background:#fff;cursor:pointer;text-align:left}.thumb{width:56px;height:56px;border-radius:10px;object-fit:cover}.resultTitle{font-weight:900}.resultArtist{opacity:.75}.titlePickerActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.titleGrid{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.titleChip{padding:10px 12px;border-radius:12px;border:1px solid #ddd;background:#fff;cursor:pointer;text-align:left;font-weight:700}.titleChip.selected{border-color:#111;background:#111;color:#fff}.footerRow{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.rowButtons{display:flex;gap:10px;flex-wrap:wrap}.exportWrap{background:#fff;padding:10px;border-radius:14px}.exportHeading{font-weight:900;font-size:44px;text-align:center;margin:6px 0 12px}.toggleRow{display:flex;gap:8px;align-items:center}.textInput{margin-top:8px;padding:10px 12px;border-radius:12px;border:1px solid #ddd}.headingRow{display:flex;gap:10px;align-items:center}.checkboxInline{display:flex;gap:8px;align-items:center;height:40px;white-space:nowrap;font-size:13px;opacity:.9}.textInput{width:220px;height:40px;padding:0 12px;border-radius:12px;border:1px solid #ddd;outline:none}.textInput:disabled{opacity:.5}
