/* AHEYM — site stylesheet. A reading room: Literata for text, Source Sans 3 for labels, paper ground, deep teal accent. */
:root{
  --bg:#f5f6f4;--card:#ffffff;--fg:#1e2226;--mut:#5f6770;--line:#d9ded9;--acc:#1d5c68;--acc-fg:#ffffff;--acc-soft:#e3edee;
  --chip:#e6ebe8;--chip-fg:#2f3a3d;--hit:#fbf4dc;--now:#f3f7e9;--warn:#8a5a00;--warn-bg:#fff6df;
  --map-land:#eceeea;--map-in:#e4ebe6;--map-line:#c9d0cb;--map-dot:#1d5c68;--map-exp:#8a5a2b;--map-exp-lbl:#6f4a24;
  --serif:"Literata",Georgia,"Times New Roman",serif;--sans:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
  --hebrew:"Literata","Noto Serif Hebrew","Times New Roman",serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#15191b;--card:#1c2124;--fg:#e4e8e6;--mut:#9aa4a8;--line:#2d3538;--acc:#7cc0ca;--acc-fg:#10272b;--acc-soft:#1f3236;--chip:#26302f;--chip-fg:#cfd6d3;--hit:#2b2a1e;--now:#1f2a22;--warn:#e0b25e;--warn-bg:#2a2416;--map-land:#1f2528;--map-in:#243034;--map-line:#3a4549;--map-dot:#7cc0ca;--map-exp:#d9a66a;--map-exp-lbl:#e0b784}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#15191b;--card:#1c2124;--fg:#e4e8e6;--mut:#9aa4a8;--line:#2d3538;--acc:#7cc0ca;--acc-fg:#10272b;--acc-soft:#1f3236;--chip:#26302f;--chip-fg:#cfd6d3;--hit:#2b2a1e;--now:#1f2a22;--warn:#e0b25e;--warn-bg:#2a2416;--map-land:#1f2528;--map-in:#243034;--map-line:#3a4549;--map-dot:#7cc0ca;--map-exp:#d9a66a;--map-exp-lbl:#e0b784}

*{box-sizing:border-box}
html{scroll-padding-top:12px}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 var(--serif);-webkit-font-smoothing:antialiased}
a{color:var(--acc)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
img{max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding-inline:16px}
.yi,[lang="yi"]{font-family:var(--hebrew);direction:rtl;unicode-bidi:isolate}
.mut{color:var(--mut)}.small{font-size:14px}
.sans{font-family:var(--sans)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.2;text-wrap:balance;margin:0}
h1{font-size:30px;margin:0 0 6px}h2{font-size:22px;margin:28px 0 10px}h3{font-size:17px;margin:18px 0 6px;color:var(--acc)}
p{margin:0 0 12px;max-width:72ch}
.lead{font-size:18px;max-width:64ch}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}

/* header */
.site-header{background:var(--card);border-bottom:1px solid var(--line)}
.site-header .top{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:baseline;padding:14px 0 6px}
.brand{font:500 22px/1.2 var(--serif);text-decoration:none;color:var(--fg);letter-spacing:.3px}
.brand small{font:400 13.5px var(--sans);color:var(--mut);margin-left:10px}
.brand .yi{font-size:18px;margin-left:8px;color:var(--mut)}
nav.main{display:flex;gap:16px;flex-wrap:wrap;font:500 14.5px var(--sans);margin-left:auto}
nav.main a{text-decoration:none;color:var(--mut);padding:2px 0;border-bottom:2px solid transparent}
nav.main a.on,nav.main a:hover{color:var(--acc);border-color:var(--acc)}
form.search{display:flex;gap:8px;padding:6px 0 14px}
form.search input{flex:1;min-width:0;font:16px var(--sans);padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg)}
form.search button{font:500 15px var(--sans);padding:8px 16px;border:1px solid var(--acc);background:var(--acc);color:var(--acc-fg);border-radius:6px;cursor:pointer}
main{padding:22px 0 60px}
.crumbs{font:14px var(--sans);color:var(--mut);margin:0 0 10px}.crumbs a{text-decoration:none;color:var(--mut)}.crumbs a:hover{color:var(--acc)}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:22px 0 40px;font:14px/1.6 var(--sans);color:var(--mut)}
.site-footer a{color:var(--mut)}.site-footer .links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:8px}

