
:root{
  --jx-bg:#0b1714; --jx-surface:#122420; --jx-surface2:#183029; --jx-ink:#eef6f1; --jx-mute:#a9c4b9;
  --jx-line:#2b4b41; --jx-jade:#1f8a70; --jx-link:#5fd0b0; --jx-brass:#d9a62e; --jx-brass-ink:#1a1304;
  --jx-brass-dim:#8a6a1f; --jx-r:6px;
  --jx-f-th:"Taviraj",serif; --jx-f-disp:"Ultra",serif;
  --jx-s1:8px; --jx-s2:16px; --jx-s3:24px; --jx-s4:40px; --jx-s5:64px;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
html.jx-locked{overflow:hidden}
body{margin:0;overflow-x:clip;background:var(--jx-bg);color:var(--jx-ink);font-family:var(--jx-f-th);font-size:17.5px;line-height:1.85;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--jx-link);text-underline-offset:3px}
a:hover{color:var(--jx-ink)}
:focus-visible{outline:2px solid var(--jx-brass);outline-offset:2px}
h1,h2,h3{font-family:var(--jx-f-th);font-weight:700;line-height:1.35;margin:0;text-wrap:balance}
p{margin:0 0 var(--jx-s2)}
ul{margin:0;padding:0}
.jx-in{max-width:1180px;margin-inline:auto;padding-inline:20px}
.jx-narrow{max-width:880px}
.jx-skip{position:absolute;left:-999px;top:0;background:var(--jx-brass);color:var(--jx-brass-ink);padding:8px 14px;z-index:90}
.jx-skip:focus{left:8px}

/* topbar */
.jx-top{background:var(--jx-surface);border-bottom:1px solid var(--jx-line);font-size:13.5px;color:var(--jx-mute)}
.jx-top .jx-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:34px}
.jx-top p{margin:0;line-height:1.5;padding-block:5px}
.jx-top-age{border:1px solid var(--jx-brass-dim);color:var(--jx-brass);border-radius:3px;padding:0 8px;font-weight:600;line-height:1.5}

/* header */
.jx-head{position:sticky;top:0;z-index:50;background:var(--jx-bg);border-bottom:1px solid var(--jx-line)}
.jx-head.jx-stuck{border-bottom-color:var(--jx-brass-dim)}
.jx-head-row{display:flex;align-items:center;gap:24px;min-height:68px}
.jx-logo{text-decoration:none;color:var(--jx-ink);display:inline-flex;align-items:baseline;line-height:1;white-space:nowrap}
.jx-wm{display:inline-flex;align-items:baseline;gap:5px}
.jx-wm-th{font-family:var(--jx-f-th);font-weight:700;font-size:1.45rem;letter-spacing:.01em}
.jx-wm-n{font-family:var(--jx-f-disp);font-size:1.5rem;color:var(--jx-brass);letter-spacing:.02em}
.jx-menu{display:none;flex:1;align-items:center;justify-content:center;gap:4px}
.jx-menu a{color:var(--jx-ink);text-decoration:none;font-size:15.5px;padding:8px 12px;border-radius:var(--jx-r);white-space:nowrap;line-height:1.3}
.jx-menu a:hover{background:var(--jx-surface2)}
.jx-menu a[aria-current="page"]{color:var(--jx-brass);box-shadow:inset 0 -2px 0 var(--jx-brass)}
.jx-head-act{display:flex;align-items:center;gap:10px;margin-left:auto}
.jx-burger{width:44px;height:44px;border:1px solid var(--jx-line);border-radius:var(--jx-r);background:var(--jx-surface);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0}
.jx-burger span{display:block;width:20px;height:2px;background:var(--jx-ink)}
.jx-drawer{position:absolute;left:0;right:0;top:100%;background:var(--jx-surface);border-bottom:2px solid var(--jx-brass-dim);max-height:calc(100vh - 110px);overflow:auto}
.jx-drawer[hidden]{display:none}
.jx-drawer .jx-in{display:grid;gap:2px;padding-block:12px}
.jx-drawer a{color:var(--jx-ink);text-decoration:none;padding:12px 8px;border-bottom:1px solid var(--jx-line);font-size:16.5px;line-height:1.4}
.jx-drawer a.jx-btn{border-bottom:0;margin-top:10px;color:var(--jx-brass-ink);justify-content:center}

