.pre-access-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999;animation:fadeIn .5s ease-out}.pre-access-modal{background:#fff;border-radius:12px;box-shadow:0 25px 50px rgba(0,0,0,.3);max-width:540px;width:100%;color:#1a202c;animation:slideUp .6s ease-out;position:relative;overflow:hidden}.pre-access-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:rgba(0,0,0,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#666;transition:all .2s ease;z-index:10}.pre-access-close-btn:hover{background:rgba(0,0,0,.2);color:#333}.pre-access-header{background:linear-gradient(135deg,#38b2ac,#2c7a7b);padding:20px 24px 16px;text-align:center;position:relative;border-bottom:1px solid hsla(0,0%,100%,.1);border-radius:12px 12px 0 0;overflow:hidden}.pre-access-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,hsla(0,0%,100%,.1),transparent);animation:shimmer 3s infinite}.pre-access-icon{display:inline-block;margin-bottom:8px;color:#fff;position:relative;z-index:1}.pre-access-header h2{color:#fff;font-size:24px;font-weight:700;margin:0;position:relative;z-index:1}.pre-access-content{padding:20px 24px 24px}.pre-access-info h3{font-size:18px;font-weight:700;color:#333;margin:0 0 12px;text-align:center}.pre-access-info p{font-size:16px;color:#4a5568;margin:0 0 20px;text-align:center;line-height:1.6}.pre-access-form{margin-bottom:20px}.pre-access-input-group{margin-bottom:16px}.pre-access-input{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:500;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;text-align:center;background:#fff;color:#1a202c;box-sizing:border-box}.pre-access-input::-moz-placeholder{color:#a0aec0;text-transform:none;letter-spacing:normal}.pre-access-input::placeholder{color:#a0aec0;text-transform:none;letter-spacing:normal}.pre-access-input:focus{outline:none;border-color:#38b2ac;box-shadow:0 0 0 3px rgba(56,178,172,.1);background:#fff}.pre-access-input.error{border-color:#ff6b6b;background-color:hsla(0,100%,71%,.2);animation:shake .5s ease-in-out}.pre-access-error{color:#c53030;font-size:14px;margin-top:8px;padding:8px 12px;background:#fed7d7;border-radius:6px;border-left:4px solid #e53e3e;animation:slideDown .3s ease-out}.pre-access-error,.pre-access-submit{display:flex;align-items:center;gap:8px}.pre-access-submit{width:100%;padding:14px 24px;background:linear-gradient(135deg,#38b2ac,#2c7a7b);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;justify-content:center}.pre-access-submit:hover:not(:disabled){background:linear-gradient(135deg,#2c7a7b,#1f5957);transform:translateY(-1px);box-shadow:0 4px 12px rgba(56,178,172,.4)}.pre-access-submit:active:not(:disabled){transform:translateY(0)}.pre-access-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.apple-loading-spinner{display:inline-block}.spinner-circle{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.pre-access-contact{text-align:center;padding-top:16px;border-top:1px solid #e2e8f0;font-size:14px;color:#4a5568}.pre-access-contact a{color:#38b2ac;text-decoration:none;font-weight:600}.pre-access-contact a:hover{text-decoration:underline;color:#2c7a7b}.dev-access-code{margin-top:12px;padding:8px 12px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-size:12px;font-family:monospace}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.pre-access-modal{max-width:100%;margin:20px;border-radius:8px}.pre-access-content,.pre-access-header{padding:16px 20px}.pre-access-header h2{font-size:20px}}@media (max-width:480px){.pre-access-modal{margin:10px}.pre-access-content,.pre-access-header{padding:14px 16px}.pre-access-header h2{font-size:18px}}