.tutor{max-width:1100px;margin:0 auto;padding-bottom:24px}.tutor-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.tutor-heading h1{margin:8px 0}.tutor-heading p{color:#526882}.tutor-history-picker{display:flex;gap:12px;align-items:center;margin:20px 0;color:#355374}.tutor-history-picker select{max-width:440px;padding:10px;border:1px solid #c8d8eb;border-radius:8px;min-width:0}.tutor-messages{display:flex;flex-direction:column;gap:22px;margin:24px 0}.tutor-welcome{background:linear-gradient(135deg,#e3f4ee,#e6f0ff);padding:30px;border-radius:18px;color:#173b67}.tutor-prompts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.tutor-prompts button{border:1px solid #b5ccdf;padding:12px 16px;background:#fff;border-radius:10px;text-align:left;color:#174c76;cursor:pointer}.tutor-message{padding:22px 26px;border-radius:16px;max-width:94%;overflow-wrap:anywhere;min-width:0;box-sizing:border-box}.tutor-user{align-self:flex-end;background:#174c88;color:#fff;max-width:85%}.tutor-assistant{align-self:stretch;background:#fff;border:1px solid #ccdeed}.tutor-speaker{font-weight:700;margin-bottom:10px;font-size:.85rem}.tutor-message-text{white-space:pre-wrap;font-size:1rem;line-height:1.85}.tutor-message .math-block{overflow-x:auto;max-width:100%;padding-bottom:5px}.tutor-plan{padding:16px;background:#eef6ff;border-radius:10px;margin:20px 0}.tutor-plan ol{padding-left:22px}.tutor-plan li{margin:12px 0;line-height:1.7}.tutor-evidence,.tutor-exercise{padding:16px;border:1px solid #b8d8cd;border-radius:10px;margin-top:18px}.tutor-evidence>div{padding:14px 0;border-bottom:1px solid #dce8ef}.tutor-exercise summary,.tutor-evidence summary{font-weight:650;cursor:pointer}.tutor-question{margin:20px 0;white-space:pre-wrap;line-height:1.8}.tutor-exercise label{display:block;margin:14px 0}.tutor-exercise textarea{margin-top:8px}.tutor-attempt{margin:12px 0;padding:12px;background:#f0f7f4;border-radius:8px}.tutor-app-exercise{display:flex;flex-direction:column;gap:10px;border:1px solid #c5d8eb;padding:16px;margin:16px 0;border-radius:10px;color:#16549a}.tutor-composer{background:#fff;padding:22px;border:1px solid #bdd3e8;border-radius:14px}.tutor-composer>label{font-weight:650;display:block;margin-bottom:12px}.tutor-composer textarea{min-height:96px;max-height:260px;font:inherit}.tutor-composer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:14px}.tutor-composer-bottom details{font-size:.85rem;line-height:1.6}.tutor-composer [role=status]{color:#8a3926;font-size:.9rem}.tutor-preview{overflow-x:auto;margin-top:10px}.tutor-exercise .input{margin-top:8px}@media(max-width:600px){.tutor-heading{align-items:flex-start;flex-direction:column;gap:10px}.tutor-heading h1{font-size:27px}.tutor-history-picker{align-items:stretch;flex-direction:column}.tutor-history-picker select{width:100%;max-width:100%}.tutor-message{max-width:100%;padding:18px 14px}.tutor-user{max-width:92%}.tutor-welcome{padding:22px 16px}.tutor-composer{padding:16px}.tutor-composer-bottom{gap:10px;flex-wrap:wrap}.tutor-composer-bottom>.btn{margin-left:auto}.tutor-exercise{padding:12px}.tutor-message-text{font-size:.97rem}}
/* Keep the conversation and composer inside the available school workspace. */
.tutor-attachments{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.tutor-attach-button{cursor:pointer;color:#175fa1;font-size:13px;border:1px solid #c8d8eb;border-radius:16px;padding:5px 10px}
.tutor-attach-button:focus-within{outline:2px solid #2674a9}
.tutor-photo-hint{color:#526882;font-size:12px}
.tutor-photo-preview{display:flex;gap:10px;max-width:100%;overflow:auto}
.tutor-photo-preview:empty{display:none}
.tutor-photo-preview>div{position:relative;flex-shrink:0}
.tutor-photo-preview img{width:64px;height:64px;object-fit:cover;border-radius:8px}
.tutor-photo-preview button{position:absolute;right:0;top:0;border:0;background:#173b67;color:white;border-radius:50%;width:24px;height:24px;cursor:pointer}
.tutor-sent-photos{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.tutor-sent-photos img{max-width:100%;width:240px;max-height:260px;object-fit:contain;border-radius:10px;background:white}
body:has(#main[data-page="chat"]):not(.auth-screen){height:100dvh;overflow:hidden;display:flex;flex-direction:column}
body:has(#main[data-page="chat"]):not(.auth-screen) .shell{flex:1;min-height:0;height:100dvh;display:flex;flex-direction:column;box-sizing:border-box}
body:has(#main[data-page="chat"]):not(.auth-screen) .topbar{flex-shrink:0}
body:has(#main[data-page="chat"]):not(.auth-screen) #standard-footer{display:none}
body:has(#main[data-page="chat"]):not(.auth-screen) .pwa-launcher{display:none}
body:not(.auth-screen) #main[data-page="chat"]{flex:1;min-height:0;width:100%;max-width:none;padding:0!important;overflow:hidden}
#main[data-page="chat"] .tutor{width:100%;height:100%;max-width:none;margin:0;padding:14px 28px 18px;box-sizing:border-box;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px}
#main[data-page="chat"] .tutor-heading{gap:12px;flex-direction:row;align-items:center}
#main[data-page="chat"] .tutor-heading h1{font-size:23px;margin:0}
#main[data-page="chat"] .tutor-heading :is(.eyebrow,p){display:none}
#main[data-page="chat"] .tutor-heading button{font-size:14px;padding:10px 14px}
#main[data-page="chat"] .tutor-history-picker{margin:0;flex-direction:row;align-items:center;font-size:13px}
#main[data-page="chat"] .tutor-history-picker select{padding:6px 10px;flex:1;max-width:400px;width:0}
#main[data-page="chat"] .tutor-messages{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;gap:24px;margin:0;padding:18px 12px}
#main[data-page="chat"] .tutor-welcome{margin:auto 0;background:none;text-align:center;padding:24px 12px}
#main[data-page="chat"] .tutor-welcome h2{font-size:clamp(24px,3vw,36px)}
#main[data-page="chat"] .tutor-welcome p{color:#526882}
#main[data-page="chat"] .tutor-prompts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#main[data-page="chat"] .tutor-prompts button{padding:18px;line-height:1.6}
#main[data-page="chat"] .tutor-message{max-width:100%;flex-shrink:0;padding:14px 12px}
#main[data-page="chat"] .tutor-assistant{background:transparent;border:0}
#main[data-page="chat"] .tutor-user{max-width:78%;background:#e2edf8;color:#163b60;border-radius:22px;padding:14px 20px}
#main[data-page="chat"] .tutor-composer{padding:12px 18px;border-radius:24px;box-shadow:0 4px 20px #173b6710;min-width:0}
#main[data-page="chat"] .tutor-composer>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
#main[data-page="chat"] .tutor-composer textarea{display:block;width:100%;box-sizing:border-box;min-height:52px!important;max-height:160px;padding:8px 0;border:0;background:transparent;border-radius:0;resize:none;box-shadow:none;line-height:1.6}
#main[data-page="chat"] .tutor-composer textarea:focus{outline:none}
#main[data-page="chat"] .tutor-composer:focus-within{border-color:#2674a9}
#main[data-page="chat"] .tutor-composer-bottom{margin-top:4px;align-items:center;flex-wrap:nowrap}
#main[data-page="chat"] .tutor-composer-bottom>.btn{border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;font-size:25px;flex-shrink:0}
#main[data-page="chat"] .tutor-composer [role="status"]{margin:8px 0 0;max-height:66px;overflow:auto}
#main[data-page="chat"] .tutor-composer [role="status"]:empty,#main[data-page="chat"] .tutor-preview:empty{display:none}
#main[data-page="chat"] .tutor-preview{max-height:100px;overflow:auto}
body.app-standalone:has(#main[data-page="chat"]):not(.auth-screen) .shell{height:auto;min-height:0}
body.app-standalone:has(#main[data-page="chat"]):not(.auth-screen) #app-topbar{flex-shrink:0}
@media(max-width:620px){
 #main[data-page="chat"] .tutor{padding:10px 10px 12px;gap:8px}
 #main[data-page="chat"] .tutor-heading h1{font-size:20px}
 #main[data-page="chat"] .tutor-heading button{font-size:12px;padding:8px 10px}
 #main[data-page="chat"] .tutor-messages{padding:12px 0;gap:16px}
 #main[data-page="chat"] .tutor-prompts{grid-template-columns:1fr;gap:8px;margin-top:18px}
 #main[data-page="chat"] .tutor-prompts button{padding:10px 12px}
 #main[data-page="chat"] .tutor-welcome{padding:12px 0}
 #main[data-page="chat"] .tutor-user{max-width:90%}
 #main[data-page="chat"] .tutor-composer{padding:10px 14px}
}
