/* Community content only: the page heroes and navigation keep their original design. */
#content .bk-content .community-forum-grid { grid-template-columns: minmax(0, 1fr) 260px; gap: 20px; }
#content .bk-content .community-forum-grid.has-filter .community-latest-topics { grid-row: 2; }
#content .bk-content .community-forum-grid.has-filter .community-pinned-topics { grid-row: 3; }
#content .bk-content .community-forum-grid.has-filter .community-categories { grid-row: 4; }
#content .bk-content .inf-forum-toolbar { flex-wrap: wrap; padding: 16px; gap: 12px; margin: 0; }
#content .bk-content .community-forum-search { flex: 1 1 100%; display: grid; grid-template-columns: minmax(180px, 1fr) minmax(140px, 190px) auto; gap: 8px; }
#content .bk-content .inf-search-field { border: 1px solid #51473d; border-radius: 5px; background: #171819; padding-left: 12px; }
#content .bk-content .inf-search-field input { min-height: 44px; font-size: 15px; padding: 10px 8px; }
#content .bk-content .community-forum-search select { min-width: 0; width: 100%; min-height: 44px; font-size: 14px; }
#content .bk-content .community-search-submit { min-height: 44px; white-space: nowrap; }
#content .bk-content .community-forum-actions { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
#content .bk-content .community-filter-status { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; width: 100%; padding-top: 10px; border-top: 1px solid #494039; color: #bdb5a9; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
#content .bk-content .community-filter-status strong { color: #eadcca; }
#content .bk-content .community-filter-status .text-link { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
#content .bk-content .community-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
#content .bk-content .community-categories { overflow: hidden; }
#content .bk-content .inf-forum-table-head,
#content .bk-content .inf-forum-category { grid-template-columns: minmax(0, 1.4fr) 58px 92px minmax(0, 1fr); padding: 14px 16px; gap: 12px; }
#content .bk-content .inf-forum-table-head { font-size: 13px; letter-spacing: 0; text-transform: none; background: #20201f; color: #bdb6ac; }
#content .bk-content .inf-forum-category { min-height: 96px; border-color: #494039; }
#content .bk-content .inf-forum-category.active { background: #352328; box-shadow: inset 3px 0 #ad8261; }
#content .bk-content .inf-forum-category-title { gap: 12px; min-height: 44px; }
#content .bk-content .inf-forum-category-title > .icon { width: 36px; height: 36px; flex-basis: 36px; filter: none; }
#content .bk-content .inf-forum-category-title h2 { font-size: 22px; line-height: 1.2; overflow-wrap: anywhere; }
#content .bk-content .inf-forum-category-title p { font-size: 14px; line-height: 1.5; color: #b9b4ab; }
#content .bk-content .inf-forum-last { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
#content .bk-content .inf-forum-last > div { min-width: 0; }
#content .bk-content .inf-forum-last small { font-size: 14px; color: #b3ada4; }
#content .bk-content .inf-forum-rules { min-height: 112px; gap: 20px; margin-bottom: 20px; }
#content .bk-content .inf-forum-rules > img { width: 160px; max-height: 126px; object-fit: cover; }
#content .bk-content .inf-forum-rules h2 { font-size: 24px; line-height: 1.2; }
#content .bk-content .inf-forum-rules p { font-size: 14px; line-height: 1.5; }
#content .bk-content .community-forum-aside { gap: 20px; }
#content .bk-content .inf-clan-quote { padding: 22px; }
#content .bk-content .inf-clan-quote blockquote { font-size: 23px; line-height: 1.4; color: #c5b099; }
#content .bk-content .inf-clan-quote > .icon { width: 36px; height: 36px; }
#content .bk-content .community-pin-row { grid-template-columns: 20px minmax(0, 1fr) 100px 84px 40px; gap: 12px; padding: 14px 10px; min-height: 54px; border-color: #494039; }
#content .bk-content .community-pin-row strong,
#content .bk-content .community-pin-row > span,
#content .bk-content .community-pin-row > time,
#content .bk-content .community-pin-row small { font-size: 14px; overflow-wrap: anywhere; }
#content .bk-content .community-pin-row > .icon { color: #bd9372; filter: none; }
#content .bk-content .community-topic-table-head,
#content .bk-content .community-topic-table-row { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 58px minmax(0, 1fr); padding: 14px 16px; gap: 12px; }
#content .bk-content .community-topic-table-head { font-size: 13px; color: #bdb6ac; background: #20201f; border-color: #494039; }
#content .bk-content .community-topic-table-row { border-color: #494039; }
#content .bk-content .community-topic-name { font-size: 15px; line-height: 1.5; min-height: 44px; display: flex; align-items: center; }
#content .bk-content .community-topic-person b,
#content .bk-content .community-topic-person time,
#content .bk-content .community-topic-replies { font-size: 14px; line-height: 1.5; }
#content .bk-content .community-topic-person b { white-space: normal; overflow-wrap: anywhere; }
#content .bk-content .community-topic-person time { color: #b3ada4; }
#content .bk-content .community-empty-note,
#content .bk-content .community-forum-empty p,
#content .bk-content .community-popular > a,
#content .bk-content .community-popular > a > small,
#content .bk-content .community-forum-numbers dl > div { font-size: 14px; line-height: 1.6; }
#content .bk-content .community-popular > a { padding: 14px 10px; min-height: 52px; }
#content .bk-content .community-forum-empty { padding: 32px 20px; }

