/*
 * Lineup Narration — Lines-tab mic button + inline status strip.
 *
 * The button is a small round "mini mic FAB" in the select-line toolbar,
 * reusing the same state-color language as the floating in-point mic
 * (#narrationMicBtn): red idle, amber connecting, green pulsing while
 * recording, blue pulsing while processing. Styles are self-contained —
 * no dependency on micButton.css keyframes or selectors.
 */

.select-line-toolbar .lineup-mic-btn {
    /* css/base.css gives every <button> margin:10px + padding:10px 15px
       (see ARCHITECTURE.md § CSS Styling Gotchas) — flatten both. */
    margin: 0;
    padding: 0;

    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    border: none;
    border-radius: 50%;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 15px;
    color: #ffffff;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;

    transition: background-color 0.15s ease, transform 0.1s ease;
}

.select-line-toolbar .lineup-mic-btn:active {
    transform: scale(0.92);
}

.select-line-toolbar .lineup-mic-btn.mic-idle {
    background-color: #e74c3c;
}
.select-line-toolbar .lineup-mic-btn.mic-idle:hover {
    background-color: #d94432;
}

.select-line-toolbar .lineup-mic-btn.mic-connecting {
    background-color: #f39c12;
    cursor: wait;
}

.select-line-toolbar .lineup-mic-btn.mic-recording {
    background-color: #2ecc71;
    animation: lineupMicPulse 1.4s ease-in-out infinite;
}

.select-line-toolbar .lineup-mic-btn.mic-processing {
    background-color: #3498db;
    animation: lineupMicWorking 0.8s ease-in-out infinite;
    cursor: wait;
}

.select-line-toolbar .lineup-mic-btn.mic-disabled {
    background-color: #999;
    cursor: not-allowed;
    opacity: 0.7;
    pointer-events: none;
}

@keyframes lineupMicPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.55); }
    50%      { box-shadow: 0 0 0 9px rgba(46, 204, 113, 0); }
}

@keyframes lineupMicWorking {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.6; }
}

/* Inline status strip under the toolbar: shows "Listening…" and the live
 * transcript tail while recording, "Working out the lineup…" after stop. */
.lineup-narration-status {
    display: none;
    margin: 2px 8px 4px;
    padding: 4px 8px;
    border-left: 3px solid #2ecc71;
    background: rgba(46, 204, 113, 0.08);
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.35;
    color: #444;
    font-style: italic;
    word-break: break-word;
}

.lineup-narration-status.visible {
    display: block;
}
