.chat-display{flex-direction:column;flex:1;min-height:0;display:flex}.chat-display__head{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px 8px;display:flex}.chat-display__title{text-transform:uppercase;letter-spacing:.08em;color:var(--pp-text-soft);align-items:center;gap:8px;margin:0;font-size:11px;font-weight:600;display:inline-flex}.chat-display__count{color:var(--pp-text-faint);background:var(--pp-surface-2);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:500}.chat-display__list{scrollbar-width:thin;flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 16px;display:flex;overflow-y:auto}.chat-display__list::-webkit-scrollbar{width:4px}.chat-display__list::-webkit-scrollbar-thumb{background:var(--pp-border-strong);border-radius:2px}.chat-display__skeleton{flex-direction:column;gap:10px;display:flex}.chat-display__empty{text-align:center;color:var(--pp-text-faint);flex-direction:column;align-items:center;gap:10px;margin:auto;padding:28px 16px;font-size:13px;display:flex}.chat-display__empty-icon{background:var(--pp-surface-2);width:36px;height:36px;color:var(--pp-text-faint);border-radius:50%;place-items:center;display:grid}.chat-display__form{border-top:1px solid var(--pp-border);background:var(--pp-surface);flex-shrink:0;gap:6px;padding:10px 12px 12px;display:flex}.chat-display__input{background:var(--pp-surface-2);font:inherit;color:var(--pp-text);border:1px solid #0000;border-radius:999px;flex:1;min-height:38px;padding:9px 14px;font-size:13.5px}.chat-display__input::placeholder{color:var(--pp-text-faint)}.chat-display__input:focus{border-color:var(--pp-accent);box-shadow:0 0 0 3px var(--pp-accent-ring);outline:none}.chat-display__send{background:var(--pp-accent);width:38px;height:38px;color:var(--pp-on-accent);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;place-items:center;transition:background .15s;display:grid}.chat-display__send:hover:not(:disabled){background:var(--pp-accent-hover)}.chat-display__send:disabled{background:var(--pp-surface-3);color:var(--pp-text-faint);cursor:not-allowed}.chat-display__send-icon{transform:translate(-1px,1px)}.chat-display__error{color:var(--pp-danger,#e53e3e);margin:0;padding:4px 12px 8px;font-size:.75rem}@media (prefers-reduced-motion:reduce){.chat-display__send{transition:none}}.chat-msg{gap:8px;max-width:88%;display:flex}.chat-msg--mine{flex-direction:row-reverse;margin-left:auto}.chat-msg__bubble{background:var(--pp-surface);border:1px solid var(--pp-border);color:var(--pp-text);word-break:break-word;border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:13px;line-height:1.4}.chat-msg--mine .chat-msg__bubble{background:var(--pp-accent);color:var(--pp-on-accent);border-color:var(--pp-accent);border-radius:14px 14px 4px}.chat-msg__meta{color:var(--pp-text-faint);align-items:center;gap:6px;margin-top:2px;font-size:10.5px;display:flex}.chat-msg--mine .chat-msg__meta{justify-content:flex-end}.chat-msg__author{color:var(--pp-text-soft);font-weight:600}.chat-msg__actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.chat-msg--mine .chat-msg__actions{justify-content:flex-end}.chat-msg__action{border:1px solid var(--pp-border);background:var(--pp-surface-2);width:26px;height:24px;color:var(--pp-text-soft);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chat-msg__action:hover{border-color:var(--pp-border-strong);color:var(--pp-text)}.chat-msg__action:focus-visible{outline:2px solid var(--pp-accent);outline-offset:1px}.chat-msg__action--react:hover,.chat-msg__action--react[aria-expanded=true]{color:var(--pp-accent);border-color:var(--pp-accent);background:var(--pp-accent-soft)}.chat-msg__action--delete:hover{color:var(--pp-danger);border-color:var(--pp-danger);background:var(--pp-danger-soft)}.chat-msg__reaction{border:1px solid var(--pp-border);background:var(--pp-surface-2);height:24px;color:var(--pp-text-soft);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:11px;transition:background .15s,border-color .15s;display:inline-flex}.chat-msg__reaction:hover{border-color:var(--pp-border-strong)}.chat-msg__reaction:focus-visible{outline:2px solid var(--pp-accent);outline-offset:1px}.chat-msg__reaction--mine{background:var(--pp-accent-soft);border-color:var(--pp-accent);color:var(--pp-text)}.chat-msg__reaction-emoji{font-size:12px}.chat-msg__reaction-count{font-variant-numeric:tabular-nums;font-weight:600}.chat-msg__reaction-add-wrap{display:inline-flex;position:relative}.chat-msg__reaction-picker{z-index:10;border:1px solid var(--pp-border);background:var(--pp-surface);border-radius:10px;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 6px 20px #0000002e}.chat-msg--mine .chat-msg__reaction-picker{left:auto;right:0}.chat-msg__reaction-option{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:17px;line-height:1;transition:background .15s;display:inline-flex}.chat-msg__reaction-option:hover{background:var(--pp-surface-2)}.chat-msg__reaction-option:focus-visible{outline:2px solid var(--pp-accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.chat-msg__action,.chat-msg__reaction,.chat-msg__reaction-option{transition:none}}.pp-skeleton{--pp-skeleton-base:var(--pp-surface-2);--pp-skeleton-sheen:var(--pp-surface-3);background-color:var(--pp-skeleton-base);background-image:linear-gradient(90deg, transparent 0%, var(--pp-skeleton-sheen) 50%, transparent 100%);border-radius:var(--pp-r-md);background-position:200% 0;background-repeat:no-repeat;background-size:200% 100%;flex-shrink:0;animation:1.5s ease-in-out infinite pp-skeleton-shimmer;display:block}.pp-skeleton--text{border-radius:var(--pp-r-sm);height:.75rem}.pp-skeleton--circle{border-radius:50%}.pp-skeleton--rect{border-radius:var(--pp-r-md)}@keyframes pp-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .pp-skeleton{--pp-skeleton-base:var(--pp-surface-2);--pp-skeleton-sheen:var(--pp-surface-3)}@media (prefers-reduced-motion:reduce){.pp-skeleton{background-image:none;animation:none}}.pp-notif-stack{z-index:1100;pointer-events:none;flex-direction:column;gap:10px;width:340px;max-width:calc(100% - 24px);display:flex;position:fixed;top:12px;right:12px}@media (width<=520px){.pp-notif-stack{width:calc(100% - 24px)}}.pp-notif{pointer-events:auto;background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:var(--pp-r-lg);color:var(--pp-text);box-shadow:var(--pp-shadow-lg);grid-template-columns:28px 1fr auto;align-items:start;gap:10px;padding:12px 12px 12px 14px;animation:.26s cubic-bezier(.16,1.1,.3,1.02) ppNotifIn;display:grid;position:relative;overflow:hidden}.pp-notif:before{content:"";background:var(--pp-text-faint);width:3px;position:absolute;top:0;bottom:0;left:0}.pp-notif--danger:before{background:var(--pp-danger)}.pp-notif--danger .pp-notif__icon-wrap{background:var(--pp-danger-soft);color:var(--pp-danger)}.pp-notif--danger .pp-notif__progress{background:var(--pp-danger)}.pp-notif--danger .pp-notif__action--primary{background:var(--pp-danger);border-color:var(--pp-danger);color:#fff}.pp-notif--danger .pp-notif__action--primary:hover{filter:brightness(1.08)}.pp-notif--warn:before{background:var(--pp-warn)}.pp-notif--warn .pp-notif__icon-wrap{background:var(--pp-warn-soft);color:var(--pp-warn)}.pp-notif--warn .pp-notif__progress{background:var(--pp-warn)}.pp-notif--info:before{background:var(--pp-accent-bright)}.pp-notif--info .pp-notif__icon-wrap{background:var(--pp-accent-soft);color:var(--pp-accent)}.pp-notif--exiting{animation:.2s forwards ppNotifOut}.pp-notif__icon-wrap{border-radius:var(--pp-r-md);flex-shrink:0;place-items:center;width:28px;height:28px;display:grid;position:relative}.pp-notif__main{flex-direction:column;gap:3px;min-width:0;padding-top:1px;display:flex}.pp-notif__title{letter-spacing:-.005em;color:var(--pp-text);margin:0;font-size:13.5px;font-weight:600;line-height:1.3}.pp-notif__desc{color:var(--pp-text-soft);text-wrap:pretty;margin:0;font-size:12.5px;line-height:1.45}.pp-notif__desc strong{background:var(--pp-surface-2);border:1px solid var(--pp-border);border-radius:var(--pp-r-sm);color:var(--pp-text);white-space:nowrap;padding:0 5px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;font-weight:500}.pp-notif__count{font-variant-numeric:tabular-nums;color:var(--pp-text);font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600}.pp-notif__actions{gap:6px;margin-top:6px;display:flex}.pp-notif__action{border:1px solid var(--pp-border);border-radius:var(--pp-r-sm);font:inherit;color:var(--pp-text);cursor:pointer;background:0 0;padding:4px 10px;font-size:11.5px;font-weight:500;transition:background .12s,border-color .12s}.pp-notif__action:hover{background:var(--pp-surface-2);border-color:var(--pp-border-strong)}.pp-notif__action--primary{background:var(--pp-accent);color:var(--pp-on-accent);border-color:var(--pp-accent)}.pp-notif__action--primary:hover{background:var(--pp-accent-hover);border-color:var(--pp-accent-hover)}.pp-notif__close{color:var(--pp-text-faint);cursor:pointer;border-radius:var(--pp-r-sm);background:0 0;border:none;align-self:start;place-items:center;margin:-2px -2px 0 0;padding:4px;display:grid}.pp-notif__close:hover{background:var(--pp-surface-2);color:var(--pp-text)}.pp-notif__progress{background:var(--pp-accent-bright);height:2px;transition:width .15s linear;position:absolute;bottom:0;left:0}.pp-notif__spinner{opacity:.9;border:2px solid #0000;border-color:#0000 #0000 currentColor currentColor;border-radius:50%;width:16px;height:16px;animation:.9s linear infinite ppSpin}@keyframes ppNotifIn{0%{opacity:0;transform:translate(12px,-4px)scale(.97)}to{opacity:1;transform:none}}@keyframes ppNotifOut{0%{opacity:1;transform:none}to{opacity:0;transform:translate(12px)scale(.97)}}@keyframes ppSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.pp-notif{animation:none}.pp-notif--exiting{animation:none;display:none}.pp-notif__spinner{animation:none}}
