/* Compact response typography and exercise cards, inspired by the supplied examples. */
.message.assistant .message-label{display:none}.message.assistant{line-height:1.65;margin:28px 0}.rich p{margin:12px 0}.rich h2{font-size:24px;letter-spacing:-.3px}.rich h3{font-size:20px;margin:24px 0 12px}.formula.display{margin:0;padding:4px 0}.rich p:has(>.formula.display){margin:18px 0}.katex-display{margin:0}.message.user{background:#e8f3ff;color:#234365}.exercise-card{position:relative;border:1px solid #e4e7eb;border-radius:18px;padding:22px;margin:20px 0;background:#fff}.exercise-card h3{font-size:21px;margin:0 0 18px;color:#262d35}.exercise-card>p{font-size:14px;font-weight:600;margin:14px 0}.exercise-points{display:block;color:#7e8490;font-size:11px;margin-top:-8px}.exercise-expression{padding:22px 16px;border-radius:14px;background:#f6f6f8;margin:16px 0;overflow-x:auto}.exercise-expression .katex{font-size:1.75em}.exercise-expression .formula.display{margin:0;padding:6px 0}.exercise-answer{font-size:0;margin:12px 0}.exercise-answer textarea{font-size:15px;width:100%;border:1px solid #dde2e7;border-radius:13px;padding:14px;resize:vertical;font-family:inherit;color:#273d49;background:white;min-height:70px}.exercise-answer textarea:focus{outline:2px solid #99c8ba;border-color:transparent}.math-keyboard{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.math-keyboard button{min-width:36px;height:34px;padding:3px 9px;border-radius:18px;font-size:15px;background:#fff;border:1px solid #e0e4e8;color:#596674}.math-keyboard button:hover{background:#eef6f3;border-color:#b3d4c9}.composer .math-keyboard{margin:0 0 9px;padding:0 4px}.composer .math-keyboard button{font-size:13px;min-width:28px;height:27px;padding:2px 7px}.exercise-submit{border-radius:20px;margin-top:4px;background:#287961!important}.exercise-submit:disabled{background:#f0f2f4!important;color:#8b939a!important;border-color:#f0f2f4!important;opacity:1}.rich strong{color:#233c44}.rich blockquote{background:#f3f8ff;border-left-color:#78a6d1;padding:12px 18px;border-radius:0 10px 10px 0}@media(max-width:680px){.exercise-card{padding:16px}.exercise-card h3{font-size:19px}.exercise-expression{padding:18px 8px}.exercise-expression .katex{font-size:1.4em}.composer .math-keyboard{gap:5px}.message.assistant{font-size:15px}}
.chat-status{font-size:12px;line-height:1.5;background:#fff5d9;color:#6c5324;padding:8px 10px;border-radius:7px;margin:8px 0}.chat-status:empty{display:none}
.teaching-visual{display:block;margin:22px 0;padding:18px;border:1px solid #e5eaf0;border-radius:16px;background:#fff}.teaching-visual svg{display:block;width:100%;height:auto;max-width:640px;margin:auto}.teaching-visual figcaption{font-size:13px;line-height:1.6;color:#5d7080;margin-top:10px}.teaching-visual figcaption strong{display:block;font-size:15px;color:#2d465b;margin-bottom:4px}
.session-end-bottom{display:flex;justify-content:flex-end;margin:16px 0 4px}.end-session-button{background:#8a4254;color:#fff;border-color:#8a4254;border-radius:12px;font-weight:600}.end-session-button:hover{background:#713245;border-color:#713245}.end-session-button:disabled{background:#eee7ea;color:#9b808a;border-color:#eee7ea;opacity:1}@media(max-width:680px){.session-end-bottom .end-session-button{width:100%;}}
.session-end-bottom{gap:10px;flex-wrap:wrap}.go-top-button{background:#eef2ff;color:#4455a1;border-color:#cdd5f4;border-radius:12px;font-weight:600}.go-top-button:hover{background:#e0e7ff}@media(max-width:680px){.session-end-bottom .go-top-button{width:100%;}}
.history-picker{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0;font-size:13px}.history-picker label{margin:0}.history-picker select{font:inherit;max-width:100%;padding:9px;border:1px solid #d6dfe1;border-radius:9px;background:white}.history-picker button{font-size:12px}.academic-report{padding:24px;border:1px solid #dde6e2;border-radius:14px;background:#fff;margin-top:18px}.academic-report h1{font-size:23px}.academic-report h2{font-size:20px}.academic-report pre{white-space:pre-wrap;overflow-wrap:anywhere}
.chat-navigation{position:fixed;right:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:10}.chat-navigation button{width:40px;height:40px;padding:0;border-radius:50%;font-size:22px;background:#f2f5ff;color:#4455a1;border:1px solid #cdd5f4;box-shadow:0 2px 8px #26365116}.chat-navigation button:hover{background:#e0e7ff}@media(max-width:680px){.chat-navigation{right:5px}.chat-navigation button{width:30px;height:30px;font-size:18px;background:#f2f5fff2;}}
.family-tools{margin:20px 0;padding:14px;border:1px solid #e4e8ec;border-radius:12px;background:#f8fafb}.family-tools summary{color:#617080;font-size:13px}.family-tools pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f1f3f5;padding:16px;border-radius:8px}
