/* Responsive and Safari compatibility layer. No zoom restrictions. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:20px}
body{min-width:0}
button,input,select,textarea{font-family:inherit}
button,[type=button],[type=submit]{-webkit-appearance:none;appearance:none;touch-action:manipulation}
img,video{max-width:100%;height:auto}
:where(.wrap,.heading,.calendar-event-copy,.series-event,.series-toolbar label,.contact-grid a,.pp-day,.pp-time-slot dd){min-width:0}
:where(.calendar-event-copy,.series-event,.contact-grid a,.pp-time-slot dd){overflow-wrap:anywhere}
#site-search{max-height:85vh;max-height:85dvh;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#site-search::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
html:has(#site-search[open]){overflow:hidden}
#site-search input,#site-search select{font-size:16px}
.series-event-top,.series-toolbar,.ranking-meta{flex-wrap:wrap}
.series-toolbar select{min-width:0;max-width:100%}
#back-to-top{right:max(12px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom,0px))}
@media(max-width:1024px){
 .wrap{width:calc(100% - 40px)}
 #home .page-title{font-size:clamp(32px,6vw,70px);line-height:1.08}
 .pp-days{grid-template-columns:1fr!important}
 .ranking-controls{gap:12px}
}
@media(max-width:760px){
 .wrap{width:calc(100% - 28px)}
 html[data-theme] header .nav{width:calc(100% - 28px);min-height:0}
 html[data-theme] header #navigation>a{min-height:44px!important;font-size:11px}
 html[data-theme] header .appearance-toggle{width:44px;height:44px;min-width:44px;min-height:44px}
 html[data-theme] header .search-launch{min-height:44px}
 #home .page-title,#series .page-title{font-size:clamp(30px,8vw,48px)!important;line-height:1.1}
 .ranking-controls input,.ranking-controls select,#rank-size,.series-toolbar select{font-size:16px!important}
 .calendar-section-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .calendar-event{min-width:0}
 .contact-grid strong{font-size:clamp(16px,5vw,24px);overflow-wrap:anywhere}
 .series-event-grid{grid-template-columns:1fr}
 .ranking-help{scroll-margin-top:20px}
 #site-search{width:calc(100% - 20px);max-height:90vh;max-height:90dvh}
 .search-scopes button,#site-search-close{min-height:44px}
 #print-schedule{width:100%}
}
@media(max-width:380px){
 html[data-theme] header .brand{font-size:20px}
 html[data-theme] header .nav{gap:6px}
 html[data-theme] header .search-launch{padding:8px;font-size:10px}
 html[data-theme] header #navigation>a{font-size:10px!important;padding:7px 4px!important}
 #rankings .ranking-table th:first-child{width:39px!important}
 #rankings .ranking-table th:last-child{width:67px!important}
 .series-select{grid-template-columns:70px minmax(0,1fr);gap:8px 12px;padding:14px}
 .series-brand-art img{width:70px}
 .series-select-title{font-size:17px}
 .series-metrics{gap:6px}
}
@media(pointer:coarse){
 .racket-controls button,.motion-toggle,.series-select,.series-all{min-height:44px}
 .series-select:hover{transform:none}
}
@media(max-height:500px) and (orientation:landscape){
 #site-search{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin-block:8px}
 .search-heading{padding-top:10px}.search-field{margin-top:4px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
