/* Community pages use one page scroll, with no floating or nested detail panes. */
body[data-page="forum"] #forum-page.is-active,
body[data-page="marketplace"] #marketplace-page.is-active {
  position: fixed !important;
  top: calc(var(--app-header-bottom, 100px) + 12px) !important;
  bottom: 12px !important;
  left: max(12px, calc((100vw - 1320px) / 2)) !important;
  right: max(12px, calc((100vw - 1320px) / 2)) !important;
  width: auto !important;
  height: auto;
  max-height: none !important;
  display: block;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 24px;
  transform: none;
  backdrop-filter: none;
}
body[data-page="forum"] .map-plane,
body[data-page="marketplace"] .map-plane,
body[data-page="forum"] #omega-focus-bar,
body[data-page="marketplace"] #omega-focus-bar { visibility: hidden; pointer-events: none; }
#marketplace-page { background: #0e1c24 !important; }
#marketplace-page > .page-head { display: flex; flex-wrap: wrap; align-items: start; margin: 0 0 18px; gap: 12px; }
#marketplace-page > .page-head p { max-width: 70ch; margin: 0; line-height: 1.55; }
#marketplace-page #marketplace-summary { display: block; margin: 0 0 16px; }
#marketplace-page #marketplace-summary p { margin: 0; color: #bed0d5; line-height: 1.55; }
#marketplace-page .community-toolbar { display: block; max-width: 320px; margin-bottom: 16px; }
#marketplace-page .marketplace-composer { margin: 0 0 20px; }
#marketplace-page .marketplace-composer summary { padding: 12px; cursor: pointer; }
#marketplace-page .marketplace-composer-body { display: grid; gap: 12px; }
#marketplace-page .marketplace-composer-body > p { margin: 0; max-width: 85ch; line-height: 1.55; }
#marketplace-page .marketplace-layout { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.3fr); grid-template-rows: auto; align-items: start; overflow: visible; gap: 22px; }
#marketplace-page .bounty-list { display: grid; grid-template-columns: 1fr; gap: 12px; overflow: visible; block-size: auto; }
#marketplace-page .bounty-card { display: grid; gap: 10px; text-align: left; align-content: start; padding: 18px; min-width: 0; background: #122732; border: 1px solid #38515d; border-radius: 12px; }
#marketplace-page .bounty-card strong { font-size: 1rem; line-height: 1.4; }
#marketplace-page .bounty-card span { color: #c1d1d8; font-size: .9rem; line-height: 1.5; }
#marketplace-page .bounty-card.is-active { border-color: #88cbdc; background: #183442; box-shadow: inset 3px 0 #88cbdc; }
#marketplace-page .bounty-card .community-example-label { font-size: .72rem; font-weight: 700; letter-spacing: .08em; color: #bee2ec; }
#marketplace-page .bounty-card .bounty-card-link { color: #a5dcea; font-size: .8rem; }
#marketplace-page .bounty-detail-panel { block-size: auto; overflow: visible; background: #13252e; padding: 22px; }
#marketplace-page .community-detail { font-size: .94rem; line-height: 1.6; overflow-wrap: anywhere; }
#marketplace-page .community-detail h3 { font-size: 1.35rem; line-height: 1.3; }
#marketplace-page .community-detail h4 { margin: 22px 0 6px; font-size: .95rem; }
#marketplace-page .community-detail p { margin: 10px 0; }
#marketplace-page .community-detail ul { padding-left: 22px; }
#marketplace-page .community-detail li { margin: 6px 0; }
#marketplace-page .community-listing-terms { display: grid; grid-template-columns: 130px 1fr; gap: 8px; }
#marketplace-page .community-listing-terms dd { margin: 0; }
#marketplace-page .community-example-notice { padding: 12px 14px; border-left: 3px solid #87bccc; background: #203b46; color: #eef9fb; }
#marketplace-page .bounty-actions { display: flex; gap: 8px; flex-wrap: wrap; }
#marketplace-page #bounty-status { font-size: .82rem; line-height: 1.55; margin: 0; }
#marketplace-page [tabindex="-1"] { scroll-margin-top: 12px; }
#marketplace-page .market-entry-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
#marketplace-page .market-results-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px; }
#marketplace-page .market-results-toolbar p { flex: 1 1 240px; margin: 0; }
#marketplace-page #market-back-results { margin-bottom: 14px; }
#marketplace-page .community-toolbar { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(220px, 1fr); max-width: none; gap: 14px; align-items: end; }
#marketplace-page .market-search-form { margin: 0; min-width: 0; }
#marketplace-page .market-card-budget { font-size: 1.2rem; font-weight: 700; color: #c6f1e5; }
#marketplace-page .market-card-summary { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; }
#marketplace-page .market-budget { color: #c6f1e5; font-size: 1.25rem; font-weight: 700; }
#marketplace-page .market-scope-text { white-space: pre-wrap; overflow-wrap: anywhere; }
#marketplace-page .market-trade-note { margin-top: 24px; color: #aec8d1; font-size: .82rem; }
#marketplace-page .market-contact { border-top: 1px solid #46636e; padding-top: 18px; margin-top: 18px; }
#marketplace-page .market-contact h4 { margin: 0 0 10px; line-height: 1.5; overflow-wrap: anywhere; }
#marketplace-page .market-contact p { font-size: .88rem; line-height: 1.55; }
#marketplace-page .market-contact .bounty-actions { margin-top: 10px; }
#marketplace-page #market-open-mail { margin-top: 14px; }
#marketplace-page input, #marketplace-page textarea, #marketplace-page select { width: 100%; min-width: 0; }
#marketplace-page button:disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 600px) {
  #marketplace-page .community-toolbar, #marketplace-page .marketplace-composer-row { grid-template-columns: minmax(0,1fr); }
  #marketplace-page .community-listing-terms { grid-template-columns: minmax(0,1fr); gap: 4px; }
  #marketplace-page .community-listing-terms dd { margin-bottom: 10px; }
  #marketplace-page .market-entry-actions > button, #marketplace-page .bounty-actions > button { width: 100%; }
}

