/* Forums & Downloads page */
.top-icon-settings,
.support-top-btn { display: none !important; }
.forums-shell {
  --forum-line: rgba(178, 142, 215, .2);
  --forum-line-strong: rgba(185, 139, 232, .42);
  --forum-panel: rgba(24, 19, 33, .94);
  --forum-panel-raised: rgba(31, 24, 43, .96);
  --forum-text: #f4effa;
  --forum-muted: #aaa0b7;
  --forum-accent: #bd7aff;
  width: min(100%, 1660px);
  margin: 0 auto;
  padding: clamp(18px, 2vw, 30px) clamp(16px, 2.2vw, 36px) 56px;
  color: var(--forum-text);
}
.forums-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin: 4px 0 22px; }
.forums-heading-copy { min-width: 260px; }
.forums-eyebrow { display: block; color: #d490ff; font-size: 11px; font-weight: 800; letter-spacing: .17em; line-height: 1.2; }
.forums-heading h1 { display: flex; align-items: center; gap: 13px; margin: 7px 0 4px; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.035em; font-weight: 750; }
.forums-heading h1 > i { color: var(--forum-accent); font-size: .8em; }
.forums-heading p, .forum-compose-heading p { margin: 0; color: var(--forum-muted); font-size: 14px; }
.forums-heading-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; flex: 1; }
.forum-search-form { display: flex; align-items: center; width: min(410px, 100%); height: 42px; padding: 4px; border: 1px solid var(--forum-line-strong); border-radius: 13px; background: rgba(18, 15, 25, .92); }
.forum-search-form label { display: flex; align-items: center; gap: 9px; flex: 1; min-width: 0; padding: 0 11px; color: #b8a6ca; }
.forum-search-form input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--forum-text); background: transparent; font: inherit; font-size: 12px; }
.forum-search-form input::placeholder { color: #81788c; }
.forum-search-form > button { height: 32px; padding: 0 16px; border: 0; border-radius: 10px; background: #292333; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.forum-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; padding: 0 15px; border: 1px solid var(--forum-line-strong); border-radius: 12px; color: var(--forum-text); background: #201a2a; font: inherit; font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.forum-button:hover { border-color: rgba(211, 163, 255, .75); background: #30243d; transform: translateY(-1px); }
.forum-button:disabled { opacity: .55; cursor: wait; transform: none; }
.forum-button-primary { border-color: #bd7aff; color: #17101f; background: #c17dff; }
.forum-button-primary:hover { border-color: #d5a9ff; background: #d09aff; }
.forum-button-danger { border-color: rgba(245, 117, 143, .56); color: #fff1f4; background: #8e3049; }
.forum-button-danger:hover { border-color: #ff9bad; background: #a83c58; }
.forum-button-subtle { background: rgba(30, 24, 39, .88); }
.forum-category-tabs { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; overflow-x: auto; padding: 1px 1px 5px; scrollbar-width: thin; }
.forum-category-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px; border: 1px solid var(--forum-line); border-radius: 12px; color: #d7cedf; background: #17131e; font: inherit; font-size: 12px; white-space: nowrap; cursor: pointer; }
.forum-category-tab:hover { border-color: var(--forum-line-strong); }
.forum-category-tab.is-active { border-color: #bc78f7; color: #f3dfff; background: #2b2038; box-shadow: inset 0 0 0 1px rgba(188, 120, 247, .14); }
.forum-category-tab i { color: #c58bfa; font-size: 14px; }
.forum-featured { display: grid; grid-template-columns: minmax(300px, .95fr) minmax(390px, 1.12fr); gap: 24px; padding: 11px; border: 1px solid var(--forum-line-strong); border-radius: 18px; background: #17131e; box-shadow: 0 10px 26px rgba(0, 0, 0, .18); }
.forum-featured-art { position: relative; min-height: 218px; overflow: hidden; border: 1px solid rgba(187, 145, 222, .24); border-radius: 14px; background: #22192d; }
.forum-featured-art::after { position: absolute; inset: auto 0 0; height: 28%; content: ""; background: linear-gradient(0deg, rgba(12, 10, 17, .45), transparent); pointer-events: none; }
.forum-featured-art > img { display: block; width: 100%; height: 100%; min-height: 218px; object-fit: cover; }
.forum-featured-art .forum-img-missing { display: none; }
.forum-art-fallback { display: grid; min-height: 218px; height: 100%; place-items: center; color: #b487d5; font-size: 54px; }
.forum-featured-label { position: absolute; z-index: 1; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid rgba(224, 198, 246, .26); border-radius: 20px; background: rgba(25, 19, 33, .92); font-size: 11px; font-weight: 700; }
.forum-featured-label i { color: #e4b4ff; }
.forum-art-view { position: absolute; z-index: 2; right: 11px; bottom: 10px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--forum-line-strong); border-radius: 11px; color: white; background: rgba(18, 14, 25, .85); cursor: pointer; }
.forum-featured-content { display: flex; min-width: 0; flex-direction: column; padding: 5px 6px 3px 0; }
.forum-featured-title-line { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.forum-featured-title-line h1, .forum-featured-title-line h2 { margin: 0; font-size: clamp(21px, 2vw, 27px); line-height: 1.15; letter-spacing: -.025em; }
.forum-version-tag { padding: 5px 11px; border: 1px solid rgba(190, 137, 235, .42); border-radius: 20px; color: #ead7ff; background: #2a2037; font-size: 11px; white-space: nowrap; }
.forum-featured-about { display: -webkit-box; overflow: hidden; margin: 10px 0 11px; color: #d5ccdd; font-size: 13px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.forum-tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 13px; }
.forum-tag-row > span { padding: 5px 10px; border: 1px solid var(--forum-line); border-radius: 20px; color: #d6c8e5; background: #211b2a; font-size: 10px; }
.forum-featured-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 15px; color: #c3baca; font-size: 11px; }
.forum-featured-meta > span { display: inline-flex; align-items: center; gap: 6px; }
.forum-featured-meta i { color: #c18be8; }
.forum-mini-avatar { width: 20px !important; height: 20px !important; }
.forum-featured-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: auto; }
.forum-featured-actions .forum-button { padding: 0 8px; }
.forum-threads-section { margin: 20px 0 0; }
.forum-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 11px; }
.forum-section-heading h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 20px; letter-spacing: -.02em; }
.forum-section-heading h2 > i { color: var(--forum-accent); }
.forum-section-heading h2 > span { display: inline-grid; min-width: 35px; height: 22px; padding: 0 7px; place-items: center; border: 1px solid var(--forum-line); border-radius: 14px; color: #dac9eb; background: #241c2f; font-size: 11px; }
.forum-section-heading p { margin: 4px 0 0 29px; color: var(--forum-muted); font-size: 11px; }
.forum-sort { display: inline-flex; align-items: center; gap: 8px; padding: 0 11px; height: 34px; border: 1px solid var(--forum-line); border-radius: 12px; color: #bfb4ca; background: #17131e; font-size: 11px; }
.forum-sort select { max-width: 150px; border: 0; outline: 0; color: #eee6f5; background: transparent; font: inherit; cursor: pointer; }
.forum-sort option { color: #eee; background: #211b2a; }
.forum-thread-list { display: grid; gap: 3px; }
.forum-thread-row { display: grid; grid-template-columns: 46px minmax(0, 1fr) 100px minmax(185px, .45fr) 24px; align-items: center; gap: 12px; min-height: 67px; padding: 8px 13px; border: 1px solid var(--forum-line); border-radius: 12px; background: #17131e; }
.forum-thread-row:hover { border-color: var(--forum-line-strong); background: #1d1726; }
.forum-thread-kind { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: #d0a1fa; background: #261d32; font-size: 17px; }
.forum-thread-main { min-width: 0; }
.forum-thread-title { display: block; max-width: 100%; overflow: hidden; border: 0; padding: 0; color: #f2edf7; background: transparent; font: inherit; font-size: 13px; font-weight: 700; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.forum-thread-title:hover { color: #d9adff; }
.forum-thread-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 9px; margin-top: 5px; color: #a9a0b4; font-size: 10px; }
.forum-category-pill { padding: 3px 8px; border-radius: 20px; color: #e2d1f3; background: #352449; }
.forum-thread-replies { display: grid; grid-template-columns: 18px 1fr; align-items: center; column-gap: 6px; color: #ded4e8; font-size: 12px; }
.forum-thread-replies i { grid-row: span 2; color: #c192e5; }
.forum-thread-replies small { color: var(--forum-muted); font-size: 10px; }
.forum-thread-last-post { display: flex; min-width: 0; align-items: center; gap: 9px; padding-left: 12px; border-left: 1px solid var(--forum-line); }
.forum-thread-last-post > span:last-child { display: grid; gap: 3px; min-width: 0; }
.forum-thread-last-post strong, .forum-thread-last-post small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-thread-last-post strong { color: #e1d9e9; font-size: 10px; font-weight: 600; }
.forum-thread-last-post small { color: var(--forum-muted); font-size: 10px; }
.forum-avatar { position: relative; display: grid; flex: 0 0 auto; width: 37px; height: 37px; overflow: hidden; place-items: center; border: 1px solid rgba(202, 163, 232, .4); border-radius: 50%; color: #f7edff; background: #32253f; font-size: 13px; font-weight: 700; }
.forum-avatar img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.forum-avatar img.forum-img-missing { display: none; }
.forum-avatar > span { position: relative; z-index: 0; }
.forum-row-open { border: 0; color: #bca9cb; background: transparent; font-size: 18px; cursor: pointer; }
.forum-view-all { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 38px; margin-top: 8px; border: 1px solid var(--forum-line-strong); border-radius: 11px; color: #e6d6f3; background: #17131e; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.forum-view-all:hover { background: #231a2e; }
.forum-feed-sentinel { display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 44px; color: var(--forum-muted); font-size: 11px; }
.forum-top-comments { margin-top: 19px; padding: 16px; border: 1px solid var(--forum-line-strong); border-radius: 16px; background: #17131e; }
.forum-top-comments .forum-section-heading { margin-bottom: 13px; }
.forum-top-comments-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 420px)); align-content: start; align-items: start; justify-content: start; gap: 10px; }
.forum-top-comment { display: grid; align-self: start; min-width: 0; gap: 8px; padding: 10px; border: 1px solid var(--forum-line); border-radius: 13px; color: var(--forum-text); background: #1c1724; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.forum-top-comment:has(.forum-top-comment-main:hover), .forum-top-comment:has(.forum-top-comment-main:focus-visible), .forum-top-comment:has(.forum-top-comment-thread:hover), .forum-top-comment:has(.forum-top-comment-thread:focus-visible) { border-color: #c18be8; background: #241b30; transform: translateY(-1px); }
.forum-top-comment-main { display: grid; min-width: 0; gap: 7px; border: 0; padding: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.forum-top-comment-main:focus-visible, .forum-top-comment-thread:focus-visible { outline: 2px solid #c18be8; outline-offset: 3px; }
.forum-top-comment-head { display: flex; min-width: 0; align-items: center; gap: 9px; }
.forum-top-comment-author { display: grid; min-width: 0; gap: 3px; }
.forum-top-comment-author strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.forum-top-comment-author small { color: var(--forum-muted); font-size: 10px; }
.forum-top-comment-stats { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; color: #d3bedf; font-size: 10px; }
.forum-top-comment-stats > span { display: inline-flex; align-items: center; gap: 4px; }
.forum-top-comment-stats i, .forum-top-comment-thread i { color: #c895ef; }
.forum-top-comment-copy { display: -webkit-box; overflow: hidden; margin: 0; color: #e0d9e7; font-size: 12px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.forum-top-comment-thread { display: flex; min-width: 0; align-items: center; gap: 6px; margin-top: 1px; border: 0; border-top: 1px solid rgba(188, 151, 214, .14); border-radius: 0; padding: 7px 1px 0; color: #cdb3e1; background: transparent; font: inherit; font-size: 10px; text-align: left; cursor: pointer; }
.forum-top-comment-thread:hover { color: #efdbff; }
.forum-top-comment-thread-label { flex: 0 0 auto; color: var(--forum-muted); font-size: 9px; }
.forum-top-comment-thread strong { overflow: hidden; min-width: 0; color: inherit; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.forum-top-comment-thread > i { flex: 0 0 auto; margin-left: auto; font-size: 12px; }
.forum-top-comment-warning { border-color: rgba(238, 190, 73, .55); background: rgba(82, 62, 26, .2); box-shadow: 0 0 13px rgba(238, 190, 73, .08); }
.forum-top-comment-warning .forum-top-comment-head > .forum-top-comment-warning-icon { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(238, 190, 73, .36); border-radius: 50%; color: #f0c85c; background: rgba(115, 83, 26, .3); }
.forum-top-warning-label { margin-left: auto; padding: 4px 8px; border: 1px solid rgba(238, 190, 73, .38); border-radius: 10px; color: #f3d781; font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.forum-top-comment-warning .forum-top-comment-copy { display: block; -webkit-line-clamp: unset; }
.forum-top-comments-loading, .forum-top-comments-empty { display: flex; min-height: 75px; align-items: center; justify-content: center; gap: 9px; border: 1px dashed var(--forum-line); border-radius: 12px; color: var(--forum-muted); font-size: 11px; }
.forum-empty, .forums-error, .forums-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 180px; padding: 26px; border: 1px dashed var(--forum-line-strong); border-radius: 14px; color: var(--forum-muted); background: #17131e; text-align: center; }
.forum-empty strong, .forums-error h1 { margin: 9px 0 3px; color: var(--forum-text); font-size: 18px; }
.forum-empty p, .forums-error p { max-width: 480px; margin: 4px 0 12px; font-size: 12px; line-height: 1.5; }
.forum-empty-compact { min-height: 100px; border: 0; background: transparent; }
.forums-icon { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 14px; color: #d2a6f3; background: #281f32; font-size: 18px; }
.forum-spinner { width: 17px; height: 17px; border: 2px solid rgba(217, 191, 237, .23); border-top-color: #ca8aff; border-radius: 50%; animation: forum-spin .7s linear infinite; }
.forums-loading { flex-direction: row; gap: 10px; min-height: 230px; border: 0; background: transparent; }
@keyframes forum-spin { to { transform: rotate(360deg); } }

.forum-back-link { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; border: 0; padding: 6px 0; color: #d3bfdf; background: transparent; font: inherit; font-size: 12px; cursor: pointer; }
.forum-back-link:hover { color: white; }
.forum-thread-page > .forum-featured { margin-bottom: 15px; }
.forum-thread-info-grid { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(235px, .75fr) minmax(280px, .9fr); align-items: stretch; gap: 12px; }
.forum-info-card { min-width: 0; padding: 15px; border: 1px solid var(--forum-line-strong); border-radius: 14px; background: #17131e; }
.forum-info-card h2 { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; font-size: 15px; }
.forum-info-card h2 > i { color: #c58afa; }
.forum-info-card h2 > span { margin-left: auto; color: var(--forum-muted); font-size: 11px; }
.forum-info-card > p { margin: 0; color: #d5ccdE; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.forum-info-card dl { margin: 0; }
.forum-info-card dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(190, 155, 217, .11); font-size: 11px; }
.forum-info-card dl > div:last-child { border-bottom: 0; }
.forum-info-card dt { color: var(--forum-muted); }
.forum-info-card dd { margin: 0; color: #eee6f3; text-align: right; }
.forum-download-source-list { display: grid; gap: 7px; margin-top: 14px; }
.forum-download-source { display: flex; align-items: center; gap: 9px; min-height: 50px; padding: 7px 9px; border: 1px solid var(--forum-line); border-radius: 11px; color: var(--forum-text); background: #211a2b; text-align: left; cursor: pointer; }
.forum-download-source:hover { border-color: var(--forum-line-strong); }
.forum-download-source > span:nth-child(2) { display: grid; flex: 1; min-width: 0; gap: 3px; }
.forum-download-source strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.forum-download-source small { overflow: hidden; color: var(--forum-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.forum-source-icon { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 9px; color: #e0b8ff; background: #31233d; }
.forum-download-source > i:last-child { color: #b8a6c8; }
.forum-shot-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.forum-shot-grid button { height: 82px; overflow: hidden; border: 1px solid var(--forum-line); border-radius: 9px; padding: 0; background: #211a2a; cursor: pointer; }
.forum-shot-grid img { width: 100%; height: 100%; object-fit: cover; }
.forum-shot-grid img.forum-img-missing { visibility: hidden; }
.forum-view-shots { width: 100%; margin-top: 8px; padding: 8px; border: 1px solid var(--forum-line); border-radius: 9px; color: #e5d4f2; background: #211a2a; font: inherit; font-size: 10px; cursor: pointer; }
.forum-no-shots { color: var(--forum-muted); font-size: 11px; }
.forum-comments-panel { margin-top: 14px; padding: 15px; border: 1px solid var(--forum-line-strong); border-radius: 15px; background: #17131e; }
.forum-comments-panel .forum-section-heading { padding-bottom: 12px; border-bottom: 1px solid var(--forum-line); }
.forum-comment-list { display: grid; gap: 0; }
.forum-comment { display: flex; align-items: flex-start; gap: 12px; padding: 13px 3px; border-bottom: 1px solid rgba(190, 155, 217, .12); }
.forum-comment-reply { margin-left: clamp(18px, 4vw, 52px); padding-left: 13px; border-left: 2px solid #b661d7; }
.forum-comment-content { flex: 1; min-width: 0; }
.forum-comment-byline { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--forum-muted); font-size: 10px; }
.forum-comment-byline > button { border: 0; padding: 0; color: #f0eaf5; background: transparent; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.forum-comment-byline > button:hover { color: #d8a4ff; }
.forum-comment-byline time { margin-left: auto; }
.forum-op-badge { padding: 2px 6px; border-radius: 8px; color: #1b1023; background: #d5a1ff; font-size: 9px; font-weight: 800; }
.forum-comment-text { margin: 6px 0; color: #ddd5e5; font-size: 12px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.forum-reply-context { margin: 6px 0 0; color: #bca7ca; font-size: 10px; }
.forum-comment-actions { display: flex; gap: 7px; }
.forum-comment-icon-button { display: inline-flex; align-items: center; width: 32px; height: 32px; justify-content: center; border: 1px solid transparent; border-radius: 8px; padding: 0; color: #c7b4d6; background: transparent; font: inherit; font-size: 13px; cursor: pointer; }
.forum-comment-icon-button:hover { border-color: var(--forum-line); background: #241c2d; }
.forum-comment-icon-button.is-liked { color: #ff92c2; }
.forum-comment-icon-button.forum-comment-delete { color: #e79bad; }
.forum-comment-icon-button.forum-comment-delete:hover { border-color: rgba(236, 113, 145, .4); color: #ffc1d0; background: rgba(121, 39, 58, .24); }
.forum-comment-form { display: grid; gap: 7px; padding: 14px 0 0; }
.forum-comment-form label { color: #e4dbeB; font-size: 11px; font-weight: 700; }
.forum-comment-form textarea { width: 100%; min-height: 82px; resize: vertical; box-sizing: border-box; border: 1px solid var(--forum-line); border-radius: 10px; padding: 10px; outline: 0; color: var(--forum-text); background: #100e15; font: inherit; font-size: 12px; }
.forum-comment-form textarea:focus, .forum-field input:focus, .forum-field textarea:focus, .forum-field select:focus { border-color: #bc78f7; box-shadow: 0 0 0 2px rgba(188, 120, 247, .12); }
.forum-comment-form > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.forum-comment-form small { color: var(--forum-muted); font-size: 10px; }
.forum-replying { display: flex; justify-content: space-between; align-items: center; padding: 7px 9px; border-radius: 8px; color: #d7c5e5; background: #281f32; font-size: 11px; }
.forum-replying button { border: 0; color: #d1bfdc; background: transparent; font-size: 16px; cursor: pointer; }
.forum-comment-signin { padding: 15px 0 0; color: var(--forum-muted); font-size: 12px; }
.forum-comment-signin button { margin-left: 5px; border: 0; padding: 0; color: #d3a0ff; background: transparent; font: inherit; cursor: pointer; }

.forum-compose-page { max-width: 1120px; }
.forum-compose-heading { margin: 4px 0 18px; }
.forum-compose-heading h1 { margin: 7px 0 5px; font-size: clamp(27px, 3vw, 38px); letter-spacing: -.035em; }
.forum-thread-form { display: grid; gap: 13px; }
.forum-form-card { padding: 18px; border: 1px solid var(--forum-line-strong); border-radius: 15px; background: #17131e; }
.forum-form-card-title { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 15px; }
.forum-form-card-title > span { display: grid; width: 29px; height: 29px; flex: 0 0 auto; place-items: center; border: 1px solid var(--forum-line-strong); border-radius: 9px; color: #e4c4ff; background: #2a2035; font-size: 11px; font-weight: 800; }
.forum-form-card-title h2 { margin: 1px 0 3px; font-size: 15px; }
.forum-form-card-title p { margin: 0; color: var(--forum-muted); font-size: 11px; }
.forum-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.forum-field { display: grid; align-content: start; gap: 6px; min-width: 0; color: #e4dce9; font-size: 11px; font-weight: 650; }
.forum-field > span b { color: #e3a0c2; }
.forum-field input, .forum-field textarea, .forum-field select { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid var(--forum-line); border-radius: 9px; padding: 10px; outline: 0; color: #f1eaf6; background: #100e15; font: inherit; font-size: 12px; font-weight: 400; }
.forum-field input { height: 39px; }
.forum-field textarea { resize: vertical; line-height: 1.5; }
.forum-field select { cursor: pointer; }
.forum-field select option { background: #211a29; }
.forum-field input::placeholder, .forum-field textarea::placeholder { color: #81778a; }
.forum-field > small { color: var(--forum-muted); font-size: 10px; font-weight: 400; }
.forum-field-wide { grid-column: 1 / -1; }
.forum-metadata-status { display: flex; align-items: center; color: var(--forum-muted); font-size: 10px; }
.forum-metadata-preview { display: flex; gap: 13px; margin-top: 13px; padding: 10px; border: 1px solid var(--forum-line); border-radius: 11px; background: #211a29; }
.forum-metadata-preview > img { width: 112px; height: 70px; flex: 0 0 auto; border-radius: 7px; object-fit: cover; }
.forum-metadata-preview > img.forum-img-missing { display: none; }
.forum-metadata-preview > div { min-width: 0; }
.forum-metadata-preview strong { font-size: 12px; }
.forum-metadata-preview p { display: -webkit-box; overflow: hidden; margin: 4px 0; color: #c9c0d1; font-size: 10px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.forum-metadata-preview small { color: #b58bd2; font-size: 9px; }
.forum-download-row { margin-bottom: 11px; padding: 12px; border: 1px solid var(--forum-line); border-radius: 11px; background: #1b1623; }
.forum-source-file-row { display: flex; align-items: center; gap: 8px; margin-top: 9px; }
.forum-local-file-name { flex: 1; overflow: hidden; color: var(--forum-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.forum-remove-source { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid var(--forum-line); border-radius: 9px; color: #d39caf; background: transparent; cursor: pointer; }
.forum-remove-source:disabled { opacity: .35; cursor: not-allowed; }
.forum-add-source { display: inline-flex; align-items: center; gap: 7px; border: 0; padding: 4px 1px; color: #d8a9ff; background: transparent; font: inherit; font-size: 11px; cursor: pointer; }
.forum-form-footer { display: flex; justify-content: flex-end; gap: 9px; padding-top: 3px; }
.forum-form-error, .forum-inline-error { padding: 10px; border: 1px solid rgba(227, 121, 143, .45); border-radius: 9px; color: #ffc4d0; background: #31161e; font-size: 11px; }
.forum-form-status { margin: 0; color: var(--forum-muted); font-size: 11px; text-align: right; }
.forum-form-status:empty { display: none; }
.forum-form-status[data-state="pending"] { color: #d8b0ff; }
.forum-form-status[data-state="success"] { color: #8ce4b0; }
.forum-form-status[data-state="error"] { padding: 9px 11px; border: 1px solid rgba(227, 121, 143, .45); border-radius: 9px; color: #ffc4d0; background: #31161e; text-align: left; }

.forum-overlay { position: fixed; z-index: 10050; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(8, 7, 10, .72); }
.forum-modal { position: relative; width: min(100%, 470px); max-height: min(88vh, 820px); overflow: auto; padding: 25px; border: 1px solid var(--forum-line-strong); border-radius: 17px; color: var(--forum-text); background: #191420; box-shadow: 0 22px 80px rgba(0, 0, 0, .55); }
.forum-modal-close { position: absolute; top: 12px; right: 12px; display: grid; width: 33px; height: 33px; place-items: center; border: 1px solid var(--forum-line); border-radius: 10px; color: #ded1e8; background: #211a2a; font-size: 18px; cursor: pointer; }
.forum-modal-icon { display: grid; width: 47px; height: 47px; margin-bottom: 15px; place-items: center; border-radius: 13px; color: #e1baff; background: #30223b; font-size: 19px; }
.forum-modal h2 { margin: 7px 0; font-size: 22px; }
.forum-modal > p { margin: 0 0 15px; color: var(--forum-muted); font-size: 12px; line-height: 1.5; }
.forum-download-target { display: flex; align-items: center; gap: 10px; margin: 15px 0; padding: 11px; border: 1px solid var(--forum-line); border-radius: 10px; color: #ded3e7; background: #211a2a; font-size: 11px; overflow-wrap: anywhere; }
.forum-download-target > span { color: #cf9cff; }
.forum-download-action { width: 100%; box-sizing: border-box; }
.forum-gallery-modal { display: grid; width: min(100%, 1180px); max-height: 94vh; gap: 13px; justify-items: center; padding: 18px; }
.forum-gallery-modal > .forums-eyebrow { padding-right: 45px; justify-self: start; }
.forum-gallery-image { display: block; max-width: 100%; max-height: calc(90vh - 120px); object-fit: contain; border-radius: 9px; }
.forum-gallery-controls { display: flex; align-items: center; gap: 20px; color: #d6cadd; font-size: 11px; }
.forum-gallery-controls button { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--forum-line); border-radius: 9px; color: white; background: #271f30; cursor: pointer; }
.forum-file-picker { width: min(100%, 560px); }
.forum-host-file-list { display: grid; gap: 5px; max-height: 54vh; overflow: auto; margin-top: 15px; }
.forum-host-file-list > button { display: flex; align-items: center; gap: 10px; min-height: 49px; padding: 8px 10px; border: 1px solid var(--forum-line); border-radius: 10px; color: var(--forum-text); background: #211a2b; text-align: left; cursor: pointer; }
.forum-host-file-list > button:hover { border-color: var(--forum-line-strong); }
.forum-host-file-list > button > span:first-child { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 9px; color: #d7a5ff; background: #31233e; }
.forum-host-file-list > button > span:nth-child(2) { display: grid; flex: 1; min-width: 0; gap: 3px; }
.forum-host-file-list strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.forum-host-file-list small { color: var(--forum-muted); font-size: 9px; }
.forum-host-file-list > button > i:last-child { color: #a894b9; }

@media (max-width: 1100px) {
  .forums-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
  .forums-heading-actions { width: 100%; justify-content: flex-start; }
  .forum-search-form { flex: 1; }
  .forum-featured { grid-template-columns: minmax(220px, .8fr) minmax(280px, 1fr); gap: 17px; }
  .forum-thread-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forum-screenshot-card { grid-column: 1 / -1; }
  .forum-shot-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .forums-shell { padding: 14px 12px 38px; }
  .forums-heading { margin-top: 0; }
  .forums-heading-actions { align-items: stretch; flex-direction: column; }
  .forum-search-form { width: 100%; box-sizing: border-box; }
  .forums-heading-actions > .forum-button { align-self: flex-start; }
  .forum-featured { grid-template-columns: 1fr; gap: 12px; padding: 9px; }
  .forum-featured-art, .forum-featured-art > img, .forum-art-fallback { min-height: 190px; max-height: 250px; }
  .forum-featured-content { padding: 3px 3px 2px; }
  .forum-featured-actions { grid-template-columns: 1fr 1fr; }
  .forum-featured-actions .forum-button:last-child { grid-column: 1 / -1; }
  .forum-section-heading { align-items: flex-start; flex-direction: column; }
  .forum-sort { align-self: flex-start; }
  .forum-thread-row { grid-template-columns: 38px minmax(0, 1fr) 21px; gap: 9px; padding: 9px; }
  .forum-thread-kind { width: 36px; height: 36px; }
  .forum-thread-replies, .forum-thread-last-post { display: none; }
  .forum-row-open { grid-column: 3; grid-row: 1; }
  .forum-thread-info-grid { grid-template-columns: 1fr; }
  .forum-screenshot-card { grid-column: auto; }
  .forum-shot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forum-form-grid { grid-template-columns: 1fr; }
  .forum-field-wide { grid-column: auto; }
  .forum-form-card { padding: 13px; }
  .forum-source-file-row { flex-wrap: wrap; }
  .forum-local-file-name { min-width: 60%; }
  .forum-compose-page .forum-form-footer { position: sticky; bottom: 8px; z-index: 2; padding: 9px; border: 1px solid var(--forum-line); border-radius: 12px; background: rgba(20, 16, 27, .96); }
}
@media (prefers-reduced-motion: reduce) {
  .forum-spinner { animation-duration: 1.8s; }
  .forum-button { transition: none; }
}

/* Accessible in-page menus and compact forum controls. */
.forum-custom-dropdown { position: relative; display: grid; min-width: 150px; gap: 4px; }
.forum-custom-dropdown-label { color: var(--forum-muted); font-size: 10px; }
.forum-custom-dropdown-trigger { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 150px; min-height: 36px; padding: 0 11px; border: 1px solid var(--forum-line); border-radius: 10px; color: var(--forum-text); background: #17131e; font: inherit; font-size: 11px; text-align: left; cursor: pointer; }
.forum-custom-dropdown-trigger:hover, .forum-custom-dropdown-trigger[aria-expanded="true"] { border-color: var(--forum-line-strong); background: #211a2b; }
.forum-custom-dropdown-trigger > i { color: #c490e9; }
.forum-custom-dropdown-menu { position: absolute; z-index: 20; top: calc(100% + 5px); right: 0; display: grid; min-width: 100%; max-height: 250px; overflow: auto; padding: 5px; border: 1px solid var(--forum-line-strong); border-radius: 11px; background: #1a1521; box-shadow: 0 12px 30px rgba(0, 0, 0, .36); }
.forum-custom-dropdown-option { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 34px; padding: 0 9px; border: 0; border-radius: 7px; color: #ded5e8; background: transparent; font: inherit; font-size: 11px; text-align: left; white-space: nowrap; cursor: pointer; }
.forum-custom-dropdown-option:hover, .forum-custom-dropdown-option:focus-visible, .forum-custom-dropdown-option.is-selected { outline: 0; color: #f5eaff; background: #30223f; }
.forum-custom-dropdown-option.is-selected > i { color: #d6a6ff; }
.forum-section-heading > .forum-custom-dropdown { display: flex; align-items: center; gap: 7px; }
.forum-section-heading > .forum-custom-dropdown .forum-custom-dropdown-label { white-space: nowrap; }
.forum-section-heading > .forum-custom-dropdown .forum-custom-dropdown-trigger { min-width: 150px; }
.forum-field > .forum-custom-dropdown { width: 100%; }
.forum-field > .forum-custom-dropdown .forum-custom-dropdown-trigger { width: 100%; min-height: 39px; }
.forum-thread-row { cursor: pointer; transition: border-color .14s ease, background .14s ease; }
.forum-thread-row:focus-visible { outline: 2px solid #bd7aff; outline-offset: 2px; }
.forum-thread-row .forum-thread-title, .forum-thread-row .forum-row-open { position: relative; z-index: 1; }
.forum-thread-kind.has-banner { overflow: hidden; border: 1px solid var(--forum-line); background: #22192d; }
.forum-thread-kind.has-banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.forum-thread-kind.has-banner img.forum-img-missing { display: none; }
.forum-comment-composer { display: flex; align-items: stretch; gap: 8px; }
.forum-comment-form textarea { display: block; flex: 1; width: 100%; min-width: 0; height: 42px; min-height: 42px; max-height: 112px; resize: none; box-sizing: border-box; border: 1px solid var(--forum-line); border-radius: 10px; padding: 11px 12px; outline: 0; color: var(--forum-text); background: #100e15; font: inherit; font-size: 12px; line-height: 18px; }
.forum-comment-form textarea:focus { border-color: #bc78f7; box-shadow: 0 0 0 2px rgba(188, 120, 247, .12); }
.forum-comment-send { display: grid; width: 44px; height: 42px; flex: 0 0 auto; place-items: center; border: 1px solid #bd7aff; border-radius: 10px; color: #17101f; background: #c17dff; font-size: 16px; cursor: pointer; transition: background .16s ease, transform .16s ease; }
.forum-comment-send:hover { background: #d09aff; transform: translateY(-1px); }
.forum-comment-send:disabled { opacity: .55; cursor: wait; transform: none; }
.forum-featured-admin { display: grid; gap: 10px; margin-top: 16px; padding: 16px; border: 1px solid var(--forum-line-strong); border-radius: 15px; background: #17131e; }
.forum-featured-admin .forum-form-card-title { margin-bottom: 0; }
.forum-featured-admin .forum-form-card-title > span { color: #e4c4ff; font-size: 14px; }
.forum-featured-admin-controls { display: flex; align-items: center; gap: 9px; }
.forum-top-warning-admin { display: grid; gap: 10px; margin-top: 10px; padding: 16px; border: 1px solid rgba(238, 190, 73, .3); border-radius: 15px; background: #19161d; }
.forum-top-warning-admin .forum-form-card-title { margin-bottom: 0; }
.forum-top-warning-admin .forum-form-card-title > span { color: #f0c85c; font-size: 14px; }
.forum-top-warning-admin-field { display: grid; gap: 6px; }
.forum-top-warning-admin-field > span { color: #f3e8cb; font-size: 11px; font-weight: 700; }
.forum-top-warning-admin-field textarea { width: 100%; min-height: 72px; resize: vertical; border: 1px solid var(--forum-line); border-radius: 10px; padding: 10px 12px; color: var(--forum-text); background: #100e15; font: inherit; font-size: 12px; line-height: 1.5; }
.forum-top-warning-admin-field textarea:focus { border-color: #e5b94d; outline: 2px solid rgba(229, 185, 77, .12); }
.forum-top-warning-admin-field > small { color: var(--forum-muted); font-size: 10px; }
.forum-top-warning-admin-actions { display: flex; justify-content: flex-end; gap: 8px; }
.forum-top-warning-admin .forum-featured-status:not(.hidden) { color: #e8d398; }
.forum-featured-picker { position: relative; flex: 1; min-width: 0; }
.forum-featured-picker > .forum-custom-dropdown-trigger { width: 100%; }
.forum-featured-picker-menu { position: absolute; z-index: 30; top: calc(100% + 5px); left: 0; right: 0; padding: 8px; border: 1px solid var(--forum-line-strong); border-radius: 12px; background: #1a1521; box-shadow: 0 14px 34px rgba(0, 0, 0, .4); }
.forum-featured-search { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 9px; border: 1px solid var(--forum-line); border-radius: 9px; color: #c19adb; background: #100e15; }
.forum-featured-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--forum-text); background: transparent; font: inherit; font-size: 11px; }
.forum-featured-options { display: grid; max-height: 230px; overflow: auto; gap: 2px; margin-top: 6px; }
.forum-featured-option { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 34px; padding: 0 9px; border: 0; border-radius: 7px; color: #ded5e8; background: transparent; font: inherit; font-size: 11px; text-align: left; cursor: pointer; }
.forum-featured-option:hover, .forum-featured-option:focus-visible, .forum-featured-option.is-selected { outline: 0; color: white; background: #30223f; }
.forum-featured-option i { color: #d6a6ff; }
.forum-featured-empty { padding: 10px; color: var(--forum-muted); font-size: 11px; }
.forum-featured-more { width: 100%; min-height: 32px; margin-top: 6px; border: 1px solid var(--forum-line); border-radius: 8px; color: #e6d6f3; background: #211a2b; font: inherit; font-size: 10px; cursor: pointer; }
.forum-featured-more:disabled { opacity: .55; cursor: wait; }
.forum-featured-status { margin: 0; color: #cbb6db; font-size: 11px; }
.forum-featured-status:not(.hidden) { color: #d7c5e8; }
@media (max-width: 760px) {
  .forum-section-heading > .forum-custom-dropdown { align-self: flex-start; }
  .forum-thread-row { grid-template-columns: 38px minmax(0, 1fr) 21px; gap: 9px; padding: 9px; }
  .forum-thread-kind { width: 36px; height: 36px; }
  .forum-featured-admin-controls { align-items: stretch; flex-direction: column; }
  .forum-top-warning-admin-actions { flex-direction: column-reverse; }
  .forum-featured-save { align-self: flex-start; }
}

/* Install Help thread type */
.forum-thread-page > .forum-help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 14px; }
.forum-help-grid > .forum-info-card { min-width: 0; }
.forum-install-steps { display: grid; gap: 15px; margin: 17px 0 0; padding: 0; list-style: none; }
.forum-install-steps > li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; }
.forum-install-steps > li > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; color: #1c1224; background: #c27cff; font-size: 12px; font-weight: 800; }
.forum-install-steps strong, .forum-common-fixes strong { display: block; color: #f1eaf7; font-size: 12px; }
.forum-install-steps p, .forum-common-fixes p { margin: 3px 0 0; color: #c9bfd2; font-size: 11px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.forum-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; margin-top: 13px; border: 1px solid var(--forum-line); border-radius: 11px; background: #0d0b11; }
.forum-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.forum-guide-empty { display: grid; min-height: 100px; place-items: center; gap: 8px; margin-top: 12px; border: 1px dashed var(--forum-line); border-radius: 10px; color: var(--forum-muted); font-size: 11px; }
.forum-guide-empty > i { color: #c58bea; font-size: 22px; }
.forum-common-fixes { display: grid; margin-top: 10px; }
.forum-common-fixes > article { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; padding: 10px 0; border-bottom: 1px solid rgba(190, 155, 217, .12); }
.forum-common-fixes > article:last-child { border-bottom: 0; }
.forum-common-fixes > article > span { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--forum-line); border-radius: 9px; color: #d29aff; background: #261d31; }
.forum-help-thread-action:disabled { opacity: .48; cursor: not-allowed; }
@media (max-width: 920px) { .forum-thread-page > .forum-help-grid { grid-template-columns: 1fr 1fr; } .forum-thread-page > .forum-help-grid > :first-child { grid-column: 1 / -1; } }
@media (max-width: 620px) { .forum-thread-page > .forum-help-grid { grid-template-columns: 1fr; } .forum-thread-page > .forum-help-grid > :first-child { grid-column: auto; } }

/* Thread editor for steps, fixes, and the two optional help links */
.forum-guide-editor-block { display: grid; gap: 10px; margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--forum-line); }
.forum-guide-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.forum-guide-editor-heading h3 { margin: 0 0 3px; color: #f1eaf7; font-size: 13px; }
.forum-guide-editor-heading p { margin: 0; color: var(--forum-muted); font-size: 10px; }
.forum-guide-entry-row { position: relative; display: grid; grid-template-columns: minmax(150px, .72fr) minmax(220px, 1.4fr) 34px; gap: 10px; align-items: end; padding: 11px; border: 1px solid var(--forum-line); border-radius: 11px; background: #14111a; }
.forum-guide-entry-row + .forum-guide-entry-row { margin-top: 8px; }
.forum-guide-entry-row .forum-field { gap: 5px; }
.forum-remove-guide { margin-bottom: 3px; }
.forum-help-link-grid { margin-top: 16px; }
.forum-download-action { position: relative; overflow: hidden; isolation: isolate; }
.forum-download-action.is-preparing { border-color: #c27cff; background: transparent; }
.forum-download-action.is-preparing::before { position: absolute; z-index: -1; inset: 0 auto 0 0; width: var(--download-progress, 0%); content: ""; background: linear-gradient(100deg, #ad62ed, #c780ff); transition: width .35s ease; }
.forum-download-action-content { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.forum-download-action.is-preparing .forum-download-action-content { color: #fff; }
.forum-download-action.is-preparing .forum-download-action-content [data-download-label] { color: color-mix(in srgb, #fff calc(100% - var(--download-progress, 0%)), #17101f var(--download-progress, 0%)); transition: color .25s linear; }
.forum-download-action.is-preparing:disabled { opacity: 1; cursor: wait; }
.forum-download-progress-status { min-height: 16px; margin: 7px 0 0; color: var(--forum-muted); font-size: 10px; text-align: center; }

/* Comment actions and the requested warning emphasis keep the existing card layout. */
.forum-comment-state { display: inline-flex; align-items: center; gap: 4px; padding: 3px 7px; border: 1px solid var(--forum-line); border-radius: 20px; color: #d7b4f5; font-size: 9px; font-weight: 700; }
.forum-comment-state-warning { border-color: rgba(255, 199, 77, .65); color: #ffd77c; background: rgba(113, 75, 4, .18); }
.forum-comment-warning { position: relative; margin: 5px 0; padding: 12px 9px; border: 1px solid rgba(255, 196, 64, .6); border-radius: 11px; background: rgba(111, 76, 11, .11); box-shadow: 0 0 13px rgba(255, 195, 52, .16); }
.forum-comment-warning .forum-comment-state-warning { box-shadow: 0 0 10px rgba(255, 193, 57, .25); }
.forum-comment-target { border-radius: 12px; outline: 2px solid rgba(197, 137, 255, .88); outline-offset: 3px; background: rgba(122, 70, 165, .16); box-shadow: 0 0 22px rgba(189, 122, 255, .24); animation: forum-comment-target-pulse 1.2s ease-in-out 2; }
@keyframes forum-comment-target-pulse { 50% { box-shadow: 0 0 29px rgba(205, 159, 255, .52); } }
.forum-comment-mod-wrap { position: relative; }
.forum-comment-mod-menu { position: absolute; z-index: 25; right: 0; bottom: calc(100% + 5px); display: grid; min-width: 155px; padding: 5px; border: 1px solid var(--forum-line-strong); border-radius: 10px; background: #1a1521; box-shadow: 0 12px 28px rgba(0, 0, 0, .38); }
.forum-comment-mod-menu > button { display: flex; align-items: center; gap: 8px; min-height: 33px; padding: 0 9px; border: 0; border-radius: 7px; color: #e7dceb; background: transparent; font: inherit; font-size: 10px; text-align: left; cursor: pointer; }
.forum-comment-mod-menu > button:hover, .forum-comment-mod-menu > button:focus-visible { outline: 0; color: white; background: #30223f; }
.forum-comment-mod-menu > button i { color: #cf9cf6; }
.forum-comment-edit-form { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; align-items: end; margin: 7px 0; }
.forum-comment-edit-form textarea { min-height: 52px; max-height: 180px; resize: vertical; box-sizing: border-box; padding: 9px; border: 1px solid var(--forum-line); border-radius: 9px; outline: 0; color: var(--forum-text); background: #100e15; font: inherit; font-size: 12px; line-height: 1.5; }
.forum-comment-edit-form textarea:focus { border-color: #bc78f7; box-shadow: 0 0 0 2px rgba(188, 120, 247, .12); }
.forum-comment-icon-button:disabled { opacity: .5; cursor: wait; }
@media (max-width: 700px) { .forum-guide-entry-row { grid-template-columns: minmax(0, 1fr) 34px; } .forum-guide-entry-row .forum-field:first-child { grid-column: 1 / -1; } .forum-guide-entry-row .forum-field:nth-child(2) { grid-column: 1; } .forum-guide-entry-row .forum-remove-guide { grid-column: 2; grid-row: 2; } }
/* Custom forum banner selection from the host Thread Images folder */
.forum-banner-picker { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 16px; align-items: center; margin-top: 14px; padding: 13px; border: 1px solid var(--forum-line); border-radius: 12px; background: #211a29; }
.forum-banner-picker-copy { display: grid; min-width: 0; gap: 4px; }
.forum-banner-picker-copy strong { color: var(--forum-text); font-size: 12px; }
.forum-banner-picker-copy > span { overflow: hidden; color: #d7b6ee; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.forum-banner-picker-copy small { color: var(--forum-muted); font-size: 9px; line-height: 1.45; }
.forum-banner-picker-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.forum-banner-picker-actions .forum-button { min-height: 34px; padding: 0 10px; font-size: 10px; }
.forum-banner-picker-actions .forum-button:disabled { opacity: .45; cursor: not-allowed; }
.forum-banner-preview { grid-column: 1 / -1; overflow: hidden; max-height: 170px; border: 1px solid var(--forum-line); border-radius: 9px; background: #100e15; }
.forum-banner-preview > img { display: block; width: 100%; max-height: 170px; object-fit: cover; }
.forum-banner-preview > img.forum-img-missing { display: none; }
.forum-thread-image-picker { width: min(100%, 760px); }
.forum-thread-image-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 9px; max-height: 58vh; overflow: auto; margin-top: 14px; padding: 1px; }
.forum-thread-image-list > .forum-spinner { grid-column: 1 / -1; justify-self: center; margin: 18px; }
.forum-thread-image-option { display: grid; grid-template-rows: auto auto; gap: 7px; overflow: hidden; padding: 7px; border: 1px solid var(--forum-line); border-radius: 11px; color: var(--forum-text); background: #211a2b; text-align: left; cursor: pointer; }
.forum-thread-image-option:hover, .forum-thread-image-option:focus-visible { outline: 0; border-color: #bd7cf1; background: #2a2035; box-shadow: 0 0 0 2px rgba(189, 124, 241, .12); }
.forum-thread-image-option.is-selected { border-color: #c281fa; background: #332341; box-shadow: 0 0 0 1px rgba(194, 129, 250, .2); }
.forum-thread-image-option.is-selected > i { color: #dcb3ff; }
.forum-thread-image-option > img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 7px; background: #100e15; }
.forum-thread-image-option > img.forum-img-missing { visibility: hidden; }
.forum-thread-image-option > span { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 6px; min-width: 0; }
.forum-thread-image-option strong { overflow: hidden; color: #f3eafa; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.forum-thread-image-option small { grid-column: 1; color: var(--forum-muted); font-size: 9px; }
.forum-thread-image-option > i { grid-column: 2; grid-row: 1 / 3; color: #d6a6ff; }
.forum-thread-image-picker-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--forum-line); color: var(--forum-muted); font-size: 11px; }
.forum-thread-screenshot-picker { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 16px; margin-top: 12px; padding: 13px; border: 1px solid var(--forum-line); border-radius: 12px; background: #211a29; }
.forum-thread-screenshot-picker > .forum-button { min-height: 34px; padding: 0 10px; font-size: 10px; }
.forum-thread-screenshot-preview { display: flex; grid-column: 1 / -1; flex-wrap: wrap; align-items: center; gap: 7px; min-width: 0; }
.forum-thread-screenshot-empty { color: var(--forum-muted); font-size: 10px; }
.forum-thread-screenshot-chip { display: inline-flex; align-items: center; gap: 7px; max-width: min(100%, 290px); overflow: hidden; padding: 4px 6px 4px 4px; border: 1px solid var(--forum-line); border-radius: 9px; color: #eee3f7; background: #17131e; }
.forum-thread-screenshot-chip > img { width: 54px; height: 32px; flex: 0 0 auto; border-radius: 5px; object-fit: cover; background: #100e15; }
.forum-thread-screenshot-chip > img.forum-img-missing { visibility: hidden; }
.forum-thread-screenshot-chip > span { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.forum-thread-screenshot-chip > button { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; border: 0; border-radius: 6px; color: #d8c5e7; background: transparent; cursor: pointer; }
.forum-thread-screenshot-chip > button:hover { color: #fff; background: #44334f; }
@media (max-width: 620px) {
  .forum-banner-picker { grid-template-columns: 1fr; }
  .forum-banner-picker-actions { justify-content: flex-start; }
  .forum-thread-image-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forum-thread-screenshot-picker { grid-template-columns: 1fr; }
  .forum-thread-screenshot-picker > .forum-button { justify-self: start; }
}

/* Keep provider artwork inside the wide banner frame; portrait covers are cropped like the reference. */
.forum-featured-art { height: 245px; min-height: 0; align-self: stretch; }
.forum-featured-art > img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; }
.forum-art-fallback { min-height: 0; height: 100%; }
.forum-thread-hero .forum-featured-art { height: 230px; }
.forum-thread-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.forum-thread-toolbar .forum-back-link { margin-bottom: 14px; }
.forum-thread-toolbar > .forum-button { margin-bottom: 14px; }
.forum-thread-row { grid-template-columns: 46px minmax(0, 1fr) 100px minmax(185px, .45fr) 34px 24px; }
.forum-row-edit { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--forum-line); border-radius: 9px; color: #d8b2f2; background: #211a2a; cursor: pointer; }
.forum-row-edit:hover { border-color: var(--forum-line-strong); color: white; }
.forum-metadata-artwork-options { display: flex; gap: 9px; overflow-x: auto; margin-top: 11px; padding: 2px 1px 7px; scrollbar-width: thin; }
.forum-metadata-artwork { display: grid; flex: 0 0 126px; gap: 6px; overflow: hidden; padding: 6px; border: 1px solid var(--forum-line); border-radius: 10px; color: #d7cce0; background: #17131e; text-align: left; cursor: pointer; }
.forum-metadata-artwork:hover, .forum-metadata-artwork.is-selected { border-color: #c281fa; background: #2b2038; box-shadow: 0 0 0 1px rgba(194, 129, 250, .17); }
.forum-metadata-artwork img { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 6px; object-fit: cover; background: #100e15; }
.forum-metadata-artwork img.forum-img-missing { visibility: hidden; }
.forum-metadata-artwork span { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1100px) { .forum-featured-art, .forum-thread-hero .forum-featured-art { height: 225px; } }
@media (max-width: 760px) {
  .forum-featured-art, .forum-thread-hero .forum-featured-art { height: 205px; }
  .forum-thread-row { grid-template-columns: 38px minmax(0, 1fr) 30px 21px; }
  .forum-row-edit { grid-column: 3; grid-row: 1; }
  .forum-row-open { grid-column: 4; grid-row: 1; }
}

