.chat-context-popover{position:fixed;inset:auto;margin:0;width:min(360px,calc(100vw - 16px));max-height:calc(100vh - 16px);box-sizing:border-box;overflow:auto;padding:8px;background:var(--glass-bg-strong);border:1px solid var(--glass-border-soft);border-radius:14px;color:var(--fg);box-shadow:var(--glass-shadow-strong);backdrop-filter:var(--glass-filter-strong);-webkit-backdrop-filter:var(--glass-filter-strong);font:13px/1.3 system-ui,-apple-system,sans-serif;transform-origin:var(--chat-context-origin,0 0)}
.chat-context-popover:popover-open{animation:chat-context-open 120ms cubic-bezier(.2,.75,.25,1)}
.chat-report-dialog{width:min(420px,calc(100vw - 24px));padding:0;border:1px solid var(--glass-border-soft);border-radius:14px;background:var(--glass-bg-strong);color:var(--fg);box-shadow:var(--glass-shadow-strong);backdrop-filter:var(--glass-filter-strong);-webkit-backdrop-filter:var(--glass-filter-strong);font:13px/1.35 system-ui,-apple-system,sans-serif}
.chat-report-dialog::backdrop{background:rgba(0,0,0,.68)}
.chat-report-form{display:flex;flex-direction:column;gap:14px;padding:18px}
.chat-report-form h2{margin:0;font-size:17px}
.chat-report-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;border:0}
.chat-report-categories legend{grid-column:1/-1;margin-bottom:2px;color:var(--dim);font-size:12px;font-weight:650}
.chat-report-categories label{position:relative;min-width:0}
.chat-report-categories input{position:absolute;opacity:0;pointer-events:none}
.chat-report-categories span{display:flex;min-height:38px;box-sizing:border-box;align-items:center;padding:8px 10px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);color:var(--fg);cursor:pointer}
.chat-report-categories input:checked+span{border-color:var(--accent-hot);background:color-mix(in srgb,var(--raised) 78%,var(--accent));color:#fff}
.chat-report-categories input:focus-visible+span{outline:2px solid var(--accent-hot);outline-offset:2px}
.chat-report-note{display:flex;flex-direction:column;gap:6px;color:var(--dim);font-size:12px;font-weight:650}
.chat-report-note textarea{width:100%;box-sizing:border-box;resize:vertical;padding:9px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);color:var(--fg);font:13px/1.4 system-ui,-apple-system,sans-serif}
.chat-report-note textarea:focus{border-color:var(--accent-hot);outline:none}
.chat-report-dialog-actions{display:flex;justify-content:flex-end;gap:8px}
.chat-report-dialog-actions button{min-height:36px;padding:7px 13px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.035));box-shadow:var(--btn-shadow);color:var(--fg);font:inherit;font-weight:650;cursor:pointer;transition:background 140ms ease,border-color 140ms ease,box-shadow 140ms ease,color 140ms ease}
.chat-report-dialog-actions button:not(:disabled):hover{border-color:rgba(255,255,255,.3);background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.075));box-shadow:var(--btn-shadow-hover)}
.chat-report-dialog-actions button:not(:disabled):active{background:rgba(255,255,255,.055);box-shadow:var(--btn-shadow-active)}
.chat-report-dialog-actions button:focus-visible{outline:2px solid var(--btn-focus);outline-offset:2px}
.chat-report-dialog-actions .chat-report-submit{border-color:rgba(255,180,80,.48)!important;background:linear-gradient(180deg,rgba(255,190,110,.24),rgba(247,147,26,.09));box-shadow:var(--btn-primary-shadow);color:var(--btn-ink)!important}
.chat-report-dialog-actions .chat-report-submit:not(:disabled):hover{border-color:rgba(255,198,126,.7)!important;background:linear-gradient(180deg,rgba(255,205,145,.34),rgba(247,147,26,.16));box-shadow:var(--btn-primary-shadow-hover)}
.chat-report-submit:disabled{cursor:not-allowed;opacity:.5}
.chat-context-reaction-picker{height:232px;flex:none;padding:2px 2px 8px;border-bottom:1px solid var(--hairline);margin-bottom:5px}
.chat-context-actions[hidden]{display:none}
.chat-context-actions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(40px,auto);row-gap:1px}
.chat-context-actions:not(.is-single-column)::after{content:"";position:absolute;left:50%;top:4px;bottom:4px;width:1px;background:var(--hairline);pointer-events:none}
.chat-context-action{--consequence-rule:var(--dim);position:relative;width:100%;border:0;border-radius:5px;background:transparent;color:var(--fg);font:inherit;font-weight:560;text-align:left;padding:11px 14px 11px 18px;cursor:pointer;transition:background-color 100ms ease,color 100ms ease}
.chat-context-action[data-column="left"]{grid-column:1}
.chat-context-action[data-column="right"]{grid-column:2}
.chat-context-action[data-row="1"]{grid-row:1}
.chat-context-action[data-row="2"]{grid-row:2}
.chat-context-action[data-row="3"]{grid-row:3}
.chat-context-actions.is-single-column .chat-context-action{grid-column:1/-1}
.chat-context-action::before{content:"";position:absolute;left:7px;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--consequence-rule)}
.chat-context-action[data-consequence="pin"]{--consequence-rule:color-mix(in srgb,var(--dim) 48%,var(--accent))}
.chat-context-action[data-consequence="delete"]{--consequence-rule:var(--accent)}
.chat-context-action[data-consequence="ban-channel"]{--consequence-rule:color-mix(in srgb,var(--accent) 48%,var(--danger))}
.chat-context-action[data-consequence="ban-global"]{--consequence-rule:var(--danger)}
.chat-context-action:hover,.chat-context-action:focus-visible{background:color-mix(in srgb,var(--raised) 92%,var(--fg));outline:none}
.chat-context-action:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-hot)}
.chat-context-action.is-destructive:hover,.chat-context-action.is-destructive:focus-visible{color:var(--danger)}
.msg[data-msg-id]{position:relative;transition:background-color 100ms ease,box-shadow 100ms ease}
.msg[data-msg-id]:focus-visible,.msg[data-msg-id]:has(>.chat-inline-actions .chat-inline-action:focus-visible){background-color:color-mix(in srgb,var(--raised) 84%,var(--fg));box-shadow:inset 2px 0 var(--accent)}
.msg[data-msg-id]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chat-inline-actions{position:absolute;z-index:4;top:-15px;right:5px;display:flex;gap:2px;padding:2px;border:1px solid var(--glass-border-soft);border-radius:10px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow);opacity:0;pointer-events:none;translate:0 3px;transition:opacity 100ms ease,translate 100ms ease}
.msg[data-msg-id]:focus-visible>.chat-inline-actions,.msg[data-msg-id]:has(>.chat-inline-actions .chat-inline-action:focus-visible)>.chat-inline-actions{opacity:1;pointer-events:auto;translate:0 0}
.chat-inline-action{display:flex;align-items:center;justify-content:center;width:30px;height:28px;padding:5px;border:0;font:inherit}
.chat-inline-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.chat-inline-action[data-action="more"] svg{fill:currentColor;stroke:none}
:is(.chat-context-action){--btn-solid:transparent;--btn-rest:var(--btn-ghost-rest);--btn-hover:var(--btn-ghost-hover);--btn-active:var(--btn-ghost-active);--btn-border:var(--btn-ghost-border);--btn-border-hover:var(--btn-ghost-border-hover);--btn-role-shadow:none;--btn-role-shadow-hover:var(--btn-shadow);--btn-color:var(--btn-fg);--btn-color-hover:var(--btn-fg);--btn-radius:6px}
:is(.chat-context-action.is-destructive){--btn-solid:#bd3035;--btn-rest:var(--btn-danger-rest);--btn-hover:var(--btn-danger-hover);--btn-active:var(--btn-danger-active);--btn-border:var(--btn-danger-border);--btn-border-hover:var(--btn-danger-border-hover);--btn-role-shadow:var(--btn-danger-shadow);--btn-role-shadow-hover:var(--btn-danger-shadow-hover);--btn-color:#fff;--btn-color-hover:#fff;--btn-radius:6px}
:is(.chat-inline-action){--btn-solid:#1b1b23;--btn-rest:var(--btn-neutral-rest);--btn-hover:var(--btn-neutral-hover);--btn-active:var(--btn-neutral-active);--btn-border:var(--btn-neutral-border);--btn-border-hover:var(--btn-neutral-border-hover);--btn-role-shadow:var(--btn-shadow);--btn-role-shadow-hover:var(--btn-shadow-hover);--btn-color:var(--btn-fg);--btn-color-hover:#FFB454;--btn-radius:8px}
:is(.chat-context-action,.chat-inline-action){background-color:color-mix(in srgb,var(--btn-solid) 18%,transparent)!important;background-image:var(--btn-rest)!important;border:1px solid!important;border-color:var(--btn-border)!important;border-radius:var(--btn-radius)!important;box-shadow:var(--btn-role-shadow);color:var(--btn-color)!important;cursor:pointer;translate:0 0;transition:border-color 140ms ease,box-shadow 140ms ease,color 140ms ease,opacity 140ms ease}
:is(.chat-context-action,.chat-inline-action):not(:disabled):not([aria-disabled="true"]):hover{background-image:var(--btn-hover)!important;border-color:var(--btn-border-hover)!important;box-shadow:var(--btn-role-shadow-hover);color:var(--btn-color-hover)!important;translate:0 0}
:is(.chat-context-action,.chat-inline-action):not(:disabled):not([aria-disabled="true"]):active{background-image:var(--btn-active)!important;border-color:var(--btn-border)!important;box-shadow:var(--btn-shadow-active);translate:0 0}
:is(.chat-context-action,.chat-inline-action):focus-visible{outline:2px solid var(--btn-focus)!important;outline-offset:2px}
:is(.chat-context-action,.chat-inline-action):is(:disabled,[aria-disabled="true"]){background-image:var(--btn-rest)!important;box-shadow:var(--btn-role-shadow);cursor:not-allowed;opacity:.5;translate:0 0}
@keyframes chat-context-open{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@media(hover:hover){.msg[data-msg-id]:hover{background-color:color-mix(in srgb,var(--raised) 84%,var(--fg));box-shadow:inset 2px 0 var(--accent)}.msg[data-msg-id]:hover>.chat-inline-actions{opacity:1;pointer-events:auto;translate:0 0}}
@media (prefers-reduced-motion:reduce){.chat-context-popover:popover-open{animation:none}.chat-inline-actions{transition:none}}
@media(max-width:420px){.chat-report-categories{grid-template-columns:1fr}}
