#tf-athlete-loading[hidden]{display:none!important}
#tf-athlete-loading{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;background:rgba(9,27,41,.78);backdrop-filter:blur(7px);color:#fff;font-family:system-ui,sans-serif;text-align:center}
#tf-athlete-loading .tf-loading-card{width:min(100%,380px);padding:32px 24px;border:1px solid #ffffff25;border-radius:28px;background:linear-gradient(145deg,#17384ae8,#0b2538ed);box-shadow:0 24px 90px #0004}
#tf-athlete-loading .tf-loading-court{height:130px;position:relative;width:150px;margin:auto}
#tf-athlete-loading .tf-loading-ball{position:absolute;left:53px;top:12px;width:44px;height:44px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 30% 25%,#e9ff91,#b7dc35 60%,#789c13);box-shadow:inset -5px -6px 10px #55760040;animation:tf-tennis-bounce .9s infinite}
#tf-athlete-loading .tf-loading-ball:before,#tf-athlete-loading .tf-loading-ball:after{content:"";position:absolute;width:37px;height:49px;border:2px solid #ffffddd9;border-radius:50%;top:-5px;left:-27px;transform:rotate(-25deg)}
#tf-athlete-loading .tf-loading-ball:after{left:29px;top:0}
#tf-athlete-loading .tf-loading-shadow{position:absolute;bottom:17px;left:48px;width:54px;height:9px;border-radius:50%;background:#0006;animation:tf-tennis-shadow .9s infinite}
#tf-athlete-loading .tf-loading-line{position:absolute;bottom:12px;width:100%;height:1px;background:linear-gradient(90deg,transparent,#ffffff65,transparent)}
#tf-athlete-loading h2{font-size:21px;font-weight:650;margin:8px 0 12px;color:#fff}
#tf-athlete-loading p{font-size:14px;line-height:1.6;color:#c4d7df;margin:0 0 22px}
#tf-athlete-loading button{font:inherit;cursor:pointer;border-radius:12px;padding:12px 18px;border:1px solid #ffffff30;background:#14b5ac;color:#062c35;font-weight:700}
#tf-athlete-loading button:focus-visible{outline:3px solid #e1f58b;outline-offset:4px}
#tf-athlete-loading .tf-loading-dismiss{display:block;margin:14px auto 0;background:transparent;color:#c4d7df;border:0;font-size:12px;padding:8px}
@keyframes tf-tennis-bounce{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(64px) scale(.96,1.04)}55%{transform:translateY(70px) scale(1.15,.83)}75%{transform:translateY(18px) scale(.96,1.04)}}
@keyframes tf-tennis-shadow{0%,100%{transform:scale(.55);opacity:.25}50%{transform:scale(1);opacity:.8}}
@media(prefers-reduced-motion:reduce){#tf-athlete-loading .tf-loading-ball,#tf-athlete-loading .tf-loading-shadow{animation:none}#tf-athlete-loading .tf-loading-ball{transform:translateY(38px)}}