#content .bk-content .inf-join-overview { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 20px; margin-bottom: 20px; }
#content .bk-content .inf-join-about > p { padding: 16px 20px 0; line-height: 1.65; }
#content .bk-content .inf-join-signature > span { font-size: 14px; letter-spacing: .5px; text-transform: none; }
#content .bk-content .inf-requirement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; gap: 12px; }
#content .bk-content .community-requirements .community-requirement { flex-direction: row; align-items: flex-start; gap: 12px; padding: 12px; background: #20201f; border-color: #494039; border-radius: 5px; }
#content .bk-content .community-requirement > .icon { width: 27px; height: 27px; flex: 0 0 27px; filter: none; }
#content .bk-content .community-requirement p { text-align: left; font-size: 14px; line-height: 1.6; }
#content .bk-content .community-rules-link { font-size: 14px; min-height: 44px; display: flex; align-items: center; padding: 0 20px 12px; gap: 8px; }
#content .bk-content .inf-join-benefits { grid-column: 1 / -1; display: flex; flex-wrap: wrap; padding-bottom: 12px; }
#content .bk-content .inf-join-benefits .panel-head { width: 100%; }
#content .bk-content .inf-join-benefits > p { flex: 1 1 230px; font-size: 14px; line-height: 1.5; padding-inline: 20px; }
#content .bk-content .community-join-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 20px; }
#content .bk-content .community-application-intro { font-size: 14px; line-height: 1.6; padding: 0 20px 14px; }
#content .bk-content .community-application-form { padding: 0 20px 20px; }
#content .bk-content .community-application .form-grid { gap: 8px 16px; }
#content .bk-content .community-application .field > span:first-child { font-size: 14px; line-height: 1.45; margin-bottom: 7px; }
#content .bk-content .community-application .field input,
#content .bk-content .community-application .field textarea { font-size: 16px; min-height: 46px; padding: 12px; }
#content .bk-content .community-application .field textarea { height: auto; min-height: 130px; }
#content .bk-content .community-application .field small,
#content .bk-content .community-application .check,
#content .bk-content .community-application-note,
#content .bk-content .community-guest-action > p,
#content .bk-content .community-guest-action > .text-link,
#content .bk-content .community-application-status > p { font-size: 14px; line-height: 1.6; }
#content .bk-content .community-application .check { min-height: 44px; align-items: center; }
#content .bk-content .community-application .check input { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; }
#content .bk-content .community-application-note { margin-top: 12px; }
#content .bk-content .community-guest-action { padding: 8px 0 12px; }
#content .bk-content .community-guest-action > p { margin-bottom: 16px; }
#content .bk-content .community-application-preview { margin-top: 8px; border-top: 1px solid #494039; }
#content .bk-content .community-application-preview summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; min-height: 52px; padding: 12px 0; cursor: pointer; font-size: 14px; color: #cfb191; }
#content .bk-content .community-application-preview[open] summary .icon { transform: rotate(90deg); }
#content .bk-content .community-application-preview > fieldset { border: 0; margin: 0; padding: 12px 0 0; min-width: 0; }
#content .bk-content .community-join-steps { display: block; }
#content .bk-content .community-join-steps > div:not(.panel-head) { padding: 18px 16px; align-items: flex-start; border-color: #494039; }
#content .bk-content .community-join-steps > div > span { background: #3a2928; color: #dbc0a0; border-color: #866648; box-shadow: none; font-size: 20px; }
#content .bk-content .community-join-steps h3 { font-size: 16px; margin-bottom: 6px; }
#content .bk-content .community-join-steps p { font-size: 14px; line-height: 1.6; color: #b9b4ab; }
#content .bk-content .community-faq { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
#content .bk-content .community-faq details { margin: 8px 20px; background: #1b1b1b; border-color: #494039; }
#content .bk-content .community-faq summary { min-height: 48px; font-size: 14px; line-height: 1.5; padding: 12px; }
#content .bk-content .community-faq details > p { font-size: 14px; line-height: 1.6; padding: 0 12px 16px; }

