/* Shared card artwork; all labels come from the matched provider catalog. */
.ow-game-art{position:relative;isolation:isolate;container-type:inline-size;display:block;padding:0;overflow:hidden;border-radius:14px;background:var(--game-accent,#8018b7);color:#fff;text-align:left;width:100%}
.ow-game-art>img{display:block;width:100%;height:auto;aspect-ratio:190/253;object-fit:contain;object-position:center top}
.ow-game-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,var(--game-accent) 69%,var(--game-accent) 100%);pointer-events:none;z-index:1}
.ow-game-art .game-caption{position:absolute;left:9%;right:7%;bottom:5.5%;z-index:2;display:flex;flex-direction:column;gap:8px;gap:3.7cqw;pointer-events:none;color:#fff}
.game-caption strong{font:700 22px/1.05 Poppins,Roboto,sans-serif;font-size:10.8cqw;text-transform:uppercase;letter-spacing:-.025em;overflow-wrap:anywhere}
.game-caption small{font:500 12px/1.2 Poppins,Roboto,sans-serif;font-size:5.7cqw}
.ow-game-action{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:12px;background:#160a2dbb;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s}
.game-confirm{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;max-width:180px;padding:12px 8px;border-radius:12px;background:linear-gradient(110deg,#97268c,#ca0bbd);color:#fff;box-shadow:inset 0 0 0 1px #ffffff40,0 5px 14px #16082240;font:700 14px/1.25 Poppins,Roboto,sans-serif;text-align:center;white-space:nowrap;flex-wrap:nowrap;word-break:normal;overflow-wrap:normal;font-size:clamp(10px,6.5cqw,14px)}
.ow-game-art:focus-visible .ow-game-action,.ow-game-art.ow-game-selected .ow-game-action{visibility:visible;opacity:1}
body.dark .game-confirm{background:linear-gradient(110deg,#ac28a0,#dd10cd);box-shadow:inset 0 0 0 1px #ef91e5,0 5px 14px #0006}
@media(hover:hover) and (min-width:701px){.ow-game-art:hover .ow-game-action{visibility:visible;opacity:1}}
@media(max-width:700px){.ow-game-art{border-radius:10px}.ow-game-art:focus-visible:not(.ow-game-selected) .ow-game-action{visibility:hidden;opacity:0}.game-confirm{font-size:13px}.catalog-grid-page,.catalog-grid-page.large-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.ow-game-action{transition:none}}
/* Auth artwork fills the previously empty campaign space without cropping text by default. */
@media(min-width:701px){
 .auth-campaign-space{position:relative;display:flex;align-items:center;justify-content:center;min-height:80px;margin:20px -18px;overflow:hidden;border-radius:16px}
 .auth-campaign-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center}
 .auth-campaign-image[hidden]{display:none}.auth-campaign-copy{flex:0 1 auto;max-height:50%}
}

/* Catalog space grows with the screen; art is contained instead of cropped. */
@media(min-width:701px){
 #route-page:has(.catalog-composition){width:94%;max-width:1900px}
 .catalog-composition.with-sidebar{grid-template-columns:clamp(145px,12vw,190px) minmax(0,1fr);gap:18px}
 .catalog-grid-page{grid-template-columns:repeat(auto-fill,minmax(min(100%,195px),1fr));gap:16px}
 .catalog-grid-page.large-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr))}
 .catalog-sidebar>h2{font-size:11px;padding:12px}
 .catalog-sidebar .popular-list>button{padding:9px;gap:8px}
 .catalog-sidebar .popular-list img{width:42px;height:52px;object-fit:contain}
 .catalog-sidebar .popular-list strong{font-size:11px;line-height:1.3}
 .catalog-sidebar .popular-list small,.catalog-sidebar .popular-list em{font-size:10px}
 .catalog-sidebar .popular-periods{height:42px}
}
@media(min-width:1600px){.catalog-grid-page{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}}

@media(min-width:701px){.game-track{grid-auto-columns:clamp(160px,12vw,220px)}}

/* Equal, readable form controls override the older compact phone input rules. */
.auth-panel .auth-field input:not([type=checkbox]),.auth-panel .auth-phone input,.auth-panel .auth-password input{box-sizing:border-box;min-width:0;width:100%;height:50px!important;min-height:50px;font-size:16px!important;line-height:1.3;padding:12px 14px!important}
.auth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.auth-grid>.auth-field{min-width:0}
.auth-phone{display:flex;align-items:stretch;min-height:50px;height:auto;overflow:hidden}
.auth-phone-country{flex:0 1 45%;width:45%;min-width:110px;max-width:190px;min-height:50px;border:0;border-right:1px solid #dbcbe6;background:#f3eaf8;color:#2d193c;font:500 14px Roboto,sans-serif;padding:8px;outline-offset:-3px}
.auth-phone-country option{background:#fff;color:#2d193c}
.auth-panel .auth-phone input{flex:1 1 0;width:0}
.auth-panel .auth-password .auth-eye{height:50px;flex-shrink:0}
.auth-panel .auth-password input{padding-right:48px!important}
@media(max-width:420px){.auth-grid{grid-template-columns:1fr}.auth-phone-country{font-size:12px;max-width:145px}}
@media(min-width:1400px){.auth-panel .auth-field input:not([type=checkbox]),.auth-panel .auth-phone input,.auth-panel .auth-password input{height:56px!important;min-height:56px}.auth-phone-country,.auth-phone{min-height:56px}.auth-panel .auth-password .auth-eye{height:56px}}
body.dark .auth-phone-country{background:#352342;color:#fff;border-color:#604672}body.dark .auth-phone-country option{background:#352342;color:#fff}

/* Desktop always has exactly six responsive cards; mobile retains two. */
@media(min-width:701px){
 .catalog-grid-page,.catalog-grid-page.large-cards{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 .game-track{grid-auto-columns:calc((100% - 5 * 16px)/6);gap:16px}
 .ow-game-art>img{width:100%;height:auto;aspect-ratio:190/253;object-fit:contain;object-position:center top}
 .game-confirm{padding-inline:3px;font-size:clamp(7px,6cqw,14px)}
}

@media(min-width:701px){.ow-game-action{padding:clamp(4px,5cqw,12px)}.catalog-layout{display:none}}

/* Readable registration consent and secure-domain controls on every viewport. */
.auth-panel .auth-check{display:flex;align-items:flex-start;gap:12px;font-size:16px!important;line-height:1.5;margin:18px 0;cursor:pointer}
.auth-panel .auth-check input[type=checkbox]{appearance:auto;width:24px!important;height:24px!important;min-width:24px;flex:0 0 24px;margin:0;accent-color:#b719a8}
.auth-panel .auth-check .auth-inline{font:inherit;text-decoration:underline;min-height:32px;padding:2px 0}
.auth-panel .auth-check small{font-size:14px}.auth-panel .auth-submit{min-height:54px;font-size:18px!important}
.auth-panel .auth-domain,.auth-backdrop[data-mode=login] .auth-domain{display:block;width:100%;max-width:none;margin:10px 0 18px}
.auth-panel .auth-domain summary,.auth-backdrop[data-mode=login] .auth-domain summary,.auth-panel .auth-domain.compact summary{height:auto;min-height:54px;font-size:16px;line-height:1.4;gap:10px;padding:12px 14px;flex-wrap:wrap}
.auth-domain summary b{overflow-wrap:anywhere}.auth-panel .auth-domain .domain-badge{font-size:11px;padding:4px 7px}.auth-panel .auth-domain img{width:22px;height:22px;flex-shrink:0}.auth-panel .auth-domain p{font-size:14px;line-height:1.5;padding:12px 14px}
@media(max-width:420px){.auth-panel .auth-domain summary{font-size:14px;padding:10px;gap:7px}.auth-panel .auth-check{font-size:15px!important}}
