/* Group headings and expanded rows share the beatmap's artwork. */
.whitelist-set{border:1px solid #ffffff12;border-radius:12px;overflow:hidden;background:#2c2633}
.whitelist-set>summary{display:flex;align-items:center;gap:14px;min-height:90px;padding:18px 24px;cursor:pointer;list-style:none;background:linear-gradient(90deg,#211b2be8,#211b2b99),var(--map-cover,none) center/cover}
.whitelist-set>summary::-webkit-details-marker{display:none}
.whitelist-set>summary:focus-visible{outline:2px solid #ff80bb;outline-offset:-3px}
.set-chevron{font-size:30px;transition:transform .15s}
.whitelist-set[open] .set-chevron{transform:rotate(90deg)}
.set-heading{display:grid;gap:4px;flex:1;min-width:0}
.set-heading strong{font-size:18px;overflow-wrap:anywhere}
.set-heading small{color:#d3c5dc;font-size:12px}
.whitelist-set>summary>.chip{white-space:nowrap}
.set-difficulties{display:grid;gap:1px}
.set-difficulties .map-list-row{border-radius:0;border:0;border-top:1px solid #ffffff12}
.set-load-status:not(:empty){padding:10px 16px;font-size:12px;color:#cdbed5}
.set-retry{margin:0 12px 12px}
.set-retry[hidden]{display:none}
@media(max-width:700px){
 body{font-size:13px;line-height:1.45}
 .container{width:calc(100% - 20px)}
 .topbar-inner{min-height:56px;gap:8px}
 .brand-mark{width:38px;height:38px;font-size:17px}
 .brand-word{font-size:19px}
 .nav-toggle,.topbar-search{min-width:44px;min-height:44px}
 .site-nav{gap:2px}
 .site-nav .nav-link{font-size:12px;padding:10px 12px;min-height:44px}
 .section-masthead{padding:0}
 .section-masthead-inner{min-height:44px;padding:9px 0;gap:8px}
 .section-title{font-size:17px}
 .section-tagline{font-size:11px}
 main.container{padding-top:14px;padding-bottom:20px}
 h1,.page-title,.page-hero .page-title{font-size:23px;line-height:1.25}
 h2{font-size:17px}h3{font-size:15px}
 .page-hero,.home-hero{padding:15px;margin-bottom:10px;gap:12px}
 .page-hero{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
 .home-hero h1{font-size:29px;margin:6px 0 10px}
 .home-hero .lead{font-size:13px;line-height:1.45;margin:8px 0 12px}
 .hero-actions{gap:6px;margin-top:10px}
 .home-hero-stats .hero-stat{padding:8px 10px}
 .home-hero-stats .hero-stat-num{font-size:21px}
 .home-shortcuts{gap:1px;margin:10px 0}
 .home-shortcuts>a{padding:9px 12px;min-height:48px}
 .grid-2,.stack{gap:10px}
 .card{border-radius:9px;margin-bottom:10px}
 .card-header{padding:10px 12px;gap:8px}
 .card-title{font-size:14px}
 .card-body{padding:12px}.card-footer{padding:8px 12px}
 .btn,.page-hero .btn,.map-list-search .btn{font-size:12px;padding:9px 12px;min-height:40px}
 input.input,select.input,textarea.input,.map-list-search .input{font-size:16px;min-height:44px;padding:8px 10px}
 label{font-size:12px}
 .form-row,.form-group{margin-bottom:12px}
 .form-grid{gap:10px}
 .pill-group .pill{min-height:36px;padding:7px 9px;font-size:11px}
 .profile-tabs{gap:2px;flex-wrap:wrap}
 .profile-tabs a{padding:10px 9px;font-size:12px;min-height:40px}
 .player-stats-strip{padding:10px 12px;gap:10px}
 .player-stat-row{gap:12px}
 .ranking-header,.ranking-filter-bar{padding:12px}
 .ranking-table td,.ranking-table th{padding:9px 7px;font-size:11px}
 .user-cell{gap:7px}.user-cell .avatar{width:30px;height:30px}
 .search-form.map-list-search{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px;gap:6px;margin-bottom:10px}
 .search-form.map-list-search input.input{grid-column:1/-1}
 .search-form.map-list-search select.input{width:100%;min-width:0}
 .search-form.map-list-search .btn{width:auto;min-width:68px;min-height:44px}
 .map-row-list{gap:8px}
 .whitelist-set{border-radius:8px}
 .whitelist-set>summary{min-height:70px;padding:10px 12px;gap:9px}
 .set-heading{gap:3px}.set-heading strong{font-size:14px;line-height:1.3}
 .set-heading small,.whitelist-set>summary>.chip{font-size:11px}
 .whitelist-set>summary>.chip{max-width:95px;white-space:normal;text-align:right}
 .map-list-row{padding:10px 12px;gap:8px}
 .map-list-info h2{font-size:14px}.map-list-info p{font-size:11px}
 .map-list-info .chip,.ss-values .mode-chip,.ss-values small{font-size:10px}
 .ss-values strong{font-size:12px}
 .map-list-review,.map-list-review time{font-size:11px;gap:3px 8px}
 .profile-score-table tbody tr.score-background{padding:9px 11px;margin-bottom:5px;gap:2px 7px}
 .profile-score-table td[data-label]::before{font-size:10px}
 .store-intro{padding:16px;gap:12px}.store-intro h1{font-size:26px}
 .store-wallet{padding:12px}.store-tabs{gap:3px;padding:5px 8px}
 .store-tabs a{padding:10px 8px;font-size:12px;min-height:40px}
 .product-card,.bounty-card,.honor-card{padding:12px;border-radius:9px}
 .product-grid,.bounty-grid,.honor-grid{gap:10px}
 .notice,.alert,.empty-state{padding:12px;font-size:12px}
 .footer{padding:16px 0}.footer-inner{gap:8px}
 .footer-links{gap:4px 10px}.footer-links a{padding:6px 0;min-height:30px}
}
