/* Compact lobby content. The common viewport frame and game HUD remain unchanged. */
#overlay.lobby-shell :is(.profile-content,.rankings-content,.guide-content){padding:20px 24px}
#overlay.lobby-shell :is(.dashboard-box,.event-panel){padding:14px 16px}
#overlay.lobby-shell :is(input:not([type=checkbox]):not([type=radio]),select){min-width:0;max-width:100%;min-height:38px;padding:8px 10px}
#overlay.lobby-shell :is(.secondary,.primary){min-height:36px;padding:8px 12px}
#overlay.lobby-shell .label{margin:10px 0 5px}
#overlay.lobby-shell .status:empty{min-height:0;margin:0;padding:0}
#overlay.lobby-shell .status{margin:8px 0;min-height:0}
#overlay.lobby-shell .profile-heading{margin-bottom:12px;gap:12px}
#overlay.lobby-shell .profile-heading h1{font-size:28px}
#overlay.lobby-shell .profile-heading .eyebrow{margin-bottom:8px}
#overlay.lobby-shell .profile-shortcuts{gap:6px;padding:8px 0;margin-bottom:12px}
#overlay.lobby-shell #profileData>.dashboard-box{margin-bottom:14px}
#overlay.lobby-shell .dashboard-grid{gap:14px}
#overlay.lobby-shell .profile-settings{height:auto;min-height:0}
#overlay.lobby-shell .profile-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;align-items:start}
#overlay.lobby-shell .profile-setting-nick{grid-column:auto}
#overlay.lobby-shell .profile-setting-field .label{margin:0 0 5px}
#overlay.lobby-shell .profile-setting-field .hint{margin:5px 0 0;line-height:1.4}
#overlay.lobby-shell .profile-setting-save{padding-top:19px}
#overlay.lobby-shell .profile-settings #saveProfileBtn{width:auto;min-height:38px;margin:0;white-space:normal}
#overlay.lobby-shell .stats-grid{gap:10px;margin-bottom:14px}
#overlay.lobby-shell .stat-card{padding:12px 14px}
#overlay.lobby-shell .stat-card strong{font-size:25px;margin-top:5px}
#overlay.lobby-shell .history th{padding:7px 6px}
#overlay.lobby-shell .history td{padding:8px 6px}
#overlay.lobby-shell .chart{height:100px;margin:8px 0 12px}
#overlay.lobby-shell .skin-list{margin:10px 0}
#overlay.lobby-shell .skin-item{padding:6px 0}
#overlay.lobby-shell .collection-grid{gap:10px;margin-top:10px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
#overlay.lobby-shell .collection-card{padding:10px}
#overlay.lobby-shell .collection-card img{width:64px;height:64px}
#overlay.lobby-shell .collection-card .collection-name{line-height:1.35}
#overlay.lobby-shell .collection-card .collection-points{line-height:1.35}
#overlay.lobby-shell .collection-card .variant-reward{margin-top:5px}
#overlay.lobby-shell .collection-card>.fact-trigger{height:72px}
#overlay.lobby-shell .shared-challenges{margin-top:16px;padding-top:12px}
#overlay.lobby-shell .challenge-grid{gap:10px}
#overlay.lobby-shell .challenge-card{padding:12px}
#overlay.lobby-shell .challenge-icon{width:56px;height:56px}
#overlay.lobby-shell .challenge-heading{gap:8px}
#overlay.lobby-shell .challenge-card progress{margin:8px 0 4px}
#overlay.lobby-shell .challenge-state,#overlay.lobby-shell .challenge-contribution{margin:4px 0}
#overlay.lobby-shell .challenge-card button{margin-top:6px}
#overlay.lobby-shell .challenge-choice{padding:7px 0}
#overlay.lobby-shell .challenge-choice .challenge-icon{width:52px;height:52px}
#overlay.lobby-shell .challenge-invite-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(190px,1.4fr) auto;gap:8px 12px;align-items:end;margin:12px 0}
#overlay.lobby-shell .challenge-invite-field{min-width:0}
#overlay.lobby-shell .challenge-invite-field .label{margin:0 0 5px}
#overlay.lobby-shell .challenge-invite-form>button{width:auto;margin:0;min-height:38px}
#overlay.lobby-shell .challenge-invite-form>p{grid-column:1/-1}
#overlay.lobby-shell .challenge-catalog{margin-top:14px}
#overlay.lobby-shell .challenge-catalog summary{margin-bottom:10px}
#overlay.lobby-shell .friend-tools{gap:12px;margin:12px 0 8px}
#overlay.lobby-shell .friend-tools button{min-height:38px}
#overlay.lobby-shell .friend-grid{gap:10px}
#overlay.lobby-shell .friend-card{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:10px}
#overlay.lobby-shell .friend-card-avatar img{width:48px;height:48px}
#overlay.lobby-shell .friend-card .friend-state{margin:3px 0 5px}
#overlay.lobby-shell .friend-card .friend-game{margin-bottom:5px}
#overlay.lobby-shell .friend-profile-stats{gap:8px;margin:10px 0}
#overlay.lobby-shell .friend-profile-stats>div{padding:9px 8px}
#overlay.lobby-shell .friend-profile-stats dd{margin-top:5px}
#overlay.lobby-shell .social-notifications{margin-bottom:14px}
#overlay.lobby-shell .social-notice-list{gap:10px}
#overlay.lobby-shell .social-notice{padding:12px}
#overlay.lobby-shell .social-notice time{margin:6px 0}
#overlay.lobby-shell .social-notice .challenge-icon{width:48px;height:48px}
#overlay.lobby-shell .rank-toolbar{gap:10px;margin:12px 0}
#overlay.lobby-shell .rank-grid{gap:14px}
#overlay.lobby-shell .rank-prizes{gap:14px;margin:14px 0}
#overlay.lobby-shell .rank-profile{margin-bottom:14px}
#overlay.lobby-shell .rank-history{gap:10px}
#overlay.lobby-shell .rank-history-item{padding:8px}
#overlay.lobby-shell .rank-archive{margin-top:14px}
#overlay.lobby-shell .rank-archive select{max-width:250px;margin:6px 0}
#overlay.lobby-shell .guide-intro{margin-bottom:16px}
#overlay.lobby-shell .guide-grid{gap:12px}
#overlay.lobby-shell .guide-section h2{margin-bottom:8px}
#overlay.lobby-shell .guide-section p{margin:8px 0;line-height:1.6}
#overlay.lobby-shell .guide-controls{gap:14px}
#overlay.lobby-shell .guide-controls dt{margin-top:8px}
#overlay.lobby-shell .admin-section{padding:0}
#overlay.lobby-shell .admin-section>summary{padding:12px 16px}
#overlay.lobby-shell .admin-section-content{padding:0 16px 14px}
#overlay.lobby-shell .admin-search{gap:8px;margin:10px 0}
#overlay.lobby-shell .admin-manage{padding:14px}
#overlay.lobby-shell .admin-manage h3{margin-bottom:10px}
#overlay.lobby-shell .admin-ops{gap:6px;margin-bottom:10px}
#overlay.lobby-shell .admin-ops label{min-height:36px;padding:8px}
#overlay.lobby-shell .admin-grant-toolbar{margin-bottom:8px}
#overlay.lobby-shell .admin-grant-table th,#overlay.lobby-shell .admin-grant-table td{padding:4px 6px}
#overlay.lobby-shell .admin-grant-choice{min-height:34px}
#overlay.lobby-shell .admin-manage input[type=number]{width:16ch;max-width:100%}
#overlay.lobby-shell .admin-manage select{width:auto;max-width:100%}
#overlay.lobby-shell .role-review{padding:12px;margin-top:10px}
#overlay.lobby-shell.home-fit .entry-column{padding:18px 22px}
#overlay.lobby-shell .entry-column .label{margin-top:10px}
#overlay.lobby-shell #playSetup{margin-top:12px;padding-top:8px}
#overlay.lobby-shell .selected-character{margin-top:8px}
#overlay.lobby-shell .character-card{padding:8px 10px}
#overlay.lobby-shell .event-panel{margin:10px 0}
#overlay.lobby-shell .entry-column .privacy{margin-top:12px}
@media(min-width:1000px) and (pointer:fine){
 #overlay.lobby-shell .profile-settings-fields{grid-template-columns:minmax(140px,1.15fr) minmax(150px,1.25fr) minmax(150px,1.25fr) minmax(100px,.85fr) auto;gap:16px}
}
@media(max-width:760px){
 #overlay.lobby-shell .challenge-invite-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 #overlay.lobby-shell .challenge-invite-form>button{grid-column:1/-1;justify-self:start}
}
@media(max-width:620px),(pointer:coarse){
 #overlay.lobby-shell :is(.profile-content,.rankings-content,.guide-content){padding:16px 14px}
 #overlay.lobby-shell :is(input:not([type=checkbox]):not([type=radio]),select){min-height:44px;padding:10px 12px;font-size:16px}
 #overlay.lobby-shell :is(.secondary,.primary,.text-btn),#overlay.lobby-shell .friend-tools button,#overlay.lobby-shell .friend-card .friend-actions button,#overlay.lobby-shell .rank-table button{min-height:44px}
 #overlay.lobby-shell .profile-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #overlay.lobby-shell .profile-setting-nick{grid-column:1/-1}
 #overlay.lobby-shell .profile-setting-save{padding-top:0;grid-column:1/-1}
 #overlay.lobby-shell .profile-settings #saveProfileBtn{min-height:44px}
 #overlay.lobby-shell .profile-heading h1{font-size:24px}
 #overlay.lobby-shell .stat-card{padding:12px}
 #overlay.lobby-shell .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #overlay.lobby-shell .collection-card{padding:8px}
 #overlay.lobby-shell .friend-card{padding:10px}
 #overlay.lobby-shell .challenge-invite-form{display:flex;flex-direction:column;align-items:stretch}
 #overlay.lobby-shell .challenge-invite-form>button{align-self:flex-start;min-height:44px}
 #overlay.lobby-shell .challenge-card{padding:12px}
 #overlay.lobby-shell .challenge-choice .challenge-icon{width:48px;height:48px}
 #overlay.lobby-shell .admin-ops label,#overlay.lobby-shell .admin-grant-choice{min-height:44px}
 #overlay.lobby-shell .admin-manage-actions button{min-height:44px}
 #overlay.lobby-shell .admin-grant-table th,#overlay.lobby-shell .admin-grant-table td{padding:4px}
 #overlay.lobby-shell .admin-character-pick{min-height:44px}
 #overlay.lobby-shell.home-compact .entry-column{padding:14px 18px}
 #overlay.lobby-shell.home-compact :is(#startBtn,#guestBtn){min-height:48px}
}

