.forum-shell{padding:42px 0 70px}.forum-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}.forum-main-title{font-size:clamp(36px,5vw,64px);margin:4px 0 0}.forum-main-title a{color:var(--text)}.forum-tools{display:flex;gap:8px;flex-wrap:wrap}.forum-flash{margin-bottom:18px}.forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.forum-main-column{display:grid;gap:18px}.forum-category{padding:0;overflow:hidden}.forum-category-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 55%,transparent)}.forum-category-head h2{margin:0}.forum-category-head p{margin:5px 0 0}.forum-count{font-size:12px;color:var(--muted);white-space:nowrap}.forum-topic-row{display:grid;grid-template-columns:46px minmax(0,1fr) 72px 72px 170px;gap:12px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);color:var(--text)}.forum-topic-row:last-child{border-bottom:0}.forum-topic-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.forum-topic-icon{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:var(--panel2)}.forum-topic-title{font-weight:800}.forum-topic-meta{font-size:12px;margin-top:4px}.forum-topic-stat,.forum-topic-latest{display:flex;flex-direction:column;align-items:center;font-size:12px;color:var(--muted)}.forum-topic-stat b,.forum-topic-latest b{color:var(--text);font-size:14px}.forum-topic-latest{align-items:flex-start}.forum-badge{display:inline-flex;align-items:center;margin-left:8px;padding:3px 7px;border-radius:999px;border:1px solid var(--line);font-size:10px;color:var(--muted);vertical-align:2px}.forum-side-column{display:grid;align-content:start;gap:18px}.forum-side-card h3{margin-top:0}.forum-featured-post{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text)}.forum-featured-post:last-child{border-bottom:0}.forum-featured-post span,.forum-featured-post small{color:var(--muted);font-size:12px}.forum-empty{padding:24px;color:var(--muted);text-align:center}.forum-breadcrumb{display:flex;gap:8px;color:var(--muted);font-size:13px;margin-bottom:14px}.forum-topic-opening{padding:24px}.forum-topic-opening-head{display:flex;justify-content:space-between;gap:16px}.forum-topic-opening h1{font-size:28px;line-height:1.25;margin:8px 0}.forum-topic-flags .forum-badge{margin:0 6px 0 0}.forum-topic-views{font-size:28px;font-weight:900;text-align:center}.forum-topic-views span{display:block;font-size:11px;color:var(--muted);font-weight:500}.forum-topic-body{border-top:1px solid var(--line);margin-top:18px;padding-top:20px;font-size:16px;line-height:1.8;white-space:normal}.forum-discussion-title{margin:28px 0 14px}.forum-discussion-title span{color:var(--muted);font-size:.65em}.forum-posts{display:grid;gap:14px}.forum-post{padding:0;display:grid;grid-template-columns:220px minmax(0,1fr);overflow:hidden}.forum-member-card{padding:18px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 58%,transparent);display:flex;flex-direction:column;align-items:center}.forum-avatar{width:76px;height:76px;border-radius:16px;object-fit:cover;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.22)}.forum-avatar-empty{display:grid;place-items:center;font-size:30px;font-weight:900;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,var(--panel2)),var(--panel))}.forum-avatar-large{width:132px;height:132px;border-radius:24px}.forum-member-name{font-size:16px;font-weight:900;margin-top:10px;color:var(--text)}.forum-member-rank{color:var(--accent);font-size:11px;margin-top:2px}.forum-character-box{width:100%;display:grid;gap:3px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.forum-character-box b{color:var(--text);font-size:13px}.is-online{color:#75e69c}.is-offline{color:var(--muted)}.forum-member-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:12px;font-size:11px;color:var(--muted)}.forum-member-stats b{color:var(--text)}.forum-post-content{padding:18px 20px;min-width:0}.forum-post-head{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.forum-post-head time{margin-left:auto}.forum-status{padding:3px 7px;border-radius:999px;font-size:10px}.forum-status.pending{color:#ffd27a;border:1px solid rgba(255,210,122,.35)}.forum-post-text{padding:20px 0;line-height:1.75;min-height:90px;overflow-wrap:anywhere}.forum-quote{display:grid;gap:4px;margin-top:14px;padding:10px 12px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);font-size:12px}.forum-quote span{color:var(--muted)}.forum-signature{border-top:1px dashed var(--line);padding-top:12px;color:var(--muted);font-size:12px;font-style:italic}.forum-post-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.forum-post-actions form{display:flex;gap:6px}.forum-action{appearance:none;border:1px solid var(--line);background:var(--panel2);color:var(--muted);padding:6px 9px;border-radius:9px;font:inherit;font-size:11px;cursor:pointer}.forum-action:hover,.forum-action.active{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel2))}.forum-action.static{cursor:default}.forum-reply-box{margin-top:18px}.forum-reply-box textarea{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:12px}.forum-replying{margin-bottom:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}.forum-link-button{border:0;background:none;color:var(--accent);cursor:pointer}.forum-login-callout{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:14px}.forum-report-modal[hidden]{display:none}.forum-report-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px}.forum-report-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}.forum-report-dialog{position:relative;z-index:1;width:min(520px,100%)}.forum-modal-x{position:absolute;right:12px;top:10px;border:0;background:none;color:var(--muted);font-size:24px;cursor:pointer}.forum-profile-card{padding:24px}.forum-profile-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px}.forum-profile-preview{text-align:center}.forum-profile-preview h2,.forum-profile-preview h1{margin-bottom:4px}.forum-public-profile{display:grid;gap:24px;text-align:center}.forum-public-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.forum-public-stats>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);display:flex;flex-direction:column;gap:4px}.forum-public-stats span{font-size:11px;color:var(--muted)}.forum-public-stats b{font-size:18px}.forum-character-profile{border-top:1px solid var(--line);padding-top:18px}.forum-profile-signature{color:var(--muted);font-style:italic}.forum-section-title{display:flex;justify-content:space-between;align-items:center}.forum-notification{display:flex;justify-content:space-between;gap:16px;padding:14px 10px;border-top:1px solid var(--line);color:var(--text)}.forum-notification time{font-size:11px;color:var(--muted);white-space:nowrap}.forum-notification.unread{background:color-mix(in srgb,var(--accent) 6%,transparent);font-weight:700}
@media(max-width:1050px){.forum-layout{grid-template-columns:1fr}.forum-side-column{grid-template-columns:1fr 1fr}.forum-topic-row{grid-template-columns:42px minmax(0,1fr) 62px 62px}.forum-topic-latest{display:none}}
@media(max-width:760px){.forum-toolbar{align-items:flex-start;flex-direction:column}.forum-tools{width:100%}.forum-tools .btn{flex:1}.forum-post{grid-template-columns:1fr}.forum-member-card{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;column-gap:12px;text-align:left;align-items:center}.forum-avatar{width:64px;height:64px;grid-row:1/3}.forum-member-name,.forum-member-rank{margin:0}.forum-character-box,.forum-member-stats{grid-column:1/-1}.forum-member-stats{justify-content:flex-start}.forum-profile-grid{grid-template-columns:1fr}.forum-public-stats{grid-template-columns:1fr 1fr}.forum-side-column{grid-template-columns:1fr}.forum-topic-row{grid-template-columns:36px minmax(0,1fr) 54px}.forum-topic-stat:nth-of-type(4){display:none}.forum-topic-opening-head{flex-direction:column}.forum-topic-views{text-align:left}.forum-topic-views span{display:inline;margin-left:5px}}
@media(max-width:480px){.forum-shell{padding-top:24px}.forum-topic-row{grid-template-columns:32px minmax(0,1fr);padding:13px 12px}.forum-topic-stat{display:none}.forum-category-head{padding:15px}.forum-post-content{padding:14px}.forum-post-actions form{width:100%;flex-wrap:wrap}.forum-login-callout{align-items:stretch;flex-direction:column}.forum-public-stats{grid-template-columns:1fr 1fr}}

.forum-pagination{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin:18px 0}.forum-pagination a{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:var(--muted);background:var(--panel2)}.forum-pagination a:hover,.forum-pagination a.active{color:var(--text);border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--panel2))}


