.auth-backdrop{z-index:100;-webkit-backdrop-filter:blur(12px);background:#080c14d9;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:var(--bg-1);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;gap:20px;width:100%;max-width:400px;padding:32px 28px 28px;animation:.25s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;box-shadow:0 32px 80px #0009}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo{justify-content:center;align-items:center;gap:8px;font-size:1.3rem;font-weight:700;display:flex}.auth-piece{font-size:1.6rem}.auth-brand em{color:var(--gold);font-style:normal;font-weight:800}.auth-limit-banner{border:1px solid var(--gold-border);border-radius:var(--radius-sm);color:var(--gold);text-align:center;background:#f0c04014;padding:10px 14px;font-size:.8rem;font-weight:500;line-height:1.5}.auth-tabs{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:#ffffff0a;gap:4px;padding:4px;display:flex}.auth-tab-btn{color:#8a96ab;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 12px;font-size:.82rem;font-weight:600;transition:background .15s,color .15s}.auth-tab-btn:hover{color:var(--text-2)}.auth-tab-active{background:var(--glass-hover)!important;color:var(--text-1)!important}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{color:var(--text-2);letter-spacing:.04em;font-size:.75rem;font-weight:600}.auth-input{border-radius:var(--radius-sm);border:1px solid var(--glass-border);color:var(--text-1);font-family:var(--font);background:#ffffff0d;outline:none;width:100%;padding:10px 14px;font-size:.88rem;transition:border-color .15s,background .15s}.auth-input:focus{background:#ffffff12;border-color:#f0c04080}.auth-input:disabled{opacity:.5;cursor:not-allowed}.auth-input::placeholder{color:var(--text-3)}.auth-error{border-radius:var(--radius-sm);color:var(--red);background:#f8717114;border:1px solid #f8717140;align-items:flex-start;gap:7px;padding:10px 12px;font-size:.8rem;line-height:1.45;display:flex}.auth-submit{border-radius:var(--radius-sm);border:1px solid var(--gold-border);width:100%;color:var(--gold);font-family:var(--font);cursor:pointer;background:linear-gradient(135deg,#f0c04033,#f0c0401a);justify-content:center;align-items:center;min-height:42px;padding:11px;font-size:.88rem;font-weight:700;transition:background .15s,transform .1s;display:flex}.auth-submit:hover:not(:disabled){background:linear-gradient(135deg,#f0c0404d,#f0c04026);transform:translateY(-1px)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-spinner{border:2px solid #f0c0404d;border-top-color:var(--gold);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.auth-divider{color:#8a96ab;align-items:center;gap:12px;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--glass-border);flex:1;height:1px}.auth-guest-btn{border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);width:100%;color:var(--text-2);font-family:var(--font);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:11px 14px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s;display:flex}.auth-guest-btn:hover:not(:disabled){background:var(--glass-hover);color:var(--text-1)}.auth-guest-btn:disabled{opacity:.5;cursor:not-allowed}.auth-guest-note{color:var(--text-3);font-size:.68rem;font-weight:400}.auth-confirmed{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.auth-confirmed-icon{color:var(--gold);font-size:2.5rem;line-height:1}.auth-confirmed-title{color:var(--text-1);font-size:1.1rem;font-weight:700}.auth-confirmed-body{color:var(--text-2);font-size:.82rem;line-height:1.6}@media (max-width:420px){.auth-modal{padding:24px 18px 20px}}.auth-field-hint{color:var(--text-3);margin-top:3px;font-size:.68rem;display:block}
