:root{font-family:Avenir Next,Avenir,Segoe UI,Arial,sans-serif;color:#2e251d;background:#e8e3da;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #fffaf1;--ink: #2e251d;--muted: #776f66;--green: #0d6a62;--green-dark: #07564f;--green-soft: #dce8dc;--line: #e5ddce}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased}button,textarea,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-stage{min-height:100dvh;display:grid;place-items:center;padding:0;background:#e8e3da}.mobile-prototype{width:100%;height:100dvh;margin-inline:auto;overflow:hidden;position:relative;background:var(--paper)}.app-menu{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:20px;z-index:40}.app-menu-trigger{width:36px;height:36px;border:1px solid rgba(13,106,98,.16);border-radius:999px;display:inline-flex;justify-content:center;align-items:center;color:var(--green-dark);background:#fffaf1eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.app-menu-trigger:focus-visible{outline:2px solid var(--green);outline-offset:2px}.app-menu-popover{position:absolute;top:43px;right:0;width:218px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fffdf8fa;box-shadow:0 14px 34px #2e251d29;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-menu-popover button,.app-menu-popover a{width:100%;min-height:42px;border:0;border-radius:11px;display:flex;align-items:center;gap:10px;padding:9px 11px;color:var(--ink);background:transparent;font-size:14px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.app-menu-popover button:hover,.app-menu-popover a:hover{background:var(--green-soft)}.app-screen,.lesson-screen{width:100%;height:100%;background:var(--paper)}.app-screen{padding:0 30px}.scroll-screen{overflow-y:auto;scrollbar-width:none}.scroll-screen::-webkit-scrollbar{display:none}.lesson-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;padding:0 30px}.lesson-header{padding-top:calc(52px + env(safe-area-inset-top,0px));padding-bottom:12px}.refined-header{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px}.refined-header .back-button{margin-left:-7px}.repeat-link{border:0;padding:9px 0 9px 8px;color:var(--green);background:transparent;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.lesson-header p{margin:0 0 3px;color:var(--muted);font-size:12px;font-weight:600}.lesson-header h1{margin:0;font-size:27px;line-height:1.05;font-weight:600}.lesson-content{min-height:0;padding-top:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.lesson-content::-webkit-scrollbar{display:none}.task-block{height:clamp(230px,36vh,300px);margin-bottom:22px;padding:19px 20px 22px;border:1px solid var(--line);border-radius:20px;background:#fffdf8;overflow-y:auto;scrollbar-width:none}.task-block::-webkit-scrollbar{display:none}.task-heading{display:flex;justify-content:space-between;margin-bottom:13px;color:var(--muted);font-size:12px;font-weight:600}.task-heading span:only-child{flex:1}.problem{margin:0;color:var(--ink);font-size:clamp(20px,5.6vw,23px);line-height:1.42;font-weight:500;letter-spacing:-.01em}.review-material{height:clamp(210px,32vh,270px);background:#f7f3e9}.review-material .problem{font-size:clamp(18px,5vw,21px);line-height:1.48}.tutor-reaction{margin:-4px 0 8px;color:var(--green);font-size:13px;line-height:1.4;font-weight:600}.lesson-content h2{margin:0;max-width:330px;font-size:clamp(22px,6.2vw,27px);line-height:1.24;letter-spacing:-.032em;font-weight:600}.prompt-note{margin:11px 0 20px;color:#554b42;font-size:15px;line-height:1.5}.transcript-panel{position:absolute;inset:176px 22px auto;z-index:4;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fffdf8;box-shadow:0 18px 50px #2e251d24}.transcript-label{margin:0 0 10px;color:var(--muted);font-size:13px;font-weight:600}.transcript-panel textarea{width:100%;min-height:116px;resize:none;border:0;outline:0;padding:0;color:var(--ink);background:transparent;font-size:18px;line-height:1.45}.review-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.icon-action{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:12px;padding:10px 12px;background:transparent;color:var(--muted);cursor:pointer}.icon-action.confirm{background:var(--green);color:#fff}.voice-zone{display:grid;justify-items:center;gap:13px;padding:8px 0 14px;background:var(--paper)}.answer-composer{width:100%;min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:8px;padding:5px 5px 5px 15px;border:1px solid var(--line);border-radius:18px;background:#fffdf8}.answer-composer textarea{width:100%;min-height:40px;max-height:84px;border:0;outline:0;resize:none;padding:9px 0 7px;color:var(--ink);background:transparent;font-size:16px;line-height:1.4}.answer-composer textarea::placeholder{color:#9a9187}.answer-composer button{width:42px;height:42px;border:0;border-radius:14px;display:grid;place-items:center;color:#fffaf1;background:var(--green);cursor:pointer}.answer-composer button:disabled{color:#a8a096;background:#eee8de;cursor:default}.mic-button{width:78px;height:78px;border:6px solid #e2eadf;border-radius:50%;display:grid;place-items:center;color:#fffaf1;background:var(--green);box-shadow:0 0 0 9px #dce8dc52;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.mic-button:hover{background:var(--green-dark)}.mic-button:active,.mic-button.listening{transform:scale(.96);background:#b85145;border-color:#f0d8d1;box-shadow:0 0 0 23px #b851451a}.mic-button.review{opacity:.45}.thinking-dots{font-size:36px;letter-spacing:5px;transform:translateY(-7px)}.voice-zone p{margin:10px 0 0;color:var(--green-dark);font-size:16px;font-weight:600;text-align:center}.support-actions{min-height:60px;padding-bottom:env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-top:1px solid var(--line)}.support-actions button{min-height:58px;border:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--green);background:transparent;font-size:14px;font-weight:600;cursor:pointer}.support-actions button+button{border-top:0;border-left:1px solid var(--line)}.support-actions button:active{color:var(--green-dark)}.page-header{padding-top:calc(52px + env(safe-area-inset-top,0px))}.page-header p{margin:0 0 4px;color:var(--muted);font-size:13px;font-weight:500}.page-header h1{margin:0;font-size:32px;line-height:1.08;letter-spacing:-.025em;font-weight:600}.page-header.with-back{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px}.back-button{width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:transparent;cursor:pointer}.back-button:active{background:#eee7dc}.today-header{margin-bottom:36px}.today-focus{padding:27px 25px 25px;border-radius:24px;color:#fffdf7;background:var(--green-dark)}.section-kicker{color:#98bdb0;font-size:12px;font-weight:700;letter-spacing:.03em}.today-focus h2{margin:11px 0 3px;font-size:27px;line-height:1.16;letter-spacing:-.025em;font-weight:600}.focus-topic{margin:0;font-size:17px;font-weight:500}.focus-meta{margin:10px 0 24px;color:#c4d7ce;font-size:13px}.primary-button,.secondary-button{width:100%;min-height:52px;border:0;border-radius:15px;padding:0 18px;font-size:15px;font-weight:700;cursor:pointer}.primary-button{color:#fffdf7;background:var(--green)}.today-focus .primary-button{color:var(--green-dark);background:#fffaf1}.secondary-button{color:var(--green);background:transparent}.primary-button:active{transform:translateY(1px)}.directions-section{padding:31px 0 32px}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.section-title-row h2{margin:0;font-size:20px;font-weight:600}.section-title-row>span{color:var(--muted);font-size:13px}.direction-row{width:100%;min-height:76px;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 0;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.direction-row:disabled{opacity:.48;cursor:default}.direction-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:var(--green-dark);background:var(--green-soft)}.direction-row strong,.direction-row small{display:block}.direction-row strong{margin-bottom:3px;font-size:16px;font-weight:600}.direction-row small{color:var(--muted);font-size:12px;line-height:1.35}.subject-progress{margin-top:32px;padding:21px 22px;border:1px solid var(--line);border-radius:20px;background:#fffdf8}.subject-progress>p{margin:0 0 14px;font-size:16px;font-weight:600}.progress-line{height:5px;border-radius:999px;overflow:hidden;background:#e9e3d8}.progress-line span{display:block;width:22%;height:100%;border-radius:inherit;background:var(--green)}.progress-labels{display:flex;justify-content:space-between;margin-top:9px;color:var(--muted);font-size:11px}.current-topic{display:flex;align-items:center;justify-content:space-between;padding:29px 2px 20px}.current-topic p{margin:0 0 3px;color:var(--muted);font-size:12px}.current-topic h2{margin:0;font-size:25px;font-weight:600}.text-button{border:0;padding:10px 0 10px 12px;color:var(--green);background:transparent;font-size:13px;font-weight:700;cursor:pointer}.subject-actions{display:grid;gap:12px;padding-bottom:30px}.action-block{width:100%;min-height:128px;border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:20px;color:var(--ink);background:#fffdf8;text-align:left;cursor:pointer}.action-block.primary-action{border-color:#cfdcd3;background:#edf4ec}.action-block small,.action-block strong,.action-block em{display:block}.action-block small{margin-bottom:7px;color:var(--green);font-size:11px;font-style:normal;font-weight:700}.action-block strong{margin-bottom:5px;font-size:18px;line-height:1.25;font-weight:600}.action-block em{color:var(--muted);font-size:12px;line-height:1.4;font-style:normal}.page-intro{margin:36px 0 24px;color:#554b42;font-size:17px;line-height:1.5}.choice-list{display:grid;gap:10px}.choice{width:100%;min-height:94px;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:20px 1fr;align-items:start;gap:13px;padding:18px;color:var(--ink);background:#fffdf8;text-align:left;cursor:pointer}.choice.selected{border-color:#8eafa0;background:#edf4ec}.radio-dot{width:18px;height:18px;border:1.5px solid #a9a095;border-radius:50%;margin-top:2px}.choice.selected .radio-dot{border:5px solid var(--green)}.choice strong,.choice small{display:block}.choice strong{margin-bottom:5px;font-size:16px;font-weight:600}.choice small{color:var(--muted);font-size:12px;line-height:1.4}.bottom-primary{margin-top:28px;margin-bottom:30px}.homework-screen{overflow-y:auto}.homework-intake{padding-top:44px;text-align:center}.homework-intake h2{margin:0 0 9px;font-size:28px;font-weight:600}.homework-intake>p{max-width:300px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.5}.homework-mic{width:128px;height:128px;border:8px solid #e2eadf;border-radius:50%;display:grid;place-items:center;align-content:center;gap:6px;margin:44px auto 31px;color:#fffaf1;background:var(--green);cursor:pointer}.homework-mic span{font-size:12px;font-weight:700}.homework-mic.listening{background:#b85145;border-color:#f0d8d1}.intake-alternatives{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intake-alternatives button{min-height:58px;border:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--green);background:transparent;font-size:13px;font-weight:700;cursor:pointer}.intake-alternatives button+button{border-left:1px solid var(--line)}.recognized-homework{margin:34px 0 20px;padding:19px;border:1px solid var(--line);border-radius:19px;background:#fffdf8;text-align:left}.recognized-homework p{margin:0 0 9px;color:var(--muted);font-size:12px;font-weight:600}.recognized-homework textarea{width:100%;min-height:86px;border:0;outline:0;resize:none;padding:0;color:var(--ink);background:transparent;font-size:17px;line-height:1.45}.homework-confirmation{padding:22px 0 30px}.homework-confirmation>div{display:flex;align-items:center;gap:8px;color:var(--green-dark);font-size:14px;font-weight:700}.homework-confirmation p{margin:10px 0 18px;color:var(--muted);font-size:13px;line-height:1.45}.summary-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:32px;padding-bottom:32px;text-align:center}.summary-mark{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin-bottom:24px;color:#fffaf1;background:var(--green);box-shadow:0 0 0 10px var(--green-soft)}.summary-screen .section-kicker{color:var(--green)}.summary-screen h1{margin:9px 0 12px;font-size:32px;font-weight:600}.summary-lead{max-width:310px;margin:0;color:var(--muted);font-size:16px;line-height:1.5}.summary-details{width:100%;margin:36px 0 28px;border-top:1px solid var(--line)}.summary-details>div{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);text-align:left}.summary-details span{color:var(--muted);font-size:12px}.summary-details strong{font-size:14px;line-height:1.4;font-weight:600}.centered-screen,.setup-screen,.login-screen{display:flex;flex-direction:column;justify-content:center;padding-top:38px;padding-bottom:38px}.centered-screen{align-items:center;text-align:center}.large-thinking{color:var(--green);font-size:32px;letter-spacing:7px;animation:soft-pulse 1.2s ease-in-out infinite}.centered-screen h1,.setup-screen h1,.login-screen h1{margin:14px 0 10px;font-size:29px;line-height:1.15;font-weight:650}.centered-screen>p,.setup-intro{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.setup-form{display:grid;gap:12px;margin-top:34px}.setup-form label{font-size:13px;font-weight:700}.setup-form input{width:100%;height:54px;border:1px solid var(--line);border-radius:15px;padding:0 16px;outline:0;color:var(--ink);background:#fffdf8;font:inherit;font-size:17px}.setup-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #0d6a621a}.setup-form small{color:var(--muted);font-size:12px;line-height:1.45}.form-message{margin:0;font-size:13px;line-height:1.45}.error-message{color:#a74338}.setup-form .primary-button{margin-top:10px}.login-screen{align-items:stretch}.login-screen .section-kicker{color:var(--green)}.login-form input{text-align:center;font-size:24px;font-weight:700;letter-spacing:.22em}@keyframes soft-pulse{0%,to{opacity:.35}50%{opacity:1}}@media(max-height:720px){.lesson-header{padding-top:calc(16px + env(safe-area-inset-top,0px))}.page-header{padding-top:calc(20px + env(safe-area-inset-top,0px))}.today-header{margin-bottom:22px}.today-focus{padding:21px}.directions-section{padding-top:22px}.lesson-content{padding-top:18px}.task-block{height:220px;margin-bottom:15px;padding:14px 16px 16px}.prompt-note{margin:10px 0 14px}.mic-button{width:68px;height:68px}.voice-zone{gap:9px;padding:6px 0 10px}.answer-composer{min-height:48px}.support-actions{min-height:52px}.support-actions button{min-height:48px}}@media(max-height:820px){.mic-button{width:72px;height:72px}.voice-zone p{margin-top:14px}}@media(min-width:391px){.mobile-prototype{border-radius:34px;box-shadow:0 24px 90px #2e251d2e}}@media(min-width:600px){.app-stage{padding:18px}.mobile-prototype{width:min(100%,820px);height:min(calc(100dvh - 36px),1040px);border-radius:30px}.app-screen,.lesson-screen{padding-inline:clamp(42px,7vw,72px)}.page-header,.lesson-header{padding-top:calc(clamp(52px,6vh,64px) + env(safe-area-inset-top,0px))}.page-header h1{font-size:clamp(34px,5vw,44px)}.today-focus{padding:34px}.today-focus h2{font-size:32px}.direction-row{min-height:84px}.subject-actions,.choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{min-height:120px}.choice:last-child{grid-column:1 / -1}.task-block{height:clamp(250px,38vh,390px);padding:26px 28px}.problem{font-size:clamp(22px,3.2vw,28px)}.lesson-content h2{max-width:650px;font-size:clamp(25px,3.8vw,32px)}.answer-composer{max-width:650px}.transcript-panel{inset:clamp(150px,20vh,210px) clamp(42px,7vw,72px) auto}.homework-intake,.homework-confirmation,.setup-screen>*,.login-screen>*{width:min(100%,640px);margin-inline:auto}.summary-screen>*{width:min(100%,620px)}}@media(min-width:1024px){.app-stage{padding:24px 32px}.mobile-prototype{width:min(100%,1180px);height:min(calc(100dvh - 48px),900px);border-radius:28px}.app-screen,.lesson-screen{padding-inline:clamp(52px,5vw,78px)}.scroll-screen[aria-label=Сегодня]{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(430px,1.1fr);grid-template-rows:auto minmax(0,1fr);column-gap:clamp(44px,6vw,80px)}.scroll-screen[aria-label=Сегодня] .today-header{grid-column:1 / -1;margin-bottom:28px}.scroll-screen[aria-label=Сегодня] .today-focus{align-self:start}.scroll-screen[aria-label=Сегодня] .directions-section{padding-top:0}.lesson-screen{grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:clamp(42px,5vw,74px)}.lesson-header{grid-column:1 / -1;grid-row:1;padding-bottom:24px}.lesson-content{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);grid-template-rows:auto auto minmax(0,1fr);column-gap:clamp(42px,5vw,74px);padding-top:0;overflow:visible}.task-block,.review-material{grid-column:1;grid-row:1 / 4;width:100%;height:100%;min-height:350px;max-height:none;margin:0;padding:clamp(26px,3vw,38px)}.problem,.review-material .problem{font-size:clamp(23px,2vw,30px)}.tutor-reaction,.lesson-content h2,.prompt-note{grid-column:2}.tutor-reaction{grid-row:1;margin:0 0 12px}.lesson-content h2{grid-row:2;align-self:start;font-size:clamp(27px,2.5vw,35px)}.prompt-note{grid-row:3;align-self:start;margin-top:14px}.voice-zone{grid-column:2;grid-row:3;align-self:end;padding:18px 0 24px}.answer-composer{max-width:none}.support-actions{grid-column:1;grid-row:3;align-self:end;margin-top:18px}.transcript-panel{inset:150px clamp(52px,5vw,78px) auto auto;width:min(42%,470px)}.homework-screen,.setup-screen,.login-screen,.summary-screen{padding-inline:clamp(90px,15vw,220px)}}@media(min-width:1500px){.mobile-prototype{width:min(1220px,calc(100vw - 96px))}}
