/* Svelte player pages retain the XP chrome and light content surfaces. */
.message-list .column-sort { display: inline-block; width: 10px; text-align: center; }
.message-list .column-resize, .message-list .column-resize:hover { cursor: col-resize !important; touch-action: none; }
.message-list th[data-column=solves] { width: 70px; }
.message-list th[data-column=category] { width: 200px; }
.challenge-metadata { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.solve-count { border: 0; background: none; padding: 0; color: #164d9e; text-decoration: underline; cursor: pointer; }
.solve-count:hover { background: none; color: #103870; }
.solves-dialog { width: 560px; max-height: calc(100dvh - 32px); overflow: auto; }
.auth-page { max-width: 540px; margin: 0 auto; }
.auth-actions { display: flex; justify-content: flex-end; padding-top: 12px; }
.settings-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 32px; }
.settings-layout > div:last-child { max-width: 780px; }
.settings-layout [hidden] { display: none !important; }
.user-search { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; gap: 16px; align-items: end; margin-bottom: 24px; }
.user-search .mb-3 { margin: 0 !important; }
.user-search .form-text { display: none; }
.pagination-control { display: flex; align-items: center; gap: 10px; }
.pagination-control select { width: auto; }
.score-chart { height: 360px; width: 100%; margin-bottom: 28px; }
.profile-breakdowns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 12px 0 24px; }
.profile-breakdowns .progress { height: 18px; margin-bottom: 8px; }
.profile-badges, .category-legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.profile-badges:empty { display: none; }
.legend-swatch { display: inline-block; width: 10px; height: 10px; margin-right: 5px; }
.profile-awards { display: flex; flex-wrap: wrap; gap: 32px; margin: 20px 0 28px; }
.profile-awards > div { max-width: 260px; }
.express-dialog { max-width: min(560px, calc(100vw - 24px)); padding: 24px; border: 3px solid #0054c4; background: #ece9d8; color: #18202a; box-shadow: 4px 8px 20px #16375470; }
.express-dialog::backdrop { background: #142d5060; }
.express-toast { position: fixed; z-index: 110; right: 24px; bottom: 48px; max-width: min(360px, calc(100vw - 48px)); padding: 20px; border: 2px solid #0054c4; background: #fff; color: #18202a; box-shadow: 3px 6px 16px #16375450; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.error-page { padding: 60px 24px; text-align: center; }
.table-responsive { overflow-x: auto; }
.table td { overflow-wrap: anywhere; }
.custom-page img { max-width: 100%; height: auto; }
@media (max-width: 760px) {
  .settings-layout { grid-template-columns: 1fr; gap: 20px; }
  .settings-layout > .nav { flex-direction: row !important; }
  .user-search { grid-template-columns: 1fr; }
  .profile-breakdowns { grid-template-columns: 1fr; gap: 12px; }
  .score-chart { height: 310px; }
  .table { font-size: 12px; }
}
