/* Keep the editor quiet around the player. Listener cases live in deck.css. */
.home-stash{padding:0 0 18px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.home-stash-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px;font-size:11px}
.home-stash-heading h2{flex:1;font-size:13px;font-weight:500;margin:0}
.home-stash-heading button{font-size:11px}
.home-stash input{width:100%;max-width:460px;font-size:16px;min-height:40px;margin-bottom:12px}
.home-stash-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;max-height:280px;overflow:auto;overscroll-behavior:contain}
.home-stash-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);text-decoration:none;background:var(--surface);height:100%;font-size:10px}
a.home-stash-card:hover{background:var(--soft)}
.home-stash-card>span:last-child{display:grid;gap:3px;min-width:0}
.home-stash-card strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}
.home-stash-disc{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:radial-gradient(circle,var(--bg) 0 3px,var(--muted) 4px 7px,var(--soft) 8px 18px,var(--line) 19px 20px)}
#home-stash-status{min-height:1.6em;margin-block:8px}
.tape-security{border-top:1px solid var(--line);margin-top:22px;font-size:11px}
.tape-security>div{display:flex;gap:12px;flex-wrap:wrap}.tape-security button{font-size:11px}
#erasure-status{min-height:1.6em}
@media(max-width:600px){.editor .actionbar{flex-wrap:wrap}.editor .header-actions{flex-wrap:wrap;justify-content:flex-end}.home-stash-heading{gap:10px}.home-stash-items{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.home-stash-card{gap:8px;padding:10px}.home-stash-disc{width:28px;height:28px}}
.editor #library-dialog { width: min(620px, calc(100vw - 32px)); max-height: 85vh; overflow: auto; }
.library-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.library-heading h2, .library-heading h3 { margin: 0; }
.library-heading h3 { font-size: 12px; }
.library-tapes { margin: 20px 0; }
.library-tape { display: flex; align-items: center; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.library-tape > div { flex: 1; min-width: 0; }
.library-tape strong { display: block; font-size: 13px; overflow-wrap: anywhere; }
.library-tape .fine { display: block; margin: 4px 0 0; }
#library-backup { border-bottom: 1px solid var(--line); padding: 6px 0 18px; margin-bottom: 18px; }
#recovery-result { margin: 16px 0; }
#recovery-key { width: 100%; font-size: 11px; }
#recover-form { display: flex; gap: 8px; margin-top: 12px; }
#restore-key { min-width: 0; flex: 1; }
.editor .terminal { padding: 22px 28px 32px; }
.editor .actionbar { gap: 12px; padding-bottom: 13px; margin-bottom: 20px; }
.editor .wordmark { font-size: 18px; }
.editor .session-id { font-size: 9px; letter-spacing: 0; }
.editor .header-actions { gap: 4px; }
.editor .header-actions button { min-height: 28px; padding: 3px 8px; background: transparent; }
.editor .header-actions button:hover { background: var(--soft); color: var(--fg); }
.editor .project-bar { gap: 12px; margin-bottom: 18px; }
.editor .cover-button { width: 48px; height: 48px; font-size: 10px; }
.editor .project-heading h2 { margin: 0; }
.editor .project-heading #edit-project {
  display: flex; align-items: center; gap: 10px; max-width: 100%;
  min-height: 28px; padding: 0; background: transparent;
  color: var(--fg); text-align: left; font-size: 15px; font-weight: 600;
  white-space: normal;
}
.editor #project-title { min-width: 0; overflow-wrap: anywhere; }
.editor .edit-mark { flex: none; font-size: 12px; color: var(--muted); font-weight: 400; }
.editor #edit-project:hover #project-title { text-decoration: underline; text-underline-offset: 3px; }
.editor #project-artist { margin-top: 1px; font-size: 11px; }
.editor .project-type { flex: none; align-self: center; font-size: 10px; }
.editor .intake { margin-bottom: 22px; }
.editor .media-inputs { border: 1px dashed var(--line); background: var(--surface); }
.editor .dropzone {
  display: flex; min-height: 48px; padding: 10px 12px; border: 0;
  border-radius: 0; gap: 12px; background: transparent; font-size: 12px;
}
.editor .dropzone .limits { display: inline; margin: 0; font-size: 10px; }
.editor .dropzone .muted { display: inline; }
.editor .dropzone:hover, .editor .dropzone.dragging { background: var(--soft); }
.editor .link-line { gap: 8px; margin: 0 12px; border-top: 1px solid var(--soft); }
.editor .link-line input { min-height: 38px; border: 0; font-size: 11px; }
.editor .link-line button { min-height: 28px; padding: 3px 6px; font-size: 11px; background: transparent; }
.editor .link-line button:hover { background: var(--soft); color: var(--fg); }
.editor .intake-options { margin-top: 7px; font-size: 10px; }
.editor .intake-options label { display: flex; align-items: center; min-height: 24px; }
.editor.is-empty .intake { margin: 24px 0 60px; }
.editor.is-empty .dropzone { min-height: 170px; flex-direction: column; justify-content: center; gap: 12px; }
.editor.is-empty .dropzone > span:first-child { font-size: 17px; }
.editor.is-empty .welcome h1 { font-size: clamp(32px, 5vw, 48px); letter-spacing: -2px; }
.editor.is-empty .welcome p { margin-bottom: 0; font-size: 12px; }
.flow-steps { display: flex; gap: 26px; margin: 0 0 22px; color: var(--muted); font-size: 10px; }
.flow-steps [aria-current] { color: var(--fg); }
.flow-steps [aria-current]::before { content: '● '; font-size: 8px; }
.editor .share-settings { margin: 0 0 12px; }
.editor .share-settings > summary { font-size: 11px; }
.editor .share-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; margin: 10px 0 16px; align-items: start; max-width: 800px; }
.editor .share-form > label:first-child { min-width: 0; }
.editor .access-choice { grid-column: 1 / -1; display: flex; gap: 20px; padding: 0; border: 0; }
.editor .access-choice legend { padding: 0 0 8px; font-size: 10px; color: var(--muted); }
.editor .access-choice label { display: flex; align-items: center; gap: 5px; min-height: 30px; font-size: 11px; cursor: pointer; }
.editor .access-choice input { accent-color: var(--fg); margin: 0; }
.editor #share-password-field, .editor .slug-field { font-size: 10px; }
.editor .slug-input { display: flex; align-items: center; gap: 0; margin-top: 6px; border: 1px solid var(--line); background: var(--surface); }
.editor .slug-input > span { padding: 0 0 0 10px; font-size: 11px; color: var(--muted); }
.editor .slug-input input { width: 100%; min-width: 0; border: 0; padding-left: 1px; min-height: 33px; font-size: 11px; }
.editor #share-password-field[hidden] + .slug-field { grid-column: 1 / -1; }
.editor #slug-help { grid-column: 1 / -1; margin: -5px 0 0; }
.editor .share-submit { display: flex; grid-column: 1 / -1; gap: 12px; align-items: center; justify-content: space-between; }
.editor .analytics-switch { margin: 0; }
.editor .insight-details { max-height: min(420px, 50vh); max-height: min(420px, 50dvh); overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-right: 8px; border-block: 1px solid var(--line); }
.editor .insight-details thead th { position: sticky; top: 0; z-index: 1; background: var(--bg); }
.editor #terms-dialog h2 { margin-bottom: 7px; }
.editor #add-name { width: 100%; }
.editor #add-name-field { margin: 15px 0 18px; }
@media (min-width: 760px) {
  .editor:not(.is-empty) .media-inputs { display: flex; align-items: center; }
  .editor:not(.is-empty) .dropzone { flex: 1; min-width: 0; }
  .editor:not(.is-empty) .link-line { flex: 1; border-top: 0; border-left: 1px solid var(--soft); padding-left: 14px; }
}
@media (max-width: 600px) {
  .editor .terminal { padding: 14px 14px 24px; }
  .editor .actionbar { margin-bottom: 16px; padding-bottom: 10px; gap: 8px; }
  .editor .wordmark { font-size: 17px; }
  .editor .session-id { display: none; }
  .editor .header-actions button { font-size: 10px; padding: 4px 6px; }
  .editor .project-bar { margin-bottom: 14px; gap: 10px; }
  .editor .project-heading #edit-project { font-size: 13px; }
  .editor .project-type { font-size: 9px; }
  .editor .intake { margin-bottom: 16px; }
  .editor .dropzone { font-size: 11px; min-height: 44px; }
  .editor .dropzone .limits { font-size: 9px; }
  .editor .workspace { gap: 20px; }
  .flow-steps { gap: 0; justify-content: space-between; font-size: 9px; margin-bottom: 18px; }
  .editor .share-form { grid-template-columns: 1fr; }
  .editor .access-choice { flex-wrap: wrap; gap: 5px 16px; }
  .editor .share-submit { flex-wrap: wrap; }
  .editor .share-submit > button { flex: 1; }
}
.library-tools{display:flex;gap:12px;margin:20px 0}.library-tools input{flex:1;min-width:0}.library-tools select{max-width:40%}
#feedback-inbox{margin:25px 0;font-size:12px}#feedback-inbox>button{margin:15px 0}
.feedback-note{padding:18px 0;border-bottom:1px solid var(--line)}.feedback-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:10px}.feedback-note button{font-size:10px;background:none;color:var(--muted);text-decoration:underline}
.library-tape{flex-wrap:wrap}
.library-folder-editor{flex:0 0 100%;display:flex;gap:8px;align-items:center;min-width:0;padding-top:8px}
.library-folder-editor input{flex:1;min-width:0;font-size:12px}
.library-folder-editor button{font-size:11px;padding:8px}
.insight-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.insight-ranges{display:flex;align-items:center;gap:5px}
.insight-ranges button{font-size:10px;padding:3px 7px;min-height:26px;background:none;border:1px solid transparent;border-radius:2px}
.insight-ranges button[aria-pressed=true]{border-color:var(--line);background:var(--soft)}
.insight-ranges button:hover:not(:disabled){border-color:var(--line);background:var(--soft);color:var(--fg)}
#refresh-insights{font-size:10px;padding:3px 0;min-height:26px}
#insight-history{font-size:9px;color:var(--muted);line-height:1.6}
#insights[aria-busy=true] .insight-details{opacity:.5}

