.message-corrections{min-height:1px;max-width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
.message-corrections:empty{margin:0}.correction-card{margin-top:8px;padding:12px;border:1px solid rgba(255,183,201,.22);border-radius:16px;background:rgba(34,24,50,.4);backdrop-filter:blur(8px);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.correction-meta,.correction-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.correction-meta time{font-size:12px;color:var(--ink-soft)}.correction-text{white-space:pre-wrap;margin:8px 0;font-size:16px}.correction-removed{color:#ffc0ca;text-decoration-color:#e6a1b6;background:#9e344329;border-radius:3px}.correction-added{color:#e2f9e6;background:#66a47933;border-radius:3px}.correction-explanation{white-space:pre-wrap;color:var(--ink-soft)}.correction-confirmed,.correction-warning,.honor-tier{font-size:12px;letter-spacing:0}.correction-warning{border-color:#eac68780;color:#f0d8a9}.honor-tier{color:var(--accent);border-color:var(--accent);display:inline-flex;padding:3px 9px;border-radius:999px}.correction-controls{margin-top:8px}.correction-controls button,.correction-more{padding:5px 10px;min-height:32px;font-size:12px;letter-spacing:0}.correction-controls [aria-pressed=true]{background:#ffb0c82b;border-color:var(--accent)}
.correction-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(34,24,50,.96);color:var(--ink);font:16px/1.5 system-ui;animation:correction-in .2s ease both}.correction-dialog::backdrop{background:#100c20a0;backdrop-filter:blur(6px)}.correction-dialog.is-closing,.correction-dialog.is-closing::backdrop{animation:correction-out .2s ease both}.correction-dialog h2{font:inherit;font-size:22px;margin:0 0 14px}.correction-dialog label{display:flex;flex-direction:column;gap:6px;margin-top:14px}.correction-dialog textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;padding:10px;background:#ffffff08;color:var(--ink);font:inherit;resize:vertical}.correction-original{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border:1px solid var(--line);border-radius:14px;color:var(--ink-soft);max-height:180px;overflow:auto}.correction-status{font-size:14px;color:var(--ink-soft)}.correction-dialog button{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:999px;background:#ffffff09;color:var(--ink);padding:8px 14px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.correction-dialog button:hover{border-color:var(--accent);background:#ffb0c81b}.correction-dialog button:active{transform:scale(.96)}
.honor-profile{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffff04;text-align:center;font-size:14px;letter-spacing:0}.honor-profile p{margin:8px 0}.honor-profile small{color:var(--ink-soft)}.honor-setting{display:flex;align-items:center;gap:8px;margin:14px 0;font-size:14px}.honor-setting input{width:18px!important;height:18px;accent-color:var(--accent)}.site-header .menu-panel .honor-notification{display:block;width:100%;text-align:left;padding:11px 16px;font:inherit;font-size:14px;letter-spacing:0;color:var(--ink-soft);border:0;background:transparent;border-radius:5px;cursor:pointer}.honor-notification[data-unread]:not([data-unread="0"]){color:var(--accent)!important}
/* One shared action panel keeps correction/thread actions aligned at every width. */
.chat-message-menu:has(.correction-action-items){position:relative}
.chat-message-menu[open]:has(.correction-action-items){z-index:8}
.chat-message-menu .correction-action-items{position:absolute;right:0;top:calc(100% + 4px);display:flex;flex-direction:column;gap:4px;padding:6px;min-width:160px;max-width:min(240px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;background:#2d223c;box-shadow:0 8px 25px #0006}
.chat-message-menu:not([open]) .correction-action-items{display:none}
.chat-message-menu .correction-action-items .chat-convert,
.chat-message-menu .correction-action-items .correction-suggest{position:static;display:block;width:100%;box-sizing:border-box;white-space:normal;text-align:left;background:transparent;padding:8px 10px;box-shadow:none;font-size:14px;letter-spacing:0}
.correction-meta{min-width:0;gap:5px 7px}
.correction-meta .uname{font-size:14px;letter-spacing:0;overflow-wrap:anywhere;max-width:100%}
.correction-meta time{margin-left:auto}
.correction-card{box-sizing:border-box;backdrop-filter:none}
.correction-controls button{max-width:100%;white-space:normal}
.message-corrections>.btng{margin-top:8px;font-size:13px;letter-spacing:0;padding:6px 12px;white-space:normal;max-width:100%}
@keyframes correction-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes correction-out{to{opacity:0;transform:translateY(8px) scale(.98)}}
@media(max-width:520px){.correction-dialog{padding:16px}.correction-card{padding:10px}.correction-controls button{min-height:36px}}
@media(prefers-reduced-motion:reduce){.correction-dialog,.correction-dialog::backdrop,.correction-dialog.is-closing{animation:none}}
.site-notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;color:var(--ink-soft);background:var(--header-control-bg,rgba(28,20,46,.35));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.site-notification-bell[hidden]{display:none!important}.site-notification-bell:hover{border-color:var(--accent);background:var(--header-control-hover,rgba(28,20,46,.55))}.site-notification-bell:active{transform:scale(.95)}.notification-count{position:absolute;top:-4px;right:-4px;background:#ffb0c8;color:#241d33;border:2px solid #241d33;border-radius:999px;font:11px/16px system-ui;min-width:16px;letter-spacing:0}.notification-count:empty{display:none}
.notification-item{padding:12px;margin:10px 0;border:1px solid var(--line);border-radius:16px;background:#ffffff04}.notification-item.is-unread{border-color:#ffb0c870}.notification-item time{display:block;color:var(--ink-soft);font-size:12px;margin:6px 0}.notification-item blockquote{margin:4px 0 10px;padding:9px 12px;white-space:pre-wrap;overflow-wrap:anywhere;background:#ffffff06;border-left:2px solid var(--accent);border-radius:10px}.notification-item .correction-label{margin:6px 0;font-size:13px;color:var(--ink-soft)}
.message-context-popup{position:fixed;z-index:10000;display:flex;flex-direction:column;gap:5px;box-sizing:border-box;min-width:180px;max-width:calc(100vw - 16px);padding:8px;background:rgba(36,29,51,.97);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 35px #0008;animation:correction-in .18s ease both;backdrop-filter:blur(10px)}.message-context-popup.is-closing{animation:correction-out .18s ease both;pointer-events:none}.message-context-popup button{position:static!important;margin:0!important;width:100%;box-sizing:border-box;padding:10px 12px!important;border:1px solid var(--line);border-radius:12px;background:transparent!important;color:var(--ink);font:14px/1.4 system-ui!important;letter-spacing:0;text-align:left;box-shadow:none!important;white-space:normal;opacity:1!important;cursor:pointer}.message-context-popup button:hover,.message-context-popup button:focus-visible{background:#ffb0c81b!important;border-color:var(--accent)}.chat-message-menu>summary[hidden]{display:none!important}
@media(max-width:760px){.site-header{grid-template-columns:minmax(0,1fr) auto 36px 36px!important;column-gap:5px!important}.site-header .site-notification-bell{grid-column:3;grid-row:1;width:36px;height:36px}.site-header .site-menu{grid-column:4!important;width:36px!important}.site-header .menu-btn{width:36px!important}.site-header .site-auth-links{grid-column:2 / 5!important}
 body[data-page="community"] .msg{gap:8px;align-items:flex-start}body[data-page="community"] .msg>.avwrap,body[data-page="community"] .msg>.avwrap>.avatar{width:32px!important;height:32px!important;flex:none}body[data-page="community"] .msg>.mbody{flex:1;min-width:0;max-width:calc(100% - 40px)}body[data-page="community"] .msg .mhead{gap:4px;min-height:32px;margin-bottom:5px}body[data-page="community"] .msg .mhead>.uname{font-size:14px;letter-spacing:0;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body[data-page="community"] .msg .mhead>.message-actions{flex:0 0 auto;margin-left:4px;gap:4px}body[data-page="community"] .msg .time{font-size:12px;letter-spacing:0}body[data-page="community"] .msg .bubble{box-sizing:border-box;padding:8px 11px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){.message-context-popup,.message-context-popup.is-closing{animation:none}}

/* Mobile message gestures belong to the app menu; native text selection stays on desktop. */
@media(max-width:760px),(pointer:coarse){body[data-page="community"] :is(.msg .bubble,.msg .bubble *,.post>.body,.post>.body *){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}
/* Popovers use the same translucent dusk surface as other floating controls. */
.message-context-popup{background:rgba(28,20,46,.46);-webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%);border-color:rgba(255,215,226,.28);padding:7px;gap:4px;min-width:190px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;scrollbar-width:thin}
.message-context-popup button{background:rgba(28,20,46,.12)!important;border-color:rgba(255,215,226,.13);min-height:42px}
.notification-center{letter-spacing:0;padding:0;display:flex;flex-direction:column;max-height:min(82dvh,720px);overflow:hidden;width:min(580px,calc(100vw - 24px));position:fixed}
.notification-center h2{letter-spacing:0;overflow-wrap:normal;word-break:normal;margin:0;padding:22px 62px 8px 24px;font-size:22px;font-weight:600;line-height:1.4}.notification-center .notification-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;padding:0;width:32px;height:32px;font:22px/1 system-ui;border-radius:50%;letter-spacing:0}
.notification-subtitle{padding:0 24px 16px;margin:0;color:var(--ink-soft);font-size:13px;border-bottom:1px solid var(--line)}.notification-list{min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px 18px 4px 24px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(255,176,200,.4) transparent}
.notification-item{padding:14px;margin:12px 0;background:rgba(255,255,255,.025)}.notification-item>strong{display:block;font-size:15px;line-height:1.5;font-weight:600}.notification-item>time{margin-bottom:12px}.notification-item blockquote{font-size:14px;line-height:1.55}.notification-item>button{margin-top:4px;font-size:13px}.notification-footer{border-top:1px solid var(--line);padding:14px 24px;display:flex;justify-content:flex-end;background:rgba(28,20,46,.35)}
.notification-list::-webkit-scrollbar{width:7px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{background:rgba(255,176,200,.4);border:2px solid transparent;background-clip:padding-box;border-radius:999px}
@media(max-width:760px){.site-header .site-account-controls{gap:6px}.message-context-popup{min-width:200px;max-width:min(260px,calc(100vw - 24px))}.message-context-popup button{min-height:44px}.notification-center h2{padding:18px 56px 8px 18px;font-size:20px}.notification-center .notification-close{top:15px;right:14px}.notification-subtitle{padding:0 18px 14px}.notification-list{padding:4px 12px 4px 18px}.notification-footer{padding:12px 18px}}

.notification-center .notification-close{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;min-width:32px;min-height:32px;line-height:0!important;font-size:0!important;padding:0!important}
.notification-center .notification-close::before{content:'';display:block;width:16px;height:16px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat}
/* Position once before revealing; opacity-only motion keeps the glass layer stable. */
.message-context-popup{animation:none;opacity:0;visibility:hidden;transform:none}
.message-context-popup.is-open{visibility:visible;animation:message-menu-in .18s ease both}
.message-context-popup.is-closing{visibility:visible;animation:message-menu-out .18s ease both}
.message-context-popup button{transform:none!important;transition:background .18s,border-color .18s}
@keyframes message-menu-in{from{opacity:0}to{opacity:1}}
@keyframes message-menu-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.message-context-popup.is-open{animation:none;opacity:1}.message-context-popup.is-closing{animation:none;opacity:0}}
.notification-item{position:relative;padding-right:76px}
.notification-item .notification-delete{position:absolute;top:12px;right:10px;font-size:12px;padding:5px 9px;min-height:30px;color:var(--ink-soft)}
.notification-footer{gap:8px;flex-wrap:wrap}
.notification-action-status{margin:0;padding:0 24px;color:var(--ink-soft);font-size:13px;line-height:1.5}
.notification-action-status:not(:empty){padding-top:8px;padding-bottom:8px}
.notification-center button:disabled{opacity:.45;cursor:default}
.notification-item blockquote,.notification-item .correction-label,.notification-item>time{margin-right:-62px}
@media(max-width:760px){.notification-action-status{padding-left:18px;padding-right:18px}.notification-footer button{font-size:13px}}
.message-context-popup{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,176,200,.4) transparent}
.message-context-popup button{display:block!important;flex-shrink:0}
#settingsPrivacy .honor-setting{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;line-height:1.5}
#settingsPrivacy .honor-setting p{margin:0;letter-spacing:inherit}
#settingsPrivacy .honor-setting .switch{margin:0}
