.lib-controls { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-bottom: 24px; }
  .search-box {
    font-family: Georgia, serif; font-size: 14px; padding: 9px 14px; border: 1.5px solid var(--ink); border-radius: 4px;
    background: var(--paper); color: var(--ink); min-width: 220px; flex: 1;
  }
  .search-box::placeholder { color: var(--ink-faint); font-style: italic; }

  .playlist-panel { border: 1.5px solid var(--ink); border-radius: 6px; max-height: 620px; overflow-y: auto; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 6px; }
  .song-table { width: 100%; min-width: 480px; border-collapse: collapse; }
  .song-table thead th {
    position: sticky; top: 0; background: var(--paper); text-align: left;
    font-family: "Oswald", Arial, sans-serif; font-weight: 800; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--ink-soft); padding: 10px 12px; border-bottom: 1.5px solid var(--ink);
  }
  .song-table tbody td { padding: 9px 12px; border-bottom: 1px solid var(--rule); font-size: 13px; vertical-align: top; }
  .song-table tbody tr:last-child td { border-bottom: none; }
  .song-table .played { font-family: "SF Mono", monospace; font-size: 11px; color: var(--ink-faint); white-space: nowrap; }
  .song-table .title-cell { font-family: "Oswald", Arial, sans-serif; font-weight: 800; font-size: 12.5px; color: var(--ink); }
  .song-table .artist-cell { color: var(--ink-soft); }
  .song-table .album-cell { color: var(--ink-faint); font-style: italic; }
  .empty-state { color: var(--ink-faint); font-style: italic; padding: 40px 0; text-align: center; }
