.ft-app{max-width:720px;margin:24px auto;font-family:system-ui,-apple-system,sans-serif;color:#151515}.ft-hero{text-align:center;background:var(--ft-accent,#FBC905);border:3px solid #111;border-radius:22px;padding:20px;box-shadow:7px 7px 0 #111}.ft-hero h2{font-size:clamp(28px,6vw,46px);margin:4px 0}.ft-hero p{margin:6px}.ft-kicker{font-weight:900;font-size:13px;letter-spacing:1px}.ft-prize{background:#fff;border:2px solid #111;border-radius:12px;padding:8px;display:inline-block}.ft-countdown{font-weight:800;margin-top:8px}.ft-game-wrap{position:relative;width:min(390px,100%);margin:28px auto 18px}.ft-game-wrap canvas{width:100%;height:auto;display:block;border:3px solid #111;border-radius:20px;box-shadow:7px 7px 0 var(--ft-accent,#FBC905);touch-action:none}.ft-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:rgba(255,255,255,.88);border-radius:20px}.ft-overlay[hidden]{display:none}.ft-overlay h3{font-size:34px;margin:0}.ft-overlay button,.ft-result button,.ft-claim button,.ft-shop{background:#111;color:#fff;border:0;border-radius:999px;padding:13px 24px;font-weight:900;cursor:pointer;text-decoration:none;display:inline-block}.ft-overlay small{margin-top:10px}.ft-result{margin:20px auto;max-width:520px;text-align:center;border:3px solid #111;border-radius:18px;padding:20px;background:#fff}.ft-result h3{font-size:28px;margin-top:0}.ft-claim{display:grid;gap:8px}.ft-claim input{font-size:16px;padding:12px;border:2px solid #111;border-radius:10px}.ft-win{margin-top:12px;padding:15px;background:#fff4b0;border:2px solid #111;border-radius:12px}.ft-win strong{font-size:22px}.ft-shop{margin-top:12px;background:var(--ft-accent,#FBC905);color:#111;border:2px solid #111}.ft-result .secondary{margin-top:12px;background:#eee;color:#111}.ft-board{margin-top:28px}.ft-board h3{text-align:center}.ft-row{display:flex;justify-content:space-between;padding:11px 14px;border-bottom:1px solid #ddd}.ft-row:first-child{font-size:20px;font-weight:800;background:#fff7c9;border-radius:10px}.ft-off{text-align:center;padding:20px}.ft-result[hidden]{display:none}@media(max-width:480px){.ft-app{margin:10px}.ft-hero{padding:14px}.ft-game-wrap{margin-top:20px}.ft-overlay h3{font-size:28px}}
/* v2.1 – všetky herné stavy priamo v hernom okne */
.ft-game-wrap .ft-result{margin:0;max-width:330px;width:calc(100% - 34px);max-height:90%;overflow:auto;box-sizing:border-box;box-shadow:none}.ft-game-wrap .ft-overlay{z-index:5}.ft-bigscore{font-size:46px;font-weight:1000;line-height:1;margin:8px 0 14px}.ft-code{font-size:24px;font-weight:1000;letter-spacing:2px;background:#fff4b0;border:2px dashed #111;border-radius:12px;padding:10px;margin:8px 0}.ft-game-wrap .ft-shop{display:block;margin:16px auto 8px}.ft-game-wrap .ft-result .secondary{display:block;margin:10px auto 0}
/* v2.2 – prirodzený sprite bez kruhového orezania + fullscreen */
.ft-fullscreen{position:absolute;z-index:9;right:10px;top:10px;width:42px;height:42px;padding:0!important;border:2px solid #111!important;border-radius:12px!important;background:rgba(255,255,255,.94)!important;color:#111!important;font-size:24px;line-height:1;display:flex!important;align-items:center;justify-content:center;cursor:pointer;box-shadow:3px 3px 0 #111}
.ft-game-wrap:fullscreen{width:100vw;height:100vh;margin:0;background:#111;display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box}
.ft-game-wrap:fullscreen canvas{width:auto;height:100vh;max-width:100vw;max-height:100vh;border-radius:0;border:0;box-shadow:none;object-fit:contain}
.ft-game-wrap:fullscreen .ft-overlay{left:50%;right:auto;top:50%;bottom:auto;width:min(390px,100vw);height:min(620px,100vh);transform:translate(-50%,-50%);box-sizing:border-box;border-radius:0}
.ft-game-wrap:fullscreen .ft-fullscreen{position:fixed;right:16px;top:16px}
@media (orientation:landscape) and (max-height:700px){.ft-game-wrap:fullscreen canvas{height:100vh;width:auto}.ft-game-wrap:fullscreen .ft-overlay{height:100vh;width:calc(100vh * .629032)}}

/* v2.3 – úvodná nápoveda a pravidlá pod hrou */
.ft-play-hint{position:absolute;z-index:4;left:50%;bottom:48px;transform:translate(-50%,12px);width:max-content;max-width:82%;padding:10px 16px 11px;text-align:center;background:rgba(255,255,255,.94);border:2px solid #111;border-radius:16px;box-shadow:4px 4px 0 #111;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.ft-play-hint.show{opacity:1;transform:translate(-50%,0)}
.ft-play-hint .ft-finger{display:block;font-size:34px;line-height:1;animation:ftTap .72s ease-in-out infinite alternate}
.ft-play-hint strong{display:block;font-size:17px;letter-spacing:.4px;margin-top:4px}.ft-play-hint small{display:block;font-weight:700}.ft-play-hint em{display:block;font-size:10px;font-style:normal;opacity:.62;margin-top:3px}
@keyframes ftTap{from{transform:translateY(0) scale(1)}to{transform:translateY(-7px) scale(1.08)}}
.ft-howto{margin:20px auto 8px;max-width:620px;background:#fff;border:2px solid #111;border-radius:16px;padding:16px 18px;box-sizing:border-box}.ft-howto h3{margin:0 0 8px;font-size:21px}.ft-howto p{margin:7px 0;line-height:1.45}.ft-current-goal{margin:12px 0;padding:11px 13px;background:var(--ft-accent,#FBC905);border:2px solid #111;border-radius:11px}.ft-rules-small{font-size:13px;opacity:.72}
.ft-game-wrap:fullscreen .ft-play-hint{position:absolute;bottom:42px}
@media(max-width:480px){.ft-howto{margin:16px 0 6px;padding:14px}.ft-play-hint{bottom:38px}}

.ft-ad-wrap{max-width:970px;margin:18px auto;text-align:center;overflow:hidden;min-height:20px}
.ft-ad-wrap>small{display:block;margin:0 0 5px;color:#777;font-size:11px;font-weight:500}
.ft-game-wrap:fullscreen~.ft-ad-wrap{display:none!important}
/* v2.6 – odpočítanie, živý hero banner, feedback a zvuky */
.ft-hero{position:relative;overflow:hidden;min-height:155px;display:flex;align-items:center;justify-content:center}.ft-hero-copy{position:relative;z-index:3;max-width:520px}.ft-hero-head{position:absolute;z-index:2;left:8%;width:105px;height:auto;object-fit:contain;animation:ftHeroFly 1.65s ease-in-out infinite alternate;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.22))}.ft-hero-pipe{position:absolute;z-index:1;top:0;width:44px;height:100%;animation:ftHeroPipe 8s linear infinite;opacity:.82}.ft-hero-pipe-a{left:108%;animation-delay:-1s}.ft-hero-pipe-b{left:108%;animation-delay:-5s}.ft-hero-pipe i,.ft-hero-pipe b{position:absolute;left:0;width:44px;background:#70c84d;border:3px solid #111;box-sizing:border-box}.ft-hero-pipe i{top:-3px;height:44px}.ft-hero-pipe b{bottom:-3px;height:48px}.ft-hero-pipe i:after,.ft-hero-pipe b:after{content:"";position:absolute;left:-7px;width:52px;height:13px;background:#70c84d;border:3px solid #111}.ft-hero-pipe i:after{bottom:-10px}.ft-hero-pipe b:after{top:-10px}@keyframes ftHeroFly{to{transform:translateY(-13px) rotate(-2deg)}}@keyframes ftHeroPipe{from{transform:translateX(0)}to{transform:translateX(-900px)}}
.ft-count-in{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;pointer-events:none;background:rgba(255,255,255,.18)}.ft-count-in[hidden]{display:none}.ft-count-in strong{font-size:72px;font-weight:1000;color:#111;text-shadow:4px 4px 0 var(--ft-accent,#FBC905)}.ft-count-in strong:not(:empty){white-space:nowrap}.ft-count-in.pulse strong{animation:ftCountPulse .55s ease both}@keyframes ftCountPulse{0%{transform:scale(.55);opacity:0}45%{transform:scale(1.15);opacity:1}100%{transform:scale(1);opacity:1}}
.ft-plus-one,.ft-record-pop{position:absolute;z-index:7;pointer-events:none;font-weight:1000;display:block}.ft-plus-one{left:112px;top:245px;font-size:24px}.ft-record-pop{left:50%;top:80px;transform:translateX(-50%);background:#111;color:#fff;padding:8px 13px;border-radius:999px;white-space:nowrap}.ft-plus-one[hidden],.ft-record-pop[hidden]{display:none}.ft-plus-one.pop{animation:ftPlus .8s ease both}.ft-record-pop.pop{animation:ftRecord .8s ease both}@keyframes ftPlus{0%{opacity:0;transform:translateY(10px) scale(.7)}30%{opacity:1;transform:translateY(0) scale(1.2)}100%{opacity:0;transform:translateY(-30px) scale(1)}}@keyframes ftRecord{0%{opacity:0;transform:translate(-50%,-8px) scale(.8)}25%,75%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px)}}
@media(max-width:600px){.ft-hero{min-height:145px}.ft-hero-head{left:-5px;width:82px;opacity:.95}.ft-hero-copy{padding-left:42px}.ft-hero h2{font-size:34px}}
/* v2.7 – čitateľný hero + univerzálny promo shortcode */
.ft-hero-copy{background:rgba(255,255,255,.86);border:2px solid #111;border-radius:16px;padding:12px 22px;box-shadow:4px 4px 0 rgba(17,17,17,.22);backdrop-filter:blur(2px)}
.ft-hero-copy h2,.ft-hero-copy p,.ft-hero-copy .ft-kicker,.ft-hero-copy .ft-countdown{position:relative;z-index:4}
.ft-promo-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:150px;width:100%;box-sizing:border-box;background:var(--ft-accent,#FBC905);border:3px solid #111;border-radius:22px;box-shadow:7px 7px 0 #111;text-decoration:none!important;color:#111!important;margin:18px auto;padding:18px 24px;font-family:system-ui,-apple-system,sans-serif;isolation:isolate}
.ft-promo-copy{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;text-align:center;background:rgba(255,255,255,.88);border:2px solid #111;border-radius:16px;padding:10px 22px;box-shadow:4px 4px 0 rgba(17,17,17,.2);max-width:560px}
.ft-promo-copy strong{font-size:clamp(28px,5vw,46px);font-weight:1000;line-height:1}.ft-promo-copy em{font-style:normal;font-weight:800;margin-top:7px;font-size:clamp(13px,2vw,17px)}.ft-promo-cta{display:inline-block;margin-top:10px;background:#111;color:#fff;border-radius:999px;padding:8px 15px;font-weight:900;font-size:12px;letter-spacing:.3px}
.ft-promo-head{position:absolute;z-index:3;left:7%;width:105px;height:auto;object-fit:contain;animation:ftHeroFly 1.65s ease-in-out infinite alternate;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.22))}
.ft-promo-pipe{position:absolute;z-index:1;top:0;width:44px;height:100%;animation:ftHeroPipe 8s linear infinite;opacity:.82}.ft-promo-pipe-a{left:108%;animation-delay:-1s}.ft-promo-pipe-b{left:108%;animation-delay:-5s}.ft-promo-pipe i,.ft-promo-pipe b{position:absolute;left:0;width:44px;background:#70c84d;border:3px solid #111;box-sizing:border-box}.ft-promo-pipe i{top:-3px;height:42px}.ft-promo-pipe b{bottom:-3px;height:46px}.ft-promo-pipe i:after,.ft-promo-pipe b:after{content:"";position:absolute;left:-7px;width:52px;height:13px;background:#70c84d;border:3px solid #111}.ft-promo-pipe i:after{bottom:-10px}.ft-promo-pipe b:after{top:-10px}
.ft-promo-banner:hover .ft-promo-cta{transform:translateY(-1px)}
@media(max-width:600px){.ft-hero-copy{padding:10px 14px;margin-left:28px}.ft-promo-banner{min-height:135px;padding:14px 10px}.ft-promo-head{left:-6px;width:78px}.ft-promo-copy{margin-left:34px;padding:9px 13px}.ft-promo-copy strong{font-size:30px}.ft-promo-copy em{font-size:12px}.ft-promo-cta{font-size:11px;padding:7px 12px}}
\n/* v2.8 – promo banner cez celu sirku + zive pozadie pri rozlete */
.ft-promo-head{display:block;background-repeat:no-repeat;background-position:center;background-size:contain;aspect-ratio:1.35/1;border:0!important;border-radius:0!important}
.ft-promo-pipe,.ft-hero-pipe{left:calc(100% + 70px)!important;animation-name:ftPipeAcross!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important}
.ft-promo-pipe{animation-duration:7.5s!important}.ft-hero-pipe{animation-duration:7s!important}
.ft-promo-pipe-a,.ft-hero-pipe-a{animation-delay:-.7s!important}.ft-promo-pipe-b,.ft-hero-pipe-b{animation-delay:-4.4s!important}
@keyframes ftPipeAcross{from{left:calc(100% + 70px)}to{left:-80px}}
.ft-warmup{position:absolute;z-index:7;left:50%;top:88px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:rgba(255,255,255,.84);border:2px solid #111;border-radius:14px;padding:8px 14px;box-shadow:3px 3px 0 rgba(17,17,17,.18);pointer-events:none;white-space:nowrap;animation:ftWarmIn .25s ease both}.ft-warmup[hidden]{display:none}.ft-warmup strong{font-size:16px}.ft-warmup small{font-size:11px;font-weight:750}@keyframes ftWarmIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:600px){.ft-promo-head{width:84px}.ft-warmup{top:82px;padding:7px 11px}.ft-warmup strong{font-size:14px}}
.ft-show-more{display:block;width:100%;margin:12px 0 0;padding:11px 14px;border:2px solid #111;border-radius:8px;background:var(--ft-accent,#FBC905);font-weight:900;cursor:pointer}.ft-extra-row[hidden]{display:none!important}
/* v3.6 – nenápadný live progres, rank a share */
.ft-live-reward,.ft-live-rank{position:absolute;z-index:5;bottom:10px;pointer-events:none;background:rgba(255,255,255,.78);border:1px solid rgba(17,17,17,.55);border-radius:8px;padding:4px 7px;font-size:10px;font-weight:800;line-height:1.15;backdrop-filter:blur(2px);opacity:.82}
.ft-live-reward{left:10px}.ft-live-rank{right:10px;text-align:right;max-width:120px}
.ft-share{display:block;margin:10px auto!important;background:#fff!important;color:#111!important;border:2px solid #111!important;box-shadow:3px 3px 0 var(--ft-accent,#FBC905)!important;border-radius:9px!important;padding:9px 14px!important;font-weight:900!important;cursor:pointer}
.ft-result-rank{font-size:12px;line-height:1.25;margin:7px auto!important;opacity:.72}.ft-result-rank small{font-size:10px}
@media(max-width:600px){.ft-live-reward,.ft-live-rank{font-size:9px;padding:3px 6px;bottom:8px}.ft-live-reward{left:8px}.ft-live-rank{right:8px}}

/* v3.7 – mobilny pseudo fullscreen + vykon */
html.ft-lock-scroll,body.ft-lock-scroll{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
.ft-game-wrap.ft-pseudo-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;z-index:2147483000!important;background:#111!important;display:flex!important;align-items:center!important;justify-content:center!important}
.ft-game-wrap.ft-pseudo-fullscreen canvas{display:block!important;width:auto!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;touch-action:none!important}
.ft-game-wrap.ft-pseudo-fullscreen .ft-overlay{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;width:min(390px,100vw)!important;height:min(620px,100dvh)!important;transform:translate(-50%,-50%)!important;box-sizing:border-box!important;border-radius:0!important}
.ft-game-wrap.ft-pseudo-fullscreen .ft-fullscreen{position:fixed!important;right:max(12px,env(safe-area-inset-right))!important;top:max(12px,env(safe-area-inset-top))!important;z-index:20!important}
.ft-game-wrap.ft-pseudo-fullscreen .ft-play-hint{position:absolute!important;bottom:42px!important}
@media(max-width:600px){.ft-game-wrap canvas{touch-action:none}.ft-game-wrap{contain:layout paint}.ft-live-reward,.ft-live-rank{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(255,255,255,.9)!important}.ft-plus-one,.ft-record-pop{will-change:auto!important}}
\n/* v3.8 – mobilna hra v modal overlay + ultra-light rendering */\nhtml.ft-lock-scroll,body.ft-lock-scroll{overflow:hidden!important;overscroll-behavior:none!important}\n@media(max-width:600px){\n  .ft-game-wrap.ft-mobile-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;z-index:2147483000!important;background:#111!important;display:flex!important;align-items:center!important;justify-content:center!important;contain:strict!important}\n  .ft-game-wrap.ft-mobile-modal canvas{display:block!important;width:auto!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;touch-action:none!important}\n  .ft-game-wrap.ft-mobile-modal .ft-overlay{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;width:min(390px,100vw)!important;height:min(620px,100dvh)!important;transform:translate(-50%,-50%)!important;box-sizing:border-box!important;border-radius:0!important;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))!important}\n  .ft-game-wrap.ft-mobile-modal .ft-fullscreen{position:fixed!important;right:max(10px,env(safe-area-inset-right))!important;top:max(10px,env(safe-area-inset-top))!important;z-index:30!important;background:#fff!important}\n  .ft-game-wrap.ft-mobile-modal .ft-play-hint{bottom:max(38px,env(safe-area-inset-bottom))!important}\n  .ft-game-wrap.ft-mobile-modal .ft-live-reward,.ft-game-wrap.ft-mobile-modal .ft-live-rank{box-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}\n  .ft-game-wrap.ft-mobile-modal *{animation-duration:.001ms!important}\n  .ft-game-wrap.ft-mobile-modal .ft-count-in.pulse{animation:none!important}\n}\n
/* v3.9 – mobile-first modal: move game to body, true viewport overlay */
html.ft-lock-scroll,body.ft-lock-scroll{overflow:hidden!important;overscroll-behavior:none!important;height:100%!important}
@media(max-width:600px){
 body.ft-game-active{background:#080808!important;touch-action:none!important}
 body.ft-game-active #ft-game-wrap.ft-mobile-modal{visibility:visible!important}
 #ft-game-wrap.ft-mobile-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;z-index:2147483646!important;background:rgba(0,0,0,.96)!important;display:flex!important;align-items:center!important;justify-content:center!important;contain:layout paint size!important;isolation:isolate!important}
 #ft-game-wrap.ft-mobile-modal canvas{width:auto!important;height:min(100dvh,calc(100vw * 1.5897436))!important;max-width:100vw!important;max-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:translateZ(0);backface-visibility:hidden;image-rendering:auto}
 #ft-game-wrap.ft-mobile-modal .ft-overlay{width:min(390px,100vw)!important;height:min(620px,100dvh)!important;background:rgba(255,255,255,.96)!important}
 #ft-game-wrap.ft-mobile-modal .ft-fullscreen{position:fixed!important;top:max(10px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important;z-index:2147483647!important;box-shadow:none!important}
 #ft-game-wrap.ft-mobile-modal .ft-play-hint{transition:none!important;box-shadow:none!important}
 #ft-game-wrap.ft-mobile-modal .ft-plus-one,#ft-game-wrap.ft-mobile-modal .ft-record-pop{animation:none!important}
}
\n\n/* v4.0 – mobile-first canvas presentation + viewport-centred overlays */\n@media(max-width:600px){\n  body.ft-game-active .ft-promo-banner,\n  body.ft-game-active .ft-hero-pipe,\n  body.ft-game-active .ft-promo-pipe,\n  body.ft-game-active .ft-promo-head{animation-play-state:paused!important;}\n\n  #ft-game-wrap.ft-mobile-modal{\n    background:#070707!important;\n    overflow:hidden!important;\n    contain:layout paint size!important;\n  }\n  #ft-game-wrap.ft-mobile-modal canvas{\n    position:absolute!important;\n    left:50%!important;top:50%!important;\n    transform:translate3d(-50%,-50%,0)!important;\n    width:min(100vw,calc(100dvh * .6290322581))!important;\n    height:auto!important;\n    max-width:100vw!important;max-height:100dvh!important;\n    will-change:transform!important;\n  }\n  /* Overlay belongs to the visible viewport, not to the 390x620 game board. */\n  #ft-game-wrap.ft-mobile-modal .ft-overlay{\n    position:fixed!important;inset:0!important;\n    width:100vw!important;height:100dvh!important;\n    max-width:none!important;max-height:none!important;\n    transform:none!important;\n    padding:max(68px,calc(env(safe-area-inset-top) + 54px)) 16px max(18px,env(safe-area-inset-bottom))!important;\n    box-sizing:border-box!important;\n    border-radius:0!important;\n    background:rgba(0,0,0,.62)!important;\n    display:flex!important;align-items:center!important;justify-content:center!important;\n    overflow:hidden!important;\n    z-index:2147483646!important;\n  }\n  #ft-game-wrap.ft-mobile-modal .ft-overlay[hidden]{display:none!important;}\n  #ft-game-wrap.ft-mobile-modal .ft-result{\n    width:min(360px,calc(100vw - 32px))!important;\n    max-width:360px!important;max-height:calc(100dvh - 110px)!important;\n    margin:0!important;padding:18px!important;\n    overflow:auto!important;-webkit-overflow-scrolling:touch!important;\n    background:#fff!important;border-radius:20px!important;\n    box-shadow:0 12px 45px rgba(0,0,0,.35)!important;\n  }\n  #ft-game-wrap.ft-mobile-modal #ft-start-screen{\n    width:min(330px,calc(100vw - 40px));\n    box-sizing:border-box;background:#fff;border:3px solid #111;border-radius:20px;\n    padding:24px 18px;box-shadow:0 12px 45px rgba(0,0,0,.35);\n  }\n  #ft-game-wrap.ft-mobile-modal .ft-fullscreen{\n    top:max(12px,env(safe-area-inset-top))!important;\n    right:max(12px,env(safe-area-inset-right))!important;\n  }\n}\n

/* v4.1 – iOS smooth mode + clean viewport modal */
*,*:before,*:after{box-sizing:border-box}
@media(max-width:600px){
  html.ft-lock-scroll,body.ft-lock-scroll{position:relative!important;overflow:hidden!important;width:100%!important;touch-action:none!important}
  body.ft-game-active{overscroll-behavior:none!important}
  #ft-game-wrap.ft-mobile-modal{
    position:fixed!important;
    left:0!important;top:var(--ft-vvtop,0px)!important;
    width:100vw!important;height:var(--ft-vvh,100dvh)!important;
    min-width:0!important;max-width:none!important;
    background:#050505!important;
    overflow:hidden!important;
    contain:layout paint size!important;
  }
  #ft-game-wrap.ft-mobile-modal canvas{
    position:absolute!important;left:50%!important;top:50%!important;
    width:min(100vw,calc(var(--ft-vvh,100dvh) * .6290322581))!important;
    height:auto!important;max-width:100vw!important;max-height:var(--ft-vvh,100dvh)!important;
    transform:translate3d(-50%,-50%,0)!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    will-change:auto!important;touch-action:none!important;
  }
  #ft-game-wrap.ft-mobile-modal .ft-overlay{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;
    transform:none!important;margin:0!important;
    padding:max(58px,calc(env(safe-area-inset-top) + 46px)) 14px max(14px,env(safe-area-inset-bottom))!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    background:rgba(0,0,0,.68)!important;border-radius:0!important;overflow:hidden!important;
  }
  #ft-game-wrap.ft-mobile-modal .ft-overlay[hidden]{display:none!important}
  #ft-game-wrap.ft-mobile-modal .ft-result,
  #ft-game-wrap.ft-mobile-modal #ft-start-screen{
    position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;float:none!important;
    width:min(360px,100%)!important;max-width:360px!important;
    max-height:calc(var(--ft-vvh,100dvh) - 92px)!important;
    margin:0 auto!important;padding:18px!important;
    overflow:auto!important;-webkit-overflow-scrolling:touch!important;
    background:#fff!important;border:3px solid #111!important;border-radius:20px!important;
    box-shadow:0 12px 38px rgba(0,0,0,.38)!important;text-align:center!important;
  }
  #ft-game-wrap.ft-mobile-modal .ft-result h3{font-size:clamp(25px,8vw,34px)!important;line-height:1.05!important;margin:0 0 10px!important}
  #ft-game-wrap.ft-mobile-modal .ft-bigscore{font-size:clamp(48px,15vw,72px)!important;line-height:1!important;margin:8px 0 14px!important}
  #ft-game-wrap.ft-mobile-modal .ft-result p{font-size:16px!important;line-height:1.35!important;margin:10px 0!important}
  #ft-game-wrap.ft-mobile-modal .ft-claim{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%!important;margin-top:12px!important}
  #ft-game-wrap.ft-mobile-modal .ft-claim input,
  #ft-game-wrap.ft-mobile-modal .ft-claim button,
  #ft-game-wrap.ft-mobile-modal .ft-result button,
  #ft-game-wrap.ft-mobile-modal .ft-shop{width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important}
  #ft-game-wrap.ft-mobile-modal .ft-claim input{display:block!important;min-width:0!important;height:54px!important;padding:12px 14px!important;font-size:16px!important;border:2px solid #111!important;border-radius:12px!important;background:#fff!important}
  #ft-game-wrap.ft-mobile-modal .ft-claim button{min-height:54px!important;border-radius:12px!important;padding:12px!important}
  #ft-game-wrap.ft-mobile-modal .ft-share,#ft-game-wrap.ft-mobile-modal .ft-again,#ft-game-wrap.ft-mobile-modal .ft-shop{display:block!important;margin-top:10px!important;min-height:48px!important;border-radius:12px!important;padding:11px 14px!important}
  #ft-game-wrap.ft-mobile-modal .ft-fullscreen{position:absolute!important;top:max(10px,env(safe-area-inset-top))!important;right:max(10px,env(safe-area-inset-right))!important;z-index:2147483647!important;width:48px!important;height:48px!important;padding:0!important;border-radius:14px!important;background:#fff!important;color:#111!important;border:2px solid #111!important;box-shadow:none!important}
  /* Nothing behind the canvas should keep animating while the mobile game is open. */
  body.ft-game-active .ft-hero-head,body.ft-game-active .ft-hero-pipe,body.ft-game-active .ft-promo-head,body.ft-game-active .ft-promo-pipe{animation-play-state:paused!important}
}

/* V4.2 leaderboard modal */
.ft-show-more{display:block;margin:14px auto 0;background:#111;color:#fff;border:0;border-radius:999px;padding:11px 18px;font-weight:900;cursor:pointer}
.ft-board-modal[hidden]{display:none!important}
.ft-board-modal{position:fixed;inset:0;z-index:2147483646;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.ft-board-dialog{width:min(560px,100%);height:min(760px,calc(100dvh - 36px));background:#fff;border:3px solid #111;border-radius:20px;box-shadow:8px 8px 0 var(--ft-accent,#FBC905);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.ft-board-modal-head{position:relative;flex:0 0 auto;padding:16px 54px 12px 18px;border-bottom:2px solid #111;background:var(--ft-accent,#FBC905)}
.ft-board-modal-head h3{margin:0;font-size:20px;line-height:1.15}.ft-board-me{font-size:12px;font-weight:800;margin-top:5px;opacity:.75}
.ft-board-close{position:absolute;right:10px;top:9px;width:38px;height:38px;border:2px solid #111;border-radius:50%;background:#fff;color:#111;font-size:20px;font-weight:900;cursor:pointer;line-height:1}
.ft-board-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:4px 12px 16px}
.ft-board-scroll .ft-row{padding:12px 8px}.ft-board-scroll .ft-row:nth-child(-n+3){font-weight:900}
body.ft-board-modal-open{overflow:hidden!important;touch-action:none}
@media(max-width:600px){.ft-board-modal{padding:10px}.ft-board-dialog{height:calc(100dvh - 20px);border-radius:16px;box-shadow:5px 5px 0 var(--ft-accent,#FBC905)}.ft-board-modal-head{padding:14px 50px 10px 14px}.ft-board-scroll{padding:2px 8px 12px}}
