/* Owlypia Games — shared layout, leaderboard, login notice */

/* Game routes: the Kadence title hero is the full-width orange band.
   The menu is transparent and sits on top of it, so hiding the hero
   and clearing only the menu height pulls the game card up underneath. */
body.owlypia-game-page .entry-hero {
    display: none;
}
body.owlypia-game-page .content-area {
    margin-top: 8.25rem;
}
body.owlypia-game-page .entry-content-wrap {
    padding: 0;
}
body.owlypia-game-page article.entry.content-bg {
    background: transparent;
    box-shadow: none;
}
body.owlypia-game-page .wpg-layout {
    max-width: none;
    width: 100%;
}
@media (max-width: 1024px) {
    body.owlypia-game-page .content-area {
        margin-top: 7.25rem;
    }
}
@media (max-width: 767px) {
    body.owlypia-game-page .content-area {
        margin-top: 6.25rem;
    }
}

.wpg-page {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
}

.wpg-back-hub {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 999px;
    background: linear-gradient(160deg, #2b1055, #4a1e7a);
    color: #ffd166;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(20, 8, 46, 0.35);
    width: fit-content;
    flex: 0 0 auto;
}
.wpg-back-hub:hover,
.wpg-back-hub:focus {
    color: #ff9f1c;
    text-decoration: none;
}

.wpg-game-wrap {
    position: relative;
    width: 100%;
    min-width: 0;
}
.wpg-game-wrap .wpg-back-hub {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 12;
    background: #fff6e8;
    color: #1a0a33;
    box-shadow: 0 3px 0 #c9b89a;
}
.wpg-game-wrap .wpg-back-hub:hover,
.wpg-game-wrap .wpg-back-hub:focus {
    background: #ffd166;
    color: #1a0a33;
    text-decoration: none;
}
.wpg-game-wrap .wpg-back-hub:focus-visible {
    outline: 3px solid #ffd166;
    outline-offset: 2px;
}
@media (max-width: 640px) {
    .wpg-game-wrap .wpg-back-hub {
        top: 12px;
        left: 12px;
        font-size: 13px;
        padding: 6px 12px;
    }
    .wpg-game-wrap > :not(.wpg-back-hub) {
        padding-top: 54px;
    }
    .wpg-game-wrap:has(.osd-back) > :not(.osd-back) {
        padding-top: 0;
    }
}

.wpg-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
}

