{"id":5762,"date":"2026-06-20T04:10:35","date_gmt":"2026-06-20T04:10:35","guid":{"rendered":"https:\/\/keisho.biz\/?page_id=5762"},"modified":"2026-06-20T09:47:15","modified_gmt":"2026-06-20T09:47:15","slug":"game","status":"publish","type":"page","link":"https:\/\/keisho.biz\/ja\/game\/","title":{"rendered":"Game"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"5762\" class=\"elementor elementor-5762\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a3bbb6b e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"a3bbb6b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-29e30a8 elementor-widget elementor-widget-html\" data-id=\"29e30a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"vhs-fight-landing\">\n  <style>\n    .vhs-fight-landing {\n      --vhs-pink: #ff3d8d;\n      --vhs-red: #ff3b3b;\n      --vhs-blue: #42a5ff;\n      --vhs-yellow: #ffd24a;\n      --vhs-green: #4cffb0;\n      --vhs-dark: #080607;\n      --vhs-text: #fff2d0;\n      --vhs-border: rgba(255, 210, 74, 0.35);\n      position: relative;\n      isolation: isolate;\n      background: var(--vhs-dark);\n      color: var(--vhs-text);\n      font-family: Impact, Haettenschweiler, \"Arial Narrow Bold\", system-ui, sans-serif;\n      overflow-x: hidden;\n    }\n\n    .vhs-fight-landing * { box-sizing: border-box; }\n    .vhs-fight-landing button,\n    .vhs-fight-landing input { font: inherit; }\n\n    .vhs-hero {\n      position: relative;\n      width: min(100vw, calc(100svh * 1402 \/ 1122));\n      height: min(100svh, calc(100vw * 1122 \/ 1402));\n      margin: 0 auto;\n      background: #050404;\n      overflow: hidden;\n    }\n\n    .vhs-bg,\n    .vhs-video {\n      position: absolute;\n      inset: 0;\n      width: 100%;\n      height: 100%;\n      filter: contrast(1.08) saturate(1.1) brightness(0.92);\n    }\n\n    .vhs-bg {\n      z-index: 0;\n      background-image: url(\"https:\/\/keisho.biz\/wp-content\/uploads\/2026\/06\/landing-page-image.jpg\");\n      background-size: 100% 100%;\n      background-position: center;\n      background-repeat: no-repeat;\n    }\n\n    .vhs-video {\n      z-index: 1;\n      object-fit: cover;\n      object-position: center;\n      opacity: 0;\n      transition: opacity 0.45s ease;\n    }\n\n    .vhs-video.is-playing { opacity: 1; }\n\n    .vhs-hero::before {\n      content: \"\";\n      position: absolute;\n      inset: 0;\n      pointer-events: none;\n      background:\n        linear-gradient(rgba(255,255,255,0.05) 50%, rgba(0,0,0,0.16) 50%),\n        radial-gradient(circle at 50% 52%, transparent 28%, rgba(0,0,0,0.55) 100%);\n      background-size: 100% 4px, 100% 100%;\n      mix-blend-mode: overlay;\n      z-index: 3;\n    }\n\n    .vhs-hero::after {\n      content: \"\";\n      position: absolute;\n      inset: -50%;\n      pointer-events: none;\n      background:\n        radial-gradient(circle, rgba(255,255,255,0.08) 1px, transparent 1px),\n        radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);\n      background-size: 17px 17px, 31px 31px;\n      animation: vhsNoise 0.35s steps(2) infinite;\n      opacity: 0.24;\n      z-index: 4;\n    }\n\n    .vhs-neon {\n      position: absolute;\n      left: clamp(1rem, 3vw, 2rem);\n      right: clamp(1rem, 3vw, 2rem);\n      bottom: clamp(1rem, 3vw, 2rem);\n      z-index: 5;\n      color: var(--vhs-pink);\n      text-transform: uppercase;\n      font-size: clamp(1.25rem, 3.4vw, 3rem);\n      line-height: 0.9;\n      text-shadow: 0 0 8px var(--vhs-pink), 0 0 20px var(--vhs-pink), 0 0 44px rgba(255,61,141,0.75);\n      animation: neonFlicker 4.5s infinite;\n    }\n\n    .vhs-subtitle {\n      display: block;\n      margin-top: 0.45rem;\n      color: var(--vhs-yellow);\n      font-size: clamp(0.9rem, 2.2vw, 1.45rem);\n      text-shadow: 0 0 12px rgba(255,210,74,0.9);\n    }\n\n    .insert-tapes {\n      position: absolute;\n      left: 50%;\n      bottom: clamp(1rem, 4vw, 2.2rem);\n      z-index: 9;\n      transform: translateX(-50%);\n      padding: 0.6rem 0.9rem;\n      border: 2px solid rgba(255,210,74,0.7);\n      background: rgba(6,5,5,0.72);\n      color: var(--vhs-yellow);\n      text-transform: uppercase;\n      box-shadow: 0 0 24px rgba(255,210,74,0.35);\n      animation: blinkText 1.1s steps(2) infinite;\n    }\n\n    .vhs-hotspot {\n      position: absolute;\n      z-index: 8;\n      border: 0;\n      padding: 0;\n      background: transparent;\n      cursor: pointer;\n      outline: none;\n    }\n\n    .vhs-hotspot::after {\n      content: \"\";\n      position: absolute;\n      inset: 0;\n      border: 2px solid transparent;\n      background: rgba(255,255,255,0.01);\n      transition: 0.18s;\n    }\n\n    .vhs-hotspot:hover::after,\n    .vhs-hotspot:focus-visible::after {\n      border-color: rgba(255,210,74,0.65);\n      background: rgba(255,210,74,0.08);\n      box-shadow: 0 0 22px rgba(255,210,74,0.55);\n    }\n\n    .hotspot-background { left: 0; top: 0; width: 100%; height: 100%; z-index: 2; }\n    .hotspot-background::after { display: none; }\n    .hotspot-landlady { left: 39%; top: 15%; width: 18%; height: 34%; }\n    .hotspot-salaryman { left: 57%; top: 18%; width: 13%; height: 30%; }\n    .hotspot-left-vcr { left: 7%; top: 54%; width: 25%; height: 22%; }\n    .hotspot-right-vcr { right: 7%; top: 54%; width: 27%; height: 22%; }\n    .hotspot-center-tv { left: 35%; top: 55%; width: 29%; height: 22%; }\n\n    .vcr-glow {\n      position: absolute;\n      z-index: 6;\n      pointer-events: none;\n      border-radius: 10px;\n      opacity: 0.55;\n      filter: blur(2px);\n      animation: ambientGlow 2.8s ease-in-out infinite alternate;\n    }\n\n    .vcr-glow-left { left: 9%; top: 54%; width: 21%; height: 22%; box-shadow: 0 0 28px var(--vhs-blue); }\n    .vcr-glow-right { right: 7%; top: 54%; width: 24%; height: 22%; box-shadow: 0 0 28px var(--vhs-red); }\n    .vcr-glow.locked { opacity: 1; animation: lockedGlow 0.8s ease-in-out infinite alternate; }\n\n    .fight-preview {\n      position: absolute;\n      left: 35.3%;\n      top: 58.6%;\n      width: 29.4%;\n      height: 19.7%;\n      z-index: 7;\n      display: none;\n      place-items: center;\n      overflow: hidden;\n      color: var(--vhs-yellow);\n      background: #070707;\n      text-align: center;\n      border-radius: 8px;\n      box-shadow: inset 0 0 36px rgba(0,0,0,0.9);\n    }\n\n    .fight-preview.is-active { display: grid; }\n    .fight-preview-copy { padding: 1rem; text-transform: uppercase; text-shadow: 2px 0 var(--vhs-red), -2px 0 var(--vhs-blue), 0 0 16px var(--vhs-yellow); animation: glitchShift 0.8s steps(2) infinite; }\n    .fight-preview-title { display: block; font-size: clamp(1rem, 3vw, 2.2rem); color: var(--vhs-pink); }\n    .fight-preview-small { display: block; margin-top: 0.35rem; font-size: clamp(0.7rem, 1.6vw, 1rem); color: var(--vhs-yellow); }\n\n    .match-lock {\n      position: absolute;\n      left: 50%;\n      top: 30%;\n      z-index: 10;\n      width: min(92vw, 720px);\n      transform: translate(-50%, -50%) scale(0.94);\n      padding: 1.2rem;\n      border: 2px solid rgba(255,255,255,0.24);\n      background: rgba(4,3,3,0.84);\n      text-align: center;\n      opacity: 0;\n      pointer-events: none;\n      transition: 0.25s;\n      box-shadow: 0 0 44px rgba(255,61,141,0.42);\n    }\n\n    .match-lock.is-visible { opacity: 1; transform: translate(-50%, -50%) scale(1); pointer-events: auto; }\n    .match-lock-close {\n      position: absolute;\n      top: 0.55rem;\n      right: 0.55rem;\n      width: 2rem;\n      height: 2rem;\n      border: 1px solid rgba(255,255,255,0.32);\n      background: #060505;\n      color: var(--vhs-text);\n      cursor: pointer;\n      z-index: 1;\n    }\n\n    .match-lock.is-visible .match-lock-close {\n      pointer-events: auto;\n    }\n\n    .match-lock-kicker { color: var(--vhs-yellow); font-size: clamp(1rem, 2vw, 1.25rem); text-transform: uppercase; }\n    .match-lock-title { margin: 0.35rem 0; color: var(--vhs-pink); font-size: clamp(2rem, 7vw, 5rem); line-height: 0.92; text-transform: uppercase; text-shadow: 3px 0 var(--vhs-blue), 0 0 22px rgba(255,61,141,0.85); }\n    .match-lock-mode { color: var(--vhs-yellow); font-size: clamp(1.2rem, 3vw, 2rem); text-transform: uppercase; }\n    .reveal-message { margin-top: 1rem; color: #fff; font-family: system-ui, sans-serif; font-weight: 800; line-height: 1.35; }\n\n    .character-modal {\n      position: fixed;\n      inset: 0;\n      z-index: 1000;\n      display: none;\n      align-items: center;\n      justify-content: center;\n      padding: 1rem;\n      background: rgba(0,0,0,0.78);\n    }\n\n    .character-modal.is-open { display: flex; }\n\n    .modal-card {\n      position: relative;\n      width: min(92vw, 460px);\n      max-height: 92vh;\n      overflow: auto;\n      border: 3px solid var(--vhs-border);\n      background: linear-gradient(145deg, rgba(255,61,141,0.11), transparent 35%), linear-gradient(0deg, #130f0d, #241712);\n      box-shadow: 0 0 48px rgba(255,61,141,0.38);\n      padding: 1.2rem;\n      color: var(--vhs-text);\n    }\n\n    .modal-close {\n      position: absolute;\n      top: 0.6rem;\n      right: 0.6rem;\n      width: 2.3rem;\n      height: 2.3rem;\n      border: 1px solid rgba(255,255,255,0.32);\n      background: #060505;\n      color: var(--vhs-text);\n      cursor: pointer;\n    }\n\n    .modal-name {\n      margin: 0;\n      padding-right: 2.8rem;\n      color: var(--vhs-pink);\n      font-size: clamp(2.1rem, 8vw, 4rem);\n      line-height: 0.92;\n      text-transform: uppercase;\n      text-shadow: 2px 0 var(--vhs-blue), 0 0 18px rgba(255,61,141,0.8);\n    }\n\n    .modal-tagline,\n    .fight-modal-kicker {\n      margin: 0.45rem 0 1rem;\n      color: var(--vhs-yellow);\n      font-size: 1.15rem;\n      text-transform: uppercase;\n    }\n\n    .modal-poster {\n      min-height: 170px;\n      display: grid;\n      place-items: center;\n      margin-bottom: 1rem;\n      border: 2px solid rgba(255,255,255,0.16);\n      background: #080706;\n      color: rgba(255,255,255,0.65);\n      text-align: center;\n      overflow: hidden;\n    }\n\n    .modal-poster img {\n      display: block;\n      width: 100%;\n      height: 100%;\n      max-height: 230px;\n      object-fit: cover;\n      object-position: center;\n    }\n\n    .modal-poster span { display: none; }\n\n    .stat-list {\n      display: grid;\n      gap: 0.55rem;\n      margin: 0 0 1rem;\n      padding: 0;\n      list-style: none;\n      font-family: system-ui, sans-serif;\n      font-weight: 800;\n    }\n\n    .stat-list li {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 1rem;\n      border-bottom: 1px solid rgba(255,255,255,0.12);\n      padding-bottom: 0.45rem;\n    }\n\n    .modal-quote,\n    .fight-modal-copy {\n      margin: 0 0 1rem;\n      color: #fff;\n      font-family: system-ui, sans-serif;\n      font-weight: 800;\n      line-height: 1.5;\n    }\n\n    .fight-modal-card { width: min(94vw, 860px); }\n\n    .fight-modal-video {\n      width: 100%;\n      aspect-ratio: 16 \/ 9;\n      margin: 0 0 1rem;\n      border: 2px solid rgba(66,165,255,0.7);\n      background: #050505;\n      box-shadow: inset 0 0 36px rgba(0,0,0,0.9), 0 0 24px rgba(66,165,255,0.35);\n     \n    }\n\n    .fight-modal-tags {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 0.5rem;\n      margin: 0 0 1rem;\n      padding: 0;\n      list-style: none;\n    }\n\n    .fight-modal-tags li {\n      border: 1px solid rgba(255,210,74,0.45);\n      padding: 0.35rem 0.55rem;\n      color: var(--vhs-yellow);\n      font-family: system-ui, sans-serif;\n      font-size: 0.82rem;\n      font-weight: 900;\n      text-transform: uppercase;\n      background: rgba(0,0,0,0.35);\n    }\n\n    .insert-button,\n    .vhs-cta,\n    .waitlist-button {\n      border: 0;\n      background: var(--vhs-yellow);\n      color: #160a05;\n      cursor: pointer;\n      text-transform: uppercase;\n      font-weight: 950;\n      box-shadow: 0 0 18px rgba(255,210,74,0.4);\n    }\n\n    .insert-button { width: 100%; padding: 0.9rem 1rem; font-size: 1.05rem; }\n\n    \/* ============================================================\n       CROWDFUNDING SECTION (rebuilt)\n       Scoped under .vhs-fight-landing so it is WordPress-safe and\n       only affects this block. Plain CSS only, no dependencies.\n       ============================================================ *\/\n    .crowdfunding {\n      padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);\n      background:\n        repeating-linear-gradient(0deg, rgba(255,255,255,0.018) 0 1px, transparent 1px 3px),\n        linear-gradient(180deg, #070606 0%, #170c13 52%, #080607 100%);\n      border-top: 2px solid rgba(255,210,74,0.25);\n      position: relative;\n      overflow: hidden;\n    }\n    \/* faint scanline shimmer behind the whole block *\/\n    .crowdfunding::before {\n      content: \"\";\n      position: absolute;\n      inset: 0;\n      pointer-events: none;\n      background: radial-gradient(circle at 50% 0%, rgba(255,61,141,0.08), transparent 55%);\n      z-index: 0;\n    }\n\n    .crowdfunding-inner { position: relative; z-index: 1; width: min(1140px, 100%); margin: 0 auto; }\n\n    \/* section title block *\/\n    .cf-intro { margin-bottom: clamp(2rem, 5vw, 3rem); }\n    .crowdfunding h2.cf-title {\n      margin: 0 0 0.7rem;\n      color: var(--vhs-yellow);\n      font-size: clamp(2rem, 5.4vw, 4rem);\n      line-height: 0.95;\n      text-transform: uppercase;\n      text-shadow: 2px 0 var(--vhs-red), 0 0 18px rgba(255,210,74,0.45);\n    }\n    .crowdfunding .cf-subtitle {\n      max-width: 820px;\n      margin: 0;\n      color: var(--vhs-text);\n      font-family: system-ui, sans-serif;\n      font-size: clamp(0.95rem, 1.6vw, 1.15rem);\n      line-height: 1.6;\n    }\n    .crowdfunding p { max-width: 820px; margin: 0 0 1rem; color: var(--vhs-text); font-family: system-ui, sans-serif; font-size: 1rem; line-height: 1.65; }\n\n    \/* block shell used by every content block *\/\n    .cf-block { margin: clamp(2rem, 5vw, 3.2rem) 0 0; }\n    .cf-block-title {\n      margin: 0 0 1rem;\n      color: var(--vhs-pink);\n      font-size: clamp(1.4rem, 3.2vw, 2.2rem);\n      line-height: 1;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n      text-shadow: 1px 0 var(--vhs-blue), 0 0 14px rgba(255,61,141,0.5);\n    }\n    .cf-block-title::before {\n      content: \"> \";\n      color: var(--vhs-yellow);\n      opacity: 0.8;\n    }\n\n    \/* Funding goals use their own data-driven progress bars; they are not tied to voting. *\/\n    .vhs-fight-landing .cf-funding-grid {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 1rem;\n    }\n    .vhs-fight-landing .cf-sponsorship-grid {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n    .vhs-fight-landing .cf-funding-card {\n      display: flex;\n      flex-direction: column;\n      gap: 0.85rem;\n      padding: 1.1rem;\n      border: 1px solid rgba(255, 210, 74, 0.28);\n      background: linear-gradient(155deg, rgba(255, 61, 141, 0.10), rgba(0, 0, 0, 0.34));\n      box-shadow: inset 0 0 24px rgba(0, 0, 0, 0.32), 0 0 18px rgba(255, 61, 141, 0.08);\n    }\n    .vhs-fight-landing .cf-sponsorship-grid .cf-funding-card {\n      gap: 0.7rem;\n      padding: 0.95rem;\n      border-color: rgba(255, 255, 255, 0.18);\n      background: linear-gradient(155deg, rgba(66, 165, 255, 0.08), rgba(0, 0, 0, 0.30));\n    }\n    .vhs-fight-landing .cf-funding-head {\n      display: flex;\n      align-items: baseline;\n      justify-content: space-between;\n      gap: 0.75rem;\n      flex-wrap: wrap;\n    }\n    .vhs-fight-landing .cf-funding-card h4 {\n      margin: 0;\n      color: var(--vhs-pink);\n      font-size: clamp(1.15rem, 2.6vw, 1.55rem);\n      line-height: 1;\n      text-transform: uppercase;\n    }\n    .vhs-fight-landing .cf-sponsorship-grid .cf-funding-card h4 { font-size: clamp(1rem, 2vw, 1.25rem); }\n    .vhs-fight-landing .cf-funding-goal {\n      color: var(--vhs-yellow);\n      font-size: 0.92rem;\n      font-family: system-ui, sans-serif;\n      font-weight: 900;\n      white-space: nowrap;\n    }\n    .vhs-fight-landing .cf-funding-card p {\n      margin: 0;\n      font-size: 0.92rem;\n      line-height: 1.5;\n    }\n    .vhs-fight-landing .cf-funding-help {\n      color: var(--vhs-text);\n      font-family: system-ui, sans-serif;\n      font-size: 0.88rem;\n      font-weight: 700;\n      line-height: 1.5;\n    }\n    .vhs-fight-landing .cf-funding-help strong { color: var(--vhs-blue); }\n    .vhs-fight-landing .cf-funding-progress-meta {\n      display: flex;\n      justify-content: space-between;\n      gap: 0.5rem;\n      color: var(--vhs-text);\n      font-family: system-ui, sans-serif;\n      font-size: 0.8rem;\n      font-weight: 900;\n      text-transform: uppercase;\n    }\n    .vhs-fight-landing .cf-funding-track {\n      height: 14px;\n      overflow: hidden;\n      border: 1px solid rgba(255, 255, 255, 0.18);\n      background: rgba(0, 0, 0, 0.46);\n    }\n    .vhs-fight-landing .cf-funding-fill {\n      width: 0;\n      height: 100%;\n      background: linear-gradient(90deg, var(--vhs-pink), var(--vhs-yellow));\n      box-shadow: 0 0 14px rgba(255, 61, 141, 0.65);\n      transition: width 0.45s cubic-bezier(.2, .8, .2, 1);\n    }\n    .vhs-fight-landing .cf-sponsorship-grid .cf-funding-fill {\n      background: linear-gradient(90deg, var(--vhs-blue), var(--vhs-green));\n      box-shadow: 0 0 14px rgba(66, 165, 255, 0.6);\n    }\n    .vhs-fight-landing .cf-sponsor-intro {\n      max-width: 880px;\n      margin: -0.2rem 0 1rem;\n      color: var(--vhs-text);\n      font-family: system-ui, sans-serif;\n      line-height: 1.6;\n    }\n    .vhs-fight-landing .cf-sponsor-credit {\n      color: var(--vhs-yellow);\n      font-family: system-ui, sans-serif;\n      font-size: 0.8rem;\n      font-weight: 800;\n      line-height: 1.45;\n    }\n    .vhs-fight-landing .cf-funding-card .cf-pill { margin-top: auto; }\n    .vhs-fight-landing .cf-disclaimer {\n      max-width: 900px;\n      margin: 1rem 0 0;\n      color: rgba(255, 242, 208, 0.78);\n      font-family: system-ui, sans-serif;\n      font-size: 0.8rem;\n      line-height: 1.5;\n    }\n\n    \/* generic responsive grid for cards *\/\n    .cf-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }\n    .cf-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n\n    \/* card primitive *\/\n    .cf-card {\n      position: relative;\n      border: 1px solid rgba(255,255,255,0.16);\n      background: linear-gradient(160deg, rgba(255,255,255,0.05), rgba(0,0,0,0.25));\n      padding: 1.1rem;\n      box-shadow: inset 0 0 24px rgba(0,0,0,0.35);\n    }\n    .cf-card h3 { margin: 0 0 0.6rem; color: var(--vhs-pink); font-size: clamp(1.2rem, 2.6vw, 1.7rem); text-transform: uppercase; line-height: 1; }\n    .cf-card p, .cf-card .cf-desc { color: var(--vhs-text); font-family: system-ui, sans-serif; font-weight: 700; line-height: 1.45; }\n\n    \/* ---------- 2. Why this game exists ---------- *\/\n    .cf-why p:last-child { margin-bottom: 0; }\n\n    \/* ---------- 3. Current status checklist ---------- *\/\n    .cf-status-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }\n    .cf-status-col h4 {\n      margin: 0 0 0.7rem;\n      font-size: clamp(1rem, 2vw, 1.25rem);\n      text-transform: uppercase;\n      letter-spacing: 1px;\n    }\n    .cf-status-col h4.is-done { color: var(--vhs-green); }\n    .cf-status-col h4.is-next { color: var(--vhs-yellow); }\n    .cf-status-list { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; font-family: system-ui, sans-serif; font-weight: 800; }\n    .cf-status-list li { display: flex; align-items: center; gap: 0.6rem; padding: 0.5rem 0.6rem; border: 1px solid rgba(255,255,255,0.1); background: rgba(0,0,0,0.25); }\n    \/* status badges *\/\n    .cf-badge {\n      flex: 0 0 auto;\n      min-width: 52px;\n      text-align: center;\n      padding: 0.25rem 0.4rem;\n      font-size: 0.72rem;\n      font-family: system-ui, sans-serif;\n      font-weight: 900;\n      letter-spacing: 1px;\n      text-transform: uppercase;\n      border: 1px solid;\n    }\n    .cf-badge.done { color: #06150c; background: var(--vhs-green); border-color: var(--vhs-green); box-shadow: 0 0 12px rgba(76,255,176,0.5); }\n    .cf-badge.next { color: #1a1305; background: var(--vhs-yellow); border-color: var(--vhs-yellow); box-shadow: 0 0 12px rgba(255,210,74,0.45); }\n    .cf-badge.lock { color: var(--vhs-text); background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.25); }\n\n    \/* ---------- 4. Community unlocks ---------- *\/\n    .cf-unlocks { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n    .cf-unlock-card { display: flex; flex-direction: column; gap: 0.55rem; }\n    .cf-unlock-card.is-locked { opacity: 0.72; filter: grayscale(0.35); }\n    .cf-unlock-head { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }\n    .cf-unlock-card h3 { font-size: clamp(1.05rem, 2.2vw, 1.35rem); }\n    .cf-tape-label {\n      flex: 0 0 auto;\n      padding: 0.2rem 0.45rem;\n      font-size: 0.68rem;\n      font-family: system-ui, sans-serif;\n      font-weight: 900;\n      letter-spacing: 1px;\n      text-transform: uppercase;\n      border: 1px solid rgba(255,210,74,0.5);\n      color: var(--vhs-yellow);\n      background: rgba(0,0,0,0.4);\n    }\n\n    \/* ---------- 5. Voting ---------- *\/\n    .cf-vote-list { display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; }\n    .cf-vote-row {\n      display: grid;\n      grid-template-columns: minmax(120px, 200px) 1fr auto;\n      align-items: center;\n      gap: 0.8rem;\n    }\n    .cf-vote-name { color: var(--vhs-text); font-size: clamp(0.95rem, 2vw, 1.15rem); text-transform: uppercase; }\n    .cf-vote-track {\n      position: relative;\n      height: 26px;\n      border: 1px solid rgba(255,255,255,0.18);\n      background: rgba(0,0,0,0.4);\n      overflow: hidden;\n    }\n    .cf-vote-fill {\n      position: absolute;\n      inset: 0 auto 0 0;\n      width: 0;\n      background: linear-gradient(90deg, var(--vhs-pink), var(--vhs-yellow));\n      box-shadow: 0 0 16px rgba(255,61,141,0.6);\n      transition: width 0.5s cubic-bezier(.2,.8,.2,1);\n    }\n    \/* alternate neon hues per row *\/\n    .cf-vote-row:nth-child(2n) .cf-vote-fill { background: linear-gradient(90deg, var(--vhs-blue), var(--vhs-green)); box-shadow: 0 0 16px rgba(66,165,255,0.6); }\n    .cf-vote-row:nth-child(3n) .cf-vote-fill { background: linear-gradient(90deg, var(--vhs-red), var(--vhs-yellow)); box-shadow: 0 0 16px rgba(255,59,59,0.6); }\n    .cf-vote-count { position: relative; z-index: 1; padding-left: 0.6rem; display: flex; align-items: center; height: 100%; font-family: system-ui, sans-serif; font-weight: 900; font-size: 0.85rem; color: #fff; mix-blend-mode: difference; }\n    .cf-vote-btn {\n      min-height: 40px;\n      padding: 0.45rem 0.9rem;\n      border: 1px solid var(--vhs-yellow);\n      background: transparent;\n      color: var(--vhs-yellow);\n      cursor: pointer;\n      text-transform: uppercase;\n      font-weight: 950;\n      letter-spacing: 1px;\n      box-shadow: 0 0 12px rgba(255,210,74,0.25);\n      transition: 0.15s;\n    }\n    .cf-vote-btn:hover, .cf-vote-btn:focus-visible { background: var(--vhs-yellow); color: #150806; box-shadow: 0 0 20px rgba(255,210,74,0.6); }\n    .cf-vote-msg { min-height: 1.3rem; margin-top: 0.9rem; color: var(--vhs-green); font-family: system-ui, sans-serif; font-weight: 800; }\n\n    \/* ---------- 6. Founder packs ---------- *\/\n    .cf-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n    .cf-pack {\n      display: flex;\n      flex-direction: column;\n      gap: 0.7rem;\n      border: 1px solid rgba(255,255,255,0.16);\n      background: linear-gradient(160deg, rgba(255,255,255,0.05), rgba(0,0,0,0.3));\n      padding: 1.1rem;\n    }\n    .cf-pack-head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.6rem; flex-wrap: wrap; }\n    .cf-pack h3 { margin: 0; color: var(--vhs-pink); font-size: clamp(1.15rem, 2.4vw, 1.5rem); text-transform: uppercase; line-height: 1; }\n    .cf-pack .cf-price { color: var(--vhs-yellow); font-size: clamp(1.2rem, 2.8vw, 1.7rem); text-shadow: 0 0 12px rgba(255,210,74,0.4); }\n    .cf-pack ul { display: grid; gap: 0.45rem; margin: 0; padding: 0; list-style: none; font-family: system-ui, sans-serif; font-weight: 700; line-height: 1.4; }\n    .cf-pack li { padding-left: 1rem; position: relative; }\n    .cf-pack li::before { content: \">\"; position: absolute; left: 0; color: var(--vhs-blue); }\n    .cf-pack-flag {\n      align-self: flex-start;\n      padding: 0.22rem 0.5rem;\n      font-size: 0.68rem;\n      font-family: system-ui, sans-serif;\n      font-weight: 900;\n      letter-spacing: 1px;\n      text-transform: uppercase;\n      border: 1px solid;\n    }\n    .cf-pack-flag.limited { color: var(--vhs-red); border-color: var(--vhs-red); box-shadow: 0 0 10px rgba(255,59,59,0.4); }\n    .cf-pack-flag.value { color: var(--vhs-green); border-color: var(--vhs-green); box-shadow: 0 0 10px rgba(76,255,176,0.4); }\n    .cf-pack-flag.serious { color: var(--vhs-yellow); border-color: var(--vhs-yellow); box-shadow: 0 0 10px rgba(255,210,74,0.4); }\n    \/* premium emphasis on higher tiers *\/\n    .cf-pack.is-premium { border-color: rgba(255,210,74,0.55); box-shadow: inset 0 0 30px rgba(255,210,74,0.08), 0 0 22px rgba(255,210,74,0.12); }\n\n    \/* shared pill CTA used by packs + design fighter *\/\n    .cf-pill {\n      align-self: flex-start;\n      display: inline-flex;\n      min-height: 44px;\n      align-items: center;\n      justify-content: center;\n      padding: 0.7rem 1.1rem;\n      border: 0;\n      background: var(--vhs-yellow);\n      color: #150806;\n      cursor: pointer;\n      text-transform: uppercase;\n      font-weight: 950;\n      letter-spacing: 0.5px;\n      text-decoration: none;\n      box-shadow: 0 0 18px rgba(255,210,74,0.4);\n      transition: 0.15s;\n    }\n    .cf-pill:hover, .cf-pill:focus-visible { box-shadow: 0 0 26px rgba(255,210,74,0.75); transform: translateY(-1px); }\n    .cf-pill.alt { background: var(--vhs-pink); color: #fff; box-shadow: 0 0 18px rgba(255,61,141,0.45); }\n    .cf-pill.alt:hover, .cf-pill.alt:focus-visible { box-shadow: 0 0 26px rgba(255,61,141,0.8); }\n    .cf-pill.ghost { background: transparent; color: var(--vhs-yellow); border: 1px solid var(--vhs-yellow); box-shadow: 0 0 14px rgba(255,210,74,0.25); }\n    .cf-pill.ghost:hover, .cf-pill.ghost:focus-visible { background: rgba(255,210,74,0.12); color: var(--vhs-yellow); }\n\n    \/* ---------- 7. Design a fighter ---------- *\/\n    .cf-designer { border-color: rgba(255,61,141,0.45); box-shadow: inset 0 0 30px rgba(255,61,141,0.1), 0 0 26px rgba(255,61,141,0.15); }\n    .cf-designer-note { color: var(--vhs-yellow); font-family: system-ui, sans-serif; font-weight: 800; }\n\n    \/* ---------- 8. Main CTA ---------- *\/\n    .cf-cta-band {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 0.8rem;\n      align-items: center;\n      padding: 1.3rem;\n      border: 1px solid rgba(255,210,74,0.3);\n      background: linear-gradient(120deg, rgba(255,61,141,0.1), rgba(66,165,255,0.08));\n    }\n\n    \/* legacy vhs-cta kept for any external reuse *\/\n    .cta-row { display: flex; flex-wrap: wrap; gap: 0.8rem; margin: 1.5rem 0; }\n    .vhs-cta { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0.8rem 1rem; color: #150806; text-decoration: none; }\n    .vhs-cta.secondary { background: var(--vhs-blue); }\n    .vhs-cta.tertiary { background: var(--vhs-pink); color: #fff; }\n\n    \/* ---------- 9. Email capture ---------- *\/\n    .waitlist-form { display: flex; flex-wrap: wrap; gap: 0.7rem; max-width: 640px; margin-top: 1rem; }\n    .waitlist-form input { flex: 1 1 260px; min-height: 48px; border: 1px solid rgba(255,255,255,0.2); background: #070606; color: var(--vhs-text); padding: 0.75rem 0.9rem; font-family: system-ui, sans-serif; }\n    .waitlist-button { min-height: 48px; padding: 0.75rem 1rem; }\n    .waitlist-message { min-height: 1.4rem; margin-top: 0.7rem; color: var(--vhs-green); font-family: system-ui, sans-serif; font-weight: 800; }\n\n    @keyframes neonFlicker { 0%,18%,22%,25%,53%,57%,100% { opacity: 1; } 20%,24%,55% { opacity: 0.58; } }\n    @keyframes blinkText { 0%,48% { opacity: 1; } 49%,100% { opacity: 0.25; } }\n    @keyframes vhsNoise { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(-3%,2%,0); } }\n    @keyframes ambientGlow { from { opacity: 0.25; } to { opacity: 0.7; } }\n    @keyframes lockedGlow { from { box-shadow: 0 0 18px var(--vhs-yellow), 0 0 34px var(--vhs-pink); } to { box-shadow: 0 0 32px var(--vhs-yellow), 0 0 58px var(--vhs-blue); } }\n    @keyframes glitchShift { 0%,100% { transform: translate(0,0); } 25% { transform: translate(2px,-1px); } 50% { transform: translate(-2px,1px); } 75% { transform: translate(1px,2px); } }\n\n    @media (max-width: 760px) {\n      .vhs-bg { background-position: center top; }\n      .vhs-neon { max-width: 72vw; }\n      .insert-tapes { width: max-content; max-width: 88vw; text-align: center; font-size: 0.9rem; }\n      .hotspot-landlady { left: 34%; top: 17%; width: 24%; height: 32%; }\n      .hotspot-salaryman { left: 58%; top: 20%; width: 19%; height: 28%; }\n      .hotspot-left-vcr { left: 7%; top: 54%; width: 25%; height: 22%; }\n      .hotspot-right-vcr { right: 7%; top: 54%; width: 27%; height: 22%; }\n      .hotspot-center-tv { left: 35%; top: 55%; width: 29%; height: 22%; }\n      .fight-preview { left: 32%; top: 61%; width: 36%; height: 16%; }\n      \/* crowdfunding collapses to single column on mobile *\/\n      .cf-grid, .cf-grid-3, .cf-unlocks, .cf-packs, .vhs-fight-landing .cf-funding-grid, .vhs-fight-landing .cf-sponsorship-grid { grid-template-columns: 1fr; }\n      .cf-status-cols { grid-template-columns: 1fr; }\n      .cf-vote-row { grid-template-columns: 1fr auto; grid-template-areas: \"name btn\" \"track track\"; }\n      .cf-vote-name { grid-area: name; }\n      .cf-vote-btn { grid-area: btn; }\n      .cf-vote-track { grid-area: track; height: 22px; }\n    }\n    \n    \/* Prevent Elementor\/theme button hover styles from filling interactive hotspots *\/\n.vhs-fight-landing button.vhs-hotspot,\n.vhs-fight-landing button.vhs-hotspot:hover,\n.vhs-fight-landing button.vhs-hotspot:focus,\n.vhs-fight-landing button.vhs-hotspot:focus-visible,\n.vhs-fight-landing button.vhs-hotspot:active {\n  background: transparent !important;\n  background-color: transparent !important;\n  background-image: none !important;\n  border-color: transparent !important;\n  box-shadow: none !important;\n  color: inherit !important;\n}\n  <\/style>\n\n  <section class=\"vhs-hero\" aria-label=\"Retro VHS fighting game character select screen\">\n    <div class=\"vhs-bg\" aria-hidden=\"true\"><\/div>\n    <video class=\"vhs-video\" data-bg-video muted playsinline preload=\"metadata\" poster=\"https:\/\/keisho.biz\/wp-content\/uploads\/2026\/06\/landing-page-image.jpg\" aria-hidden=\"true\">\n      <source src=\"https:\/\/keisho.biz\/wp-content\/uploads\/2026\/06\/landing-page-video.mp4\" type=\"video\/mp4\">\n    <\/video>\n    <button class=\"vhs-hotspot hotspot-background\" type=\"button\" data-play-bg-video aria-label=\"Play moving VHS background\"><\/button>\n    <div class=\"vhs-neon\">Video Rental<span class=\"vhs-subtitle\">Pick your movie. Make your fight.<\/span><\/div>\n    <div class=\"vcr-glow vcr-glow-left\" data-vcr-glow=\"p1\" aria-hidden=\"true\"><\/div>\n    <div class=\"vcr-glow vcr-glow-right\" data-vcr-glow=\"p2\" aria-hidden=\"true\"><\/div>\n    <button class=\"vhs-hotspot hotspot-landlady\" type=\"button\" data-character=\"landlady\" aria-label=\"Open Land Lady character card\"><\/button>\n    <button class=\"vhs-hotspot hotspot-salaryman\" type=\"button\" data-character=\"salaryman\" aria-label=\"Open Salary Man character card\"><\/button>\n    <button class=\"vhs-hotspot hotspot-left-vcr\" type=\"button\" data-character=\"landlady\" aria-label=\"Select Player 1 tape area\"><\/button>\n    <button class=\"vhs-hotspot hotspot-right-vcr\" type=\"button\" data-character=\"salaryman\" aria-label=\"Select Player 2 tape area\"><\/button>\n    <button class=\"vhs-hotspot hotspot-center-tv\" type=\"button\" data-center-tv aria-label=\"Open match preview monitor\"><\/button>\n    <div class=\"fight-preview\" data-fight-preview aria-hidden=\"true\">\n      <div class=\"fight-preview-copy\"><span class=\"fight-preview-title\">Fight Preview Loop<\/span><span class=\"fight-preview-small\">CRT static placeholder<\/span><\/div>\n    <\/div>\n    <div class=\"match-lock\" data-match-lock aria-live=\"polite\">\n      <button class=\"match-lock-close\" type=\"button\" data-close-match-lock aria-label=\"Close match locked message\">X<\/button>\n      <div class=\"match-lock-kicker\">Match Locked<\/div>\n      <div class=\"match-lock-title\">Land Lady vs Salary Man<\/div>\n      <div class=\"match-lock-mode\">Rental Rumble<\/div>\n      <div class=\"reveal-message\"><div>This game does not exist yet.<\/div><div>Help us build the playable prototype.<\/div><\/div>\n    <\/div>\n    <div class=\"insert-tapes\" data-instruction>Insert Two Tapes<\/div>\n  <\/section>\n\n  <!-- ============================================================\n       CROWDFUNDING SECTION (rebuilt)\n       Replaces the old \"Help Fund the Playable Prototype\" block.\n       Same parent container, same VHS arcade mood, WordPress-safe.\n       Plain HTML \/ CSS \/ vanilla JS only. No dependencies.\n       ============================================================ -->\n  <section class=\"crowdfunding\" aria-label=\"Help build the Rental Rumble playable prototype\">\n\n    <div class=\"crowdfunding-inner\">\n\n      <!-- 1. SECTION TITLE -->\n      <div class=\"cf-intro\">\n        <h2 class=\"cf-title\">Help Build the Playable Prototype<\/h2>\n        <p class=\"cf-subtitle\">This is not just a fighting game. It is a VHS-era comedy brawl where forgotten movie archetypes fight for one last rental.<\/p>\n      <\/div>\n\n      <!-- 2. WHY THIS GAME EXISTS -->\n      <div class=\"cf-block cf-why\">\n        <h3 class=\"cf-block-title\">Why This Game Exists<\/h3>\n        <p>Modern fighting games take themselves too seriously. Rental Rumble brings back VHS-era chaos, absurd movie archetypes, cult humor, and over-the-top rivalries.<\/p>\n        <p>In a dying VHS rental store, forgotten movie characters fight for the right to be rented one last time. The winner earns a spot in the front-window TV display as the store's hit movie of the week.<\/p>\n      <\/div>\n\n      <!-- 3. CURRENT STATUS -->\n      <div class=\"cf-block cf-status\">\n        <h3 class=\"cf-block-title\">Current Status<\/h3>\n        <div class=\"cf-status-cols\">\n          <div class=\"cf-status-col\">\n            <h4 class=\"is-done\">\u5b8c\u4e86<\/h4>\n            <ul class=\"cf-status-list\">\n              <li><span class=\"cf-badge done\">Done<\/span> Character selection concept<\/li>\n              <li><span class=\"cf-badge done\">Done<\/span> Land Lady character profile<\/li>\n              <li><span class=\"cf-badge done\">Done<\/span> Salary Man character profile<\/li>\n              <li><span class=\"cf-badge done\">Done<\/span> Interactive VHS landing page<\/li>\n              <li><span class=\"cf-badge done\">Done<\/span> First AI fight preview concept<\/li>\n            <\/ul>\n          <\/div>\n          <div class=\"cf-status-col\">\n            <h4 class=\"is-next\">Next<\/h4>\n            <ul class=\"cf-status-list\">\n              <li><span class=\"cf-badge next\">Next<\/span> First playable character controller<\/li>\n              <li><span class=\"cf-badge next\">Next<\/span> Basic combat prototype<\/li>\n              <li><span class=\"cf-badge next\">Next<\/span> Two-fighter demo<\/li>\n              <li><span class=\"cf-badge next\">Next<\/span> Sound effects and VHS UI polish<\/li>\n              <li><span class=\"cf-badge next\">Next<\/span> Publisher and investor pitch build<\/li>\n            <\/ul>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- 4. COMMUNITY UNLOCKS -->\n      <div class=\"cf-block cf-unlocks-block\">\n        <h3 class=\"cf-block-title\">Community Unlocks<\/h3>\n        <div class=\"cf-grid cf-unlocks\">\n          <div class=\"cf-card cf-unlock-card\">\n            <div class=\"cf-unlock-head\"><h3>Character Selection Concept<\/h3><span class=\"cf-tape-label\">Unlocked<\/span><\/div>\n            <p class=\"cf-desc\">The full roster lineup is on paper. This is where the rental war begins.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card\">\n            <div class=\"cf-unlock-head\"><h3>Interactive Landing Page<\/h3><span class=\"cf-tape-label\">Unlocked<\/span><\/div>\n            <p class=\"cf-desc\">You are looking at it. Insert two tapes and pick your fighter.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card is-locked\">\n            <div class=\"cf-unlock-head\"><h3>First Playable Demo<\/h3><span class=\"cf-badge lock\">Locked<\/span><\/div>\n            <p class=\"cf-desc\">A real controller in real hands. The first punch that actually connects.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card is-locked\">\n            <div class=\"cf-unlock-head\"><h3>Karate Mom joins the roster<\/h3><span class=\"cf-badge lock\">Locked<\/span><\/div>\n            <p class=\"cf-desc\">She dropped the kids at school. Now she drops elbows.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card is-locked\">\n            <div class=\"cf-unlock-head\"><h3>Mall Cop joins the roster<\/h3><span class=\"cf-badge lock\">Locked<\/span><\/div>\n            <p class=\"cf-desc\">Segway not included. Justice is served on a food court tray.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card is-locked\">\n            <div class=\"cf-unlock-head\"><h3>Soviet Bodybuilder joins the roster<\/h3><span class=\"cf-badge lock\">Locked<\/span><\/div>\n            <p class=\"cf-desc\">He lifts iron curtain weights. Cold War combos incoming.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card is-locked\">\n            <div class=\"cf-unlock-head\"><h3>Local Multiplayer Mode<\/h3><span class=\"cf-badge lock\">Locked<\/span><\/div>\n            <p class=\"cf-desc\">Two players, one couch, zero remaining friendships.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card is-locked\">\n            <div class=\"cf-unlock-head\"><h3>Online Battle Test<\/h3><span class=\"cf-badge lock\">Locked<\/span><\/div>\n            <p class=\"cf-desc\">Take the rental war global. Lag is part of the VHS charm.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card is-locked\">\n            <div class=\"cf-unlock-head\"><h3>Original VHS Soundtrack<\/h3><span class=\"cf-badge lock\">Locked<\/span><\/div>\n            <p class=\"cf-desc\">Synth bass, tape hiss, and one suspicious saxophone solo.<\/p>\n          <\/div>\n          <div class=\"cf-card cf-unlock-card is-locked\">\n            <div class=\"cf-unlock-head\"><h3>Story Mode Prototype<\/h3><span class=\"cf-badge lock\">Locked<\/span><\/div>\n            <p class=\"cf-desc\">Every fighter wants the front-window TV. Only one earns it.<\/p>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- 5. WHO WOULD YOU MAIN? (voting) -->\n      <div class=\"cf-block cf-vote-block\">\n        <h3 class=\"cf-block-title\">Who Would You Main?<\/h3>\n        <ul class=\"cf-vote-list\" data-vote-list>\n          <li class=\"cf-vote-row\"><span class=\"cf-vote-name\">Land Lady<\/span><div class=\"cf-vote-track\"><div class=\"cf-vote-fill\" data-vote-fill><\/div><span class=\"cf-vote-count\" data-vote-count>1824<\/span><\/div><button class=\"cf-vote-btn\" type=\"button\" data-vote>Vote<\/button><\/li>\n          <li class=\"cf-vote-row\"><span class=\"cf-vote-name\">Salary Man<\/span><div class=\"cf-vote-track\"><div class=\"cf-vote-fill\" data-vote-fill><\/div><span class=\"cf-vote-count\" data-vote-count>1391<\/span><\/div><button class=\"cf-vote-btn\" type=\"button\" data-vote>Vote<\/button><\/li>\n          <li class=\"cf-vote-row\"><span class=\"cf-vote-name\">Karate Mom<\/span><div class=\"cf-vote-track\"><div class=\"cf-vote-fill\" data-vote-fill><\/div><span class=\"cf-vote-count\" data-vote-count>1211<\/span><\/div><button class=\"cf-vote-btn\" type=\"button\" data-vote>Vote<\/button><\/li>\n          <li class=\"cf-vote-row\"><span class=\"cf-vote-name\">Mall Cop<\/span><div class=\"cf-vote-track\"><div class=\"cf-vote-fill\" data-vote-fill><\/div><span class=\"cf-vote-count\" data-vote-count>934<\/span><\/div><button class=\"cf-vote-btn\" type=\"button\" data-vote>Vote<\/button><\/li>\n          <li class=\"cf-vote-row\"><span class=\"cf-vote-name\">Luchador Loco<\/span><div class=\"cf-vote-track\"><div class=\"cf-vote-fill\" data-vote-fill><\/div><span class=\"cf-vote-count\" data-vote-count>811<\/span><\/div><button class=\"cf-vote-btn\" type=\"button\" data-vote>Vote<\/button><\/li>\n          <li class=\"cf-vote-row\"><span class=\"cf-vote-name\">Soviet Bodybuilder<\/span><div class=\"cf-vote-track\"><div class=\"cf-vote-fill\" data-vote-fill><\/div><span class=\"cf-vote-count\" data-vote-count>702<\/span><\/div><button class=\"cf-vote-btn\" type=\"button\" data-vote>Vote<\/button><\/li>\n          <li class=\"cf-vote-row\"><span class=\"cf-vote-name\">Animal Detective<\/span><div class=\"cf-vote-track\"><div class=\"cf-vote-fill\" data-vote-fill><\/div><span class=\"cf-vote-count\" data-vote-count>655<\/span><\/div><button class=\"cf-vote-btn\" type=\"button\" data-vote>Vote<\/button><\/li>\n          <li class=\"cf-vote-row\"><span class=\"cf-vote-name\">Yakuza Grandpa<\/span><div class=\"cf-vote-track\"><div class=\"cf-vote-fill\" data-vote-fill><\/div><span class=\"cf-vote-count\" data-vote-count>604<\/span><\/div><button class=\"cf-vote-btn\" type=\"button\" data-vote>Vote<\/button><\/li>\n        <\/ul>\n        <div class=\"cf-vote-msg\" data-vote-message aria-live=\"polite\"><\/div>\n      <\/div>\n\n      <!-- 6. FUND A CHARACTER -->\n      <div class=\"cf-block\">\n        <h3 class=\"cf-block-title\">Fund a Character<\/h3>\n        <div class=\"cf-funding-grid\">\n          <article class=\"cf-funding-card\" data-goal=\"15000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Land Lady<\/h4><span class=\"cf-funding-goal\">Goal: $15,000<\/span><\/div>\n            <p>Rent is due. Mercy is not.<\/p>\n            <div class=\"cf-funding-help\"><strong>Funding helps build:<\/strong> moveset, slap combo, sandal attack, VHS cover art, prototype animations, sound direction.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Land Lady funding progress\" aria-valuemin=\"0\" aria-valuemax=\"15000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill\" href=\"#\">Fund Land Lady<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"15000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Salary Man<\/h4><span class=\"cf-funding-goal\">Goal: $15,000<\/span><\/div>\n            <p>Overworked. Underpaid. One missed train away from violence.<\/p>\n            <div class=\"cf-funding-help\"><strong>Funding helps build:<\/strong> briefcase attacks, stress meter concept, office rage animations, prototype balancing.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Salary Man funding progress\" aria-valuemin=\"0\" aria-valuemax=\"15000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill\" href=\"#\">Fund Salary Man<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"15000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Karate Mom<\/h4><span class=\"cf-funding-goal\">Goal: $15,000<\/span><\/div>\n            <p>She dropped the kids at school. Now she drops elbows.<\/p>\n            <div class=\"cf-funding-help\"><strong>Funding helps build:<\/strong> martial arts parody moveset, minivan entrance concept, voice direction, prototype animations.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Karate Mom funding progress\" aria-valuemin=\"0\" aria-valuemax=\"15000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill\" href=\"#\">Fund Karate Mom<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"15000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Mall Cop<\/h4><span class=\"cf-funding-goal\">Goal: $15,000<\/span><\/div>\n            <p>Justice patrols the food court.<\/p>\n            <div class=\"cf-funding-help\"><strong>Funding helps build:<\/strong> security baton moves, tray shield concept, stage jokes, prototype animations.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Mall Cop funding progress\" aria-valuemin=\"0\" aria-valuemax=\"15000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill\" href=\"#\">Fund Mall Cop<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"15000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Soviet Bodybuilder<\/h4><span class=\"cf-funding-goal\">Goal: $15,000<\/span><\/div>\n            <p>He lifts iron curtain weights.<\/p>\n            <div class=\"cf-funding-help\"><strong>Funding helps build:<\/strong> grappling moves, flex taunts, cold war VHS cover, heavy fighter prototype.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Soviet Bodybuilder funding progress\" aria-valuemin=\"0\" aria-valuemax=\"15000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill\" href=\"#\">Fund Soviet Bodybuilder<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"15000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Luchador Loco<\/h4><span class=\"cf-funding-goal\">Goal: $15,000<\/span><\/div>\n            <p>Nobody knows his real name. Not even him.<\/p>\n            <div class=\"cf-funding-help\"><strong>Funding helps build:<\/strong> high flying moves, mask variants, crowd chants, prototype combo testing.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Luchador Loco funding progress\" aria-valuemin=\"0\" aria-valuemax=\"15000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill\" href=\"#\">Fund Luchador Loco<\/a>\n          <\/article>\n        <\/div>\n        <p class=\"cf-disclaimer\">Character funding helps prioritize prototype development. Final roster, moves, names, and designs remain subject to production feasibility and studio approval.<\/p>\n      <\/div>\n\n      <!-- 7. VISIBLE PROTOTYPE SPONSORSHIPS -->\n      <div class=\"cf-block\">\n        <h3 class=\"cf-block-title\">Sponsor Something People Can See<\/h3>\n        <p class=\"cf-sponsor-intro\">Some parts of the game are perfect for sponsorship because they become visible inside the prototype. Sponsor an arena, costume set, finisher, prop, intro, or VHS cover style element and help turn the rental store into a playable world.<\/p>\n        <div class=\"cf-funding-grid cf-sponsorship-grid\">\n          <article class=\"cf-funding-card\" data-goal=\"20000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Sponsor an Arena<\/h4><span class=\"cf-funding-goal\">Goal: $20,000<\/span><\/div>\n            <p>Help build a playable fighting stage with background art, props, collision setup, lighting, jokes, and VHS atmosphere.<\/p>\n            <div class=\"cf-sponsor-credit\">Credit shown on the arena sponsor list.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Sponsor an Arena progress\" aria-valuemin=\"0\" aria-valuemax=\"20000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill ghost\" href=\"#\">Sponsor an Arena<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"7500\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Sponsor a Costume Pack<\/h4><span class=\"cf-funding-goal\">Goal: $7,500<\/span><\/div>\n            <p>Help create alternate outfits for fighters, such as gym wear, office disaster mode, landlord battle robe, tournament jacket, or retro streetwear.<\/p>\n            <div class=\"cf-sponsor-credit\">Credit shown in the costume pack notes.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Sponsor a Costume Pack progress\" aria-valuemin=\"0\" aria-valuemax=\"7500\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill ghost\" href=\"#\">Sponsor Costumes<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"5000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Sponsor a Finisher<\/h4><span class=\"cf-funding-goal\">Goal: $5,000<\/span><\/div>\n            <p>Help create one absurd finishing move with animation direction, effects, impact timing, sound direction, and camera treatment.<\/p>\n            <div class=\"cf-sponsor-credit\">Credit shown near the finisher showcase.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Sponsor a Finisher progress\" aria-valuemin=\"0\" aria-valuemax=\"5000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill ghost\" href=\"#\">Sponsor a Finisher<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"4000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Sponsor a Fighter Intro<\/h4><span class=\"cf-funding-goal\">Goal: $4,000<\/span><\/div>\n            <p>Help create a short character entrance or intro animation before the fight begins.<\/p>\n            <div class=\"cf-sponsor-credit\">Credit shown in the fighter intro notes.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Sponsor a Fighter Intro progress\" aria-valuemin=\"0\" aria-valuemax=\"4000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill ghost\" href=\"#\">Sponsor an Intro<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"3500\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Sponsor a Taunt Pack<\/h4><span class=\"cf-funding-goal\">Goal: $3,500<\/span><\/div>\n            <p>Help create character taunts, idle jokes, reaction poses, and personality moments.<\/p>\n            <div class=\"cf-sponsor-credit\">Credit shown in the taunt pack notes.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Sponsor a Taunt Pack progress\" aria-valuemin=\"0\" aria-valuemax=\"3500\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill ghost\" href=\"#\">Sponsor Taunts<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"2500\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Sponsor a VHS Cover Variant<\/h4><span class=\"cf-funding-goal\">Goal: $2,500<\/span><\/div>\n            <p>Help create an alternate fake VHS cover design for a fighter, arena, or in world movie poster.<\/p>\n            <div class=\"cf-sponsor-credit\">Credit shown near the VHS cover gallery.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Sponsor a VHS Cover Variant progress\" aria-valuemin=\"0\" aria-valuemax=\"2500\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill ghost\" href=\"#\">Sponsor a VHS Cover<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"1500\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Sponsor a Rental Store Prop<\/h4><span class=\"cf-funding-goal\">Goal: $1,500<\/span><\/div>\n            <p>Help add a weird background prop, fake movie poster, snack machine sticker, cursed rental tape, broken arcade sign, or hidden store joke.<\/p>\n            <div class=\"cf-sponsor-credit\">Credit may appear as a small in world easter egg.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Sponsor a Rental Store Prop progress\" aria-valuemin=\"0\" aria-valuemax=\"1500\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill ghost\" href=\"#\">Sponsor a Prop<\/a>\n          <\/article>\n          <article class=\"cf-funding-card\" data-goal=\"3000\" data-current=\"0\">\n            <div class=\"cf-funding-head\"><h4>Sponsor a Victory Pose<\/h4><span class=\"cf-funding-goal\">Goal: $3,000<\/span><\/div>\n            <p>Help create a post fight victory pose, win screen attitude, or ridiculous celebration moment.<\/p>\n            <div class=\"cf-sponsor-credit\">Credit shown in the victory pose notes.<\/div>\n            <div class=\"cf-funding-progress-meta\"><span data-funding-current>Current: $0<\/span><span data-funding-percent>0%<\/span><\/div>\n            <div class=\"cf-funding-track\" role=\"progressbar\" aria-label=\"Sponsor a Victory Pose progress\" aria-valuemin=\"0\" aria-valuemax=\"3000\" aria-valuenow=\"0\"><div class=\"cf-funding-fill\" data-funding-fill><\/div><\/div>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill ghost\" href=\"#\">Sponsor a Victory Pose<\/a>\n          <\/article>\n        <\/div>\n        <p class=\"cf-disclaimer\">All sponsored items are subject to approval. Sponsor names, photos, jokes, props, costumes, and concepts cannot use copyrighted characters, celebrity likenesses, offensive material, or anything that creates legal risk. Sponsorship supports prototype development and does not guarantee final shipped content.<\/p>\n      <\/div>\n\n      <!-- 8. FOUNDER PACKS -->\n      <div class=\"cf-block cf-packs-block\">\n        <h3 class=\"cf-block-title\">Founder Packs<\/h3>\n        <div class=\"cf-grid cf-packs\">\n          <div class=\"cf-pack\">\n            <div class=\"cf-pack-head\"><h3>VHS Customer<\/h3><span class=\"cf-price\">$25<\/span><\/div>\n            <ul>\n              <li>Name on supporter wall<\/li>\n              <li>Early founder badge<\/li>\n              <li>Development updates<\/li>\n              <li>Supporter newsletter<\/li>\n            <\/ul>\n            <!-- TODO: Stripe checkout. Replace href with a Stripe Payment Link \/ price ID (e.g. https:\/\/buy.stripe.com\/xxx). -->\n            <a class=\"cf-pill\" href=\"#\">Join as VHS Customer<\/a>\n          <\/div>\n          <div class=\"cf-pack is-premium\">\n            <div class=\"cf-pack-head\"><h3>VHS Collector<\/h3><span class=\"cf-price\">$75<\/span><\/div>\n            <span class=\"cf-pack-flag value\">Best Value<\/span>\n            <ul>\n              <li>Everything in VHS Customer<\/li>\n              <li>Private community role<\/li>\n              <li>Exclusive digital VHS cover pack<\/li>\n              <li>Behind the scenes prototype updates<\/li>\n            <\/ul>\n            <!-- TODO: Stripe checkout. Replace href with a Stripe Payment Link \/ price ID. -->\n            <a class=\"cf-pill\" href=\"#\">Become a Collector<\/a>\n          <\/div>\n          <div class=\"cf-pack\">\n            <div class=\"cf-pack-head\"><h3>Store Regular<\/h3><span class=\"cf-price\">$150<\/span><\/div>\n            <ul>\n              <li>Everything in VHS Collector<\/li>\n              <li>Vote on future fighter concepts<\/li>\n              <li>Prototype playtest access when available<\/li>\n              <li>Early feedback surveys<\/li>\n            <\/ul>\n            <!-- TODO: Stripe checkout. Replace href with a Stripe Payment Link \/ price ID. -->\n            <a class=\"cf-pill\" href=\"#\">Become a Regular<\/a>\n          <\/div>\n          <div class=\"cf-pack is-premium\">\n            <div class=\"cf-pack-head\"><h3>Cult Classic<\/h3><span class=\"cf-price\">$500<\/span><\/div>\n            <span class=\"cf-pack-flag limited\">Limited<\/span>\n            <ul>\n              <li>Everything in Store Regular<\/li>\n              <li>Name in game credits<\/li>\n              <li>Hidden easter egg in the rental store<\/li>\n              <li>Exclusive founder title<\/li>\n            <\/ul>\n            <!-- TODO: Stripe checkout. Replace href with a Stripe Payment Link \/ price ID. -->\n            <a class=\"cf-pill\" href=\"#\">Go Cult Classic<\/a>\n          <\/div>\n          <div class=\"cf-pack is-premium\">\n            <div class=\"cf-pack-head\"><h3>Video Store Legend<\/h3><span class=\"cf-price\">$1,500<\/span><\/div>\n            <span class=\"cf-pack-flag limited\">Limited<\/span>\n            <ul>\n              <li>Everything in Cult Classic<\/li>\n              <li>Your name or approved photo on a fake VHS cover in the background<\/li>\n              <li>Private prototype feedback invite<\/li>\n              <li>Special credits page mention<\/li>\n            <\/ul>\n            <!-- TODO: Stripe checkout. Replace href with a Stripe Payment Link \/ price ID. -->\n            <a class=\"cf-pill\" href=\"#\">Become a Legend<\/a>\n          <\/div>\n          <div class=\"cf-pack is-premium\">\n            <div class=\"cf-pack-head\"><h3>Character Concept Sponsor<\/h3><span class=\"cf-price\">$2,500<\/span><\/div>\n            <span class=\"cf-pack-flag limited\">Limited to 10<\/span>\n            <ul>\n              <li>Collaborate with the team on a ridiculous VHS era fighter concept<\/li>\n              <li>Character name concept<\/li>\n              <li>VHS cover concept<\/li>\n              <li>Fighting style direction<\/li>\n              <li>Taunt and personality ideas<\/li>\n              <li>Final approval stays with the studio<\/li>\n            <\/ul>\n            <p class=\"cf-designer-note\">Your concept may inspire a future fighter, but final implementation depends on production feasibility and studio approval.<\/p>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill alt\" href=\"#\">Claim Concept Slot<\/a>\n          <\/div>\n          <div class=\"cf-pack is-premium\">\n            <div class=\"cf-pack-head\"><h3>Executive Producer<\/h3><span class=\"cf-price\">$10,000<\/span><\/div>\n            <span class=\"cf-pack-flag serious\">For Serious Supporters<\/span>\n            <ul>\n              <li>Everything in Video Store Legend<\/li>\n              <li>Executive Producer credit<\/li>\n              <li>Private development calls<\/li>\n              <li>Early pitch build access<\/li>\n              <li>Founder wall placement<\/li>\n              <li>Access to milestone updates<\/li>\n            <\/ul>\n            <!-- TODO: Stripe checkout. Replace href with a Stripe Payment Link \/ price ID. -->\n            <a class=\"cf-pill alt\" href=\"#\">Claim Producer Slot<\/a>\n          <\/div>\n          <div class=\"cf-pack is-premium\">\n            <div class=\"cf-pack-head\"><h3>Video Store Owner<\/h3><span class=\"cf-price\">$25,000<\/span><\/div>\n            <span class=\"cf-pack-flag limited\">Limited to 3<\/span>\n            <ul>\n              <li>Everything in Executive Producer<\/li>\n              <li>Top tier Founder Wall placement<\/li>\n              <li>Major supporter credit<\/li>\n              <li>Private founder strategy call<\/li>\n              <li>Invitation to key milestone reviews<\/li>\n              <li>Permanent Video Store Owner recognition<\/li>\n            <\/ul>\n            <!-- TODO: Replace with Stripe Payment Link or checkout flow. -->\n            <a class=\"cf-pill alt\" href=\"#\">Become a Video Store Owner<\/a>\n          <\/div>\n        <\/div>\n        <p class=\"cf-disclaimer\">Founder rewards support prototype development. All names, photos, concepts, credits, and content are subject to approval. We cannot accept copyrighted characters, celebrity likenesses, offensive material, or anything that creates legal risk. Final game features may change during development.<\/p>\n      <\/div>\n\n      <!-- 9. MAIN CTA -->\n      <div class=\"cf-block\">\n        <h3 class=\"cf-block-title\">Ready to Join the Rental War?<\/h3>\n        <div class=\"cf-cta-band\">\n          <!-- TODO: Stripe \/ pledge flow. Replace href with real checkout or signup link. -->\n          <a class=\"cf-pill\" href=\"#\">Back the Prototype<\/a>\n          <!-- TODO: Email capture \/ community signup. Replace href with real link. -->\n          <a class=\"cf-pill ghost\" href=\"#\">Join Early Supporters<\/a>\n          <!-- TODO: Investor deck request. Replace href with real link or form. -->\n          <a class=\"cf-pill alt\" href=\"#\">Request Investor Deck<\/a>\n        <\/div>\n      <\/div>\n\n      <!-- 9. EMAIL CAPTURE -->\n      <div class=\"cf-block\">\n        <h3 class=\"cf-block-title\">Join the Rental List<\/h3>\n        <p>Drop your email and be first in line when the prototype goes live. No spam, just tape drops.<\/p>\n        <!-- TODO: Connect this form to Mailchimp, ConvertKit, Stripe customer collection, or a custom backend later. -->\n        <form class=\"waitlist-form\" data-waitlist-form action=\"\">\n          <input type=\"email\" name=\"email\" placeholder=\"Enter email for early access\" aria-label=\"Email for early access\" required>\n          <button class=\"waitlist-button\" type=\"submit\">Join the Rental List<\/button>\n        <input type=\"hidden\" name=\"trp-form-language\" value=\"ja\"\/><\/form>\n        <div class=\"waitlist-message\" data-waitlist-message aria-live=\"polite\"><\/div>\n      <\/div>\n\n      <!-- 10. INVESTORS & PUBLISHERS -->\n      <div class=\"cf-block\">\n        <h3 class=\"cf-block-title\">Investors &amp; Publishers<\/h3>\n        <p>Interested in helping bring Rental Rumble to market? Request the pitch deck or contact the team for prototype, publishing, and investment discussions.<\/p>\n        <div class=\"cf-cta-band\">\n          <!-- TODO: Pitch deck delivery. Replace href with real link (e.g. DocSend \/ form). -->\n          <a class=\"cf-pill\" href=\"#\">Request Pitch Deck<\/a>\n          <!-- TODO: Contact routing. Replace href with real mailto \/ form \/ CRM link. -->\n          <a class=\"cf-pill ghost\" href=\"#\">Contact Team<\/a>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/section>\n  <!-- end rebuilt crowdfunding section -->\n\n  <div class=\"character-modal\" data-fight-modal role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"fight-modal-name\">\n    <div class=\"modal-card fight-modal-card\">\n      <button class=\"modal-close\" type=\"button\" data-close-fight-modal aria-label=\"Close fight preview\">X<\/button>\n      <h2 class=\"modal-name\" id=\"fight-modal-name\">Rental Rumble<\/h2>\n      <div class=\"fight-modal-kicker\">Land Lady vs Salary Man<\/div>\n      <video class=\"fight-modal-video\" data-fight-modal-video controls playsinline preload=\"metadata\">\n        <source src=\"https:\/\/keisho.biz\/wp-content\/uploads\/2026\/06\/fight-scene.mp4\" type=\"video\/mp4\">\n      <\/video>\n      <p class=\"fight-modal-copy\">Watch the rent collector and the burned-out office warrior collide in a VHS comedy brawler about forgotten movie characters fighting for one last night in the spotlight.<\/p>\n      <ul class=\"fight-modal-tags\"><li>Comedy fighting<\/li><li>Retro VHS style<\/li><li>Prototype pitch<\/li><\/ul>\n      <button class=\"insert-button\" type=\"button\" data-close-fight-modal>Back to Character Select<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"character-modal\" data-modal role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"modal-name\">\n    <div class=\"modal-card\">\n      <button class=\"modal-close\" type=\"button\" data-close-modal aria-label=\"Close character card\">X<\/button>\n      <h2 class=\"modal-name\" id=\"modal-name\" data-modal-name><\/h2>\n      <div class=\"modal-tagline\" data-modal-tagline><\/div>\n      <div class=\"modal-poster\"><img decoding=\"async\" data-modal-poster-image src=\"\" alt=\"\"><span data-modal-poster-note><\/span><\/div>\n      <ul class=\"stat-list\" data-modal-stats><\/ul>\n      <p class=\"modal-quote\" data-modal-quote><\/p>\n      <button class=\"insert-button\" type=\"button\" data-insert-tape><\/button>\n    <\/div>\n  <\/div>\n\n  <script>\n    (function () {\n      var root = document.querySelector(\".vhs-fight-landing\");\n      if (!root) return;\n\n      var characters = {\n        landlady: {\n          name: \"Land Lady\",\n          player: \"p1\",\n          tagline: \"She collects rent in pain.\",\n          stats: [[\"Power\", \"82\"], [\"Speed\", \"61\"], [\"Temper\", \"99\"], [\"VHS Value\", \"Rare\"]],\n          quote: \"Late fees are paid in bruises.\",\n          button: \"Insert Tape as Player 1\",\n          image: \"https:\/\/keisho.biz\/wp-content\/uploads\/2026\/06\/land-lady.jpg\"\n        },\n        salaryman: {\n          name: \"Salary Man\",\n          player: \"p2\",\n          tagline: \"Overworked. Underpaid. Unhinged.\",\n          stats: [[\"Power\", \"58\"], [\"Speed\", \"74\"], [\"Stress\", \"100\"], [\"VHS Value\", \"Cult Classic\"]],\n          quote: \"I missed the last train for this.\",\n          button: \"Insert Tape as Player 2\",\n          image: \"https:\/\/keisho.biz\/wp-content\/uploads\/2026\/06\/salary-men.jpg\"\n        }\n      };\n\n      var selected = { p1: false, p2: false };\n      var bgVideo = root.querySelector(\"[data-bg-video]\");\n      var playBgVideo = root.querySelector(\"[data-play-bg-video]\");\n      var modal = root.querySelector(\"[data-modal]\");\n      var modalName = root.querySelector(\"[data-modal-name]\");\n      var modalTagline = root.querySelector(\"[data-modal-tagline]\");\n      var modalStats = root.querySelector(\"[data-modal-stats]\");\n      var modalQuote = root.querySelector(\"[data-modal-quote]\");\n      var modalPosterImage = root.querySelector(\"[data-modal-poster-image]\");\n      var insertButton = root.querySelector(\"[data-insert-tape]\");\n      var closeButton = root.querySelector(\"[data-close-modal]\");\n      var instruction = root.querySelector(\"[data-instruction]\");\n      var matchLock = root.querySelector(\"[data-match-lock]\");\n      var closeMatchLock = root.querySelector(\"[data-close-match-lock]\");\n      var fightPreview = root.querySelector(\"[data-fight-preview]\");\n      var fightModal = root.querySelector(\"[data-fight-modal]\");\n      var fightModalVideo = root.querySelector(\"[data-fight-modal-video]\");\n      var activeCharacterKey = null;\n\n      function resetBgVideo() {\n        if (!bgVideo) return;\n        bgVideo.classList.remove(\"is-playing\");\n        bgVideo.currentTime = 0;\n      }\n\n      function startBgVideo() {\n        if (!bgVideo || !bgVideo.paused) return;\n        bgVideo.currentTime = 0;\n        var playPromise = bgVideo.play();\n        if (playPromise && playPromise.then) {\n          playPromise.then(function () { bgVideo.classList.add(\"is-playing\"); }).catch(function () {});\n        } else {\n          bgVideo.classList.add(\"is-playing\");\n        }\n      }\n\n      function openFightModal() {\n        if (!fightModal) return;\n        fightModal.classList.add(\"is-open\");\n        if (fightModalVideo) {\n          fightModalVideo.currentTime = 0;\n          var playPromise = fightModalVideo.play();\n          if (playPromise && playPromise.catch) playPromise.catch(function () {});\n        }\n      }\n\n      function closeFightModal() {\n        if (!fightModal) return;\n        fightModal.classList.remove(\"is-open\");\n        if (fightModalVideo) {\n          fightModalVideo.pause();\n          fightModalVideo.currentTime = 0;\n        }\n        resetMatchState();\n      }\n\n      function resetMatchState() {\n        selected.p1 = false;\n        selected.p2 = false;\n        activeCharacterKey = null;\n        instruction.textContent = \"Insert Two Tapes\";\n        instruction.style.animation = \"\";\n        matchLock.classList.remove(\"is-visible\");\n        fightPreview.classList.remove(\"is-active\");\n        fightPreview.setAttribute(\"aria-hidden\", \"true\");\n        root.querySelectorAll(\"[data-vcr-glow]\").forEach(function (glow) {\n          glow.classList.remove(\"locked\");\n        });\n      }\n\n      function openCharacter(key) {\n        var character = characters[key];\n        if (!character) return;\n        activeCharacterKey = key;\n        modalName.textContent = character.name;\n        modalTagline.textContent = character.tagline;\n        modalQuote.textContent = '\"' + character.quote + '\"';\n        if (modalPosterImage) {\n          modalPosterImage.src = character.image;\n          modalPosterImage.alt = character.name + \" character card\";\n        }\n        insertButton.textContent = character.button;\n        modalStats.innerHTML = \"\";\n        character.stats.forEach(function (stat) {\n          var item = document.createElement(\"li\");\n          var label = document.createElement(\"span\");\n          var value = document.createElement(\"strong\");\n          label.textContent = stat[0];\n          value.textContent = stat[1];\n          item.appendChild(label);\n          item.appendChild(value);\n          modalStats.appendChild(item);\n        });\n        modal.classList.add(\"is-open\");\n        closeButton.focus();\n      }\n\n      function closeModal() {\n        modal.classList.remove(\"is-open\");\n        activeCharacterKey = null;\n      }\n\n      function insertTape() {\n        if (!activeCharacterKey) return;\n        var character = characters[activeCharacterKey];\n        selected[character.player] = true;\n        var glow = root.querySelector('[data-vcr-glow=\"' + character.player + '\"]');\n        if (glow) glow.classList.add(\"locked\");\n        closeModal();\n        updateMatchState();\n      }\n\n      function updateMatchState() {\n        if (selected.p1 && selected.p2) {\n          instruction.textContent = \"Both Tapes Inserted\";\n          instruction.style.animation = \"none\";\n          matchLock.classList.add(\"is-visible\");\n          fightPreview.classList.add(\"is-active\");\n          fightPreview.setAttribute(\"aria-hidden\", \"false\");\n        } else if (selected.p1 || selected.p2) {\n          instruction.textContent = \"Insert One More Tape\";\n        }\n      }\n\n      if (bgVideo) bgVideo.addEventListener(\"ended\", resetBgVideo);\n      if (playBgVideo) {\n        playBgVideo.addEventListener(\"pointerdown\", startBgVideo);\n        playBgVideo.addEventListener(\"click\", startBgVideo);\n      }\n\n      root.querySelector(\".vhs-hero\").addEventListener(\"pointerdown\", function (event) {\n        if (!event.target.closest(\"[data-character],[data-center-tv]\")) startBgVideo();\n      });\n\n      root.querySelectorAll(\"[data-character]\").forEach(function (button) {\n        button.addEventListener(\"click\", function () {\n          openCharacter(button.getAttribute(\"data-character\"));\n        });\n      });\n\n      root.querySelector(\"[data-center-tv]\").addEventListener(\"click\", openFightModal);\n      closeMatchLock.addEventListener(\"click\", function () {\n        matchLock.classList.remove(\"is-visible\");\n      });\n      root.querySelectorAll(\"[data-close-fight-modal]\").forEach(function (button) {\n        button.addEventListener(\"click\", closeFightModal);\n      });\n\n      insertButton.addEventListener(\"click\", insertTape);\n      closeButton.addEventListener(\"click\", closeModal);\n      modal.addEventListener(\"click\", function (event) { if (event.target === modal) closeModal(); });\n      fightModal.addEventListener(\"click\", function (event) { if (event.target === fightModal) closeFightModal(); });\n      document.addEventListener(\"keydown\", function (event) {\n        if (event.key === \"Escape\" && modal.classList.contains(\"is-open\")) closeModal();\n        if (event.key === \"Escape\" && fightModal.classList.contains(\"is-open\")) closeFightModal();\n      });\n\n      root.querySelector(\"[data-waitlist-form]\").addEventListener(\"submit\", function (event) {\n        event.preventDefault();\n        \/\/ TODO: Send email to Mailchimp \/ ConvertKit \/ Stripe customer collection \/ custom backend.\n        root.querySelector(\"[data-waitlist-message]\").textContent = \"You are on the rental list. Be kind. Rewind.\";\n        event.target.reset();\n      });\n\n      \/* ---------- Funding goals ---------- *\/\n      \/\/ Values live on each card so a future Stripe\/database integration only\n      \/\/ needs to update data-current and rerun this renderer. Kept separate\n      \/\/ from voting because funding totals must never be inferred or faked.\n      (function renderFundingGoals() {\n        function formatDollars(value) {\n          return \"$\" + Math.round(value).toLocaleString();\n        }\n\n        root.querySelectorAll(\".cf-funding-card[data-goal][data-current]\").forEach(function (card) {\n          var goal = Math.max(0, Number(card.getAttribute(\"data-goal\")) || 0);\n          var current = Math.max(0, Number(card.getAttribute(\"data-current\")) || 0);\n          var percent = goal ? Math.min(100, Math.round((current \/ goal) * 100)) : 0;\n          var fill = card.querySelector(\"[data-funding-fill]\");\n          var currentLabel = card.querySelector(\"[data-funding-current]\");\n          var percentLabel = card.querySelector(\"[data-funding-percent]\");\n          var track = card.querySelector(\"[role=progressbar]\");\n\n          if (fill) fill.style.width = percent + \"%\";\n          if (currentLabel) currentLabel.textContent = \"Current: \" + formatDollars(current);\n          if (percentLabel) percentLabel.textContent = percent + \"%\";\n          if (track) {\n            track.setAttribute(\"aria-valuemax\", String(goal));\n            track.setAttribute(\"aria-valuenow\", String(Math.min(current, goal)));\n          }\n        });\n      })();\n\n      \/* ---------- Voting: \"Who Would You Main?\" ---------- *\/\n      \/\/ Front-end only for now. Each click bumps the visible count and\n      \/\/ recalculates the bar widths relative to the current top vote count.\n      \/\/ TODO: Persist votes to a database \/ backend later (e.g. POST to \/api\/vote).\n      (function setupVoting() {\n        var voteList = root.querySelector(\"[data-vote-list]\");\n        if (!voteList) return;\n        var voteMessage = root.querySelector(\"[data-vote-message]\");\n        var messageTimer = null;\n\n        function readCounts() {\n          var counts = [];\n          voteList.querySelectorAll(\"[data-vote-count]\").forEach(function (el) {\n            counts.push(parseInt(el.textContent.replace(\/[^0-9]\/g, \"\"), 10) || 0);\n          });\n          return counts;\n        }\n\n        function render() {\n          var counts = readCounts();\n          var max = Math.max.apply(null, counts.concat([1]));\n          voteList.querySelectorAll(\"[data-vote-fill]\").forEach(function (fill, i) {\n            fill.style.width = Math.round((counts[i] \/ max) * 100) + \"%\";\n          });\n        }\n\n        function showMessage(text) {\n          if (!voteMessage) return;\n          voteMessage.textContent = text;\n          if (messageTimer) clearTimeout(messageTimer);\n          messageTimer = setTimeout(function () { voteMessage.textContent = \"\"; }, 2600);\n        }\n\n        voteList.querySelectorAll(\"[data-vote]\").forEach(function (btn) {\n          btn.addEventListener(\"click\", function () {\n            var row = btn.closest(\".cf-vote-row\");\n            var countEl = row && row.querySelector(\"[data-vote-count]\");\n            if (!countEl) return;\n            var current = parseInt(countEl.textContent.replace(\/[^0-9]\/g, \"\"), 10) || 0;\n            countEl.textContent = (current + 1).toLocaleString();\n            render();\n            showMessage(\"Vote recorded. The rental war continues.\");\n          });\n        });\n\n        render();\n      })();\n    })();\n  <\/script>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Video RentalPick your movie. Make your fight. Fight Preview LoopCRT static placeholder X Match Locked Land Lady vs Salary Man Rental Rumble This game does not exist yet.Help us build the playable prototype. Insert Two Tapes Help Build the Playable Prototype This is not just a fighting game. It is a VHS-era comedy brawl where forgotten movie archetypes fight for one last rental. Why This Game Exists Modern fighting games take themselves too seriously. Rental Rumble brings back VHS-era chaos, absurd movie archetypes, cult humor, and over-the-top rivalries. In a dying VHS rental store, forgotten movie characters fight for the right to be rented one last time. The winner earns a spot in the front-window TV display as the store&#8217;s hit movie of the week. Current Status Completed Done Character selection concept Done Land Lady character profile Done Salary Man character profile Done Interactive VHS landing page Done First AI fight preview concept Next Next First playable character controller Next Basic combat prototype Next Two-fighter demo Next Sound effects and VHS UI polish Next Publisher and investor pitch build Community Unlocks Character Selection Concept Unlocked The full roster lineup is on paper. This is where the rental war begins. Interactive Landing Page Unlocked You are looking at it. Insert two tapes and pick your fighter. First Playable Demo Locked A real controller in real hands. The first punch that actually connects. Karate Mom joins the roster Locked She dropped the kids at school. Now she drops elbows. Mall Cop joins the roster Locked Segway not included. Justice is served on a food court tray. Soviet Bodybuilder joins the roster Locked He lifts iron curtain weights. Cold War combos incoming. Local Multiplayer Mode Locked Two players, one couch, zero remaining friendships. Online Battle Test Locked Take the rental war global. Lag is part of the VHS charm. Original VHS Soundtrack Locked Synth bass, tape hiss, and one suspicious saxophone solo. Story Mode Prototype Locked Every fighter wants the front-window TV. Only one earns it. Who Would You Main? Land Lady1824Vote Salary Man1391Vote Karate Mom1211Vote Mall Cop934Vote Luchador Loco811Vote Soviet Bodybuilder702Vote Animal Detective655Vote Yakuza Grandpa604Vote Fund a Character Land Lady Goal: $15,000 Rent is due. Mercy is not. Funding helps build: moveset, slap combo, sandal attack, VHS cover art, prototype animations, sound direction. Current: $00% Fund Land Lady Salary Man Goal: $15,000 Overworked. Underpaid. One missed train away from violence. Funding helps build: briefcase attacks, stress meter concept, office rage animations, prototype balancing. Current: $00% Fund Salary Man Karate Mom Goal: $15,000 She dropped the kids at school. Now she drops elbows. Funding helps build: martial arts parody moveset, minivan entrance concept, voice direction, prototype animations. Current: $00% Fund Karate Mom Mall Cop Goal: $15,000 Justice patrols the food court. Funding helps build: security baton moves, tray shield concept, stage jokes, prototype animations. Current: $00% Fund Mall Cop Soviet Bodybuilder Goal: $15,000 He lifts iron curtain weights. Funding helps build: grappling moves, flex taunts, cold war VHS cover, heavy fighter prototype. Current: $00% Fund Soviet Bodybuilder Luchador Loco Goal: $15,000 Nobody knows his real name. Not even him. Funding helps build: high flying moves, mask variants, crowd chants, prototype combo testing. Current: $00% Fund Luchador Loco Character funding helps prioritize prototype development. Final roster, moves, names, and designs remain subject to production feasibility and studio approval. Sponsor Something People Can See Some parts of the game are perfect for sponsorship because they become visible inside the prototype. Sponsor an arena, costume set, finisher, prop, intro, or VHS cover style element and help turn the rental store into a playable world. Sponsor an Arena Goal: $20,000 Help build a playable fighting stage with background art, props, collision setup, lighting, jokes, and VHS atmosphere. Credit shown on the arena sponsor list. Current: $00% Sponsor an Arena Sponsor a Costume Pack Goal: $7,500 Help create alternate outfits for fighters, such as gym wear, office disaster mode, landlord battle robe, tournament jacket, or retro streetwear. Credit shown in the costume pack notes. Current: $00% Sponsor Costumes Sponsor a Finisher Goal: $5,000 Help create one absurd finishing move with animation direction, effects, impact timing, sound direction, and camera treatment. Credit shown near the finisher showcase. Current: $00% Sponsor a Finisher Sponsor a Fighter Intro Goal: $4,000 Help create a short character entrance or intro animation before the fight begins. Credit shown in the fighter intro notes. Current: $00% Sponsor an Intro Sponsor a Taunt Pack Goal: $3,500 Help create character taunts, idle jokes, reaction poses, and personality moments. Credit shown in the taunt pack notes. Current: $00% Sponsor Taunts Sponsor a VHS Cover Variant Goal: $2,500 Help create an alternate fake VHS cover design for a fighter, arena, or in world movie poster. Credit shown near the VHS cover gallery. Current: $00% Sponsor a VHS Cover Sponsor a Rental Store Prop Goal: $1,500 Help add a weird background prop, fake movie poster, snack machine sticker, cursed rental tape, broken arcade sign, or hidden store joke. Credit may appear as a small in world easter egg. Current: $00% Sponsor a Prop Sponsor a Victory Pose Goal: $3,000 Help create a post fight victory pose, win screen attitude, or ridiculous celebration moment. Credit shown in the victory pose notes. Current: $00% Sponsor a Victory Pose All sponsored items are subject to approval. Sponsor names, photos, jokes, props, costumes, and concepts cannot use copyrighted characters, celebrity likenesses, offensive material, or anything that creates legal risk. Sponsorship supports prototype development and does not guarantee final shipped content. Founder Packs VHS Customer $25 Name on supporter wall Early founder badge Development updates Supporter newsletter Join as VHS Customer VHS Collector $75 Best Value Everything in VHS Customer Private community role Exclusive digital VHS cover pack Behind the scenes prototype updates Become a Collector Store Regular $150 Everything in VHS Collector Vote on future fighter concepts Prototype playtest access when available Early feedback surveys Become a Regular Cult Classic $500 Limited Everything in Store Regular Name in game credits Hidden easter egg<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-5762","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/keisho.biz\/ja\/wp-json\/wp\/v2\/pages\/5762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/keisho.biz\/ja\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/keisho.biz\/ja\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/keisho.biz\/ja\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/keisho.biz\/ja\/wp-json\/wp\/v2\/comments?post=5762"}],"version-history":[{"count":25,"href":"https:\/\/keisho.biz\/ja\/wp-json\/wp\/v2\/pages\/5762\/revisions"}],"predecessor-version":[{"id":5796,"href":"https:\/\/keisho.biz\/ja\/wp-json\/wp\/v2\/pages\/5762\/revisions\/5796"}],"wp:attachment":[{"href":"https:\/\/keisho.biz\/ja\/wp-json\/wp\/v2\/media?parent=5762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}