/* buttons */
.jx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 22px;border-radius:var(--jx-r);font-family:var(--jx-f-th);font-weight:700;font-size:16px;line-height:1.2;text-decoration:none;white-space:nowrap;border:1px solid transparent;cursor:pointer}
.jx-btn-gold{background:var(--jx-brass);color:var(--jx-brass-ink)}
.jx-btn-gold:hover{background:var(--jx-ink);color:var(--jx-brass-ink)}
.jx-btn-line{background:transparent;color:var(--jx-ink);border-color:var(--jx-brass-dim)}
.jx-btn-line:hover{border-color:var(--jx-brass);color:var(--jx-brass)}
.jx-btn-sm{min-height:40px;padding:6px 16px;font-size:15px}
.jx-btn:active{transform:translateY(1px)}

/* breadcrumbs */
.jx-crumbs{background:var(--jx-surface);border-bottom:1px solid var(--jx-line);font-size:14.5px;color:var(--jx-mute)}
.jx-crumbs .jx-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-block:9px;line-height:1.5}
.jx-crumbs a{color:var(--jx-link)}
.jx-crumbs i{font-style:normal;color:var(--jx-brass-dim)}

/* hero */
.jx-hero{padding-block:var(--jx-s4) var(--jx-s3);background:var(--jx-bg);border-bottom:1px solid var(--jx-line)}
.jx-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--jx-s4);align-items:center}
.jx-kicker{font-size:14.5px;color:var(--jx-brass);letter-spacing:.04em;margin-bottom:10px;font-weight:600}
.jx-hero h1{font-size:clamp(1.9rem,3.6vw,2.85rem);margin-bottom:var(--jx-s2)}
.jx-lead{color:var(--jx-mute);font-size:1.05rem;max-width:60ch}
.jx-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--jx-s3)}
.jx-hero-art{display:flex;justify-content:center}
.jx-vault{width:min(100%,360px);height:auto}
.jx-v-ring{fill:var(--jx-surface);stroke:var(--jx-brass-dim);stroke-width:2}
.jx-v-ring2{fill:none;stroke:var(--jx-line);stroke-width:2}
.jx-v-bolts circle{fill:var(--jx-brass-dim)}
.jx-v-door{fill:var(--jx-surface2);stroke:var(--jx-jade);stroke-width:3}
.jx-v-ticks path{stroke:var(--jx-mute);stroke-width:3;stroke-linecap:round;fill:none}
.jx-v-dial{fill:var(--jx-bg);stroke:var(--jx-brass);stroke-width:3}
.jx-v-handle path{stroke:var(--jx-brass);stroke-width:7;stroke-linecap:round;fill:none}
.jx-v-handle circle{fill:var(--jx-brass);stroke:var(--jx-brass-ink);stroke-width:3}
.jx-v-latch{fill:var(--jx-brass-dim)}
.jx-rules{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--jx-s2);margin-top:var(--jx-s4)}
.jx-rules li{border-top:3px solid var(--jx-brass);background:var(--jx-surface);padding:14px 18px 16px;display:grid;gap:4px;line-height:1.55}
.jx-rules strong{font-size:1.08rem}
.jx-rules span{color:var(--jx-mute);font-size:15.5px}

/* sections */
.jx-sec{padding-block:var(--jx-s5)}
.jx-sec-alt{background:var(--jx-surface);border-block:1px solid var(--jx-line)}
.jx-h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:var(--jx-s3);padding-left:18px;position:relative}
.jx-h2::before{content:"";position:absolute;left:0;top:.35em;width:8px;height:.9em;background:var(--jx-brass)}
.jx-note{color:var(--jx-mute);font-size:15.5px;margin-bottom:var(--jx-s3)}

