:root{--ink:#182033;--muted:#71798a;--line:#e2e5eb;--paper:#ffffff;--soft:#f5f6f9;--purple:#6153df;--purple-dark:#4f41cd;--purple-soft:#eeecff;--green:#168864;--green-soft:#eaf7f2;--red:#c64f5a;--red-soft:#fff0f2}*{box-sizing:border-box}body,html{background:#f4f5f7}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,select,textarea{font:inherit}button{color:inherit}.app{min-height:100vh}.topbar{min-height:72px;padding:12px max(20px,calc((100vw - 940px) / 2));justify-content:space-between;gap:18px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.topbar{display:flex;align-items:center}.brand{gap:11px}.brandIcon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:white;background:var(--purple)}.brand h1{margin:0;font-size:18px;letter-spacing:-.35px}.topActions{display:flex;align-items:center;gap:9px}.status{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:18px;color:#147355;background:var(--green-soft);font-size:9px;font-weight:800}.status.demo{color:#91600e;background:#fff4df}.modeButton{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:0;border-radius:10px;color:white;background:#252a39;font-size:10px;font-weight:800;cursor:pointer}.modeButton:hover{background:#141824}.controlsBar{width:min(900px,calc(100% - 32px));margin:20px auto 12px;display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px}.controlsBar label{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.controlsBar select{width:100%;min-height:44px;padding:0 39px 0 13px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:white;outline:none;font-size:12px;font-weight:700;cursor:pointer}.controlsBar select:focus{border-color:#bdb6f6;box-shadow:0 0 0 3px rgba(97,83,223,.1)}.content{width:min(900px,calc(100% - 32px));margin:0 auto;padding-bottom:42px}.panel{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 14px 34px rgba(37,43,67,.07)}.topicTitle{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:17px 20px 14px;text-align:center;border-bottom:1px solid var(--line)}.topicTitle span{color:var(--purple);font-size:8px;font-weight:900;letter-spacing:1px}.topicTitle h2{margin:5px 0 2px;font-size:23px;letter-spacing:-.55px}.topicTitle p{margin:0;color:var(--muted);font-size:10px}.conversation{height:clamp(300px,41vh,430px);padding:23px 25px;overflow-y:auto;background:linear-gradient(#fafbfd,#f7f8fa);scroll-behavior:smooth}.generalConversation{height:clamp(390px,57vh,620px)}.messageRow{display:flex;align-items:flex-end;gap:8px;margin-bottom:16px;animation:appear .18s ease both}.professorRow{justify-content:flex-end}.studentRow{justify-content:flex-start}.avatar{width:31px;height:31px;flex:none;display:grid;place-items:center;border-radius:10px}.professorAvatar{color:var(--purple);background:var(--purple-soft)}.studentAvatar{color:white;background:#2e3443}.message{max-width:min(73%,580px);padding:11px 13px;border-radius:14px;box-shadow:0 5px 13px rgba(34,41,63,.05)}.professorMessage{border:1px solid var(--line);border-radius:14px 14px 4px 14px;background:white}.studentMessage{color:white;border-radius:14px 14px 14px 4px;background:var(--purple)}.message>span{display:block;color:#969daa;font-size:7px;font-weight:900;letter-spacing:.7px}.studentMessage>span{color:#d1ceff}.message p{margin:4px 0 0;white-space:pre-wrap;font-size:14px;line-height:1.48}.generalAi p{font-size:13px;line-height:1.58}.messageActions{display:flex;gap:12px;margin-top:8px}.messageActions button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;color:var(--purple);background:transparent;font-size:8px;font-weight:850;cursor:pointer}.translation{margin-top:8px;padding-top:7px;border-top:1px solid var(--line);color:#606878;font-size:9px;line-height:1.5}.studentBlock{margin-bottom:17px}.studentBlock .messageRow{margin-bottom:7px}.teacherFeedback{width:min(73%,580px);margin:0 0 7px 39px;padding:9px 11px;display:flex;align-items:flex-start;gap:7px;border:1px solid #dcecdf;border-radius:10px;color:#315f50;background:#f0f8f4}.teacherFeedback svg{flex:none;margin-top:1px;color:var(--green)}.teacherFeedback p{margin:0;font-size:9px;line-height:1.5}.teacherFeedback strong{color:#177052}.modelAnswer{width:min(73%,580px);margin-left:39px;padding:10px 12px;border:1px solid #d8d4fb;border-radius:11px;background:#f4f2ff}.modelAnswer>span{display:block;color:var(--purple);font-size:7px;font-weight:900;letter-spacing:.7px}.modelAnswer>strong{display:block;margin-top:4px;font-size:13px;line-height:1.4}.typing{width:50px;margin:4px 40px 0 auto;padding:12px;display:flex;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:13px;background:white}.typing i{width:5px;height:5px;border-radius:50%;background:#9087df;animation:typing 1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.tutorInput{padding:20px 24px 18px;border-top:1px solid var(--line)}.tutorInput.locked{opacity:.65}.taskLine{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.taskLine span,.taskLine strong{display:block}.taskLine span{color:var(--purple);font-size:8px;font-weight:900;letter-spacing:.8px}.taskLine strong{margin-top:4px;font-size:16px;line-height:1.42}.taskLine em{padding:6px 9px;border-radius:16px;color:var(--muted);background:var(--soft);font-size:9px;font-style:normal;white-space:nowrap}.helpButtons{display:flex;gap:8px;margin:13px 0 11px}.helpButtons button{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:#606879;background:white;font-size:9px;font-weight:800;cursor:pointer}.helpButtons button.active,.helpButtons button:hover{color:var(--purple);border-color:#c5bff8;background:var(--purple-soft)}.helpButtons button:disabled{opacity:.5;cursor:not-allowed}.answerHint{margin-bottom:11px;padding:11px 13px;border:1px solid #d7d2fb;border-radius:10px;background:#f5f3ff}.answerHint span,.answerHint strong{display:block}.answerHint span{color:var(--purple);font-size:7px;font-weight:900;letter-spacing:.8px}.answerHint strong{margin-top:3px;font-size:16px}.speechBox{position:relative;min-height:74px;padding:9px 59px 8px 12px;border:1px solid #d9dce4;border-radius:11px;background:white}.speechBox.listening{border-color:#eb8b95;box-shadow:0 0 0 3px #fff0f2}.speechBox textarea{width:100%;min-height:52px;resize:none;border:0;outline:0;color:var(--ink);background:transparent;font-size:14px;line-height:1.45}.speechBox textarea::placeholder{color:#a9afbb}.micButton{width:44px;height:44px;position:absolute;top:50%;right:9px;transform:translateY(-50%);display:grid;place-items:center;border:0;border-radius:50%;color:white;background:var(--purple);cursor:pointer}.micButton.active{background:#d35260;animation:pulse 1.15s infinite}.micButton:disabled{opacity:.5;cursor:not-allowed}.feedback{margin-top:10px;padding:10px 12px;display:flex;align-items:flex-start;gap:8px;border-radius:10px}.feedback.good{color:var(--green);background:var(--green-soft)}.feedback.bad{color:var(--red);background:var(--red-soft)}.feedback svg{flex:none}.feedback p,.feedback strong{font-size:9px}.feedback p{margin:3px 0 0;color:#626a79}.primaryButton{width:100%;min-height:43px;margin-top:11px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;color:white;background:var(--purple);font-size:10px;font-weight:850;cursor:pointer}.primaryButton:hover{background:var(--purple-dark)}.primaryButton:disabled{color:#f7f7f8;background:#c5c8d0;cursor:not-allowed}.lessonFooter{min-height:48px;padding:0 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.lessonFooter span{color:var(--muted);font-size:9px}.lessonFooter button{min-height:32px;padding:0 11px;border:1px solid #c9c4f8;border-radius:8px;color:var(--purple);background:var(--purple-soft);font-size:9px;font-weight:850;cursor:pointer}.lessonFooter button:disabled{opacity:.45;cursor:not-allowed}.loadingLesson{min-height:190px;gap:8px;color:var(--purple);font-size:11px;font-weight:800}.completed,.loadingLesson{display:flex;align-items:center;justify-content:center}.completed{min-height:260px;padding:32px 20px;flex-direction:column;text-align:center;color:var(--green)}.completed h3{margin:8px 0 5px;color:var(--ink);font-size:21px}.completed p{max-width:500px;margin:0;color:var(--muted);font-size:10px;line-height:1.55}.completed>div{display:flex;gap:8px;margin-top:17px}.completed button{min-height:39px;padding:0 13px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:white;font-size:9px;font-weight:850;cursor:pointer}.completed button.next{border:0;color:white;background:var(--purple)}.emptyChat{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.emptyChat svg{color:var(--purple)}.emptyChat strong{margin-top:8px;color:var(--ink);font-size:15px}.emptyChat p{margin:5px 0 0;font-size:10px}.chatComposer{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-gap:9px;gap:9px;border-top:1px solid var(--line)}.chatComposer textarea{min-height:48px;max-height:140px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:10px;outline:none;font-size:13px}.chatComposer textarea:focus{border-color:#bdb6f6}.chatComposer button{border:0;border-radius:10px;color:white;background:var(--purple);cursor:pointer}.chatComposer button:disabled{background:#c5c8d0;cursor:not-allowed}@keyframes appear{0%{opacity:0;transform:translateY(5px)}}@keyframes typing{50%{transform:translateY(-4px)}}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(211,82,96,.12)}}@media (max-width:680px){.topbar{min-height:66px;padding:10px 12px}.brandIcon{width:37px;height:37px}.brand h1{font-size:15px}.status{display:none}.modeButton{padding:0 10px;font-size:9px}.controlsBar{width:calc(100% - 20px);margin-top:12px;grid-template-columns:1fr;gap:5px}.controlsBar label{margin-left:3px}.content{width:calc(100% - 20px);padding-bottom:24px}.panel{border-radius:14px}.topicTitle{min-height:78px}.topicTitle h2{font-size:19px}.conversation{height:330px;padding:17px 12px}.generalConversation{height:450px}.message{max-width:82%}.modelAnswer,.teacherFeedback{width:calc(82% - 2px);margin-left:39px}.message p{font-size:13px}.tutorInput{padding:17px 14px 14px}.taskLine strong{font-size:14px}.helpButtons button{flex:1 1;justify-content:center}.lessonFooter{padding:0 14px 12px}}@media (max-width:430px){.brand h1{max-width:105px;line-height:1.08}.modeButton{max-width:135px;line-height:1.2}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}