/* Cut editor for voices that are not the child. Uses the label workspace tokens from styles.css. */
.tc{--tc-wave:#9a9cb3;--tc-noise:rgba(196,138,16,.2);--tc-noise-line:rgba(160,110,10,.75);--tc-sel:var(--sky,#2563eb);--tc-keep:rgba(37,99,235,.07);--tc-keep-line:rgba(37,99,235,.38);--tc-del:rgba(180,35,24,.13);--tc-del-line:rgba(180,35,24,.6);user-select:none;-webkit-user-select:none}
.tc-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.tc-bar .btn svg{width:13px;height:13px}
.tc-clock{font-size:12px;color:var(--muted);margin-left:4px}
.tc-volume{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12px;font-weight:500;color:var(--muted)}
.tc-volume select{width:auto;min-width:88px;padding:7px 8px;margin:0}
.tc-track{position:relative;height:148px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(var(--panel),var(--panel-2));overflow:hidden;cursor:crosshair;touch-action:none;outline-offset:2px}
.tc-track:focus-visible{outline:3px solid var(--ember)}
.tc-wave{position:absolute;inset:0;pointer-events:none}
.tc-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px;background:linear-gradient(90deg,var(--panel) 0%,var(--panel-2) 45%,var(--panel) 90%) 0 0/220% 100%;animation:tc-shimmer 1.3s linear infinite}
.tc-loading.is-failed{animation:none;background:var(--panel)}
@keyframes tc-shimmer{from{background-position:120% 0}to{background-position:-100% 0}}
.tc-markers{position:absolute;left:0;right:0;bottom:0;height:7px;pointer-events:none}
.tc-marker{position:absolute;bottom:0;height:7px;background:#7c3aed;border-radius:3px 3px 0 0;font-size:0}
.tc-regions{position:absolute;inset:0}
.tc-region{position:absolute;top:0;bottom:0;background:var(--tc-keep);border-left:1px solid var(--tc-keep-line);border-right:1px solid var(--tc-keep-line);cursor:pointer;transition:background-color .12s ease}
.tc-region:hover{background:rgba(37,99,235,.13)}
.tc-region.is-manual{border-left-style:dashed;border-right-style:dashed}
.tc-region.is-sel{box-shadow:inset 0 0 0 2px var(--tc-sel);z-index:1}
.tc-region.is-playing{background:rgba(37,99,235,.18)}
.tc-region.is-del{background:repeating-linear-gradient(135deg,var(--tc-del) 0 7px,rgba(180,35,24,.05) 7px 14px);border-color:var(--tc-del-line)}
.tc-region.is-del:hover{background:repeating-linear-gradient(135deg,rgba(180,35,24,.2) 0 7px,rgba(180,35,24,.08) 7px 14px)}
.tc-region.is-noise{background:repeating-linear-gradient(45deg,var(--tc-noise) 0 6px,rgba(196,138,16,.06) 6px 12px);border-color:var(--tc-noise-line)}
.tc-region.is-noise:hover{background:repeating-linear-gradient(45deg,rgba(196,138,16,.28) 0 6px,rgba(196,138,16,.1) 6px 12px)}
.tc-region.is-noise .tc-handle::after{background:var(--tc-noise-line)}
.tc-tag{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;white-space:nowrap}
.tc-del-label{color:var(--bad)}
.tc-region.is-del.is-auto{border-left-style:dotted;border-right-style:dotted;border-left-width:2px;border-right-width:2px}
.tc-noise-label{color:var(--warn)}
.tc-actions{position:absolute;top:7px;left:7px;right:7px;display:flex;gap:4px;flex-wrap:wrap;pointer-events:none}
.tc-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.92);color:var(--ink);font-size:11px;font-weight:600;box-shadow:0 1px 3px #2a2c4514;backdrop-filter:blur(4px)}
.tc-btn svg{width:11px;height:11px;flex:none}
.tc-btn:hover{border-color:var(--faint);background:#fff}
.tc-btn-play{width:26px;padding:0;justify-content:center}
.tc-btn-del{color:var(--bad)}
.tc-btn-del:hover{background:var(--bad);border-color:var(--bad);color:#fff}
.tc-btn-undo{color:var(--good)}
.tc-btn-noise{color:var(--warn)}
.tc-btn-noise[aria-pressed=true]{background:var(--warn);border-color:var(--warn);color:#fff}
.tc-btn-noise:hover{border-color:var(--warn)}
.tc-btn-x{width:26px;padding:0;justify-content:center;color:var(--muted)}
.tc-region.is-narrow .tc-actions{left:4px;right:4px;gap:3px}
.tc-region.is-narrow .tc-btn span{display:none}
.tc-region.is-narrow .tc-btn{width:26px;padding:0;justify-content:center}
.tc-region.is-tiny .tc-actions{left:50%;transform:translateX(-50%);right:auto;flex-direction:column;align-items:center}
.tc-region.is-tiny .tc-btn-play,.tc-region.is-tiny .tc-btn-noise,.tc-region.is-tiny .tc-btn-x,.tc-region.is-tiny .tc-btn span,.tc-region.is-tiny .tc-tag{display:none}
.tc-region.is-tiny .tc-btn{width:22px;height:22px;padding:0;justify-content:center}
.tc-handle{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize;z-index:2}
.tc-handle[data-edge=start]{left:-6px}.tc-handle[data-edge=end]{right:-6px}
.tc-handle::after{content:"";position:absolute;top:50%;left:50%;width:4px;height:30px;margin:-15px 0 0 -2px;border-radius:3px;background:var(--tc-keep-line);opacity:0;transition:opacity .12s ease}
.tc-region:hover .tc-handle::after,.tc-region.is-sel .tc-handle::after,.tc.is-dragging .tc-handle::after{opacity:1}
.tc-region.is-del .tc-handle::after{background:var(--tc-del-line)}
.tc-ghost{position:absolute;top:0;bottom:0;background:rgba(209,78,43,.14);border-left:2px solid var(--ember);border-right:2px solid var(--ember);display:grid;place-items:center;font:600 11px var(--mono);color:var(--ember-deep);pointer-events:none}
.tc-cursor{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--muted);pointer-events:none}
.tc.is-compact .tc-cursor{display:none}
.tc-playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ember);pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,.6);z-index:3}
.tc-playhead::before{content:"";position:absolute;top:-1px;left:-4px;border:5px solid transparent;border-top:6px solid var(--ember)}
.tc-hover{position:absolute;top:0;bottom:0;width:0;border-left:1px solid rgba(42,44,69,.28);pointer-events:none}
.tc-hover span{position:absolute;bottom:6px;left:5px;padding:1px 5px;border-radius:4px;background:var(--solid,#2A2C45);color:#fff;font-size:10px;white-space:nowrap}
.tc.is-dragging .tc-hover{display:none}
.tc-ruler{position:relative;height:18px;margin-top:4px;font-size:10px;color:var(--faint)}
.tc-ruler span{position:absolute;top:0;transform:translateX(-50%)}
.tc-ruler span:first-child{transform:none}
.tc-reasons{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.tc-reasons-label{padding:0 6px;font-size:12px;font-weight:500;color:var(--muted)}
.tc-reason{min-height:32px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer}
.tc-reason[aria-checked=true]{background:var(--bad);color:#fff}
.tc-reason:focus-visible{outline:3px solid var(--ember);outline-offset:1px}
.tc-summary{margin-top:10px;min-height:1.55em;font-size:13px;color:var(--muted)}
.tc-summary strong{color:var(--ink)}
.tc-sum-del{color:var(--bad);font-weight:600}
.tc-sum-noise{color:var(--warn);font-weight:600}
@media(max-width:600px){.tc-track{height:132px}.tc-volume{margin-left:0}.tc-clean span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tc-region,.tc-handle::after{transition:none}.tc-loading{animation:none}}
/* Under the labeller's player */
.label-cut{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.label-cut h2{margin:0 0 10px;font-size:14px;font-weight:600}
.label-cut .tc-bar{margin-bottom:10px}
.label-cut .tc-track{height:112px}
/* Inside the reviewer screen */
.review-cut{padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.review-cut-hint{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r-sm);background:var(--good-wash);font-size:13px}
.pagehead .badge+h1{margin-top:8px}
/* One player on the labelling page: the clip's controls on their own row above the cut controls. */
.label-cut .tc-player{flex:1 0 100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.label-cut .tc-player .play-keys{font-size:11px;color:var(--muted)}
.listening-panel.merged{border:0;margin:0;padding:0}
.listening-panel.merged .context-note:empty{display:none}
/* The track could not load: the clip's player stays, the track parts go. */
.label-cut.no-track>h2,.label-cut.no-track .tc-track,.label-cut.no-track .tc-ruler,.label-cut.no-track .tc-summary,.label-cut.no-track .tc-bar>:not(.tc-player){display:none}
.label-cut.no-track .tc-bar{margin-bottom:0}
