button,input,textarea{font:inherit}button:disabled{opacity:.55;cursor:wait}.stack{display:grid;gap:20px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.spaced{justify-content:space-between}.grow{flex:1}.small-link{min-height:44px;display:inline-flex;align-items:center}.error:empty{display:none}.error{color:var(--w)}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.field textarea{min-height:100px;width:100%;background:var(--n9);color:var(--w);border:2px solid var(--line);border-radius:14px;padding:14px}.nav a{min-height:44px;display:inline-flex;align-items:center}.nav a[aria-current=page]{color:white;background:var(--red)}.status{color:var(--dim);font-size:14px}.trail .tag{align-self:flex-start;width:fit-content}.trail img{transition:transform .2s}.trail:hover img{transform:scale(1.02)}.progress{height:4px;background:var(--n9);border-radius:5px;overflow:hidden}.progress span{height:100%;display:block;background:var(--red-hi)}.auth-brand{justify-content:center}.auth-brand .plate{margin-top:45px}.auth-brand h1{max-width:580px}.auth-form h2{overflow-wrap:anywhere}.auth-form .panel{gap:22px}.lesson-media{align-self:start}.lesson-media img{height:auto;aspect-ratio:auto;object-fit:contain}.lesson-media video,.lesson-media audio{max-width:100%;width:100%}.lesson-media audio{padding:20px}.lesson-t .note{display:block}.bubble.me{display:block}.chat-log{display:grid;gap:18px;max-height:580px;overflow:auto;padding:3px}.chat-log:empty{display:none}.composer .btn{border-radius:999px;padding:0 24px}.section-title{font-size:32px}.empty{padding:32px;background:var(--n7);border:1px dashed var(--line-hi);border-radius:20px}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:white;color:#080f2e;padding:15px;border-radius:10px}.skip:focus{top:16px}.hidden{display:none!important}.btn.text{background:none;color:var(--blue);padding:0;letter-spacing:0;text-transform:none;min-height:44px}.page-h .back{font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.code{overflow-wrap:anywhere;letter-spacing:.12em}.footer-nav{display:flex;justify-content:center;gap:20px;margin-top:12px}.trail-placeholder{aspect-ratio:1;display:grid;place-items:center;background:var(--n9);font:800 32px var(--disp);padding:20px}.kb-suggestions{display:grid;gap:10px}.kb-suggestions button{text-align:left;justify-content:flex-start}.btn.ghost:hover,.chip:hover{transition:background .15s}.admin-nav{display:flex;gap:20px;flex-wrap:wrap}.info-grid,.shortcuts{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.lesson{grid-template-columns:minmax(180px,.9fr) minmax(0,1.1fr)}.auth-form form{display:grid;gap:20px}.field input{font-size:17px}.check a{color:inherit}.notice-label{font-size:12px;color:var(--dim)}
@media(max-width:860px){.auth-brand{min-height:300px;gap:16px}.auth-brand .plate{width:150px;margin-top:10px;border-radius:14px}.auth-brand h1{font-size:46px;max-width:390px}.auth-brand .eyebrow{font-size:11px}.auth-brand .date{font-size:14px}.hdr .nav{order:3;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.hdr .nav a{justify-content:center;padding:10px 6px;font-size:12px}.hdr .me{margin-left:auto}.me .user-label{display:none}.brand-t{font-size:16px}.brand img{width:54px;height:40px}.lesson{grid-template-columns:1fr}.lesson-media img{max-height:520px;object-fit:contain;background:var(--n9)}.composer{border-radius:20px}.composer input{padding:0 8px;font-size:15px}.composer .btn{padding:0 16px}.two .side{order:2}.main{gap:24px}.page-h h1{font-size:44px}.page-h p{font-size:16px}.code{font-size:24px}.nav{margin:0}.tbl{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.chat-full .bubble{max-width:680px}.bubble.typing{color:var(--dim);font-style:italic}.bubble img,.bubble video{max-width:100%;height:auto;border-radius:14px;margin:6px 0 10px;display:block}.bubble audio{width:100%;margin:6px 0 10px}.bubble p{margin:10px 0 0}.chat-actions{padding:18px 0 8px}.chat-actions:empty{padding:0}

.msg{display:flex;gap:10px;align-items:flex-end;max-width:100%}.msg .av{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--line);background:var(--n7)}.msg.grp .av{visibility:hidden}.msg .bubble{min-width:0;max-width:min(680px,calc(100% - 50px))}
.bubble p{margin:0 0 12px;line-height:1.65;text-align:justify;hyphens:auto;overflow-wrap:anywhere}.bubble p:last-child{margin-bottom:0}.bubble .lt{display:block;font:800 21px/1.25 var(--disp);font-style:italic;text-transform:uppercase;margin-bottom:10px}.bubble .verse{color:var(--blue);text-align:left}
.bubble.media{padding:8px}.bubble.media img,.bubble.media video{margin:0;max-width:min(380px,100%);border-radius:16px}.bubble.challenge{border-left:5px solid var(--red-hi);background:var(--n6)}
.dots i{display:inline-block;width:9px;height:9px;margin:4px 3px;border-radius:50%;background:var(--blue);animation:ado-dot 1s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes ado-dot{50%{transform:translateY(-6px);opacity:.45}}@media(prefers-reduced-motion:reduce){.dots i{animation:none}}

/* Chat em tela cheia: o histórico rola, o campo de escrever e as opções ficam fixos embaixo. */
.app.chat-mode{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.chat-mode .hdr{flex:none;padding:10px 24px;gap:8px 24px}
.chat-mode .main{flex:1;min-height:0;display:flex;padding:0;gap:0;max-width:none;width:100%;margin:0}
.chat-full{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:860px;margin:0 auto}
.chat-full .chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:28px 20px 12px;scroll-padding-bottom:16px}
.chat-full .chat-log>.bubble.me{align-self:flex-end;max-width:min(560px,86%)}
.chat-full .chat-log>.msg{align-self:flex-start}
.chat-bottom{flex:none;padding:6px 20px calc(14px + env(safe-area-inset-bottom));display:grid;gap:8px}
.chat-bottom .chat-actions{padding:6px 0 2px;max-height:34vh;overflow-y:auto}
.chat-bottom .chat-actions:empty{display:none}
.chat-bottom .composer{padding:6px 6px 6px 10px}
.chat-bottom .composer input{min-height:44px;font-size:16px}
.chat-bottom .btn.send{width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;font-size:22px;line-height:1;display:grid;place-items:center}
.chat-bottom .notice-label{margin:0;text-align:center;font-size:12.5px;line-height:1.4}
.bubble .topic{display:inline-block;margin:0 0 8px;padding:2px 10px;border-radius:8px;background:rgba(127,166,255,.18);color:var(--blue);font:800 11px var(--sans);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:700px){.chat-bottom .chip{min-height:40px;padding:0 15px;font-size:15px}.chat-bottom .chips{gap:8px}.chat-bottom .chat-actions{max-height:26vh}.chat-mode .user-label{display:none}.chat-mode .hdr{padding:8px 12px}.chat-mode .brand-t small,.chat-mode .user-label small{display:none}.chat-full .chat-log{padding:18px 12px 8px}.chat-bottom{padding:6px 12px calc(10px + env(safe-area-inset-bottom))}}
