/* FM.COM — one-page welcome / game v1. Sits inside the existing blue homepage. */
.fmcom-entry,.fmcom-entry *{box-sizing:border-box}
.fmcom-entry{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100svh;padding:clamp(75px,10vh,130px) 26px;background:linear-gradient(135deg,#193477 0%,#2444af 53%,#293f91 100%);color:#fff;font-family:'Poppins',sans-serif;overflow:hidden}
.fmcom-entry::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.52) .65px,transparent .75px),radial-gradient(circle at 88% 15%,rgba(214,197,255,.16),transparent 38%);background-size:25px 25px,100% 100%;opacity:.23}
.fmcom-entry::after{content:"";position:absolute;z-index:0;pointer-events:none;width:min(70vw,660px);aspect-ratio:1;right:-21%;bottom:-52%;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.fmcom-entry__inner{position:relative;z-index:1;width:min(100%,850px);text-align:center}
.fmcom-entry__eyebrow{font:600 clamp(10px,1.2vw,12px)/1.65 'Poppins',sans-serif!important;text-transform:uppercase;letter-spacing:.16em;color:#d6c5ff!important;margin:0 0 24px!important}
.fmcom-entry__name{font:700 clamp(46px,8vw,104px)/1.07 'Poppins',sans-serif!important;letter-spacing:-.055em;color:#fff!important;margin:0!important}
.fmcom-entry__name span,.fmcom-entry__game h2 span{color:var(--fmcom-orange,#ff7b37)}
.fmcom-entry__intro{font:400 clamp(15px,2vw,19px)/1.7 'Poppins',sans-serif!important;color:#dfe6ff!important;margin:20px 0 42px!important}
.fmcom-entry__choices{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:13px}
.fmcom-entry__choice{appearance:none;display:inline-flex!important;align-items:center;justify-content:center;gap:24px;min-height:57px;min-width:215px;padding:14px 20px!important;border:1px solid rgba(255,255,255,.36)!important;border-radius:13px!important;box-shadow:none!important;background:rgba(255,255,255,.075)!important;color:#fff!important;text-decoration:none!important;font:600 14px/1.4 'Poppins',sans-serif!important;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.fmcom-entry__choice--primary{background:var(--fmcom-orange,#ff7b37)!important;color:#14275e!important;border-color:var(--fmcom-orange,#ff7b37)!important}
.fmcom-entry__choice--primary:hover{background:#fff57c!important;border-color:#fff57c!important;color:#14275e!important}
.fmcom-entry__choice--secondary:hover{background:rgba(255,255,255,.17)!important;border-color:rgba(255,255,255,.75)!important;color:#fff!important}
.fmcom-entry__choice:hover{transform:translateY(-2px)}
.fmcom-entry__choice-icon{font-size:23px;line-height:1}
.fmcom-entry__choice:focus-visible,.fmcom-entry__back:focus-visible,.fmcom-entry__start:focus-visible,.fmcom-entry__spark:focus-visible{outline:3px solid #fff57c!important;outline-offset:4px!important}
.fmcom-entry__game[hidden],.fmcom-entry__spark[hidden],.fmcom-entry__start[hidden],.fmcom-entry__game-idle[hidden]{display:none!important}
.fmcom-entry__game{max-width:670px;text-align:left;margin:38px auto 0;padding:clamp(17px,3vw,27px);background:rgba(7,24,77,.48);border:1px solid rgba(255,255,255,.22);border-radius:19px;box-shadow:0 21px 50px rgba(3,15,53,.18)}
.fmcom-entry__game-top{display:flex;align-items:start;justify-content:space-between;gap:15px}
.fmcom-entry__game-kicker{font:600 10px/1.5 'Poppins',sans-serif!important;letter-spacing:.12em;text-transform:uppercase;color:#d6c5ff!important;margin:0 0 6px!important}
.fmcom-entry__game h2{font:700 clamp(25px,4vw,36px)/1.2 'Poppins',sans-serif!important;letter-spacing:-.035em;color:#fff!important;margin:0!important;padding:0!important}
.fmcom-entry__instructions{font:400 12px/1.7 'Poppins',sans-serif!important;color:#dce5ff!important;margin:10px 0 16px!important}
.fmcom-entry__back{appearance:none;display:inline-flex!important;align-items:center;gap:8px;background:transparent!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:9px!important;padding:8px 12px!important;color:#fff!important;font:500 12px/1.4 'Poppins',sans-serif!important;cursor:pointer}
.fmcom-entry__back:hover{background:rgba(255,255,255,.13)!important}
.fmcom-entry__stats{display:flex;align-items:center;gap:26px;padding:0 2px 11px}
.fmcom-entry__stats p{color:#dce5ff!important;font:500 12px/1.5 'Poppins',sans-serif!important;margin:0!important}
.fmcom-entry__stats strong{color:#fff;font-size:22px;font-weight:700;display:inline-block;min-width:1.6em;text-align:center;margin-left:6px}
.fmcom-entry__arena{position:relative;height:clamp(230px,30vh,315px);border-radius:13px;border:1px solid rgba(255,255,255,.17);background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.08),rgba(4,21,72,.3));overflow:hidden}
.fmcom-entry__spark{position:absolute!important;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:65px!important;height:65px!important;min-width:65px!important;min-height:65px!important;padding:0!important;border:6px solid rgba(255,255,255,.26)!important;border-radius:50%!important;background:var(--fmcom-orange,#ff7b37)!important;box-shadow:0 0 0 8px rgba(var(--fmcom-orange-rgb,255,123,55),.10),0 10px 22px rgba(0,0,0,.20)!important;cursor:pointer;touch-action:manipulation}
.fmcom-entry__spark:hover{background:#fff57c!important}
.fmcom-entry__game-idle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;text-align:center;padding:12px;pointer-events:none}
.fmcom-entry__game-idle p{font:500 16px/1.5 'Poppins',sans-serif!important;color:#fff!important;margin:0!important;max-width:90%}
.fmcom-entry__start{appearance:none;pointer-events:auto;min-height:44px;background:var(--fmcom-orange,#ff7b37)!important;color:#132861!important;border:0!important;border-radius:9px!important;padding:10px 20px!important;font:600 13px/1.4 'Poppins',sans-serif!important;cursor:pointer}
.fmcom-entry__start:hover{background:#fff57c!important}
.fmcom-entry__noscript{color:#dce5ff!important;font-size:12px!important;margin:15px 0 0!important}
#fmcom-hero{scroll-margin-top:0}
@media(max-width:600px){
 .fmcom-entry{min-height:100svh;padding:80px 20px 60px}
 .fmcom-entry__eyebrow{letter-spacing:.085em}
 .fmcom-entry__intro{margin:14px 0 30px!important}
 .fmcom-entry__choices{flex-direction:column}
 .fmcom-entry__choice{width:min(100%,315px);justify-content:space-between}
 .fmcom-entry__game{margin-top:25px}
 .fmcom-entry__game h2{font-size:26px!important}
 .fmcom-entry__arena{height:250px}
}
@media(prefers-reduced-motion:reduce){.fmcom-entry__choice{transition:none}.fmcom-entry__choice:hover{transform:none}}


/* FM.COM gate + Top 10 v2: one WordPress document, two mutually exclusive views. */
html.fmcom-gate-active,html.fmcom-gate-active body.home{height:100%!important;overflow:hidden!important;overscroll-behavior:none}
html.fmcom-gate-active body.home #page-container,
html.fmcom-gate-active body.home #main-content{height:100vh!important;height:100dvh!important;overflow:hidden!important}
html.fmcom-gate-active body.home .fmcom-landing > :not(#fmcom-start){display:none!important}
html.fmcom-gate-active body.home #main-footer,
html.fmcom-gate-active body.home .et-l--footer,
html.fmcom-gate-active body.home .et_pb_scroll_top{display:none!important}
html.fmcom-portfolio-open body.home #fmcom-start{display:none!important}
html.fmcom-gate-active body.home .fmcom-entry{height:100vh;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
html.fmcom-gate-active body.home .fmcom-entry.is-playing{padding-top:24px;padding-bottom:24px}
.fmcom-entry.is-playing .fmcom-entry__eyebrow,
.fmcom-entry.is-playing .fmcom-entry__name,
.fmcom-entry.is-playing .fmcom-entry__intro,
.fmcom-entry.is-playing .fmcom-entry__choices{display:none!important}
.fmcom-entry.is-playing .fmcom-entry__game{margin:0 auto}
.fmcom-entry__record-form[hidden],.fmcom-entry__board-empty[hidden]{display:none!important}
.fmcom-entry__status{min-height:21px;margin:11px 0 4px!important;font:500 12px/1.6 'Poppins',sans-serif!important;color:#fff2c6!important}
.fmcom-entry__leaderboard{margin-top:22px;padding-top:19px;border-top:1px solid rgba(255,255,255,.18)}
.fmcom-entry__leaderboard-header{display:flex;align-items:center;justify-content:space-between;gap:14px}
.fmcom-entry__leaderboard h3{font:700 19px/1.3 'Poppins',sans-serif!important;color:#fff!important;margin:0!important;padding:0!important}
.fmcom-entry__refresh{background:transparent!important;color:#dce5ff!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:7px!important;padding:7px 11px!important;font:500 11px/1.5 'Poppins',sans-serif!important;cursor:pointer}
.fmcom-entry__refresh:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
.fmcom-entry__refresh:focus-visible,.fmcom-entry__submit:focus-visible,.fmcom-entry__record-form input:focus-visible{outline:3px solid #fff57c!important;outline-offset:3px!important}
.fmcom-entry__board-empty{font:400 12px/1.7 'Poppins',sans-serif!important;color:#dce5ff!important;margin:15px 0 0!important}
.fmcom-entry__ranking{list-style:none!important;counter-reset:none!important;padding:0!important;margin:12px 0 0!important;display:grid;gap:0}
.fmcom-entry__ranking li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:39px;padding:8px 5px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font:400 12px/1.45 'Poppins',sans-serif}
.fmcom-entry__ranking li:last-child{border-bottom:0}
.fmcom-entry__rank{color:var(--fmcom-orange,#ff7b37);font:700 12px/1.4 'Poppins',sans-serif}
.fmcom-entry__who{display:flex;min-width:0;gap:4px 10px;align-items:baseline;flex-wrap:wrap}
.fmcom-entry__who strong{font-weight:600;overflow-wrap:anywhere}
.fmcom-entry__who small{font-size:10px;color:#c8d4ff}
.fmcom-entry__record-score{font-size:15px;color:#fff57c}
.fmcom-entry__record-form{margin-top:14px;padding:17px;background:rgba(var(--fmcom-orange-rgb,255,123,55),.12);border:1px solid rgba(var(--fmcom-orange-rgb,255,123,55),.42);border-radius:13px}
.fmcom-entry__record-form h3{font:700 19px/1.35 'Poppins',sans-serif!important;color:#fff!important;margin:0 0 7px!important;padding:0!important}
.fmcom-entry__record-form p{font:400 12px/1.6 'Poppins',sans-serif!important;color:#e7ebff!important;margin:0 0 13px!important}
.fmcom-entry__record-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.fmcom-entry__record-fields label{display:flex;flex-direction:column;gap:6px;font:600 11px/1.5 'Poppins',sans-serif;color:#fff}
.fmcom-entry__record-fields input{box-sizing:border-box!important;width:100%;min-height:43px!important;padding:9px 11px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:8px!important;background:#f8f9ff!important;color:#162b63!important;font:400 13px/1.4 'Poppins',sans-serif!important;box-shadow:none!important}
.fmcom-entry__record-form .fmcom-entry__privacy{font-size:10px!important;color:#d6dfff!important}
.fmcom-entry__privacy a{color:#fff57c!important;text-decoration:underline!important}
.fmcom-entry__submit{min-height:42px!important;padding:10px 18px!important;border:0!important;border-radius:8px!important;background:var(--fmcom-orange,#ff7b37)!important;color:#132861!important;font:600 12px/1.5 'Poppins',sans-serif!important;cursor:pointer}
.fmcom-entry__submit:hover{background:#fff57c!important}
.fmcom-entry__submit:disabled,.fmcom-entry__start:disabled{opacity:.60;cursor:wait}
@media(max-width:600px){
  html.fmcom-gate-active body.home .fmcom-entry.is-playing{padding:15px 10px 24px}
  .fmcom-entry.is-playing .fmcom-entry__game{padding:15px 12px}
  .fmcom-entry__record-fields{grid-template-columns:1fr}
  .fmcom-entry__who small{display:block;flex-basis:100%}
  .fmcom-entry__ranking li{grid-template-columns:24px minmax(0,1fr) auto}
}


/* FM.COM viewport-lock fix v2.1 — only the entry screen is fixed; the portfolio remains normally scrollable. */
html.fmcom-gate-active body.home #fmcom-start.fmcom-entry {
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:clamp(24px,5vh,62px) 24px!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  z-index:9999!important;
}
html.fmcom-gate-active body.home #fmcom-start.fmcom-entry.is-playing {
  display:block!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:24px 15px!important;
  overscroll-behavior:contain!important;
}
html.fmcom-gate-active body.home #fmcom-start:not(.is-playing) .fmcom-entry__inner {margin:auto}
@media(max-width:600px) {
  html.fmcom-gate-active body.home #fmcom-start.fmcom-entry:not(.is-playing) {
    padding:24px 16px!important;
  }
  html.fmcom-gate-active body.home #fmcom-start.fmcom-entry.is-playing {
    padding:12px 10px 24px!important;
  }
}
@media(max-height:540px) {
  html.fmcom-gate-active body.home #fmcom-start:not(.is-playing) .fmcom-entry__eyebrow {margin-bottom:8px!important}
  html.fmcom-gate-active body.home #fmcom-start:not(.is-playing) .fmcom-entry__intro {margin:8px 0 17px!important}
  html.fmcom-gate-active body.home #fmcom-start:not(.is-playing) .fmcom-entry__name {font-size:clamp(37px,7.5vh,56px)!important}
  html.fmcom-gate-active body.home #fmcom-start:not(.is-playing) .fmcom-entry__choice {min-height:46px;padding:8px 15px!important}
}


/* FM.COM fullscreen game layout v2.2 — centered game, large arena, side leaderboard. */
html.fmcom-gate-active body.home #fmcom-start.fmcom-entry.is-playing {
  display:flex!important;
  align-items:safe center!important;
  justify-content:center!important;
  padding:clamp(12px,2.3vh,28px) clamp(12px,2vw,34px)!important;
}
html.fmcom-gate-active body.home #fmcom-start.fmcom-entry.is-playing .fmcom-entry__inner {
  display:block;
  flex:0 1 1260px;
  width:100%!important;
  max-width:1260px!important;
  min-width:0;
  margin:auto!important;
}
html.fmcom-gate-active body.home #fmcom-start.fmcom-entry.is-playing .fmcom-entry__game {
  display:grid!important;
  grid-template-columns:minmax(0,1.8fr) minmax(265px,.78fr);
  grid-template-areas:
    "head head"
    "instructions board"
    "stats board"
    "arena board"
    "status board"
    "form board";
  grid-template-rows:auto auto auto minmax(300px,auto) auto auto;
  gap:8px clamp(18px,3vw,42px);
  align-items:start;
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:clamp(18px,2.8vw,35px)!important;
  border-radius:22px;
}
.fmcom-entry.is-playing .fmcom-entry__game-top {grid-area:head;align-self:center;padding-bottom:7px}
.fmcom-entry.is-playing .fmcom-entry__game h2 {font-size:clamp(27px,3vw,42px)!important}
.fmcom-entry.is-playing .fmcom-entry__instructions {grid-area:instructions;margin:0 0 8px!important}
.fmcom-entry.is-playing .fmcom-entry__stats {grid-area:stats;gap:32px;padding:0 0 9px}
.fmcom-entry.is-playing .fmcom-entry__arena {
  grid-area:arena;
  width:100%;
  height:clamp(330px,47dvh,560px);
  border-radius:15px;
}
.fmcom-entry.is-playing .fmcom-entry__spark {
  width:clamp(65px,6vw,88px)!important;
  height:clamp(65px,6vw,88px)!important;
  min-width:65px!important;
  min-height:65px!important;
}
.fmcom-entry.is-playing .fmcom-entry__status {grid-area:status;margin:6px 0 0!important}
.fmcom-entry.is-playing .fmcom-entry__record-form {grid-area:form;margin:0}
.fmcom-entry.is-playing .fmcom-entry__leaderboard {
  grid-area:board;
  align-self:stretch;
  min-width:0;
  height:100%;
  margin:0;
  padding:8px 0 0 clamp(17px,2vw,33px);
  border-top:0;
  border-left:1px solid rgba(255,255,255,.18);
}
.fmcom-entry.is-playing .fmcom-entry__leaderboard h3 {font-size:clamp(20px,2vw,25px)!important}
.fmcom-entry.is-playing .fmcom-entry__ranking {margin-top:17px!important}
.fmcom-entry.is-playing .fmcom-entry__ranking li {min-height:44px;gap:8px}
@media(max-width:850px) {
  html.fmcom-gate-active body.home #fmcom-start.fmcom-entry.is-playing {
    display:block!important;
    padding:15px 12px 24px!important;
  }
  html.fmcom-gate-active body.home #fmcom-start.fmcom-entry.is-playing .fmcom-entry__inner {
    max-width:660px!important;
    margin-inline:auto!important;
  }
  html.fmcom-gate-active body.home #fmcom-start.fmcom-entry.is-playing .fmcom-entry__game {
    display:flex!important;
    flex-direction:column;
    gap:0;
    padding:clamp(15px,3.5vw,26px)!important;
    border-radius:17px;
  }
  .fmcom-entry.is-playing .fmcom-entry__game-top,
  .fmcom-entry.is-playing .fmcom-entry__instructions,
  .fmcom-entry.is-playing .fmcom-entry__stats,
  .fmcom-entry.is-playing .fmcom-entry__arena,
  .fmcom-entry.is-playing .fmcom-entry__status,
  .fmcom-entry.is-playing .fmcom-entry__record-form,
  .fmcom-entry.is-playing .fmcom-entry__leaderboard {
    width:100%;
  }
  .fmcom-entry.is-playing .fmcom-entry__game-top {margin-bottom:10px}
  .fmcom-entry.is-playing .fmcom-entry__instructions {margin-bottom:14px!important}
  .fmcom-entry.is-playing .fmcom-entry__stats {padding-bottom:14px}
  .fmcom-entry.is-playing .fmcom-entry__arena {height:clamp(285px,48dvh,480px)}
  .fmcom-entry.is-playing .fmcom-entry__status {margin:10px 0 0!important}
  .fmcom-entry.is-playing .fmcom-entry__leaderboard {
    height:auto;
    padding:19px 0 0;
    margin-top:21px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.18);
  }
  .fmcom-entry.is-playing .fmcom-entry__record-form {margin-top:12px}
}
@media(max-width:420px) {
  .fmcom-entry.is-playing .fmcom-entry__game h2 {font-size:25px!important}
  .fmcom-entry.is-playing .fmcom-entry__back {padding:7px 9px!important}
  .fmcom-entry.is-playing .fmcom-entry__arena {height:clamp(270px,43dvh,375px)}
}
@media(prefers-reduced-motion:reduce) {
  .fmcom-entry.is-playing .fmcom-entry__spark {transition:none!important}
}


/* FM.COM v2.3: prevent scroll anchoring from shifting the two entry states. */
html.fmcom-gate-active body.home #fmcom-start.fmcom-entry{
  overflow-anchor:none!important;
  scroll-behavior:auto!important;
}
html.fmcom-gate-active body.home #fmcom-start.fmcom-entry:not(.is-playing) .fmcom-entry__inner{
  align-self:center!important;
}
