/* ChemAtlas Tutor v2 — threaded history, context memory, sources, and math */
#caTutorV2.ca-tutor-v2{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(250px,320px);gap:18px;align-items:start}
#caTutorV2 .ca-thread-rail{position:sticky;top:92px;max-height:calc(100vh - 118px);display:flex;flex-direction:column;padding:16px;overflow:hidden}
#caTutorV2 .ca-thread-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
#caTutorV2 .ca-thread-head h3{margin:2px 0 0;font-size:1rem}
#caTutorV2 .ca-new-thread{width:34px;height:34px;border-radius:10px;border:1px solid var(--border,#24324a);background:rgba(255,255,255,.04);color:inherit;font-size:1.2rem;cursor:pointer}
#caTutorV2 .ca-new-chat{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid rgba(88,166,255,.35);background:rgba(32,111,221,.12);color:inherit;border-radius:12px;padding:11px 12px;font-weight:700;cursor:pointer;margin-bottom:12px}
#caTutorV2 .ca-new-chat:hover,#caTutorV2 .ca-new-thread:hover{background:rgba(88,166,255,.18)}
#caTutorV2 .ca-thread-list{display:flex;flex-direction:column;gap:7px;overflow:auto;min-height:120px;padding-right:3px}
#caTutorV2 .ca-thread-item{display:flex;gap:9px;text-align:left;width:100%;padding:10px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;cursor:pointer}
#caTutorV2 .ca-thread-item:hover{background:rgba(255,255,255,.04)}
#caTutorV2 .ca-thread-item.active{background:rgba(88,166,255,.10);border-color:rgba(88,166,255,.28)}
#caTutorV2 .ca-thread-item>span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:8px;background:rgba(88,166,255,.10);color:#8bc4ff}
#caTutorV2 .ca-thread-item div{min-width:0;display:flex;flex-direction:column;gap:3px}
#caTutorV2 .ca-thread-item strong{font-size:.87rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#caTutorV2 .ca-thread-item small{font-size:.72rem;color:var(--muted,#8ea0b8)}
#caTutorV2 .ca-thread-empty{font-size:.83rem;color:var(--muted,#8ea0b8);padding:10px 4px}
#caTutorV2 .ca-thread-sync{display:flex;align-items:center;gap:9px;border-top:1px solid rgba(255,255,255,.06);padding-top:12px;margin-top:12px}
#caTutorV2 .ca-thread-sync>i{width:9px;height:9px;border-radius:50%;background:#78869b;box-shadow:0 0 0 4px rgba(120,134,155,.10)}
#caTutorV2 .ca-thread-sync>i.online{background:#4fd59b;box-shadow:0 0 0 4px rgba(79,213,155,.12)}
#caTutorV2 .ca-thread-sync span{display:flex;flex-direction:column}
#caTutorV2 .ca-thread-sync strong{font-size:.76rem}
#caTutorV2 .ca-thread-sync small{font-size:.68rem;color:var(--muted,#8ea0b8)}
#caTutorV2 .ca-tutor-main-v2{min-width:0}
#caTutorV2 .ca-tutor-head-v2{margin-bottom:14px}
#caTutorV2 .ca-tutor-head-v2 h2{max-width:720px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#caTutorV2 .ca-chat-v2{height:min(62vh,680px);min-height:440px;overflow-y:auto;padding:18px;scroll-behavior:smooth}
#caTutorV2 .ca-message{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;margin:0 0 16px}
#caTutorV2 .ca-message>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;font-size:.68rem;font-weight:800;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06)}
#caTutorV2 .ca-message.assistant>span{background:linear-gradient(145deg,rgba(52,127,255,.26),rgba(100,97,255,.16));color:#a8ceff;border-color:rgba(88,166,255,.20)}
#caTutorV2 .ca-message-body{min-width:0}
#caTutorV2 .ca-message-copy{line-height:1.65;font-size:.96rem;overflow-wrap:anywhere}
#caTutorV2 .ca-message.user .ca-message-copy{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);padding:11px 13px;border-radius:13px}
#caTutorV2 .ca-message.assistant .ca-message-copy{padding:4px 1px}
#caTutorV2 .ca-message-copy code{font-size:.9em;padding:2px 5px;border-radius:5px;background:rgba(255,255,255,.07)}
#caTutorV2 .ca-thinking .ca-message-copy{color:var(--muted,#8ea0b8);font-style:italic}
#caTutorV2 .ca-message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}
#caTutorV2 .ca-meta-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);padding:4px 8px;font-size:.67rem;color:var(--muted,#9ba9bd)}
#caTutorV2 .ca-meta-pill.course{border-color:rgba(88,166,255,.20);color:#a7ceff;background:rgba(88,166,255,.06)}
#caTutorV2 .ca-meta-pill.web{border-color:rgba(79,213,155,.18);color:#8fe1bf;background:rgba(79,213,155,.06)}
#caTutorV2 .ca-context-details{width:100%;margin-top:2px}
#caTutorV2 .ca-context-details summary{cursor:pointer;list-style:none;font-size:.72rem;color:#91bff3;width:max-content}
#caTutorV2 .ca-context-details summary::-webkit-details-marker{display:none}
#caTutorV2 .ca-context-details summary::before{content:'＋ ';color:#6f9fd3}
#caTutorV2 .ca-context-details[open] summary::before{content:'− '}
#caTutorV2 .ca-context-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
#caTutorV2 .ca-context-list button,#caTutorV2 .ca-context-list a{text-align:left;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:9px;padding:8px 9px;display:flex;flex-direction:column;gap:2px;cursor:pointer;min-width:0}
#caTutorV2 .ca-context-list button:hover,#caTutorV2 .ca-context-list a:hover{border-color:rgba(88,166,255,.27);background:rgba(88,166,255,.05)}
#caTutorV2 .ca-context-list span{font-size:.58rem;letter-spacing:.08em;color:#7fb3eb;font-weight:800}
#caTutorV2 .ca-context-list strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#caTutorV2 .ca-context-list small{font-size:.66rem;color:var(--muted,#8ea0b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#caTutorV2 .ca-inline-citation{color:#9acbff;text-decoration:underline;text-decoration-color:rgba(154,203,255,.55);text-underline-offset:2px}
#caTutorV2 .ca-tutor-form-v2{margin-top:12px}
#caTutorV2 .ca-tutor-form-v2 textarea{resize:vertical;min-height:78px}
#caTutorV2 .ca-tutor-form-v2 button[disabled]{opacity:.65;cursor:wait}
#caTutorV2 .ca-tutor-side-v2{display:flex;flex-direction:column;gap:14px;position:sticky;top:92px}
#caTutorV2 .ca-memory-card{overflow:hidden}
#caTutorV2 .ca-memory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
#caTutorV2 .ca-memory-head h3{margin-top:3px}
#caTutorV2 .ca-memory-on{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(79,213,155,.20);background:rgba(79,213,155,.06);color:#92dfc0;padding:4px 7px;border-radius:999px;font-size:.63rem;font-weight:800}
#caTutorV2 .ca-memory-on i{width:6px;height:6px;border-radius:50%;background:#4fd59b}
#caTutorV2 .ca-memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
#caTutorV2 .ca-memory-grid>div{border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);border-radius:10px;padding:9px;min-width:0}
#caTutorV2 .ca-memory-grid span{display:block;font-size:.62rem;color:var(--muted,#8ea0b8);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
#caTutorV2 .ca-memory-grid strong{display:block;font-size:.76rem;line-height:1.3;overflow-wrap:anywhere}
#caTutorV2 .ca-memory-note{font-size:.76rem;color:var(--muted,#8ea0b8);line-height:1.45;margin:11px 0 0}
#caTutorV2 .katex-display{overflow-x:auto;overflow-y:hidden;padding:7px 2px;margin:.65em 0}
#caTutorV2 .katex{font-size:1.03em}
#caTutorV2 .ca-tutor-empty{padding:48px 18px}
@media (max-width:1180px){#caTutorV2.ca-tutor-v2{grid-template-columns:220px minmax(0,1fr)}#caTutorV2 .ca-tutor-side-v2{grid-column:1/-1;position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){#caTutorV2.ca-tutor-v2{display:block}#caTutorV2 .ca-thread-rail{position:static;max-height:none;margin-bottom:12px}#caTutorV2 .ca-thread-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,75%);overflow-x:auto;overflow-y:hidden;padding-bottom:4px}#caTutorV2 .ca-thread-sync{display:none}#caTutorV2 .ca-tutor-side-v2{display:block}#caTutorV2 .ca-tutor-side-v2>article{margin-top:12px}#caTutorV2 .ca-chat-v2{height:58vh;min-height:380px}#caTutorV2 .ca-context-list{grid-template-columns:1fr}}
@media (max-width:560px){#caTutorV2 .ca-memory-grid{grid-template-columns:1fr}#caTutorV2 .ca-message{grid-template-columns:29px minmax(0,1fr);gap:8px}#caTutorV2 .ca-message>span{width:28px;height:28px;border-radius:8px}#caTutorV2 .ca-chat-v2{padding:13px}}
