/* ============================================================================
   SOURCES & VERIFICATION — rebuilt (unifying-portrait-voice S5, Joe R9 2026-10-17:
   "should contain just that … a complete review and redesign").
   Each statement of the published biography, then where it comes from in the
   Vault's record. The shell (overlay tier 25000, the indigo header, the close)
   is the existing .bio-attribution-* modal in styles.css; this file styles the
   new body, widens the dialog, and makes it a full-screen sheet on the phone.
   ============================================================================ */

.bio-attribution-modal.bsrc {
    max-width: 760px;
    max-height: 88vh;
}

.bsrc-header {
    gap: 12px;
}

.bsrc-titles {
    flex: 1;
    min-width: 0;
}

.bsrc-eyebrow {
    font-size: calc(0.68rem * var(--type-scale, 1));
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.8;
    margin-bottom: 2px;
}

.bsrc-header h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bsrc-sayit-host {
    display: inline-flex;
    flex-shrink: 0;
}

.bsrc-body {
    padding: 4px 22px 24px;
}

.bsrc-intro {
    margin: 14px 0 6px;
    color: #475569;
    font-size: calc(0.86rem * var(--type-scale, 1));
    line-height: 1.5;
}

.bsrc-section {
    margin-top: 18px;
}

.bsrc-section-title {
    margin: 0 0 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid #e2e8f0;
    color: #312e81;
    font-size: calc(0.95rem * var(--type-scale, 1));
    font-weight: 650;
}

.bsrc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bsrc-st {
    margin: 0 0 10px;
    padding: 10px 12px 10px 14px;
    border-left: 3px solid #a5b4fc;
    border-radius: 0 8px 8px 0;
    background: #f8fafc;
}

.bsrc-st--unsourced {
    border-left-color: #cbd5e1;
    background: #fbfbfc;
}

.bsrc-st--disputed {
    border-left-color: #f59e0b;
    background: #fffbeb;
}

.bsrc-text {
    margin: 0;
    color: #1e293b;
    font-family: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
    font-size: calc(0.95rem * var(--type-scale, 1));
    line-height: 1.5;
}

.bsrc-st--unsourced .bsrc-text {
    color: #475569;
}

.bsrc-sources {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.bsrc-src {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
    padding: 5px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    color: #1e293b;
    font: inherit;
    font-size: calc(0.8rem * var(--type-scale, 1));
    line-height: 1.35;
    text-align: left;
    text-decoration: none;
}

.bsrc-src--opens {
    cursor: pointer;
    border-color: #c7d2fe;
}

.bsrc-src--opens:hover,
.bsrc-src--opens:focus-visible {
    background: #eef2ff;
    border-color: #818cf8;
    outline: none;
}

.bsrc-src-kind {
    flex-shrink: 0;
    color: #4338ca;
    font-size: calc(0.66rem * var(--type-scale, 1));
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bsrc-src--said .bsrc-src-kind { color: #0f766e; }
.bsrc-src--web .bsrc-src-kind { color: #9a3412; }
.bsrc-src--research .bsrc-src-kind,
.bsrc-src--record .bsrc-src-kind { color: #64748b; }

.bsrc-src-label {
    overflow-wrap: anywhere;
}

.bsrc-src-detail {
    color: #64748b;
    font-size: calc(0.74rem * var(--type-scale, 1));
}

.bsrc-src-out {
    color: #64748b;
}

.bsrc-note {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 0;
    color: #64748b;
    font-size: calc(0.8rem * var(--type-scale, 1));
    font-style: italic;
    line-height: 1.4;
}

.bsrc-note--disputed {
    color: #92400e;
    font-style: normal;
}

.bsrc-note q {
    font-style: italic;
}

.bsrc-inline-sayit {
    display: inline-flex;
    margin-left: 2px;
}

/* ── Phone: a full-screen sheet above the tab bar (the overlay's 25000 tier already
   clears the Mobile Control Panel's 11000), close in reach, home-indicator inset. ── */
@media (max-width: 640px) {
    #bioAttributionModal.bio-attribution-modal-overlay {
        padding: 0;
        align-items: stretch;
    }

    .bio-attribution-modal.bsrc {
        max-width: none;
        max-height: none;
        height: 100%;
        height: 100dvh;
        border-radius: 0;
    }

    .bsrc-header {
        padding-top: calc(12px + env(safe-area-inset-top, 0px));
    }

    .bsrc-header h3 {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        line-height: 1.2;
    }

    .bsrc-header .bio-attribution-close {
        width: 40px;
        height: 40px;
    }

    .bsrc-body {
        padding: 2px 14px calc(28px + env(safe-area-inset-bottom, 0px));
        -webkit-overflow-scrolling: touch;
    }

    .bsrc-src {
        padding: 7px 10px;
    }
}

/* Touch floor on a finger (Greg 2026-10-17, FergiPhone probe): the stacked source chips
   that OPEN something (photo, recording, document, record) were 33 px tall, packed 6 px
   apart — a thumb aimed at one could take its neighbour. The desktop keeps its size. */
@media (pointer: coarse) {
    .bsrc-src--opens { min-height: 44px; align-items: center; }
}