/* Forum advertising slots */
.forum-ad-zone{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:12px;margin:14px 0}
.forum-ad-zone:empty{display:none}
.forum-ad-zone>.forum-ad-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel2);box-sizing:border-box;flex-grow:0!important;flex-shrink:1!important;flex-basis:var(--forum-ad-width,320px)!important;width:var(--forum-ad-width,320px)!important;max-width:100%!important;min-width:0!important}
.forum-ad-link{position:relative;display:block;color:inherit;text-decoration:none;width:100%}
.forum-ad-zone>.forum-ad-card .forum-ad-image{display:block;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;background:#05070b}
.forum-ad-copy{display:grid;gap:4px;padding:11px 13px}
.forum-ad-copy strong{font-size:15px;color:var(--text)}
.forum-ad-copy small{color:var(--muted);line-height:1.45}
.forum-ad-button{justify-self:start;margin-top:4px;padding:6px 10px;border-radius:8px;background:var(--accent);color:#061018;font-weight:800;font-size:12px}
.forum-ad-zone-right_sidebar{margin:0 0 14px}
@media(max-width:900px){
  .forum-ad-zone{margin:10px 0;gap:10px}
  .forum-ad-zone>.forum-ad-card{flex-basis:var(--forum-ad-width,320px)!important;width:var(--forum-ad-width,320px)!important;max-width:100%!important}
  .forum-ad-zone-right_sidebar{order:-1}
}
@media(max-width:420px){
  .forum-ad-zone>.forum-ad-card{flex-basis:var(--forum-ad-width,320px)!important;width:var(--forum-ad-width,320px)!important;max-width:100%!important}
}


.forum-ad-image-only .forum-ad-image{border-radius:14px}
.forum-ad-image-only .forum-ad-copy{display:none}
.forum-ad-text-only .forum-ad-link{min-height:110px;display:grid;align-content:center}
.forum-ad-text-only .forum-ad-copy{padding:22px 18px}


/* Rich article content from Admin editor */
.forum-rich-content{font-size:16px;line-height:1.72;overflow-wrap:anywhere}.forum-rich-content>:first-child{margin-top:0}.forum-rich-content>:last-child{margin-bottom:0}
.forum-rich-content h2{font-size:clamp(24px,3vw,32px);line-height:1.28;margin:1.15em 0 .5em}.forum-rich-content h3{font-size:clamp(20px,2.5vw,26px);line-height:1.3;margin:1.1em 0 .45em}.forum-rich-content h4{font-size:18px;margin:1em 0 .4em}
.forum-rich-content p{margin:.7em 0}.forum-rich-content ul,.forum-rich-content ol{padding-left:1.6em}.forum-rich-content li{margin:.3em 0}
.forum-rich-content blockquote{margin:18px 0;padding:10px 16px;border-left:4px solid var(--accent);background:rgba(82,216,255,.06);border-radius:0 10px 10px 0}
.forum-rich-content pre{overflow:auto;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#080c13;color:#dce8f7;white-space:pre-wrap}.forum-rich-content code{font-family:Consolas,Monaco,monospace}
.forum-rich-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.forum-rich-content img{display:block;max-width:100%;height:auto;margin:auto;border-radius:10px}
.forum-rich-content figure{margin:20px auto;text-align:center}.forum-rich-content figcaption{margin-top:7px;color:var(--muted);font-size:13px}
.forum-rich-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;margin:18px 0}.forum-rich-content th,.forum-rich-content td{border:1px solid var(--line);padding:9px 11px;min-width:80px}.forum-rich-content th{background:var(--panel2);font-weight:800}
.forum-rich-content .forum-video{position:relative;width:min(100%,960px);margin:20px auto;aspect-ratio:16/9}.forum-rich-content .forum-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:12px}.forum-rich-content hr{border:0;border-top:1px solid var(--line);margin:24px 0}

.forum-title-fx{position:relative;display:inline-block;vertical-align:middle;padding:.06em .22em .10em;border-radius:14px;line-height:1.18;overflow:visible}
.forum-title-fx .forum-title-fx-text{position:relative;z-index:3;display:inline-block}
.forum-topic-title .forum-title-fx{font-size:1em;max-width:min(100%,860px)}
.forum-topic-title .forum-title-fx .forum-title-fx-text{overflow-wrap:anywhere}
.forum-topic-main-title{font-size:1em}
.forum-topic-opening h1 .forum-title-fx{max-width:min(100%,1000px)}
.forum-topic-opening h1 .forum-title-fx .forum-title-fx-text{overflow-wrap:anywhere}


/* Discord + social reactions + external media */
.forum-discord-card{overflow:hidden}.forum-discord-widget{display:block;width:100%;height:360px;border:0;border-radius:10px;background:#1e1f22}.forum-discord-join{width:100%;margin-top:10px;justify-content:center}
.forum-heart{color:#ff6b86}.forum-action.forum-heart.active{color:#ff4770;border-color:rgba(255,71,112,.65);background:rgba(255,71,112,.09)}
.forum-share{position:relative}.forum-share>summary{list-style:none;cursor:pointer}.forum-share>summary::-webkit-details-marker{display:none}.forum-share-menu{position:absolute;z-index:30;right:0;bottom:calc(100% + 8px);min-width:170px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 16px 36px rgba(0,0,0,.35);display:grid;gap:3px}.forum-share-menu a,.forum-share-menu button{display:block;width:100%;border:0;background:transparent;color:var(--text);padding:8px 10px;border-radius:7px;text-align:left;font:inherit;font-size:12px;cursor:pointer}.forum-share-menu a:hover,.forum-share-menu button:hover{background:var(--panel2);color:var(--accent)}
.forum-post-media{margin:6px 0 18px}.forum-post-image img{display:block;max-width:min(100%,900px);max-height:720px;width:auto;height:auto;border-radius:12px;border:1px solid var(--line);object-fit:contain;background:#07090d}.forum-post-video{width:min(100%,900px);aspect-ratio:16/9}.forum-post-video iframe,.forum-post-video video{display:block;width:100%;height:100%;border:0;border-radius:12px;background:#000}
.forum-reply-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.forum-reply-media-grid .field{margin:0}
.forum-character-box{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:10px;padding:10px!important;background:color-mix(in srgb,var(--accent) 4%,var(--panel2))}
@media(max-width:760px){.forum-reply-media-grid{grid-template-columns:1fr}.forum-share-menu{right:auto;left:0}.forum-discord-widget{height:330px}}


/* APPS1982 post footer alignment: member stats left / actions right */
@media (min-width:761px){
  .forum-post{align-items:stretch}
  .forum-member-card{height:100%;box-sizing:border-box}
  .forum-member-stats{
    width:100%;
    margin-top:auto;
    padding-top:14px;
    justify-content:flex-end;
    align-items:center;
    min-height:44px;
    box-sizing:border-box;
  }
  .forum-post-content{
    display:flex;
    flex-direction:column;
    min-height:100%;
    box-sizing:border-box;
  }
  .forum-post-actions{
    margin-top:auto;
    min-height:44px;
    justify-content:flex-end;
    align-items:center;
    box-sizing:border-box;
  }
  .forum-post-actions form{
    align-items:center;
    flex-wrap:wrap;
  }
  .forum-share{margin-left:0}
}

/* Mobile keeps the controls compact but still right-aligned */
@media (max-width:760px){
  .forum-post-actions{justify-content:flex-end}
  .forum-member-stats{justify-content:flex-end}
}
@media (max-width:480px){
  .forum-post-actions form{width:auto}
}


/* APPS1982 share button exact row alignment */
.forum-post-actions>.forum-share{
  display:inline-flex;
  align-items:center;
  align-self:center;
  margin:0;
  padding:0;
  line-height:1;
}
.forum-post-actions .forum-action{
  box-sizing:border-box;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  vertical-align:middle;
  margin:0;
}
.forum-post-actions>.forum-share>summary.forum-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  height:30px;
  padding:6px 9px!important;
  margin:0!important;
  line-height:1!important;
  box-sizing:border-box!important;
  list-style:none!important;
}
.forum-post-actions>.forum-share>summary.forum-action::marker{content:""}
.forum-post-actions>.forum-share>summary.forum-action::-webkit-details-marker{display:none}


/* APPS1982 FINAL: Share is a real button, exact same box as all post actions */
.forum-post-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}
.forum-post-actions form{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
}
.forum-post-actions .forum-action,
.forum-post-actions button.forum-action,
.forum-post-actions span.forum-action{
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:0 10px!important;
  margin:0!important;
  border-width:1px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  vertical-align:middle!important;
  white-space:nowrap;
}
.forum-post-actions .forum-share{
  position:relative;
  display:inline-flex!important;
  align-items:center!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
.forum-post-actions .forum-share-toggle{
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
}
.forum-share-menu[hidden]{display:none!important}
.forum-share-menu{
  position:absolute;
  z-index:50;
  right:0;
  bottom:calc(100% + 8px);
  min-width:170px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  box-shadow:0 16px 36px rgba(0,0,0,.35);
  display:grid;
  gap:3px;
}
@media(max-width:760px){
  .forum-share-menu{right:0;left:auto}
}

/* APPS1982 Forum reply CAPTCHA - aligned layout */
.forum-reply-captcha{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 122px 220px;
  gap:14px;
  align-items:center;
  margin:16px 0 10px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--panel2) 86%,transparent);
}
.forum-reply-captcha-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  min-width:0;
}
.forum-reply-captcha-info b{
  font-size:15px;
  line-height:1.2;
}
.forum-reply-captcha-info span{
  font-size:12px;
  line-height:1.35;
  color:var(--muted);
}
.forum-reply-captcha-code,
.forum-reply-captcha-input input{
  box-sizing:border-box;
  width:100%;
  height:44px;
  min-height:44px;
  border-radius:10px;
}
.forum-reply-captcha-code{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));
  background:#070b12;
  color:var(--accent);
  font:900 23px/1 Consolas,Monaco,monospace;
  letter-spacing:.20em;
  text-align:center;
  user-select:none;
  text-shadow:0 0 14px color-mix(in srgb,var(--accent) 55%,transparent);
}
.forum-reply-captcha-input{
  display:block;
  margin:0;
  padding:0;
}
.forum-reply-captcha-input input{
  display:block;
  margin:0;
  padding:0 14px;
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--text);
  outline:none;
  text-align:center;
  font:900 18px/1 Consolas,Monaco,monospace;
  letter-spacing:.18em;
}
.forum-reply-captcha-input input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);
}
.forum-reply-captcha-input input::placeholder{
  color:var(--muted);
  opacity:.78;
}
@media(max-width:900px){
  .forum-reply-captcha{
    grid-template-columns:minmax(220px,1fr) 120px 190px;
  }
}
@media(max-width:700px){
  .forum-reply-captcha{
    grid-template-columns:1fr 1fr;
  }
  .forum-reply-captcha-info{
    grid-column:1/-1;
  }
}
@media(max-width:460px){
  .forum-reply-captcha{
    grid-template-columns:1fr;
    gap:10px;
    padding:14px;
  }
  .forum-reply-captcha-info{
    grid-column:auto;
    text-align:center;
  }
}