/* Keep the original BBS skin and room directory. These rules only keep
   its tables and room controls usable inside the available viewport. */
#forum-page { background: #eaf6fa !important; }
#forum-page .bbs-layout { grid-template-columns: 180px minmax(0,1fr); }
#forum-page .bbs-sidebar { position: static; }
#forum-page .bbs-main, #forum-page .bbs-module { min-width: 0; }
#forum-page .bbs-side-btn { min-height: 38px; }
#forum-page .bbs-first-visit { margin-top: 12px; }
#forum-page .bbs-first-visit summary { cursor: pointer; font-family: "IBM Plex Mono", monospace; }
#forum-page .bbs-first-visit p { margin: 10px 0; }
#forum-page .bbs-board-list, #forum-page .bbs-topic-list, #forum-page .bbs-topic-detail { max-height: none; overflow: visible; }
#forum-page .bbs-board-row { grid-template-columns: minmax(160px,2fr) minmax(65px,.7fr) 52px 52px minmax(110px,1.2fr); min-width: 0; }
#forum-page .bbs-board-row > span { min-width: 0; overflow-wrap: anywhere; }
#forum-page .bbs-board-row .bbs-col-name strong { color: var(--aq-deep); }
#forum-page .bbs-board-row .bbs-col-name small,
#forum-page .bbs-col-sysop, #forum-page .bbs-col-topics, #forum-page .bbs-col-posts,
#forum-page .bbs-col-last { color: var(--aq-mid); }
#forum-page .bbs-board-row-head { color: var(--aq-deep); background: var(--aq-foam-2); }
#forum-page .bbs-board-row.is-active { background: var(--aq-foam-2); color: var(--aq-deep); box-shadow: inset 3px 0 var(--aq-mid); }
#forum-page .bbs-topic-row { grid-template-columns: 28px minmax(0,1fr) 100px 34px 115px 75px; min-width: 0; gap: 8px; }
#forum-page .bbs-topic-row .bbs-col-title strong { white-space: normal; overflow-wrap: anywhere; }
#forum-page .bbs-post-body { overflow-wrap: anywhere; }
#forum-page .bbs-post, #forum-page .bbs-topic-list, #forum-page .community-composer, #forum-page .bbs-composer { background: #fff; color: var(--aq-deep); border-color: #bdd5e1; }
#forum-page .empty { color: #46687b; border-color: #bdd5e1; background: var(--aq-foam); text-shadow: none; }
#forum-page .bbs-post-body, #forum-page .bbs-post-author, #forum-page .bbs-topic-row .bbs-col-title strong { color: var(--aq-deep); }
#forum-page .bbs-post-num, #forum-page .bbs-post-role, #forum-page .bbs-post-time, #forum-page .bbs-post-footer,
#forum-page .bbs-topic-row, #forum-page .bbs-topic-row .bbs-col-num, #forum-page .bbs-topic-row .bbs-col-title small, #forum-page .bbs-topic-row .bbs-col-status,
#forum-page .bbs-composer .control > span { color: #46687b; }
#forum-page .bbs-topic-row.is-active { background: var(--aq-foam-2); box-shadow: inset 3px 0 var(--aq-mid); }
#forum-page .bbs-page-head { flex-wrap: wrap; }
#forum-page .community-example-notice { padding: 12px; border-left: 3px solid #8da8b6; background: #edf3f6; color: #415e6e; }
#forum-page input, #forum-page textarea, #forum-page select { min-width: 0; background: #fff; color: var(--aq-deep); border-color: #8eb4c8; }
#forum-page button:focus-visible, #forum-page summary:focus-visible, #marketplace-page button:focus-visible { outline: 3px solid #589bb9; outline-offset: 3px; }

