{"id":463,"date":"2026-03-03T15:14:07","date_gmt":"2026-03-03T15:14:07","guid":{"rendered":"https:\/\/grossenoix.com\/?page_id=463"},"modified":"2026-03-04T13:34:47","modified_gmt":"2026-03-04T13:34:47","slug":"jesters","status":"publish","type":"page","link":"https:\/\/grossenoix.com\/index.php\/jesters\/","title":{"rendered":"Jesters"},"content":{"rendered":"\n<style>\n#btj-app-wrapper { position: fixed; inset: 0; z-index: 999999; overflow-y: auto; background: #000; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: #efeaff; -webkit-tap-highlight-color: transparent; }\n#btj-app-wrapper * { box-sizing: border-box; }\n#btj-app-wrapper { --bg: #07060b; --text: #efeaff; --muted: #bdb4e6; --gold: #d6b46b; --purple: #a76bff; --purple2: #6f2dff; --ok: #4dffb3; --bad: #ff4d6d; --shadow: 0 18px 60px rgba(0,0,0,.55); --r: 20px; --r2: 16px; --footerH: 70px; }\n.bgMedia { position: fixed; inset: 0; z-index: 1; background: url('https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/b02.jpg') center\/cover no-repeat; transform: scale(1.05); transition: background-image 0.5s ease; }\n.bgShade { position: fixed; inset: 0; z-index: 2; background: radial-gradient(100vw 100vh at 50% 30%, rgba(167,107,255,.15), transparent 62%), linear-gradient(180deg, rgba(7,6,11,0.6) 0%, rgba(4,3,10,0.95) 100%); pointer-events: none; }\n.btj-wrap { position: relative; z-index: 10; max-width: 860px; margin: 0 auto; padding: 16px 12px calc(var(--footerH) + 20px); min-height: 100vh; display: flex; flex-direction: column; }\n.hud { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); background: rgba(7, 6, 11, 0.75); border-bottom: 1px solid rgba(255,255,255,.10); }\n.hudInner { max-width: 860px; margin: 0 auto; padding: 12px 16px; display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }\n.logo-container { display: flex; align-items: center; gap: 12px; flex: 1 1 100%; justify-content: center; }\n@media (min-width: 600px) { .logo-container { flex: 0 1 auto; justify-content: flex-start; } }\n.logo-img { height: 49px; width: auto; display: block; }\n.logo { font-weight: 950; letter-spacing: .10em; text-transform: uppercase; color: var(--gold); font-size: 14px; line-height: 1.15; text-shadow: 0 0 22px rgba(167,107,255,.18); }\n.logo span { display: block; margin-top: 2px; color: rgba(239,234,255,.78); letter-spacing: .20em; font-size: 9px; font-weight: 850; }\n.hudRight { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: center; width: 100%; }\n@media (min-width: 600px) { .hudRight { width: auto; justify-content: flex-end; } }\n.pill { border: 1px solid rgba(255,255,255,.12); background: rgba(20,16,39,.6); padding: 6px 10px; border-radius: 999px; color: var(--muted); font-size: 11px; display: flex; gap: 6px; align-items: center; justify-content: center; }\n.pill b { color: var(--text); }\n.pill-btn { cursor: pointer; transition: background 0.15s ease, border-color 0.15s ease; user-select: none; }\n.pill-btn:hover { background: rgba(167,107,255,.15); border-color: rgba(167,107,255,.35); }\n.pill-btn:active { background: rgba(167,107,255,.25); }\n.btj-btn { border: 1px solid rgba(167,107,255,.35); background: linear-gradient(180deg, rgba(167,107,255,.25), rgba(111,45,255,.20)); color: var(--text); padding: 12px 16px; border-radius: 12px; cursor: pointer; font-weight: 900; font-size: 14px; transition: transform .1s ease, border-color .15s ease, opacity .15s ease, background .15s ease; user-select: none; touch-action: manipulation; text-align: center; }\n.btj-btn:hover:not(:disabled) { transform: translateY(-1px); border-color: rgba(214,180,107,.55); background: linear-gradient(180deg, rgba(167,107,255,.35), rgba(111,45,255,.30)); }\n.btj-btn:active:not(:disabled) { transform: translateY(0); }\n.btj-btn.secondary { border-color: rgba(214,180,107,.35); background: linear-gradient(180deg, rgba(214,180,107,.20), rgba(20,16,39,.60)); }\n.btj-btn.ghost { background: transparent; border-color: rgba(255,255,255,.14); box-shadow: none; padding: 12px; }\n.btj-btn.full { width: 100%; margin-top: 12px; }\n.btj-btn:disabled { opacity: .4; cursor: not-allowed; }\n.card { margin: auto 0; border: 1px solid rgba(255,255,255,.12); background: rgba(10, 8, 16, 0.70); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: var(--r); box-shadow: var(--shadow); padding: 16px; position: relative; overflow: hidden; width: 100%; }\n.sectionTitle { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 10px; flex-wrap: wrap; }\n.sectionTitle h2 { margin: 0; font-size: 15px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); font-weight: 950; }\n.small { font-size: 13px; color: rgba(239,234,255,.7); line-height: 1.5; }\n.divider { height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent); margin: 16px 0; }\n.field { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }\n.field label { font-size: 11px; color: var(--muted); letter-spacing: .10em; text-transform: uppercase; font-weight: 950; }\n.field input, .field select { width: 100%; border-radius: 12px; border: 1px solid rgba(255,255,255,.15); background: rgba(0,0,0,0.4); color: var(--text); padding: 14px 12px; outline: none; font-size: 16px; transition: border-color 0.2s; }\n.field input:focus, .field select:focus { border-color: rgba(214,180,107,.55); }\n.row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; align-items: center; }\n.centerStage { display: grid; place-items: center; padding: 10px 0; text-align: center; }\n.heroTitle { font-size: clamp(24px, 6vw, 32px); font-weight: 950; margin: 0; letter-spacing: .02em; text-shadow: 0 4px 12px rgba(0,0,0,0.8); }\n.heroSub { margin: 8px 0 0; color: rgba(239,234,255,.9); font-size: clamp(14px, 3.5vw, 16px); line-height: 1.55; text-shadow: 0 2px 8px rgba(0,0,0,0.8); }\n.carousel-viewport { overflow: hidden; width: 100%; position: relative; }\n.carousel-track { display: flex; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1); width: 100%; }\n.slide { flex: 0 0 100%; width: 100%; padding: 4px; box-sizing: border-box; opacity: 0.4; transition: opacity 0.4s ease; }\n.slide.active { opacity: 1; }\n.creditBtns, .catBtns, .betBtns { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; margin-top: 12px; }\n.cbtn, .bbtn { border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 12px 10px; background: rgba(20,16,39,.5); text-align: center; cursor: pointer; user-select: none; transition: transform .10s ease, border-color .15s ease, background .15s ease; touch-action: manipulation; }\n.cbtn:hover, .bbtn:hover { transform: translateY(-2px); border-color: rgba(214,180,107,.40); }\n.cbtn.active, .bbtn.active { border-color: rgba(214,180,107,.75); background: rgba(214,180,107,.20); box-shadow: 0 0 12px rgba(214,180,107,.15); }\n.cbtn .k { font-size: 10px; color: rgba(239,234,255,.7); letter-spacing: .12em; text-transform: uppercase; font-weight: 950; }\n.cbtn .v { margin-top: 6px; font-weight: 950; font-size: 15px; color: var(--text); }\n.cbtn .n { margin-top: 6px; font-size: 11px; color: rgba(239,234,255,.5); line-height: 1.4; }\n.bbtn { font-size: 15px; font-weight: 950; }\n.jesterGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-top: 12px; }\n.jesterTile { border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 12px; background: rgba(20,16,39,.5); cursor: pointer; transition: transform .10s ease, border-color .15s ease, background .15s ease; position: relative; overflow: hidden; user-select: none; touch-action: manipulation; display: flex; flex-direction: column; justify-content: space-between; }\n.jesterTile:hover { transform: translateY(-2px); border-color: rgba(214,180,107,.45); }\n.jesterTile.active { border-color: rgba(214,180,107,.75); background: rgba(214,180,107,.15); box-shadow: 0 0 15px rgba(214,180,107,.1); }\n.jesterTile .k { font-size: 10px; color: rgba(239,234,255,.6); letter-spacing: .12em; text-transform: uppercase; font-weight: 950; }\n.jesterTile .v { margin-top: 4px; font-weight: 950; color: var(--gold); font-size: 14px; }\n.jesterTile .n { margin-top: 4px; font-size: 11px; color: rgba(239,234,255,.8); line-height: 1.4; flex-grow: 1; }\n.jMedia { margin-top: 10px; border-radius: 10px; overflow: hidden; display: block; aspect-ratio: 1\/1; }\n.jMedia img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% top; }\n.jm-video { width: 100%; aspect-ratio: 16\/9; background: #000; border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); margin-top: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); }\n#jmMainImg { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; object-position: center 10%; margin: 0 auto 16px; border: 3px solid var(--gold); box-shadow: 0 8px 24px rgba(214,180,107,0.3); display: block; }\n.recap { border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 16px; background: rgba(0,0,0,.4); line-height: 1.6; color: rgba(239,234,255,.9); font-size: 13px; margin-top: 16px; }\n.recap .line { display: flex; justify-content: space-between; gap: 10px; margin-top: 8px; border-bottom: 1px solid rgba(255,255,255,.05); padding-bottom: 6px; }\n.recap .line:last-child { border-bottom: none; padding-bottom: 0; }\n.recap .line span:first-child { color: rgba(239,234,255,.6); font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 800; }\n.recap .line span:last-child { color: var(--gold); font-weight: 950; }\n.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }\n.kpi { border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 12px; background: rgba(20,16,39,.5); text-align: center; }\n.kpi .k { font-size: 10px; color: rgba(239,234,255,.6); letter-spacing: .10em; text-transform: uppercase; font-weight: 950; }\n.kpi .v { margin-top: 6px; font-size: 16px; font-weight: 950; color: var(--gold); }\n.arena { margin-top: 16px; border: 1px dashed rgba(214,180,107,.30); border-radius: 16px; padding: 16px; background: rgba(0,0,0,.2); }\n.hr { height: 8px; border-radius: 999px; background: rgba(255,255,255,.1); overflow: hidden; border: 1px solid rgba(255,255,255,.05); margin-top: 10px; }\n.barFill { height: 100%; width: 0%; background: linear-gradient(90deg, rgba(167,107,255,0.5), rgba(214,180,107,.9)); transition: width .3s ease; }\n.sbEvent { border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 16px; background: rgba(0,0,0,.4); }\n.sbTitle { font-weight: 950; font-size: 15px; color: var(--text); line-height: 1.4; margin-bottom: 12px; }\n.oddsRow { display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); gap: 8px; }\n.oddBtn { border: 1px solid rgba(255,255,255,.15); border-radius: 12px; padding: 10px 6px; text-align: center; background: rgba(255,255,255,.05); cursor: pointer; transition: all .15s ease; user-select: none; touch-action: manipulation; }\n.oddBtn:hover { border-color: rgba(214,180,107,.50); background: rgba(255,255,255,.1); }\n.oddBtn.active { border-color: rgba(214,180,107,.80); background: rgba(214,180,107,.25); box-shadow: 0 0 10px rgba(214,180,107,.2); }\n.oddBtn .k { font-size: 10px; color: rgba(239,234,255,.6); letter-spacing: .05em; text-transform: uppercase; font-weight: 900; }\n.oddBtn .v { margin-top: 4px; font-weight: 950; color: var(--text); font-size: 13px; }\n.timerText { font-size: 14px; color: var(--gold); font-weight: 800; text-align: center; background: rgba(0,0,0,0.5); padding: 12px; border-radius: 12px; border: 1px dashed rgba(214,180,107,0.3); }\n.winOverlay { position: fixed; inset: 0; z-index: 1000000; display: none; place-items: center; background: radial-gradient(100vw 100vh at 50% 50%, rgba(77,255,179,.15), rgba(0,0,0,.85)); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }\n.winOverlay.on { display: grid; }\n.winCard { width: min(400px, 90vw); border-radius: 24px; border: 1px solid rgba(77,255,179,.3); background: rgba(10,8,16,.9); box-shadow: 0 20px 80px rgba(0,0,0,.8); padding: 32px 24px; position: relative; overflow: hidden; text-align: center; animation: pop .3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }\n@keyframes pop { from { transform: scale(.8); opacity: 0; } to { transform: scale(1); opacity: 1; } }\n.winCard h3 { margin: 0; font-size: 28px; font-weight: 950; color: var(--ok); }\n.winCard p { margin: 12px 0 0; color: var(--text); line-height: 1.55; font-size: 16px; }\n.modalMask { position: fixed; inset: 0; background: rgba(0,0,0,.85); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); display: none; align-items: center; justify-content: center; padding: 16px; z-index: 1000000; }\n.modalMask.on { display: flex; }\n.btj-modal { width: min(900px, 100%); border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: rgba(10,8,16,.95); box-shadow: 0 24px 80px rgba(0,0,0,.8); overflow: hidden; display: flex; flex-direction: column; max-height: 90vh; }\n.modalHead { padding: 16px 20px; border-bottom: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; align-items: center; background: rgba(0,0,0,0.3); }\n.modalHead b { font-size: 14px; color: var(--gold); letter-spacing: 0.1em; text-transform: uppercase; }\n.modalBody { padding: 20px; overflow-y: auto; flex-grow: 1; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }\n.closeX { cursor: pointer; background: rgba(255,255,255,.1); padding: 8px 14px; border-radius: 8px; font-size: 11px; font-weight: bold; color: var(--text); text-transform: uppercase; touch-action: manipulation; transition: background 0.2s; }\n.closeX:hover { background: rgba(255,77,109,.2); color: var(--bad); }\n.adminShell { display: grid; grid-template-columns: 200px 1fr; gap: 16px; }\n@media(max-width: 700px) { .adminShell { grid-template-columns: 1fr; } }\n.adminNav { border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(0,0,0,.3); overflow: hidden; align-self: start; }\n.navItem { padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.05); cursor: pointer; color: rgba(239,234,255,.7); font-size: 12px; font-weight: 800; text-transform: uppercase; transition: background .12s ease; touch-action: manipulation; }\n.navItem:hover { background: rgba(167,107,255,.10); }\n.navItem.active { background: rgba(214,180,107,.15); color: var(--gold); border-left: 3px solid var(--gold); }\n.navItem:last-child { border-bottom: none; }\n.adminMain { border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(0,0,0,.3); padding: 16px; }\n.adminGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n@media(max-width: 600px) { .adminGrid { grid-template-columns: 1fr; } }\n.footer { position: fixed; left: 0; right: 0; bottom: 0; height: var(--footerH); z-index: 20; border-top: 1px solid rgba(255,255,255,.10); background: rgba(7,6,11,.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); display: flex; flex-direction: column; justify-content: center; }\n.footerInner { max-width: 860px; margin: 0 auto; width: 100%; padding: 10px 16px; display: flex; gap: 12px; align-items: center; justify-content: space-between; }\n.progWrap { flex: 1; width: 100%; }\n.progLine { height: 8px; border-radius: 999px; background: rgba(255,255,255,.10); overflow: hidden; }\n.progFill { height: 100%; width: 0%; background: linear-gradient(90deg, var(--purple), var(--gold)); transition: width .3s ease; }\n.progLbl { display: flex; justify-content: space-between; gap: 8px; margin-top: 6px; font-size: 10px; color: rgba(239,234,255,.6); letter-spacing: .12em; text-transform: uppercase; font-weight: 900; }\n<\/style>\n\n<div id=\"btj-app-wrapper\">\n  <div class=\"bgMedia\" id=\"bgMedia\"><\/div>\n  <div class=\"bgShade\"><\/div>\n\n  <div class=\"hud\">\n    <div class=\"hudInner\">\n      <div class=\"logo-container\">\n        <img decoding=\"async\" src=\"https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/logo-web01.png\" alt=\"Beat The Jesters Logo\" class=\"logo-img\" id=\"mainLogoImg\">\n        <div class=\"logo\">BEAT THE JESTERS <span>Event &amp; Eventualities<\/span><\/div>\n      <\/div>\n      <div class=\"hudRight\">\n        <div class=\"pill\">User: <b id=\"uiUser\">Guest<\/b><\/div>\n        <div class=\"pill\">Credits: <b id=\"uiCredits\">0<\/b><\/div>\n        <div class=\"pill pill-btn\" id=\"btnAddCredits\" style=\"color:var(--gold); border-color:rgba(214,180,107,0.3);\">+ Add Credits<\/div>\n        <button type=\"button\" class=\"btj-btn ghost\" id=\"btnReset\" style=\"padding: 6px 12px; font-size: 12px;\">Reset<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"btj-wrap\">\n    \n    <section class=\"card\" id=\"secWelcome\">\n      <div class=\"centerStage\">\n        <div style=\"width:min(440px,100%);\">\n          <h1 class=\"heroTitle\">Welcome.<\/h1>\n          <p class=\"heroSub\">Register and select your demo bankroll.<\/p>\n          <p class=\"small\" style=\"color:var(--muted); margin-bottom: 24px;\">Face off against rogue AI Jesters by predicting dynamic events to multiply your bankroll.<\/p>\n          <div class=\"divider\"><\/div>\n          <div class=\"field\" style=\"text-align:left;\">\n            <label>1. Username<\/label>\n            <input type=\"text\" id=\"inUser\" placeholder=\"e.g. GrosseNoix\" maxlength=\"24\">\n          <\/div>\n          <div class=\"field\" style=\"text-align:left; margin-top:30px;\">\n            <label>2. Select Demo Bankroll<\/label>\n            <div class=\"creditBtns\" id=\"creditBtns\"><\/div>\n          <\/div>\n          <div class=\"row\" style=\"margin-top:32px;\">\n            <button type=\"button\" class=\"btj-btn full\" id=\"btnNext1\" disabled=\"\">Lock In &amp; Continue \u2192<\/button>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section class=\"card\" id=\"secChoices\" style=\"display:none; padding:12px 0;\">\n      <div class=\"carousel-viewport\" id=\"choicesViewport\">\n        <div class=\"carousel-track\" id=\"choicesTrack\">\n          \n          <div class=\"slide active\" id=\"slideTarget\">\n            <div style=\"padding:0 16px;\">\n              <div class=\"sectionTitle\"><h2>Step 2: Choose Your Target<\/h2><span class=\"tag\" style=\"font-size:11px; color:var(--muted); border: 1px solid rgba(255,255,255,.12); padding: 4px 8px; border-radius: 999px; background: rgba(0,0,0,.4);\">Modifiers<\/span><\/div>\n              <div class=\"small\">Each Jester manipulates the odds and payouts differently. Click a Jester to view their full profile, stats, and lock in your choice.<\/div>\n              <div class=\"jesterGrid\" id=\"jGrid\"><\/div>\n              <div class=\"divider\"><\/div>\n              <div class=\"row\" style=\"flex-wrap: nowrap;\">\n                 <button type=\"button\" class=\"btj-btn ghost\" onclick=\"setTab('welcome')\" style=\"padding: 12px 8px;\">\u2190 Back to Setup<\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"slide\" id=\"slideBet\">\n            <div style=\"padding:0 16px;\">\n              <div class=\"sectionTitle\"><h2>Step 3: Bet Amount<\/h2><\/div>\n              <div class=\"betBtns\" id=\"betBtns\"><\/div>\n              <div class=\"field\" style=\"margin-top:40px;\">\n                <label>Select Challenge Category<\/label>\n                <div class=\"catBtns\" id=\"catBtns\"><\/div>\n              <\/div>\n              <div class=\"divider\" style=\"margin-top:40px;\"><\/div>\n              <div class=\"row\" style=\"flex-wrap: nowrap; margin-top:30px;\">\n                 <button type=\"button\" class=\"btj-btn ghost\" onclick=\"slideTo(0)\" style=\"padding: 12px 8px;\">\u2190 Back<\/button>\n                 <button type=\"button\" class=\"btj-btn secondary\" style=\"flex:1\" id=\"btnNextBet\" disabled=\"\">Next: Review Recap \u2192<\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"slide\" id=\"slideRecap\">\n            <div style=\"padding:0 16px;\">\n              <div class=\"sectionTitle\"><h2>Step 4: Challenge Recap<\/h2><\/div>\n              <div class=\"small\">Review your challenge details before engaging.<\/div>\n              <div class=\"recap\" id=\"recapBox\" style=\"margin-top:20px;\">Complete earlier steps.<\/div>\n              <div class=\"row\" style=\"flex-wrap: nowrap; margin-top:30px;\">\n                 <button type=\"button\" class=\"btj-btn ghost\" onclick=\"slideTo(1)\" style=\"padding: 12px 8px;\">\u2190 Back<\/button>\n                 <button type=\"button\" class=\"btj-btn\" style=\"flex:1\" id=\"btnAccept\" disabled=\"\">Accept Challenge<\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <section class=\"card\" id=\"secGames\" style=\"display:none\">\n      <div class=\"sectionTitle\">\n        <h2>Live Action<\/h2>\n        <span id=\"runTag\" style=\"background:var(--gold); color:#000; border:none; font-weight:900; font-size:11px; padding: 4px 8px; border-radius: 999px;\">IDLE<\/span>\n      <\/div>\n      <div class=\"small\" id=\"runIntro\">Challenge loaded. Make your predictions for all 3 events to initiate the sequence.<\/div>\n      <div class=\"arena\">\n        <div class=\"small\" style=\"font-weight:700; color:var(--text);\">Challenge Progress<\/div>\n        <div class=\"hr\"><div class=\"barFill\" id=\"pBar\"><\/div><\/div>\n        \n        <div id=\"eventsContainer\" style=\"display:grid; gap:16px; margin-top: 16px;\"><\/div>\n\n        <div style=\"margin-top: 24px;\">\n          <button type=\"button\" class=\"btj-btn full\" id=\"btnMasterConfirm\" style=\"display:none;\">Confirm Predictions<\/button>\n          <button type=\"button\" class=\"btj-btn secondary full\" id=\"btnMasterSettle\" style=\"display:none; border-color:var(--ok); color:var(--ok);\">Settle Results<\/button>\n        <\/div>\n\n        <div class=\"row\" style=\"margin-top: 16px;\">\n          <button type=\"button\" class=\"btj-btn ghost full\" style=\"border:1px solid rgba(255,255,255,0.2);\" id=\"btnRestart\">Cancel &#8211; Start again<\/button>\n        <\/div>\n        \n        <div class=\"kpis\" style=\"margin-top: 24px;\">\n          <div class=\"kpi\"><div class=\"k\">Event Steps<\/div><div class=\"v\" id=\"kSteps\">\u2014<\/div><\/div>\n          <div class=\"kpi\"><div class=\"k\">Potential Mult.<\/div><div class=\"v\" id=\"kMult\">\u2014<\/div><\/div>\n          <div class=\"kpi\"><div class=\"k\">Potential Win<\/div><div class=\"v\" id=\"kPay\">\u2014<\/div><\/div>\n          <div class=\"kpi\"><div class=\"k\">Category<\/div><div class=\"v\" id=\"kCat\" style=\"font-size:14px; margin-top:8px;\">\u2014<\/div><\/div>\n        <\/div>\n\n      <\/div>\n    <\/section>\n\n  <\/div>\n\n  <div class=\"footer\">\n    <div class=\"footerInner\">\n      <div class=\"progWrap\">\n        <div class=\"progLine\"><div class=\"progFill\" id=\"progFill\"><\/div><\/div>\n        <div class=\"progLbl\">\n          <span id=\"progLeft\">Setup<\/span>\n          <span id=\"progRight\">0%<\/span>\n        <\/div>\n      <\/div>\n      <button type=\"button\" class=\"btj-btn ghost\" id=\"btnOpenAdmin\" style=\"padding:6px 12px; font-size:11px; opacity:0.8;\">Admin<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"modalMask\" id=\"addCreditsMask\">\n    <div class=\"btj-modal\" style=\"max-width: 400px;\">\n      <div class=\"modalHead\">\n        <b style=\"color:var(--gold);\">Top Up Credits<\/b>\n        <div class=\"closeX\" id=\"addCreditsClose\">Close<\/div>\n      <\/div>\n      <div class=\"modalBody\">\n        <div class=\"small\" style=\"margin-bottom:16px;\">Select a demo package to add to your current balance.<\/div>\n        <div class=\"creditBtns\" id=\"modalCreditBtns\"><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"modalMask\" id=\"jmMask\">\n    <div class=\"btj-modal\" style=\"max-width: 440px;\">\n      <div class=\"modalHead\">\n        <b id=\"jmTitle\" style=\"color:#fff;\">Jester Profile<\/b>\n        <div class=\"closeX\" id=\"jmClose\">Close<\/div>\n      <\/div>\n      <div class=\"modalBody\" style=\"text-align: center; padding-top: 24px;\">\n        <img id=\"jmMainImg\">\n        <h3 id=\"jmZone\" style=\"margin: 0 0 12px; color: var(--gold); text-transform: uppercase; font-size: 13px; letter-spacing: 0.15em; font-weight: 950;\"><\/h3>\n        <p id=\"jmDesc\" style=\"font-size: 14px; line-height: 1.5; color: rgba(239,234,255,.9); margin: 0 auto 20px; max-width: 90%;\"><\/p>\n        <div style=\"display:flex; gap:12px; justify-content:center; margin-bottom: 24px;\">\n          <div class=\"pill\">Prob Mod: <b id=\"jmPMod\"><\/b><\/div>\n          <div class=\"pill\">Payout Mod: <b id=\"jmMMod\"><\/b><\/div>\n        <\/div>\n        <div class=\"jm-video\">\n          <video id=\"jmVideoPlayer\" src=\"\" controls=\"\" style=\"width:100%; height:100%; object-fit: cover;\"><\/video>\n        <\/div>\n        <div class=\"row\" style=\"margin-top:24px; flex-wrap:nowrap; gap:10px;\">\n          <button type=\"button\" class=\"btj-btn secondary\" id=\"btnJmNextJester\" style=\"flex:1;\">Next Jester \u27f3<\/button>\n          <button type=\"button\" class=\"btj-btn\" id=\"btnJmSelect\" style=\"flex:1;\">Select<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"winOverlay\" id=\"winOverlay\">\n    <div class=\"winCard\">\n      <h3 id=\"winTitle\">Victory<\/h3>\n      <p id=\"winText\">You cleared the events.<\/p>\n      <div class=\"row\" style=\"justify-content:center;margin-top:24px\">\n        <button type=\"button\" class=\"btj-btn\" id=\"btnWinClose\" style=\"width:100%;\">Claim &amp; Continue<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"modalMask\" id=\"adminMask\">\n    <div class=\"btj-modal\">\n      <div class=\"modalHead\">\n        <b>Admin Control Panel<\/b>\n        <div class=\"closeX\" id=\"adminClose\">Close<\/div>\n      <\/div>\n      <div class=\"modalBody\">\n        <div id=\"adminLoginView\">\n          <div class=\"small\" style=\"margin-bottom:12px;\">Enter backend access code to modify simulation math and assets.<\/div>\n          <div class=\"field\">\n            <label>Password<\/label>\n            <input type=\"password\" id=\"adminPass\" placeholder=\"Enter password...\">\n          <\/div>\n          <button type=\"button\" class=\"btj-btn secondary\" id=\"btnAdminLogin\" style=\"margin-top:12px;\">Unlock<\/button>\n          <div class=\"toast bad\" id=\"adminMsg\" style=\"display:none;\"><\/div>\n        <\/div>\n        <div id=\"adminDashView\" style=\"display:none;\">\n          <div class=\"adminShell\">\n            <div class=\"adminNav\" id=\"adminNav\">\n              <div class=\"navItem active\" data-pane=\"pane_tuning\">Global Math<\/div>\n              <div class=\"navItem\" data-pane=\"pane_assets\">Global Media Links<\/div>\n              <div class=\"navItem\" data-pane=\"pane_jesters\">Jester Modifiers &amp; Media<\/div>\n            <\/div>\n            <div class=\"adminMain\">\n              \n              <div id=\"pane_tuning\" class=\"adminPane\">\n                <div class=\"sectionTitle\"><h2>Global Math<\/h2><\/div>\n                <div class=\"adminGrid\">\n                  <div class=\"field\"><label>Base Win Prob (Standard)<\/label><input type=\"number\" step=\"0.05\" id=\"cfgBaseProb\"><\/div>\n                  <div class=\"field\"><label>Base Win Prob (Ultimate)<\/label><input type=\"number\" step=\"0.05\" id=\"cfgUltProb\"><\/div>\n                <\/div>\n              <\/div>\n\n              <div id=\"pane_assets\" class=\"adminPane\" style=\"display:none;\">\n                <div class=\"sectionTitle\"><h2>Global Media Links<\/h2><\/div>\n                <div class=\"small\" style=\"margin-bottom:12px; color:var(--muted);\">Paste direct image\/video URLs here (e.g., from your WordPress Media Library).<\/div>\n                <div class=\"field\"><label>Main Logo Link (URL)<\/label><input type=\"text\" id=\"cfgLogoUrl\"><\/div>\n                <div class=\"field\"><label>App Background Link (URL)<\/label><input type=\"text\" id=\"cfgBgUrl\"><\/div>\n              <\/div>\n\n              <div id=\"pane_jesters\" class=\"adminPane\" style=\"display:none;\">\n                <div class=\"sectionTitle\"><h2>Jester Modifiers &amp; Media<\/h2><\/div>\n                <div class=\"small\" style=\"margin-bottom:12px; color:var(--muted);\">Modify multiplier stats and paste media links for each individual Jester.<\/div>\n                <div id=\"adminJestersList\"><\/div>\n              <\/div>\n              \n              <div class=\"divider\"><\/div>\n              <button type=\"button\" class=\"btj-btn full\" id=\"btnAdminSave\">Save &amp; Apply Changes<\/button>\n              <div class=\"toast ok\" id=\"adminSaveMsg\" style=\"display:none;\">Settings applied successfully.<\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n\/\/ DEFAULT CFG UPDATED TO INCLUDE LOGO AND VIDEOS\nconst DEFAULT_CFG={\n  logoUrl: \"https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/logo-web01.png\",\n  bgUrl: \"https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/b02.jpg\",\n  baseProb: 0.50,\n  ultProb: 0.33,\n  jesters:{\n    \"money\":{id:\"money\",zone:\"Money Zone\",name:\"Cash Harvester\",desc:\"Aggressive: Boosts payouts (1.2x), lowers win prob slightly.\",pMod:0.90,multMod:1.2,media:\"https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/J01.png\",video:\"https:\/\/www.w3schools.com\/html\/mov_bbb.mp4\"},\n    \"chips\":{id:\"chips\",zone:\"Chip Arena\",name:\"Stack Architect\",desc:\"Control: Adds to win probability, smaller multipliers.\",pMod:1.15,multMod:0.85,media:\"https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/J02.png\",video:\"https:\/\/www.w3schools.com\/html\/mov_bbb.mp4\"},\n    \"cards\":{id:\"cards\",zone:\"Card Dominion\",name:\"Probability Dealer\",desc:\"Variance: Random multiplier swings.\",pMod:1.0,multMod:1.5,media:\"https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/J03.png\",video:\"https:\/\/www.w3schools.com\/html\/mov_bbb.mp4\"},\n    \"vip\":{id:\"vip\",zone:\"VIP Vault\",name:\"Gatekeeper\",desc:\"Premium: Balanced difficulty, solid baseline payouts.\",pMod:1.05,multMod:1.05,media:\"https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/J04.png\",video:\"https:\/\/www.w3schools.com\/html\/mov_bbb.mp4\"},\n    \"supreme\":{id:\"supreme\",zone:\"Purple Core\",name:\"Jester Supreme\",desc:\"Ultimate: Massive multipliers, extreme difficulty penalty.\",pMod:0.75,multMod:2.2,media:\"https:\/\/grossenoix.com\/wp-content\/uploads\/2026\/03\/J05.png\",video:\"https:\/\/www.w3schools.com\/html\/mov_bbb.mp4\"}\n  }\n};\nconst CATEGORIES=[{id:\"insolite\",name:\"Insolite\",desc:\"Unusual & Quirky Events\"},{id:\"sports\",name:\"Sports\",desc:\"Classic Matches & Tourneys\"},{id:\"entertainment\",name:\"Media\",desc:\"Pop Culture & Awards\"},{id:\"ultimate\",name:\"Ultimate\",desc:\"High Risk, Max Reward\"}];\nconst EVENT_POOLS={insolite:[{title:\"Alien Contact Confirmed by 2027\",optA:\"Yes\",optB:\"No\",optD:\"Cover-up\"},{title:\"CEO Fights a Bear on TV\",optA:\"CEO Wins\",optB:\"Bear Wins\",optD:\"Cancel\"},{title:\"Time Traveler Revealed\",optA:\"True\",optB:\"Hoax\",optD:\"Undecided\"}],sports:[{title:\"Montreal vs Toronto\",optA:\"Montreal\",optB:\"Toronto\",optD:\"Draw\"},{title:\"Boston vs New York\",optA:\"Boston\",optB:\"New York\",optD:\"Draw\"},{title:\"Global Finals Championship\",optA:\"Team Alpha\",optB:\"Team Omega\",optD:\"Overtime\"}],entertainment:[{title:\"Next James Bond Actor\",optA:\"British\",optB:\"American\",optD:\"Other\"},{title:\"Oscar Best Picture\",optA:\"Drama Film\",optB:\"Sci-Fi Epic\",optD:\"Indie Surprise\"},{title:\"Reality TV Finale\",optA:\"Contestant 1\",optB:\"Contestant 2\",optD:\"Twist\"}]};\nconst CREDIT_PACKS=[{usd:25,credits:2500},{usd:50,credits:6000},{usd:100,credits:15000}];\nconst BETS=[{v:5,l:\"5 Cr\"},{v:10,l:\"10 Cr\"},{v:25,l:\"25 Cr\"},{v:50,l:\"50 Cr\"},{v:100,l:\"100 Cr\"},{v:1000,l:\"MAX 1k\"}];\nconst SKEY=\"btj_diapo_v15\";\nfunction load(){try{const r=localStorage.getItem(SKEY);return r?JSON.parse(r):null;}catch(e){return null;}}\nfunction save(){try{localStorage.setItem(SKEY,JSON.stringify(state));}catch(e){}render();}\nlet state=load()||{tab:\"welcome\",user:null,credits:0,creditPack:null,jesterId:null,bet:null,category:null,bundle:null,run:null,adminUnlocked:false};\nif(!state.cfg){state.cfg=JSON.parse(JSON.stringify(DEFAULT_CFG));}\n\/\/ Force-patch existing saves to ensure they have the new video & logo fields\nif(!state.cfg.logoUrl) state.cfg.logoUrl = DEFAULT_CFG.logoUrl;\nObject.values(state.cfg.jesters).forEach(j => { if(!j.video) j.video = DEFAULT_CFG.jesters[j.id].video; });\n\nfunction selectedJester(){return state.cfg.jesters[state.jesterId]||null;}\nfunction selectedCat(){return CATEGORIES.find(c=>c.id===state.category)||null;}\nconst ui={bgMedia:document.getElementById(\"bgMedia\"),mainLogoImg:document.getElementById(\"mainLogoImg\"),uiUser:document.getElementById(\"uiUser\"),uiCredits:document.getElementById(\"uiCredits\"),secWelcome:document.getElementById(\"secWelcome\"),secChoices:document.getElementById(\"secChoices\"),secGames:document.getElementById(\"secGames\"),inUser:document.getElementById(\"inUser\"),choicesTrack:document.getElementById(\"choicesTrack\"),creditBtns:document.getElementById(\"creditBtns\"),btnNext1:document.getElementById(\"btnNext1\"),jGrid:document.getElementById(\"jGrid\"),betBtns:document.getElementById(\"betBtns\"),catBtns:document.getElementById(\"catBtns\"),btnNextBet:document.getElementById(\"btnNextBet\"),recapBox:document.getElementById(\"recapBox\"),btnAccept:document.getElementById(\"btnAccept\"),runTag:document.getElementById(\"runTag\"),runIntro:document.getElementById(\"runIntro\"),kSteps:document.getElementById(\"kSteps\"),kMult:document.getElementById(\"kMult\"),kPay:document.getElementById(\"kPay\"),kCat:document.getElementById(\"kCat\"),pBar:document.getElementById(\"pBar\"),eventsContainer:document.getElementById(\"eventsContainer\"),btnMasterConfirm:document.getElementById(\"btnMasterConfirm\"),btnMasterSettle:document.getElementById(\"btnMasterSettle\"),btnRestart:document.getElementById(\"btnRestart\"),progFill:document.getElementById(\"progFill\"),progLeft:document.getElementById(\"progLeft\"),progRight:document.getElementById(\"progRight\"),winOverlay:document.getElementById(\"winOverlay\"),winTitle:document.getElementById(\"winTitle\"),winText:document.getElementById(\"winText\"),btnWinClose:document.getElementById(\"btnWinClose\"),};\nlet currentSlide=0;\nfunction slideTo(idx){currentSlide=idx;const slides=document.querySelectorAll(\".slide\");slides.forEach((s,i)=>{s.classList.toggle(\"active\",i===idx);});ui.choicesTrack.style.transform=`translateX(-${idx*100}%)`;renderProgress();}\nfunction canOpenTarget(){return !!state.user&&!!state.creditPack;}\nfunction canOpenBet(){return canOpenTarget()&&!!state.jesterId;}\nfunction canOpenRecap(){return canOpenBet()&&!!state.bet&&!!state.category;}\nfunction canOpenGames(){return !!state.bundle;}\nfunction setTab(tab){if(tab===\"choices\"&&!canOpenTarget())return;if(tab===\"games\"&&!canOpenGames())return;state.tab=tab;save();if(tab===\"choices\")setTimeout(()=>slideTo(0),50);}\ndocument.getElementById(\"btnReset\").onclick=()=>{localStorage.removeItem(SKEY);location.reload();};\nfunction checkWelcomeComplete(){const u=(ui.inUser.value||\"\").trim();ui.btnNext1.disabled=!(u.length>=2&&state.creditPack);}\nui.inUser.addEventListener(\"input\",checkWelcomeComplete);\nfunction buildCreditBtns(){ui.creditBtns.innerHTML=\"\";CREDIT_PACKS.forEach(p=>{const b=document.createElement(\"div\");b.className=\"cbtn\"+(state.creditPack?.usd===p.usd?\" active\":\"\");b.innerHTML=`<div class=\"k\">$${p.usd} Demo<\/div><div class=\"v\">${p.credits.toLocaleString()} Cr<\/div>`;b.onclick=()=>{state.creditPack=p;checkWelcomeComplete();buildCreditBtns();};ui.creditBtns.appendChild(b);});}\ndocument.getElementById(\"btnAddCredits\").onclick=()=>{if(!state.user)return alert(\"Register first to add credits.\");const modalBtns=document.getElementById(\"modalCreditBtns\");modalBtns.innerHTML=\"\";CREDIT_PACKS.forEach(p=>{const b=document.createElement(\"div\");b.className=\"cbtn\";b.innerHTML=`<div class=\"k\">$${p.usd} Demo<\/div><div class=\"v\">${p.credits.toLocaleString()} Cr<\/div>`;b.onclick=()=>{state.credits+=p.credits;document.getElementById(\"addCreditsMask\").classList.remove(\"on\");save();};modalBtns.appendChild(b);});document.getElementById(\"addCreditsMask\").classList.add(\"on\");};\ndocument.getElementById(\"addCreditsClose\").onclick=()=>document.getElementById(\"addCreditsMask\").classList.remove(\"on\");\nui.btnNext1.onclick=()=>{state.user=ui.inUser.value.trim();if(state.credits===0)state.credits=state.creditPack.credits;state.tab=\"choices\";save();slideTo(0);};\nlet currentJesterKeys=[];let currentJesterIdx=0;let currentViewedJester=null;\nfunction openJesterModal(idx){currentJesterIdx=idx;const key=currentJesterKeys[idx];const j=state.cfg.jesters[key];currentViewedJester=j;document.getElementById(\"jmTitle\").textContent=j.name;document.getElementById(\"jmMainImg\").src=j.media;document.getElementById(\"jmZone\").textContent=j.zone;document.getElementById(\"jmDesc\").textContent=j.desc;document.getElementById(\"jmPMod\").textContent=`x${j.pMod}`;document.getElementById(\"jmMMod\").textContent=`x${j.multMod}`;document.getElementById(\"jmVideoPlayer\").src=j.video||\"https:\/\/www.w3schools.com\/html\/mov_bbb.mp4\";}\nfunction buildJesters(){ui.jGrid.innerHTML=\"\";currentJesterKeys=Object.keys(state.cfg.jesters);currentJesterKeys.forEach((key,idx)=>{const j=state.cfg.jesters[key];const t=document.createElement(\"div\");t.className=\"jesterTile\"+(state.jesterId===j.id?\" active\":\"\");t.innerHTML=`<div class=\"k\">${j.zone}<\/div><div class=\"v\">${j.name}<\/div><div class=\"n\">${j.desc}<\/div><div class=\"jMedia\"><img decoding=\"async\" src=\"${j.media}\" alt=\"${j.name}\"><\/div>`;t.onclick=()=>{openJesterModal(idx);document.getElementById(\"jmMask\").classList.add(\"on\");};ui.jGrid.appendChild(t);});}\ndocument.getElementById(\"jmClose\").onclick=()=>document.getElementById(\"jmMask\").classList.remove(\"on\");\ndocument.getElementById(\"btnJmNextJester\").onclick=()=>{let nxt=currentJesterIdx+1;if(nxt>=currentJesterKeys.length)nxt=0;openJesterModal(nxt);};\ndocument.getElementById(\"btnJmSelect\").onclick=()=>{if(currentViewedJester){state.jesterId=currentViewedJester.id;save();document.getElementById(\"jmMask\").classList.remove(\"on\");slideTo(1);}};\nfunction checkBetComplete(){ui.btnNextBet.disabled=!(state.bet&&state.category&&state.bet<=state.credits);}\nfunction buildBetBtns(){ui.betBtns.innerHTML=\"\";BETS.forEach(b=>{const btn=document.createElement(\"div\");btn.className=\"bbtn\"+(state.bet===b.v?\" active\":\"\");btn.textContent=b.l;btn.onclick=()=>{if(state.credits<b.v)return alert(\"Insufficient credits. Click '+ Add Credits' in the top right.\");state.bet=b.v;checkBetComplete();save();};ui.betBtns.appendChild(btn);});}\nfunction buildCatBtns(){ui.catBtns.innerHTML=\"\";CATEGORIES.forEach(c=>{const b=document.createElement(\"div\");b.className=\"cbtn\"+(state.category===c.id?\" active\":\"\");b.innerHTML=`<div class=\"k\">Module<\/div><div class=\"v\">${c.name}<\/div><div class=\"n\">${c.desc}<\/div>`;b.onclick=()=>{state.category=c.id;checkBetComplete();save();};ui.catBtns.appendChild(b);});}\nui.btnNextBet.onclick=()=>{slideTo(2);};\nfunction canAccept(){return state.credits>0&&state.jesterId&&state.bet&&state.category&&state.bet<=state.credits;}\nui.btnAccept.onclick=()=>{if(!canAccept())return;const j=selectedJester(),c=selectedCat();const density=3;state.credits-=state.bet;let baseMult=c.id===\"ultimate\"?15:8;if(j.id===\"cards\")baseMult*=(0.5+Math.random()*2);else baseMult*=Number(j.multMod);const payout=Math.round(state.bet*baseMult);const pool=c.id===\"ultimate\"?[...EVENT_POOLS.insolite,...EVENT_POOLS.sports,...EVENT_POOLS.entertainment]:EVENT_POOLS[c.id];const shuffledPool=[...pool].sort(()=>0.5-Math.random());const selectedEvents=shuffledPool.slice(0,density);const steps=[];for(let i=0;i<density;i++)steps.push({idx:i+1,result:\"pending\"});state.bundle={jester:j,category:c,bet:state.bet,density,mult:baseMult.toFixed(1),payout,steps,events:selectedEvents};state.run={status:\"picking\",cursor:0,wonSteps:0,picks:[null,null,null]};setTab(\"games\");};\nui.btnRestart.onclick=()=>{state.bundle=null;state.run=null;state.bet=null;state.category=null;state.tab=\"choices\";save();slideTo(0);};\nui.btnMasterConfirm.onclick=()=>{state.run.status=\"simulating\";ui.btnMasterConfirm.style.display=\"none\";ui.btnRestart.disabled=true;let timers=[Math.floor(Math.random()*8)+3,Math.floor(Math.random()*8)+3,Math.floor(Math.random()*8)+3];for(let i=0;i<3;i++){const row=document.getElementById(\"oddsRow_\"+i);const tmr=document.getElementById(\"timer_\"+i);if(row)row.style.display=\"none\";if(tmr){tmr.style.display=\"block\";tmr.textContent=`Simulating... ${timers[i]}s`;}}let simInt=setInterval(()=>{let allDone=true;for(let i=0;i<3;i++){const tmr=document.getElementById(\"timer_\"+i);if(timers[i]>0){timers[i]--;allDone=false;if(tmr)tmr.textContent=`Simulating... ${timers[i]}s`;}else{if(tmr)tmr.textContent=\"Processing Complete.\";}}if(allDone){clearInterval(simInt);state.run.status=\"ready_to_settle\";save();}},1000);};\nui.btnMasterSettle.onclick=()=>{const b=state.bundle;const r=state.run;let winProb=(b.category.id===\"ultimate\")?Number(state.cfg.ultProb):Number(state.cfg.baseProb);winProb*=Number(b.jester.pMod);let wonAll=true;for(let i=0;i<3;i++){let isWin=Math.random()<=winProb;b.steps[i].result=isWin?\"Win\":\"Failed\";if(isWin){r.wonSteps++;}else{wonAll=false;}}r.cursor=3;if(wonAll){r.status=\"won\";state.credits+=b.payout;ui.winText.textContent=`You beat ${b.jester.name}. +${b.payout.toLocaleString()} Credits`;ui.winOverlay.classList.add(\"on\");}else{r.status=\"lost\";setTimeout(()=>{alert(\"Prediction Failed on one or more events. Challenge over.\");},100);}save();};\nui.btnWinClose.onclick=()=>{ui.winOverlay.classList.remove(\"on\");save();};\nfunction renderProgress(){let pct=0,left=\"Setup\";if(state.tab===\"welcome\"){pct=15;left=\"Setup\";}if(state.tab===\"choices\"&&currentSlide===0){pct=35;left=\"Target\";}if(state.tab===\"choices\"&&currentSlide===1){pct=55;left=\"Bet Amount\";}if(state.tab===\"choices\"&&currentSlide===2){pct=75;left=\"Challenge Recap\";}if(state.tab===\"games\"){pct=100;left=\"Action\";}ui.progFill.style.width=pct+\"%\";ui.progLeft.textContent=left;ui.progRight.textContent=Math.round(pct)+\"%\";}\nconst adminMask=document.getElementById(\"adminMask\");const adminLoginView=document.getElementById(\"adminLoginView\");const adminDashView=document.getElementById(\"adminDashView\");const adminMsg=document.getElementById(\"adminMsg\");\ndocument.getElementById(\"btnOpenAdmin\").onclick=()=>{adminMask.classList.add(\"on\");};\ndocument.getElementById(\"adminClose\").onclick=()=>{adminMask.classList.remove(\"on\");};\ndocument.getElementById(\"btnAdminLogin\").onclick=()=>{const pass=document.getElementById(\"adminPass\").value;if(pass===\"2469\"){state.adminUnlocked=true;adminLoginView.style.display=\"none\";adminDashView.style.display=\"block\";populateAdmin();}else{adminMsg.style.display=\"block\";adminMsg.textContent=\"Incorrect password.\";}};\ndocument.querySelectorAll(\".navItem\").forEach(nav=>{nav.onclick=(e)=>{document.querySelectorAll(\".navItem\").forEach(n=>n.classList.remove(\"active\"));document.querySelectorAll(\".adminPane\").forEach(p=>p.style.display=\"none\");e.target.classList.add(\"active\");document.getElementById(e.target.dataset.pane).style.display=\"block\";};});\nfunction populateAdmin(){document.getElementById(\"cfgBaseProb\").value=state.cfg.baseProb;document.getElementById(\"cfgUltProb\").value=state.cfg.ultProb;document.getElementById(\"cfgBgUrl\").value=state.cfg.bgUrl;document.getElementById(\"cfgLogoUrl\").value=state.cfg.logoUrl;const jl=document.getElementById(\"adminJestersList\");jl.innerHTML=\"\";Object.values(state.cfg.jesters).forEach(j=>{const wrap=document.createElement(\"div\");wrap.style.borderBottom=\"1px solid rgba(255,255,255,0.1)\";wrap.style.paddingBottom=\"12px\";wrap.style.marginBottom=\"12px\";wrap.innerHTML=`<b style=\"color:var(--gold); display:block; margin-bottom:8px;\">${j.name} (${j.id})<\/b><div class=\"adminGrid\"><div class=\"field\"><label>Win Prob Mod (x)<\/label><input type=\"number\" step=\"0.05\" id=\"pmod_${j.id}\" value=\"${j.pMod}\"><\/div><div class=\"field\"><label>Payout Mult Mod (x)<\/label><input type=\"number\" step=\"0.05\" id=\"mmod_${j.id}\" value=\"${j.multMod}\"><\/div><div class=\"field\" style=\"grid-column: 1 \/ -1;\"><label>Profile Image Link (URL)<\/label><input type=\"text\" id=\"img_${j.id}\" value=\"${j.media}\"><\/div><div class=\"field\" style=\"grid-column: 1 \/ -1;\"><label>Video Link (URL)<\/label><input type=\"text\" id=\"vid_${j.id}\" value=\"${j.video||''}\"><\/div><\/div>`;jl.appendChild(wrap);});}\ndocument.getElementById(\"btnAdminSave\").onclick=()=>{state.cfg.baseProb=parseFloat(document.getElementById(\"cfgBaseProb\").value);state.cfg.ultProb=parseFloat(document.getElementById(\"cfgUltProb\").value);state.cfg.bgUrl=document.getElementById(\"cfgBgUrl\").value;state.cfg.logoUrl=document.getElementById(\"cfgLogoUrl\").value;Object.keys(state.cfg.jesters).forEach(id=>{state.cfg.jesters[id].pMod=parseFloat(document.getElementById(`pmod_${id}`).value);state.cfg.jesters[id].multMod=parseFloat(document.getElementById(`mmod_${id}`).value);state.cfg.jesters[id].media=document.getElementById(`img_${id}`).value;state.cfg.jesters[id].video=document.getElementById(`vid_${id}`).value;});document.getElementById(\"adminSaveMsg\").style.display=\"block\";setTimeout(()=>document.getElementById(\"adminSaveMsg\").style.display=\"none\",3000);save();};\nfunction render(){ui.bgMedia.style.backgroundImage=`url('${state.cfg.bgUrl}')`;ui.mainLogoImg.src=state.cfg.logoUrl;ui.secWelcome.style.display=(state.tab===\"welcome\")?\"block\":\"none\";ui.secChoices.style.display=(state.tab===\"choices\")?\"block\":\"none\";ui.secGames.style.display=(state.tab===\"games\")?\"block\":\"none\";ui.uiUser.textContent=state.user||\"Guest\";if(state.user&&!ui.inUser.value)ui.inUser.value=state.user;ui.uiCredits.textContent=(state.credits||0).toLocaleString();renderProgress();if(state.tab===\"welcome\"){buildCreditBtns();checkWelcomeComplete();}if(state.tab===\"choices\"){buildJesters();buildBetBtns();buildCatBtns();checkBetComplete();const j=selectedJester(),c=selectedCat(),betOk=state.bet&&state.bet<=state.credits;ui.btnAccept.disabled=!canAccept();ui.recapBox.innerHTML=`<div class=\"line\"><span>Bankroll<\/span><span>${(state.credits||0).toLocaleString()} cr<\/span><\/div><div class=\"line\"><span>Target<\/span><span>${j?j.name:\"&mdash;\"}<\/span><\/div><div class=\"line\"><span>Category<\/span><span>${c?c.name:\"&mdash;\"}<\/span><\/div><div class=\"line\"><span>Stake<\/span><span>${state.bet||\"&mdash;\"} cr ${betOk?\"\":\"(Insufficient)\"}<\/span><\/div>`;}if(state.tab===\"games\"){const b=state.bundle,r=state.run;if(!b||!r)return;if(r.status===\"simulating\"){r.status=\"ready_to_settle\";}ui.runTag.textContent=r.status.toUpperCase();ui.runTag.style.background=r.status===\"picking\"?\"var(--gold)\":r.status===\"won\"?\"var(--ok)\":r.status===\"lost\"?\"var(--bad)\":\"var(--muted)\";ui.kSteps.textContent=b.density;ui.kMult.textContent=\"x\"+b.mult;ui.kPay.textContent=b.payout.toLocaleString()+\" cr\";ui.kCat.textContent=b.category.name;ui.pBar.style.width=((r.cursor\/b.density)*100)+\"%\";ui.eventsContainer.innerHTML=\"\";b.events.forEach((evt,i)=>{const box=document.createElement(\"div\");box.className=\"sbEvent\";const title=document.createElement(\"div\");title.className=\"sbTitle\";title.textContent=`Event #${i+1}: ${evt.title}`;box.appendChild(title);if(r.status===\"picking\"){const row=document.createElement(\"div\");row.className=\"oddsRow\";row.id=\"oddsRow_\"+i;[\"A\",\"B\",\"D\"].forEach(k=>{const lbl=k===\"A\"?evt.optA:k===\"B\"?evt.optB:evt.optD;const btn=document.createElement(\"div\");btn.className=\"oddBtn\"+(r.picks[i]===k?\" active\":\"\");btn.innerHTML=`<div class=\"k\">Select<\/div><div class=\"v\">${lbl}<\/div>`;btn.onclick=()=>{r.picks[i]=k;save();};row.appendChild(btn);});box.appendChild(row);const tmr=document.createElement(\"div\");tmr.className=\"timerText\";tmr.id=\"timer_\"+i;tmr.style.display=\"none\";box.appendChild(tmr);}else{const tmr=document.createElement(\"div\");tmr.className=\"timerText\";tmr.id=\"timer_\"+i;if(r.status===\"ready_to_settle\"){tmr.textContent=\"Simulation Complete\";}else if(r.status===\"won\"||r.status===\"lost\"){tmr.textContent=\"Result: \"+b.steps[i].result;tmr.style.color=b.steps[i].result===\"Win\"?\"var(--ok)\":\"var(--bad)\";tmr.style.borderColor=b.steps[i].result===\"Win\"?\"rgba(77,255,179,0.3)\":\"rgba(255,77,109,0.3)\";}box.appendChild(tmr);}ui.eventsContainer.appendChild(box);});if(r.status===\"picking\"){ui.btnMasterConfirm.style.display=\"block\";ui.btnMasterConfirm.disabled=!r.picks.every(p=>p!==null);ui.btnMasterSettle.style.display=\"none\";ui.btnRestart.disabled=false;ui.btnRestart.textContent=\"Cancel - Start again\";}else if(r.status===\"ready_to_settle\"){ui.btnMasterConfirm.style.display=\"none\";ui.btnMasterSettle.style.display=\"block\";ui.btnMasterSettle.disabled=false;ui.btnRestart.disabled=true;}else if(r.status===\"won\"||r.status===\"lost\"){ui.btnMasterConfirm.style.display=\"none\";ui.btnMasterSettle.style.display=\"none\";ui.btnRestart.disabled=false;ui.btnRestart.textContent=\"Try Again\";}}if(state.adminUnlocked){adminLoginView.style.display=\"none\";adminDashView.style.display=\"block\";}}\nrender();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-blank-landingpage.php","meta":{"footnotes":""},"class_list":["post-463","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/grossenoix.com\/index.php\/wp-json\/wp\/v2\/pages\/463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grossenoix.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/grossenoix.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/grossenoix.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/grossenoix.com\/index.php\/wp-json\/wp\/v2\/comments?post=463"}],"version-history":[{"count":11,"href":"https:\/\/grossenoix.com\/index.php\/wp-json\/wp\/v2\/pages\/463\/revisions"}],"predecessor-version":[{"id":492,"href":"https:\/\/grossenoix.com\/index.php\/wp-json\/wp\/v2\/pages\/463\/revisions\/492"}],"wp:attachment":[{"href":"https:\/\/grossenoix.com\/index.php\/wp-json\/wp\/v2\/media?parent=463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}