/* APPS1982 semantic heading hierarchy */
.forum-topic-row h2.forum-topic-title{
  margin:0;
  font:inherit;
  font-weight:800;
  line-height:1.35;
}


/* APPS1982 automatic military-style member rank */
.forum-member-rankbox{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  margin-top:4px;
  line-height:1;
}
.forum-member-rank-name{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-align:center;
}
.forum-member-stars{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-height:15px;
  white-space:nowrap;
}
.forum-rank-star{
  display:inline-block;
  font-size:13px;
  line-height:1;
  transition:filter .18s ease,opacity .18s ease,transform .18s ease;
}
.forum-rank-star.is-earned{
  color:#ffd447;
  opacity:1;
  text-shadow:0 0 6px rgba(255,212,71,.45);
}
.forum-rank-star.is-locked{
  color:#5f6570;
  opacity:.26;
  text-shadow:none;
}
.forum-member-rankbox:hover .forum-rank-star.is-earned{
  filter:brightness(1.13);
}
.forum-member-rankbox-large{
  margin-top:5px;
  gap:5px;
}
.forum-member-rankbox-large .forum-member-rank-name{
  font-size:12px;
}
.forum-member-rankbox-large .forum-rank-star{
  font-size:17px;
}
@media(max-width:760px){
  .forum-member-rankbox{
    align-items:flex-start;
    margin:2px 0 0;
  }
  .forum-member-rankbox-large{
    align-items:center;
  }
}


