.pfx-prose :is(h2,h3)>a{background-image:linear-gradient(var(--accent), var(--accent));transition:background-size .6s var(--fx-ease);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.pfx-prose :is(h2,h3)>a:after{content:"#";font-family:var(--font-mono);color:var(--accent);opacity:0;margin-left:.3em;font-weight:400;transition:opacity .3s}.pfx-prose :is(h2,h3)>a:focus-visible:after{opacity:1}@media (hover:hover) and (pointer:fine){.pfx-prose :is(h2,h3)>a:hover{background-size:100% 1px}.pfx-prose :is(h2,h3)>a:hover:after{opacity:1}}.pfx-code{border:1px solid var(--line);background:var(--bg-elevated);transition:border-color .4s var(--fx-ease);border-radius:14px;overflow:hidden}.pfx-code:focus-within{border-color:var(--line-strong)}.prose-tdx figure[data-rehype-pretty-code-figure]>figcaption+.pfx-code{border-top-left-radius:0;border-top-right-radius:0}.pfx-code-bar{border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--fg) 3%, var(--bg-elevated));min-height:2.5rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.75rem;padding:.25rem .3rem .25rem 1rem;font-size:.66rem;line-height:1;display:flex}.pfx-code-lang{color:var(--fg);align-items:center;gap:.55rem;display:inline-flex}.pfx-code-lang:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent-glow);border-radius:2px}.pfx-code-meta{margin-left:auto}.prose-tdx .pfx-code>pre{border:0;border-radius:0;margin:0}.pfx-code>pre:focus-visible{outline-offset:-3px}.pfx-code code{width:max-content;min-width:100%}@media (hover:hover) and (pointer:fine){.pfx-code:hover{border-color:var(--line-strong)}.pfx-code [data-line]{transition:background-color .25s,box-shadow .25s}.pfx-code [data-line]:hover{background-color:color-mix(in oklab, var(--accent) 7%, transparent);box-shadow:inset 2px 0 0 color-mix(in oklab, var(--accent) 70%, transparent)}}.pfx-copy{border:1px solid var(--line);background:var(--bg-elevated);height:2rem;color:var(--muted);cursor:pointer;transition:color .3s ease, border-color .3s ease, background-color .3s ease, gap .45s var(--fx-ease);border-radius:999px;align-items:center;gap:0;margin-left:auto;padding:0 .65rem;display:inline-flex}.pfx-code-meta+.pfx-copy{margin-left:0}.pfx-copy:hover{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 45%, transparent)}.pfx-copy[data-done]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);gap:.45rem}.pfx-copy-label{transition:grid-template-columns .45s var(--fx-ease);grid-template-columns:0fr;display:grid}.pfx-copy-label>span{white-space:nowrap;overflow:hidden}.pfx-copy[data-done] .pfx-copy-label{grid-template-columns:1fr}@media (pointer:coarse){.pfx-copy{height:2.75rem;padding-inline:.9rem}}.pfx-morph-icon{flex-shrink:0;width:14px;height:14px;display:inline-grid}.pfx-morph-icon>*{grid-area:1/1;width:14px;height:14px}.pfx-morph-icon>:first-child{transition:scale .35s var(--fx-ease), opacity .2s ease}.pfx-morph-icon>svg:last-child path{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1.05;stroke-dashoffset:1.02px;transition:stroke-dashoffset .5s var(--fx-ease-in-out)}[data-done]>.pfx-morph-icon>:first-child{opacity:0;scale:.3}[data-done]>.pfx-morph-icon>svg:last-child path{stroke-dashoffset:0;transition-delay:.1s}.pfx-swap{display:inline-grid;overflow:hidden}.pfx-swap>*{transition:translate .5s var(--fx-ease), opacity .3s ease;grid-area:1/1}.pfx-swap>:last-child{opacity:0;translate:0 110%}[data-done]>.pfx-swap>:first-child{opacity:0;translate:0 -110%}[data-done]>.pfx-swap>:last-child{opacity:1;translate:none}.pfx-ring-track,.pfx-ring-bar{fill:none;stroke-width:2px}.pfx-ring-track{stroke:var(--line)}.pfx-ring-bar{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:94.25;stroke-dashoffset:calc(94.25px * (1 - var(--pfx-read,0)));opacity:clamp(0, calc(var(--pfx-read,0) * 40), 1);transition:stroke-dashoffset .25s linear,filter .4s}.pfx-toc[data-done] .pfx-ring-bar{filter:drop-shadow(0 0 3px var(--accent-glow))}.pfx-toc-list{--pfx-mark-y:0px;--pfx-mark-h:0px;--pfx-mark-o:0}.pfx-toc-rail,.pfx-toc-fill,.pfx-toc-mark{pointer-events:none;position:absolute;top:0}.pfx-toc-rail{background:var(--line);width:1px;bottom:0;left:0}.pfx-toc-fill{width:1px;height:calc(var(--pfx-mark-y) + var(--pfx-mark-h));background:linear-gradient(to bottom, color-mix(in oklab, var(--accent) 8%, transparent), color-mix(in oklab, var(--accent) 60%, transparent));opacity:var(--pfx-mark-o);left:0}.pfx-toc-mark{width:3px;height:var(--pfx-mark-h);background:var(--accent);box-shadow:0 0 14px var(--accent-glow);translate:0 var(--pfx-mark-y);opacity:var(--pfx-mark-o);border-radius:3px;left:-1px}.pfx-toc-list[data-ready]>.pfx-toc-fill{transition:height .6s var(--fx-ease), opacity .3s ease}.pfx-toc-list[data-ready]>.pfx-toc-mark{transition:translate .6s var(--fx-ease), height .6s var(--fx-ease), opacity .3s ease}.pfx-toc-link{color:var(--muted);transition:color .3s ease, translate .5s var(--fx-ease)}.pfx-toc-link:hover{color:var(--fg)}.pfx-toc-link[data-state=past]{color:color-mix(in oklab, var(--fg) 60%, var(--muted))}.pfx-toc-link[data-state=active]{color:var(--fg);translate:3px}.pfx-toc-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted);padding-top:.1em;font-size:10px;transition:color .3s}.pfx-toc-link[data-state=active] .pfx-toc-num{color:var(--accent)}.pfx-lessons{--pfx-lesson-y:0px;--pfx-lesson-h:0px;--pfx-lesson-o:0}.pfx-lesson-mark{inset-inline:0;z-index:-1;height:var(--pfx-lesson-h);background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent);translate:0 var(--pfx-lesson-y);opacity:var(--pfx-lesson-o);pointer-events:none;border-radius:.5rem;position:absolute;top:0}.pfx-lessons[data-ready]>.pfx-lesson-mark{transition:translate .6s var(--fx-ease), height .6s var(--fx-ease), opacity .3s ease}.pfx-lessons:not([data-ready]) [aria-current=page]{background:var(--accent-soft)}.pfx-disclosure{interpolate-size:allow-keywords}.pfx-disclosure::details-content{block-size:0;transition:block-size .5s var(--fx-ease), content-visibility .5s allow-discrete;overflow-y:clip}.pfx-disclosure[open]::details-content{block-size:auto}.pfx-trace{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pfx-trace rect{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:1 1.02;stroke-dashoffset:1.02px;opacity:0;transition:stroke-dashoffset .9s var(--fx-ease-in-out), opacity .25s ease}.pfx-field:focus-within .pfx-trace rect{stroke-dashoffset:0;opacity:1}.pfx-wobble{animation:pfx-wobble .9s var(--fx-ease) .15s both}@keyframes pfx-wobble{0%{opacity:0;rotate:none;scale:.6}40%{opacity:1;rotate:-12deg;scale:1.1}60%{rotate:8deg}80%{rotate:-4deg}to{opacity:1;rotate:none;scale:1}}
