/* Mission 4991 (ai.features.present_noisy_room): the Hold to talk button on the present
   and desk screens. Loaded only when the owner's Noisy room setting is on for this screen.
   Line 15806 (upskill-doors-7-r1): the button reads the Google-path tokens (--ns-*, public/css/ns-tokens.css) first and
   the present page's own --pv-* values second, so a page that carries the tokens dresses it and today's page is unchanged. */
.pv-hold {
    pointer-events: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
    margin: 0 0 .9rem;
    max-width: 36rem;
    width: 100%;
}

.pv-hold-btn {
    appearance: none;
    min-height: 88px;
    width: 100%;
    border: 2px solid var(--ns-border-strong, var(--pv-line, rgba(255, 255, 255, .35)));
    border-radius: 1.25rem;
    background: rgba(0, 0, 0, .55);
    color: var(--ns-text, var(--pv-ink, #fff));
    font: inherit;
    font-family: var(--ns-font, inherit);
    font-size: clamp(1.4rem, 3vw, 2.2rem);
    font-weight: 600;
    letter-spacing: .02em;
    padding: .6em 1em;
    cursor: pointer;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.pv-hold-btn:focus-visible {
    outline: 3px solid var(--ns-gold, var(--pv-amber, #f5b942));
    outline-offset: 4px;
}

.pv-hold-btn[aria-pressed="true"] {
    background: var(--ns-speaking, var(--pv-teal, #3ad1c2));
    border-color: var(--ns-speaking, var(--pv-teal, #3ad1c2));
    color: #001514;
}

.pv-hold-btn:disabled {
    opacity: .55;
    cursor: default;
}

.pv-hold-hint {
    margin: 0;
    color: var(--ns-text-2, var(--pv-dim, #c8cdd2));
    font-size: clamp(.95rem, 1.4vw, 1.15rem);
}

@media (max-width: 480px) {
    .pv-hold-btn {
        min-height: 72px;
        font-size: 1.35rem;
    }
}