/* chips, labels, lists */
.chips{display:flex;flex-wrap:wrap;gap:5px;font-family:var(--sans)}
.chip{font-size:12.5px;padding:1px 9px;border-radius:12px;background:var(--chip);color:var(--chip-fg);text-decoration:none;border:1px solid transparent;white-space:nowrap}
.chip:hover{border-color:var(--acc);color:var(--acc)}.chip.on{background:var(--acc);color:var(--acc-fg)}
.chip.act{background:var(--card);border-color:var(--line)}.chip .n{opacity:.7;margin-left:4px}
.label{margin:12px 0 2px;color:var(--mut);font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.7px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:3px 14px;font:15px/1.5 var(--sans);margin:8px 0 14px}
.kv dt{color:var(--mut);margin:0}.kv dd{margin:0}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px 32px}
.list{font:15px/1.7 var(--sans);margin:0;padding:0;list-style:none}.list li{padding:1px 0}.list a{text-decoration:none}.list .n{color:var(--mut);font-size:13px;margin-left:5px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:12px 0}
.note{background:var(--warn-bg);border-left:3px solid var(--warn);padding:8px 12px;font:14.5px/1.5 var(--sans);margin:10px 0;max-width:72ch}
.pager{display:flex;gap:10px;align-items:center;margin:14px 0;font:14px var(--sans)}
table.idx{border-collapse:collapse;width:100%;font:14.5px/1.45 var(--sans)}
table.idx th{text-align:left;color:var(--mut);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.6px;padding:6px 8px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap}
table.idx td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.idx td a{text-decoration:none}
table.idx td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 14px;font:14.5px var(--sans)}
.filter input,.filter select{font:15px var(--sans);padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg)}
.filter input{min-width:16rem}

/* home */
.hero{display:grid;grid-template-columns:1fr;gap:0;align-items:start;margin-bottom:14px}
.hero .text{padding-top:6px}
.ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:18px 0}
.way{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-decoration:none;color:var(--fg)}
.way:hover{border-color:var(--acc)}.way b{display:block;font:500 19px var(--serif);color:var(--acc);margin-bottom:3px}.way span{font:14px/1.45 var(--sans);color:var(--mut)}
.stats{font:14.5px/1.6 var(--sans);color:var(--mut);margin:10px 0}
.featured{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.thumb{display:block;text-decoration:none;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--chip)}
.thumb .cap{padding:8px 10px;font:14px/1.4 var(--sans)}.thumb .cap b{font-weight:600;display:block}.thumb .cap span{color:var(--mut)}
.thumb:hover{border-color:var(--acc)}

