.je-force-hidden {
    display: none !important;
}

.je-suggested-questions-container {
    display: none;
}

.je-chat-plus-btn { color: #0f172a; }
.je-chat-plus-btn:hover { color: #0f172a; background: rgba(15, 23, 42, .08); }
.je-composer-mode-area { margin-bottom: 10px; }
.je-composer-mode-pill { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(124, 58, 237, .16); background: rgba(124, 58, 237, .09); color: #5b21b6; }
.je-composer-mode-icon { width: 28px; height: 28px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: rgba(124, 58, 237, .14); color: #6d28d9; flex: 0 0 auto; }
.je-composer-mode-label { font-size: 13px; font-weight: 700; color: #5b21b6; }
.je-composer-mode-clear { width: 28px; height: 28px; border: none; border-radius: 999px; background: transparent; color: #6d28d9; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.je-composer-mode-clear:hover { background: rgba(124, 58, 237, .14); }
.je-chat-action-menu { min-width: 280px; width: max-content; max-width: min(320px, calc(100vw - 24px)); padding: 8px; border-radius: 18px; border: 1px solid rgba(15, 23, 42, .08); box-shadow: 0 20px 45px rgba(15, 23, 42, .12); }
.je-chat-action-menu .dropdown-item { display: flex; align-items: center; gap: 12px; border-radius: 12px; padding: 10px 12px; white-space: nowrap; }
.je-chat-action-menu .dropdown-item:active { background: rgba(15, 23, 42, .08); color: inherit; }
.je-chat-action-menu-icon { width: 36px; height: 36px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: rgba(15, 23, 42, .06); color: #0f172a; flex: 0 0 auto; }
.je-chat-action-menu-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; white-space: nowrap; }
.je-chat-action-menu-copy strong { font-size: 14px; font-weight: 700; color: #0f172a; white-space: nowrap; }
.je-chat-action-menu-copy small { font-size: 12px; color: #64748b; white-space: nowrap; }
.je-thread-file-preview { display: inline-flex; align-items: center; gap: 10px; min-width: min(280px, 100%); max-width: 100%; padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(14, 165, 233, .18); background: rgba(240, 249, 255, .9); color: #0f172a; box-shadow: 0 8px 20px rgba(14, 165, 233, .08); }
.je-thread-file-icon { width: 34px; height: 34px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: rgba(14, 165, 233, .13); color: #0284c7; }
.je-thread-file-body { min-width: 0; flex: 1 1 auto; }
.je-thread-file-name { font-size: 13px; font-weight: 800; color: #0f172a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.je-thread-file-meta { margin-top: 2px; font-size: 12px; color: #64748b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.je-thread-file-delete { width: 28px; height: 28px; border: none; border-radius: 999px; background: rgba(15, 23, 42, .06); color: #64748b; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.je-thread-file-delete:hover { background: rgba(15, 23, 42, .12); color: #0f172a; }
.je-thread-file-preview.is-ready { border-color: rgba(34, 197, 94, .22); background: rgba(240, 253, 244, .92); }
.je-thread-file-preview.is-ready .je-thread-file-icon { background: rgba(34, 197, 94, .14); color: #16a34a; }
.je-thread-file-preview.is-partial_ready { border-color: rgba(245, 158, 11, .24); background: rgba(255, 251, 235, .92); }
.je-thread-file-preview.is-partial_ready .je-thread-file-icon { background: rgba(245, 158, 11, .14); color: #d97706; }
.je-thread-file-preview.is-failed { border-color: rgba(239, 68, 68, .24); background: rgba(254, 242, 242, .92); }
.je-thread-file-preview.is-failed .je-thread-file-icon { background: rgba(239, 68, 68, .14); color: #dc2626; }
.je-q-file-list { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.je-q-file-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 260px; padding: 6px 10px; border-radius: 999px; background: rgba(14, 165, 233, .11); color: #075985; font-size: 12px; font-weight: 700; }
.je-q-file-chip i { flex: 0 0 auto; }
.je-composer-mode-pill.is-image-generation { border-color: rgba(14, 165, 233, .18); background: rgba(14, 165, 233, .10); color: #075985; }
.je-composer-mode-pill.is-image-generation .je-composer-mode-icon { background: rgba(14, 165, 233, .16); color: #0284c7; }
.je-composer-mode-pill.is-image-generation .je-composer-mode-label { color: #075985; }
.je-composer-mode-pill.is-image-generation .je-composer-mode-clear { color: #0284c7; }
.je-composer-mode-pill.is-image-generation .je-composer-mode-clear:hover { background: rgba(14, 165, 233, .14); }
.je-upload-source-option-image .je-chat-action-menu-icon { background: rgba(14, 165, 233, .12); color: #0284c7; }
.je-upload-source-option-dr .je-chat-action-menu-icon { background: rgba(124, 58, 237, .12); color: #6d28d9; }
.je-send-btn.je-send-btn-dr { color: #6d28d9; background: rgba(124, 58, 237, .08); }
.je-send-btn.je-send-btn-dr:hover { background: rgba(124, 58, 237, .14); }
.je-send-btn.je-send-btn-image { color: #0284c7; background: rgba(14, 165, 233, .08); }
.je-send-btn.je-send-btn-image:hover { background: rgba(14, 165, 233, .14); }
.je-image-gen-card { border: 1px solid rgba(14, 165, 233, .18); border-radius: 16px; padding: 14px; background: linear-gradient(180deg, rgba(14, 165, 233, .07), rgba(255,255,255,.02)); }
.je-image-gen-card.is-loading { background: linear-gradient(180deg, rgba(14, 165, 233, .11), rgba(248, 250, 252, .98)); box-shadow: 0 16px 34px rgba(14, 165, 233, .08); }
.je-image-gen-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 10px; }
.je-image-gen-title { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: #075985; }
.je-image-gen-badge { font-size: 12px; border-radius: 999px; padding: 3px 9px; background: rgba(14, 165, 233, .12); color: #0369a1; white-space: nowrap; }
.je-image-gen-badge.is-loading { display: inline-flex; align-items: center; gap: 7px; background: rgba(14, 165, 233, .15); }
.je-image-gen-badge-dot { width: 8px; height: 8px; border-radius: 999px; background: #06b6d4; box-shadow: 0 0 0 0 rgba(6, 182, 212, .45); animation: jeImageGenPulse 1.6s ease-in-out infinite; }
.je-image-gen-image-wrap { margin-top: 10px; border-radius: 14px; overflow: hidden; background: rgba(15, 23, 42, .05); position: relative; cursor: zoom-in; }
.je-image-gen-image { display: block; width: 100%; max-height: 680px; object-fit: contain; }
.je-image-gen-loading-stage { position: relative; min-height: 220px; margin-top: 10px; border-radius: 18px; overflow: hidden; border: 1px solid rgba(14, 165, 233, .18); background: radial-gradient(circle at top, rgba(125, 211, 252, .4), rgba(14, 165, 233, .08) 36%, rgba(15, 23, 42, .9) 100%); }
.je-image-gen-loading-glow { position: absolute; inset: auto auto 24px 50%; width: 220px; height: 220px; transform: translateX(-50%); border-radius: 999px; background: radial-gradient(circle, rgba(34, 211, 238, .28), rgba(34, 211, 238, 0) 68%); filter: blur(8px); animation: jeImageGenGlow 3.2s ease-in-out infinite; }
.je-image-gen-loading-card { position: absolute; width: 158px; padding: 12px; border-radius: 18px; background: rgba(255, 255, 255, .92); box-shadow: 0 18px 40px rgba(15, 23, 42, .24); backdrop-filter: blur(6px); overflow: hidden; animation: jeImageGenFloat 3.8s ease-in-out infinite; }
.je-image-gen-loading-card::after { content: ''; position: absolute; inset: 0; transform: translateX(-120%); background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.65), rgba(255,255,255,0)); animation: jeImageGenShimmer 2.4s ease-in-out infinite; }
.je-image-gen-loading-card.tile-a { top: 26px; left: 22px; }
.je-image-gen-loading-card.tile-b { top: 44px; right: 22px; animation-delay: .5s; }
.je-image-gen-loading-card.tile-c { left: calc(50% - 79px); bottom: 18px; animation-delay: 1s; }
.je-image-gen-loading-thumb { display: block; height: 78px; border-radius: 14px; background: linear-gradient(135deg, rgba(56, 189, 248, .25), rgba(14, 165, 233, .08)); border: 1px solid rgba(14, 165, 233, .12); }
.je-image-gen-loading-line { display: block; height: 10px; margin-top: 10px; border-radius: 999px; background: rgba(148, 163, 184, .28); }
.je-image-gen-loading-line.w-72 { width: 72%; }
.je-image-gen-loading-line.w-64 { width: 64%; }
.je-image-gen-loading-line.w-52 { width: 52%; }
.je-image-gen-loading-line.w-48 { width: 48%; }
.je-image-gen-loading-line.w-40 { width: 40%; }
.je-image-gen-loading-line.w-36 { width: 36%; }
.je-image-gen-loading-orbit { position: absolute; width: 14px; height: 14px; border-radius: 999px; background: linear-gradient(135deg, #67e8f9, #06b6d4); box-shadow: 0 0 0 10px rgba(103, 232, 249, .08); }
.je-image-gen-loading-orbit.orbit-a { top: 22%; left: 46%; animation: jeImageGenOrbitA 4.2s linear infinite; }
.je-image-gen-loading-orbit.orbit-b { top: 58%; left: 36%; width: 10px; height: 10px; opacity: .86; animation: jeImageGenOrbitB 5s linear infinite; }
.je-image-gen-loading-copy { margin-top: 14px; }
.je-image-gen-loading-heading { font-size: 16px; font-weight: 800; color: #0f172a; }
.je-image-gen-loading-description { margin-top: 6px; color: #475569; line-height: 1.6; }
.je-image-gen-prompt.is-loading { margin-top: 12px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .72); border: 1px solid rgba(14, 165, 233, .12); }
.je-image-gen-overlay-actions { position: absolute; top: 10px; right: 10px; z-index: 2; display: flex; gap: 8px; }
.je-image-gen-open-btn, .je-image-gen-download-btn { width: 38px; height: 38px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .45); background: rgba(15, 23, 42, .48); color: #fff; display: inline-flex; align-items: center; justify-content: center; opacity: .78; backdrop-filter: blur(8px); box-shadow: 0 10px 24px rgba(15, 23, 42, .22); transition: opacity .16s ease, transform .16s ease, background .16s ease; }
.je-image-gen-image-wrap:hover .je-image-gen-open-btn, .je-image-gen-image-wrap:hover .je-image-gen-download-btn, .je-image-gen-open-btn:focus, .je-image-gen-download-btn:focus { opacity: 1; transform: translateY(-1px); background: rgba(15, 23, 42, .68); }
.je-image-gen-open-btn:focus-visible, .je-image-gen-download-btn:focus-visible { outline: 3px solid rgba(14, 165, 233, .36); outline-offset: 2px; }
.je-image-gen-prompt { margin-top: 10px; color: #334155; line-height: 1.6; white-space: pre-wrap; }
.je-image-gen-meta { margin-top: 10px; display: flex; gap: 8px; flex-wrap: wrap; color: #64748b; font-size: 12px; }
.je-image-gen-meta span { border-radius: 999px; background: rgba(15, 23, 42, .06); padding: 4px 9px; }
.je-image-gen-refs { margin-top: 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.je-image-gen-ref { width: 54px; height: 54px; border-radius: 12px; object-fit: cover; border: 1px solid rgba(14, 165, 233, .18); background: #f8fafc; }
.je-image-gen-actions { display: none; }
.je-image-gen-download { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(14, 165, 233, .18); background: rgba(255,255,255,.78); color: #0369a1; font-size: 13px; font-weight: 700; text-decoration: none; }
.je-image-gen-download:hover { color: #075985; box-shadow: 0 12px 26px rgba(14, 165, 233, .12); }
body.je-image-gen-preview-opened { overflow: hidden; }
.je-image-gen-preview-modal[hidden] { display: none !important; }
.je-image-gen-preview-modal { position: fixed; inset: 0; z-index: 2050; display: flex; align-items: center; justify-content: center; padding: 24px; }
.je-image-gen-preview-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .72); backdrop-filter: blur(6px); }
.je-image-gen-preview-dialog { position: relative; z-index: 1; width: min(1120px, 100%); max-height: calc(100vh - 48px); display: flex; }
.je-image-gen-preview-content { width: 100%; display: flex; flex-direction: column; max-height: calc(100vh - 48px); border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 24px 70px rgba(15, 23, 42, .38); }
.je-image-gen-preview-header, .je-image-gen-preview-footer { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-color: rgba(15, 23, 42, .08); }
.je-image-gen-preview-header { justify-content: space-between; border-bottom: 1px solid rgba(15, 23, 42, .08); }
.je-image-gen-preview-footer { justify-content: flex-end; flex-wrap: wrap; border-top: 1px solid rgba(15, 23, 42, .08); }
.je-image-gen-preview-title { margin: 0; font-size: 16px; font-weight: 800; color: #075985; }
.je-image-gen-preview-header-close { border: 0; background: transparent; color: #64748b; width: 36px; height: 36px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.je-image-gen-preview-header-close:hover, .je-image-gen-preview-header-close:focus { background: rgba(15, 23, 42, .06); color: #0f172a; }
.je-image-gen-preview-body { overflow: auto; padding: 18px; }
.je-image-gen-preview-stage { display: flex; align-items: center; justify-content: center; min-height: 240px; max-height: 72vh; border-radius: 14px; overflow: hidden; background: #0f172a; }
.je-image-gen-preview-img { display: block; max-width: 100%; max-height: 76vh; object-fit: contain; }
.je-image-gen-preview-prompt { margin-top: 12px; color: #334155; line-height: 1.6; white-space: pre-wrap; }
.je-image-gen-preview-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; width: 100%; }
.je-image-gen-preview-action { appearance: none; border: 1px solid rgba(15, 23, 42, .08); background: #fff; color: #0f172a; min-height: 44px; border-radius: 999px; padding: 0 16px; display: inline-flex; align-items: center; gap: 10px; font-weight: 700; text-decoration: none; box-shadow: 0 10px 24px rgba(15, 23, 42, .06); transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease; }
.je-image-gen-preview-action:hover, .je-image-gen-preview-action:focus { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(15, 23, 42, .1); color: #0f172a; text-decoration: none; }
.je-image-gen-preview-action-icon { width: 28px; height: 28px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.je-image-gen-preview-action.is-open, .je-image-gen-preview-action.is-download { border-color: rgba(14, 165, 233, .22); background: rgba(14, 165, 233, .08); color: #075985; }
.je-image-gen-preview-action.is-open .je-image-gen-preview-action-icon, .je-image-gen-preview-action.is-download .je-image-gen-preview-action-icon { background: rgba(14, 165, 233, .14); color: #0284c7; }
.je-image-gen-preview-action.is-open:hover, .je-image-gen-preview-action.is-open:focus, .je-image-gen-preview-action.is-download:hover, .je-image-gen-preview-action.is-download:focus { background: rgba(14, 165, 233, .14); border-color: rgba(14, 165, 233, .3); color: #0c4a6e; }
.je-image-gen-preview-action.is-close { border-color: rgba(148, 163, 184, .26); background: rgba(248, 250, 252, .98); color: #334155; }
.je-image-gen-preview-action.is-close .je-image-gen-preview-action-icon { background: rgba(148, 163, 184, .14); color: #64748b; }
.je-image-gen-preview-action.is-close:hover, .je-image-gen-preview-action.is-close:focus { background: rgba(241, 245, 249, 1); border-color: rgba(148, 163, 184, .34); color: #0f172a; }

@keyframes jeImageGenPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(6, 182, 212, .45); }
    50% { transform: scale(1.12); box-shadow: 0 0 0 8px rgba(6, 182, 212, 0); }
}

@keyframes jeImageGenGlow {
    0%, 100% { transform: translateX(-50%) scale(.94); opacity: .78; }
    50% { transform: translateX(-50%) scale(1.08); opacity: 1; }
}

@keyframes jeImageGenFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes jeImageGenShimmer {
    0% { transform: translateX(-120%); }
    55%, 100% { transform: translateX(120%); }
}

@keyframes jeImageGenOrbitA {
    0% { transform: translate(0, 0); }
    25% { transform: translate(18px, -22px); }
    50% { transform: translate(42px, 4px); }
    75% { transform: translate(14px, 26px); }
    100% { transform: translate(0, 0); }
}

@keyframes jeImageGenOrbitB {
    0% { transform: translate(0, 0); }
    25% { transform: translate(-20px, 18px); }
    50% { transform: translate(8px, 34px); }
    75% { transform: translate(26px, 12px); }
    100% { transform: translate(0, 0); }
}

.je-dr-chat-card { border: 1px solid rgba(124, 58, 237, .18); border-radius: 14px; padding: 14px; background: linear-gradient(180deg, rgba(124, 58, 237, .06), rgba(255,255,255,.02)); }
.je-dr-chat-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 10px; }
.je-dr-chat-title { font-weight: 700; color: #4c1d95; }
.je-dr-chat-badge { font-size: 12px; border-radius: 999px; padding: 3px 9px; background: rgba(124, 58, 237, .12); color: #5b21b6; white-space: nowrap; }
.je-dr-chat-progress { height: 8px; border-radius: 999px; background: rgba(124, 58, 237, .12); overflow: hidden; margin: 8px 0; }
.je-dr-chat-progress > span { display: block; height: 100%; background: linear-gradient(90deg, #7c3aed, #06b6d4); }
.je-dr-chat-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.je-dr-chat-decision-btn { display: flex; align-items: flex-start; gap: 12px; width: 100%; padding: 14px 16px; border-radius: 16px; border: 1px solid rgba(124, 58, 237, .14); background: rgba(255, 255, 255, .82); text-align: left; box-shadow: 0 10px 24px rgba(15, 23, 42, .06); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease; }
.je-dr-chat-decision-btn:hover { transform: translateY(-1px); box-shadow: 0 16px 32px rgba(76, 29, 149, .12); }
.je-dr-chat-decision-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(124, 58, 237, .18); }
.je-dr-chat-decision-btn:disabled { opacity: .66; cursor: not-allowed; transform: none; box-shadow: none; }
.je-dr-chat-decision-icon { width: 40px; height: 40px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; font-size: 18px; }
.je-dr-chat-decision-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.je-dr-chat-decision-copy strong { font-size: 14px; font-weight: 700; line-height: 1.35; }
.je-dr-chat-decision-copy small { font-size: 12px; line-height: 1.45; color: #64748b; }
.je-dr-chat-decision-btn-primary { border-color: rgba(109, 40, 217, .2); background: linear-gradient(135deg, rgba(124, 58, 237, .14), rgba(6, 182, 212, .10)); }
.je-dr-chat-decision-btn-primary .je-dr-chat-decision-icon { background: rgba(109, 40, 217, .14); color: #6d28d9; }
.je-dr-chat-decision-btn-primary .je-dr-chat-decision-copy strong { color: #4c1d95; }
.je-dr-chat-decision-btn-secondary { border-color: rgba(15, 23, 42, .08); background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.96)); }
.je-dr-chat-decision-btn-secondary .je-dr-chat-decision-icon { background: rgba(15, 23, 42, .06); color: #334155; }
.je-dr-chat-decision-btn-secondary .je-dr-chat-decision-copy strong { color: #0f172a; }
.je-dr-chat-feedback { width: 100%; min-height: 72px; margin-top: 10px; border: 1px solid rgba(124, 58, 237, .18); border-radius: 10px; padding: 10px; resize: vertical; }
.je-dr-chat-toolbar { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.je-dr-chat-toolbar-btn, .je-dr-chat-export-pdf { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; box-shadow: 0 10px 24px rgba(15, 23, 42, .06); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.je-dr-chat-toolbar-btn:hover, .je-dr-chat-export-pdf:hover { transform: translateY(-1px); }
.je-dr-chat-toolbar-btn:focus-visible, .je-dr-chat-export-pdf:focus-visible { outline: none; }
.je-dr-chat-toolbar-btn:disabled, .je-dr-chat-export-pdf:disabled { opacity: .66; cursor: not-allowed; transform: none; box-shadow: none; }
.je-dr-chat-open-reader { border: 1px solid rgba(8, 145, 178, .16); background: linear-gradient(135deg, rgba(8, 145, 178, .10), rgba(14, 165, 233, .08)); color: #155e75; }
.je-dr-chat-open-reader:hover { box-shadow: 0 16px 32px rgba(8, 145, 178, .12); }
.je-dr-chat-open-reader:focus-visible { box-shadow: 0 0 0 3px rgba(8, 145, 178, .18); }
.je-dr-chat-export-pdf { border: 1px solid rgba(220, 38, 38, .16); background: linear-gradient(135deg, rgba(220, 38, 38, .10), rgba(249, 115, 22, .08)); color: #991b1b; }
.je-dr-chat-export-pdf:hover { box-shadow: 0 16px 32px rgba(153, 27, 27, .12); }
.je-dr-chat-export-pdf:focus-visible { box-shadow: 0 0 0 3px rgba(220, 38, 38, .18); }
.je-dr-chat-section { margin-top: 10px; }
.je-dr-chat-section-title { font-weight: 600; color: #4c1d95; margin-bottom: 6px; }
.je-dr-chat-source-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; padding: 1px 8px; margin-left: 6px; border-radius: 999px; background: rgba(124, 58, 237, .12); color: #5b21b6; font-size: 12px; font-weight: 700; }
.je-dr-chat-source-list { display: grid; gap: 10px; }
.je-dr-chat-source-item { padding: 12px; border-radius: 12px; border: 1px solid rgba(124, 58, 237, .12); background: rgba(255, 255, 255, .72); }
.je-dr-chat-source-title { display: block; color: #4c1d95; font-weight: 700; text-decoration: none; word-break: break-word; }
.je-dr-chat-source-title:hover { color: #5b21b6; text-decoration: underline; }
.je-dr-chat-source-url { margin-top: 4px; font-size: 12px; color: #64748b; word-break: break-all; }
.je-dr-chat-source-snippet { margin-top: 8px; color: #334155; font-size: 13px; line-height: 1.5; }
.je-dr-chat-source-meta { margin-top: 8px; font-size: 12px; color: #64748b; }
.je-dr-chat-sources-empty { padding: 10px 12px; border-radius: 10px; background: rgba(255, 255, 255, .6); }
.je-dr-reference-summary-list { display: grid; gap: 10px; margin: 12px 0 4px; }
.je-dr-reference-summary-item { min-width: 0; }
.je-dr-reference-summary-link { display: grid; gap: 7px; min-width: 0; padding: 12px 14px; border: 1px solid rgba(15, 23, 42, .08); border-radius: 14px; background: rgba(255, 255, 255, .86); color: #0f172a; text-decoration: none; box-shadow: 0 10px 24px rgba(15, 23, 42, .05); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease; }
.je-dr-reference-summary-link:hover, .je-dr-reference-summary-link:focus { color: #0f172a; text-decoration: none; border-color: rgba(124, 58, 237, .2); background: #fff; box-shadow: 0 16px 32px rgba(76, 29, 149, .1); transform: translateY(-1px); }
.je-dr-reference-summary-link:focus-visible { outline: 3px solid rgba(124, 58, 237, .2); outline-offset: 2px; }
.je-dr-reference-summary-title-row { display: flex; align-items: center; gap: 8px; min-width: 0; color: #475569; font-size: 12px; font-weight: 700; }
.je-dr-reference-summary-favicon { width: 18px; height: 18px; border-radius: 5px; flex: 0 0 auto; background: #f1f5f9; object-fit: cover; }
.je-dr-reference-summary-domain { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.je-dr-reference-summary-title { display: block; min-width: 0; color: #111827; font-size: 14px; font-weight: 800; line-height: 1.45; overflow-wrap: anywhere; }
.je-dr-reference-summary-summary { display: block; min-width: 0; color: #334155; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.je-dr-chat-error { color: #b91c1c; }

@media (max-width: 767.98px) {
    .je-image-gen-loading-stage { min-height: 270px; }
    .je-image-gen-loading-card { width: 132px; }
    .je-image-gen-loading-card.tile-a { top: 20px; left: 12px; }
    .je-image-gen-loading-card.tile-b { top: 36px; right: 12px; }
    .je-image-gen-loading-card.tile-c { left: calc(50% - 66px); bottom: 12px; }
    .je-image-gen-preview-actions { display: grid; grid-template-columns: 1fr; }
    .je-image-gen-preview-action { justify-content: center; width: 100%; }
    .je-dr-chat-actions { grid-template-columns: 1fr; }
}