/* Same solar identity as the visitor site; forum and admission controls retained. */
:root {
  color-scheme: dark;
  --paper: #000;
  --white: #fff;
  --ink: #fff;
  --muted: #b8b8b4;
  --gold: #ffd700;
  --line: #ffffff26;
  --wash: #0b0b0b;
  --serif: 'Times New Roman', Times, serif;
  --sans: Arial, Helvetica, sans-serif;
}
html { scroll-padding-top: 25px; }
body { background: #000; color: #fff; line-height: 1.75; }
::selection { background: var(--gold); color: #000; }
a { text-decoration: none; }
a:hover { color: var(--gold); }
h1, h2, h3 { text-wrap: balance; }
h1 { letter-spacing: -.025em; }
em { color: var(--gold); font-weight: 400; }
.top { max-width: 1280px; padding: 24px 48px; border-bottom-color: #ffd70040; gap: 26px; flex-wrap: wrap; }
.brand { gap: 12px; }
.brand strong { font: 18px var(--serif); letter-spacing: .045em; }
.brand .brand-light { color: var(--gold); }
.brand .sub { font: 9px/1.6 var(--sans); letter-spacing: .14em; color: var(--muted); margin-top: 6px; }
.brand img { width: 36px; height: 36px; }
.top-actions { gap: 23px; }
.top-actions a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
.top-actions a[aria-current=page] { color: var(--gold); }
.top-actions .user-chip { max-width: 150px; color: var(--muted); }
.btn, .button { background: var(--gold); border-color: var(--gold); color: #000; border-radius: 0; min-height: 44px; padding: 11px 20px; font-size: 13px; font-weight: 400; }
.btn.primary:hover, .button:hover { background: #fff; border-color: #fff; color: #000; }
.btn.ghost, .button.outline { background: transparent; color: var(--gold); border-color: #ffd70065; }
.btn.ghost:hover, .button.outline:hover { background: #ffd70012; color: var(--gold); border-color: var(--gold); }
.menu-toggle { display: none; background: none; border: 1px solid #ffd70070; color: var(--gold); padding: 8px 12px; min-height: 44px; font-size: 14px; }
.eyebrow { font-size: 11px; letter-spacing: .16em; line-height: 1.7; margin-bottom: 22px; }
.crumb { color: var(--muted); font-size: 12px; text-transform: none; letter-spacing: 0; }
.crumb a { color: var(--gold); }
.forum-welcome { max-width: 1184px; padding: 65px 24px 55px; grid-template-columns: 1fr 205px; gap: 65px; }
.forum-welcome h1 { font-size: clamp(40px, 4.5vw, 64px); line-height: 1.08; margin-bottom: 24px; }
.forum-welcome .lead { font: 24px/1.5 var(--serif); color: #fff; max-width: 650px; }
.forum-welcome .hint { font-size: 13px; }
.portrait-card { transform: none; padding: 0; border: 0; background: #000; }
.portrait-card img { border: 1px solid #ffd70065; }
.portrait-card figcaption { color: var(--gold); font-size: 9px; margin-top: 6px; }
.community-layout { max-width: 1184px; padding: 0 24px 65px; grid-template-columns: minmax(0, 1fr) 250px; gap: 48px; }
.forum-sidebar { border: 1px solid #ffd70045; border-radius: 0; padding: 26px; background: #080808; }
.forum-sidebar h2 { font-size: 31px; }
.forum-sidebar p { font-size: 13px; }
.forum-sidebar a { color: var(--gold); min-height: 44px; display: flex; align-items: center; margin: 6px 0; }
.values-list { color: var(--gold); font-size: 10px; border-top-color: #ffd70045; }
.app h1 { font-size: clamp(32px, 4vw, 48px); }
.app h2 { font-size: 32px; margin-bottom: 18px; }
.app > .crumb { border-top: 1px solid #ffd70040; padding-top: 25px; }
.app .hint { line-height: 1.8; }
.cats { gap: 18px; margin: 26px 0 45px; }
.cat-card { padding: 24px; border-radius: 0; background: #080808; border-color: #ffffff26; border-top-color: #ffd70080; }
.cat-card:hover { background: #10100b; }
.cat-card strong { color: #fff; font-size: 26px; }
.cat-card p { font-size: 13px; }
.cat-card p:last-child { color: var(--gold); font-size: 11px; letter-spacing: .05em; margin-top: 20px; }
.post-item { padding: 27px 0; }
.post-item h3 { font-size: 27px; line-height: 1.2; }
.post-item > p { font-size: 14px; }
.meta { color: var(--muted); gap: 8px 12px; }
.badge { border-radius: 0; padding: 2px 8px; }
.badge.europa { border-color: #ffd70065; color: var(--gold); }
.panel { background: #080808; border-color: #ffffff30; border-radius: 0; padding: 30px; }
.body { font-size: 16px; }
.comment.europa { background: #0d0c06; border-color: #ffd70065; border-radius: 0; }
.comment.europa .author { color: var(--gold); }
.attachments img { max-width: 100%; }
.row { gap: 12px 20px; }
label { font-size: 14px; color: #fff; margin: 18px 0; }
input, textarea, select { border-radius: 0; background: #000; border: 1px solid #ffffff45; color: #fff; font-size: 16px; padding: 13px; min-height: 48px; }
input::placeholder, textarea::placeholder { color: #999; }
textarea { min-height: 150px; }
input[type=checkbox] { min-height: 0; accent-color: var(--gold); width: 18px; height: 18px; }
input[type=file] { min-width: 0; width: 100%; font-size: 13px; padding: 10px; }
input[type=file]::file-selector-button { background: #191919; color: var(--gold); border: 1px solid #ffd70055; border-radius: 0; margin-right: 12px; padding: 9px 12px; cursor: pointer; }
.status { font-size: 14px; }
.error { color: #ffaca0; }
.status.success { color: #bbe0a7; }
dialog { color: #fff; background: #080808; border: 1px solid #ffd70060; border-radius: 0; max-height: calc(100dvh - 40px); overflow-y: auto; }
dialog::backdrop { background: #000b; }
dialog .panel { border: 0; }
dialog h2 { font-size: 34px; }
.skip { background: var(--gold); color: #000; }
.site-footer { max-width: 1184px; padding: 34px 24px; border-top-color: #ffd70045; gap: 22px; }
.site-footer .brand { color: #fff; font: 17px var(--serif); }
.site-footer .brand img { width: 32px; height: 32px; }
.site-footer .footer-brand { gap: 12px; font: 17px var(--serif); color: #fff; }
.site-footer .footer-values { margin: 0; align-self: center; }
.site-footer a { min-height: 44px; display: inline-flex; align-items: center; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; gap: 6px 24px; }
.site-footer .social-links { gap: 4px 28px; }
.site-footer .social-links a { color: var(--muted); font-size: 12px; }
.site-footer .social-links a:hover { color: var(--gold); }
.portal { padding: 50px 32px 75px; }
.admission { max-width: 1184px; }
.admission-heading { max-width: 800px; border-bottom: 1px solid #ffd70045; padding-bottom: 16px; margin-bottom: 32px; }
.admission-heading > p:not(.eyebrow) { max-width: 710px; color: var(--muted); }
.admission-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 55px; align-items: start; }
.admission-layout form { min-width: 0; }
.admission-guide { position: sticky; top: 25px; border: 1px solid #ffd70045; padding: 25px; background: #080808; }
.admission-guide h2 { font-size: 29px; }
.admission-guide p { font-size: 13px; color: var(--muted); }
.admission-guide .eyebrow, .forum-sidebar .eyebrow { color: var(--gold); }
.admission-guide > a { display: flex; align-items: center; min-height: 44px; color: var(--gold); font-size: 13px; }
.admission-guide .admission-steps { margin-bottom: 16px; }
.application-required { font-size: 12px; color: var(--muted); margin-bottom: 0; }
.admission-guide .admission-steps { grid-template-columns: 1fr; }
.admission-guide .admission-steps span { color: var(--muted); }
.admission h1 { font-size: clamp(42px, 5vw, 64px); line-height: 1.1; margin-bottom: 25px; }
.admission > p, .admission-intro p { max-width: 720px; color: var(--muted); }
.admission .notice { background: #0b0b0b; border: 0; border-left: 2px solid var(--gold); padding: 20px 24px; margin: 26px 0; color: #ccc; font-size: 13px; }
.admission fieldset { min-width: 0; border-radius: 0; border-color: #ffd70050; background: #080808; padding: 20px 30px 25px; margin: 38px 0; }
.admission legend { color: var(--gold); font-size: 27px; padding-inline: 12px; }
.field-grid { gap: 0 24px; }
.field-grid > label { min-width: 0; }
.field-help { color: var(--muted); font-size: 12px; }
.photo-preview { border: 1px solid #ffd70065; padding: 5px; background: #000; }
.admission .check { background: #0a0a0a; border-top: 1px solid var(--line); padding: 22px 20px; font-size: 14px; }
.admission .check input { margin-top: 5px; }
.admission .row { padding-top: 15px; }
.admission .hint { font-size: 13px; }
.admission-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0; list-style: none; margin: 30px 0; }
.admission-steps li { border-top: 1px solid #ffd70050; padding-top: 14px; font-size: 13px; color: var(--muted); }
.admission-steps strong { display: block; font: 23px var(--serif); color: #fff; margin-bottom: 7px; }
.admission-steps span { color: var(--gold); }
.admission-card { border-color: #ffd70045; }
.admission-card h2 { color: #fff; }
.admission-card p { color: var(--muted); }
@media (max-width: 1100px) {
  .top { padding-inline: 28px; }
  .top-actions { gap: 16px; }
  .community-layout { gap: 28px; }
}
@media (max-width: 1000px) {
  .top { align-items: center; justify-content: space-between; }
  html[data-navigation] .menu-toggle { display: inline-flex; align-items: center; gap: 10px; }
  #main-navigation { width: 100%; flex-direction: column; align-items: stretch; gap: 3px; border-top: 1px solid var(--line); padding-top: 12px; }
  #main-navigation a { min-height: 44px; padding: 10px 12px; font-size: 15px; }
  #main-navigation .btn { align-self: flex-start; margin: 6px 12px; }
  #main-navigation .user-chip { padding: 10px 12px; max-width: none; }
  html[data-navigation] .menu-toggle[aria-expanded=false] + #main-navigation { display: none; }
}
@media (max-width: 850px) {
  .community-layout { grid-template-columns: minmax(0, 1fr); }
  .forum-welcome { grid-template-columns: minmax(0, 1fr) 150px; gap: 30px; }
  .forum-welcome .lead { font-size: 22px; }
  .forum-sidebar { position: static; }
  .forum-sidebar .eyebrow { grid-column: 1 / -1; }
  .admission-layout { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .admission-guide { position: static; }
}
@media (max-width: 700px) {
  .top { padding: 18px 20px; gap: 15px; }
  .brand strong { font-size: 16px; }
  .brand img { width: 32px; height: 32px; }
  .brand .sub { font-size: 8px; }
  .forum-welcome { grid-template-columns: 1fr; padding: 40px 20px 30px; }
  .forum-welcome h1 { font-size: 42px; }
  .forum-welcome .lead { font-size: 23px; }
  .portrait-card { display: none; }
  .community-layout { padding: 0 20px 45px; gap: 35px; }
  .cats { gap: 18px; }
  .cat-card { padding: 20px; }
  .cat-card strong { font-size: 25px; }
  .app h2 { font-size: 29px; }
  .post-item h3 { font-size: 26px; }
  .panel { padding: 20px; }
  .forum-sidebar { padding: 24px; }
  .site-footer { padding: 30px 20px; }
  .portal { padding: 35px 20px 50px; }
  .admission h1 { font-size: 43px; }
  .admission fieldset { padding: 12px 18px 20px; margin-block: 30px; }
  .admission legend { font-size: 24px; }
  .admission .notice { padding: 18px 20px; }
  .admission .check { padding: 18px; }
  .field-grid { grid-template-columns: 1fr; }
  .admission-steps { gap: 12px; }
  .admission-steps strong { font-size: 21px; }
}
@media (max-width: 520px) {
  .top { flex-direction: row; }
  .top-actions { width: 100%; }
  .cats { grid-template-columns: 1fr; }
  .admission-steps { grid-template-columns: 1fr; gap: 16px; }
  .admission .row { align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) { .cat-card:hover { transform: none; } }

/* Studio admission: private email followed by a Telegram join request. */
.telegram-next-step[hidden] { display: none; }
.telegram-next-step { padding: 26px; border: 1px solid var(--gold); margin: 22px 0; background: #0a0a0a; }
.telegram-next-step h2 { font-size: 29px; margin: 8px 0 16px; }
.telegram-next-step .btn { white-space: normal; text-align: center; }
.application-availability { margin-top: 0; }
#admission-form [type=submit]:disabled { opacity: .55; cursor: not-allowed; }

/* Forum discussion layout: navigation, conversation feed and community context.
   Scoped to the forum so the Studio application keeps its existing layout. */
.forum-page { background: #000; }
.forum-page .forum-shell { display: grid; grid-template-columns: 218px minmax(0, 1fr); gap: 26px; max-width: 1390px; padding: 0 28px; margin: auto; align-items: start; }
.forum-page .forum-rail { display: block; position: sticky; top: 0; height: 100dvh; overflow-y: auto; padding: 30px 0 24px; margin: 0; border: 0; max-width: none; }
.forum-page .forum-rail .brand { gap: 11px; white-space: nowrap; }
.forum-page .forum-rail .brand img { width: 37px; height: 37px; }
.forum-page .forum-rail .brand strong { font-size: 16px; letter-spacing: .025em; }
.forum-page .forum-rail .sub { font-size: 9px; letter-spacing: .14em; }
.forum-page #main-navigation { flex-direction: column; align-items: stretch; gap: 3px; margin-top: 34px; }
.forum-page #main-navigation > a { padding: 10px 14px; min-height: 44px; font-size: 14px; border-radius: 3px; }
.forum-page #main-navigation > a:hover { background: #10100c; }
.forum-page #main-navigation > .rail-primary { gap: 15px; color: #eee; font-size: 16px; }
.forum-page #main-navigation > .rail-primary[aria-current=page] { color: var(--gold); background: #ffd7000c; box-shadow: inset 2px 0 var(--gold); }
.forum-page .rail-icon { width: 22px; text-align: center; font: 24px/1 var(--sans); }
.forum-page #main-navigation .rail-compose { margin: 16px 0 4px; color: #000; background: var(--gold); gap: 12px; font-size: 14px; }
.forum-page #main-navigation .rail-compose:hover { background: #fff; }
.forum-page .rail-label { font: 10px/1.5 var(--sans); color: #888; letter-spacing: .16em; margin: 26px 14px 8px; }
.forum-page #main-navigation #btn-login { margin-top: 24px; }
.forum-page #main-navigation #btn-logout { margin-top: 10px; }
.forum-page #main-navigation .user-chip { margin: 24px 14px 0; max-width: none; }
.forum-page .community-layout { margin: 0; padding: 24px 0 50px; max-width: none; grid-template-columns: minmax(0, 1fr) 268px; gap: 24px; align-items: start; }
.forum-page .forum-feed-column { min-width: 0; border: 1px solid #ffffff24; background: #070707; border-radius: 5px; overflow: hidden; }
.forum-page .feed-intro { display: block; padding: 28px 25px 24px; margin: 0; border-bottom: 1px solid var(--line); background: #0d0d09; }
.forum-page .feed-intro .eyebrow { margin-bottom: 12px; font-size: 10px; }
.forum-page .feed-intro h1 { font-size: 35px; line-height: 1.15; margin-bottom: 14px; }
.forum-page .feed-intro .lead { font: 14px/1.7 var(--sans); color: #c5c5c1; margin-bottom: 12px; }
.forum-page .feed-intro .hint { color: #989894; font-size: 12px; margin: 0; }
.forum-page .app { min-height: 280px; }
.forum-page .feed-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 23px 24px; border-bottom: 1px solid var(--line); }
.forum-page .feed-heading .eyebrow { font-size: 9px; margin: 0 0 6px; }
.forum-page .feed-heading h1, .forum-page .feed-heading h2 { font-size: 27px; margin: 0; letter-spacing: -.02em; }
.forum-page .feed-heading .hint { margin: 10px 0 0; }
.forum-page .feed-back { flex-shrink: 0; color: var(--gold); font-size: 11px; min-height: 44px; display: inline-flex; align-items: center; gap: 7px; }
.forum-page .feed-description { font-size: 14px; color: var(--muted); padding: 22px 24px 0; margin: 0; }
.forum-page .feed-compose { display: flex; align-items: center; gap: 14px; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.forum-page .compose-mark { width: 39px; height: 39px; flex: 0 0 39px; display: grid; place-items: center; border: 1px solid #ffd70050; border-radius: 50%; color: var(--gold); font-size: 23px; }
.forum-page .feed-compose > div { flex: 1; }
.forum-page .feed-compose strong { display: block; font-size: 13px; font-weight: 500; }
.forum-page .feed-compose p { color: #969692; font-size: 11px; margin: 4px 0 0; }
.forum-page .feed-compose .btn { padding-inline: 14px; font-size: 12px; }
.forum-page .post-list { margin: 0; border-top: 0; }
.forum-page .post-item { display: grid; grid-template-columns: 39px minmax(0, 1fr); gap: 14px; padding: 24px; border-bottom: 1px solid var(--line); transition: background .15s; }
.forum-page .post-item:last-child { border-bottom: 0; }
.forum-page .post-item:hover { background: #10100d; color: #fff; }
.forum-page .post-avatar { width: 39px; height: 39px; display: grid; place-items: center; background: #171710; border: 1px solid #ffd7003a; border-radius: 5px; color: var(--gold); font: 15px var(--serif); }
.forum-page .post-byline { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 11px; }
.forum-page .post-byline strong { color: #eee; font-size: 12px; font-weight: 600; }
.forum-page .post-byline time { color: #92928e; font-size: 10px; }
.forum-page .post-item h3 { font-size: 24px; margin: 0 0 11px; line-height: 1.25; overflow-wrap: anywhere; }
.forum-page .post-preview { color: #c7c7c3; font-size: 13px; line-height: 1.75; margin: 0; overflow-wrap: anywhere; }
.forum-page .post-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 16px; color: #969692; font-size: 10px; }
.forum-page .post-topic { color: #d5c87e; }
.forum-page .post-replies { margin-left: auto; }
.forum-page .post-bottom .badge { font-size: 9px; line-height: 1.6; }
.forum-page .cats { grid-template-columns: 1fr; margin: 24px; gap: 12px; }
.forum-page .cat-card { display: grid; grid-template-columns: 24px 1fr; column-gap: 12px; padding: 20px; border: 1px solid var(--line); background: #0b0b0b; border-radius: 3px; }
.forum-page .cat-card:hover { transform: none; border-color: #ffd70055; background: #11110d; }
.forum-page .topic-mark { grid-row: 1 / 4; color: var(--gold); font: 25px var(--serif); }
.forum-page .cat-card strong { font-size: 24px; }
.forum-page .cat-card p { grid-column: 2; margin: 7px 0 0; font-size: 12px; }
.forum-page .cat-card p:last-child { margin-top: 12px; color: #b8ad75; font-size: 10px; }
.forum-page .cat-card p:last-child span { float: right; }
.forum-page .app > .crumb { border-top: 0; padding: 20px 24px; margin: 0; border-bottom: 1px solid var(--line); }
.forum-page .app > .panel { border: 0; border-radius: 0; padding: 26px 24px; }
.forum-page .app > .loading, .forum-page .app > .error, .forum-page .empty-state { padding: 28px 24px; margin: 0; }
.forum-page .empty-state p { font-size: 13px; }
.forum-page .empty-state a { color: var(--gold); font-size: 12px; }
.forum-page .thread-title { font-size: 33px; line-height: 1.15; }
.forum-page .thread-body { white-space: pre-wrap; overflow-wrap: anywhere; margin: 24px 0 0; font-size: 15px; line-height: 1.85; }
.forum-page .comments { padding: 24px; border-top: 1px solid var(--line); margin: 0; }
.forum-page .comments > h2 { font-size: 25px; }
.forum-page .comments .panel { padding: 22px; }
.forum-page .comment .body { font-size: 14px; }
.forum-page .forum-sidebar { display: block; position: sticky; top: 24px; padding: 0; border: 0; background: none; border-radius: 0; }
.forum-page .community-about { border: 1px solid var(--line); border-radius: 5px; overflow: hidden; background: #090909; }
.forum-page .community-portrait { margin: 0; }
.forum-page .community-portrait img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 25%; }
.forum-page .community-about-copy { padding: 22px; }
.forum-page .community-about-copy .eyebrow { font-size: 9px; margin-bottom: 10px; }
.forum-page .community-about-copy h2 { font-size: 29px; margin-bottom: 13px; }
.forum-page .community-about-copy p:last-child { margin: 0; font-size: 12px; }
.forum-page .europa-sidebar-card { border: 1px solid var(--line); background: #090909; border-radius: 5px; padding: 22px; margin-top: 18px; }
.forum-page .europa-sidebar-card .eyebrow { font-size: 9px; margin-bottom: 12px; }
.forum-page .europa-sidebar-card h2 { font-size: 28px; margin-bottom: 15px; }
.forum-page .europa-sidebar-card p { font-size: 12px; }
.forum-page .europa-sidebar-card #europa-status { border-left: 2px solid #ffd70070; padding-left: 12px; color: #aaa; font-size: 11px; }
.forum-page .europa-sidebar-card a { min-height: 40px; margin: 0; font-size: 11px; }
.forum-page .values-list { color: #b3aa77; font-size: 9px; letter-spacing: .12em; border-top-color: var(--line); margin-top: 18px; padding-top: 16px; }
.forum-page .forum-footer { max-width: 1390px; padding: 30px 28px 38px 272px; border-top-color: var(--line); }
.forum-page .forum-footer .footer-brand { font-size: 14px; }
.forum-page .forum-footer .footer-brand img { width: 26px; height: 26px; }
.forum-page .forum-footer .footer-values { font-size: 11px; }
@media (max-width: 1220px) and (min-width: 1001px) {
  .forum-page .forum-shell { grid-template-columns: 190px minmax(0, 1fr); gap: 20px; padding-inline: 22px; }
  .forum-page .community-layout { grid-template-columns: minmax(0, 1fr) 230px; gap: 18px; }
  .forum-page .forum-rail .brand strong { font-size: 14px; }
  .forum-page .forum-rail .brand img { width: 30px; height: 30px; }
  .forum-page .feed-compose { flex-wrap: wrap; }
  .forum-page .feed-compose .btn { margin-left: 53px; }
  .forum-page .forum-footer { padding-left: 232px; }
}
@media (max-width: 1000px) {
  .forum-page .forum-shell { display: block; padding: 0 24px; }
  .forum-page .forum-rail { display: flex; position: static; height: auto; overflow: visible; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: center; }
  .forum-page #main-navigation { margin-top: 0; }
  .forum-page #main-navigation > .rail-primary { font-size: 15px; }
  .forum-page #main-navigation .rail-compose { align-self: flex-start; padding-inline: 20px; }
  .forum-page #main-navigation .btn { margin-left: 0; }
  .forum-page .rail-label { margin-top: 16px; }
  .forum-page .community-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 20px; }
  .forum-page .forum-sidebar { position: static; }
  .forum-page .forum-footer { padding: 25px 24px; }
  .forum-page .feed-compose { flex-wrap: wrap; }
  .forum-page .feed-compose .btn { margin-left: 53px; }
}
@media (max-width: 760px) {
  .forum-page .forum-shell { padding: 0 16px; }
  .forum-page .community-layout { grid-template-columns: 1fr; padding-top: 18px; gap: 24px; }
  .forum-page .forum-rail { padding: 17px 4px; }
  .forum-page .forum-rail .brand strong { font-size: 15px; }
  .forum-page .forum-rail .brand img { width: 33px; height: 33px; }
  .forum-page .feed-intro { padding: 24px 20px; }
  .forum-page .feed-intro h1 { font-size: 32px; }
  .forum-page .feed-heading { padding: 20px; flex-wrap: wrap; gap: 6px 16px; }
  .forum-page .feed-heading h1, .forum-page .feed-heading h2 { font-size: 26px; }
  .forum-page .feed-back { font-size: 11px; }
  .forum-page .feed-compose { padding: 18px 20px; gap: 12px; }
  .forum-page .feed-compose > div { min-width: 140px; }
  .forum-page .feed-compose .btn { margin-left: 51px; }
  .forum-page .post-item { padding: 22px 20px; grid-template-columns: 33px minmax(0, 1fr); gap: 12px; }
  .forum-page .post-avatar { width: 33px; height: 33px; font-size: 13px; }
  .forum-page .post-item h3 { font-size: 23px; }
  .forum-page .post-byline { gap: 3px 10px; }
  .forum-page .post-replies { margin-left: 0; }
  .forum-page .cats { margin: 20px; }
  .forum-page .app > .panel, .forum-page .comments { padding: 22px 20px; }
  .forum-page .comments .panel { padding: 18px; }
  .forum-page .community-about { display: grid; grid-template-columns: 110px 1fr; }
  .forum-page .community-portrait img { height: 100%; aspect-ratio: auto; object-position: center; }
  .forum-page .community-about-copy { padding: 20px; }
  .forum-page .community-about-copy h2 { font-size: 25px; }
  .forum-page .forum-footer { padding: 25px 20px; }
}
@media (prefers-reduced-motion: reduce) { .forum-page .post-item { transition: none; } }