#content .bk-content .community-chat-grid { grid-template-columns: 220px minmax(0, 1fr) 240px; gap: 20px; height: 700px; }
#content .bk-content .community-channel-panel .channel-link { min-height: 46px; padding: 12px; font-size: 15px; }
#content .bk-content .community-channel-panel .channel-link.active { border-color: #88644b; background: #39272a; box-shadow: inset 3px 0 #ad8261; }
#content .bk-content .community-channel-forum h3 { font-size: 14px; line-height: 1.5; letter-spacing: 0; text-transform: none; }
#content .bk-content .community-channel-forum a { min-height: 44px; font-size: 14px; }
#content .bk-content .community-chat-grid .chat-notice { font-size: 14px; line-height: 1.6; background: #302326; border-color: #62423e; box-shadow: none; }
#content .bk-content .community-chat-grid .chat-notice > .icon { color: #c69f7d; filter: none; }
#content .bk-content .community-chat-grid .chat-feed { background: #171819; padding: 12px 18px; }
#content .bk-content .community-chat-grid .message { padding: 16px 0; border-color: #494039; }
#content .bk-content .community-chat-grid .message-name { font-size: 15px; color: #d8bc9d; }
#content .bk-content .community-chat-grid .message-time,
#content .bk-content .community-chat-grid .message-pin,
#content .bk-content .community-chat-grid .chat-hint,
#content .bk-content .community-chat-grid .chat-day,
#content .bk-content .community-chat-grid .chat-panel .online-label { font-size: 14px; color: #b9b4ab; }
#content .bk-content .community-chat-grid .message-body { font-size: 15px; line-height: 1.65; color: #ded9d0; overflow-wrap: anywhere; }
#content .bk-content .community-chat-grid .chat-form { padding: 12px; background: #20201f; }
#content .bk-content .community-chat-grid .chat-form textarea { font-size: 16px; min-height: 48px; }
#content .bk-content .community-chat-grid .chat-form .button { min-height: 48px; min-width: 48px; }
#content .bk-content .community-online-panel .person-row b,
#content .bk-content .community-online-panel .person-row b::after,
#content .bk-content .community-chat-quicklinks > a,
#content .bk-content .inf-chat-code li { font-size: 14px; line-height: 1.6; }
#content .bk-content .community-online-more,
#content .bk-content .community-chat-quicklinks > a { min-height: 44px; font-size: 14px; }
#content .bk-content .inf-chat-hall { min-height: 150px; }

#content .bk-content .roster-filters { padding: 16px; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
#content .bk-content .roster-group-tabs { gap: 8px; flex-wrap: wrap; }
#content .bk-content .roster-group-tabs a,
#content .bk-content .roster-class-tabs a { min-height: 44px; font-size: 14px; line-height: 1.4; padding: 10px 14px; white-space: normal; }
#content .bk-content .roster-group-tabs a.active,
#content .bk-content .roster-class-tabs a.selected { background: #3a292b; color: #ead9c4; border-color: #997151; box-shadow: none; }
#content .bk-content .roster-class-tabs { flex-wrap: wrap; gap: 8px; }
#content .bk-content .roster-search { min-width: 250px; max-width: 390px; flex: 1 1 250px; background: transparent; padding: 0; border: 0; gap: 8px; }
#content .bk-content .roster-search input { min-height: 44px; font-size: 16px; }
#content .bk-content .roster-search button { flex: 0 0 auto; }
#content .bk-content .roster-layout { grid-template-columns: minmax(0, 1fr) 290px; gap: 20px; }
#content .bk-content .roster-main,
#content .bk-content .roster-aside { gap: 20px; }
#content .bk-content .reference-roster-table th { font-size: 14px; padding: 14px; text-transform: none; letter-spacing: 0; }
#content .bk-content .reference-roster-table td { font-size: 15px; padding: 16px 14px; }
#content .bk-content .roster-person strong { font-size: 16px; }
#content .bk-content .roster-person small,
#content .bk-content .roster-class,
#content .bk-content .online-label,
#content .bk-content .roster-status-note,
#content .bk-content .roster-recent-person small,
#content .bk-content .inf-roster-roles dt,
#content .bk-content .inf-roster-roles dd,
#content .bk-content .inf-roster-feature-body p,
#content .bk-content .inf-roster-numbers span { font-size: 14px; line-height: 1.6; }
#content .bk-content .roster-status-note { color: #b9b4ab; margin: 0 2px; }
#content .bk-content .inf-roster-feature-body { padding: 16px; }
#content .bk-content .inf-roster-feature-body > img { width: 96px; height: 150px; object-fit: cover; object-position: top; }
#content .bk-content .inf-roster-summary blockquote { font-size: 18px; line-height: 1.5; }
#content .bk-content .roster-recent-person { min-height: 64px; }

