/* STM Auth Modal v1.2.0 - Mobile first */
.stm-auth-backdrop {
    display: none; position: fixed; inset: 0; background: rgba(0,0,0,.75);
    z-index: 99998; backdrop-filter: blur(6px);
}
.stm-auth-backdrop.active { display: block; animation: stm-fade-in .2s ease; }
@keyframes stm-fade-in { from{opacity:0} to{opacity:1} }
.stm-auth-modal {
    display: none; position: fixed; bottom: 0; left: 0; right: 0;
    width: 100%; max-height: 92dvh; overflow-y: auto;
    background: #0d1b2e; border-radius: 22px 22px 0 0;
    padding: 26px 20px 36px; z-index: 99999; color: #fafaf8;
    box-shadow: 0 -8px 60px rgba(0,0,0,.6);
}
.stm-auth-modal.active { display: block; animation: stm-sheet-up .3s cubic-bezier(.34,1.08,.64,1) forwards; }
@keyframes stm-sheet-up { from { opacity:0; transform:translateY(48px); } to { opacity:1; transform:translateY(0); } }
@media (min-width: 481px) {
    .stm-auth-modal { bottom: auto; top: 50%; left: 50%; width: min(440px, 100vw-24px); max-width:440px; border-radius:18px; padding:28px; transform:translate(-50%,-50%); animation:none; }
    .stm-auth-modal.active { animation: stm-modal-in .25s ease forwards; }
    @keyframes stm-modal-in { from { opacity:0; transform:translate(-50%,-48%) scale(.94); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
}
.stm-auth-close { position:absolute; top:14px; right:14px; background:rgba(255,255,255,.06); border:.5px solid rgba(255,255,255,.1); color:rgba(250,250,248,.5); width:32px; height:32px; border-radius:50%; cursor:pointer; }
.stm-auth-logo-wrap { text-align:center; margin-bottom:20px; padding-bottom:20px; border-bottom:.5px solid rgba(255,255,255,.06); }
.stm-auth-logo-img { width:64px; height:64px; border-radius:50%; object-fit:cover; border:2px solid rgba(201,168,76,.3); display:block; margin:0 auto 8px; }
.stm-auth-site-name { font-size:11px; font-weight:600; text-transform:uppercase; color:rgba(250,250,248,.35); }
.stm-auth-screen { display: none; }
.stm-auth-screen.active { display: block; animation: stm-fade-in .18s ease; }
.stm-auth-title { font-size:21px; font-weight:700; text-align:center; margin:0 0 6px; }
.stm-auth-sub { font-size:13px; color:rgba(250,250,248,.42); text-align:center; margin:0 0 22px; }
.stm-auth-form { display:flex; flex-direction:column; gap:14px; }
.stm-auth-field { display:flex; flex-direction:column; gap:5px; }
.stm-auth-field label { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(250,250,248,.36); }
.stm-auth-field input { width:100%; padding:13px 14px; background:rgba(250,250,248,.05); border:.5px solid rgba(201,168,76,.2); border-radius:8px; color:#fafaf8; font-size:15px; }
.stm-auth-field input:focus { border-color:rgba(201,168,76,.65); background:rgba(201,168,76,.04); outline:none; }
.stm-auth-pwd-wrap { position:relative; }
.stm-auth-pwd-wrap input { padding-right:48px; }
.stm-auth-eye { position:absolute; right:14px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; font-size:18px; color:rgba(250,250,248,.3); min-width:44px; min-height:44px; }
.stm-auth-btn-primary { width:100%; padding:15px 20px; background:linear-gradient(135deg,#b8942a,#e8c76a); color:#09090b; border:none; border-radius:8px; font-weight:700; cursor:pointer; min-height:52px; }
.stm-auth-link { background:none; border:none; color:rgba(250,250,248,.38); font-size:13px; cursor:pointer; text-decoration:underline; text-decoration-color:transparent; min-height:44px; }
.stm-auth-link-gold { background:none; border:none; color:#c9a84c; font-size:14px; font-weight:700; cursor:pointer; text-decoration:underline; text-decoration-color:transparent; }
.stm-auth-msg { padding:11px 14px; border-radius:8px; font-size:13px; }
.stm-auth-msg.ok { background:rgba(13,46,26,.9); border:.5px solid rgba(74,222,128,.3); color:#86efac; }
.stm-auth-msg.err { background:rgba(127,29,29,.4); border:.5px solid rgba(239,68,68,.3); color:#fca5a5; }
.stm-auth-switch { font-size:14px; color:rgba(250,250,248,.38); text-align:center; margin:14px 0 0; }
.stm-auth-spinner-wrap { display:flex; justify-content:center; padding:20px 0; }
.stm-auth-spinner { width:36px; height:36px; border:3px solid rgba(201,168,76,.15); border-top-color:#c9a84c; border-radius:50%; animation:stm-spin .7s linear infinite; }
@keyframes stm-spin { to { transform:rotate(360deg); } }
.stm-auth-sc-wrap { display:flex; gap:8px; flex-wrap:wrap; }
.stm-auth-sc-btn { padding:10px 18px; border-radius:6px; font-size:14px; font-weight:600; background:rgba(250,250,248,.06); color:rgba(250,250,248,.8); border:.5px solid rgba(250,250,248,.15); cursor:pointer; min-height:44px; }
.stm-auth-sc-gold { background:linear-gradient(135deg,#b8942a,#e8c76a); color:#09090b; border-color:transparent; }
.stm-auth-sc-account { display:inline-flex; align-items:center; gap:6px; text-decoration:none; padding:10px 16px; background:rgba(201,168,76,.1); border:.5px solid rgba(201,168,76,.3); color:#c9a84c; }
