.forum-shell { --forum-panel: #252525; --forum-border: #383838; --forum-muted: #a8a8aa; font: 400 15px/1.45 Arial, sans-serif; background: #1e1e1e; min-height: 100vh; display: flex; flex-direction: column; }
.forum-shell a:hover { color: var(--orange); }
.forum-header, .forum-main, .forum-footer { width: min(100% - 36px, 1180px); margin-inline: auto; }
.forum-main { flex: 1; }
.forum-header { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; min-height: 90px; font-weight: 700; }
.forum-header img { width: min(190px, 100%); height: 64px; object-fit: cover; }
.forum-header nav, .forum-account { display: flex; gap: 28px; align-items: center; }
.forum-account { justify-self: end; gap: 12px; }
.forum-account form { margin: 0; }
.forum-account button { border: 0; padding: 0; background: none; font-weight: 700; }
.forum-account button:hover { color: var(--orange); }
.forum-account-name { display: inline-flex; gap: 7px; align-items: center; }
.forum-account-avatar { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #d79a58; color: #80480e; font-size: 18px; object-fit: cover; flex-shrink: 0; }
img.forum-avatar, img.forum-node-icon, img.forum-member-avatar { object-fit: cover; }
.forum-admin-link { color: var(--orange); }
.forum-admin-tools { margin: 1rem 0; padding: 14px 16px; border: 1px solid #b9753a; border-radius: 10px; background: #2c2824; }
.forum-admin-tools h2 { font-size: 16px; margin: 0; }
.forum-admin-tools .forum-tools { margin-bottom: 0; }
.forum-button-danger { border-color: #a7524a; color: #ffc4be; }
.forum-delete { position: relative; font-size: 13px; }
.forum-delete summary { cursor: pointer; padding: 10px 12px; color: #ffc4be; }
.forum-delete[open] { padding: 0 10px 10px; border: 1px solid #a7524a; border-radius: 8px; background: #322726; }
.forum-delete p { white-space: normal; margin: 5px 0 10px; }
.forum-delete-post { margin-top: 1rem; width: fit-content; max-width: 100%; }
.forum-admin-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.forum-admin-stats > div { display: grid; gap: 4px; padding: 16px; border-radius: 10px; background: var(--forum-panel); }
.forum-admin-stats strong { font-size: 26px; color: var(--orange); }
.forum-admin-stats span { color: var(--forum-muted); }
.forum-admin-table { overflow-x: auto; }
.forum-admin-table table { width: 100%; border-collapse: collapse; }
.forum-admin-table th, .forum-admin-table td { padding: 12px 16px; border-top: 1px solid var(--forum-border); text-align: left; vertical-align: top; }
.forum-admin-table td:last-child { width: 165px; }
.forum-admin-table td small { display: block; margin-top: 4px; color: var(--forum-muted); }
.forum-admin-table td:first-child { overflow-wrap: anywhere; }
.forum-admin-table td p { max-width: 75ch; white-space: pre-wrap; }
.forum-admin-log ul { list-style: none; padding: 0 16px 12px; }
.forum-admin-log li { padding: 10px 0; border-top: 1px solid var(--forum-border); overflow-wrap: anywhere; }
.forum-admin-log time { display: block; font-size: 12px; color: var(--forum-muted); }
.forum-heading, .forum-panel, .forum-notice { background: var(--forum-panel); border-radius: 12px; }
.forum-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 15px 16px; margin: 0 0 20px; min-height: 74px; }
.forum-heading h1 { margin: 0; font-size: clamp(21px, 2vw, 28px); line-height: 1.18; font-weight: 450; overflow-wrap: anywhere; }
.forum-button { display: inline-flex; align-items: center; justify-content: center; padding: 11px 15px; min-height: 40px; border: 1px solid transparent; border-radius: 16px; background: #303030; color: var(--ink); text-align: center; font-size: 14px; }
.forum-button:hover { border-color: var(--orange); color: var(--ink); }
.forum-button-primary { background: var(--orange); color: #151515; font-weight: 700; }
.forum-shell a.forum-button-primary:hover, .forum-button-primary:hover { color: #151515; background: #ff995d; }
.forum-notice { padding: 14px 16px; margin: 0 0 20px; color: var(--orange); font-weight: 700; }
.forum-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(225px, 24%); gap: 20px; }
.forum-panel { margin-bottom: 20px; overflow: hidden; }
.forum-panel h2 { margin: 0; padding: 12px 16px 6px; font-size: 20px; font-weight: 400; }
.forum-node { display: grid; grid-template-columns: 46px minmax(0, 1fr) 165px minmax(95px, 29%); gap: 12px; align-items: center; min-height: 68px; margin: 0 6px; padding: 10px; }
.forum-node + .forum-node { border-top: 1px solid var(--forum-border); }
.forum-node-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 11px; color: var(--orange); background: #382e27; font: 700 23px/1 Arial, sans-serif; }
.forum-node h3 { font-size: 16px; margin: 0; overflow-wrap: anywhere; }
.forum-node p { font-size: 13px; color: var(--forum-muted); margin: 0; overflow-wrap: anywhere; }
.forum-node-counts { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
.forum-node-counts > div { display: flex; flex-direction: column-reverse; text-align: center; }
.forum-node-counts > div + div { border-left: 1px solid var(--forum-border); }
.forum-node-counts dt, .forum-replies small { color: var(--forum-muted); font-size: 10px; text-transform: uppercase; }
.forum-node-counts dd { margin: 0; color: var(--orange); font-weight: 700; }
.forum-last { overflow-wrap: anywhere; font-size: 13px; }
.forum-last small { display: block; color: var(--forum-muted); }
.forum-node-link { grid-template-columns: 46px minmax(0, 1fr); }
.forum-node-link h3 { font-weight: 450; }
.forum-stat { padding: 12px 16px 15px; }
.forum-stat h2 { padding: 0; margin-bottom: 12px; font-size: 16px; }
.forum-stat dl, .forum-profile dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; margin: 0; font-size: 14px; }
.forum-stat dt, .forum-profile dt { color: var(--forum-muted); }
.forum-stat dd, .forum-profile dd { margin: 0; text-align: right; overflow-wrap: anywhere; max-width: 15ch; }
.forum-search { display: flex; gap: 6px; margin-bottom: 16px; }
.forum-stat .forum-search { margin: 0; }
.forum-search input, .forum-form input, .forum-form textarea { min-width: 0; width: 100%; border: 1px solid #555; border-radius: 6px; color: var(--ink); background: #1d1d1d; padding: 11px; font: inherit; }
.forum-footer { display: flex; flex-wrap: wrap; gap: 12px 20px; border-top: 1px solid var(--forum-border); padding-block: 20px; margin-top: 35px; color: var(--forum-muted); }
.forum-footer span { margin-left: auto; }
.forum-crumbs { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0; color: var(--forum-muted); font-size: 13px; overflow-wrap: anywhere; }
.forum-intro, .forum-thread-meta { color: var(--forum-muted); margin: -6px 0 14px; }
.forum-intro a, .forum-thread-meta a { color: var(--orange); }
.forum-thread-row { grid-template-columns: 46px minmax(0, 1fr) 80px 140px; }
.forum-replies { text-align: center; }
.forum-replies small { display: block; }
.forum-empty { padding: 20px; color: var(--forum-muted); }
.forum-pages, .forum-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 12px 0 18px; }
.forum-form { padding: clamp(14px, 2vw, 26px); display: grid; gap: 10px; }
.forum-form label { font-weight: 700; }
.forum-form textarea { resize: vertical; }
.forum-form button { justify-self: start; }
.forum-badge { display: inline-block; font-size: 10px; line-height: 1; font-weight: 650; padding: 4px 6px; color: #151515; background: var(--orange); border-radius: 5px; vertical-align: middle; }
.forum-post { display: grid; grid-template-columns: 145px minmax(0, 1fr); }
.forum-post aside { border-right: 1px solid var(--forum-border); padding: 17px 10px; text-align: center; overflow-wrap: anywhere; background: #292929; }
.forum-post aside small { display: block; margin-top: 4px; color: var(--forum-muted); }
.forum-avatar { display: grid; place-items: center; border-radius: 50%; background: #453327; color: var(--orange); font-size: 30px; width: 62px; height: 62px; margin: 0 auto 7px; }
.forum-post > div { padding: 14px 18px; }
.forum-post header { border-bottom: 1px solid var(--forum-border); display: flex; justify-content: space-between; gap: 10px; padding-bottom: 8px; color: var(--forum-muted); font-size: 13px; }
.forum-post p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 12px 0; }
.forum-reactions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding-top: 12px; margin-top: 14px; border-top: 1px solid var(--forum-border); font-size: 13px; }
.forum-reaction-form, .forum-reaction-total { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.forum-reaction-button { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border: 1px solid #494949; border-radius: 16px; background: #2b2b2b; color: #d5d5d5; font-size: 12px; }
.forum-reaction-button:hover, .forum-reaction-button.is-selected { border-color: var(--orange); color: var(--ink); background: #463326; }
.forum-reaction-total > span { padding: 4px 8px; border-radius: 12px; background: #333; white-space: nowrap; }
.forum-reaction-login { color: var(--forum-muted); font-size: 12px; }
.forum-reactions:empty { display: none; }
.forum-member-score-note { color: var(--forum-muted); margin-bottom: 0; }
.forum-member-breadcrumb { border-radius: 10px; padding: 10px 12px; background: var(--forum-panel); margin-bottom: 20px; font-size: 13px; }
.forum-member-card { padding: 6px 6px 0; }
.forum-member-cover { position: relative; min-height: 148px; padding: 10px 14px; background: #303030; }
.forum-member-cover-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.forum-member-cover.has-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0007, #0003); pointer-events: none; }
.forum-member-cover.has-image .forum-member-heading, .forum-member-cover.has-image .forum-member-report { position: relative; z-index: 1; }
.forum-member-cover.has-image .forum-member-report { position: absolute; }
.forum-member-cover.has-image .forum-member-heading { text-shadow: 0 1px 4px #000; }
.forum-member-cover.has-image .forum-member-heading p span { color: #ddd; }
.forum-member-cover.has-image .forum-member-role { background: #2229; }
.forum-member-avatar { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #d79a58; color: #80480e; font: 400 30px/1 Arial, sans-serif; flex-shrink: 0; }
.forum-member-avatar-large { position: absolute; z-index: 1; top: 10px; left: 10px; width: 192px; height: 192px; font-size: 108px; }
.forum-member-heading { margin-left: 198px; padding-right: 110px; }
.forum-member-heading h1 { margin: 0 0 4px; font-size: 24px; line-height: 1.2; font-weight: 450; overflow-wrap: anywhere; }
.forum-member-role { display: table; font-size: 11px; line-height: 1.3; padding: 1px 5px; border: 1px solid #aa6531; }
.forum-member-heading > strong { display: block; font-size: 14px; margin: 3px 0; }
.forum-member-heading p { margin: 3px 0 0; font-size: 14px; }
.forum-member-heading p span { color: var(--forum-muted); }
.forum-member-report { position: absolute; right: 10px; top: 10px; border: 1px solid #444; background: #252525; }
.forum-member-numbers { display: flex; justify-content: space-between; gap: 16px; margin: 0 10px 0 212px; padding: 10px 0; border-bottom: 1px solid #303030; }
.forum-member-numbers > div { text-align: center; }
.forum-member-numbers dt { color: var(--forum-muted); font-size: 14px; }
.forum-member-numbers dd { margin: 0; font-size: 16px; font-weight: 700; }
.forum-member-find { margin-left: 212px; min-height: 65px; padding-top: 10px; }
.forum-member-find details { position: relative; width: fit-content; }
.forum-member-find summary { cursor: pointer; border: 1px solid #444; background: transparent; }
.forum-member-find details > div { position: absolute; z-index: 2; min-width: 180px; display: grid; background: #303030; border: 1px solid #444; border-radius: 8px; padding: 6px; box-shadow: 0 6px 20px #0005; }
.forum-member-find details a { padding: 9px; }
.forum-member-tabs { display: flex; flex-wrap: wrap; gap: 20px; padding-inline: 10px; }
.forum-member-tabs a { position: relative; color: #969698; padding: 12px 0; }
.forum-member-tabs a[aria-current] { color: var(--orange); }
.forum-member-tabs a[aria-current]::after { content: ""; position: absolute; height: 3px; border-radius: 3px 3px 0 0; inset: auto 0 0; background: var(--orange); }
.forum-member-content { margin: 24px 6px 0; }
.forum-member-compose { display: grid; grid-template-columns: 65px minmax(0, 1fr) auto; gap: 12px; padding: 10px; align-items: center; }
.forum-member-compose .forum-member-avatar { margin-inline: auto; }
.forum-member-compose textarea { width: 100%; resize: vertical; min-height: 44px; height: 44px; max-height: 250px; padding: 11px; border: 0; border-bottom: 2px solid #454545; background: #303030; color: var(--ink); font: inherit; }
.forum-member-compose button { display: none; }
.forum-member-compose:focus-within button, .forum-member-compose:has(textarea:not(:placeholder-shown)) button { display: inline-flex; }
.forum-member-compose:focus-within textarea { min-height: 65px; }
.forum-member-empty { padding: 6px 10px; }
.forum-member-manage { display: flex; justify-content: end; margin-bottom: 7px; color: var(--forum-muted); font-size: 12px; }
.forum-member-status { display: flex; gap: 14px; padding: 16px; }
.forum-member-status > div { min-width: 0; flex: 1; }
.forum-member-status header { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.forum-member-status time { color: var(--forum-muted); font-size: 12px; }
.forum-member-status p { white-space: pre-wrap; overflow-wrap: anywhere; }
.forum-member-info { padding: 15px; }
.forum-member-info h2 { padding: 0 0 12px; }
.forum-member-info dl { margin: 0; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px; }
.forum-member-info dt { color: var(--forum-muted); }
.forum-member-info dd { margin: 0; overflow-wrap: anywhere; }
.forum-member-activity article { padding: 16px; }
.forum-member-activity article + article { border-top: 1px solid var(--forum-border); }
.forum-member-activity time { display: block; color: var(--forum-muted); font-size: 12px; }
.forum-member-activity p { white-space: pre-wrap; overflow-wrap: anywhere; }
.forum-customize-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.forum-customize-card h2 { padding-top: 18px; }
.forum-customize-card .forum-form { padding-bottom: 5px; margin-bottom: 10px; }
.forum-customize-card .forum-form p { color: var(--forum-muted); margin: 0; }
.forum-customize-card input[type=file] { max-width: 100%; font-size: 13px; }
.forum-customize-reset { padding: 0 22px 22px; }
@media (min-width: 1000px) {
  .forum-header, .forum-main, .forum-footer { width: min(100% - 84px, 1180px); }
}
@media (max-width: 880px) {
  .forum-layout { grid-template-columns: 1fr; gap: 0; }
  .forum-layout > aside { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media (max-width: 620px) {
  .forum-customize-grid { grid-template-columns: 1fr; gap: 0; }
  .forum-member-cover { min-height: 0; padding: 14px; }
  .forum-member-avatar-large { position: static; width: 90px; height: 90px; font-size: 50px; margin-bottom: 12px; }
  .forum-member-heading { margin: 0; padding: 0; }
  .forum-member-heading h1 { font-size: 23px; }
  .forum-member-numbers { margin: 0 10px; }
  .forum-member-find { margin-left: 10px; min-height: 60px; }
  .forum-member-tabs { gap: 14px; font-size: 13px; }
  .forum-member-compose { grid-template-columns: 45px minmax(0, 1fr); gap: 8px; }
  .forum-member-compose .forum-member-avatar { width: 36px; height: 36px; font-size: 22px; }
  .forum-member-compose button { grid-column: 2; justify-self: end; }
  .forum-member-info dl { grid-template-columns: 1fr; gap: 3px; }
  .forum-admin-stats { gap: 6px; }
  .forum-admin-stats > div { padding: 10px; }
  .forum-header { grid-template-columns: 1fr 1fr; min-height: auto; padding: 12px 0 16px; gap: 10px; }
  .forum-header img { width: 118px; }
  .forum-header nav { grid-column: 1 / -1; grid-row: 2; gap: 16px; font-size: 13px; }
  .forum-account { grid-column: 2; grid-row: 1; font-size: 13px; text-align: right; overflow-wrap: anywhere; }
  .forum-node { grid-template-columns: 35px minmax(0, 1fr) 80px; gap: 8px; margin: 0; }
  .forum-node-icon { width: 35px; height: 35px; font-size: 17px; }
  .forum-node-counts { grid-template-columns: 1fr; }
  .forum-node-counts > div { flex-direction: row-reverse; align-items: baseline; gap: 4px; }
  .forum-node-counts > div + div { border: 0; }
  .forum-node-counts dt { text-transform: none; }
  .forum-node .forum-last { display: none; }
  .forum-node-link { grid-template-columns: 35px minmax(0, 1fr); }
  .forum-thread-row { grid-template-columns: 35px minmax(0, 1fr) 48px; }
  .forum-layout > aside { grid-template-columns: 1fr; gap: 0; }
  .forum-post { grid-template-columns: 1fr; }
  .forum-post aside { display: flex; align-items: center; gap: 8px; border: 0; padding: 10px; text-align: left; }
  .forum-post aside .forum-avatar { width: 34px; height: 34px; font-size: 17px; margin: 0; flex-shrink: 0; }
  .forum-post aside small { margin: 0 0 0 auto; }
}
