/* V43 · Softer feed cards and compact, floating reactions */
.post-card{position:relative;margin:0 0 4px;padding:8px;border:1px solid #242b25;border-radius:21px;background:linear-gradient(155deg,#141815,#101311 72%);overflow:visible;}
.post-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 9px;}
.post-card-head .post-author{margin:0;gap:8px;min-width:0;color:var(--text);}
.post-card-head .post-author .avatar{width:31px;height:31px;flex:0 0 31px;}
.post-card-head .post-author b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;}
.post-time{color:var(--muted);font-size:10px;white-space:nowrap;}
.post-card .dual-photo{border-radius:16px;height:auto;aspect-ratio:4/5;overflow:hidden;}
.post-card-footer{display:grid;gap:7px;padding:8px 2px 1px;}
.post-social-actions{position:relative;z-index:2;display:flex;align-items:center;gap:6px;}
.post-social-actions:has(.reaction-picker){z-index:8}
.post-social-actions .reaction-pill{min-width:48px;height:34px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #354239;border-radius:18px;background:#1b221d;padding:0 10px;font-size:16px;}
.post-social-actions .reaction-pill small{font-size:10px;color:#d5ded6;}
.post-social-actions .reaction-pill.has-reaction{border-color:#55795e;background:#1b2a20;}
.post-social-actions .reaction-more{width:34px;height:34px;display:grid;place-items:center;border:1px solid #354239;border-radius:50%;background:#1b221d;color:var(--text);font-size:19px;line-height:1;}
.post-social-actions .comment-open{margin-left:auto;min-height:34px;border:1px solid #303932;border-radius:18px;background:#1b201c;padding:0 11px;display:flex;align-items:center;gap:6px;color:var(--text);}
.post-social-actions .comment-open svg{width:14px;height:14px;}
.post-social-actions .comment-open small{font-size:10px;color:#d4dbd4;}
.post-context{color:#98a198;font-size:10px;line-height:1.35;padding:0 3px;}
.reaction-picker{
  position:absolute;z-index:12;right:0;top:auto;bottom:calc(100% + 9px);
  display:grid;grid-template-columns:auto;gap:0;width:max-content;
  max-width:calc(100vw - 36px);padding:4px;
  border:1px solid #39443b;border-radius:999px;background:#171c18;
  box-shadow:0 9px 26px #0009;backdrop-filter:blur(14px);
  animation:reaction-dock-in .16s cubic-bezier(.2,.8,.2,1) both;
}
.reaction-picker>p{display:none}
.reaction-choices{display:flex;align-items:center;justify-content:center;gap:3px}
.reaction-choices button{
  flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;
  display:grid;place-items:center;background:transparent;color:var(--text);
  font-size:21px;transition:background .14s ease,transform .14s ease;
}
.reaction-choices button:hover{background:#29332b;transform:scale(1.06)}
.reaction-choices button:active{transform:scale(.92)}
.reaction-choices .reaction-custom-toggle{
  flex:0 0 36px;width:36px;min-width:36px;height:36px;margin-left:2px;
  border:1px solid #455247;border-radius:50%;background:#202720;color:#d5dfd6;
}
.reaction-choices .reaction-custom-toggle span{font-size:21px;line-height:1}
.reaction-choices .reaction-custom-toggle small{display:none}
.reaction-picker:has(.custom-reaction-form:not([hidden])){border-radius:18px;padding:7px}
.custom-reaction-form{display:flex;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid #343d35}
.custom-reaction-form input{flex:1;width:130px;min-width:0;border:1px solid #3d493f;border-radius:11px;background:#222923;color:var(--text);padding:8px 10px;font-size:16px}
.custom-reaction-form button{border:1px solid #4c6652;border-radius:11px;background:#25352a;color:#eaf3eb;padding:0 12px;font-size:11px}
.reaction-picker.opens-down{top:calc(100% + 9px);bottom:auto}
@keyframes reaction-dock-in{from{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:360px){
  .reaction-picker{right:-2px;max-width:calc(100vw - 28px);padding:3px}
  .reaction-choices{gap:1px}
  .reaction-choices button{flex-basis:35px;width:35px;height:35px}
  .reaction-choices .reaction-custom-toggle{flex-basis:33px;width:33px;min-width:33px;height:33px}
}
