/* Use available desktop space, while keeping phone messages within the viewport. */
.chat-body .wrap,.chat-input-row .wrap{max-width:1240px;width:100%}
.msg-row{flex-direction:column;align-items:flex-start;min-width:0;gap:5px}
.msg-row.user{align-items:flex-end}.msg-row.assistant>.msg-bubble{max-width:100%;width:100%;min-width:0;overflow-wrap:anywhere}
.msg-row.user>.msg-bubble{max-width:85%;overflow-wrap:anywhere}
.message-copy{display:inline-flex;align-items:center;gap:5px;min-height:34px;border:0;background:transparent;color:var(--ink-soft);font:500 12px var(--sans,system-ui);padding:5px 9px;border-radius:7px;cursor:pointer}
.message-copy:hover{background:var(--paper-2);color:var(--ink)}.message-copy:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.message-copy:disabled{opacity:.4;cursor:wait}
.msg-diagrams{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:20px 0 4px;white-space:normal}
.textbook-figure{margin:0;width:100%;min-width:0}.textbook-figure button{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:zoom-in}
.textbook-figure img{display:block;width:100%;max-width:1000px;height:auto;margin:auto;object-fit:contain}.textbook-figure figcaption{font:500 13px/1.5 var(--sans);color:var(--ink-soft);margin-top:8px}.textbook-figure figcaption span{font-weight:400;color:var(--ink-faint)}
.textbook-viewer{width:min(96vw,1500px);height:92dvh;max-width:96vw;max-height:94dvh;padding:0;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg)}
.textbook-viewer::backdrop{background:#000b}.textbook-viewer header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.textbook-viewer header strong{flex:1;font-size:13px;min-width:120px}.textbook-viewer button{min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer;font:inherit}
.textbook-scroll{overflow:auto;height:calc(100% - 80px);padding:16px}.textbook-scroll img{display:block;height:auto;max-width:none;background:#fff;margin:auto}
@media(max-width:600px){.chat-body .wrap,.chat-input-row .wrap{padding-left:12px;padding-right:12px}.msg-row.assistant>.msg-bubble{padding:13px 14px}.msg-row.user>.msg-bubble{max-width:94%}.textbook-figure button{padding:6px}.textbook-viewer header{padding:8px}.textbook-scroll{padding:8px}.textbook-viewer{height:92dvh}}
