{"id":4659,"date":"2026-07-07T11:54:37","date_gmt":"2026-07-07T16:54:37","guid":{"rendered":"https:\/\/darkwaterstest.online\/?page_id=4659"},"modified":"2026-07-07T13:33:07","modified_gmt":"2026-07-07T18:33:07","slug":"dw-library-x7k2m","status":"publish","type":"page","link":"https:\/\/darkwaterstest.online\/index.php\/dw-library-x7k2m\/","title":{"rendered":"Dark Waters \u2014 Premium Paranormal Stories"},"content":{"rendered":"<style>\/* Dark Waters \u2014 Audible-style storefront *\/\n:root {\n  --orange:     #f8991c;\n  --orange-dp:  #e47911;\n  --orange-dk:  #c9660a;\n  --ink:        #131921;\n  --navy:       #232f3e;\n  --navy-2:     #2e3d50;\n  --bg:         #ffffff;\n  --bg-soft:    #f7f8f8;\n  --line:       #e3e6e8;\n  --text:       #131921;\n  --mute:       #56595e;\n  --dim:        #8a9099;\n  --sans: -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n}\n* { box-sizing: border-box; }\nhtml, body { margin: 0; }\nbody { background: var(--bg); color: var(--text); font: 15px\/1.5 var(--sans); }\na { color: inherit; text-decoration: none; }\nbutton { font-family: var(--sans); cursor: pointer; }\nimg { display: block; }\n\/* ============ header ============ *\/\n#site-head { position: sticky; top: 0; z-index: 50; box-shadow: 0 1px 8px rgba(19,25,33,.10); }\n.head-top {\n  background: var(--bg);\n  display: flex; align-items: center; gap: 26px;\n  padding: 14px 4vw;\n}\n.logo { font-size: 24px; font-weight: 900; letter-spacing: .02em; color: var(--ink); white-space: nowrap; }\n.logo span { color: var(--orange-dp); }\n.foot-logo { font-size: 18px; font-weight: 900; color: #fff; }\n.foot-logo span { color: var(--orange); }\n.search {\n  flex: 1; max-width: 640px; display: flex;\n  border: 2px solid var(--navy); border-radius: 24px;\n  background: var(--bg); position: relative;\n}\n.search input {\n  flex: 1; border: 0; outline: 0; padding: 9px 18px;\n  font: 15px var(--sans); color: var(--text); background: none;\n  border-radius: 22px 0 0 22px; min-width: 0;\n}\n.search input::placeholder { color: var(--dim); }\n.search button {\n  border: 0; background: var(--navy); color: #fff;\n  padding: 0 18px; display: grid; place-items: center;\n  border-radius: 0 21px 21px 0;\n}\n.search button:hover { background: var(--navy-2); }\n.head-links { margin-left: auto; display: flex; align-items: center; gap: 18px; }\n.head-link { font-size: 14px; font-weight: 700; color: var(--mute); padding: 6px 2px; }\n.head-link:hover { color: var(--orange-dp); }\n.btn-signin {\n  background: var(--orange); color: var(--ink);\n  font-size: 14px; font-weight: 800;\n  padding: 9px 22px; border-radius: 22px;\n}\n.btn-signin:hover { background: #ffa93d; }\n.head-nav { background: var(--navy); }\n.head-nav-in {\n  display: flex; gap: 2px; padding: 0 4vw;\n  overflow-x: auto; scrollbar-width: none;\n}\n.head-nav-in::-webkit-scrollbar { display: none; }\n.head-nav-in a {\n  color: #d5dbe2; font-size: 13.5px; font-weight: 600;\n  padding: 11px 14px; white-space: nowrap;\n  border-bottom: 3px solid transparent;\n}\n.head-nav-in a:hover { color: #fff; background: var(--navy-2); }\n.head-nav-in a.active { color: #fff; border-bottom-color: var(--orange); }\n\/* ============ layout ============ *\/\nmain { min-height: 60vh; }\n.wrap { max-width: 1320px; margin: 0 auto; padding: 0 4vw; }\n\/* ============ hero ============ *\/\n.hero {\n  position: relative; color: #fff; overflow: hidden;\n  background: linear-gradient(100deg, var(--ink) 30%, var(--navy) 100%);\n}\n.hero-bg {\n  position: absolute; inset: 0;\n  background-size: cover; background-position: center 30%;\n  opacity: .95; filter: saturate(1);\n}\n.hero-fade { position: absolute; inset: 0; background: linear-gradient(to right, rgba(19,25,33,.72) 18%, rgba(19,25,33,.2) 55%, rgba(19,25,33,0)); }\n.hero-in {\n  position: relative; max-width: 1320px; margin: 0 auto;\n  padding: 64px 4vw 68px;\n}\n.hero-kicker {\n  display: inline-block; font-size: 11.5px; font-weight: 800; letter-spacing: .2em;\n  text-transform: uppercase; color: var(--orange);\n  border: 1px solid rgba(248,153,28,.55); background: rgba(248,153,28,.12);\n  padding: 5px 14px; border-radius: 16px;\n}\n.hero h1 { font-size: clamp(28px, 4.2vw, 48px); font-weight: 900; line-height: 1.08; margin: 18px 0 10px; max-width: 640px; }\n.hero p { color: #c6cdd6; font-size: 16.5px; max-width: 520px; margin: 0 0 26px; }\n.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }\n.btn {\n  border: 0; border-radius: 24px; font-size: 15px; font-weight: 800;\n  padding: 12px 28px; display: inline-flex; align-items: center; gap: 9px;\n  transition: background .15s, transform .1s;\n}\n.btn-orange { background: var(--orange); color: var(--ink); }\n.btn-orange:hover { background: #ffa93d; transform: translateY(-1px); }\n.btn-outline { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.55); }\n.btn-outline:hover { border-color: #fff; background: rgba(255,255,255,.08); }\n.btn-navy { background: var(--navy); color: #fff; }\n.btn-navy:hover { background: var(--navy-2); }\n\/* ============ rows \/ shelves ============ *\/\n.shelf { margin: 38px 0; }\n.shelf-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 14px; }\n.shelf-head h2 { font-size: 21px; font-weight: 800; margin: 0; }\n.shelf-count { color: var(--dim); font-size: 13px; }\n.shelf-all { margin-left: auto; color: var(--orange-dp); font-size: 14px; font-weight: 700; }\n.shelf-all:hover { text-decoration: underline; }\n.row {\n  display: grid; grid-auto-flow: column; grid-auto-columns: 172px;\n  gap: 20px; overflow-x: auto; padding: 4px 2px 16px;\n  scrollbar-width: thin; scrollbar-color: #cdd3d8 transparent;\n}\n.grid {\n  display: grid; grid-template-columns: repeat(auto-fill, minmax(172px, 1fr));\n  gap: 26px 20px; padding: 4px 2px 16px;\n}\n\/* ============ tiles ============ *\/\n.tile { cursor: pointer; width: 172px; }\n.grid .tile { width: auto; }\n.cover {\n  aspect-ratio: 1; border-radius: 8px; overflow: hidden;\n  position: relative; background: #e6e9eb;\n  box-shadow: 0 2px 8px rgba(19,25,33,.18);\n  transition: transform .16s ease, box-shadow .16s ease;\n}\n.tile:hover .cover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(19,25,33,.26); }\n.cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .35s; }\n.cover img.ld { opacity: 1; }\n\/* PDF book jacket (no artwork yet) *\/\n.cover-book { background: linear-gradient(135deg, #1b2534 0%, #0e1420 70%); }\n.book-jacket {\n  position: absolute; inset: 0; display: flex; flex-direction: column;\n  justify-content: center; align-items: center; text-align: center;\n  padding: 12% 10%; gap: 10px;\n  border-left: 6px solid rgba(248,153,28,.85);\n}\n.book-tag {\n  color: #f8991c; font-size: 10px; font-weight: 800;\n  letter-spacing: .22em; border: 1px solid rgba(248,153,28,.5);\n  border-radius: 3px; padding: 3px 8px;\n}\n.book-name { color: #f3f6fa; font-weight: 900; line-height: 1.25; font-size: 15px; }\n.tp-cover .book-name { font-size: 26px; }\n.book-author { color: #93a3b8; font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }\n.tp-cover .cover-book { position: absolute; inset: 0; border-radius: 0; box-shadow: none; }\n.tile-title {\n  margin-top: 10px; font-size: 14px; font-weight: 700; line-height: 1.3;\n  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;\n}\n.tile-series { color: var(--orange-dk); font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-top: 3px; }\n.tile-date { color: var(--dim); font-size: 12px; margin-top: 1px; }\n.progress { height: 4px; background: var(--line); border-radius: 2px; margin-top: 8px; overflow: hidden; }\n.progress i { display: block; height: 100%; background: var(--orange-dp); }\n.resume-at { color: var(--orange-dk); font-size: 12px; font-weight: 700; margin-top: 4px; }\n\/* ============ band (soft section) ============ *\/\n.band { background: var(--bg-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 8px 0 14px; margin: 44px 0; }\n\/* category chips on home *\/\n.chips { display: flex; flex-wrap: wrap; gap: 12px; padding: 6px 0 10px; }\n.chip {\n  border: 1.5px solid var(--line); background: var(--bg); border-radius: 22px;\n  padding: 10px 22px; font-size: 14px; font-weight: 700; color: var(--mute);\n}\n.chip:hover { border-color: var(--orange); color: var(--ink); }\n.chip span { color: var(--dim); font-weight: 600; margin-left: 6px; font-size: 12.5px; }\n\/* ============ view heads ============ *\/\n.view-head { padding: 34px 0 6px; }\n.view-head h1 { font-size: 30px; font-weight: 900; margin: 0 0 4px; }\n.view-sub { color: var(--mute); font-size: 15px; }\n.crumbs { color: var(--dim); font-size: 13px; padding-top: 22px; }\n.crumbs a { color: var(--orange-dp); font-weight: 600; }\n.crumbs a:hover { text-decoration: underline; }\n.empty {\n  color: var(--mute); background: var(--bg-soft); border: 1px solid var(--line);\n  border-radius: 12px; padding: 44px; text-align: center; margin: 30px 0;\n  font-size: 15.5px;\n}\n\/* ============ title page ============ *\/\n.tp { display: grid; grid-template-columns: minmax(280px, 420px) 1fr; gap: 44px; padding: 30px 0 10px; }\n.tp-media { position: relative; }\n.tp-cover {\n  width: 100%; aspect-ratio: 1; border-radius: 12px; overflow: hidden;\n  position: relative; background: #e6e9eb;\n  box-shadow: 0 14px 34px rgba(19,25,33,.25);\n}\n.tp-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }\n.tp-cover .big-play {\n  position: absolute; inset: 0; display: grid; place-items: center;\n  background: linear-gradient(to top, rgba(19,25,33,.45), rgba(19,25,33,.08));\n  border: 0; transition: background .15s;\n}\n.tp-cover .big-play:hover { background: linear-gradient(to top, rgba(19,25,33,.55), rgba(19,25,33,.15)); }\n.big-play span {\n  width: 84px; height: 84px; border-radius: 50%;\n  background: var(--orange); color: var(--ink);\n  display: grid; place-items: center; font-size: 32px; padding-left: 6px;\n  box-shadow: 0 10px 30px rgba(0,0,0,.4);\n  transition: transform .12s;\n}\n.tp-cover .big-play:hover span { transform: scale(1.06); }\n.tp-frame { width: 100%; aspect-ratio: 16 \/ 9; border-radius: 12px; overflow: hidden; background: #000; box-shadow: 0 14px 34px rgba(19,25,33,.3); }\n.tp-frame iframe { width: 100%; height: 100%; border: 0; display: block; }\n.tp-info .tp-series { color: var(--orange-dk); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }\n.tp-info .tp-series a:hover { text-decoration: underline; }\n.tp-info h1 { font-size: clamp(24px, 3vw, 36px); font-weight: 900; line-height: 1.12; margin: 8px 0 10px; }\n.tp-meta { color: var(--mute); font-size: 14px; display: flex; gap: 18px; flex-wrap: wrap; }\n.tp-meta b { color: var(--text); }\n.badge {\n  display: inline-block; background: var(--navy); color: #fff;\n  font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;\n  padding: 4px 12px; border-radius: 12px;\n}\n.tp-resume { color: var(--orange-dk); font-weight: 800; font-size: 14px; margin-top: 14px; }\n.tp-actions { display: flex; gap: 12px; margin: 22px 0 26px; flex-wrap: wrap; }\n.tp-desc { color: var(--mute); font-size: 15px; max-width: 640px; border-top: 1px solid var(--line); padding-top: 20px; }\n.tp-desc h3 { color: var(--text); font-size: 15px; margin: 0 0 8px; }\n\/* ============ my library tabs ============ *\/\n.lib-tabs { display: flex; gap: 8px; margin: 18px 0 6px; }\n.lib-tab {\n  border: 1.5px solid var(--line); background: var(--bg); border-radius: 20px;\n  padding: 8px 20px; font-size: 14px; font-weight: 700; color: var(--mute);\n}\n.lib-tab.active { background: var(--navy); border-color: var(--navy); color: #fff; }\n\/* ============ footer ============ *\/\n#site-foot { background: var(--ink); color: #aab2bc; margin-top: 70px; }\n.foot-in { max-width: 1320px; margin: 0 auto; padding: 44px 4vw 30px; }\n.foot-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 26px; }\n.foot-col h4 { color: #fff; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 12px; }\n.foot-col a { display: block; font-size: 13.5px; padding: 4px 0; color: #aab2bc; }\n.foot-col a:hover { color: var(--orange); }\n.foot-base {\n  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;\n  border-top: 1px solid #2c3644; margin-top: 34px; padding-top: 22px;\n  font-size: 12.5px; color: #7d8590;\n}\n\/* ============ toast ============ *\/\n#toast {\n  position: fixed; bottom: 36px; left: 50%; transform: translateX(-50%) translateY(20px);\n  background: var(--navy); color: #fff;\n  padding: 11px 24px; border-radius: 24px; font-size: 14px; font-weight: 600;\n  opacity: 0; transition: all .25s; pointer-events: none; z-index: 90;\n  box-shadow: 0 10px 28px rgba(19,25,33,.4);\n}\n#toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }\n\/* ============ mobile ============ *\/\n@media (max-width: 860px) {\n  .head-top { flex-wrap: wrap; gap: 12px; padding: 12px 4vw; }\n  .search { order: 3; min-width: 100%; }\n  .head-links { gap: 12px; }\n  .hero-in { padding: 42px 5vw 48px; }\n  .tp { grid-template-columns: 1fr; gap: 26px; }\n  .tp-media { max-width: 460px; }\n  .row { grid-auto-columns: 142px; }\n  .tile { width: 142px; }\n  .grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 20px 14px; }\n}\n\/* ============ landing (visitor page) ============ *\/\n.land-hero {\n  background: linear-gradient(118deg, var(--ink) 0%, var(--navy) 58%, var(--navy-2) 100%);\n  color: #fff;\n}\n.land-hero-in {\n  max-width: 1320px; margin: 0 auto; padding: 62px 4vw 72px;\n  display: grid; grid-template-columns: 1.15fr .85fr; gap: 52px; align-items: center;\n}\n.land-copy h1 {\n  font-size: clamp(30px, 4vw, 48px); font-weight: 900; line-height: 1.08;\n  margin: 14px 0 16px; letter-spacing: -.01em;\n}\n.land-copy p { color: #c9d0d9; font-size: 17px; line-height: 1.6; max-width: 560px; margin: 0 0 28px; }\n.btn-big { padding: 14px 30px; font-size: 16px; }\n.land-note { margin-top: 18px; color: #8fa0b3; font-size: 13.5px; }\n.land-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 14px 0; }\n.land-mosaic img {\n  width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px;\n  box-shadow: 0 10px 26px rgba(0,0,0,.4);\n}\n.land-mosaic img:nth-child(even) { transform: translateY(16px); }\n.vprops {\n  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;\n  margin: 44px 0 10px;\n}\n.vprop {\n  background: var(--bg-soft); border: 1px solid var(--line); border-radius: 12px;\n  padding: 26px 26px 24px; color: var(--orange-dp);\n}\n.vprop h3 { color: var(--text); font-size: 17px; margin: 12px 0 7px; }\n.vprop p { color: var(--mute); font-size: 14.5px; margin: 0; line-height: 1.55; }\n.price-band {\n  background: var(--bg-soft);\n  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);\n  margin-top: 56px;\n}\n.price-in { max-width: 860px; margin: 0 auto; padding: 56px 4vw 60px; text-align: center; }\n.price-in h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 900; margin: 0 0 10px; }\n.price-in p { color: var(--mute); font-size: 16px; max-width: 600px; margin: 0 auto 22px; }\n.price-tag { font-size: 46px; font-weight: 900; color: var(--navy); margin-bottom: 24px; }\n.price-tag span { font-size: 17px; font-weight: 700; color: var(--mute); }\n.price-in .land-note { color: var(--dim); }\n@media (max-width: 860px) {\n  .land-hero-in { grid-template-columns: 1fr; gap: 36px; padding: 44px 5vw 54px; }\n  .land-mosaic { gap: 9px; }\n  .land-mosaic img:nth-child(even) { transform: translateY(10px); }\n  .vprops { grid-template-columns: 1fr; gap: 14px; margin-top: 34px; }\n}\n\/* ============ albums ============ *\/\n.tile-wide { width: 300px; }\n.row-wide { grid-auto-columns: 300px; }\n.cover-wide { aspect-ratio: 16 \/ 9; }\n.grid-wide { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }\n.band-albums { background: var(--navy); border-color: var(--ink); }\n.band-albums .shelf-head h2 { color: #fff; }\n.band-albums .shelf-count { color: #8fa0b3; }\n.band-albums .shelf-all { color: var(--orange); }\n.band-albums .tile-title { color: #fff; }\n.band-albums .tile-series { color: var(--orange); }\n.band-albums .progress { background: #3a4759; }\n.band-albums .resume-at { color: var(--orange); }\n.band-albums .cover { background: var(--ink); box-shadow: 0 4px 14px rgba(0,0,0,.4); }\n.band-albums .row { scrollbar-color: #4a5668 transparent; }\n.tp-album { grid-template-columns: minmax(320px, 560px) 1fr; }\n.tp-cover-wide { aspect-ratio: 16 \/ 9; }\n@media (max-width: 860px) {\n  .tile-wide { width: 240px; }\n  .row-wide { grid-auto-columns: 240px; }\n  .grid-wide { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }\n  .tp-album { grid-template-columns: 1fr; }\n  .tp-album .tp-media { max-width: 560px; }\n}\n\/* ============ search suggestions ============ *\/\n#search-sug {\n  position: absolute; top: calc(100% + 8px); left: -2px; right: -2px;\n  background: var(--bg); border: 1px solid var(--line); border-radius: 12px;\n  box-shadow: 0 16px 38px rgba(19,25,33,.20);\n  overflow: hidden; display: none; z-index: 70;\n}\n#search-sug.open { display: block; }\n.sug { display: flex; gap: 12px; align-items: center; padding: 9px 14px; }\n.sug:hover { background: var(--bg-soft); }\n.sug img { width: 42px; height: 42px; border-radius: 6px; object-fit: cover; flex: none; background: #e6e9eb; }\n.sug span { min-width: 0; display: block; }\n.sug b { display: block; font-size: 14px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.sug i { font-style: normal; color: var(--dim); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }\n.sug-all {\n  display: block; padding: 10px 14px; text-align: center;\n  font-size: 13.5px; font-weight: 700; color: var(--orange-dp);\n  border-top: 1px solid var(--line);\n}\n.sug-all:hover { background: var(--bg-soft); }\n\/* ============ audio player (audio-based stories) ============ *\/\n#tp-audio { width: 100%; margin-top: 16px; display: block; }\n<\/style>\n<header id=\"site-head\">\n<div class=\"head-top\">\n    <a class=\"logo\" href=\"#\/\">DARK<span>WATERS<\/span><\/a><\/p>\n<form id=\"search-form\" class=\"search\" action=\"\">\n      <input id=\"search-input\" type=\"search\" placeholder=\"Search stories, series, encounters\u2026\" autocomplete=\"off\"><br \/>\n      <button type=\"submit\" aria-label=\"Search\"><br \/>\n        <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\"><path fill=\"currentColor\" d=\"M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z\"\/><\/svg><br \/>\n      <\/button><br \/>\n    <\/form>\n<nav class=\"head-links\">\n      <a href=\"#\/library\" class=\"head-link\">My Library<\/a><br \/>\n      <a href=\"#\/\" class=\"btn-signin\" id=\"btn-signin\">Sign In<\/a><br \/>\n    <\/nav>\n<\/p><\/div>\n<div class=\"head-nav\">\n<div class=\"head-nav-in\" id=\"cat-nav\"><\/div>\n<\/p><\/div>\n<\/header>\n<p><main id=\"main\"><\/main><\/p>\n<footer id=\"site-foot\">\n<div class=\"foot-in\">\n<div class=\"foot-cols\" id=\"foot-cols\"><\/div>\n<div class=\"foot-base\">\n      <span class=\"foot-logo\">DARK<span>WATERS<\/span><\/span><br \/>\n      <span>\u00a9 2026 Dark Waters. All stories are member exclusives.<\/span>\n    <\/div>\n<\/p><\/div>\n<\/footer>\n<div id=\"toast\"><\/div>\n<p><script src=\"https:\/\/embed.cloudflarestream.com\/embed\/sdk.latest.js\"><\/script><br \/>\n<script>\/\/ generated by bin\/gen-catalog.py \u2014 do not hand-edit\nwindow.DW_CATALOG = [\n {\n  \"id\": 4649,\n  \"title\": \"The Highland Park Encounter\",\n  \"series\": \"Encounters\",\n  \"date\": \"2026-07-06\",\n  \"uid\": null,\n  \"audio\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/the-highland-park-encounter.mp3\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/the-highland-park-encounter-cover.jpg\",\n  \"hero\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/the-highland-park-encounter-hero.png\"\n },\n {\n  \"id\": 4590,\n  \"title\": \"Understanding The Times and Seasons\",\n  \"series\": \"Spiritual Warfare\",\n  \"date\": \"2026-02-10\",\n  \"uid\": \"44be30588ce8b2ce1fff9e82212371cb\"\n },\n {\n  \"id\": 4588,\n  \"title\": \"spritual warfare lesson 1\",\n  \"series\": \"Spiritual Warfare\",\n  \"date\": \"2026-02-10\",\n  \"uid\": \"be2ebc0755cbdbfbb122f758a39452a5\"\n },\n {\n  \"id\": 4492,\n  \"title\": \"Bill McGurie: Lizard or Snitch\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2024-05-15\",\n  \"uid\": \"da34c973d3f0de27aa681f4aaeb08702\"\n },\n {\n  \"id\": 4385,\n  \"title\": \"FATHER WALKER PART 1\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-09-12\",\n  \"uid\": \"589bb704826df793d4f1ad63090324cb\"\n },\n {\n  \"id\": 4380,\n  \"title\": \"WHO IS THOMAS\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-09-12\",\n  \"uid\": \"6563f85fd18ecba1f50573c6610c480c\"\n },\n {\n  \"id\": 4366,\n  \"title\": \"dogman encounter the desolate places\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-09-04\",\n  \"uid\": \"b0e20cbfb3171d0c240e6239697ce717\"\n },\n {\n  \"id\": 4350,\n  \"title\": \"destination fear with jesse alne\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-07-27\",\n  \"uid\": \"62d2d172ed1396995a1a542c16641ee9\"\n },\n {\n  \"id\": 4345,\n  \"title\": \"african mermaid\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-07-24\",\n  \"uid\": \"d88cd834f4d5fd44903f52d3fa72a7fc\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/african-mermaid-cover.png\"\n },\n {\n  \"id\": 4340,\n  \"title\": \"They're doing bad things to humans\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-07-24\",\n  \"uid\": \"a743e5dd9151a2a150de6d49816794c7\"\n },\n {\n  \"id\": 4332,\n  \"title\": \"1784 Ross Street\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-07-24\",\n  \"uid\": \"8b17ad0c25a4c5a15859c68349914e08\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/1784-ross-street-cover.png\"\n },\n {\n  \"id\": 4315,\n  \"title\": \"feed america\",\n  \"series\": \"Life Changing Stories\",\n  \"date\": \"2023-07-23\",\n  \"uid\": \"4b6deb8dd779faa9683568c0009b8a5d\"\n },\n {\n  \"id\": 4302,\n  \"title\": \"dogman evidence break down\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-07-16\",\n  \"uid\": \"7f38bce373dc6e809f7561d1cddc837a\"\n },\n {\n  \"id\": 4285,\n  \"title\": \"wth is this 3 dogmen\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-07-16\",\n  \"uid\": \"70f805c8059fba92e46715639d68bb04\"\n },\n {\n  \"id\": 4257,\n  \"title\": \"cicadaman\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-07-15\",\n  \"uid\": \"7dcf10a821f7239cf87fab2b859de5cf\"\n },\n {\n  \"id\": 4252,\n  \"title\": \"Our First Date\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-07-15\",\n  \"uid\": \"083dd3d6587e1c92e97bc7dcd78bac46\"\n },\n {\n  \"id\": 4246,\n  \"title\": \"I want Mayhaem\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-07-15\",\n  \"uid\": \"bba9e32bac307c995e71d984af3e57e9\"\n },\n {\n  \"id\": 4195,\n  \"title\": \"BIGFOOT CHOPPED THAT TREE\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"dc383a97f7a27d50501add2d7214b089\"\n },\n {\n  \"id\": 4189,\n  \"title\": \"BIGFOOT DONE LOST HIM MIND\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"80131cf09294ff51dd2fe92256c1d7f1\"\n },\n {\n  \"id\": 4184,\n  \"title\": \"CRAZY UNCLE BUCK\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"eb25515813586460eb2668c3e1b8406d\"\n },\n {\n  \"id\": 4178,\n  \"title\": \"BIGFOOT GONE WILD\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"a3f788df7e19ea7314d72102ef9073c9\"\n },\n {\n  \"id\": 4116,\n  \"title\": \"INHUMANS PART 1\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"feefa1dbdf784470dfe92acf83a86fb5\"\n },\n {\n  \"id\": 4111,\n  \"title\": \"INHUMANS PART 2\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"60a15ae89649897f65205479e335d383\"\n },\n {\n  \"id\": 4106,\n  \"title\": \"THE WINGED ONES\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"0cd388f8eaae924f738aa2e963ba216a\"\n },\n {\n  \"id\": 4101,\n  \"title\": \"ALASKAN EXPETITION\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"e24df049fe8a7b2764db58f41b20c700\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/alaskan-expetition-cover.png\"\n },\n {\n  \"id\": 4096,\n  \"title\": \"SOMMES MORTIS\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"526faf3aaa00ae704d9d48ab832b122b\"\n },\n {\n  \"id\": 4076,\n  \"title\": \"CRWON ME KING\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"e290672ff62b15e6894196dda2a93630\"\n },\n {\n  \"id\": 4059,\n  \"title\": \"BARRY THE BULLY\",\n  \"series\": \"Tales From Da Hood\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"b28244c31184d9e672ec481e9f4fa900\"\n },\n {\n  \"id\": 4054,\n  \"title\": \"GET THE MESSAGE\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"45b8242edcb2472b9e175544c23b7ae6\"\n },\n {\n  \"id\": 4049,\n  \"title\": \"I'M JUST THE MAIL MAN 2\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"d3fc8e415a5923a85be8c91bc38c560f\"\n },\n {\n  \"id\": 4044,\n  \"title\": \"JUST THE MAIL MAN\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"63e3bfec5e3173c98dd08fa7624c49a0\"\n },\n {\n  \"id\": 3821,\n  \"title\": \"big swamp encounter\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"2701840302887d10eb333d01237b3e2b\"\n },\n {\n  \"id\": 3815,\n  \"title\": \"never go full retard\",\n  \"series\": \"Tales From Da Hood\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"ec9824b86b44edc64897d0677ab248d1\"\n },\n {\n  \"id\": 3810,\n  \"title\": \"fat bruce and dogman\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"988524ff12911448ec69978ae1553b19\"\n },\n {\n  \"id\": 3805,\n  \"title\": \"the mosley house\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"a193bfa21ca245f89f32beb3eb970d4f\"\n },\n {\n  \"id\": 3800,\n  \"title\": \"when cops see dogman\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"ec438536d2e06a4e842a075f45ab10ce\"\n },\n {\n  \"id\": 3394,\n  \"title\": \"IN LOVE WITH AN ALIEN\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"77f799178a9cdda3dcd4b4c772d4ffd0\"\n },\n {\n  \"id\": 3371,\n  \"title\": \"BAD NEIGHBORS\",\n  \"series\": \"Tales From Da Hood\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"a46efdd5e2768b9a2d554f59ea0b5e4f\"\n },\n {\n  \"id\": 3366,\n  \"title\": \"BOTTOM OF THE RIVER\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"4c4407bc9ff41ade191df8f3d5f8a307\"\n },\n {\n  \"id\": 3361,\n  \"title\": \"THE 3 ROBES\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"92b0b0df29c50c66ceb0da55aeecb683\"\n },\n {\n  \"id\": 3356,\n  \"title\": \"HATMAN IN THE QUATERS\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"e14ea259c9d2d88eb14fa973d3a865da\"\n },\n {\n  \"id\": 3351,\n  \"title\": \"HE HAD TENTACLES\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"b152093b70cd752893e2b2a76bb6f916\"\n },\n {\n  \"id\": 3346,\n  \"title\": \"BLACKMOM VS BLACKEYED KIDS\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"2bd785cea4b41bc361c5482f0cac08cd\"\n },\n {\n  \"id\": 3341,\n  \"title\": \"THE DARK WOODS\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"9257ef0437d9c34bdf6791ef65042db2\"\n },\n {\n  \"id\": 3335,\n  \"title\": \"THE REAL MONSTER HOUSE\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"c4e566459eb734a136ef83781646bada\"\n },\n {\n  \"id\": 3330,\n  \"title\": \"DALLAS GORGYLE\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"6b859ddd7a9dd75aa99a2cae4b2be3d7\"\n },\n {\n  \"id\": 3325,\n  \"title\": \"MAN UP!!\",\n  \"series\": \"Tales From Da Hood\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"4d3de1ab5721dff6c1c6775e0854d690\"\n },\n {\n  \"id\": 3178,\n  \"title\": \"spiritual smack down\",\n  \"series\": \"Spiritual Warfare\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"10bc73bc5844de379117e21c1798057d\"\n },\n {\n  \"id\": 3173,\n  \"title\": \"valley of darkness\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"f54dc087fcc1d68b480cc60750e9327a\"\n },\n {\n  \"id\": 3168,\n  \"title\": \"doctor wong\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"cbf5582929a9dbb29f8b66128994e4e7\"\n },\n {\n  \"id\": 3150,\n  \"title\": \"dev rugne i was taken as a kid\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"c9fa051a1e50d6583145b43c770b1687\"\n },\n {\n  \"id\": 3145,\n  \"title\": \"amy edwards what the paranormal\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"75cec0c55f6ced8c5b31fc435acf969c\"\n },\n {\n  \"id\": 3140,\n  \"title\": \"bettina moss dogman and bigfoot\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"63a5d6a3e29bb6360c7bbb17dffcca86\"\n },\n {\n  \"id\": 3135,\n  \"title\": \"basecamp chris\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"cfbc68d5b42fa36822c43cfc6d62e28a\"\n },\n {\n  \"id\": 3127,\n  \"title\": \"spiritual truth bombs\",\n  \"series\": \"Spiritual Warfare\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"ba067fcc97f3984a40a8bb6221ebb2e8\"\n },\n {\n  \"id\": 3122,\n  \"title\": \"greg little lost city of atlantis\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"07988fcacdd4b27e031ee7e0cbbf1960\"\n },\n {\n  \"id\": 3117,\n  \"title\": \"dr karl shuker\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"f56cada7a778bca7a5c99429ceb7ae4c\"\n },\n {\n  \"id\": 3112,\n  \"title\": \"richard freeman\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"9519dadda27036bc8bfe5f869ed93883\"\n },\n {\n  \"id\": 3106,\n  \"title\": \"nick gilland night life kennel\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"3f5e631889f7cc8b4df558e7a4e3a317\"\n },\n {\n  \"id\": 3101,\n  \"title\": \"da roberts dogman bigfoot\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"6d91fa4661a1bc5ca2ef04086a5758ed\"\n },\n {\n  \"id\": 3096,\n  \"title\": \"jordan hipps protect what you love\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"0535217546e66e094be8b9cbb0f0ea7c\"\n },\n {\n  \"id\": 3091,\n  \"title\": \"nick valente dogman hunter\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"0efadb6ba6813a87f5ac333c93942fba\"\n },\n {\n  \"id\": 3085,\n  \"title\": \"steve ward ufo, dogman and aliens\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"3604c62b7c86231a2adc381477110998\"\n },\n {\n  \"id\": 3080,\n  \"title\": \"ant bowden bushcraft and the paranormal\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"6061998b9c6bcca0ce51d5bc37b83a47\"\n },\n {\n  \"id\": 3075,\n  \"title\": \"blue fort pierce dogman encounter\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"8b38be214cad0bc95cc0505510be48cf\"\n },\n {\n  \"id\": 3070,\n  \"title\": \"what if tommrow\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"f7e9c34b9eeed14a65c10fb3d8d4937c\"\n },\n {\n  \"id\": 3045,\n  \"title\": \"when cops shoot dogman\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"c3725c653ea1b8b342c684f40f9361ea\"\n },\n {\n  \"id\": 3040,\n  \"title\": \"maybe it was dogman\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"65e76c1eb7de0ea56bf02056b89c8dc2\"\n },\n {\n  \"id\": 3035,\n  \"title\": \"they pissed it off\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"24ca185e08a9dfe6da36f7c762761ddd\"\n },\n {\n  \"id\": 3030,\n  \"title\": \"it wanted to kill my wife\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"6e0be01d205d00ffbf5e60d3c19ded4b\"\n },\n {\n  \"id\": 3025,\n  \"title\": \"dogman the altar\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"fd76845140d8176006419d271f23183b\"\n },\n {\n  \"id\": 3020,\n  \"title\": \"tired of dogman\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"7f11beb278b65b8c7e4d72527efa8691\"\n },\n {\n  \"id\": 3015,\n  \"title\": \"worst birthday ever\",\n  \"series\": \"Tales From Da Hood\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"1e50cefd8d70fced9f17d9434e4c16f7\"\n },\n {\n  \"id\": 3010,\n  \"title\": \"not dogman encounter\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"c9264a046c2d8a8fbf484f3bb0495fcb\"\n },\n {\n  \"id\": 3005,\n  \"title\": \"surronded by dogmen\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"66f40704bae25e75436a1bfd53b2c500\"\n },\n {\n  \"id\": 3000,\n  \"title\": \"the crash dogman encounter\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"1962f45508c9929e875b939e8fe086dc\"\n },\n {\n  \"id\": 2995,\n  \"title\": \"portals are real\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"b92bd4cdd09b8cc1d38e860b88ba783f\"\n },\n {\n  \"id\": 2990,\n  \"title\": \"mama said dogman is not real\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"191b4e842b8c453b4bcd9c2de2310809\"\n },\n {\n  \"id\": 2985,\n  \"title\": \"when dogman attacks\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"8c2ebf5c140f07f5fbb699f4a13d55cd\"\n },\n {\n  \"id\": 2980,\n  \"title\": \"dogman wolf of the fog\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"783af20b133f2eb894e8672a2d7556d6\"\n },\n {\n  \"id\": 2975,\n  \"title\": \"bigfoot and dogman\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"eb0335f2097a697040964d62052e1092\"\n },\n {\n  \"id\": 2947,\n  \"title\": \"it was 15 feet tall\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"a459312919decc7c54982161ab6dc621\"\n },\n {\n  \"id\": 2909,\n  \"title\": \"dark waters and dave schrader\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"375b9606eb22f83c3d445de43887d8c6\"\n },\n {\n  \"id\": 2904,\n  \"title\": \"dark waters story telling\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"f37e201ff40c6f49e9cad03dfcf13b25\"\n },\n {\n  \"id\": 2898,\n  \"title\": \"greg conner interview\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"c0193b079b4db03f60ad71e8d7b4d051\"\n },\n {\n  \"id\": 2893,\n  \"title\": \"dark waters on arcane radio\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"0782bab94f992ca1f3b0721a63b69f88\"\n },\n {\n  \"id\": 2888,\n  \"title\": \"the bigfoot protecter\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"00a1809c132950b7b17cfd48e47454f7\"\n },\n {\n  \"id\": 2883,\n  \"title\": \"contact mike patterson\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"751d79623fd49181646c37b1160190c8\"\n },\n {\n  \"id\": 2855,\n  \"title\": \"bigfoot took my bitch\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"b8c3306afafa8e4b5accd3a414e44ee1\"\n },\n {\n  \"id\": 2775,\n  \"title\": \"dogman back that van up\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"7c2c489f769db605c306a2c4717c95b4\"\n },\n {\n  \"id\": 3271,\n  \"title\": \"jimmy barr\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"bf249cdc43854481eb3272e6415443c5\"\n },\n {\n  \"id\": 3266,\n  \"title\": \"pat spain beast hunter\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"a8fb13b7e4e38893e73b07784344fbe1\"\n },\n {\n  \"id\": 3253,\n  \"title\": \"what lurks beneath\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"68eed17122b37c6385ee042774b6b8ec\"\n },\n {\n  \"id\": 3248,\n  \"title\": \"ky;e dehene\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"594b8301ff33089f8c37adaa6e168fa5\"\n },\n {\n  \"id\": 3243,\n  \"title\": \"pat turner\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"6aadc101dff3cf703ce3cc6512ab29cf\"\n },\n {\n  \"id\": 3238,\n  \"title\": \"dr. bill hewitt\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"9905d15d5d1d7996c289e1b011f984ef\"\n },\n {\n  \"id\": 3233,\n  \"title\": \"mark zazskey\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"03cbaa8eaffaa05c48368f8b7ce50999\"\n },\n {\n  \"id\": 3228,\n  \"title\": \"jonny 2 bears\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"691db1b247375c2104ec332d1909faa0\"\n },\n {\n  \"id\": 3216,\n  \"title\": \"operation black sun\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"afe9630fed63164f916ffcf8db35dcbc\"\n },\n {\n  \"id\": 3210,\n  \"title\": \"uncle murda\",\n  \"series\": \"Tales From Da Hood\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"f15eae007d98d6a617301810dcc15b3b\"\n },\n {\n  \"id\": 3204,\n  \"title\": \"the wolf\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"0d6548ef57ae924f570a260c879fed23\"\n },\n {\n  \"id\": 2937,\n  \"title\": \"jonathan brown\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"8101dc8ff2e786295395fc807fea3ab7\"\n },\n {\n  \"id\": 2935,\n  \"title\": \"peter v puttkamer\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"4714178939ab3a42279fdc3c646ba069\"\n },\n {\n  \"id\": 2930,\n  \"title\": \"ron murphy dogman and the fey\",\n  \"series\": \"Interviews\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"94a19b2b14a52093179519108c3d37e2\"\n },\n {\n  \"id\": 2924,\n  \"title\": \"mars mind control\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"3240a3f8c91eab771f3515ef1e3087d9\"\n },\n {\n  \"id\": 2919,\n  \"title\": \"bigfoot and the little people\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"23008ee463374c09d7d2bec8584accab\"\n },\n {\n  \"id\": 2914,\n  \"title\": \"wookies in pennsylvaina\",\n  \"series\": \"Bigfoot\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"a2e8a3e2e329b6ba80049499c210d893\"\n },\n {\n  \"id\": 2689,\n  \"title\": \"Luckkow Germany dogman encounter\",\n  \"series\": \"Dogman\",\n  \"date\": \"2023-06-19\",\n  \"uid\": \"2c9883679c2eacc2575266b17c10e420\"\n },\n {\n  \"id\": 2684,\n  \"title\": \"my wife was possesed\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-19\",\n  \"uid\": \"301f400aed5897f14b275277b53a9d62\"\n },\n {\n  \"id\": 2679,\n  \"title\": \"the cornfields\",\n  \"series\": \"Encounters\",\n  \"date\": \"2023-06-19\",\n  \"uid\": \"76a1936ca2d975df4b2fa02484fc02a6\"\n },\n {\n  \"id\": 2670,\n  \"title\": \"HellHound\",\n  \"series\": \"Paranormal Unexplained\",\n  \"date\": \"2023-06-19\",\n  \"uid\": \"9b2871362458f27ad833ecd12dc8c5e6\"\n },\n {\n  \"id\": 2663,\n  \"title\": \"charity hospital\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-19\",\n  \"uid\": \"19acbd06956b2fb78b5bac6f41bb0af2\"\n },\n {\n  \"id\": 2656,\n  \"title\": \"night watch\",\n  \"series\": \"Ghost Stories\",\n  \"date\": \"2023-06-19\",\n  \"uid\": \"fb95d513ecb1e02c9f754a5d9e76afd9\"\n },\n {\n  \"id\": 2488,\n  \"title\": \"Uncle Murda: Rise and Fall of the 808's\",\n  \"series\": \"Tales From Da Hood\",\n  \"date\": \"2023-03-22\",\n  \"uid\": \"8363aa1bcbdbcf6fbb23837edfd485fe\"\n },\n {\n  \"id\": 2127,\n  \"title\": \"DARK WATERS VIDOE BLOGS\",\n  \"series\": \"Encounters\",\n  \"date\": \"2022-08-14\",\n  \"uid\": \"5223f239c80f82c62dee11405f9c4639\"\n },\n {\n  \"id\": 791,\n  \"title\": \"DOGMAN STORIES-E\",\n  \"series\": \"Dogman\",\n  \"date\": \"2022-07-26\",\n  \"uid\": \"8f362f95ba1b32c54c982cbb9275c819\"\n },\n {\n  \"id\": 2361,\n  \"title\": \"Shocking Bigfoot Encounters\",\n  \"series\": \"Books\",\n  \"date\": \"2023-02-24\",\n  \"uid\": null,\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2022\/07\/SHOCKING-BIGFOOT-ENCOUNTERS.jpg\",\n  \"pdf\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/02\/Shocking-Bigfoot-Sightings-part-1.pdf\"\n },\n {\n  \"id\": 2617,\n  \"title\": \"Shocking Bigfoot Encounters Volume II\",\n  \"series\": \"Books\",\n  \"date\": \"2023-05-06\",\n  \"uid\": null,\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/05\/Shocking-Bigfoot-Encoutner-Part-II.png\",\n  \"pdf\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/05\/Shocking-Bigfoot-Encounters-Volume-II.pdf\"\n },\n {\n  \"id\": 2450,\n  \"title\": \"The Terror in the Trees\",\n  \"series\": \"Books\",\n  \"date\": \"2023-03-03\",\n  \"uid\": null,\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/03\/The-Terror-In-The-Trees.jpg\",\n  \"pdf\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/03\/Terror-In-The-Trees.pdf\"\n },\n {\n  \"id\": 2422,\n  \"title\": \"Terrifying Tales from the Reservation\",\n  \"series\": \"Books\",\n  \"date\": \"2023-02-27\",\n  \"uid\": null,\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/02\/Terrfying-Tales-Cover.jpg\",\n  \"pdf\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/02\/Terrifying-tales-revzz.pdf\"\n },\n {\n  \"id\": 2415,\n  \"title\": \"Siege of Lockett Ranch\",\n  \"series\": \"Books\",\n  \"date\": \"2023-02-27\",\n  \"uid\": null,\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/02\/Dogman-Encouter-Siege-of-Lockett-Ranch.jpg\",\n  \"pdf\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/02\/Dogman-Siege-Of-Lockett-Ranch.pdf\"\n },\n {\n  \"id\": 2465,\n  \"title\": \"Spiritual Effects of Cryptid Encounters\",\n  \"series\": \"Books\",\n  \"date\": \"2023-03-17\",\n  \"uid\": null,\n  \"pdf\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/03\/Cryptid-Effect-White-Paper.pdf\"\n },\n {\n  \"id\": 2226,\n  \"title\": \"TAG 7 White Paper\",\n  \"series\": \"Books\",\n  \"date\": \"2022-09-10\",\n  \"uid\": null,\n  \"pdf\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2022\/09\/Tag-7-Two-Appendices-ver2.pdf\"\n }\n];\nwindow.DW_ALBUMS = [\n {\n  \"id\": 4401,\n  \"title\": \"Terror Dogman\",\n  \"date\": \"2023-10-10\",\n  \"uid\": \"0a1730d2ee38e26cd546e8223a2a181f\",\n  \"cover\": \"https:\/\/videodelivery.net\/0a1730d2ee38e26cd546e8223a2a181f\/thumbnails\/thumbnail.jpg?width=794&height=445&fit=crop\"\n },\n {\n  \"id\": 4096,\n  \"title\": \"Sommes Mortis\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"526faf3aaa00ae704d9d48ab832b122b\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_A_TOMBSTONE_c9af91cc-0393-4159-9aa8-92a4c15a32ca.png\"\n },\n {\n  \"id\": 4101,\n  \"title\": \"Alaskan Expedition\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"e24df049fe8a7b2764db58f41b20c700\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_WOODS_OF_ALASKA_e35bc366-ae50-49e8-9835-5f3d7fab7a2e.png\"\n },\n {\n  \"id\": 4106,\n  \"title\": \"The Winged Ones\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"0cd388f8eaae924f738aa2e963ba216a\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_WINGED_FLYING_FEMALE_CREATURE_ebebdfc2-27a1-4160-90b6-f47afeac458b.png\"\n },\n {\n  \"id\": 4076,\n  \"title\": \"Crown Me King\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"e290672ff62b15e6894196dda2a93630\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_CROWN_ME_KING_BLACKMAN_SITTING_ON_THRONE_b6b7fbe0-22f1-47fc-8fcb-bf9e914a7742.png\"\n },\n {\n  \"id\": 4116,\n  \"title\": \"Inhumans \\u2014 Part 1\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"feefa1dbdf784470dfe92acf83a86fb5\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_INHUMANS_MANY_GIANTS_35da0bb1-352b-4faa-bcce-ddebe6fd08c3.png\"\n },\n {\n  \"id\": 4111,\n  \"title\": \"Inhumans \\u2014 Part 2\",\n  \"date\": \"2023-06-21\",\n  \"uid\": \"60a15ae89649897f65205479e335d383\",\n  \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_INHUMANS_MANY_GIANTS_35da0bb1-352b-4faa-bcce-ddebe6fd08c3.png\"\n },\n {\n  \"id\": 3199,\n  \"title\": \"Rick Flair\",\n  \"date\": \"2023-06-20\",\n  \"uid\": \"940e091b55257921187da053b183bfbc\",\n  \"cover\": \"https:\/\/videodelivery.net\/940e091b55257921187da053b183bfbc\/thumbnails\/thumbnail.jpg?width=794&height=445&fit=crop\"\n }\n];\n<\/script><br \/>\n<script>\/* Dark Waters \u2014 Audible-style storefront preview.\n   Catalog comes from catalog.js (window.DW_CATALOG, alive stories only).\n   Resume\/progress + saved list use localStorage in the preview;\n   production syncs to WP user meta \/ MemberPress. *\/\nconst CATALOG = window.DW_CATALOG;\nconst ALBUMS = (window.DW_ALBUMS || []).map(a =>\n  Object.assign({}, a, { series: \"Albums\", album: true }));\nconst ALL_ITEMS = CATALOG.concat(ALBUMS);\nconst findItem = (id) => ALL_ITEMS.find(e => e.id === +id);\nconst SHELF_ORDER = [\n  \"Dogman\", \"Ghost Stories\", \"Bigfoot\", \"Encounters\",\n  \"Paranormal Unexplained\", \"Tales From Da Hood\",\n  \"Interviews\", \"Spiritual Warfare\", \"Books\",\n];\nconst ROW_CAP = 12;\nconst $ = (s) => document.querySelector(s);\nconst esc = (s) => String(s).replace(\/[&<>\"']\/g, (c) => ({\n  \"&\": \"&amp;\", \"<\": \"&lt;\", \">\": \"&gt;\", '\"': \"&quot;\", \"'\": \"&#39;\",\n}[c]));\nconst MONTHS = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\n  \"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\nconst fmtDate = (d, short) => {\n  const [y, m] = d.split(\"-\");\n  const name = MONTHS[+m - 1];\n  return (short ? name.slice(0, 3) : name) + \" \" + y;\n};\nconst fmt = (s) => {\n  s = Math.max(0, Math.floor(s));\n  const h = Math.floor(s \/ 3600), m = Math.floor((s % 3600) \/ 60), x = s % 60;\n  return h ? `${h}:${String(m).padStart(2,\"0\")}:${String(x).padStart(2,\"0\")}`\n           : `${m}:${String(x).padStart(2,\"0\")}`;\n};\nconst THUMB_W = matchMedia(\"(max-width: 860px)\").matches ? 288 : 352;\nconst thumb = (uid, w) =>\n  `https:\/\/videodelivery.net\/${uid}\/thumbnails\/thumbnail.jpg?width=${w || THUMB_W}&height=${w || THUMB_W}&fit=crop`;\nconst wideThumb = (uid) =>\n  `https:\/\/videodelivery.net\/${uid}\/thumbnails\/thumbnail.jpg?width=1400&height=560&fit=crop`;\n\/* audio-based stories have {audio, cover}; books have {pdf} *\/\nconst keyOf = (ep) => ep.uid || ep.audio || ep.pdf;\nconst coverOf = (ep, w) => ep.uid ? thumb(ep.uid, w) : ep.cover;\nconst wideOf = (ep) => ep.hero || (ep.uid ? wideThumb(ep.uid) : ep.cover);\nconst bookCoverHTML = (ep) => `\n  \\x3cdiv class=\"cover cover-book\">\\x3cdiv class=\"book-jacket\">\n    \\x3cdiv class=\"book-tag\">PDF&nbsp;BOOK\\x3c\/div>\n    \\x3cdiv class=\"book-name\">${esc(ep.title)}\\x3c\/div>\n    \\x3cdiv class=\"book-author\">Dark Waters\\x3c\/div>\n  \\x3c\/div>\\x3c\/div>`;\nconst byDate = (a, b) => b.date.localeCompare(a.date);\nconst CATS = {};\nCATALOG.forEach(e => (CATS[e.series] ||= []).push(e));\nObject.values(CATS).forEach(l => l.sort(byDate));\nconst CAT_NAMES = SHELF_ORDER.filter(n => CATS[n])\n  .concat(Object.keys(CATS).filter(n => !SHELF_ORDER.includes(n)).sort());\n\/* ---------- stores (preview: localStorage) ---------- *\/\nconst watch = {\n  get() { try { return JSON.parse(localStorage.getItem(\"dw-watch\") || \"{}\"); } catch { return {}; } },\n  set(key, pos, dur) {\n    const d = watch.get();\n    d[key] = { pos, dur: dur || (d[key] && d[key].dur) || 0, at: Date.now() };\n    localStorage.setItem(\"dw-watch\", JSON.stringify(d));\n  },\n};\nconst saved = {\n  get() { try { return JSON.parse(localStorage.getItem(\"dw-saved\") || \"[]\"); } catch { return []; } },\n  has(id) { return saved.get().includes(id); },\n  toggle(id) {\n    const l = saved.get();\n    const i = l.indexOf(id);\n    i >= 0 ? l.splice(i, 1) : l.push(id);\n    localStorage.setItem(\"dw-saved\", JSON.stringify(l));\n    return i < 0;\n  },\n};\nconst resumable = (ep) => {\n  const r = watch.get()[keyOf(ep)];\n  return r && r.pos > 30 && (!r.dur || r.pos < r.dur * 0.95) ? r : null;\n};\nconst inProgress = () =>\n  ALL_ITEMS.filter(e => resumable(e))\n    .sort((a, b) => watch.get()[keyOf(b)].at - watch.get()[keyOf(a)].at);\n\/* ---------- lazy covers ---------- *\/\nconst imgObs = new IntersectionObserver((entries) => {\n  for (const en of entries) {\n    if (!en.isIntersecting) continue;\n    const im = en.target;\n    im.onload = () => im.classList.add(\"ld\");\n    im.src = im.dataset.src;\n    im.removeAttribute(\"data-src\");\n    imgObs.unobserve(im);\n  }\n}, { rootMargin: \"300px\" });\nconst hookImages = () =>\n  document.querySelectorAll(\"img[data-src]\").forEach((im) => imgObs.observe(im));\n\/* ---------- pieces ---------- *\/\nfunction tileHTML(ep, withResume) {\n  if (ep.album) return albumTileHTML(ep);\n  const r = withResume ? resumable(ep) : null;\n  const pct = r && r.dur ? Math.min(99, Math.round(r.pos \/ r.dur * 100)) : 0;\n  return `\n  \\x3ca class=\"tile\" href=\"#\/title\/${ep.id}\">\n    ${ep.pdf && !ep.cover ? bookCoverHTML(ep)\n      : `\\x3cdiv class=\"cover\">\\x3cimg data-src=\"${coverOf(ep)}\" alt=\"\">\\x3c\/div>`}\n    \\x3cdiv class=\"tile-title\">${esc(ep.title)}\\x3c\/div>\n    \\x3cdiv class=\"tile-series\">${esc(ep.series)}\\x3c\/div>\n    ${r ? `\\x3cdiv class=\"progress\">\\x3ci style=\"width:${pct}%\">\\x3c\/i>\\x3c\/div>\n           \\x3cdiv class=\"resume-at\">Resume \u00b7 ${fmt(r.pos)}\\x3c\/div>` : \"\"}\n  \\x3c\/a>`;\n}\nfunction albumTileHTML(a) {\n  const r = resumable(a);\n  const pct = r && r.dur ? Math.min(99, Math.round(r.pos \/ r.dur * 100)) : 0;\n  return `\n  \\x3ca class=\"tile tile-wide\" href=\"#\/album\/${a.id}\">\n    \\x3cdiv class=\"cover cover-wide\">\\x3cimg data-src=\"${a.cover}\" alt=\"\">\\x3c\/div>\n    \\x3cdiv class=\"tile-title\">${esc(a.title)}\\x3c\/div>\n    \\x3cdiv class=\"tile-series\">Album\\x3c\/div>\n    ${r ? `\\x3cdiv class=\"progress\">\\x3ci style=\"width:${pct}%\">\\x3c\/i>\\x3c\/div>\n           \\x3cdiv class=\"resume-at\">Resume \u00b7 ${fmt(r.pos)}\\x3c\/div>` : \"\"}\n  \\x3c\/a>`;\n}\nfunction shelfHTML(title, list, opts) {\n  opts = opts || {};\n  const shown = list.slice(0, ROW_CAP);\n  const all = opts.seeAll && list.length > ROW_CAP\n    ? `\\x3ca class=\"shelf-all\" href=\"${opts.seeAll}\">See all (${list.length})\\x3c\/a>` : \"\";\n  return `\\x3csection class=\"shelf\">\n    \\x3cdiv class=\"shelf-head\">\\x3ch2>${esc(title)}\\x3c\/h2>\n      \\x3cspan class=\"shelf-count\">${list.length}\\x3c\/span>${all}\\x3c\/div>\n    \\x3cdiv class=\"row\">${shown.map(e => tileHTML(e, opts.resume)).join(\"\")}\\x3c\/div>\n  \\x3c\/section>`;\n}\n\/* ---------- views ---------- *\/\nconst ICONS = {\n  phones: `\\x3csvg viewBox=\"0 0 24 24\" width=\"30\" height=\"30\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\">\\x3cpath d=\"M4 13a8 8 0 0 1 16 0\"\/>\\x3crect x=\"3\" y=\"13\" width=\"4\" height=\"7\" rx=\"1.6\"\/>\\x3crect x=\"17\" y=\"13\" width=\"4\" height=\"7\" rx=\"1.6\"\/>\\x3c\/svg>`,\n  spark:  `\\x3csvg viewBox=\"0 0 24 24\" width=\"30\" height=\"30\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\">\\x3cpath d=\"M12 3v18M3 12h18\"\/>\\x3ccircle cx=\"12\" cy=\"12\" r=\"8.5\"\/>\\x3c\/svg>`,\n  resume: `\\x3csvg viewBox=\"0 0 24 24\" width=\"30\" height=\"30\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\">\\x3ccircle cx=\"12\" cy=\"12\" r=\"9\"\/>\\x3cpath d=\"M12 7v5l3.5 2\"\/>\\x3c\/svg>`,\n};\nfunction landingHTML() {\n  const mosaic = CAT_NAMES.map(n => CATS[n][0]).filter(Boolean).slice(0, 8);\n  let html = `\n  \\x3csection class=\"land-hero\">\n    \\x3cdiv class=\"land-hero-in\">\n      \\x3cdiv class=\"land-copy\">\n        \\x3cspan class=\"hero-kicker\">Members-only true stories\\x3c\/span>\n        \\x3ch1>Step into the dark.\\x3cbr>The stories are true.\\x3c\/h1>\n        \\x3cp>Dogman. Bigfoot. Ghost stories. Real encounters from real people,\n        told fireside-style by Dark Waters \u2014 an archive of ${CATALOG.length} member-exclusive\n        stories you won't hear anywhere else.\\x3c\/p>\n        \\x3cdiv class=\"hero-cta\">\n          \\x3ca class=\"btn btn-orange btn-big\" href=\"#\/\" data-cta=\"join\">Become a member\\x3c\/a>\n          \\x3ca class=\"btn btn-outline btn-big\" href=\"#\/home\" data-cta=\"signin\">Already a member? Sign in\\x3c\/a>\n        \\x3c\/div>\n        \\x3cdiv class=\"land-note\">${CATALOG.length} stories \u00b7 ${CAT_NAMES.length} worlds \u00b7 new encounters added regularly \u00b7 cancel anytime\\x3c\/div>\n      \\x3c\/div>\n      \\x3cdiv class=\"land-mosaic\">${mosaic.map(e =>\n        `\\x3cimg src=\"${coverOf(e, 300)}\" alt=\"\" loading=\"lazy\">`).join(\"\")}\\x3c\/div>\n    \\x3c\/div>\n  \\x3c\/section>\n  \\x3cdiv class=\"wrap\">\n    ${shelfHTML(\"Now playing in the member library\", CATALOG.slice().sort(byDate))}\n    \\x3cdiv class=\"vprops\">\n      \\x3cdiv class=\"vprop\">${ICONS.phones}\\x3ch3>An archive you can't get anywhere else\\x3c\/h3>\n        \\x3cp>Every story is a member exclusive \u2014 true listener encounters read by Dark Waters, organized into series so you can binge your world.\\x3c\/p>\\x3c\/div>\n      \\x3cdiv class=\"vprop\">${ICONS.spark}\\x3ch3>New stories, all the time\\x3c\/h3>\n        \\x3cp>Fresh encounters land in the library regularly. Your membership covers everything \u2014 no per-story purchases, ever.\\x3c\/p>\\x3c\/div>\n      \\x3cdiv class=\"vprop\">${ICONS.resume}\\x3ch3>Pick up right where you left off\\x3c\/h3>\n        \\x3cp>Start on your phone, finish on your laptop. Your library holds your place in every story automatically.\\x3c\/p>\\x3c\/div>\n    \\x3c\/div>\n  \\x3c\/div>\n  \\x3cdiv class=\"band\">\\x3cdiv class=\"wrap\">\n    \\x3csection class=\"shelf\">\n      \\x3cdiv class=\"shelf-head\">\\x3ch2>Choose your world\\x3c\/h2>\\x3c\/div>\n      \\x3cdiv class=\"chips\">${CAT_NAMES.map(n =>\n        `\\x3ca class=\"chip\" href=\"#\/browse\/${encodeURIComponent(n)}\">${esc(n)}\\x3cspan>${CATS[n].length}\\x3c\/span>\\x3c\/a>`).join(\"\")}\\x3ca class=\"chip\" href=\"#\/albums\">Albums\\x3cspan>${ALBUMS.length}\\x3c\/span>\\x3c\/a>\\x3c\/div>\n    \\x3c\/section>\n  \\x3c\/div>\\x3c\/div>\n  \\x3csection class=\"price-band\">\n    \\x3cdiv class=\"price-in\">\n      \\x3ch2>One membership. The whole archive.\\x3c\/h2>\n      \\x3cp>Every story, every series, on any device \u2014 one price covers it all.\\x3c\/p>\n      \\x3cdiv class=\"price-tag\">$99\\x3cspan>\/year\\x3c\/span>\\x3c\/div>\n      \\x3ca class=\"btn btn-orange btn-big\" href=\"#\/\" data-cta=\"join\">Become a member\\x3c\/a>\n      \\x3cdiv class=\"land-note\">Returning member? Your original price is waiting for you.\\x3c\/div>\n    \\x3c\/div>\n  \\x3c\/section>`;\n  return html;\n}\nfunction homeHTML() {\n  const featured = CATALOG.slice().sort(byDate)[0];\n  let html = `\n  \\x3csection class=\"hero\">\n    \\x3cdiv class=\"hero-bg\" style=\"background-image:url('${wideOf(featured)}')\">\\x3c\/div>\n    \\x3cdiv class=\"hero-fade\">\\x3c\/div>\n    \\x3cdiv class=\"hero-in\">\n      \\x3cspan class=\"hero-kicker\">Members only \u00b7 New release\\x3c\/span>\n      \\x3ch1>${esc(featured.title)}\\x3c\/h1>\n      \\x3cp>${esc(featured.series)}. True encounters, told in the dark. New stories every week for members.\\x3c\/p>\n      \\x3cdiv class=\"hero-cta\">\n        \\x3ca class=\"btn btn-orange\" href=\"#\/title\/${featured.id}\">\u25b6&nbsp; Listen now\\x3c\/a>\n        \\x3ca class=\"btn btn-outline\" href=\"#\/browse\/${encodeURIComponent(featured.series)}\">Explore ${esc(featured.series)}\\x3c\/a>\n      \\x3c\/div>\n    \\x3c\/div>\n  \\x3c\/section>\n  \\x3cdiv class=\"wrap\">`;\n  const prog = inProgress();\n  if (prog.length) html += shelfHTML(\"Continue Listening\", prog, { resume: true, seeAll: \"#\/library\" });\n  html += shelfHTML(\"New Releases\", CATALOG.slice().sort(byDate), { seeAll: \"#\/browse\/\" + encodeURIComponent(CAT_NAMES[0]) });\n  html += `\\x3c\/div>\n  \\x3cdiv class=\"band band-albums\">\\x3cdiv class=\"wrap\">\n    \\x3csection class=\"shelf\">\n      \\x3cdiv class=\"shelf-head\">\\x3ch2>Albums\\x3c\/h2>\n        \\x3cspan class=\"shelf-count\">${ALBUMS.length}\\x3c\/span>\n        \\x3ca class=\"shelf-all\" href=\"#\/albums\">See all\\x3c\/a>\\x3c\/div>\n      \\x3cdiv class=\"row row-wide\">${ALBUMS.map(a => albumTileHTML(a)).join(\"\")}\\x3c\/div>\n    \\x3c\/section>\n  \\x3c\/div>\\x3c\/div>\n  \\x3cdiv class=\"band\">\\x3cdiv class=\"wrap\">\n    \\x3csection class=\"shelf\">\n      \\x3cdiv class=\"shelf-head\">\\x3ch2>Browse by world\\x3c\/h2>\\x3c\/div>\n      \\x3cdiv class=\"chips\">${CAT_NAMES.map(n =>\n        `\\x3ca class=\"chip\" href=\"#\/browse\/${encodeURIComponent(n)}\">${esc(n)}\\x3cspan>${CATS[n].length}\\x3c\/span>\\x3c\/a>`).join(\"\")}\\x3ca class=\"chip\" href=\"#\/albums\">Albums\\x3cspan>${ALBUMS.length}\\x3c\/span>\\x3c\/a>\\x3c\/div>\n    \\x3c\/section>\n  \\x3c\/div>\\x3c\/div>\n  \\x3cdiv class=\"wrap\">`;\n  for (const n of SHELF_ORDER.filter(x => CATS[x] && CATS[x].length >= 5)) {\n    html += shelfHTML(n, CATS[n], { seeAll: \"#\/browse\/\" + encodeURIComponent(n) });\n  }\n  html += `\\x3c\/div>`;\n  return html;\n}\nfunction browseHTML(cat) {\n  if (!CATS[cat]) return notFoundHTML();\n  const list = CATS[cat];\n  return `\\x3cdiv class=\"wrap\">\n    \\x3cdiv class=\"crumbs\">\\x3ca href=\"#\/home\">Home\\x3c\/a> \u203a Browse \u203a ${esc(cat)}\\x3c\/div>\n    \\x3cdiv class=\"view-head\">\\x3ch1>${esc(cat)}\\x3c\/h1>\n      \\x3cdiv class=\"view-sub\">${list.length} member stories\\x3c\/div>\\x3c\/div>\n    \\x3cdiv class=\"grid\">${list.map(e => tileHTML(e, true)).join(\"\")}\\x3c\/div>\n  \\x3c\/div>`;\n}\nfunction titleHTML(id) {\n  const ep = CATALOG.find(e => e.id === +id);\n  if (!ep) return notFoundHTML();\n  const r = resumable(ep);\n  const isSaved = saved.has(ep.id);\n  const more = CATS[ep.series].filter(e => e.id !== ep.id);\n  return `\\x3cdiv class=\"wrap\">\n    \\x3cdiv class=\"crumbs\">\\x3ca href=\"#\/home\">Home\\x3c\/a> \u203a \\x3ca href=\"#\/browse\/${encodeURIComponent(ep.series)}\">${esc(ep.series)}\\x3c\/a> \u203a ${esc(ep.title)}\\x3c\/div>\n    \\x3cdiv class=\"tp\">\n      \\x3cdiv class=\"tp-media\" id=\"tp-media\">\n        ${ep.pdf && !ep.cover ? `\\x3cdiv class=\"tp-cover\">${bookCoverHTML(ep)}\\x3c\/div>` : `\n        \\x3cdiv class=\"tp-cover\">\n          \\x3cimg src=\"${coverOf(ep, 720)}\" alt=\"\">\n          \\x3cbutton class=\"big-play\" data-watch=\"${ep.id}\" aria-label=\"Play\">\\x3cspan>\u25b6\\x3c\/span>\\x3c\/button>\n        \\x3c\/div>`}\n      \\x3c\/div>\n      \\x3cdiv class=\"tp-info\">\n        \\x3cdiv class=\"tp-series\">\\x3ca href=\"#\/browse\/${encodeURIComponent(ep.series)}\">${esc(ep.series)}\\x3c\/a>\\x3c\/div>\n        \\x3ch1>${esc(ep.title)}\\x3c\/h1>\n        \\x3cdiv class=\"tp-meta\">\n          \\x3cspan>${ep.pdf ? \"Written\" : \"Told\"} by \\x3cb>Dark Waters\\x3c\/b>\\x3c\/span>\n          \\x3cspan class=\"badge\">Members only\\x3c\/span>\n        \\x3c\/div>\n        ${r ? `\\x3cdiv class=\"tp-resume\">In progress \u2014 resume at ${fmt(r.pos)}\\x3c\/div>` : \"\"}\n        \\x3cdiv class=\"tp-actions\">\n          ${ep.pdf\n            ? `\\x3cbutton class=\"btn btn-orange\" data-watch=\"${ep.id}\">\ud83d\udcd6&nbsp; Read now\\x3c\/button>`\n            : `\\x3cbutton class=\"btn btn-orange\" data-watch=\"${ep.id}\">\u25b6&nbsp; ${r ? \"Resume\" : \"Listen now\"}\\x3c\/button>`}\n          \\x3cbutton class=\"btn btn-navy\" data-save=\"${ep.id}\">${isSaved ? \"\u2713 In your library\" : \"+ Add to library\"}\\x3c\/button>\n        \\x3c\/div>\n        \\x3cdiv class=\"tp-desc\">\n          \\x3ch3>About this ${ep.pdf ? \"book\" : \"story\"}\\x3c\/h3>\n          ${ep.pdf\n            ? `A member-exclusive Dark Waters book in PDF form \u2014 read it right in your browser or save it for later.`\n            : `A true listener encounter from the ${esc(ep.series)} archive, told fireside-style by Dark Waters.\n          Full story descriptions land in the content phase \u2014 this page shows the member experience.`}\n        \\x3c\/div>\n      \\x3c\/div>\n    \\x3c\/div>\n    ${more.length ? shelfHTML(\"More from \" + ep.series, more, { seeAll: \"#\/browse\/\" + encodeURIComponent(ep.series) }) : \"\"}\n  \\x3c\/div>`;\n}\nfunction albumsHTML() {\n  return `\\x3cdiv class=\"wrap\">\n    \\x3cdiv class=\"crumbs\">\\x3ca href=\"#\/home\">Home\\x3c\/a> \u203a Albums\\x3c\/div>\n    \\x3cdiv class=\"view-head\">\\x3ch1>Albums\\x3c\/h1>\n      \\x3cdiv class=\"view-sub\">${ALBUMS.length} full-length album experiences \u2014 one continuous listen, cover to cover\\x3c\/div>\\x3c\/div>\n    \\x3cdiv class=\"grid grid-wide\">${ALBUMS.map(a => albumTileHTML(a)).join(\"\")}\\x3c\/div>\n  \\x3c\/div>`;\n}\nfunction albumHTML(id) {\n  const ep = ALBUMS.find(e => e.id === +id);\n  if (!ep) return notFoundHTML();\n  const r = resumable(ep);\n  const isSaved = saved.has(ep.id);\n  const more = ALBUMS.filter(e => e.id !== ep.id);\n  return `\\x3cdiv class=\"wrap\">\n    \\x3cdiv class=\"crumbs\">\\x3ca href=\"#\/home\">Home\\x3c\/a> \u203a \\x3ca href=\"#\/albums\">Albums\\x3c\/a> \u203a ${esc(ep.title)}\\x3c\/div>\n    \\x3cdiv class=\"tp tp-album\">\n      \\x3cdiv class=\"tp-media\" id=\"tp-media\">\n        \\x3cdiv class=\"tp-cover tp-cover-wide\">\n          \\x3cimg src=\"${ep.cover}\" alt=\"\">\n          \\x3cbutton class=\"big-play\" data-watch=\"${ep.id}\" aria-label=\"Play\">\\x3cspan>\u25b6\\x3c\/span>\\x3c\/button>\n        \\x3c\/div>\n      \\x3c\/div>\n      \\x3cdiv class=\"tp-info\">\n        \\x3cdiv class=\"tp-series\">\\x3ca href=\"#\/albums\">Album\\x3c\/a>\\x3c\/div>\n        \\x3ch1>${esc(ep.title)}\\x3c\/h1>\n        \\x3cdiv class=\"tp-meta\">\n          \\x3cspan>Told by \\x3cb>Dark Waters\\x3c\/b>\\x3c\/span>\n          \\x3cspan class=\"badge\">Members only\\x3c\/span>\n        \\x3c\/div>\n        ${r ? `\\x3cdiv class=\"tp-resume\">In progress \u2014 resume at ${fmt(r.pos)}\\x3c\/div>` : \"\"}\n        \\x3cdiv class=\"tp-actions\">\n          \\x3cbutton class=\"btn btn-orange\" data-watch=\"${ep.id}\">\u25b6&nbsp; ${r ? \"Resume\" : \"Listen now\"}\\x3c\/button>\n          \\x3cbutton class=\"btn btn-navy\" data-save=\"${ep.id}\">${isSaved ? \"\u2713 In your library\" : \"+ Add to library\"}\\x3c\/button>\n        \\x3c\/div>\n        \\x3cdiv class=\"tp-desc\">\n          \\x3ch3>About this album\\x3c\/h3>\n          A full-length Dark Waters album \u2014 one continuous listening experience with original cover art,\n          start to finish. Settle in; this one's a journey, not a single story.\n        \\x3c\/div>\n      \\x3c\/div>\n    \\x3c\/div>\n    ${more.length ? `\\x3csection class=\"shelf\">\n      \\x3cdiv class=\"shelf-head\">\\x3ch2>More albums\\x3c\/h2>\\x3ca class=\"shelf-all\" href=\"#\/albums\">See all\\x3c\/a>\\x3c\/div>\n      \\x3cdiv class=\"row row-wide\">${more.map(a => albumTileHTML(a)).join(\"\")}\\x3c\/div>\n    \\x3c\/section>` : \"\"}\n  \\x3c\/div>`;\n}\nfunction libraryHTML() {\n  const prog = inProgress();\n  const savedList = saved.get().map(id => findItem(id)).filter(Boolean);\n  let html = `\\x3cdiv class=\"wrap\">\n    \\x3cdiv class=\"view-head\">\\x3ch1>My Library\\x3c\/h1>\n      \\x3cdiv class=\"view-sub\">Your saved stories and everything in progress\\x3c\/div>\\x3c\/div>`;\n  if (!prog.length && !savedList.length) {\n    html += `\\x3cdiv class=\"empty\">Your library is empty.\\x3cbr>\n      Open any story and press \\x3cb>+ Add to library\\x3c\/b>, or just start listening \u2014 we hold your place automatically.\\x3c\/div>`;\n  } else {\n    if (prog.length) html += shelfHTML(\"Continue Listening\", prog, { resume: true });\n    if (savedList.length) html += shelfHTML(\"Saved\", savedList);\n  }\n  return html + `\\x3c\/div>`;\n}\nfunction searchHTML(q) {\n  const needle = q.toLowerCase();\n  const hits = ALL_ITEMS.filter(e =>\n    e.title.toLowerCase().includes(needle) || e.series.toLowerCase().includes(needle));\n  return `\\x3cdiv class=\"wrap\">\n    \\x3cdiv class=\"view-head\">\\x3ch1>Search\\x3c\/h1>\n      \\x3cdiv class=\"view-sub\">${hits.length} result${hits.length === 1 ? \"\" : \"s\"} for \u201c${esc(q)}\u201d\\x3c\/div>\\x3c\/div>\n    ${hits.length ? `\\x3cdiv class=\"grid\">${hits.map(e => tileHTML(e)).join(\"\")}\\x3c\/div>`\n                  : `\\x3cdiv class=\"empty\">No stories match \u201c${esc(q)}\u201d. Try one word \u2014 \u201cdogman\u201d, \u201chospital\u201d, \u201cbigfoot\u201d\u2026\\x3c\/div>`}\n  \\x3c\/div>`;\n}\nconst notFoundHTML = () => `\\x3cdiv class=\"wrap\">\\x3cdiv class=\"empty\">That page doesn't exist. \\x3ca href=\"#\/\" style=\"color:var(--orange-dp);font-weight:700\">Back to home\\x3c\/a>\\x3c\/div>\\x3c\/div>`;\n\/* ---------- player (in title page) ---------- *\/\nlet player = null, playingEp = null;\nfunction startWatch(ep) {\n  playingEp = ep;\n  const r = resumable(ep);\n  const start = r ? Math.floor(r.pos) : 0;\n  const media = $(\"#tp-media\");\n  if (!media) return;\n  if (ep.pdf) {\n    window.open(ep.pdf, \"_blank\", \"noopener\");\n    toast(\"Opening book \u2014 new tab\");\n    return;\n  }\n  if (start) toast(\"Resuming at \" + fmt(start));\n  player = null;\n  if (ep.audio) {\n    media.innerHTML = `\n      \\x3cdiv class=\"tp-cover${ep.album ? \" tp-cover-wide\" : \"\"}\">\\x3cimg src=\"${ep.cover}\" alt=\"\">\\x3c\/div>\n      \\x3caudio id=\"tp-audio\" controls autoplay preload=\"metadata\" src=\"${ep.audio}\">\\x3c\/audio>`;\n    const au = media.querySelector(\"#tp-audio\");\n    if (start) au.currentTime = start;\n    au.addEventListener(\"timeupdate\", () => {\n      if (playingEp && au.currentTime > 0) {\n        watch.set(keyOf(playingEp), au.currentTime, au.duration || 0);\n      }\n    });\n    return;\n  }\n  media.innerHTML = `\\x3cdiv class=\"tp-frame\">\n    \\x3ciframe src=\"https:\/\/iframe.videodelivery.net\/${ep.uid}?autoplay=true${start ? `&startTime=${start}s` : \"\"}\"\n      allow=\"accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture\" allowfullscreen>\\x3c\/iframe>\\x3c\/div>`;\n  try {\n    if (window.Stream) {\n      player = Stream(media.querySelector(\"iframe\"));\n      player.addEventListener(\"timeupdate\", () => {\n        if (playingEp && player.currentTime > 0) {\n          watch.set(keyOf(playingEp), player.currentTime, player.duration || 0);\n        }\n      });\n    }\n  } catch (e) { \/* SDK optional *\/ }\n}\nfunction toast(msg) {\n  const t = $(\"#toast\");\n  t.textContent = msg; t.classList.add(\"show\");\n  clearTimeout(t._h); t._h = setTimeout(() => t.classList.remove(\"show\"), 2600);\n}\n\/* ---------- router ---------- *\/\nfunction route() {\n  const h = decodeURIComponent(location.hash || \"#\/\");\n  const m = h.match(\/^#\\\/(home|browse|title|albums|album|library|search)?\\\/?(.*)$\/) || [];\n  const view = m[1] || \"landing\";\n  const arg = (m[2] || \"\").replace(\/\\\/+$\/, \"\");\n  playingEp = null; player = null;\n  let html;\n  if (view === \"browse\" && arg) html = browseHTML(arg);\n  else if (view === \"title\" && arg) html = titleHTML(arg);\n  else if (view === \"albums\") html = albumsHTML();\n  else if (view === \"album\" && arg) html = albumHTML(arg);\n  else if (view === \"library\") html = libraryHTML();\n  else if (view === \"search\" && arg) html = searchHTML(arg);\n  else if (view === \"home\") html = homeHTML();\n  else html = landingHTML();\n  $(\"#main\").innerHTML = html;\n  hookImages();\n  highlightNav(view, arg);\n  window.scrollTo(0, 0);\n}\nfunction highlightNav(view, arg) {\n  document.querySelectorAll(\"#cat-nav a\").forEach(a => {\n    a.classList.toggle(\"active\",\n      (view === \"home\" && a.dataset.nav === \"home\") ||\n      ((view === \"albums\" || view === \"album\") && a.dataset.nav === \"albums\") ||\n      (view === \"browse\" && a.dataset.nav === arg));\n  });\n}\n\/* ---------- static chrome ---------- *\/\nfunction buildChrome() {\n  $(\"#cat-nav\").innerHTML =\n    `\\x3ca href=\"#\/home\" data-nav=\"home\">Home\\x3c\/a>` +\n    `\\x3ca href=\"#\/albums\" data-nav=\"albums\">Albums\\x3c\/a>` +\n    CAT_NAMES.map(n =>\n      `\\x3ca href=\"#\/browse\/${encodeURIComponent(n)}\" data-nav=\"${esc(n)}\">${esc(n)}\\x3c\/a>`).join(\"\") +\n    `\\x3ca href=\"#\/library\" data-nav=\"lib\">My Library\\x3c\/a>`;\n  $(\"#foot-cols\").innerHTML = [\n    [\"Explore\", CAT_NAMES.slice(0, 5).map(n => [n, \"#\/browse\/\" + encodeURIComponent(n)])],\n    [\"Membership\", [[\"Join Dark Waters\", \"#\/\"], [\"Gift memberships\", \"#\/\"], [\"Returning members\", \"#\/\"]]],\n    [\"My Stuff\", [[\"My Library\", \"#\/library\"], [\"Continue Listening\", \"#\/library\"]]],\n    [\"Support\", [[\"Help center\", \"#\/\"], [\"Contact\", \"#\/\"], [\"Account\", \"#\/\"]]],\n  ].map(([h, links]) => `\\x3cdiv class=\"foot-col\">\\x3ch4>${h}\\x3c\/h4>${\n    links.map(([t, u]) => `\\x3ca href=\"${u}\">${esc(t)}\\x3c\/a>`).join(\"\")}\\x3c\/div>`).join(\"\");\n}\n\/* ---------- wiring ---------- *\/\n$(\"#search-form\").addEventListener(\"submit\", (e) => {\n  e.preventDefault();\n  const q = $(\"#search-input\").value.trim();\n  if (q) location.hash = \"#\/search\/\" + encodeURIComponent(q);\n  hideSug();\n});\n\/* search-as-you-type suggestions *\/\nconst sugBox = document.createElement(\"div\");\nsugBox.id = \"search-sug\";\n$(\"#search-form\").appendChild(sugBox);\nconst hideSug = () => sugBox.classList.remove(\"open\");\nfunction renderSug() {\n  const q = $(\"#search-input\").value.trim().toLowerCase();\n  if (q.length < 2) return hideSug();\n  const hits = ALL_ITEMS.filter(e =>\n    e.title.toLowerCase().includes(q) || e.series.toLowerCase().includes(q));\n  if (!hits.length) return hideSug();\n  sugBox.innerHTML = hits.slice(0, 7).map(e => `\n    \\x3ca class=\"sug\" href=\"#\/${e.album ? \"album\" : \"title\"}\/${e.id}\">\n      \\x3cimg src=\"${e.album ? e.cover : coverOf(e, 96)}\" alt=\"\">\n      \\x3cspan>\\x3cb>${esc(e.title)}\\x3c\/b>\\x3ci>${esc(e.series)}\\x3c\/i>\\x3c\/span>\n    \\x3c\/a>`).join(\"\") +\n    (hits.length > 7\n      ? `\\x3ca class=\"sug-all\" href=\"#\/search\/${encodeURIComponent($(\"#search-input\").value.trim())}\">See all ${hits.length} results\\x3c\/a>`\n      : \"\");\n  sugBox.classList.add(\"open\");\n}\n$(\"#search-input\").addEventListener(\"input\", renderSug);\n$(\"#search-input\").addEventListener(\"focus\", renderSug);\n$(\"#search-input\").addEventListener(\"blur\", () => setTimeout(hideSug, 200));\nwindow.addEventListener(\"hashchange\", hideSug);\n$(\"#btn-signin\").addEventListener(\"click\", (e) => {\n  e.preventDefault();\n  location.hash = \"#\/home\";\n  toast(\"Preview sign-in \u2014 real MemberPress sign-in comes in the membership phase\");\n});\n$(\"#main\").addEventListener(\"click\", (e) => {\n  const c = e.target.closest(\"[data-cta]\");\n  if (c) {\n    if (c.dataset.cta === \"join\") {\n      e.preventDefault();\n      toast(\"Checkout wires up in the membership phase\");\n      return;\n    }\n    if (c.dataset.cta === \"signin\") {\n      toast(\"Preview sign-in \u2014 real MemberPress sign-in comes in the membership phase\");\n      return;\n    }\n  }\n  const w = e.target.closest(\"[data-watch]\");\n  if (w) {\n    const ep = findItem(w.dataset.watch);\n    if (ep) startWatch(ep);\n    return;\n  }\n  const s = e.target.closest(\"[data-save]\");\n  if (s) {\n    const added = saved.toggle(+s.dataset.save);\n    s.textContent = added ? \"\u2713 In your library\" : \"+ Add to library\";\n    toast(added ? \"Added to your library\" : \"Removed from your library\");\n  }\n});\nwindow.addEventListener(\"hashchange\", route);\nbuildChrome();\nroute();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>DARKWATERS My Library Sign In DARKWATERS \u00a9 2026 Dark Waters. All stories are member exclusives.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-4659","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/pages\/4659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/comments?post=4659"}],"version-history":[{"count":3,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/pages\/4659\/revisions"}],"predecessor-version":[{"id":4666,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/pages\/4659\/revisions\/4666"}],"wp:attachment":[{"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/media?parent=4659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/categories?post=4659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/tags?post=4659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}