:root {
  --page-bg: #e9edf0;
  --shell-bg: #fff;
  --ink: #333;
  --muted: #536471;
  --link: #105289;
  --link-hover: #d31141;
  --blue-dark: #0c6898;
  --blue: #12a3eb;
  --blue-light: #cadceb;
  --row-a: #eef5f9;
  --row-b: #e4eef3;
  --line: #c3d2dc;
  --orange: #ff6600;
  --radius: 7px;
  --shadow: 0 0 5px 2px rgb(0 0 0 / 8%);
  font-family: Verdana, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: var(--page-bg);
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body { min-width: 320px; min-height: 100vh; margin: 0; padding: 13px 0; background: var(--page-bg); font-size: 12px; line-height: 1.45; }
a { color: var(--link); text-decoration: none; }
a:hover { color: var(--link-hover); text-decoration: underline; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible { outline: 3px solid #111; outline-offset: 2px; box-shadow: 0 0 0 5px #ffd54f; }
h1, h2, h3, p { margin-top: 0; }
button, input { font: inherit; }

.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; transform: translateY(-160%); padding: 8px 12px; border-radius: 4px; background: #111; color: #fff; }
.skip-link:focus { transform: translateY(0); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.page-shell { width: min(1150px, calc(100% - 26px)); min-height: calc(100vh - 26px); margin: 0 auto; padding: 10px 10px 18px; border-radius: 10px; background: var(--shell-bg); box-shadow: var(--shadow); }
.site-header { display: flex; min-height: 112px; align-items: center; justify-content: space-between; gap: 30px; padding: 18px 30px; border-radius: var(--radius); background: radial-gradient(circle at 78% 15%, rgb(255 255 255 / 30%), transparent 22%), linear-gradient(150deg, #0b6fa3, #0a91d3 60%, #12a3eb); color: white; }
.brand { display: flex; min-width: 0; align-items: center; gap: 16px; color: white; text-shadow: 0 1px 1px rgb(0 0 0 / 35%); }
.brand:hover { color: white; text-decoration: none; }
.brand > span:last-child { display: grid; gap: 2px; }
.brand strong { overflow: hidden; font-family: Arial, Helvetica, sans-serif; font-size: clamp(23px, 4vw, 34px); font-weight: 400; letter-spacing: -1px; text-overflow: ellipsis; white-space: nowrap; }
.brand small { font-size: 11px; letter-spacing: .01em; }
.brand-mark { position: relative; width: 66px; height: 58px; flex: 0 0 auto; filter: drop-shadow(0 2px 2px rgb(0 0 0 / 20%)); }
.brand-mark i { position: absolute; width: 42px; height: 29px; border: 3px solid white; border-radius: 9px; background: var(--orange); }
.brand-mark i::after { position: absolute; bottom: -8px; left: 7px; width: 11px; height: 11px; border-width: 0 0 3px 3px; border-style: solid; border-color: white; background: var(--orange); content: ""; transform: skewY(-35deg); }
.brand-mark i:nth-child(1) { top: 3px; left: 2px; }
.brand-mark i:nth-child(2) { right: 0; bottom: 3px; background: #ecf7fd; }
.brand-mark i:nth-child(2)::after { right: 7px; left: auto; border-width: 0 3px 3px 0; background: #ecf7fd; }
.brand-mark i:nth-child(3) { top: 13px; left: 12px; width: 27px; height: 4px; border: 0; border-radius: 5px; background: white; box-shadow: 0 8px white; }
.brand-mark i:nth-child(3)::after { display: none; }

.header-search { display: flex; align-items: stretch; padding: 4px; border: 1px solid rgb(255 255 255 / 45%); border-radius: 6px; background: rgb(0 0 0 / 14%); box-shadow: inset 0 1px 2px rgb(0 0 0 / 20%); }
.header-search input { width: 220px; min-width: 0; padding: 7px 8px; border: 0; border-radius: 3px 0 0 3px; color: #222; background: #fff; }
.header-search button { padding: 7px 10px; border: 0; border-radius: 0 3px 3px 0; color: #0b5380; background: #e7f3f9; font-weight: 700; cursor: pointer; }

.navbar { display: flex; min-height: 36px; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 4px; padding: 0 11px; border: 1px solid #d3d8dc; border-radius: var(--radius); background: linear-gradient(#f9f9f9, #dfe3e6); box-shadow: inset 0 1px #fff; }
.navbar ul { display: flex; align-items: center; gap: 3px; margin: 0; padding: 0; list-style: none; }
.navbar a,
.navbar .guest-label,
.quick-links summary { display: block; padding: 8px 9px; color: #333; font-weight: 700; }
.navbar a:hover,
.navbar a[aria-current="page"] { color: var(--link); text-decoration: none; }
.nav-primary a span { display: inline-grid; width: 16px; height: 16px; margin-right: 3px; place-items: center; border-radius: 50%; color: white; background: #6d8797; font-size: 11px; }
.quick-links { position: relative; }
.quick-links summary { cursor: pointer; list-style: none; }
.quick-links summary::-webkit-details-marker { display: none; }
.quick-links summary span { display: inline-grid; width: 16px; height: 16px; margin-right: 3px; place-items: center; border-radius: 50%; color: white; background: #6d8797; font-size: 9px; }
.quick-links details[open] > summary,
.quick-links summary:hover { color: var(--link); }
.quick-links details > ul { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; display: grid; width: 190px; padding: 5px; border: 1px solid #aebdc6; border-radius: 5px; background: #f7fafb; box-shadow: 0 5px 18px rgb(0 0 0 / 18%); }
.quick-links details > ul a { padding: 7px 9px; border-radius: 3px; font-weight: 400; }
.quick-links details > ul a:hover { background: #e3eef4; }
.guest-label { color: #687780 !important; font-weight: 400 !important; }

.board-trail { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 15px; padding: 2px 8px 5px; color: #5b666d; font-size: 11px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; font-weight: 700; }
.breadcrumbs li:not(:last-child)::after { padding: 0 6px; color: #8a969e; content: "‹"; }
.last-visit { white-space: nowrap; }

main { min-height: 280px; }
.site-footer { margin-top: 20px; padding: 14px 10px 0; border-top: 1px solid #ccd4d9; color: #65727a; text-align: center; font-size: 10px; }
.site-footer p { margin: 4px 0; }
.site-footer nav { display: flex; justify-content: center; gap: 7px; }
.copyright { color: #8a949b; }

.page-actions { display: flex; justify-content: flex-end; margin-bottom: 5px; }
.text-action { padding: 4px 0; border: 0; color: var(--link); background: none; font-weight: 700; cursor: pointer; }
.text-action:hover { color: var(--link-hover); text-decoration: underline; }

.category-head,
.list-head { display: grid; min-height: 34px; align-items: center; color: white; background: linear-gradient(#0d789f, #07577c); text-shadow: 0 -1px rgb(0 0 0 / 25%); }
.category-head { grid-template-columns: minmax(0, 1fr) 105px 245px; padding: 6px 10px; border-radius: var(--radius) var(--radius) 0 0; }
.category-head h1,
.category-head h2 { margin: 0; font-size: 13px; letter-spacing: .02em; }
.category-head > span { text-align: center; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.forum-list { border-radius: var(--radius); background: var(--line); }
.forum-row { display: grid; grid-template-columns: minmax(0, 1fr) 105px 245px; min-height: 74px; align-items: stretch; border-bottom: 1px solid #fff; background: var(--row-a); }
.forum-row:nth-child(odd) { background: var(--row-b); }
.forum-row:last-child { border-radius: 0 0 var(--radius) var(--radius); }
.forum-main { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 4px; padding: 9px 12px 9px 4px; }
.forum-main h2 { margin: 0 0 2px; font-size: 14px; }
.forum-main h2 a { color: var(--link); }
.forum-main p { margin: 0; color: #4c5b64; font-size: 11px; }
.forum-icon { position: relative; display: block; width: 34px; height: 30px; margin: 0 auto; border: 3px solid #7f9aa9; border-radius: 50%; background: #e8f2f7; box-shadow: inset 0 0 0 3px #cbdde7; }
.forum-icon::after { position: absolute; right: -2px; bottom: -5px; width: 10px; height: 9px; border-right: 3px solid #7f9aa9; background: var(--row-a); content: ""; transform: skewX(-30deg); }
.forum-row.unread .forum-icon { border-color: var(--orange); box-shadow: inset 0 0 0 3px #ffd3b5; }
.forum-row.unread .forum-icon::after { border-color: var(--orange); }
.forum-row.unread .forum-main h2::after,
.topic-row.unread .topic-copy h2::after { display: inline-block; margin-left: 6px; padding: 1px 4px; border-radius: 2px; color: #fff; background: #a43b00; content: "New"; font-size: 8px; letter-spacing: .04em; text-transform: uppercase; vertical-align: 1px; }
.forum-count { display: grid; margin: 0; place-content: center; border-left: 1px solid #fff; border-right: 1px solid #fff; text-align: center; }
.forum-count dt { color: #63717a; font-size: 9px; text-transform: uppercase; }
.forum-count dd { margin: 0; color: #333; font-size: 13px; font-weight: 700; }
.forum-latest { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 8px 12px; font-size: 10px; }
.forum-latest .latest-title { overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.forum-latest time { color: #59666f; }

.info-panel { margin-top: 10px; border-radius: var(--radius); background: var(--row-a); }
.info-panel h2 { margin: 0; padding: 7px 11px; border-radius: var(--radius) var(--radius) 0 0; color: white; background: linear-gradient(#0d789f, #07577c); font-size: 13px; }
.info-panel > div { padding: 12px 14px; }
.info-panel p:last-child { margin-bottom: 0; }
.legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 15px; padding: 12px 4px 0; color: #606d75; font-size: 10px; }
.legend > span { display: flex; align-items: center; gap: 5px; }
.legend-icon { width: 15px; height: 13px; border: 2px solid #8199a7; border-radius: 50%; }
.legend-icon.unread { border-color: var(--orange); }

.forum-title-block,
.topic-title-block { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 6px 2px 12px; }
.forum-title-block h1,
.topic-title-block h1 { margin: 0 0 2px; color: #28313a; font-family: Arial, Helvetica, sans-serif; font-size: 23px; font-weight: 400; line-height: 1.15; }
.forum-title-block p,
.topic-title-block p { margin: 0; color: #63717a; }
.button { display: inline-flex; min-height: 30px; align-items: center; justify-content: center; padding: 6px 12px; border: 1px solid #a9b8c2; border-radius: 4px; color: var(--link); background: linear-gradient(#fff, #e4edf2); box-shadow: inset 0 1px white; font-weight: 700; cursor: pointer; }
.button:hover { border-color: #d31141; color: #d31141; text-decoration: none; }
.new-topic::before,
.post-reply::before { margin-right: 6px; font-size: 14px; content: "✎"; }

.list-tools { display: flex; min-height: 37px; align-items: center; justify-content: space-between; gap: 12px; padding: 3px 0; }
.list-tools:empty { min-height: 0; }
.list-tools-bottom { margin-top: 4px; }
.result-count { margin: 0; color: #5e6b74; font-size: 10px; }
.pagination { display: flex; align-items: center; gap: 8px; }
.pagination ol { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.page-count { font-size: 10px; }
.page-number,
.page-arrow,
.page-ellipsis { display: grid; min-width: 23px; height: 23px; place-items: center; border: 1px solid #b5c6d1; border-radius: 3px; background: #eef5f9; font-size: 10px; font-weight: 700; }
.page-arrow { font-size: 16px; }
.page-number:hover,
.page-arrow:hover { border-color: var(--link); text-decoration: none; }
.page-number.current { border-color: #0875a6; color: white; background: #0875a6; }
.page-ellipsis { border-color: transparent; background: transparent; }

.topic-list { overflow: hidden; border-radius: var(--radius); background: var(--line); }
.topic-grid { display: grid; grid-template-columns: minmax(0, 1fr) 75px 70px 175px; }
.list-head { padding: 0 9px; font-size: 10px; font-weight: 700; text-align: center; text-transform: uppercase; }
.list-head .topic-main { text-align: left; }
.topic-row { min-height: 62px; border-bottom: 1px solid #fff; background: var(--row-a); }
.topic-row:nth-child(odd) { background: var(--row-b); }
.topic-row:last-child { border-bottom: 0; }
.topic-row > *:not(:last-child) { border-right: 1px solid #fff; }
.topic-main { display: grid; min-width: 0; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 5px; padding: 7px 9px; }
.topic-icon { position: relative; width: 25px; height: 20px; margin: 0 auto; border: 2px solid #7895a6; border-radius: 5px; background: #f7fbfd; }
.topic-icon::after { position: absolute; right: 3px; bottom: -5px; width: 7px; height: 6px; border-right: 2px solid #7895a6; content: ""; transform: skewX(-30deg); }
.topic-row.unread .topic-icon { border-color: var(--orange); }
.topic-row.unread .topic-icon::after { border-color: var(--orange); }
.topic-copy { min-width: 0; }
.topic-copy h2 { margin: 0; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.topic-source { display: inline; margin: 2px 5px 0 0; font-size: 9px; }
.topic-source a { color: #46545d; }
.mini-pages { color: #46545d; font-size: 9px; }
.mini-pages a { display: inline-block; min-width: 17px; margin-left: 2px; padding: 0 3px; border: 1px solid #9bafb9; border-radius: 2px; background: rgb(255 255 255 / 65%); text-align: center; }
.topic-stat { display: grid; margin: 0; place-content: center; text-align: center; }
.topic-stat dt { display: none; }
.topic-stat dd { margin: 0; color: #47545d; }
.topic-last { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 7px 10px; font-size: 10px; }
.topic-last a { overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.topic-last time { color: #63717a; }
.empty-row { padding: 25px; color: #62717b; background: var(--row-a); text-align: center; }
.forum-rules { margin: 13px 0 0; padding: 12px 14px; border-radius: var(--radius); background: #ecf3f7; color: #51616b; }
.forum-rules h2 { margin-bottom: 3px; color: #333; font-size: 12px; }
.forum-rules p { margin: 0; }
.projection-warning { margin: 0 0 8px; padding: 9px 12px; border: 1px solid #d39b2f; border-radius: 4px; color: #4a3a16; background: #fff5d8; }

.topic-title-block { display: block; }
.topic-title-block h1 { max-width: 900px; }
.topic-tools { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 4px; }
.topic-tool-links { display: flex; gap: 13px; font-size: 10px; }
.posts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.post { display: grid; min-width: 0; grid-template-columns: 185px minmax(0, 1fr); grid-template-rows: 33px minmax(145px, auto) 31px; border-radius: var(--radius); background: var(--row-a); scroll-margin-top: 8px; }
.post-alt { background: var(--row-b); }
.post:target { outline: 3px solid #f2a900; outline-offset: 2px; }
.post-head { display: flex; min-width: 0; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 20px; padding: 0 11px; border-radius: var(--radius) var(--radius) 0 0; color: white; background: linear-gradient(#116888, #0a4e69); }
.post-head h2 { min-width: 0; margin: 0; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.post-head h2 a { color: white; }
.post-number { color: #dceef7; font-size: 10px; }
.post-profile { grid-column: 1; grid-row: 2 / 4; padding: 10px 11px; border-right: 1px solid #fff; }
.post-profile h3 { margin: 0; font-size: 13px; }
.member-rank { display: block; margin: 1px 0 8px; color: #66747c; font-size: 9px; text-transform: uppercase; }
.avatar { display: grid; width: 76px; height: 76px; margin: 6px 0 10px; place-items: center; border: 1px solid #acbec9; border-radius: 2px; color: white; background: linear-gradient(140deg, #6ea4c1, #205d7c); font-family: Georgia, serif; font-size: 38px; text-shadow: 0 1px rgb(0 0 0 / 30%); }
.avatar:hover { color: white; text-decoration: none; }
.post-profile dl { margin: 0; color: #4e5b63; font-size: 9px; }
.post-profile dl div { display: grid; grid-template-columns: auto 1fr; gap: 4px; }
.post-profile dt { font-weight: 700; }
.post-profile dd { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.post-body { min-width: 0; padding: 9px 13px 18px; }
.post-meta { padding-bottom: 5px; border-bottom: 1px solid #cbd8e0; color: #4c5a62; font-size: 9px; }
.inline-quote { position: relative; max-width: 100%; margin: 5px 0 14px; padding: 0; overflow: hidden; border: 1px solid #b7c8d2; border-left: 4px solid #6d91a5; border-radius: 4px; color: #35434b; background: rgb(255 255 255 / 64%); }
.quote-head { display: grid; min-height: 29px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 5px 9px; border-bottom: 1px solid #cbd8df; color: #4c5b64; background: #dce8ee; font-size: 10px; }
.quote-byline { min-width: 0; overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.quoted-post-link { font-weight: 700; white-space: nowrap; }
.quote-body { padding: 9px 11px 10px; }
.quote-text { margin: 0; overflow-wrap: anywhere; font-size: 11px; line-height: 1.5; }
.inline-quote-nested { margin: 0 0 8px; border-color: #c2d0d8; border-left-width: 3px; background: rgb(238 245 249 / 92%); }
.inline-quote-nested > .quote-head { min-height: 25px; padding: 3px 7px; background: #e6eef2; font-size: 9px; }
.inline-quote-nested > .quote-body { padding: 7px 9px 8px; }
.quote-chain-truncated { margin: 0 0 6px; color: #667780; font-size: 9px; font-style: italic; }
.post-content { overflow-wrap: anywhere; color: #252b2f; font-size: 12px; line-height: 1.55; }
.post-content p { margin: 0 0 1em; }
.post-content pre { max-width: 100%; overflow-x: auto; padding: 10px; border: 1px solid #cad7df; background: #f9fbfc; font: 11px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.post-content code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.post-content blockquote { margin: 12px 8px; padding: 9px 12px; border: 1px solid #c7d5de; background: rgb(255 255 255 / 55%); }
.external-story { margin-top: 14px !important; padding: 12px; border: 1px solid #b8cedb; border-left: 4px solid var(--orange); border-radius: 3px; background: #fff; }
.external-story a { font-weight: 700; }
.external-story small { color: #66757e; }
.post-signature { width: 180px; margin-top: 20px; border-top: 1px solid #c3d2dc; }
.post-actions { display: flex; grid-column: 2; align-items: center; justify-content: flex-end; gap: 6px; padding: 4px 8px; border-top: 1px solid #fff; }
.post-actions a { padding: 3px 7px; border: 1px solid #b8c8d2; border-radius: 3px; background: rgb(255 255 255 / 52%); font-size: 9px; font-weight: 700; }

.profile-panel,
.search-panel,
.faq-page,
.message-panel { overflow: hidden; border-radius: var(--radius); background: var(--row-a); }
.profile-panel > header,
.search-panel > header,
.faq-page > header { padding: 9px 12px; color: white; background: linear-gradient(#0d789f, #07577c); }
.profile-panel > header h1,
.search-panel > header h1,
.faq-page > header h1 { margin: 0; font-size: 14px; }
.profile-grid { display: grid; grid-template-columns: 190px minmax(250px, 1fr) minmax(280px, 1.3fr); gap: 0; }
.profile-grid > * { padding: 18px; border-right: 1px solid white; }
.profile-grid > *:last-child { border-right: 0; }
.profile-identity { text-align: center; }
.profile-identity h2 { margin-bottom: 2px; color: var(--link); font-size: 16px; }
.avatar-large { width: 96px; height: 96px; margin: 0 auto 10px; font-size: 48px; }
.profile-stats { margin: 0; }
.profile-stats div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 7px 0; border-bottom: 1px solid #d0dce3; }
.profile-stats dt { font-weight: 700; }
.profile-stats dd { margin: 0; }
.profile-about h2 { font-size: 13px; }
.rich-text { overflow-wrap: anywhere; }
.member-activity { margin-top: 10px; overflow: hidden; border-radius: var(--radius); background: var(--row-a); }
.simple-head { display: block; }
.member-activity ol { margin: 0; padding: 0; list-style: none; }
.member-activity li { display: grid; grid-template-columns: 70px minmax(0, 1fr) 180px; gap: 12px; padding: 10px 12px; border-bottom: 1px solid white; }
.member-activity li:last-child { border-bottom: 0; }
.activity-type { align-self: start; padding: 2px 5px; border-radius: 3px; color: white; background: #6e8796; font-size: 9px; text-align: center; text-transform: uppercase; }
.member-activity li > div > a { font-weight: 700; }
.member-activity li p { margin: 3px 0 0; color: #5a6972; font-size: 10px; }
.member-activity time { color: #607079; font-size: 10px; text-align: right; }

.search-panel form { padding: 18px; }
.search-panel label { display: block; margin-bottom: 5px; font-weight: 700; }
.search-control { display: flex; gap: 6px; }
.search-control input { width: min(650px, 100%); min-height: 34px; padding: 7px 9px; border: 1px solid #aabcc7; border-radius: 4px; background: white; }
.form-help { margin: 8px 0 0; color: #64727a; font-size: 10px; }
.search-results-head { margin: 18px 2px 4px; }
.search-results-head h2 { margin: 0; color: #28313a; font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: 400; }
.search-results-head p { margin: 2px 0; color: #62717a; }

.faq-page > header p { margin: 2px 0 0; color: #e8f6fd; }
.faq-page > section { padding: 16px 18px; border-bottom: 1px solid white; }
.faq-page > section:last-child { border-bottom: 0; }
.faq-page section h2 { margin-bottom: 5px; color: var(--link); font-size: 14px; }
.faq-page section p:last-child { margin-bottom: 0; }
.mapping-list { margin: 0; }
.mapping-list div { display: grid; grid-template-columns: 100px 1fr; gap: 10px; padding: 5px 0; }
.mapping-list dt { font-weight: 700; }
.mapping-list dd { margin: 0; }
.message-panel { padding: 35px; text-align: center; }
.message-panel h1 { color: #c02942; font-size: 20px; }

.print-view .site-header,
.print-view .navbar,
.print-view .board-trail,
.print-view .site-footer,
.print-view .topic-tools,
.print-view .list-tools,
.print-view .post-actions { display: none; }
.print-view { padding: 0; background: white; }
.print-view .page-shell { width: 100%; margin: 0; box-shadow: none; }

@media (max-width: 800px) {
  body { padding: 0; }
  .page-shell { width: 100%; min-height: 100vh; padding: 0 7px 12px; border-radius: 0; box-shadow: none; }
  .site-header { min-height: 84px; border-radius: 0; }
  .brand-mark { transform: scale(.82); transform-origin: left center; }
  .brand { gap: 4px; }
  .brand small { display: none; }
  .header-search { display: none; }
  .category-head { grid-template-columns: minmax(0, 1fr) 85px 210px; }
  .forum-row { grid-template-columns: minmax(0, 1fr) 85px 210px; }
  .topic-grid { grid-template-columns: minmax(0, 1fr) 60px 60px 145px; }
  .post { grid-template-columns: 150px minmax(0, 1fr); }
  .profile-grid { grid-template-columns: 155px minmax(220px, 1fr); }
  .profile-about { grid-column: 1 / -1; border-top: 1px solid white; }
}

@media (max-width: 700px) {
  .site-header { padding: 12px 16px; }
  .navbar { align-items: flex-start; padding: 3px 6px; }
  .navbar ul { flex-wrap: wrap; }
  .navbar a,
  .navbar .guest-label,
  .quick-links summary { padding: 6px; }
  .guest-label { display: none !important; }
  .board-trail { align-items: flex-start; }
  .last-visit { display: none; }
  .forum-title-block { align-items: flex-start; }
  .list-head { display: none; }
  .topic-grid { grid-template-columns: minmax(0, 1fr) 58px 58px; }
  .topic-row .topic-last { display: none; }
  .topic-row > *:not(:last-child) { border-right: 1px solid white; }
  .topic-stat { display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .topic-stat dt { display: block; color: #70808a; font-size: 8px; text-transform: uppercase; }
  .post { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; }
  .post-head { grid-column: 1; grid-row: 1; }
  .post-profile { display: grid; grid-column: 1; grid-row: 2; grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 8px; padding: 7px 10px; border-right: 0; border-bottom: 1px solid white; }
  .post-profile .avatar { width: 34px; height: 34px; grid-column: 1; grid-row: 1 / 3; margin: 0; font-size: 18px; }
  .post-profile h3 { grid-column: 2; grid-row: 1; }
  .post-profile .member-rank { grid-column: 2; grid-row: 2; margin: 0; }
  .post-profile dl { display: none; }
  .post-body { grid-column: 1; grid-row: 3; }
  .post-actions { grid-column: 1; grid-row: 4; }
  .quote-head { min-height: 0; }
  .quote-body { padding: 8px 9px 9px; }
  .inline-quote-nested > .quote-body { padding: 6px 7px 7px; }
  .profile-grid { grid-template-columns: 1fr; }
  .profile-grid > * { border-right: 0; border-bottom: 1px solid white; }
  .member-activity li { grid-template-columns: 55px minmax(0, 1fr); }
  .member-activity time { display: none; }
}

@media (max-width: 550px) {
  .brand strong { font-size: 24px; }
  .brand-mark { width: 54px; margin-right: -6px; }
  .nav-primary a span { display: none; }
  .quick-links summary span { display: none; }
  .category-head { grid-template-columns: minmax(0, 1fr) 65px; }
  .category-head > span:last-child { display: none; }
  .forum-row { grid-template-columns: minmax(0, 1fr) 65px; }
  .forum-latest { display: none; }
  .forum-main { grid-template-columns: 43px minmax(0, 1fr); padding-right: 8px; }
  .forum-icon { transform: scale(.82); }
  .forum-title-block { display: block; }
  .forum-title-block .button { margin-top: 9px; }
  .topic-grid { grid-template-columns: minmax(0, 1fr) 52px 52px; }
  .topic-main { grid-template-columns: 34px minmax(0, 1fr); padding-left: 5px; }
  .topic-copy h2 { white-space: normal; }
  .topic-title-block h1 { font-size: 19px; }
  .topic-tools { align-items: flex-start; }
  .topic-tool-links { flex-direction: column; gap: 3px; text-align: right; }
  .list-tools { align-items: flex-start; flex-direction: column; }
  .list-tools .pagination { align-self: stretch; justify-content: space-between; }
  .page-count { display: none; }
  .pagination ol { flex-wrap: wrap; }
  .list-tools-bottom { flex-direction: column-reverse; }
  .search-control { align-items: stretch; flex-direction: column; }
  .search-control .button { align-self: flex-start; }
  .mapping-list div { grid-template-columns: 1fr; gap: 1px; }
}

@media (max-width: 400px) {
  .brand-mark { display: none; }
  .site-header { min-height: 68px; }
  .navbar { align-items: center; }
  .nav-user .guest-label { display: none !important; }
  .topic-grid { grid-template-columns: minmax(0, 1fr) 47px 47px; }
  .topic-main { grid-template-columns: 28px minmax(0, 1fr); }
  .topic-icon { transform: scale(.8); }
}

@media print {
  body { padding: 0; background: white; }
  .page-shell { width: 100%; box-shadow: none; }
  .site-header,
  .navbar,
  .board-trail,
  .site-footer,
  .topic-tools,
  .list-tools,
  .post-actions { display: none !important; }
  .post { break-inside: avoid; border: 1px solid #aaa; background: white !important; }
}
