.app .lessons-hero{isolation:isolate;--cursor-x:-999px;--cursor-y:-999px;color:#fff;background:#211034;border-radius:0;height:calc(100svh - 150px);min-height:580px;max-height:980px;margin-bottom:24px;position:relative;overflow:hidden}.lessons-hero-grid,.lessons-hero-portrait,.lessons-hero-reveal,.lessons-hero-shade{pointer-events:none;position:absolute;inset:0}.lessons-hero-grid{background-image:linear-gradient(#ffffff15 1px,#0000 1px),linear-gradient(90deg,#ffffff15 1px,#0000 1px);background-size:48px 48px}.lessons-hero-portrait,.lessons-hero-reveal{background:url(/assets/court-character-3d.webp) 68% bottom/auto 98% no-repeat;animation:2.4s cubic-bezier(.22,1,.36,1) both lessons-ken}.lessons-hero-portrait{filter:brightness(.75)saturate(.65)}.lessons-hero-reveal{-webkit-mask-image:radial-gradient(circle 260px at var(--cursor-x) var(--cursor-y),#000 40%,#000b 60%,#0006 75%,#0002 88%,transparent);mask-image:radial-gradient(circle 260px at var(--cursor-x) var(--cursor-y),#000 40%,#000b 60%,#0006 75%,#0002 88%,transparent);-webkit-mask-image:radial-gradient(circle 260px at var(--cursor-x) var(--cursor-y),#000 40%,#000b 60%,#0006 75%,#0002 88%,transparent)}.lessons-hero-shade{background:linear-gradient(90deg,#160b29f2,#0000 65%),linear-gradient(#0000 50%,#160b29)}.lessons-hero-copy{text-align:right;z-index:2;width:42%;position:absolute;bottom:12%;left:5%}.app .lessons-hero-copy h1{color:#fff;letter-spacing:-.04em;margin:18px 0;font-size:clamp(38px,5.5vw,76px);line-height:1.2}.lessons-hero-copy>span{color:#e4d7f0;font-size:14px}.lessons-hero-copy p{color:#eee8f4;margin:0 0 24px;font-size:17px}.app .lessons-hero-copy button{color:#29113e;cursor:pointer;background:#fff;border:0;border-radius:16px;align-items:center;gap:24px;min-height:52px;padding:14px 26px;font-weight:700;transition:transform .2s;display:inline-flex}.lessons-hero-copy button:hover{transform:translateY(-2px)}.lessons-hero-copy button:focus-visible{outline-offset:5px;outline:3px solid #c4a7e7}.lessons-hero-copy>*{animation:.95s cubic-bezier(.22,1,.36,1) both lessons-rise}.lessons-hero-copy h1{animation-delay:.2s}.lessons-hero-copy p{animation-delay:.4s}.lessons-hero-copy button{animation-delay:.6s}.lessons-hero-arcs{pointer-events:none;width:auto;max-width:30%;height:100%;position:absolute;top:0;right:0}.lessons-arc{stroke-dasharray:2600;stroke-dashoffset:2600px;animation:1.6s forwards lessons-draw}#lesson-content{scroll-margin-top:100px}@keyframes lessons-ken{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes lessons-rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes lessons-draw{to{stroke-dashoffset:0}}@media (width<=640px){.app .lessons-hero{border-radius:0;height:calc(100svh - 170px);min-height:550px}.lessons-hero-portrait,.lessons-hero-reveal{background-position:top;background-size:auto 85%}.lessons-hero-shade{background:linear-gradient(#0000 35%,#160b29ed 76%,#160b29 92%)}.lessons-hero-copy{width:auto;bottom:28px;left:24px;right:24px}.app .lessons-hero-copy h1{margin:10px 0;font-size:38px}.lessons-hero-copy p{margin-bottom:18px;font-size:15px}.lessons-hero-arcs{display:none}}@media (prefers-reduced-motion:reduce){.lessons-hero *{opacity:1;stroke-dashoffset:0;transform:none;transition:none!important;animation:none!important}.lessons-hero-reveal{display:none}}.lessons-hero--lessons .lessons-hero-portrait,.lessons-hero--lessons .lessons-hero-reveal{background-image:url(/assets/lessons-coach-3d.webp)}.lessons-hero--learn .lessons-hero-portrait,.lessons-hero--learn .lessons-hero-reveal{background-image:url(/assets/court-portrait-half.webp)}.lessons-hero--documentaries .lessons-hero-portrait,.lessons-hero--documentaries .lessons-hero-reveal{background-image:url(/assets/documentary-legends-3d.webp);background-position:100% 100%;background-size:auto 96%}.app .lessons-hero--learn,.app .lessons-hero--documentaries{height:480px;min-height:420px}.app .lessons-hero--learn h1,.app .lessons-hero--documentaries h1{font-size:clamp(32px,4vw,58px)}#learning-content,#documentary-content{scroll-margin-top:100px}@media (width<=640px){.app .lessons-hero--learn,.app .lessons-hero--documentaries{height:490px;min-height:490px}.lessons-hero--documentaries .lessons-hero-portrait,.lessons-hero--documentaries .lessons-hero-reveal{background-position:top;background-size:auto 66%}.lessons-hero--learn .lessons-hero-portrait,.lessons-hero--learn .lessons-hero-reveal{background-size:auto 78%}.app .lessons-hero-copy h1{max-width:420px}}@media (width>=641px){.lessons-hero--documentaries .lessons-hero-portrait,.lessons-hero--documentaries .lessons-hero-reveal{background-position:bottom;background-size:contain;left:40%}}.app .lessons-hero{box-shadow:none!important;border:0!important;border-radius:0!important}@media (width<=640px){.lessons-hero--learn .lessons-hero-portrait,.lessons-hero--learn .lessons-hero-reveal{background-position:top;background-size:auto 68%}.app .lessons-hero--learn h1{font-size:30px}.lessons-hero--learn .lessons-hero-copy{bottom:24px}.lessons-hero-copy p{line-height:1.65}}.app .lessons-hero--learn{height:calc(100svh - 150px);min-height:580px;max-height:980px}.lessons-hero--learn .lessons-hero-portrait,.lessons-hero--learn .lessons-hero-reveal{background-position:68% bottom;background-size:auto 98%;animation:2.4s cubic-bezier(.22,1,.36,1) both lessons-ken;inset:0}.lessons-hero--learn .lessons-hero-portrait{filter:brightness(.75)saturate(.65)}.lessons-hero--learn .lessons-hero-copy{width:42%;bottom:12%;left:5%;right:auto}.app .lessons-hero--learn h1{letter-spacing:-.04em;white-space:pre-line;margin:18px 0;font-size:clamp(38px,5.5vw,76px);line-height:1.2}@media (width<=640px){.app .lessons-hero--learn{height:calc(100svh - 170px);min-height:460px}.lessons-hero--learn .lessons-hero-portrait,.lessons-hero--learn .lessons-hero-reveal{background-position:bottom;background-size:auto 94%;left:40%;right:-18%}.lessons-hero--learn .lessons-hero-shade{background:linear-gradient(90deg,#160b29cc,#0000 65%),linear-gradient(#0000 60%,#160b29)}.lessons-hero--learn .lessons-hero-copy{width:42%;bottom:12%;left:5%;right:auto}.app .lessons-hero--learn h1{margin:14px 0;font-size:clamp(23px,6vw,38px);line-height:1.3}.lessons-hero--learn .lessons-hero-copy>span{font-size:11px}.lessons-hero--learn .lessons-hero-copy p{margin-bottom:18px;font-size:12px;line-height:1.65}.app .lessons-hero--learn .lessons-hero-copy button{gap:10px;min-height:44px;padding:10px 14px;font-size:12px}.lessons-hero--learn .lessons-hero-arcs{opacity:.5;max-width:25%;display:block}.lessons-hero--learn .lessons-hero-arcs text,.lessons-hero--learn .lessons-hero-arcs>circle:not(.lessons-arc){display:none}}.page{isolation:isolate;background:0 0;position:relative}.page:before{content:"";z-index:-3;filter:blur(3px)saturate(.78);background-position:top;background-size:cover;background-attachment:local;position:absolute;inset:0;transform:scale(1.015)}.page:after{content:"";z-index:-2;background:linear-gradient(#06111c8c 0,#06111cbf 18%,#eef1e9d9 48%,#eef1e9f0 100%);position:absolute;inset:0}.screen-home .home-page:before{background-image:url(https://commons.wikimedia.org/wiki/Special:Redirect/file/Jannik%20Sinner%20%282024%20US%20Open%29%2004%20%28cropped%29.jpg?width=760);background-position:50% 8%}.screen-stores .listing-page:before,.screen-store-detail .listing-page:before,.screen-learn .listing-page:before,.screen-courts .listing-page:before,.screen-venue-detail .listing-page:before{background-image:url(https://commons.wikimedia.org/wiki/Special:Redirect/file/Carlos%20Alcaraz%20Argentina%20Open%202024.jpg?width=760);background-position:50% 15%}.screen-used .listing-page:before,.screen-tournaments .listing-page:before,.screen-codes .listing-page:before{background-image:url(https://commons.wikimedia.org/wiki/Special:Redirect/file/Aryna%20Sabalenka%20US%20Open%202024%20%28cropped%29.jpg?width=760);background-position:50% 12%}.screen-stores .listing-page:after,.screen-store-detail .listing-page:after,.screen-courts .listing-page:after,.screen-venue-detail .listing-page:after,.screen-used .listing-page:after,.screen-codes .listing-page:after,.screen-learn .listing-page:after,.screen-tournaments .listing-page:after{background:linear-gradient(#06111c84 0,#06111cd9 20%,#eef1e9df 44%,#eef1e9f2 100%)}.content{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#f4f6f1d9}.store-card,.used-box,.searchbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0}.brand img{object-fit:cover;border-radius:10px;width:38px;height:38px;display:block;box-shadow:0 0 0 1px #c9ff3240}.logo-intro{z-index:10000;opacity:1;visibility:visible;background:#230338;place-items:center;transition:opacity .42s cubic-bezier(.22,.8,.28,1),visibility .42s;display:grid;position:fixed;inset:0;overflow:hidden}.logo-intro-stage{aspect-ratio:1;place-items:center;width:min(92vw,560px);display:grid;overflow:hidden}.logo-intro-art{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:112%;max-width:none;height:112%;display:block}.logo-intro-leaving{opacity:0;visibility:hidden;pointer-events:none}.page-enter.forward{--page-x:-18px}.page-enter.back{--page-x:18px}@keyframes page-in{0%{opacity:.35;transform:translate3d(var(--page-x), 0, 0)}to{opacity:1;transform:translateZ(0)}}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .16s,background-color .2s,color .2s,box-shadow .2s}.bottom-nav .shop-button:active{transform:translateY(-14px)scale(.94)}.bottom-nav .active svg{filter:drop-shadow(0 0 7px #c9ff3266);animation:2.8s cubic-bezier(.22,.9,.3,1) infinite active-nav-hop}.brand img{animation:3.8s ease-in-out infinite brand-float}.commerce-hero .tennis-ball{animation:2.6s cubic-bezier(.33,1,.68,1) infinite tennis-ball-bounce}.destination-card>i,.home-about-card>i,.install-card>svg:first-child,.learning-nav button svg{will-change:transform;transform-origin:50% 100%}.destination-card>i{animation:3.6s cubic-bezier(.22,.9,.3,1) infinite interface-icon-hop}.destination-card:nth-child(2)>i{animation-delay:.45s}.destination-card:nth-child(3)>i{animation-delay:.9s}.destination-card:nth-child(4)>i{animation-delay:1.35s}.home-about-card>i{animation:3.4s ease-in-out infinite soft-icon-float}.home-about-card:nth-child(2n)>i{animation-delay:-1.7s}.install-card>svg:first-child{animation:2.8s ease-in-out infinite download-nudge}.learning-nav button.active svg{animation:2.8s cubic-bezier(.22,.9,.3,1) infinite interface-icon-hop}.destination-card,.store-card,.venue-card,.current-tournament-card,.player-ranking-card,.home-about-card{animation:.48s cubic-bezier(.2,.8,.25,1) both interface-card-in}.destination-card:nth-child(2),.store-card:nth-child(2),.venue-card:nth-child(2),.current-tournament-card:nth-child(2),.player-ranking-card:nth-child(2){animation-delay:60ms}.destination-card:nth-child(3),.store-card:nth-child(3),.venue-card:nth-child(3),.current-tournament-card:nth-child(3),.player-ranking-card:nth-child(3){animation-delay:.12s}.destination-card:nth-child(4),.store-card:nth-child(4),.venue-card:nth-child(4),.current-tournament-card:nth-child(4),.player-ranking-card:nth-child(4){animation-delay:.18s}.destination-card:hover>i,.destination-card:focus-visible>i,.topbar button:hover svg,.topbar button:focus-visible svg,.store-card:hover .store-logo,.venue-card:hover .venue-logo{animation:.48s cubic-bezier(.2,1.5,.4,1) both interaction-pop}@keyframes interface-card-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateZ(0)scale(1)}}@keyframes interface-icon-hop{0%,12%,to{transform:translateY(0)rotate(0)}4%{transform:translateY(-7px)rotate(-5deg)}8%{transform:translateY(0)rotate(3deg)}}@keyframes active-nav-hop{0%,14%,to{transform:translateY(0)scale(1)}5%{transform:translateY(-5px)scale(1.08)}10%{transform:translateY(0)scale(.98)}}@keyframes tennis-ball-bounce{0%,18%,to{transform:translateY(0)rotate(0)}7%{transform:translateY(-6px)rotate(24deg)}13%{transform:translateY(0)rotate(42deg)}}@keyframes brand-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-3px)rotate(2deg)}}@keyframes soft-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes download-nudge{0%,18%,to{transform:translateY(0)}8%{transform:translateY(4px)}}@keyframes interaction-pop{0%{transform:scale(1)rotate(0)}55%{transform:scale(1.14)rotate(-6deg)}to{transform:scale(1)rotate(0)}}.store-card,.category-grid button,.guide,.filters button{transition:transform .2s,box-shadow .2s,border-color .2s,background-color .18s,color .18s}@media (prefers-reduced-motion:reduce){.logo-intro{display:none}html{scroll-behavior:auto}.page-enter{animation:none}button,.store-card,.category-grid button,.guide,.filters button{transition:none}.brand img,.commerce-hero .tennis-ball,.destination-card,.destination-card>i,.store-card,.venue-card,.current-tournament-card,.player-ranking-card,.home-about-card,.home-about-card>i,.install-card>svg:first-child,.learning-nav button svg,.bottom-nav .active svg{animation:none!important}}.shell{height:100dvh;min-height:0;overflow:hidden}.app{flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.topbar{height:calc(68px + env(safe-area-inset-top));padding-top:calc(12px + env(safe-area-inset-top));flex:none}.offline-status{color:#513d00;background:#fff3cd;border-bottom:1px solid #ead58a;flex:none;align-items:center;gap:10px;min-height:48px;padding:9px 16px;display:flex}.offline-status>svg{flex:none;width:19px}.offline-status>span{flex-direction:column;min-width:0;display:flex}.offline-status strong{font-size:.76rem;line-height:1.35}.offline-status small{color:#6c560d;margin-top:1px;font-size:.66rem;line-height:1.45}#court-content{overscroll-behavior-y:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:hidden auto}#court-content::-webkit-scrollbar{display:none}.bottom-nav{width:100%;height:calc(66px + max(env(safe-area-inset-bottom),6px));contain:layout paint;isolation:isolate;padding-top:4px;padding-bottom:max(env(safe-area-inset-bottom),6px);flex:none;margin:0;position:relative;inset:auto;transform:translateZ(0);box-shadow:0 -6px 20px #02070d1a}.bottom-nav button{padding-top:6px}.bottom-nav .shop-button{position:relative}.bottom-nav .shop-button span{color:#84919a;white-space:nowrap;font-size:.58rem;position:absolute;top:58px}.bottom-nav .shop-button.active span{color:var(--lime)}.toast{bottom:calc(76px + max(env(safe-area-inset-bottom),6px));position:fixed;left:50%;transform:translate(-50%)}.update-toast{left:14px;right:14px;bottom:calc(76px + max(env(safe-area-inset-bottom),6px));z-index:32;color:#fff;background:#25083b;border:1px solid #ffffff24;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;display:flex;position:fixed;box-shadow:0 16px 38px #13021e66}.update-toast>span{flex-direction:column;gap:2px;min-width:0;display:flex}.update-toast strong{font-size:.8rem}.update-toast small{color:#d8c9e2;font-size:.68rem;line-height:1.45}.update-toast button{background:var(--lime);color:#17330b;border:0;border-radius:12px;flex:none;align-items:center;gap:6px;min-height:42px;padding:0 13px;font-size:.72rem;font-weight:900;display:flex}.update-toast button svg{width:16px}.back-to-top{right:14px;bottom:calc(76px + max(env(safe-area-inset-bottom),6px));z-index:28;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2d0a46ed;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 13px;font-family:inherit;font-size:.72rem;font-weight:850;animation:.2s ease-out back-to-top-in;display:flex;position:absolute;box-shadow:0 12px 30px #13021e4d}.back-to-top svg{width:17px;height:17px;color:var(--lime)}.back-to-top:active{transform:translateY(1px)}@keyframes back-to-top-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=600px){.shell{height:100dvh}.app{height:calc(100dvh - 44px);min-height:0}.bottom-nav{border-radius:0 0 32px 32px}}.searchbar input[type=search]::-webkit-search-cancel-button{display:none}.searchbar .clear-search{color:#4e5951;background:#eef1eb;border:0;border-radius:50%;place-items:center;width:34px;min-width:34px;height:34px;display:grid}.searchbar .clear-search svg{width:16px}.reset-filters{color:#42670d;text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-size:.72rem;font-weight:900;text-decoration:underline}.empty>button{color:#fff;background:#09141e;border:0;border-radius:11px;min-height:40px;margin-top:14px;padding:0 16px;font-size:.72rem;font-weight:900}.route-announcer{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:100;color:#07111c;background:#fff;border-radius:10px;padding:10px 14px;font-size:.82rem;font-weight:900;text-decoration:none;position:fixed;top:8px;left:50%;transform:translate(-50%,-160%);box-shadow:0 8px 24px #0005}.skip-link:focus{transform:translate(-50%)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.store-card>button,.coupon-actions button,.used-box button,.filters button{min-height:44px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.page-enter{animation:none!important}}#court-content:focus{outline:none}.install-dialog{color:#07111c;background:#f4f6f1;border:0;border-radius:24px;gap:12px;width:min(420px,100% - 28px);padding:22px;box-shadow:0 26px 80px #0008}.install-dialog>img{object-fit:cover;border-radius:16px;width:58px;height:58px;box-shadow:0 0 0 1px #c9ff3240}.install-dialog [data-slot=dialog-header]{text-align:right;gap:5px}.install-dialog [data-slot=dialog-title]{font-size:1.18rem}.install-dialog [data-slot=dialog-description]{color:#677168;font-size:.78rem}.install-dialog ol{flex-direction:column;gap:8px;margin:3px 0;padding:0;list-style:none;display:flex}.install-dialog li{background:#fff;border:1px solid #dfe4dc;border-radius:13px;align-items:center;gap:9px;padding:10px;font-size:.78rem;display:flex}.install-dialog li b{color:#335309;background:#e9f9c8;border-radius:9px;place-items:center;width:27px;min-width:27px;height:27px;display:grid}.install-close{color:#263029;background:#e4e8e1;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:15px;left:15px}.install-close svg{width:17px}.install-done{color:#fff;background:#09141e;border:0;border-radius:13px;min-height:46px;font-size:.82rem;font-weight:950}.sport-gates{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px;display:grid}.sport-gates>button{text-align:right;color:#fff;border:0;border-radius:21px;flex-direction:column;align-items:flex-start;min-height:205px;padding:16px;display:flex;position:relative;overflow:hidden}.sport-gates>button:after{content:"";border:1px solid #ffffff1b;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-45px;left:-38px}.tennis-gate{background:linear-gradient(145deg,#173d13,#07130b)}.padel-gate{background:linear-gradient(145deg,#174160,#071420)}.sport-gates em{letter-spacing:.14em;color:var(--lime);font-size:.62rem;font-style:normal;font-weight:900}.sport-gates span{margin-top:10px;font-size:1.05rem;font-weight:950}.sport-gates p{color:#d4ddd6;margin:7px 0 auto;font-size:.69rem;line-height:1.55}.sport-gates small{color:#aebbb2;margin-bottom:8px;font-size:.62rem}.sport-gates b{color:var(--lime);align-items:center;gap:5px;font-size:.7rem;display:flex}.sport-gates svg{width:14px}.sport-switch{grid-template-columns:1fr 1fr;display:grid!important;overflow:visible!important}.sport-switch button{justify-content:center}.store-groups{flex-direction:column;gap:20px;padding:0 16px;display:flex}.store-group{flex-direction:column;gap:9px;display:flex}.store-group-title{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.store-group-title>div{align-items:center;gap:9px;display:flex}.store-group-title>div>svg{color:#315e19;background:#e3ebdd;border-radius:10px;width:31px;height:31px;padding:7px}.store-group-title span{flex-direction:column;display:flex}.store-group-title small{color:#788079;margin-top:2px;font-size:.61rem}.store-group-title>b{min-width:27px;height:27px;color:var(--lime);background:#09141e;border-radius:9px;place-items:center;font-size:.68rem;display:grid}.store-group .store-list{padding:0}.section-switcher{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #dce3d8;border-radius:16px;grid-template-columns:1fr 1fr;gap:4px;margin:-5px 16px 13px;padding:4px;display:grid;box-shadow:0 10px 28px #07111c12}.section-switcher button{color:#6d766e;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:47px;transition:background .2s,color .2s,box-shadow .2s;display:flex}.section-switcher button span{font-size:.76rem;font-weight:950}.section-switcher button small{color:inherit;opacity:.76;font-size:.58rem}.section-switcher button.active{color:#fff;background:#09141e;box-shadow:0 7px 16px #07111c28}.section-switcher button.active:after{content:"";background:var(--lime);border-radius:4px;width:18px;height:2px;margin-top:2px}.destination-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px;display:grid}.destination-card{text-align:right;color:#fff;border:0;border-radius:21px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:132px;padding:14px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #07111c16}.destination-card>i{background:#ffffff15;border-radius:11px;place-items:center;width:35px;height:35px;font-style:normal;display:grid}.destination-card>i svg{width:18px;color:var(--lime)}.destination-card em{color:#c8d2cb;margin-top:12px;font-size:.59rem;font-style:normal}.destination-card strong{margin-top:12px;font-size:.9rem}.destination-card small{color:#aebbb2;margin-top:auto;font-size:.59rem}.destination-card>svg{width:16px;color:var(--lime);position:absolute;bottom:12px;left:13px}.tennis-product{background:linear-gradient(145deg,#173d13,#07130b)}.tennis-courts{background:linear-gradient(145deg,#4b3418,#171006)}.choice-copy{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #ffffffc0;border-radius:18px;align-items:center;gap:10px;margin:0 16px 12px;padding:14px;display:flex}.choice-copy>svg{color:#315e19;background:#e7f7c8;border-radius:12px;width:39px;height:39px;padding:9px}.choice-copy>div{flex-direction:column;display:flex}.choice-copy strong{font-size:.82rem}.choice-copy span{color:#6d776f;margin-top:2px;font-size:.64rem}.choice-grid{grid-template-columns:1fr;gap:10px;padding:0 16px}.choice-grid .destination-card{min-height:145px}.court-scope{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #ffffffc4;border-radius:17px;align-items:center;gap:10px;margin:0 16px 12px;padding:13px;display:flex;box-shadow:0 12px 28px #07111c14}.court-scope>svg{color:#315e19;background:#e7f7c8;border-radius:11px;width:35px;height:35px;padding:8px}.court-scope>div{flex-direction:column;display:flex}.court-scope strong{font-size:.8rem}.court-scope span{color:#6d776f;margin-top:2px;font-size:.64rem;line-height:1.45}.venue-list{flex-direction:column;gap:10px;padding:0 16px;display:flex}.venue-card{-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:#fffffff1;border:1px solid #dfe4dc;border-radius:21px;padding:15px;box-shadow:0 9px 26px #07111c10}.venue-card-head{align-items:center;gap:10px;display:flex}.venue-card-head>i{width:52px;min-width:52px;height:52px;color:var(--lime);background:#09141e;border-radius:14px;place-items:center;display:grid}.venue-logo.has-logo,.entity-profile-head>i.has-logo{background:linear-gradient(145deg,#fff,#edf5f1)!important;border:1px solid #ded7e4!important;padding:5px!important}.venue-logo.has-logo img,.entity-profile-head>i.has-logo img{object-fit:contain;border-radius:10px;width:100%;height:100%}.venue-logo.venue-monogram,.entity-profile-head>i.venue-monogram{color:#c9ff32!important;background:linear-gradient(145deg,#4f167c,#2d0a46)!important;border:1px solid #c9ff323d!important}.venue-logo.venue-monogram span,.entity-profile-head>i.venue-monogram span{letter-spacing:.04em;font-size:.82rem;font-style:normal;font-weight:950}.venue-card-head>i svg{width:19px}.venue-card-head>div{flex-direction:column;flex:1;min-width:0;display:flex}.venue-favorite{color:#6f7971;background:#edf0ea;border:0;border-radius:11px;place-items:center;width:38px;min-width:38px;height:38px;display:grid}.venue-favorite svg{width:17px}.venue-favorite.saved{color:#315e19;background:#e7f7c8}.venue-favorite.saved svg{fill:currentColor}.venue-card-head span{color:#6e786f;margin-top:2px;font-size:.64rem}.venue-name{flex-wrap:wrap;align-items:center;gap:6px;flex-direction:row!important;display:flex!important}.venue-name>b{color:#007a5e;background:#e7f5ee;border-radius:999px;padding:3px 7px;font-size:.58rem;font-weight:900}.venue-card p{color:#667169;margin:10px 0 5px;font-size:.72rem;line-height:1.5}.venue-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;display:grid}.venue-actions button,.venue-actions a{color:#fff;background:#09141e;border:0;border-radius:12px;justify-content:center;align-items:center;gap:5px;min-height:46px;font-size:.69rem;font-weight:900;text-decoration:none;display:flex}.venue-actions button:focus-visible,.venue-actions a:focus-visible,.directions-button:focus-visible,.court-need button:focus-visible,.court-city button:focus-visible{outline-offset:2px;outline:3px solid #4f167c47}.venue-actions button svg,.venue-actions a svg{width:14px;color:var(--lime)}.venue-actions .contact-venue{background:var(--lime);color:#071109;text-align:right;grid-column:1/-1;grid-template-columns:auto 1fr auto;gap:11px;min-height:62px;padding:8px 13px;display:grid}.venue-actions .visit-venue{background:#007a5e}.contact-venue>svg{color:#245b18!important;width:21px!important}.contact-venue .contact-venue-copy{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.contact-venue small{color:#315d2a;font-size:.68rem;font-weight:750}.contact-venue strong{color:#102d14;font-variant-numeric:tabular-nums;letter-spacing:.035em;unicode-bidi:isolate;font-size:.92rem;font-weight:900}.contact-venue>b{color:#173f19;background:#ffffff8f;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900}.court-disclaimer{color:#3c5d0c;background:#eaf7d2;border-radius:15px;gap:8px;margin:12px 16px 0;padding:12px;font-size:.62rem;line-height:1.5;display:flex}.court-disclaimer svg{width:17px;min-width:17px}.court-search{margin-bottom:10px}.court-need{grid-template-columns:repeat(3,1fr);gap:7px;padding:0 16px 12px;display:grid}.court-need button{color:#655c6b;background:#fffffff0;border:1px solid #ded7e4;border-radius:12px;min-height:42px;font-size:.76rem;font-weight:850}.court-need button.active{color:#fff;background:#007a5e;border-color:#007a5e;box-shadow:0 7px 18px #007a5e2b}.court-results{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;padding:0 17px 10px;display:flex}.court-result-summary{align-items:baseline;gap:7px;display:flex}.court-result-summary span{color:#4f167c;font-size:.68rem;font-weight:800}.court-result-actions{flex-wrap:wrap;gap:6px;display:flex}.court-saved{color:#655c6b;background:#fffffff0;border:1px solid #ddd5e2;border-radius:11px;align-items:center;gap:5px;min-height:38px;padding:0 11px;font-family:inherit;font-size:.7rem;font-weight:850;display:flex}.court-saved svg{width:15px}.court-saved.active{color:#fff;background:#4f167c;border-color:#4f167c}.court-reset{color:#4f167c;background:#f8f4fa;border:1px solid #bfaec9;border-radius:11px;align-items:center;gap:5px;min-height:38px;padding:0 10px;font-family:inherit;font-size:.7rem;font-weight:850;display:flex}.court-reset svg{width:14px}.court-reset:focus-visible{outline-offset:2px;outline:3px solid #b8e34b}.court-saved.active svg{fill:currentColor}.court-results strong{font-size:.88rem}.court-results span{color:#766f7b;font-size:.7rem}.venue-services{flex-wrap:wrap;gap:5px;margin-top:11px;display:flex}.venue-services span{color:#00674f;background:#e3f4eb;border-radius:8px;padding:5px 8px;font-size:.68rem;font-weight:800}.primary-actions{margin-top:12px}.directions-button{color:#4f167c;background:#f7f4f9;border:1px solid #d9d2df;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:42px;margin-top:7px;font-size:.72rem;font-weight:900;text-decoration:none;display:flex}.directions-button svg{width:15px}.court-empty{text-align:center;background:#fffffff0;border-radius:19px;flex-direction:column;align-items:center;margin:12px 16px;padding:28px 18px;display:flex}.court-empty>svg{color:#817789;width:27px}.court-empty strong{margin-top:8px}.court-empty span{color:#746d79;margin-top:3px;font-size:.74rem}.court-empty button{color:#fff;background:#2d0a46;border:0;border-radius:11px;min-height:40px;margin-top:13px;padding:0 16px;font-size:.74rem;font-weight:900}.court-city{scrollbar-width:none;gap:7px;padding:0 16px 9px;display:flex;overflow-x:auto}.court-city button{color:#655c6b;white-space:nowrap;background:#fffffff0;border:1px solid #ddd5e2;border-radius:999px;min-height:38px;padding:0 14px;font-size:.72rem;font-weight:850}.court-city button.active{color:#fff;background:#4f167c;border-color:#4f167c}@media (width<=390px){.court-result-actions{width:100%}.court-result-actions>button{flex:1;justify-content:center}}.topbar{z-index:25;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07111cf2;border-bottom:1px solid #ffffff12;height:64px;position:sticky;top:0}.commerce-hero{height:310px}.hero-copy{padding:34px 21px}.hero-copy h1{margin-top:10px;font-size:2.15rem}.hero-copy p{max-width:290px;margin-bottom:18px;line-height:1.55}.content{border-radius:29px 29px 0 0;margin-top:-30px;padding:20px 16px 30px;box-shadow:0 -12px 34px #02070d18}.section-head{margin-top:18px}.sport-head{margin-top:2px}.sport-gates{grid-template-columns:1fr;gap:10px}.sport-gates>button{border-radius:22px;min-height:150px;padding:17px 18px;box-shadow:0 12px 26px #07111c18}.sport-gates>button:after{width:170px;height:170px;bottom:-92px;left:-44px}.sport-gates em{font-size:.6rem}.sport-gates span{margin-top:7px;font-size:1.18rem}.sport-gates p{max-width:76%;margin:5px 0 8px;font-size:.72rem}.sport-gates small{margin-bottom:7px}.sport-gates b{margin-top:auto}.noon-banner{border-radius:21px;margin-top:4px;padding:15px}.install-card{margin-top:11px}.listing-page{padding-bottom:34px}.page-title{align-items:flex-end;height:112px;padding:20px 17px 26px}.page-title>button{margin-bottom:2px}.page-title h1{letter-spacing:-.02em;font-size:1.48rem}.page-title span{font-size:.7rem}.searchbar{border:1px solid #ffffffb8;border-radius:18px;min-height:56px;box-shadow:0 14px 34px #0208102b}.filters{gap:9px;padding-top:13px}.filters>div:last-child{padding-bottom:2px}.filters button{min-height:38px;padding-inline:13px}.filters .sport-scope{background:#ffffffe8;border:1px solid #d9dfd5;border-radius:15px;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 13px;display:flex}.sport-scope span{color:#172119;font-size:.76rem;font-weight:950}.sport-scope small{color:#6f7971;font-size:.62rem}.region-filters{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.count{margin:20px 17px 11px}.count strong{font-size:.9rem}.store-groups{gap:24px}.store-group-title{padding:0 3px 2px}.store-group-title>div>svg{border-radius:11px;width:34px;height:34px}.store-card{border-radius:20px;gap:11px;padding:13px;box-shadow:0 8px 24px #07111c0d}.store-logo{border-radius:15px;width:51px;height:51px}.store-info p{margin-top:4px;font-size:.72rem}.store-info>div:first-child{min-height:30px}.favorite-store{color:#6f7971;background:#edf0ea;border:0;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;margin-inline-start:auto;display:grid}.favorite-store svg{width:16px}.favorite-store.saved svg,.favorite-filter svg{fill:currentColor}.store-card>button{border-radius:12px;min-height:42px}.empty{border:1px solid var(--line);margin-top:18px;box-shadow:0 10px 26px #07111c0d}.used-box,.coupon-intro{border:1px solid #ffffffba;margin-top:1px;box-shadow:0 16px 38px #07111c1b}.used-box{border-radius:24px;padding:24px 20px}.used-box h2{margin-top:7px;font-size:1.17rem}.used-box p{font-size:.78rem}.safe-tip{border:1px solid #badb82;margin-top:11px}.coupon-list{padding-top:11px}.coupon-card{border-radius:22px;padding:16px}@media (width>=600px){.topbar{border-radius:32px 32px 0 0}}:root{--wimbledon-purple:#4f167c;--wimbledon-purple-deep:#2d0a46;--wimbledon-green:#007a5e;--wimbledon-green-deep:#005b46;--lime:#35b779;--ink:#2d0a46;--paper:#f7f5f9;--line:#e2dce7}body{background:var(--wimbledon-purple-deep)}.shell{background:radial-gradient(circle at 50% -18%,#007a5e 0,#4f167c 36%,#210632 76%)}.app{background:var(--paper)}.topbar,.bottom-nav{background:var(--wimbledon-purple-deep)}.topbar{border-bottom-color:#ffffff1f}.hero-copy>span,.page-title span{color:#9be6bf}.hero-actions button{background:var(--wimbledon-green);color:#fff;box-shadow:0 10px 24px #003f3040}.content{background:#f7f5f9e8}.listing-page{background:linear-gradient(var(--wimbledon-purple-deep) 0 135px, var(--paper) 238px)}.page:after{background:linear-gradient(#2d0a4694 0,#4f167cc9 20%,#f7f5f9df 47%,#f7f5f9f4 100%)}.screen-stores .listing-page:after,.screen-courts .listing-page:after,.screen-used .listing-page:after,.screen-codes .listing-page:after,.screen-learn .listing-page:after,.screen-tournaments .listing-page:after{background:linear-gradient(#2d0a468e 0,#4f167cdb 20%,#f7f5f9e4 44%,#f7f5f9f6 100%)}.destination-card.tennis-product,.destination-card.tennis-courts,.destination-card.tennis-learn,.destination-card.tennis-tournaments{background:linear-gradient(145deg,#007a5e,#004b3a)}.destination-card>i svg,.destination-card>svg{color:#b5f0ce}.choice-copy>svg,.court-scope>svg{color:var(--wimbledon-green);background:#e5f5ed}.section-switcher button.active,.filters .active,.store-group-title>b,.chips b,.store-card>button,.install-card,.used-box button,.coupon-actions .visit-store,.empty>button,.install-done,.toast{background:var(--wimbledon-purple-deep)}.section-switcher button.active:after{background:#65d39a}.filters .active,.bottom-nav .active,.chips b,.toast svg,.install-card>svg:first-child,.used-box button svg,.venue-card-head>i,.venue-actions button svg,.venue-actions a svg{color:#71dca5}.store-card.affiliate{border-color:#55b88c;box-shadow:0 8px 26px #007a5e1f}.store-card.affiliate>button,.coupon-actions button,.used-box>i,.coupon-intro>div,.venue-actions .contact-venue{background:var(--wimbledon-green);color:#fff}.favorite-store.saved{color:var(--wimbledon-green);background:#e0f4e9}.store-info>div svg,.coupon-brand>svg,.disclosure svg{color:var(--wimbledon-green)}.logo-1{background:#bce9d2}.logo-2{background:#d9c4e8}.logo-3{background:#e6f2ec}.logo-4{background:#cbb0df}.safe-tip,.court-disclaimer,.coupon-note{color:#005b46;background:#e1f3e9;border-color:#9ed7bb}.reset-filters,.section-head>button{color:var(--wimbledon-green-deep)}.section-switcher{border-color:#ddd3e4}.section-switcher button.active{box-shadow:0 7px 18px #2d0a4638}.venue-card-head>i,.venue-actions button,.venue-actions a{background:var(--wimbledon-purple-deep)}.coupon-code{color:var(--wimbledon-purple-deep);background:#f2edf5;border-color:#9272a8}.install-dialog{background:var(--paper);color:var(--wimbledon-purple-deep)}.install-dialog li b{color:var(--wimbledon-green-deep);background:#e0f4e9}button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#35b779}.brand img,.install-dialog>img{box-shadow:0 0 0 1px #65d39a80}:root{--motion-fast:.14s;--motion-base:.22s;--motion-ease:cubic-bezier(.2,.72,.3,1);--surface-shadow:0 8px 24px #2d0a460d}html{scroll-behavior:smooth}.page-enter{will-change:opacity,transform;animation:calm-page-in var(--motion-base) var(--motion-ease) both}.page-enter.forward,.page-enter.back{--page-x:0}@keyframes calm-page-in{0%{opacity:.72;transform:translateY(6px)}to{opacity:1;transform:translateZ(0)}}button{transition:transform var(--motion-fast) var(--motion-ease),background-color var(--motion-base) ease,color var(--motion-base) ease,border-color var(--motion-base) ease,box-shadow var(--motion-base) ease}button:active{transform:scale(.985)}.bottom-nav button:active{transform:none}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:none;background:#2d0a46f5}.content{box-shadow:0 -8px 24px #2d0a4610}.destination-card,.store-card,.venue-card,.coupon-card,.used-box,.searchbar{box-shadow:var(--surface-shadow)}.destination-card{border:1px solid #ffffff18}.destination-card:active,.store-card>button:active,.venue-actions button:active,.venue-actions a:active,.directions-button:active{transform:scale(.985)}.store-card,.venue-card{animation:calm-item-in .18s var(--motion-ease) both}@keyframes calm-item-in{0%{opacity:.75;transform:translateY(4px)}to{opacity:1;transform:none}}.store-logo,.venue-logo{border:1px solid #e7e2ea;overflow:hidden;background:#fff!important}.store-logo img,.venue-logo img{object-fit:contain;width:100%;height:100%;padding:7px;display:block}.venue-card-head>i.venue-logo{color:#0000}.filters button,.court-city button,.court-need button{box-shadow:none}.filters .active,.court-city button.active,.court-need button.active{box-shadow:0 5px 14px #2d0a4618}.searchbar:focus-within{box-shadow:0 0 0 3px #35b7794d,0 8px 24px #2d0a4612}.bottom-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#2d0a46f7;border-top:1px solid #ffffff12;box-shadow:0 -6px 22px #17042420}.bottom-nav button{color:#a99bb3;position:relative}.bottom-nav .active{color:#8be0b2}.bottom-nav .active svg{filter:none}.bottom-nav .active:after{content:"";background:#35b779;border-radius:999px;width:18px;height:2px;position:absolute;bottom:2px}.toast{animation:calm-toast-in var(--motion-base) var(--motion-ease) both;box-shadow:0 10px 28px #1704242e}@keyframes calm-toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.hero-copy p{font-size:.94rem}.destination-card em,.destination-card small{font-size:.75rem;line-height:1.35}.destination-card strong{font-size:1rem;line-height:1.35}.page-title span,.count span,.section-head span{font-size:.76rem}.searchbar input{font-size:.88rem}.filters button,.court-city button,.court-need button{font-size:.78rem}.sport-scope span{font-size:.82rem}.sport-scope small{font-size:.72rem;line-height:1.4}.store-group-title strong{font-size:.9rem}.store-group-title small{font-size:.72rem}.store-info p,.venue-card p{font-size:.8rem;line-height:1.55}.chips span,.chips b,.venue-services span{font-size:.7rem}.store-card>button,.venue-actions button,.venue-actions a,.directions-button,.used-box button,.coupon-actions button{font-size:.78rem}.venue-card-head strong{font-size:.94rem}.venue-card-head span{font-size:.72rem}.court-results span,.court-empty span,.used-box p{font-size:.78rem}.court-disclaimer,.safe-tip span,.coupon-card small{font-size:.72rem;line-height:1.55}.bottom-nav button{font-size:.75rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-enter,.store-card,.venue-card,.toast{animation:none}button{transition:none}}.home-search{margin:0 0 12px}.home-search .searchbar{border:1px solid #ddd5e2;margin:0;box-shadow:0 8px 24px #2d0a4612}.home-search .clear-search{color:#4f4654;background:#f0edf2;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.home-search-results{flex-direction:column;gap:7px;margin-top:8px;display:flex}.home-search-results>button{color:#18121c;text-align:start;background:#fff;border:1px solid #e0d9e4;border-radius:15px;grid-template-columns:54px 1fr auto;align-items:center;gap:9px;width:100%;min-height:70px;padding:8px;display:grid}.home-search-results>button[aria-selected=true]{background:#eef8db;border-color:#7cab2a}.home-search-results>button>img{object-fit:contain;background:#f6f4f7;border-radius:11px;width:54px;height:54px}.home-search-results>button>span{flex-direction:column;min-width:0;display:flex}.home-search-results strong{font-size:.76rem;line-height:1.45}.home-search-results small{color:#6e6672;margin-top:3px;font-size:.65rem}.home-search-results>button>svg{color:#007a5e;width:16px}.home-search-empty{text-align:center;color:#6e6672;background:#fff;border-radius:15px;flex-direction:column;align-items:center;gap:7px;padding:18px;display:flex}.home-search-empty>svg{width:22px}.home-search-empty span{font-size:.76rem}.home-search-empty button{color:#fff;background:#2d0a46;border:0;border-radius:11px;min-height:40px;padding:0 14px;font-size:.72rem;font-weight:850}.noon-logo img{object-fit:contain;width:84%;height:84%;display:block}.home-about{border-top:1px solid #2d0a461f;margin-top:24px;padding-top:22px}.home-faq{margin-top:24px}.home-faq-list{gap:8px;display:grid}.home-faq-list details{background:#fff;border:1px solid #2d0a461f;border-radius:15px;box-shadow:0 7px 20px #2d0a460a}.home-faq-list summary{color:#2d0a46;cursor:pointer;min-height:48px;padding:12px 14px;font-size:.84rem;font-weight:850;line-height:1.55}.home-faq-list summary::marker{color:#007a5e}.home-faq-list details[open] summary{border-bottom:1px solid #2d0a4617}.home-faq-list p{color:#645d67;margin:0;padding:12px 14px 14px;font-size:.78rem;line-height:1.8}.home-faq-list summary:focus-visible{outline-offset:2px;outline:3px solid #007a5e4d}.home-faq-link{color:#4f167c;text-underline-offset:4px;align-items:center;gap:8px;min-height:44px;margin:0 14px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.home-faq-link svg{width:16px;height:16px}[dir=ltr] .home-faq-link svg{transform:rotate(180deg)}.home-about-heading{margin:0 2px 12px}.home-about-heading>span{color:#007a5e;font-size:.75rem;font-weight:900}.home-about-heading h2{color:#2d0a46;margin:3px 0 0;font-size:1.2rem;line-height:1.35}.home-about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.home-about-card{background:#fff;border:1px solid #2d0a461c;border-radius:18px;min-width:0;padding:15px;box-shadow:0 8px 22px #2d0a460d}.home-about-card>i{color:#007a5e;background:#e9f5e3;border-radius:12px;place-items:center;width:38px;height:38px;margin-bottom:11px;font-style:normal;display:grid}.home-about-card>i svg{width:19px}.home-about-card h3{color:#2d0a46;margin:0;font-size:.92rem;line-height:1.4}.home-about-card p{color:#645d67;margin:6px 0 0;font-size:.78rem;line-height:1.75}.about-card-intro,.home-social-card{grid-column:1/-1}.about-card-intro{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.about-card-intro>i{margin:0}.home-social-card{color:#fff;background:linear-gradient(145deg,#2d0a46,#41115f);border-color:#0000}.home-social-card>i{color:#c9ff32;background:#c9ff3224}.home-social-card h3{color:#fff}.home-social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px;display:grid}.home-social-links>a,.home-social-links>span{color:#fff;background:#ffffff17;border:1px solid #ffffff29;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-width:0;min-height:58px;padding:9px 10px;text-decoration:none;display:grid}.home-social-links>.home-social-email{grid-column:1/-1}.home-social-links>span{grid-template-columns:auto 1fr}.home-social-links>a>svg:first-child,.home-social-links>span>svg{color:#c9ff32;width:19px}.home-social-links>a>svg:last-child{color:#ffffff9e;width:14px}.home-social-links span span,.home-social-links a span{flex-direction:column;min-width:0;display:flex}.home-social-links b{font-size:.76rem}.home-social-links small{color:#ffffffb8;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.68rem;overflow:hidden}@media (width<=365px){.home-about-grid,.home-social-links{grid-template-columns:1fr}.home-about-card,.about-card-intro,.home-social-card,.home-social-links>.home-social-email{grid-column:1}}@media (prefers-reduced-motion:no-preference){.home-social-links>a{transition:transform .16s,background .16s}.home-social-links>a:hover{background:#ffffff24;transform:translateY(-1px)}}.destination-grid{grid-template-columns:1fr 1fr}.tennis-learn{background:linear-gradient(145deg,#fff,#f2eaf8)}.tennis-tournaments{background:linear-gradient(145deg,#fff,#e7f6ef)}.home-search-results>button>i{color:#4f167c;background:#eee8f2;border-radius:12px;place-items:center;width:54px;height:54px;display:grid}.home-search-results>button>i svg{width:23px}.reference-page{padding-bottom:105px}.reference-intro,.tournament-hub{background:#fff;border:1px solid #e2dce6;border-radius:19px;align-items:center;gap:12px;margin:0 16px 12px;padding:17px;display:flex}.reference-intro>svg{color:#007a5e;width:30px}.reference-intro div{flex-direction:column;display:flex}.reference-intro>div{flex:1;min-width:0}.reference-intro strong{font-size:.9rem}.reference-intro span{color:#6e6672;margin-top:3px;font-size:.72rem}.lesson-progress-copy{justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:12px;display:flex;flex-direction:row!important}.lesson-progress-copy span{color:#4f167c;margin:0;font-weight:800}.lesson-progress-copy b{color:#4f167c;font-size:.72rem}.lesson-progress{accent-color:#007a5e;background:#e9e1ec;border:0;border-radius:999px;width:100%;height:7px;margin-top:6px;overflow:hidden}.lesson-progress::-webkit-progress-bar{background:#e9e1ec;border-radius:999px}.lesson-progress::-webkit-progress-value{background:#007a5e;border-radius:999px}.lesson-progress::-moz-progress-bar{background:#007a5e;border-radius:999px}.continue-learning{color:#fff;width:100%;min-height:44px;font:inherit;background:#4f167c;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;margin-top:9px;padding:8px 12px;font-size:.78rem;font-weight:900;display:flex}.continue-learning svg{color:#c9ff32;fill:currentColor;width:16px}.continue-learning:focus-visible{outline-offset:2px;outline:3px solid #c9ff32bf}.lesson-filter{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin-top:11px;display:grid!important}.lesson-filter button{color:#625769;background:#f7f3f8;border:1px solid #ddd3e2;border-radius:10px;min-height:38px;padding:7px 5px;font-size:.75rem;font-weight:800}.lesson-filter button.active{color:#fff;background:#007a5e;border-color:#007a5e}.lesson-filter button:focus-visible{outline-offset:2px;outline:3px solid #c9ff32b8}.learn-search{color:#4f167c;background:#fff;border:1px solid #d9cfdf;border-radius:15px;align-items:center;gap:9px;min-height:50px;margin:0 16px 12px;padding:0 13px;display:flex}.learn-search:focus-within{border-color:#007a5e;box-shadow:0 0 0 3px #007a5e1f}.learn-search>svg{width:19px;height:19px}.learn-search input{color:#25182d;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:.9rem}.learn-search input::placeholder{color:#766d7b}.learn-search button{color:#4f167c;background:#f2edf4;border:0;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.learn-search button svg{width:17px;height:17px}.lesson-list,.tour-list{flex-direction:column;gap:9px;padding:0 16px;display:flex}.lesson-list article{background:#fff;border:1px solid #e2dce6;border-radius:17px;grid-template-columns:88px 1fr;gap:10px;padding:15px;display:grid}.lesson-empty{color:#6e6672;text-align:center;background:#fff;border:1px dashed #d8cedd;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:24px;display:flex}.learning-reset{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#26053b;border:1px solid #5a3274;border-radius:12px;margin:14px auto 0;padding:10px 18px;font-weight:700;display:block}.learning-reset:focus-visible{outline-offset:3px;outline:3px solid #9763bb}.lesson-empty svg{color:#007a5e;width:28px}.lesson-empty strong{color:#25182d;margin-top:9px;font-size:.9rem}.lesson-empty span{margin-top:4px;font-size:.78rem}.lesson-list article>b{color:#fff;background:#4f167c;border-radius:11px;justify-content:center;align-items:center;width:88px;height:42px;font-size:.72rem;display:flex}.racket-count i{border:2px solid #c9ff32;border-radius:50% 50% 44% 44%;width:17px;height:25px;margin-inline:-3px;position:relative;transform:rotate(-18deg)}.racket-count i:after{content:"";background:#fff;border-radius:3px;width:3px;height:13px;position:absolute;bottom:-11px;left:5px;transform:rotate(5deg)}.lesson-list article>div{flex-direction:column;display:flex}.lesson-list strong{font-size:.82rem}.lesson-list span{color:#6e6672;margin-top:3px;font-size:.7rem;line-height:1.5}.lesson-actions{flex-wrap:wrap;grid-column:2;align-items:center;gap:7px;flex-direction:row!important;display:flex!important}.lesson-toggle,.lesson-watched{border-radius:10px;align-items:center;gap:5px;width:fit-content;min-height:40px;padding:0 9px;font-size:.65rem;font-weight:800;display:inline-flex}.lesson-toggle{color:#007a5e;background:0 0;border:0;padding-inline-start:0}.lesson-watched{color:#655d69;background:#f7f3f8;border:1px solid #ded5e3}.lesson-watched.active{color:#00664f;background:#e9f5f1;border-color:#b9dacf}.lesson-toggle svg,.lesson-watched svg{width:15px}.lesson-video{background:#17111b;border-radius:13px;grid-column:1/-1;margin-top:4px;overflow:hidden}.lesson-video iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.lesson-video-meta{justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 12px;display:flex}.lesson-video-status{color:#fff;background:#26053b;padding:12px}.lesson-video-status p{color:#fff;margin:0;font-size:.85rem;line-height:1.8}.lesson-video-status button{color:#26053b;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c9b5d6;border-radius:10px;margin-top:8px;padding:8px 16px}.lesson-video-status button:focus-visible{outline-offset:3px;outline:3px solid #dbc2ed}.lesson-video-meta span{color:#e9e1ec;margin:0;font-size:.75rem}.lesson-video-meta a{color:#fff;background:#00664f;border:1px solid #b9dacf52;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 11px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.lesson-video-meta a:focus-visible{outline-offset:2px;outline:3px solid #c7e24a}.lesson-video-meta a svg{width:14px;height:14px}.learning-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 16px 4px;display:grid}.learning-nav button{color:#4f167c;min-width:0;min-height:68px;font:inherit;cursor:pointer;background:#fff;border:1px solid #ded4e4;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:9px 6px;font-size:.88rem;font-weight:850;line-height:1.3;display:flex;box-shadow:0 6px 18px #36114d0a}.learning-nav button svg{width:20px;height:20px}.learning-nav button.active{color:#fff;background:#4f167c;border-color:#4f167c;box-shadow:0 9px 22px #4f167c33}.learning-nav button.active svg{color:#c9ff32}.learning-nav button:focus-visible{outline-offset:2px;outline:3px solid #c9ff32}.learning-content{scroll-margin-top:16px}.integrated-learning{flex-direction:column;padding-bottom:8px;display:flex}.journey-step-nav{background:linear-gradient(145deg,#f8f5fa,#fff);border:1px solid #d9cfdf;border-radius:18px;order:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 16px 2px;padding:10px;display:grid}.journey-step-nav button{color:#33263a;min-width:0;min-height:60px;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 4px;font-size:.78rem;font-weight:850;display:flex;box-shadow:0 4px 13px #36114d0f}.journey-step-nav b{color:#c9ff32;background:#4f167c;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.72rem;display:grid}.journey-step-nav button:focus-visible{outline-offset:2px;outline:3px solid #c9ff32}.journey-path{order:1}.journey-strokes{order:2}.journey-map{order:3}.journey-terms{order:4}.journey-quiz{order:5}.tennis-glossary,.learning-panel{margin:18px 16px 0;scroll-margin-top:14px}.tennis-glossary-head{margin-bottom:10px}.tennis-glossary-head span,.learning-panel-head span{color:#007a5e;font-size:.78rem;font-weight:850}.tennis-glossary-head h2,.learning-panel-head h2{color:#25182d;margin:2px 0 0;font-size:1.08rem}.tennis-glossary-head p,.learning-panel-head p{color:#655a6a;margin:5px 0 0;font-size:.86rem;line-height:1.65}.terms-table-wrap{background:#fff;border:1px solid #ded4e4;border-radius:16px;overflow-x:auto;box-shadow:0 7px 20px #36114d0d}.terms-table{border-collapse:collapse;color:#3d3342;width:100%;font-size:.86rem;line-height:1.6}.terms-table th,.terms-table td{text-align:right;vertical-align:top;border-bottom:1px solid #eee8f1;padding:11px 12px}.terms-table th{color:#4f167c;background:#f3eef6;font-size:.8rem;font-weight:900}.terms-table tr:last-child td{border-bottom:0}.terms-table b{color:#4f167c;font-size:.88rem;display:block}.terms-table td>span{color:#00664f;background:#e9f6f1;border-radius:999px;margin-top:4px;padding:3px 8px;font-size:.72rem;font-weight:850;display:inline-flex}.learning-journey{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.learning-journey li{background:#fff;border:1px solid #dfd6e4;border-radius:17px;grid-template-columns:38px 1fr;gap:11px;padding:14px;display:grid;position:relative}.learning-journey li>b{color:#c9ff32;background:#4f167c;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.9rem;display:grid}.learning-journey strong{color:#25182d;font-size:.9rem}.learning-journey p{color:#625769;margin:4px 0 7px;font-size:.86rem;line-height:1.65}.learning-journey span{color:#007a5e;font-size:.78rem;font-weight:800}.skill-path-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.skill-path-grid article{background:#fff;border:1px solid #ddd3e3;border-radius:17px;grid-template-columns:32px 1fr;gap:9px;min-width:0;padding:13px;display:grid;box-shadow:0 7px 19px #36114d0d}.skill-path-grid article>b{color:#fff;background:#007a5e;border-radius:10px;place-items:center;width:32px;height:32px;font-size:.78rem;display:grid}.skill-path-grid article>div{flex-direction:column;min-width:0;display:flex}.skill-path-grid span{color:#4f167c;font-size:.78rem;font-weight:900}.skill-path-grid strong{color:#25182d;margin-top:2px;font-size:.9rem;line-height:1.4}.skill-path-grid small{color:#007a5e;margin-top:5px;font-size:.76rem;font-weight:800;line-height:1.45}.skill-path-grid p{color:#625769;margin:7px 0 0;font-size:.84rem;line-height:1.62}.match-map-card{margin-top:12px}.court-diagram{background:#007a5e;border:3px solid #fff;border-radius:18px;grid-template-columns:1fr 1fr;gap:3px;padding:8px;display:grid;position:relative;box-shadow:0 12px 28px #0058442e}.court-diagram:after{content:"";background:#fff;height:3px;position:absolute;top:50%;left:6px;right:6px;transform:translateY(-50%)}.court-zone{color:#fff;text-align:center;border:2px solid #ffffffe6;flex-direction:column;justify-content:center;align-items:center;min-height:92px;padding:12px;display:flex}.court-zone b{font-size:.88rem}.court-zone span{color:#eaffaa;margin-top:5px;font-size:.75rem;font-weight:750}.score-flow{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px;display:grid}.score-flow div{text-align:center;background:#fff;border:1px solid #dfd6e4;border-radius:14px;flex-direction:column;min-width:0;padding:11px 6px;display:flex}.score-flow b{color:#c9ff32;background:#4f167c;border-radius:50%;place-items:center;width:24px;height:24px;margin:0 auto 5px;font-size:.68rem;display:grid}.score-flow strong{color:#25182d;font-size:.82rem}.score-flow span{color:#6b616f;margin-top:3px;font-size:.72rem;line-height:1.45}.quiz-progress{color:#665b6c;justify-content:space-between;gap:10px;margin-top:12px;font-size:.8rem;display:flex}.quiz-progress b{color:#007a5e}.quiz-panel>progress{accent-color:#007a5e;width:100%;height:8px;margin:7px 0 12px}.quiz-card{background:#fff;border:1px solid #dfd6e4;border-radius:18px;padding:16px}.quiz-card h3{color:#25182d;margin:0 0 13px;font-size:.95rem;line-height:1.55}.quiz-options{gap:8px;display:grid}.quiz-options button{color:#352a3b;text-align:right;min-height:50px;font:inherit;cursor:pointer;background:#faf8fb;border:1px solid #ded4e4;border-radius:13px;align-items:center;gap:9px;padding:9px 11px;font-size:.88rem;font-weight:750;display:flex}.quiz-options button span{color:#4f167c;background:#eee7f2;border-radius:9px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.7rem;font-weight:900;display:grid}.quiz-options button.correct{color:#005b47;background:#e9f6f1;border-color:#007a5e}.quiz-options button.wrong{color:#8a3038;background:#fff0f1;border-color:#b44b54}.quiz-options button:disabled{opacity:1;cursor:default}.quiz-feedback{color:#005b47;background:#e9f6f1;border-radius:13px;margin-top:12px;padding:12px}.quiz-feedback.wrong{color:#784b0b;background:#fff5e7}.quiz-feedback strong{font-size:.8rem}.quiz-feedback p{margin:4px 0 10px;font-size:.84rem;line-height:1.6}.quiz-feedback button{color:#fff;width:100%;min-height:46px;font:inherit;cursor:pointer;background:#4f167c;border:0;border-radius:11px;font-size:.86rem;font-weight:850}@media (width<=420px){.learning-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-nav button{min-height:62px}.journey-step-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-path-grid{grid-template-columns:1fr}.terms-table thead{display:none}.terms-table,.terms-table tbody,.terms-table tr,.terms-table td{width:100%;display:block}.terms-table tr{border-bottom:1px solid #e9e2ed;padding:11px 12px}.terms-table tr:last-child{border-bottom:0}.terms-table td{border:0;min-height:30px;padding:5px 82px 5px 0;position:relative}.terms-table td:before{content:attr(data-label);color:#4f167c;width:72px;font-size:.74rem;font-weight:900;position:absolute;top:6px;right:0}}.reference-page .reference-intro,.reference-page .learn-search,.reference-page .learning-panel,.reference-page .tennis-glossary,.reference-page .documentary-list a,.reference-page .lesson-list article{border-color:#ddd4e2;box-shadow:0 8px 24px #2d0a460f}.reference-page button,.reference-page a{-webkit-tap-highlight-color:transparent}.reference-page button:not(.page-title>button),.reference-page a{min-height:44px}.reference-page .learning-nav{background:#eee8f1;border:1px solid #ded5e3;border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px}.reference-page .learning-nav button{min-height:72px;box-shadow:none;border:0;border-radius:13px}.reference-page .lesson-list article,.reference-page .documentary-list a{transition:border-color .16s,transform .16s,box-shadow .16s}.reference-page .lesson-toggle,.reference-page .lesson-watched,.reference-page .lesson-video-meta a{padding-inline:12px;font-size:.78rem}.reference-page .quiz-options button,.reference-page .continue-learning,.reference-page .quiz-feedback button{min-height:48px}@media (hover:hover){.reference-page .lesson-list article:hover,.reference-page .documentary-list a:hover{border-color:#c9bcd1;transform:translateY(-1px);box-shadow:0 12px 28px #2d0a461a}}@media (width<=360px){.reference-page .learning-nav button{padding-inline:3px;font-size:.78rem}.reference-page .reference-intro{align-items:flex-start}}.reference-page nav.learning-nav,.reference-page nav.journey-step-nav{contain:none;isolation:auto;z-index:auto;flex:none;width:auto;height:auto;position:static;inset:auto;transform:none}.reference-page nav.learning-nav{box-shadow:none;background:#eee8f1;padding-bottom:4px}.reference-page nav.journey-step-nav{box-shadow:none;background:linear-gradient(145deg,#f8f5fa,#fff);padding-bottom:10px}.documentary-title{margin:24px 17px 10px;font-size:.98rem}.documentary-list{flex-direction:column;gap:9px;padding:0 16px;display:flex}.documentary-list a{color:#25182d;background:#fff;border:1px solid #e2dce6;border-radius:17px;grid-template-columns:46px 1fr 18px;align-items:center;gap:11px;min-height:78px;padding:12px;text-decoration:none;display:grid}.documentary-list img{object-fit:contain;background:#f8f6f9;border:1px solid #e6e0e9;border-radius:12px;width:46px;height:46px;padding:6px}.documentary-list div{flex-direction:column;min-width:0;display:flex}.documentary-list strong{font-size:.78rem;line-height:1.35}.documentary-list span{color:#6e6672;margin-top:3px;font-size:.68rem;line-height:1.45}.documentary-list small{color:#007a5e;margin-top:5px;font-size:.63rem;font-weight:850}.documentary-list svg{color:#4f167c;width:15px}.documentary-empty{color:#6e6672;text-align:center;background:#fff;border:1px dashed #d8cedd;border-radius:15px;padding:18px;font-size:.82rem}.tournament-hub{color:#fff;background:radial-gradient(circle at 0 0,#c9ff322e,#0000 34%),linear-gradient(135deg,#230737,#4f167c 58%,#00664f 140%);border-color:#c9ff3233;flex-direction:column;align-items:flex-start;padding:20px;position:relative;overflow:hidden;box-shadow:0 18px 42px #2d0a4638}.tournament-hub>div:first-child{flex-direction:column;display:flex}.tournament-hub span{color:#c9ff32;font-size:.68rem;font-weight:850}.tournament-hub strong{font-size:1.28rem;line-height:1.4}.tournament-hub small{color:#ddd2e5;margin-top:4px;font-size:.72rem;line-height:1.55}.tournament-hub-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.tournament-hub-actions a{color:#fff;background:#ffffff1f;border:1px solid #ffffff3d;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:46px;padding:0 10px;font-size:.7rem;font-weight:850;text-decoration:none;display:flex}.tournament-hub-actions svg{width:14px}.tournament-search{margin:0 16px 12px}.tournament-search .searchbar{border:1px solid #ded7e2;margin:0;box-shadow:0 10px 24px #2d0a4614}.tournament-search .searchbar input{min-width:0;font-size:1rem}.tournament-search>span{color:#6e6672;margin:7px 4px 0;font-size:.72rem;display:block}.tournament-empty{color:#6e6672;text-align:center;background:#fff;border:1px solid #ded7e2;border-radius:18px;flex-direction:column;align-items:center;margin:12px 16px 18px;padding:24px 18px;display:flex}.tournament-empty>svg{color:#007a5e;width:28px}.tournament-empty strong{color:#25182d;margin-top:8px}.tournament-empty span{margin-top:4px;font-size:.75rem}.tournament-empty button{color:#fff;min-height:44px;font:inherit;background:#4f167c;border:0;border-radius:11px;margin-top:13px;padding:0 16px;font-size:.76rem;font-weight:850}.tournament-quick-nav{z-index:12;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-backdrop-filter:blur(12px);background:#f4f6f1f0;border-block:1px solid #4f167c14;gap:7px;margin:0 0 12px;padding:10px 16px;display:flex;position:sticky;top:0;overflow-x:auto;box-shadow:0 8px 18px #2d0a460f}.tournament-quick-nav::-webkit-scrollbar{display:none}.tournament-quick-nav button{color:#4f167c;min-height:44px;font:inherit;scroll-snap-align:start;background:#fff;border:1px solid #d9d1df;border-radius:999px;flex:none;padding:0 14px;font-size:.68rem;font-weight:900}.tournament-quick-nav button:active{color:#00664f;background:#e8f5f1;border-color:#007a5e}.tournament-quick-nav button:focus-visible{outline-offset:1px;outline:3px solid #007a5e38}.tournament-guide,.tournament-section-anchor{scroll-margin-top:76px}.tour-list article{background:#fff;border:1px solid #e2dce6;border-radius:18px;grid-template-columns:48px repeat(3,1fr);align-items:center;gap:9px;padding:15px;display:grid}.tour-list article>i{color:#fff;background:#fff;border:1px solid #e3dce7;border-radius:14px;place-items:center;width:48px;height:48px;font-style:normal;font-weight:950;display:grid;overflow:hidden}.tour-list article>i img{object-fit:contain;width:100%;height:100%;padding:6px}.tour-list article>div{flex-direction:column;grid-column:2/-1;display:flex}.tour-list strong{font-size:.86rem}.tour-list span{color:#6e6672;margin-top:3px;font-size:.69rem}.tour-list a{color:#4f167c;background:#eee9f1;border-radius:11px;justify-content:center;align-items:center;gap:5px;min-height:44px;font-size:.7rem;font-weight:900;text-decoration:none;display:flex}.tour-list a svg{width:13px}.tournament-guide{margin:22px 16px 0}.tournament-guide-heading{margin-bottom:10px}.tournament-guide-heading>span{color:#007a5e;font-size:.68rem;font-weight:900}.tournament-guide-heading h2{margin:2px 0 3px;font-size:1.02rem}.tournament-guide-heading p,.points-note{color:#6e6672;margin:0;font-size:.69rem;line-height:1.65}.tournament-track-filter{background:#f3eff5;border:1px solid #ded7e2;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px;padding:4px;display:grid}.tournament-track-filter button{color:#6e6672;min-height:44px;font:inherit;background:0 0;border:0;border-radius:10px;padding:5px 7px;font-size:.64rem;font-weight:850}.tournament-track-filter button.active{color:#fff;background:#007a5e;box-shadow:0 5px 13px #00574333}.tournament-track-filter button:focus-visible{outline-offset:1px;outline:3px solid #4f167c40}.tournament-levels{flex-direction:column;gap:8px;display:flex}.tournament-level{background:#fff;border:1px solid #d9cfdf;border-radius:20px;overflow:hidden;box-shadow:0 14px 34px #2d0a4617}.level-card-head{background:radial-gradient(circle at 100% 0,#c9ff3221,#0000 38%),linear-gradient(135deg,#2d0a46,#4f167c);grid-template-columns:68px 1fr;align-items:center;gap:13px;min-height:92px;padding:14px;display:grid}.level-logo{background:linear-gradient(145deg,#007a5e,#00664f);border-radius:13px;justify-content:center;align-items:center;gap:4px;width:68px;min-height:62px;padding:8px;display:flex}.level-logo img{object-fit:contain;background:#fff;border-radius:8px;width:auto;max-width:46px;height:31px;padding:4px 6px}.level-logo.grand-slam-logo-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:3px;padding:6px;display:grid}.level-logo.grand-slam-logo-grid img{border-radius:5px;width:24px;max-width:none;height:22px;padding:2px}.level-name{flex-direction:column;min-width:0;display:flex}.level-name strong{color:#fff;font-size:1.06rem;line-height:1.4}.level-name>span{color:#b8efcf;margin-top:5px;font-size:.78rem;font-weight:850;line-height:1.4}.level-details{grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.level-details>div{background:#f8f5f9;border:1px solid #e8e1eb;border-radius:14px;padding:12px}.level-details>div:nth-child(n+3){grid-column:1/-1}.level-details>div:first-child{background:linear-gradient(145deg,#e8f5ef,#f7fbf9);border-color:#cbe4da}.level-details b{color:#4f167c;font-size:.78rem;line-height:1.45}.level-details p{color:#4d4551;margin:5px 0 0;font-size:.84rem;line-height:1.72}.level-details .level-official-sources{background:#f0f7f4;border:1px solid #d3e7df}.level-official-sources>div{flex-wrap:wrap;gap:7px;margin-top:7px;display:flex}.level-official-sources a{color:#00664f;background:#fff;border:1px solid #bcd9ce;border-radius:10px;align-items:center;gap:5px;min-height:36px;padding:8px 10px;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.level-official-sources a:focus-visible{outline-offset:2px;outline:3px solid #c9ff32b3}.level-official-sources svg{width:14px}.tournament-level:focus-visible{outline-offset:3px;outline:3px solid #007a5e61}@media (width<=380px){.level-details{grid-template-columns:1fr}.level-details>div{grid-column:1/-1}}.points-note{padding:8px 2px 0}.special-competitions{flex-direction:column;gap:8px;padding:0 16px;display:flex}.special-competitions a{color:#25182d;background:#fff;border:1px solid #e2dce6;border-radius:17px;grid-template-columns:56px 1fr 20px;align-items:center;gap:10px;min-height:100px;padding:13px;text-decoration:none;display:grid}.special-competitions a>img{object-fit:contain;background:#4f167c;border:0;border-radius:14px;width:56px;height:56px;padding:0}.special-competitions a>div{flex-direction:column;display:flex}.special-competitions span{color:#007a5e;font-size:.75rem;font-weight:850;line-height:1.35}.special-competitions strong{margin-top:3px;font-size:.9rem;line-height:1.4}.special-competitions p{color:#6e6672;margin:5px 0 0;font-size:.78rem;line-height:1.65}.special-competitions .competition-facts{flex-flow:wrap;gap:6px;margin-top:9px;display:flex}.special-competitions .competition-facts small{color:#00664f;background:#edf7f3;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:800;line-height:1.35}.special-competitions .competition-players{color:#4d4551;border-top:1px solid #ece6ef;padding-top:7px;font-size:.78rem}.special-competitions .competition-players b{color:#4f167c}.special-competitions svg{color:#4f167c;width:16px}.major-title{margin:22px 17px 10px;font-size:.98rem}.major-list{grid-template-columns:1fr 1fr;gap:8px;padding:0 16px;display:grid}.major-list a{color:#25182d;background:#fff;border:1px solid #e2dce6;border-radius:17px;grid-template-columns:44px 1fr;align-items:center;gap:9px;min-height:105px;padding:12px;text-decoration:none;display:grid}.major-list img{object-fit:contain;background:#f6f3f7;border-radius:11px;width:50px;height:50px;padding:6px}.major-list strong{font-size:.86rem;line-height:1.5}.major-list svg{color:#007a5e;grid-column:2;width:14px}.tournament-events{padding-bottom:10px}.current-tournaments{margin:22px 16px 4px}.current-tournaments-heading{margin-bottom:12px}.current-tournaments-heading>span{color:#007a5e;align-items:center;gap:6px;font-size:.76rem;font-weight:800;display:inline-flex}.current-tournaments-heading>span svg{width:16px}.current-tournaments-heading h2{color:#25182d;margin:4px 0 2px;font-size:1.12rem}.current-tournaments-heading p{color:#6c626f;margin:0;font-size:.78rem;line-height:1.7}.current-tournament-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.current-tournament-card{background:#fff;border:1px solid #e2dce6;border-radius:19px;min-width:0;padding:12px;box-shadow:0 8px 24px #2d0a460f}.current-tournament-card header{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;display:grid}.current-tournament-logo{background:#fff;border:1px solid #e6dfe9;border-radius:16px;width:72px;height:72px;overflow:hidden;box-shadow:0 5px 16px #2d0a4614}.current-tournament-logo img{object-fit:cover;width:100%;height:100%}.current-tournament-logo.is-wide{place-items:center;padding:6px 4px;display:grid}.current-tournament-logo.is-wide img{object-fit:contain}.current-tournament-card header span,.current-tournament-card header small{color:#726976;font-size:.7rem;display:block}.current-tournament-card header strong{color:#25182d;margin:2px 0;font-size:.92rem;line-height:1.45;display:block}.current-tournament-card header em{border-radius:999px;margin-top:5px;padding:4px 7px;font-size:.64rem;font-style:normal;font-weight:850;display:inline-flex}.current-tournament-card header em.is-active{color:#00674f;background:#e5f5ed}.current-tournament-card header em.is-upcoming{color:#4f167c;background:#f1ebf5}.current-tournament-card header em.is-completed{color:#4f5851;background:#edf0ec}.current-tournament-tours{flex-wrap:wrap;gap:6px;margin:11px 0 9px;display:flex}.current-tournament-tours b{color:#006c53;background:#edf8f4;border-radius:999px;padding:5px 8px;font-size:.67rem}.current-tournament-card dl{gap:6px;margin:0;display:grid}.current-tournament-card dl>div{border-bottom:1px solid #f0ecf2;grid-template-columns:52px minmax(0,1fr);gap:6px;padding-bottom:6px;display:grid}.current-tournament-card dt{color:#776e7a;font-size:.7rem}.current-tournament-card dd{color:#302735;margin:0;font-size:.72rem;font-weight:700}.current-tournament-card>p{color:#655c68;margin:9px 0;font-size:.73rem;line-height:1.65}.current-tournament-sources{flex-wrap:wrap;gap:7px;display:flex}.current-tournament-sources a{color:#fff;background:#4f167c;border-radius:10px;flex:130px;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:8px 10px;font-size:.7rem;font-weight:800;text-decoration:none;display:inline-flex}.current-tournament-sources svg{width:13px}.riyadh-time-note{color:#726976;margin-top:9px;font-size:.68rem;line-height:1.6;display:block}@media (width<=560px){.current-tournament-grid{grid-template-columns:1fr}}.search-arrival{scroll-margin-block:110px;animation:.7s ease-out both search-arrival;box-shadow:0 0 0 3px #007a5e24,0 12px 28px #2d0a461f;border-color:#007a5e!important}@keyframes search-arrival{0%{opacity:.72;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.search-arrival,.tournament-level,.tournament-level summary>svg{transition:none;animation:none}}.player-rankings{color:#fff;background:linear-gradient(145deg,#271036 0%,#3f1454 48%,#075b49 100%);border:1px solid #4f167c24;border-radius:24px;margin:22px 16px 6px;padding:18px;scroll-margin-block:108px;box-shadow:0 18px 42px #250b3129}.player-rankings-heading>span{color:#c9ff32;align-items:center;gap:7px;font-size:.82rem;font-weight:850;display:inline-flex}.player-rankings-heading svg{width:17px;height:17px}.player-rankings-heading h2{margin:7px 0 3px;font-size:1.2rem;line-height:1.45}.player-rankings-heading p{color:#ffffffc2;margin:0;font-size:.82rem;line-height:1.65}.player-tour-switch{background:#050a143d;border:1px solid #ffffff21;border-radius:14px;grid-template-columns:1fr 1fr;gap:7px;margin-top:15px;padding:5px;display:grid}.player-tour-switch button{color:#ffffffb8;min-height:42px;font:inherit;background:0 0;border:0;border-radius:10px;font-size:.84rem;font-weight:850}.player-tour-switch button.active{color:#24112d;background:#c9ff32;box-shadow:0 5px 15px #0000002b}.player-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;display:grid}.player-ranking-card{color:#fff;text-align:start;background:#112a28;border:1px solid #ffffff24;border-radius:17px;min-width:0;padding:0;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000021}.player-photo{aspect-ratio:1;background:radial-gradient(circle at 50% 35%,#0f9a72 0%,#075945 48%,#173026 100%);width:100%;display:block;overflow:hidden}.player-photo img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block;transform:scale(1.03)}.player-rank{z-index:2;top:9px;color:#24112d;text-align:center;background:#c9ff32;border-radius:9px;min-width:34px;padding:6px 8px;font-size:.78rem;font-weight:950;position:absolute;inset-inline-start:9px}.player-card-copy{flex-direction:column;gap:2px;min-width:0;padding:11px 12px 12px;display:flex}.player-card-copy strong{white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:.86rem;line-height:1.35;overflow:hidden}.player-card-copy small{color:#ffffffad;text-align:left;font-size:.7rem}.full-ranking-link{color:#341246;background:#fff;border-radius:13px;justify-content:center;align-items:center;gap:7px;min-height:45px;margin-top:12px;padding:0 14px;font-size:.84rem;font-weight:900;text-decoration:none;display:flex}.full-ranking-link svg{width:16px}.ranking-updated{color:#ffffff94;text-align:center;margin-top:9px;font-size:.7rem;display:block}.player-dialog{background:#f8faf6;border:1px solid #c9ff323b;border-radius:24px;max-width:390px;padding:0 18px 18px;overflow:hidden}.player-dialog-portrait{background:radial-gradient(circle at 50% 35%,#0f9a72 0%,#075945 48%,#20112a 100%);height:235px;margin:0 -18px 3px;overflow:hidden}.player-dialog-portrait img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.player-dialog-close{z-index:4;top:12px;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d0a27b8;border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;inset-inline-end:12px}.player-dialog-close svg{width:19px}.player-dialog-rank{color:#007a5e;font-size:.78rem;font-weight:900}.player-dialog h2{text-align:left;font-size:1.35rem}.player-dialog p{text-align:left}.player-dialog-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.player-dialog-stats div{background:#fff;border:1px solid #dce7dd;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:11px 6px;display:flex}.player-dialog-stats span{color:#6c736d;font-size:.7rem}.player-dialog-stats strong{color:#30133d;font-size:.88rem}.player-dialog>a{color:#fff;background:#4f167c;border-radius:13px;justify-content:center;align-items:center;gap:7px;min-height:46px;font-weight:900;text-decoration:none;display:flex}.player-dialog>a svg{width:16px}@media (width>=700px){.player-ranking-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-reduced-motion:no-preference){.player-ranking-card{transition:transform .18s,border-color .18s}.player-ranking-card:hover{border-color:#c9ff3294;transform:translateY(-2px)}}body{font-family:Vazirmatn Variable,SF Arabic,Geeza Pro,Tahoma,Arial,sans-serif}.tennis-ball{background:#c9ff32;border-radius:50%;width:18px;min-width:18px;height:18px;position:relative;box-shadow:inset -3px -3px #9bcc20,0 0 0 1px #e8ff9a}.tennis-ball:before,.tennis-ball:after{content:"";border:1.5px solid #0000;border-color:#0000 #fff;border-radius:50%;width:9px;height:14px;position:absolute;top:2px}.tennis-ball:before{right:-2px}.tennis-ball:after{left:-2px}.destination-card{overflow:hidden}.destination-card:after{content:"";pointer-events:none;border:1px solid #4f167c12;border-radius:50%;width:64px;height:64px;position:absolute;bottom:-22px;left:-18px}.store-card.affiliate .store-logo{border-color:#ffe500;background:#ffe500!important}.store-card.affiliate .store-logo img{object-fit:contain;padding:4px}.store-card>.store-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.store-actions>.store-visit,.store-actions>.store-details{white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;min-height:46px;padding:0 12px;font-size:.8rem;font-weight:900;display:flex}.store-actions>.store-visit{color:#fff;background:#007a5e;text-decoration:none}.store-actions>.store-details{color:#fff;background:#4f167c}.store-actions>.store-visit svg,.store-actions>.store-details svg{flex:none;width:14px}.store-actions>.store-visit svg{color:#c9ff32}.store-actions>.store-visit:active,.store-actions>.store-details:active{transform:scale(.985)}.detail-page{min-height:calc(100dvh - 64px);padding-bottom:112px}.entity-profile{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff3;border:1px solid #e1dbe5;border-radius:23px;margin:0 16px;padding:18px;box-shadow:0 16px 38px #1506211c}.entity-profile-head{align-items:center;gap:12px;display:flex}.entity-profile-head>i{background:#fff;border:1px solid #e2dce6;border-radius:18px;place-items:center;width:62px;min-width:62px;height:62px;padding:7px;display:grid;overflow:hidden}.entity-profile-head img{object-fit:contain;width:100%;height:100%}.entity-profile-head>div{flex-direction:column;min-width:0;display:flex}.entity-profile-head strong{font-size:1rem;line-height:1.4}.entity-profile-head span{color:#706777;margin-top:3px;font-size:.75rem}.entity-profile>p{color:#5f5764;margin:18px 0 14px;font-size:.88rem;line-height:1.7}.entity-facts{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.entity-facts>div{background:#f2eef4;border-radius:15px;align-items:center;gap:9px;min-height:76px;padding:11px;display:flex}.entity-facts svg{color:#4f167c;width:20px;min-width:20px}.entity-facts span{color:#746c78;flex-direction:column;font-size:.72rem;display:flex}.entity-facts strong{color:#25182d;margin-top:2px;font-size:.79rem;line-height:1.4}.detail-coupon{color:#4f167c;text-align:start;background:#f3ecf7;border:1px dashed #4f167c;border-radius:15px;grid-template-columns:1fr auto;align-items:center;width:100%;min-height:67px;margin:3px 0 10px;padding:10px 14px;display:grid}.detail-coupon span{font-size:.71rem;font-weight:800}.detail-coupon strong{letter-spacing:.08em;grid-area:1/2/3;font-size:1.05rem}.detail-coupon small{color:#007a5e;font-size:.65rem}.entity-primary,.entity-secondary,.entity-save{border-radius:14px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:48px;margin-top:8px;font-family:inherit;font-size:.81rem;font-weight:900;text-decoration:none;display:flex}.entity-primary{color:#fff;background:#4f167c;border:0}.entity-primary svg{color:#c9ff32;width:16px}.entity-secondary,.entity-save{color:#4f167c;background:#f8f5f9;border:1px solid #ddd5e2}.entity-secondary svg,.entity-save svg{width:17px}.entity-secondary strong{margin-inline-start:4px}.entity-secondary.entity-phone{color:#173f19;background:#edf8e8;border-color:#b9dda8;justify-content:flex-start;min-height:62px;padding:9px 15px}.entity-phone>svg{color:#007a5e;width:21px}.entity-phone>span{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.entity-phone small{color:#55715a;font-size:.7rem;font-weight:700}.entity-phone strong{color:#163d18;font-variant-numeric:tabular-nums;letter-spacing:.035em;unicode-bidi:isolate;margin:0;font-size:.94rem}.entity-save.saved{color:#315e19;background:#e8f6df;border-color:#a8d58b}.entity-save.saved svg{fill:currentColor}.entity-share{color:#4f167c;background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:48px;margin-top:8px;font-family:inherit;font-size:.81rem;font-weight:900;display:flex}.entity-share svg{width:17px}.detail-services{margin:0 0 15px}@media (width<=360px){.entity-facts{grid-template-columns:1fr}}@supports (content-visibility:auto){.home-about,.store-group,.tennis-glossary,.learning-panel,.tournament-guide,.major-list,.special-competitions,.player-rankings{content-visibility:auto;contain-intrinsic-block-size:auto 480px}.tournament-guide,.major-list,.special-competitions,.player-rankings{contain-intrinsic-block-size:auto 720px}.store-card,.venue-card,.lesson-list>article,.current-tournament-card,.tournament-level,.documentary-list>a,.special-competitions>a{content-visibility:auto;contain-intrinsic-block-size:auto 260px}.venue-card,.current-tournament-card,.tournament-level{contain-intrinsic-block-size:auto 390px}}:root{--wimbledon-purple:#4f167c;--wimbledon-purple-deep:#2d0a46;--wimbledon-green:#007a5e;--wimbledon-green-deep:#005b46;--wimbledon-mint:#8be0b2;--wimbledon-cream:#f8f6f1;--wimbledon-lavender:#f1ecf4;--paper:var(--wimbledon-cream);--line:#e1d9e6;--ink:var(--wimbledon-purple-deep);--lime:var(--wimbledon-mint);--text-primary:#2d0a46;--text-body:#554b5b;--text-muted:#706676;--text-on-dark:#fff}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,button,input{font-family:Vazirmatn Variable,SF Arabic,Geeza Pro,Tahoma,Arial,sans-serif}body{color:var(--text-primary);font-synthesis:none;font-size:1rem;line-height:1.6}body,.shell{background:var(--wimbledon-purple-deep)}.app,.content,.listing-page{background-color:var(--wimbledon-cream)}.topbar,.app>nav[aria-label=التنقل\ الرئيسي]{background:#2d0a46fa}.commerce-hero{background:linear-gradient(110deg,#2d0a46f5,#4f167cb0 58%,#007a5e7a),url(/assets/tennis-hero.webp) 50% 62%/cover}.hero-copy h1{letter-spacing:-.035em;max-width:330px;font-size:clamp(2rem,8vw,2.3rem);line-height:1.18}.hero-copy p{color:#e4ddea;font-size:.92rem;line-height:1.65}.page-title h1{font-size:1.42rem;line-height:1.3}.hero-actions button,.tournament-track-filter button.active,.level-points{background:linear-gradient(145deg, var(--wimbledon-green), var(--wimbledon-green-deep));color:#fff}.hero-copy>span,.page-title span,.app>nav[aria-label=التنقل\ الرئيسي] .active{color:var(--wimbledon-mint)}.section-head strong,.count strong,.store-group-title strong,.major-title,.documentary-title,.tournament-guide-heading h2{color:var(--wimbledon-purple-deep)}.section-head strong,.major-title,.documentary-title,.tournament-guide-heading h2{font-size:1.02rem;line-height:1.4}.section-head span,.count span,.store-group-title small,.sport-scope small,.court-scope span,.venue-card-head span,.home-search-results small,.tour-list span,.documentary-list span,.tournament-guide-heading p,.points-note{color:var(--text-muted);font-size:.75rem;line-height:1.55}.store-info p,.venue-card p,.lesson-list span,.special-competitions p,.level-details p,.entity-profile>p{color:var(--text-body);font-size:.82rem;line-height:1.65}.destination-card strong,.store-info strong,.venue-card-head strong,.lesson-list strong,.documentary-list strong,.tour-list strong,.special-competitions strong,.level-name strong,.home-search-results strong{font-size:.92rem;line-height:1.45}.destination-card em,.destination-card small,.chips span,.chips b,.venue-services span,.venue-name>b,.level-points small,.level-name>span,.level-name small,.special-competitions span,.documentary-list small,.contact-venue span,.court-disclaimer,.disclosure,.section-switcher button small{font-size:.75rem;line-height:1.45}.searchbar input{color:var(--text-primary);font-size:.9rem}.searchbar input::placeholder{color:#817688;opacity:1}.filters button,.court-city button,.court-need button,.court-saved,.store-card>button,.venue-actions button,.venue-actions a,.directions-button,.lesson-toggle,.lesson-watched,.tournament-quick-nav button,.tournament-track-filter button,.tour-list a{font-size:.78rem;line-height:1.35}.app>nav[aria-label=التنقل\ الرئيسي] button{color:#c4b9ca;font-size:.72rem}.app>nav[aria-label=التنقل\ الرئيسي] .active{color:#a6e8c4}.store-card,.venue-card,.lesson-list article,.documentary-list a,.tour-list article,.major-list a,.special-competitions a,.tournament-level,.searchbar{border-color:#e1d9e6;box-shadow:0 8px 24px #2d0a460f}.filters button,.court-city button,.court-need button,.chips span,.venue-services span{background:var(--wimbledon-lavender);color:#665b6e}.filters .active,.court-city button.active,.court-need button.active,.store-card>button,.venue-actions button,.venue-actions a,.directions-button,.install-card,.toast{background:var(--wimbledon-purple-deep);color:#fff}.favorite-store.saved,.safe-tip,.court-disclaimer{color:var(--wimbledon-green-deep);background:#e5f4ed}.level-points small{color:#d8f5e6}.tournament-quick-nav button{color:var(--wimbledon-purple);background:#fff;border-color:#d9cfe0}.tournament-quick-nav button:active{border-color:var(--wimbledon-green);color:var(--wimbledon-green-deep);background:#e5f4ed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--wimbledon-green)}.app>nav[aria-label=التنقل\ الرئيسي] button,.app>nav[aria-label=التنقل\ الرئيسي] .shop-button span{font-size:.75rem;line-height:1.3}.page-title span,.section-head span,.count span,.court-result-summary span{font-size:.75rem;line-height:1.45}.store-info p,.venue-card p,.used-box p,.tournament-guide-heading p{font-size:.78rem;line-height:1.6}.chips span,.chips b,.venue-services span{font-size:.68rem;line-height:1.35}.store-logo,.venue-logo{overflow:hidden;background:linear-gradient(145deg,#f1ecf4,#e4f2ed)!important;border:1px solid #2d0a461a!important;padding:3px!important}.venue-logo.has-logo{background:linear-gradient(145deg,#fff,#edf5f1)!important;padding:5px!important}.venue-logo.venue-monogram{background:linear-gradient(145deg,#4f167c,#2d0a46)!important;padding:0!important}.store-logo img,.venue-logo img{border-radius:11px;display:block;object-fit:contain!important;background:0 0!important;border:0!important;width:100%!important;height:100%!important;padding:0!important}.store-card.affiliate .store-logo{background:#ffe500!important;border-color:#ecd400!important}.store-card.affiliate .store-logo img{padding:2px!important}.tour-list article>i{flex:0 0 48px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #2d0a461a;background:linear-gradient(145deg,#edf5f1,#eee8f2)!important;border:0!important;padding:7px!important}.tour-list article>i img{display:block;object-fit:contain!important;background:0 0!important;width:100%!important;height:100%!important;padding:0!important;position:static!important}.level-logo{width:68px;height:62px;min-height:62px;overflow:hidden;background:linear-gradient(145deg,#00866a,#00634e)!important;border:1px solid #ffffff2e!important;padding:8px!important}.level-logo>img{border-radius:0;display:block;object-fit:contain!important;background:0 0!important;border:0!important;width:100%!important;max-width:none!important;height:100%!important;padding:0!important;position:static!important}.level-logo.grand-slam-logo-grid,.level-logo.paired-logo-grid{gap:4px;display:grid;padding:5px!important}.level-logo.grand-slam-logo-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.level-logo.paired-logo-grid{grid-template-rows:1fr;grid-template-columns:repeat(2,minmax(0,1fr))}.level-logo.grand-slam-logo-grid img,.level-logo.paired-logo-grid img{border-radius:6px;min-width:0;object-fit:contain!important;background:#f3eef5!important;width:100%!important;height:100%!important;padding:2px!important}.major-list img,.special-competitions a>img{box-shadow:none;display:block;object-fit:contain!important;background:linear-gradient(145deg,#f1ecf4,#e4f2ed)!important;border:1px solid #2d0a461a!important;padding:5px!important}.bottom-nav button{font-size:.75rem;line-height:1.25}.chips span,.chips b,.venue-services span,.filters button,.venue-actions button,.venue-actions a,.lesson-toggle,.lesson-watched,.tour-list a,.tournament-quick-nav button,.tournament-track-filter button,.home-search-empty button{font-size:.75rem;line-height:1.35}.court-scope span,.venue-card-head span,.contact-venue small,.court-disclaimer,.detail-coupon small,.lesson-list span,.documentary-list span,.home-search-results small,.tournament-hub span,.tournament-hub small,.tour-list span,.tournament-guide-heading>span,.tournament-guide-heading p,.points-note{font-size:.75rem;line-height:1.55}.venue-name>b,.documentary-list small{font-size:.7rem;line-height:1.4}.bottom-nav .shop-button span,.offline-status small,.install-card span,.court-scope span,.venue-card-head span,.contact-venue small,.court-disclaimer,.detail-coupon small,.lesson-list span,.documentary-list span,.documentary-list small,.home-search-results small,.home-social-links small,.tournament-hub span,.tournament-hub small,.tour-list span,.tournament-guide-heading>span,.tournament-guide-heading p,.points-note,.player-card-copy small,.ranking-updated{font-size:.75rem;line-height:1.5}.player-ranking-grid:focus-visible{outline:3px solid var(--wimbledon-green);outline-offset:4px;border-radius:18px}.learning-content:focus-visible{outline:3px solid var(--wimbledon-green);outline-offset:-3px;border-radius:18px}.app small,.page-title span,.section-head span,.section-head>button,.noon-banner span,.guide>span,.guide>p,.guide>b,.store-info p,.destination-card em,.choice-copy span,.sport-gates em,.sport-gates p,.sport-gates b,.store-group-title>b,.verified-products-head span,.product-copy span,.score-flow b,.score-flow span,.reset-filters,.empty>span,.empty>button,.safe-tip span,.toast,.update-toast button,.back-to-top{font-size:.75rem;line-height:1.45}.topbar{min-height:calc(68px + env(safe-area-inset-top));height:calc(68px + env(safe-area-inset-top));padding-top:calc(12px + env(safe-area-inset-top))}.topbar .brand{min-height:44px;padding:0 2px}.topbar>div>button,.page-title>button,.searchbar .clear-search,.favorite-store,.venue-favorite,.player-dialog-close,.install-close{width:44px;min-width:44px;height:44px;min-height:44px}.filters button,.section-head>button,.reset-filters,.empty>button,.home-search-empty button,.update-toast button{min-height:44px}.section-head>button,.reset-filters{justify-content:center;align-items:center;padding-inline:8px;display:inline-flex}.home-page{--neo-purple:#2d0a46;--neo-lime:#c9ff32;--neo-paper:#f7f8ef;--neo-ink:#170421;background:var(--neo-paper)}.home-page .commerce-hero{border-bottom:4px solid var(--neo-ink);background:linear-gradient(102deg,#2d0a46fa 8%,#2d0a46b8 72%),url(/assets/tennis-hero.webp) 50% 62%/cover;height:auto;min-height:370px}.home-page .hero-copy{padding:46px 22px 54px}.home-page .hero-copy>span{border:2px solid var(--neo-ink);background:var(--neo-lime);width:fit-content;color:var(--neo-ink);padding:7px 10px;box-shadow:4px 4px #110319}.home-page .hero-copy h1{color:#fff;letter-spacing:-.06em;text-wrap:balance;max-width:360px;margin:20px 0 12px;font-size:clamp(2.55rem,12vw,3.55rem);line-height:.98}.home-page .hero-copy p{color:#fff;max-width:335px;font-size:.92rem;font-weight:650;line-height:1.75}.home-page .hero-actions button{border:3px solid var(--neo-ink);background:var(--neo-lime);min-height:50px;color:var(--neo-ink);border-radius:10px;transition:transform .16s,box-shadow .16s;box-shadow:6px 6px #110319}.home-page .hero-actions button:active{transform:translate(3px,3px);box-shadow:3px 3px #110319}.home-page .court-mark{border-width:3px;border-color:#c9ff3252}.home-page .content{background:linear-gradient(#2d0a460e 1px, transparent 1px), linear-gradient(90deg, #2d0a460e 1px, transparent 1px), var(--neo-paper);background-size:22px 22px;border-radius:0;margin-top:0;padding:22px 16px 34px}.home-page .home-search .searchbar{border:3px solid var(--neo-ink);box-shadow:6px 6px 0 var(--neo-purple);border-radius:10px;margin:0}.home-page .home-search-results{border:3px solid var(--neo-ink);box-shadow:6px 6px 0 var(--neo-purple);border-radius:10px}.home-page .section-head{margin-top:30px}.home-page .section-head strong,.home-page .home-about-heading h2{color:var(--neo-ink);font-size:1.25rem;font-weight:950}.home-page .destination-grid{gap:12px}.home-page .destination-card{border:3px solid var(--neo-ink);min-height:112px;color:var(--neo-ink);box-shadow:6px 6px 0 var(--neo-purple);background:#fff;border-radius:12px;transition:transform .16s,box-shadow .16s}.home-page .destination-card:first-child,.home-page .destination-card:nth-child(4){background:var(--neo-lime)}.home-page .destination-card i{border:2px solid var(--neo-ink);background:var(--neo-purple);color:#fff;border-radius:8px}.home-page .destination-card:active{box-shadow:3px 3px 0 var(--neo-purple);transform:translate(3px,3px)}.home-page .install-card{border:3px solid var(--neo-ink);background:var(--neo-purple);box-shadow:6px 6px 0 var(--neo-lime);border-radius:12px;margin-top:26px}.home-page .home-about{margin-top:34px}.home-page .home-about-heading>span{border:2px solid var(--neo-ink);background:var(--neo-lime);width:fit-content;color:var(--neo-ink);border-radius:6px;padding:4px 8px;font-weight:900}.home-page .home-about-card{border:3px solid var(--neo-ink);box-shadow:6px 6px 0 var(--neo-purple);background:#fff;border-radius:12px}.home-page .home-about-card:nth-child(2n){background:#eefbcf}.home-page .home-about-card>i{border:2px solid var(--neo-ink);background:var(--neo-purple);color:var(--neo-lime);border-radius:8px}.home-page .home-social-links a{border:2px solid var(--neo-ink);box-shadow:3px 3px 0 var(--neo-purple);border-radius:8px}@media (prefers-reduced-motion:reduce){.home-page .hero-actions button,.home-page .destination-card{transition:none}}.app{--neo-purple:#2d0a46;--neo-purple-dark:#170421;--neo-lime:#c9ff32;--neo-paper:#f7f8ef;--neo-white:#fff;--neo-line:3px solid var(--neo-purple-dark);--neo-shadow:5px 5px 0 var(--neo-purple);--neo-shadow-lime:5px 5px 0 var(--neo-lime);font-family:Vazirmatn Variable,SF Arabic,Geeza Pro,Tahoma,Arial,sans-serif}.topbar{border-bottom:3px solid var(--neo-purple-dark);background:var(--neo-purple);box-shadow:none}.topbar>div>button{background:var(--neo-purple-dark);box-shadow:3px 3px 0 var(--neo-lime);border:2px solid #fff;border-radius:9px}.topbar .brand img{border:2px solid var(--neo-purple-dark);box-shadow:3px 3px 0 var(--neo-lime)}.listing-page,.learn-page,.tournaments-page{background:linear-gradient(#2d0a460e 1px, transparent 1px), linear-gradient(90deg, #2d0a460e 1px, transparent 1px), linear-gradient(var(--neo-purple) 0 138px, var(--neo-paper) 238px);background-size:22px 22px,22px 22px,100% 100%}.page-title{height:auto;min-height:100px}.page-title>button{background:var(--neo-purple-dark);box-shadow:3px 3px 0 var(--neo-lime);border:2px solid #fff;border-radius:9px}.page-title h1{color:#fff;letter-spacing:-.025em;font-size:1.48rem;font-weight:950}.page-title span{color:var(--neo-lime);font-weight:800}.listing-page>.searchbar,.court-search,.tournament-search .searchbar,.learn-search{border:var(--neo-line);background:var(--neo-white);box-shadow:var(--neo-shadow);border-radius:10px}.searchbar .clear-search,.learn-search button{border:2px solid var(--neo-purple-dark);background:var(--neo-lime);color:var(--neo-purple-dark);border-radius:8px}.filters button,.court-city button,.court-need button,.lesson-filter button,.tournament-track-filter button,.player-tour-switch button{border:2px solid var(--neo-purple-dark);color:var(--neo-purple-dark);background:#fff;border-radius:8px;box-shadow:3px 3px #2d0a463d}.filters button.active,.filters .active,.court-city button.active,.court-need button.active,.lesson-filter button.active,.tournament-track-filter button.active,.player-tour-switch button.active{background:var(--neo-lime);color:var(--neo-purple-dark);box-shadow:3px 3px 0 var(--neo-purple)}.count strong,.court-result-summary strong,.store-group-title strong,.current-tournaments-heading h2,.tournament-guide-heading h2,.major-title h2,.player-rankings-heading h2,.learning-panel-head h2,.tennis-glossary-head h2,.documentary-title h2{color:var(--neo-purple-dark);letter-spacing:-.018em;font-weight:950}.store-group,.court-result-summary,.reference-intro,.tournament-hub,.tournament-guide,.player-rankings,.entity-profile,.store-card,.venue-card,.current-tournament-card,.tournament-level,.major-list>article,.special-competitions>article,.documentary-list>article,.lesson-list>article,.learning-panel,.player-ranking-card{border:var(--neo-line);background:var(--neo-white);box-shadow:var(--neo-shadow);border-radius:12px}.store-card:nth-child(2n),.venue-card:nth-child(2n),.current-tournament-card:nth-child(2n),.tournament-level:nth-child(2n),.major-list>article:nth-child(2n),.documentary-list>article:nth-child(2n),.lesson-list>article:nth-child(2n),.player-ranking-card:nth-child(2n){background:#eefbcf}.store-logo,.venue-logo,.entity-profile-head>i,.current-tournament-logo,.player-photo{border:2px solid var(--neo-purple-dark);background:#fff;border-radius:8px}.store-actions button,.venue-actions a,.directions-button,.entity-primary,.entity-secondary,.entity-share,.continue-learning,.lesson-actions button,.quiz-feedback button,.full-ranking-link,.tournament-hub-actions a,.current-tournament-sources a,.level-official-sources a{border:2px solid var(--neo-purple-dark);background:var(--neo-purple);color:#fff;min-height:44px;box-shadow:3px 3px 0 var(--neo-lime);border-radius:8px;font-weight:900}.store-actions .store-visit,.venue-actions .visit-venue,.entity-primary,.continue-learning,.quiz-feedback button{background:var(--neo-lime);color:var(--neo-purple-dark);box-shadow:3px 3px 0 var(--neo-purple)}.chips span,.venue-services span,.current-tournament-tours span,.competition-facts span,.competition-players span{border:1.5px solid var(--neo-purple-dark);color:var(--neo-purple-dark);background:#fff;border-radius:6px;font-weight:750}.learning-nav,.tournament-quick-nav,.journey-step-nav{border:var(--neo-line);box-shadow:var(--neo-shadow);background:#fff;border-radius:10px}.learning-nav button,.tournament-quick-nav button,.journey-step-nav button{border-radius:7px;font-weight:850}.learning-nav button.active,.journey-step-nav button.active{background:var(--neo-lime);color:var(--neo-purple-dark)}.terms-table-wrap,.match-map-card,.quiz-card{border:var(--neo-line);box-shadow:var(--neo-shadow);background:#fff;border-radius:10px}.terms-table thead,.score-flow>div:first-child{background:var(--neo-purple);color:#fff}.quiz-options button{border:2px solid var(--neo-purple-dark);color:var(--neo-purple-dark);background:#fff;border-radius:8px;box-shadow:3px 3px #2d0a463d}.quiz-options button.correct{background:var(--neo-lime);box-shadow:3px 3px 0 var(--neo-purple)}.current-tournament-card .is-active,.current-tournament-card .is-upcoming,.player-rank,.level-name{border:2px solid var(--neo-purple-dark);background:var(--neo-lime);color:var(--neo-purple-dark);border-radius:6px}.detail-coupon{border:2px dashed var(--neo-purple-dark);box-shadow:4px 4px 0 var(--neo-purple);background:#eefbcf;border-radius:10px}.empty,.court-empty,.lesson-empty,.tournament-empty,.documentary-empty{border:var(--neo-line);box-shadow:var(--neo-shadow);background:#fff;border-radius:12px}.bottom-nav{border-top:3px solid var(--neo-purple-dark);background:var(--neo-purple);box-shadow:0 -5px 0 var(--neo-lime)}.bottom-nav button{color:#d7c9df;font-weight:800}.bottom-nav button.active{color:var(--neo-lime)}.bottom-nav button.active svg{stroke-width:3px}.toast,.update-toast,.offline-status,.back-to-top{border:2px solid var(--neo-purple-dark);box-shadow:4px 4px 0 var(--neo-lime);border-radius:9px}@media (hover:hover){.store-card,.venue-card,.current-tournament-card,.tournament-level,.player-ranking-card{transition:transform .16s,box-shadow .16s}.store-card:hover,.venue-card:hover,.current-tournament-card:hover,.tournament-level:hover,.player-ranking-card:hover{box-shadow:7px 7px 0 var(--neo-purple);transform:translate(-2px,-2px)}}@media (width<=370px){.page-title h1{font-size:1.28rem}.store-group,.court-result-summary,.reference-intro,.tournament-hub,.tournament-guide,.player-rankings,.entity-profile{box-shadow:4px 4px 0 var(--neo-purple)}}@media (prefers-reduced-motion:reduce){.store-card,.venue-card,.current-tournament-card,.tournament-level,.player-ranking-card{transition:none}}.app .reference-page{background:linear-gradient(#2d0a460b 1px, transparent 1px), linear-gradient(90deg, #2d0a460b 1px, transparent 1px), var(--neo-paper);color:var(--neo-purple-dark);background-size:22px 22px}.app .reference-page .page-title{border-bottom:3px solid var(--neo-purple-dark);background:var(--neo-purple);margin-bottom:16px}.app .reference-page .reference-intro{border:var(--neo-line);color:var(--neo-purple-dark);box-shadow:var(--neo-shadow);background:#fff;border-radius:12px;padding:17px}.app .reference-page .reference-intro strong{color:var(--neo-purple-dark);font-size:.94rem;font-weight:950}.app .reference-page .reference-intro span,.app .reference-page .lesson-progress-copy span,.app .reference-page .lesson-progress-copy b{color:#574b5c}.app .reference-page .learn-search{border:var(--neo-line);box-shadow:var(--neo-shadow);background:#fff;border-radius:10px;margin-top:16px}.app .reference-page .learn-search input,.app .reference-page .tournament-search input{color:var(--neo-purple-dark);opacity:1}.app .reference-page .learn-search input::placeholder,.app .reference-page .tournament-search input::placeholder{color:#746979;opacity:1}.app .reference-page nav.learning-nav,.app .reference-page nav.journey-step-nav{border:var(--neo-line);box-shadow:var(--neo-shadow);background:#fff;border-radius:10px}.app .reference-page nav.learning-nav{gap:6px;padding:7px}.app .reference-page .learning-nav button{border:2px solid var(--neo-purple-dark);color:var(--neo-purple);background:#fff;border-radius:8px;box-shadow:3px 3px #2d0a4638}.app .reference-page .learning-nav button.active svg{color:var(--neo-purple)}.app .reference-page nav.journey-step-nav{gap:8px;padding:10px}.app .reference-page .journey-step-nav button{color:var(--neo-purple-dark);box-shadow:none;background:#fff;border:2px solid #ded3e4;border-radius:8px}.app .reference-page .journey-step-nav b{border:2px solid var(--neo-purple-dark);background:var(--neo-purple);color:var(--neo-lime)}.app .reference-page .tennis-glossary,.app .reference-page .learning-panel{border:var(--neo-line);color:var(--neo-purple-dark);box-shadow:var(--neo-shadow);background:#fff;border-radius:12px;padding:16px}.app .reference-page .tennis-glossary-head span,.app .reference-page .learning-panel-head span{color:#00664f}.app .reference-page .tennis-glossary-head h2,.app .reference-page .learning-panel-head h2,.app .reference-page .quiz-card h3,.app .reference-page .learning-journey strong,.app .reference-page .skill-path-grid strong{color:var(--neo-purple-dark)}.app .reference-page .tennis-glossary-head p,.app .reference-page .learning-panel-head p,.app .reference-page .learning-journey p,.app .reference-page .skill-path-grid p,.app .reference-page .score-flow span,.app .reference-page .quiz-progress{color:#574b5c}.app .reference-page .terms-table-wrap,.app .reference-page .quiz-card,.app .reference-page .learning-journey li,.app .reference-page .skill-path-grid article,.app .reference-page .score-flow div{border:2px solid var(--neo-purple-dark);background:#fff;border-radius:9px;box-shadow:3px 3px #2d0a4633}.app .reference-page .terms-table,.app .reference-page .terms-table td{color:#33263a}.app .reference-page .terms-table th{background:var(--neo-purple);color:#fff}.app .reference-page .documentary-list a,.app .reference-page .lesson-list article{border:var(--neo-line);color:var(--neo-purple-dark);box-shadow:var(--neo-shadow);background:#fff;border-radius:12px}.app .reference-page .tournament-hub{border:var(--neo-line);background:var(--neo-purple);color:#fff;box-shadow:var(--neo-shadow-lime);border-radius:12px}.app .reference-page .tournament-hub span{color:var(--neo-lime)}.app .reference-page .tournament-hub strong{color:#fff;font-weight:950}.app .reference-page .tournament-hub small{color:#f0e9f4;opacity:1}.app .reference-page .tournament-hub-actions a{background:var(--neo-lime);color:var(--neo-purple-dark);border:2px solid #fff;border-radius:8px;box-shadow:3px 3px #fff}.app .reference-page .tournament-search .searchbar{border:var(--neo-line);box-shadow:var(--neo-shadow);background:#fff;border-radius:10px}.app .reference-page .tournament-search>span{border:2px solid var(--neo-purple-dark);color:var(--neo-purple-dark);background:#fff;border-radius:8px;margin:8px 0 0;padding:7px 10px;font-size:.75rem;font-weight:850;box-shadow:3px 3px #2d0a4638}.app .reference-page nav.tournament-quick-nav{border-block:var(--neo-line);box-shadow:0 5px 0 var(--neo-purple);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;margin:16px 0 18px;top:0}.app .reference-page .tournament-quick-nav button{border:2px solid var(--neo-purple-dark);color:var(--neo-purple-dark);background:#fff;border-radius:8px;box-shadow:3px 3px #2d0a4638}.app .reference-page .tour-list article,.app .reference-page .current-tournament-card,.app .reference-page .tournament-level,.app .reference-page .major-list a,.app .reference-page .special-competitions a{border:var(--neo-line);color:var(--neo-purple-dark);box-shadow:var(--neo-shadow);background:#fff;border-radius:12px}.app .reference-page .tour-list strong,.app .reference-page .current-tournament-card header strong,.app .reference-page .current-tournament-card dd,.app .reference-page .major-list strong,.app .reference-page .special-competitions strong{color:var(--neo-purple-dark)}.app .reference-page .tour-list span,.app .reference-page .current-tournament-card header span,.app .reference-page .current-tournament-card header small,.app .reference-page .current-tournament-card dt,.app .reference-page .current-tournament-card>p,.app .reference-page .riyadh-time-note,.app .reference-page .special-competitions p{color:#574b5c;opacity:1}.app .reference-page .tour-list a,.app .reference-page .current-tournament-sources a,.app .reference-page .level-official-sources a{border:2px solid var(--neo-purple-dark);background:var(--neo-purple);color:#fff;box-shadow:3px 3px 0 var(--neo-lime);border-radius:8px}.app .reference-page .tournament-guide{border:var(--neo-line);color:var(--neo-purple-dark);box-shadow:var(--neo-shadow);background:#fff;border-radius:12px;padding:16px}.app .reference-page .tournament-guide-heading>span{color:#00664f}.app .reference-page .tournament-guide-heading p,.app .reference-page .points-note,.app .reference-page .level-details p{color:#574b5c}.app .reference-page .tournament-track-filter{border:2px solid var(--neo-purple-dark);background:#f0eaf3;border-radius:9px}.app .reference-page .tournament-track-filter button{color:#574b5c}.app .reference-page .tournament-track-filter button.active{background:var(--neo-lime);color:var(--neo-purple-dark);box-shadow:3px 3px 0 var(--neo-purple)}.app .reference-page .level-card-head{border-bottom:var(--neo-line);background:var(--neo-purple)}.app .reference-page .level-name{color:inherit;background:0 0;border:0}.app .reference-page .level-name strong{color:#fff}.app .reference-page .level-name>span{color:var(--neo-lime)}.app .reference-page .level-details>div{background:#faf8fb;border:2px solid #d8cddd;border-radius:9px}.app .reference-page .player-rankings{border:var(--neo-line);background:var(--neo-purple);color:#fff;box-shadow:var(--neo-shadow-lime);border-radius:12px}.app .reference-page .player-rankings-heading h2,.app .reference-page .player-rankings-heading p{color:#fff}.app .reference-page .player-rankings-heading p{opacity:.86}.app .reference-page .player-ranking-card,.app .reference-page .player-ranking-card:nth-child(2n){color:#fff;box-shadow:4px 4px 0 var(--neo-lime);background:#112a28;border:2px solid #fff}.app .reference-page .player-card-copy strong{color:#fff}.app .reference-page .player-card-copy small{color:#e7dde9;opacity:1}.app .reference-page .ranking-updated{color:#e7dde9;opacity:1;font-weight:700}@media (width<=380px){.app .reference-page .tennis-glossary,.app .reference-page .learning-panel,.app .reference-page .tournament-guide{padding:13px}}.app{--court-purple:#2d0a46;--court-ink:#170421;--court-lime:#c9ff32;--court-paper:#f7f8ef;--court-muted:#625769;--court-border:#cfc2d6;--court-shadow:0 10px 26px #2d0a4621}.app .home-page .content{background:var(--court-paper);background-image:none}.app .listing-page,.app .learn-page,.app .tournaments-page{background-image:linear-gradient(var(--court-purple) 0 138px, var(--court-paper) 238px);background-size:100% 100%}.app .home-page .home-about-card,.app .store-card,.app .venue-card,.app .reference-page .learning-panel,.app .reference-page .tennis-glossary{border:1.5px solid var(--court-border);box-shadow:var(--court-shadow);border-radius:16px}.app .home-page .home-about{border-top:1px solid #d8cedd}.app .home-page .home-about-heading>span{color:#00664f;box-shadow:none;background:#e7f5ee;border:0;border-radius:7px}.app .home-page .home-about-card{color:var(--court-ink);background:#fff}.app .home-page .home-about-card:nth-child(2n){background:#f1f7e5}.app .home-page .home-about-card>i{background:var(--court-purple);color:var(--court-lime);border:0}.app .home-page .home-about-card h3{color:var(--court-ink)}.app .home-page .home-about-card p{color:#514858}.app .home-page .home-social-card,.app .home-page .home-social-card:nth-child(2n){border-color:var(--court-purple);color:#fff;background:linear-gradient(145deg,#2d0a46,#41115f);box-shadow:0 12px 28px #2d0a463d}.app .home-page .home-social-card h3{color:#fff}.app .home-page .home-social-links>a{color:#fff;min-height:64px;box-shadow:none;background:#ffffff1c;border:1px solid #ffffff47}.app .home-page .home-social-links>a>svg:first-child{color:var(--court-lime)}.app .home-page .home-social-links b{color:#fff;line-height:1.35}.app .home-page .home-social-links small{color:#ebe3ef;opacity:1}.app .home-page .home-social-links>a>svg:last-child{color:#fff;opacity:.82}.app .store-card{background:#fff;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:12px;padding:14px}.app .store-card:nth-child(2n){background:#f5f8ed}.app .store-logo{align-self:start;width:54px;height:54px;overflow:hidden}.app .store-logo img{object-fit:contain;width:100%;height:100%}.app .store-info{min-width:0}.app .store-info>div:first-child{grid-template-columns:minmax(0,auto) 18px 38px;justify-content:start;align-items:center;gap:6px;min-height:38px;display:grid}.app .store-info>div:first-child>strong{min-width:0;color:var(--court-ink);font-size:.95rem;line-height:1.35}.app .store-info>div:first-child>svg{width:16px;height:16px}.app .favorite-store{justify-self:end;width:38px;height:38px;margin-inline-start:0}.app .store-card>.store-actions{gap:10px;margin-top:2px}.app .store-actions>.store-visit,.app .store-actions>.store-details{min-height:48px;box-shadow:none;border:0;border-radius:10px;font-size:.82rem;line-height:1}.app .store-actions>a svg,.app .store-actions>button svg{flex:0 0 16px;width:16px;height:16px}.app .venue-card{background:#fff;padding:14px}.app .venue-card:nth-child(2n){background:#f5f8ed}.app .venue-card-head>i{width:56px;min-width:56px;height:56px}.app .venue-card-head>div{min-width:0}.app .venue-name{align-items:center;gap:6px;line-height:1.35;display:flex!important}.app .venue-name>strong{color:var(--court-ink);font-size:.94rem}.app .venue-card-head>div>span{color:var(--court-muted);margin-top:4px;font-size:.72rem;display:block}.app .venue-favorite{justify-self:end;width:40px;min-width:40px;height:40px}.app .venue-services{margin-top:12px}.app .venue-card p{color:var(--court-muted);font-size:.76rem;line-height:1.65}.app .venue-actions button,.app .venue-actions a,.app .directions-button{min-height:48px;box-shadow:none;border:0;border-radius:10px;font-size:.8rem;line-height:1.25}.app .venue-actions button svg,.app .venue-actions a svg,.app .directions-button svg{flex:0 0 16px;width:16px;height:16px}.app .venue-actions .contact-venue{min-height:64px;color:var(--court-ink);background:#e6f6f0;border:1px solid #9ed9c8}.app .contact-venue>b{background:var(--court-purple);color:#fff}.app .reference-page nav.learning-nav{border:1.5px solid var(--court-border);box-shadow:var(--court-shadow);border-radius:14px;gap:8px;padding:8px}.app .reference-page .learning-nav button{min-height:64px;color:var(--court-purple);box-shadow:none;background:#fff;border:1px solid #d9cedf;border-radius:10px}.app .reference-page .learning-nav button.active{border-color:var(--court-lime);background:var(--court-lime);color:var(--court-ink);box-shadow:none}.app .reference-page nav.journey-step-nav{border:1.5px solid var(--court-border);box-shadow:var(--court-shadow);background:#fff;border-radius:14px;gap:8px;padding:10px}.app .reference-page .journey-step-nav button{min-height:64px;color:var(--court-ink);box-shadow:none;background:#f9f7fa;border:1px solid #ded5e2;border-radius:10px}.app .reference-page .journey-step-nav b{background:var(--court-purple);color:var(--court-lime);border:0}.app .reference-page .learning-panel,.app .reference-page .tennis-glossary{background:#fff;padding:16px}.app .reference-page .learning-journey li,.app .reference-page .skill-path-grid article,.app .reference-page .terms-table-wrap,.app .reference-page .quiz-card,.app .reference-page .score-flow div{box-shadow:none;background:#faf9fb;border:1px solid #ded5e2;border-radius:12px}.app .reference-page .learning-journey strong,.app .reference-page .skill-path-grid strong{color:var(--court-ink)}.app .reference-page .learning-journey p,.app .reference-page .skill-path-grid p,.app .reference-page .learning-panel-head p{color:var(--court-muted)}@media (width<=380px){.app .home-social-links,.app .store-actions,.app .venue-actions{grid-template-columns:1fr}.app .home-social-links>.home-social-email,.app .venue-actions .contact-venue{grid-column:1}}@media (width>=900px){.shell{align-items:start;width:100%;min-height:100svh;padding:0}.app{width:100%;max-width:none;min-height:100svh;box-shadow:none;border-radius:0;padding-bottom:0;overflow:hidden}.app .topbar{border-radius:0;height:68px;padding-inline:30px}.app .topbar .brand{font-size:1.18rem}.app .bottom-nav{height:64px;box-shadow:0 5px 0 var(--court-lime);background:#25083b;border-top:0;border-bottom:1px solid #ffffff24;border-radius:0;grid-template-columns:repeat(5,minmax(120px,1fr));padding:0 30px;position:absolute;inset:68px 0 auto}.app .bottom-nav button{color:#d9cde0;border-radius:0;flex-direction:row;gap:9px;min-height:64px;padding:0 18px;font-size:.8rem}.app .bottom-nav button svg{width:20px;height:20px}.app .bottom-nav button.active{color:var(--court-lime);box-shadow:inset 0 -3px 0 var(--court-lime);background:#ffffff0f}.app .page{min-height:calc(100svh - 116px);padding-top:64px;padding-bottom:48px}.app .home-page .commerce-hero{background-position:50% 58%;min-height:480px}.app .home-page .hero-copy{width:min(100%,1160px);margin-inline:auto;padding:90px 48px 72px}.app .home-page .hero-copy h1{max-width:680px;font-size:clamp(3.4rem,6vw,5.2rem);line-height:1}.app .home-page .hero-copy p{max-width:610px;font-size:1.04rem}.app .home-page .content{padding:38px 48px 64px}.app .home-page .home-search,.app .home-page .section-head,.app .home-page .destination-grid,.app .home-page .install-card,.app .home-page .home-about{width:min(100%,1160px);margin-inline:auto}.app .home-page .destination-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.app .home-page .destination-card{min-height:176px;padding:20px}.app .home-page .destination-card small{font-size:.82rem}.app .home-page .home-about-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.app .home-page .about-card-intro{grid-column:span 2}.app .home-page .home-social-card{grid-column:1/-1}.app .home-page .home-social-links{grid-template-columns:repeat(3,minmax(0,1fr))}.app .home-page .home-social-links>.home-social-email{grid-column:auto}.app .page-title{min-height:132px;padding:34px 48px 28px}.app .page-title h1{font-size:2rem}.app .listing-page>.searchbar,.app .court-search,.app .learn-search,.app .tournament-search,.app .reference-page>.reference-intro,.app .reference-page>nav.learning-nav,.app .reference-page>.learning-content,.app .filters,.app .count,.app .store-groups,.app .court-city,.app .court-need,.app .court-results,.app .venue-list,.app .court-disclaimer,.app .entity-profile{width:min(100% - 64px,1160px);margin-left:auto;margin-right:auto}.app .listing-page>.searchbar,.app .court-search,.app .learn-search,.app .tournament-search .searchbar{min-height:60px}.app .store-groups{gap:32px}.app .store-group{padding:20px}.app .store-group .store-list,.app .venue-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.app .venue-card{flex-direction:column;display:flex}.app .venue-card .directions-button{margin-top:auto}.app .reference-page>.reference-intro{margin-top:8px}.app .reference-page>nav.learning-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.app .reference-page .integrated-learning{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;padding-top:18px;display:grid}.app .reference-page .integrated-learning>nav.journey-step-nav,.app .reference-page .integrated-learning>.tennis-glossary{grid-column:1/-1}.app .reference-page nav.journey-step-nav{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.app .reference-page .integrated-learning>.learning-panel,.app .reference-page .integrated-learning>.tennis-glossary{margin:0}.app .reference-page .lesson-list,.app .reference-page .documentary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 0 0;display:grid}.app .reference-page .lesson-list article,.app .reference-page .documentary-list article,.app .reference-page .documentary-list a{min-width:0}.app .tournament-hub,.app .tournament-search,.app nav.tournament-quick-nav,.app .tour-list,.app .tournament-guide,.app .current-tournaments,.app .major-title,.app .major-list,.app .special-competitions,.app .player-rankings{width:min(100% - 64px,1160px);margin-left:auto;margin-right:auto}.app .tour-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;display:grid}.app .current-tournament-grid,.app .special-competitions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app .major-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.app .player-ranking-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.app .back-to-top{bottom:28px}}@media (width>=1180px){.app .store-group .store-list,.app .venue-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.app,.app button,.app input,.app a{font-family:Vazirmatn Variable,SF Arabic,Geeza Pro,Tahoma,Arial,sans-serif}.app :where(h1,h2,h3,p,strong,span,small,dd,dt,a,button){overflow-wrap:anywhere}.app :where(.store-card,.venue-card,.current-tournament-card,.player-ranking-card,.learning-panel,.tennis-glossary,.home-about-card,.destination-card){min-width:0}.app .page-title{grid-template-columns:44px minmax(0,1fr);align-items:center;height:auto;min-height:98px;display:grid}.app .page-title>button{width:42px;min-width:42px;height:42px}.app .page-title>div,.app .page-title h1{min-width:0}.app .page-title h1{text-wrap:balance;line-height:1.3}.app .page-title h1:focus{outline:none}.app :where(.searchbar,.learn-search) input{min-width:0}.app :where(.filters button,.court-city button,.court-need button,.tournament-quick-nav button,.learning-nav button,.journey-step-nav button){line-height:1.35}.app .store-info>div:first-child{grid-template-columns:minmax(0,1fr) auto 40px;align-items:start}.app .store-info>div:first-child>strong{white-space:normal;text-overflow:clip;max-width:100%;line-height:1.45;display:block;overflow:visible}.app .favorite-store{flex:0 0 40px}.app .store-info .chips{align-items:center}.app .store-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.app .store-actions>:where(a,button){white-space:normal;text-align:center;min-width:0;padding-inline:10px}.app .venue-name{flex-wrap:wrap;min-width:0}.app .venue-name>strong{white-space:normal;text-overflow:clip;min-width:0;overflow:visible}.app .venue-services{flex-wrap:wrap;align-items:center;display:flex}.app .venue-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.app .venue-actions>:where(a,button),.app .directions-button{text-align:center;white-space:normal;min-width:0;padding-inline:10px}.app .tour-list article{grid-template-columns:52px repeat(3,minmax(0,1fr));align-items:stretch}.app .tour-list article>i{align-self:start}.app .tour-list article>div{min-width:0;padding-inline-start:2px}.app .tour-list article>a:first-of-type{grid-column:2}.app .tour-list a{text-align:center;white-space:normal;min-width:0;padding:8px 6px;line-height:1.35}.app .current-tournaments,.app .tournament-guide,.app .player-rankings{border:1.5px solid var(--court-border);box-shadow:var(--court-shadow);background:#fffffff7;border-radius:16px;padding:18px}.app .current-tournaments-heading h2,.app .tournament-guide-heading h2,.app .player-rankings h2{color:var(--court-ink)}.app .current-tournaments-heading p,.app .tournament-guide-heading p,.app .points-note,.app .riyadh-time-note{color:var(--court-muted)}.app .current-tournament-card header>div:last-child{min-width:0}.app .current-tournament-card header strong,.app .current-tournament-card header small,.app .current-tournament-card dd{white-space:normal;text-overflow:clip;overflow:visible}.app .current-tournament-sources{grid-template-columns:repeat(2,minmax(0,1fr))}.app .current-tournament-sources a{text-align:center;white-space:normal;min-width:0;padding-inline:9px;line-height:1.35}.app .learning-nav button,.app .journey-step-nav button{min-width:0;padding-inline:8px}.app .learning-nav button span,.app .journey-step-nav button span{white-space:normal;text-align:center;min-width:0}.app .skill-path-grid article,.app .learning-journey li{align-items:start}.app .terms-table-wrap{max-width:100%;overflow-x:auto}.app .terms-table{min-width:640px}@media (width<=899px){.app .page-title{gap:10px;padding-inline:16px}.app .page-title h1{font-size:clamp(1.18rem,5.4vw,1.48rem)}.app .store-card{grid-template-columns:50px minmax(0,1fr);padding:12px}.app .store-logo{width:50px;height:50px}.app .store-info>div:first-child{grid-template-columns:minmax(0,1fr) auto 38px;gap:5px}.app .venue-card-head{grid-template-columns:50px minmax(0,1fr) 38px;gap:9px}.app .venue-card-head>i{width:50px;min-width:50px;height:50px}.app .current-tournaments,.app .tournament-guide,.app .player-rankings{margin-inline:12px;padding:14px}.app .tour-list article{grid-template-columns:48px repeat(3,minmax(0,1fr));gap:7px}.app .tour-list a{font-size:.66rem}}@media (width<=380px){.app .store-info>div:first-child{grid-template-columns:minmax(0,1fr) 36px}.app .store-info>div:first-child>svg{display:none}.app .tour-list article{grid-template-columns:44px minmax(0,1fr)}.app .tour-list article>div{grid-column:2}.app .tour-list article>a,.app .tour-list article>a:first-of-type{grid-column:1/-1}.app .current-tournament-sources,.app .store-actions,.app .venue-actions{grid-template-columns:1fr}}.app .store-groups{gap:28px}.app .store-group{box-shadow:none;background:0 0;border:0;border-radius:0;gap:14px;padding:0}.app .store-group-title{min-height:48px;padding:0 2px}.app .store-group-title>div{gap:10px}.app .store-group-title>div>svg{border:2px solid var(--court-purple);width:40px;height:40px;color:var(--court-purple);background:#fff;border-radius:10px;padding:9px}.app .store-group-title strong{color:var(--court-ink);font-size:.95rem;line-height:1.35}.app .store-group-title small{color:var(--court-muted);margin-top:2px;font-size:.8rem;line-height:1.35}.app .store-group-title>b{border:2px solid var(--court-purple);background:var(--court-lime);min-width:36px;height:36px;color:var(--court-purple);border-radius:9px;font-size:.82rem}.app .store-group .store-list{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:14px;padding:0;display:grid}.app .store-card,.app .store-card:nth-child(2n),.app .store-card.affiliate{border:2px solid var(--court-purple);min-width:0;height:100%;box-shadow:4px 4px 0 var(--court-purple);background:#fff;border-radius:14px;grid-template-rows:auto 1fr auto;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:12px 14px;padding:16px}.app .store-logo,.app .store-card.affiliate .store-logo{width:62px;height:62px;box-shadow:none;border:1px solid #ded5e2;border-radius:11px;padding:6px;background:#fff!important}.app .store-info{flex-direction:column;min-width:0;height:100%;display:flex}.app .store-info>div:first-child{grid-template-columns:minmax(0,1fr) 20px 44px;align-items:center;gap:7px;min-height:44px}.app .store-info>div:first-child>strong{color:var(--court-ink);font-size:1rem;font-weight:900;line-height:1.4}.app .store-info>div:first-child>svg{color:#08785d;width:18px;height:18px}.app .favorite-store{color:#625769;width:44px;min-width:44px;height:44px;box-shadow:none;background:#f7f5f8;border:1px solid #ded5e2;border-radius:9px}.app .favorite-store.saved{border-color:var(--court-purple);color:var(--court-purple);background:#eefbcf}.app .store-info p{min-height:2.9em;color:var(--court-muted);margin:7px 0 12px;font-size:.9rem;line-height:1.6}.app .store-info .chips{gap:6px;margin-top:auto}.app .store-info .chips span,.app .store-info .chips b{min-height:30px;color:var(--court-ink);background:#f7f5f8;border:1px solid #d8cedd;border-radius:7px;align-items:center;padding:5px 9px;font-size:.78rem;line-height:1.25;display:inline-flex}.app .store-info .chips b{border-color:var(--court-purple);background:var(--court-purple);color:var(--court-lime)}.app .store-card>.store-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;gap:10px;margin-top:2px;display:grid}.app .store-actions>.store-visit,.app .store-actions>.store-details{border:2px solid var(--court-purple);text-align:center;min-width:0;min-height:48px;box-shadow:none;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-size:.88rem;font-weight:900;line-height:1.3;display:inline-flex}.app .store-actions>.store-details{background:var(--court-purple);color:#fff}@media (width>=900px){.app .store-group .store-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app .store-card,.app .store-card:nth-child(2n),.app .store-card.affiliate{min-height:270px}}@media (width<=430px){.app .store-card,.app .store-card:nth-child(2n),.app .store-card.affiliate{grid-template-columns:54px minmax(0,1fr);gap:10px 12px;padding:14px}.app .store-logo,.app .store-card.affiliate .store-logo{width:54px;height:54px}.app .store-info>div:first-child{grid-template-columns:minmax(0,1fr) 18px 42px}.app .favorite-store{width:42px;min-width:42px;height:42px}}@media (width<=350px){.app .store-info>div:first-child{grid-template-columns:minmax(0,1fr) 40px}.app .store-info>div:first-child>svg{display:none}.app .store-card>.store-actions{grid-template-columns:1fr}}.app{--showcase-purple:#2d0a46;--showcase-purple-2:#451468;--showcase-lime:#c9ff32;--showcase-ink:#170421;--showcase-paper:#f7f8f2;--showcase-surface:#fff;--showcase-muted:#655b69;--showcase-line:#ded7e1;--showcase-radius:18px;--showcase-shadow:0 12px 32px #2d0a4617;color:var(--showcase-ink);font-family:Vazirmatn Variable,SF Arabic,Geeza Pro,Tahoma,Arial,sans-serif}.app *{min-width:0}.app h1,.app h2,.app h3,.app strong,.app p,.app span,.app small,.app a,.app button{overflow-wrap:anywhere}.app p{text-wrap:pretty}.app .topbar{height:68px;box-shadow:none;background:#2d0a46f7;border-bottom:1px solid #ffffff24;padding-inline:clamp(16px,4vw,34px)}.app .topbar .brand{color:#fff;letter-spacing:.04em;gap:10px;font-size:1.1rem;font-weight:950}.app .topbar .brand img{object-fit:cover;border:1px solid #ffffff47;border-radius:12px;width:38px;height:38px}.app .topbar>div>button,.app .page-title>button{color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:12px;width:42px;height:42px}.app .commerce-hero{background:linear-gradient(100deg,#230637f7 4%,#2d0a46b8 68%,#2d0a467a),url(/assets/tennis-hero.webp) 50% 60%/cover;border-bottom:0;height:auto;min-height:330px}.app .home-page .hero-copy{width:min(100%,1120px);margin-inline:auto;padding:42px 20px 48px}.app .home-page .hero-copy>span{color:var(--showcase-lime);box-shadow:none;background:#c9ff321f;border:1px solid #c9ff32b3;border-radius:999px;padding:6px 10px;font-size:.82rem}.app .home-page .hero-copy h1{letter-spacing:-.045em;max-width:520px;margin:18px 0 12px;font-size:clamp(2.45rem,11vw,3.35rem);line-height:1.04}.app .home-page .hero-copy p{color:#ffffffdb;max-width:520px;margin-bottom:20px;font-size:1rem;line-height:1.75}.app .home-page .hero-actions button{background:var(--showcase-lime);min-height:48px;color:var(--showcase-ink);box-shadow:none;border:0;border-radius:12px}.app .home-page .content{background:var(--showcase-paper);box-shadow:none;border-radius:0;margin-top:0;padding:20px 16px 42px}.app .home-search,.app .home-page .section-head,.app .destination-grid,.app .home-about{width:min(100%,1120px);margin-inline:auto}.app .searchbar,.app .learn-search{border:1px solid var(--showcase-line);background:#fff;border-radius:14px;min-height:56px;box-shadow:0 8px 24px #2d0a4614}.app .home-search .searchbar,.app .home-search-results{border:1px solid var(--showcase-line);box-shadow:var(--showcase-shadow);border-radius:14px}.app .searchbar input,.app .learn-search input,.app .tournament-search input{min-width:0;color:var(--showcase-ink);font-size:1rem;line-height:1.5}.app .section-head{margin-top:26px;margin-bottom:12px}.app .section-head strong,.app .home-about-heading h2{color:var(--showcase-ink);font-size:1.25rem;line-height:1.4}.app .section-head span{color:var(--showcase-muted);font-size:.82rem}.app .destination-grid{gap:10px}.app .destination-card,.app .destination-card:first-child,.app .destination-card:nth-child(4){border:1px solid var(--showcase-line);border-radius:var(--showcase-radius);min-height:112px;color:var(--showcase-ink);box-shadow:var(--showcase-shadow);background:#fff;padding:14px}.app .destination-card i{background:var(--showcase-purple);color:var(--showcase-lime);border:0;border-radius:12px}.app .destination-card strong{font-size:1rem;line-height:1.45}.app .home-page .destination-card{justify-content:flex-start;gap:0}.app .home-page .destination-card strong{margin-top:12px}.app .home-page .destination-card small{max-width:22ch;color:var(--showcase-muted);margin-top:5px;font-size:.76rem;font-weight:650;line-height:1.55}.app .home-page .destination-card:focus-visible{outline:3px solid var(--showcase-purple);outline-offset:3px}.app .home-about{border-top:1px solid var(--showcase-line);margin-top:34px;padding-top:26px}.app .home-about-heading>span{color:#08745b;box-shadow:none;background:0 0;border:0;padding:0;font-size:.8rem}.app .home-about-grid{grid-template-columns:1fr;gap:10px}.app .home-about-card,.app .home-about-card:nth-child(2n){border:1px solid var(--showcase-line);border-radius:var(--showcase-radius);box-shadow:none;background:#fff;grid-column:auto;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;padding:16px;display:grid}.app .home-about-card>i{width:42px;height:42px;color:var(--showcase-purple);background:#f0eaf4;border:0;border-radius:12px;margin:0}.app .home-about-card h3{color:var(--showcase-ink);font-size:1rem;line-height:1.45}.app .home-about-card p{color:var(--showcase-muted);font-size:.9rem;line-height:1.8}.app .home-social-card,.app .home-social-card:nth-child(2n){background:var(--showcase-purple);color:#fff;border-color:#0000;grid-template-columns:42px minmax(0,1fr)}.app .home-social-card>i{color:var(--showcase-lime);background:#c9ff3224}.app .home-social-card h3{color:#fff}.app .home-social-links{grid-template-columns:1fr;gap:8px}.app .home-social-links>a,.app .home-social-links>.home-social-email{min-height:56px;box-shadow:none;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;grid-column:auto}.app .listing-page,.app .reference-page{background:linear-gradient(var(--showcase-purple) 0 138px, var(--showcase-paper) 238px);min-height:calc(100svh - 68px);padding-bottom:38px;overflow-x:clip}.app .page-title{align-items:end;gap:12px;height:auto;min-height:112px;padding:20px 16px 24px}.app .page-title>div{min-width:0}.app .page-title span{color:var(--showcase-lime);font-size:.8rem;line-height:1.4}.app .page-title h1{color:#fff;margin:4px 0 0;font-size:clamp(1.45rem,6vw,2rem);line-height:1.3}.app .page-title.main-page-title{grid-template-columns:minmax(0,1fr);align-items:end;gap:0;min-height:104px;padding:18px 16px 21px}.app .page-title.main-page-title>div{width:min(100%,1120px);margin-inline:auto;padding-inline-start:15px;position:relative}.app .page-title.main-page-title>div:before{content:"";background:var(--showcase-lime);border-radius:999px;width:4px;position:absolute;inset-block:3px;inset-inline-start:0}.app .page-title.main-page-title span{font-size:.78rem;font-weight:800}.app .page-title.main-page-title h1{letter-spacing:-.02em;font-size:clamp(1.5rem,5.8vw,2.05rem)}@media (width>=900px){.app .page-title.main-page-title{min-height:116px;padding-inline:30px}}.app .listing-page>.searchbar,.app .court-search,.app .filters,.app .count,.app .store-groups,.app .court-city,.app .court-need,.app .court-results,.app .venue-list,.app .court-disclaimer,.app .reference-page>.reference-intro,.app .reference-page>.learn-search,.app .reference-page>nav.learning-nav,.app .reference-page>.learning-content,.app .tournament-hub,.app .tournament-search,.app nav.tournament-quick-nav,.app .tour-list,.app .current-tournaments,.app .tournament-guide,.app .major-title,.app .major-list,.app .special-competitions,.app .player-rankings,.app .entity-profile{width:min(100% - 32px,1120px);margin-left:auto;margin-right:auto}.app .filters{gap:10px;padding:12px 0 0}.app .filters .sport-scope{border:1px solid var(--showcase-line);background:#ffffffe0;border-radius:14px;align-items:flex-start;padding:12px 14px}.app .sport-scope span{color:var(--showcase-ink);font-size:.9rem}.app .sport-scope small{color:var(--showcase-muted);font-size:.8rem}.app .filters button,.app .court-city button,.app .court-need button,.app .tournament-track-filter button,.app .tournament-quick-nav button{border:1px solid var(--showcase-line);min-height:42px;color:var(--showcase-muted);box-shadow:none;background:#fff;border-radius:999px;padding:8px 13px;font-size:.84rem;line-height:1.3}.app .filters button.active,.app .court-city button.active,.app .court-need button.active,.app .tournament-track-filter button.active{border-color:var(--showcase-purple);background:var(--showcase-purple);color:#fff}.app .count,.app .court-results{margin-top:18px;margin-bottom:10px}.app .count strong,.app .court-result-summary strong{color:var(--showcase-ink);font-size:1rem}.app .store-groups{gap:26px;display:grid}.app .store-group-title{margin-bottom:10px;padding:0}.app .store-group-title>div>svg{width:38px;height:38px;color:var(--showcase-purple);background:#eee7f2;border-radius:12px;padding:9px}.app .store-group-title strong{color:var(--showcase-ink);font-size:.98rem}.app .store-group-title small{color:var(--showcase-muted);font-size:.78rem}.app .store-list{gap:12px;padding:0}.app .store-card,.app .store-card:nth-child(2n),.app .store-card.affiliate{border:1px solid var(--showcase-line);border-radius:var(--showcase-radius);height:100%;box-shadow:var(--showcase-shadow);background:#fff;grid-template-rows:auto 1fr auto;grid-template-columns:56px minmax(0,1fr);align-content:start;gap:12px;padding:16px}.app .store-card.affiliate{border-top:4px solid var(--showcase-lime)}.app .store-logo,.app .store-card.affiliate .store-logo{border:1px solid var(--showcase-line);width:56px;height:56px;box-shadow:none;background:#fff;border-radius:14px}.app .store-logo img,.app .store-card.affiliate .store-logo img{object-fit:contain;width:100%;height:100%;padding:7px}.app .store-info{flex-direction:column;min-height:0;display:flex}.app .store-info>div:first-child{grid-template-columns:minmax(0,auto) 18px 38px;align-items:center;gap:6px;min-height:38px;display:grid}.app .store-info>div:first-child>strong{color:var(--showcase-ink);font-size:1rem;line-height:1.4}.app .favorite-store{border:1px solid var(--showcase-line);background:#faf9fb;border-radius:11px;width:38px;height:38px;margin-inline-start:0}.app .store-info p{color:var(--showcase-muted);margin:6px 0 10px;font-size:.88rem;line-height:1.65}.app .chips{gap:5px;margin-top:auto}.app .chips span,.app .chips b{color:var(--showcase-muted);background:#f1eef3;border-radius:8px;padding:5px 8px;font-size:.72rem;line-height:1.25}.app .chips b{background:var(--showcase-purple);color:#fff}.app .store-card>.store-actions{grid-column:1/-1;grid-template-columns:1.15fr .85fr;gap:8px;margin-top:2px;display:grid}.app .store-actions>.store-visit,.app .store-actions>.store-details{border:1px solid var(--showcase-purple);border-radius:11px;min-height:46px;font-size:.84rem;font-weight:850}.app .store-actions>.store-visit{background:var(--showcase-purple);color:#fff}.app .store-actions>.store-details{color:var(--showcase-purple);background:#fff}.app .court-city,.app .court-need{padding-left:0;padding-right:0}.app .court-city{overscroll-behavior-inline:contain;scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.app .court-city::-webkit-scrollbar{display:none}.app .court-city button{white-space:nowrap;flex:none;min-width:max-content}.app .court-need{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.app .venue-list{gap:12px;padding:0}.app .venue-card,.app .venue-card:nth-child(2n){border:1px solid var(--showcase-line);border-radius:var(--showcase-radius);min-width:0;height:100%;box-shadow:var(--showcase-shadow);background:#fff;flex-direction:column;padding:16px;display:flex}.app .venue-card-head{grid-template-columns:56px minmax(0,1fr) 40px;align-items:center;gap:11px;display:grid}.app .venue-card-head>div{width:auto;min-width:0}.app .venue-card-head>i,.app .venue-logo{border:1px solid var(--showcase-line);background:#fff;border-radius:14px;width:56px;min-width:56px;height:56px}.app .venue-name{flex-wrap:wrap;gap:5px}.app .venue-name>strong{color:var(--showcase-ink);font-size:1rem;line-height:1.4}.app .venue-card-head>div>span,.app .venue-card p{color:var(--showcase-muted);font-size:.86rem;line-height:1.65}.app .venue-services{gap:5px}.app .venue-services span{color:var(--showcase-muted);background:#f1eef3;border-radius:8px;padding:5px 8px;font-size:.72rem}.app .venue-actions{margin-top:auto}.app .venue-actions button,.app .venue-actions a,.app .directions-button{border-radius:11px;min-height:46px;font-size:.84rem}.app .reference-page>.reference-intro,.app .tournament-hub{border-radius:var(--showcase-radius);background:var(--showcase-purple-2);box-shadow:var(--showcase-shadow);border:1px solid #ffffff2e}.app .reference-page nav.learning-nav,.app .reference-page nav.journey-step-nav{border:1px solid var(--showcase-line);box-shadow:none;background:#fff;border-radius:14px;gap:8px;padding:8px}.app .reference-page .learning-nav button,.app .reference-page .journey-step-nav button{min-height:56px;color:var(--showcase-purple);box-shadow:none;background:#f6f3f7;border:1px solid #0000;border-radius:10px;font-size:.84rem;line-height:1.35}.app .reference-page .learning-nav button.active{border-color:var(--showcase-purple);background:var(--showcase-purple);color:#fff}.app .reference-page .learning-panel,.app .reference-page .tennis-glossary,.app .reference-page .lesson-list article,.app .reference-page .documentary-list a,.app .tour-list article,.app .current-tournament-card,.app .tournament-level,.app .major-list a,.app .special-competitions a,.app .player-ranking-card,.app .player-ranking-card:nth-child(2n){border:1px solid var(--showcase-line);border-radius:var(--showcase-radius);color:var(--showcase-ink);box-shadow:var(--showcase-shadow);background:#fff}.app .reference-page .learning-panel,.app .reference-page .tennis-glossary{padding:18px}.app .learning-panel-head h2,.app .tennis-glossary-head h2,.app .tournament-guide-heading h2,.app .current-tournaments-heading h2,.app .player-rankings-heading h2,.app .major-title{color:var(--showcase-ink);line-height:1.35}.app .learning-panel-head p,.app .tennis-glossary-head p,.app .tournament-guide-heading p,.app .current-tournaments-heading p,.app .player-rankings-heading p{color:var(--showcase-muted);font-size:.9rem;line-height:1.7}.app .learning-journey li,.app .skill-path-grid article,.app .terms-table-wrap,.app .quiz-card,.app .score-flow div,.app .level-details>div{border:1px solid var(--showcase-line);box-shadow:none;background:#faf9fb;border-radius:12px}.app .tournament-search,.app nav.tournament-quick-nav,.app .tour-list,.app .current-tournaments,.app .tournament-guide,.app .major-title,.app .major-list,.app .special-competitions,.app .player-rankings{margin-top:16px}.app .tournament-hub{margin-top:2px}.app .tournament-hub strong{color:#fff;line-height:1.4}.app .tournament-hub span,.app .tournament-hub small{color:#ffffffc7}.app .tour-list,.app .current-tournament-grid,.app .tournament-levels,.app .major-list,.app .special-competitions,.app .player-ranking-grid{gap:12px}.app .bottom-nav{background:#2d0a46fa;border-top:1px solid #ffffff1f;box-shadow:0 -8px 24px #17042129}.app .bottom-nav button{color:#baadbf;font-size:.75rem;line-height:1.3}@keyframes showcase-icon-bounce{0%,to{transform:translateY(0)}45%{transform:translateY(-4px)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.app .destination-card:hover i,.app .bottom-nav button:hover svg,.app .topbar button:hover svg{animation:.42s cubic-bezier(.2,.75,.35,1) showcase-icon-bounce}.app .destination-card:hover,.app .store-card:hover,.app .venue-card:hover{border-color:#c7b7ce;transform:translateY(-2px);box-shadow:0 16px 34px #2d0a4621}}@media (width<=420px){.app .store-card{grid-template-columns:50px minmax(0,1fr);padding:14px}.app .store-logo,.app .store-card.affiliate .store-logo{width:50px;height:50px}.app .store-info>div:first-child{grid-template-columns:minmax(0,1fr) 16px 36px}.app .store-card>.store-actions,.app .venue-actions{grid-template-columns:1fr}.app .venue-actions .contact-venue{grid-column:1}}@media (width>=700px){.app .home-about-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app .home-about-card,.app .home-about-card:nth-child(2n){display:block}.app .home-about-card>i{margin-bottom:12px}.app .home-social-card,.app .home-social-card:nth-child(2n){grid-column:1/-1;display:grid}.app .home-social-links{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.app .page{min-height:calc(100svh - 132px);padding-top:64px;padding-bottom:56px}.app .home-page .commerce-hero{min-height:390px}.app .home-page .hero-copy{padding:62px 40px 66px}.app .home-page .hero-copy h1{max-width:700px;font-size:clamp(3.45rem,5.5vw,4.7rem)}.app .home-page .hero-copy p{font-size:1.06rem}.app .home-page .content{padding:32px 40px 64px}.app .destination-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.app .destination-card{min-height:138px}.app .page-title{width:min(100%,1210px);min-height:124px;margin-inline:auto;padding:30px 45px 26px}.app .store-list,.app .venue-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.app .store-info p{min-height:46px}.app .reference-page .integrated-learning{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app .reference-page .integrated-learning>nav.journey-step-nav,.app .reference-page .integrated-learning>.tennis-glossary{grid-column:1/-1}.app .current-tournament-grid,.app .special-competitions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1180px){.app .store-list,.app .venue-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app .region-filters,.app nav.tournament-quick-nav,.app .tournament-track-filter{overscroll-behavior-inline:contain;scrollbar-width:none;overflow-x:auto}.app .region-filters::-webkit-scrollbar{display:none}.app nav.tournament-quick-nav::-webkit-scrollbar{display:none}.app .tournament-track-filter::-webkit-scrollbar{display:none}.app .region-filters button,.app nav.tournament-quick-nav button,.app .tournament-track-filter button{white-space:nowrap;flex:none;min-width:max-content}.app .filters .sport-scope{gap:2px;display:grid;overflow:visible}.app .store-card,.app .store-card:nth-child(2n),.app .store-card.affiliate{grid-template-rows:auto auto;align-items:center}.app .store-info{justify-content:center}.app .store-info .chips{margin-top:4px}.app .store-actions>.store-visit{width:100%}.app .tennis-court-guide{grid-template-columns:minmax(210px,.9fr) minmax(0,1.1fr);align-items:center;gap:16px;margin-top:12px;display:grid}.app .tennis-court-visual{aspect-ratio:1/1.55;background:#0a775c;border:3px solid #fff;border-radius:12px;width:min(100%,320px);margin-inline:auto;position:relative;overflow:visible;box-shadow:0 12px 28px #0058442e,0 0 0 1px #00664f}.app .tennis-court-visual:before{content:"";pointer-events:none;border:2px solid #fffffff2;position:absolute;inset:0}.app .court-line{z-index:1;pointer-events:none;background:#fffffff5;display:block;position:absolute}.app .singles-left,.app .singles-right{width:2px;top:0;bottom:0}.app .singles-left{left:14%}.app .singles-right{right:14%}.app .service-top,.app .service-bottom{height:2px;left:14%;right:14%}.app .service-top{top:27%}.app .service-bottom{bottom:27%}.app .service-center{width:2px;top:27%;bottom:27%;left:calc(50% - 1px)}.app .net-line{z-index:2;background:#1f1730;height:4px;top:calc(50% - 2px);left:-4%;right:-4%;box-shadow:0 1px #ffffffd9}.app .court-marker{z-index:3;background:var(--showcase-purple);width:25px;height:25px;color:var(--showcase-lime);border:2px solid #fff;border-radius:50%;place-items:center;font-size:.72rem;line-height:1;display:grid;position:absolute;box-shadow:0 4px 12px #17042138}.app .marker-baseline{top:-10px;left:calc(50% - 12px)}.app .marker-singles{top:13%;left:calc(14% - 12px)}.app .marker-service-line{top:calc(27% - 12px);left:calc(50% - 12px)}.app .marker-net{top:calc(50% - 12px);right:-12px}.app .marker-doubles{top:17%;left:4%}.app .court-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.app .court-legend li{border:1px solid var(--showcase-line);background:#faf9fb;border-radius:11px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:10px;display:grid}.app .court-legend li>b{background:var(--showcase-purple);width:28px;height:28px;color:var(--showcase-lime);border-radius:9px;place-items:center;font-size:.72rem;display:grid}.app .court-legend span{flex-direction:column;min-width:0;display:flex}.app .court-legend strong{color:var(--showcase-ink);font-size:.82rem;line-height:1.45}.app .court-legend small{color:var(--showcase-muted);margin-top:2px;font-size:.7rem;line-height:1.5}.app .brand img,.app .commerce-hero .tennis-ball,.app .destination-card>i,.app .home-about-card>i,.app .learning-nav button.active svg,.app .bottom-nav .active svg,.app .store-card,.app .venue-card{animation:none!important}@media (width<=640px){.app .tennis-court-guide{grid-template-columns:1fr}.app .tennis-court-visual{width:min(76vw,260px)}}.app .court-direct-label{z-index:4;color:#fff;white-space:nowrap;background:#2d0a46eb;border:1px solid #ffffffbf;border-radius:7px;padding:4px 7px;font-size:.65rem;line-height:1.2;position:absolute;box-shadow:0 4px 12px #1704212e}.app .label-baseline{top:7px;left:50%;transform:translate(-50%)}.app .label-service-box{top:36%;left:25%}.app .label-net{top:calc(50% - 14px);right:8px}.app .court-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.app .court-facts>div{border:1px solid var(--showcase-line);background:#faf9fb;border-radius:11px;min-width:0;padding:11px}.app .court-facts dt{color:var(--showcase-purple);font-size:.8rem;font-weight:900;line-height:1.4}.app .court-facts dd{color:var(--showcase-muted);margin:3px 0 0;font-size:.76rem;line-height:1.55}.app .journey-stage-footer{border:1px solid var(--showcase-line);background:#fff;border-radius:13px;order:6;justify-content:space-between;align-items:center;gap:10px;width:calc(100% - 32px);margin:12px auto 0;padding:10px 12px;display:flex}.app .journey-stage-footer>span{color:var(--showcase-muted);font-size:.78rem;font-weight:800}.app .journey-stage-footer>div{gap:7px;display:flex}.app .journey-stage-footer button{border:1px solid var(--showcase-purple);background:var(--showcase-purple);color:#fff;min-height:40px;font:inherit;border-radius:9px;padding:7px 13px;font-size:.8rem;font-weight:850}.app .journey-stage-footer button:disabled{border-color:var(--showcase-line);color:#9b929f;background:#f1eef3}.app .tournament-gateway{border:1px solid var(--showcase-line);border-radius:var(--showcase-radius);width:min(100% - 32px,1120px);box-shadow:var(--showcase-shadow);background:#fff;margin:4px auto 0;padding:18px}.app .tournament-gateway-head span{color:#08745b;font-size:.8rem;font-weight:900}.app .tournament-gateway-head h2{color:var(--showcase-ink);margin:3px 0 0;font-size:1.2rem;line-height:1.4}.app .tournament-gateway-head p{color:var(--showcase-muted);margin:6px 0 0;font-size:.88rem;line-height:1.65}.app .tournament-gateway-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.app .tournament-gateway-grid>button{border:2px solid var(--showcase-purple);min-width:0;min-height:190px;color:var(--showcase-ink);font:inherit;text-align:center;box-shadow:4px 4px 0 var(--showcase-purple);background:#fff;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px 12px;display:flex}.app .tournament-gateway-grid>button:last-child{background:var(--showcase-purple);color:#fff;box-shadow:4px 4px 0 var(--showcase-lime)}.app .tournament-gateway-grid i{border:1px solid var(--showcase-line);background:#fff;border-radius:14px;place-items:center;width:64px;height:64px;padding:9px;display:grid}.app .tournament-gateway-grid img{object-fit:contain;width:100%;height:100%}.app .tournament-gateway-grid span{flex-direction:column;min-width:0;display:flex}.app .tournament-gateway-grid strong{color:inherit;font-size:1rem;line-height:1.45}.app .tournament-gateway-grid small{color:var(--showcase-muted);margin-top:3px;font-size:.72rem;line-height:1.45}.app .tournament-gateway-grid>button:last-child small{color:#ffffffbf}.app .tournament-gateway-grid b{background:var(--showcase-lime);color:var(--showcase-purple);border-radius:999px;padding:5px 10px;font-size:.72rem}.app .tournament-quick-nav button.active{border-color:var(--showcase-purple);background:var(--showcase-purple);color:#fff;box-shadow:inset 0 -3px 0 var(--showcase-lime)}.app .home-page .install-card{border:2px solid var(--showcase-purple);background:var(--showcase-purple);color:#fff;min-height:64px;box-shadow:4px 4px 0 var(--showcase-lime);border-radius:14px;padding:12px 15px}.app .home-page .install-card strong{color:#fff;font-size:.92rem;line-height:1.4}.app .home-page .install-card span{color:#ffffffb8;margin-top:2px;font-size:.76rem;line-height:1.4}.app .home-page .install-card>svg:first-child{color:var(--showcase-lime)}.app .label-receiver{top:7px;left:50%;transform:translate(-50%)}.app .label-service-line{top:calc(27% - 13px);right:17%}.app .label-server{bottom:7px;left:50%;transform:translate(-50%)}.app .label-out{background:#8a3038;top:72%;right:3px}.app .court-practical-key{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.app .court-practical-key article{border:1px solid var(--showcase-line);background:#faf9fb;border-radius:11px;min-width:0;padding:11px}.app .court-practical-key strong{color:var(--showcase-purple);font-size:.82rem;line-height:1.4}.app .court-practical-key p{color:var(--showcase-muted);margin:4px 0 0;font-size:.76rem;line-height:1.6}.app .tournament-hub-actions button{color:#fff;min-height:44px;font:inherit;background:0 0;border:1px solid #ffffff47;border-radius:10px;padding:8px 12px;font-size:.78rem;font-weight:850}@media (width<=420px){.app .tournament-gateway{padding:14px}.app .tournament-gateway-grid{gap:9px}.app .tournament-gateway-grid>button{min-height:174px;padding:13px 8px}.app .tournament-gateway-grid i{width:56px;height:56px}.app .court-facts,.app .court-practical-key{grid-template-columns:1fr}}@media (width<=380px){.app .court-legend{grid-template-columns:1fr}}.app .store-group .store-list{grid-auto-rows:auto!important;align-items:start!important}.app .store-card,.app .store-card:nth-child(2n),.app .store-card.affiliate{align-self:start;height:auto!important;min-height:0!important}.app .store-info{height:auto!important}.app .tournament-quick-nav button.active,.app .tournament-quick-nav button[aria-current=location]{border-color:var(--showcase-purple)!important;background:var(--showcase-purple)!important;color:#fff!important;box-shadow:inset 0 -3px 0 var(--showcase-lime), 0 4px 10px #2d0a4629!important}.app .venue-card{gap:13px;display:grid;padding:15px!important}.app .venue-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.app .venue-card-actions>a,.app .venue-card-actions>button{border:1px solid var(--showcase-purple);min-width:0;min-height:44px;font:inherit;border-radius:11px;justify-content:center;align-items:center;gap:6px;margin:0;font-size:.78rem;font-weight:900;text-decoration:none;display:flex}.app .venue-card-actions>a{color:var(--showcase-purple);background:#fff}.app .venue-card-actions>button{background:var(--showcase-purple);color:#fff}.app .venue-card-actions svg{width:16px;height:16px}.app .store-card.affiliate{border:1px solid var(--showcase-line)!important;background:#fff!important}.app .store-card.affiliate .store-logo{background:#fff!important}.app .court-marker{border-width:2px;width:27px;height:27px;font-size:.78rem;font-weight:950}.app .marker-server{bottom:-13px;left:67%}.app .marker-receiver{top:-13px;left:29%}.app .marker-service-box{top:35%;left:31%}.app .marker-net{top:calc(50% - 13px);left:calc(50% - 13px);right:auto}.app .marker-out-left{top:20%;left:-13px}.app .marker-out-right{bottom:15%;right:-13px}.app .court-number-key{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.app .court-number-key li{border:1px solid var(--showcase-line);background:#faf9fb;border-radius:11px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:10px;display:grid}.app .court-number-key li>b{background:var(--showcase-purple);width:28px;height:28px;color:var(--showcase-lime);border-radius:9px;place-items:center;font-size:.76rem;display:grid}.app .court-number-key span{flex-direction:column;min-width:0;display:flex}.app .court-number-key strong{color:var(--showcase-ink);font-size:.8rem;line-height:1.45}.app .court-number-key small{color:var(--showcase-muted);margin-top:2px;font-size:.69rem;line-height:1.55}@media (width<=420px){.app .court-number-key{grid-template-columns:1fr}}.app .reference-page .integrated-learning>.learning-panel,.app .reference-page .integrated-learning>.tennis-glossary{grid-column:1/-1;width:100%}.app .reference-page .journey-step-nav button.active{border-color:var(--showcase-purple);background:var(--showcase-purple);color:#fff}.app .reference-page .journey-step-nav button.active b{background:var(--showcase-lime);color:var(--showcase-purple)}@media (width<=640px){.app .reference-page nav.journey-step-nav{overscroll-behavior-inline:contain;scrollbar-width:none;grid-template-columns:none;gap:7px;display:flex;overflow-x:auto}.app .reference-page nav.journey-step-nav::-webkit-scrollbar{display:none}.app .reference-page .journey-step-nav button{flex:0 0 84px;min-width:84px}}.app .tournament-quick-nav{z-index:18;overscroll-behavior-inline:contain;scroll-snap-type:none;scrollbar-width:none;background:var(--showcase-paper);border-block:1px solid var(--showcase-line);-webkit-backdrop-filter:none;isolation:isolate;min-height:64px;margin-left:auto;margin-right:auto;padding:10px 0;position:sticky;top:0;overflow:auto hidden;transform:translate(0,0);box-shadow:0 6px 14px #2d0a4612}.app .tournament-quick-nav::-webkit-scrollbar{display:none}.app .tournament-quick-nav button{scroll-snap-align:none;transition:background-color .14s,color .14s,border-color .14s;transform:none}.app .tournament-quick-nav button:active{transform:none}@media (width<=640px){.app .tournament-quick-nav{width:calc(100% - 32px);max-width:none;padding-inline:2px}}.app .tournament-section-menu{border:1px solid var(--showcase-line);border-radius:var(--showcase-radius);width:min(100% - 32px,1120px);box-shadow:var(--showcase-shadow);background:#fff;margin:14px auto 24px;padding:18px}.app .tournament-section-menu-head span{color:#08745b;font-size:.82rem;font-weight:900}.app .tournament-section-menu-head h2{color:var(--showcase-ink);margin:3px 0 0;font-size:1.22rem;line-height:1.45}.app .tournament-section-menu-head p{color:var(--showcase-muted);margin:5px 0 0;font-size:.88rem;line-height:1.65}.app .tournament-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.app .tournament-section-grid>button{border:2px solid var(--showcase-purple);min-width:0;min-height:142px;color:var(--showcase-ink);box-shadow:4px 4px 0 var(--showcase-purple);font:inherit;text-align:right;background:#fff;border-radius:14px;align-items:center;gap:13px;padding:16px;display:flex}.app .tournament-section-grid>button:nth-child(2n){background:var(--showcase-purple);color:#fff;box-shadow:4px 4px 0 var(--showcase-lime)}.app .tournament-section-grid i{background:var(--showcase-lime);width:46px;height:46px;color:var(--showcase-purple);border-radius:12px;flex:0 0 46px;place-items:center;display:grid}.app .tournament-section-grid i svg{width:23px;height:23px}.app .tournament-section-grid span{flex-direction:column;min-width:0;display:flex}.app .tournament-section-grid strong{color:inherit;font-size:.98rem;line-height:1.45}.app .tournament-section-grid small{color:var(--showcase-muted);margin-top:4px;font-size:.76rem;line-height:1.55}.app .tournament-section-grid>button:nth-child(2n) small{color:#ffffffc7}.app .tournament-detail-bar{border:1px solid var(--showcase-line);width:min(100% - 32px,1120px);min-height:58px;box-shadow:var(--showcase-shadow);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:14px auto 12px;padding:8px 10px;display:flex}.app .tournament-detail-bar button{border:1px solid var(--showcase-purple);background:var(--showcase-purple);color:#fff;min-height:42px;font:inherit;border-radius:10px;align-items:center;gap:5px;padding:8px 11px;font-size:.78rem;font-weight:900;display:inline-flex}.app .tournament-detail-bar button svg{width:16px;height:16px}.app .tournament-detail-bar>strong{color:var(--showcase-ink);font-size:.92rem;line-height:1.45}@media (width<=520px){.app .tournament-section-menu{padding:14px}.app .tournament-section-grid{gap:9px}.app .tournament-section-grid>button{text-align:center;flex-direction:column;justify-content:center;min-height:154px;padding:13px 9px}.app .tournament-section-grid i{flex-basis:42px;width:42px;height:42px}.app .tournament-section-grid strong{font-size:.86rem}.app .tournament-section-grid small{font-size:.69rem}.app .tournament-detail-bar{align-items:stretch}}.app .home-page .install-card{isolation:isolate;min-height:72px;box-shadow:5px 5px 0 var(--showcase-lime), 0 12px 28px #2d0a462e;grid-template-columns:48px minmax(0,1fr) 22px;gap:11px;padding:11px 14px;position:relative;overflow:hidden}.app .home-page .install-card:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(110deg,#0000 20%,#ffffff29 44%,#0000 66%);animation:4.2s ease-in-out infinite install-button-sheen;position:absolute;inset:0;transform:translate(115%)}.app .home-page .install-motion-mark{background:var(--showcase-lime);width:46px;height:46px;color:var(--showcase-purple);transform-origin:50% 100%;border:2px solid #fff;border-radius:14px;place-items:center;font-style:normal;animation:3.6s cubic-bezier(.22,.9,.3,1) infinite install-mark-hop;display:grid;box-shadow:0 6px #10031b52}.app .home-page .install-motion-mark svg{width:23px;height:23px}.app .home-page .install-motion-arrow{width:20px;height:20px;color:var(--showcase-lime);animation:3.6s ease-in-out infinite install-arrow-nudge}.app .home-page .install-card:hover .install-motion-mark,.app .home-page .install-card:focus-visible .install-motion-mark{animation:.48s cubic-bezier(.2,1.5,.4,1) both interaction-pop}.app .home-page .install-card:active{box-shadow:2px 2px 0 var(--showcase-lime), 0 7px 18px #2d0a4624;transform:translate(3px,3px)scale(.99)}@keyframes install-mark-hop{0%,14%,to{transform:translateY(0)scale(1)}5%{transform:translateY(-7px)scale(1.06)}9%{transform:translateY(0)scale(.97)}}@keyframes install-button-sheen{0%,56%{transform:translate(115%)}76%,to{transform:translate(-115%)}}@keyframes install-arrow-nudge{0%,16%,to{transform:translate(0)}7%{transform:translate(-4px)}11%{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.app .home-page .install-card:before,.app .home-page .install-motion-mark,.app .home-page .install-motion-arrow{animation:none!important}}.app :where(.topbar>div>button,.page-title>button,.searchbar .clear-search,.home-search .clear-search,.favorite-store,.venue-favorite,.player-dialog-close,.install-close){width:44px;min-width:44px;height:44px;min-height:44px}.app :where(.filters button,.section-head>button,.reset-filters,.empty>button,.home-search-empty button,.update-toast button,.tournament-detail-bar button){min-height:44px}.app .store-info>div:first-child{grid-template-columns:minmax(0,auto) 18px 44px;min-height:44px}@media (width<=350px){.app .store-info>div:first-child{grid-template-columns:minmax(0,1fr) 44px}}.app .topbar-actions{align-items:center}.app .language-picker{position:relative}.app .topbar .language-trigger{color:#fff;width:auto;min-width:44px;height:44px;box-shadow:3px 3px 0 var(--lime);background:#180027;border:2px solid #ffffffe0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:.76rem;font-weight:900;display:inline-flex}.app .topbar .language-trigger svg{width:17px;height:17px;color:var(--lime)}.app .language-menu{top:calc(100% + 10px);z-index:120;width:148px;box-shadow:6px 6px 0 var(--lime);background:#fff;border:3px solid #180027;border-radius:13px;gap:5px;padding:7px;display:grid;position:absolute;inset-inline-start:0}.app .language-menu button{color:#180027;text-align:start;background:0 0;border:0;border-radius:8px;width:100%;min-height:42px;padding:0 11px;font-weight:900}.app .language-menu button.active{color:var(--lime);background:#180027}.app.locale-en{font-family:Arial,Helvetica,sans-serif}.app.locale-en :where(.page-title,.section-head,.store-info,.venue-card,.tournament-card,.learn-card){text-align:left}@media (width<=390px){.app .topbar .language-trigger{width:44px;padding:0}.app .topbar .language-trigger span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}:root{--court-shell:#f7f7fa;--court-panel:#fff;--court-soft:#f0eef3;--court-line:#dcd7e1;--court-ink:#210633;--court-muted:#706876}.app .page-title.main-page-title{background:var(--court-shell);color:var(--court-ink)}.app .page-title.main-page-title>div{padding-inline-start:18px}.app .page-title.main-page-title>div:before{background:var(--court-lime);width:5px;box-shadow:3px 0 0 var(--court-purple)}.app .page-title.main-page-title span{color:#08745b;font-weight:900}.app :where(.listing-page>.searchbar,.court-search,.learn-search,.tournament-search .searchbar){border:1.5px solid var(--court-line);box-shadow:none;background:#fff}.app :where(.region-filters,.court-city,.court-need,.learning-nav){border:1px solid var(--court-line);background:var(--court-soft);box-shadow:none;border-radius:13px;padding:6px}.app :where(.region-filters,.court-city,.court-need,.learning-nav) button{min-height:46px;color:var(--court-ink);box-shadow:none;background:0 0;border:0;border-radius:9px}.app :where(.region-filters,.court-city,.court-need,.learning-nav) button.active{background:var(--court-purple);color:#fff;box-shadow:inset 0 -3px 0 var(--court-lime)}.app .store-group,.app .current-tournaments,.app .tournament-guide,.app .player-rankings{box-shadow:none;background:0 0;border:0}.app .store-card,.app .store-card:nth-child(2n),.app .store-card.affiliate,.app .venue-card,.app .venue-card:nth-child(2n),.app .lesson-list article,.app .documentary-list a,.app .current-tournament-card,.app .player-ranking-card{border:1.5px solid var(--court-line);border-radius:15px;box-shadow:5px 5px #360a501f;background:var(--court-panel)!important}.app .store-card.affiliate{border-color:var(--court-line)}.app .store-card,.app .venue-card{min-height:0}.app .store-card>.store-actions{grid-template-columns:1fr}.app .store-actions>.store-visit,.app .venue-card-actions>button{border:1.5px solid var(--court-purple);background:var(--court-purple);color:#fff;min-height:48px;box-shadow:none}.app .venue-card-actions>a{border:1.5px solid var(--court-line);min-height:48px;color:var(--court-purple);box-shadow:none;background:#fff}.app .tournament-gateway,.app .tournament-section-menu,.app .tournament-hub,.app .reference-intro{border:1.5px solid var(--court-line);box-shadow:none;background:#fff}.app .tournament-gateway-grid>button,.app .tournament-gateway-grid>button:last-child,.app .tournament-section-grid>button,.app .tournament-section-grid>button:nth-child(2n){border:2px solid var(--court-purple);color:var(--court-ink);box-shadow:5px 5px 0 var(--court-lime);background:#fff}.app .tournament-gateway-grid>button:last-child small,.app .tournament-section-grid>button:nth-child(2n) small{color:var(--court-muted)}.app .tournament-gateway-grid>button:hover,.app .tournament-section-grid>button:hover{box-shadow:7px 7px 0 var(--court-lime);transform:translate(-2px,-2px)}.app .tournament-detail-bar{border:1.5px solid var(--court-line);box-shadow:none;background:#fff}.app .learning-content,.app .integrated-learning{min-width:0}@media (width>=900px){.app .topbar{z-index:40;background:#210633;border-bottom:1px solid #ffffff21;height:88px;padding-inline:42px;position:relative}.app .topbar .brand{z-index:44;letter-spacing:.055em;font-size:1.32rem;position:relative}.app .topbar-actions{z-index:44;position:relative}.app .bottom-nav{z-index:42;height:88px;box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(5,minmax(82px,1fr));padding:0;position:absolute;inset:0 27% auto}.app .bottom-nav button{color:#eee8f1;background:0 0;border-radius:0;min-height:88px;padding:0 10px;font-size:.85rem;font-weight:800}.app .bottom-nav button svg{display:none}.app .bottom-nav button.active{color:#fff;box-shadow:inset 0 -5px 0 var(--court-lime);background:0 0}.app .page{min-height:calc(100svh - 88px);padding-top:0}.app .page-title.main-page-title{align-items:end;min-height:190px;padding:48px max(42px,50vw - 590px) 30px}.app .page-title.main-page-title>div{width:100%;max-width:1180px}.app .page-title.main-page-title span{font-size:.9rem}.app .page-title.main-page-title h1{margin-top:6px;font-size:clamp(2.25rem,4vw,3.7rem);line-height:1.12}.app .page-title.main-page-title p{font-size:1rem}.app .listing-page>.searchbar,.app .court-search,.app .learn-search,.app .tournament-search,.app .filters,.app .count,.app .store-groups,.app .court-city,.app .court-need,.app .court-results,.app .venue-list,.app .court-disclaimer,.app .reference-page>.reference-intro,.app .reference-page>nav.learning-nav,.app .reference-page>.learning-content,.app .tournament-gateway,.app .tournament-hub,.app .tournament-section-menu,.app .tournament-detail-bar,.app .tour-list,.app .current-tournaments,.app .tournament-guide,.app .major-title,.app .major-list,.app .special-competitions,.app .player-rankings{width:min(100% - 84px,1180px);margin-left:auto;margin-right:auto}.app .listing-page>.searchbar,.app .court-search,.app .learn-search{min-height:62px}.app .filters{grid-template-columns:minmax(240px,.7fr) minmax(520px,1.3fr);align-items:stretch;gap:14px;display:grid}.app .filters .sport-scope,.app .region-filters{margin:0}.app .store-group .store-list,.app .venue-list,.app .lesson-list,.app .documentary-list,.app .current-tournament-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app .store-card,.app .store-card:nth-child(2n),.app .store-card.affiliate{min-height:190px}.app .venue-card{min-height:176px}.app .reference-page>.reference-intro{margin-top:0}.app .reference-page>nav.learning-nav{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.app .reference-page .integrated-learning{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.app .tournament-gateway,.app .tournament-section-menu{padding:28px}.app .tournament-gateway-grid,.app .tournament-section-grid{gap:20px}.app .tournament-gateway-grid>button{min-height:220px}.app .tournament-section-grid>button{min-height:160px}.app .player-ranking-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}}@media (width>=1260px){.app .store-group .store-list,.app .venue-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=899px){.app .page-title.main-page-title{min-height:132px;padding:22px 18px 18px}.app .page-title.main-page-title p{font-size:.82rem;line-height:1.55}.app :where(.region-filters,.court-city,.court-need){scrollbar-width:none;overflow-x:auto}.app :where(.region-filters,.court-city,.court-need)::-webkit-scrollbar{display:none}.app :where(.region-filters,.court-city,.court-need) button{flex:none;min-width:92px}.app .learning-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.app .learning-nav button{padding-inline:5px}.app .tournament-gateway-grid,.app .tournament-section-grid{grid-template-columns:1fr 1fr}}@media (width<=430px){.app .tournament-gateway-grid,.app .tournament-section-grid{gap:10px}.app .tournament-gateway-grid>button,.app .tournament-section-grid>button{min-height:154px;padding:13px 10px}.app .tournament-section-grid>button{text-align:center;flex-direction:column;justify-content:center}}@media (prefers-reduced-motion:reduce){.app .tournament-gateway-grid>button:hover,.app .tournament-section-grid>button:hover{transform:none}}:root{--court-purple:#26053b;--court-purple-2:#3a0a55;--court-purple-3:#5a2b6f;--court-lime:#b9f326;--court-bg:#f7f6f9;--court-surface:#fff;--court-subtle:#f0edf3;--court-border:#ddd7e2;--court-text:#211628;--court-muted:#706776;--court-success:#087a5b;--court-danger:#b42336;--court-radius-sm:10px;--court-radius-md:16px;--court-radius-lg:22px;--court-shadow:0 8px 24px #26053b12;--court-shadow-hover:0 14px 34px #26053b1f;--court-content:1180px}.app,.app *{box-sizing:border-box}.app{color:var(--court-text);background:var(--court-bg);scrollbar-gutter:stable}.app button,.app input,.app a{font:inherit}.app button,.app a{-webkit-tap-highlight-color:transparent}.app :where(button,a,input):focus-visible{outline-offset:3px;outline:3px solid #b9f326b3}.app .topbar{height:76px!important;padding-inline:max(18px, calc((100vw - var(--court-content)) / 2))!important;background:var(--court-purple)!important;box-shadow:none!important;border:0!important;border-bottom:1px solid #ffffff1f!important}.app .brand{touch-action:manipulation;color:#fff!important;gap:10px!important;min-height:44px!important}.app .brand img{width:42px!important;height:42px!important;box-shadow:none!important;border:1px solid #ffffff2e!important;border-radius:12px!important}.app .brand b{letter-spacing:.08em!important;font-size:1.2rem!important}.app .topbar-actions{gap:8px!important}.app .topbar-actions>button,.app .language-trigger{touch-action:manipulation;color:#fff!important;min-width:44px!important;height:44px!important;box-shadow:none!important;background:#ffffff14!important;border:1px solid #fff3!important;border-radius:12px!important}.app .language-trigger{width:auto!important;padding-inline:13px!important}.app .topbar-actions>button:hover,.app .language-trigger:hover{background:#ffffff24!important}.app .language-menu{border:1px solid var(--court-border)!important;min-width:152px!important;box-shadow:var(--court-shadow-hover)!important;background:#fff!important;border-radius:14px!important;padding:6px!important}.app .language-menu button{min-height:42px!important;color:var(--court-text)!important;border-radius:9px!important}.app .language-menu button.active{background:var(--court-purple)!important;color:#fff!important}.app .page{background:var(--court-bg)!important;min-height:calc(100svh - 76px)!important;padding-top:0!important;padding-bottom:110px!important}.app .page-title.main-page-title{min-height:0!important;padding:34px max(20px, calc((100vw - var(--court-content)) / 2)) 26px!important;background:linear-gradient(180deg, #fff 0%, var(--court-bg) 100%)!important;border:0!important;align-items:center!important}.app .page-title.main-page-title>div{width:100%!important;max-width:var(--court-content)!important;padding:0!important}.app .page-title.main-page-title>div:before{display:none!important}.app .page-title.main-page-title span{min-height:28px!important;color:var(--court-purple-2)!important;background:#ebe4ef!important;border-radius:999px!important;align-items:center!important;margin:0 0 7px!important;padding:4px 10px!important;font-size:.78rem!important;font-weight:850!important;display:inline-flex!important}.app .page-title.main-page-title h1{color:var(--court-purple)!important;letter-spacing:-.025em!important;margin:0!important;font-size:clamp(1.85rem,3.5vw,3rem)!important;line-height:1.2!important}.app .page-title.main-page-title p{max-width:650px!important;color:var(--court-muted)!important;margin:8px 0 0!important;font-size:.98rem!important;line-height:1.75!important}.app :where(.listing-page>.searchbar,.court-search,.learn-search,.tournament-search,.filters,.count,.store-groups,.court-city,.court-need,.court-results,.venue-list,.court-disclaimer,.reference-page>.reference-intro,.reference-page>nav.learning-nav,.reference-page>.learning-content,.tournament-gateway,.tournament-hub,.tournament-section-menu,.tournament-detail-bar,.tour-list,.current-tournaments,.tournament-guide,.major-title,.major-list,.special-competitions,.player-rankings){width:min(calc(100% - 40px), var(--court-content))!important;margin-inline:auto!important}.app :where(.listing-page>.searchbar,.court-search,.learn-search,.tournament-search .searchbar){border:1px solid var(--court-border)!important;min-height:56px!important;box-shadow:none!important;background:#fff!important;border-radius:14px!important;margin-top:0!important}.app :where(.listing-page>.searchbar,.court-search,.learn-search,.tournament-search .searchbar):focus-within{border-color:var(--court-purple-3)!important;box-shadow:0 0 0 4px #26053b14!important}.app :where(.searchbar,.court-search,.learn-search) input{min-width:0!important;color:var(--court-text)!important;font-size:1rem!important}.app :where(.region-filters,.court-city,.court-need,.learning-nav){border:1px solid var(--court-border)!important;background:var(--court-subtle)!important;box-shadow:none!important;border-radius:13px!important;gap:4px!important;padding:5px!important}.app :where(.region-filters,.court-city,.court-need,.learning-nav) button{min-height:44px!important;color:var(--court-purple)!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:9px!important;font-size:.9rem!important;font-weight:800!important}.app :where(.region-filters,.court-city,.court-need,.learning-nav) button.active,.app :where(.region-filters,.court-city,.court-need,.learning-nav) button[aria-selected=true]{background:var(--court-purple)!important;color:#fff!important;box-shadow:none!important}.app .filters{gap:12px!important;margin-top:14px!important}.app .sport-scope{border:1px solid var(--court-border)!important;min-height:56px!important;box-shadow:none!important;background:#fff!important;border-radius:13px!important;padding:10px 14px!important}.app .sport-scope small{color:var(--court-muted)!important}.app .count,.app .court-results{min-height:42px!important;margin-top:12px!important;margin-bottom:8px!important;padding:0 2px!important}.app :where(.store-card,.store-card:nth-child(2n),.store-card.affiliate,.venue-card,.venue-card:nth-child(2n),.lesson-list article,.documentary-list a,.current-tournament-card,.player-ranking-card,.home-about-card){border:1px solid var(--court-border)!important;border-radius:var(--court-radius-md)!important;box-shadow:var(--court-shadow)!important;background:#fff!important}.app :where(.store-card,.venue-card,.lesson-list article,.documentary-list a,.current-tournament-card):hover{box-shadow:var(--court-shadow-hover)!important;border-color:#c6b9cd!important;transform:translateY(-2px)!important}.app .store-groups,.app .venue-list{margin-top:0!important}.app .store-group{box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.app .store-group+.store-group{margin-top:26px!important}.app .store-group-title{min-height:46px!important;margin-bottom:10px!important;padding:0 2px!important}.app .store-group-title h2,.app .store-group-title strong{color:var(--court-purple)!important}.app .store-list,.app .venue-list,.app .lesson-list,.app .documentary-list,.app .current-tournament-grid{gap:14px!important}.app .store-card{gap:14px!important;min-height:168px!important;padding:18px!important}.app .store-logo{border:1px solid var(--court-border)!important;background:#fff!important;border-radius:13px!important;width:58px!important;height:58px!important}.app .store-info>div:first-child>strong{color:var(--court-text)!important;font-size:1rem!important}.app .chips span,.app .chips b{background:var(--court-subtle)!important;color:var(--court-purple-2)!important;box-shadow:none!important;border:0!important;border-radius:999px!important}.app .favorite-store,.app .store-card.affiliate .favorite-store{border:1px solid var(--court-border)!important;color:var(--court-purple-3)!important;box-shadow:none!important;background:#fff!important}.app .favorite-store.saved{color:var(--court-purple)!important;background:#efe8f2!important}.app .store-actions>.store-visit,.app .venue-card-actions>button,.app .home-about-card a{border:1px solid var(--court-purple)!important;background:var(--court-purple)!important;color:#fff!important;min-height:46px!important;box-shadow:none!important;border-radius:11px!important}.app .venue-card-actions>a{border:1px solid var(--court-border)!important;min-height:46px!important;color:var(--court-purple)!important;box-shadow:none!important;background:#fff!important;border-radius:11px!important}.app .venue-card{min-height:0!important;padding:18px!important}.app .venue-card :where(p,small){color:var(--court-muted)!important}.app .commerce-hero{width:min(calc(100% - 40px), var(--court-content))!important;background:var(--court-purple)!important;min-height:410px!important;box-shadow:var(--court-shadow-hover)!important;border:0!important;border-radius:26px!important;margin:26px auto 0!important;padding:clamp(28px,5vw,66px)!important;overflow:hidden!important}.app .commerce-hero:before,.app .commerce-hero:after{opacity:.2!important}.app .hero-copy{max-width:620px!important}.app .hero-copy>span{color:#e7ddec!important}.app .hero-copy h1{color:#fff!important;font-size:clamp(2.7rem,7vw,5.5rem)!important;line-height:.98!important}.app .hero-copy p{color:#e5dfe8!important;max-width:560px!important;font-size:1.05rem!important}.app .hero-actions button{min-height:50px!important;color:var(--court-purple)!important;box-shadow:none!important;background:#fff!important;border:1px solid #fff!important;border-radius:12px!important;padding-inline:22px!important}.app .court-mark{opacity:.12!important}.app .home-page .content{width:min(calc(100% - 40px), var(--court-content))!important;margin-inline:auto!important;padding-inline:0!important}.app .home-search{width:min(100%,760px)!important;margin:-28px auto 30px!important}.app .home-search .searchbar{border:1px solid var(--court-border)!important;background:#fff!important;border-radius:16px!important;min-height:62px!important;box-shadow:0 12px 32px #26053b24!important}.app .section-head{margin:0 0 14px!important}.app .destination-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;display:grid!important}.app .destination-card,.app .destination-card:nth-child(2n){border:1px solid var(--court-border)!important;border-radius:var(--court-radius-md)!important;min-height:180px!important;color:var(--court-text)!important;box-shadow:var(--court-shadow)!important;background:#fff!important;padding:20px!important}.app .destination-card:hover{box-shadow:var(--court-shadow-hover)!important;border-color:#c6b9cd!important;transform:translateY(-3px)!important}.app .destination-card i{width:48px!important;height:48px!important;color:var(--court-purple)!important;box-shadow:none!important;background:#eee8f1!important;border-radius:12px!important}.app .destination-card strong{color:var(--court-purple)!important}.app .destination-card small{color:var(--court-muted)!important;line-height:1.55!important}.app .install-card{border-radius:var(--court-radius-md)!important;background:var(--court-purple)!important;color:#fff!important;min-height:82px!important;box-shadow:var(--court-shadow)!important;border:0!important;margin:18px 0 0!important;padding:16px 20px!important}.app .install-card :where(i,svg){color:#fff!important}.app .install-card span{color:#dcd1e2!important}.app .home-about{margin-top:44px!important}.app .home-about-grid{gap:14px!important}.app .home-about-card{min-height:150px!important;padding:18px!important}.app .home-about-card>i{color:var(--court-purple)!important;background:#eee8f1!important}.app .reference-intro,.app .learning-content{box-shadow:none!important;background:0 0!important;border:0!important}.app .reference-page>nav.learning-nav{margin-top:14px!important}.app .learning-content{margin-top:18px!important}.app .learning-panel{border:1px solid var(--court-border)!important;border-radius:var(--court-radius-lg)!important;box-shadow:var(--court-shadow)!important;background:#fff!important;padding:clamp(18px,3vw,30px)!important}.app .learning-panel-head{margin-bottom:18px!important}.app .learning-panel-head span{color:var(--court-purple-3)!important}.app .learning-panel-head h2{color:var(--court-purple)!important}.app .learning-journey li,.app .journey-strokes article,.app .court-number-key li,.app .score-flow>div,.app .quiz-card{border:1px solid var(--court-border)!important;background:var(--court-bg)!important;box-shadow:none!important;border-radius:14px!important}.app .tennis-court-guide{gap:18px!important}.app .tennis-court-visual{box-shadow:0 0 0 1px var(--court-border)!important;border:6px solid #fff!important;border-radius:18px!important}.app .court-marker,.app .court-number-key li>b{background:var(--court-purple)!important;color:#fff!important;box-shadow:0 0 0 3px #fff!important}.app .journey-stage-footer{border:1px solid var(--court-border)!important;background:#fff!important;border-radius:14px!important;width:100%!important;margin-top:14px!important;padding:12px 14px!important}.app .journey-stage-footer button:not(:disabled){border-color:var(--court-purple)!important;background:var(--court-purple)!important;color:#fff!important}.app :where(.tournament-gateway,.tournament-section-menu,.tournament-hub,.tournament-detail-bar){border:1px solid var(--court-border)!important;border-radius:var(--court-radius-lg)!important;box-shadow:var(--court-shadow)!important;background:#fff!important}.app .tournament-gateway,.app .tournament-section-menu{padding:clamp(18px,3vw,30px)!important}.app .tournament-gateway-head,.app .tournament-section-menu-head{max-width:660px!important;margin-bottom:20px!important}.app .tournament-gateway-grid,.app .tournament-section-grid{gap:14px!important}.app .tournament-gateway-grid>button,.app .tournament-gateway-grid>button:last-child,.app .tournament-section-grid>button,.app .tournament-section-grid>button:nth-child(2n){border:1px solid var(--court-border)!important;border-radius:var(--court-radius-md)!important;background:var(--court-bg)!important;min-height:152px!important;color:var(--court-text)!important;box-shadow:none!important;padding:20px!important}.app :where(.tournament-gateway-grid,.tournament-section-grid)>button:hover{border-color:var(--court-purple-3)!important;box-shadow:var(--court-shadow)!important;background:#fff!important;transform:translateY(-2px)!important}.app :where(.tournament-gateway-grid,.tournament-section-grid)>button i{color:var(--court-purple)!important;box-shadow:none!important;background:#eae3ed!important}.app :where(.tournament-gateway-grid,.tournament-section-grid)>button b{color:var(--court-purple)!important}.app .tournament-hub{padding:18px 20px!important}.app .tournament-hub-actions a{border-color:var(--court-purple)!important;background:var(--court-purple)!important;color:#fff!important}.app .tournament-hub-actions button,.app .tournament-detail-bar button{border-color:var(--court-border)!important;color:var(--court-purple)!important;background:#fff!important}.app .bottom-nav button.active:after,.app .tennis-ball{background:var(--court-lime)!important}.app :where(.destination-card,.store-card,.venue-card,.tournament-gateway-grid>button,.tournament-section-grid>button){--accent:var(--court-purple)}.app .back-to-top{background:var(--court-purple)!important;color:#fff!important;border:1px solid #ffffff2e!important;box-shadow:0 8px 24px #26053b3d!important}.app.locale-en{letter-spacing:0!important}.app.locale-en :where(.page-title,.hero-copy,.section-head,.store-info,.venue-card,.learning-panel,.tournament-gateway,.tournament-section-menu,.tournament-hub){text-align:left!important}.app.locale-en :where(.page-title.main-page-title p,.hero-copy p){margin-left:0!important;margin-right:0!important}@media (width>=900px){.app .topbar{height:84px!important}.app .page{min-height:calc(100svh - 84px)!important;padding-bottom:48px!important}.app .bottom-nav{z-index:42!important;height:84px!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important;position:absolute!important;inset:0 25% auto!important}.app .bottom-nav button{color:#d9d0dd!important;min-height:84px!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0 8px!important;font-size:.84rem!important;position:relative!important}.app .bottom-nav button svg{display:none!important}.app .bottom-nav button.active{color:#fff!important}.app .bottom-nav button.active:after{content:"";border-radius:4px 4px 0 0;height:4px;position:absolute;bottom:0;left:24%;right:24%}.app .page-title.main-page-title{padding-top:42px!important;padding-bottom:30px!important}.app .filters{grid-template-columns:minmax(240px,.65fr) minmax(520px,1.35fr)!important;display:grid!important}.app .store-list,.app .venue-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}.app .lesson-list,.app .documentary-list,.app .current-tournament-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app .reference-page>nav.learning-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=899px){.app .topbar{z-index:80!important;height:68px!important;padding-inline:12px!important;position:sticky!important;top:0!important}.app .brand img{width:38px!important;height:38px!important}.app .brand b{font-size:1.05rem!important}.app .language-trigger span{display:none!important}.app .language-trigger{min-width:42px!important;padding:0!important}.app .page{min-height:calc(100svh - 68px)!important;padding-bottom:94px!important}.app .page-title.main-page-title{padding:24px 14px 18px!important}.app .page-title.main-page-title h1{font-size:1.8rem!important}.app .page-title.main-page-title p{font-size:.9rem!important;line-height:1.65!important}.app :where(.listing-page>.searchbar,.court-search,.learn-search,.tournament-search,.filters,.count,.store-groups,.court-city,.court-need,.court-results,.venue-list,.court-disclaimer,.reference-page>.reference-intro,.reference-page>nav.learning-nav,.reference-page>.learning-content,.tournament-gateway,.tournament-hub,.tournament-section-menu,.tournament-detail-bar,.tour-list,.current-tournaments,.tournament-guide,.major-title,.major-list,.special-competitions,.player-rankings){width:calc(100% - 28px)!important}.app .listing-page>.searchbar,.app .court-search,.app .learn-search{margin-top:0!important}.app .filters{display:block!important}.app .filters .sport-scope{margin:10px 0!important}.app :where(.region-filters,.court-city,.court-need){scrollbar-width:thin!important;scrollbar-color:#c6b9cd transparent!important;display:flex!important;overflow-x:auto!important}.app :where(.region-filters,.court-city,.court-need) button{flex:none!important;min-width:88px!important}.app .learning-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;display:grid!important}.app .learning-nav button{min-width:0!important;padding-inline:5px!important;font-size:.78rem!important}.app .commerce-hero{border-radius:20px!important;width:calc(100% - 28px)!important;min-height:360px!important;margin-top:14px!important;padding:28px 22px 62px!important}.app .hero-copy h1{font-size:clamp(2.55rem,13vw,4rem)!important}.app .home-page .content{width:calc(100% - 28px)!important}.app .home-search{margin-top:-30px!important;margin-bottom:24px!important}.app .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.app .destination-card,.app .destination-card:nth-child(2n){min-height:152px!important;padding:15px!important}.app .destination-card small{display:none!important}.app .home-about{margin-top:34px!important}.app .home-about-grid{grid-template-columns:1fr!important}.app .home-about-card{min-height:0!important}.app .store-list,.app .venue-list,.app .lesson-list,.app .documentary-list,.app .current-tournament-grid{grid-template-columns:1fr!important}.app .store-card{min-height:154px!important}.app .tournament-gateway-grid,.app .tournament-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.app .tournament-gateway-grid>button,.app .tournament-section-grid>button,.app .tournament-section-grid>button:nth-child(2n){min-height:148px!important;padding:14px 11px!important}.app .tournament-section-grid>button{text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}.app .tournament-section-grid>button small{display:none!important}.app .tournament-hub{gap:14px!important;padding:16px!important}.app .tennis-court-guide,.app .court-number-key{grid-template-columns:1fr!important}.app .bottom-nav{z-index:90!important;height:72px!important;padding:6px 6px max(6px, env(safe-area-inset-bottom))!important;background:var(--court-purple)!important;border:0!important;border-top:1px solid #ffffff1a!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;box-shadow:0 -8px 24px #26053b29!important}.app .bottom-nav button{color:#cfc4d4!important;min-width:0!important;min-height:58px!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:10px!important;padding:5px 2px!important;font-size:.69rem!important;position:relative!important}.app .bottom-nav button svg{width:21px!important;height:21px!important}.app .bottom-nav button.active{color:#fff!important;background:#ffffff17!important}.app .bottom-nav button.active:after{content:"";border-radius:999px;height:3px;position:absolute;bottom:1px;left:30%;right:30%}.app .back-to-top{bottom:82px!important;left:14px!important;right:auto!important}}@media (width>=900px){.app .topbar{isolation:isolate!important;position:relative!important}.app .brand,.app .topbar-actions{z-index:3!important;flex:none!important;position:relative!important}.app .bottom-nav{z-index:2!important;width:min(58vw,680px)!important;height:84px!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;background:0 0!important;border:0!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;padding:0!important;display:grid!important;position:absolute!important;inset:0 auto auto 50%!important;overflow:visible!important;transform:translate(-50%)!important}.app .bottom-nav>button{color:#d9d0dd!important;white-space:nowrap!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;min-height:84px!important;padding:0 6px!important;display:flex!important;overflow:visible!important}.app .bottom-nav>button>span{white-space:nowrap!important;display:inline-block!important;overflow:visible!important}.app .bottom-nav>button.active{color:#fff!important}}@media (width>=900px) and (width<=1100px){.app .bottom-nav{width:54vw!important}.app .bottom-nav>button{padding-inline:3px!important;font-size:.76rem!important}}@media (width<=390px){.app .topbar-actions{gap:5px!important}.app .topbar-actions>button,.app .language-trigger{min-width:44px!important;height:44px!important}.app .destination-card strong{font-size:.9rem!important}.app .tournament-gateway-grid>button strong,.app .tournament-section-grid>button strong{font-size:.86rem!important}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell,.app{width:100%!important;max-width:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important}.app{scrollbar-gutter:auto!important}@media print{html{scrollbar-gutter:stable}}.app>#court-content{flex:auto!important;align-self:stretch!important;width:auto!important;min-width:0!important;margin:0!important;position:relative!important;inset:0!important}.app #court-content>.page,.app :where(.listing-page,.reference-page){background:var(--court-bg)!important;width:100%!important;max-width:none!important;margin:0!important;position:relative!important;inset:0!important;transform:none!important}.app :where(.listing-page,.reference-page):before,.app :where(.listing-page,.reference-page):after{display:none!important}.app .page-title.main-page-title{width:100%!important;max-width:none!important;box-shadow:none!important;border-radius:0!important;margin:0!important}.app :where(.listing-page>.searchbar,.court-search,.learn-search,.tournament-search,.filters,.count,.store-groups,.court-city,.court-need,.court-results,.venue-list,.court-disclaimer,.reference-page>.reference-intro,.reference-page>nav.learning-nav,.reference-page>.learning-content,.tournament-gateway,.tournament-hub,.tournament-section-menu,.tournament-detail-bar,.tour-list,.current-tournaments,.tournament-guide,.major-title,.major-list,.special-competitions,.player-rankings){max-width:var(--court-content)!important;position:relative!important;inset-inline:auto!important}.app .listing-page>.searchbar,.app .court-search,.app .learn-search{margin-top:18px!important}.app .filters,.app .court-city,.app .court-need,.app .learning-nav{box-shadow:none!important}.app .store-card,.app .venue-card{background:#fff!important;border:0!important;box-shadow:0 8px 24px #26053b0f!important}.app .store-card:hover,.app .venue-card:hover{box-shadow:0 12px 30px #26053b1a!important}.app .reference-page>.reference-intro{color:var(--court-text)!important;margin-top:18px!important;padding:0!important}.app .reference-page>.reference-intro :where(h2,strong){color:var(--court-purple)!important}.app .reference-page>.reference-intro :where(p,small,span){color:var(--court-muted)!important}.app .learning-panel,.app .tournament-gateway,.app .tournament-section-menu,.app .tournament-hub,.app .tournament-detail-bar{background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:0 8px 28px #26053b0f!important}.app .learning-journey li,.app .journey-strokes article,.app .court-number-key li,.app .score-flow>div,.app .quiz-card,.app .tournament-gateway-grid>button,.app .tournament-section-grid>button,.app .tournament-section-grid>button:nth-child(2n){background:var(--court-bg)!important;box-shadow:none!important;border:0!important}.app .tournament-gateway-grid>button b,.app .tournament-gateway-grid>button:last-child b{background:var(--court-purple)!important;color:#fff!important;border-radius:9px!important;justify-content:center!important;align-items:center!important;min-height:36px!important;padding-inline:14px!important;display:inline-flex!important}.app .tournament-gateway-grid>button:last-child,.app .tournament-section-grid>button:nth-child(2n){border:0!important}.app .store-card{grid-template-columns:58px minmax(0,1fr) 44px!important}.app .store-logo{grid-column:1!important}.app .store-info{grid-column:2!important;min-width:0!important}.app .store-card>.favorite-store{flex:0 0 42px!important;grid-area:1/3!important;place-self:start end!important;width:42px!important;height:42px!important;margin:0!important}.app .store-info>div:first-child{min-width:0!important}.app .store-info>div:first-child>strong{overflow-wrap:anywhere!important;min-width:0!important}.app .store-actions{grid-column:1/-1!important}.app .entity-detail-title{color:var(--court-purple)!important}.app .entity-detail-title h1{color:var(--court-purple)!important;text-shadow:none!important}.app .entity-detail-title span{color:var(--court-purple-3)!important}.app .entity-detail-title>button{color:#fff!important;background:var(--court-purple)!important;border-color:var(--court-purple)!important}.app .terms-table{table-layout:fixed!important;width:100%!important;min-width:0!important;max-width:100%!important}.app .terms-table th:first-child,.app .terms-table td:first-child,.app .terms-table th:nth-child(2),.app .terms-table td:nth-child(2){width:22%!important}.app .terms-table th:nth-child(3),.app .terms-table td:nth-child(3){width:56%!important}.app .term-primary{text-align:left!important;direction:ltr!important}.app .term-primary>b,.app .term-arabic>strong{color:var(--court-purple)!important;overflow-wrap:anywhere!important;font-size:1rem!important;line-height:1.45!important;display:block!important}.app .term-primary>span{margin-top:6px!important;display:inline-flex!important}.app .term-language-label{color:var(--court-muted)!important;margin-bottom:3px!important;font-size:.72rem!important;font-weight:700!important;display:block!important}.app .term-meaning{color:var(--court-text)!important;overflow-wrap:anywhere!important;line-height:1.8!important}@media (width<=700px){.app .store-card{grid-template-columns:52px minmax(0,1fr) 42px!important}.app .terms-table-wrap{width:100%!important;min-width:0!important;max-width:100%!important;box-shadow:none!important;background:0 0!important;border:0!important;overflow:visible!important}.app .terms-table,.app .terms-table tbody{width:100%!important;min-width:0!important;max-width:100%!important;display:block!important}.app .terms-table thead{display:none!important}.app .terms-table tbody{gap:10px!important;display:grid!important}.app .terms-table tr{box-sizing:border-box!important;background:#fff!important;border:0!important;border-radius:14px!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px 16px!important;min-width:0!important;max-width:100%!important;padding:16px!important;display:grid!important;overflow:hidden!important;box-shadow:0 6px 20px #26053b12!important}.app .terms-table td,.app .terms-table td:nth-child(n){border:0!important;width:auto!important;min-width:0!important;max-width:100%!important;min-height:0!important;padding:0!important;display:block!important}.app .terms-table td:before{display:none!important}.app .term-primary{grid-column:1!important}.app .term-arabic{text-align:right!important;direction:rtl!important;grid-column:2!important}.app .term-meaning{border-top:1px solid var(--court-border)!important;grid-column:1/-1!important;padding-top:10px!important}.app .reference-page .tennis-glossary{box-sizing:border-box!important;width:calc(100% - 28px)!important;min-width:0!important;max-width:calc(100% - 28px)!important;margin-inline:14px!important;overflow:hidden!important}.app .match-map-card{padding-bottom:16px!important}}.app .store-card.affiliate .store-logo,.app .store-card.affiliate .store-logo img{border-color:var(--court-border)!important;box-shadow:none!important}.app .court-result-summary,.app .court-result-summary strong,.app .court-result-summary b{box-shadow:none!important;border:0!important}@media (width<=899px){.app .page-title.main-page-title{padding-inline:14px!important}.app .listing-page>.searchbar,.app .court-search,.app .learn-search{margin-top:12px!important}}html,body,#court-content{width:100%!important;max-width:100%!important;overflow-x:clip!important}.shell:before,.shell:after,.app:before,.app:after{display:none!important}.app .topbar{-webkit-backdrop-filter:none!important}.app .commerce-hero{width:100%!important;max-width:none!important;min-height:500px!important;padding-inline:max(24px, calc((100vw - var(--court-content)) / 2))!important;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important}.app .hero-copy{width:min(100%,640px)!important}.app .home-page .content{width:100%!important;max-width:none!important;padding-inline:max(20px, calc((100vw - var(--court-content)) / 2))!important;background:#fff!important}.app .home-search{margin-top:-31px!important}.app :where(.destination-card,.destination-card:nth-child(2n),.store-card,.store-card:nth-child(2n),.store-card.affiliate,.venue-card,.venue-card:nth-child(2n),.lesson-list article,.documentary-list a,.current-tournament-card,.player-ranking-card,.home-about-card,.learning-panel,.tournament-gateway,.tournament-section-menu,.tournament-hub,.tournament-detail-bar){border:0!important;box-shadow:0 8px 26px #26053b12!important}.app :where(.destination-card,.store-card,.venue-card,.learning-panel){background:#fff!important}.app .destination-card,.app .destination-card:nth-child(2n){background:var(--court-bg)!important;box-shadow:none!important}.app .page-title.main-page-title{background:#fff!important}.app .listing-page,.app .reference-page{background:var(--court-bg)!important}@media (width<=899px){.app .commerce-hero{border-radius:0!important;width:100%!important;min-height:410px!important;margin:0!important;padding:44px 20px 72px!important}.app .home-page .content{width:100%!important;padding-inline:14px!important}}.app .racket-finder-entry{color:#17111d;background:#c9ff32;border:3px solid #17111d;border-radius:16px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;min-height:118px;margin-top:16px;padding:18px;text-decoration:none;display:grid;box-shadow:7px 7px #26053b}.app .racket-finder-entry>i{color:#c9ff32;background:#26053b;border:2px solid #17111d;border-radius:12px;place-items:center;width:54px;height:54px;font-style:normal;display:grid}.app .racket-finder-entry>i svg{width:25px;height:25px}.app .racket-finder-entry>span{min-width:0}.app .racket-finder-entry small,.app .racket-finder-entry strong,.app .racket-finder-entry em{display:block}.app .racket-finder-entry small{color:#205c43;margin-bottom:2px;font-size:.78rem;font-weight:900}.app .racket-finder-entry strong{font-size:1.12rem;line-height:1.35}.app .racket-finder-entry em{color:#302838;margin-top:5px;font-size:.84rem;font-style:normal;line-height:1.55}.app .racket-finder-entry>b{color:#fff;background:#26053b;border:2px solid #17111d;border-radius:10px;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:.9rem;display:flex}.app .racket-finder-entry>b svg{width:18px}.app .racket-finder-entry:focus-visible{outline-offset:4px;outline:4px solid #47b98a}.app .racket-finder-entry:active{transform:translate(2px,2px);box-shadow:5px 5px #26053b}@media (width>=760px){.app .racket-finder-entry{grid-template-columns:62px minmax(0,1fr) auto;padding:20px 22px}.app .racket-finder-entry>i{width:62px;height:62px}.app .racket-finder-entry strong{font-size:1.25rem}.app .racket-finder-entry em{font-size:.93rem}.app .racket-finder-entry>b{grid-column:auto;min-width:154px;padding-inline:16px}.app .racket-finder-entry:hover{transform:translate(-2px,-2px);box-shadow:9px 9px #26053b}}@font-face{font-family:Readex Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/readex-pro-arabic-500-normal-Bmdbfz0h.woff2)format("woff2"),url(/assets/readex-pro-arabic-500-normal-DZnHuMwu.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-sans-arabic-arabic-300-normal-CbO9c89e.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-300-normal-D1YP2vdu.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-arabic-arabic-500-normal-C4MQITzh.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-500-normal-DPXcppbm.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/plus-jakarta-sans-latin-800-normal-CusIZhrK.woff2)format("woff2"),url(/assets/plus-jakarta-sans-latin-800-normal-BRNHt2w0.woff)format("woff")}.app.screen-home>.topbar,.app.screen-home>.bottom-nav{display:none!important}.app.screen-home>#court-content{flex:1;margin-top:0!important;padding:0!important}.app.screen-home .home-page{padding:0!important}.app .ball-hero{--u:min(calc(100vw / 1280),calc(100dvh / 760));color:#f7f5f2;background:radial-gradient(70% 60% at 50% 85%,#2a1450,#0f0820 60%,#07040d);width:100%;height:100dvh;min-height:520px;font-family:IBM Plex Sans Arabic,sans-serif;position:relative;overflow:hidden}.ball-hero[dir=ltr]{font-family:Plus Jakarta Sans,sans-serif}.ball-hero *,.ball-hero :before,.ball-hero :after{box-sizing:border-box}.ball-canvas,.ball-scrim{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ball-scrim{background:radial-gradient(42% 32% at 50% 52%,#0b0614c7,#0b061459 60%,#0000 80%),linear-gradient(#0b061499,#0000 24%)}.ball-fallback{background:radial-gradient(circle at 30% 0,#192b29 0%,#18402d 35%,#58cf7d 78%);border-radius:50%;width:min(130vh,105vw);height:min(130vh,105vw);position:absolute;top:96%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 45px #9b6bff55}.ball-fallback.ball-loaded{visibility:hidden}.app .ball-header{z-index:3;height:max(67px,calc(67 * var(--u)));padding:0 max(24px,calc(28 * var(--u)));justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 0 auto}.ball-hero a{color:inherit;text-decoration:none}.ball-hero button{font:inherit;cursor:pointer;border:0}.ball-brand{font-family:Plus Jakarta Sans,sans-serif;font-size:max(22px,calc(22 * var(--u)));letter-spacing:.06em;direction:ltr;align-items:center;gap:8px;display:flex}.ball-brand img{width:max(28px,calc(28 * var(--u)));height:max(28px,calc(28 * var(--u)));border-radius:22%}.ball-desktop-nav{gap:calc(24.3 * var(--u));display:flex;position:absolute;left:50%;transform:translate(-50%)}.ball-desktop-nav a{font-size:max(13px,calc(12.5 * var(--u)));color:#ededed;align-items:center;min-height:44px;display:flex}.ball-actions{align-items:center;gap:7px;display:flex}.ball-actions button,.ball-actions a,.ball-burger{color:#e8e8e8;background:#1f1830;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 14px;font-size:13px;display:flex}.ball-actions a{color:#171221;background:#f7f5f2;gap:8px}.ball-hero a:focus-visible,.ball-hero button:focus-visible{outline-offset:3px;outline:2px solid #67e28d}.ball-hero .ball-burger{display:none}.app .ball-copy{z-index:2;transform:translate(-50%,-50%) translateY(calc(13.1 * var(--u)));text-align:center;width:max-content;max-width:calc(100% - 40px);position:absolute;top:50%;left:50%}.app .ball-copy h1{font-family:Readex Pro,sans-serif;font-weight:500;font-size:calc(84 * var(--u));line-height:calc(104 * var(--u));letter-spacing:calc(-1 * var(--u));text-shadow:0 2px 40px #0b061499;margin:0;color:#f7f5f2!important}.ball-hero[dir=ltr] .ball-copy h1{font-family:Plus Jakarta Sans,sans-serif}.ball-copy h1>span{margin-top:-.26em;padding-top:.26em;display:block;overflow:hidden}.ball-copy h1>span>span{display:block}.app .ball-copy p{font-size:max(17px,calc(17.4 * var(--u)));max-width:calc(620 * var(--u));margin:calc(16 * var(--u)) auto 0;text-wrap:balance;font-weight:300;line-height:1.65;color:#f2eff6!important}.ball-ctas{margin-top:calc(22 * var(--u));justify-content:center;gap:7px;display:flex}.app .ball-ctas a{min-height:44px;font-size:max(14px,calc(13.3 * var(--u)));color:#171221;background:#67e28d;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:0 19px;font-weight:500;display:flex}.app .ball-ctas a+a{color:#e4dfea;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b0614b8;border:1px solid #f7f5f21f}.ball-mobile-menu{top:calc(100% + 8px);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);z-index:5;background:#100a1ae0;border:1px solid #f7f5f217;border-radius:20px;width:min(320px,100vw - 48px);max-height:calc(100dvh - 90px);padding:10px 8px 12px;position:absolute;inset-inline-end:24px;overflow:auto;box-shadow:0 24px 60px #0008}.ball-mobile-menu a,.ball-mobile-menu button{text-align:start;color:#f7f5f2;background:0 0;border-radius:12px;width:100%;min-height:44px;padding:12px 14px;font-size:15px;display:block}.ball-mobile-menu hr{border:0;border-top:1px solid #ffffff20}.ball-mobile-menu .ball-menu-finder{color:#171221;background:#f7f5f2}@media (hover:hover){.ball-desktop-nav a:hover{color:#67e28d}.ball-actions a:hover,.ball-ctas a:first-child:hover{background:#9cedb5}.ball-mobile-menu a:hover{background:#ffffff12}}@media (width>=1161px){.ball-mobile-menu{display:none}}@media (width<=1160px){.ball-hero .ball-desktop-nav,.ball-hero .ball-actions{display:none}.ball-hero .ball-burger{min-width:46px;display:flex}.app .ball-copy h1{font-size:clamp(48px,6.56vw,84px);line-height:1.24}.app .ball-copy p{max-width:min(560px,100vw - 48px);margin-top:16px;font-size:17px}.ball-ctas{margin-top:22px}}@media (width<=552px){.app .ball-header{height:64px;padding:0 20px}.app .ball-copy{width:auto;max-width:none;padding:0 20px;top:50%;left:0;right:0;transform:translateY(-38%)}.app .ball-copy h1{letter-spacing:0;font-size:min(64px,15.625vw - 6.875px)}.app .ball-copy p{max-width:42ch;font-size:clamp(15px,4vw,16.5px)}.ball-ctas{gap:10px;margin-top:24px}.app .ball-ctas a{min-height:46px;padding:0 16px;font-size:15px}.ball-mobile-menu{width:calc(100vw - 32px);inset-inline-end:16px}}@media (width<=353px){.ball-ctas{flex-direction:column;align-items:center}.ball-ctas a{width:min(100%,272px)}}@media (prefers-reduced-motion:no-preference){.ball-entered .ball-copy h1>span>span{animation:1.05s cubic-bezier(.16,1,.3,1) .12s both ball-rise}.ball-entered .ball-copy h1>span+span>span{animation-delay:.22s}.ball-entered .ball-brand{animation:.62s .46s both ball-fade}.ball-entered .ball-desktop-nav a{animation:.55s .54s both ball-fade}.ball-entered .ball-copy p{animation:.85s .58s both ball-fade}.ball-entered .ball-actions,.ball-entered .ball-burger{animation:.55s .68s both ball-fade}.ball-entered .ball-ctas a{animation:.7s cubic-bezier(.16,1,.3,1) .9s both ball-fade}.ball-entered .ball-ctas a+a{animation-delay:.97s}.ball-mobile-menu{animation:.18s both ball-fade}.ball-hero a,.ball-hero button{transition:background .18s,color .18s}}@media (prefers-reduced-motion:reduce){.ball-hero *,.ball-hero :before,.ball-hero :after{transition:none!important;animation:none!important}}@media (height<=460px){.app .ball-hero{min-height:440px}.app .ball-copy h1{font-size:40px;line-height:1.24}.app .ball-copy{top:54%}.app .ball-copy p{max-width:560px;font-size:15px}}@keyframes ball-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes ball-fade{0%{opacity:0;translate:0 9px}to{opacity:1;translate:0}}.app .ball-ctas a:first-child{--button-purple:#644dff;--button-depth:#4836bb;color:#fff;background:var(--button-purple);border:2px solid var(--button-depth);letter-spacing:normal;min-width:184px;max-width:100%;min-height:48px;box-shadow:0 8px 0 var(--button-depth),0 15px 20px #654dff40;border-radius:.75rem;margin-bottom:8px;font-weight:800;transition:transform .1s,box-shadow .1s,background .1s;transform:skew(-10deg)}.app .ball-ctas a:first-child:hover{background:#5942ed}.app .ball-ctas a:first-child:focus-visible{outline-offset:5px;outline:3px solid #fff}.app .ball-ctas a:first-child:active{box-shadow:0 0 0 var(--button-depth);transform:skew(-10deg)translateY(8px)}@media (prefers-reduced-motion:reduce){.app .ball-ctas a:first-child{transform:none}.app .ball-ctas a:first-child:active{background:var(--button-depth);transform:none}}.app .page-enter{will-change:auto;animation:.2s cubic-bezier(.2,.7,.3,1) both court-page-reveal}@keyframes court-page-reveal{0%{opacity:.7}to{opacity:1}}.app .brand img,.app .bottom-nav .active svg,.app .destination-card>i,.app .home-about-card>i,.app .install-card>svg:first-child,.app .learning-nav button.active svg{will-change:auto;animation:none}.app .destination-card,.app .store-card,.app .venue-card,.app .current-tournament-card,.app .player-ranking-card,.app .home-about-card,.app .destination-card:hover>i,.app .destination-card:focus-visible>i,.app .topbar button:hover svg,.app .topbar button:focus-visible svg,.app .store-card:hover .store-logo,.app .venue-card:hover .venue-logo{animation:none}.app button:active{transform:none}.app .main-page-title{height:auto;min-height:90px;padding-block:20px}.logo-intro{pointer-events:none;background:#230338;transition:opacity .35s,visibility .35s}.logo-intro-stage{width:min(76vw,380px);overflow:visible}.logo-intro-art{object-fit:contain;width:100%;height:100%;animation:.65s cubic-bezier(.16,1,.3,1) both court-logo-reveal;-webkit-mask-image:radial-gradient(#000 65%,#0000 73%);mask-image:radial-gradient(#000 65%,#0000 73%)}@keyframes court-logo-reveal{0%{opacity:0;transform:translateY(12px)scale(.94)}65%,to{opacity:1;transform:translate(0,0)scale(1)}}@media (prefers-reduced-motion:reduce){.app .page-enter,.logo-intro-art{animation:none}.logo-intro{display:none}}.app h1[tabindex="-1"]:focus,.app h1[tabindex="-1"]:focus-visible{outline:none}.app .category-grid,.app .tournament-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;max-width:760px;margin-inline:auto;padding-block:16px;display:grid}.app .category-grid button,.app .tournament-section-grid>button,.app .tournament-section-grid>button:nth-child(2n){aspect-ratio:1;color:#300b48;text-align:center;min-height:0;font:inherit;cursor:pointer;background:#fff;border:2px solid #5b3375;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px 12px;transition:background .15s,border-color .15s;display:flex;box-shadow:0 4px #351149}.app .category-grid button>svg,.app .tournament-section-grid i svg{color:#5b2678;flex-shrink:0;width:34px;height:34px}.app .tournament-section-grid i{width:52px;height:52px;box-shadow:none;background:#f0e8f5;border:0;border-radius:14px;place-items:center;display:grid}.app .category-grid strong,.app .tournament-section-grid strong{color:#300b48;font-size:clamp(14px,2vw,18px);line-height:1.5}.app .tournament-section-grid span{display:block}.app .category-grid button:hover,.app .tournament-section-grid>button:hover{background:#f4edf8;border-color:#78469a}.app .category-grid button:focus-visible,.app .category-back:focus-visible,.app .tournament-section-grid>button:focus-visible{outline-offset:5px;outline:3px solid #a784bd}.app .category-back{color:#300b48;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #78469a;border-radius:12px;align-items:center;gap:8px;margin:0 0 16px;padding:10px 16px;display:inline-flex}.app .category-back svg{width:18px;height:18px}@media (width>=900px){.app .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app .category-grid:has(>button:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}.app .tournament-section-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1080px}}.logo-intro-art{border-radius:24px;animation:none;-webkit-mask-image:none;mask-image:none}.logo-intro-stage{width:min(82vw,420px)}.app #court-content>.page.learning-entry-page,.app #court-content>.page.tournament-entry-page,.app .tournament-entry-page>div,.app .court-duo-hero,.court-tour-standalone .court-duo-hero,.app .lessons-hero{background:var(--court-purple,#26053b)!important}.app .lessons-hero .lessons-hero-shade{background:linear-gradient(90deg, color-mix(in srgb, var(--court-purple) 85%, transparent), transparent 65%), linear-gradient(0deg, var(--court-purple), transparent 50%)}.app .learning-entry-page>.category-grid{background:0 0!important}.app :is(.journey-path,.journey-strokes,.journey-map,.journey-terms,.journey-quiz){scroll-margin-top:16px}.app .integrated-learning h2[tabindex="-1"]:focus{outline:none}html,body{height:100%;overflow:hidden}.shell,.app{height:100dvh!important;min-height:0!important;padding:0!important;overflow:hidden!important}.app{flex-direction:column!important;display:flex!important}.app>.topbar{z-index:45;visibility:visible!important;flex:none!important;display:flex!important;position:relative!important;top:auto!important;transform:none!important}.app>#court-content{touch-action:pan-y;min-height:0!important;overflow-y:auto!important}.app .topbar .brand{align-items:center;display:flex!important}.app .topbar .brand img{display:block!important}.app .topbar .brand b{display:block}.app .topbar .brand:focus-visible{outline:3px solid var(--court-lime)}.app .page-title.main-page-title{background:var(--court-purple)!important;color:#fff!important;border-bottom:3px solid var(--court-lime)!important}.app .page-title.main-page-title h1{color:#fff!important}.app .page-title.main-page-title span{color:var(--court-lime)!important;background:#ffffff12!important}.app #court-content>.page.directory-entry-page{background:var(--court-purple)!important}.app .category-grid{gap:18px;width:min(100% - 32px,920px);padding-block:28px 40px}.app .category-grid button,.app .tournament-section-grid>button,.app .tournament-section-grid>button:nth-child(2n){color:#fff;background:#3a1552;border:1px solid #79528e;border-radius:20px;transition:transform .18s,background .18s,border-color .18s;box-shadow:0 5px #190526}.app .category-grid strong,.app .tournament-section-grid strong{color:#fff}.app .category-grid button>svg{color:var(--court-lime);background:#b9f32612;border-radius:16px;width:52px;height:52px;padding:10px}.app .tournament-section-grid i{background:#b9f32616}.app .tournament-section-grid i svg{color:var(--court-lime)}.app .category-grid button small{color:#dfd2e6;max-width:22ch;font-size:13px;font-weight:400;line-height:1.65}.app .category-grid button:focus-visible,.app .tournament-section-grid>button:focus-visible{outline:3px solid var(--court-lime);outline-offset:4px}.app .lessons-hero .lessons-hero-cta{background:var(--court-lime);color:var(--court-purple)}.app .bottom-nav button.active{color:var(--court-lime)!important}@media (hover:hover){.app .category-grid button:hover,.app .tournament-section-grid>button:hover{border-color:var(--court-lime);background:#4b2263;transform:translateY(-4px)}.app .brand:hover img{transition:transform .18s;transform:rotate(-5deg)}}.app .category-grid button:active,.app .tournament-section-grid>button:active{transform:translateY(1px)}@media (width>=900px){.app>.topbar{height:84px!important}.app .topbar .brand{margin-inline-end:auto}.app .bottom-nav{background:var(--court-purple)!important;z-index:44!important;width:100%!important;height:58px!important;top:84px!important;left:0!important;right:0!important;transform:none!important}.app .bottom-nav button{height:58px!important;min-height:58px!important}.app>#court-content{margin-top:58px!important}.app #court-content>.page{min-height:100%!important;padding-top:0!important}.app .category-grid:has(>button:last-child:nth-child(2)){max-width:640px}}@media (width<=480px){.app .topbar .brand b{display:none}.app .category-grid{gap:12px}.app .category-grid button{gap:10px;padding:16px 10px}.app .category-grid button small{font-size:12px}}@media (prefers-reduced-motion:reduce){.app .category-grid button,.app .tournament-section-grid>button,.app .brand img{transition:none!important;transform:none!important}}.app .has-logo>.venue-logo-fallback{display:none}.app .venue-monogram>.venue-logo-fallback{display:block;color:var(--court-lime)!important}.app .venue-monogram>img[hidden]{display:none!important}.app .bottom-nav button.active:after,.app .bottom-nav button.active:before{content:none!important;display:none!important}.app .bottom-nav button.active{border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff30;background:#ffffff18!important}.app .home-page .install-card .install-motion-mark{color:#2b1041!important;background:#fff!important;border:2px solid #2b1041!important;box-shadow:0 3px #100719!important}.app .home-page .install-card .install-motion-mark svg{color:#2b1041!important;background:0 0!important}.app .page-backbar{background:var(--court-purple);color:#fff;border-bottom:1px solid #ffffff18;padding:10px clamp(16px,4vw,48px);display:flex}.app .page-backbar .court-back-button{min-width:100px}.app .entity-detail-title>button{display:none}.app .page-title.main-page-title,.app .page-title.entity-detail-title{min-height:190px;position:relative;overflow:hidden;padding-inline-end:clamp(130px,24vw,240px)!important}.app .page-title .section-character{inset-inline-end:clamp(8px,3vw,40px);object-fit:contain;object-position:bottom;pointer-events:none;width:clamp(110px,22vw,180px);height:190px;position:absolute;bottom:0}@media (width<=480px){.app .page-title.main-page-title,.app .page-title.entity-detail-title{min-height:155px}.app .page-title .section-character{height:150px}.app .page-title.main-page-title h1,.app .page-title.entity-detail-title h1{overflow-wrap:anywhere;font-size:clamp(24px,6vw,32px)}}body .category-grid>button,body .destination-card,body .store-card,body .venue-card,body .current-tournament-card,body .home-about-card{transition:translate .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;animation:none!important}body .category-grid>button svg,body .destination-card>i{transition:rotate .3s,scale .3s}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body .category-grid>button:hover,body .destination-card:hover,body .store-card:hover,body .venue-card:hover{translate:0 -4px;box-shadow:0 10px 24px #13051f30,0 0 0 1px #c9ff3240}body .category-grid>button:hover svg,body .destination-card:hover>i{rotate:-5deg;scale:1.06}.court-character-image img{transition:scale .7s cubic-bezier(.2,.7,.2,1)}.court-character-image:hover img{scale:1.025}}@media (prefers-reduced-motion:no-preference){.lessons-hero-copy>*,.directory-entry-page .main-page-title>div>*{animation:.6s cubic-bezier(.2,.7,.2,1) backwards court-editorial-title}.lessons-hero-copy>:nth-child(2),.directory-entry-page .main-page-title>div>:nth-child(2){animation-delay:70ms}.lessons-hero-copy>:nth-child(3){animation-delay:.14s}.lessons-hero-copy>:nth-child(4){animation-delay:.21s}}@keyframes court-editorial-title{0%{opacity:.45;translate:0 12px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){body .category-grid>button,body .destination-card,body .store-card,body .venue-card,body .current-tournament-card,body .home-about-card,body .category-grid>button svg,body .destination-card>i{transition:none}}.app .home-search{padding-top:36px;padding-inline-end:10px}.app .home-search .searchbar.brutalist-search{color:#191320;background:#fff;border:3px solid #191320;border-radius:0;width:100%;min-height:60px;padding:10px 14px;transition:border-color .25s,box-shadow .25s;position:relative;overflow:visible;box-shadow:5px 5px #191320,10px 10px #69429a}.app .brutalist-search .brutalist-search__label{inset-inline-start:-3px;color:#fff;transform-origin:bottom;cursor:text;background:#191320;padding:5px 10px;font-size:14px;font-weight:800;line-height:20px;transition:transform .25s,background-color .25s;position:absolute;top:-33px;transform:rotate(-1deg)}.app .home-search .brutalist-search input{color:#191320;min-width:0;min-height:38px;box-shadow:none;background:0 0;border:0;border-radius:0;font-family:inherit;font-size:16px;font-weight:700}.app .home-search .brutalist-search input::placeholder{color:#716878;opacity:1}.app .home-search .brutalist-search:focus-within{border-color:#69429a;box-shadow:5px 5px #191320,10px 10px #9e80bd}.app .brutalist-search:focus-within .brutalist-search__label{background:#69429a;transform:rotate(0)scale(1.03)}.app .home-search .brutalist-search input:focus-visible{outline-offset:2px;outline:2px solid #69429a}.app .home-search .brutalist-search>svg{color:#69429a;flex-shrink:0}.app .home-search .brutalist-search .clear-search{color:#321448;background:#f0eaf6;min-width:44px;min-height:44px}.app .home-search .home-search-results{margin-top:22px}@media (prefers-reduced-motion:reduce){.app .brutalist-search,.app .brutalist-search .brutalist-search__label{transition:none}.app .brutalist-search:focus-within .brutalist-search__label{transform:rotate(-1deg)}}
