.forum-user-menu { position:absolute; z-index:5000; width:166px; overflow:hidden; border:1px solid #4f7dff; border-radius:6px; background:#fff; box-shadow:0 6px 16px rgba(28,58,130,.2); animation:forum-user-menu-in .13s ease-out both; }
.forum-user-menu a,.forum-user-menu button { width:100%; height:51px; padding:0 18px; display:flex; align-items:center; color:#4276f5; border:0; background:#fff; font:700 19px/1 "Microsoft YaHei","Noto Sans SC",sans-serif; text-align:left; cursor:pointer; white-space:nowrap; }
.forum-user-menu > * + * { border-top:1px solid #c9c9c9; }
.forum-user-menu a:hover,.forum-user-menu button:hover,.forum-user-menu a:focus-visible,.forum-user-menu button:focus-visible { color:#fff; outline:0; background:#4a79ef; }
.forum-private-composer { position:relative; z-index:4; width:100%; margin:20px 0 8px; border:1px solid #9ab7ff; background:#fff; box-shadow:0 9px 25px rgba(36,72,156,.09); animation:forum-private-open .18s ease-out both; }
.post-card > .forum-private-composer { margin:22px 0 8px; }
.post-item > .forum-private-composer { margin-top:22px; }
.forum-private-recipient { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.forum-private-editor { width:100%; min-height:168px; max-height:360px; padding:26px 22px 20px; overflow:auto; color:#202020; outline:0; background:#fff; font:19px/1.65 "Microsoft YaHei","Noto Sans SC",sans-serif; white-space:pre-wrap; }
.forum-private-editor:empty::before { content:attr(data-placeholder); color:#262626; pointer-events:none; }
.forum-private-editor .forum-private-emoji-image { width:44px; height:44px; margin:0 4px; object-fit:contain; vertical-align:middle; }
.forum-private-toolbar { min-height:76px; padding:0 20px 14px; display:flex; align-items:flex-end; }
.forum-private-send { width:210px; height:59px; padding:0; color:#fff; border:0; background:#4779ed; font-size:27px; font-weight:bold; cursor:pointer; }
.forum-private-send:hover { background:#5b89f3; }
.forum-private-emoji-wrap { position:relative; margin-left:auto; }
.forum-private-emoji-button { width:58px; height:50px; padding:0; border:0; border-radius:26px; background:transparent url("assets/web_emo1.png") center / 38px 38px no-repeat; cursor:pointer; }
.forum-private-emoji-button:hover,.forum-private-emoji-button[aria-expanded="true"] { background-image:url("assets/web_emo2.png"); background-size:58px 38px; background-position:left center; }
.forum-private-emoji-panel { position:absolute; z-index:12; right:8px; bottom:58px; width:435px; padding:18px 23px; display:grid; grid-template-columns:repeat(4,60px); gap:14px 43px; border:1px solid #eca877; border-radius:20px 20px 0 20px; background:#fff; box-shadow:0 12px 28px rgba(60,40,25,.18); }
.forum-private-emoji-panel[hidden] { display:none; }
.forum-private-emoji-option { width:60px; height:60px; padding:0; border:0; background:transparent; cursor:pointer; transition:transform .12s ease; }
.forum-private-emoji-option:hover { transform:scale(1.1); }
.forum-private-emoji-option img { display:block; width:60px; height:60px; object-fit:contain; }
.forum-private-toast { position:fixed; z-index:10002; left:50%; bottom:42px; min-width:280px; padding:14px 26px; color:#fff; border-left:4px solid #4779ed; background:rgba(22,22,22,.96); box-shadow:0 10px 28px rgba(0,0,0,.35); text-align:center; opacity:0; pointer-events:none; transform:translate(-50%,20px); transition:.2s ease; }
.forum-private-toast.is-visible { opacity:1; transform:translate(-50%,0); }
@keyframes forum-user-menu-in { from { opacity:0; transform:translateY(-4px) scale(.98); } }
@keyframes forum-private-open { from { opacity:0; transform:translateY(-8px); } }
@media (max-width:1350px) { .forum-private-emoji-panel { width:388px; grid-template-columns:repeat(4,52px); gap:11px 39px; }.forum-private-emoji-option,.forum-private-emoji-option img { width:52px; height:52px; } }
