/* NEW Magic crystal entrance. Presentation only; auth and wallet contracts are unchanged. */
body.newmagic #modal:has(.crystal-login){width:min(460px,calc(100vw - 32px));min-width:0;max-width:460px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #7ddfff80;border-radius:24px;background:radial-gradient(ellipse at 50% 0%,#174c6a99,transparent 62%),linear-gradient(155deg,#0d233b,#081428 74%);box-shadow:0 30px 100px #000b,0 0 45px #2493c32b,inset 0 1px #d1f8ff42;overflow:auto;color:#e9f8ff}
body.newmagic #modal:has(.crystal-login)::backdrop{background:#010815c9;backdrop-filter:blur(8px)}
body.newmagic .crystal-login{position:relative;max-width:none;width:100%;margin:0;padding:30px 36px 24px;min-width:0;background:none;border:0;box-shadow:none}
body.newmagic .crystal-login .login-content{padding:0;background:none;border:0;box-shadow:none;min-width:0}
body.newmagic .crystal-login .auth-brand{height:98px;display:flex;justify-content:center;align-items:center;margin:0 0 13px}
body.newmagic .crystal-login .auth-brand img{width:260px;max-width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 14px #36afff33)}
body.newmagic .crystal-login .auth-eyebrow{margin:0;text-align:center;font-size:9px;letter-spacing:3px;font-weight:600;color:#7ec4df}
body.newmagic .crystal-login h2{margin:10px 0 8px;font:800 27px/1.4 'Microsoft JhengHei','PingFang TC',sans-serif;letter-spacing:4px;color:#e6faff;text-shadow:0 2px 18px #5ccfff38;text-align:center}
body.newmagic .crystal-login .auth-caption{margin:0 0 25px;text-align:center;font-size:12px;letter-spacing:1px;color:#90b3cb}
body.newmagic .crystal-login .form{display:grid;gap:19px;margin:0;padding:0}
body.newmagic .crystal-login .form label{display:grid;gap:9px;font-size:13px;letter-spacing:1px;color:#b8d9e9}
body.newmagic .crystal-login .form input:not([type=checkbox]){width:100%;min-width:0;height:51px;padding:12px 15px;border:1px solid #45748f;border-radius:10px;background:#06182ccc;box-shadow:inset 0 2px 7px #010c1e66;color:#effbff;font-size:15px;letter-spacing:.5px;outline:none;transition:border-color .15s,box-shadow .15s}
body.newmagic .crystal-login .form input::placeholder{color:#64849d}
body.newmagic .crystal-login .form input:not([type=checkbox]):focus{border-color:#92e9ff;box-shadow:0 0 0 3px #62d8ff20,inset 0 2px 7px #010c1e66}
body.newmagic .crystal-login .form input:-webkit-autofill{-webkit-text-fill-color:#effbff;box-shadow:inset 0 0 0 1000px #112b41;caret-color:#effbff}
body.newmagic .crystal-login .password-field input{padding-right:48px!important}
body.newmagic .crystal-login .password-toggle{color:#95cde3;background:none;border:0;border-radius:7px}
body.newmagic .crystal-login .form .remember-account{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;margin:0;font-size:12px;letter-spacing:.5px;color:#a6c8da;cursor:pointer}
body.newmagic .crystal-login .remember-account input{width:17px;height:17px;margin:0;padding:0;accent-color:#56ccef;box-shadow:none;cursor:pointer}
body.newmagic .crystal-login .form .primary{width:100%;height:50px;margin:0;padding:10px 20px;border:1px solid #b5f2ff;border-radius:11px;background:linear-gradient(115deg,#9ae6f6,#53badf 65%,#428fcb);box-shadow:inset 0 1px #ffffff91,0 5px 20px #2b98cd25;color:#07263d;font-size:17px;font-weight:900;font-style:normal;letter-spacing:5px;transition:filter .15s,transform .15s}
body.newmagic .crystal-login .primary:hover{filter:brightness(1.1);transform:translateY(-1px)}
body.newmagic .crystal-login .primary:active{transform:translateY(1px)}
body.newmagic .crystal-login .primary:disabled{opacity:.55;transform:none}
body.newmagic .crystal-login .primary>span{letter-spacing:0;margin-left:8px;font-weight:500}
body.newmagic .crystal-login .login-close{position:absolute;z-index:2;right:13px;top:13px;width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid #74c9ea50;border-radius:50%;background:#17365088;box-shadow:none;color:#bce7f7;font:24px/1 sans-serif}
body.newmagic .crystal-login .login-close:hover{background:#245477;color:white}
body.newmagic .crystal-login .login-utilities{display:flex;justify-content:center;gap:17px;margin:25px 0 0;padding-top:19px;border-top:1px solid #6bb6d52b}
body.newmagic .crystal-login .login-utilities button{width:35px;height:35px;padding:7px;border:1px solid #6ab7da55;border-radius:10px;display:grid;place-items:center;background:#15364d77;box-shadow:none;color:#8acde8;transform:none}
body.newmagic .crystal-login .login-utilities button svg{width:19px;height:19px}
body.newmagic .crystal-login .login-utilities button:hover{background:#225575;color:#ecfbff;border-color:#99e9ff}
body.newmagic .crystal-login :is(button,input):focus-visible{outline:2px solid #a0edff;outline-offset:3px}
body.newmagic .crystal-login .login-notice-overlay{background:#07172ff5;border-radius:24px}
body.newmagic .crystal-login .login-notice-overlay>div{background:#102d44;border-color:#559dc1;color:#dff7ff}
body.newmagic .crystal-login .login-notice-overlay h2{color:#dff7ff;font-size:22px}
@media(max-width:480px){body.newmagic .crystal-login{padding:25px 24px 21px}body.newmagic .crystal-login .auth-brand{height:86px;margin-bottom:10px}body.newmagic .crystal-login h2{font-size:25px}body.newmagic .crystal-login .auth-caption{margin-bottom:22px}body.newmagic .crystal-login .form{gap:17px}}
@media(max-height:680px){body.newmagic .crystal-login{padding-top:19px}body.newmagic .crystal-login .auth-brand{height:68px}body.newmagic .crystal-login .auth-caption{margin-bottom:17px}body.newmagic .crystal-login .form{gap:13px}body.newmagic .crystal-login .login-utilities{margin-top:18px;padding-top:13px}}
body.newmagic .avatar.guest-login{border:1px solid #b5f2ff;border-radius:12px;background:linear-gradient(115deg,#9ae6f6,#53badf 65%,#428fcb);color:#07263d;font-weight:900;letter-spacing:2px;box-shadow:inset 0 1px #ffffff91,0 4px 18px #2b98cd2b;filter:none}body.newmagic .avatar.guest-login:hover{background:linear-gradient(115deg,#c8f5ff,#79d5ef 65%,#53a7dc);box-shadow:inset 0 1px #fff,0 0 18px #68d7ff55}body.newmagic .avatar.guest-login:focus-visible{outline:2px solid #bcf5ff;outline-offset:4px}
