/* Scene styles shared by the landing-page hero and its comparison view. */
.study-viz { color: #47444b; padding: 17px 22px !important; }
.study-viz svg { width: 18px; height: 18px; flex-shrink: 0; }
.study-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; height: 33px; }
.study-heading h2 { font-size: 14px; line-height: 18px; font-weight: 600; letter-spacing: -.025em; color: #353239; }
.study-heading p { font-size: 11px; color: #827d87; margin-top: 3px; }
.study-scope { font-size: 10px; color: #817b88; border: 1px solid #e7e5e8; border-radius: 4px; padding: 3px 7px; }
.study-enter { opacity: 0; transform: translateY(5px); transition: opacity .32s ease, transform .32s ease; }
.study-enter.entered { opacity: 1; transform: none; }
.study-search-input { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px; border: 1px solid #e2dfda; box-shadow: 0 2px 5px rgba(68, 64, 60, .06); border-radius: 6px; margin-bottom: 13px; }
.study-search-input svg { width: 14px; color: #8b8496; }
.study-query { font-size: 12px; color: #433e4e; }
.study-caret { height: 13px; width: 1px; background: #91869f; margin-left: -7px; animation: caret-blink .8s step-end infinite; }
.query-complete .study-caret { opacity: 0; animation: none; }
.study-result-count { margin-left: auto; font-size: 10px; color: #817b88; }
.study-result { display: flex; align-items: center; gap: 11px; }
.study-result.study-enter { transform: none; transition: none; }
.study-file-icon { color: #9b92ac; display: grid; place-items: center; flex-shrink: 0; }
.study-result-body { flex: 1; min-width: 0; }
.study-file-heading { display: flex; align-items: baseline; gap: 8px; }
.study-file-heading strong { font-size: 12px; font-weight: 500; color: #47414e; }
.study-file-heading > span { font-size: 10px; color: #8c8297; }
.study-excerpt { display: flex; gap: 9px; align-items: baseline; }
.study-excerpt p { font-size: 11px; line-height: 1.6; color: #756d7e; margin-top: 3px; }
.study-line { display: none; }
.study-result-arrow { color: #92879e; font-size: 13px; }
.study-viz .search-match { background: #eeebf6; color: #655680; font-weight: 500; border-radius: 2px; padding: 0 2px; }
.study-file-list .study-result { height: 59px; border-bottom: 1px solid #efedf0; }
.study-file-list .study-result:first-child { border-top: 1px solid #efedf0; }
.study-file-list .study-excerpt p { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.study-excerpts .study-result { align-items: flex-start; padding: 9px 0; }
.study-excerpts .study-file-icon { padding-top: 1px; }
.study-excerpts .study-excerpt { margin-top: 5px; background: #f8f7fa; border-left: 2px solid #d7cfe5; padding: 5px 8px; border-radius: 0 3px 3px 0; }
.study-excerpts .study-excerpt p { margin: 0; font-family: ui-monospace, monospace; font-size: 10px; }
.study-excerpts .study-line { display: block; font-size: 9px; color: #95889f; font-family: ui-monospace, monospace; }
.study-search-foot, .study-history-foot { display: flex; justify-content: space-between; margin-top: 12px; font-size: 9px; color: #938b9d; }
.study-timeline { margin-left: 2px; }
.study-event { display: flex; gap: 11px; position: relative; min-height: 64px; }
.study-event:not(:last-child)::before { content: ''; position: absolute; left: 12px; width: 1px; top: 28px; bottom: 3px; background: #ebe8ee; }
.study-avatar { width: 25px; height: 25px; flex-shrink: 0; border: 1px solid #e7e5e4; border-radius: 50%; display: grid; place-items: center; font-size: 10px; color: #78716c; background: #fafaf9; }
.study-avatar.is-agent { border-radius: 7px; }
.study-avatar.is-agent svg { width: 14.4px; height: 14.4px; }
.study-event-body { flex: 1; min-width: 0; padding-top: 2px; }
.study-event-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 12px; font-weight: 500; color: #4b454f; }
.study-event-meta { display: flex; align-items: baseline; gap: 6px; flex-shrink: 0; white-space: nowrap; font-size: 9px; font-weight: 400; color: #8e8298; }
.study-event time { font-size: 9px; font-weight: 400; color: #8e8298; }
.study-event-body p { font-size: 10px; color: #7d708a; margin-top: 3px; }
.study-event-author { font-size: 11px; font-weight: 400; color: #78716c; white-space: nowrap; }
.study-table-head, .study-revision { display: grid; grid-template-columns: minmax(0, 1fr) 86px 43px; gap: 10px; align-items: center; }
.study-table-head { font-size: 9px; color: #8d7f9a; padding: 8px 0; border-bottom: 1px solid #e8e5ec; }
.study-revision { height: 53px; border-bottom: 1px solid #eeebf1; }
.study-revision-title { font-size: 11px; font-weight: 500; color: #534a5d; }
.study-revision-meta { display: flex; align-items: center; gap: 8px; margin-top: 5px; font-size: 9px; color: #8f809c; }
.study-revision-meta code { font-size: 9px; color: #9688a2; }
.study-latest { border-radius: 3px; background: #f0edf5; color: #8c7e9c; padding: 1px 4px; font-size: 8px; }
.study-person { display: flex; gap: 6px; align-items: center; font-size: 10px; color: #7c6e89; }
.study-person .study-avatar { width: 19px; height: 19px; font-size: 8px; }
.study-person .is-agent { border-radius: 5px; }
.study-person .is-agent svg { width: 11.2px; height: 11.2px; }
.study-file-count { font-size: 10px; color: #887695; text-align: right; }
.study-upload-stage { position: relative; height: calc(100% - 48px); }
.study-drag-bundle { position: absolute; z-index: 3; left: 50%; top: 6px; width: 208px; height: 62px; display: flex; align-items: center; gap: 11px; padding: 12px; border: 1px solid #e7e5e4; border-radius: 8px; background: #fff; box-shadow: 0 8px 20px rgba(68, 64, 60, .07), 0 2px 4px rgba(68, 64, 60, .03); transform: translate(-50%, -8px); opacity: 0; transition: top .55s cubic-bezier(.2,.8,.2,1), transform .6s ease, opacity .3s ease; }
.study-drag-bundle strong { display: block; font-size: 12px; font-weight: 500; color: #57534e; }
.study-drag-bundle > div > span { display: block; margin-top: 3px; font-size: 10px; color: #a8a29e; }
.study-drag-bundle i { font-style: normal; padding: 0 3px; }
.study-bundle-icon { background: #fafaf9; color: #a8a29e; width: 30px; height: 35px; display: grid; place-items: center; border-radius: 4px; }
.study-drag-count { margin-left: auto; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 4px; color: #78716c; background: #f5f5f4; font-size: 10px; }
.study-pointer { position: absolute; bottom: -13px; right: 17px; }
.study-pointer svg { width: 24px; height: 24px; }
.bundle-visible .study-drag-bundle { opacity: 1; transform: translate(-50%, 0); }
.is-hovering .study-drag-bundle { top: 65px; }
.study-drop-target { position: absolute; top: 10px; bottom: 47px; right: 10px; left: 10px; display: flex; align-items: center; justify-content: center; gap: 11px; border: 1px dashed #ded7e7; border-radius: 7px; color: #9b86ac; background: #fdfcfe; opacity: 0; transition: opacity .3s ease, background .3s ease, border-color .3s ease; }
.study-drop-target strong { display: block; color: #756187; font-size: 12px; font-weight: 500; }
.study-drop-target > div > span { display: block; color: #9988a9; font-size: 10px; margin-top: 3px; }
.is-hovering .study-drop-target { opacity: 1; background: #faf8fd; border-color: #cfc2e0; }
.study-composer { position: absolute; bottom: 0; left: 0; right: 0; height: 40px; overflow: hidden; border: 1px solid #e2dfda; border-radius: 10px; box-shadow: 0 2px 8px rgba(68, 64, 60, .05); background: #fff; transition: height .5s cubic-bezier(.2,.8,.2,1), border-color .3s ease; }
.is-hovering .study-composer { height: 152px; border-color: #d8d0df; }
.is-attached .study-composer { border-color: #e2dfda; }
.study-composer-input { position: absolute; bottom: 8px; left: 11px; right: 11px; height: 24px; display: flex; gap: 9px; align-items: center; }
.study-plus { width: 16px; height: 24px; flex-shrink: 0; display: grid; place-items: center; color: #78716c; }
.study-plus svg { width: 16px; height: 16px; }
.study-prompt { display: flex; align-items: center; height: 24px; font-size: 11px; line-height: 16px; color: #78716c; }
.study-send { margin-left: auto; width: 23px; height: 23px; flex-shrink: 0; border-radius: 50%; background: #000; color: #fff; display: grid; place-items: center; }
.study-send svg { width: 15px; height: 15px; }
.study-drop-canvas.is-hovering .study-composer { height: 184px; }
.study-drop-canvas .study-drop-target { flex-direction: column; justify-content: flex-end; padding-bottom: 19px; text-align: center; }
.study-drop-canvas .study-drop-icon { display: none; }
.study-drop-canvas .study-drag-bundle::before { content: ''; position: absolute; z-index: -1; inset: -5px 5px 5px; border: 1px solid #e8e3ee; border-radius: 7px; background: #faf8fd; }
.study-drop-canvas .study-drag-bundle { width: 208px; }
.study-drop-canvas.is-hovering .study-drag-bundle { top: 35px; }
.study-drop-canvas .study-drop-target strong { font-size: 12px; }
.study-upload-receipt { position: absolute; top: 11px; left: 11px; right: 11px; opacity: 0; transform: translateY(6px); transition: opacity .3s ease, transform .3s ease; }
.study-receipt-title { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 10px; color: #97869f; }
.study-receipt-title strong { color: #78716c; font-size: 11px; font-weight: 500; }
.study-receipt-title > span:last-child { margin-left: auto; font-size: 9px; }
.study-attachment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.study-attachment { display: flex; align-items: center; gap: 5px; height: 28px; min-width: 0; padding: 0 7px; border: 1px solid #e7e5e4; border-radius: 5px; background: #fafaf9; opacity: 0; transform: translateY(5px); transition: opacity .25s ease, transform .25s ease, background .25s ease; }
.study-attachment.is-uploading, .study-attachment.is-done { opacity: 1; transform: none; }
.study-attachment.is-uploading { background: #f5f5f4; }
.study-attachment svg { width: 13px; height: 13px; }
.study-attachment-name { font-size: 9.5px; color: #78716c; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.study-attachment-status { display: flex; margin-left: auto; flex-shrink: 0; }
.is-attached .study-drag-bundle { opacity: 0; transform: translate(-50%, 30px) scale(.94); }
.is-attached .study-drop-target { opacity: 0; }
.is-attached .study-upload-receipt { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .study-viz *, .study-viz *::before { transition-duration: .01ms !important; animation: none !important; } }
