/* Shared Sofia presentation for the canonical ScrollLit shell. */
.sl-shell .site-ai-v2-composer { background: #fff; }
.sl-shell .site-ai-v2-messages { background: #fff; }
.sofia-navigation-launcher { position: relative; display: block; height: 100%; }
.site-ai-v2-messages--fade-top { position: relative; isolation: isolate; }
.site-ai-v2-messages--fade-top::before { position: absolute; inset: 0 -1rem auto; z-index: 2; display: block; height: 3.5rem; background: linear-gradient(to bottom, rgb(255 255 255 / 1) 0 1.25rem, rgb(255 255 255 / .94) 42%, rgb(255 255 255 / 0) 100%); content: ""; pointer-events: none; }
.site-ai-v2-user-bubble,
.site-ai-v2-answer-bubble { width: 90% !important; max-width: 90% !important; }
.site-ai-v2-user-bubble { margin-left: auto; }
.site-ai-v2-link-card__inner { display: flow-root; }
.site-ai-v2-link-card__body { width: 100%; max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
.site-ai-v2-link-card__copy { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.site-ai-v2-link-card__media { float: left; width: 28.3333%; margin: 0 1rem .6rem 0; }
.site-ai-v2-link-card__image { aspect-ratio: 1; overflow: hidden; border-radius: .9rem; }
.site-ai-v2-link-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.site-ai-v2-link-card__caption { margin: 0; text-align: left; }
.site-ai-v2-link-card__title { display: block; color: #4338ca; font-size: 18px; font-weight: 700; line-height: 1.15; overflow-wrap: anywhere; }
.site-ai-v2-link-card__text { margin: .3rem 0 0; line-height: 1.3; text-align: left; }
.sofia-related-quote-title { display: block; color: #3730a3; font-size: 1.22rem; font-weight: 750; line-height: 1.28; }
.sofia-related-quote-location { display: block; margin-top: .35rem; color: #4b5563; font-size: .78rem; font-weight: 650; line-height: 1.35; }
.sofia-related-quote-validated { display: inline-flex; margin-top: .4rem; color: #047857; font-size: .75rem; font-weight: 750; line-height: 1.2; }
.sofia-related-analysis--literary { margin-top: .55rem; font-style: italic; }
[data-sofia-audio-message-key][data-sofia-audio-state="playing"] {
  border-color: #2563eb;
  background: #dbeafe;
  box-shadow: 0 0 0 3px rgb(96 165 250 / 28%), 0 8px 20px rgb(37 99 235 / 16%);
  color: #1e3a8a;
}
[data-sofia-audio-message-key][data-sofia-audio-state="playing"] .site-ai-v2-answer-text,
[data-sofia-audio-message-key][data-sofia-audio-state="playing"] .site-ai-v2-link-card__text,
[data-sofia-audio-message-key][data-sofia-audio-state="playing"] .site-ai-v2-link-card__title { color: #1e3a8a; }
.sofia-recording-chip { display: inline-flex; align-items: center; gap: .45rem; min-height: 2rem; padding: .3rem .65rem .3rem .7rem; border: 1px solid #fecdd3; border-radius: 999px; background: #fff1f2; color: #be123c; font-size: .75rem; font-weight: 700; box-shadow: 0 4px 12px rgb(190 24 93 / 12%); animation: sofia-recording-chip-in .18s ease-out both; }
.sofia-recording-wave { display: inline-flex; align-items: center; gap: 3px; height: 1rem; }
.sofia-recording-wave__bar { display: block; width: 3px; height: 55%; border-radius: 999px; background: #e11d48; animation: sofia-recording-wave 1.05s ease-in-out infinite; }
.sofia-recording-wave__bar:nth-child(1) { height: 40%; animation-duration: .8s; }
.sofia-recording-wave__bar:nth-child(2) { height: 70%; animation-duration: 1.1s; }
.sofia-recording-wave__bar:nth-child(3) { height: 100%; animation-duration: 1.3s; }
.sofia-recording-wave__bar:nth-child(4) { height: 60%; animation-duration: .9s; }
.sofia-recording-wave__bar:nth-child(5) { height: 50%; animation-duration: 1s; }
@keyframes sofia-recording-wave { 0%, 100% { transform: scaleY(.5); background: #e11d48; } 50% { transform: scaleY(1); background: #fb7185; } }
@keyframes sofia-recording-chip-in { from { opacity: 0; transform: translateX(.35rem) scale(.96); } to { opacity: 1; transform: translateX(0) scale(1); } }
.site-ai-v2-composer-action--recording { min-width: 5.5rem !important; }
.site-ai-v2-composer-action .sofia-recording-chip { display: inline-flex; min-height: 0; gap: .3rem; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: inherit; line-height: 1; animation: none; }
.site-ai-v2-composer-action .sofia-recording-chip[hidden], .site-ai-v2-composer-action [data-sofia-recording-idle-content][hidden] { display: none; }