/* Weekly completion colours are independent of current slot occupancy. */
#overlay.lobby-shell :is(.challenge-card,.challenge-choice):not(.challenge-completed) .challenge-icon{filter:grayscale(1) drop-shadow(0 3px 4px #0004);opacity:.72}
#overlay.lobby-shell .challenge-completed{border-color:#8cb65b88;background:#c8f58b09}
#overlay.lobby-shell .challenge-completed .challenge-icon{filter:drop-shadow(0 4px 5px #0004);opacity:1}
#overlay.lobby-shell .challenge-completed .catalog-completion{color:var(--mint)}

/* Group administrator metrics without changing the shared content frame. */
.admin-metric-sections{display:grid;gap:14px;margin-bottom:16px}.admin-metric-sections>.dashboard-box{margin:0}.admin-metric-sections h2{margin:0 0 12px}

.admin-diagnostic-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 12px}.admin-diagnostic-controls select{width:auto;max-width:100%;min-width:180px}.admin-diagnostic-controls p{flex-basis:100%;margin:0;overflow-wrap:anywhere}

.player-report-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.player-report-actions button{font:inherit;font-size:11px;padding:6px 8px}.player-report-status{font-size:11px;color:var(--muted)}.player-report-status:empty{display:none}#leaderboard .player-report-actions{margin-top:8px}

/* Keep the ranking click-through, but allow the report controls. */
#leaderboard .player-report-actions button{pointer-events:auto}

/* Reserve the visible mobile form for editing while the keyboard is open. */
#overlay.lobby-shell.home-compact.lobby-editing .lobby-header,
#overlay.lobby-shell.home-compact.lobby-editing .lobby-footer{display:none}
#overlay.lobby-shell.home-compact.lobby-editing .account-start{position:static}
#overlay.lobby-shell.home-compact.lobby-editing :is(input,textarea,select){font-size:16px}