/* door cards */
.jx-doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--jx-s3)}
.jx-door,.jx-kid{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--jx-ink);background:var(--jx-surface);border:1px solid var(--jx-line);outline:1px solid var(--jx-brass-dim);outline-offset:-7px;border-radius:var(--jx-r);padding:26px 22px}
.jx-door:hover,.jx-kid:hover{border-color:var(--jx-brass)}
.jx-door h2,.jx-door h3,.jx-kid h3{font-size:1.15rem;font-weight:700;font-size:1.15rem;color:var(--jx-ink)}
.jx-door p,.jx-kid p{margin:0;color:var(--jx-mute);font-size:15.5px;line-height:1.7}
.jx-door-go{margin-top:auto;color:var(--jx-brass);font-weight:600;font-size:15px}
.jx-kidgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--jx-s3)}

/* prose */
.jx-prose h2{font-size:clamp(1.4rem,2.4vw,1.85rem);margin:var(--jx-s4) 0 var(--jx-s2);padding-top:var(--jx-s2);border-top:1px solid var(--jx-line)}
.jx-prose h2:first-child{margin-top:0;border-top:0;padding-top:0}
.jx-prose h3{font-size:1.2rem;margin:var(--jx-s3) 0 10px}
.jx-prose p{max-width:70ch}
.jx-sec>.jx-prose{max-width:860px}
.jx-prose ul{padding-left:1.3em;margin-bottom:var(--jx-s2);max-width:70ch}
.jx-prose li{margin-bottom:6px}
.jx-prose table{border-collapse:collapse;width:100%;margin-bottom:var(--jx-s3);font-size:16px}
.jx-prose th,.jx-prose td{border:1px solid var(--jx-line);padding:10px 14px;text-align:left;vertical-align:top;line-height:1.6}
.jx-prose th{background:var(--jx-surface2)}
.jx-pagehead{padding-block:var(--jx-s4) var(--jx-s3);border-bottom:1px solid var(--jx-line);background:var(--jx-surface)}
.jx-pagehead h1{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-bottom:12px}
.jx-mid{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:var(--jx-s4) 0;padding:16px 20px;background:var(--jx-surface);border:1px solid var(--jx-line);border-left:6px solid var(--jx-brass);border-radius:var(--jx-r)}
.jx-mid p{margin:0}

/* games */
.jx-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--jx-s3);margin-bottom:var(--jx-s4)}
.jx-game{background:var(--jx-bg);border:1px solid var(--jx-line);outline:1px solid var(--jx-brass-dim);outline-offset:-6px;border-radius:var(--jx-r);padding:14px}
.jx-game-pic{aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--jx-surface2)}
.jx-game-pic img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.jx-game h3{font-size:1.1rem;margin:12px 0 2px;line-height:1.4}
.jx-game p{margin:0;color:var(--jx-mute);font-size:15px}
.jx-fh{font-weight:700;color:var(--jx-brass);font-size:1rem;margin-bottom:10px}
.jx-logos{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px;margin-bottom:var(--jx-s3)}
.jx-logos li{border:1px solid var(--jx-line);border-radius:var(--jx-r);overflow:hidden;background:var(--jx-bg);aspect-ratio:1/1}
.jx-logos img{width:100%;height:100%;object-fit:cover}
.jx-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--jx-s2)}
.jx-fig{margin:0;border:1px solid var(--jx-line);border-radius:var(--jx-r);padding:8px;background:var(--jx-bg)}
.jx-fig img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 30%;border-radius:4px}
.jx-fig figcaption{font-size:14px;color:var(--jx-mute);margin-top:8px;line-height:1.45}

/* terms */
.jx-terms{border-collapse:collapse;width:100%;margin-bottom:var(--jx-s3)}
.jx-terms th,.jx-terms td{border-bottom:1px solid var(--jx-line);padding:14px 12px;text-align:left;vertical-align:top;line-height:1.65}
.jx-terms th{width:26%;color:var(--jx-brass);font-weight:700}

