.part-section{margin:25px 0 35px}.part-intro h2{margin-bottom:12px}.part-live{color:var(--teal);font-size:12px}.part-help{padding:14px 18px;background:#eaf3f3;border-radius:10px;color:#365760;font-size:14px}.part-admin-polls{display:grid;gap:24px}.part-poll{margin:22px 0}.part-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.part-heading h3{font-size:23px;margin:5px 0;line-height:1.4;overflow-wrap:anywhere}.part-state{font-size:12px;white-space:nowrap;color:var(--muted)}.part-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.part-option{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;padding:16px}.part-option.chosen{border:2px solid var(--teal);background:#f0f8f6;padding:15px}.part-option>button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:0;min-height:65px}.part-option>button:disabled{cursor:default;opacity:.8}.part-count{display:flex;justify-content:space-between;align-items:center;gap:8px}.part-count strong{font-size:22px}.part-count>span{font-size:23px;font-weight:750;color:var(--teal)}.part-option small{font-size:12px;color:var(--muted)}.part-names{border-top:1px solid var(--line);padding-top:10px;margin:12px 0 0;font-size:13px;overflow-wrap:anywhere}.is-me{font-weight:700;color:var(--teal)}.part-person{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.part-person small,.part-history small{display:block;color:var(--muted);font-size:12px}.part-history{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.part-history p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.part-message,.part-mine{color:var(--teal)}.part-error{color:#a53727}.part-pending{background:#fff5e5;border:1px solid #dec697;padding:20px;border-radius:12px;margin:18px 0}.part-demo{border-top:1px solid var(--line);padding-top:24px}.part-withdraw{font-size:13px}.part-mine{padding:12px 14px;background:#edf5f3;border-radius:8px}@media(max-width:500px){.part-options{grid-template-columns:1fr;gap:12px}.part-person{align-items:flex-start;flex-direction:column;gap:10px}.part-heading h3{font-size:21px}.part-poll.panel{padding:20px}.part-heading{align-items:flex-start}.part-person .flow-actions{width:100%;justify-content:space-between}}@media print{#part-selection{display:none!important}}

/* Shared, searchable song browser. Counts are relative to the full instrument group. */
@media screen {
  .part-workspace { display:grid; grid-template-columns:minmax(210px,260px) minmax(0,1fr); gap:22px; align-items:start; margin:20px 0; }
  .part-workspace>* { min-width:0; }
  .part-library { padding:16px; border-radius:16px; background:#fff; display:grid; gap:12px; }
  .part-library label { font-size:12px; margin:0; }
  .part-library-count { font-size:11px; color:var(--muted); margin:0; }
  .part-song-list { display:grid; gap:5px; max-height:430px; overflow-y:auto; padding:3px; }
  .part-library .part-song-list button { display:block; width:100%; text-align:left; white-space:normal; background:transparent; border:1px solid transparent; border-radius:10px; padding:13px 12px; min-height:64px; color:var(--ink); }
  .part-song-list button strong { display:block; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
  .part-song-list button>span { display:flex; justify-content:space-between; gap:10px; font-size:11px; margin-top:5px; color:var(--muted); }
  .part-song-list button small { white-space:nowrap; }
  .part-library .part-song-list button[aria-pressed=true] { background:#edf7ff; border:1px solid #9acfee; color:#086397; }
  .part-workspace .part-poll.panel { margin:0; }
  .part-workspace .part-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .part-meter { display:block; appearance:none; -webkit-appearance:none; border:0; width:100%; height:6px; border-radius:6px; background:#e3ebf0; overflow:hidden; margin-top:12px; }
  .part-meter::-webkit-progress-bar { background:#e3ebf0; border-radius:6px; }
  .part-meter::-webkit-progress-value { background:#0877b8; border-radius:6px; }
  .part-meter::-moz-progress-bar { background:#0877b8; border-radius:6px; }
  .part-share,.part-balance-caption { font-size:11px; color:var(--muted); margin:8px 0; line-height:1.6; }
  .part-option .part-names { display:flex; flex-wrap:wrap; gap:5px; max-height:none; }
  .part-names>span { background:#f0f5f8; padding:3px 7px; border-radius:5px; line-height:1.6; }
  .part-names>span.is-me { color:#075c91; background:#deeffc; }
  .part-name-setting { background:#fff; padding:14px 18px; border-radius:12px; font-size:12px; margin:16px 0; }
  .part-name-setting summary { min-height:32px; align-content:center; color:#456879; overflow-wrap:anywhere; }
  .part-name-setting p { font-size:12px; color:var(--muted); line-height:1.8; }
  .part-name-setting small { font-size:11px; color:var(--muted); }
  @media(max-width:900px) {
    .part-workspace { grid-template-columns:minmax(0,1fr); gap:14px; }
    .part-song-list { max-height:194px; }
    .part-library { gap:8px; }
  }
  @media(max-width:520px) {
    .part-workspace .part-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .part-workspace .part-option>button { min-height:60px; }
    .part-option .part-names { max-height:none; }
  }
}
