code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}:root{color-scheme:light dark;--bg: light-dark(#f5f7fa,#0b0d11);--sidebar: light-dark(#fff,#101318);--surface: light-dark(#fff,#15191f);--raised: light-dark(#eceff4,#1c222a);--text: light-dark(#111827,#eef0f5);--secondary: light-dark(#4b5565,#a3a9b8);--muted: light-dark(#6b7487,#7f8999);--border: light-dark(rgba(17,24,39,.09),rgba(238,240,245,.09));--accent: light-dark(#155bd7,#eef0f5);--accent-text: light-dark(#fff,#101318);--link: light-dark(#155bd7,#8ab4ff);--positive: light-dark(#15804a,#51c98d);--danger: light-dark(#c63d44,#ef6a70);--warning: light-dark(#8a5a00,#e6b85c)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--link);outline-offset:2px}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(28px,3vw,36px);line-height:1.12;font-weight:500;letter-spacing:-.02em}h2{font-weight:500}.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;overflow-y:auto;background:var(--sidebar);border-right:1px solid var(--border)}.wordmark{display:flex;align-items:center;gap:10px;padding:0 8px 20px}.wordmark>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--text);color:var(--sidebar);font:500 12px ui-monospace,monospace}.wordmark strong{font-weight:500}.progress-summary{margin:0 8px 8px;color:var(--muted);font:12px ui-monospace,monospace}.bar{display:block;width:100%;height:4px;margin-top:8px;overflow:hidden;border-radius:3px;background:var(--raised)}.bar-fill{display:block;height:100%;background:var(--positive);transition:width .18s cubic-bezier(.22,1,.36,1)}.sidebar>.bar{width:calc(100% - 16px);margin:0 8px 24px}.nav-group{margin-bottom:24px}.nav-group ul,.due-group ul,.mode-group ul{list-style:none;padding:0;margin:0}.nav-group button,.due-group button,.mode-group button{width:100%;min-height:36px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:0;border-radius:9px;background:transparent;color:var(--secondary);text-align:left}.nav-group button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group button small{margin-left:auto;color:var(--muted);font:12px ui-monospace,monospace}.nav-group button:hover,.due-group button:hover,.mode-group button:hover{background:var(--raised);color:var(--text)}.nav-group button.active,.due-group button.active,.mode-group button.active{background:var(--raised);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.week-group{margin-bottom:16px;padding-top:12px;border-top:1px solid var(--border)}.week-header,.day-header{width:100%;border:0;background:transparent;color:var(--text);text-align:left}.week-header{padding:8px;font-size:13px}.week-count{float:right;color:var(--muted);font:12px ui-monospace,monospace}.day-group{margin:4px 0}.day-header{padding:8px;border-radius:8px;font-size:13px}.day-header:hover{background:var(--raised)}.day-header:disabled{color:var(--muted);cursor:not-allowed}.junior-progress,.lock-hint,.theory-hint{color:var(--muted);font-size:12px}.lock-hint,.theory-hint{margin:4px 8px 8px;line-height:1.45}.theory-hint-link{padding:0;border:0;background:transparent;color:var(--link);text-decoration:none}.mode-group{margin-left:8px}.mode-group h4{margin:12px 8px 4px;color:var(--muted);font-size:12px;font-weight:500}.mode-group button,.due-group li button{display:block;height:auto;font-size:12px;line-height:1.4}.due-group{margin-bottom:20px}.due-group .due-header{min-height:36px;display:flex;justify-content:space-between;color:var(--secondary);font-size:12px;font-weight:500}.due-count{color:var(--muted);font:12px ui-monospace,monospace}.content{min-width:0;padding:32px 40px 64px}.content>*{width:100%;max-width:1100px;margin-inline:auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow,.question-kind{margin-bottom:6px;color:var(--muted);font-size:13px;text-transform:capitalize}.page-meta{color:var(--secondary);font-size:13px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:36px 0 14px}.section-heading h2{margin-bottom:4px;font-size:19px}.section-heading p,.section-heading>span{margin-bottom:0;color:var(--muted);font-size:13px}.dashboard{display:block}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:16px}.focus-card,.activity-card,.continue-reading,.question-card,.empty-state{border:1px solid var(--border);border-radius:16px;background:var(--surface)}.focus-card{min-height:260px;padding:28px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px}.focus-card h2{max-width:520px;margin-bottom:12px;font-size:clamp(24px,3vw,32px);line-height:1.18;letter-spacing:-.02em}.focus-card p:not(.eyebrow){max-width:560px;color:var(--secondary);line-height:1.55}.activity-card{padding:24px}.activity-head{display:flex;justify-content:space-between;gap:16px}.activity-head strong{display:block;font-size:28px;font-weight:500}.activity-head span{display:block;color:var(--muted);font-size:12px}.dash-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.btn-primary,.btn-secondary,button:not([class]){min-height:42px;padding:10px 16px;border-radius:9px;font-weight:500}.btn-primary{border:1px solid transparent;background:var(--accent);color:var(--accent-text)}.btn-secondary,button:not([class]){border:1px solid var(--border);background:var(--raised);color:var(--text)}.btn-primary:hover,.btn-secondary:hover,button:not([class]):hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:not-allowed}.heatmap{display:grid;grid-template-rows:repeat(7,9px);grid-auto-flow:column;grid-auto-columns:9px;gap:3px;margin-top:22px;overflow:hidden}.heat{width:9px;height:9px;border-radius:2px;background:var(--raised)}.heat-1{background:color-mix(in srgb,var(--positive) 35%,var(--raised))}.heat-2{background:color-mix(in srgb,var(--positive) 55%,var(--raised))}.heat-3{background:color-mix(in srgb,var(--positive) 75%,var(--raised))}.heat-4{background:var(--positive)}.heat-frozen{box-shadow:inset 0 0 0 1px var(--link)}.minutes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.minutes-grid strong{display:block;font:500 18px ui-monospace,monospace}.minutes-grid span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.overall-progress{padding:16px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}.period-grid>div{padding:14px 16px;display:flex;flex-wrap:wrap;justify-content:space-between;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:13px}.period-grid .bar{width:100%}.weeks-details{margin-top:12px;color:var(--secondary)}.quick-actions,.materials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.quick-actions button,.material-card{min-height:112px;padding:18px;display:block;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);text-align:left}.quick-actions button:hover,.material-card:hover{border-color:color-mix(in srgb,var(--link) 40%,var(--border))}.quick-actions span,.material-card>span{display:block;margin-bottom:8px;color:var(--link);font-size:12px}.quick-actions strong,.material-card strong{font-weight:500}.plain-list{list-style:none;padding:0}.task-section{margin-top:32px}.today-cards{display:grid;gap:10px}.today-card{width:100%;min-height:74px;padding:14px 18px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);text-align:left}.today-card:hover{border-color:color-mix(in srgb,var(--link) 42%,var(--border))}.desktop-task{opacity:.78}.task-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:var(--raised);color:var(--link);font:500 12px ui-monospace,monospace}.task-copy{min-width:0}.task-copy strong{display:block;font-weight:500;line-height:1.35}.today-why{display:block;margin-bottom:5px;color:var(--link);font-size:12px}.task-state{color:var(--muted);font:12px ui-monospace,monospace}.materials-page,.theory-page,.item-view{max-width:900px!important}.material-search{min-height:48px;padding:0 14px;display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--muted)}.material-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.continue-reading{margin-top:18px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.continue-reading h2{margin-bottom:6px}.continue-reading p:last-child,.material-card p{margin-bottom:0;color:var(--secondary);font-size:13px}.material-card p{margin-top:8px;line-height:1.45}.reading-progress{height:4px;margin-bottom:20px;overflow:hidden;border-radius:3px;background:var(--raised)}.reading-progress span{display:block;width:58%;height:100%;background:var(--link)}.theory-note-body{padding:30px;border:1px solid var(--border);border-radius:16px;background:var(--surface);line-height:1.65}.md-content p{margin:0 0 12px}.md-content ul,.md-content ol{padding-left:22px}.md-content h1,.md-content h2,.md-content h3{margin:28px 0 10px;color:var(--text);font-weight:500}.md-content code{padding:1px 5px;border-radius:5px;background:var(--raised);font-family:ui-monospace,monospace}.md-content pre,pre{padding:16px;overflow-x:auto;border-radius:10px;background:var(--raised)}.item-header{margin-bottom:20px}.question-card{padding:24px}.question-card h2{margin:0;font-size:24px;line-height:1.35}.step-label,.block-label{color:var(--muted)}.code-editor-pre{margin:12px 0}.dialogue{display:grid;gap:12px;margin:16px 0}.turn{display:grid;gap:12px}.turn-user,.evaluation{width:100%;margin:0;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.turn-user>span{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}.turn-user p{margin:0;line-height:1.55;white-space:pre-wrap}.evaluation>strong{display:block;font-weight:500}.evaluation.passed{border-color:color-mix(in srgb,var(--positive) 38%,var(--border));background:color-mix(in srgb,var(--positive) 6%,var(--surface))}.evaluation.failed,.evaluation.pending{border-color:color-mix(in srgb,var(--link) 32%,var(--border));background:color-mix(in srgb,var(--link) 5%,var(--surface))}.evaluation.passed>strong{color:var(--positive)}.evaluation.failed>strong,.evaluation.pending>strong{color:var(--link)}.md-label{margin:12px 0 4px;color:var(--muted);font-size:12px}.follow-up-question{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--border);color:var(--text);font-weight:500;line-height:1.5}.voice-input{margin-top:16px;padding:16px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.voice-input textarea,.code-editor,.item-extras textarea,.search-input,.setting-row input,.mock-day-range select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:16px}.voice-input-actions{display:flex;flex-wrap:wrap;gap:8px}.voice-input-actions button:first-child{border:0;background:var(--accent);color:var(--accent-text)}.give-up-button{border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--text)!important}.error{color:var(--danger)}.code-input{margin-top:16px}.item-extras{margin-top:24px;padding-top:16px;display:grid;gap:10px;border-top:1px solid var(--border)}.history-row{margin:8px 0}.empty-state{padding:28px;color:var(--secondary)}.empty-state h2{color:var(--text)}.search-input{margin-bottom:20px}.setting-row{max-width:480px;margin:12px 0;display:grid;grid-template-columns:1fr 180px;align-items:center;gap:16px}.weak-topics-table{width:100%;border-collapse:collapse}.weak-topics-table th,.weak-topics-table td{padding:12px;border-bottom:1px solid var(--border);text-align:left}.bug-lines{padding:8px;overflow:auto;border-radius:10px;background:var(--surface)}.bug-line{width:100%;padding:6px 8px;display:flex;gap:10px;border:0;background:transparent;color:var(--text);font-family:ui-monospace,monospace;text-align:left}.bug-num{min-width:22px;color:var(--muted);text-align:right}.load-error{margin-bottom:20px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--danger) 7%,var(--surface));color:var(--danger)}.auth-shell{min-height:100vh;padding:32px 20px;display:grid;place-items:center;background:var(--bg)}.auth-card{width:min(100%,440px);padding:32px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 18px 50px #00000014}.auth-heading{margin-bottom:28px;display:flex;align-items:center;gap:14px}.auth-heading h1{font-size:28px}.auth-heading .eyebrow{margin-bottom:4px}.auth-mark{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--text);color:var(--surface);font:500 14px ui-monospace,monospace}.auth-checking{text-align:center}.auth-checking .auth-mark{margin:0 auto 18px}.auth-checking p{margin:12px 0 0;color:var(--muted)}.auth-notice{margin-bottom:22px;padding:13px 14px;display:grid;gap:4px;border:1px solid color-mix(in srgb,var(--link) 28%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--link) 6%,var(--surface))}.auth-notice strong{font-size:13px;font-weight:500}.auth-notice span{color:var(--secondary);font-size:13px;line-height:1.45}.auth-notice-warning{border-color:color-mix(in srgb,var(--warning) 36%,var(--border));background:color-mix(in srgb,var(--warning) 7%,var(--surface))}.auth-form{display:grid;gap:9px}.auth-form label,.logout-all-form label{color:var(--secondary);font-size:13px}.auth-form input,.logout-all-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.auth-form input+.auth-password-label{margin-top:9px}.auth-password-label{display:flex;align-items:center;justify-content:space-between}.auth-password-label button,.auth-retry,.account-danger-link{min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--link);font-size:13px}.auth-error{margin:4px 0 0;color:var(--danger);font-size:13px;line-height:1.45}.auth-submit{width:100%;margin-top:12px}.auth-retry{margin-top:18px}.account-settings{max-width:620px;margin-top:40px;padding-top:28px;border-top:1px solid var(--border)}.account-settings h2{margin-bottom:6px;font-size:21px}.account-settings>div>p:last-child{color:var(--secondary);line-height:1.5}.account-actions{margin-top:20px;display:flex;align-items:center;flex-wrap:wrap;gap:14px}.account-danger-link{color:var(--danger)}.logout-all-form{margin-top:20px;padding:18px;display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--danger) 5%,var(--surface))}.logout-all-form strong{font-weight:500}.logout-all-form p{margin:5px 0 4px;color:var(--secondary);font-size:13px;line-height:1.45}.logout-all-actions{margin-top:6px;display:flex;justify-content:flex-end;gap:8px}.btn-danger{min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:9px;background:var(--danger);color:#fff;font-weight:500}.mock-page{max-width:1180px!important}.mock-header{margin-bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.mock-header>p{max-width:540px;margin:0;color:var(--secondary);line-height:1.55}.mock-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.72fr);gap:20px;align-items:start}.mock-setup,.mock-summary{border:1px solid var(--border);border-radius:16px;background:var(--surface)}.mock-setup{padding:28px}.mock-section{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border)}.mock-section:last-child{margin:0;padding:0;border:0}.mock-section-head{margin-bottom:16px;display:flex;align-items:flex-start;gap:14px}.mock-section-head>span{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--link);font:12px ui-monospace,monospace}.mock-section h2{margin:1px 0 4px;font-size:18px}.mock-section p{margin:0;color:var(--muted);font-size:13px}.mock-options,.mock-day-range,.mock-timers{margin-left:42px}.mock-options{display:flex;flex-wrap:wrap;gap:8px}.mock-choice{min-height:40px;padding:9px 13px;border:1px solid var(--border);border-radius:9px;background:var(--raised);color:var(--secondary)}.mock-choice:hover,.mock-timer:hover{border-color:color-mix(in srgb,var(--link) 45%,var(--border));color:var(--text)}.mock-choice.active,.mock-timer.active{border-color:var(--link);background:color-mix(in srgb,var(--link) 9%,var(--raised));color:var(--text)}.mock-choice.done:before{content:"";width:6px;height:6px;margin-right:8px;display:inline-block;border-radius:50%;background:var(--positive);vertical-align:2px}.mock-day-range{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mock-day-range label{color:var(--muted);font-size:12px}.mock-day-range select{width:100%;height:44px;margin-top:7px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text)}.mock-pool{margin:12px 0 0 42px!important;font:12px ui-monospace,monospace!important}.mock-timers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mock-timer{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--raised);color:var(--secondary);text-align:left}.mock-timer strong{margin-bottom:6px;display:block;color:var(--text);font-weight:500}.mock-timer span{font-size:12px;line-height:1.45}.mock-timer.active strong:after{content:"Выбрано";float:right;color:var(--link);font:11px ui-monospace,monospace}.mock-summary{position:sticky;top:24px;overflow:hidden}.mock-summary-top{padding:24px}.mock-summary h2{margin-bottom:18px;font-size:20px}.mock-summary dl{margin:0}.mock-summary dl>div{padding:12px 0;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);font-size:13px}.mock-summary dl>div:last-child{border:0}.mock-summary dt{color:var(--secondary)}.mock-summary dd{margin:0;color:var(--text);font-weight:500;text-align:right}.mock-flow{padding:20px 24px;border-block:1px solid var(--border);background:var(--raised)}.mock-flow>p{margin-bottom:14px;color:var(--muted);font-size:12px}.mock-flow>div{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr;align-items:center;gap:4px}.mock-flow span{min-height:54px;padding:9px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--secondary);font-size:12px;text-align:center}.mock-flow b{color:var(--muted);font-weight:400;text-align:center}.mock-start{padding:20px 24px}.mock-start button{width:100%}.mock-start p{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}@media (max-width:900px){.app{grid-template-columns:208px minmax(0,1fr)}.sidebar{padding:20px 14px}.wordmark{padding-inline:12px}.wordmark strong,.nav-group button span{display:block}.sidebar .progress-summary,.sidebar>.bar,.nav-group button small,.sidebar>.due-group,.sidebar>.week-group{display:none}.nav-group button{justify-content:flex-start}.content{padding:24px 20px 48px}.dashboard-hero,.mock-layout{grid-template-columns:1fr}.mock-summary{position:static}.mock-header{display:block}.mock-header>p{margin-top:12px}.mock-timers{grid-template-columns:1fr}}@media (max-width:620px){.app{display:block}.sidebar{position:sticky;z-index:10;top:0;width:100%;height:auto;padding:8px 12px;border-right:0;border-bottom:1px solid var(--border)}.wordmark,.sidebar>.progress-summary,.sidebar>.bar,.sidebar>.due-group,.sidebar>.week-group{display:none}.nav-group{margin:0}.nav-group ul{display:flex;gap:4px;overflow-x:auto}.nav-group li{flex:0 0 auto}.nav-group button{width:auto;min-height:40px;padding-inline:12px}.nav-group button span{display:block}.nav-group li:nth-child(n+5){display:none}.content{padding:20px 16px 40px}.page-header{align-items:flex-start}.page-meta{text-align:right}.focus-card{grid-template-columns:1fr;padding:22px}.focus-card svg{display:none}.today-card{grid-template-columns:36px minmax(0,1fr)}.task-state{display:none}.continue-reading{align-items:flex-start;flex-direction:column}.theory-note-body{padding:20px}.setting-row{grid-template-columns:1fr}.mock-setup{padding:20px}.mock-options,.mock-day-range,.mock-timers,.mock-pool{margin-left:0!important}.mock-day-range{grid-template-columns:1fr}.mock-flow>div{grid-template-columns:1fr}.mock-flow b{transform:rotate(90deg)}.auth-shell{padding:16px}.auth-card{padding:24px 20px}.account-actions{align-items:flex-start;flex-direction:column}.logout-all-actions{flex-direction:column-reverse}.logout-all-actions button{width:100%}}