@media (max-width: 880px) {
  body[data-page="forum"] #forum-page.is-active, body[data-page="marketplace"] #marketplace-page.is-active { padding: 16px; left: 8px !important; right: 8px !important; bottom: 8px !important; }
  #marketplace-page .marketplace-layout, #forum-page .bbs-layout { grid-template-columns: minmax(0,1fr); }
  #marketplace-page .bounty-detail-panel { padding: 18px; }
  #forum-page .bbs-sidebar { position: static; flex-direction: row; flex-wrap: wrap; gap: 4px; }
  #forum-page .bbs-side-btn { width: auto; flex: 0 1 auto; }
  #forum-page .bbs-lobby-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #forum-page .bbs-board-row { grid-template-columns: minmax(0,1fr) 52px 52px; gap: 6px; }
  #forum-page .bbs-board-row .bbs-col-sysop, #forum-page .bbs-board-row .bbs-col-last { display: none; }
  #forum-page .bbs-board-row .bbs-col-topics, #forum-page .bbs-board-row .bbs-col-posts { display: block; }
  #forum-page .bbs-topic-row { grid-template-columns: minmax(0,1fr) auto; gap: 7px; }
  #forum-page .bbs-topic-row .bbs-col-num, #forum-page .bbs-topic-row-head { display: none; }
  #forum-page .bbs-topic-row .bbs-col-title { grid-column: 1 / -1; }
  #forum-page .bbs-post-head { flex-wrap: wrap; }
}
@media (max-width: 520px) {
  #forum-page .bbs-header { padding: 10px; gap: 10px; }
  #forum-page .bbs-header-stats { flex-wrap: wrap; }
  #forum-page .bbs-header-stat { min-width: 0; padding: 4px 8px; }
  #forum-page .bbs-lobby-hero { padding: 14px; }
  #forum-page .bbs-lobby-grid { grid-template-columns: minmax(0,1fr); }
  #marketplace-page .marketplace-composer-row { grid-template-columns: minmax(0,1fr); }
}
