{"id":5918,"date":"2026-06-01T00:00:00","date_gmt":"2026-06-01T00:00:00","guid":{"rendered":"https:\/\/viewari.com\/?page_id=5918"},"modified":"2026-06-14T05:48:09","modified_gmt":"2026-06-14T05:48:09","slug":"post","status":"publish","type":"page","link":"https:\/\/viewari.com\/reddit\/post\/","title":{"rendered":"Reddit Post Viewer &#8211; Read Hidden &amp; Deleted Posts Safely"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5918\" class=\"elementor elementor-5918\">\n\t\t\t\t<div class=\"elementor-element elementor-element-53ddf44a e-con-full e-flex e-con e-parent\" data-id=\"53ddf44a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-67513c96 elementor-widget elementor-widget-shortcode\" data-id=\"67513c96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\n.nsrpv {width: 100vw;\n  max-width: none;\n  margin-left: calc(50% - 50vw);\n  margin-right: calc(50% - 50vw);\n  margin-top: -8px;\n--ink: #f5f7fb; --muted: #a9b4c7; --dim: #7d8aa0;\n  --panel: rgba(16, 24, 40, 0.9); --soft: rgba(255, 255, 255, 0.05);\n  --line: rgba(255, 92, 26, 0.28); --accent: #ff5c1a; --accent-soft: rgba(255, 92, 26, 0.16);\n  --cool: #5b9dff; --cool-deep: #3478e0; --danger: #ff6b7a; --ok: #3dd68c;\n  --radius: 18px; --shadow: 0 18px 42px rgba(4, 10, 24, 0.4);\n  --font: \"Outfit\", \"Segoe UI\", sans-serif; --gap: 14px;\n  box-sizing: border-box !important; font-family: var(--font); color: var(--ink); line-height: 1.5;\n  display: block; min-width: 0 !important;\n  background:\n    radial-gradient(ellipse 70% 48% at 12% 0%, rgba(255, 92, 26, 0.26), transparent 58%),\n    radial-gradient(ellipse 55% 40% at 94% 6%, rgba(91, 157, 255, 0.14), transparent 52%),\n    linear-gradient(158deg, #0d1422 0%, #162036 45%, #1c2740 100%);\n  position: relative; isolation: isolate; overflow-x: hidden !important; overflow-wrap: anywhere;\n}\n.nsrpv *, .nsrpv *::before, .nsrpv *::after { box-sizing: border-box; }\n.nsrpv h3 { color: var(--ink) !important; }\n.nsrpv h2 { color: var(--ink) !important; }\n.nsrpv :where(h1,h2,h3,p,ul,ol,li,label,span) { margin: 0; padding: 0; border: 0; font-weight: inherit; max-width: 100%; overflow-wrap: anywhere; }\n.nsrpv :where(ul,ol) { list-style: none; }\n.nsrpv img, .nsrpv video { max-width: 100%; height: auto; display: block; border: 0; }\n.nsrpv a { color: var(--cool); text-decoration: none; }\n.nsrpv a:hover { text-decoration: underline; }\n.nsrpv-shell {width:100%;max-width:min(1200px,100%);margin-left: auto; margin-right: auto;padding: 65px clamp(8px, 2vw, 16px);min-width:0; display: flex; flex-direction: column; gap: var(--gap); container-type: inline-size; container-name: nsrpv; }\n.nsrpv-hero {\n  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius);\n  box-shadow: var(--shadow); padding: clamp(18px, 3.5vw, 28px) clamp(14px, 3vw, 22px);\n  text-align: center; backdrop-filter: blur(14px); animation: nsrpv-rise .45s ease both;\n}\n.nsrpv-brand {\n  width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 16px; display: inline-flex;\n  align-items: center; justify-content: center; color: #fff; font-size: 1.4rem;\n  background: linear-gradient(145deg, #ff5c1a, #ff8c42);\n  box-shadow: 0 10px 24px rgba(255, 92, 26, .35);\n}\n.nsrpv .nsrpv-hero__title {color:var(--ink)!important; font-size: clamp(1.35rem, 5vw, 2rem); font-weight: 800; letter-spacing: -.035em; margin-bottom: 8px; }\n.nsrpv-hero__mark { color: var(--accent); background-image: linear-gradient(90deg, var(--accent), #ff9a4a); background-position: 0 100%; background-repeat: no-repeat; background-size: 100% 3px; padding-bottom: 2px; }\n.nsrpv .nsrpv-hero__lead { max-width: 36rem; margin: 0 auto 20px; color: var(--muted); font-size: clamp(.9rem, 2.4vw, 1rem); }\n.nsrpv-tool { display: flex; flex-direction: column; gap: 12px; text-align: left; background: var(--soft); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: clamp(12px, 2.4vw, 16px); }\n.nsrpv .nsrpv-tool__label { font-size: .86rem; font-weight: 600; color: var(--muted); }\n.nsrpv-field { position: relative; display: flex; align-items: center; }\n.nsrpv .nsrpv-field__input {\n  width: 100%; height: 52px; padding: 0 52px 0 16px !important; border-radius: 12px;\n  border: 1px solid rgba(255,255,255,.12) !important; background: rgba(6,10,18,.55) !important;\n  color: var(--ink) !important; font: 500 16px var(--font); outline: none;\n}\n.nsrpv .nsrpv-field__input:focus { border-color: rgba(255,92,26,.55) !important; box-shadow: 0 0 0 3px var(--accent-soft); }\n.nsrpv .nsrpv-field__input::placeholder { color: var(--dim); }\n.nsrpv .nsrpv-field__paste {\n  position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px;\n  border: 0 !important; border-radius: 10px; background: transparent !important; color: var(--muted) !important; cursor: pointer;\n}\n.nsrpv .nsrpv-field__paste:hover { color: var(--accent) !important; background: var(--accent-soft) !important; }\n.nsrpv .nsrpv-btn {\n  display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 50px;\n  border: 0 !important; border-radius: 12px; font: 700 .98rem var(--font); cursor: pointer;\n  transition: transform .2s, box-shadow .2s, opacity .2s; text-decoration: none; appearance: none;\n}\n.nsrpv .nsrpv-btn--primary { background: linear-gradient(135deg, var(--accent), #ff7a3d) !important; color: #fff !important; box-shadow: 0 10px 22px rgba(255,92,26,.32); }\n.nsrpv .nsrpv-btn--primary:hover { transform: translateY(-1px); }\n.nsrpv .nsrpv-btn:disabled { opacity: .55; cursor: wait; transform: none !important; }\n.nsrpv .nsrpv-btn--ghost { background: rgba(255,255,255,.06) !important; color: var(--ink) !important; border: 1px solid rgba(255,255,255,.12) !important; }\n.nsrpv .nsrpv-btn--cool { background: linear-gradient(135deg, var(--cool), var(--cool-deep)) !important; color: #fff !important; }\n.nsrpv-alert { display: none; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; font-size: .88rem; font-weight: 500; }\n.nsrpv-alert.is-visible { display: flex; }\n.nsrpv-alert--error { background: rgba(255,107,122,.12); border: 1px solid rgba(255,107,122,.35); color: #ffb4bc; }\n.nsrpv-alert--ok { background: rgba(61,214,140,.12); border: 1px solid rgba(61,214,140,.35); color: #9aecc0; }\n.nsrpv-hint { font-size: .8rem; color: var(--dim); text-align: center; }\n.nsrpv-skeleton { display: none; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }\n.nsrpv-skeleton.is-active { display: block; animation: nsrpv-rise .35s ease both; }\n.nsrpv-sk { background: linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,140,66,.14), rgba(255,255,255,.06)); background-size: 200% 100%; animation: nsrpv-shimmer 1.2s ease infinite; border-radius: 10px; }\n.nsrpv-skeleton__block { height: 120px; margin-bottom: 12px; }\n.nsrpv-skeleton__line { height: 14px; margin-bottom: 10px; }\n.nsrpv-skeleton__line--lg { width: 70%; } .nsrpv-skeleton__line--md { width: 45%; }\n.nsrpv-result { display: none; animation: nsrpv-rise .45s ease both; }\n.nsrpv-result.is-visible { display: block; }\n.nsrpv-panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: clamp(14px, 3vw, 20px); }\n.nsrpv-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }\n.nsrpv-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); color: var(--muted); font-size: .78rem; font-weight: 600; }\n.nsrpv-chip i { color: var(--accent); }\n.nsrpv-chip--accent { background: var(--accent-soft); border-color: rgba(255,92,26,.35); color: #ffc4a8; }\n.nsrpv .nsrpv-post__title {color:var(--ink)!important; font-size: clamp(1.1rem, 3.2vw, 1.45rem); font-weight: 750; letter-spacing: -.02em; line-height: 1.3; }\n.nsrpv-post__body { color: var(--muted); white-space: pre-wrap; margin: 12px 0; font-size: .95rem; line-height: 1.6; }\n.nsrpv-media { margin: 12px 0 16px; border-radius: 14px; overflow: hidden; background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.08); }\n.nsrpv-media img, .nsrpv-media video { width: 100%; max-height: min(62vh, 520px); object-fit: contain; background: #070a12; margin-left: auto; margin-right: auto; }\n.nsrpv-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }\n.nsrpv-actions .nsrpv-btn { flex: 1 1 140px; height: 42px; font-size: .88rem !important; }\n.nsrpv-section { margin-top: 18px; }\n.nsrpv-section__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; font-size: .84rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }\n.nsrpv-comments { display: flex; flex-direction: column; gap: 10px; max-height: 560px; overflow: auto; padding-right: 4px; }\n.nsrpv-comment { padding: 12px; border-radius: 12px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); }\n.nsrpv-comment__meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; font-size: .78rem; color: var(--dim); font-weight: 600; }\n.nsrpv-comment__author { color: var(--cool); }\n.nsrpv-comment__body { color: var(--ink); font-size: .9rem; white-space: pre-wrap; line-height: 1.55; }\n.nsrpv-empty { display: none; text-align: center; padding: 24px 12px; color: var(--muted); }\n.nsrpv-empty.is-visible { display: block; }\n.nsrpv-empty i { display: block; font-size: 1.8rem; margin-bottom: 8px; opacity: .45; color: var(--accent); }\n@keyframes nsrpv-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }\n@keyframes nsrpv-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }\n\n\/* --- Codex CSS updates --- *\/\n.nsrpv {\n  width: 100vw;\n  max-width: none;\n  margin-left: calc(50% - 50vw);\n  margin-right: calc(50% - 50vw);\n  margin-top: -8px;\n  --ink: #f4f7fb;\n  --muted: #b8c2d8;\n  --dim: #8b97ad;\n  --panel: rgba(14, 21, 36, 0.86);\n  --soft: rgba(255, 255, 255, 0.06);\n  --line: rgba(255, 129, 76, 0.24);\n  --accent: #ff6a2b;\n  --accent-soft: rgba(255, 106, 43, 0.16);\n  --cool: #62a8ff;\n  --cool-deep: #2f73df;\n  --danger: #ff6b7a;\n  --ok: #37d392;\n  --radius: 22px;\n  --shadow: 0 24px 60px rgba(5, 11, 26, 0.42);\n  --font: \"Outfit\", \"Segoe UI\", sans-serif;\n  --gap: 18px;\n  box-sizing: border-box !important;\n  font-family: var(--font);\n  color: var(--ink);\n  line-height: 1.5;\n  display: block;\n  min-width: 0 !important;\n  background:\n    radial-gradient(circle at 12% 0%, rgba(255, 117, 58, 0.26), transparent 34%),\n    radial-gradient(circle at 88% 8%, rgba(98, 168, 255, 0.18), transparent 28%),\n    linear-gradient(140deg, #08111f 0%, #121c30 42%, #17253d 72%, #1a2944 100%);\n  position: relative;\n  isolation: isolate;\n  overflow-x: hidden !important;\n  overflow-wrap: anywhere;\n}\n\n.nsrpv *,\n.nsrpv *::before,\n.nsrpv *::after {\n  box-sizing: border-box;\n}\n\n.nsrpv h3 {\n  color: var(--ink) !important;\n}\n\n.nsrpv h2 {\n  color: var(--ink) !important;\n}\n\n.nsrpv :where(h1, h2, h3, p, ul, ol, li, label, span) {\n  margin: 0;\n  padding: 0;\n  border: 0;\n  font-weight: inherit;\n  max-width: 100%;\n  overflow-wrap: anywhere;\n}\n\n.nsrpv :where(ul, ol) {\n  list-style: none;\n}\n\n.nsrpv img,\n.nsrpv video {\n  max-width: 100%;\n  height: auto;\n  display: block;\n  border: 0;\n}\n\n.nsrpv a {\n  color: var(--cool);\n  text-decoration: none;\n  transition: color 0.2s ease, opacity 0.2s ease;\n}\n\n.nsrpv a:hover {\n  color: #8fc1ff;\n  text-decoration: underline;\n}\n\n.nsrpv-shell {\n  width: 100%;\n  max-width: min(1200px, 100%);\n  margin-left: auto;\n  margin-right: auto;\n  padding: 72px clamp(14px, 3vw, 24px);\n  min-width: 0;\n  display: flex;\n  flex-direction: column;\n  gap: var(--gap);\n  container-type: inline-size;\n  container-name: nsrpv;\n  position: relative;\n  z-index: 1;\n}\n\n.nsrpv-hero {\n  background:\n    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),\n    var(--panel);\n  border: 1px solid rgba(255, 164, 124, 0.22);\n  border-radius: var(--radius);\n  box-shadow: var(--shadow);\n  padding: clamp(22px, 3.6vw, 34px) clamp(16px, 3.2vw, 28px);\n  text-align: center;\n  backdrop-filter: blur(16px);\n  -webkit-backdrop-filter: blur(16px);\n  animation: nsrpv-rise 0.45s ease both;\n  position: relative;\n  overflow: hidden;\n}\n\n.nsrpv-hero::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background:\n    linear-gradient(135deg, rgba(255, 255, 255, 0.06), transparent 42%),\n    linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.03));\n  pointer-events: none;\n}\n\n.nsrpv-brand {\n  width: 60px;\n  height: 60px;\n  margin: 0 auto 14px;\n  border-radius: 18px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  color: #fff;\n  font-size: 1.5rem;\n  background: linear-gradient(145deg, #ff6121, #ff9650 56%, #ffc08d 100%);\n  box-shadow:\n    0 16px 34px rgba(255, 106, 43, 0.32),\n    inset 0 1px 0 rgba(255, 255, 255, 0.32);\n  position: relative;\n}\n\n.nsrpv-brand::after {\n  content: \"\";\n  position: absolute;\n  inset: 1px;\n  border-radius: inherit;\n  border: 1px solid rgba(255, 255, 255, 0.18);\n  pointer-events: none;\n}\n\n.nsrpv .nsrpv-hero__title {\n  color: var(--ink) !important;\n  font-size: clamp(1.45rem, 5vw, 2.35rem);\n  font-weight: 800;\n  letter-spacing: -0.04em;\n  margin-bottom: 10px;\n}\n\n.nsrpv-hero__mark {\n  color: #ffd3bd;\n  background-image: linear-gradient(90deg, var(--accent), #ffb173);\n  background-position: 0 100%;\n  background-repeat: no-repeat;\n  background-size: 100% 4px;\n  padding-bottom: 3px;\n}\n\n.nsrpv .nsrpv-hero__lead {\n  max-width: 40rem;\n  margin: 0 auto 22px;\n  color: var(--muted);\n  font-size: clamp(0.95rem, 2.4vw, 1.04rem);\n  line-height: 1.7;\n}\n\n.nsrpv-tool {\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n  text-align: left;\n  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));\n  border: 1px solid rgba(255, 255, 255, 0.1);\n  border-radius: 18px;\n  padding: clamp(14px, 2.6vw, 20px);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);\n  position: relative;\n}\n\n.nsrpv .nsrpv-tool__label {\n  font-size: 0.88rem;\n  font-weight: 700;\n  color: #d2daeb;\n  letter-spacing: 0.01em;\n}\n\n.nsrpv-field {\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n\n.nsrpv .nsrpv-field__input {\n  width: 100%;\n  height: 56px;\n  padding: 0 56px 0 18px !important;\n  border-radius: 15px;\n  border: 1px solid rgba(255, 255, 255, 0.12) !important;\n  background:\n    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(7, 11, 21, 0.62)) !important;\n  color: var(--ink) !important;\n  font: 500 16px var(--font);\n  outline: none;\n  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.2s ease;\n  box-shadow:\n    inset 0 1px 0 rgba(255, 255, 255, 0.06),\n    0 8px 22px rgba(0, 0, 0, 0.18);\n}\n\n.nsrpv .nsrpv-field__input:hover {\n  border-color: rgba(255, 255, 255, 0.18) !important;\n}\n\n.nsrpv .nsrpv-field__input:focus {\n  border-color: rgba(255, 106, 43, 0.65) !important;\n  box-shadow:\n    0 0 0 4px var(--accent-soft),\n    0 16px 28px rgba(255, 106, 43, 0.14);\n  background: rgba(9, 14, 25, 0.88) !important;\n}\n\n.nsrpv .nsrpv-field__input::placeholder {\n  color: var(--dim);\n}\n\n.nsrpv .nsrpv-field__paste {\n  position: absolute;\n  right: 8px;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 42px;\n  height: 42px;\n  border: 0 !important;\n  border-radius: 12px;\n  background: rgba(255, 255, 255, 0.04) !important;\n  color: var(--muted) !important;\n  cursor: pointer;\n  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;\n}\n\n.nsrpv .nsrpv-field__paste:hover {\n  color: #fff !important;\n  background: linear-gradient(135deg, rgba(255, 106, 43, 0.24), rgba(255, 162, 109, 0.18)) !important;\n  box-shadow: 0 10px 18px rgba(255, 106, 43, 0.18);\n}\n\n.nsrpv .nsrpv-field__paste:active {\n  transform: translateY(-50%) scale(0.97);\n}\n\n.nsrpv .nsrpv-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  width: 100%;\n  height: 52px;\n  border: 0 !important;\n  border-radius: 14px;\n  font: 700 0.98rem var(--font);\n  cursor: pointer;\n  transition: transform 0.22s ease, box-shadow 0.22s ease, opacity 0.2s ease, background 0.2s ease, border-color 0.2s ease;\n  text-decoration: none;\n  appearance: none;\n  position: relative;\n  overflow: hidden;\n}\n\n.nsrpv .nsrpv-btn::before {\n  content: \"\";\n  position: absolute;\n  inset: 1px;\n  border-radius: inherit;\n  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), transparent 45%);\n  opacity: 0.55;\n  pointer-events: none;\n}\n\n.nsrpv .nsrpv-btn:hover {\n  transform: translateY(-2px);\n}\n\n.nsrpv .nsrpv-btn:active {\n  transform: translateY(0);\n}\n\n.nsrpv .nsrpv-btn:focus-visible {\n  outline: none;\n  box-shadow: 0 0 0 4px rgba(98, 168, 255, 0.18);\n}\n\n.nsrpv .nsrpv-btn--primary {\n  background: linear-gradient(135deg, #ff6121 0%, #ff8a46 58%, #ffaf72 100%) !important;\n  color: #fff !important;\n  box-shadow:\n    0 16px 28px rgba(255, 92, 26, 0.3),\n    inset 0 1px 0 rgba(255, 255, 255, 0.18);\n}\n\n.nsrpv .nsrpv-btn--primary:hover {\n  box-shadow:\n    0 20px 34px rgba(255, 92, 26, 0.35),\n    inset 0 1px 0 rgba(255, 255, 255, 0.18);\n}\n\n.nsrpv .nsrpv-btn:disabled {\n  opacity: 0.55;\n  cursor: wait;\n  transform: none !important;\n  box-shadow: none !important;\n}\n\n.nsrpv .nsrpv-btn--ghost {\n  background: rgba(255, 255, 255, 0.06) !important;\n  color: var(--ink) !important;\n  border: 1px solid rgba(255, 255, 255, 0.12) !important;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);\n}\n\n.nsrpv .nsrpv-btn--ghost:hover {\n  background: rgba(255, 255, 255, 0.1) !important;\n  border-color: rgba(255, 255, 255, 0.18) !important;\n}\n\n.nsrpv .nsrpv-btn--cool {\n  background: linear-gradient(135deg, #62a8ff 0%, #3c88f2 58%, #2a66d4 100%) !important;\n  color: #fff !important;\n  box-shadow:\n    0 14px 28px rgba(47, 115, 223, 0.24),\n    inset 0 1px 0 rgba(255, 255, 255, 0.2);\n}\n\n.nsrpv-alert {\n  display: none;\n  gap: 10px;\n  align-items: flex-start;\n  padding: 12px 14px;\n  border-radius: 14px;\n  font-size: 0.9rem;\n  font-weight: 600;\n  line-height: 1.55;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);\n}\n\n.nsrpv-alert.is-visible {\n  display: flex;\n}\n\n.nsrpv-alert--error {\n  background: rgba(255, 107, 122, 0.12);\n  border: 1px solid rgba(255, 107, 122, 0.32);\n  color: #ffc0c8;\n}\n\n.nsrpv-alert--ok {\n  background: rgba(61, 214, 140, 0.12);\n  border: 1px solid rgba(61, 214, 140, 0.28);\n  color: #aaf0ca;\n}\n\n.nsrpv-hint {\n  font-size: 0.81rem;\n  color: var(--dim);\n  text-align: center;\n  line-height: 1.6;\n}\n\n.nsrpv-skeleton {\n  display: none;\n  background:\n    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02)),\n    var(--panel);\n  border: 1px solid var(--line);\n  border-radius: var(--radius);\n  padding: 16px;\n  box-shadow: var(--shadow);\n}\n\n.nsrpv-skeleton.is-active {\n  display: block;\n  animation: nsrpv-rise 0.35s ease both;\n}\n\n.nsrpv-sk {\n  background: linear-gradient(90deg, rgba(255, 255, 255, 0.05), rgba(255, 140, 66, 0.18), rgba(255, 255, 255, 0.05));\n  background-size: 200% 100%;\n  animation: nsrpv-shimmer 1.2s ease infinite;\n  border-radius: 12px;\n}\n\n.nsrpv-skeleton__block {\n  height: 120px;\n  margin-bottom: 12px;\n}\n\n.nsrpv-skeleton__line {\n  height: 14px;\n  margin-bottom: 10px;\n}\n\n.nsrpv-skeleton__line--lg {\n  width: 70%;\n}\n\n.nsrpv-skeleton__line--md {\n  width: 45%;\n}\n\n.nsrpv-result {\n  display: none;\n  animation: nsrpv-rise 0.45s ease both;\n}\n\n.nsrpv-result.is-visible {\n  display: block;\n}\n\n.nsrpv-panel {\n  background:\n    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02)),\n    var(--panel);\n  border: 1px solid var(--line);\n  border-radius: var(--radius);\n  box-shadow: var(--shadow);\n  padding: clamp(16px, 3vw, 24px);\n  backdrop-filter: blur(14px);\n  -webkit-backdrop-filter: blur(14px);\n}\n\n.nsrpv-chips {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin: 12px 0 16px;\n}\n\n.nsrpv-chip {\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  padding: 7px 11px;\n  border-radius: 999px;\n  background: rgba(255, 255, 255, 0.06);\n  border: 1px solid rgba(255, 255, 255, 0.09);\n  color: var(--muted);\n  font-size: 0.79rem;\n  font-weight: 700;\n  letter-spacing: 0.01em;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);\n}\n\n.nsrpv-chip i {\n  color: var(--accent);\n}\n\n.nsrpv-chip--accent {\n  background: linear-gradient(135deg, rgba(255, 106, 43, 0.18), rgba(255, 166, 105, 0.12));\n  border-color: rgba(255, 106, 43, 0.3);\n  color: #ffd1b8;\n}\n\n.nsrpv .nsrpv-post__title {\n  color: var(--ink) !important;\n  font-size: clamp(1.15rem, 3.2vw, 1.6rem);\n  font-weight: 780;\n  letter-spacing: -0.025em;\n  line-height: 1.28;\n}\n\n.nsrpv-post__body {\n  color: var(--muted);\n  white-space: pre-wrap;\n  margin: 14px 0;\n  font-size: 0.97rem;\n  line-height: 1.72;\n}\n\n.nsrpv-media {\n  margin: 14px 0 18px;\n  border-radius: 18px;\n  overflow: hidden;\n  background: rgba(0, 0, 0, 0.28);\n  border: 1px solid rgba(255, 255, 255, 0.08);\n  box-shadow:\n    0 16px 28px rgba(0, 0, 0, 0.18),\n    inset 0 1px 0 rgba(255, 255, 255, 0.04);\n}\n\n.nsrpv-media img,\n.nsrpv-media video {\n  width: 100%;\n  max-height: min(62vh, 520px);\n  object-fit: contain;\n  background: #070a12;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.nsrpv-actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: 14px;\n}\n\n.nsrpv-actions .nsrpv-btn {\n  flex: 1 1 140px;\n  height: 44px;\n  font-size: 0.9rem !important;\n}\n\n.nsrpv-section {\n  margin-top: 20px;\n}\n\n.nsrpv-section__head {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 12px;\n  font-size: 0.84rem;\n  font-weight: 800;\n  color: var(--muted);\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n}\n\n.nsrpv-comments {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  max-height: 560px;\n  overflow: auto;\n  padding-right: 4px;\n  scrollbar-width: thin;\n  scrollbar-color: rgba(255, 255, 255, 0.16) transparent;\n}\n\n.nsrpv-comments::-webkit-scrollbar {\n  width: 8px;\n}\n\n.nsrpv-comments::-webkit-scrollbar-track {\n  background: transparent;\n}\n\n.nsrpv-comments::-webkit-scrollbar-thumb {\n  background: rgba(255, 255, 255, 0.14);\n  border-radius: 999px;\n}\n\n.nsrpv-comment {\n  padding: 14px;\n  border-radius: 16px;\n  background:\n    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.025));\n  border: 1px solid rgba(255, 255, 255, 0.08);\n  box-shadow:\n    0 12px 22px rgba(0, 0, 0, 0.12),\n    inset 0 1px 0 rgba(255, 255, 255, 0.04);\n  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;\n}\n\n.nsrpv-comment:hover {\n  transform: translateY(-2px);\n  border-color: rgba(255, 255, 255, 0.12);\n}\n\n.nsrpv-comment__meta {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  align-items: center;\n  margin-bottom: 8px;\n  font-size: 0.78rem;\n  color: var(--dim);\n  font-weight: 700;\n}\n\n.nsrpv-comment__author {\n  color: #87bbff;\n}\n\n.nsrpv-comment__body {\n  color: var(--ink);\n  font-size: 0.92rem;\n  white-space: pre-wrap;\n  line-height: 1.62;\n}\n\n.nsrpv-empty {\n  display: none;\n  text-align: center;\n  padding: 28px 14px;\n  color: var(--muted);\n  border-radius: 16px;\n  background: rgba(255, 255, 255, 0.035);\n  border: 1px dashed rgba(255, 255, 255, 0.1);\n}\n\n.nsrpv-empty.is-visible {\n  display: block;\n}\n\n.nsrpv-empty i {\n  display: block;\n  font-size: 1.9rem;\n  margin-bottom: 10px;\n  opacity: 0.75;\n  color: var(--accent);\n}\n\n.nsrpv .fa-brands,\n.nsrpv .fa-clipboard,\n.nsrpv .fa-comments,\n.nsrpv .fa-magnifying-glass,\n.nsrpv .fa-reddit-alien,\n.nsrpv .fa-regular,\n.nsrpv .fa-solid {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  line-height: 1;\n  vertical-align: middle;\n}\n\n@keyframes nsrpv-rise {\n  from {\n    opacity: 0;\n    transform: translateY(14px);\n  }\n  to {\n    opacity: 1;\n    transform: none;\n  }\n}\n\n@keyframes nsrpv-shimmer {\n  0% {\n    background-position: 100% 0;\n  }\n  100% {\n    background-position: -100% 0;\n  }\n}\n\n@media (max-width: 1024px) {\n  .nsrpv-shell {\n    padding-top: 58px;\n    padding-bottom: 58px;\n  }\n\n  .nsrpv-hero {\n    padding: 22px 18px;\n  }\n\n  .nsrpv-panel {\n    padding: 18px;\n  }\n}\n\n@media (max-width: 767px) {\n  .nsrpv {\n    --radius: 18px;\n    --gap: 16px;\n  }\n\n  .nsrpv-shell {\n    padding: 44px 14px 52px;\n  }\n\n  .nsrpv-brand {\n    width: 54px;\n    height: 54px;\n    border-radius: 16px;\n    margin-bottom: 12px;\n  }\n\n  .nsrpv .nsrpv-hero__title {\n    font-size: clamp(1.35rem, 7vw, 1.85rem);\n  }\n\n  .nsrpv .nsrpv-hero__lead {\n    margin-bottom: 18px;\n    font-size: 0.94rem;\n  }\n\n  .nsrpv-tool {\n    padding: 14px;\n    gap: 12px;\n  }\n\n  .nsrpv .nsrpv-field__input {\n    height: 54px;\n    font-size: 15px;\n  }\n\n  .nsrpv .nsrpv-btn {\n    height: 50px;\n  }\n\n  .nsrpv-actions {\n    flex-direction: column;\n  }\n\n  .nsrpv-actions .nsrpv-btn {\n    flex-basis: auto;\n    width: 100%;\n  }\n\n  .nsrpv-section__head {\n    align-items: flex-start;\n    flex-direction: column;\n  }\n\n  .nsrpv-comments {\n    max-height: none;\n    padding-right: 0;\n  }\n\n  .nsrpv-comment {\n    padding: 13px;\n  }\n\n  .nsrpv-chip {\n    max-width: 100%;\n  }\n}\n\n@media (max-width: 520px) {\n  .nsrpv-shell {\n    padding-left: 12px;\n    padding-right: 12px;\n  }\n\n  .nsrpv-hero,\n  .nsrpv-panel,\n  .nsrpv-skeleton {\n    border-radius: 16px;\n  }\n\n  .nsrpv .nsrpv-field__input {\n    padding-left: 15px !important;\n    padding-right: 52px !important;\n  }\n\n  .nsrpv-post__body,\n  .nsrpv-comment__body {\n    font-size: 0.9rem;\n  }\n\n  .nsrpv-hint {\n    font-size: 0.78rem;\n  }\n}\n<\/style>\n<!-- New Social Reddit Post Viewer -->\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n<div class=\"nsrpv\" id=\"nsrpv-root\" data-nsrpv-ready=\"0\">\n  <div class=\"nsrpv-shell\">\n    <section class=\"nsrpv-hero\" aria-labelledby=\"nsrpv-title\">\n      <div class=\"nsrpv-brand\" aria-hidden=\"true\"><i class=\"fa-brands fa-reddit-alien\"><\/i><\/div>\n<h1 class=\"nsrpv-hero__title\" id=\"nsrpv-title\">Reddit Post Viewer<\/h1>\n<p class=\"nsrpv-hero__lead\">Paste a Reddit post link to read the full post, media, and top comments in one clean view.<\/p>\n<div class=\"nsrpv-tool\">\n        <label class=\"nsrpv-tool__label\" for=\"nsrpv-input\">Reddit post URL<\/label>\n        <div class=\"nsrpv-field\">\n          <input class=\"nsrpv-field__input\" id=\"nsrpv-input\" type=\"url\" placeholder=\"https:\/\/www.reddit.com\/r\/...\/comments\/...\" autocomplete=\"off\" spellcheck=\"false\" inputmode=\"url\">\n          <button type=\"button\" class=\"nsrpv-field__paste\" id=\"nsrpv-paste\" aria-label=\"Paste from clipboard\"><i class=\"fa-regular fa-clipboard\"><\/i><\/button>\n        <\/div>\n        <button type=\"button\" class=\"nsrpv-btn nsrpv-btn--primary\" id=\"xrespond-tools-turnstile\"><i class=\"fa-solid fa-magnifying-glass\"><\/i><span>View Post<\/span><\/button>\n        <div class=\"nsrpv-alert\" id=\"nsrpv-alert\" role=\"alert\"><\/div>\n<p class=\"nsrpv-hint\">Works with reddit.com post and comment permalinks<\/p>\n      <\/div>\n    <\/section>\n\n    <div class=\"nsrpv-skeleton\" id=\"nsrpv-skeleton\" aria-hidden=\"true\">\n      <div class=\"nsrpv-sk nsrpv-skeleton__block\"><\/div>\n<div class=\"nsrpv-sk nsrpv-skeleton__line nsrpv-skeleton__line--lg\"><\/div>\n<div class=\"nsrpv-sk nsrpv-skeleton__line nsrpv-skeleton__line--md\"><\/div>\n    <\/div>\n\n    <section class=\"nsrpv-result\" id=\"nsrpv-result\" aria-live=\"polite\">\n      <div class=\"nsrpv-panel\">\n        <h2 class=\"nsrpv-post__title\" id=\"nsrpv-post-title\">\u2014<\/h2>\n<div class=\"nsrpv-chips\" id=\"nsrpv-chips\"><\/div>\n<div class=\"nsrpv-media\" id=\"nsrpv-media\" hidden><\/div>\n<p class=\"nsrpv-post__body\" id=\"nsrpv-post-body\"><\/p>\n<div class=\"nsrpv-actions\" id=\"nsrpv-actions\"><\/div>\n<div class=\"nsrpv-section\">\n          <div class=\"nsrpv-section__head\"><span>Comments<\/span><span id=\"nsrpv-comment-count\">0<\/span><\/div>\n<div class=\"nsrpv-comments\" id=\"nsrpv-comments\"><\/div>\n<div class=\"nsrpv-empty\" id=\"nsrpv-empty-comments\"><i class=\"fa-regular fa-comments\"><\/i><p>No comments returned for this post.<\/p><\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n  <\/div>\n<\/div> \r\n\r\n<style>\r\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');\r\n\r\n        :root {\r\n            --rpv-primary-color: #2C3E50;\r\n            --rpv-primary-light: #34495E;\r\n            --rpv-secondary-color: #16A085;\r\n            --rpv-secondary-light: #1ABC9C;\r\n            --rpv-accent-color: #E67E22;\r\n            --rpv-accent-light: #F39C12;\r\n            --rpv-success-color: #27AE60;\r\n            --rpv-success-light: #2ECC71;\r\n            --rpv-danger-color: #E74C3C;\r\n            --rpv-danger-light: #C0392B;\r\n            --rpv-progress-color: #00D4AA;\r\n            --rpv-progress-bg: #E8F5F3;\r\n            --rpv-bg-primary: #F8F9FA;\r\n            --rpv-bg-secondary: #FFFFFF;\r\n            --rpv-bg-tertiary: #ECF0F1;\r\n            --rpv-glass-bg: rgba(255, 255, 255, 0.25);\r\n            --rpv-glass-border: rgba(255, 255, 255, 0.35);\r\n            --rpv-text-primary: #2C3E50;\r\n            --rpv-text-secondary: #34495E;\r\n            --rpv-text-muted: #7F8C8D;\r\n            --rpv-text-white: #FFFFFF;\r\n            --rpv-shadow-sm: 0 2px 4px rgba(44, 62, 80, 0.08);\r\n            --rpv-shadow-md: 0 4px 12px rgba(44, 62, 80, 0.12);\r\n            --rpv-shadow-lg: 0 8px 24px rgba(44, 62, 80, 0.15);\r\n            --rpv-shadow-xl: 0 12px 32px rgba(44, 62, 80, 0.18);\r\n            --rpv-reddit-orange: #FF4500;\r\n            --rpv-reddit-orange-light: #FF6B35;\r\n        }\r\n\r\n        .rpv-wrapper {\r\n            font-family: 'Inter', sans-serif;\r\n            background: linear-gradient(135deg, #ECF0F1 0%, #BDC3C7 25%, #95A5A6 50%, #7F8C8D 75%, #34495E 100%);\r\n            min-height: 100vh;\r\n            line-height: 1.6;\r\n            position: relative;\r\n            overflow-x: hidden;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-wrapper::before {\r\n            content: '';\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background:\r\n                radial-gradient(circle at 25% 25%, rgba(22, 160, 133, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 75% 75%, rgba(52, 73, 94, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(230, 126, 34, 0.08) 0%, transparent 50%);\r\n            pointer-events: none;\r\n            z-index: -1;\r\n        }\r\n\r\n        .rpv-container {\r\n            max-width: 1400px;\r\n            margin: 0 auto;\r\n            padding: 20px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        .rpv-header {\r\n            text-align: center;\r\n            margin-bottom: 40px;\r\n            padding: 30px 0;\r\n            animation: rpv-fadeInDown 1s ease-out;\r\n        }\r\n\r\n        .rpv-logo {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 20px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .rpv-logo-icon {\r\n            width: 70px;\r\n            height: 70px;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\r\n            border-radius: 16px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 32px;\r\n            font-weight: 700;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            animation: rpv-pulse 3s ease-in-out infinite;\r\n        }\r\n\r\n        .rpv-reddit-icon {\r\n            width: 50px;\r\n            height: 50px;\r\n            background: var(--rpv-reddit-orange);\r\n            border-radius: 12px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            animation: rpv-redditFloat 4s ease-in-out infinite;\r\n            box-shadow: 0 4px 15px rgba(255, 69, 0, 0.3);\r\n            margin: 0 10px;\r\n        }\r\n\r\n        .rpv-logo-text {\r\n            font-size: clamp(2rem, 5vw, 3.2rem);\r\n            font-weight: 800;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            letter-spacing: -0.5px;\r\n        }\r\n\r\n        .rpv-subtitle {\r\n            color: var(--rpv-text-secondary);\r\n            font-size: 18px;\r\n            font-weight: 600;\r\n            margin-bottom: 25px;\r\n            max-width: 600px;\r\n            margin-left: auto;\r\n            margin-right: auto;\r\n            text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);\r\n        }\r\n\r\n        .rpv-features-bar {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 30px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .rpv-feature-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            color: var(--rpv-text-primary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            background: var(--rpv-glass-bg);\r\n            backdrop-filter: blur(20px);\r\n            padding: 12px 20px;\r\n            border-radius: 12px;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-feature-item:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-md);\r\n            background: rgba(255, 255, 255, 0.35);\r\n        }\r\n\r\n        .rpv-feature-icon {\r\n            width: 24px;\r\n            height: 24px;\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 12px;\r\n            color: white;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .rpv-search-container {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            padding: 35px;\r\n            border-radius: 20px;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            margin-bottom: 30px;\r\n            animation: rpv-fadeInUp 1s ease-out 0.2s both;\r\n        }\r\n\r\n        .rpv-search-form {\r\n            display: flex;\r\n            gap: 15px;\r\n            margin-bottom: 20px;\r\n            position: relative;\r\n        }\r\n\r\n        .rpv-search-input {\r\n            flex: 1 !important;\r\n            padding: 16px 20px !important;\r\n            border: 2px solid var(--rpv-bg-tertiary) !important;\r\n            border-radius: 12px !important;\r\n            font-size: 16px !important;\r\n            font-weight: 500 !important;\r\n            background: var(--rpv-bg-secondary) !important;\r\n            transition: all 0.3s ease !important;\r\n            outline: none !important;\r\n            color: var(--rpv-text-primary) !important;\r\n            font-family: inherit !important;\r\n        }\r\n\r\n        .rpv-search-input:focus {\r\n            border-color: var(--rpv-secondary-color);\r\n            box-shadow: 0 0 0 3px rgba(22, 160, 133, 0.1);\r\n            transform: translateY(-1px);\r\n        }\r\n\r\n        .rpv-search-input::placeholder {\r\n            color: var(--rpv-text-muted);\r\n            font-weight: 400;\r\n        }\r\n\r\n        .rpv-search-btn {\r\n            padding: 16px 32px;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\r\n            color: white;\r\n            border: none;\r\n            border-radius: 12px;\r\n            font-size: 16px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            min-width: 160px;\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--rpv-shadow-md);\r\n            font-family: inherit;\r\n        }\r\n\r\n        .rpv-search-btn:hover:not(:disabled) {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange-light), var(--rpv-secondary-color));\r\n        }\r\n\r\n        .rpv-search-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-user-info {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            padding: 35px;\r\n            border-radius: 20px;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            margin-bottom: 30px;\r\n            display: none;\r\n            animation: rpv-slideInDown 0.8s ease-out;\r\n        }\r\n\r\n        .rpv-user-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 25px;\r\n            margin-bottom: 25px;\r\n        }\r\n\r\n        .rpv-user-avatar {\r\n            width: 90px;\r\n            height: 90px;\r\n            border-radius: 50%;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 2.5rem;\r\n            color: white;\r\n            font-weight: 800;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .rpv-user-details h2 {\r\n            font-size: 2rem;\r\n            color: var(--rpv-text-primary);\r\n            margin-bottom: 8px;\r\n            font-weight: 800;\r\n        }\r\n\r\n        .rpv-user-description {\r\n            color: var(--rpv-text-secondary);\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .rpv-user-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\r\n            gap: 20px;\r\n            margin-top: 25px;\r\n        }\r\n\r\n        .rpv-stat-card {\r\n            background: linear-gradient(135deg, var(--rpv-glass-bg), rgba(255, 255, 255, 0.15));\r\n            backdrop-filter: blur(20px);\r\n            padding: 20px;\r\n            border-radius: 16px;\r\n            text-align: center;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-stat-card:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--rpv-shadow-md);\r\n        }\r\n\r\n        .rpv-stat-number {\r\n            font-size: 1.8rem;\r\n            font-weight: 800;\r\n            color: var(--rpv-reddit-orange);\r\n            margin-bottom: 5px;\r\n        }\r\n\r\n        .rpv-stat-label {\r\n            font-size: 0.9rem;\r\n            color: var(--rpv-text-secondary);\r\n            font-weight: 600;\r\n        }\r\n\r\n        .rpv-posts-section {\r\n            display: none;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .rpv-section-title {\r\n            color: var(--rpv-text-primary);\r\n            font-size: 2rem;\r\n            font-weight: 800;\r\n            margin-bottom: 30px;\r\n            text-align: center;\r\n            background: var(--rpv-glass-bg);\r\n            backdrop-filter: blur(20px);\r\n            padding: 20px;\r\n            border-radius: 16px;\r\n            border: 1px solid var(--rpv-glass-border);\r\n        }\r\n\r\n        .rpv-posts-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));\r\n            gap: 32px;\r\n            align-items: stretch;\r\n        }\r\n\r\n        .rpv-post-card {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1.5px solid var(--rpv-glass-border);\r\n            border-radius: 28px;\r\n            box-shadow: 0 8px 32px rgba(44, 62, 80, 0.13), 0 1.5px 6px rgba(44, 62, 80, 0.07);\r\n            transition: box-shadow 0.3s, transform 0.2s;\r\n            position: relative;\r\n            overflow: hidden;\r\n            animation: rpv-slideUp 0.6s ease forwards;\r\n            display: flex;\r\n            flex-direction: column;\r\n        }\r\n\r\n        .rpv-post-card-inner {\r\n            padding: 36px 32px 32px 32px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            flex-grow: 1;\r\n        }\r\n\r\n        .rpv-post-card::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -1.5px;\r\n            left: 0;\r\n            right: 0;\r\n            height: 7px;\r\n            background: linear-gradient(90deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n            border-radius: 28px 28px 0 0;\r\n            z-index: 1;\r\n        }\r\n\r\n        .rpv-post-card:hover {\r\n            transform: translateY(-8px) scale(1.012);\r\n            box-shadow: 0 16px 48px rgba(44, 62, 80, 0.18), 0 2px 8px rgba(44, 62, 80, 0.10);\r\n            border-color: var(--rpv-reddit-orange-light);\r\n        }\r\n\r\n        .rpv-post-header {\r\n            display: flex;\r\n            align-items: flex-start;\r\n            justify-content: space-between;\r\n            margin-bottom: 18px;\r\n            padding-bottom: 12px;\r\n            border-bottom: 1.5px solid var(--rpv-bg-tertiary);\r\n        }\r\n\r\n        .rpv-post-title {\r\n            font-size: 1.7rem;\r\n            font-weight: 800;\r\n            margin-bottom: 18px;\r\n            color: var(--rpv-primary-color);\r\n            line-height: 1.3;\r\n            letter-spacing: -0.5px;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 3;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n            max-width: 100%;\r\n        }\r\n\r\n        .rpv-post-title.rpv-full {\r\n            display: block;\r\n            -webkit-line-clamp: unset;\r\n            -webkit-box-orient: unset;\r\n            overflow: visible;\r\n            text-overflow: unset;\r\n        }\r\n\r\n        .rpv-show-title-btn {\r\n            background: linear-gradient(135deg, var(--rpv-primary-color), var(--rpv-primary-light));\r\n            color: white;\r\n            border: none;\r\n            padding: 6px 16px;\r\n            border-radius: 10px;\r\n            cursor: pointer;\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            margin-top: -10px;\r\n            margin-bottom: 10px;\r\n            transition: all 0.2s;\r\n            align-self: flex-start;\r\n        }\r\n\r\n        .rpv-show-title-btn:hover {\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n        }\r\n\r\n        .rpv-post-body-content {\r\n            flex-grow: 1;\r\n            display: flex;\r\n            flex-direction: column;\r\n            margin-bottom: 18px;\r\n        }\r\n\r\n        .rpv-media-container {\r\n            margin-top: 18px;\r\n            border-radius: 18px;\r\n            overflow: hidden;\r\n            position: relative;\r\n            box-shadow: 0 2px 12px rgba(44, 62, 80, 0.10);\r\n            background: #000;\r\n            height: 300px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n\r\n        .rpv-video-loading-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: rgba(0, 0, 0, 0.55);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            z-index: 2;\r\n            border-radius: 18px;\r\n            font-size: 1.3rem;\r\n            color: #fff;\r\n            font-weight: 700;\r\n            transition: opacity 0.2s;\r\n        }\r\n\r\n        .rpv-video-loading-spinner {\r\n            border: 5px solid #eee;\r\n            border-top: 5px solid var(--rpv-reddit-orange);\r\n            border-radius: 50%;\r\n            width: 48px;\r\n            height: 48px;\r\n            animation: rpv-spin 1s linear infinite;\r\n            margin-right: 16px;\r\n        }\r\n\r\n        .rpv-image-preview,\r\n        .rpv-video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n\r\n        .rpv-image-preview {\r\n            cursor: pointer;\r\n            transition: transform 0.3s ease;\r\n        }\r\n\r\n        .rpv-image-preview:hover {\r\n            transform: scale(1.02);\r\n        }\r\n\r\n        .rpv-video-container {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: #000;\r\n            border-radius: 18px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .rpv-video-player {\r\n            border-radius: 18px;\r\n        }\r\n\r\n        .rpv-media-controls {\r\n            display: flex;\r\n            gap: 12px;\r\n            margin-top: auto;\r\n            padding-top: 16px;\r\n            flex-wrap: wrap;\r\n            align-items: center;\r\n        }\r\n\r\n        .rpv-control-btn {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            padding: 12px 20px;\r\n            border: none;\r\n            border-radius: 12px;\r\n            cursor: pointer;\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            font-family: inherit;\r\n            text-transform: none;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .rpv-control-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .rpv-control-btn:hover::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .rpv-stream-audio-btn {\r\n            background: linear-gradient(135deg, #9B59B6, #8E44AD);\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(155, 89, 182, 0.3);\r\n        }\r\n\r\n        .rpv-stream-audio-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 6px 20px rgba(155, 89, 182, 0.4);\r\n        }\r\n\r\n        .rpv-stream-audio-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-stream-audio-btn.loading {\r\n            background: linear-gradient(135deg, #95A5A6, #7F8C8D);\r\n        }\r\n\r\n        .rpv-download-btn {\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(39, 174, 96, 0.3);\r\n        }\r\n\r\n        .rpv-download-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 6px 20px rgba(39, 174, 96, 0.4);\r\n        }\r\n\r\n        .rpv-download-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-download-btn.downloading {\r\n            background: linear-gradient(135deg, var(--rpv-accent-color), var(--rpv-accent-light));\r\n        }\r\n\r\n        .rpv-post-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));\r\n            gap: 16px;\r\n            margin-top: 25px;\r\n            padding-top: 20px;\r\n            border-top: 2px solid var(--rpv-bg-tertiary);\r\n        }\r\n\r\n        .rpv-stat-item {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            gap: 8px;\r\n            padding: 16px;\r\n            background: linear-gradient(135deg, var(--rpv-glass-bg), rgba(255, 255, 255, 0.15));\r\n            backdrop-filter: blur(20px);\r\n            border-radius: 16px;\r\n            text-align: center;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-stat-item:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-sm);\r\n        }\r\n\r\n        .rpv-stat-value {\r\n            font-weight: 800;\r\n            font-size: 1.3rem;\r\n        }\r\n\r\n        .rpv-upvotes .rpv-stat-value {\r\n            color: var(--rpv-reddit-orange);\r\n        }\r\n\r\n        .rpv-comments .rpv-stat-value {\r\n            color: var(--rpv-secondary-color);\r\n        }\r\n\r\n        .rpv-awards .rpv-stat-value {\r\n            color: #FFD700;\r\n        }\r\n\r\n        .rpv-ratio .rpv-stat-value {\r\n            color: var(--rpv-success-color);\r\n        }\r\n\r\n        .rpv-loading {\r\n            text-align: center;\r\n            padding: 50px;\r\n            color: var(--rpv-text-primary);\r\n            font-size: 1.2rem;\r\n            display: none;\r\n        }\r\n\r\n        .rpv-spinner {\r\n            border: 4px solid var(--rpv-bg-tertiary);\r\n            border-top: 4px solid var(--rpv-reddit-orange);\r\n            border-radius: 50%;\r\n            width: 50px;\r\n            height: 50px;\r\n            animation: rpv-spin 1s linear infinite;\r\n            margin: 20px auto;\r\n        }\r\n\r\n        .rpv-error-message {\r\n            background: rgba(231, 76, 60, 0.1);\r\n            border: 1px solid rgba(231, 76, 60, 0.2);\r\n            color: var(--rpv-danger-color);\r\n            padding: 20px;\r\n            border-radius: 15px;\r\n            text-align: center;\r\n            margin: 20px 0;\r\n            font-weight: 600;\r\n            display: none;\r\n        }\r\n\r\n        .rpv-modal {\r\n            display: none;\r\n            position: fixed;\r\n            z-index: 1000;\r\n            left: 0;\r\n            top: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background-color: rgba(0, 0, 0, 0.9);\r\n            animation: rpv-fadeIn 0.3s ease;\r\n        }\r\n\r\n        .rpv-modal-content {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            max-width: 90%;\r\n            max-height: 90%;\r\n        }\r\n\r\n        .rpv-modal img {\r\n            width: 100%;\r\n            height: auto;\r\n            max-width: 90vw;\r\n            max-height: 90vh;\r\n            object-fit: contain;\r\n            border-radius: 16px;\r\n        }\r\n\r\n        .rpv-close {\r\n            position: absolute;\r\n            top: 15px;\r\n            right: 35px;\r\n            color: #f1f1f1;\r\n            font-size: 40px;\r\n            font-weight: bold;\r\n            cursor: pointer;\r\n            z-index: 1001;\r\n        }\r\n\r\n        .rpv-close:hover {\r\n            color: var(--rpv-reddit-orange);\r\n        }\r\n\r\n        .rpv-download-progress {\r\n            position: fixed;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            border-radius: 16px;\r\n            padding: 25px;\r\n            min-width: 350px;\r\n            box-shadow: var(--rpv-shadow-xl);\r\n            z-index: 1000;\r\n            display: none;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-download-progress.rpv-show {\r\n            display: block;\r\n            animation: rpv-slideInRight 0.4s ease-out;\r\n        }\r\n\r\n        .rpv-progress-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .rpv-progress-text {\r\n            font-weight: 700;\r\n            font-size: 15px;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-cancel-btn {\r\n            background: rgba(231, 76, 60, 0.1);\r\n            border: 1px solid rgba(231, 76, 60, 0.2);\r\n            color: var(--rpv-danger-color);\r\n            padding: 8px 16px;\r\n            border-radius: 8px;\r\n            font-size: 12px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .rpv-cancel-btn:hover {\r\n            background: rgba(231, 76, 60, 0.15);\r\n        }\r\n\r\n        .rpv-progress-bar-container {\r\n            width: 100%;\r\n            height: 12px;\r\n            background: var(--rpv-progress-bg);\r\n            border-radius: 6px;\r\n            overflow: hidden;\r\n            margin-bottom: 12px;\r\n            box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);\r\n        }\r\n\r\n        .rpv-progress-bar-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--rpv-progress-color), var(--rpv-secondary-light));\r\n            border-radius: 6px;\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n            box-shadow: 0 2px 4px rgba(0, 212, 170, 0.4);\r\n        }\r\n\r\n        .rpv-progress-details {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: 13px;\r\n            color: var(--rpv-text-secondary);\r\n            font-weight: 500;\r\n        }\r\n\r\n        .rpv-expand-btn {\r\n            background: linear-gradient(135deg, var(--rpv-primary-color), var(--rpv-primary-light));\r\n            color: white;\r\n            border: none;\r\n            padding: 10px 20px;\r\n            border-radius: 12px;\r\n            cursor: pointer;\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            margin-top: 15px;\r\n            transition: all 0.3s ease;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .rpv-expand-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-sm);\r\n        }\r\n\r\n        .rpv-gallery-container {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n            gap: 12px;\r\n            width: 100%;\r\n            height: 100%;\r\n        }\r\n\r\n        .rpv-gallery-image-wrapper {\r\n            position: relative;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            width: 100%;\r\n            height: 100%;\r\n        }\r\n\r\n        .rpv-gallery-image {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            cursor: pointer;\r\n            transition: transform 0.3s ease;\r\n            display: block;\r\n        }\r\n\r\n        .rpv-gallery-image:hover {\r\n            transform: scale(1.02);\r\n        }\r\n\r\n        .rpv-gallery-download-btn {\r\n            position: absolute;\r\n            right: 10px;\r\n            bottom: 10px;\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            color: white;\r\n            border: none;\r\n            border-radius: 8px;\r\n            padding: 8px 14px;\r\n            font-size: 0.95rem;\r\n            font-weight: 600;\r\n            box-shadow: 0 2px 8px rgba(39, 174, 96, 0.18);\r\n            opacity: 0;\r\n            transition: opacity 0.2s;\r\n            cursor: pointer;\r\n            z-index: 2;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 6px;\r\n        }\r\n\r\n        .rpv-gallery-image-wrapper:hover .rpv-gallery-download-btn {\r\n            opacity: 1;\r\n        }\r\n\r\n        .rpv-custom-play-pause-btn {\r\n            position: absolute;\r\n            left: 50%;\r\n            top: 50%;\r\n            transform: translate(-50%, -50%);\r\n            background: rgba(44, 62, 80, 0.85);\r\n            color: #fff;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 54px;\r\n            height: 54px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 2rem;\r\n            z-index: 3;\r\n            cursor: pointer;\r\n            box-shadow: 0 2px 8px rgba(44, 62, 80, 0.18);\r\n            transition: background 0.2s, opacity 0.2s;\r\n            opacity: 0;\r\n        }\r\n\r\n        .rpv-video-container:hover .rpv-custom-play-pause-btn,\r\n        .rpv-video-container.rpv-paused .rpv-custom-play-pause-btn {\r\n            opacity: 0.85;\r\n        }\r\n\r\n        .rpv-custom-play-pause-btn:hover {\r\n            background: rgba(44, 62, 80, 1);\r\n        }\r\n\r\n        @keyframes rpv-redditFloat {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateY(0px) scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: translateY(-6px) scale(1.02);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-20px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(20px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideInRight {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(100%);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-spin {\r\n            0% {\r\n                transform: rotate(0deg);\r\n            }\r\n\r\n            100% {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-pulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.02);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeIn {\r\n            from {\r\n                opacity: 0;\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        \/* --- Responsive Design --- *\/\r\n        @media (max-width: 1200px) {\r\n            .rpv-posts-grid {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 24px;\r\n            }\r\n\t\t\t\t\t.rpv-search-form {\r\n\tdisplay: flex;\r\n\tgap: 15px;\r\n\tmargin-bottom: 20px;\r\n\tposition: relative;\r\n\tflex-direction: column;\r\n}\r\n\t\t\t\t\t.rpv-logo {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 20px;\r\n\tmargin-bottom: 20px;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: column;\r\n}\r\n        }\r\n\r\n        @media (max-width: 992px) {\r\n            .rpv-posts-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 24px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 24px;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.5rem;\r\n                padding: 16px;\r\n            }\r\n\t\t\t\t\t.rpv-search-form {\r\n\tdisplay: flex;\r\n\tgap: 15px;\r\n\tmargin-bottom: 20px;\r\n\tposition: relative;\r\n\tflex-direction: column;\r\n}\r\n\t\t\t\t\t.rpv-logo {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 20px;\r\n\tmargin-bottom: 20px;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: column;\r\n}\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .rpv-container {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 20px;\r\n            }\r\n\r\n            .rpv-user-header {\r\n                flex-direction: column;\r\n                align-items: flex-start;\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-user-avatar {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 2rem;\r\n            }\r\n\r\n            .rpv-user-details h2 {\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-user-stats {\r\n                grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 20px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 250px;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 600px) {\r\n            .rpv-search-form {\r\n                flex-direction: column;\r\n                gap: 10px;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .rpv-search-input,\r\n            .rpv-search-btn {\r\n                width: 100%;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .rpv-features-bar {\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-feature-item {\r\n                padding: 10px 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .rpv-media-controls {\r\n                flex-direction: column;\r\n                align-items: stretch;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                justify-content: center;\r\n            }\r\n\r\n            .rpv-post-stats {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-custom-play-pause-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                min-width: auto;\r\n                width: calc(100% - 40px);\r\n            }\r\n        }\r\n\r\n        \/* Extra small devices *\/\r\n        @media (max-width: 400px) {\r\n            .rpv-logo-icon {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 24px;\r\n            }\r\n\r\n            .rpv-reddit-icon {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .rpv-logo-text {\r\n                font-size: 1.8rem;\r\n            }\r\n\r\n            .rpv-subtitle {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .rpv-feature-item {\r\n                padding: 8px 12px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .rpv-feature-icon {\r\n                width: 20px;\r\n                height: 20px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-user-avatar {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 1.8rem;\r\n            }\r\n\r\n            .rpv-user-details h2 {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .rpv-user-description {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .rpv-stat-number {\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.3rem;\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 12px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1rem;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 200px;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                padding: 10px 15px;\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 8px;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                padding: 15px;\r\n                min-width: auto;\r\n                width: calc(100% - 30px);\r\n            }\r\n        }\r\n\r\n        \/* Very small devices *\/\r\n        @media (max-width: 375px) {\r\n            .rpv-container {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-header {\r\n                padding: 20px 0;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-logo {\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-features-bar {\r\n                gap: 8px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 12px;\r\n            }\r\n\r\n            .rpv-user-header {\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-user-stats {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.2rem;\r\n                padding: 12px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-posts-grid {\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 0.9rem;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 180px;\r\n            }\r\n\r\n            .rpv-post-stats {\r\n                margin-top: 15px;\r\n                padding-top: 15px;\r\n                gap: 8px;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 6px;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.7rem;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                padding: 8px 12px;\r\n                font-size: 0.75rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                padding: 12px;\r\n                width: calc(100% - 24px);\r\n            }\r\n\r\n            .rpv-progress-text {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .rpv-cancel-btn {\r\n                padding: 6px 12px;\r\n                font-size: 11px;\r\n            }\r\n        }\r\n    <\/style>\r\n    <style id=\"vvvebjs-styles\"><\/style>\r\n\r\n\r\n<body data-aos-easing=\"ease-in-out\" data-aos-duration=\"800\" data-aos-delay=\"0\" data-new-gr-c-s-check-loaded=\"14.1242.0\"\r\n    data-gr-ext-installed=\"\" data-new-gr-c-s-loaded=\"14.1223.0\" class=\"\" style=\"\">\r\n    \r\n     <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n \r\n    <script>\r\n        class RedditPostViewer {\r\n            constructor() {\r\n                this.currentUser = null;\r\n                this.posts = [];\r\n                this.downloadController = null;\r\n                this.corsProxies = [\r\n                    'https:\/\/api.allorigins.win\/raw?url=',\r\n                    'https:\/\/corsproxy.io\/?',\r\n                    'https:\/\/api.codetabs.com\/v1\/proxy?quest='\r\n                ];\r\n                this.init();\r\n            }\r\n\r\n            init() {\r\n                this.bindEvents();\r\n                this.setupModal();\r\n            }\r\n\r\n            bindEvents() {\r\n                const searchForm = document.getElementById('rpv-searchForm');\r\n                const usernameInput = document.getElementById('rpv-usernameInput');\r\n\r\n                searchForm.addEventListener('submit', (e) => {\r\n                    e.preventDefault();\r\n                    const rawInput = usernameInput.value.trim();\r\n                    const username = this.extractRedditUsername(rawInput);\r\n                    if (username) {\r\n                        this.searchUser(username);\r\n                    } else {\r\n                        this.showError('Please enter a valid Reddit username, u\/username, or profile URL (e.g., spez, u\/spez, https:\/\/www.reddit.com\/user\/spez\/)');\r\n                    }\r\n                });\r\n\r\n                usernameInput.addEventListener('keypress', (e) => {\r\n                    if (e.key === 'Enter') {\r\n                        e.preventDefault();\r\n                        searchForm.dispatchEvent(new Event('submit'));\r\n                    }\r\n                });\r\n\r\n                document.getElementById('rpv-cancelDownloadBtn').addEventListener('click', () => this.cancelDownload());\r\n\r\n            }\r\n\r\n            async searchUser(username) {\r\n                this.showLoading(true);\r\n                this.clearError();\r\n\r\n                try {\r\n                    console.log(`Searching for user: ${username}`);\r\n                    const posts = await this.fetchUserPosts(username);\r\n\r\n                    if (posts && posts.length > 0) {\r\n                        this.currentUser = username;\r\n                        this.posts = posts;\r\n                        this.displayUserInfo(username, posts);\r\n                        this.displayPosts(posts);\r\n                        this.showPostsSection(true);\r\n                        console.log(`Found ${posts.length} posts for ${username}`);\r\n                    } else {\r\n                        this.showError('The username is not correct or does not exist. Please check and try another one.');\r\n                        this.showPostsSection(false);\r\n                        document.getElementById('rpv-userInfo').style.display = 'none';\r\n                    }\r\n                } catch (error) {\r\n                    console.error('Error fetching posts:', error);\r\n                    if (error && error.message && error.message.toLowerCase().includes('not found')) {\r\n                        this.showError('The username is not correct or does not exist. Please check and try another one.');\r\n                    } else {\r\n                        this.showError('Something went wrong. Please try again later.');\r\n                    }\r\n                    this.showPostsSection(false);\r\n                    document.getElementById('rpv-userInfo').style.display = 'none';\r\n                } finally {\r\n                    this.showLoading(false);\r\n                }\r\n            }\r\n\r\n            async fetchUserPosts(username) {\r\n                const redditUrl = `https:\/\/www.reddit.com\/user\/${username}\/submitted.json?limit=25`;\r\n                \/\/ No-CORS fetch might work on some environments\r\n                const directFetch = async () => {\r\n                    const response = await fetch(redditUrl, { headers: { 'User-Agent': 'RedditPostViewer\/1.0' } });\r\n                    if (!response.ok) throw new Error(`HTTP ${response.status}`);\r\n                    const data = await response.json();\r\n                    return this.parseRedditData(data);\r\n                };\r\n\r\n                const proxyFetch = async (proxy) => {\r\n                    const proxyUrl = proxy + encodeURIComponent(redditUrl);\r\n                    console.log(`Trying proxy: ${proxy.split('?')[0]}`);\r\n                    const response = await fetch(proxyUrl, { headers: { 'User-Agent': 'RedditPostViewer\/1.0' } });\r\n                    if (!response.ok) throw new Error(`Proxy failed: HTTP ${response.status}`);\r\n                    const data = await response.json();\r\n                    return this.parseRedditData(data);\r\n                };\r\n\r\n                const methods = [directFetch, ...this.corsProxies.map(p => () => proxyFetch(p))];\r\n                for (const method of methods) {\r\n                    try {\r\n                        const result = await method();\r\n                        if (result && result.length > 0) return result;\r\n                    } catch (error) {\r\n                        console.log('Fetch method failed, trying next...');\r\n                    }\r\n                }\r\n                throw new Error('not found');\r\n            }\r\n\r\n            parseRedditData(data) {\r\n                if (!data || !data.data || !data.data.children) {\r\n                    throw new Error('Invalid Reddit API response format');\r\n                }\r\n                return data.data.children.map(child => child.data);\r\n            }\r\n\r\n            displayUserInfo(username, posts) {\r\n                const userInfo = document.getElementById('rpv-userInfo');\r\n                const userAvatar = document.getElementById('rpv-userAvatar');\r\n                const userName = document.getElementById('rpv-userName');\r\n                const userDescription = document.getElementById('rpv-userDescription');\r\n                const userStats = document.getElementById('rpv-userStats');\r\n\r\n                userAvatar.textContent = username.charAt(0).toUpperCase();\r\n                userName.textContent = `u\/${username}`;\r\n                userDescription.textContent = `Reddit User \u2022 ${posts.length} recent posts loaded`;\r\n\r\n                const totalUpvotes = posts.reduce((sum, post) => sum + (post.ups || 0), 0);\r\n                const totalComments = posts.reduce((sum, post) => sum + (post.num_comments || 0), 0);\r\n                const totalAwards = posts.reduce((sum, post) => sum + (post.total_awards_received || 0), 0);\r\n                const avgUpvoteRatio = posts.length > 0 ? posts.reduce((sum, post) => sum + (post.upvote_ratio || 0), 0) \/ posts.length : 0;\r\n                const totalCrossposts = posts.reduce((sum, post) => sum + (post.num_crossposts || 0), 0);\r\n\r\n                userStats.innerHTML = `\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${this.formatNumber(totalUpvotes)}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Upvotes<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${this.formatNumber(totalComments)}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Comments<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${totalAwards}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Awards<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${Math.round(avgUpvoteRatio * 100)}%<\/div>\r\n                        <div class=\"rpv-stat-label\">Avg. Upvote Ratio<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${totalCrossposts}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Crossposts<\/div>\r\n                    <\/div>\r\n                `;\r\n                userInfo.style.display = 'block';\r\n            }\r\n\r\n            displayPosts(posts) {\r\n                const container = document.getElementById('rpv-postsContainer');\r\n                const sectionTitle = document.getElementById('rpv-sectionTitle');\r\n\r\n                sectionTitle.textContent = `${posts.length} Posts from u\/${this.currentUser}`;\r\n                container.innerHTML = '';\r\n\r\n                posts.forEach((post, index) => {\r\n                    const postCard = this.createPostCard(post);\r\n                    postCard.style.animationDelay = `${index * 0.05}s`;\r\n                    container.appendChild(postCard);\r\n                });\r\n            }\r\n\r\n            createPostCard(post) {\r\n                const card = document.createElement('div');\r\n                card.className = 'rpv-post-card';\r\n                card.dataset.postId = post.id;\r\n\r\n                const isVideo = post.is_video || (post.secure_media && post.secure_media.reddit_video);\r\n                const hasImage = post.preview && post.preview.images && post.preview.images.length > 0;\r\n                const isGallery = post.is_gallery && post.media_metadata;\r\n\r\n                let mediaContent = '';\r\n                let mediaControls = '';\r\n\r\n                if (isVideo && post.secure_media && post.secure_media.reddit_video) {\r\n                    const videoUrl = post.secure_media.reddit_video.fallback_url;\r\n                    mediaContent = `\r\n                        <div class=\"rpv-media-container\">\r\n                            <div class=\"rpv-video-container rpv-paused\" id=\"rpv-videocontainer-${post.id}\">\r\n                                <video class=\"rpv-video-player\" preload=\"metadata\" id=\"rpv-video-${post.id}\">\r\n                                    <source src=\"${videoUrl}\" type=\"video\/mp4\">\r\n                                <\/video>\r\n                                <button class=\"rpv-custom-play-pause-btn\" id=\"rpv-playpause-${post.id}\">\u25b6<\/button>\r\n                                <div class=\"rpv-video-loading-overlay\" id=\"rpv-video-loading-${post.id}\" style=\"display:none;\">\r\n                                    <div class=\"rpv-video-loading-spinner\"><\/div> Loading...\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>`;\r\n                    mediaControls = `\r\n                        <button class=\"rpv-control-btn rpv-stream-audio-btn\" data-url=\"https:\/\/www.reddit.com${post.permalink}\" data-postid=\"${post.id}\">\ud83d\udd0a Stream with Audio<\/button>\r\n                        <button class=\"rpv-control-btn rpv-download-btn\" data-url=\"https:\/\/www.reddit.com${post.permalink}\" data-filename=\"${this.sanitizeFilename(post.title)}.mp4\" data-postid=\"${post.id}\">\ud83d\udce5 Download Video<\/button>`;\r\n                } else if (isGallery && post.gallery_data && post.gallery_data.items) {\r\n                    const images = post.gallery_data.items.map(item => post.media_metadata[item.media_id]?.s?.u?.replace(\/&\/g, '&')).filter(Boolean);\r\n                    if (images.length > 0) {\r\n                        mediaContent = `\r\n                            <div class=\"rpv-media-container\">\r\n                                <div class=\"rpv-gallery-container\">\r\n                                    ${images.map((imgUrl, idx) => `\r\n                                        <div class='rpv-gallery-image-wrapper'>\r\n                                            <img decoding=\"async\" src=\"${imgUrl}\" alt=\"Gallery image ${idx + 1}\" class=\"rpv-gallery-image\" data-fullurl=\"${imgUrl}\">\r\n                                        <\/div>`).join('')}\r\n                                <\/div>\r\n                            <\/div>`;\r\n                        mediaControls = images.map((imgUrl, idx) => `\r\n                            <button class='rpv-control-btn rpv-download-btn' data-url=\"${imgUrl}\" data-filename=\"${this.sanitizeFilename(post.title)}_${idx + 1}.jpg\">\ud83d\udce5 Download Image ${idx + 1}<\/button>\r\n                        `).join('');\r\n                    }\r\n                } else if (hasImage) {\r\n                    const imageUrl = post.preview.images[0].source.url.replace(\/&\/g, '&');\r\n                    mediaContent = `\r\n                        <div class=\"rpv-media-container\">\r\n                            <img decoding=\"async\" src=\"${imageUrl}\" alt=\"${post.title}\" class=\"rpv-image-preview\" data-fullurl=\"${imageUrl}\">\r\n                        <\/div>`;\r\n                    mediaControls = `<button class=\"rpv-control-btn rpv-download-btn\" data-url=\"${imageUrl}\" data-filename=\"${this.sanitizeFilename(post.title)}.jpg\">\ud83d\udce5 Download Image<\/button>`;\r\n                }\r\n\r\n                const isTitleTruncated = post.title.length > 150; \/\/ Simple check, JS line clamp check is too slow for many cards\r\n\r\n                let textContent = '';\r\n                if (post.selftext && post.selftext.trim()) {\r\n                    const isLongText = post.selftext.length > 400;\r\n                    textContent = `\r\n                        <div class=\"rpv-post-text\" id=\"rpv-text-${post.id}\" style=\"white-space: pre-wrap; word-wrap: break-word;\">\r\n                            ${isLongText ? this.truncateText(post.selftext, 400) : post.selftext}\r\n                        <\/div>\r\n                        ${isLongText ? `<button class=\"rpv-expand-btn\" data-postid=\"${post.id}\">Show More<\/button>` : ''}`;\r\n                }\r\n\r\n                card.innerHTML = `\r\n                    <div class=\"rpv-post-card-inner\">\r\n                        <div class=\"rpv-post-header\">\r\n                            <span class=\"rpv-subreddit-badge\">${post.subreddit_name_prefixed}<\/span>\r\n                            <span class=\"rpv-post-meta\">${this.formatDate(post.created_utc)}<\/span>\r\n                        <\/div>\r\n                        <h2 class=\"rpv-post-title ${isTitleTruncated ? '' : 'rpv-full'}\" id=\"rpv-title-${post.id}\">${post.title}<\/h2>\r\n                        ${isTitleTruncated ? `<button class=\"rpv-show-title-btn\" data-postid=\"${post.id}\" data-state=\"collapsed\">Show More<\/button>` : ''}\r\n                        \r\n                        <div class=\"rpv-post-body-content\">\r\n                            ${textContent}\r\n                            ${mediaContent}\r\n                        <\/div>\r\n                        \r\n                        <div class=\"rpv-post-stats\">\r\n                            <div class=\"rpv-stat-item rpv-upvotes\"><div class=\"rpv-stat-value\">${this.formatNumber(post.ups || 0)}<\/div><div class=\"rpv-stat-label\">Upvotes<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-comments\"><div class=\"rpv-stat-value\">${this.formatNumber(post.num_comments || 0)}<\/div><div class=\"rpv-stat-label\">Comments<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-awards\"><div class=\"rpv-stat-value\">${post.total_awards_received || 0}<\/div><div class=\"rpv-stat-label\">Awards<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-ratio\"><div class=\"rpv-stat-value\">${Math.round((post.upvote_ratio || 0) * 100)}%<\/div><div class=\"rpv-stat-label\">Upvoted<\/div><\/div>\r\n                        <\/div>\r\n                        <div class=\"rpv-media-controls\">${mediaControls}<\/div>\r\n                    <\/div>\r\n                `;\r\n\r\n                \/\/ Add event listeners using delegation on the container later\r\n                setTimeout(() => {\r\n                    const video = card.querySelector(`#rpv-video-${post.id}`);\r\n                    const playBtn = card.querySelector(`#rpv-playpause-${post.id}`);\r\n                    const videoContainer = card.querySelector(`#rpv-videocontainer-${post.id}`);\r\n                    if (video && playBtn && videoContainer) {\r\n                        const togglePlay = () => this.togglePlayPause(post.id);\r\n                        playBtn.addEventListener('click', togglePlay);\r\n                        video.addEventListener('click', togglePlay);\r\n                        video.addEventListener('play', () => {\r\n                            playBtn.innerHTML = '\u2759\u2759';\r\n                            videoContainer.classList.remove('rpv-paused');\r\n                        });\r\n                        video.addEventListener('pause', () => {\r\n                            playBtn.innerHTML = '\u25b6';\r\n                            videoContainer.classList.add('rpv-paused');\r\n                        });\r\n                    }\r\n\r\n                    card.querySelectorAll('.rpv-image-preview, .rpv-gallery-image').forEach(img => {\r\n                        img.addEventListener('click', (e) => this.openImageModal(e.currentTarget.dataset.fullurl));\r\n                    });\r\n\r\n                    card.querySelectorAll('.rpv-control-btn').forEach(btn => {\r\n                        if (btn.classList.contains('rpv-stream-audio-btn')) {\r\n                            btn.addEventListener('click', (e) => this.streamWithAudio(e.currentTarget.dataset.url, e.currentTarget.dataset.postid, e.currentTarget));\r\n                        } else if (btn.classList.contains('rpv-download-btn')) {\r\n                            if (btn.dataset.url.includes('reddit.com')) {\r\n                                btn.addEventListener('click', (e) => this.downloadVideoWithAudio(e.currentTarget.dataset.url, e.currentTarget.dataset.filename, e.currentTarget));\r\n                            } else {\r\n                                btn.addEventListener('click', (e) => this.downloadImage(e.currentTarget.dataset.url, e.currentTarget.dataset.filename, e.currentTarget));\r\n                            }\r\n                        }\r\n                    });\r\n\r\n                    const showTitleBtn = card.querySelector('.rpv-show-title-btn');\r\n                    if (showTitleBtn) {\r\n                        showTitleBtn.addEventListener('click', (e) => this.toggleTitle(e.currentTarget.dataset.postid));\r\n                    }\r\n\r\n                    const expandBtn = card.querySelector('.rpv-expand-btn');\r\n                    if (expandBtn) {\r\n                        const fullText = post.selftext;\r\n                        expandBtn.addEventListener('click', (e) => this.toggleText(e.currentTarget.dataset.postid, fullText, e.currentTarget));\r\n                    }\r\n                }, 0);\r\n\r\n                return card;\r\n            }\r\n\r\n            async streamWithAudio(redditUrl, postId, button) {\r\n                const originalText = button.innerHTML;\r\n                button.disabled = true;\r\n                button.classList.add('loading');\r\n                button.innerHTML = '\u23f3 Loading Audio...';\r\n                const overlay = document.getElementById(`rpv-video-loading-${postId}`);\r\n                if (overlay) overlay.style.display = 'flex';\r\n                try {\r\n                    const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                        method: 'POST',\r\n                        headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n                        body: `url=${encodeURIComponent(redditUrl)}`\r\n                    });\r\n                    if (!response.ok) throw new Error('API failed');\r\n                    const data = await response.json();\r\n                    if (data.success && data.data?.data?.links?.[0]?.download_url) {\r\n                        const videoElement = document.getElementById(`rpv-video-${postId}`);\r\n                        if (videoElement) {\r\n                            videoElement.src = data.data.data.links[0].download_url;\r\n                            videoElement.load();\r\n                            videoElement.onloadeddata = () => {\r\n                                if (overlay) overlay.style.display = 'none';\r\n                                videoElement.play(); \/\/ Autoplay after loading audio\r\n                                button.innerHTML = '\ud83d\udd0a Audio Loaded!';\r\n                                setTimeout(() => { button.innerHTML = originalText; button.disabled = false; button.classList.remove('loading'); }, 3000);\r\n                            };\r\n                        }\r\n                    } else { throw new Error('Invalid API response'); }\r\n                } catch (error) {\r\n                    console.error('Error fetching audio video:', error);\r\n                    button.innerHTML = '\u274c Failed';\r\n                    setTimeout(() => { button.innerHTML = originalText; button.disabled = false; button.classList.remove('loading'); }, 3000);\r\n                } finally {\r\n                    if (overlay && overlay.style.display === 'flex') overlay.style.display = 'none';\r\n                }\r\n            }\r\n\r\n            async downloadFile(url, filename, button, type = 'video') {\r\n                const originalText = button.innerHTML;\r\n                button.disabled = true;\r\n                button.classList.add('downloading');\r\n                button.innerHTML = '\u23f3 Preparing...';\r\n\r\n                this.downloadController = new AbortController();\r\n                const signal = this.downloadController.signal;\r\n\r\n                try {\r\n                    this.showDownloadProgress(`Preparing ${type}...`, 0);\r\n\r\n                    let downloadUrl = url;\r\n                    \/\/ If it's a reddit video link, get the audio-enabled version first\r\n                    if (type === 'video' && url.includes('reddit.com')) {\r\n                        const apiResponse = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                            method: 'POST',\r\n                            headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n                            body: `url=${encodeURIComponent(url)}`,\r\n                            signal\r\n                        });\r\n                        if (!apiResponse.ok) throw new Error('API fetch failed');\r\n                        const data = await apiResponse.json();\r\n                        if (!data.success || !data.data?.data?.links?.[0]?.download_url) throw new Error('Invalid API response');\r\n                        downloadUrl = data.data.data.links[0].download_url;\r\n                    }\r\n\r\n                    const response = await fetch(downloadUrl, { signal });\r\n                    if (!response.ok) throw new Error(`Download failed: ${response.statusText}`);\r\n\r\n                    const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                    const reader = response.body.getReader();\r\n                    let receivedSize = 0;\r\n                    const chunks = [];\r\n                    while (true) {\r\n                        const { done, value } = await reader.read();\r\n                        if (done) break;\r\n                        chunks.push(value);\r\n                        receivedSize += value.length;\r\n                        const progress = totalSize ? (receivedSize \/ totalSize) * 100 : 50;\r\n                        this.showDownloadProgress(`Downloading ${type}...`, progress, receivedSize, totalSize);\r\n                    }\r\n\r\n                    this.showDownloadProgress('Processing...', 99, receivedSize, totalSize);\r\n                    const blob = new Blob(chunks);\r\n                    const blobUrl = URL.createObjectURL(blob);\r\n                    const a = document.createElement('a');\r\n                    a.href = blobUrl;\r\n                    a.download = filename;\r\n                    document.body.appendChild(a);\r\n                    a.click();\r\n                    document.body.removeChild(a);\r\n                    URL.revokeObjectURL(blobUrl);\r\n\r\n                    this.showDownloadProgress('Completed!', 100, totalSize, totalSize);\r\n                    setTimeout(() => this.hideDownloadProgress(), 3000);\r\n                } catch (error) {\r\n                    if (error.name === 'AbortError') {\r\n                        this.showDownloadProgress('Download cancelled', 0);\r\n                    } else {\r\n                        console.error('Download error:', error);\r\n                        this.showError(`Could not download ${type}. Please try again.`);\r\n                        this.hideDownloadProgress();\r\n                    }\r\n                    setTimeout(() => this.hideDownloadProgress(), 2000);\r\n                } finally {\r\n                    button.disabled = false;\r\n                    button.classList.remove('downloading');\r\n                    button.innerHTML = originalText;\r\n                    this.downloadController = null;\r\n                }\r\n            }\r\n\r\n            downloadVideoWithAudio(url, filename, button) {\r\n                this.downloadFile(url, filename, button, 'video');\r\n            }\r\n\r\n            downloadImage(url, filename, button) {\r\n                this.downloadFile(url, filename, button, 'image');\r\n            }\r\n\r\n            showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n                const progressDiv = document.getElementById('rpv-downloadProgress');\r\n                document.getElementById('rpv-progressText').textContent = text;\r\n                document.getElementById('rpv-progressBarFill').style.width = `${progress}%`;\r\n                document.getElementById('rpv-progressPercent').textContent = `${Math.round(progress)}%`;\r\n                document.getElementById('rpv-progressSize').textContent = `${this.formatFileSize(downloaded)} \/ ${this.formatFileSize(total)}`;\r\n                progressDiv.classList.add('rpv-show');\r\n            }\r\n\r\n            hideDownloadProgress() {\r\n                document.getElementById('rpv-downloadProgress').classList.remove('rpv-show');\r\n            }\r\n\r\n            cancelDownload() {\r\n                if (this.downloadController) {\r\n                    this.downloadController.abort();\r\n                }\r\n            }\r\n\r\n            toggleText(postId, fullText, button) {\r\n                const textElement = document.getElementById(`rpv-text-${postId}`);\r\n                if (button.textContent === 'Show More') {\r\n                    textElement.textContent = fullText;\r\n                    button.textContent = 'Show Less';\r\n                } else {\r\n                    textElement.textContent = this.truncateText(fullText, 400);\r\n                    button.textContent = 'Show More';\r\n                }\r\n            }\r\n\r\n            toggleTitle(postId) {\r\n                const titleElem = document.getElementById(`rpv-title-${postId}`);\r\n                const btn = titleElem.nextElementSibling;\r\n                if (btn.dataset.state === 'collapsed') {\r\n                    titleElem.classList.add('rpv-full');\r\n                    btn.textContent = 'Show Less';\r\n                    btn.dataset.state = 'expanded';\r\n                } else {\r\n                    titleElem.classList.remove('rpv-full');\r\n                    btn.textContent = 'Show More';\r\n                    btn.dataset.state = 'collapsed';\r\n                }\r\n            }\r\n\r\n            togglePlayPause(postId) {\r\n                const video = document.getElementById(`rpv-video-${postId}`);\r\n                if (!video) return;\r\n                document.querySelectorAll('.rpv-video-player').forEach(v => {\r\n                    if (v !== video && !v.paused) v.pause();\r\n                });\r\n                video.paused ? video.play() : video.pause();\r\n            }\r\n\r\n            setupModal() {\r\n                const modal = document.getElementById('rpv-imageModal');\r\n                const closeBtn = modal.querySelector('.rpv-close');\r\n                closeBtn.onclick = () => modal.style.display = 'none';\r\n                modal.onclick = (event) => {\r\n                    if (event.target === modal) modal.style.display = 'none';\r\n                };\r\n            }\r\n\r\n            openImageModal(imageUrl) {\r\n                const modal = document.getElementById('rpv-imageModal');\r\n                const modalImg = document.getElementById('rpv-modalImage');\r\n                modal.style.display = 'block';\r\n                modalImg.src = imageUrl;\r\n            }\r\n\r\n            showLoading(show) {\r\n                const searchBtn = document.getElementById('rpv-searchBtn');\r\n                document.getElementById('rpv-searchText').style.display = show ? 'none' : 'block';\r\n                document.getElementById('rpv-searchSpinner').style.display = show ? 'block' : 'none';\r\n                document.getElementById('rpv-loading').style.display = show ? 'block' : 'none';\r\n                searchBtn.disabled = show;\r\n            }\r\n\r\n            showPostsSection(show) {\r\n                document.getElementById('rpv-postsSection').style.display = show ? 'block' : 'none';\r\n            }\r\n\r\n            showError(message) {\r\n                const errorContainer = document.getElementById('rpv-errorMessage');\r\n                errorContainer.textContent = message;\r\n                errorContainer.style.display = 'block';\r\n            }\r\n\r\n            clearError() {\r\n                document.getElementById('rpv-errorMessage').style.display = 'none';\r\n            }\r\n\r\n            formatNumber(num) {\r\n                return Intl.NumberFormat('en-US', { notation: 'compact', maximumFractionDigits: 1 }).format(num);\r\n            }\r\n\r\n            formatDate(timestamp) {\r\n                return new Date(timestamp * 1000).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });\r\n            }\r\n\r\n            formatFileSize(bytes) {\r\n                if (bytes === 0) return '0 Bytes';\r\n                const k = 1024;\r\n                const sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n                const i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n                return parseFloat((bytes \/ Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\r\n            }\r\n\r\n            truncateText(text, maxLength) {\r\n                if (text.length <= maxLength) return text;\r\n                return text.substring(0, maxLength) + '...';\r\n            }\r\n\r\n            sanitizeFilename(filename) {\r\n                return filename.replace(\/[^a-z0-9_\\-]\/gi, '_').substring(0, 100);\r\n            }\r\n\r\n            extractRedditUsername(input) {\r\n                if (!input) return null;\r\n                const cleanedInput = input.trim();\r\n                const urlMatch = cleanedInput.match(\/reddit\\.com\\\/(?:u|user)\\\/([A-Za-z0-9_\\-]+)\/i);\r\n                if (urlMatch) return urlMatch[1];\r\n                const uMatch = cleanedInput.match(\/^(?:u\\\/)?([A-Za-z0-9_\\-]+)$\/i);\r\n                if (uMatch) return uMatch[1];\r\n                return null;\r\n            }\r\n        }\r\n\r\n        const redditViewer = new RedditPostViewer();\r\n    <\/script>\r\n<\/body>\r\n\r\n<!-- ======== Content Section Start ======== -->\r\n<!-- Reddit Post Viewer - 3 Content Sections + Shortcode -->\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\" \/>\r\n\r\n<style>\r\n  .rdpv-s1-root { --s1-bg: #ffffff; --s1-card-bg: #fef6f0; --s1-text: #0f172a; --s1-text-soft: #334155; --s1-text-muted: #64748b; --s1-primary: #FF4500; --s1-accent: #FF8717; width: 100%; background: var(--s1-bg); padding: 80px 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n  .rdpv-s1-container { max-width: 1200px; margin: 0 auto; }\r\n  .rdpv-s1-header { text-align: center; margin-bottom: 30px; }\r\n  .rdpv-s1-heading { font-size: clamp(1.4rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 16px; color: #0f172a; }\r\n  .rdpv-highlight { background: linear-gradient(135deg, #FF4500 0%, #FF8717 50%, #FFB000 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\r\n  .rdpv-s1-subheading { font-size: clamp(0.8rem, 2vw, 1rem); color: var(--s1-text-muted); max-width: 700px; margin: 0 auto; line-height: 1.6; }\r\n  .rdpv-s1-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\r\n  .rdpv-s1-card { background: var(--s1-card-bg); border-radius: 10px; padding: 32px 28px; position: relative; overflow: hidden; transition: all 0.4s ease; cursor: pointer; border: 2px solid transparent; opacity: 0; animation: rdpv-s1-fadeSlideUp 0.6s ease forwards; }\r\n  .rdpv-s1-card:nth-child(1) { animation-delay: 0.05s; }\r\n  .rdpv-s1-card:nth-child(2) { animation-delay: 0.1s; }\r\n  .rdpv-s1-card:nth-child(3) { animation-delay: 0.15s; }\r\n  .rdpv-s1-card:nth-child(4) { animation-delay: 0.2s; }\r\n  .rdpv-s1-card:nth-child(5) { animation-delay: 0.25s; }\r\n  .rdpv-s1-card:nth-child(6) { animation-delay: 0.3s; }\r\n  @keyframes rdpv-s1-fadeSlideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }\r\n  .rdpv-s1-card::before { content: \"\"; position: absolute; inset: 0; border-radius: 10px; padding: 2px; background: linear-gradient(90deg, var(--s1-primary), var(--s1-accent), var(--s1-primary)); background-size: 300% 100%; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity 0.3s ease; animation: rdpv-s1-borderTrace 2s linear infinite; }\r\n  .rdpv-s1-card:hover::before { opacity: 1; }\r\n  @keyframes rdpv-s1-borderTrace { 0% { background-position: 0% 50%; } 100% { background-position: 300% 50%; } }\r\n  .rdpv-s1-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(255, 69, 0, 0.15); }\r\n  .rdpv-s1-icon-wrap { width: 56px; height: 56px; background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%); border: 2px solid #e2e8f0; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; transition: all 0.4s ease; }\r\n  .rdpv-s1-card:hover .rdpv-s1-icon-wrap { border-color: var(--s1-primary); background: linear-gradient(135deg, var(--s1-primary) 0%, var(--s1-accent) 100%); }\r\n  .rdpv-s1-icon { font-size: 24px; color: var(--s1-primary); transition: all 0.4s ease; }\r\n  .rdpv-s1-card:hover .rdpv-s1-icon { color: #ffffff; transform: rotate(15deg) scale(1.1); }\r\n  .rdpv-s1-card-title { font-size: 1.2rem; font-weight: 700; color: var(--s1-text); margin-bottom: 12px; }\r\n  .rdpv-s1-card-desc { font-size: 0.95rem; color: var(--s1-text-soft); line-height: 1.6; }\r\n\r\n  .rdpv-s2-root { --s2-bg: #fef6f0; --s2-card-bg: #ffffff; --s2-text: #0f172a; --s2-text-soft: #334155; --s2-text-muted: #64748b; --s2-primary: #FF4500; --s2-accent: #FF8717; width: 100%; background: var(--s2-bg); padding: 80px 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n  .rdpv-s2-container { max-width: 1200px; margin: 0 auto; }\r\n  .rdpv-s2-header { text-align: center; margin-bottom: 30px; }\r\n  .rdpv-s2-heading { font-size: clamp(1.4rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 16px; color: #0f172a; }\r\n  .rdpv-s2-subheading { font-size: clamp(0.8rem, 2vw, 1rem); color: var(--s2-text-muted); max-width: 700px; margin: 0 auto; line-height: 1.6; }\r\n  .rdpv-s2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\r\n  .rdpv-s2-card { background: var(--s2-card-bg); border-radius: 10px; padding: 32px 28px; text-align: center; position: relative; transition: all 0.4s ease; cursor: pointer; border: 1px solid #e2e8f0; opacity: 0; animation: rdpv-s2-fadeSlideUp 0.6s ease forwards; }\r\n  .rdpv-s2-card:nth-child(1) { animation-delay: 0.05s; }\r\n  .rdpv-s2-card:nth-child(2) { animation-delay: 0.1s; }\r\n  .rdpv-s2-card:nth-child(3) { animation-delay: 0.15s; }\r\n  .rdpv-s2-card:nth-child(4) { animation-delay: 0.2s; }\r\n  .rdpv-s2-card:nth-child(5) { animation-delay: 0.25s; }\r\n  .rdpv-s2-card:nth-child(6) { animation-delay: 0.3s; }\r\n  @keyframes rdpv-s2-fadeSlideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }\r\n  .rdpv-s2-card::after { content: \"\"; position: absolute; inset: 0; border-radius: 10px; box-shadow: 0 0 0 0 rgba(255, 69, 0, 0.4); opacity: 0; pointer-events: none; }\r\n  .rdpv-s2-card:hover::after { animation: rdpv-s2-pulseEcho 1.5s ease-out infinite; }\r\n  @keyframes rdpv-s2-pulseEcho { 0% { box-shadow: 0 0 0 0 rgba(255, 69, 0, 0.4); opacity: 1; } 100% { box-shadow: 0 0 0 20px rgba(255, 69, 0, 0); opacity: 0; } }\r\n  .rdpv-s2-card:hover { transform: translateY(-8px); }\r\n  .rdpv-s2-icon-wrap { width: 64px; height: 64px; margin: 0 auto 20px; background: linear-gradient(135deg, var(--s2-primary) 0%, var(--s2-accent) 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55); }\r\n  .rdpv-s2-card:hover .rdpv-s2-icon-wrap { animation: rdpv-s2-elasticBounce 0.6s ease; }\r\n  @keyframes rdpv-s2-elasticBounce { 0% { transform: scale(1); } 30% { transform: scale(0.85) translateY(5px); } 50% { transform: scale(1.15) translateY(-10px); } 70% { transform: scale(0.95) translateY(2px); } 100% { transform: scale(1) translateY(0); } }\r\n  .rdpv-s2-icon { font-size: 26px; color: #ffffff; transition: transform 0.3s ease; }\r\n  .rdpv-s2-card:hover .rdpv-s2-icon { transform: rotate(10deg); }\r\n  .rdpv-s2-card-title { font-size: 1.2rem; font-weight: 700; color: var(--s2-text); margin-bottom: 12px; }\r\n  .rdpv-s2-card-desc { font-size: 0.95rem; color: var(--s2-text-soft); line-height: 1.6; }\r\n\r\n  .rdpv-s3-root { --s3-bg: #ffffff; --s3-card-bg: #fef6f0; --s3-text: #0f172a; --s3-text-soft: #334155; --s3-text-muted: #64748b; --s3-primary: #FF4500; --s3-accent: #FF8717; width: 100%; background: var(--s3-bg); padding: 80px 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n  .rdpv-s3-container { max-width: 1200px; margin: 0 auto; }\r\n  .rdpv-s3-header { text-align: center; margin-bottom: 30px; }\r\n  .rdpv-s3-heading { font-size: clamp(1.4rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 16px; color: #0f172a; }\r\n  .rdpv-s3-subheading { font-size: clamp(0.8rem, 2vw, 1rem); color: var(--s3-text-muted); max-width: 700px; margin: 0 auto; line-height: 1.6; }\r\n  .rdpv-s3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\r\n  .rdpv-s3-card { background: var(--s3-card-bg); border-radius: 10px; padding: 28px; position: relative; overflow: hidden; transition: all 0.4s ease; cursor: pointer; border: 1px solid transparent; opacity: 0; animation: rdpv-s3-fadeSlideUp 0.6s ease forwards; }\r\n  .rdpv-s3-card:nth-child(1) { animation-delay: 0.05s; }\r\n  .rdpv-s3-card:nth-child(2) { animation-delay: 0.1s; }\r\n  .rdpv-s3-card:nth-child(3) { animation-delay: 0.15s; }\r\n  .rdpv-s3-card:nth-child(4) { animation-delay: 0.2s; }\r\n  .rdpv-s3-card:nth-child(5) { animation-delay: 0.25s; }\r\n  .rdpv-s3-card:nth-child(6) { animation-delay: 0.3s; }\r\n  @keyframes rdpv-s3-fadeSlideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }\r\n  .rdpv-s3-card::before { content: \"\"; position: absolute; width: 200px; height: 200px; background: radial-gradient(circle, rgba(255, 69, 0, 0.25) 0%, transparent 70%); border-radius: 50%; pointer-events: none; opacity: 0; transform: translate(-50%, -50%); transition: opacity 0.4s ease; left: var(--mouse-x, 50%); top: var(--mouse-y, 50%); }\r\n  .rdpv-s3-card:hover::before { opacity: 1; }\r\n  .rdpv-s3-card:hover { border-color: rgba(255, 69, 0, 0.3); transform: translateY(-4px); box-shadow: 0 12px 30px rgba(255, 69, 0, 0.1); }\r\n  .rdpv-s3-step-badge { position: absolute; top: 16px; right: 16px; width: 28px; height: 28px; background: linear-gradient(135deg, var(--s3-primary) 0%, var(--s3-accent) 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; color: #ffffff; transition: transform 0.3s ease; }\r\n  .rdpv-s3-card:hover .rdpv-s3-step-badge { transform: scale(1.2) rotate(10deg); }\r\n  .rdpv-s3-icon-wrap { width: 52px; height: 52px; background: #ffffff; border: 2px solid #e2e8f0; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; transition: all 0.4s ease; transform-style: preserve-3d; }\r\n  .rdpv-s3-card:hover .rdpv-s3-icon-wrap { transform: rotateY(180deg); border-color: var(--s3-primary); background: linear-gradient(135deg, var(--s3-primary) 0%, var(--s3-accent) 100%); }\r\n  .rdpv-s3-icon { font-size: 22px; color: var(--s3-primary); transition: all 0.4s ease; backface-visibility: hidden; }\r\n  .rdpv-s3-card:hover .rdpv-s3-icon { color: #ffffff; transform: rotateY(180deg); }\r\n  .rdpv-s3-card-title { font-size: 1.1rem; font-weight: 700; color: var(--s3-text); margin-bottom: 10px; position: relative; z-index: 1; }\r\n  .rdpv-s3-card-desc { font-size: 0.9rem; color: var(--s3-text-soft); line-height: 1.5; position: relative; z-index: 1; }\r\n\r\n  .rdpv-shortcode { --sc-bg: #ffffff; --sc-border: #e2e8f0; --sc-text: #0f172a; --sc-text-muted: #64748b; --sc-primary: #FF4500; --sc-accent: #FF8717; width: 100%; background: var(--sc-bg); padding: 60px 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n  .rdpv-shortcode-container { max-width: 1200px; margin: 0 auto; }\r\n  .rdpv-shortcode-inner { border: 2px dashed var(--sc-border); border-radius: 12px; padding: 40px; text-align: center; background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%); transition: border-color 0.3s ease; }\r\n  .rdpv-shortcode-inner:hover { border-color: var(--sc-primary); }\r\n  .rdpv-shortcode-placeholder { display: inline-block; background: linear-gradient(135deg, var(--sc-primary) 0%, var(--sc-accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-size: clamp(1.2rem, 3vw, 1.8rem); font-weight: 800; letter-spacing: 1px; }\r\n  .rdpv-shortcode-hint { margin-top: 12px; font-size: 0.9rem; color: var(--sc-text-muted); }\r\n\r\n  @media (max-width: 1024px) { .rdpv-s1-grid, .rdpv-s2-grid, .rdpv-s3-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } }\r\n  @media (max-width: 640px) { .rdpv-s1-root, .rdpv-s2-root, .rdpv-s3-root, .rdpv-shortcode { padding: 50px 10px; } .rdpv-s1-grid, .rdpv-s2-grid, .rdpv-s3-grid { grid-template-columns: 1fr; gap: 16px; } .rdpv-s1-card, .rdpv-s2-card, .rdpv-s3-card { padding: 28px 24px; } .rdpv-shortcode-inner { padding: 24px 16px; } }\r\n<\/style>\r\n\r\n<section class=\"rdpv-shortcode\"><div class=\"rdpv-shortcode-container\"><\/div><\/section>\r\n\r\n<section class=\"rdpv-s1-root\" id=\"what-is-reddit-post-viewer\">\r\n  <div class=\"rdpv-s1-container\">\r\n    <div class=\"rdpv-s1-header\">\r\n      <h2 class=\"rdpv-s1-heading\">What Is a <span class=\"rdpv-highlight\">Reddit Post Viewer<\/span>?<\/h2>\r\n      <p class=\"rdpv-s1-subheading\">View, read, and analyze Reddit posts in a clean interface<\/p>\r\n    <\/div>\r\n    <div class=\"rdpv-s1-grid\">\r\n      <article class=\"rdpv-s1-card\"><div class=\"rdpv-s1-icon-wrap\"><i class=\"fa-solid fa-file-lines rdpv-s1-icon\"><\/i><\/div><h3 class=\"rdpv-s1-card-title\">Post Reader<\/h3><p class=\"rdpv-s1-card-desc\">Read full Reddit posts without distractions<\/p><\/article>\r\n      <article class=\"rdpv-s1-card\"><div class=\"rdpv-s1-icon-wrap\"><i class=\"fa-solid fa-comments rdpv-s1-icon\"><\/i><\/div><h3 class=\"rdpv-s1-card-title\">Comment Thread<\/h3><p class=\"rdpv-s1-card-desc\">Browse all comments in threaded format<\/p><\/article>\r\n      <article class=\"rdpv-s1-card\"><div class=\"rdpv-s1-icon-wrap\"><i class=\"fa-solid fa-arrow-up rdpv-s1-icon\"><\/i><\/div><h3 class=\"rdpv-s1-card-title\">Vote Count<\/h3><p class=\"rdpv-s1-card-desc\">View upvote and downvote statistics<\/p><\/article>\r\n      <article class=\"rdpv-s1-card\"><div class=\"rdpv-s1-icon-wrap\"><i class=\"fa-solid fa-tag rdpv-s1-icon\"><\/i><\/div><h3 class=\"rdpv-s1-card-title\">Flair & Tag<\/h3><p class=\"rdpv-s1-card-desc\">See post flair and category tags<\/p><\/article>\r\n      <article class=\"rdpv-s1-card\"><div class=\"rdpv-s1-icon-wrap\"><i class=\"fa-solid fa-users rdpv-s1-icon\"><\/i><\/div><h3 class=\"rdpv-s1-card-title\">OP Details<\/h3><p class=\"rdpv-s1-card-desc\">View original poster information<\/p><\/article>\r\n      <article class=\"rdpv-s1-card\"><div class=\"rdpv-s1-icon-wrap\"><i class=\"fa-solid fa-share-nodes rdpv-s1-icon\"><\/i><\/div><h3 class=\"rdpv-s1-card-title\">Share & Save<\/h3><p class=\"rdpv-s1-card-desc\">Share or save posts for later reference<\/p><\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<section class=\"rdpv-s2-root\" id=\"why-use-reddit-post-viewer\">\r\n  <div class=\"rdpv-s2-container\">\r\n    <div class=\"rdpv-s2-header\">\r\n      <h2 class=\"rdpv-s2-heading\">Why Use a <span class=\"rdpv-highlight\">Reddit Post Viewer<\/span>?<\/h2>\r\n      <p class=\"rdpv-s2-subheading\">Research discussions, analyze content, and stay informed with ease<\/p>\r\n    <\/div>\r\n    <div class=\"rdpv-s2-grid\">\r\n      <article class=\"rdpv-s2-card\"><div class=\"rdpv-s2-icon-wrap\"><i class=\"fa-solid fa-magnifying-glass rdpv-s2-icon\"><\/i><\/div><h3 class=\"rdpv-s2-card-title\">Content Research<\/h3><p class=\"rdpv-s2-card-desc\">Explore popular discussions and trending topics<\/p><\/article>\r\n      <article class=\"rdpv-s2-card\"><div class=\"rdpv-s2-icon-wrap\"><i class=\"fa-solid fa-chart-line rdpv-s2-icon\"><\/i><\/div><h3 class=\"rdpv-s2-card-title\">Trend Analysis<\/h3><p class=\"rdpv-s2-card-desc\">Track viral posts and community engagement<\/p><\/article>\r\n      <article class=\"rdpv-s2-card\"><div class=\"rdpv-s2-icon-wrap\"><i class=\"fa-solid fa-graduation-cap rdpv-s2-icon\"><\/i><\/div><h3 class=\"rdpv-s2-card-title\">Learn & Explore<\/h3><p class=\"rdpv-s2-card-desc\">Discover informative content across subreddits<\/p><\/article>\r\n      <article class=\"rdpv-s2-card\"><div class=\"rdpv-s2-icon-wrap\"><i class=\"fa-solid fa-newspaper rdpv-s2-icon\"><\/i><\/div><h3 class=\"rdpv-s2-card-title\">News & Updates<\/h3><p class=\"rdpv-s2-card-desc\">Stay updated with real-time community posts<\/p><\/article>\r\n      <article class=\"rdpv-s2-card\"><div class=\"rdpv-s2-icon-wrap\"><i class=\"fa-solid fa-database rdpv-s2-icon\"><\/i><\/div><h3 class=\"rdpv-s2-card-title\">Data Collection<\/h3><p class=\"rdpv-s2-card-desc\">Gather post data for reports and analysis<\/p><\/article>\r\n      <article class=\"rdpv-s2-card\"><div class=\"rdpv-s2-icon-wrap\"><i class=\"fa-solid fa-users-between-lines rdpv-s2-icon\"><\/i><\/div><h3 class=\"rdpv-s2-card-title\">Community Insights<\/h3><p class=\"rdpv-s2-card-desc\">Understand community sentiment and opinions<\/p><\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<section class=\"rdpv-s3-root\" id=\"how-to-use-reddit-post-viewer\">\r\n  <div class=\"rdpv-s3-container\">\r\n    <div class=\"rdpv-s3-header\">\r\n      <h3 class=\"rdpv-s3-heading\">How to Use the <span class=\"rdpv-highlight\">Reddit Post Viewer<\/span>?<\/h3>\r\n      <p class=\"rdpv-s3-subheading\">View and analyze Reddit posts with this simple step-by-step process<\/p>\r\n    <\/div>\r\n    <div class=\"rdpv-s3-grid\">\r\n      <article class=\"rdpv-s3-card\"><span class=\"rdpv-s3-step-badge\">1<\/span><div class=\"rdpv-s3-icon-wrap\"><i class=\"fa-solid fa-link rdpv-s3-icon\"><\/i><\/div><h3 class=\"rdpv-s3-card-title\">Paste Post URL<\/h3><p class=\"rdpv-s3-card-desc\">Paste the Reddit post link to load content<\/p><\/article>\r\n      <article class=\"rdpv-s3-card\"><span class=\"rdpv-s3-step-badge\">2<\/span><div class=\"rdpv-s3-icon-wrap\"><i class=\"fa-solid fa-arrow-right-to-bracket rdpv-s3-icon\"><\/i><\/div><h3 class=\"rdpv-s3-card-title\">Load Post<\/h3><p class=\"rdpv-s3-card-desc\">Fetch the full post and all comments<\/p><\/article>\r\n      <article class=\"rdpv-s3-card\"><span class=\"rdpv-s3-step-badge\">3<\/span><div class=\"rdpv-s3-icon-wrap\"><i class=\"fa-solid fa-file-lines rdpv-s3-icon\"><\/i><\/div><h3 class=\"rdpv-s3-card-title\">Read Content<\/h3><p class=\"rdpv-s3-card-desc\">View the post body in full detail<\/p><\/article>\r\n      <article class=\"rdpv-s3-card\"><span class=\"rdpv-s3-step-badge\">4<\/span><div class=\"rdpv-s3-icon-wrap\"><i class=\"fa-solid fa-comments rdpv-s3-icon\"><\/i><\/div><h3 class=\"rdpv-s3-card-title\">Browse Comments<\/h3><p class=\"rdpv-s3-card-desc\">Scroll through threaded comment discussions<\/p><\/article>\r\n      <article class=\"rdpv-s3-card\"><span class=\"rdpv-s3-step-badge\">5<\/span><div class=\"rdpv-s3-icon-wrap\"><i class=\"fa-solid fa-arrow-up rdpv-s3-icon\"><\/i><\/div><h3 class=\"rdpv-s3-card-title\">Check Votes<\/h3><p class=\"rdpv-s3-card-desc\">Review upvote ratios and engagement<\/p><\/article>\r\n      <article class=\"rdpv-s3-card\"><span class=\"rdpv-s3-step-badge\">6<\/span><div class=\"rdpv-s3-icon-wrap\"><i class=\"fa-solid fa-floppy-disk rdpv-s3-icon\"><\/i><\/div><h3 class=\"rdpv-s3-card-title\">Save Post<\/h3><p class=\"rdpv-s3-card-desc\">Save the post for offline reading<\/p><\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n  (function () {\r\n    var cards = document.querySelectorAll(\".rdpv-s3-card\");\r\n    cards.forEach(function (card) {\r\n      card.addEventListener(\"mousemove\", function (e) {\r\n        var rect = card.getBoundingClientRect();\r\n        card.style.setProperty(\"--mouse-x\", ((e.clientX - rect.left) \/ rect.width) * 100 + \"%\");\r\n        card.style.setProperty(\"--mouse-y\", ((e.clientY - rect.top) \/ rect.height) * 100 + \"%\");\r\n      });\r\n    });\r\n  })();\r\n<\/script>\r\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":0,"parent":5539,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-homepage.php","meta":{"footnotes":""},"class_list":["post-5918","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages\/5918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/comments?post=5918"}],"version-history":[{"count":7,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages\/5918\/revisions"}],"predecessor-version":[{"id":6060,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages\/5918\/revisions\/6060"}],"up":[{"embeddable":true,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages\/5539"}],"wp:attachment":[{"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/media?parent=5918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}