.game-grid > a.game-card { display: block; color: inherit; text-decoration: none; cursor: pointer; }
.game-grid > a.game-card[hidden] { display: none; }
.game-grid > a.game-card:focus-visible { outline: 3px solid #7ffff0; outline-offset: 6px; }
body.game-entry-open { overflow: hidden; }
.game-entry-dialog {
    box-sizing: border-box;
    width: min(660px, calc(100% - 28px));
    max-height: calc(100dvh - 28px);
    margin: auto;
    padding: 26px;
    overflow: auto;
    overscroll-behavior: contain;
    color: #fff;
    background: linear-gradient(145deg, #2c1555, #130a2d);
    border: 1px solid #9977c9;
    border-radius: 24px;
    box-shadow: 0 24px 90px #0009;
}
.game-entry-dialog::backdrop { background: #08051dcc; backdrop-filter: blur(6px); }
.game-entry-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.game-entry-heading h2 { margin: 0; font-size: clamp(23px, 5vw, 30px); }
.game-entry-heading p { margin: 8px 0 0; color: #e0d3f4; overflow-wrap: anywhere; }
.game-entry-close { flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid #b39aca; border-radius: 50%; background: #ffffff10; color: #fff; font: 28px/1 sans-serif; cursor: pointer; }
.game-entry-tabs { display: flex; gap: 8px; margin-top: 22px; }
.game-entry-tabs button { flex: 1; min-height: 44px; padding: 10px; border: 1px solid #8e72b3; border-radius: 12px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.game-entry-tabs button[aria-pressed="true"] { background: #c4ffdf; border-color: #c4ffdf; color: #151329; font-weight: 700; }
.game-entry-dialog :focus-visible { outline: 3px solid #7ffff0; outline-offset: 3px; }
.game-entry-dialog button:disabled { cursor: wait; opacity: .65; }
.game-entry-status { color: #ffe7a4; margin: 16px 0; }
.game-entry-status:empty { display: none; }
.game-entry-dialog .auth-panel,
.game-entry-dialog .auth-panel.auth-panel-wide { width: 100%; max-width: none; margin: 22px 0 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; transform: none; }
.game-entry-dialog .auth-panel::before,
.game-entry-dialog .auth-panel::after,
.game-entry-dialog .auth-panel-topline,
.game-entry-dialog .auth-panel > h2 { display: none; }
.game-entry-dialog .auth-panel .auth-panel-lede { margin-top: 0; }
.game-entry-fallback { margin: 22px 0 0; color: #d9cce9; font-size: 13px; }
.game-entry-fallback a { color: #c4ffdf; text-decoration: underline; }
@media (max-width: 540px) {
    .game-entry-dialog { padding: 20px 16px; border-radius: 18px; }
    .game-entry-dialog .auth-form-grid { grid-template-columns: 1fr; }
}