#content .bk-content .events-navigation { flex-wrap: wrap; margin: 0 0 20px; gap: 12px; }
#content .bk-content .events-navigation h2 { font-size: 20px; line-height: 1.3; letter-spacing: 0; text-transform: none; }
#content .bk-content .events-navigation .tabs a { min-height: 44px; font-size: 14px; padding: 10px 16px; text-transform: none; letter-spacing: 0; }
#content .bk-content .events-all-link { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; }
#content .bk-content .inf-events-top { grid-template-columns: minmax(0, 1fr) 290px; gap: 20px; margin-bottom: 20px; }
#content .bk-content .reference-event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
#content .bk-content .reference-event-grid .event-art { height: 155px; }
#content .bk-content .reference-event-grid .event-body { padding: 18px; }
#content .bk-content .reference-event-grid .event-body h3 { font-size: 24px; line-height: 1.25; margin: 8px 0; }
#content .bk-content .reference-event-grid .event-body p,
#content .bk-content .reference-event-grid .event-body > .meta,
#content .bk-content .reference-event-grid .event-bottom,
#content .bk-content .reference-event-grid .event-art .badge,
#content .bk-content .inf-next-event p { font-size: 14px; line-height: 1.6; }
#content .bk-content .reference-event-grid .event-bottom { flex-wrap: wrap; }
#content .bk-content .reference-event-grid .event-action { min-height: 44px; font-size: 14px; margin-top: 12px; }
#content .bk-content .inf-next-event h2 { font-size: 25px; line-height: 1.25; }
#content .bk-content .inf-next-event-copy { padding: 18px; }
#content .bk-content .events-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
#content .bk-content .events-dashboard > .reference-calendar-panel { grid-column: 1 / -1; }
#content .bk-content .reference-calendar-layout { grid-template-columns: minmax(280px, .9fr) minmax(0, 1.2fr); padding: 0 20px 10px; gap: 20px; }
#content .bk-content .reference-calendar { background: #171819; border-color: #494039; }
#content .bk-content .calendar-month-nav { padding: 8px; }
#content .bk-content .calendar-month-nav h3 { font-size: 20px; }
#content .bk-content .calendar-month-nav .icon-button { width: 44px; height: 44px; min-height: 44px; background: #262321; border-color: #594b3e; }
#content .bk-content .calendar-weekdays span { padding: 10px 0; font-size: 14px; color: #c0b8ad; }
#content .bk-content .calendar-days > a,
#content .bk-content .calendar-blank { min-height: 44px; font-size: 14px; border-color: #383330; }
#content .bk-content .calendar-days > a > span { width: 34px; height: 34px; }
#content .bk-content .calendar-days .has-events > span,
#content .bk-content .calendar-days .selected > span { background: #503239; border-color: #b68b69; box-shadow: none; }
#content .bk-content .calendar-event-row { min-height: 66px; padding: 12px; gap: 12px; background: #20201f; border-color: #494039; }
#content .bk-content .calendar-event-row time { font-size: 14px; width: 50px; }
#content .bk-content .calendar-event-row strong,
#content .bk-content .calendar-event-row small,
#content .bk-content .calendar-event-row time small,
#content .bk-content .calendar-timezone { font-size: 14px; line-height: 1.5; }
#content .bk-content .calendar-event-row > span { border-color: #494039; }
#content .bk-content .calendar-empty { padding: 24px 16px; min-height: 180px; gap: 12px; color: #b9b4ab; }
#content .bk-content .calendar-empty p { font-size: 14px; line-height: 1.6; max-width: 280px; }
#content .bk-content .calendar-empty .text-link,
#content .bk-content .calendar-reset,
#content .bk-content .calendar-more { min-height: 44px; font-size: 14px; display: inline-flex; gap: 8px; align-items: center; }
#content .bk-content .calendar-timezone { padding: 8px 20px 18px; color: #b9b4ab; }
#content .bk-content .event-archive-row { min-height: 66px; padding: 10px; margin: 0 16px 8px; background: #20201f; border-color: #494039; gap: 12px; }
#content .bk-content .event-archive-row strong,
#content .bk-content .event-archive-row small,
#content .bk-content .inf-event-feed-row time,
#content .bk-content .inf-event-feed-row p,
#content .bk-content .archive-empty p,
#content .bk-content .inf-feed-empty p { font-size: 14px; line-height: 1.5; }
#content .bk-content .inf-event-feed-row h3 { font-size: 19px; line-height: 1.3; }
#content .bk-content .events-archive .archive-button { min-height: 44px; font-size: 14px; margin: 12px 16px 16px; }

