/* Shared catalog, focus and RTL conventions. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:where(a,button,select,input,summary):focus-visible{outline:3px solid #56c8f2;outline-offset:4px}
#games{scroll-margin-top:20px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.game-card{min-width:0;overflow:hidden;background:#15213b;border:1px solid #394964;border-radius:22px;display:flex;flex-direction:column}.game-thumbnail{aspect-ratio:16/9;background:#172440}.game-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.game-card-copy{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.game-card h3{font-size:28px;margin:12px 0}.game-card p{font-size:16px;line-height:1.5;color:#c8d4e9;margin:0 0 24px}.genre-tags{display:flex;gap:6px;flex-wrap:wrap}.genre-tags span,.coming-badge{font-size:12px;border:1px solid #63728c;border-radius:20px;padding:5px 9px;color:#d9e2f5}.game-card .cta,.coming-badge{margin-top:auto}.game-card .cta{padding:12px 24px;min-height:44px}.coming-badge{background:#293250;color:#dfcbff}.catalog-featured{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 24px;border:1px solid #68608a;border-radius:18px;background:#201f3b;margin:0 0 24px}.catalog-featured>span{font-size:12px;color:#dbc5ff}.catalog-featured strong{font-size:24px}.catalog-featured p{font-size:14px;color:#cad3eb;margin:0;flex:1}.catalog-featured a,.secondary-play{color:#f6e29d;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-actions .cta{margin:20px 0!important}.hero-actions .secondary-play{font-size:16px;font-weight:700}.rank-periods{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.rank-periods button{min-height:44px;padding:9px 16px;background:#1b2c49;color:#e7edfa;border:1px solid #71809d;border-radius:12px;font:inherit;cursor:pointer}.rank-periods button[aria-pressed=true]{background:#c4fa72;color:#101b30;border-color:#c4fa72}.rank-empty{grid-column:1/-1;color:#cad6ed;padding:16px 0}.store-slots{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.store-slots span{border:1px solid #71809d;padding:10px;border-radius:8px;font-size:12px}.board,.tray,.score-number,#level-number,#level-count,#hud-rank-number,.rankings strong,.rankings .rank-position,.home-ranks strong,.rank-place{direction:ltr;unicode-bidi:isolate}.rotation-hook{font-size:15px;line-height:1.5;color:inherit}.stage-help{font-size:14px;line-height:1.5}.site-menu-panel{left:auto;right:auto;inset-inline-end:0}html[dir=rtl] .site-menu-panel{left:0;right:auto}html[dir=rtl] .game-card-copy{text-align:right}html[dir=rtl] .rank-name{unicode-bidi:plaintext}body{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:850px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions{justify-content:center}.catalog-featured p{flex-basis:100%}.hero .hero-live-rank .rank-mode-label{font-size:12px!important}.hero .hero-live-rank .rank-mode-label select{min-height:44px}}
@media(max-width:550px){.catalog-grid{grid-template-columns:1fr}.game-thumbnail{max-height:200px}.catalog-featured{gap:12px}.hero-actions{flex-direction:column;gap:0}.hero-actions .cta{width:100%;justify-content:center}.catalog-featured strong{font-size:22px}}

.secondary-play{gap:.3em}.game .tray-heading small{color:#456780}.game .sicily-summary small{color:#79501c}.game #reward-count{color:#193b59;opacity:1}.modal:not(.game-over-modal) .eyebrow{color:#a14415}

.compact-hud #level-count{position:static;width:auto;height:auto;clip-path:none;overflow:visible;font-size:8px;line-height:1.3;text-align:center}.compact-hud .level-track{max-width:85px;gap:3px;align-items:center}.desktop-extras .rotation-hook{font-size:12px;color:#375d81;margin:8px 0 12px}

/* Review: shared CTA treatment, thumb controls and bounded desktop panels. */
body[data-page="index"] .hero .hero-actions{flex-direction:column;align-items:flex-start;gap:12px}
body[data-page="index"] .hero .hero-actions .cta,
body[data-page="index"] .game-card .cta{background:linear-gradient(120deg,#ffb452,#ff756c);color:#10162c;border:1px solid #ffc38c;box-shadow:0 5px 0 #b84453}
body[data-page="index"] .hero .hero-actions .cta{margin:0!important;min-height:56px;width:240px;max-width:100%;justify-content:center;font-size:18px}
body[data-page="index"] .hero .hero-actions{margin-top:24px}
body[data-page="index"] .hero .secondary-play{display:inline-flex;justify-content:center;min-height:50px;width:240px;max-width:100%;padding:12px 20px;border:1px solid #a990ed;border-radius:14px;background:#292342;color:#f3eaff;text-decoration:none;box-shadow:0 4px 0 #121326}
body[data-page="index"] .hero .hero-actions .cta:hover,body[data-page="index"] .game-card .cta:hover{background:linear-gradient(120deg,#ffc46b,#ff8b80)}
body[data-page="index"] .hero .secondary-play:hover{background:#393055}
body:has(#board) header .toolbar{display:flex;gap:8px;align-items:center}
body:has(#board) header .icon-button{flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;font-size:22px}
body:has(#board) header .icon-button svg{width:20px;height:20px;display:block}
.compact-hud .best{text-align:center}
@media(max-width:1099px){
 .game{display:flex;flex-direction:column}
 .game>.compact-hud{order:0;width:100%}
 .game>.board-wrap{order:1;width:100%}
 .game>.desktop-controls{display:block;order:2;width:100%}
 .game>.desktop-extras{display:block;order:3;width:100%}
 .game .tray-heading{margin-top:12px}
 .game .rotation-controls{margin-bottom:12px}
}
@media(max-width:850px){body[data-page="index"] .hero .hero-actions{align-items:center}body[data-page="index"] .hero .hero-actions .cta,body[data-page="index"] .hero .secondary-play{width:100%;max-width:340px}}
@media(min-width:1100px){
 .game{grid-template-rows:auto minmax(0,1fr);height:var(--desktop-board)}
 .game>.board-wrap{height:100%;align-self:stretch}
 .game .board{height:100%;aspect-ratio:1}
 .game .cell{aspect-ratio:auto;min-height:0}
 .desktop-controls{height:100%;min-height:0;overflow:auto;display:flex;flex-direction:column}
 .desktop-controls .rotation-controls{margin-top:auto;padding-top:12px}
 .desktop-controls .piece{min-height:64px}
 .desktop-controls .tray-window{min-height:0;overflow:auto}
 .desktop-extras{height:100%;min-height:0;overflow:auto;scrollbar-width:thin}
 .desktop-extras .mode-choice{min-height:58px}
 .desktop-extras .rotation-hook{margin:6px 0}
 .desktop-extras .sicily-summary{margin:6px 0}
}
@media(min-width:1100px){
 .game>.compact-hud{padding:12px 10px;gap:8px;align-items:start}
 .compact-hud .score-chase{margin:0}
 .desktop-extras .community-bar{margin-bottom:6px;gap:0}
 .desktop-extras .community-bar button{min-height:28px}
 .desktop-extras .sicily-summary{display:flex;flex-wrap:nowrap;padding:8px;gap:6px}
 .desktop-extras .sicily-summary>div{min-width:0;flex:1}
 .desktop-extras .sicily-summary button{flex-shrink:0;padding:6px;font-size:10px}
 .desktop-extras .benefits{margin-top:8px}
}
#reward-count{display:inline-block;direction:ltr;unicode-bidi:isolate}
@media(min-width:1100px){.game{--desktop-board:min(clamp(340px,calc(100svh - 190px),660px),calc(100vw - 456px))}}
@media(min-width:1100px){
 .game>.compact-hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 4px;padding:12px 8px}
 .game>.compact-hud #level-number,.game>.compact-hud .score-number,.game>.compact-hud .world-rank-button strong{font-size:24px}
 .game>.compact-hud #level-label,.game>.compact-hud .score-label{font-size:8px;letter-spacing:0;white-space:normal;line-height:1.4}
 .game>.compact-hud .world-rank-button small{font-size:8px}
 .game>.compact-hud .level-track{max-width:48px}
 .game>.compact-hud #level-count{font-size:7px}
}
/* A compact scoreboard: one control rail and a ranked list. */
.hero .hero-live-rank .world-rank-top{gap:16px;align-items:center;flex-wrap:wrap}
.hero .hero-live-rank .world-rank-top>div:first-child{gap:10px;flex-wrap:nowrap}
.hero .hero-live-rank h2{font-size:16px;white-space:nowrap}
.hero .hero-live-rank .rank-kind{order:2;color:#bcc8df;background:#1b263d;border-color:#42516d;font-size:8px;letter-spacing:1px}
.hero .hero-live-rank .rank-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-inline-start:auto}
.hero .hero-live-rank .rank-mode-label[hidden]{display:none}
.hero .hero-live-rank .rank-mode-label select{min-height:44px;border:1px solid #42516d;background:#152139;color:#e2eaff;font-size:12px;padding:8px 30px 8px 12px;border-radius:10px}
.hero .hero-live-rank .rank-periods{display:flex;gap:3px;flex-wrap:nowrap;padding:3px;margin:0;border:1px solid #34445f;border-radius:12px;background:#0c152b}
.hero .hero-live-rank .rank-periods button{min-height:38px;padding:8px 13px;border:0;border-radius:8px;background:transparent;color:#aebed8;font-size:12px;font-weight:700;white-space:nowrap;transition:background .18s,color .18s}
.hero .hero-live-rank .rank-periods button[aria-pressed=true]{background:linear-gradient(120deg,#ffb452,#ff8275);color:#10162c;box-shadow:0 2px 8px #ff827522}
.hero .hero-live-rank .rank-periods button:hover:not([aria-pressed=true]){background:#22324d;color:#fff}
.hero .hero-live-rank .home-ranks{display:grid;grid-template-columns:1fr;gap:6px;margin:16px 0 10px}
.hero .hero-live-rank .home-ranks li{position:relative;overflow:hidden;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;border:1px solid #2f405e;border-radius:10px;background:linear-gradient(90deg,#1e2b47,#14203980);min-height:48px}
.hero .hero-live-rank .home-ranks .rank-place{grid-area:1/1;font-size:12px;text-align:center;font-variant-numeric:tabular-nums;color:#a3b4cf}
.hero .hero-live-rank .home-ranks .rank-name{grid-area:1/2;font-size:13px;font-weight:700}
.hero .hero-live-rank .home-ranks strong{grid-area:1/3;font-size:20px;font-variant-numeric:tabular-nums;color:#f4f5ff;letter-spacing:-.4px}
.hero .hero-live-rank .home-ranks li:first-child{border-color:#b08a454d;background:linear-gradient(90deg,#ffce5b16,#14203980)}
.hero .hero-live-rank .home-ranks li:first-child .rank-place,.hero .hero-live-rank .home-ranks li:first-child strong{color:#ffcf66}
.hero .hero-live-rank .home-ranks li:nth-child(2) .rank-place{color:#a9d9ee}
.hero .hero-live-rank .home-ranks li:nth-child(3) .rank-place{color:#ff9a84}
.hero .hero-live-rank:has(.home-ranks li) .rank-kind{color:#8de4d3;border-color:#8de4d34d;background:#8de4d310}
.hero .hero-live-rank:has(.home-ranks li) .rank-kind:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-inline-end:6px}
.hero .hero-live-rank .world-rank-bottom{margin-top:12px}
.hero .hero-live-rank .world-rank-bottom p{font-size:11px;color:#a9b9d3}
@media(prefers-reduced-motion:no-preference){
 .hero .hero-live-rank .rank-moved{animation:scoreboard-rise .45s ease both}
 .hero .hero-live-rank:has(.home-ranks li) .rank-kind:before{animation:scoreboard-live 2s ease-in-out infinite}
 @keyframes scoreboard-rise{from{transform:translateY(5px);filter:brightness(1.35)}to{transform:none;filter:none}}
 @keyframes scoreboard-live{50%{opacity:.4;box-shadow:0 0 0 3px #8de4d310}}
}
@media(max-width:850px){
 .hero .hero-live-rank .world-rank-top{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .hero .hero-live-rank .world-rank-top>div:first-child{justify-content:space-between}
 .hero .hero-live-rank .rank-tools{margin:0;justify-content:space-between;gap:8px}
 .hero .hero-live-rank .rank-mode-label select{font-size:11px;max-width:125px;padding-inline:8px;min-height:44px}
 .hero .hero-live-rank .rank-periods{gap:1px;flex:1;justify-content:space-between}
 .hero .hero-live-rank .rank-periods button{padding:8px;min-height:38px;font-size:11px;flex:1}
 .hero .hero-live-rank h2{font-size:15px}
}
@media(max-width:370px){.hero .hero-live-rank .rank-tools{flex-wrap:wrap}.hero .hero-live-rank .rank-periods{flex-basis:100%}}
html[dir=rtl] .hero .hero-live-rank .home-ranks li{background:linear-gradient(270deg,#1e2b47,#14203980)}
.hero .hero-live-rank .rank-tools .rank-mode-label{font-size:0!important;gap:0}
/* Catalog marquee: dark, centered and gently animated. */
#games>.section-title{position:relative;isolation:isolate;overflow:hidden;justify-content:center;min-height:130px;margin:30px 0 22px;border:1px solid #293955;border-radius:22px;background:radial-gradient(ellipse at center,#28345488,transparent 65%),#0e172d;text-align:center}
#games>.section-title h2{position:relative;z-index:1;font-size:clamp(26px,4vw,38px);margin:20px;letter-spacing:-1px}
#games>.section-title:before,#games>.section-title:after{content:'';position:absolute;width:30px;height:30px;border:1px solid #a996ff44;border-radius:7px;background:#a996ff16;box-shadow:35px 0 #a996ff16,35px 35px #a996ff16;transform:rotate(-15deg);inset-inline-start:9%;top:25px;z-index:0}
#games>.section-title:after{inset-inline-start:auto;inset-inline-end:12%;background:#56c8f21c;border-color:#56c8f244;box-shadow:35px 0 #56c8f21c,0 35px #56c8f21c;transform:rotate(14deg)}
@media(prefers-reduced-motion:no-preference){#games>.section-title:before{animation:catalog-drift 7s ease-in-out infinite alternate}#games>.section-title:after{animation:catalog-drift 9s ease-in-out -3s infinite alternate-reverse}@keyframes catalog-drift{to{translate:0 14px;rotate:12deg}}}
.country-flag{display:inline-block;direction:ltr;unicode-bidi:isolate;font-size:1.1em;vertical-align:middle;margin-inline-start:4px}.country-picker{margin:16px 0;text-align:start}.country-picker label{display:block;margin-bottom:8px}.country-picker .extra{width:100%}
@media(max-width:550px){#games>.section-title{min-height:112px}#games>.section-title:before,#games>.section-title:after{opacity:.65;scale:.75}#games>.section-title:before{inset-inline-start:2%}#games>.section-title:after{inset-inline-end:7%}}
.country-picker label{color:#274768;font-size:12px;font-weight:700}

/* Paired hero buttons share geometry and depth across all locales. */
body[data-page="index"] .hero .hero-actions :is(.cta,.secondary-play){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:240px;max-width:100%;min-height:56px;padding:14px 22px;margin:0!important;border-radius:14px;font-size:18px;line-height:1.25;font-weight:800;text-decoration:none;gap:.3em}
body[data-page="index"] .hero .hero-actions .secondary-play{color:#10162c;background:linear-gradient(120deg,#78dcff,#619bff);border:1px solid #a3e7ff;box-shadow:0 5px 0 #31569b}
body[data-page="index"] .hero .hero-actions .secondary-play:hover{background:linear-gradient(120deg,#9de7ff,#81b2ff)}
body[data-page="index"] .hero .hero-actions .secondary-play:active{transform:translateY(3px);box-shadow:0 2px 0 #31569b}
@media(prefers-reduced-motion:no-preference){body[data-page="index"] .hero .hero-actions .secondary-play{transition:transform .2s}body[data-page="index"] .hero .hero-actions .secondary-play:hover{transform:translateY(-2px)}}
@media(max-width:850px){body[data-page="index"] .hero .hero-actions :is(.cta,.secondary-play){width:100%;max-width:340px;min-height:66px;padding:18px 24px;border-radius:18px;font-size:20px}}

body[data-page="index"] .hero .hero-actions .cta{box-shadow:0 5px 0 #b84453}
/* Centered game introduction, shared by every homepage locale. */
body[data-page="index"] .break-games{width:100%;max-width:960px;box-sizing:border-box;margin:44px auto 36px;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;text-align:center}
body[data-page="index"] .break-column{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;padding:30px 28px 28px;border:1px solid #3a4969;border-radius:24px;background:radial-gradient(ellipse at 50% 0,#648cdb22,transparent 65%),linear-gradient(145deg,#19243e,#11192e);box-shadow:0 6px 0 #070d20,inset 0 1px 0 #ffffff0a}
body[data-page="index"] .break-column:last-child{border-color:#51456f;background:radial-gradient(ellipse at 50% 0,#a58aff25,transparent 65%),linear-gradient(145deg,#23243f,#141a31)}
body[data-page="index"] .break-column:before{content:"";display:block;width:21px;height:21px;margin:0 auto 29px;transform:translateX(-14px) rotate(-8deg);border-radius:6px;background:linear-gradient(145deg,#d4ff81,#b5ec58);box-shadow:26px 0 #58c5ee,26px 26px #ff826f,inset 0 3px 0 #ffffff66}
body[data-page="index"] .break-column:last-child:before{background:linear-gradient(145deg,#d0b7ff,#a58aff);box-shadow:26px 0 #a58aff,0 26px #ffda66,inset 0 3px 0 #ffffff66;transform:translateX(-14px) rotate(8deg)}
body[data-page="index"] .break-games :is(h2,h3){font-size:clamp(21px,2.2vw,26px);line-height:1.2;letter-spacing:-.5px;color:#f5f4ff;margin:0 0 14px}
body[data-page="index"] .break-games p:not(.eyebrow){max-width:42ch;margin:0 auto;color:#c1cce1;font-size:15px;line-height:1.7}
html[dir="rtl"] body[data-page="index"] .break-games :is(h2,h3){letter-spacing:normal}
@media(max-width:650px){body[data-page="index"] .break-games{grid-template-columns:1fr;gap:18px;margin:30px auto}body[data-page="index"] .break-column{padding:26px 22px}}

.game-card .cta{gap:14px}.game-card .cta-arrow{flex-shrink:0}html[dir="rtl"] .game-card .cta-arrow{transform:scaleX(-1)}

/* Matching two-row leaderboard controls; logical alignment also supports RTL. */
.hero .hero-live-rank .rank-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-inline-start:auto}
.hero .hero-live-rank .rank-tools [hidden]{display:none!important}
.hero .hero-live-rank .rank-tools .rank-periods{display:flex;flex:none;box-sizing:border-box;justify-content:space-between;width:100%;gap:3px}
.hero .hero-live-rank .rank-tools .rank-periods button{flex:1;min-height:44px}
.hero .hero-live-rank .world-rank-top{align-items:flex-start}
.hero .hero-live-rank .rank-modes button[aria-pressed=true]{background:linear-gradient(120deg,#78dcff,#619bff);color:#10162c;box-shadow:0 2px 8px #619bff22}
.hero .hero-live-rank .rank-tools button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:850px){.hero .hero-live-rank .rank-tools{width:100%;align-items:stretch;margin:0}.hero .hero-live-rank .rank-tools .rank-periods button{padding:8px 6px}}

.hero .hero-live-rank .rank-tools label[for="home-rank-game"]{align-self:stretch}.hero .hero-live-rank #home-rank-game{width:100%;max-width:none;font:700 13px Arial,sans-serif;padding:12px 15px;border:1px solid #354969;border-radius:14px;background:#0d1629;color:#f4f5ff;min-height:44px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.catalog-grid{grid-template-columns:1fr}}