/* APPS1982 reaction anti-spam: one reaction type per member per post */
.forum-action.reaction-locked,
.forum-action.reaction-locked:disabled{
  cursor:not-allowed!important;
  opacity:.72;
  pointer-events:none;
}
.forum-action.reaction-locked.active{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line));
  background:color-mix(in srgb,var(--accent) 11%,var(--panel2));
  color:var(--text);
}
.forum-action.forum-heart.reaction-locked.active{
  color:#ff5d7d;
  border-color:rgba(255,93,125,.62);
  background:rgba(255,93,125,.10);
}


/* APPS1982 Admin full-rank sparkle */
.forum-member-rankbox.is-admin-full{
  position:relative;
  isolation:isolate;
  padding:5px 9px 6px;
  border-radius:10px;
  overflow:visible;
}
.forum-member-rankbox.is-admin-full::before,
.forum-member-rankbox.is-admin-full::after{
  content:"✦";
  position:absolute;
  z-index:2;
  pointer-events:none;
  color:#fff4a8;
  text-shadow:
    0 0 4px #fff,
    0 0 9px #ffd447,
    0 0 15px rgba(255,212,71,.9);
  opacity:0;
}
.forum-member-rankbox.is-admin-full::before{
  left:-2px;
  top:-3px;
  font-size:10px;
  animation:forumAdminSparkA 1.8s ease-in-out infinite;
}
.forum-member-rankbox.is-admin-full::after{
  right:-3px;
  bottom:-2px;
  font-size:9px;
  animation:forumAdminSparkB 1.8s .6s ease-in-out infinite;
}
.forum-member-rankbox.is-admin-full .forum-member-rank-name{
  color:#ffd447;
  font-weight:900;
  text-shadow:0 0 7px rgba(255,212,71,.35);
}
.forum-member-rankbox.is-admin-full .forum-member-stars{
  position:relative;
}
.forum-member-rankbox.is-admin-full .forum-rank-star.is-earned{
  color:#ffe46b;
  text-shadow:
    0 0 4px rgba(255,255,255,.95),
    0 0 8px rgba(255,212,71,.95),
    0 0 14px rgba(255,180,0,.55);
  animation:forumAdminStarTwinkle 1.55s ease-in-out infinite;
}
.forum-member-rankbox.is-admin-full .forum-rank-star.is-earned:nth-child(2){animation-delay:.18s}
.forum-member-rankbox.is-admin-full .forum-rank-star.is-earned:nth-child(3){animation-delay:.36s}
.forum-member-rankbox.is-admin-full .forum-rank-star.is-earned:nth-child(4){animation-delay:.54s}
.forum-member-rankbox.is-admin-full .forum-rank-star.is-earned:nth-child(5){animation-delay:.72s}
@keyframes forumAdminStarTwinkle{
  0%,100%{filter:brightness(1);transform:scale(1)}
  45%{filter:brightness(1.65);transform:scale(1.18)}
  60%{filter:brightness(1.18);transform:scale(1.04)}
}
@keyframes forumAdminSparkA{
  0%,18%,100%{opacity:0;transform:scale(.35) rotate(0deg)}
  38%{opacity:1;transform:scale(1.25) rotate(75deg)}
  55%{opacity:.3;transform:scale(.7) rotate(130deg)}
}
@keyframes forumAdminSparkB{
  0%,22%,100%{opacity:0;transform:scale(.3) rotate(0deg)}
  42%{opacity:1;transform:scale(1.2) rotate(-80deg)}
  60%{opacity:.25;transform:scale(.65) rotate(-145deg)}
}
@media (prefers-reduced-motion:reduce){
  .forum-member-rankbox.is-admin-full::before,
  .forum-member-rankbox.is-admin-full::after,
  .forum-member-rankbox.is-admin-full .forum-rank-star.is-earned{
    animation:none!important;
    opacity:1;
    transform:none!important;
  }
}


