.pct-chat-wrapper {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--pct-max-width);
    margin: 0 auto;
    padding: clamp(16px, 3vw, 30px);
    border-radius: 4px;
    background: var(--pct-bg);
    font-family: inherit;
}
.pct-chat-wrapper *, .pct-chat-wrapper *::before, .pct-chat-wrapper *::after { box-sizing: border-box; }
.pct-message {
    display: flex;
    align-items: flex-start;
    gap: var(--pct-d-gap);
    margin: 0 0 var(--pct-d-v-gap);
}
.pct-message:last-child { margin-bottom: 0; }
.pct-avatar {
    display: var(--pct-avatar-display);
    flex: 0 0 var(--pct-d-avatar-size);
    width: var(--pct-d-avatar-size);
    height: var(--pct-d-avatar-size);
}
.pct-avatar img, .pct-avatar-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: var(--pct-avatar-radius);
    object-fit: cover;
    background: #dcdcde;
    color: #3c434a;
    font-weight: 700;
}
.pct-bubble-container { flex: 1; min-width: 0; }
.pct-meta {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 5px;
    color: #50575e;
    font-size: .875em;
    line-height: 1.35;
}
.pct-name { color: inherit; }
.pct-role-name::before { content: "· "; }
.pct-time { margin-left: auto; font-variant-numeric: tabular-nums; }
.pct-bubble {
    position: relative;
    display: inline-block;
    max-width: 100%;
    padding: var(--pct-d-pad-v) var(--pct-d-pad-h);
    border: var(--pct-border-width) solid transparent;
    border-radius: var(--pct-bubble-radius);
    box-shadow: var(--pct-shadow);
    background: #fff;
    font-size: var(--pct-d-font-size);
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.pct-bubble::before, .pct-bubble::after {
    position: absolute;
    top: 16px;
    right: 100%;
    display: var(--pct-arrow-display);
    width: 0;
    height: 0;
    border-style: solid;
    content: "";
}
.pct-bubble::before {
    margin-top: -1px;
    border-width: 9px 10px 9px 0;
    border-color: transparent currentColor transparent transparent;
}
.pct-bubble::after {
    border-width: 8px 9px 8px 0;
    border-color: transparent #fff transparent transparent;
}
.pct-bubble > :first-child { margin-top: 0; }
.pct-bubble > :last-child { margin-bottom: 0; }
.pct-error { padding: 12px; border-left: 4px solid #d63638; background: #fcf0f1; }
@media (max-width: 768px) {
    .pct-chat-wrapper { padding: 14px; }
    .pct-message { gap: var(--pct-m-gap); margin-bottom: var(--pct-m-v-gap); }
    .pct-avatar { flex-basis: var(--pct-m-avatar-size); width: var(--pct-m-avatar-size); height: var(--pct-m-avatar-size); }
    .pct-bubble { padding: var(--pct-m-pad-v) var(--pct-m-pad-h); font-size: var(--pct-m-font-size); }
    .pct-time { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .pct-chat-wrapper * { scroll-behavior: auto !important; }
}
