/* ============================================================
   SourcesWidget — Paper-style bibliography (US-06.6)
   Prefix: sw-
   ============================================================ */

/* ── Container ── */
.sw-section { margin-top: 10px; }

/* ── Toggle button ── */
.sw-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 8px; color: #8b949e;
    font-size: 0.76rem; padding: 5px 12px;
    cursor: pointer; font-family: inherit;
    transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.sw-btn:hover {
    color: #c9d1d9;
    border-color: rgba(99,102,241,0.25);
    background: rgba(99,102,241,0.06);
}
.sw-btn-icon { font-size: 0.7rem; color: #a5b4fc; }
.sw-chevron {
    font-size: 0.5rem; color: #6e7681;
    transition: transform 0.2s; margin-left: 2px;
}
.sw-section.open > .sw-btn > .sw-chevron { transform: rotate(180deg); }

/* ── Bibliography (hidden until toggle) ── */
.sw-bib {
    display: none;
    margin-top: 8px;
    padding: 8px 0 4px;
    border-top: 1px solid rgba(255,255,255,0.06);
}
.sw-section.open > .sw-bib { display: block; }

/* ── Reference line ── */
.sw-ref {
    padding: 4px 0;
}

.sw-ref-line {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 0.78rem;
    line-height: 1.5;
    color: #c9d1d9;
    padding: 3px 4px;
    border-radius: 4px;
    transition: background 0.15s;
}
.sw-ref-line:hover {
    background: rgba(255,255,255,0.03);
}

/* [1] number */
.sw-ref-num {
    color: #a5b4fc;
    font-weight: 700;
    font-size: 0.72rem;
    flex-shrink: 0;
    min-width: 22px;
}

/* Doc type icon */
.sw-ref-icon {
    font-size: 0.72rem;
    flex-shrink: 0;
    position: relative;
    top: -1px;
}

/* Title + heading text */
.sw-ref-text {
    flex: 1;
    min-width: 0;
}
.sw-ref-text strong {
    color: #e6edf3;
    font-weight: 600;
}

/* Per-ref chevron */
.sw-ref-chevron {
    font-size: 0.45rem;
    color: #6e7681;
    flex-shrink: 0;
    transition: transform 0.2s;
    margin-left: 4px;
}
.sw-ref.open .sw-ref-chevron { transform: rotate(180deg); }

/* Score badge */
.sw-score {
    font-size: 0.62rem; font-weight: 600;
    padding: 1px 5px; border-radius: 8px;
    flex-shrink: 0; cursor: default;
    margin-left: 4px;
}
.sw-score-high { color: #3fb950; background: rgba(63,185,80,0.1); }
.sw-score-mid  { color: #d2a436; background: rgba(210,164,54,0.1); }
.sw-score-low  { color: #f85149; background: rgba(248,81,73,0.1); }

/* ── Icon colors by doc_type ── */
.sw-icon-manual_admin   { color: #58a6ff; }
.sw-icon-manual_learner { color: #58a6ff; }
.sw-icon-faq            { color: #d2a436; }
.sw-icon-prelogin       { color: #a5b4fc; }
.sw-icon-client_doc     { color: #56d364; }
.sw-icon-evaluation     { color: #8b949e; }

/* ── Expandable excerpt (hidden until ref click) ── */
.sw-excerpt {
    display: none;
    margin: 6px 0 4px 28px;
    padding: 8px 12px;
    border-left: 2px solid rgba(99,102,241,0.15);
    background: rgba(255,255,255,0.015);
    border-radius: 0 6px 6px 0;
}
.sw-ref.open > .sw-excerpt { display: block; }

/* ============================================================
   sw-md — Markdown scope for excerpts
   ============================================================ */
.sw-md {
    font-size: 0.76rem;
    color: #c9d1d9;
    line-height: 1.6;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.sw-md p              { margin: 0 0 0.5em; }
.sw-md p:last-child   { margin-bottom: 0; }
.sw-md h1, .sw-md h2, .sw-md h3,
.sw-md h4, .sw-md h5, .sw-md h6 {
    font-size: 0.82rem; color: #e6edf3;
    font-weight: 600; margin: 0.5em 0 0.3em;
}
.sw-md strong          { color: #e6edf3; font-weight: 600; }
.sw-md em              { color: #8b949e; }
.sw-md a               { color: #58a6ff; text-decoration: none; }
.sw-md a:hover         { text-decoration: underline; }
.sw-md ul, .sw-md ol   { margin: 0.4em 0; padding-left: 1.5rem; }
.sw-md li              { margin-bottom: 0.25em; line-height: 1.55; }
.sw-md li::marker      { color: #6e7681; }
.sw-md ul ul           { list-style-type: circle; margin: 0.15em 0; }
.sw-md ul ul ul        { list-style-type: square; }
.sw-md li > ul,
.sw-md li > ol         { margin-top: 0.15em; }
.sw-md table           { width: 100%; border-collapse: collapse; margin: 0.5em 0; font-size: 0.92em; }
.sw-md th, .sw-md td   { border: 1px solid rgba(255,255,255,0.08); padding: 4px 8px; text-align: left; }
.sw-md th              { background: rgba(255,255,255,0.04); color: #e6edf3; font-weight: 600; }
.sw-md code            { background: rgba(110,118,129,0.15); color: #e5a00d; padding: 2px 5px; border-radius: 4px; font-size: 0.88em; }
.sw-md pre             { background: rgba(13,17,23,0.8); padding: 8px 10px; border-radius: 6px; overflow-x: auto; margin: 0.5em 0; }
.sw-md pre code        { background: none; padding: 0; color: #c9d1d9; }
.sw-md blockquote      { border-left: 3px solid rgba(99,102,241,0.3); padding-left: 10px; margin: 0.5em 0; color: #8b949e; }
.sw-md hr              { border: none; border-top: 1px solid rgba(255,255,255,0.06); margin: 0.6em 0; }
