.chat-bubble-user{background:var(--brand-500);color:white;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg)}.chat-bubble-dijin,.chat-bubble-user{padding:10px 16px;max-width:85%;font-size:14px;line-height:1.5}.chat-bubble-dijin{background:var(--surface-secondary);color:var(--text-primary);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-xs)}.dark .chat-bubble-dijin{background:var(--surface-elevated)}@keyframes typingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);display:inline-block}.typing-dot:first-child{animation:typingDot 1.4s 0s infinite}.typing-dot:nth-child(2){animation:typingDot 1.4s .2s infinite}.typing-dot:nth-child(3){animation:typingDot 1.4s .4s infinite}.transcript-line{padding:6px 12px;border-left:3px solid transparent;transition:all var(--duration-fast) var(--ease-out)}.transcript-line:hover{background:var(--surface-secondary)}.transcript-line[data-speaker="0"]{border-left-color:var(--brand-500)}.transcript-line[data-speaker="1"]{border-left-color:var(--status-info)}.transcript-line[data-speaker="2"]{border-left-color:var(--status-success)}.transcript-line[data-speaker="3"]{border-left-color:var(--status-warning)}.transcript-line-same{border-left-color:transparent!important;border-right:3px solid transparent;text-align:right;padding-left:20%}.transcript-line-same[data-speaker="0"]{border-right-color:var(--brand-500)}.transcript-line-same[data-speaker="1"]{border-right-color:var(--status-info)}.transcript-line-same[data-speaker="2"]{border-right-color:var(--status-success)}.transcript-line-same[data-speaker="3"]{border-right-color:var(--status-warning)}.transcript-line-foreign{padding-right:20%}@keyframes lineReveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.transcript-line{animation:lineReveal .4s var(--ease-out) both}.transcript-line:first-child{animation-delay:.2s}.transcript-line:nth-child(2){animation-delay:.9s}.transcript-line:nth-child(3){animation-delay:1.7s}.transcript-line:nth-child(4){animation-delay:2.4s}.transcript-line:nth-child(5){animation-delay:3.2s}.transcript-line:nth-child(6){animation-delay:3.9s}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.typewriter-cursor{display:inline-block;width:2px;height:1.1em;background:var(--brand-500);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes plFadeIn{0%{opacity:0}to{opacity:1}}@keyframes plSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes plPop{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes plWave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes plDraw{0%{stroke-dashoffset:200;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes plPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:1}}@keyframes hero-progress{0%{width:0}to{width:100%}}.pl-anim-fade{animation:plFadeIn .5s ease-out both}.pl-anim-slide-up{animation:plSlideUp .5s ease-out both}.pl-anim-pop{animation:plPop .4s ease-out both}.pl-anim-wave{animation:plWave 1.2s ease-in-out infinite;transform-origin:bottom}.pl-anim-draw{animation:plDraw .8s ease-out both;stroke-dasharray:200}.pl-anim-pulse{animation:plPulse 2s ease-in-out infinite}