/* Shared responsive adjustments for public spectator pages only. */
@media(max-width:720px){
 *,*::before,*::after{box-sizing:border-box}
 input,select,textarea{font-size:16px!important;max-width:100%}
 button,nav a,.page-links a{min-height:44px}
 h1,h2,h3,p,a,dd{overflow-wrap:anywhere}
 main,.shell,article,section{min-width:0}
 .sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .sidebar nav a{align-items:center;font-size:14px}
 .sidebar{padding:14px 16px}
 .filters{display:grid;grid-template-columns:1fr;gap:10px}
 .filters select,.filters label{width:100%}
 .metrics{gap:10px}.metrics article{padding:14px}
 .metrics strong{font-size:clamp(22px,6vw,30px)}
 .table-wrap{overflow:visible}
 .leaderboard table,.leaderboard tbody{display:block;white-space:normal}
 .leaderboard thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .leaderboard tr{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:16px 0;border-bottom:1px solid var(--line)}
 .leaderboard td{display:block;padding:8px 0;border:0;min-width:0;font-size:13px;overflow-wrap:anywhere}
 .leaderboard td:first-child{grid-column:1/-1;color:var(--muted);padding:0 0 6px}
 .leaderboard td:first-child::before{content:'Platz '}
 .leaderboard td:nth-child(2){grid-column:1/-1;padding:0 0 12px}
 .leaderboard td:nth-child(n+3)::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;font-weight:400;margin-bottom:3px}
 .leaderboard .person{min-height:44px;text-align:left;font-size:16px;width:100%}
 .leaderboard .person>span:last-child{min-width:0;overflow-wrap:anywhere}
 .person small{font-size:12px}.avatar{width:38px;height:38px;flex:none}
 dialog{width:calc(100% - 24px);max-width:560px;max-height:calc(100dvh - 24px);margin:auto;padding:18px;overflow-y:auto}
 dialog dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;font-size:14px}
 dialog dd{min-width:0}.profile-heading{gap:12px}.profile-heading>div{min-width:0}
 .profile-heading .profile-avatar{width:60px;height:60px;font-size:20px}
 dialog .emote-row{padding:7px 0;font-size:13px}
 .shell{padding:16px!important;width:100%}
 .shell header{gap:14px;align-items:flex-start}
 .shell h1{font-size:30px;line-height:1.2}
 .shell .panel{padding:18px}.shell .hero{padding:20px}
 .shell .grid{grid-template-columns:minmax(0,1fr)}
 .page-links{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
 .page-links a{display:flex;align-items:center;padding:10px!important;font-size:13px}
 .catch-row{grid-template-columns:18px 44px minmax(0,1fr) auto;gap:6px}
 .catch-label{font-size:13px}.catch-row>strong:last-child{font-size:12px}
 #lookup{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 #lookup input,#lookup button{width:100%;min-width:0}
 #profileCard .profile-header{padding:14px;gap:10px}
 #profileCard .profile-header>span:nth-child(2){min-width:0;flex:1}
 #profileCard .profile-header strong{font-size:20px}
 .collection-progress{flex-wrap:wrap}
 .collection-grid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:7px}
 .collection-tile>button{height:64px;padding:6px}
 #bag.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #bag .card{padding:12px}#bag .card img{height:95px}#bag h3{font-size:14px}
 .controls{padding:14px}.controls label{min-width:0;flex-basis:100%}
 #cards.grid{grid-template-columns:minmax(0,1fr)}
 body>main{padding:20px 16px}
}