/* APPS1982 rank layout: stars on top, military rank below */
.forum-member-rankbox{
  gap:4px;
}
.forum-member-rankbox .forum-member-stars{
  order:1;
}
.forum-member-rankbox .forum-member-rank-name{
  order:2;
  margin-top:1px;
  max-width:126px;
  line-height:1.15;
}
.forum-member-rankbox-large .forum-member-rank-name{
  max-width:220px;
}

/* APPS1982 army-inspired rank insignia icons
   Inspired by https://www.army.mil/ranks/
   Forum-safe CSS rendering only; no copied official art. */
.forum-member-rankbox{
  gap:4px;
}
.forum-member-rankbox .forum-member-stars{order:1}
.forum-member-rankbox .forum-rank-insignia{order:2}
.forum-member-rankbox .forum-member-rank-name{order:3}

.forum-rank-insignia{
  display:inline-flex;
  align-items:flex-end;
  justify-content:center;
  gap:2px;
  min-height:18px;
  white-space:nowrap;
  padding:1px 2px;
}
.forum-rank-insignia-mark{
  display:inline-block;
  position:relative;
  flex:0 0 auto;
  box-sizing:border-box;
}

/* Recruit diamond */
.forum-rank-insignia--diamond .forum-rank-insignia-mark{
  width:11px;height:11px;
  background:linear-gradient(135deg,#b8c0ce 0%,#e5eaf3 45%,#99a4b6 100%);
  transform:rotate(45deg);
  border-radius:1px;
  box-shadow:0 0 5px rgba(229,234,243,.35);
}

/* Enlisted arcs / lower ranks */
.forum-rank-insignia--arc{gap:2px}
.forum-rank-insignia--arc .forum-rank-insignia-mark{
  width:12px;height:7px;
  border:2px solid #d3a445;
  border-top:none;
  border-radius:0 0 12px 12px;
  box-shadow:0 0 4px rgba(211,164,69,.18);
}

/* Sergeant chevrons */
.forum-rank-insignia--chevron{gap:1px}
.forum-rank-insignia--chevron .forum-rank-insignia-mark{
  width:12px;height:9px;
}
.forum-rank-insignia--chevron .forum-rank-insignia-mark::before,
.forum-rank-insignia--chevron .forum-rank-insignia-mark::after{
  content:"";
  position:absolute;
  bottom:1px;
  width:8px;height:3px;
  border-radius:999px;
  background:linear-gradient(180deg,#f7d77a,#ba8825);
  box-shadow:0 0 3px rgba(247,215,122,.18);
}
.forum-rank-insignia--chevron .forum-rank-insignia-mark::before{
  left:-1px;transform:rotate(34deg);transform-origin:left center;
}
.forum-rank-insignia--chevron .forum-rank-insignia-mark::after{
  right:-1px;transform:rotate(-34deg);transform-origin:right center;
}

/* Officer silver/gold bars */
.forum-rank-insignia--bar{gap:2px}
.forum-rank-insignia--bar .forum-rank-insignia-mark{
  width:6px;height:13px;
  border-radius:3px;
  background:linear-gradient(180deg,#f6fbff,#c9d3df 45%,#8f9eb3 100%);
  box-shadow:0 0 4px rgba(246,251,255,.18);
}

/* Oak leaf approximation */
.forum-rank-insignia--oak .forum-rank-insignia-mark{
  width:12px;height:14px;
}
.forum-rank-insignia--oak .forum-rank-insignia-mark::before{
  content:"";
  position:absolute;left:1px;top:1px;
  width:10px;height:10px;
  background:linear-gradient(180deg,#f5fbff,#bfc9d9);
  border-radius:70% 10% 70% 10%;
  transform:rotate(45deg);
  box-shadow:0 0 4px rgba(245,251,255,.18);
}
.forum-rank-insignia--oak .forum-rank-insignia-mark::after{
  content:"";
  position:absolute;left:5px;bottom:0;
  width:2px;height:6px;border-radius:2px;
  background:#b7c2d4;
}

/* Eagle approximation */
.forum-rank-insignia--eagle .forum-rank-insignia-mark{
  width:14px;height:10px;
}
.forum-rank-insignia--eagle .forum-rank-insignia-mark::before{
  content:"";
  position:absolute;left:1px;top:2px;
  width:12px;height:6px;
  background:linear-gradient(180deg,#fafcff,#d3dbe7 45%,#9dadc0);
  clip-path:polygon(0 70%,25% 25%,45% 55%,50% 0,55% 55%,75% 25%,100% 70%,68% 100%,50% 68%,32% 100%);
  box-shadow:0 0 4px rgba(250,252,255,.22);
}

/* General stars */
.forum-rank-insignia--star{gap:1px}
.forum-rank-insignia--star .forum-rank-insignia-mark{
  width:10px;height:10px;
}
.forum-rank-insignia--star .forum-rank-insignia-mark::before{
  content:"★";
  position:absolute;inset:0;
  font-size:10px;line-height:10px;text-align:center;
  color:#eaf1fb;
  text-shadow:0 0 5px rgba(234,241,251,.35);
}

/* Count spacing helpers */
.forum-rank-insignia--count-4 .forum-rank-insignia-mark,
.forum-rank-insignia--count-5 .forum-rank-insignia-mark{margin-inline:-.5px}

/* Large profile view */
.forum-member-rankbox-large .forum-rank-insignia{
  min-height:21px;
  gap:3px;
}
.forum-member-rankbox-large .forum-rank-insignia--diamond .forum-rank-insignia-mark{width:13px;height:13px}
.forum-member-rankbox-large .forum-rank-insignia--arc .forum-rank-insignia-mark{width:14px;height:8px}
.forum-member-rankbox-large .forum-rank-insignia--chevron .forum-rank-insignia-mark{width:14px;height:10px}
.forum-member-rankbox-large .forum-rank-insignia--chevron .forum-rank-insignia-mark::before,
.forum-member-rankbox-large .forum-rank-insignia--chevron .forum-rank-insignia-mark::after{width:9px;height:3px}
.forum-member-rankbox-large .forum-rank-insignia--bar .forum-rank-insignia-mark{width:7px;height:15px}
.forum-member-rankbox-large .forum-rank-insignia--oak .forum-rank-insignia-mark{width:14px;height:16px}
.forum-member-rankbox-large .forum-rank-insignia--oak .forum-rank-insignia-mark::before{width:12px;height:12px}
.forum-member-rankbox-large .forum-rank-insignia--star .forum-rank-insignia-mark{width:12px;height:12px}
.forum-member-rankbox-large .forum-rank-insignia--star .forum-rank-insignia-mark::before{font-size:12px;line-height:12px}

/* Admin full effect */
.forum-member-rankbox.is-admin-full .forum-rank-insignia{
  filter:drop-shadow(0 0 5px rgba(255,228,107,.28));
}
.forum-member-rankbox.is-admin-full .forum-rank-insignia--star .forum-rank-insignia-mark::before{
  color:#fff1ad;
  text-shadow:
    0 0 4px rgba(255,255,255,.95),
    0 0 8px rgba(255,212,71,.85),
    0 0 14px rgba(255,180,0,.45);
}
.forum-member-rankbox.is-admin-full .forum-rank-insignia--bar .forum-rank-insignia-mark,
.forum-member-rankbox.is-admin-full .forum-rank-insignia--oak .forum-rank-insignia-mark::before,
.forum-member-rankbox.is-admin-full .forum-rank-insignia--eagle .forum-rank-insignia-mark::before{
  filter:brightness(1.12);
}

@media(max-width:760px){
  .forum-rank-insignia{min-height:16px}
}


/* APPS1982 REAL military rank images from /forum/assets/anh/
   Layout: stars -> small rank image -> rank name */
.forum-member-rankbox .forum-member-stars{order:1}
.forum-member-rankbox .forum-rank-image-wrap{order:2}
.forum-member-rankbox .forum-member-rank-name{order:3}

.forum-rank-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:45px;
  margin:1px auto 0;
  line-height:0;
}
.forum-rank-image{
  display:block;
  width:auto;
  height:auto;
  max-width:34px;
  max-height:42px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.32));
}
.forum-member-rankbox-large .forum-rank-image-wrap{
  width:54px;
  height:60px;
  margin-top:2px;
}
.forum-member-rankbox-large .forum-rank-image{
  max-width:46px;
  max-height:56px;
}

/* Admin keeps the existing sparkle, now around the real rank image too. */
.forum-member-rankbox.is-admin-full .forum-rank-image{
  filter:
    drop-shadow(0 0 3px rgba(255,255,255,.55))
    drop-shadow(0 0 7px rgba(255,212,71,.42))
    drop-shadow(0 2px 2px rgba(0,0,0,.35));
  animation:forumAdminRankImageGlow 1.8s ease-in-out infinite;
}
@keyframes forumAdminRankImageGlow{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 3px rgba(255,255,255,.4)) drop-shadow(0 0 6px rgba(255,212,71,.32))}
  50%{transform:scale(1.055);filter:drop-shadow(0 0 5px rgba(255,255,255,.8)) drop-shadow(0 0 11px rgba(255,212,71,.72))}
}
@media (prefers-reduced-motion:reduce){
  .forum-member-rankbox.is-admin-full .forum-rank-image{
    animation:none!important;
    transform:none!important;
  }
}
@media(max-width:760px){
  .forum-rank-image-wrap{
    margin-left:0;
    margin-right:0;
  }
  .forum-member-rankbox-large .forum-rank-image-wrap{
    margin-left:auto;
    margin-right:auto;
  }
}


