/* Games component: selector cards and playable light-theme panels. */
.mobile-game-launch{display:none}
@media(max-width:760px){
  .arcade .game-stage .g-info{display:none}
  .arcade .game-stage .game-viewport{position:relative;overflow:hidden;overscroll-behavior:auto;touch-action:pan-y pinch-zoom}
  .arcade .mobile-game-launch{display:flex;align-items:flex-end;justify-content:center;position:absolute;inset:0;z-index:20;width:100%;height:100%;padding:24px 12px;border:0;border-radius:inherit;background:transparent;color:#fff;cursor:pointer}
  .mobile-game-launch span{padding:9px 20px;border-radius:999px;background:#452080E6;font-size:16px;font-weight:700;box-shadow:0 3px 12px #17123A33}
  .arcade .mobile-game-launch:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
}
.arcade .game-view-toolbar{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px;padding:0;margin:12px 0 24px}
.arcade .game-view-toolbar>span{font-size:13px;color:var(--muted);text-align:center}
.arcade .game-view-toolbar button{border:1px solid var(--line);border-radius:12px;background:var(--lilac);color:var(--night);padding:10px 16px;font-size:14px;font-weight:600;min-height:44px}
.arcade .game-view-toolbar button[aria-pressed="true"]{background:var(--violet);border-color:var(--violet);color:#fff}
.arcade .game-stage .game{height:684px;min-height:684px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.arcade .game-preview{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;min-height:0}
.arcade .game-viewport{justify-self:center;width:360px;max-width:100%;height:640px;overflow:auto;border-radius:22px;overscroll-behavior:contain;background:#F1EBFF;scrollbar-width:thin}
.arcade .game-stage[data-layout="landscape"] .game-viewport{width:640px;height:480px}
.arcade .game-viewport>.g-play{width:100%;min-height:100%;border-radius:0}
.arcade .game-viewport>#rps-root,.arcade .game-viewport>#memory-card-root,.arcade .game-viewport>#turbo-root,.arcade .game-viewport>#soda-root{height:100%;min-height:100%}
.arcade #game-soda .game-viewport{overflow:hidden}
.arcade .game-stage[data-layout="landscape"] #game-soda .game-viewport{height:560px}
.arcade #game-turbo .game-viewport{overflow:hidden}
.arcade #game-memory .game-viewport{scrollbar-width:none}
.arcade #game-memory .game-viewport::-webkit-scrollbar{display:none}
.arcade #game-rps .game-viewport{overflow:hidden}
@media(max-width:800px){
  .arcade .game-stage .game{height:auto;min-height:0;grid-template-columns:minmax(0,1fr)}
  .arcade .game-preview{grid-template-columns:minmax(0,1fr);min-height:640px}
}
.arcade .arcade-heading{margin-bottom:20px}
.arcade .arcade-box{background:none;border-radius:0;padding:0;box-shadow:none}
.arcade .game-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center;margin-bottom:16px}
.arcade .game-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(180px,calc((100% - 60px)/4));gap:20px;margin:0;padding:8px 6px 16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:6px;scrollbar-width:none;min-width:0}
.arcade .game-tabs::-webkit-scrollbar{display:none}
.arcade .game-tabs button{scroll-snap-align:start}
.arcade .game-scroll{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--violet);font-size:32px;line-height:1;box-shadow:0 4px 12px #7750A215;transition:background .2s,opacity .2s}
.arcade .game-scroll:hover:not(:disabled){background:var(--lilac-2)}
.arcade .game-scroll:disabled{opacity:.3;cursor:default;box-shadow:none}
.arcade .game-carousel:not(.has-overflow) .game-scroll{visibility:hidden}
.arcade .game-carousel:not(.has-overflow) .game-tabs{justify-content:safe center}
.arcade .game-tabs button{flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:24px 12px 20px;border:2px solid rgba(255,255,255,.7);border-radius:26px;background:linear-gradient(145deg,#F8F5FF,#EDE6FF);color:var(--night);text-align:center;font-size:23px;box-shadow:0 8px 16px -8px #B9A0E7}
.arcade .game-tabs button[aria-selected="true"]{background:#fff;border-color:#B98AFF;box-shadow:0 0 0 3px #7B3FF2,0 5px 0 3px #5220B7,0 12px 20px -8px #7B3FF255}
.arcade .game-tabs small{font-family:var(--body);font-size:16px;font-weight:400;color:var(--muted)}
.arcade .game-art{display:block;position:relative;width:116px;height:116px;margin-bottom:12px;filter:drop-shadow(0 7px 3px #7750A225);flex:none}
.arcade .game-art i{display:block;position:absolute;font-style:normal}
.arcade .game-tabs button.game-poster{padding:0;overflow:hidden;aspect-ratio:2/3;gap:0;background:#080414}
.arcade .game-poster img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.arcade .art-tap i{inset:4px 20px;background:linear-gradient(125deg,#FFF3AC 10%,#FFD550 38%,#F4A800 75%);clip-path:polygon(53% 0,83% 0,66% 38%,100% 38%,34% 100%,44% 58%,0 58%);transform:rotate(9deg)}
.arcade .art-spin i{inset:16px 12px 8px;border-radius:50%;background:radial-gradient(circle,#F980B7 0 18%,#DE317A 20% 25%,#FF99C8 27% 45%,#E9448A 48% 57%,#FF83BA 60% 68%,#D72B73 72%);box-shadow:inset 3px 3px 5px #FFD7EB,0 5px 0 #CA2E73;transform:rotate(-12deg)}
.arcade .art-spin:before{content:"";position:absolute;top:3px;left:57px;width:14px;height:25px;border-radius:10px;background:linear-gradient(90deg,#D6327A,#FFA4CE);transform:rotate(-12deg)}
.arcade .art-color{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;transform:rotate(7deg)}
.arcade .art-color i{position:static;border-radius:12px;background:linear-gradient(135deg,#A8FFE6,#43D6B4);box-shadow:inset 2px 2px 2px #FFFFFF80,0 4px 0 #30AE94}
.arcade .art-color i:nth-child(2){background:linear-gradient(135deg,#FFACD3,#F45AA6);box-shadow:inset 2px 2px 2px #FFFFFF80,0 4px 0 #CD3D85}
.arcade .art-color i:nth-child(3){background:linear-gradient(135deg,#FFE99A,#F9C133);box-shadow:inset 2px 2px 2px #FFFFFF80,0 4px 0 #D59A1A}
.arcade .art-color i:nth-child(4){background:linear-gradient(135deg,#98DCFF,#42AEF0);box-shadow:inset 2px 2px 2px #FFFFFF80,0 4px 0 #2587C1}
.arcade .game-stage{background:#fff;color:var(--night);border-radius:30px;margin-top:0;box-shadow:0 20px 50px -35px #AA83E5;overflow:visible}
.arcade .game{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;padding:22px;min-height:480px}
.arcade .g-info{display:flex;flex-direction:column;align-items:flex-start;padding:24px 18px;min-width:0}
.arcade .g-info h3{font-size:clamp(36px,4.5vw,64px);line-height:1.1;margin:12px 0 6px}
.arcade .g-info p{color:var(--muted);font-size:18px;line-height:1.5}
.arcade .g-info h3 + p{font-weight:500}
.arcade .g-info .g-eyebrow{margin:0;color:var(--violet);font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.arcade .g-stats{gap:24px;margin:20px 0;flex-wrap:wrap}
.arcade .g-stats dt{color:var(--muted);font-size:12px}
.arcade .g-stats dd{font-size:24px;color:var(--violet)}
.arcade .g-stat-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.arcade .g-stat-cards-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.arcade .g-stat-cards.g-stat-cards-three>div{padding:14px 10px}
.arcade .g-stat-cards>div{padding:14px 16px;background:#F3EEFF;border-radius:14px;min-width:0}
.arcade .g-stat-cards dt{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.arcade .g-stat-cards dd{margin:4px 0 0;font-size:24px;font-weight:600;line-height:1.25}
.arcade .g-stat-cards [data-result="win"]{color:#16805C}
.arcade .g-stat-cards [data-result="lose"]{color:#C34867}
.arcade .g-stat-cards [data-result="draw"]{color:#96620C}
.arcade .g-benefits{display:flex;flex-wrap:wrap;gap:12px 20px;margin:auto 0 24px;font-size:18px;font-weight:500}
.arcade .g-benefits span{display:flex;gap:9px;align-items:center}
.arcade .g-benefits span:before{content:"";display:block;flex:none;width:38px;height:38px;border-radius:50%;background:#FFEDF5 url("assets/icons/benefit-lightbulb.svg") center/24px 24px no-repeat}
.arcade .g-benefits span+span:before{background-color:#EEE5FF;background-image:url("assets/icons/benefit-gamepad.svg")}
.arcade .g-cta{width:100%;justify-content:center;gap:12px;padding:16px 18px;border-radius:20px;background:linear-gradient(#995AFF,#7331F1);box-shadow:inset 0 3px 0 #BC91FF,0 4px 0 #6825D6,0 12px 22px -12px #8244E7;font-size:21px}
.arcade .g-play{min-width:0;gap:22px;padding:22px 24px;background-color:#F1EBFF;background-image:radial-gradient(#D9CBFA 2px,transparent 2px);background-size:44px 44px;border-radius:23px;box-shadow:none}
.arcade .g-play-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%;margin-bottom:auto;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}
.arcade .g-play-badge{background:#fff;color:var(--night);font-size:11px;letter-spacing:0;text-transform:none;border-radius:99px;padding:5px 12px;font-weight:600}
.arcade .g-msg{color:#65518E;font-size:13px;margin-top:auto}
.arcade .bar{background:#DDD2F4}
.arcade .ghost .bar i{background:linear-gradient(90deg,#9B77DF,#7850C2)}
.arcade .sp-ring{fill:#E4D8F8;stroke:#D1BDEC}
.arcade .sp-needle{stroke:var(--violet)}
.arcade .sp-zone{stroke:#18B9A1;filter:none}
.arcade .color-btns button[data-c="gold"],.arcade .color-btns button[data-c="mint"]{color:var(--night)}
.arcade .arcade-note{font-size:13px;margin:24px 12px 0;color:#7A6998}
@media(max-width:900px){
  .arcade .game-tabs{grid-auto-columns:min(170px,calc((100% - 24px)/3));gap:12px}
  .arcade .game-tabs button{font-size:19px;padding:18px 8px}
  .arcade .game{gap:12px;padding:16px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .arcade .g-info{padding:20px 10px}
  .arcade .g-play{padding:18px 14px}
  .arcade .game-art{width:100px;height:110px}
}
@media(max-width:650px){
  .arcade .game-carousel{gap:6px}
  .arcade .game-tabs{grid-auto-columns:calc((100% - 14px)/2);gap:14px}
  .arcade .game-tabs button{font-size:19px;padding:14px 8px;border-radius:16px}
  .arcade .game-tabs small{font-size:14px}
  .arcade .game-art{margin-bottom:4px;transform:scale(.85);height:100px}
  .arcade .art-color{transform:scale(.85) rotate(7deg)}
  .arcade .game{grid-template-columns:minmax(0,1fr);padding:14px;gap:18px}
  .arcade .g-info{padding:12px 8px}
  .arcade .g-info h3{font-size:40px}
  .arcade .g-info p{max-width:none}
  .arcade .g-benefits{margin:0 0 20px}
  .arcade .g-play{min-height:350px;padding:18px 14px}
  .arcade .g-play-head{gap:8px}
  .arcade .g-cta{font-size:20px}
  .arcade .lane{grid-template-columns:42px 1fr 30px;gap:8px}
}

/* Tap Rush shares the hero's candy arcade and physical button. */
.arcade .g-play.tap-play{padding:0;gap:0;background:#291258;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tap-live-screen{position:relative;isolation:isolate;container-type:inline-size;width:auto;max-width:100%;height:592px;aspect-ratio:889/1770;flex:none;overflow:hidden;border-radius:20px}
.arcade .tap-play .g-msg{margin:0;padding:10px 14px;min-height:42px;color:#F4E9FF;font-size:12px;text-align:center;background:#291258}
.tap-live-label{position:absolute;bottom:10%;left:0;right:0;color:#FFF3FF;font:600 4cqw/1 var(--display);pointer-events:none;text-shadow:0 1px 2px #650D98}
.arcade-match .tap-orb.pressed{transform:translateY(2cqw);filter:brightness(.96)}
.arcade .game-stage[data-layout="landscape"] .tap-play{height:480px;position:relative;padding-right:160px}
.arcade .game-stage[data-layout="landscape"] .tap-live-screen{width:auto;height:100%;aspect-ratio:889/1770}
.arcade .game-stage[data-layout="landscape"] .tap-play .g-msg{position:absolute;right:10px;width:140px;background:none}

.tap-live-screen .tap-orb .tap-live-label{position:absolute;left:0;right:0;bottom:10%;width:auto;height:auto;border-radius:0;background:none;opacity:1;text-align:center;font:600 4cqw/1 var(--display)}
.tap-live-screen .tap-orb.is-playing .tap-live-label{display:none}

/* Fill the playable panel; crop the decorative phone rim as one scene. */
.arcade #game-tap .game-viewport{overflow:hidden}
.arcade .g-play.tap-play{position:relative;height:640px;min-height:0;padding:0;overflow:hidden;border-radius:22px}
.tap-live-screen{width:100%;max-width:none;height:100%;aspect-ratio:auto;border-radius:0;flex:1}
.tap-live-content{position:absolute;inset:-2.3% -4.8%;container-type:inline-size}
.arcade .tap-play .g-msg{position:absolute;bottom:0;left:0;right:0;min-height:0;padding:6px 10px;background:#291258DD;font-size:11px;z-index:2}
.arcade .game-stage[data-layout="landscape"] .tap-play{padding:0;height:480px}
.arcade .game-stage[data-layout="landscape"] .tap-live-screen{width:100%;height:100%;aspect-ratio:auto}
.arcade .game-stage[data-layout="landscape"] .tap-play .g-msg{left:0;right:0;bottom:0;width:auto;background:#291258DD}

/* Preserve the artwork proportions and keep status text off the playfield. */
.arcade #game-tap .game-viewport{width:320px;height:640px;background:#291258}
.arcade #game-tap .tap-live-screen{width:100%;height:100%}
.arcade #game-tap .tap-play .g-msg{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;background:none!important}
.arcade .game-stage[data-layout="landscape"] #game-tap .game-viewport{width:240px;height:480px}
.arcade #game-tap .tap-orb .tap-live-label{width:auto;height:auto;border-radius:0;background:transparent;text-align:center}

.arcade #game-tap .tap-orb svg{display:none}
.arcade #game-tap .tap-orb .tap-live-label,.arcade #game-tap .tap-orb.is-playing .tap-live-label{display:grid;place-items:center;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;background:none;border-radius:inherit;opacity:1;font-family:var(--display);font-size:clamp(26px,12cqw,44px);font-weight:600;line-height:1;letter-spacing:.02em;color:#FFF6FF;text-shadow:0 2px 0 #A02BCB,0 0 12px #FFE5FF66;pointer-events:none}

/* Shared soft, chunky Tap! lettering for demo and playable button. */
#heroScreen .arcade-match .tap-orb .tap-live-label,.arcade #game-tap .tap-orb .tap-live-label,.arcade #game-tap .tap-orb.is-playing .tap-live-label{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;margin:0;padding:0;border-radius:inherit;background:none;opacity:1;color:#FFFFFF;font-family:'Fredoka',sans-serif;font-size:clamp(27px,12cqw,44px);font-weight:700;line-height:1;letter-spacing:-.045em;text-transform:none;text-shadow:0 1px 0 #ECDFFF,0 2px 0 #B875D0,0 3px 0 #8C43A8,0 4px 3px #58235566;pointer-events:none}

.arcade .game-tabs #game-tab-tap.game-poster{position:relative;background:#080414;border:2px solid rgba(255,255,255,.7);overflow:hidden;aspect-ratio:2/3}
.arcade .game-tabs #game-tab-tap.game-poster img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.arcade .game-tabs #game-tab-tap[aria-selected="true"]{box-shadow:0 0 0 3px #7B3FF2,0 5px 0 3px #5220B7}

/* Compress the exposed sidewall into the fixed socket when pressed. */
.arcade-match .tap-orb{transition:transform 90ms ease-out,box-shadow 90ms ease-out,filter 90ms ease-out}
.arcade-match .tap-orb.is-pressed,.arcade-match .tap-orb.pressed{transform:translateY(3.8cqw) scaleY(.97);filter:brightness(.96);box-shadow:inset 0 .5cqw 1cqw #FFF4FF88,inset 0 -.3cqw .7cqw #8018B9,0 .7cqw 0 #781EB8,0 1.1cqw 0 #D766F0,0 1.4cqw .6cqw #40206788,0 0 2cqw #E580FF44}

/* One clipping boundary, no overscanned image or mismatched lower corners. */
.arcade #game-tap .game-viewport{border-radius:22px;overflow:hidden;isolation:isolate}
.arcade #game-tap .g-play.tap-play{border-radius:inherit;overflow:hidden}
.arcade #game-tap .tap-live-screen{border-radius:inherit;overflow:hidden}
.tap-live-content{inset:0}
.tap-live-content .arcade-art{display:block;inset:0;width:100%;height:100%;object-fit:fill;filter:none;transform:none}

/* All selector covers display without added frames or raised edges. */
.arcade .game-tabs button,.arcade .game-tabs button[aria-selected="true"],.arcade .game-tabs #game-tab-tap.game-poster,.arcade .game-tabs #game-tab-tap[aria-selected="true"]{border:0;box-shadow:none;outline:none}
.arcade .game-tabs button.game-poster,.arcade .game-tabs button.game-poster[aria-selected="true"]{background:transparent}
.arcade .game-tabs .game-poster img{width:100%;height:100%;object-fit:cover}
.arcade .game-tabs button:focus-visible{outline:2px solid #7B3FF2;outline-offset:4px}

.tap-countdown-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;align-content:center;gap:18px;padding:18px;text-align:center;background:rgba(0,0,0,.58);backdrop-filter:blur(4px);color:#fff}
.tap-countdown-overlay[hidden]{display:none}
.tap-countdown-rules{padding:14px 18px;border:1px solid #BB8DFF88;border-radius:18px;background:#271348E6}
.tap-countdown-rules h3{font:700 28px/1.1 var(--display);color:#fff;margin:0 0 10px}
.tap-countdown-rules p{font:500 14px/1.5 var(--body);color:#EFE3FF;margin:0}
.tap-count-number{font:700 80px/1 var(--display);color:#FFF4BE;text-shadow:0 4px 0 #8A40C4,0 0 25px #C880FF99}
.arcade #game-tap .tap-orb:disabled{cursor:default;opacity:1}

.tap-countdown-overlay.is-ready .tap-count-number{font-size:36px;line-height:1.1}

/* Landscape uses the same 640 x 560 stage as Soda Factory. */
.arcade .game-stage[data-layout="landscape"] #game-tap .game-viewport{width:640px;height:560px}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-play{height:560px;padding:0}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-live-content{inset:0;background:#291258 url('assets/games/tap-rush/tap-rush-landscape-v2.webp') center/100% 100% no-repeat}
.arcade .game-stage[data-layout="landscape"] #game-tap .arcade-art{display:none}
.arcade .game-stage[data-layout="landscape"] #game-tap .pl{left:16%;top:39.5%;width:28%;height:8%}
.arcade .game-stage[data-layout="landscape"] #game-tap .pl:last-child{left:56%}
.arcade .game-stage[data-layout="landscape"] #game-tap .pl em{font-size:44px}
.arcade .game-stage[data-layout="landscape"] #game-tap .timer{left:10.5%;top:51%;width:28.5%;height:32.5%}
.arcade .game-stage[data-layout="landscape"] #game-tap .timer b{font-size:48px;top:27%}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base{left:47%;top:62%;width:42%;height:23%}

/* Softer lettering integrated into the button surface. */
#heroScreen .arcade-match .tap-orb .tap-live-label,.arcade #game-tap .tap-orb .tap-live-label,.arcade #game-tap .tap-orb.is-playing .tap-live-label{font-size:clamp(22px,9.5cqw,35px);font-weight:600;letter-spacing:-.025em;color:#FFF5FF;text-shadow:0 1px 1px #8E36BC88,0 -1px 0 #FFFFFF55;transform:translateY(1px)}
/* Optically center the lettering on the hero button's raised face. */
#heroScreen .arcade-match .tap-orb .tap-live-label{text-align:center;transform:translateY(-11%)}

/* Face-on landscape button, with a fixed socket and shallow rounded cap. */
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base{left:54%;top:54%;width:29%;height:auto;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 25%,#A276E9,#6335A5 75%);box-shadow:0 1.2cqw 1.5cqw #31115A66,inset 0 -.8cqw 1cqw #3E1879}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base::before{inset:4%;width:auto;height:auto;background:linear-gradient(135deg,#FFF2B6,#FFD36C 42%,#BC742B);box-shadow:0 .8cqw 0 #A56B28,inset 0 .5cqw .6cqw #FFF6D5}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb{left:9%;top:5%;width:82%;height:82%;border-radius:50%;background:radial-gradient(circle at 38% 25%,#F3ADFF,#D755F5 42%,#AA2EDB 78%,#8C22BD);box-shadow:inset 0 .7cqw 1.3cqw #FFE8FF88,inset 0 -.7cqw 1.2cqw #7E21B9,0 1cqw .3cqw #8820BA,0 1.4cqw .6cqw #63208988}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb::before{left:20%;right:20%;top:8%;height:26%;opacity:.6}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb.is-pressed,.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb.pressed{transform:translateY(.7cqw) scale(.98);box-shadow:inset 0 .4cqw 1cqw #FFE8FF55,inset 0 -.5cqw 1cqw #7E21B9,0 .25cqw .3cqw #8820BA}

/* Keep the landscape progress stroke inside the timer's recessed track. */
.arcade .game-stage[data-layout="landscape"] #game-tap .timer{left:12%;top:52.4%;width:25.5%;height:29.2%}
.arcade .game-stage[data-layout="landscape"] #game-tap .timer svg{inset:0;width:100%;height:100%;overflow:hidden}
.arcade .game-stage[data-layout="landscape"] #game-tap .timer circle,.arcade .game-stage[data-layout="landscape"] #game-tap .timer .tm{stroke-width:2.3}
.arcade .game-stage[data-layout="landscape"] #game-tap .timer b{top:27%;font-size:44px}

/* Wide face-on control for the landscape playfield. */
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base{left:45%;top:57%;width:44%;height:26%;aspect-ratio:auto;border-radius:30px}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base::before{inset:4%;border-radius:26px}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb{left:6%;top:3%;width:88%;height:85%;border-radius:23px}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb::before{left:10%;right:10%;top:5%;height:35%;border-radius:20px}

/* Crop the poster's baked-in neon rim, keeping the card's own clean silhouette. */
.arcade .game-tabs #game-tab-tap.game-poster{position:relative;overflow:hidden;border:0;box-shadow:none;background:transparent}
.arcade .game-tabs #game-tab-tap.game-poster img{position:absolute;left:-2%;top:-1.2%;width:104%;height:102.4%;max-width:none;object-fit:cover;border-radius:0}
/* Keep the selected game visible after the poster reset, including Tap Rush. */
.arcade .game-tabs button[aria-selected="true"],.arcade .game-tabs #game-tab-tap.game-poster[aria-selected="true"]{transform:translateY(-4px);box-shadow:0 0 0 3px #FFE49A,0 0 0 6px #FFC233,0 8px 0 6px #C98F00,0 16px 28px #FFC2334D}
.arcade .game-tabs button.game-poster{position:relative}
.arcade .game-tabs{padding-top:14px;padding-bottom:28px;scroll-padding-inline:10px}
.arcade .game-tabs button.game-poster:focus-visible{outline:3px solid #452080;outline-offset:9px}
@media(max-width:650px){
  .arcade .arcade-eyebrow{margin-bottom:10px}
  .arcade .arcade-heading .sub{margin-top:10px}
  .arcade .arcade-heading{margin-bottom:8px}
  .arcade .game-carousel{grid-template-columns:36px minmax(0,1fr) 36px;gap:14px;margin-bottom:6px}
  .arcade .game-scroll:hover:not(:disabled){background:var(--button-face)}
  .arcade .game-tabs{padding-bottom:18px}
  body .arcade .game-scroll{width:36px;height:36px;min-width:36px;min-height:36px}
  body .arcade .game-scroll::before{content:"";position:absolute;inset:-4px;border-radius:50%}
  body .arcade .game-scroll span::after{border-width:3px}
}

/* Match the landscape control to the glossy gold timer and violet HUD. */
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base{border-radius:32px;background:linear-gradient(140deg,#CDA0FF,#703DCC 48%,#3F1985);box-shadow:inset 0 2px 3px #EBD2FF99,0 5px 0 #3D167A,0 10px 16px #1C083A55}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base::before{inset:4%;border-radius:28px;background:linear-gradient(135deg,#FFF7CB 0%,#FFE38E 19%,#FFD05A 44%,#EFA536 67%,#BA6821 85%,#FFDC7F 100%);box-shadow:inset 0 2px 2px #FFFCE1,0 4px 0 #BD7329,0 6px 0 #E4AA49}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb{border:1px solid #E1A4FF;border-radius:24px;background:radial-gradient(ellipse at 36% 10%,#F6CAFF 0%,#D78AFF 24%,#B94EF0 50%,#9131D9 76%,#7223B5 100%);box-shadow:inset 0 3px 5px #FFF0FFAA,inset 0 -5px 9px #5C1A9F88,0 5px 0 #7D28B6,0 7px 1px #CB72EE,0 9px 8px #3C125A66}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb::before{left:8%;right:8%;top:4%;height:30%;border-radius:20px;background:linear-gradient(#FFF4FF55,#FFFFFF00);opacity:.8}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb .tap-live-label{color:#FFF9FF;font-weight:700;text-shadow:0 2px 1px #7630B4,0 0 7px #F8BFFF55}
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb.is-pressed,.arcade .game-stage[data-layout="landscape"] #game-tap .tap-orb.pressed{box-shadow:inset 0 2px 5px #FFDFFF66,inset 0 -3px 7px #5C1A9F88,0 1px 0 #7D28B6;filter:brightness(.96)}

.arcade .game-stage[data-layout="landscape"] #game-tap .timer circle,.arcade .game-stage[data-layout="landscape"] #game-tap .timer .tm{stroke-width:3.6}

/* Align the visible button and timer centers in landscape. */
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base{top:54.2%}

/* Extend only the purple socket above and below the fixed gold surround. */
.arcade .game-stage[data-layout="landscape"] #game-tap .tap-button-base::after{content:'';position:absolute;inset:-6% 0 -9%;z-index:-1;border-radius:32px;background:linear-gradient(145deg,#CDA0FF,#8A52D8 38%,#6431B6 72%,#421A85);box-shadow:inset 0 2px 3px #EBD2FFAA,inset 0 -3px 5px #35106B66,0 5px 0 #3D167A}

/* Seat the progress ring closely against the gold timer rim. */
.arcade .game-stage[data-layout="landscape"] #game-tap .timer{left:11.1%;top:51.4%;width:27.3%;height:31.2%}
