:root{--annot-surface:#ffffff;--annot-input:#f4f4f8;--annot-line:#dcdce6;--annot-hover:#efeff7;--annot-ink:#16161c;--annot-ink-2:#4a4a56;--annot-ink-3:#8a8a96;--annot-head:#5b57e0;--annot-on:#e9e8ff;--annot-on-ink:#3f3bc4;--annot-on-line:#a9a6f5;--annot-danger-bg:#fdecec;--annot-danger-line:#f3b5b5;--annot-danger-ink:#b42323}:root[data-theme=dark]{--annot-surface:#16161c;--annot-input:#0e0e12;--annot-line:#363640;--annot-hover:#26262e;--annot-ink:#f4f4f6;--annot-ink-2:#b2b2bc;--annot-ink-3:#7d7d88;--annot-head:#c7c6ff;--annot-on:#2b2960;--annot-on-ink:#d6d3ff;--annot-on-line:#5f5be0;--annot-danger-bg:#2a1414;--annot-danger-line:#6b2b2b;--annot-danger-ink:#ffb4b4}.annot-root{position:relative;padding-right:28px;--annot-yellow:rgba(255,212,0,0.36);--annot-green:rgba(74,210,128,0.32);--annot-blue:rgba(96,160,255,0.34);--annot-pink:rgba(255,110,180,0.32);--annot-saved:rgba(117,114,255,0.22);--annot-violet:#7572ff}::highlight(gf-annot-yellow){background-color:rgba(255,212,0,.36)}::highlight(gf-annot-green){background-color:rgba(74,210,128,.32)}::highlight(gf-annot-blue){background-color:rgba(96,160,255,.34)}::highlight(gf-annot-pink){background-color:rgba(255,110,180,.32)}::highlight(gf-annot-saved){background-color:rgba(117,114,255,.22)}::highlight(gf-annot-note){-webkit-text-decoration:underline dotted #8c89ff 2px;text-decoration:underline dotted #8c89ff 2px;text-underline-offset:4px}::highlight(gf-annot-flash){background-color:rgba(117,114,255,.55)}.annot-root [data-annot]{background-image:linear-gradient(var(--annot-c),var(--annot-c))!important;box-shadow:inset 0 0 0 3px var(--annot-bar)!important;transition:box-shadow .2s}.annot-root [data-annot]:where(p,h2,h3,h4,h5,ol,ul,li,blockquote,pre,.sh){border-radius:6px;box-shadow:inset 5px 0 0 var(--annot-bar)!important;padding-left:14px;padding-right:6px}.annot-root [data-annot=yellow]{--annot-c:rgba(255,212,0,0.13);--annot-bar:#e6c200}.annot-root [data-annot=green]{--annot-c:rgba(74,210,128,0.12);--annot-bar:#3fbf73}.annot-root [data-annot=blue]{--annot-c:rgba(96,160,255,0.13);--annot-bar:#5b9bff}.annot-root [data-annot=pink]{--annot-c:rgba(255,110,180,0.12);--annot-bar:#f06aae}.annot-root [data-annot=plain],.annot-root [data-annot=saved]{--annot-c:rgba(117,114,255,0.1);--annot-bar:#7572ff}.annot-root [data-annot-preview]{outline:2px dashed #7572ff;outline-offset:3px;border-radius:10px}.annot-root.tool-note,.annot-root.tool-save{cursor:text}.annot-root.tool-note .section-blocks .katex-display,.annot-root.tool-note .section-blocks .sk,.annot-root.tool-note .section-blocks figure,.annot-root.tool-note .section-blocks img,.annot-root.tool-save .section-blocks .katex-display,.annot-root.tool-save .section-blocks .sk,.annot-root.tool-save .section-blocks figure,.annot-root.tool-save .section-blocks img{cursor:pointer}.annot-root [data-annot-hover]{outline:2px solid rgba(117,114,255,.55);outline-offset:6px;border-radius:8px}.annot-dock{position:fixed;top:88px;z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.annot-tools{display:flex;gap:4px;padding:5px;background:var(--annot-surface);border:1px solid var(--annot-line);border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.45)}.annot-tool{position:relative;width:40px;height:40px;border-radius:50%;border:0;background:none;color:var(--annot-ink-2);display:grid;place-items:center;cursor:pointer}.annot-tool:hover{background:var(--annot-hover);color:var(--annot-ink)}.annot-tool.on{background:#7572ff;color:#fff}.annot-tool-dot{position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-radius:50%;border:2px solid var(--annot-surface)}.annot-tool-dot.c-yellow{background:#f2cc00}.annot-tool-dot.c-green{background:#3fbf73}.annot-tool-dot.c-blue{background:#5b9bff}.annot-tool-dot.c-pink{background:#f06aae}.annot-tool:after{content:attr(data-tool-tip);position:absolute;top:calc(100% + 8px);right:0;padding:5px 9px;border-radius:8px;background:var(--annot-hover);color:var(--annot-ink);font:600 12px/1.2 Raleway,system-ui,sans-serif;white-space:nowrap;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .12s,transform .12s}.annot-tool:focus-visible:after,.annot-tool:hover:after{opacity:1;transform:none}.annot-tool.on:after{display:none}.annot-help{width:min(300px,calc(100vw - 32px));padding:12px 14px;background:var(--annot-surface);border:1px solid var(--annot-line);border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.5);color:var(--annot-ink);font-size:13.5px;line-height:1.45;animation:annot-in .14s ease-out}.annot-help-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.annot-help p{margin:8px 0 0;color:var(--annot-ink-2)}.annot-help small{display:block;margin-top:8px;color:var(--annot-ink-3);font-size:11.5px}@media (max-width:720px){.annot-dock{top:auto;bottom:16px;flex-direction:column-reverse}.annot-tool:after{top:auto;bottom:calc(100% + 8px)}}.annot-root [data-annot-flash]{animation:annot-flash 2.4s ease-out}@keyframes annot-flash{0%,40%{outline:3px solid rgba(117,114,255,.8);outline-offset:6px}to{outline:3px solid transparent;outline-offset:6px}}.annot-ui{font-family:Raleway,system-ui,sans-serif;color:var(--annot-ink)}.annot-marker{position:absolute;z-index:24;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#7572ff;border:2px solid var(--annot-surface);color:#fff;cursor:pointer;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.35)}.annot-marker.c-yellow{background:#d9b400;color:#1a1600}.annot-marker.c-green{background:#3fbf73;color:#04210f}.annot-marker.c-blue{background:#5b9bff;color:#031634}.annot-marker.c-pink{background:#f06aae;color:#32041b}.annot-toolbar{position:absolute;z-index:30;display:flex;align-items:center;gap:4px;padding:6px;background:var(--annot-surface);border:1px solid var(--annot-line);border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.45);white-space:nowrap;max-width:calc(100% - 16px);overflow-x:auto}.annot-sep{width:1px;height:22px;background:var(--annot-line);margin:0 4px;flex:none}.annot-dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;flex:none;padding:0}.annot-dot.c-yellow{background:#f2cc00}.annot-dot.c-green{background:#3fbf73}.annot-dot.c-blue{background:#5b9bff}.annot-dot.c-pink{background:#f06aae}.annot-dot:hover{transform:scale(1.1)}.annot-dot.on{border-color:#fff;box-shadow:0 0 0 2px #7572ff}.annot-tb{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:0;background:none;color:var(--annot-ink);font:600 13.5px/1 Raleway,system-ui,sans-serif;cursor:pointer;flex:none}.annot-tb:hover{background:var(--annot-hover)}.annot-tb.on{background:var(--annot-on);color:var(--annot-on-ink)}.annot-tb.icon{padding:0;width:32px;justify-content:center;color:var(--annot-ink-2)}.annot-card{position:absolute;z-index:31;width:min(320px,calc(100% - 16px));padding:14px 16px 16px;background:var(--annot-surface);border:1px solid var(--annot-line);border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.5);font-size:14.5px;line-height:1.5;animation:annot-in .14s ease-out}@keyframes annot-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.annot-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--annot-head)}.annot-card blockquote{margin:8px 0 0;padding-left:10px;border-left:2px solid #7572ff;color:var(--annot-ink-2);font-style:italic;font-size:13.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.annot-note{margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.annot-card textarea{display:block;width:100%;margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--annot-line);background:var(--annot-input);color:var(--annot-ink);font:14.5px/1.5 Raleway,system-ui,sans-serif;resize:vertical;outline:none}.annot-card textarea:focus{border-color:#7572ff;box-shadow:0 0 0 3px rgba(117,114,255,.25)}.annot-row{display:flex;align-items:center;gap:8px;margin-top:12px}.annot-row.wrap{flex-wrap:wrap;gap:6px}.annot-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--annot-line);background:none;color:var(--annot-ink);font:600 13px/1 Raleway,system-ui,sans-serif;cursor:pointer}.annot-btn:hover{background:var(--annot-hover)}.annot-btn.p{background:#7572ff;border-color:#7572ff;color:#fff}.annot-btn.p:disabled{opacity:.5;cursor:default}.annot-btn.on{color:var(--annot-on-ink);border-color:var(--annot-on-line);background:var(--annot-on)}.annot-btn.danger:hover{color:var(--annot-danger-ink);border-color:var(--annot-danger-line);background:var(--annot-danger-bg)}.annot-hint{margin-left:auto;font-size:11.5px;color:var(--annot-ink-3)}.annot-error{position:fixed;z-index:70;left:50%;bottom:24px;transform:translateX(-50%);padding:12px 18px;border-radius:14px;background:var(--annot-danger-bg);border:1px solid var(--annot-danger-line);color:var(--annot-danger-ink);font-size:14px}@media (max-width:720px){.annot-dot{width:28px;height:28px}}@media (min-width:1051px){.lesson-app.lesson-v4-skin .workspace.contents-side{transition:grid-template-columns .3s cubic-bezier(.22,1,.36,1),gap .3s cubic-bezier(.22,1,.36,1)}.lesson-app.lesson-v4-skin .workspace.contents-side.contents-hidden{grid-template-columns:56px minmax(0,1fr)!important;gap:0!important}.lesson-app.lesson-v4-skin .workspace.contents-side>.rail{overflow:clip!important;transition:background .3s ease}.lesson-app.lesson-v4-skin .workspace.contents-side.contents-hidden>.rail{opacity:1!important;transform:none!important;visibility:visible!important;pointer-events:auto!important;align-self:start;position:sticky;top:var(--lesson-header-h,74px);height:calc(100dvh - var(--lesson-header-h, 74px))!important;max-height:none;background:none}.lesson-app.lesson-v4-skin .workspace.contents-side>.rail>.rail-sticky{width:226px;min-width:226px;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .22s ease}.lesson-app.lesson-v4-skin .workspace.contents-side>.rail.is-collapsed>.rail-sticky{transform:translateX(calc(-100% - 24px));opacity:0;visibility:hidden;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .22s ease,visibility 0s .3s}.lesson-app.lesson-v4-skin .rail-expand{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:none;color:var(--v4-muted);cursor:pointer;transition:color .16s ease;animation:rail-expand-in .3s ease both}.lesson-app.lesson-v4-skin .rail-expand:hover{color:var(--v4-acc)}.lesson-app.lesson-v4-skin .rail-expand:focus-visible{outline:2px solid var(--v4-acc);outline-offset:-2px}}@keyframes rail-expand-in{0%{opacity:0}}.lesson-app.lesson-v4-skin .rail-collapse.rail-collapse-bottom{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:40px;margin-top:auto;flex:none;border:1px solid var(--v4-line-2);border-radius:12px;background:none;color:var(--v4-muted);font-size:13px;font-weight:600}.lesson-app.lesson-v4-skin .rail-collapse.rail-collapse-bottom:hover{color:var(--v4-ink);border-color:var(--v4-acc)}.lesson-app.lesson-v4-skin .lesson-header-contents,.lesson-app.lesson-v4-skin .rail-backdrop{display:none}@media (min-width:761px) and (max-width:1050px){.lesson-app.lesson-v4-skin .lesson-header-start>.lesson-header-contents{display:inline-flex;width:38px;padding:0}.lesson-app.lesson-v4-skin .lesson-header-contents>span{display:none}.lesson-app.lesson-v4-skin .workspace.contents-side,.lesson-app.lesson-v4-skin .workspace.contents-top{display:block;padding:0 14px 72px}.lesson-app.lesson-v4-skin .workspace>.rail-backdrop{display:block;position:fixed;inset:var(--lesson-header-h,64px) 0 0;z-index:44;background:rgb(10 10 12/.32);animation:rail-backdrop-in .2s ease both}.lesson-app.lesson-v4-skin .workspace.contents-side>.rail,.lesson-app.lesson-v4-skin .workspace.contents-top>.rail{display:block;position:fixed!important;top:var(--lesson-header-h,64px)!important;left:0;z-index:45;width:min(320px,86vw)!important;height:calc(100dvh - var(--lesson-header-h, 64px))!important;max-height:none!important;margin:0;padding:18px 14px max(16px,env(safe-area-inset-bottom));overflow:hidden!important;background:var(--v4-bg);border-right:1px solid var(--v4-line-2);box-shadow:0 18px 48px rgb(10 10 12/.18);opacity:1!important;pointer-events:auto!important;transform:translateX(-102%)!important;visibility:hidden!important;transition:transform .28s cubic-bezier(.22,1,.36,1),visibility 0s .28s!important}.lesson-app.lesson-v4-skin .workspace.drawer-open>.rail{transform:none!important;visibility:visible!important;transition:transform .28s cubic-bezier(.22,1,.36,1)!important}.lesson-app.lesson-v4-skin .workspace>.rail>.rail-sticky{position:static!important;width:auto!important;min-width:0!important;height:100%!important;max-height:none!important;opacity:1!important;transform:none!important;visibility:inherit!important}.lesson-app.lesson-v4-skin .workspace>.rail .rail-contents{min-height:0}.lesson-app.lesson-v4-skin .workspace>.rail .rail-toc{max-height:none!important;overflow-y:auto;overscroll-behavior:contain}.lesson-app.lesson-v4-skin .rail-expand{display:none!important}}@keyframes rail-backdrop-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.lesson-app.lesson-v4-skin .workspace>.rail,.lesson-app.lesson-v4-skin .workspace>.rail-backdrop{transition:none!important;animation:none!important}}.lesson-app.lesson-v4-skin .workspace>.lesson-main,.lesson-app.lesson-v4-skin main.workspace.contents-side,.lesson-app.lesson-v4-skin main.workspace.contents-top{padding-bottom:0}.lesson-app.lesson-v4-skin .lesson-chapter-nav{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;margin:40px 0 max(28px,env(safe-area-inset-bottom));padding:0;border:0;background:none;box-shadow:none}.lesson-app.lesson-v4-skin .lesson-chapter-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 20px;border:1.5px solid var(--acc-line,var(--v4-line-2));border-radius:11px;background:var(--surface,var(--v4-surface));color:var(--acc,var(--v4-acc));font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.lesson-app.lesson-v4-skin .lesson-chapter-btn:focus-visible,.lesson-app.lesson-v4-skin .lesson-chapter-btn:hover:not(:disabled){background:var(--acc,var(--v4-acc));border-color:var(--acc,var(--v4-acc));color:#fff;outline:none}.lesson-app.lesson-v4-skin .lesson-chapter-btn:disabled{opacity:.38;cursor:default}.lesson-app.lesson-v4-skin .lesson-chapter-count{flex:1 1 auto;min-width:64px;padding:0;border:0;background:none;text-align:center;color:var(--v4-muted);font-size:13px;font-variant-numeric:tabular-nums}@media (max-width:560px){.lesson-app.lesson-v4-skin .lesson-chapter-nav{flex-wrap:wrap;justify-content:center;margin-bottom:max(24px,env(safe-area-inset-bottom))}.lesson-app.lesson-v4-skin .lesson-chapter-count{flex-basis:100%;order:3}.lesson-app.lesson-v4-skin .lesson-chapter-btn{flex:1 1 0;justify-content:center;padding-inline:12px}}@media (prefers-reduced-motion:reduce){.lesson-app.lesson-v4-skin .lesson-chapter-btn{transition:none}}.lesson-app.lesson-v4-skin .rail nav.rail-toc{scrollbar-width:thin;scrollbar-color:var(--v4-line-2) transparent}.lesson-app.lesson-v4-skin .rail nav.rail-toc::-webkit-scrollbar{display:block;width:5px}.lesson-app.lesson-v4-skin .rail nav.rail-toc::-webkit-scrollbar-thumb{background:var(--v4-line-2);border-radius:999px}.lesson-app.lesson-v4-skin .rail nav.rail-toc[data-scroll-more]{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 48px),transparent)}