{"id":4675,"date":"2026-08-01T15:23:30","date_gmt":"2026-08-01T20:23:30","guid":{"rendered":"https:\/\/darkwaterstest.online\/?page_id=4675"},"modified":"2026-08-01T18:52:22","modified_gmt":"2026-08-01T23:52:22","slug":"home","status":"publish","type":"page","link":"https:\/\/darkwaterstest.online\/","title":{"rendered":"Dark Waters \u2014 Paranormal Story Library"},"content":{"rendered":"<p><script>document.body.classList.remove(\"ast-separate-container\",\"ast-two-container\");<\/script><\/p>\n<style>\/* Dark Waters \u2014 Audible-style storefront *\/\n:root {\n  --orange:     #f8991c !important;\n  --orange-dp:  #e47911 !important;\n  --orange-dk:  #c9660a !important;\n  --ink:        #131921 !important;\n  --navy:       #232f3e !important;\n  --navy-2:     #2e3d50 !important;\n  --bg:         #ffffff !important;\n  --bg-soft:    #f7f8f8 !important;\n  --line:       #e3e6e8 !important;\n  --text:       #131921 !important;\n  --mute:       #56595e !important;\n  --dim:        #8a9099 !important;\n  --sans: -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif !important;\n}\n* { box-sizing: border-box !important; }\nhtml, body { margin: 0 !important; }\nbody { background: var(--bg) !important; color: var(--text) !important; font: 15px\/1.5 var(--sans) !important; }\na { color: inherit !important; text-decoration: none !important; }\nbutton { font-family: var(--sans) !important; cursor: pointer !important; }\nimg { display: block !important; }\n\/* ============ header ============ *\/\n#site-head { position: sticky !important; top: 0 !important; z-index: 50 !important; box-shadow: 0 1px 8px rgba(19,25,33,.10) !important; }\n.head-top {\n  background: var(--bg) !important;\n  display: flex !important; align-items: center !important; gap: 26px !important;\n  padding: 14px 4vw !important;\n}\n.logo { font-size: 24px !important; font-weight: 900 !important; letter-spacing: .02em !important; color: var(--ink) !important; white-space: nowrap !important; }\n.logo span { color: var(--orange-dp) !important; }\n.foot-logo { font-size: 18px !important; font-weight: 900 !important; color: #fff !important; }\n.foot-logo span { color: var(--orange) !important; }\n.search {\n  flex: 1 !important; max-width: 640px !important; display: flex !important;\n  border: 2px solid var(--navy) !important; border-radius: 24px !important;\n  background: var(--bg) !important; position: relative !important;\n}\n.search input {\n  flex: 1 !important; border: 0 !important; outline: 0 !important; padding: 9px 18px !important;\n  font: 15px var(--sans) !important; color: var(--text) !important; background: none !important;\n  border-radius: 22px 0 0 22px !important; min-width: 0 !important;\n}\n.search input::placeholder { color: var(--dim) !important; }\n.search button {\n  border: 0 !important; background: var(--navy) !important; color: #fff !important;\n  padding: 0 18px !important; display: grid !important; place-items: center !important;\n  border-radius: 0 21px 21px 0 !important;\n}\n.search button:hover { background: var(--navy-2) !important; }\n.head-links { margin-left: auto !important; display: flex !important; align-items: center !important; gap: 18px !important; }\n.head-link { font-size: 14px !important; font-weight: 700 !important; color: var(--mute) !important; padding: 6px 2px !important; }\n.head-link:hover { color: var(--orange-dp) !important; }\n.btn-signin {\n  background: var(--orange) !important; color: var(--ink) !important;\n  font-size: 14px !important; font-weight: 800 !important;\n  padding: 9px 22px !important; border-radius: 22px !important;\n}\n.btn-signin:hover { background: #ffa93d !important; }\n.head-nav { background: var(--navy) !important; }\n.head-nav-in {\n  display: flex !important; gap: 2px !important; padding: 0 4vw !important;\n  overflow-x: auto !important; scrollbar-width: none !important;\n}\n.head-nav-in::-webkit-scrollbar { display: none !important; }\n.head-nav-in a {\n  color: #d5dbe2 !important; font-size: 13.5px !important; font-weight: 600 !important;\n  padding: 11px 14px !important; white-space: nowrap !important;\n  border-bottom: 3px solid transparent !important;\n}\n.head-nav-in a:hover { color: #fff !important; background: var(--navy-2) !important; }\n.head-nav-in a.active { color: #fff !important; border-bottom-color: var(--orange) !important; }\n\/* ============ layout ============ *\/\nmain { min-height: 60vh !important; }\n.wrap { max-width: 1320px !important; margin: 0 auto !important; padding: 0 4vw !important; }\n\/* ============ hero ============ *\/\n.hero {\n  position: relative !important; color: #fff !important; overflow: hidden !important;\n  background: linear-gradient(100deg, var(--ink) 30%, var(--navy) 100%) !important;\n}\n.hero-bg {\n  position: absolute !important; inset: 0 !important;\n  background-size: cover !important; background-position: center 30% !important;\n  opacity: .95 !important; filter: saturate(1) !important;\n}\n.hero-fade { position: absolute !important; inset: 0 !important; background: linear-gradient(to right, rgba(19,25,33,.72) 18%, rgba(19,25,33,.2) 55%, rgba(19,25,33,0)) !important; }\n.hero-in {\n  position: relative !important; max-width: 1320px !important; margin: 0 auto !important;\n  padding: 64px 4vw 68px !important;\n}\n.hero-kicker {\n  display: inline-block !important; font-size: 11.5px !important; font-weight: 800 !important; letter-spacing: .2em !important;\n  text-transform: uppercase !important; color: var(--orange) !important;\n  border: 1px solid rgba(248,153,28,.55) !important; background: rgba(248,153,28,.12) !important;\n  padding: 5px 14px !important; border-radius: 16px !important;\n}\n.hero h1 { font-size: clamp(28px, 4.2vw, 48px) !important; font-weight: 900 !important; line-height: 1.08 !important; margin: 18px 0 10px !important; max-width: 640px !important; }\n.hero p { color: #c6cdd6 !important; font-size: 16.5px !important; max-width: 520px !important; margin: 0 0 26px !important; }\n.hero-cta { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; }\n.btn {\n  border: 0 !important; border-radius: 24px !important; font-size: 15px !important; font-weight: 800 !important;\n  padding: 12px 28px !important; display: inline-flex !important; align-items: center !important; gap: 9px !important;\n  transition: background .15s, transform .1s !important;\n}\n.btn-orange { background: var(--orange) !important; color: var(--ink) !important; }\n.btn-orange:hover { background: #ffa93d !important; transform: translateY(-1px) !important; }\n.btn-outline { background: transparent !important; color: #fff !important; border: 2px solid rgba(255,255,255,.55) !important; }\n.btn-outline:hover { border-color: #fff !important; background: rgba(255,255,255,.08) !important; }\n.btn-navy { background: var(--navy) !important; color: #fff !important; }\n.btn-navy:hover { background: var(--navy-2) !important; }\n\/* ============ rows \/ shelves ============ *\/\n.shelf { margin: 38px 0 !important; }\n.shelf-head { display: flex !important; align-items: baseline !important; gap: 14px !important; margin-bottom: 14px !important; }\n.shelf-head h2 { font-size: 21px !important; font-weight: 800 !important; margin: 0 !important; }\n.shelf-count { color: var(--dim) !important; font-size: 13px !important; }\n.shelf-all { margin-left: auto !important; color: var(--orange-dp) !important; font-size: 14px !important; font-weight: 700 !important; }\n.shelf-all:hover { text-decoration: underline !important; }\n.row {\n  display: grid !important; grid-auto-flow: column !important; grid-auto-columns: 172px !important;\n  gap: 20px !important; overflow-x: auto !important; padding: 4px 2px 16px !important;\n  scrollbar-width: thin !important; scrollbar-color: #cdd3d8 transparent !important;\n}\n.grid {\n  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(172px, 1fr)) !important;\n  gap: 26px 20px !important; padding: 4px 2px 16px !important;\n}\n\/* ============ tiles ============ *\/\n.tile { cursor: pointer !important; width: 172px !important; }\n.grid .tile { width: auto !important; }\n.cover {\n  aspect-ratio: 1 !important; border-radius: 8px !important; overflow: hidden !important;\n  position: relative !important; background: #e6e9eb !important;\n  box-shadow: 0 2px 8px rgba(19,25,33,.18) !important;\n  transition: transform .16s ease, box-shadow .16s ease !important;\n}\n.tile:hover .cover { transform: translateY(-3px) !important; box-shadow: 0 10px 22px rgba(19,25,33,.26) !important; }\n.cover img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: 0 !important; transition: opacity .35s !important; }\n.cover img.ld { opacity: 1 !important; }\n\/* PDF book jacket (no artwork yet) *\/\n.cover-book { background: linear-gradient(135deg, #1b2534 0%, #0e1420 70%) !important; }\n.book-jacket {\n  position: absolute !important; inset: 0 !important; display: flex !important; flex-direction: column !important;\n  justify-content: center !important; align-items: center !important; text-align: center !important;\n  padding: 12% 10% !important; gap: 10px !important;\n  border-left: 6px solid rgba(248,153,28,.85) !important;\n}\n.book-tag {\n  color: #f8991c !important; font-size: 10px !important; font-weight: 800 !important;\n  letter-spacing: .22em !important; border: 1px solid rgba(248,153,28,.5) !important;\n  border-radius: 3px !important; padding: 3px 8px !important;\n}\n.book-name { color: #f3f6fa !important; font-weight: 900 !important; line-height: 1.25 !important; font-size: 15px !important; }\n.tp-cover .book-name { font-size: 26px !important; }\n.book-author { color: #93a3b8 !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; }\n.tp-cover .cover-book { position: absolute !important; inset: 0 !important; border-radius: 0 !important; box-shadow: none !important; }\n.tile-title {\n  margin-top: 10px !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.3 !important;\n  display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;\n}\n.tile-series { color: var(--orange-dk) !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; margin-top: 3px !important; }\n.tile-date { color: var(--dim) !important; font-size: 12px !important; margin-top: 1px !important; }\n.progress { height: 4px !important; background: var(--line) !important; border-radius: 2px !important; margin-top: 8px !important; overflow: hidden !important; }\n.progress i { display: block !important; height: 100% !important; background: var(--orange-dp) !important; }\n.resume-at { color: var(--orange-dk) !important; font-size: 12px !important; font-weight: 700 !important; margin-top: 4px !important; }\n\/* ============ band (soft section) ============ *\/\n.band { background: var(--bg-soft) !important; border-top: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important; padding: 8px 0 14px !important; margin: 44px 0 !important; }\n\/* category chips on home *\/\n.chips { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; padding: 6px 0 10px !important; }\n.chip {\n  border: 1.5px solid var(--line) !important; background: var(--bg) !important; border-radius: 22px !important;\n  padding: 10px 22px !important; font-size: 14px !important; font-weight: 700 !important; color: var(--mute) !important;\n}\n.chip:hover { border-color: var(--orange) !important; color: var(--ink) !important; }\n.chip span { color: var(--dim) !important; font-weight: 600 !important; margin-left: 6px !important; font-size: 12.5px !important; }\n\/* ============ view heads ============ *\/\n.view-head { padding: 34px 0 6px !important; }\n.view-head h1 { font-size: 30px !important; font-weight: 900 !important; margin: 0 0 4px !important; }\n.view-sub { color: var(--mute) !important; font-size: 15px !important; }\n.crumbs { color: var(--dim) !important; font-size: 13px !important; padding-top: 22px !important; }\n.crumbs a { color: var(--orange-dp) !important; font-weight: 600 !important; }\n.crumbs a:hover { text-decoration: underline !important; }\n.empty {\n  color: var(--mute) !important; background: var(--bg-soft) !important; border: 1px solid var(--line) !important;\n  border-radius: 12px !important; padding: 44px !important; text-align: center !important; margin: 30px 0 !important;\n  font-size: 15.5px !important;\n}\n\/* ============ title page ============ *\/\n.tp { display: grid !important; grid-template-columns: minmax(280px, 420px) 1fr !important; gap: 44px !important; padding: 30px 0 10px !important; }\n.tp-media { position: relative !important; }\n.tp-cover {\n  width: 100% !important; aspect-ratio: 1 !important; border-radius: 12px !important; overflow: hidden !important;\n  position: relative !important; background: #e6e9eb !important;\n  box-shadow: 0 14px 34px rgba(19,25,33,.25) !important;\n}\n.tp-cover img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }\n.tp-cover .big-play {\n  position: absolute !important; inset: 0 !important; display: grid !important; place-items: center !important;\n  background: linear-gradient(to top, rgba(19,25,33,.45), rgba(19,25,33,.08)) !important;\n  border: 0 !important; transition: background .15s !important;\n}\n.tp-cover .big-play:hover { background: linear-gradient(to top, rgba(19,25,33,.55), rgba(19,25,33,.15)) !important; }\n.big-play span {\n  width: 84px !important; height: 84px !important; border-radius: 50% !important;\n  background: var(--orange) !important; color: var(--ink) !important;\n  display: grid !important; place-items: center !important; font-size: 32px !important; padding-left: 6px !important;\n  box-shadow: 0 10px 30px rgba(0,0,0,.4) !important;\n  transition: transform .12s !important;\n}\n.tp-cover .big-play:hover span { transform: scale(1.06) !important; }\n.tp-frame { width: 100% !important; aspect-ratio: 16 \/ 9 !important; border-radius: 12px !important; overflow: hidden !important; background: #000 !important; box-shadow: 0 14px 34px rgba(19,25,33,.3) !important; }\n.tp-frame iframe { width: 100% !important; height: 100% !important; border: 0 !important; display: block !important; }\n.tp-info .tp-series { color: var(--orange-dk) !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .1em !important; text-transform: uppercase !important; }\n.tp-info .tp-series a:hover { text-decoration: underline !important; }\n.tp-info h1 { font-size: clamp(24px, 3vw, 36px) !important; font-weight: 900 !important; line-height: 1.12 !important; margin: 8px 0 10px !important; }\n.tp-meta { color: var(--mute) !important; font-size: 14px !important; display: flex !important; gap: 18px !important; flex-wrap: wrap !important; }\n.tp-meta b { color: var(--text) !important; }\n.badge {\n  display: inline-block !important; background: var(--navy) !important; color: #fff !important;\n  font-size: 11px !important; font-weight: 800 !important; letter-spacing: .08em !important; text-transform: uppercase !important;\n  padding: 4px 12px !important; border-radius: 12px !important;\n}\n.tp-resume { color: var(--orange-dk) !important; font-weight: 800 !important; font-size: 14px !important; margin-top: 14px !important; }\n.tp-actions { display: flex !important; gap: 12px !important; margin: 22px 0 26px !important; flex-wrap: wrap !important; }\n.tp-desc { color: var(--mute) !important; font-size: 15px !important; max-width: 640px !important; border-top: 1px solid var(--line) !important; padding-top: 20px !important; }\n.tp-desc h3 { color: var(--text) !important; font-size: 15px !important; margin: 0 0 8px !important; }\n\/* ============ my library tabs ============ *\/\n.lib-tabs { display: flex !important; gap: 8px !important; margin: 18px 0 6px !important; }\n.lib-tab {\n  border: 1.5px solid var(--line) !important; background: var(--bg) !important; border-radius: 20px !important;\n  padding: 8px 20px !important; font-size: 14px !important; font-weight: 700 !important; color: var(--mute) !important;\n}\n.lib-tab.active { background: var(--navy) !important; border-color: var(--navy) !important; color: #fff !important; }\n\/* ============ footer ============ *\/\n#site-foot { background: var(--ink) !important; color: #aab2bc !important; margin-top: 70px !important; }\n.foot-in { max-width: 1320px !important; margin: 0 auto !important; padding: 44px 4vw 30px !important; }\n.foot-cols { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important; gap: 26px !important; }\n.foot-col h4 { color: #fff !important; font-size: 13px !important; letter-spacing: .12em !important; text-transform: uppercase !important; margin: 0 0 12px !important; }\n.foot-col a { display: block !important; font-size: 13.5px !important; padding: 4px 0 !important; color: #aab2bc !important; }\n.foot-col a:hover { color: var(--orange) !important; }\n.foot-base {\n  display: flex !important; align-items: center !important; gap: 18px !important; flex-wrap: wrap !important;\n  border-top: 1px solid #2c3644 !important; margin-top: 34px !important; padding-top: 22px !important;\n  font-size: 12.5px !important; color: #7d8590 !important;\n}\n\/* ============ toast ============ *\/\n#toast {\n  position: fixed !important; bottom: 36px !important; left: 50% !important; transform: translateX(-50%) translateY(20px) !important;\n  background: var(--navy) !important; color: #fff !important;\n  padding: 11px 24px !important; border-radius: 24px !important; font-size: 14px !important; font-weight: 600 !important;\n  opacity: 0 !important; transition: all .25s !important; pointer-events: none !important; z-index: 90 !important;\n  box-shadow: 0 10px 28px rgba(19,25,33,.4) !important;\n}\n#toast.show { opacity: 1 !important; transform: translateX(-50%) translateY(0) !important; }\n\/* ============ mobile ============ *\/\n@media (max-width: 860px) {\n  .head-top { flex-wrap: wrap !important; gap: 12px !important; padding: 12px 4vw !important; }\n  .search { order: 3 !important; min-width: 100% !important; }\n  .head-links { gap: 12px !important; }\n  .hero-in { padding: 42px 5vw 48px !important; }\n  .tp { grid-template-columns: 1fr !important; gap: 26px !important; }\n  .tp-media { max-width: 460px !important; }\n  .row { grid-auto-columns: 142px !important; }\n  .tile { width: 142px !important; }\n  .grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important; gap: 20px 14px !important; }\n}\n\/* ============ landing (visitor page) ============ *\/\n.land-hero {\n  background: linear-gradient(118deg, var(--ink) 0%, var(--navy) 58%, var(--navy-2) 100%) !important;\n  color: #fff !important;\n}\n.land-hero-in {\n  max-width: 1320px !important; margin: 0 auto !important; padding: 62px 4vw 72px !important;\n  display: grid !important; grid-template-columns: 1.15fr .85fr !important; gap: 52px !important; align-items: center !important;\n}\n.land-copy h1 {\n  font-size: clamp(30px, 4vw, 48px) !important; font-weight: 900 !important; line-height: 1.08 !important;\n  margin: 14px 0 16px !important; letter-spacing: -.01em !important;\n}\n.land-copy p { color: #c9d0d9 !important; font-size: 17px !important; line-height: 1.6 !important; max-width: 560px !important; margin: 0 0 28px !important; }\n.btn-big { padding: 14px 30px !important; font-size: 16px !important; }\n.land-note { margin-top: 18px !important; color: #8fa0b3 !important; font-size: 13.5px !important; }\n.land-mosaic { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 12px !important; padding: 14px 0 !important; }\n.land-mosaic img {\n  width: 100% !important; aspect-ratio: 1 !important; object-fit: cover !important; border-radius: 8px !important;\n  box-shadow: 0 10px 26px rgba(0,0,0,.4) !important;\n}\n.land-mosaic img:nth-child(even) { transform: translateY(16px) !important; }\n.vprops {\n  display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important;\n  margin: 44px 0 10px !important;\n}\n.vprop {\n  background: var(--bg-soft) !important; border: 1px solid var(--line) !important; border-radius: 12px !important;\n  padding: 26px 26px 24px !important; color: var(--orange-dp) !important;\n}\n.vprop h3 { color: var(--text) !important; font-size: 17px !important; margin: 12px 0 7px !important; }\n.vprop p { color: var(--mute) !important; font-size: 14.5px !important; margin: 0 !important; line-height: 1.55 !important; }\n.price-band {\n  background: var(--bg-soft) !important;\n  border-top: 1px solid var(--line) !important; border-bottom: 1px solid var(--line) !important;\n  margin-top: 56px !important;\n}\n.price-in { max-width: 860px !important; margin: 0 auto !important; padding: 56px 4vw 60px !important; text-align: center !important; }\n.price-in h2 { font-size: clamp(24px, 3vw, 34px) !important; font-weight: 900 !important; margin: 0 0 10px !important; }\n.price-in p { color: var(--mute) !important; font-size: 16px !important; max-width: 600px !important; margin: 0 auto 22px !important; }\n.price-tag { font-size: 46px !important; font-weight: 900 !important; color: var(--navy) !important; margin-bottom: 24px !important; }\n.price-tag span { font-size: 17px !important; font-weight: 700 !important; color: var(--mute) !important; }\n.price-in .land-note { color: var(--dim) !important; }\n@media (max-width: 860px) {\n  .land-hero-in { grid-template-columns: 1fr !important; gap: 36px !important; padding: 44px 5vw 54px !important; }\n  .land-mosaic { gap: 9px !important; }\n  .land-mosaic img:nth-child(even) { transform: translateY(10px) !important; }\n  .vprops { grid-template-columns: 1fr !important; gap: 14px !important; margin-top: 34px !important; }\n}\n\/* ============ albums ============ *\/\n.tile-wide { width: 300px !important; }\n.row-wide { grid-auto-columns: 300px !important; }\n.cover-wide { aspect-ratio: 16 \/ 9 !important; }\n.grid-wide { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)) !important; }\n.band-albums { background: var(--navy) !important; border-color: var(--ink) !important; }\n.band-albums .shelf-head h2 { color: #fff !important; }\n.band-albums .shelf-count { color: #8fa0b3 !important; }\n.band-albums .shelf-all { color: var(--orange) !important; }\n.band-albums .tile-title { color: #fff !important; }\n.band-albums .tile-series { color: var(--orange) !important; }\n.band-albums .progress { background: #3a4759 !important; }\n.band-albums .resume-at { color: var(--orange) !important; }\n.band-albums .cover { background: var(--ink) !important; box-shadow: 0 4px 14px rgba(0,0,0,.4) !important; }\n.band-albums .row { scrollbar-color: #4a5668 transparent !important; }\n.tp-album { grid-template-columns: minmax(320px, 560px) 1fr !important; }\n.tp-cover-wide { aspect-ratio: 16 \/ 9 !important; }\n@media (max-width: 860px) {\n  .tile-wide { width: 240px !important; }\n  .row-wide { grid-auto-columns: 240px !important; }\n  .grid-wide { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; }\n  .tp-album { grid-template-columns: 1fr !important; }\n  .tp-album .tp-media { max-width: 560px !important; }\n}\n\/* ============ search suggestions ============ *\/\n#search-sug {\n  position: absolute !important; top: calc(100% + 8px) !important; left: -2px !important; right: -2px !important;\n  background: var(--bg) !important; border: 1px solid var(--line) !important; border-radius: 12px !important;\n  box-shadow: 0 16px 38px rgba(19,25,33,.20) !important;\n  overflow: hidden !important; display: none !important; z-index: 70 !important;\n}\n#search-sug.open { display: block !important; }\n.sug { display: flex !important; gap: 12px !important; align-items: center !important; padding: 9px 14px !important; }\n.sug:hover { background: var(--bg-soft) !important; }\n.sug img { width: 42px !important; height: 42px !important; border-radius: 6px !important; object-fit: cover !important; flex: none !important; background: #e6e9eb !important; }\n.sug span { min-width: 0 !important; display: block !important; }\n.sug b { display: block !important; font-size: 14px !important; line-height: 1.3 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }\n.sug i { font-style: normal !important; color: var(--dim) !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: .05em !important; }\n.sug-all {\n  display: block !important; padding: 10px 14px !important; text-align: center !important;\n  font-size: 13.5px !important; font-weight: 700 !important; color: var(--orange-dp) !important;\n  border-top: 1px solid var(--line) !important;\n}\n.sug-all:hover { background: var(--bg-soft) !important; }\n\/* ============ audio player (audio-based stories) ============ *\/\n#tp-audio { width: 100% !important; margin-top: 16px !important; display: block !important; }\n\/* ============ course ============ *\/\n.nav-course { color: var(--orange) !important; font-weight: 800 !important; }\n\/* visitor landing: hide the category nav row (members see it inside) *\/\nbody.landing .head-nav { display: none !important; }\n.course-hero {\n  background: linear-gradient(118deg, var(--ink) 0%, var(--navy) 58%, var(--navy-2) 100%) !important;\n  color: #fff !important;\n}\n.course-hero-in {\n  max-width: 1320px !important; margin: 0 auto !important; padding: 62px 4vw 72px !important;\n  display: grid !important; grid-template-columns: 1.2fr .8fr !important; gap: 52px !important; align-items: center !important;\n}\n.course-copy h1 {\n  font-size: clamp(28px, 3.8vw, 46px) !important; font-weight: 900 !important; line-height: 1.1 !important;\n  margin: 14px 0 16px !important; letter-spacing: -.01em !important; max-width: 620px !important;\n}\n.course-copy p { color: #c9d0d9 !important; font-size: 17px !important; line-height: 1.6 !important; max-width: 560px !important; margin: 0 0 28px !important; }\n.course-card-art {\n  aspect-ratio: 1 !important; max-width: 400px !important; width: 100% !important; justify-self: center !important;\n  border-radius: 14px !important; padding: 9% !important;\n  background:\n    radial-gradient(120% 90% at 85% 0%, rgba(248,153,28,.28), transparent 55%),\n    linear-gradient(150deg, #1b2534 0%, #0e1420 70%) !important;\n  border: 1px solid rgba(248,153,28,.35) !important;\n  box-shadow: 0 22px 54px rgba(0,0,0,.5) !important;\n  display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important;\n  text-align: center !important; gap: 10px !important;\n}\n.cc-badge {\n  color: var(--orange) !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .24em !important;\n  border: 1px solid rgba(248,153,28,.5) !important; border-radius: 3px !important; padding: 4px 10px !important;\n}\n.cc-amount { color: #fff !important; font-size: clamp(44px, 5vw, 66px) !important; font-weight: 900 !important; line-height: 1 !important; letter-spacing: -.02em !important; }\n.cc-amount span { font-size: .34em !important; font-weight: 800 !important; color: #93a3b8 !important; letter-spacing: 0 !important; }\n.cc-sub { color: var(--orange) !important; font-size: clamp(16px, 1.8vw, 22px) !important; font-weight: 900 !important; letter-spacing: .3em !important; }\n.cc-rule { width: 54px !important; height: 3px !important; background: rgba(248,153,28,.6) !important; border-radius: 2px !important; margin: 8px 0 2px !important; }\n.cc-meta, .cc-author { color: #93a3b8 !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .14em !important; }\n.cc-author { color: #f3f6fa !important; }\n.learn-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 12px 26px !important; padding: 4px 0 8px !important; }\n.learn-item {\n  display: flex !important; gap: 12px !important; align-items: flex-start !important;\n  background: var(--bg-soft) !important; border: 1px solid var(--line) !important; border-radius: 10px !important;\n  padding: 14px 18px !important; font-size: 14.5px !important; font-weight: 600 !important; line-height: 1.45 !important;\n}\n.learn-check {\n  flex: none !important; width: 22px !important; height: 22px !important; border-radius: 50% !important;\n  background: var(--orange) !important; color: var(--ink) !important;\n  display: grid !important; place-items: center !important; font-size: 13px !important; font-weight: 900 !important; margin-top: 1px !important;\n}\n.curric { display: flex !important; flex-direction: column !important; gap: 10px !important; }\n.curric-mod {\n  background: var(--bg) !important; border: 1px solid var(--line) !important; border-radius: 10px !important;\n  overflow: hidden !important;\n}\n.curric-mod summary {\n  display: flex !important; align-items: center !important; gap: 16px !important; cursor: pointer !important;\n  padding: 15px 20px !important; font-weight: 800 !important; font-size: 15.5px !important; list-style: none !important;\n}\n.curric-mod summary::-webkit-details-marker { display: none !important; }\n.curric-mod summary::after { content: \"+\" !important; margin-left: auto !important; color: var(--orange-dp) !important; font-size: 20px !important; font-weight: 800 !important; }\n.curric-mod[open] summary::after { content: \"\u2013\" !important; }\n.curric-mod[open] summary { border-bottom: 1px solid var(--line) !important; background: var(--bg-soft) !important; }\n.curric-num { color: var(--orange-dp) !important; font-size: 13px !important; font-weight: 900 !important; letter-spacing: .08em !important; }\n.curric-count { color: var(--dim) !important; font-size: 12.5px !important; font-weight: 600 !important; margin-left: auto !important; padding-right: 14px !important; }\n.curric-mod summary:has(.curric-count)::after { margin-left: 0 !important; }\n.curric-lessons { margin: 0 !important; padding: 14px 22px 18px 58px !important; color: var(--mute) !important; font-size: 14.5px !important; }\n.curric-lessons li { padding: 5px 0 !important; }\n.faq-a { padding: 14px 20px 18px !important; color: var(--mute) !important; font-size: 14.5px !important; line-height: 1.6 !important; max-width: 760px !important; }\n.plans { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 22px !important; padding: 8px 0 12px !important; align-items: stretch !important; }\n.plan {\n  background: var(--bg) !important; border: 1.5px solid var(--line) !important; border-radius: 14px !important;\n  padding: 28px 26px 26px !important; display: flex !important; flex-direction: column !important; gap: 12px !important;\n  position: relative !important;\n}\n.plan .btn { justify-content: center !important; margin-top: auto !important; }\n.plan-best { border-color: var(--orange) !important; box-shadow: 0 14px 34px rgba(228,121,17,.16) !important; }\n.plan-flag {\n  position: absolute !important; top: -13px !important; left: 50% !important; transform: translateX(-50%) !important;\n  background: var(--orange) !important; color: var(--ink) !important;\n  font-size: 11px !important; font-weight: 900 !important; letter-spacing: .12em !important; text-transform: uppercase !important;\n  padding: 5px 16px !important; border-radius: 13px !important; white-space: nowrap !important;\n}\n.plan-tag { color: var(--orange-dk) !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .14em !important; text-transform: uppercase !important; }\n.plan-price { font-size: 40px !important; font-weight: 900 !important; color: var(--navy) !important; line-height: 1 !important; }\n.plan-was { font-size: 18px !important; font-weight: 700 !important; color: var(--dim) !important; text-decoration: line-through !important; margin-left: 10px !important; }\n.plan-note { color: var(--mute) !important; font-size: 14px !important; line-height: 1.5 !important; min-height: 42px !important; }\n.plan-feats { margin: 0 0 8px !important; padding: 0 !important; list-style: none !important; }\n.plan-feats li { padding: 6px 0 6px 26px !important; font-size: 14px !important; font-weight: 600 !important; position: relative !important; }\n.plan-feats li::before { content: \"\u2713\" !important; position: absolute !important; left: 2px !important; color: var(--orange-dp) !important; font-weight: 900 !important; }\n.course-band { background: var(--navy) !important; border-top: 1px solid var(--ink) !important; color: #fff !important; }\n.course-band-in {\n  max-width: 1320px !important; margin: 0 auto !important; padding: 48px 4vw 52px !important;\n  display: grid !important; grid-template-columns: 1fr auto !important; gap: 44px !important; align-items: center !important;\n}\n.course-band-copy h2 { font-size: clamp(22px, 2.6vw, 32px) !important; font-weight: 900 !important; margin: 14px 0 10px !important; }\n.course-band-copy p { color: #c9d0d9 !important; font-size: 15.5px !important; line-height: 1.6 !important; max-width: 620px !important; margin: 0 0 22px !important; }\n.course-band-copy b { color: var(--orange) !important; }\n.course-card-sm { max-width: 240px !important; gap: 6px !important; padding: 7% !important; }\n.course-card-sm .cc-badge { font-size: 9.5px !important; }\n.perk-strip {\n  display: flex !important; align-items: center !important; gap: 16px !important; flex-wrap: wrap !important;\n  background: linear-gradient(100deg, #1b2534 0%, var(--navy) 100%) !important;\n  border: 1px solid rgba(248,153,28,.4) !important; border-radius: 12px !important;\n  padding: 16px 22px !important; margin: 6px 0 34px !important; color: #fff !important;\n}\n.perk-strip:hover { border-color: var(--orange) !important; }\n.perk-tag {\n  flex: none !important; background: var(--orange) !important; color: var(--ink) !important;\n  font-size: 11px !important; font-weight: 900 !important; letter-spacing: .1em !important; text-transform: uppercase !important;\n  padding: 5px 12px !important; border-radius: 12px !important;\n}\n.perk-text { font-size: 14.5px !important; color: #c9d0d9 !important; min-width: 200px !important; flex: 1 !important; }\n.perk-text b { color: #fff !important; }\n.perk-go { color: var(--orange) !important; font-size: 14px !important; font-weight: 800 !important; white-space: nowrap !important; }\n@media (max-width: 860px) {\n  .course-hero-in { grid-template-columns: 1fr !important; gap: 36px !important; padding: 44px 5vw 54px !important; }\n  .course-card-art { max-width: 320px !important; }\n  .learn-grid { grid-template-columns: 1fr !important; }\n  .plans { grid-template-columns: 1fr !important; gap: 26px !important; }\n  .course-band-in { grid-template-columns: 1fr !important; gap: 30px !important; }\n  .course-card-sm { justify-self: start !important; }\n}\n\/* ---- visitor mode: lock\/free flags + coverless story jackets ---- *\/\n.tile { position: relative !important; }\n.tile-flag {\n  position: absolute !important; top: 8px !important; left: 8px !important; z-index: 2 !important;\n  font-size: 10px !important; font-weight: 800 !important; letter-spacing: .08em !important;\n  padding: 3px 8px !important; border-radius: 99px !important;\n  background: rgba(10, 14, 20, .82) !important; color: #cfd8e3 !important;\n}\n.tile-flag-free { background: #f8991c !important; color: #10151c !important; }\n.jacket-story { background: linear-gradient(160deg, #17202c, #0b1119) !important; }\n.jacket-story .book-tag { color: #f8991c !important; }\n.sug-ph {\n  width: 42px !important; height: 42px !important; border-radius: 6px !important; flex: none !important;\n  display: flex !important; align-items: center !important; justify-content: center !important;\n  background: #17202c !important; color: #f8991c !important; font-size: 14px !important;\n}\nhtml,body,body.page,body.home,body.elementor-page,body.ast-page-builder-template,#page,.site,.hfeed,#content,.site-content,#primary,#main,.ast-container{background:#ffffff !important;background-color:#ffffff !important;background-image:none !important}body,body.page{color:#131921 !important}div,span{color:inherit !important;font-family:inherit !important}p,li{color:inherit !important;font-family:inherit !important;font-size:inherit !important;line-height:inherit !important}h1,h2,h3,h4,h5,h6{color:inherit !important;font-family:inherit !important}a:hover{color:inherit !important;text-decoration:inherit !important}<\/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>window.DW_MODE=\"visitor\";\n\/\/ visitor build \u2014 locked media stripped server-side\nwindow.DW_CATALOG = [{\"id\": 4649, \"title\": \"The Highland Park Encounter\", \"series\": \"Encounters\", \"date\": \"2026-07-06\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/the-highland-park-encounter-cover.jpg\", \"hero\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/the-highland-park-encounter-hero.png\"}, {\"id\": 4590, \"title\": \"Understanding The Times and Seasons\", \"series\": \"Spiritual Warfare\", \"date\": \"2026-02-10\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4590.jpg\"}, {\"id\": 4588, \"title\": \"spritual warfare lesson 1\", \"series\": \"Spiritual Warfare\", \"date\": \"2026-02-10\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4588.jpg\"}, {\"id\": 4492, \"title\": \"Bill McGurie: Lizard or Snitch\", \"series\": \"Paranormal Unexplained\", \"date\": \"2024-05-15\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4492.jpg\"}, {\"id\": 4385, \"title\": \"FATHER WALKER PART 1\", \"series\": \"Encounters\", \"date\": \"2023-09-12\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4385.jpg\"}, {\"id\": 4380, \"title\": \"WHO IS THOMAS\", \"series\": \"Encounters\", \"date\": \"2023-09-12\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4380.jpg\"}, {\"id\": 4366, \"title\": \"dogman encounter the desolate places\", \"series\": \"Dogman\", \"date\": \"2023-09-04\", \"uid\": \"b0e20cbfb3171d0c240e6239697ce717\", \"free\": true, \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4366.jpg\"}, {\"id\": 4350, \"title\": \"destination fear with jesse alne\", \"series\": \"Interviews\", \"date\": \"2023-07-27\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4350.jpg\"}, {\"id\": 4345, \"title\": \"african mermaid\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-07-24\", \"hero\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/african-mermaid-cover.png\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4345.jpg\"}, {\"id\": 4340, \"title\": \"They're doing bad things to humans\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-07-24\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4340.jpg\"}, {\"id\": 4332, \"title\": \"1784 Ross Street\", \"series\": \"Ghost Stories\", \"date\": \"2023-07-24\", \"uid\": \"8b17ad0c25a4c5a15859c68349914e08\", \"hero\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/1784-ross-street-cover.png\", \"free\": true, \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4332.jpg\"}, {\"id\": 4315, \"title\": \"feed america\", \"series\": \"Life Changing Stories\", \"date\": \"2023-07-23\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4315.jpg\"}, {\"id\": 4302, \"title\": \"dogman evidence break down\", \"series\": \"Dogman\", \"date\": \"2023-07-16\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4302.jpg\"}, {\"id\": 4285, \"title\": \"wth is this 3 dogmen\", \"series\": \"Dogman\", \"date\": \"2023-07-16\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4285.jpg\"}, {\"id\": 4257, \"title\": \"cicadaman\", \"series\": \"Encounters\", \"date\": \"2023-07-15\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4257.jpg\"}, {\"id\": 4252, \"title\": \"Our First Date\", \"series\": \"Encounters\", \"date\": \"2023-07-15\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4252.jpg\"}, {\"id\": 4246, \"title\": \"I want Mayhaem\", \"series\": \"Encounters\", \"date\": \"2023-07-15\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4246.jpg\"}, {\"id\": 4195, \"title\": \"BIGFOOT CHOPPED THAT TREE\", \"series\": \"Bigfoot\", \"date\": \"2023-06-21\", \"uid\": \"dc383a97f7a27d50501add2d7214b089\", \"free\": true, \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4195.jpg\"}, {\"id\": 4189, \"title\": \"BIGFOOT DONE LOST HIM MIND\", \"series\": \"Bigfoot\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4189.jpg\"}, {\"id\": 4184, \"title\": \"CRAZY UNCLE BUCK\", \"series\": \"Encounters\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4184.jpg\"}, {\"id\": 4178, \"title\": \"BIGFOOT GONE WILD\", \"series\": \"Bigfoot\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4178.jpg\"}, {\"id\": 4116, \"title\": \"INHUMANS PART 1\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4116.jpg\"}, {\"id\": 4111, \"title\": \"INHUMANS PART 2\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4111.jpg\"}, {\"id\": 4106, \"title\": \"THE WINGED ONES\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4106.jpg\"}, {\"id\": 4101, \"title\": \"ALASKAN EXPETITION\", \"series\": \"Encounters\", \"date\": \"2023-06-21\", \"hero\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/alaskan-expetition-cover.png\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4101.jpg\"}, {\"id\": 4096, \"title\": \"SOMMES MORTIS\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4096.jpg\"}, {\"id\": 4076, \"title\": \"CRWON ME KING\", \"series\": \"Encounters\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4076.jpg\"}, {\"id\": 4059, \"title\": \"BARRY THE BULLY\", \"series\": \"Tales From Da Hood\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/barry-the-bully-cover-1.png\"}, {\"id\": 4054, \"title\": \"GET THE MESSAGE\", \"series\": \"Encounters\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4054.jpg\"}, {\"id\": 4049, \"title\": \"I'M JUST THE MAIL MAN 2\", \"series\": \"Encounters\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4049.jpg\"}, {\"id\": 4044, \"title\": \"JUST THE MAIL MAN\", \"series\": \"Encounters\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-4044.jpg\"}, {\"id\": 3821, \"title\": \"big swamp encounter\", \"series\": \"Bigfoot\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3821.jpg\"}, {\"id\": 3815, \"title\": \"never go full retard\", \"series\": \"Tales From Da Hood\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3815.jpg\"}, {\"id\": 3810, \"title\": \"fat bruce and dogman\", \"series\": \"Dogman\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3810.jpg\"}, {\"id\": 3805, \"title\": \"the mosley house\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3805.jpg\"}, {\"id\": 3800, \"title\": \"when cops see dogman\", \"series\": \"Dogman\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3800.jpg\"}, {\"id\": 3394, \"title\": \"IN LOVE WITH AN ALIEN\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3394.jpg\"}, {\"id\": 3371, \"title\": \"BAD NEIGHBORS\", \"series\": \"Tales From Da Hood\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/bad-neighbors-cover-1.png\"}, {\"id\": 3366, \"title\": \"BOTTOM OF THE RIVER\", \"series\": \"Encounters\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/bottom-of-the-river-cover.png\"}, {\"id\": 3361, \"title\": \"THE 3 ROBES\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3361.jpg\"}, {\"id\": 3356, \"title\": \"HATMAN IN THE QUATERS\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3356.jpg\"}, {\"id\": 3351, \"title\": \"HE HAD TENTACLES\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3351.jpg\"}, {\"id\": 3346, \"title\": \"BLACKMOM VS BLACKEYED KIDS\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3346.jpg\"}, {\"id\": 3341, \"title\": \"THE DARK WOODS\", \"series\": \"Encounters\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3341.jpg\"}, {\"id\": 3335, \"title\": \"THE REAL MONSTER HOUSE\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3335.jpg\"}, {\"id\": 3330, \"title\": \"DALLAS GORGYLE\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3330.jpg\"}, {\"id\": 3325, \"title\": \"MAN UP!!\", \"series\": \"Tales From Da Hood\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3325.jpg\"}, {\"id\": 3178, \"title\": \"spiritual smack down\", \"series\": \"Spiritual Warfare\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3178.jpg\"}, {\"id\": 3173, \"title\": \"valley of darkness\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3173.jpg\"}, {\"id\": 3168, \"title\": \"doctor wong\", \"series\": \"Encounters\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3168.jpg\"}, {\"id\": 3150, \"title\": \"dev rugne i was taken as a kid\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3150.jpg\"}, {\"id\": 3145, \"title\": \"amy edwards what the paranormal\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3145.jpg\"}, {\"id\": 3140, \"title\": \"bettina moss dogman and bigfoot\", \"series\": \"Bigfoot\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3140.jpg\"}, {\"id\": 3135, \"title\": \"basecamp chris\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3135.jpg\"}, {\"id\": 3127, \"title\": \"spiritual truth bombs\", \"series\": \"Spiritual Warfare\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3127.jpg\"}, {\"id\": 3122, \"title\": \"greg little lost city of atlantis\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3122.jpg\"}, {\"id\": 3117, \"title\": \"dr karl shuker\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3117.jpg\"}, {\"id\": 3112, \"title\": \"richard freeman\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3112.jpg\"}, {\"id\": 3106, \"title\": \"nick gilland night life kennel\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3106.jpg\"}, {\"id\": 3101, \"title\": \"da roberts dogman bigfoot\", \"series\": \"Bigfoot\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3101.jpg\"}, {\"id\": 3096, \"title\": \"jordan hipps protect what you love\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3096.jpg\"}, {\"id\": 3091, \"title\": \"nick valente dogman hunter\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3091.jpg\"}, {\"id\": 3085, \"title\": \"steve ward ufo, dogman and aliens\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3085.jpg\"}, {\"id\": 3080, \"title\": \"ant bowden bushcraft and the paranormal\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3080.jpg\"}, {\"id\": 3075, \"title\": \"blue fort pierce dogman encounter\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3075.jpg\"}, {\"id\": 3070, \"title\": \"what if tommrow\", \"series\": \"Encounters\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3070.jpg\"}, {\"id\": 3045, \"title\": \"when cops shoot dogman\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3045.jpg\"}, {\"id\": 3040, \"title\": \"maybe it was dogman\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3040.jpg\"}, {\"id\": 3035, \"title\": \"they pissed it off\", \"series\": \"Encounters\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3035.jpg\"}, {\"id\": 3030, \"title\": \"it wanted to kill my wife\", \"series\": \"Encounters\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3030.jpg\"}, {\"id\": 3025, \"title\": \"dogman the altar\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3025.jpg\"}, {\"id\": 3020, \"title\": \"tired of dogman\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3020.jpg\"}, {\"id\": 3015, \"title\": \"worst birthday ever\", \"series\": \"Tales From Da Hood\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3015.jpg\"}, {\"id\": 3010, \"title\": \"not dogman encounter\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3010.jpg\"}, {\"id\": 3005, \"title\": \"surronded by dogmen\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3005.jpg\"}, {\"id\": 3000, \"title\": \"the crash dogman encounter\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3000.jpg\"}, {\"id\": 2995, \"title\": \"portals are real\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2995.jpg\"}, {\"id\": 2990, \"title\": \"mama said dogman is not real\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2990.jpg\"}, {\"id\": 2985, \"title\": \"when dogman attacks\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2985.jpg\"}, {\"id\": 2980, \"title\": \"dogman wolf of the fog\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2980.jpg\"}, {\"id\": 2975, \"title\": \"bigfoot and dogman\", \"series\": \"Bigfoot\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2975.jpg\"}, {\"id\": 2947, \"title\": \"it was 15 feet tall\", \"series\": \"Bigfoot\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2947.jpg\"}, {\"id\": 2909, \"title\": \"dark waters and dave schrader\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2909.jpg\"}, {\"id\": 2904, \"title\": \"dark waters story telling\", \"series\": \"Encounters\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2904.jpg\"}, {\"id\": 2898, \"title\": \"greg conner interview\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2898.jpg\"}, {\"id\": 2893, \"title\": \"dark waters on arcane radio\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2893.jpg\"}, {\"id\": 2888, \"title\": \"the bigfoot protecter\", \"series\": \"Bigfoot\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2888.jpg\"}, {\"id\": 2883, \"title\": \"contact mike patterson\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/07\/contact-mike-patterson-cover.jpg\"}, {\"id\": 2855, \"title\": \"bigfoot took my bitch\", \"series\": \"Bigfoot\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2855.jpg\"}, {\"id\": 2775, \"title\": \"dogman back that van up\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2775.jpg\"}, {\"id\": 3271, \"title\": \"jimmy barr\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3271.jpg\"}, {\"id\": 3266, \"title\": \"pat spain beast hunter\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3266.jpg\"}, {\"id\": 3253, \"title\": \"what lurks beneath\", \"series\": \"Encounters\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3253.jpg\"}, {\"id\": 3248, \"title\": \"ky;e dehene\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3248.jpg\"}, {\"id\": 3243, \"title\": \"pat turner\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3243.jpg\"}, {\"id\": 3238, \"title\": \"dr. bill hewitt\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3238.jpg\"}, {\"id\": 3233, \"title\": \"mark zazskey\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3233.jpg\"}, {\"id\": 3228, \"title\": \"jonny 2 bears\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3228.jpg\"}, {\"id\": 3216, \"title\": \"operation black sun\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3216.jpg\"}, {\"id\": 3210, \"title\": \"uncle murda\", \"series\": \"Tales From Da Hood\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3210.jpg\"}, {\"id\": 3204, \"title\": \"the wolf\", \"series\": \"Dogman\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-3204.jpg\"}, {\"id\": 2937, \"title\": \"jonathan brown\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2937.jpg\"}, {\"id\": 2935, \"title\": \"peter v puttkamer\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2935.jpg\"}, {\"id\": 2930, \"title\": \"ron murphy dogman and the fey\", \"series\": \"Interviews\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2930.jpg\"}, {\"id\": 2924, \"title\": \"mars mind control\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2924.jpg\"}, {\"id\": 2919, \"title\": \"bigfoot and the little people\", \"series\": \"Bigfoot\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2919.jpg\"}, {\"id\": 2914, \"title\": \"wookies in pennsylvaina\", \"series\": \"Bigfoot\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2914.jpg\"}, {\"id\": 2689, \"title\": \"Luckkow Germany dogman encounter\", \"series\": \"Dogman\", \"date\": \"2023-06-19\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2689.jpg\"}, {\"id\": 2684, \"title\": \"my wife was possesed\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-19\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2684.jpg\"}, {\"id\": 2679, \"title\": \"the cornfields\", \"series\": \"Encounters\", \"date\": \"2023-06-19\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2679.jpg\"}, {\"id\": 2670, \"title\": \"HellHound\", \"series\": \"Paranormal Unexplained\", \"date\": \"2023-06-19\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2670.jpg\"}, {\"id\": 2663, \"title\": \"charity hospital\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-19\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2663.jpg\"}, {\"id\": 2656, \"title\": \"night watch\", \"series\": \"Ghost Stories\", \"date\": \"2023-06-19\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2656.jpg\"}, {\"id\": 2488, \"title\": \"Uncle Murda: Rise and Fall of the 808's\", \"series\": \"Tales From Da Hood\", \"date\": \"2023-03-22\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2488.jpg\"}, {\"id\": 2127, \"title\": \"DARK WATERS VIDOE BLOGS\", \"series\": \"Encounters\", \"date\": \"2022-08-14\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-2127.jpg\"}, {\"id\": 791, \"title\": \"DOGMAN STORIES-E\", \"series\": \"Dogman\", \"date\": \"2022-07-26\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-thumb-791.jpg\"}, {\"id\": 2361, \"title\": \"Shocking Bigfoot Encounters\", \"series\": \"Books\", \"date\": \"2023-02-24\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2022\/07\/SHOCKING-BIGFOOT-ENCOUNTERS.jpg\"}, {\"id\": 2617, \"title\": \"Shocking Bigfoot Encounters Volume II\", \"series\": \"Books\", \"date\": \"2023-05-06\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/05\/Shocking-Bigfoot-Encoutner-Part-II.png\"}, {\"id\": 2450, \"title\": \"The Terror in the Trees\", \"series\": \"Books\", \"date\": \"2023-03-03\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/03\/The-Terror-In-The-Trees.jpg\"}, {\"id\": 2422, \"title\": \"Terrifying Tales from the Reservation\", \"series\": \"Books\", \"date\": \"2023-02-27\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/02\/Terrfying-Tales-Cover.jpg\"}, {\"id\": 2415, \"title\": \"Siege of Lockett Ranch\", \"series\": \"Books\", \"date\": \"2023-02-27\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/02\/Dogman-Encouter-Siege-of-Lockett-Ranch.jpg\"}, {\"id\": 2465, \"title\": \"Spiritual Effects of Cryptid Encounters\", \"series\": \"Books\", \"date\": \"2023-03-17\"}, {\"id\": 2226, \"title\": \"TAG 7 White Paper\", \"series\": \"Books\", \"date\": \"2022-09-10\"}];\nwindow.DW_ALBUMS = [{\"id\": 4401, \"title\": \"Terror Dogman\", \"date\": \"2023-10-10\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-album-thumb-4401.jpg\"}, {\"id\": 4096, \"title\": \"Sommes Mortis\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_A_TOMBSTONE_c9af91cc-0393-4159-9aa8-92a4c15a32ca.png\"}, {\"id\": 4101, \"title\": \"Alaskan Expedition\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_WOODS_OF_ALASKA_e35bc366-ae50-49e8-9835-5f3d7fab7a2e.png\"}, {\"id\": 4106, \"title\": \"The Winged Ones\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_WINGED_FLYING_FEMALE_CREATURE_ebebdfc2-27a1-4160-90b6-f47afeac458b.png\"}, {\"id\": 4076, \"title\": \"Crown Me King\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_CROWN_ME_KING_BLACKMAN_SITTING_ON_THRONE_b6b7fbe0-22f1-47fc-8fcb-bf9e914a7742.png\"}, {\"id\": 4116, \"title\": \"Inhumans \\u2014 Part 1\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_INHUMANS_MANY_GIANTS_35da0bb1-352b-4faa-bcce-ddebe6fd08c3.png\"}, {\"id\": 4111, \"title\": \"Inhumans \\u2014 Part 2\", \"date\": \"2023-06-21\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2023\/06\/Dark_waters_INHUMANS_MANY_GIANTS_35da0bb1-352b-4faa-bcce-ddebe6fd08c3.png\"}, {\"id\": 3199, \"title\": \"Rick Flair\", \"date\": \"2023-06-20\", \"cover\": \"https:\/\/darkwaterstest.online\/wp-content\/uploads\/2026\/08\/dw-album-thumb-3199.jpg\"}];<\/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 }));\n\/* visitor mode: public storefront build \u2014 locked entries arrive with\n   audio\/uid\/pdf already stripped server-side; free ones carry free:true *\/\nconst MODE = window.DW_MODE || \"member\";\nconst SITE_URL = \"https:\/\/darkwaterstest.online\/index.php\";\nconst JOIN_URL = SITE_URL + \"\/choose-your-path\/\";\nconst MEMBER_URL = SITE_URL + \"\/library\/\";\nconst LOGIN_URL = SITE_URL + \"\/login-2\/?redirect_to=\" + encodeURIComponent(MEMBER_URL);\nconst locked = (ep) => MODE === \"visitor\" && !ep.free;\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;\n\/\/ uploaded cover art wins; the auto video thumbnail is only a fallback\nconst coverOf = (ep, w) => ep.cover || (ep.uid ? thumb(ep.uid, w) : \"\");\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>`;\n\/* visitor-mode stand-in when there's no cover art (thumbnail URLs would\n   leak the video id, so locked stories ship without them) *\/\nconst storyCardHTML = (ep) => `\n  \\x3cdiv class=\"cover cover-book\">\\x3cdiv class=\"book-jacket jacket-story\">\n    \\x3cdiv class=\"book-tag\">${esc(ep.series.toUpperCase())}\\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 coverBoxHTML = (ep, w) => {\n  const c = coverOf(ep, w);\n  if (c) return `\\x3cdiv class=\"cover\">\\x3cimg data-src=\"${c}\" alt=\"\">\\x3c\/div>`;\n  return ep.pdf ? bookCoverHTML(ep) : storyCardHTML(ep);\n};\nconst byDate = (a, b) => b.date.localeCompare(a.date);\n\/* custom-art stories lead the landing shelf; the cover URL's upload\n   yyyy\/mm is the only record of when art was added *\/\nconst artStamp = e => {\n  const m = \/uploads\\\/(\\d{4})\\\/(\\d{2})\/.exec(e.cover || \"\");\n  return m ? m[1] + m[2] : \"\";\n};\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  const flag = MODE !== \"visitor\" ? \"\"\n    : ep.free ? `\\x3cspan class=\"tile-flag tile-flag-free\">FREE\\x3c\/span>`\n              : `\\x3cspan class=\"tile-flag\">\ud83d\udd12 MEMBERS\\x3c\/span>`;\n  return `\n  \\x3ca class=\"tile\" href=\"#\/title\/${ep.id}\">\n    ${coverBoxHTML(ep)}${flag}\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.filter(e => coverOf(e, 300)).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    ${MODE === \"visitor\" && CATALOG.some(e => e.free)\n      ? shelfHTML(\"Free previews \u2014 listen with no account\", CATALOG.filter(e => e.free))\n      : \"\"}\n    ${shelfHTML(\"Now playing in the member library\", CATALOG.slice().sort((a, b) =>\n      artStamp(b).localeCompare(artStamp(a)) || byDate(a, b)))}\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  \\x3csection class=\"course-band\">\n    \\x3cdiv class=\"course-band-in\">\n      \\x3cdiv class=\"course-band-copy\">\n        \\x3cspan class=\"hero-kicker\">New \u00b7 Video course\\x3c\/span>\n        \\x3ch2>${esc(COURSE.title)}\\x3c\/h2>\n        \\x3cp>The playbook behind the Dark Waters channels \u2014 ${COURSE.modules.length} modules on getting\n        monetized and building a real monthly check. \\x3cb>$${COURSE.price}\\x3c\/b> on its own,\n        \\x3cb>$${COURSE.joinPrice}\\x3c\/b> when you join, \\x3cb>free\\x3c\/b> for members.\\x3c\/p>\n        \\x3ca class=\"btn btn-orange\" href=\"#\/course\">See the course\\x3c\/a>\n      \\x3c\/div>\n      \\x3cdiv class=\"course-card-art course-card-sm\">\n        \\x3cdiv class=\"cc-badge\">VIDEO COURSE\\x3c\/div>\n        \\x3cdiv class=\"cc-amount\">$1,000\\x3cspan>\/month\\x3c\/span>\\x3c\/div>\n        \\x3cdiv class=\"cc-sub\">ON YOUTUBE\\x3c\/div>\n      \\x3c\/div>\n    \\x3c\/div>\n  \\x3c\/section>\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 += `\n  \\x3ca class=\"perk-strip\" href=\"#\/course\">\n    \\x3cspan class=\"perk-tag\">Member perk\\x3c\/span>\n    \\x3cspan class=\"perk-text\">\\x3cb>${esc(COURSE.title)}\\x3c\/b> \u2014 the full video course is FREE with your membership\\x3c\/span>\n    \\x3cspan class=\"perk-go\">Start watching \u203a\\x3c\/span>\n  \\x3c\/a>\n  \\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        ${!coverOf(ep) ? `\\x3cdiv class=\"tp-cover\">${ep.pdf ? bookCoverHTML(ep) : storyCardHTML(ep)}\\x3c\/div>` : `\n        \\x3cdiv class=\"tp-cover\">\n          \\x3cimg src=\"${coverOf(ep, 720)}\" alt=\"\">\n          ${locked(ep) ? \"\" : `\\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\">${MODE === \"visitor\" && ep.free ? \"Free preview\" : \"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          ${locked(ep)\n            ? `\\x3ca class=\"btn btn-orange\" href=\"${JOIN_URL}\">\ud83d\udd12&nbsp; Unlock with membership\\x3c\/a>\n               \\x3ca class=\"btn btn-navy\" href=\"${LOGIN_URL}\">Member sign in\\x3c\/a>`\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-navy\" data-save=\"${ep.id}\">${isSaved ? \"\u2713 In your library\" : \"+ Add to library\"}\\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          ${locked(ep) ? \"\" : `\\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          ${locked(ep)\n            ? `\\x3ca class=\"btn btn-orange\" href=\"${JOIN_URL}\">\ud83d\udd12&nbsp; Unlock with membership\\x3c\/a>\n               \\x3ca class=\"btn btn-navy\" href=\"${LOGIN_URL}\">Member sign in\\x3c\/a>`\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\/* ---------- course ---------- *\/\nconst COURSE = {\n  title: \"How to Make $1,000 a Month on YouTube\",\n  price: 199,\n  joinPrice: 99,\n  modules: [\n    [\"The $1,000 Blueprint\", [\n      \"How YouTube actually pays \u2014 ads, RPM, and where the money really comes from\",\n      \"The Partner Program requirements, in plain English\",\n      \"The $1,000 math: exactly how many views your channel needs\",\n      \"Setting your first 90-day target\",\n    ]],\n    [\"Find Your Lane\", [\n      \"Niches that pay vs. niches that starve\",\n      \"Reading what's already winning before you make a single video\",\n      \"Claiming territory you can own \u2014 not competing with millionaires\",\n      \"Your unfair advantage: what you already know that viewers want\",\n    ]],\n    [\"Make Videos People Finish\", [\n      \"The first 3 seconds \u2014 hooks that stop the scroll\",\n      \"Structure for retention: keep them to the end\",\n      \"Shorts vs. long-form: where a new channel should start\",\n      \"The gear myth \u2014 the simple setup that's more than good enough\",\n    ]],\n    [\"Packaging: Titles & Thumbnails\", [\n      \"Titles that get clicked without lying\",\n      \"Thumbnail rules that work on a phone screen\",\n      \"Borrowing formats that already win in your niche\",\n      \"Testing, swapping, and fixing a video that stalled\",\n    ]],\n    [\"The Upload System\", [\n      \"A weekly production rhythm you can keep for a year\",\n      \"Descriptions and tags that help YouTube route your video\",\n      \"Batching: make a week of content in one sitting\",\n      \"Consistency beats perfection \u2014 the schedule that grows channels\",\n    ]],\n    [\"Turn Views Into Money\", [\n      \"AdSense setup and getting paid\",\n      \"Beyond ads: memberships, products, and affiliate income\",\n      \"Reading your analytics like a business owner\",\n      \"Scaling past $1,000 \u2014 what to double down on\",\n    ]],\n  ],\n};\nfunction courseHTML() {\n  const lessonCount = COURSE.modules.reduce((n, m) => n + m[1].length, 0);\n  const learn = [\n    \"Get monetized \u2014 meet the Partner Program requirements the fastest legitimate way\",\n    \"Pick a niche that actually pays, using proof \u2014 not guesses\",\n    \"Hook viewers in the first 3 seconds so YouTube pushes your videos\",\n    \"Package titles + thumbnails that win the click\",\n    \"Run a weekly upload system you can sustain alone\",\n    \"Stack ads, memberships, and products into $1,000\/month \u2014 then scale\",\n  ];\n  return `\n  \\x3csection class=\"course-hero\">\n    \\x3cdiv class=\"course-hero-in\">\n      \\x3cdiv class=\"course-copy\">\n        \\x3cspan class=\"hero-kicker\">Dark Waters \u00b7 Video course\\x3c\/span>\n        \\x3ch1>${esc(COURSE.title)}\\x3c\/h1>\n        \\x3cp>The exact playbook behind the Dark Waters channels \u2014 from zero to a\n        monetized channel with a real monthly check. ${COURSE.modules.length} modules,\n        ${lessonCount} video lessons, no fluff.\\x3c\/p>\n        \\x3cdiv class=\"hero-cta\">\n          \\x3ca class=\"btn btn-orange btn-big\" href=\"#\/course\" data-cta=\"buy-course\">Get the course \u2014 $${COURSE.price}\\x3c\/a>\n          \\x3ca class=\"btn btn-outline btn-big\" href=\"#\/home\" data-cta=\"signin\">Members watch free\\x3c\/a>\n        \\x3c\/div>\n        \\x3cdiv class=\"land-note\">One-time payment \u00b7 lifetime access \u00b7 watch on any device\\x3c\/div>\n      \\x3c\/div>\n      \\x3cdiv class=\"course-card-art\">\n        \\x3cdiv class=\"cc-badge\">VIDEO COURSE\\x3c\/div>\n        \\x3cdiv class=\"cc-amount\">$1,000\\x3cspan>\/month\\x3c\/span>\\x3c\/div>\n        \\x3cdiv class=\"cc-sub\">ON YOUTUBE\\x3c\/div>\n        \\x3cdiv class=\"cc-rule\">\\x3c\/div>\n        \\x3cdiv class=\"cc-meta\">${COURSE.modules.length} MODULES \u00b7 ${lessonCount} LESSONS\\x3c\/div>\n        \\x3cdiv class=\"cc-author\">TAUGHT BY DARK WATERS\\x3c\/div>\n      \\x3c\/div>\n    \\x3c\/div>\n  \\x3c\/section>\n  \\x3cdiv class=\"wrap\">\n    \\x3csection class=\"shelf\">\n      \\x3cdiv class=\"shelf-head\">\\x3ch2>What you'll learn\\x3c\/h2>\\x3c\/div>\n      \\x3cdiv class=\"learn-grid\">${learn.map(t => `\n        \\x3cdiv class=\"learn-item\">\\x3cspan class=\"learn-check\">\u2713\\x3c\/span>${esc(t)}\\x3c\/div>`).join(\"\")}\n      \\x3c\/div>\n    \\x3c\/section>\n    \\x3csection class=\"shelf\">\n      \\x3cdiv class=\"shelf-head\">\\x3ch2>Course curriculum\\x3c\/h2>\n        \\x3cspan class=\"shelf-count\">${COURSE.modules.length} modules \u00b7 ${lessonCount} lessons\\x3c\/span>\\x3c\/div>\n      \\x3cdiv class=\"curric\">${COURSE.modules.map(([name, lessons], i) => `\n        \\x3cdetails class=\"curric-mod\"${i === 0 ? \" open\" : \"\"}>\n          \\x3csummary>\\x3cspan class=\"curric-num\">${String(i + 1).padStart(2, \"0\")}\\x3c\/span>\n            \\x3cspan class=\"curric-name\">${esc(name)}\\x3c\/span>\n            \\x3cspan class=\"curric-count\">${lessons.length} lessons\\x3c\/span>\\x3c\/summary>\n          \\x3col class=\"curric-lessons\">${lessons.map(l => `\\x3cli>${esc(l)}\\x3c\/li>`).join(\"\")}\\x3c\/ol>\n        \\x3c\/details>`).join(\"\")}\n      \\x3c\/div>\n    \\x3c\/section>\n  \\x3c\/div>\n  \\x3cdiv class=\"band\">\\x3cdiv class=\"wrap\">\n    \\x3csection class=\"shelf\">\n      \\x3cdiv class=\"shelf-head\">\\x3ch2>Choose how you get it\\x3c\/h2>\\x3c\/div>\n      \\x3cdiv class=\"plans\">\n        \\x3cdiv class=\"plan\">\n          \\x3cdiv class=\"plan-tag\">Current members\\x3c\/div>\n          \\x3cdiv class=\"plan-price\">FREE\\x3c\/div>\n          \\x3cdiv class=\"plan-note\">Included with your Dark Waters membership. No charge, ever.\\x3c\/div>\n          \\x3cul class=\"plan-feats\">\n            \\x3cli>Every module, every lesson\\x3c\/li>\n            \\x3cli>All future updates included\\x3c\/li>\n            \\x3cli>Right inside your library\\x3c\/li>\n          \\x3c\/ul>\n          \\x3ca class=\"btn btn-navy\" href=\"#\/home\" data-cta=\"signin\">Sign in &amp; start watching\\x3c\/a>\n        \\x3c\/div>\n        \\x3cdiv class=\"plan plan-best\">\n          \\x3cdiv class=\"plan-flag\">Best value\\x3c\/div>\n          \\x3cdiv class=\"plan-tag\">New members\\x3c\/div>\n          \\x3cdiv class=\"plan-price\">$${COURSE.joinPrice}\\x3cspan class=\"plan-was\">$${COURSE.price}\\x3c\/span>\\x3c\/div>\n          \\x3cdiv class=\"plan-note\">Join Dark Waters and add the course for half price \u2014 plus the entire story library.\\x3c\/div>\n          \\x3cul class=\"plan-feats\">\n            \\x3cli>Full course \u2014 half price\\x3c\/li>\n            \\x3cli>${CATALOG.length}+ member-exclusive stories\\x3c\/li>\n            \\x3cli>New stories added regularly\\x3c\/li>\n          \\x3c\/ul>\n          \\x3ca class=\"btn btn-orange\" href=\"#\/course\" data-cta=\"buy-bundle\">Join + get the course\\x3c\/a>\n        \\x3c\/div>\n        \\x3cdiv class=\"plan\">\n          \\x3cdiv class=\"plan-tag\">Course only\\x3c\/div>\n          \\x3cdiv class=\"plan-price\">$${COURSE.price}\\x3c\/div>\n          \\x3cdiv class=\"plan-note\">Just the course. One-time payment, yours for life.\\x3c\/div>\n          \\x3cul class=\"plan-feats\">\n            \\x3cli>Every module, every lesson\\x3c\/li>\n            \\x3cli>Lifetime access + updates\\x3c\/li>\n            \\x3cli>Watch on any device\\x3c\/li>\n          \\x3c\/ul>\n          \\x3ca class=\"btn btn-navy\" href=\"#\/course\" data-cta=\"buy-course\">Buy the course\\x3c\/a>\n        \\x3c\/div>\n      \\x3c\/div>\n    \\x3c\/section>\n  \\x3c\/div>\\x3c\/div>\n  \\x3cdiv class=\"wrap\">\n    \\x3csection class=\"shelf\">\n      \\x3cdiv class=\"shelf-head\">\\x3ch2>Questions\\x3c\/h2>\\x3c\/div>\n      \\x3cdiv class=\"curric\">\n        \\x3cdetails class=\"curric-mod\">\\x3csummary>\\x3cspan class=\"curric-name\">Do I need any experience or equipment?\\x3c\/span>\\x3c\/summary>\n          \\x3cdiv class=\"faq-a\">No. The course starts from zero \u2014 no channel, no gear, no audience. Module 3 covers the simple setup that's more than good enough to get monetized.\\x3c\/div>\\x3c\/details>\n        \\x3cdetails class=\"curric-mod\">\\x3csummary>\\x3cspan class=\"curric-name\">How long until I'm making $1,000 a month?\\x3c\/span>\\x3c\/summary>\n          \\x3cdiv class=\"faq-a\">There's no honest overnight answer \u2014 anyone who promises one is selling you something. The course gives you the same system working channels run: get monetized first, then stack income sources. Your speed depends on how much you publish.\\x3c\/div>\\x3c\/details>\n        \\x3cdetails class=\"curric-mod\">\\x3csummary>\\x3cspan class=\"curric-name\">I'm already a Dark Waters member \u2014 do I pay?\\x3c\/span>\\x3c\/summary>\n          \\x3cdiv class=\"faq-a\">No. The full course is included with your membership at no extra charge. Sign in and it's in your library.\\x3c\/div>\\x3c\/details>\n        \\x3cdetails class=\"curric-mod\">\\x3csummary>\\x3cspan class=\"curric-name\">Is this a subscription?\\x3c\/span>\\x3c\/summary>\n          \\x3cdiv class=\"faq-a\">The standalone course is a one-time $${COURSE.price} payment with lifetime access. The $${COURSE.joinPrice} deal is the course bundled with a new Dark Waters membership.\\x3c\/div>\\x3c\/details>\n      \\x3c\/div>\n    \\x3c\/section>\n  \\x3c\/div>\n  \\x3csection class=\"price-band\">\n    \\x3cdiv class=\"price-in\">\n      \\x3ch2>Stop guessing. Start getting paid.\\x3c\/h2>\n      \\x3cp>${COURSE.modules.length} modules. ${lessonCount} lessons. The playbook behind real monetized channels.\\x3c\/p>\n      \\x3cdiv class=\"price-tag\">$${COURSE.price}\\x3cspan> one-time \u00b7 free for members\\x3c\/span>\\x3c\/div>\n      \\x3ca class=\"btn btn-orange btn-big\" href=\"#\/course\" data-cta=\"buy-course\">Get the course\\x3c\/a>\n      \\x3cdiv class=\"land-note\">New here? Join the membership and get it for $${COURSE.joinPrice}.\\x3c\/div>\n    \\x3c\/div>\n  \\x3c\/section>`;\n}\n\/* ---------- player (in title page) ---------- *\/\nlet player = null, playingEp = null;\nfunction startWatch(ep) {\n  if (locked(ep)) { location.href = JOIN_URL; return; }\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|course)?\\\/?(.*)$\/) || [];\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 === \"course\") html = courseHTML();\n  else if (view === \"home\") html = homeHTML();\n  else html = landingHTML();\n  $(\"#main\").innerHTML = html;\n  \/\/ visitors on the landing page don't get the full category menu \u2014\n  \/\/ tease the library, don't hand them the whole map\n  document.body.classList.toggle(\"landing\", view === \"landing\");\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 === \"course\" && a.dataset.nav === \"course\") ||\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    `\\x3ca href=\"#\/course\" data-nav=\"course\" class=\"nav-course\">YouTube Course\\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    const c = e.album ? e.cover : coverOf(e, 96);\n    return `\n    \\x3ca class=\"sug\" href=\"#\/${e.album ? \"album\" : \"title\"}\/${e.id}\">\n      ${c ? `\\x3cimg src=\"${c}\" alt=\"\">` : `\\x3cspan class=\"sug-ph\">\u25b6\\x3c\/span>`}\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  if (MODE === \"visitor\") location.href = LOGIN_URL;\n  else location.hash = \"#\/home\";\n});\n$(\"#main\").addEventListener(\"click\", (e) => {\n  const c = e.target.closest(\"[data-cta]\");\n  if (c) {\n    if (c.dataset.cta === \"join\" || c.dataset.cta === \"buy-course\"\n        || c.dataset.cta === \"buy-bundle\") {\n      e.preventDefault();\n      location.href = JOIN_URL;\n      return;\n    }\n    if (c.dataset.cta === \"signin\") {\n      e.preventDefault();\n      if (MODE === \"visitor\") location.href = LOGIN_URL;\n      else location.hash = \"#\/home\";\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-4675","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/pages\/4675","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=4675"}],"version-history":[{"count":5,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/pages\/4675\/revisions"}],"predecessor-version":[{"id":4800,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/pages\/4675\/revisions\/4800"}],"wp:attachment":[{"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/media?parent=4675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/categories?post=4675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/darkwaterstest.online\/index.php\/wp-json\/wp\/v2\/tags?post=4675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}