@media (max-width: 1100px) {
  #content .bk-content .community-forum-grid { grid-template-columns: minmax(0, 1fr); }
  #content .bk-content .community-forum-aside { grid-column: 1; grid-row: 5; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #content .bk-content .community-forum-aside .inf-clan-quote { display: none; }
  #content .bk-content .community-chat-grid { grid-template-columns: 210px minmax(0, 1fr); }
  #content .bk-content .community-chat-aside { display: none; }
  #content .bk-content .roster-layout { grid-template-columns: minmax(0, 1fr); }
  #content .bk-content .roster-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #content .bk-content .inf-events-top { grid-template-columns: minmax(0, 1fr); }
  #content .bk-content .inf-next-event > img { height: 160px; }
}

@media (max-width: 760px) {
  /* The full image banner precedes the chat, so the page itself must also scroll. */
  body.page-chat { height: auto; min-height: 100dvh; overflow-x: hidden; overflow-y: auto; }
  .page-chat .site-wrap { height: auto; min-height: 100dvh; display: block; padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .page-chat #content { display: block; min-height: 0; }
  .page-chat .reference-chat { display: block; }
  #content .bk-content .community-forum-grid,
  #content .bk-content .community-forum-aside,
  #content .bk-content .inf-join-overview,
  #content .bk-content .community-join-grid { gap: 16px; }
  #content .bk-content .community-forum-search { grid-template-columns: minmax(0, 1fr) auto; }
  #content .bk-content .inf-search-field { grid-column: 1 / -1; }
  #content .bk-content .inf-forum-toolbar { padding: 12px; }
  #content .bk-content .community-forum-actions > .button { flex: 1 1 auto; }
  #content .bk-content .inf-forum-table-head,
  #content .bk-content .inf-forum-category { grid-template-columns: minmax(0, 1fr) 42px 72px; padding: 14px 12px; gap: 8px; }
  #content .bk-content .inf-forum-table-head { font-size: 12px; }
  #content .bk-content .inf-forum-category-title { gap: 8px; }
  #content .bk-content .inf-forum-category-title > .icon { width: 26px; height: 26px; flex-basis: 26px; }
  #content .bk-content .inf-forum-category-title h2 { font-size: 20px; }
  #content .bk-content .inf-forum-category-title p { font-size: 14px; }
  #content .bk-content .inf-forum-last { padding-left: 34px; }
  #content .bk-content .inf-forum-rules { gap: 12px; min-height: 120px; }
  #content .bk-content .inf-forum-rules > img { width: 80px; min-height: 120px; max-height: none; }
  #content .bk-content .inf-forum-rules h2 { font-size: 20px; }
  #content .bk-content .inf-forum-rules > div { padding-right: 12px; }
  #content .bk-content .inf-forum-rules p { font-size: 14px; }
  #content .bk-content .community-pin-row { grid-template-columns: 18px minmax(0, 1fr) 32px; gap: 10px; }
  #content .bk-content .community-topic-table-head { display: none; }
  #content .bk-content .community-topic-table-row { grid-template-columns: minmax(0, 1fr) 44px; gap: 6px 10px; }
  #content .bk-content .community-topic-name { min-height: 44px; font-size: 15px; }
  #content .bk-content .community-topic-person > div { gap: 4px 8px; }
  #content .bk-content .community-forum-aside { display: none; }
  #content .bk-content .inf-join-overview,
  #content .bk-content .community-join-grid { grid-template-columns: minmax(0, 1fr); }
  #content .bk-content .community-requirements { display: block; }
  #content .bk-content .inf-requirement-grid { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  #content .bk-content .community-requirements .community-requirement { padding: 14px; }
  #content .bk-content .community-application .form-grid { grid-template-columns: minmax(0, 1fr); }
  #content .bk-content .community-faq { display: block; }
  #content .bk-content .community-faq details { margin: 8px 12px; }
  #content .bk-content .community-chat-grid { display: flex; height: auto; gap: 12px; }
  #content .bk-content .community-channel-panel nav { flex-wrap: wrap; overflow: visible; }
  #content .bk-content .community-channel-panel .channel-link { flex: 1 1 100px; min-height: 46px; padding: 10px; font-size: 14px; }
  #content .bk-content .community-chat-grid .chat-feed { min-height: 260px; max-height: 60dvh; padding: 10px 12px; }
  #content .bk-content .community-chat-grid .chat-form textarea { min-height: 48px; font-size: 16px; }
  #content .bk-content .community-chat-grid .chat-panel .panel-head { flex-wrap: wrap; }
  #content .bk-content .community-mobile-quicklinks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #content .bk-content .community-mobile-quicklinks > a { min-height: 64px; font-size: 14px; background: #2c2524; border-color: #65503e; }
  #content .bk-content .community-mobile-quicklinks > a > .icon { color: #c29d77; filter: none; }
  #content .bk-content .roster-filters { padding: 12px; }
  #content .bk-content .roster-group-tabs,
  #content .bk-content .roster-class-tabs { display: flex; flex-wrap: wrap; }
  #content .bk-content .roster-group-tabs a,
  #content .bk-content .roster-class-tabs a { flex: 1 1 auto; padding: 10px 12px; }
  #content .bk-content .roster-search { width: 100%; max-width: none; min-width: 0; flex: 0 0 auto; }
  #content .bk-content .roster-filter-status { align-items: flex-start; }
  #content .bk-content .roster-mobile-list { padding: 6px 12px !important; }
  #content .bk-content .roster-mobile-person { padding: 16px 0; gap: 12px; flex-wrap: wrap; }
  #content .bk-content .roster-mobile-person > img { width: 48px; height: 58px; }
  #content .bk-content .roster-mobile-person h2 { font-size: 17px; line-height: 1.4; flex-wrap: wrap; overflow-wrap: anywhere; }
  #content .bk-content .roster-mobile-person h2 > a:first-child { min-height: 44px; display: inline-flex; align-items: center; }
  #content .bk-content .roster-mobile-person p,
  #content .bk-content .roster-mobile-person .online-label,
  #content .bk-content .roster-mobile-level { font-size: 14px; line-height: 1.5; }
  #content .bk-content .roster-aside { display: none; }
  #content .bk-content .events-navigation { padding: 12px; background: #1d1e1f; border-color: #494039; }
  #content .bk-content .events-navigation h2 { display: block; margin: 0 0 12px; }
  #content .bk-content .events-navigation .tabs { width: 100%; }
  #content .bk-content .events-navigation .tabs a { font-size: 14px; padding: 10px 6px; }
  #content .bk-content .events-all-link { display: none; }
  #content .bk-content .reference-event-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #content .bk-content .reference-event-grid .event-card { display: block; }
  #content .bk-content .reference-event-grid .event-art { height: 150px; min-height: 150px; }
  #content .bk-content .reference-event-grid .event-art img { min-height: 150px; }
  #content .bk-content .reference-event-grid .event-art .badge { left: 12px; top: 12px; font-size: 14px; max-width: calc(100% - 24px); }
  #content .bk-content .reference-event-grid .event-body { padding: 16px; }
  #content .bk-content .reference-event-grid .event-body > .meta { align-self: flex-start; min-height: 0; }
  #content .bk-content .reference-event-grid .event-body h3 { font-size: 23px; }
  #content .bk-content .reference-calendar-layout { grid-template-columns: minmax(0, 1fr); padding: 0 12px 10px; gap: 16px; }
  #content .bk-content .calendar-empty { flex-direction: column; min-height: 160px; }
  #content .bk-content .calendar-empty p { text-align: center; max-width: 260px; }
  #content .bk-content .calendar-weekdays span { font-size: 13px; }
  #content .bk-content .calendar-days > a,
  #content .bk-content .calendar-blank { min-height: 44px; }
  #content .bk-content .calendar-timezone { padding-inline: 12px; }
}