#insight-sort .report-sort{display:inline-flex;align-items:center;gap:5px;padding:3px 0;min-height:26px;background:none;font:inherit;color:inherit}
#insight-sort .report-sort:hover:not(:disabled){background:var(--soft);color:var(--fg)}
#insight-sort .report-sort span{font-size:9px;color:var(--muted)}
#insight-sort th[aria-sort=ascending] .report-sort,#insight-sort th[aria-sort=descending] .report-sort{color:var(--fg)}
.evidence-table thead th:nth-child(2){width:108px}
@media(max-width:600px){.evidence-table th:first-child{width:92px}.evidence-table thead th:nth-child(2){width:88px}}
.vocal-evidence{margin:18px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vocal-score-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.vocal-score-line h2{font-size:12px;font-weight:400;margin:0}
.vocal-score-line>strong{font-family:"Geist Pixel Circle",monospace;font-weight:400;font-size:36px;line-height:1.2;font-variant-numeric:tabular-nums}
.vocal-score-line>.muted{font-size:10px}
.vocal-timeline{display:flex;height:36px;gap:2px;margin-top:12px}
.vocal-timeline button{min-width:0;flex-basis:0;padding:0;display:flex;align-items:flex-end;background:var(--soft);border:1px solid transparent;min-height:0}
.vocal-timeline button:hover,.vocal-timeline button:focus-visible{border-color:var(--fg)}
.vocal-timeline button span{width:100%;background:var(--muted);min-height:2px}
.vocal-timeline .unscored{background:repeating-linear-gradient(135deg,transparent,transparent 3px,var(--soft) 3px,var(--soft) 4px)}
.vocal-events{list-style:none;padding:0;margin:12px 0;max-height:300px;overflow:auto;overscroll-behavior:contain}
.vocal-events li{border-top:1px solid var(--soft);padding:10px 0}
.vocal-events li>button{font-size:11px;margin-right:12px;padding:0;text-decoration:underline}
.vocal-events li>strong{font-size:11px;font-weight:500}
.vocal-events .fine{margin:5px 0}
@media(max-width:720px){.vocal-score-line{gap:8px}.vocal-score-line h2{flex-basis:100%}.vocal-events li>strong{display:block;margin-top:4px}}

.written-report{margin-block:1rem;border-block:1px solid var(--line);padding-block:1rem}.written-report h2{font-size:1rem}.written-report h3{font-size:.85rem;margin:1rem 0 .35rem}.written-report p{font-size:.85rem;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.lyrics-panel textarea{font-size:16px}
