/* gallery.css
   plates browse-all, synopsis of readings, community contribution, unlocated tray, videography, rights notice
   Extracted from map/index.html (2026-08) to shrink the index and give agents smaller, named CSS to parse. */

    /* ===== Plates: picture-first browse-all gallery ===== */
    #plates { position:absolute; inset:0; z-index:29; display:none; flex-direction:column;
      background:rgba(24,16,6,.96); backdrop-filter:blur(3px); }
    #plates.open { display:flex; }
    #platesTop { flex:0 0 auto; display:flex; align-items:center; gap:12px; flex-wrap:wrap;
      padding:13px 20px; color:#e9ddc2; border-bottom:1px solid rgba(233,221,194,.18); }
    #platesTop h2 { font-family:'Ponomar','IM Fell English',serif; font-size:22px; letter-spacing:.5px; margin:0; font-weight:400; }
    #platesCount { font-size:13px; color:#c9b98a; font-style:italic; }
    #platesFilter { flex:1 1 200px; max-width:340px; background:rgba(233,221,194,.1); border:1px solid rgba(233,221,194,.35);
      color:#e9ddc2; border-radius:7px; padding:7px 12px; font-family:'EB Garamond',serif; font-size:15px; }
    #platesFilter::placeholder { color:#b6a578; }
    #platesClose { margin-left:auto; background:transparent; border:1px solid rgba(233,221,194,.4); color:#e9ddc2;
      border-radius:6px; padding:7px 13px; font-size:14px; cursor:pointer; font-family:'EB Garamond',serif; }
    #platesClose:hover { background:rgba(233,221,194,.14); }
    #platesGrid { flex:1 1 auto; overflow-y:auto; padding:16px 20px 30px;
      display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-content:start; }
    .plate { display:flex; flex-direction:column; position:relative; cursor:zoom-in; border:0; padding:0;
      /* thumb height uses vh (below), which doesn't feed the grid item's intrinsic size, so the
         card was pinned to min-height and clipped the caption. Match min-height to thumb + caption. */
      min-height:calc(max(min(46vh, 520px), 300px) + 88px); background:#e9ddc2; border-radius:5px; overflow:hidden;
      box-shadow:0 0 0 1px #6b5330, 0 6px 16px rgba(0,0,0,.4); text-align:left; font-family:inherit;
      transition:transform .13s, box-shadow .13s; }
    .plate:hover, .plate:focus-visible { transform:translateY(-3px); box-shadow:0 0 0 1px #b08d52, 0 12px 26px rgba(0,0,0,.55); outline:none; }
    .pl-thumb { position:relative; display:flex; align-items:center; justify-content:center;
      flex:0 0 auto; height:min(46vh,520px); min-height:300px; background:#d8c9a4; overflow:hidden; }
    .pl-thumb .ph { position:absolute; font-size:44px; opacity:.34; color:#7a5230; }
    .pl-thumb img { position:relative; width:100%; height:min(46vh,520px); min-height:300px; object-fit:cover; display:block; z-index:1; }
    .plate .pl-cap { padding:8px 11px 15px; flex:0 0 auto; color:var(--ink); background:#e9ddc2; }
    .plate .pl-name { font-family:'EB Garamond',serif; font-size:14px; line-height:1.5; font-weight:600; padding-bottom:3px;
      display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .plate .pl-sub { font-size:11px; color:#6b5330; font-style:italic; margin-top:2px;
      display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
    .plate .pl-multi { position:absolute; right:6px; top:6px; background:rgba(233,221,194,.94); border:1px solid #b08d52;
      color:var(--ink); border-radius:20px; padding:1px 8px; font-family:'EB Garamond',serif; font-size:12px; line-height:1.4; }
    .plate .pl-map { position:absolute; left:6px; top:6px; background:rgba(122,46,46,.92); border:1px solid #e9ddc2;
      color:#f3e8cf; border-radius:20px; padding:2px 9px; font-size:12px; line-height:1.3; cursor:pointer; opacity:0; transition:opacity .13s; }
    .plate:hover .pl-map, .plate:focus-within .pl-map { opacity:1; }
    .plate .pl-map:hover { background:#8a3a3a; }
    #platesEmpty { color:#c9b98a; font-family:'EB Garamond',serif; font-style:italic; padding:30px 4px; grid-column:1/-1; }
    @media (max-width:640px){ #platesGrid { grid-template-columns:1fr; gap:14px; } .pl-thumb, .pl-thumb img{height:min(56vh,420px);min-height:240px;} .plate{min-height:calc(max(min(56vh, 420px), 240px) + 88px);} }
    /* ===== Synopsis of readings — parallel, order-neutral (Aland-style) ===== */
    #synopsis { position:absolute; inset:0; z-index:29; display:none; flex-direction:column; background:rgba(24,16,6,.97); backdrop-filter:blur(3px); }
    #synopsis.open { display:flex; }
    #synTop { flex:0 0 auto; display:flex; align-items:center; gap:12px; padding:13px 20px; color:#e9ddc2; border-bottom:1px solid rgba(233,221,194,.18); }
    #synTop h2 { font-family:'Ponomar','IM Fell English',serif; font-size:20px; margin:0; font-weight:400; }
    #synClose { margin-left:auto; background:transparent; border:1px solid rgba(233,221,194,.4); color:#e9ddc2; border-radius:6px; padding:7px 13px; font-size:14px; cursor:pointer; font-family:'EB Garamond',serif; }
    #synClose:hover { background:rgba(233,221,194,.14); }
    #synBody { flex:1 1 auto; overflow-y:auto; padding:16px 22px 34px; }
    .syn-anchor { background:#f2ead2; border:1px solid #b08d52; border-radius:8px; padding:11px 15px; font-family:'EB Garamond',serif; font-size:15.5px; line-height:1.5; color:#3a2c14; max-width:1160px; margin:0 auto; }
    .syn-anchor-k { font-style:italic; color:#8a6a2f; margin-right:6px; }
    .syn-cruxq { max-width:1160px; margin:8px auto 0; color:#e6a48f; font-family:'EB Garamond',serif; font-size:14px; }
    .syn-cruxq b { color:#f0b9a6; }
    .syn-order { max-width:1160px; margin:6px auto 12px; color:#c9b98a; font-style:italic; font-size:12.5px; }
    .syn-scroll { max-width:1160px; margin:0 auto; overflow-x:auto; border-radius:6px; }
    .syn-table { border-collapse:separate; border-spacing:8px; margin:0 auto; }
    .syn-table th, .syn-table td { background:#e9ddc2; border:1px solid #6b5330; border-radius:6px; padding:9px 11px; vertical-align:top; text-align:left; font-family:'EB Garamond',serif; font-size:13.5px; line-height:1.42; color:#2a2012; min-width:220px; max-width:300px; }
    .syn-table thead th { background:#dccca0; }
    .syn-table .syn-corner, .syn-table tbody th[scope=row] { background:#d8c9a4; min-width:120px; width:120px; font-weight:600; color:#5a4622; }
    .syn-lead { font-weight:700; font-size:14px; color:#3a2c14; }
    .syn-badges { margin-top:5px; display:flex; gap:5px; align-items:center; flex-wrap:wrap; }
    .syn-badges .tier-badge { color:#fff; border-radius:4px; padding:1px 7px; font-size:12px; font-weight:700; }
    .syn-badges .pill { color:#fff; border-radius:20px; padding:1px 8px; font-size:11px; }
    .syn-facet { font-style:italic; }
    .syn-crux-row td { background:#f7e6c6; border:2px solid #b9822f; font-weight:600; }
    .syn-crux-row th[scope=row] { background:#e9cf9a; }
    .syn-ev { font-size:12px; color:#5a4a2e; }
    .syn-open-btn { display:block; width:100%; margin:8px 0 2px; background:#7a2e2e; color:#f3e8cf; border:1px solid #b08d52; border-radius:6px; padding:7px 10px; font-family:'EB Garamond',serif; font-size:13.5px; cursor:pointer; text-align:left; }
    .syn-open-btn:hover { background:#8a3a3a; }
    .tnet-links { margin:9px 0 2px; padding:7px 10px; background:rgba(176,141,82,.09); border-left:3px solid #b08d52; border-radius:0 4px 4px 0; font-size:12.5px; line-height:1.7; }
    .tnet-h { font-family:'EB Garamond',serif; font-size:12px; letter-spacing:.02em; color:var(--ink-soft); margin-bottom:3px; }
    .tnet-a { color:#7a5c2e; text-decoration:none; border-bottom:1px dotted #b08d52; }
    .tnet-a:hover { color:#5a3e18; }
    .tnet-by { color:var(--ink-soft); font-size:11.5px; }
    .syn-propnum { font-family:'EB Garamond',serif; font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:#d3b775; margin:14px 0 4px; }
    .syn-divider { height:1px; background:linear-gradient(90deg,transparent,#b08d52,transparent); margin:16px 0 2px; opacity:.5; }
    .syn-more { max-width:1160px; margin:12px auto 0; font-size:12px; font-style:italic; color:#c9b98a; }

    /* ===== community contribution overlay (additive) ===== */
    #contribBtn { font-family:'EB Garamond',serif; font-size:13.5px; background:#e9dab3; border:1px solid var(--panel-edge);
      border-radius:7px; padding:4px 11px; cursor:pointer; color:var(--ink); font-weight:600; }
    #contribBtn:hover { background:#dcc79a; }
    #contribute { position:absolute; inset:0; z-index:22; display:none; background:rgba(30,20,8,.5); backdrop-filter:blur(3px); }
    #contribute.open { display:block; }
    #contributeInner { position:absolute; inset:4vh 6vw; background:#efe4c8; border:1px solid var(--panel-edge);
      border-radius:10px; box-shadow:0 20px 60px rgba(20,12,2,.5); display:flex; flex-direction:column; overflow:hidden; }
    #contributeHead { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--line); background:#e6d7b3; }
    #contributeHead h2 { margin:0; font-family:'Ponomar','IM Fell English',serif; font-size:22px; font-weight:400; }
    #contributeClose { font-family:'EB Garamond',serif; font-size:15px; background:#7a5230; color:#f3ead0; border:0; border-radius:7px; padding:7px 16px; cursor:pointer; }
    #contributeBody { padding:16px 24px 28px; overflow:auto; }
    .cn-lead { font-size:13.5px; line-height:1.5; color:var(--ink-soft); max-width:82ch; margin:0 0 12px; }
    .cn-dash { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 10px; }
    .cn-stat { flex:1 1 130px; min-width:120px; border:1px solid var(--line); border-radius:8px; background:#f3ead0; padding:9px 12px; cursor:pointer; }
    .cn-stat.sel { border-color:#7a2e2e; box-shadow:0 0 0 1px #7a2e2e inset; }
    .cn-stat b { display:block; font-size:22px; font-family:'IM Fell English',serif; color:#7a2e2e; line-height:1.1; }
    .cn-stat span { font-size:12px; color:var(--ink-soft); }
    .cn-toggle { display:inline-flex; align-items:center; gap:8px; font-size:14px; margin:4px 0 2px; }
    .cn-toggle input { accent-color:#7a5230; }
      border:1px solid var(--panel-edge); border-radius:6px; background:#f7f0dc; color:var(--ink); }
    .cn-hint { font-size:11.5px; color:var(--ink-soft); font-style:italic; margin:3px 0 0; }
    .cn-feedback { font-size:13px; color:var(--ink-soft); margin:14px 0 2px; }
    .cn-feedback a { font-family:ui-monospace,Menlo,Consolas,monospace; color:var(--ink); user-select:all; }
      font-family:'EB Garamond',serif; font-size:14px; padding:9px 16px; border-radius:8px; box-shadow:0 6px 20px rgba(20,12,2,.4); display:none; flex-direction:column; gap:6px; max-width:min(560px,92vw); text-align:left; }
    /* unlocated-tray context block */

    /* ===== videography overlay (mirrors #biblio) ===== */
    #videoBtn { font-family:'EB Garamond',serif; font-size:13.5px; background:#e2d3ad; border:1px solid var(--panel-edge); border-radius:7px; padding:4px 11px; cursor:pointer; color:var(--ink); }
    #videoBtn:hover { background:#d8c69a; }
    #videography, #belezhki { position:absolute; inset:0; z-index:22; display:none; background:rgba(30,20,8,.5); backdrop-filter:blur(3px); }
    #videography.open, #belezhki.open { display:block; }
    #belezhkiInner { position:absolute; inset:4vh 6vw; background:#efe4c8; border:1px solid var(--panel-edge);
      border-radius:10px; box-shadow:0 20px 60px rgba(20,12,2,.5); display:flex; flex-direction:column; overflow:hidden; }
    #belezhkiHead { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--line); background:#e6d7b3; }
    #belezhkiHead h2 { margin:0; font-family:'Ponomar','IM Fell English',serif; font-size:24px; font-weight:400; }
    #belezhkiClose { font-family:'EB Garamond',serif; font-size:15px; background:#7a5230; color:#f3ead0; border:0; border-radius:7px; padding:7px 16px; cursor:pointer; }
    #belezhkiBody { padding:12px 24px 28px; overflow:auto; }
    /* the margin register: subject sections + note rows */
    .bel-sect { font-family:'IM Fell English',serif; font-size:17px; color:#5c4a34; margin:18px 0 4px; padding-bottom:3px; border-bottom:1px solid var(--line); }
    .bel-sect .bel-n { font-size:12px; color:var(--ink-soft); font-style:italic; font-family:'EB Garamond',serif; }
    .bel-item { display:flex; align-items:center; gap:9px; width:100%; text-align:left; background:none; border:0; border-bottom:1px dotted var(--line);
      padding:6px 2px; cursor:pointer; font-family:'EB Garamond',serif; font-size:14.5px; color:var(--ink); }
    .bel-item:hover { background:rgba(122,82,48,.07); }
    .bel-name { flex:1 1 auto; min-width:0; }
    .bel-rel { flex:0 0 auto; font-size:12px; color:#1d6fb8; }
    /* off-map ribbon shown atop a coordinate-less node's popup */
    .offmap-ribbon { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:-4px -4px 8px; padding:5px 9px; border-radius:7px;
      background:#efe1c2; border:1px solid #d8c39a; font-size:11.5px; letter-spacing:.2px; color:#7a5312; }
    .offmap-halo { font-family:'EB Garamond',serif; font-size:12px; background:#f7f0dc; border:1px solid var(--panel-edge); border-radius:6px; padding:2px 9px; cursor:pointer; color:#1d6fb8; }
    .offmap-halo:hover { background:#eadfbf; }
    #videographyInner { position:absolute; inset:4vh 6vw; background:#efe4c8; border:1px solid var(--panel-edge);
      border-radius:10px; box-shadow:0 20px 60px rgba(20,12,2,.5); display:flex; flex-direction:column; overflow:hidden; }
    #videographyHead { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--line); background:#e6d7b3; }
    #videographyHead h2 { margin:0; font-family:'Ponomar','IM Fell English',serif; font-size:24px; font-weight:400; }
    #videographyClose { font-family:'EB Garamond',serif; font-size:15px; background:#7a5230; color:#f3ead0; border:0; border-radius:7px; padding:7px 16px; cursor:pointer; }
    #videographyBody { padding:12px 24px 28px; overflow:auto; }
    .vg-tools { position:sticky; top:0; background:#efe4c8; padding:2px 0 10px; margin:0 0 6px; z-index:2; border-bottom:1px solid var(--line); }
    .vg-search { width:100%; font-family:'EB Garamond',serif; font-size:15px; padding:8px 12px; border:1px solid var(--panel-edge); border-radius:8px; background:#f7f0dc; color:var(--ink); }
    .vg-sortbar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:8px; font-size:12.5px; color:var(--ink-soft); }
    .vg-sortbar button { font-family:'EB Garamond',serif; font-size:12.5px; background:#e2d3ad; border:1px solid var(--panel-edge); border-radius:6px; padding:3px 10px; cursor:pointer; color:var(--ink); }
    .vg-sortbar button.active { background:#7a5230; color:#f3ead0; }
    .vg-count { margin-left:auto; font-size:12px; }
    .vg-intro { font-size:13px; color:var(--ink-soft); font-style:italic; margin:2px 0 12px; line-height:1.45; max-width:82ch; }
    .vg-row { display:flex; gap:12px; padding:9px 0; border-bottom:1px dotted var(--line); }
    .vg-rank { flex:0 0 auto; width:30px; text-align:right; font-family:'IM Fell English',serif; font-size:17px; color:#7a2e2e; }
    .vg-main { flex:1 1 auto; min-width:0; }
    .vg-title { font-size:15px; line-height:1.35; }
    .vg-title a { color:#8a4a1f; text-decoration:underline; text-underline-offset:2px; }
    .vg-title a:hover { color:#b3611f; }
    .vg-alt { color:var(--ink-soft); font-style:italic; font-size:13px; }
    .vg-mp4 { font-size:11px; margin-left:6px; color:#8a4a1f; text-decoration:underline; }
    .vg-sub { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:4px 0 3px; font-size:12px; color:var(--ink-soft); }
    .vg-src { font-style:italic; }
    .vg-tag { font-size:10.5px; padding:1px 8px; border-radius:9px; color:#fff; white-space:nowrap; }
    .vg-tag.n { background:#e6d3b0; color:#5c4a34; border:1px solid var(--line); }
    .vg-kind { font-size:10.5px; padding:1px 7px; border-radius:9px; background:#ece0c0; color:#7a5230; border:1px solid var(--line); }
    .vg-why { font-size:12.5px; line-height:1.4; color:var(--ink); margin:1px 0; }
    .vg-why .vg-wk { font-variant:small-caps; font-weight:600; color:#7a5230; margin-right:4px; letter-spacing:.03em; }
    /* reader rebuild: sort/group select, faceted-filter rail, quiet card chips, source/node counters */
    .vg-sel { font-family:'EB Garamond',serif; font-size:12.5px; background:#e2d3ad; border:1px solid var(--panel-edge);
      border-radius:6px; padding:4px 8px; cursor:pointer; color:var(--ink); }
    .vg-facets { margin:0 0 4px; }
    .vg-facets .disc-row { margin:2px 0 8px; padding-bottom:8px; }
    .vg-facets .disc-row:last-child { border-bottom:1px solid var(--line); }
    .vg-chips { display:flex; flex-wrap:wrap; gap:4px 5px; margin:5px 0 2px; }
    /* card chips a touch quieter than the filter-rail chips (Tufte: on the card they inform, not shout) */
    .vg-chip { font-size:11.5px; padding:2px 8px; background:#eee2c6; }
    .vg-links { display:flex; flex-wrap:wrap; gap:5px 7px; align-items:center; margin:5px 0 1px; }
    .vg-counter { font-family:'EB Garamond',serif; font-size:12px; background:transparent; border:1px solid var(--panel-edge);
      border-radius:11px; padding:2px 9px; cursor:pointer; white-space:nowrap; transition:background .12s,border-color .12s; }
    .vg-cite-chip { color:#8a4a1f; border-color:#d8b98f; }
    .vg-cite-chip:hover, .vg-cite-chip.open { background:#f0e2c4; border-color:#8a4a1f; }
    .vg-node-chip { color:#7a2e2e; border-color:#d8a9a2; }
    .vg-node-chip:hover { background:#f0e2c4; border-color:#7a2e2e; }
    .vg-cites { display:flex; flex-direction:column; gap:3px; margin:5px 0 2px; padding-left:2px; }
    .vg-litref { font-family:'EB Garamond',serif; font-size:12.5px; text-align:left; background:transparent; border:0;
      border-left:2px solid var(--line); padding:2px 0 2px 8px; cursor:pointer; color:var(--ink); line-height:1.35; }
    .vg-litref:hover { color:#8a4a1f; border-left-color:#8a4a1f; }
    .vg-litref .ver-badge { margin-right:3px; }
    .vg-det { margin:4px 0 0; }
    .vg-det > summary { font-size:11.5px; color:var(--ink-soft); cursor:pointer; font-variant:small-caps; letter-spacing:.03em; list-style:none; }
    .vg-det > summary::-webkit-details-marker { display:none; }
    .vg-det > summary::before { content:'▸ '; }
    .vg-det[open] > summary::before { content:'▾ '; }
    .vg-det-body { display:flex; flex-wrap:wrap; gap:5px; margin:4px 0 2px; }
    .vg-group { margin:0 0 6px; }
    .vg-grp-head { font-family:'IM Fell English',serif; font-size:15px; color:#7a2e2e; margin:12px 0 2px;
      padding-bottom:3px; border-bottom:1px solid var(--line); }
    .vg-grp-n { font-family:system-ui,sans-serif; font-size:11px; color:var(--ink-soft); }
    /* rights notice — quiet, repeated wherever cited material is surfaced */
    .rights-note { font-size:12.5px; line-height:1.5; color:var(--ink-soft); background:#e9dcbb;
      border-left:3px solid #8a6f45; padding:10px 13px; margin:18px 0 4px; border-radius:0 6px 6px 0; max-width:82ch; }
    .rights-note b { color:var(--ink); }
    .cite-eg { display:block; margin:7px 0; padding:7px 10px; background:#f3ead0; border:1px solid var(--panel-edge);
      border-radius:6px; font-style:italic; font-size:12.5px; line-height:1.45; color:var(--ink); }
