:root{--fundo:#f4f6f8;--painel:#ffffff;--texto:#17202a;--suave:#5d6b78;--borda:#dde3e9;--cor:#0f6b5c;--cor-hover:#0b5548;--cor-fraca:#e3f1ed;--bolha-aluno:#0f6b5c;--erro:#b3261e;color-scheme:light}:root[data-tema=escuro]{--fundo:#0e1317;--painel:#161d23;--texto:#e6ebef;--suave:#93a1ad;--borda:#26313a;--cor:#2fa58e;--cor-hover:#3bbba2;--cor-fraca:#16302b;--bolha-aluno:#1d6f60;--erro:#ff8b82;color-scheme:dark}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--fundo);color:var(--texto);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:background .2s,color .2s}.sub,h1,li,p{text-wrap:pretty}h1{text-wrap:balance}button{font:inherit;font-weight:600;border:0;border-radius:10px;cursor:pointer;background:var(--cor);color:#fff;padding:12px 20px}button:hover{background:var(--cor-hover)}button:disabled{opacity:.55;cursor:not-allowed}button.link{background:transparent;color:var(--cor);padding:0;font-weight:600}button.link:hover{text-decoration:underline;background:transparent}button.tema{background:transparent;color:var(--texto);border:1px solid var(--borda);width:36px;height:36px;padding:0;border-radius:50%;font-size:1.05rem;line-height:1}button.tema:hover{background:var(--painel)}input,textarea{width:100%;font:inherit;color:var(--texto);background:var(--fundo);border:1px solid var(--borda);border-radius:10px;padding:12px 14px}input:focus,textarea:focus{outline:2px solid var(--cor);outline-offset:1px}.erro{color:var(--erro)}.marca{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;flex:none;object-fit:cover;object-position:center 40%;border:2px solid var(--cor);background:var(--cor)}.login{min-height:100%;display:grid;place-items:center;padding:16px;position:relative}.canto{position:absolute;top:16px;right:16px}.cartao{width:100%;max-width:400px;background:var(--painel);border:1px solid var(--borda);border-radius:18px;padding:32px 28px}.cartao .marca{margin-bottom:14px}.cartao .marca .avatar{width:56px;height:56px}.cartao h1{margin:0;font-size:1.6rem;line-height:1.2}.cartao .marca .sub{margin:0}.sub{margin:0 0 22px;color:var(--suave)}.cartao label{display:block;font-size:.9rem;color:var(--suave);margin-bottom:16px}.cartao input{margin-top:6px}.cartao button[type=submit]{width:100%;margin-top:4px}.ajuda{margin:18px 0 0;font-size:.85rem;color:var(--suave);text-align:center;line-height:1.8}.ajuda a{color:var(--cor);font-weight:600;text-decoration:none}.ajuda a:hover{text-decoration:underline}.chat{height:100dvh;flex-direction:column}.chat,.topo{display:flex}.topo{justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;background:var(--painel);border-bottom:1px solid var(--borda)}.topo small{display:block;color:var(--suave);font-size:.8rem}.topo nav{display:flex;gap:16px;align-items:center;font-size:.92rem;color:var(--suave)}.mensagens{flex:1 1;overflow-y:auto;width:100%;max-width:860px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:14px}.msg{max-width:82%;padding:12px 16px;border-radius:16px;overflow-wrap:anywhere}.msg p{margin:0 0 8px}.msg p:last-child,.msg ul:last-child{margin-bottom:0}.msg ul{margin:0 0 8px;padding-left:20px}.msg.tutor{align-self:flex-start;background:var(--painel);border:1px solid var(--borda)}.msg.aluno{align-self:flex-end;background:var(--bolha-aluno);color:#fff;white-space:pre-wrap}.msg.pensando{color:var(--suave);font-style:italic}.msg .rever{margin-top:10px;padding:8px 12px;border-radius:10px;background:var(--cor-fraca);font-size:.92rem}.feedback{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:.82rem;color:var(--suave)}.feedback button{background:transparent;padding:2px 6px;font-size:1rem;border-radius:8px}.feedback button:hover{background:var(--cor-fraca)}.feedback.obrigada{margin:10px 0 0}.envio{width:100%;max-width:860px;margin:0 auto;padding:12px 24px 6px;display:flex;gap:10px;align-items:flex-end}.envio textarea{resize:none;max-height:180px}.rodape{text-align:center;font-size:.78rem;color:var(--suave);margin:0;padding:0 24px 14px}.sugestoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sugestoes button{background:transparent;color:var(--cor);border:1px solid var(--borda);font-weight:500;padding:8px 12px;font-size:.9rem;text-align:left}.sugestoes button:hover{background:var(--cor-fraca)}@media (max-width:600px){.topo{padding:10px 14px}.topo nav{gap:10px;font-size:.85rem;white-space:nowrap}.topo .quem,.topo small{display:none}.topo .avatar{width:34px;height:34px}.rodape{font-size:.72rem}.mensagens{padding:14px}.msg{max-width:92%}.envio{padding:10px 14px 4px}.rodape{padding:0 14px 10px}}