:root{color-scheme:light dark;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-body: 1.125rem;--fs-title: 1.35rem;--fs-large: 1.5rem;--lh: 1.55;--space: 1rem;--radius: 14px;--tap-min: 48px;--bg: #f4f6fa;--surface: #ffffff;--text: #1a2332;--muted: #5c6575;--primary: #2563eb;--primary-contrast: #ffffff;--border: #d8dee9;--important-bg: #fff4f0;--important-border: #f09180;--tip-bg: #eef7ff;--tip-border: #93c5fd;--lesson-progress-fill: #3390ec;--lesson-done-border: color-mix(in srgb, #15803d 55%, var(--border));--lesson-done-bg: color-mix(in srgb, #15803d 12%, var(--surface));--lesson-done-title: color-mix(in srgb, #14532d 75%, var(--text))}@media(prefers-color-scheme:dark){:root{--bg: #121821;--surface: #1c2533;--text: #eef2f9;--muted: #a8b0bf;--border: #2f3d52;--important-bg: #2c1815;--important-border: #b45340;--tip-bg: #162536;--tip-border: #3b82f6;--lesson-done-border: color-mix(in srgb, #4ade80 45%, var(--border));--lesson-done-bg: color-mix(in srgb, #22c55e 16%, var(--surface));--lesson-done-title: color-mix(in srgb, #86efac 55%, var(--text))}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh);background:var(--bg);color:var(--text);min-height:100dvh}#root{min-height:100dvh}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.content-inline-link{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;word-break:break-word}.content-inline-link:hover{opacity:.9}.app-shell{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--space) + env(safe-area-inset-top)) calc(var(--space) + env(safe-area-inset-right)) calc(var(--space) + env(safe-area-inset-bottom)) calc(var(--space) + env(safe-area-inset-left))}.app-shell>.lesson-screen{flex:1 1 0%;min-height:0;max-height:calc(100dvh - (var(--space) + env(safe-area-inset-top)) - (var(--space) + env(safe-area-inset-bottom)))}.screen-title{font-size:var(--fs-large);font-weight:700;margin:0 0 var(--space)}.card-list{display:flex;flex-direction:column;gap:var(--space)}.card-link{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space);min-height:var(--tap-min)}.card-link:active{transform:scale(.99)}.card-link-active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent)}.card-link-done{border-color:var(--lesson-done-border);background:var(--lesson-done-bg)}.card-link-done .card-link-title{color:var(--lesson-done-title)}.card-link-active.card-link-done{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 8%,var(--lesson-done-bg))}.card-link-title{font-size:var(--fs-title);font-weight:600}.card-link-desc{color:var(--muted);margin-top:.35rem;font-size:1rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:var(--tap-min);padding:0 1rem;border:none;border-radius:var(--radius);background:var(--primary);color:var(--primary-contrast);font-weight:600;font-size:1.125rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:var(--tap-min);padding:0 1rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-weight:600;font-size:1.125rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.stack{display:flex;flex-direction:column;gap:var(--space)}.lesson-screen{display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.lesson-screen-head{flex-shrink:0;background:var(--bg);box-shadow:0 6px 12px #0000000f;z-index:2}.lesson-screen-head .lesson-screen-title{margin-bottom:0}.lesson-main{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:.5rem}.lesson-screen-meta-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:var(--tap-min)}.lesson-screen-meta-row--progress{align-items:center;min-height:var(--tap-min)}.lesson-screen-meta-text{flex:1 1 auto;min-width:0;display:flex;align-items:center}.lesson-progress-block{flex:1 1 auto;min-width:0}.lesson-progress-label{margin:0 0 .42rem;font-size:1rem;line-height:1.35}.lesson-progress-label-muted{color:var(--muted);font-weight:400}.lesson-progress-label-num{color:var(--text);font-weight:700}.lesson-progress-track{height:6px;border-radius:999px;background:color-mix(in srgb,var(--border) 55%,var(--surface));border:1px solid color-mix(in srgb,var(--border) 80%,transparent);overflow:hidden}.lesson-progress-fill{height:100%;min-width:0;border-radius:999px;background:var(--lesson-progress-fill);transition:width .28s ease}@media(prefers-reduced-motion:reduce){.lesson-progress-fill{transition:none}}.lesson-progress-rule{height:1px;background:var(--border);margin-top:.5rem;margin-bottom:.35rem}.lesson-back-to-toc{flex-shrink:0;padding:.38rem .65rem;font-size:.875rem;font-weight:600;line-height:1.35;color:var(--primary);text-decoration:none;text-align:center;border-radius:var(--radius);border:2px solid color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.lesson-back-to-toc:active{transform:scale(.98)}.lesson-back-to-toc:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button.lesson-back-to-toc{cursor:pointer;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.lesson-screen-meta-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;flex-shrink:0}.lesson-media-card{margin:.15rem 0 0;padding:.75rem .65rem;border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,var(--bg) 6%);box-shadow:0 2px 14px #00000012}.lesson-media-card-img-wrap{position:relative;width:fit-content;max-width:min(304px,100%);margin:0 auto;border-radius:calc(var(--radius) - 4px);overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);background:color-mix(in srgb,var(--bg) 55%,var(--surface))}.lesson-media-card-img-wrap .lesson-image-highlight{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.lesson-image-highlight{overflow:visible}.lesson-image-highlight__halo,.lesson-image-highlight__halo-lightbox{stroke:#fffffff2;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;fill:none}.lesson-image-highlight__halo-lightbox{stroke-width:3.6}.lesson-image-highlight__ring{stroke:color-mix(in srgb,var(--primary) 88%,#c2410c 12%);stroke-width:1.4;fill:none}.lesson-image-highlight__arrow{stroke:color-mix(in srgb,var(--primary) 88%,#c2410c 12%);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;fill:none}.lesson-image-highlight__marker-fill{fill:color-mix(in srgb,var(--primary) 88%,#c2410c 12%)}.lesson-image-highlight--lightbox .lesson-image-highlight__ring,.lesson-image-highlight--lightbox .lesson-image-highlight__arrow{stroke:#ff9f4a;stroke-width:1.55}.lesson-image-highlight--lightbox .lesson-image-highlight__marker-fill{fill:#ff9f4a}.lesson-media-card-img-wrap img{width:100%;height:auto;max-height:min(52dvh,480px);display:block;object-fit:contain}.lesson-media-card-caption{margin:.55rem 0 0;padding:0 .15rem;color:var(--muted);font-size:.98rem;line-height:1.5;text-align:center}.lesson-media-card-hit{display:block;width:100%;margin:0;padding:0;border:none;background:transparent;cursor:zoom-in;-webkit-tap-highlight-color:color-mix(in srgb,var(--primary) 22%,transparent)}.lesson-media-card-hit:focus{outline:none}.lesson-media-card-hit:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:calc(var(--radius) - 2px)}.lesson-media-card-hit:active .lesson-media-card-img-wrap{opacity:.93}@media(prefers-reduced-motion:reduce){.lesson-media-card-hit:active .lesson-media-card-img-wrap{opacity:1}}@media(prefers-color-scheme:dark){.lesson-media-card{box-shadow:0 3px 18px #0000006b;background:color-mix(in srgb,var(--surface) 82%,var(--bg) 18%)}}.lesson-chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:color-mix(in srgb,var(--text) 38%,transparent);display:flex;align-items:flex-end;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.lesson-chat-panel{width:100%;max-width:520px;max-height:min(88dvh,640px);background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--border);border-bottom:none;box-shadow:0 -10px 36px #0000002e;display:flex;flex-direction:column;overflow:hidden}.lesson-chat-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.75rem;row-gap:.35rem;padding:var(--space);border-bottom:1px solid var(--border);flex-shrink:0}.lesson-chat-panel-title{margin:0;font-size:var(--fs-title);font-weight:700;line-height:1.2}.lesson-chat-close-btn{justify-self:end;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--tap-min);min-width:var(--tap-min);padding:0 1rem;margin:0;border:1px solid var(--border);border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:color-mix(in srgb,var(--surface) 92%,var(--border));color:var(--text);font-family:var(--font-ui);font-weight:600;font-size:1rem;line-height:1;cursor:pointer;white-space:nowrap}.lesson-chat-close-btn:hover{background:color-mix(in srgb,var(--surface) 75%,var(--primary));border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.lesson-chat-close-btn:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.lesson-chat-close-btn:active{transform:none}}.lesson-chat-panel-body{flex:1 1 auto;min-height:0;overflow:hidden;padding:var(--space);display:flex;flex-direction:column}.chat-assistant-embedded{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}.chat-assistant-standalone{gap:var(--space)}.chat-layout{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:.65rem}.chat-thread-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-shrink:0}.chat-thread-title{font-weight:700;font-size:1.05rem}.chat-thread-meta{color:var(--muted);font-size:.95rem}.chat-thread{flex:1 1 auto;min-height:180px;max-height:min(50dvh,420px);overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;padding:.65rem;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 55%,var(--surface));-webkit-overflow-scrolling:touch}.chat-assistant-embedded .chat-thread{max-height:none;min-height:220px}.chat-thread-empty{margin:auto 0;color:var(--muted);font-size:1.05rem;line-height:1.5;text-align:center;padding:1rem .5rem}.chat-thread-footer-note{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45;flex-shrink:0}.chat-bubble-row{display:flex;width:100%}.chat-bubble-row-user{justify-content:flex-end}.chat-bubble-row-assistant{justify-content:flex-start}.chat-bubble-user,.chat-bubble-assistant{border-radius:var(--radius);border:1px solid var(--border);padding:.8rem .9rem;font-size:1.08rem;line-height:1.5;max-width:94%;box-sizing:border-box}.chat-bubble-user{background:color-mix(in srgb,var(--primary) 14%,var(--surface));border-color:color-mix(in srgb,var(--primary) 35%,var(--border));border-left:4px solid var(--primary)}.chat-bubble-assistant{background:var(--surface);border-left:4px solid color-mix(in srgb,var(--muted) 40%,var(--border))}.chat-bubble-latest{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.chat-bubble-typing{opacity:.88}.chat-bubble-label{font-weight:700;font-size:1rem;margin-bottom:.4rem;color:var(--text)}.chat-bubble-text{white-space:pre-wrap;word-break:break-word}.chat-composer{flex-shrink:0;display:flex;flex-direction:column;gap:.55rem;padding-top:.35rem;border-top:1px solid var(--border)}.chat-composer-label{font-weight:600;font-size:1rem}.chat-composer-input{font-size:1.05rem;padding:.75rem;border-radius:var(--radius);border:1px solid var(--border);width:100%;box-sizing:border-box;resize:vertical;min-height:3.2rem;font-family:var(--font-ui)}.chat-composer-send{width:100%}.chat-error-hint{margin:.5rem 0 0;color:var(--danger, #b42318);font-size:1.05rem;line-height:1.45}.chat-preview-note{margin:0;padding:.55rem .65rem;border-radius:var(--radius);border:1px dashed var(--border);color:var(--muted);font-size:.95rem;line-height:1.45}@media(min-width:560px){.lesson-chat-overlay{align-items:center}.lesson-chat-panel{border-radius:var(--radius);border-bottom:1px solid var(--border);max-height:min(85dvh,560px);box-shadow:0 16px 48px #00000038}}.lesson-footer-bar{flex-shrink:0;padding-top:var(--space);border-top:1px solid var(--border);background:var(--bg);box-shadow:0 -6px 14px #0000000f}@media(prefers-color-scheme:dark){.lesson-screen-head{box-shadow:0 6px 14px #00000059}.lesson-footer-bar{box-shadow:0 -6px 14px #00000059}}.copy-tap-field:active{transform:scale(.997)}.telegram-login-widget-root{min-height:44px}.telegram-login-widget-root iframe{display:block;max-width:100%}.footer-links{margin-top:2rem;padding-top:var(--space);border-top:1px solid var(--border);font-size:1rem}.footer-links a{color:var(--primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:var(--space);z-index:1000}.modal-panel{background:var(--surface);border-radius:var(--radius);padding:var(--space);max-width:420px;width:100%;border:1px solid var(--border)}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:1100;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.lightbox-toolbar{display:flex;gap:var(--space);justify-content:space-between;align-items:center;padding:var(--space)}.lightbox-img-wrap{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none}.lightbox-stage{will-change:transform}.lightbox-stage-inner{position:relative;display:inline-block;max-width:100%;max-height:100%}.lightbox-stage-inner .lesson-image-highlight{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.lightbox-img{max-width:100%;height:auto;display:block}.hotspot-stage{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.hotspot-stage img{display:block;width:100%;height:auto;vertical-align:middle}.hotspot-hit{position:absolute;border:3px dashed rgba(255,255,255,.85);background:#2563eb26;border-radius:8px}.hotspot-hit.solved-wrong{border-color:#fca5a5;background:#ef444426}.home-meta-footer{margin-top:1.25rem;padding-top:.65rem;border-top:1px solid var(--border);font-size:.6875rem;line-height:1.45;color:var(--muted)}.home-meta-footer p,.home-meta-footer ul{font-size:inherit}.home-meta-footer summary{font-size:inherit}.homeunity-logo-header{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;box-sizing:border-box}.homeunity-logo-img{display:block;width:auto;max-width:min(100%,320px);height:auto;max-height:56px;object-fit:contain}