/* faq */
.jx-faq{display:grid;gap:10px}
.jx-q{background:var(--jx-surface);border:1px solid var(--jx-line);border-radius:var(--jx-r)}
.jx-q summary{cursor:pointer;list-style:none;padding:16px 52px 16px 20px;font-weight:600;position:relative;line-height:1.55}
.jx-q summary::-webkit-details-marker{display:none}
.jx-q summary::after{content:"";position:absolute;right:20px;top:50%;width:10px;height:10px;border-right:2px solid var(--jx-brass);border-bottom:2px solid var(--jx-brass);transform:translateY(-70%) rotate(45deg)}
.jx-q[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.jx-q[open]{border-color:var(--jx-brass-dim)}
.jx-a{padding:0 20px 8px;color:var(--jx-mute)}

/* cta */
.jx-cta{background:var(--jx-surface2);border-top:2px solid var(--jx-brass);padding-block:var(--jx-s4)}
.jx-cta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--jx-s3);flex-wrap:wrap}
.jx-cta h2{font-size:1.5rem;margin-bottom:6px}
.jx-cta p{margin:0;color:var(--jx-mute);max-width:56ch}

/* footer */
.jx-foot{background:var(--jx-surface);border-top:1px solid var(--jx-line);padding-block:var(--jx-s4) var(--jx-s3);font-size:15.5px}
.jx-foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:var(--jx-s4)}
.jx-fcol{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.jx-fcol a{color:var(--jx-ink);text-decoration:none;line-height:1.5;padding-block:2px}
.jx-fcol a:hover{color:var(--jx-brass)}
.jx-fcol a.jx-btn{color:var(--jx-brass-ink)}
.jx-fcol a.jx-logo{padding:0}
.jx-fbrand p{color:var(--jx-mute);max-width:44ch}
.jx-rule3{margin-top:var(--jx-s4);padding:16px 20px;border:1px solid var(--jx-brass-dim);border-radius:var(--jx-r)}
.jx-rule3 .jx-fh{margin-bottom:6px}
.jx-rule3 ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 28px}
.jx-disc{margin:var(--jx-s3) 0 8px;color:var(--jx-mute);font-size:14.5px;line-height:1.7}
.jx-copy{margin:0;color:var(--jx-mute);font-size:14px}

/* bottom nav */
.jx-bnav{display:none}

@media (max-width:1020px){
  .jx-doors{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1021px){
  .jx-menu{display:flex}
  .jx-burger{display:none}
}
@media (max-width:820px){
  body{font-size:17px;padding-bottom:78px}
  .jx-top p{font-size:13px}
  .jx-hero-grid{grid-template-columns:minmax(0,1fr)}
  .jx-vault{width:min(70%,240px)}
  .jx-rules{grid-template-columns:minmax(0,1fr)}
  .jx-games{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--jx-s2)}
  .jx-game{padding:10px}
  .jx-kidgrid{grid-template-columns:minmax(0,1fr)}
  .jx-foot-grid{grid-template-columns:minmax(0,1fr)}
  .jx-sec{padding-block:var(--jx-s4)}
  .jx-terms th{width:34%}
  .jx-bnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--jx-surface);border-top:2px solid var(--jx-brass-dim);padding:6px 6px calc(6px + env(safe-area-inset-bottom));align-items:end}
  .jx-bnav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--jx-mute);text-decoration:none;font-size:13px;line-height:1.2;padding:6px 2px;min-height:48px}
  .jx-bnav a[aria-current="page"]{color:var(--jx-brass)}
  .jx-bnav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .jx-bnav-coin{color:var(--jx-brass)!important}
  .jx-coin{display:grid;place-items:center;width:46px;height:46px;margin-top:-22px;border-radius:50%;background:var(--jx-brass);border:3px solid var(--jx-bg);color:var(--jx-brass-ink)}
  .jx-coin svg{stroke:var(--jx-brass-ink)}
}
@media (max-width:420px){
  .jx-in{padding-inline:16px}
  .jx-wm-th{font-size:1.25rem}
  .jx-wm-n{font-size:1.3rem}
  .jx-head-row{gap:10px}
  .jx-btn-sm{padding-inline:12px}
  .jx-doors{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.jx-doors.jx-doors-one{grid-template-columns:minmax(0,1fr)!important}
.jx-doors-one+.jx-note{margin-top:18px}
