:root{
    color-scheme:dark;
    --auth-black:#030505;
    --auth-panel:#090b0b;
    --auth-panel-2:#0d1010;
    --auth-gold:#d4af37;
    --auth-gold-dark:#7d5b13;
    --auth-ivory:#f2e8cf;
    --auth-muted:#aaa18c;
    --auth-crimson:#8f1726;
    --auth-danger:#ff8b96;
    --auth-success:#92c89a;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
.authx-body{
    background:
        radial-gradient(circle at 50% 10%,rgba(143,23,38,.12),transparent 34rem),
        linear-gradient(180deg,#020303 0%,#070909 100%);
    color:var(--auth-ivory);
    font-family:Arial,Helvetica,sans-serif;
}
.authx-motto{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-bottom:1px solid var(--auth-gold-dark);
    color:var(--auth-gold);
    font:700 11px Georgia,serif;
    letter-spacing:.2em;
    text-transform:uppercase;
}
.authx-page{
    width:min(960px,calc(100% - 32px));
    margin:0 auto;
    padding:32px 0 48px;
}
.authx-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:0 auto 28px;
    text-align:left;
}
.authx-seal{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid var(--auth-gold-dark);
    color:var(--auth-gold);
    font-size:27px;
    transform:rotate(45deg);
}
.authx-seal::first-letter{transform:rotate(-45deg)}
.authx-party{
    color:var(--auth-ivory);
    text-decoration:none;
    font:700 clamp(22px,4vw,32px) Georgia,serif;
}
.authx-brand p{
    margin:5px 0 0;
    color:var(--auth-muted);
    font:14px Georgia,serif;
}
.authx-card{
    width:min(560px,100%);
    margin:0 auto;
    padding:clamp(24px,5vw,42px);
    border:1px solid var(--auth-gold-dark);
    border-top:4px solid var(--auth-crimson);
    background:linear-gradient(145deg,rgba(14,17,17,.98),rgba(5,7,7,.98));
    box-shadow:0 22px 70px rgba(0,0,0,.62);
}
.authx-kicker{
    color:var(--auth-gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.authx-card h1{
    margin:10px 0 12px;
    color:var(--auth-ivory);
    font:700 clamp(28px,5vw,40px) Georgia,serif;
    line-height:1.05;
}
.authx-intro{
    margin:0 0 22px;
    color:#d8d0bd;
    line-height:1.55;
}
.authx-account-summary{
    display:flex;
    justify-content:space-between;
    gap:18px;
    margin:20px 0;
    padding:13px 15px;
    border:1px solid rgba(212,175,55,.28);
    background:#050707;
}
.authx-account-summary span{color:var(--auth-muted)}
.authx-account-summary strong{color:var(--auth-gold)}
.authx-expiration{
    padding:11px 13px;
    border-left:3px solid var(--auth-gold);
    background:rgba(212,175,55,.07);
    color:var(--auth-muted);
    line-height:1.45;
}
.authx-expiration strong{color:var(--auth-ivory)}
.authx-form{display:grid;gap:10px;margin-top:22px}
.authx-form label{
    margin-top:5px;
    color:var(--auth-ivory);
    font-weight:700;
}
.authx-form input[type="text"],
.authx-form input[type="password"]{
    width:100%;
    min-height:48px;
    padding:11px 13px;
    border:1px solid #6f654e;
    border-radius:0;
    outline:none;
    background:#020303;
    color:#fff;
    font-size:16px;
}
.authx-form input:focus{
    border-color:var(--auth-gold);
    box-shadow:0 0 0 3px rgba(212,175,55,.13);
}
.authx-password-row{
    display:grid;
    grid-template-columns:1fr auto;
}
.authx-password-row input{grid-column:1/-1;grid-row:1}
.authx-reveal{
    grid-column:2;
    grid-row:1;
    z-index:1;
    border:0;
    border-left:1px solid #49412f;
    background:transparent;
    color:var(--auth-gold);
    padding:0 14px;
    cursor:pointer;
    font-weight:700;
}
.authx-field-note{
    margin:0 0 4px;
    color:var(--auth-muted);
    font-size:13px;
}
.authx-check{
    display:flex;
    align-items:center;
    gap:9px;
    margin:6px 0;
    color:#d8d0bd!important;
    font-weight:400!important;
}
.authx-check input{accent-color:var(--auth-gold)}
.authx-primary,
.authx-secondary{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    font-weight:800;
}
.authx-primary{
    margin-top:8px;
    border:1px solid #f0cf59;
    background:linear-gradient(180deg,#dfbc42,#b38e22);
    color:#080808;
}
.authx-primary:hover{filter:brightness(1.08)}
.authx-primary:disabled{
    cursor:not-allowed;
    filter:grayscale(1);
    opacity:.55;
}
.authx-secondary{
    border:1px solid var(--auth-gold-dark);
    background:#050707;
    color:var(--auth-gold);
}
.authx-divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:28px 0 14px;
    color:var(--auth-muted);
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.authx-divider::before,.authx-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:rgba(212,175,55,.25);
}
.authx-secondary-copy{
    color:var(--auth-muted);
    line-height:1.5;
}
.authx-error{
    margin:18px 0;
    padding:12px 14px;
    border-left:4px solid var(--auth-crimson);
    background:rgba(143,23,38,.15);
    color:var(--auth-danger);
    line-height:1.45;
}
.authx-error[hidden]{display:none}
.authx-match{min-height:20px;font-size:13px}
.authx-match.is-valid{color:var(--auth-success)}
.authx-match.is-invalid{color:var(--auth-danger)}
.authx-complete{text-align:center}
.authx-success-mark{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    margin:0 auto 18px;
    border:1px solid var(--auth-gold);
    border-radius:50%;
    color:var(--auth-success);
    font-size:34px;
}
.authx-link-button{margin-top:26px}
.authx-footer{
    display:flex;
    justify-content:space-between;
    gap:16px;
    width:min(560px,100%);
    margin:20px auto 0;
    color:var(--auth-muted);
    font-size:12px;
}
.authx-footer a{color:var(--auth-gold)}
@media(max-width:620px){
    .authx-page{width:min(100% - 20px,960px);padding-top:20px}
    .authx-brand{justify-content:flex-start}
    .authx-brand p{font-size:12px}
    .authx-card{padding:24px 18px}
    .authx-footer{display:grid;text-align:center}
}
