/* A quiet course companion, not a second dashboard. */
#learning-assistant-root{font-family:inherit;color:#293c32;font-size:14px;line-height:1.75}
.tutor-launcher{position:fixed;right:24px;bottom:22px;z-index:700;display:flex;flex-direction:column;align-items:center;border:0;background:none;padding:0;cursor:pointer;color:#354e38;filter:drop-shadow(0 3px 5px #1d3c2f18)}
.tutor-launcher>img{display:block;width:100px;height:100px;object-fit:contain}
.tutor-launcher>span{font-size:13px;font-weight:500;border:1px solid #d9dfd0;background:#fffefa;border-radius:16px;padding:3px 13px;margin-top:2px;line-height:1.7}
.tutor-launcher:hover>span{border-color:#7f9677}.tutor-launcher:focus-visible{outline:2px solid #426f55;outline-offset:5px;border-radius:8px}
.tutor-panel{position:fixed;right:26px;bottom:24px;z-index:750;width:min(440px,calc(100% - 32px));height:min(750px,calc(100dvh - 48px));display:flex;flex-direction:column;background:#fffefa;border:1px solid #ccd5c4;border-radius:8px;box-shadow:0 10px 40px #243b2826;overflow:hidden}
.tutor-panel *{box-sizing:border-box}.tutor-panel h2,.tutor-panel h3,.tutor-panel p{margin:0;letter-spacing:0}
.tutor-panel button{font-family:inherit;cursor:pointer}.tutor-panel button:disabled{opacity:.5;cursor:not-allowed}
.tutor-panel-head{padding:13px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe3d6;background:#f3f5ed}
.tutor-panel-head>div{display:flex;align-items:center;gap:10px}.tutor-panel-head img{width:56px;height:56px;object-fit:contain}
.tutor-panel-head h2{font-size:18px;font-weight:600;color:#304a36;line-height:1.5}.tutor-panel-head p{font-size:13px;color:#68765f}
.tutor-panel-head>button{font-size:27px;line-height:1;width:36px;height:36px;border:0;background:none;color:#5b6c54;border-radius:4px}
.tutor-panel-head>button:hover{background:#e5ebde}
.tutor-context{padding:12px 18px;border-bottom:1px solid #e2e5db;line-height:1.7}
.tutor-context>strong{font-size:13px;color:#5e7055;font-weight:500}.tutor-context>p{font-size:14px;font-weight:500;color:#354d3a;overflow-wrap:anywhere;margin-top:2px}
.tutor-context>span{font-size:12px;color:#6c7864;display:block;margin-top:4px}
.tutor-toolbar{display:flex;align-items:center;gap:16px;padding:8px 18px;border-bottom:1px solid #e2e5db;flex-shrink:0}
.tutor-toolbar>button,.tutor-source>button{padding:3px 0;color:#426442;font-size:13px;background:none;border:0}
.tutor-toolbar>button:hover,.tutor-source>button:hover{text-decoration:underline}
.tutor-privacy{position:relative;font-size:13px;margin-left:auto;color:#607357}
.tutor-privacy>summary{cursor:pointer}.tutor-privacy[open]{position:absolute;right:18px;top:170px;width:calc(100% - 36px);z-index:2;padding:14px 16px;background:#fffefa;border:1px solid #d5ddcd;border-radius:4px;box-shadow:0 4px 12px #203a2415}
.tutor-privacy p{margin-top:10px;font-size:13px;color:#5b6a54;line-height:1.8}
.tutor-conversation{flex:1;min-height:80px;overflow:auto;overscroll-behavior:contain;padding:17px 18px;background:#fafbf6;scrollbar-gutter:stable}
.tutor-welcome{text-align:center;padding:5px 4px 10px}.tutor-welcome>img{width:82px;height:82px;object-fit:contain}
.tutor-welcome h3{font-size:17px;font-weight:500;margin:7px 0 9px;color:#3b573c}
.tutor-welcome p{font-size:14px;line-height:1.85;text-align:left;color:#67755e}
.tutor-suggestions{display:grid;gap:8px;margin-top:16px}.tutor-suggestions button{padding:10px 12px;text-align:left;background:#fffefa;border:1px solid #dfe4d6;color:#496343;font-size:13px;line-height:1.7;border-radius:4px}
.tutor-turn{margin-bottom:22px;min-width:0}.tutor-turn-context{font-size:12px;line-height:1.7;color:#6b7962;border-bottom:1px solid #e3e8da;padding-bottom:8px;margin-bottom:12px;overflow-wrap:anywhere}
.tutor-question{margin-bottom:12px;border-left:3px solid #adbb9d;padding:7px 12px;background:#f0f3e9}
.tutor-question>strong,.tutor-answer>strong{font-size:13px;font-weight:600;color:#486043}
.tutor-question p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0;font-size:14px;line-height:1.85;color:#344c39}
.tutor-answer{padding:0 2px}.tutor-answer-text{font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;color:#354a38}
.tutor-answer>p{font-size:14px;line-height:1.85;margin-top:9px;color:#65755d}.tutor-answer .tutor-follow-up{background:#eef2e6;border-radius:3px;padding:10px 12px;margin-top:14px}
.tutor-evidence{margin-top:14px;font-size:13px;color:#62765a;line-height:1.8;overflow-wrap:anywhere}
.tutor-evidence>summary,.tutor-evidence details>summary{cursor:pointer;font-size:13px;color:#4e6b47}
.tutor-evidence p{font-size:13px!important;line-height:1.8;margin-top:9px!important;color:#65755d}
.tutor-quote{margin:12px 0}.tutor-quote>strong,.tutor-source>strong{font-size:13px;font-weight:500;color:#44613f}
.tutor-quote blockquote{border-left:2px solid #becba9;background:#f0f3e8;padding:9px 11px;margin:8px 0;color:#526548;white-space:pre-wrap;overflow-wrap:anywhere}
.tutor-source{padding:12px 0;border-bottom:1px solid #e0e5d5}.tutor-source>p{max-height:180px;overflow:auto}
.tutor-compose{padding:12px 18px 15px;border-top:1px solid #dfe4d6;background:#fffefa;flex-shrink:0}
.tutor-notice{font-size:12px;line-height:1.75;color:#69775f;margin-bottom:9px}
.tutor-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.75;color:#5f7154;margin-bottom:10px}
.tutor-consent input{margin-top:4px;flex:none;width:15px;height:15px}
.tutor-compose textarea{font:inherit;font-size:14px;line-height:1.7;padding:10px 12px;width:100%;height:82px;min-height:65px;max-height:150px;resize:vertical;border:1px solid #cdd7c3;border-radius:4px;color:#304936;background:white;outline:none}
.tutor-compose textarea:focus{border-color:#6c8b5d;box-shadow:0 0 0 2px #426f5510}
.tutor-compose textarea::placeholder{font-size:13px;color:#7c8874}
.tutor-send-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.tutor-send-row>span{font-size:12px;color:#728067}
.tutor-send-row>.button{font-size:14px;padding:8px 15px;min-height:36px}
.tutor-error{font-size:13px!important;line-height:1.8;color:#994d39!important;margin:9px 0!important;overflow-wrap:anywhere}
.tutor-history{display:grid;gap:9px}.tutor-history>button{background:white;border:1px solid #dbe2d2;border-radius:4px;padding:12px;text-align:left;color:#405c3d;font-size:14px;line-height:1.7}
.tutor-history>button>strong{font-weight:500;display:block;overflow-wrap:anywhere}.tutor-history>button>span{font-size:12px;color:#78836f;display:block;margin-top:5px}
.tutor-empty,.tutor-history>p{font-size:14px;color:#6b7b61;line-height:1.85}
.tutor-record-filters{display:grid;grid-template-columns:minmax(200px,1fr) minmax(240px,1.5fr);gap:22px;padding:20px 24px;border-bottom:1px solid #dfe4d7}
.tutor-record-filters .field{margin:0}.tutor-record-filters select{font-size:14px;max-width:100%}
.tutor-record-page td{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.tutor-record-page td>p{font-size:13px;color:#6b7b61}
.tutor-record-pages{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:17px 24px;font-size:13px;color:#69785f}
.tutor-teacher-detail{max-width:1000px;padding:22px 28px;margin:0 auto}.tutor-teacher-detail .tutor-turn{padding-bottom:24px;border-bottom:1px solid #e0e5d8;margin-bottom:24px}
.tutor-record-notice{font-size:13px;line-height:1.85;color:#65785a;margin:0 0 24px}
.tutor-progress{font-size:13px;line-height:1.85;color:#617257;margin:0 0 14px}.tutor-progress>summary{cursor:pointer}.tutor-progress p{margin-top:8px;font-size:13px}
.tutor-teacher-detail .tutor-answer-text{font-size:15px}.tutor-teacher-detail .tutor-question p{font-size:15px}
.tutor-record-page .section-head>div>p{font-size:13px;color:#6b7a61;margin:7px 0 0}
.tutor-teacher-detail .tutor-source>button{background:none;border:0;padding:5px 0;color:#426442;font-size:13px;cursor:pointer}
@media(max-width:600px){.tutor-launcher{right:15px;bottom:17px}.tutor-launcher>img{width:84px;height:84px}.tutor-launcher>span{font-size:12px;padding:2px 10px}.tutor-panel{right:8px;bottom:8px;width:calc(100% - 16px);height:calc(100dvh - 16px);border-radius:6px}.tutor-panel-head{padding:11px 14px}.tutor-context{padding:10px 14px}.tutor-toolbar{padding:8px 14px;gap:15px}.tutor-conversation{padding:14px}.tutor-compose{padding:10px 14px 12px}.tutor-send-row>span{font-size:12px}.tutor-record-filters{grid-template-columns:1fr;gap:16px;padding:18px}.tutor-teacher-detail{padding:18px}.tutor-welcome>img{width:68px;height:68px}.tutor-welcome{padding-top:0}.tutor-privacy[open]{top:165px;right:14px;width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){.tutor-panel,.tutor-launcher{animation:none;transition:none}}
