*,:before,:after{box-sizing:border-box}body{background:var(--color-background);min-height:100vh;color:var(--color-text);margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}main{max-width:640px;margin:0 auto;padding:48px 16px}h1{color:var(--color-primary);margin-bottom:4px}.status{background:#fff;border:1px solid #ddd;border-radius:999px;margin-top:24px;padding:6px 12px;font-size:14px;display:inline-block}.card{background:#fff;border:1px solid #e3e1ef;border-radius:12px;flex-direction:column;gap:12px;margin-top:16px;padding:20px;display:flex}label{flex-direction:column;gap:6px;font-weight:600;display:flex}input{font:inherit;border:1px solid #c9c6da;border-radius:8px;padding:10px 12px}button,.button{font:inherit;background:var(--color-primary);color:#fff;cursor:pointer;text-align:center;border:0;border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-block}button:disabled{opacity:.6;cursor:default}button.link{color:var(--color-primary);background:0 0;padding:0}.error{color:#b42318;margin:0}.hint{color:#5d5a70;margin:8px 0 0;font-size:14px}.topbar{justify-content:space-between;align-items:center;font-size:14px;display:flex}.list{padding:0;list-style:none}code{letter-spacing:2px;font-size:16px;font-weight:700}h2{margin-top:32px}.row{align-items:center;gap:16px;display:flex}.grow{flex:1}.student-row{border-bottom:1px solid #e3e1ef;align-items:center;gap:12px;padding:10px 0;display:flex}.student-avatar{font-size:32px}.avatar-picker{border:0;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin:0;padding:0;display:grid}.avatar-picker legend{margin-bottom:6px;font-weight:600}button.avatar{color:var(--color-text);background:#fff;border:2px solid #e3e1ef;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-weight:400;display:flex}button.avatar span{font-size:32px}button.avatar.selected{border-color:var(--color-primary);background:#efeafe}button.avatar:disabled{opacity:.25}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:16px 0;display:grid}button.avatar.big{padding:16px 8px;font-size:18px}button.avatar.big span{font-size:56px}main.student{text-align:center}.code-input{text-align:center;letter-spacing:8px;text-transform:uppercase;font-size:32px}.avatar-hero{font-size:80px}.pin-dots{justify-content:center;gap:16px;margin:16px 0;display:flex}.dot{border:2px solid var(--color-primary);border-radius:50%;width:20px;height:20px}.dot.filled{background:var(--color-primary)}.pin-pad{grid-template-columns:repeat(3,80px);justify-content:center;gap:12px;margin:16px 0;display:grid}.pin-pad button{height:72px;font-size:28px}.pin-pad button.secondary{color:var(--color-text);background:#e3e1ef}.access-card{border:2px dashed var(--color-primary);text-align:center;background:#fff;border-radius:16px;width:280px;margin:8px auto;padding:20px}.access-card-brand{color:var(--color-primary);font-weight:700}.access-card-avatar{font-size:56px}.access-card-name{font-size:22px;font-weight:700}.access-card dl{text-align:left;grid-template-columns:auto auto;gap:6px 12px;margin:12px 0;display:grid}.access-card dt{color:#5d5a70}.access-card dd{letter-spacing:2px;margin:0;font-weight:700}.access-card-tip{color:#5d5a70;font-size:12px}@media print{body{background:#fff}.no-print,.topbar,h1,.card>:not(.print-area){display:none!important}.card{border:0;padding:0}}.term h2{margin-top:0;font-size:20px}.term h3{margin:12px 0 0;font-size:16px}.term p,.term ul{margin:0;line-height:1.5}label.checkbox{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}label.checkbox input{margin-top:4px}main.chat-page{text-align:left}.chat-log{background:#fff;border:1px solid #e3e1ef;border-radius:12px;flex-direction:column;gap:8px;min-height:300px;max-height:60vh;margin:16px 0;padding:12px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;border-radius:14px;max-width:85%;margin:0;padding:10px 14px;line-height:1.4}.bubble.me{background:var(--color-primary);color:#fff;align-self:flex-end}.bubble.ai{background:#f0eef8;align-self:flex-start}.bubble.mascot{border:1px solid var(--color-accent);background:#e6f8f3;align-self:flex-start}.bubble.typing{opacity:.6;font-style:italic}.chat-form{gap:8px;display:flex}.chat-form input{flex:1}.help-corner{z-index:10;text-align:left;position:fixed;bottom:16px;left:16px}.help-button{color:var(--color-text);background:#fff;border:1px solid #c9c6da;padding:8px 12px;font-size:14px;font-weight:400}.help-panel{background:#fff;border:1px solid #c9c6da;border-radius:12px;max-width:280px;padding:14px;box-shadow:0 4px 16px #0000001f}.help-panel p{margin:0 0 10px}.help-alerts{z-index:10;flex-direction:column;gap:8px;max-width:640px;margin:0 auto;padding:8px 16px;display:flex;position:sticky;top:0}.help-alert{background:#fff4e5;border:2px solid #f79009;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.help-alert small{color:#5d5a70;margin-top:4px;display:block}.help-alert-avatar{font-size:32px}@media print{.help-corner{display:none}}.review-log{flex-direction:column;gap:8px;display:flex}.review-msg{background:#f0eef8;border-radius:10px;padding:8px 12px}.review-msg.user{background:#fff;border:1px solid #e3e1ef}.review-msg p{white-space:pre-wrap;margin:4px 0}.review-msg small{color:#5d5a70}.review-msg.blocked_input,.review-msg.blocked_output{background:#fff8ee;border:1px solid #f79009}.flag{color:#93370d;background:#fff4e5;border-radius:999px;padding:2px 8px;font-size:13px;display:inline-block}a.link{color:var(--color-primary);font-weight:600}main.lesson-home{text-align:left}main.lesson-home h1,main.lesson-home .avatar-hero{text-align:center}.avatar-hero.small{font-size:56px}.trail{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.step>a,.step>div{color:var(--color-text);background:#fff;border:1px solid #e3e1ef;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.step>a:hover{border-color:var(--color-primary)}.step.next>a{border:2px solid var(--color-primary);background:#efeafe;font-weight:600}.step.done>a{opacity:.7}.step>div{color:#5d5a70;background:0 0;border-style:dashed}.step small{color:#5d5a70}.step-icon{font-size:22px}.celebrate{border:1px solid var(--color-accent);background:#e6f8f3;border-radius:12px;padding:12px}main.mission{text-align:left}.mission-statement{font-size:18px}button.secondary{color:var(--color-text);background:#e3e1ef}.episode-screen{text-align:center;background:#fff;border:1px solid #e3e1ef;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:24px;display:flex}.episode-screen img{max-width:100%;max-height:260px;margin-bottom:12px}.episode-text{margin:0;font-size:22px;line-height:1.4}.episode-controls{justify-content:space-between}main.student{padding-bottom:96px}.classify-top{justify-content:space-between}.timer{color:var(--color-primary);font-size:18px;font-weight:700}.classify-card{text-align:center;background:#fff;border:2px solid #e3e1ef;border-radius:16px;margin:12px 0;padding:32px 20px;font-size:24px;font-weight:600}.classify-options{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.classify-options button{padding:18px 12px;font-size:18px}.classify-options button.right{opacity:1;background:#12b76a}.classify-options button.wrong{opacity:1;background:#f79009}.classify-options button.dim{opacity:.35}.feedback{border-radius:12px;margin-top:14px;padding:14px;line-height:1.4}.feedback.ok{background:#e6f8f0}.feedback.almost{background:#fff4e5}.feedback button{margin-top:10px}.review-list{line-height:1.5}.clues-card{background:#fff;border:2px solid #e3e1ef;border-radius:16px;margin:8px 0 14px;padding:18px 20px}.clues-card h2{margin-top:0}.clues-list{margin:0;padding:0;font-size:18px;line-height:1.6;list-style:none}.clues-guess input{flex:1;min-width:0;font-size:18px}.tool-result{margin-top:14px}.tool-guesses{color:#5d5a70;padding:0;font-family:ui-monospace,monospace;list-style:none}.strength-bar{background:#e3e1ef;border-radius:6px;height:12px;overflow:hidden}.strength-bar span{height:100%;transition:width .4s;display:block}.strength-fraca{background:#f04438}.strength-media{background:#f79009}.strength-forte,.strength-muito-forte{background:#12b76a}.tool-details{margin-top:12px}.pause-screen{z-index:9;background:#1e1b2ed9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pause-card{background:var(--color-background);text-align:center;border-radius:20px;max-width:480px;padding:32px 24px}.pause-message{font-size:20px;line-height:1.4}.pause-timer{color:var(--color-primary);margin:8px 0 0;font-size:48px;font-weight:700}.badge-card{border:3px solid var(--color-primary);text-align:center;background:#fff;border-radius:20px;max-width:340px;margin:16px auto;padding:24px 20px}.badge-card h1{margin:8px 0 4px}.badge-team{color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px;font-weight:700}.badge-row{letter-spacing:6px;margin:8px 0 0;font-size:28px}.diary textarea{width:100%;font-size:18px}.drawing-pad canvas{aspect-ratio:3/2;touch-action:none;background:#fff;border:2px solid #e3e1ef;border-radius:12px;width:100%;max-width:480px;display:block}.drawing-tools{align-items:center;margin-top:8px}.swatch{border:2px solid #e3e1ef;border-radius:50%;width:36px;height:36px;padding:0}.swatch.selected{outline:3px solid var(--color-primary);outline-offset:2px}.home-challenge{text-align:left}.ai-notice{background:#eef0ff;border-radius:10px;margin:0 0 10px;padding:8px 12px;font-size:15px}.tip-card{border:2px dashed var(--color-accent);text-align:left;background:#fff;border-radius:16px;max-width:340px;margin:16px auto;padding:18px 20px}.tip-card h2{margin-top:0;font-size:18px}.tip-card ol{padding-left:20px;line-height:1.5}