/* Cover-art gradients, sampled from each hub card image. */
.wpg-layout[data-game="word_search"] {
    --wpg-card-gradient: linear-gradient(135deg, #5104b9 0%, #c62786 50%, #ff6428 100%);
}
.wpg-layout[data-game="sudoku"] {
    --wpg-card-gradient: linear-gradient(135deg, #0054d2 0%, #018edc 48%, #3ad4ea 100%);
}
.wpg-layout[data-game="anagram_race"] {
    --wpg-card-gradient: linear-gradient(135deg, #4c03be 0%, #d02878 50%, #ff5630 100%);
}
.wpg-layout[data-game="smart_friends"] {
    --wpg-card-gradient: linear-gradient(135deg, #0a4cef 0%, #5b22d6 46%, #d23a96 100%);
}
.wpg-layout[data-game="combinations"] {
    --wpg-card-gradient: linear-gradient(135deg, #5a04b8 0%, #e02a8c 48%, #ff5a38 100%);
}

.wpg-layout:has(.ows-root),
.wpg-layout:has(.sud-root),
.wpg-layout:has(.ar-root),
.wpg-layout:has(.sf-root),
.wpg-layout:has(.cmb-root) {
    max-width: none;
    width: 100%;
    box-sizing: border-box;
}
.wpg-layout:has(.ono-root),
.wpg-layout:has(.cry-root),
.wpg-layout:has(.arc-root) { max-width: 760px; }
.wpg-layout:has(.wpg-root),
.wpg-layout:has(.ph-root) { max-width: 640px; }
.wpg-layout:has(.mm-root),
.wpg-layout:has(.wl-root) { max-width: 520px; }

.wpg-layout .wpg-root,
.wpg-layout .ows-root,
.wpg-layout .ono-root,
.wpg-layout .cry-root,
.wpg-layout .sud-root,
.wpg-layout .mm-root,
.wpg-layout .ph-root,
.wpg-layout .ar-root,
.wpg-layout .sf-root,
.wpg-layout .wl-root,
.wpg-layout .cmb-root,
.wpg-layout .arc-root {
    width: 100%;
    min-width: 0;
    margin: 0;
}
.wpg-layout .ows-root,
.wpg-layout .sud-root,
.wpg-layout .ar-root,
.wpg-layout .sf-root,
.wpg-layout .cmb-root {
    max-width: none;
    box-sizing: border-box;
}

.wpg-leaderboard {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
    border-radius: 24px;
    padding: 20px 18px;
    background: var(--wpg-card-gradient, linear-gradient(160deg, #2b1055, #4a1e7a));
    box-shadow: 0 12px 34px rgba(20, 8, 46, 0.45);
    font-family: 'Segoe UI', 'Comic Sans MS', system-ui, sans-serif;
    color: #e8ddff;
}

.wpg-lb-title {
    text-align: center;
    font-size: 20px;
    font-weight: 800;
    color: #ff9f1c;
    text-shadow: 0 2px 0 rgba(0, 0, 0, 0.35);
    margin-bottom: 12px;
}

.wpg-lb-loading,
.wpg-lb-empty {
    text-align: center;
    color: #cbb8ee;
    font-size: 14px;
    padding: 10px 0;
}

.wpg-lb-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wpg-lb-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    margin: 4px 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    font-size: 14px;
}
.wpg-layout[data-game="word_search"] .wpg-lb-row:not(.wpg-lb-me-row),
.wpg-layout[data-game="sudoku"] .wpg-lb-row:not(.wpg-lb-me-row),
.wpg-layout[data-game="anagram_race"] .wpg-lb-row:not(.wpg-lb-me-row),
.wpg-layout[data-game="smart_friends"] .wpg-lb-row:not(.wpg-lb-me-row),
.wpg-layout[data-game="combinations"] .wpg-lb-row:not(.wpg-lb-me-row) {
    background: rgba(12, 6, 28, 0.4);
}

.wpg-lb-row.wpg-lb-me-row {
    background: rgba(255, 159, 28, 0.18);
    box-shadow: inset 0 0 0 2px rgba(255, 159, 28, 0.6);
}

.wpg-lb-rank {
    width: 32px;
    text-align: right;
    font-weight: 800;
    color: #ffd166;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.wpg-lb-medal {
    width: 20px;
    text-align: center;
    flex-shrink: 0;
}

.wpg-lb-avatar {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.wpg-lb-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #fff;
    font-weight: 600;
}

.wpg-lb-who {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpg-lb-who .wpg-lb-name {
    flex: 0 1 auto;
}

.wpg-lb-top20 {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #2b1055;
    background: linear-gradient(180deg, #ffe08a, #ff9f1c);
    border-radius: 999px;
    padding: 2px 8px;
    line-height: 1.35;
    white-space: nowrap;
}

.wpg-lb-top20-all {
    box-shadow: 0 0 0 1px rgba(255, 209, 102, 0.7);
}

.wpg-lb-mine .wpg-lb-top20 {
    margin-left: 8px;
    display: inline-block;
    vertical-align: middle;
}

.wpg-lb-pts {
    font-weight: 800;
    color: #ffd166;
    font-variant-numeric: tabular-nums;
}

.wpg-lb-mine {
    margin-top: 12px;
    padding: 10px;
    text-align: center;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.25);
    font-size: 14px;
}

.wpg-lb-mine strong {
    color: #ff9f1c;
}

.wpg-login-required {
    max-width: 640px;
    margin: 0 auto;
    padding: 26px 30px;
    border-radius: 20px;
    background: linear-gradient(160deg, #2b1055, #4a1e7a);
    color: #ffd166;
    font-family: 'Segoe UI', 'Comic Sans MS', system-ui, sans-serif;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    box-shadow: 0 12px 34px rgba(20, 8, 46, 0.45);
}

.wpg-login-required strong {
    color: #ff9f1c;
}

.wpg-how-to {
    margin: 10px 0 8px;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.18);
}
.wpg-how-to-gif {
    display: block;
    width: 100%;
    max-width: 420px;
    height: auto;
    margin: 0 auto;
}

.wpg-admin-note {
    width: 100%;
    padding: 8px 14px;
    border-radius: 10px;
    background: rgba(230, 57, 70, 0.15);
    border: 1px dashed rgba(230, 57, 70, 0.55);
    color: #b02a37;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-size: 13px;
    text-align: center;
}

.owlypia-confetti {
    position: absolute;
    top: -28px;
    z-index: 40;
    pointer-events: none;
    animation-name: owlypia-fall;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}
@keyframes owlypia-fall {
    0% { transform: translateY(0) rotate(0deg); opacity: 1; }
    100% { transform: translateY(110vh) rotate(420deg); opacity: 0.65; }
}

.wpg-versus-root { position: relative; }

.wpg-challenge-btn {
    border: 0;
    background: #ff9f1c;
    color: #34145e;
    font-weight: 800;
    padding: 7px 14px;
    border-radius: 999px;
    cursor: pointer;
}
.wpg-challenge-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
}
.wpg-hud-duel-btns { display: contents; }
.wpg-leave-btn {
    border: 0;
    background: #7a3e6a;
    color: #ffe8f1;
    font-weight: 800;
    padding: 7px 14px;
    border-radius: 999px;
    cursor: pointer;
}
.wpg-leave-btn.wpg-hidden,
.wpg-hud-challenge.wpg-hidden {
    display: none;
}
.wpg-leave-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 12px;
}
.wpg-leave-confirm {
    border: 0;
    background: #e63946;
    color: #fff;
    font-weight: 800;
    padding: 8px 16px;
    border-radius: 999px;
    cursor: pointer;
}

.wpg-versus {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 12px;
    padding: 10px 12px;
    background: rgba(0, 0, 0, 0.28);
    border-radius: 16px;
    border: 1px solid rgba(255, 209, 102, 0.28);
}
.wpg-versus.wpg-hidden { display: none; }
.wpg-vs-player {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.wpg-vs-player.wpg-vs-you { justify-content: flex-end; text-align: right; }
.wpg-vs-player.wpg-vs-opp { justify-content: flex-start; text-align: left; }
.wpg-vs-av {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 209, 102, 0.7);
    flex-shrink: 0;
}
.wpg-vs-meta { min-width: 0; }
.wpg-vs-name {
    color: #fff;
    font-weight: 800;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}
.wpg-vs-score {
    color: #ffd166;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    font-size: 18px;
}
.wpg-vs-found { display: none; }
.wpg-duel-lost {
    color: #ff6b8a !important;
    letter-spacing: 0.18em;
    font-weight: 900;
}
.wpg-vs-mid {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #ff9f1c;
    font-weight: 900;
    letter-spacing: 1px;
    font-size: 14px;
    padding: 0 6px;
}
.wpg-vs-lead { font-size: 11px; color: #7bd389; font-weight: 800; letter-spacing: 0; }
.wpg-vs-trail { color: #ff8fa3; }

.wpg-duel-overlay {
    position: absolute;
    inset: 0;
    background: rgba(24, 8, 50, 0.82);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    border-radius: 24px;
    padding: 16px 12px;
}
.wpg-duel-overlay.wpg-hidden { display: none; }
.wpg-search-card {
    text-align: center;
    padding: 22px 28px;
    background: linear-gradient(160deg, #3d1670, #5b2a92);
    border: 2px solid rgba(255, 209, 102, 0.5);
    border-radius: 20px;
    max-width: 90%;
}
.wpg-search-pulse {
    width: 54px;
    height: 54px;
    margin: 0 auto 12px;
    border-radius: 50%;
    border: 4px solid rgba(255, 159, 28, 0.25);
    border-top-color: #ff9f1c;
    animation: wpg-spin 0.9s linear infinite;
}
@keyframes wpg-spin { to { transform: rotate(360deg); } }
.wpg-search-title { color: #ff9f1c; font-size: 22px; font-weight: 800; }
.wpg-search-copy { color: #e8ddff; margin: 8px 0 4px; font-size: 14px; }
.wpg-search-count {
    color: #ffd166;
    font-size: 42px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    margin: 4px 0 16px;
}
.wpg-cancel-btn {
    border: 0;
    background: #e63946;
    color: #fff;
    font-weight: 800;
    padding: 10px 20px;
    border-radius: 999px;
    cursor: pointer;
}

.wpg-lobby,
.wpg-lobby-actions {
    display: contents;
}
.wpg-start-btn {
    border: 0;
    background: #2a9d8f;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    padding: 7px 14px;
    border-radius: 999px;
    cursor: pointer;
    box-shadow: 0 3px 0 #1d6f66;
}
.wpg-start-btn:disabled,
.wpg-lobby .wpg-challenge-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
}
.wpg-versus-root:not(.wpg-idle) .wpg-lobby {
    display: none;
}
.wpg-versus-root.wpg-idle:has(.wpg-duel-overlay:not(.wpg-hidden)) .wpg-lobby,
.wpg-versus-root.wpg-idle:has(.wpg-duel-overlay:not(.wpg-hidden)) .wpg-idle-gate {
    display: none;
}
.wpg-versus-root.wpg-idle .ows-hud,
.wpg-versus-root.wpg-idle .sud-hud,
.wpg-versus-root.wpg-idle .ar-hud,
.wpg-versus-root.wpg-idle .sf-hud,
.wpg-versus-root.wpg-idle .cmb-hud,
.wpg-versus-root.wpg-idle .ows-hud-item,
.wpg-versus-root.wpg-idle .sud-hud-item,
.wpg-versus-root.wpg-idle .ar-hud-item,
.wpg-versus-root.wpg-idle .sf-hud-item,
.wpg-versus-root.wpg-idle .cmb-hud-item,
.wpg-versus-root.wpg-idle .arc-hud-item,
.wpg-versus-root.wpg-idle .ows-new-btn,
.wpg-versus-root.wpg-idle .sud-new-btn,
.wpg-versus-root.wpg-idle .ar-new-btn,
.wpg-versus-root.wpg-idle .sf-new-btn,
.wpg-versus-root.wpg-idle .cmb-new-btn,
.wpg-versus-root.wpg-idle .arc-new-btn,
.wpg-versus-root.wpg-idle .cmb-give-btn,
.wpg-versus-root.wpg-idle .wpg-hud-challenge,
.wpg-versus-root.wpg-idle .wpg-leave-btn,
.wpg-versus-root.wpg-idle .ows-hint,
.wpg-versus-root.wpg-idle .sud-hint,
.wpg-versus-root.wpg-idle .ar-hint,
.wpg-versus-root.wpg-idle .sf-hint {
    display: none;
}
.wpg-versus-root.wpg-idle .sud-stage,
.wpg-versus-root.wpg-idle .sud-pad,
.wpg-versus-root.wpg-idle .ar-stage,
.wpg-versus-root.wpg-idle .ar-form,
.wpg-versus-root.wpg-idle .ar-found,
.wpg-versus-root.wpg-idle .sf-body,
.wpg-versus-root.wpg-idle .sf-tray,
.wpg-versus-root.wpg-idle .arc-play {
    pointer-events: none;
}

.wpg-play-shell {
    position: relative;
}
.wpg-versus-root.wpg-idle .wpg-play-shell {
    min-height: 260px;
    overflow: hidden;
    border-radius: 16px;
}
.wpg-versus-root.wpg-idle .wpg-play-shell > :not(.wpg-idle-gate) {
    filter: blur(8px);
    opacity: 0.5;
    pointer-events: none;
    user-select: none;
}
.wpg-idle-gate {
    display: none;
}
.wpg-versus-root.wpg-idle .wpg-idle-gate {
    display: flex;
    position: absolute;
    inset: 0;
    z-index: 12;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(24, 8, 50, 0.42);
    pointer-events: auto;
}
.wpg-idle-gate-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 22px 24px 20px;
    background: linear-gradient(160deg, #3d1670, #5b2a92);
    border: 2px solid rgba(255, 209, 102, 0.55);
    border-radius: 20px;
    max-width: 360px;
    width: min(360px, 100%);
    box-shadow: 0 12px 28px rgba(20, 8, 46, 0.45);
}
.wpg-idle-gate-title {
    color: #ff9f1c;
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 8px;
}
.wpg-idle-gate-copy {
    color: #e8ddff;
    font-size: 14px;
    line-height: 1.45;
    margin: 0 0 16px;
}
.wpg-idle-gate .wpg-lobby {
    display: block;
}
.wpg-idle-gate .wpg-lobby-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}
.wpg-idle-gate .wpg-start-btn,
.wpg-idle-gate .wpg-challenge-btn {
    font-size: 15px;
    padding: 11px 22px;
}

.wpg-invite-host {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 100000;
    align-items: center;
    justify-content: center;
    background: rgba(24, 8, 50, 0.78);
    padding: 16px;
}
.wpg-invite-host.wpg-invite-host-on {
    display: flex;
}
.wpg-invite-card {
    background: linear-gradient(160deg, #2b1055, #4a1e7a);
    color: #e8ddff;
    border: 2px solid #ff9f1c;
    border-radius: 20px;
    padding: 22px 24px;
    box-shadow: 0 12px 34px rgba(20, 8, 46, 0.5);
    font-family: 'Segoe UI', system-ui, sans-serif;
    text-align: center;
    width: min(420px, 100%);
}
.wpg-invite-title { color: #ff9f1c; font-weight: 800; font-size: 22px; }
.wpg-invite-copy { margin: 8px 0 4px; font-size: 16px; font-weight: 700; }
.wpg-invite-hint { color: #cbb8ee; font-size: 13px; margin-bottom: 16px; }
.wpg-invite-actions { display: flex; gap: 8px; justify-content: center; }
.wpg-invite-accept,
.wpg-invite-dismiss {
    border: 0;
    font-weight: 800;
    padding: 10px 18px;
    border-radius: 999px;
    cursor: pointer;
}
.wpg-invite-accept { background: #ff9f1c; color: #34145e; }
.wpg-invite-dismiss { background: rgba(255, 255, 255, 0.16); color: #fff; }

.wpg-ranking {
    max-width: 520px;
    margin: 0 auto;
    border-radius: 24px;
    padding: 20px 18px;
    background: linear-gradient(160deg, #2b1055, #4a1e7a);
    box-shadow: 0 12px 34px rgba(20, 8, 46, 0.45);
    font-family: 'Segoe UI', 'Comic Sans MS', system-ui, sans-serif;
    color: #e8ddff;
}
.wpg-ranking-note {
    text-align: center;
    color: #cbb8ee;
    font-size: 13px;
    margin: -4px 0 14px;
}

.ows-levels.wpg-locked,
.sud-levels.wpg-locked,
.ar-levels.wpg-locked,
.sf-levels.wpg-locked,
.cmb-levels.wpg-locked,
.arc-levels.wpg-locked {
    opacity: .55;
    pointer-events: none;
}

.owlypia-games-hub-page .owlypia-section-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
    margin: 0 0 8px;
    padding: 0;
}
.owlypia-games-hub-page .owlypia-section-subtitle {
    margin: 0 auto 8px;
    text-align: center;
}
.owlypia-games-hub-page .owlypia-section-subtitle:last-of-type {
    margin-bottom: 24px;
}
.owlypia-games-list-head {
    max-width: 1140px;
    margin: 0 auto 18px;
    text-align: left;
}
.owlypia-games-list-title {
    margin: 0 0 6px;
    padding: 0;
    color: #0b1f4d;
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    text-align: left;
}
.owlypia-games-list-lead {
    margin: 0 0 16px;
    color: #667085;
    font-size: 0.98rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}
.owlypia-games-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.owlypia-games-filter {
    appearance: none;
    margin: 0;
    padding: 8px 16px;
    border: 1px solid #e4e7ec;
    border-radius: 999px;
    background: #fff;
    color: #1d2939;
    font-family: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}
.owlypia-games-filter.is-active {
    background: #1b2436;
    border-color: #1b2436;
    color: #fff;
}
.owlypia-games-empty {
    max-width: 1140px;
    margin: 8px auto 24px;
    color: #667085;
    text-align: left;
}
.owlypia-games-hub {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
    max-width: 1140px;
    width: 100%;
    margin: 0 auto 30px auto;
}
.owlypia-game-card[hidden],
.owlypia-game-card.is-hidden {
    display: none !important;
}
.owlypia-game-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-self: start;
    height: auto;
    padding: 0;
    min-height: 0;
    border-radius: 12px;
    text-decoration: none !important;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #f6f1ea !important;
}
.owlypia-game-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.owlypia-game-card-cover {
    width: 100%;
    height: auto;
    aspect-ratio: 826 / 380;
    display: block;
    box-sizing: border-box;
    padding: 6px 6px 0;
    background: #f6f1ea;
    border-radius: 12px 12px 0 0;
    object-fit: contain;
    object-position: center;
}
.owlypia-game-card .owlypia-game-card-stats {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 6px 12px 8px;
    min-height: 28px;
    box-sizing: border-box;
    border: 0;
    border-radius: 0;
    background: #f6f1ea;
    color: #5c4a72;
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-decoration: none;
}
.owlypia-game-card .owlypia-game-card-rank {
    color: #b45309;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}
.owlypia-game-card .owlypia-game-card-score {
    color: #5b4578;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}
.owlypia-game-card .owlypia-game-card-stats--empty .owlypia-game-card-rank,
.owlypia-game-card .owlypia-game-card-stats--empty .owlypia-game-card-score {
    color: #8a7a9a;
    font-weight: 600;
}
@media (max-width: 1024px) {
    .owlypia-games-hub {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
    }
}
@media (max-width: 768px) {
    .owlypia-games-hub {
        grid-template-columns: 1fr;
    }
}

.wpg-win-host {
    position: relative;
}
.wpg-win-host > .ar-win-title,
.wpg-win-host > .sud-win-title,
.wpg-win-host > .ows-win-title,
.wpg-win-host > .cmb-win-title,
.wpg-win-host > .sf-result-title {
    padding: 0 28px;
}
.wpg-win-close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.wpg-win-close:hover,
.wpg-win-close:focus-visible {
    background: rgba(255, 255, 255, 0.3);
    color: #fff;
    outline: none;
}
.wpg-win-close:focus-visible {
    box-shadow: 0 0 0 3px rgba(255, 209, 102, 0.7);
}
