/* audio dock + take lists */
.has-dock{padding-bottom:132px!important}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(10,12,40,.12);padding:8px 14px calc(8px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}
.dock[hidden]{display:none}
.pl-row{display:flex;align-items:center;gap:8px;max-width:1240px;margin:0 auto;width:100%;box-sizing:border-box}
.pl-row[hidden]{display:none}
.pl-title{flex:0 1 200px;min-width:0;font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-btn{border:1.5px solid var(--line);background:var(--bg);border-radius:999px;min-width:40px;height:36px;padding:0 10px;cursor:pointer;font-weight:700;font-size:13px}
.pl-btn:hover{background:var(--soft)}
.pl-btn[aria-pressed="true"]{background:var(--soft);border-color:var(--accent)}
.pl-btn:disabled{opacity:.5;cursor:default}
.pl-play{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);min-width:46px;font-size:15px}
.pl-play:hover{background:var(--accent)}
.pl-wide{white-space:nowrap}
.pl-time{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:34px;text-align:center}
.pl-track{position:relative;flex:1 1 140px;min-width:80px;display:flex;align-items:center}
.pl-range{width:100%;margin:0;accent-color:var(--accent)}
.pl-ticks{position:absolute;left:0;right:0;top:-2px;height:7px;pointer-events:none}
.pl-ticks i{position:absolute;top:0;width:2px;height:7px;background:var(--danger);margin-left:-1px}
.pl-speed,.pl-pick{border:1.5px solid var(--line);border-radius:8px;background:var(--bg);padding:5px 6px;height:36px}
.pl-lab{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.pl-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.pl-chip{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;background:var(--bg);overflow:hidden}
.pl-chip button{border:0;background:transparent;cursor:pointer;font-size:12.5px;padding:3px 8px}
.pl-chip button:hover{background:var(--soft)}
.pl-chipx{color:var(--muted)}
.pl-none{font-size:12.5px;color:var(--muted)}
/* phones: two compact rows (controls, then position); the section markers open as a panel above the dock */
@media (max-width:760px){
  .has-dock{padding-bottom:104px!important}
  .dock{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:0}
  .dock>.pl-row:first-child{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;grid-template-areas:"play title back fwd speed marks" "cur track track track track tot";gap:4px 8px;align-items:center}
  .pl-play{grid-area:play;min-width:52px;height:46px}
  .pl-title{grid-area:title;flex:none}
  .pl-back{grid-area:back}.pl-fwd{grid-area:fwd}
  .pl-speed{grid-area:speed;padding:0 4px}
  .pl-marksbtn{grid-area:marks}
  .pl-cur{grid-area:cur;text-align:left}.pl-tot{grid-area:tot;text-align:right}
  .pl-track{grid-area:track;flex:none;min-width:0;height:28px}
  .pl-ticks{top:9px}
  .pl-btn{min-width:44px;height:44px;padding:0 8px}
  .pl-wide{padding:0 10px}
  .pl-marks{position:absolute;left:0;right:0;bottom:100%;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -10px 24px rgba(10,12,40,.14);padding:12px 14px;flex-wrap:wrap;max-height:50vh;overflow:auto}
  .pl-marks .pl-lab{flex:1 1 100%}
  .pl-marks .pl-chips{flex:1 1 100%}
  .pl-marks .pl-pick{flex:1 1 40%}
  .pl-marks .pl-wide{flex:1 1 auto}
}
/* touch screens: finger-sized targets */
@media (pointer:coarse){
  .tk-star,.tk-more{min-width:44px;min-height:44px;font-size:20px}
  .tk-play{width:42px;height:42px;font-size:14px}
  .tk-row{padding:6px 8px}
  .pl-chip button{min-height:40px;padding:6px 12px}
  .pl-speed,.pl-pick{min-height:44px}
  .tk-edit select,.tk-edit input{min-height:44px}
  .tk-toggle{min-height:40px}
}

.tk{display:flex;flex-direction:column;gap:6px}
.tk-msg{margin:0;font-size:13px;color:var(--muted)}
.tk-group h3{margin:10px 0 6px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.tk-row{border:1.5px solid var(--line);border-radius:10px;background:var(--bg);padding:6px 8px}
.tk-row.on{border-color:var(--accent);background:var(--soft)}
.tk-row.hid{opacity:.6}
.tk-head{display:flex;align-items:center;gap:8px}
.tk-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.tk-main strong{font-size:14px}
.tk-meta{font-size:12.5px;color:var(--muted)}
.tk-play{width:32px;height:32px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-fg);cursor:pointer;font-size:12px;flex:none}
.tk-star,.tk-more{border:0;background:transparent;cursor:pointer;font-size:18px;line-height:1;padding:4px 6px;border-radius:6px;color:var(--muted)}
.tk-star[aria-pressed="true"]{color:#E8A317}
.tk-star:hover,.tk-more:hover{background:var(--soft)}
.tk-note{font-size:13px;margin:4px 2px 0 40px;font-style:italic;color:var(--fg)}
.tk-edit{display:flex;flex-direction:column;gap:8px;margin:8px 0 2px 40px}
.tk-edit label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:var(--muted)}
.tk-edit select,.tk-edit input{border:1.5px solid var(--line);border-radius:8px;background:var(--surface);padding:6px 8px;font-weight:400;color:var(--fg)}
.tk-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tk-file{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.tk-toggle{align-self:flex-start;border:0;background:transparent;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:12.5px;padding:4px 0}

.tk-dup{font-size:12px;font-weight:600;color:#7A4B00;background:#FFF4D6;border:1px solid #E0B43A;border-radius:99px;padding:1px 8px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tk-dup{background:#3A2F0E;color:#FFE9A8;border-color:#8A6B12}}

/* library: grouping bar and rehearsal days */
.tk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px}
.tk-seg{display:inline-flex;border:1.5px solid var(--line);border-radius:10px;overflow:hidden}
.tk-seg button{border:0;background:transparent;padding:7px 14px;cursor:pointer;font-weight:600;min-height:40px}
.tk-seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-fg)}
.tk-keep{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;min-height:40px}
.tk-day{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;width:100%;text-align:left;border:0;background:var(--soft);border-radius:10px;padding:10px 12px;cursor:pointer;margin-bottom:6px;min-height:44px}
.tk-day strong{font-size:15px}
.tk-chev{width:14px;color:var(--muted)}
