/* Aureum login gate — scoped to the dialog, no existing page layout changes. */
html.login-gate-open { overflow: hidden; }
.login-gate {
    position: fixed; inset: 0; margin: auto;
    width: min(930px, calc(100vw - 36px)); max-width: 930px; max-height: min(90vh, 740px);
    padding: 0; overflow: auto; color: #f7eedf;
    border: 1px solid rgba(239, 175, 77, .48); border-radius: 22px;
    background: #0e1218;
    box-shadow: 0 35px 110px rgba(0,0,0,.85), 0 0 60px rgba(220,140,30,.13), inset 0 1px rgba(255,219,143,.13);
    font-family: Inter, 'Segoe UI', Arial, sans-serif;
}
.login-gate::backdrop { background: rgba(2, 4, 7, .83); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
.login-gate[open] { animation: login-gate-appear .25s ease-out both; }
@keyframes login-gate-appear { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
.login-gate * { box-sizing: border-box; }
.login-gate-grid { display: grid; grid-template-columns: 40% 60%; min-height: 505px; }
.login-gate-art {
    position: relative; isolation: isolate; display: flex; flex-direction: column;
    align-items: center; justify-content: space-between; padding: 26px 23px 24px;
    background: #130e09 url('/assets/gold-soldiers.webp') 73% center / cover no-repeat;
    border-right: 1px solid rgba(250,183,79,.25); overflow: hidden;
}
.login-gate-art::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,12,16,.38), rgba(6,9,14,.32) 32%, rgba(7,10,14,.52) 63%, rgba(6,8,12,.9)), linear-gradient(90deg,rgba(5,7,9,.35),transparent 75%); }
.login-gate-art::after { content: ''; position: absolute; z-index: -1; width: 350px; height: 350px; top: 23%; left: 50%; transform: translateX(-50%); background: radial-gradient(circle,rgba(238,164,56,.22),transparent 68%); pointer-events: none; }
.login-gate-art-top { align-self: flex-start; font-size: 11px; font-weight: 850; letter-spacing: 2.4px; color: #ffe0a2; text-shadow: 0 1px 12px #000; }
.login-gate-spark { color: #ffc366; font-size: 18px; vertical-align: -1px; margin-right: 5px; }
.login-gate-emblem-wrap { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.login-gate-emblem {
    position: relative; display: grid; place-items: center; width: 220px; height: 220px; border-radius: 50%;
    background: radial-gradient(circle at 40% 34%, #28303b 0%, #10151c 50%, #090d13 72%),
                conic-gradient(from 30deg,#6c4016,#ffe6a0,#b57424,#fff0b4,#7a4c18);
    border: 5px solid #ad742d;
    box-shadow: 0 0 0 2px #0b0d11, 0 0 0 5px rgba(240,177,72,.42), 0 0 38px rgba(246,163,42,.47), inset 0 0 45px #000;
}
.login-gate-emblem::before { content: ''; position: absolute; inset: 12px; border-radius: 50%; border: 1px dashed rgba(255,211,127,.48); box-shadow: inset 0 0 20px rgba(234,157,45,.16); }
.login-gate-emblem::after { content: ''; position: absolute; inset: 24px; border-radius: 50%; border: 1px solid rgba(255,194,86,.19); }
.login-gate-emblem > span { position: relative; z-index: 1; font-size: 84px; font-weight: 950; letter-spacing: -6px; line-height: 1; color: #ffe3a0; text-shadow: 0 0 22px rgba(255,182,61,.8), 0 3px 0 #5a340e; }
.login-gate-plus {
    font-size: 43px;
    vertical-align: baseline;
    letter-spacing: 0;
}
.login-gate-emblem-caption { font-size: 11px; letter-spacing: 3px; font-weight: 900; color: #ffe2a8; text-shadow: 0 2px 12px #000; }
.login-gate-art-bottom { align-self: flex-start; font-size: 10px; letter-spacing: 1.5px; font-weight: 750; color: #e5c897; }
.login-gate-gold-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #ffbe51; box-shadow: 0 0 10px #ffb43b; margin-right: 7px; vertical-align: 1px; }
.login-gate-content { position: relative; display: flex; flex-direction: column; padding: 52px 46px 33px; background: radial-gradient(circle at 94% 4%, rgba(166,105,29,.13), transparent 46%), linear-gradient(135deg,#171b22,#0e1218 72%); }
.login-gate-close { position: absolute; top: 16px; right: 18px; border: 1px solid transparent; background: transparent; color: #938c82; width: 32px; height: 32px; border-radius: 8px; font-size: 26px; line-height: 25px; cursor: pointer; }
.login-gate-close:hover { color: #ffe0a4; border-color: rgba(255,200,105,.24); background: rgba(255,195,80,.07); }
.login-gate-kicker { font-size: 10px; font-weight: 850; letter-spacing: 2.3px; color: #dcb375; margin-bottom: 15px; }
.login-gate h2 { margin: 0; font-size: clamp(27px,3.6vw,37px); line-height: 1.13; font-weight: 950; letter-spacing: .7px; color: #fff3df; }
.login-gate h2 span { color: #ffbd4e; }
.login-gate-description { margin: 18px 0 25px; font-size: 14px; line-height: 1.65; color: #bcb9b5; max-width: 420px; }
.login-gate-separator { display: flex; align-items: center; gap: 12px; font-size: 10px; font-weight: 800; letter-spacing: 1.7px; color: #8e8e90; margin-bottom: 12px; }
.login-gate-separator::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg,rgba(231,166,65,.35),transparent); }
.login-gate-checks { display: flex; flex-direction: column; gap: 10px; }
.login-gate-check-row { display: flex; align-items: flex-start; gap: 13px; border: 1px solid rgba(230,176,96,.15); border-radius: 11px; padding: 13px 14px; background: rgba(5,8,12,.48); transition: border-color .2s, background .2s; }
.login-gate-check-row:has(input:checked) { border-color: rgba(244,183,85,.58); background: rgba(255,176,49,.065); }
.login-gate-check-row input { appearance: none; -webkit-appearance: none; flex: 0 0 19px; width: 19px; height: 19px; margin: 2px 0 0; border: 1px solid #947342; border-radius: 5px; background: #11151b; cursor: pointer; position: relative; }
.login-gate-check-row input:checked { background: linear-gradient(145deg,#ffe39a,#eaa335); border-color: #ffdf9d; }
.login-gate-check-row input:checked::after { content: ''; position: absolute; top: 2px; left: 6px; width: 4px; height: 9px; border: solid #261808; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.login-gate-check-row label { cursor: pointer; flex: 1; color: #e8e2d8; font-size: 12px; line-height: 1.5; }
.login-gate-check-row label strong { display: block; font-size: 12px; font-weight: 750; }
.login-gate-check-row label small { display: block; margin-top: 2px; font-size: 11px; color: #9c9b9b; }
.login-gate-check-row a { color: #ffcb70; text-decoration: underline; text-underline-offset: 3px; }
.login-gate-check-row a:hover { color: #fff0be; }
.login-gate-continue { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 22px; min-height: 51px; width: 100%; border: 1px solid #ffdb93; border-radius: 9px; background: linear-gradient(115deg,#ffe29b,#ffc04d 47%,#e99a27); color: #1e150b; font-size: 13px; font-weight: 950; letter-spacing: .6px; cursor: pointer; box-shadow: 0 9px 24px rgba(255,169,47,.17),inset 0 1px #fff4cf; }
.login-gate-continue i { font-size: 18px; }
.login-gate-continue:not(:disabled):hover { filter: brightness(1.1); transform: translateY(-1px); box-shadow: 0 12px 28px rgba(255,169,47,.28); }
.login-gate-continue:disabled { cursor: not-allowed; background: #33302a; color: #858078; border-color: #4e4435; box-shadow: none; }
.login-gate-error { margin: 8px 0 0; min-height: 16px; font-size: 11px; color: #ff9c92; text-align: center; }
.login-gate-disclaimer { margin: auto 0 0; padding-top: 9px; color: #7e8187; font-size: 10px; text-align: center; line-height: 1.5; }
@media (max-width: 700px) {
    .login-gate { width: min(450px,calc(100vw - 20px)); max-height: 92dvh; border-radius: 16px; }
    .login-gate-grid { grid-template-columns: 1fr; }
    .login-gate-art { min-height: 160px; padding: 14px 20px; background-position: 80% 45%; }
    .login-gate-art-top { font-size: 9px; }
    .login-gate-emblem-wrap { position: absolute; left: 22px; top: 50%; transform: translateY(-45%); gap: 6px; }
    .login-gate-emblem { width: 95px; height: 95px; border-width: 3px; }
    .login-gate-emblem::before { inset: 7px; }
    .login-gate-emblem::after { inset: 13px; }
    .login-gate-emblem > span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    font-size: 84px;
    font-weight: 950;
    letter-spacing: -3px;
    line-height: 1;
    color: #ffe3a0;
    text-shadow: 0 0 22px rgba(255,182,61,.8), 0 3px 0 #5a340e;
}
    .login-gate-plus { font-size: 22px; vertical-align: 8px; }
    .login-gate-emblem-caption { font-size: 8px; letter-spacing: 1px; }
    .login-gate-art-bottom { align-self: flex-end; font-size: 8px; }
    .login-gate-content { padding: 33px 22px 23px; }
    .login-gate h2 { font-size: 30px; }
    .login-gate-description { margin: 12px 0 18px; font-size: 13px; }
    .login-gate-check-row { padding: 10px; }
    .login-gate-continue { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) { .login-gate[open] { animation: none; } }
.login-gate-emblem-wrap {
    margin: auto 0;
}

/* Center the complete 18+ emblem */
.login-gate-emblem {
    position: relative;
}

.login-gate-emblem > span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 5px));

    display: flex;
    align-items: center;
    justify-content: center;

    width: max-content;
    line-height: 1;
}

/* Raise the + without moving the 18 */
.login-gate-emblem .login-gate-plus {
    display: inline-block;
    font-size: 43px;
    line-height: 1;
    vertical-align: initial;
    transform: translateY(-3px);
}