/* APPS1982 guest comment privacy gate */
.forum-comments-members-only{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  margin-bottom:18px;
  border-style:dashed;
  background:color-mix(in srgb,var(--panel2) 88%,transparent);
}
.forum-comments-lock-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 8%,var(--panel));
  font-size:20px;
}
.forum-comments-lock-copy{min-width:0}
.forum-comments-lock-copy h3{
  margin:0 0 4px;
  font-size:16px;
  line-height:1.25;
}
.forum-comments-lock-copy p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.forum-comments-lock-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .forum-comments-members-only{
    grid-template-columns:auto 1fr;
  }
  .forum-comments-lock-actions{
    grid-column:1/-1;
    justify-content:stretch;
  }
  .forum-comments-lock-actions .btn{
    flex:1 1 140px;
    text-align:center;
  }
}


/* APPS1982 ads tight-wrap: let the next banner rise under the shorter banner */
@media (min-width:701px){
  .forum-ad-zone{
    display:flow-root!important;
    margin-top:14px;
    margin-bottom:14px;
  }
  .forum-ad-zone>.forum-ad-card{
    float:left!important;
    width:min(var(--forum-ad-width,320px),calc(50% - 6px))!important;
    max-width:calc(50% - 6px)!important;
    margin:0 12px 10px 0!important;
  }
  .forum-ad-zone>.forum-ad-card:nth-child(even){
    margin-right:0!important;
  }
}

