.doc{font-family:var(--font-body);font-size:17px;line-height:1.7}.doc .page-head{font-family:var(--font-ui)}.doc-page.ui{font-family:var(--font-ui);font-size:15px;line-height:1.55}:where(.doc-page.ui) h2{margin:30px 0 12px;font-size:20px;line-height:1.3}:where(.doc-page.ui) h3{margin:22px 0 8px;font-size:17px}.subtabs{font-family:var(--font-ui);flex-wrap:wrap;gap:6px;margin:-6px 0 20px;display:flex}.subtabs a{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:6px 13px;font-size:14px;font-weight:500;line-height:1.3;text-decoration:none}.subtabs a:hover{border-color:var(--accent);color:var(--ink)}.subtabs a[aria-current]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.formula{font-family:var(--font-mono);background:var(--surface-2);white-space:pre;border-radius:10px;margin:4px 0 18px;padding:14px 16px;font-size:14px;line-height:1.75;overflow-x:auto}.formula .c{color:var(--ink-3)}.doc aside{font-family:var(--font-ui);border-radius:12px;margin:22px 0;padding:14px 16px;font-size:15px;line-height:1.6}.doc aside p:last-child,.doc aside ul:last-child{margin-bottom:0}.doc aside:before{letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600;display:block}aside.tool{border:1px solid var(--line);background:var(--surface)}aside.tool:before{color:var(--ink-3);content:"В инструменте"}aside.tool[data-tool=ue]:before{content:"В Unreal"}aside.tool[data-tool=unity]:before{content:"В Unity"}aside.tool[data-tool=godot]:before{content:"В Godot"}aside.tool[data-tool=blender]:before{content:"В Blender"}aside.tool[data-tool=sd]:before{content:"В Substance Designer"}aside.tool[data-tool=sp]:before{content:"В Substance Painter"}aside.tool[data-tool=zbrush]:before{content:"В ZBrush"}aside.tool[data-tool=ps]:before{content:"В Photoshop и Krita"}:lang(en) aside.tool:before{content:"In the tool"}:lang(en) aside.tool[data-tool=ue]:before{content:"In Unreal"}:lang(en) aside.tool[data-tool=unity]:before{content:"In Unity"}:lang(en) aside.tool[data-tool=godot]:before{content:"In Godot"}:lang(en) aside.tool[data-tool=blender]:before{content:"In Blender"}:lang(en) aside.tool[data-tool=sd]:before{content:"In Substance Designer"}:lang(en) aside.tool[data-tool=sp]:before{content:"In Substance Painter"}:lang(en) aside.tool[data-tool=zbrush]:before{content:"In ZBrush"}:lang(en) aside.tool[data-tool=ps]:before{content:"In Photoshop and Krita"}aside.mistake{background:var(--warn-soft);color:var(--ink)}aside.mistake:before{content:"Частая ошибка";color:var(--warn)}:lang(en) aside.mistake:before{content:"Common mistake"}aside.note{background:var(--surface-2);color:var(--ink-2)}aside.note:before{content:none}details.deep{font-family:var(--font-body);border:1px dashed var(--line);background:var(--surface);border-radius:12px;margin:22px 0}details.deep>summary{font-family:var(--font-ui);cursor:pointer;align-items:center;gap:10px;padding:12px 16px;font-size:15px;font-weight:600;list-style:none;display:flex}details.deep>summary::-webkit-details-marker{display:none}details.deep>summary:before{content:"Под капотом";letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:600}:lang(en) details.deep>summary:before{content:"Under the hood"}details.deep>summary:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);flex:none;width:8px;height:8px;margin-left:auto;transform:rotate(45deg)}details.deep[open]>summary:after{transform:rotate(-135deg)}details.deep>.deep-body{padding:2px 18px 6px}details.deep[open]{border-style:solid}.tbl{margin:6px 0 18px;overflow-x:auto}.tbl table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:14px;line-height:1.45}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.tbl th{color:var(--ink-2);font-weight:600}figure{min-width:0;margin:0}.fig{margin:22px 0}.fig svg{width:100%;max-width:560px;height:auto;margin-inline:auto;display:block}.fig figcaption,.cap{font-family:var(--font-ui);color:var(--ink-3);margin:6px 0 0;font-size:13px;line-height:1.5}.fig figcaption{text-align:center}svg text{font-family:var(--font-ui)}ul.takeaways{list-style:none;padding:0!important}ul.takeaways li{padding-left:28px;position:relative}ul.takeaways li:before{content:"";border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);width:10px;height:6px;position:absolute;top:.55em;left:4px;transform:rotate(-45deg)}ul.links{gap:10px;list-style:none;display:grid;padding:0!important}ul.links li{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 16px;margin:0!important}ul.links b{font-family:var(--font-ui);letter-spacing:.02em;color:var(--ink-3);margin-bottom:2px;font-size:13px;display:block}dl.terms{margin:8px 0 24px}dl.terms dt{font-family:var(--font-ui);margin:22px 0 4px;font-size:17px;font-weight:600}dl.terms dd{margin:0}.swatches{flex-wrap:wrap;gap:10px;margin:0;list-style:none;display:flex;padding:0!important}.swatches li{font-family:var(--font-mono);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:13px;display:flex;margin:0!important}.swatches i{border-radius:50%;flex:none;width:22px;height:22px;display:block}.flowmap{font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 22px;font-size:13.5px;display:flex}.flowmap a{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;text-decoration:none;display:inline-flex}.flowmap a:hover{border-color:var(--t-flow)}.flowmap b{color:var(--t-flow);font-weight:600}.flowmap i{color:var(--ink-3);font-style:normal}ol.steps{counter-reset:step;margin:0 0 20px;list-style:none;padding:0!important}li.step{counter-increment:step;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px 18px 4px 58px;position:relative;margin:0 0 12px!important}li.step:before{content:counter(step);background:var(--t-flow-soft);width:28px;height:28px;color:var(--t-flow);font:600 14px/28px var(--font-ui);text-align:center;border-radius:50%;position:absolute;top:15px;left:16px}li.step h3{margin:0 0 8px;font-size:18px}.step-why,.step-check,.step-err{font-family:var(--font-ui);margin:0 0 10px;font-size:15px;line-height:1.55}.step-check{color:var(--ok)}.step-err{color:var(--warn)}.step-why b,.step-check b,.step-err b{font-weight:600}dl.trap-dl{font-family:var(--font-ui);border:1px solid var(--line);border-left:4px solid var(--t-trap);background:var(--surface);border-radius:0 12px 12px 0;grid-template-columns:160px minmax(0,1fr);gap:10px 18px;margin:4px 0 24px;padding:14px 16px;font-size:15px;line-height:1.55;display:grid}dl.trap-dl dt{color:var(--ink-3);font-weight:600}dl.trap-dl dd{margin:0}code.copy{cursor:copy;border:1px dashed #0000}code.copy:hover{border-color:var(--accent)}code.copy.copied{background:var(--ok-soft);color:var(--ok)}.vlist{font-family:var(--font-ui);gap:10px;margin:8px 0 22px;display:grid}.vcard{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:14px;padding:12px 14px;text-decoration:none;display:grid}.vcard:hover{border-color:var(--accent)}.vcard:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.vc-play{background:var(--bad-soft);width:44px;height:44px;color:var(--bad);border-radius:10px;place-items:center;display:grid}.vc-play svg{width:18px;height:18px}.vc-t{font-size:15.5px;font-weight:600;line-height:1.35;display:block}.vc-m{color:var(--ink-3);margin-top:2px;font-size:12.5px;display:block}.vc-n{color:var(--ink-2);margin-top:6px;font-size:14px;line-height:1.5;display:block}.vc-p{color:var(--ink-3);margin-top:6px;font-size:12.5px;display:block}.vc-hint{font-family:var(--font-ui);color:var(--ink-3);margin:-4px 0 8px;font-size:13px}ol.code-steps{font-family:var(--font-mono);margin:0;font-size:13px;list-style:none;padding:0!important}ol.code-steps li{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:8px;grid-template-columns:16px minmax(0,1fr);gap:0 8px;padding:7px 10px;line-height:1.45;display:grid;margin:0 0 6px!important}ol.code-steps li:hover{border-color:var(--accent)}ol.code-steps li:focus-visible{outline:2px solid var(--accent);outline-offset:1px}ol.code-steps li[aria-current=true]{background:var(--accent-soft);border-color:var(--accent)}ol.code-steps .n{color:var(--ink-3)}ol.code-steps .cmt{font-family:var(--font-ui);color:var(--ink-3);grid-column:2;font-size:12px}.sg-wrap{overflow-x:auto}.sg-wrap svg{width:100%;min-width:560px;height:auto;display:block}.sg-line{border-radius:4px;margin:0 -6px;padding:0 6px;display:block}.sg-line.on{background:var(--accent-soft)}.sg-node.on rect{stroke:var(--accent);stroke-width:2px}.term{border-bottom:1.5px dotted var(--ink-3);cursor:help}.term:hover,.term:focus-visible{border-bottom-color:var(--accent);color:var(--accent);outline:none}.term-pop{z-index:40;width:min(340px,100vw - 24px);font-family:var(--font-ui);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;position:absolute;box-shadow:0 10px 30px #00000024}.term-pop .tp-h{font-size:15px;font-weight:600}.term-pop .tp-en{color:var(--ink-3);margin-left:6px;font-size:13px}.term-pop p{margin:6px 0 8px}.ask-btn{z-index:41;font-family:var(--font-ui);background:var(--ink);color:var(--bg);cursor:pointer;border:0;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;position:absolute;box-shadow:0 6px 18px #0003}.ask-hint{font-family:var(--font-ui);color:var(--ink-3);border-top:1px solid var(--line);margin-top:40px;padding-top:14px;font-size:14px;display:none}.can-ask .ask-hint{display:block}.lab{font-family:var(--font-ui);background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:24px 0 28px;padding:18px;font-size:14px;line-height:1.5}.lab-label{letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:12px;font-weight:600}.lab-fail{color:var(--bad)}.hint{color:var(--ink-2);margin:0 0 14px}.row{color:var(--ink-2);align-items:center;gap:10px;margin:0 0 8px;display:flex}.row input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.val{font-family:var(--font-mono);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;min-width:44px;font-size:13px}.readout{font-family:var(--font-mono);background:var(--surface-2);white-space:pre-wrap;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:1.65}.cap.tight{margin:0 0 8px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.grid2{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:start;gap:18px;display:grid}.grid2.mid{align-items:center}.cv{aspect-ratio:1;border-radius:8px;width:100%;max-width:100%;height:auto;display:block}.cv.wide{aspect-ratio:4/3}.cv.strip{aspect-ratio:8}.cv.narrow{max-width:250px;margin-inline:auto}.probe{cursor:crosshair}.draw{cursor:crosshair;touch-action:none}.svgfull{width:100%;height:auto;display:block}.rgb{align-items:center;gap:14px;margin:0 0 12px;display:flex}.rgb .sliders{flex:1;min-width:0}.swatch{border:1px solid var(--line);border-radius:10px;flex:none;width:56px;height:56px}.swrow{align-items:center;gap:10px;margin-top:10px;display:flex}.swrow .swatch{width:44px;height:44px}.ch{min-width:14px;font-family:var(--font-mono);font-size:13px}.keywrap{width:100%;max-width:260px;margin-inline:auto;display:grid}.keywrap>*{grid-area:1/1}.keywrap svg{pointer-events:none;width:100%;height:auto}.floor{width:100%;max-width:360px;height:auto;margin-inline:auto;display:block}.quiz{font-family:var(--font-ui)}.quiz-head{color:var(--ink-3);justify-content:space-between;align-items:center;gap:12px;margin:0 0 6px;font-size:14px;display:flex}.q{border-top:1px solid var(--line);padding:16px 0}.q-text{color:var(--ink);margin:0 0 10px;font-size:16px;font-weight:500;line-height:1.5}.q-src{color:var(--ink-3);margin:-4px 0 10px;font-size:13px}.opts{gap:8px;display:grid}.opt{font:inherit;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:10px;padding:10px 14px;font-size:15px;line-height:1.45}.opt:hover{border-color:var(--accent)}.opt.ok{border-color:var(--ok);background:var(--ok-soft)}.opt.bad{border-color:var(--bad);background:var(--bad-soft)}.why{background:var(--surface-2);color:var(--ink);border-radius:10px;margin-top:10px;padding:10px 14px;font-size:15px;line-height:1.55}.why.ok strong{color:var(--ok)}.why.bad strong{color:var(--bad)}.quiz-sum{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-top:14px;padding:16px}.quiz-sum .qs-big{margin:0 0 6px;font-size:20px;font-weight:700}.quiz-sum ul{color:var(--ink-2);margin:8px 0 12px;padding-left:20px;font-size:14px}.quiz-sum .qs-btns{flex-wrap:wrap;gap:8px;display:flex}.copy-area{width:100%;min-height:120px;font-family:var(--font-mono);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:8px;margin-top:10px;padding:10px;font-size:13px}.pager{border-top:1px solid var(--line);font-family:var(--font-ui);grid-template-columns:1fr 1fr;gap:12px;margin-top:56px;padding-top:24px;display:grid}.pg{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:12px;min-width:0;padding:12px 14px;text-decoration:none;display:block}a.pg:hover{border-color:var(--accent)}.pg.next{text-align:right;grid-column:2}.pg.soon{color:var(--ink-3);background:0 0;border-style:dashed}.pg-k{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;font-size:12px;display:block}.pg-t{margin-top:2px;font-weight:600;line-height:1.35;display:block}.backlinks{font-family:var(--font-ui);margin-top:44px}.bl-t{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:11.5px;font-weight:600}.bl-list{flex-wrap:wrap;gap:6px;display:flex}.bl-list a{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:flex-start;gap:7px;padding:5px 11px;font-size:13.5px;line-height:1.35;text-decoration:none;display:inline-flex}.bl-list a:hover{border-color:var(--accent);color:var(--ink)}.bl-list a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bl-rest{flex-basis:100%}.bl-rest>summary{cursor:pointer;color:var(--ink-3);padding:5px 11px;font-size:13.5px;display:inline-block}.bl-rest>summary:hover{color:var(--accent)}.bl-rest[open]>summary{margin-bottom:6px}.doc a.locked:not(.prow):not(.pg):not(.km-p):not(.continue):not(.cp-body):not(.home-next):not(.today-main):not(.btn):after,.pg.locked .pg-t:after,.cp-body.locked .cp-t:after,.home-next.locked .hn-t:after,.today-main.locked .td-t:after{content:"";vertical-align:-.02em;opacity:.65;background:currentColor;width:.7em;height:.7em;margin-left:.3em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3.2' y='7' width='9.6' height='7' rx='1.6'/%3E%3Cpath d='M5.4 7V5a2.6 2.6 0 0 1 5.2 0v2'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3.2' y='7' width='9.6' height='7' rx='1.6'/%3E%3Cpath d='M5.4 7V5a2.6 2.6 0 0 1 5.2 0v2'/%3E%3C/svg%3E") 50%/contain no-repeat}.bl-list a.locked:after{align-self:center;margin-left:0}.doc .teaser-more{font-family:var(--font-ui);margin:0 0 4px;padding:0;font-size:15px;line-height:1.4;list-style:none}.doc .teaser-more li{border-bottom:1px solid var(--line);color:var(--ink-3);align-items:flex-start;gap:10px;margin:0;padding:9px 2px;display:flex}.doc .teaser-more li:last-child{border-bottom:0}.teaser-more .tl-i{margin-top:2px}.paywall{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);font-family:var(--font-ui);margin:24px 0 0;padding:20px;font-size:15px;line-height:1.5}.paywall:empty,.paywall:has(>astro-island:empty){display:none}.pw-head{align-items:flex-start;gap:10px;margin:0 0 6px;display:flex}.pw-head .ic{width:20px;height:20px;color:var(--accent);margin-top:1px}.pw-t{margin:0;font-size:17px;font-weight:600;line-height:1.35}.pw-d{color:var(--ink-2);margin:0 0 14px}.paywall .plist{margin:0 0 14px}.pw-offer .pr-m{color:var(--ink);font-size:13.5px;font-weight:600}.pw-foot{color:var(--ink-3);margin:0;font-size:14px}.paywall .btn-row+.pw-foot{margin-top:14px}@media (width<=560px){.paywall{padding:16px}}.gl-gh{align-items:center;gap:12px;margin:30px 0 6px;display:flex}.gl-gh h2{flex:1;min-width:0;margin:0}.gl-gh>span:last-child{color:var(--ink-3);white-space:nowrap;flex:none;font-size:13px}.gl-gh .cover.em-tile{width:34px}.gl-term{border-top:1px solid var(--line)}.gl-term>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;padding:12px 2px;list-style:none;display:grid}.gl-term>summary::-webkit-details-marker{display:none}.gl-term>summary:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);grid-area:1/2/3;align-self:center;width:8px;height:8px;margin:0 6px 4px;transform:rotate(45deg)}.gl-term[open]>summary:after{margin-bottom:-4px;transform:rotate(-135deg)}.gl-term>summary:hover .gl-h{color:var(--accent)}.gl-h{font-family:var(--font-ui);font-size:16.5px;font-weight:600;line-height:1.35;display:block}.gl-en{color:var(--ink-3);margin-left:8px;font-size:13.5px;font-weight:500}.gl-s{color:var(--ink-2);grid-column:1;font-size:15px;line-height:1.5;display:block}.gl-more{padding:0 2px 14px;font-size:15px;line-height:1.6}.gl-more p{margin:0 0 8px}.gl-links{font-family:var(--font-ui);color:var(--ink-3);font-size:13.5px}.fc{font-family:var(--font-ui);border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;justify-content:center;gap:10px;min-height:220px;margin:14px 0;padding:28px 24px;display:flex}.fc-front{font-size:28px;font-weight:700;line-height:1.2}.fc-sub{color:var(--ink-3);font-size:15px}.fc-back{font-family:var(--font-body);border-top:1px solid var(--line);padding-top:12px;font-size:17px;line-height:1.6}.fc-row{font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fc-count{color:var(--ink-3);margin-left:auto;font-size:14px}.setup{font-family:var(--font-ui);border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr);gap:14px;margin:10px 0 18px;padding:16px;display:grid}.setup-t{color:var(--ink-3);margin:0 0 6px;font-size:13px;font-weight:600}.tr-ico,.tr-all{background:var(--accent-soft);color:var(--accent)}.tr-ico .ic{width:34px;height:34px}.tr-all .ic{width:18px;height:18px}.tr-h{margin:28px 0 12px}.tr-g{color:var(--ink-3);margin:0 0 8px;font-size:13px;font-weight:600}.tr-bar{flex-wrap:wrap;align-items:center;gap:10px 12px;margin:4px 0 24px;display:flex}.tr-bar .seg{margin:0}.read-end{height:1px}.me-card{font-family:var(--font-ui);border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:16px;margin:6px 0 10px;padding:16px 18px;display:grid}.me-top{align-items:center;gap:16px;min-width:0;display:flex}.me-info{flex:1;min-width:0}.avatar.lg{width:60px;height:60px;font-size:20px}img.avatar{object-fit:cover}.me-card .stats{border-top:1px solid var(--line);gap:14px;margin:0;padding-top:14px}.me-card .stat{background:0 0;border:0;border-radius:0;padding:0}.me-due{font-family:var(--font-ui);border:1px solid var(--accent);background:var(--accent-soft);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:0 0 12px;padding:12px 16px;font-weight:600;display:flex}.ranks{font-family:var(--font-ui);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:8px 0 14px;display:grid}.rank-s{border:1px dashed var(--line);color:var(--ink-3);border-radius:12px;padding:10px 12px}.rank-s.done{background:var(--surface);color:var(--ink);border-style:solid}.rank-s.cur{border:1px solid var(--accent);background:var(--accent-soft);color:var(--ink)}.rank-s b{font-size:14.5px;line-height:1.3;display:block}.rank-s span{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.rank-s.cur span{color:var(--accent);font-weight:600}.me-name{margin:0;font-size:20px;font-weight:700;line-height:1.25}.me-rank{color:var(--ink-2);margin:2px 0 0;font-size:15px}.me-rank b{color:var(--accent)}.me-next{color:var(--ink-3);margin:6px 0 0;font-size:13px}.me-sub{font-family:var(--font-ui);color:var(--ink-3);font-size:14px;line-height:1.5}.prow.me-topic .bar{grid-column:2/4;margin-top:4px}.stats{font-family:var(--font-ui);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 12px;display:grid}.stat{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 14px}.stat b{font-size:26px;font-weight:700;line-height:1.1;display:block}.stat span{color:var(--ink-3);margin-top:4px;font-size:13px;line-height:1.35;display:block}.achs{font-family:var(--font-ui);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-auto-rows:1fr;gap:10px;margin:8px 0 18px;display:grid}.ach{border:1px dashed var(--line);color:var(--ink-3);border-radius:12px;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:2px 10px;padding:12px;display:grid}.ach.done{background:var(--surface);color:var(--ink);border-style:solid}.ach-i{border:2px dashed var(--line);border-radius:50%;grid-row:1/4;place-items:center;width:32px;height:32px;display:grid}.ach.done .ach-i{background:var(--ok-soft);color:var(--ok);border:0}.ach-i svg{width:16px;height:16px}.ach-t{font-size:14.5px;font-weight:600;line-height:1.3}.ach-d{color:var(--ink-2);font-size:13px;line-height:1.4}.ach:not(.done) .ach-d{color:var(--ink-3)}.ach-m{color:var(--ink-3);margin-top:2px;font-size:12px}.ach.done .ach-m{color:var(--ok)}.team{font-family:var(--font-ui);gap:8px;margin:8px 0 18px;display:grid}.tm-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.tm-row img{object-fit:cover;background:var(--surface-2);border-radius:50%;width:32px;height:32px}.tm-n{font-size:14.5px;font-weight:600;display:block}.tm-m{color:var(--ink-3);font-size:12.5px;display:block}.tm-b{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.tm-b .btn{padding:4px 9px;font-size:13px}.tm-b .btn:disabled{opacity:.45;cursor:default}.km-legend{font-family:var(--font-ui);flex-wrap:wrap;gap:8px;margin:4px 0 8px;display:flex}.km-row{font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 12px;display:flex}.km-sec{font-family:var(--font-ui);color:var(--ink-3);margin:12px 0 4px;font-size:12.5px;font-weight:600}.km-sum{font-family:var(--font-ui);color:var(--ink-3);margin:-4px 0 6px;font-size:13.5px}.km-p{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:5px 11px 5px 9px;font-size:13.5px;line-height:1.3;text-decoration:none;display:inline-flex}a.km-p:hover{border-color:var(--accent)}a.km-p:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.km-p i{background:var(--line);border-radius:50%;flex:none;width:9px;height:9px}.km-p.st-plan{color:var(--ink-3);background:0 0;border-style:dashed}.km-p.st-plan i{border:1.5px dashed var(--ink-3);background:0 0}.km-p.st-new i{border:1.5px solid var(--ink-3);background:0 0}.km-p.st-read{background:var(--accent-soft)}.km-p.st-read i{background:var(--normal)}.km-p.st-mem{background:var(--accent-soft);background:color-mix(in srgb,var(--accent) calc(var(--s,1)*30%),var(--accent-soft));border-color:var(--accent)}.km-p.st-mem i{background:var(--accent)}.km-p.st-due{background:var(--warn-soft);border-color:var(--warn)}.km-p.st-due i{background:var(--warn)}.km-arrow{color:var(--ink-3);font-style:normal}.home-top{min-height:162px;margin:0 0 12px}#p-home .home-top{min-height:180px}.home-top .home-next{margin:0}.chero{font-family:var(--font-ui);background:var(--dir-soft,var(--surface-2));border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 18px;padding:22px 24px;display:grid}.chero-k{letter-spacing:.09em;text-transform:uppercase;color:var(--dir,var(--accent));margin:0 0 8px;font-size:12px;font-weight:600}.chero h1{margin:0 0 10px;font-size:36px}.chero-m{color:var(--ink-2);margin:0;font-size:14px}.chero-note{font-family:var(--font-ui);color:var(--ink-3);margin:0 0 6px;font-size:14px}.chero .cover{aspect-ratio:1;background:0 0;width:132px}.chero .cover .em{stroke-width:2.2px;height:78%}.chero .cover:has(img){border-radius:14px}.chaps{font-family:var(--font-ui);margin:22px 0 0}.chap{border-top:1px solid var(--line)}.chap:last-child{border-bottom:1px solid var(--line)}.chap>summary{cursor:pointer;align-items:center;gap:12px;padding:13px 2px;list-style:none;display:flex}.chap>summary::-webkit-details-marker{display:none}.chap>summary:hover .chap-t{color:var(--accent)}.chap-t{flex:1;min-width:0;font-size:17px;font-weight:600;line-height:1.3}.chap-m{color:var(--ink-3);white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:13px;display:inline-flex}.chap-m .ic{width:15px;height:15px}.chap.done .chap-m{color:var(--ok)}.chap[open]>summary .chev{transform:rotate(180deg)}.chap>.cpath{margin:4px 0 12px!important}.cpath:has(+.cpath-final){margin-bottom:0!important}.cpath-final{margin-top:0!important}.chaps+.cpath-final{margin-top:16px!important}button.cp-body{width:100%;font:inherit;text-align:left;cursor:pointer}.cp.final .cp-dot .ic{width:17px;height:17px}.cfinal{font-family:var(--font-ui);scroll-margin-top:calc(var(--top-h) + 16px);margin:0 0 28px}.cfinal h2{margin-top:4px}.cfinal .quiz{margin-top:8px}.page-meta{font-family:var(--font-ui);color:var(--ink-3);margin:10px 0 0;font-size:14px}.cpath{font-family:var(--font-ui);list-style:none;margin:22px 0 28px!important;padding:0!important}.cp{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:14px;padding:0 0 12px;display:grid;position:relative;margin:0!important}.cp:not(:last-child):before{content:"";background:var(--line);border-radius:2px;width:2px;position:absolute;top:46px;bottom:-6px;left:17px}.cp.done:not(:last-child):before{background:var(--ok)}.cp-dot{border:2px solid var(--line);background:var(--bg);width:36px;height:36px;color:var(--ink-3);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;margin-top:8px;font-size:14px;font-weight:600;line-height:1;display:grid}.cp-dot .ic{width:18px;height:18px}.cp.done .cp-dot{background:var(--ok-soft);color:var(--ok);border-color:#0000}.cp.now .cp-dot{border-color:var(--accent);background:var(--accent);color:var(--surface)}.cp-body{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:12px 16px;text-decoration:none;display:block}.cp-body:hover{border-color:var(--accent)}.cp.now .cp-body{border-color:var(--accent);background:var(--accent-soft)}.cp-t{font-size:16px;font-weight:600;line-height:1.35;display:block}.cp-m{color:var(--ink-3);margin-top:3px;font-size:13px;line-height:1.4;display:block}.cp.done .cp-m{color:var(--ok)}.doc-page[data-steps]>.lplayer-host{display:none}.doc-page[data-mode=steps]>.lplayer-host{display:block}@media not print{.doc-page[data-mode=steps]>:not(.lplayer-host){display:none}html:has(.doc-page[data-mode=steps]){overflow:hidden}html:has(.doc-page[data-mode=steps]) .toasts{top:64px;bottom:auto}}.lesson-entry{font-family:var(--font-ui);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;margin:0 0 24px;padding:10px 14px;font-size:14px;line-height:1.4;display:flex}.lplayer{z-index:35;background:var(--bg);height:100dvh;color:var(--ink);font-family:var(--font-ui);flex-direction:column;font-size:17px;line-height:1.55;display:flex;position:fixed;top:0;left:0;right:0}.ls-top{width:100%;max-width:720px;padding:max(10px,env(safe-area-inset-top)) 14px 8px;align-items:center;gap:8px;margin:0 auto;display:flex}.ls-top .icon-btn{background:0 0;border-color:#0000;width:40px;height:40px}.ls-top .icon-btn:hover{background:var(--surface-2)}.ls-top .icon-btn .ic{width:20px;height:20px}.ls-back .ic{transform:rotate(90deg)}.ls-line{background:var(--line);border-radius:999px;flex:1;min-width:0;height:8px;margin:0 4px;overflow:hidden}.ls-line i{background:var(--accent);border-radius:999px;min-width:8px;height:100%;transition:width .35s;display:block}.ls-stage{overscroll-behavior:contain;flex:1;min-height:0;position:relative;overflow:hidden auto}.ls-screen{width:100%;max-width:680px;margin:0 auto;padding:14px 20px 32px}.ls-read{font-family:var(--font-body);font-size:17px;line-height:1.7}.ls-read .piece>:first-child{margin-top:0}.ls-read .piece>:last-child{margin-bottom:0}.ls-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:12px;font-weight:600}.ls-title{font-family:var(--font-ui);letter-spacing:-.01em;margin:0 0 12px;font-size:clamp(28px,7vw,40px);font-weight:700;line-height:1.12}.ls-meta{color:var(--ink-2);margin:0 0 20px;font-size:16px}.ls-cover{padding-top:min(8vh,56px)}.ls-parts{gap:8px;margin:0 0 6px;padding:0;list-style:none;display:grid}.ls-parts li{color:var(--ink);align-items:center;gap:10px;margin:0;font-size:16px;display:flex}.ls-parts li:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.ls-links{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.ls-end{text-align:center;padding-top:min(10vh,72px)}.ls-end .ls-links{justify-content:center}.ls-end-mark{background:var(--ok-soft);width:84px;height:84px;color:var(--ok);border-radius:50%;place-items:center;margin:0 auto 20px;animation:.45s cubic-bezier(.2,1.4,.4,1) both ls-pop;display:grid}.ls-end-mark .ic{width:46px;height:46px}.ls-q{margin-top:18px}.ls-q+.ls-q{margin-top:36px;animation:.3s ease-out both ls-up}.ls-q-text{margin:0 0 14px;font-size:19px;font-weight:600;line-height:1.4}.ls-opts{gap:10px;display:grid}.ls-opt{width:100%;min-height:56px;font:inherit;text-align:left;color:var(--ink);background:var(--surface);border:2px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;font-size:16.5px;line-height:1.4;transition:border-color .12s,background-color .12s,transform 80ms;display:flex}.ls-opt:hover:not(:disabled){border-color:var(--accent)}.ls-opt:active:not(:disabled){transform:scale(.985)}.ls-opt.sel{border-color:var(--accent);background:var(--accent-soft)}.ls-opt.ok{border-color:var(--ok);background:var(--ok-soft)}.ls-opt.bad{border-color:var(--bad);background:var(--bad-soft);color:var(--ink-2)}.ls-opt:disabled{cursor:default}.ls-opt-n{border:1px solid var(--line);width:24px;height:24px;color:var(--ink-3);border-radius:7px;flex:none;place-items:center;font-size:12px;line-height:1;display:grid}.ls-opt.sel .ls-opt-n{border-color:var(--accent);color:var(--accent)}@media (hover:none){.ls-opt-n{display:none}}.ls-bottom{border-top:1px solid var(--line);background:var(--surface);padding:12px 16px max(14px,env(safe-area-inset-bottom));flex:none;transition:background-color .15s}.ls-bottom.ok{background:var(--ok-soft);border-top-color:#0000}.ls-bottom.bad{background:var(--bad-soft);border-top-color:#0000}.ls-bottom-in{gap:10px;width:100%;max-width:648px;margin:0 auto;display:grid}.ls-verdict{animation:.22s ease-out both ls-up}.ls-v-title{align-items:center;gap:8px;margin:0;font-size:18px;font-weight:700;line-height:1.3;display:flex}.ls-bottom.ok .ls-v-title{color:var(--ok)}.ls-bottom.bad .ls-v-title{color:var(--bad)}.ls-v-title .ic{flex:none;width:22px;height:22px;animation:.35s cubic-bezier(.2,1.4,.4,1) both ls-pop}.ls-v-text{color:var(--ink);margin:4px 0 0;font-size:15.5px;line-height:1.5}.ls-hint{text-align:center;color:var(--ink-3);margin:0;font-size:13px;line-height:1.3}.btn.ls-go{border-radius:14px;width:100%;min-height:52px;font-size:17px;font-weight:600;display:flex}.ls-bottom.ok .btn.ls-go{background:var(--ok);border-color:var(--ok)}.ls-bottom.bad .btn.ls-go{background:var(--bad);border-color:var(--bad)}@keyframes ls-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes ls-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ls-line i,.ls-opt,.ls-bottom{transition:none}.ls-q+.ls-q,.ls-verdict,.ls-v-title .ic,.ls-end-mark{animation:none}}@media (width<=560px){.doc{font-size:16px}.doc .lead{font-size:17px}.home-top{min-height:192px}#p-home .home-top{min-height:236px}.chero{border-radius:16px;grid-template-columns:minmax(0,1fr) 72px;gap:12px;padding:16px}.chero h1{font-size:27px}.chero .cover{width:72px}.chap-t{font-size:16px}.ls-screen{padding:10px 16px 28px}.ls-read{font-size:16px}.ls-q-text{font-size:18px}.ls-opt{font-size:16px}.lab{padding:14px}.grid3{gap:6px}li.step{padding-top:50px;padding-left:18px}li.step:before{top:14px}dl.trap-dl{grid-template-columns:minmax(0,1fr);gap:2px}dl.trap-dl dd{margin-bottom:10px}.me-card{padding:14px}.me-card .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar.lg{width:52px;height:52px;font-size:18px}.me-top{gap:12px}.tm-row{grid-template-columns:32px minmax(0,1fr)}.tm-b{grid-column:2}}@media print{details.deep{border-style:solid}.lplayer-host,.lesson-entry{display:none!important}}
