.tag-pill[data-astro-cid-marlabwr]{display:inline-block;font-size:var(--size-pill);line-height:1;color:var(--pill-text);background:var(--pill-bg);padding:6px 12px;border-radius:var(--radius-pill);text-transform:lowercase;transition:background .2s ease}.tag-pill[data-astro-cid-marlabwr]:hover{color:var(--pill-text);background:var(--pill-bg-hover)}.tag-pill__hash[data-astro-cid-marlabwr]{padding-right:3px}.floating-toc[data-astro-cid-xvrfupwn]{position:fixed;top:220px;width:210px;max-height:70vh;overflow-y:auto;font-size:13px;line-height:1.4;z-index:50;display:none}@media(min-width:1200px){.floating-toc[data-astro-cid-xvrfupwn].is-positioned{display:block}}.floating-toc__label[data-astro-cid-xvrfupwn]{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--fg-muted);margin:0 0 12px}.floating-toc__list[data-astro-cid-xvrfupwn]{list-style:none;margin:0;padding:0}.floating-toc__list[data-astro-cid-xvrfupwn] li[data-astro-cid-xvrfupwn]{margin:0 0 8px}.floating-toc__link[data-astro-cid-xvrfupwn]{display:block;position:relative;padding-left:22px;text-decoration:none;color:var(--fg-muted);border-left:2px solid transparent;transition:color .15s ease,border-color .15s ease}.floating-toc__link[data-astro-cid-xvrfupwn]:hover{color:var(--fg-strong)}.floating-toc__link[data-astro-cid-xvrfupwn][data-done]{color:var(--fg-faint)}.floating-toc__link[data-astro-cid-xvrfupwn][data-active]{color:var(--fg-strong);border-left-color:var(--accent-deep)}.floating-toc__tick[data-astro-cid-xvrfupwn]{position:absolute;left:6px;top:0;color:var(--fg-strong);font-weight:600;line-height:1.4}.floating-toc__link[data-astro-cid-xvrfupwn][data-done] .floating-toc__tick[data-astro-cid-xvrfupwn]:before{content:"✓"}.post[data-draft=true] pre.astro-code{counter-reset:astro-line}.post[data-draft=true] pre.astro-code .line:before{counter-increment:astro-line;content:counter(astro-line);display:inline-block;width:2.5ch;margin-right:1ch;text-align:right;color:var(--fg-muted);opacity:.5;user-select:none}.post[data-astro-cid-gjtny2mx]{padding-top:var(--pad-section-y);padding-bottom:var(--pad-section-y)}.post__header[data-astro-cid-gjtny2mx]{text-align:center;padding-bottom:36px}.post__title[data-astro-cid-gjtny2mx]{font-size:var(--size-post-title);line-height:var(--line-tight)}.post__meta[data-astro-cid-gjtny2mx]{font-size:var(--size-meta);color:var(--fg-muted);margin-top:12px}.post__meta-sep[data-astro-cid-gjtny2mx]{padding:0 6px}.post__meta-updated[data-astro-cid-gjtny2mx]{color:var(--fg-strong)}.post__footer[data-astro-cid-gjtny2mx]{padding-top:36px;display:flex;flex-direction:column;gap:16px}.post__categories[data-astro-cid-gjtny2mx]{font-size:var(--size-meta);color:var(--fg-muted);margin:0}.post__categories[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx]{color:var(--fg-muted)}.post__categories[data-astro-cid-gjtny2mx] a[data-astro-cid-gjtny2mx]:hover{color:var(--accent)}.post__cat-sep[data-astro-cid-gjtny2mx]{color:var(--fg-faint);padding:0 4px}.post__tags[data-astro-cid-gjtny2mx]{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.prose-column{counter-reset:ann}.has-sidenote{position:relative}.ann-anchor{counter-increment:ann;cursor:pointer;text-decoration:underline dotted var(--fg-muted);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s ease,color .15s ease;outline:none;-webkit-tap-highlight-color:transparent;color:var(--fg-strong)}.ann-anchor:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.ann-anchor:hover,.ann-anchor.active{text-decoration-color:var(--accent)}.ann-num{display:inline-block;vertical-align:super;font-size:.5em;font-weight:700;line-height:1;color:var(--fg-muted);opacity:.6;margin-left:1px;transform-origin:center bottom;transition:transform .4s cubic-bezier(.34,1.56,.64,1),color .15s ease,opacity .15s ease}.ann-num:before{content:counter(ann)}.ann-anchor:hover .ann-num,.ann-anchor:focus-visible .ann-num,.ann-anchor.active .ann-num{opacity:1;color:var(--accent);transform:scale(1.7) translateY(-2px)}.ann-note{display:block;position:absolute;top:var(--note-top, 0px);right:-240px;width:200px;padding:12px 32px 12px 14px;background:var(--bg-elevated);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:4px;font-size:12px;line-height:1.55;color:var(--fg);opacity:0;transform:translate(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease;text-indent:0}.ann-note:before{content:counter(ann);display:inline-block;color:var(--accent);font-weight:700;margin-right:6px}.ann-note-term{color:var(--fg-strong);font-weight:600;margin-right:2px}.ann-note-term:after{content:" — ";font-weight:400;color:var(--fg-muted);margin:0 2px}.ann-note code{font-family:var(--font-mono);font-size:.92em;background:#0000000f;padding:1px 4px;border-radius:3px}.ann-note a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.ann-note a:hover,.ann-note strong{color:var(--fg-strong)}.ann-note.peeking,.ann-note.pinned{opacity:1;transform:translate(0);pointer-events:auto}.ann-note.pinned{box-shadow:0 4px 16px #00000014}.ann-note-close{position:absolute;top:6px;right:6px;background:none;border:none;color:var(--fg-muted);cursor:pointer;font-size:16px;line-height:1;padding:4px 6px;border-radius:3px;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.ann-note.pinned .ann-note-close{opacity:1}.ann-note-close:hover{color:var(--fg-strong);background:var(--rule)}@media(max-width:1100px){.ann-note{display:none;position:static;top:auto;right:auto;width:auto;margin:10px 0 12px;padding:10px 36px 10px 14px;opacity:1;transform:none;pointer-events:auto}.ann-note.peeking,.ann-note.pinned{display:block}}@media(prefers-reduced-motion:reduce){.ann-num{transition:color .15s ease,opacity .15s ease}.ann-anchor:hover .ann-num,.ann-anchor:focus-visible .ann-num,.ann-anchor.active .ann-num{transform:none}.ann-note{transition:opacity .01s;transform:none!important}}.code-highlight{background:color-mix(in srgb,var(--fg-muted) 12%,transparent);padding:0 3px;margin:0 -1px;border-radius:3px;cursor:pointer;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.code-highlight:hover,.code-highlight:focus-visible{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--fg-strong);outline:none}pre.astro-code{position:relative}pre.astro-code[data-code-block]:after{content:attr(data-code-block);position:absolute;bottom:8px;right:12px;font-size:10px;font-weight:700;color:var(--fg-muted);background:color-mix(in srgb,var(--fg-muted) 15%,transparent);padding:2px 6px;border-radius:3px;letter-spacing:.05em;pointer-events:none;font-family:var(--font-mono)}pre.astro-code .line.line-glow{background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:inset 2px 0 0 var(--accent)}pre.astro-code .match-glow{background:color-mix(in srgb,var(--accent) 32%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.explained{margin:24px 0;display:flex;flex-direction:column;gap:12px}.explained-code{border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--bg-elevated)}.explained-code pre.shiki{margin:0;padding:16px;font-size:13px;line-height:1.55;overflow-x:auto;background:transparent!important}.explained-code .line{display:block;padding:0 6px;margin:0 -6px;border-left:2px solid transparent;transition:background .15s ease,border-left-color .15s ease}.explained-code .line.line-hl{background:color-mix(in srgb,var(--accent) 22%,transparent);border-left-color:var(--accent)}.explained-code .shiki,.explained-code .shiki span{color:var(--shiki-light);background-color:var(--shiki-light-bg);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}[data-theme=romantic] .explained-code .shiki,[data-theme=romantic] .explained-code .shiki span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}.ann-highlight{background:color-mix(in srgb,var(--fg-muted) 12%,transparent);padding:0 3px;margin:0 -1px;border-radius:3px;cursor:help;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.ann-highlight:hover,.ann-highlight:focus-visible{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--fg-strong);outline:none}