/* Mobile keeps the original order, stacked closely. */
@media (max-width:700px){
  .forum-ad-zone{
    display:flex!important;
    flex-direction:column;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
  .forum-ad-zone>.forum-ad-card{
    float:none!important;
    width:min(var(--forum-ad-width,320px),100%)!important;
    max-width:100%!important;
    margin:0!important;
  }
}


/* APPS1982 REAL ad masonry - independent vertical columns */
@media (min-width:701px){
  .forum-ad-zone{
    display:block!important;
    position:relative;
    gap:0!important;
    overflow:visible!important;
  }
  .forum-ad-zone>.forum-ad-card{
    position:absolute!important;
    float:none!important;
    flex:none!important;
    margin:0!important;
  }
}

/* Mobile: restore normal one-column source order. */
@media (max-width:700px){
  .forum-ad-zone{
    display:flex!important;
    position:static!important;
    height:auto!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
  .forum-ad-zone>.forum-ad-card{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    float:none!important;
    flex:0 0 auto!important;
    width:min(var(--forum-ad-width,320px),100%)!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
}


/* APPS1982 mobile ad viewport guard */
@media (max-width:700px){
  .forum-ad-zone{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  .forum-ad-zone>.forum-ad-card{
    box-sizing:border-box!important;
    max-width:100%!important;
    min-width:0!important;
  }
}


/* APPS1982 FINAL mobile banner effect anchor fix */
@media (max-width:700px){
  .forum-ad-zone>.forum-ad-card.forum-ad-fx{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
    contain:paint;
  }
}


/* APPS1982 adaptive rich-text colors: editor stores semantic classes, theme chooses readable shade. */
.forum-rich-content .forum-color-auto{color:var(--text)!important}
.forum-rich-content .forum-color-light{color:#f4f7fb!important}
.forum-rich-content .forum-color-yellow{color:#ffe36e!important}
.forum-rich-content .forum-color-orange{color:#ffad5c!important}
.forum-rich-content .forum-color-red{color:#ff7a86!important}
.forum-rich-content .forum-color-cyan{color:#65e4ff!important}
.forum-rich-content .forum-color-green{color:#7ee6a1!important}
.forum-rich-content .forum-color-purple{color:#c5a1ff!important}
.forum-rich-content .forum-color-muted{color:var(--muted)!important}

html[data-mode="light"] .forum-rich-content .forum-color-auto{color:var(--text)!important}
html[data-mode="light"] .forum-rich-content .forum-color-light{color:#263044!important}
html[data-mode="light"] .forum-rich-content .forum-color-yellow{color:#765900!important}
html[data-mode="light"] .forum-rich-content .forum-color-orange{color:#a03c00!important}
html[data-mode="light"] .forum-rich-content .forum-color-red{color:#a71d2a!important}
html[data-mode="light"] .forum-rich-content .forum-color-cyan{color:#00697c!important}
html[data-mode="light"] .forum-rich-content .forum-color-green{color:#176b38!important}
html[data-mode="light"] .forum-rich-content .forum-color-purple{color:#6536a6!important}
html[data-mode="light"] .forum-rich-content .forum-color-muted{color:#667085!important}

/* Compatibility for old Forum articles authored with hard white text.
   Inline color normally wins, so !important is intentional only in light mode. */
html[data-mode="light"] .forum-rich-content [style*="color:#fff" i],
html[data-mode="light"] .forum-rich-content [style*="color: #fff" i],
html[data-mode="light"] .forum-rich-content [style*="color:#ffffff" i],
html[data-mode="light"] .forum-rich-content [style*="color: #ffffff" i],
html[data-mode="light"] .forum-rich-content [style*="color:rgb(255,255,255)" i],
html[data-mode="light"] .forum-rich-content [style*="color: rgb(255, 255, 255)" i]{
  color:var(--text)!important;
}
