/* Isolated from article/scene typography. No layout or scroll-timeline changes. */
.rc-ai, .rc-ai-launch, .rc-ai-selection { font: 14px/1.5 system-ui, sans-serif; letter-spacing: normal; box-sizing: border-box; }
.rc-ai-launch, .rc-ai-selection { position: fixed; z-index: 1200; right: max(18px, env(safe-area-inset-right)); bottom: calc(18px + env(safe-area-inset-bottom)); border: 1px solid #88dce6; border-radius: 28px; background: #132a34; color: #e9f6f8; padding: 12px 18px; cursor: pointer; box-shadow: 0 4px 24px #0005; }
.rc-ai-launch span { color: #88dce6; padding-right: 7px; }
.rc-ai-selection { bottom: calc(76px + env(safe-area-inset-bottom)); background: #88dce6; color: #0d2029; max-width: calc(100vw - 36px); }
.rc-ai[hidden], .rc-ai-selection[hidden], .rc-ai [hidden] { display: none !important; }
.rc-ai { position: fixed; z-index: 1300; right: 18px; bottom: calc(82px + env(safe-area-inset-bottom) + var(--rc-ai-keyboard, 0px)); width: min(520px, calc(100% - 36px)); height: min(680px, calc(var(--rc-ai-vh, 100dvh) - 112px)); display: flex; flex-direction: column; background: #10232d; color: #d7e6ea; border: 1px solid #55757e; border-radius: 18px; box-shadow: 0 12px 60px #0007; overflow: hidden; text-align: left; }
.rc-ai * { box-sizing: border-box; }
.rc-ai button, .rc-ai select, .rc-ai textarea, .rc-ai input { font: inherit; letter-spacing: normal; border: 1px solid #55757e; border-radius: 8px; background: #19343f; color: #e9f6f8; }
.rc-ai button { padding: 8px 11px; cursor: pointer; min-height: 40px; }
.rc-ai button:disabled { opacity: .55; cursor: wait; }
.rc-ai :focus-visible, .rc-ai-launch:focus-visible, .rc-ai-selection:focus-visible { outline: 2px solid #a2eef6; outline-offset: 3px; }
.rc-ai header { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid #36535e; position: static; background: #10232d; }
.rc-ai header div { flex: 1; }
.rc-ai header strong { display: block; font-size: 17px; }
.rc-ai small { font-size: 12px; color: #a6c1c8; }
.rc-ai-log { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 16px; min-height: 80px; }
.rc-ai-log p { margin: 0 0 12px; font: inherit; color: inherit; }
.rc-ai-message { padding: 12px; margin: 0 0 14px; border-radius: 10px; background: #19343f; overflow-wrap: anywhere; }
.rc-ai-message[data-role="user"] { background: #28505b; margin-left: 22px; }
.rc-ai-message a { color: #97e3ed; text-decoration: underline; }
.rc-ai-speaker { display: block; margin-bottom: 8px; }
.rc-ai-content { min-width: 0; }
.rc-ai-content > :last-child { margin-bottom: 0; }
.rc-ai-content p { white-space: pre-line; }
.rc-ai-content :is(h3, h4, h5, h6) { font: 650 15px/1.4 system-ui, sans-serif; letter-spacing: normal; color: #edf8fa; margin: 18px 0 8px; }
.rc-ai-content > :is(h3, h4, h5, h6):first-child { margin-top: 0; }
.rc-ai-content :is(ul, ol) { padding-left: 22px; margin: 8px 0 14px; list-style-position: outside; }
.rc-ai-content ul { list-style-type: disc; }
.rc-ai-content ol { list-style-type: decimal; }
.rc-ai-content li { display: list-item; margin: 5px 0; padding: 0; }
.rc-ai-content li > :is(ul, ol) { margin: 4px 0; }
.rc-ai-content strong { font-weight: 700; color: #edf8fa; }
.rc-ai-content em { font-style: italic; }
.rc-ai-content code { font: .9em/1.5 ui-monospace, monospace; background: #0d2029; border-radius: 4px; padding: 2px 4px; }
.rc-ai-content pre { margin: 10px 0 14px; padding: 10px; background: #0d2029; border-radius: 6px; overflow-x: auto; white-space: pre; }
.rc-ai-content pre code { background: none; padding: 0; }
.rc-ai-content blockquote { margin: 10px 0 14px; padding: 0 0 0 12px; border-left: 2px solid #88dce6; font: inherit; color: inherit; }
.rc-ai-table { max-width: 100%; margin: 10px 0 14px; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid #55757e; border-radius: 6px; }
.rc-ai-table table { display: table; width: 100%; margin: 0; border-collapse: collapse; table-layout: auto; font: inherit; text-align: left; }
.rc-ai-table :is(th, td) { min-width: 115px; max-width: 260px; padding: 9px 10px; border: 0; border-bottom: 1px solid #36535e; vertical-align: top; font: inherit; color: inherit; text-align: left; white-space: normal; }
.rc-ai-table th { font-weight: 650; background: #234550; color: #edf8fa; }
.rc-ai-table tbody tr:last-child td { border-bottom: 0; }
.rc-ai-table :is(th, td) + :is(th, td) { border-left: 1px solid #36535e; }
.rc-ai-selection-preview { margin: 0 16px 10px; padding: 10px; border-left: 2px solid #88dce6; background: #19343f; }
.rc-ai-selection-preview blockquote { font: inherit; margin: 4px 0; max-height: 68px; overflow: auto; color: #c9dfe5; }
.rc-ai form { display: block; margin: 0; padding: 0 16px 14px; }
.rc-ai textarea { display: block; width: 100%; height: 74px; resize: vertical; max-height: 150px; padding: 10px; }
.rc-ai textarea::placeholder { color: #a6c1c8; }
.rc-ai-controls { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.rc-ai-controls select { padding: 8px; max-width: 160px; }
.rc-ai-controls button[type="submit"] { margin-left: auto; background: #88dce6; color: #0d2029; font-weight: 650; }
.rc-ai-status { min-height: 21px; padding: 0 16px 6px; font-size: 12px; color: #b8dce4; }
.rc-ai-notice { padding: 0 16px 12px; font-size: 11px; line-height: 1.4; color: #a6c1c8; }
.rc-ai-access { display: block; margin-bottom: 8px; }
.rc-ai-access input { width: 100%; padding: 8px; }
@media (max-width: 540px) {
  .rc-ai { right: 8px; width: calc(100% - 16px); bottom: calc(8px + env(safe-area-inset-bottom) + var(--rc-ai-keyboard, 0px)); height: min(720px, calc(var(--rc-ai-vh, 100dvh) - 24px - env(safe-area-inset-top))); }
  .rc-ai textarea, .rc-ai input, .rc-ai select { font-size: 16px; }
  .rc-ai-launch { bottom: calc(12px + env(safe-area-inset-bottom)); }
}
.rc-ai .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