/* map */
svg.map{width:100%;height:auto;display:block;background:var(--card);border:1px solid var(--line);border-radius:8px}
svg.map .c-in{fill:var(--map-in);stroke:var(--map-line);stroke-width:.8}
svg.map .c-out{fill:var(--map-land);stroke:var(--map-line);stroke-width:.8}
svg.map .dot circle{fill:var(--map-dot);fill-opacity:.55;stroke:var(--card);stroke-width:1}
svg.map .dot:hover circle{fill-opacity:.95}
svg.map .dot.cur circle{fill:#b5432a;fill-opacity:.9}
/* later expeditions (2012–2018): a ring, not a dot — the recordings are described as text only */
svg.map .dot circle.exp{fill:none;fill-opacity:1;stroke:var(--map-exp);stroke-width:1.8;stroke-opacity:.85}
svg.map .dot:hover circle.exp{stroke-width:2.6;stroke-opacity:1}
svg.map .dot.cur circle.exp{stroke:#b5432a;stroke-width:2.4;stroke-opacity:1}
svg.map .lbl{font:13.5px var(--sans);fill:var(--fg);paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
svg.map .lbl.cur{font-weight:600;fill:#b5432a}
svg.map .lbl.exp-only{fill:var(--map-exp-lbl);font-size:12.5px}
svg.map .legend rect{fill:var(--card);fill-opacity:.88;stroke:var(--line);stroke-width:.8}
svg.map .legend text,svg.map .offmap text{font:12.5px var(--sans);fill:var(--mut)}
svg.map .legend circle.mdv{fill:var(--map-dot);fill-opacity:.55;stroke:var(--card);stroke-width:1}
svg.map .legend circle.exp{fill:none;stroke:var(--map-exp);stroke-width:1.8;stroke-opacity:.85}
svg.map .offmap a{fill:var(--acc);text-decoration:underline}
svg.map .offmap a:hover{fill:#b5432a}
/* where the speakers were born: filled = the catalogue's name found; hollow dashed = identification to confirm; ghost = a town of the recordings */
svg.map .dot circle.born{fill:#6b3f8f;fill-opacity:.6;stroke:var(--card);stroke-width:1}
svg.map .dot:hover circle.born{fill-opacity:.95}
svg.map .dot circle.born.unsure{fill:#6b3f8f;fill-opacity:.12;stroke:#6b3f8f;stroke-width:1.6;stroke-dasharray:3 2}
svg.map .dot.cur circle.born{fill:#b5432a;fill-opacity:.9;stroke:#b5432a}
svg.map .dot circle.ghost{fill:var(--mut);fill-opacity:.35;stroke:none}
svg.map .dot.ghost{pointer-events:none}
svg.map .legend circle.born{fill:#6b3f8f;fill-opacity:.6;stroke:var(--card);stroke-width:1}
svg.map .legend circle.born.unsure{fill:#6b3f8f;fill-opacity:.12;stroke:#6b3f8f;stroke-width:1.6;stroke-dasharray:3 2}
svg.map.born .lbl.exp-only{fill:#5a3478}
.mapviews{position:relative}
.mapviews .mapview.hid{display:none}
.mapviews .mapswitch{display:flex;gap:6px;margin:0 0 8px;flex-wrap:wrap}
.mapviews .mapswitch button{font:13.5px var(--sans);padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);cursor:pointer}
.mapviews .mapswitch button[aria-pressed="true"]{background:var(--acc);color:var(--acc-fg);border-color:var(--acc)}
/* marks for what the build proposed rather than the catalogue states */
.conf{font:11.5px var(--sans);color:var(--mut);border:1px solid var(--line);border-radius:4px;padding:0 5px;white-space:nowrap;vertical-align:middle;text-decoration:none}
a.conf:hover{border-color:#b5432a;color:#b5432a}
.conf.proposed,.conf.guess{border-color:#c9a27a;color:#7a5a30}
.conf.doubtful,.conf.open{border-color:#d49a8a;color:#8c3a28}
.conf.agreed,.conf.confirmed{border-color:#9bbfb0;color:#2f6b55}
a.fix{font:11.5px var(--sans);color:var(--mut);text-decoration:none;border-bottom:1px dotted var(--mut);margin-left:6px;white-space:nowrap}
a.fix:hover{color:#b5432a;border-color:#b5432a}
.sessions{list-style:none;padding:0;margin:10px 0}
.sessions li{display:grid;grid-template-columns:7.5em 1fr;gap:4px 14px;padding:8px 0;border-top:1px solid var(--line);align-items:baseline}
.sessions li:last-child{border-bottom:1px solid var(--line)}
.sessions .when{font:13.5px var(--sans);color:var(--mut)}
.sessions .parts{font:13px var(--sans);color:var(--mut);margin-top:2px}
.sessions .parts a{text-decoration:none;border-bottom:1px dotted var(--mut)}
.parts-of-tape{margin:10px 0 16px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.parts-of-tape ol{margin:6px 0 0;padding-left:20px}
.parts-of-tape li{margin:3px 0}
.qgroup{margin:26px 0}
.qgroup ol{padding-left:22px}
.qgroup li{margin:8px 0;line-height:1.45}
.qgroup .label{display:inline;font:12.5px var(--sans);color:var(--mut);margin-left:6px}
svg.map.compact{max-width:420px}svg.map.compact .lbl{font-size:24px;stroke-width:5px}

/* tape page */
.tape-head{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;font:14.5px var(--sans);color:var(--mut);margin-bottom:10px}
.tape-head b{color:var(--fg);font-weight:600}
.tape-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:24px;align-items:start}
.player-box{background:#000;border-radius:8px;overflow:hidden;aspect-ratio:4/3;position:relative}
.player-box iframe,.player-box #player{position:absolute;inset:0;width:100%;height:100%;border:0}
.player-box .noplayer{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ddd;font:15px var(--sans);text-align:center;padding:20px;background:#1a1f22}
.player-box .noplayer a{color:#9fd3dc}
.player-box .noplayer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.player-box .noplayer > *{position:relative}
.now-line{font:14px var(--sans);color:var(--mut);margin:8px 0 0;min-height:1.4em}
.player-box video{position:absolute;inset:0;width:100%;height:100%;background:#000}
.player-bar{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.player-bar .now-line{flex:1 1 auto}
.source-switch{font:12.5px var(--sans);color:var(--mut);margin-top:8px;white-space:nowrap}
.source-switch button{font:12.5px var(--sans);padding:0;border:0;border-bottom:1px dotted var(--mut);background:none;color:var(--mut);cursor:pointer}
.source-switch button:hover{color:#b5432a;border-color:#b5432a}
.player-box .noplayer .btn-next{font:14px var(--sans);padding:6px 12px;border:1px solid #9fd3dc;border-radius:999px;background:transparent;color:#9fd3dc;cursor:pointer}
.rail .card{margin-top:0}
.rail dl.kv{grid-template-columns:max-content 1fr}
.ids{font:13.5px/1.7 var(--sans)}.ids a{text-decoration:none}
.series{font:14px var(--sans);display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.series a{text-decoration:none;padding:2px 8px;border:1px solid var(--line);border-radius:6px}.series a.cur{background:var(--acc);color:var(--acc-fg);border-color:var(--acc)}
.intro{font-size:15px;max-width:none;background:var(--bg);border-radius:6px;padding:8px 12px}
.segs{margin:14px 0 0}
.seg{display:grid;grid-template-columns:70px 1fr;gap:4px 14px;padding:10px 6px;border-top:1px solid var(--line);scroll-margin-top:12px}
.seg.now{background:var(--now)}.seg:target{background:var(--hit)}
.seg h3{margin:0;font:13px var(--sans);color:var(--mut);font-variant-numeric:tabular-nums}
.seg h3 a{text-decoration:none;white-space:nowrap}
.seg .d{margin:0;max-width:78ch;font-size:15.5px}
.seg .meta{grid-column:2;display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:3px}
.seg .meta .chip{font-size:11.5px;padding:0 8px}
.seg .tools{margin-left:auto;font:12px var(--sans)}.seg .tools a,.seg .tools button{color:var(--mut);text-decoration:none;background:none;border:0;cursor:pointer;font:inherit;padding:0 4px}
.seg .tools a:hover,.seg .tools button:hover{color:var(--acc)}
.cite{font:13.5px/1.5 var(--sans);background:var(--bg);border-radius:6px;padding:8px 12px;margin:10px 0;word-break:break-word}
.cite code{font:13px ui-monospace,Menlo,monospace}
.songs-on-tape li{display:flex;gap:10px;align-items:baseline}

/* person / place headers */
.head{display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:start;margin-bottom:8px}
.head .still img{width:220px;max-width:40vw;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.sub{font:16px var(--sans);color:var(--mut)}.sub .yi{font-size:18px;margin-left:8px}
.tapes-list{list-style:none;margin:0;padding:0}
.tapes-list li{display:grid;grid-template-columns:84px 1fr;gap:4px 12px;padding:8px 0;border-top:1px solid var(--line);font:15px/1.45 var(--sans)}
.tapes-list li b{font-weight:600}.tapes-list li a{text-decoration:none}.tapes-list .mut{display:block}
.year-group{margin:16px 0 4px;font:600 13px var(--sans);color:var(--mut);text-transform:uppercase;letter-spacing:.7px}

/* song list */
.song-rows{list-style:none;margin:0;padding:0;font:15px/1.5 var(--sans)}
.song-rows li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:6px 0;border-top:1px solid var(--line)}
.song-rows i{font-family:var(--serif)}.song-rows .yi{font-size:16px}
.song-rows .where{color:var(--mut);font-size:14px}.song-rows a{text-decoration:none}
.song-rows .play{font-size:13px;white-space:nowrap}

/* questionnaire */
.moments li{display:grid;grid-template-columns:110px 1fr;gap:4px 12px;padding:6px 0;border-top:1px solid var(--line);font:15px/1.45 var(--sans)}
.moments li a{text-decoration:none}.moments .ans{color:var(--mut)}
.prompt{font-size:20px}.prompt .ru{font-family:var(--serif)}

/* search */
.pagefind-ui{--pagefind-ui-font:var(--sans);--pagefind-ui-primary:var(--acc);--pagefind-ui-text:var(--fg);--pagefind-ui-background:var(--card);--pagefind-ui-border:var(--line);--pagefind-ui-tag:var(--chip);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:6px;--pagefind-ui-image-border-radius:6px;--pagefind-ui-scale:.9}

@media (max-width:760px){
  .brand small{display:none}
  .seg .tr{grid-column:1}
  .hero{grid-template-columns:1fr}.tape-layout{grid-template-columns:1fr}.seg{grid-template-columns:1fr}.seg .meta{grid-column:1}
  .head{grid-template-columns:1fr}.head .still{order:-1}.head .still img{width:100%;max-width:none;aspect-ratio:16/9}
  .kv{grid-template-columns:1fr}.kv dt{margin-top:6px}.tapes-list li{grid-template-columns:1fr}.moments li{grid-template-columns:1fr}
  nav.main{margin-left:0}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media print{.site-header form,.site-footer,.player-box,.tools{display:none}body{background:#fff;color:#000}}

/* the transcript-based second layer */
.seg .tr{grid-column:2}
.tr{margin:8px 0 0;padding:8px 12px;border-left:3px solid var(--line);background:color-mix(in srgb,var(--card) 60%,var(--bg));border-radius:0 6px 6px 0;max-width:78ch}
.tr .tr-label{display:block;font:600 11px var(--sans);text-transform:uppercase;letter-spacing:.6px;color:var(--mut);margin-bottom:3px}
.tr p{margin:0 0 4px;font-size:14.5px;line-height:1.5;color:var(--fg)}
.tr p.adds{color:var(--mut);font-size:13.5px}
.tr .chips{margin-top:4px}.tr .chip{border:1px dashed var(--line);background:transparent;color:var(--mut);font-size:11.5px;padding:0 8px}
.speakers{list-style:none;margin:4px 0 0;padding:0;font:14px/1.5 var(--sans)}
.speakers li{padding:3px 0;border-top:1px solid var(--line)}.speakers b{font-weight:600}.speakers .role{color:var(--mut);font-size:12px;margin-left:4px}
details.notes summary{cursor:pointer;color:var(--acc);font:14px var(--sans)}details.notes p{font-size:14px;margin-top:6px}
.weak{border-left-color:var(--warn)}
.exp-list li{display:grid;grid-template-columns:150px 1fr;gap:4px 12px;padding:8px 0;border-top:1px solid var(--line);font:15px/1.45 var(--sans)}
.exp-list li a{text-decoration:none}
@media (max-width:760px){.exp-list li{grid-template-columns:1fr}}
.sessions .play{display:inline-block;width:1.6em;height:1.6em;line-height:1.6em;text-align:center;border-radius:50%;background:var(--acc);color:var(--acc-fg);text-decoration:none;font-size:12px;margin-right:4px;vertical-align:middle}
.sessions .play:hover{filter:brightness(1.1)}
.btn.small{font:13px var(--sans);padding:4px 10px}
.parts-list{list-style:none;padding:0;margin:10px 0 18px;font:14px var(--sans)}
.parts-list li.part-row{padding:4px 8px;border-left:3px solid transparent;border-radius:3px}
.parts-list li.part-row.now{border-left-color:var(--acc);background:var(--now)}
.parts-list li.part-row a{text-decoration:none}
.parts-list.play-all .sess-head{margin:6px 0 10px}
.parts-list.play-all .sess-head > ol{list-style:none;padding:0;margin:2px 0 0}
.part-head{font:13px var(--sans);color:var(--mut);margin:18px 0 4px;padding-top:8px;border-top:1px solid var(--line)}
.series .all{margin-left:auto}
/* hooks for the themed looks (assets/themes/*.css); hidden in the default look */
.hero-frame,.frames-strip,.frieze{display:none}

/* the town's name in the language of its country, beside the Yiddish one; the other names a reader may know it by */
h1 .native{font-weight:400;color:var(--mut);margin-left:.15em}
.names{margin:2px 0 8px}.names .lbl{font-size:.86em;letter-spacing:.3px;text-transform:uppercase;opacity:.8}
table.idx .native,.list .native{margin-left:.3em}
