/* STAGE31: compatibility styles; current component CSS owns presentation. */
@layer av-legacy-shared {

/* anihate production design layer — canonical UI normalization
   Loaded last so legacy page styles can coexist without changing markup contracts. */
:root{
  --ui-bg:#080b15;
  --ui-surface:#101625;
  --ui-surface-2:#141b2b;
  --ui-surface-3:#0c1220;
  --ui-border:#273047;
  --ui-border-soft:rgba(255,255,255,.075);
  --ui-text:#f4f6fb;
  --ui-text-2:#c7ccd8;
  --ui-muted:#8b94a8;
  --ui-muted-2:#6f788d;
  --ui-accent:#a968ff;
  --ui-accent-strong:#7b3be2;
  --ui-accent-soft:rgba(169,104,255,.14);
  --ui-success:#4fd18a;
  --ui-warning:#f4bd5b;
  --ui-danger:#ff7187;
  --ui-info:#72a7ff;
  --ui-r-xs:7px;
  --ui-r-sm:10px;
  --ui-r-md:14px;
  --ui-r-lg:18px;
  --ui-r-xl:24px;
  --ui-shadow:0 12px 36px rgba(0,0,0,.20);
  --ui-shadow-lg:0 24px 70px rgba(0,0,0,.38);
  --ui-content:1180px;
  --ui-readable:760px;
  --ui-control:42px;
  --ui-ease:cubic-bezier(.2,.7,.2,1);
}
html{background:var(--ui-bg);color-scheme:dark}
body{
  color:var(--ui-text);
  background:var(--ui-bg);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit}
button,input,textarea,select{color:inherit}
button:disabled,input:disabled,textarea:disabled,select:disabled{opacity:.55;cursor:not-allowed}
::selection{background:rgba(169,104,255,.30);color:#fff}

/* predictable page geometry */
.av-content>main,
.av-content>.wrap,
.av-content>div>main{
  width:min(var(--ui-content),calc(100% - 40px));
  max-width:var(--ui-content);
}
.av-content>main{padding-top:28px}
main[class*="-page"], main[class*="page"]{min-width:0}

/* typography */
h1,h2,h3,h4{color:var(--ui-text);letter-spacing:-.018em}
h1{font-size:clamp(24px,2.2vw,32px);line-height:1.12}
h2{font-size:20px;line-height:1.2}
h3{font-size:16px;line-height:1.25}
p{color:var(--ui-text-2)}
.muted,.meta,.hint,.help,.subtitle,.section-subtitle{color:var(--ui-muted)}
.eyebrow,.kicker{color:#b983ff;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:11px}

/* controls */
input:not([type="checkbox"]):not([type="radio"]),
textarea,select{
  min-height:var(--ui-control);
  border:1px solid var(--ui-border);
  border-radius:var(--ui-r-sm);
  background:#0b111e;
  color:var(--ui-text);
  padding:9px 12px;
  outline:0;
  transition:border-color .16s var(--ui-ease),box-shadow .16s var(--ui-ease),background .16s var(--ui-ease);
}
textarea{min-height:96px;resize:vertical}
input::placeholder,textarea::placeholder{color:#687188}
input:hover,textarea:hover,select:hover{border-color:#36415a}
input:focus,textarea:focus,select:focus{
  border-color:#a968ff;
  box-shadow:0 0 0 3px rgba(169,104,255,.13);
  background:#0d1422;
}
button,.btn,.primary-btn,.create-community{
  min-height:var(--ui-control);
  border:1px solid transparent;
  border-radius:var(--ui-r-sm);
  font-weight:750;
  cursor:pointer;
  transition:transform .16s var(--ui-ease),background .16s var(--ui-ease),border-color .16s var(--ui-ease),box-shadow .16s var(--ui-ease);
}
button:hover,.btn:hover{transform:translateY(-1px)}
button:active,.btn:active{transform:translateY(0)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid #c18cff;
  outline-offset:2px;
}
.btn.primary,.primary-btn,.create-community{
  background:linear-gradient(135deg,#7b3be2,#a968ff);
  color:#fff;
  box-shadow:0 7px 20px rgba(123,59,226,.18);
}
.btn.primary:hover,.primary-btn:hover,.create-community:hover{box-shadow:0 10px 26px rgba(123,59,226,.28)}
.ghost-btn,.btn:not(.primary){
  background:#151c2b;
  border-color:#303a52;
  color:#e7eaf2;
}
.ghost-btn:hover,.btn:not(.primary):hover{background:#1a2234;border-color:#3c4964}

/* common surfaces */
.panel,.card,.community-card,.discover-card,.notification-item,.report,.saved-empty,.tag-empty{
  border:1px solid var(--ui-border);
  background:linear-gradient(180deg,var(--ui-surface),#0f1522);
  border-radius:var(--ui-r-md);
  box-shadow:0 6px 24px rgba(0,0,0,.10);
}
.panel,.card{padding:18px}
.empty,.empty-state,.notifications-state{
  border:1px dashed #35405a;
  background:#0d1421;
  border-radius:var(--ui-r-md);
  color:var(--ui-muted);
  padding:42px 22px;
  text-align:center;
}
.modal-backdrop,.modal,.modal-box,#modal{
  color:var(--ui-text);
}
.modal-backdrop,.modal{
  background:rgba(3,5,11,.78);
  backdrop-filter:blur(10px);
}
.modal,.modal-box,#modal>div{
  border:1px solid #303a53;
  background:#101725;
  color:var(--ui-text);
  border-radius:var(--ui-r-lg);
  box-shadow:var(--ui-shadow-lg);
}
.toast{
  border:1px solid #3b4560;
  background:#111827;
  color:#f5f7fb;
  border-radius:10px;
  box-shadow:var(--ui-shadow-lg);
}

/* shell */
.av-sidebar{width:292px}
.av-topbar{left:292px}
.av-content{margin-left:292px}
.av-logo{padding-left:12px}
.av-nav a{height:44px;border-radius:10px}
.av-nav a.active{box-shadow:inset 3px 0 0 #d09bff}
.av-create{border-radius:10px}
.av-topbar{background:rgba(8,11,21,.88);border-color:rgba(255,255,255,.08)}
.av-search{height:42px;border-radius:11px;background:#0f1522}
.av-mobile-nav{border-top-color:rgba(255,255,255,.10)}

/* page-specific standalone pages now share the same visual language */
.notifications-page,.discover-page,.saved-page,.tag-page,.admin{
  width:min(var(--ui-readable),calc(100% - 40px));
  max-width:var(--ui-readable);
  margin:0 auto;
  padding:30px 0 80px;
}
.notifications-head,.discover-hero,.saved-head,.tag-head,.admin .head{margin-bottom:20px}
.notifications-head h1,.discover-hero h1,.saved-title,.tag-title,.admin h1{margin:0}
.notification-list,.saved-list,.tag-list{display:grid;gap:10px}
.notification-item{padding:13px 14px}
.notification-item:hover{border-color:#39445e;background:#141c2c}
.notification-item.unread{background:#17142a;border-color:#6e48b1}
.notification-time{color:var(--ui-muted-2)}
.discover-page{max-width:1040px}
.discover-grid{gap:14px}
.discover-card{padding:17px}
.discover-user,.discover-community{background:#141b2a;border:1px solid #283149}
.discover-tag{background:#171d2d;border:1px solid #303a54}
.saved-page,.tag-page{max-width:820px}
.saved-head,.tag-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.saved-back,.tag-back{color:#b8bfd0}
.saved-empty,.tag-empty{padding:44px 20px}
.admin{max-width:1100px}
.admin .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.admin .filters button{background:#151c2b;border:1px solid #303a52;color:#e9ecf3}
.admin .filters button.active{background:#7b3be2;border-color:#a968ff}
.admin .report{background:linear-gradient(180deg,#111827,#0f1522);border-color:#2b354c;padding:16px}
.admin .meta{color:var(--ui-muted)}
.admin .preview{background:#0c1320;border:1px solid #253049}
.admin .review{background:#25345a;color:#b9ccff}
.admin .resolve{background:#183827;color:#8ce0b0}
.admin .dismiss{background:#2a2026;color:#f0b1bd}
.admin .danger,.admin .error{color:#ff9aab}

/* settings/forms */
.av-page-settings .panel,.av-page-settings .section{border-color:var(--ui-border)}
.av-page-settings label{color:#cfd4df}
.av-page-settings .danger{color:var(--ui-danger)}
.file-field{border:1px dashed #36415a;background:#0d1420;border-radius:12px}

/* media and data density */
img{font-size:12px}
table{width:100%;border-collapse:collapse}
th,td{border-bottom:1px solid var(--ui-border-soft);padding:10px;text-align:left}
th{color:#cdd2dd;font-weight:750}
code,kbd{background:#141b2a;border:1px solid #2b354c;border-radius:6px;padding:.15em .4em}

/* responsive */
@media(max-width:1000px){
  .av-sidebar{width:250px}
  .av-topbar{left:250px}
  .av-content{margin-left:250px}
}
@media(max-width:760px){
  .av-sidebar{width:min(310px,88vw)}
  .av-topbar{left:0}
  .av-content{margin-left:0}
  .av-content>main,.av-content>.wrap,.av-content>div>main{
    width:calc(100% - 20px);
  }
  .notifications-page,.discover-page,.saved-page,.tag-page,.admin{
    width:calc(100% - 20px);
    padding-top:20px;
  }
  .discover-grid{grid-template-columns:1fr}
  .discover-card.full{grid-column:auto}
}
@media(max-width:520px){
  .av-content>main,.av-content>.wrap,.av-content>div>main{width:calc(100% - 14px)}
  .notifications-page,.discover-page,.saved-page,.tag-page,.admin{width:calc(100% - 14px)}
  .panel,.card{padding:14px}
  .notification-item{grid-template-columns:40px minmax(0,1fr)}
  .notification-time{grid-column:2}
}
@media(prefers-reduced-motion:reduce){
  button,.btn,a,input,textarea,select{transition:none}
}

/* ================================================================
   CANONICAL SOCIAL POST SYSTEM — 2026-10-02
   One source of truth for the shared post surface.
   Loaded after legacy/page CSS so page-specific code does not need to
   duplicate or fight the post component.
   ================================================================ */
:root{
  --post-bg:#101622;
  --post-bg-inset:#0b111c;
  --post-border:rgba(255,255,255,.085);
  --post-border-hover:rgba(255,255,255,.13);
  --post-divider:rgba(255,255,255,.075);
  --post-text:#f1f3f8;
  --post-body:#d9dde7;
  --post-muted:#8791a5;
  --post-subtle:#697489;
  --post-accent:#b27aff;
  --post-accent-soft:rgba(178,122,255,.12);
  --post-like:#ff789f;
  --post-success:#8ed7ad;
  --post-radius:15px;
  --post-control:34px;
}

/* Feed frame: the stream owns spacing; cards own their surface. */
.av-page-feed .feed-stream-panel,
.av-page-feed #composerPanel{
  background:transparent;
  border:0;
  box-shadow:none;
}
.av-page-feed #composerPanel{padding:0;margin-bottom:12px}
.av-page-feed .feed-stream-head{
  min-height:52px;
  padding:4px 4px 12px;
  background:transparent;
  border:0;
}
.av-page-feed .feed-stream-head strong{font-size:15px;color:var(--ui-text)}
.av-page-feed .feed-stream-head span{font-size:12px;color:var(--ui-muted)}

/* ---------- Card ---------- */
.anihate-post,
.anihate-post{
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  width:100%;
  margin:0 0 12px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--post-border);
  border-radius:var(--post-radius);
  background:var(--post-bg);
  box-shadow:0 4px 18px rgba(0,0,0,.12);
  transition:border-color .16s ease,box-shadow .16s ease;
}
.anihate-post:hover,
.anihate-post:hover{
  border-color:var(--post-border-hover);
  box-shadow:0 7px 24px rgba(0,0,0,.16);
}
.anihate-post:last-child,
.anihate-post:last-child{margin-bottom:0}

/* ---------- Header / identity ---------- */
.anihate-post .post-top,
.anihate-post .post-top{
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-width:0;
  min-height:64px;
  padding:16px 18px 8px;
}
.anihate-post .post-avatar,
.anihate-post .post-avatar{
  width:42px;
  height:42px;
  min-width:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:#252d40;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:none;
}
.anihate-post .post-meta,
.anihate-post .post-meta{
  min-width:0;
  flex:1 1 auto;
  line-height:1.15;
}
.anihate-post .post-name-row,
.anihate-post .post-name-row{
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.anihate-post .post-name,
.anihate-post .post-name{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--post-text);
  font-size:14px;
  font-weight:780;
  line-height:18px;
  letter-spacing:-.01em;
}
.anihate-post .post-time,
.anihate-post .post-time{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--post-subtle);
  font-size:11px;
  line-height:16px;
}
.anihate-post .user-badges,
.anihate-post .user-badges{gap:3px}
.anihate-post .verified,
.anihate-post .verified{width:15px;height:15px;font-size:9px}
.anihate-post .post-community-context,
.anihate-post .post-community-context{
  display:inline-flex;
  align-items:center;
  gap:4px;
  width:max-content;
  max-width:100%;
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#9582b4;
  font-size:10.5px;
  font-weight:650;
  line-height:15px;
  text-decoration:none;
}
.anihate-post .post-community-context:hover,
.anihate-post .post-community-context:hover{color:#c0a6e3;text-decoration:underline}
.anihate-post .post-community-context img,
.anihate-post .post-community-context img,
.anihate-post .post-community-fallback,
.anihate-post .post-community-fallback{
  width:18px;height:18px;min-width:18px;
  flex:0 0 18px;border-radius:5px;object-fit:cover;
}

/* ---------- Body copy ---------- */
.anihate-post .post-body,
.anihate-post .post-body{
  width:auto;
  margin:0;
  padding:7px 18px 14px;
  color:var(--post-body);
  font-size:15px;
  line-height:1.62;
  letter-spacing:-.002em;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.anihate-post .post-body:empty,
.anihate-post .post-body:empty{display:none}
.post-hashtag,
.post-mention{color:var(--post-accent);font-weight:650;text-decoration:none}
.post-hashtag:hover,
.post-mention:hover{text-decoration:underline}

/* ---------- Media ---------- */
.anihate-post .post-images,
.anihate-post .post-images{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  width:auto;
  margin:0 18px 14px;
  padding:0;
  overflow:hidden;
  border-radius:12px;
  background:var(--post-bg-inset);
}
.anihate-post .post-images .post-image,
.anihate-post .post-images .post-image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  min-height:0;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  object-fit:cover;
  background:#080d17;
}
/* 3/5 images: the last image gets a full row instead of a dangling half-cell. */
.anihate-post .post-images>.post-image:last-child:nth-child(odd),
.anihate-post .post-images>.post-image:last-child:nth-child(odd){grid-column:1/-1}
/* One image is content, not a collage: preserve its native ratio. */
.anihate-post .post-images:has(.post-image:only-child),
.anihate-post .post-images:has(.post-image:only-child),
.anihate-post .post-images.single-vertical,
.anihate-post .post-images.single-vertical{
  display:block;
  background:transparent;
}
.anihate-post .post-images:has(.post-image:only-child) .post-image,
.anihate-post .post-images:has(.post-image:only-child) .post-image,
.anihate-post .post-images.single-vertical .post-image,
.anihate-post .post-images.single-vertical .post-image{
  aspect-ratio:auto;
  width:100%;
  height:auto;
  max-height:680px;
  object-fit:contain;
  border-radius:12px;
  background:#080d17;
}

/* ---------- Repost ---------- */
.anihate-post .repost-label,
.anihate-post .repost-label{
  display:flex;
  align-items:center;
  gap:6px;
  margin:5px 18px 8px;
  padding:0;
  color:var(--post-muted);
  font-size:11px;
  font-weight:700;
  line-height:16px;
}
.anihate-post .repost-icon,
.anihate-post .repost-icon{
  display:inline-grid;
  place-items:center;
  width:20px;height:20px;
  border-radius:6px;
  background:var(--post-accent-soft);
  color:var(--post-accent);
}
.anihate-post .repost-content,
.anihate-post .repost-content{
  width:auto;
  margin:0 18px 14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.09);
  border-left:2px solid rgba(178,122,255,.42);
  border-radius:11px;
  background:var(--post-bg-inset);
  box-shadow:none;
}
.anihate-post .repost-original-top,
.anihate-post .repost-original-top{margin:0 0 7px}
.anihate-post .repost-original-avatar,
.anihate-post .repost-original-avatar{width:32px;height:32px;min-width:32px}
.anihate-post .repost-original-top .name,
.anihate-post .repost-original-top .name{font-size:12px;font-weight:780}
.anihate-post .repost-original-top .handle,
.anihate-post .repost-original-top .handle{font-size:10px;color:var(--post-subtle)}
.anihate-post .repost-content .post-body,
.anihate-post .repost-content .post-body{
  padding:2px 0 7px;
  font-size:14px;
  line-height:1.55;
}
.anihate-post .repost-content .post-images,
.anihate-post .repost-content .post-images{margin:4px 0 0}
.anihate-post .repost-content .post-images .post-image,
.anihate-post .repost-content .post-images .post-image{max-height:360px}

/* ---------- Action rail / comments: one coherent surface ---------- */
.anihate-post .post-actions{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:3px;
  width:100%;
  min-height:46px;
  margin:0;
  padding:6px 14px;
  border-top:1px solid var(--post-divider);
  background:transparent;
  box-shadow:none;
}
.anihate-post .post-action{
  flex:0 0 auto;
  min-width:34px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:7px 9px;
  border:0;
  border-radius:8px;
  color:var(--post-muted);
  background:transparent;
  box-shadow:none;
  font-size:11px;
  font-weight:650;
  line-height:1;
  white-space:nowrap;
  transform:none;
}
.anihate-post .post-action:hover{
  color:#edf0f7;
  background:rgba(255,255,255,.045);
}
.anihate-post .post-action:focus-visible{
  outline:2px solid rgba(178,122,255,.75);
  outline-offset:-2px;
}
.anihate-post .post-action ah-icon,
.anihate-post .post-action svg{
  width:16px;
  height:16px;
  font-size:16px;
  flex:0 0 auto;
}
.anihate-post .post-action.like.liked{
  color:var(--post-like);
  background:rgba(255,120,159,.055);
}
.anihate-post .post-action.save-post.saved{
  color:var(--post-accent);
  background:var(--post-accent-soft);
}
.anihate-post .post-action.reposted{
  color:var(--post-success);
  background:rgba(79,209,138,.055);
}
.anihate-post .post-action.delete-post{margin-left:auto;color:#727c91}
.anihate-post .post-action.delete-post:hover{color:#ff899c;background:rgba(255,113,135,.07)}

/* ---------- Comments ---------- */
.anihate-post .comments{
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:10px 18px 14px;
  border-top:1px solid var(--post-divider);
  background:transparent;
  box-shadow:none;
}
.anihate-post .comment-thread-list{
  display:flex;
  flex-direction:column;
  gap:0;
}
.anihate-post .comment{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  column-gap:9px;
  align-items:flex-start;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:10px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:transparent;
}
.anihate-post .comment:last-child{border-bottom:0}
.anihate-post .comment-avatar{
  width:30px;height:30px;min-width:30px;
  border-radius:50%;overflow:hidden;
}
.anihate-post .comment-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.anihate-post .comment-body{
  min-width:0;
  width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.anihate-post .comment-head{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
  line-height:17px;
}
.anihate-post .comment-author-row{display:inline-flex;align-items:center;gap:4px;min-width:0}
.anihate-post .comment-author{color:#edf0f6;font-size:12px;font-weight:750;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anihate-post .comment-handle{color:#737e93;font-size:10px;max-width:28%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anihate-post .comment-time{margin-left:auto;color:#69758b;font-size:10px;white-space:nowrap}
.anihate-post .comment-reply-context{
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:100%;
  margin:3px 0 2px;
  color:#8f83ae;
  font-size:10px;
  line-height:15px;
}
.anihate-post .comment-reply-context a{color:#a991d1;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anihate-post .comment-text{
  display:block;
  margin:3px 0 5px;
  color:#cdd3df;
  font-size:13px;
  line-height:1.5;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.anihate-post .comment-actions{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin:0}
.anihate-post .comment-actions button{
  min-height:26px;
  padding:4px 6px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#778197;
  font-size:10.5px;
  box-shadow:none;
}
.anihate-post .comment-actions button:hover{background:rgba(255,255,255,.045);color:#eef1f7}
.anihate-post .comment-like.liked{color:var(--post-like);background:rgba(255,120,159,.055)}
.anihate-post .comment-replies{
  margin:0 0 0 39px;
  padding:0 0 0 11px;
  border-left:1px solid rgba(178,122,255,.18);
}
.anihate-post .comment-replies .comment{border-bottom:0;padding-top:8px;padding-bottom:8px}
.anihate-post .comment-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:end;
  margin:10px 0 0;
  padding:10px 0 0;
  border-top:1px solid rgba(255,255,255,.055);
}
.anihate-post .comment-form textarea{
  min-height:40px;
  max-height:120px;
  resize:vertical;
  box-sizing:border-box;
  border:1px solid #273149;
  border-radius:10px;
  background:#0a101b;
  color:#eef1f7;
  box-shadow:none;
}
.anihate-post .comment-form textarea:focus{border-color:#9f64ef;box-shadow:0 0 0 3px rgba(169,104,255,.08)}
.anihate-post .comment-form .btn{min-width:88px;min-height:40px}
.anihate-post .comments-empty,
.anihate-post .comments-loading,
.anihate-post .comments-error{
  padding:12px 4px;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--post-subtle);
  text-align:center;
  font-size:12px;
}

/* ---------- Composer ---------- */
.av-page-feed .composer.av-composer,
.composer.av-composer{
  box-sizing:border-box;
  padding:15px;
  border:1px solid var(--post-border);
  border-radius:15px;
  background:#101622;
  box-shadow:0 5px 18px rgba(0,0,0,.11);
}
.composer-context-row{display:flex;align-items:center;gap:8px;margin:0 0 9px}
.composer-context-label{font-size:11px;color:var(--post-muted)}
.composer-target{height:34px;min-height:34px;border-radius:8px;font-size:12px}
.composer-row{display:flex;align-items:flex-start;gap:10px;min-width:0}
.composer-avatar{width:40px;height:40px;min-width:40px;flex:0 0 40px}
.composer textarea{min-height:88px;border-radius:11px;background:#0a101b;border-color:#273149;font-size:14px;line-height:1.55}
.composer textarea:focus{border-color:#9f64ef;box-shadow:0 0 0 3px rgba(169,104,255,.10)}
.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.composer .counter{font-size:11px;color:var(--post-subtle)}
.composer .post-tools{display:flex;align-items:center;gap:5px;min-width:0}
.composer .post-tools>.btn,
.composer .post-tools>label.btn{width:34px;height:34px;min-width:34px;min-height:34px;padding:0}
.composer .post-tools input[type=datetime-local]{height:34px;max-width:210px}
.composer .primary-btn{min-height:36px;padding:0 15px;border-radius:9px}
.post-image-preview{max-width:100%;display:flex;gap:7px;flex-wrap:wrap}
.post-preview-item{position:relative;width:58px;height:58px;flex:0 0 58px;overflow:hidden;border-radius:9px}
.post-preview-item img{display:block;width:100%;height:100%;object-fit:cover;border-radius:9px}
.post-preview-item button{position:absolute;right:2px;top:2px;width:20px;height:20px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;cursor:pointer}

/* ---------- States ---------- */
.anihate-post.scheduled-post,
.anihate-post.scheduled-post{border-color:rgba(178,122,255,.24);background:#101622}
.anihate-post .scheduled-badge,
.anihate-post .scheduled-badge{margin:0 18px;padding-top:2px;color:#b596dc;font-size:10.5px;font-weight:700}
.av-page-feed .load-more{margin-top:10px;width:100%;background:#111827;border-color:#2b354c;color:#aeb7c8}
.av-page-feed .load-more:hover{background:#171f30;color:#fff}

/* ---------- Responsive ---------- */
@media(max-width:700px){
  .anihate-post{border-radius:13px;margin-bottom:10px}
  .anihate-post .post-top,.anihate-post .post-top{padding:14px 13px 7px}
  .anihate-post .post-body,.anihate-post .post-body{padding:6px 13px 12px;font-size:14px;line-height:1.58}
  .anihate-post .post-images,.anihate-post .post-images{margin:0 13px 12px;grid-template-columns:1fr}
  .anihate-post .post-images .post-image,.anihate-post .post-images .post-image{aspect-ratio:auto;max-height:540px;object-fit:contain}
  .anihate-post .repost-label,.anihate-post .repost-label{margin-left:13px;margin-right:13px}
  .anihate-post .repost-content,.anihate-post .repost-content{margin-left:13px;margin-right:13px}
  .anihate-post .post-actions{padding:6px 7px;overflow-x:auto;scrollbar-width:none;background:transparent}
  .anihate-post .post-actions::-webkit-scrollbar,.anihate-post .post-actions::-webkit-scrollbar{display:none}
  .anihate-post .post-action,.anihate-post .post-action{padding:7px 8px}
  .anihate-post .comments{padding-left:13px;padding-right:13px;background:transparent}
  .anihate-post .comment-form,.anihate-post .comment-form{grid-template-columns:minmax(0,1fr)}
  .anihate-post .comment-form .btn,.anihate-post .comment-form .btn{width:100%}
  .composer.av-composer{padding:13px}
  .composer-footer{flex-wrap:wrap}
  .composer-footer>.primary-btn{width:100%;order:3;justify-content:center}
  .composer .post-tools{width:100%;order:2;overflow-x:auto;padding-bottom:1px}
  .composer .post-tools input[type=datetime-local]{flex:1;min-width:145px;max-width:none}
}
@media(max-width:430px){
  .anihate-post .post-top,.anihate-post .post-top{gap:9px}
  .anihate-post .post-avatar,.anihate-post .post-avatar{width:38px;height:38px;min-width:38px;flex-basis:38px}
  .anihate-post .post-name,.anihate-post .post-name{font-size:13px}
  /* Keep like/comment counts and text actions available; only secondary labels collapse. */
  .anihate-post .post-action.repost-action span,.anihate-post .post-action.repost-action span,
  .anihate-post .post-action.save-post span,.anihate-post .post-action.save-post span,
  .anihate-post .post-action.post-share span,.anihate-post .post-action.post-share span{display:none}
  .anihate-post .post-action,.anihate-post .post-action{min-width:34px}
  .anihate-post .comment-replies{margin-left:28px;padding-left:7px}
  .composer-row{display:block}
  .composer-avatar{display:none}
  .composer textarea{min-height:96px}
}
@media(prefers-reduced-motion:reduce){
  .anihate-post,.anihate-post .post-action,.anihate-post .post-action{transition:none}
}

}
