/* Chat éphémère. */
@layer pms {
.pms-chat { position: relative; display: flex; flex-direction: column; min-height: 0; height: 100%; background: var(--pms-surface); border: 1px solid var(--pms-line); border-radius: var(--pms-radius); overflow: hidden; }
.pms-chat__head { display: flex; align-items: center; gap: var(--pms-space-2); padding: var(--pms-space-3) var(--pms-space-4); border-bottom: 1px solid var(--pms-line); }
.pms-chat__title { display: flex; align-items: center; gap: var(--pms-space-2); flex: 1; min-width: 0; }
.pms-chat__title h2 { font-size: var(--pms-text-md); margin: 0; }
.pms-chat__live { width: 8px; height: 8px; border-radius: 999px; background: #E11D48; box-shadow: 0 0 0 0 rgb(225 29 72 / .6); animation: pms-pulse 1.8s infinite; }
@keyframes pms-pulse { 70% { box-shadow: 0 0 0 8px rgb(225 29 72 / 0); } 100% { box-shadow: 0 0 0 0 rgb(225 29 72 / 0); } }
.pms-chat__present { display: inline-flex; align-items: center; gap: 4px; font-size: var(--pms-text-sm); font-weight: 700; color: var(--pms-ink-2); font-variant-numeric: tabular-nums; }
.pms-chat__tool, .pms-chat__x { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 8px; background: transparent; color: var(--pms-ink-2); cursor: pointer; }
.pms-chat__tool:hover, .pms-chat__tool[aria-expanded="true"] { background: var(--pms-tint); color: var(--pms-primary-text); }
.pms-chat__mod { display: grid; gap: var(--pms-space-2); padding: var(--pms-space-3) var(--pms-space-4); background: var(--pms-surface-2); border-bottom: 1px solid var(--pms-line); }
.pms-chat__modrow { display: flex; gap: var(--pms-space-2); align-items: center; flex-wrap: wrap; justify-content: space-between; }
.pms-chat__modrow .pms-input { flex: 1; min-width: 160px; min-height: 38px; }
.pms-chat__slow { width: auto; min-height: 36px; margin-left: 6px; }
.pms-chat__pinned { display: flex; gap: var(--pms-space-2); align-items: flex-start; padding: var(--pms-space-3) var(--pms-space-4); background: var(--pms-tint); color: var(--pms-ink); border-bottom: 1px solid var(--pms-line); font-size: var(--pms-text-sm); font-weight: 600; }
.pms-chat__pinned .pms-icon { color: var(--pms-primary-text); flex: none; margin-top: 2px; }
.pms-chat__pinned p { flex: 1; margin: 0; }
.pms-chat__list { list-style: none; margin: 0; padding: var(--pms-space-3) var(--pms-space-3) var(--pms-space-2); flex: 1; min-height: 220px; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 2px; position: relative; }
.pms-chat__empty { margin: auto; color: var(--pms-ink-3); font-size: var(--pms-text-sm); text-align: center; padding: var(--pms-space-5); }
.pms-chat__msg { display: flex; gap: var(--pms-space-2); padding: 6px 8px; border-radius: 10px; animation: pms-in .25s var(--pms-ease); }
@keyframes pms-in { from { opacity: 0; transform: translateY(6px); } }
.pms-chat__msg:hover { background: var(--pms-surface-2); }
.pms-chat__msg.is-team { background: color-mix(in oklab, var(--pms-primary) 7%, transparent); }
.pms-chat__msg.is-mention { box-shadow: inset 3px 0 0 var(--pms-warning); background: var(--pms-warning-bg); }
.pms-chat__avatar { flex: none; width: 30px; height: 30px; border-radius: 999px; display: grid; place-items: center; color: #fff; font-size: 11px; font-weight: 800; overflow: hidden; }
.pms-chat__avatar img { width: 100%; height: 100%; object-fit: cover; }
.pms-chat__bubble { min-width: 0; flex: 1; }
.pms-chat__meta { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; font-size: var(--pms-text-sm); line-height: 1.3; margin: 0; }
.pms-chat__meta time { color: var(--pms-ink-3); font-size: var(--pms-text-xs); font-variant-numeric: tabular-nums; }
.pms-chat__badge { padding: 1px 7px; border-radius: 999px; background: var(--pms-primary); color: var(--pms-on-primary); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.pms-chat__quote { margin: 3px 0 0; padding-left: 8px; border-left: 2px solid var(--pms-line-strong); color: var(--pms-ink-3); font-size: var(--pms-text-xs); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pms-chat__body { margin: 1px 0 0; font-size: var(--pms-text-sm); line-height: 1.45; overflow-wrap: anywhere; }
.pms-chat__at { color: var(--pms-primary-text); font-weight: 700; }
.pms-chat__acts { display: flex; gap: var(--pms-space-3); opacity: 0; height: 0; overflow: hidden; transition: opacity .15s; }
.pms-chat__msg:hover .pms-chat__acts, .pms-chat__msg:focus-within .pms-chat__acts { opacity: 1; height: auto; margin-top: 2px; }
@media (hover: none) { .pms-chat__acts { opacity: 1; height: auto; margin-top: 2px; } }
.pms-chat__acts button { border: 0; background: none; padding: 0; color: var(--pms-ink-3); font: inherit; font-size: var(--pms-text-xs); font-weight: 700; cursor: pointer; }
.pms-chat__acts button:hover { color: var(--pms-primary-text); }
.pms-chat__newer { position: absolute; left: 50%; bottom: 120px; transform: translateX(-50%); z-index: 2; padding: 6px 14px; border: 0; border-radius: 999px; background: var(--pms-primary); color: var(--pms-on-primary); font: inherit; font-size: var(--pms-text-sm); font-weight: 700; box-shadow: var(--pms-shadow); cursor: pointer; }
.pms-chat__foot { border-top: 1px solid var(--pms-line); padding: var(--pms-space-2) var(--pms-space-3) var(--pms-space-3); display: grid; gap: var(--pms-space-2); }
.pms-chat__reacts { display: flex; gap: var(--pms-space-2); }
.pms-chat__reacts button { min-width: 40px; height: 34px; padding: 0 10px; border: 1px solid var(--pms-line); border-radius: 999px; background: var(--pms-surface); font: inherit; font-size: 16px; cursor: pointer; transition: transform .1s; }
.pms-chat__reacts button:active { transform: scale(.9); }
.pms-chat__amen { font-size: var(--pms-text-sm) !important; font-weight: 800; color: var(--pms-primary-text); }
.pms-chat__form { display: grid; gap: 4px; }
.pms-chat__replying { margin: 0; font-size: var(--pms-text-xs); color: var(--pms-ink-2); }
.pms-chat__replying button { border: 0; background: none; font-size: 16px; line-height: 1; cursor: pointer; color: var(--pms-ink-3); }
.pms-chat__compose { display: flex; gap: var(--pms-space-2); align-items: flex-end; }
.pms-chat__input { flex: 1; min-height: 42px; max-height: 120px; resize: none; padding: 10px 14px; border: 1px solid var(--pms-line-strong); border-radius: 21px; background: var(--pms-surface); color: var(--pms-ink); font: inherit; font-size: var(--pms-text-sm); line-height: 1.4; }
.pms-chat__input:focus { outline: 2px solid var(--pms-focus); outline-offset: 1px; border-color: var(--pms-primary); }
.pms-chat__send { flex: none; width: 42px; height: 42px; border: 0; border-radius: 999px; background: var(--pms-primary); color: var(--pms-on-primary); display: grid; place-items: center; cursor: pointer; }
.pms-chat__send:disabled { opacity: .45; cursor: default; }
.pms-chat__count { margin: 0; text-align: right; font-size: 11px; color: var(--pms-ink-3); font-variant-numeric: tabular-nums; }
.pms-chat__count.is-near { color: var(--pms-danger); font-weight: 700; }
.pms-chat__locked { text-align: center; font-size: var(--pms-text-sm); color: var(--pms-ink-2); }
.pms-chat__locked p { margin: var(--pms-space-2) 0; }
.pms-float { position: absolute; bottom: 12px; font-size: 26px; pointer-events: none; z-index: 5; animation-name: pms-float; animation-timing-function: ease-out; animation-fill-mode: forwards; }
@keyframes pms-float { 0% { transform: translateY(0) scale(.6); opacity: 0; } 15% { opacity: 1; transform: translateY(-20px) scale(1.1); } 100% { transform: translateY(-220px) scale(1); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pms-float, .pms-chat__msg, .pms-chat__live { animation: none; } }
}
