.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999!important;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-gate-modal,.auth-modal{background:var(--card-bg,#1a1a1a);border-radius:16px;width:90%;max-width:440px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:slideUp .3s ease-out}.auth-gate-modal{max-width:480px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:20px;font-weight:600;color:var(--text-primary,#ffffff);margin:0}.modal-close{background:none;border:none;color:var(--text-secondary,#999);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-close:hover{background:rgba(255,255,255,.1);color:var(--text-primary,#fff)}.modal-content{padding:24px}.gate-message{text-align:center;margin-bottom:24px}.balance-display{font-size:32px;font-weight:700;margin-bottom:8px}.balance-amount{color:#4CAF50}.gate-description{color:var(--text-secondary,#999);font-size:16px;margin:0}.benefits-section{background:rgba(76,175,80,.1);border-radius:12px;padding:20px;margin-bottom:24px}.benefits-title{font-size:16px;font-weight:600;color:var(--text-primary,#fff);margin:0 0 12px}.benefits-list{list-style:none;padding:0;margin:0}.benefits-list li{color:var(--text-secondary,#ccc);padding:8px 0;display:flex;align-items:center;gap:8px}.auth-options{display:flex;flex-direction:column;gap:12px}.auth-button{width:100%;padding:14px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:var(--text-primary,#fff);font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s}.auth-button:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);transform:translateY(-1px)}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-button.apple{background:#000;border-color:#333}.auth-button.apple:hover:not(:disabled){background:#111;border-color:#444}.auth-button.google{background:#fff;color:#333;border-color:#ddd}.auth-button.google:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.auth-button.email{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.auth-button.email:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#667eea)}.apple-logo{font-size:20px}.google-logo{width:20px;height:20px}.email-form{gap:16px}.email-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-label{font-size:14px;font-weight:500;color:var(--text-secondary,#999)}.form-input{padding:12px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:var(--text-primary,#fff);font-size:16px;transition:all .2s}.form-input:focus{outline:none;border-color:#667eea;background:rgba(255,255,255,.08)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-input::placeholder{color:rgba(255,255,255,.4)}.auth-submit-button{padding:14px 20px;border-radius:12px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:white;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.auth-submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px rgba(102,126,234,.4)}.auth-submit-button:disabled{opacity:.5;cursor:not-allowed}.email-hint{text-align:center;margin:8px 0 0}.back-button,.email-hint{color:var(--text-secondary,#999);font-size:14px}.back-button{background:none;border:none;cursor:pointer;padding:8px;transition:color .2s}.back-button:hover:not(:disabled){color:var(--text-primary,#fff)}.success-state{text-align:center;padding:32px 0}.success-icon{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#4CAF50,#45a049);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white}.success-title{font-size:24px;font-weight:600;color:var(--text-primary,#fff);margin:0 0 12px}.success-message{font-size:16px;margin:0 0 8px}.success-hint,.success-message{color:var(--text-secondary,#999)}.success-hint{font-size:14px;margin:0}.error-message{background:rgba(244,67,54,.1);border:1px solid rgba(244,67,54,.3);border-radius:8px;padding:12px;color:#f44336;font-size:14px;margin:8px 0}.auth-footer{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.terms-text{text-align:center;color:var(--text-secondary,#999);font-size:12px;margin:0}.terms-link{color:#667eea;text-decoration:none}.terms-link:hover{text-decoration:underline}.spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:white;animation:spin .6s linear infinite}.auth-button.loading,.auth-submit-button.loading{position:relative;pointer-events:none}.auth-button.loading:after,.auth-submit-button.loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.2);border-radius:inherit;display:flex;align-items:center;justify-content:center}@keyframes spin{to{transform:rotate(1turn)}}[data-theme=light] .auth-gate-modal,[data-theme=light] .auth-modal{background:#ffffff;box-shadow:0 20px 60px rgba(0,0,0,.1)}[data-theme=light] .modal-header{border-bottom-color:#f0f0f0}[data-theme=light] .modal-title{color:#333}[data-theme=light] .modal-close{color:#666}[data-theme=light] .modal-close:hover{background:#f5f5f5;color:#333}[data-theme=light] .balance-amount{color:#4CAF50}[data-theme=light] .back-button,[data-theme=light] .benefits-list li,[data-theme=light] .email-hint,[data-theme=light] .form-label,[data-theme=light] .gate-description,[data-theme=light] .success-hint,[data-theme=light] .success-message,[data-theme=light] .terms-text{color:#666}[data-theme=light] .benefits-title,[data-theme=light] .success-title{color:#333}[data-theme=light] .auth-button{background:#f5f5f5;border-color:#ddd;color:#333}[data-theme=light] .auth-button:hover:not(:disabled){background:#ebebeb;border-color:#ccc}[data-theme=light] .form-input{background:#f9f9f9;border-color:#ddd;color:#333}[data-theme=light] .form-input:focus{background:#fff;border-color:#667eea}[data-theme=light] .form-input::placeholder{color:#999}