/* Documented flood records (includes/flood-history-render.php): one compact line each, the account behind an (i).
   Used by the town flood pages and /recorded-floods (its map popups and "in view" list). Colours follow the page:
   the text is currentColor, the accents use --dfr-accent (set below, overridden by a page that has its own palette). */
.dfr-list { list-style: none; margin: .4rem 0 .6rem; padding: 0; font-size: .88rem; }
.dfr-item { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .45rem; padding: .32rem 2rem .32rem 0; border-bottom: 1px solid rgba(127, 127, 127, .18); }
.dfr-item:last-child { border-bottom: 0; }
.dfr-date { font-weight: 600; font-variant-numeric: tabular-nums; min-width: 6.2em; }
.dfr-where { opacity: .85; }
.dfr-src { opacity: .75; }
.dfr-link { color: var(--dfr-accent, #4753b9); text-decoration: underline; text-underline-offset: 2px; }
.dfr-i { display: inline; }
.dfr-i > summary { position: absolute; top: .25rem; right: 0; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; border-radius: 50%;
    cursor: pointer; list-style: none; color: var(--dfr-accent, #4753b9); vertical-align: middle; }
.dfr-i > summary::-webkit-details-marker { display: none; }
.dfr-i > summary:hover, .dfr-i > summary:focus-visible { background: rgba(71, 83, 185, .12); outline: none; }
.dfr-i > summary:focus-visible { box-shadow: 0 0 0 2px var(--dfr-accent, #4753b9); }
.dfr-i[open] > summary { background: rgba(71, 83, 185, .16); }
.dfr-i-ic { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 16px; height: 16px;
    border: 1.5px solid currentColor; border-radius: 50%; font: 700 10.5px/1 Georgia, 'Times New Roman', serif; font-style: normal; }
.dfr-pop { flex-basis: 100%; min-width: 0; box-sizing: border-box; margin: .5rem 0 .3rem; padding: 1rem 1.15rem; border-left: 3px solid var(--dfr-accent, #4753b9);
    background: rgba(127, 127, 127, .05); border-radius: 0 8px 8px 0; font-size: .88rem; line-height: 1.6; overflow-wrap: anywhere; }
.dfr-pop p { margin: 0 0 .7rem; }
.dfr-pop p:last-child { margin-bottom: 0; }
.dfr-account { max-width: 76ch; }
.dfr-q, .dfr-excerpt { font-style: normal; }
.dfr-eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; opacity: .7; }
.dfr-pop .dfr-eyebrow { margin-bottom: .3rem; }
.dfr-excerpt { font-size: .95rem; }
.dfr-names { font-size: .8rem; }
.dfr-names strong { margin-right: .35rem; }
.dfr-facts { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin: 1rem 0 .7rem; padding: 0; }
.dfr-fact { padding: .7rem .8rem; border: 1px solid rgba(127, 127, 127, .22); border-radius: 7px; min-width: 0; }
.dfr-fact-label, .dfr-fact-value, .dfr-fact-place { display: block; }
.dfr-fact-label { font-size: .76rem; }
.dfr-fact-value { margin: .2rem 0; font-size: 1rem; font-weight: 600; line-height: 1.4; }
.dfr-fact-place { font-size: .78rem; opacity: .8; }
.dfr-evidence > summary, .dfr-full > summary { cursor: pointer; color: var(--dfr-accent, #4753b9); padding: .4rem 0; }
.dfr-evidence > summary { font-size: .76rem; }
.dfr-evidence blockquote { margin: .3rem 0 0; padding-left: .65rem; border-left: 2px solid rgba(127,127,127,.3); font-size: .8rem; font-style: normal; }
.dfr-full { margin: .8rem 0; border-top: 1px solid rgba(127,127,127,.22); border-bottom: 1px solid rgba(127,127,127,.22); }
.dfr-full > summary { font-weight: 600; padding: .65rem 0; }
.dfr-original { padding: .3rem 0 1rem; }
.dfr-cite { margin: .85rem 0; font-size: .8rem; }
.dfr-cite ul { margin: .4rem 0 0; padding-left: 1.1rem; }
.dfr-source-entry { margin-bottom: .3rem; }
.dfr-meta { font-size: .76rem; opacity: .8; font-style: normal; max-width: 90ch; }
.dfr-evidence > summary:focus-visible, .dfr-full > summary:focus-visible { outline: 2px solid var(--dfr-accent, #4753b9); outline-offset: 2px; }
.dfr-note, .dfr-attr, .dfr-none { font-size: .8rem; opacity: .85; margin: .35rem 0; }
.dfr-attr { opacity: .7; }
.dfr-more > summary { cursor: pointer; font-size: .84rem; color: var(--dfr-accent, #4753b9); margin: .2rem 0; }
/* the (i) opens the account on its own full line under the record */
.dfr-i[open] { display: block; flex-basis: 100%; min-width: 0; }
@media (max-width: 480px) {
    .dfr-date { min-width: 0; }
    .dfr-item { font-size: .86rem; }
    .dfr-pop { padding: .85rem .75rem; }
    .dfr-facts { grid-template-columns: 1fr; }
}

/* Map rows share their source credit below the list; each source record stays inside its account. */
.dfr-item-compact { gap: .3rem .8rem; padding-top: .65rem; padding-bottom: .65rem; }
.dfr-item-compact > .dfr-date { flex: 0 0 7rem; }
.dfr-item-compact > .dfr-where { flex: 1; min-width: 0; }
.dfr-item-compact > .dfr-i > summary { top: .55rem; }
.dfr-context { margin: .65rem 0; font-size: .78rem; }
.dfr-context > summary { cursor: pointer; opacity: .8; padding: .35rem 0; }
.dfr-record-source { font-size: .8rem; margin-top: .8rem; }

/* Source facts before the account: descriptive location and basin are never a flood footprint. */
.dfr-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.2rem;margin:0 0 1rem;padding:0 0 1rem;border-bottom:1px solid rgba(127,127,127,.2)}
.dfr-overview>div{min-width:0}.dfr-overview dt{font-size:.72rem;opacity:.75}.dfr-overview dd{margin:.12rem 0 0;font-size:.84rem;font-weight:600;line-height:1.45}
@media(max-width:480px){.dfr-overview{grid-template-columns:1fr}}

/* Reviewed same-flood accounts share a card; their original evidence remains separate. */
.dfr-group-count { flex-basis: 100%; font-size: .76rem; opacity: .75; }
.dfr-group-note { font-size: .8rem; opacity: .85; }
.dfr-group-accounts > summary { cursor: pointer; color: var(--dfr-accent, #4753b9); font-weight: 600; padding: .65rem 0; }
.dfr-group-accounts > summary:focus-visible { outline: 2px solid var(--dfr-accent, #4753b9); outline-offset: 2px; }
.dfr-group-accounts .dfr-pop { border-left-width: 2px; padding: .75rem; }
@media print { .dfr-group-accounts > .dfr-list { display: block !important; } }
/* Full-selection timelines and sourced report highlights. */
.dfr-timeline { margin:1rem 0; padding:1rem; border:1px solid #dbe1ec; border-radius:10px; background:#f8f9fc; }
.dfr-timeline p { margin:0 0 .6rem; font-size:.86rem; }
.dfr-timeline summary,.dfr-highlight-original summary { cursor:pointer; padding:.4rem 0; color:#41558a; }
.dfr-decades { display:flex; flex-wrap:wrap; gap:.5rem; margin:.8rem 0; max-height:16rem; overflow:auto; }
.dfr-decades a { display:flex; gap:.75rem; align-items:center; border:1px solid #d6ddeb; border-radius:6px; padding:.45rem .65rem; color:#243f66; background:white; text-decoration:none; font-size:.8rem; }
.dfr-decades span { padding:.1rem .4rem; border-radius:4px; background:#eeebf9; color:#624a9e; font-weight:700; }
.dfr-decades a:focus-visible,.dfr-timeline summary:focus-visible,.dfr-highlight-original summary:focus-visible { outline:3px solid #087cce; outline-offset:3px; }
.dfr-highlights { margin:1.5rem 0; }
.dfr-highlights>h3 { font-size:1.05rem; margin:0 0 .5rem; }
.dfr-highlight { margin:.8rem 0; padding:1rem 1.1rem; border:1px solid #dce2ec; border-left:3px solid #b5a6d5; border-radius:8px; background:#fafbfe; overflow-wrap:anywhere; }
.dfr-highlight h4 { font-size:1.05rem; margin:.2rem 0; }
.dfr-highlight p { margin:.5rem 0; }
.dfr-highlight .dfr-eyebrow { margin:0 0 .3rem; }
.dfr-highlight-place,.dfr-highlight-citation,.dfr-highlight>a { font-size:.8rem; }
.dfr-highlight-excerpt { font-size:.9rem; line-height:1.6; }
.dfr-highlight-original { font-size:.86rem; }
.dfr-highlight-original blockquote { margin:.6rem 0; padding-left:.8rem; border-left:2px solid #c5cddd; }
@media(max-width:480px) { .dfr-highlight,.dfr-timeline { padding:.8rem; } }
@media print { .dfr-highlight { break-inside:avoid; background:white; } .dfr-highlight-original { display:none; } }
