@layer components{.prose-lesson,[data-reading-root]{--prose-base:1rem}@media (min-width:48rem){.prose-lesson,[data-reading-root]{--prose-base:1.0625rem}}.prose-lesson{--prose-leading:1.85;--prose-gap:1.25em;color:var(--color-muted);font-size:calc(var(--prose-base) * var(--prose-scale,1));line-height:var(--prose-leading);overflow-wrap:break-word;counter-reset:figure}.prose-lesson>*+*{margin-top:var(--prose-gap)}.prose-lesson>:first-child{margin-top:0}.prose-lesson :where(p,li){text-wrap:pretty}.prose-lesson :where(h2,h3,h4){color:var(--color-foreground);text-wrap:balance;scroll-margin-top:6rem;font-weight:600}.prose-lesson :where(h2){letter-spacing:-.015em;font-size:1.5em;line-height:1.35}.prose-lesson :where(h3){letter-spacing:-.005em;font-size:1.2em;line-height:1.45}.prose-lesson :where(h4){font-size:1.05em;line-height:1.55}.heading-block{--anchor-top:0em;position:relative}.prose-lesson>[data-heading-block="2"],.prose-lesson>h2{background-image:linear-gradient(#fff, #fff), linear-gradient(var(--lab-line), var(--lab-line));background-position:0 0,0 0;background-repeat:no-repeat;background-size:1.5rem 1px,100% 1px;margin-top:2.75em;padding-top:1.25em}.prose-lesson>[data-heading-block="2"]:first-child,.prose-lesson>h2:first-child{background-image:none;padding-top:0}[data-heading-block="2"]{--anchor-top:1.25em;--anchor-height:2.025em}.prose-lesson>[data-heading-block="3"],.prose-lesson>h3{margin-top:2.1em}[data-heading-block="3"]{--anchor-height:1.74em}.prose-lesson>h4{margin-top:1.75em}.heading-anchor{top:var(--anchor-top);width:1.25em;height:var(--anchor-height,1.85em);color:var(--color-subtle);opacity:0;transition:opacity var(--lab-wipe) var(--lab-ease), color var(--lab-wipe) var(--lab-ease);justify-content:center;align-items:center;display:inline-flex;position:absolute;left:-1.75em}.heading-anchor svg{width:.95em;height:.95em}.heading-anchor:hover,.heading-anchor[data-copied]{color:var(--color-foreground)}.heading-block:hover .heading-anchor,.heading-anchor:focus-visible,.heading-anchor[data-copied]{opacity:1}.heading-anchor:focus-visible{outline-offset:2px;outline:2px solid #fff}.heading-anchor__tip{white-space:nowrap;color:var(--color-foreground);font-size:.75rem;font-weight:400;line-height:1.5;position:absolute;left:calc(100% + .5rem)}.heading-anchor[data-copied] .heading-anchor__tip{border:1px solid var(--lab-line-strong);background-color:#000;padding:.25rem .5rem}@media (hover:none){.heading-anchor{display:none}}.prose-lesson :where(strong){color:var(--color-foreground);font-weight:600}.prose-lesson :where(em){color:var(--color-foreground);font-style:normal}.prose-lesson :where(a:not(.heading-anchor)){color:var(--color-foreground);text-underline-offset:.3em;transition:text-decoration-color var(--lab-wipe) var(--lab-ease);text-decoration-line:underline;text-decoration-color:#ffffff5c;text-decoration-thickness:1px}.prose-lesson :where(a:not(.heading-anchor)):hover{text-decoration-color:currentColor}.prose-lesson :where(a:not(.heading-anchor)):focus-visible{outline-offset:2px;border-radius:1px;outline:2px solid #fff}.external-mark{vertical-align:.02em;opacity:.6;width:.72em;height:.72em;margin-left:.18em;display:inline-block}.prose-lesson :where(:not(pre)>code){border:1px solid var(--lab-line);color:var(--color-foreground);font-family:var(--font-mono);overflow-wrap:anywhere;background-color:#ffffff0f;border-radius:2px;padding:.1em .38em;font-size:.86em}.prose-lesson :where(kbd){border:1px solid var(--lab-line-strong);color:var(--color-foreground);font-family:var(--font-mono);border-bottom-width:2px;border-radius:2px;padding:.05em .4em;font-size:.82em}.prose-lesson :where(ul,ol){padding-left:1.5em}.prose-lesson :where(ul){list-style:none}.prose-lesson :where(ul>li){position:relative}.prose-lesson :where(ul>li):before{content:"";top:calc(var(--prose-leading) * .5em);background-color:#ffffff8c;width:.55em;height:1px;position:absolute;left:-1.15em}.prose-lesson :where(ol){list-style:decimal}.prose-lesson :where(ol>li){padding-left:.2em}.prose-lesson :where(ol>li)::marker{color:var(--color-subtle);font-variant-numeric:tabular-nums}.prose-lesson :where(li+li,li>ul,li>ol){margin-top:.5em}.prose-lesson :where(li>p+p){margin-top:.75em}.prose-lesson :where(ul.contains-task-list){padding-left:.25em}.prose-lesson :where(ul.contains-task-list>li):before{display:none}.prose-lesson :where(input[type=checkbox]){appearance:none;vertical-align:-.12em;border:1px solid #ffffff73;border-radius:2px;width:.95em;height:.95em;margin-right:.65em;display:inline-block}.prose-lesson :where(input[type=checkbox]:checked){background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") 50%/80% no-repeat;border-color:#fff}.prose-lesson :where(blockquote){color:#ffffffe0;border-left:2px solid #ffffff52;padding:.1em 0 .1em 1.25em}.prose-lesson :where(blockquote>*+*){margin-top:.75em}.callout{--callout-rule:#fff6;border:1px solid var(--lab-line);box-shadow:inset 2px 0 0 var(--callout-rule);background-color:#ffffff08;border-left:0;border-radius:0 2px 2px 0;padding:1em 1.25em 1.05em 1.4em}.callout:where([data-callout=important],[data-callout=warning],[data-callout=caution]){--callout-rule:#fff}.callout[data-callout=caution]{border-color:var(--lab-line-strong);background-color:#ffffff0d}.callout-title{color:var(--color-foreground);letter-spacing:.08em;align-items:center;gap:.55em;font-size:.875em;font-weight:600;line-height:1.5;display:flex}.callout-body{margin-top:.55em}.callout-body>*+*{margin-top:.75em}.prose-lesson :where(hr){background:linear-gradient(90deg,#0000,#ffffff3d,#0000);border:0;height:1px;margin-block:3em}.prose-lesson>figure{counter-increment:figure;margin-top:2em}.prose-lesson>figure+*{margin-top:2em}.prose-lesson>[data-heading-block]+*,.prose-lesson>:is(h2,h3,h4)+*{margin-top:.75em}.prose-lesson :where(figcaption){color:var(--color-subtle);gap:.9em;margin-top:.85em;font-size:.8125em;line-height:1.6;display:flex}.prose-lesson :where(figcaption):before{content:"图 " counter(figure);color:var(--color-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.zoomable{cursor:zoom-in;border-radius:2px;width:fit-content;max-width:100%;display:block;position:relative}.zoomable img{border:1px solid var(--lab-line);background-color:var(--color-elevated);border-radius:2px;max-width:100%;height:auto;display:block}.zoomable:focus-visible{outline-offset:3px;outline:2px solid #fff}.zoomable__hint{border:1px solid var(--lab-line-strong);color:#fff;opacity:0;width:2rem;height:2rem;transition:opacity var(--lab-wipe) var(--lab-ease);background-color:#000000b8;border-radius:2px;place-items:center;display:grid;position:absolute;top:.625rem;right:.625rem}.zoomable__hint svg{width:.875rem;height:.875rem}.zoomable:focus-visible .zoomable__hint{opacity:1}@media (hover:hover){.zoomable:hover .zoomable__hint{opacity:1}}@media (hover:none){.zoomable__hint{opacity:.85}}.table-wrapper{border:1px solid var(--color-border);border-radius:2px;overflow-x:auto}.prose-lesson :where(table){border-collapse:collapse;width:100%;font-size:.875em;line-height:1.65}.prose-lesson :where(th,td){border-bottom:1px solid var(--lab-line);text-align:left;vertical-align:top;padding:.7em .75em}@media (min-width:48rem){.prose-lesson :where(th,td){padding-inline:1em}}.prose-lesson :where(td:first-child){word-break:keep-all}.prose-lesson :where(th){color:var(--color-foreground);white-space:nowrap;background-color:#ffffff0a;font-weight:500}.prose-lesson :where(tr:last-child>td){border-bottom:0}.prose-lesson>:where(.footnotes){border-top:1px solid var(--lab-line);color:var(--color-subtle);margin-top:3em;padding-top:1.5em;font-size:.875em}.prose-lesson .footnotes :where(h2){color:var(--color-subtle);letter-spacing:.12em;font-size:.875rem;font-weight:500}.prose-lesson .footnotes .heading-anchor{display:none}.prose-lesson :where([data-footnote-ref]){padding-inline:.15em;font-size:.75em;text-decoration:none}.code-block{border:1px solid var(--lab-line);background-color:var(--color-elevated);border-radius:2px;overflow:hidden}.code-block-header{border-bottom:1px solid var(--lab-line);min-height:2.5rem;color:var(--color-subtle);background-color:#ffffff06;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .375rem 0 1rem;font-size:.75rem;line-height:1.5;display:flex}.code-block-label{letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;gap:.75em;min-width:0;display:inline-flex;overflow:hidden}.code-block-action{height:1.875rem;color:var(--color-subtle);white-space:nowrap;transition:color var(--lab-wipe) var(--lab-ease), background-color var(--lab-wipe) var(--lab-ease);border-radius:2px;align-items:center;gap:.375rem;padding:0 .5rem;font-size:.75rem;display:inline-flex}.code-block-action:hover{color:var(--color-foreground);background-color:#ffffff0f}.code-block-action[aria-pressed=true]{color:var(--color-foreground);background-color:#ffffff1a}.code-block-action:focus-visible,.code-block-fold:focus-visible{outline-offset:-2px;outline:2px solid #fff}@media (pointer:coarse){.code-block-header{min-height:2.75rem}.code-block-action{height:2.75rem}}.code-block pre{font-family:var(--font-mono);tab-size:2;padding-block:1em;font-size:.8125em;line-height:1.75;overflow-x:auto}.code-block pre:focus-visible{outline-offset:-2px;outline:2px solid #fff}.code-block code{width:max-content;min-width:100%;display:grid}.code-block .line{min-height:1lh;padding-inline:1.1rem}.code-block[data-line-numbers] code{counter-reset:line}.code-block[data-line-numbers] .line{padding-left:calc(2.1rem + 2.5ch);position:relative}.code-block[data-line-numbers] .line:before{content:counter(line);counter-increment:line;color:#ffffff5c;text-align:right;-webkit-user-select:none;user-select:none;width:2.5ch;position:absolute;left:1.1rem}.code-block[data-wrap] pre{white-space:pre-wrap}.code-block[data-wrap] code{width:auto}.code-block[data-wrap] .line{overflow-wrap:anywhere}html[data-js] .code-block[data-foldable]:not([data-expanded]) pre{max-height:calc(var(--code-visible-lines) * 1.75em + 1em);overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - 5em),#0000);mask-image:linear-gradient(#000 calc(100% - 5em),#0000)}.code-block-fold{display:none}html[data-js] .code-block-fold{border-top:1px solid var(--lab-line);width:100%;min-height:2.75rem;color:var(--color-muted);transition:color var(--lab-wipe) var(--lab-ease), background-color var(--lab-wipe) var(--lab-ease);justify-content:center;align-items:center;font-size:.8125rem;display:flex}html[data-js] .code-block-fold:hover{color:var(--color-foreground);background-color:#ffffff0a}.shiki,.shiki span{color:var(--shiki-lab);font-style:var(--shiki-lab-font-style);font-weight:var(--shiki-lab-font-weight);-webkit-text-decoration:var(--shiki-lab-text-decoration);text-decoration:var(--shiki-lab-text-decoration)}.lightbox{width:100%;max-width:none;height:100%;max-height:none;color:var(--color-foreground);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.lightbox::backdrop{background:0 0}.lightbox__backdrop{background-color:#000000f0;position:absolute;inset:0}.lightbox__stage{place-items:center;display:grid;position:absolute;inset:4.25rem 1rem 3.75rem;overflow:hidden}@media (min-width:48rem){.lightbox__stage{inset:4.5rem 3rem 4.25rem}}.lightbox__image{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%}.lightbox__image[data-can-zoom]{cursor:zoom-in}.lightbox__stage[data-zoomed]{cursor:grab;overscroll-behavior:contain;place-items:start;overflow:auto}.lightbox__stage[data-zoomed]:active{cursor:grabbing}.lightbox__stage[data-zoomed] .lightbox__image{cursor:zoom-out;max-width:none;max-height:none;margin:auto}.lightbox__bar{gap:.5rem;padding:.75rem 1rem;display:flex;position:absolute;top:0;right:0}@media (min-width:48rem){.lightbox__bar{padding:1rem 1.5rem}}.lightbox__button{border:1px solid var(--lab-line-strong);height:2.75rem;color:var(--color-foreground);transition:border-color var(--lab-wipe) var(--lab-ease), background-color var(--lab-wipe) var(--lab-ease);background-color:#0009;border-radius:2px;align-items:center;gap:.5rem;padding:0 .875rem;font-size:.875rem;display:inline-flex}.lightbox__button svg{width:1rem;height:1rem}.lightbox__button:hover{background-color:#ffffff14;border-color:#fff}.lightbox__button:focus-visible{outline-offset:2px;outline:2px solid #fff}.lightbox__button[aria-pressed=true]{border-color:#fff}.lightbox__count{color:var(--color-muted);font-variant-numeric:tabular-nums;align-items:center;padding-inline:.25rem;font-size:.875rem;display:inline-flex}@media (max-width:47.99rem){.lightbox__button--step{padding:0 .75rem}.lightbox__count,.lightbox__button--step span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.lightbox__caption{min-height:3.75rem;color:var(--color-muted);text-align:center;text-wrap:balance;justify-content:center;align-items:center;font-size:.875rem;line-height:1.5;display:flex;position:absolute;bottom:0;left:1rem;right:1rem}}
