.post-content{color:var(--color-base-content);letter-spacing:.02em;line-height:1.8}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--color-base-content);margin-top:2.5rem;margin-bottom:1.25rem;scroll-margin-top:100px;font-weight:700;line-height:1.3;position:relative}.post-content h1{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 10%, var(--color-base-100)) 0%, color-mix(in srgb, var(--color-primary) 5%, var(--color-base-100)) 100%);border-radius:var(--radius-box);border-left:5px solid var(--color-primary);box-shadow:0 2px 4px color-mix(in srgb, var(--color-primary) 10%, transparent);padding:.75em 1em;font-size:2rem}.post-content h2{margin-bottom:1rem;padding-bottom:.75em;padding-left:1em;font-size:1.625rem;position:relative}.post-content h2:before{content:"";background:linear-gradient(180deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 60%, transparent) 100%);border-radius:2px;width:4px;height:calc(100% - .75em - 3px);position:absolute;top:0;left:0}.post-content h2:after{content:"";background:linear-gradient(90deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 30%, transparent) 50%, transparent 100%);border-radius:2px;width:100%;height:3px;position:absolute;bottom:0;left:0}.post-content h3{border-left:3px solid color-mix(in srgb, var(--color-secondary) 40%, transparent);background:linear-gradient(90deg, color-mix(in srgb, var(--color-secondary) 5%, transparent) 0%, transparent 100%);padding-top:.25em;padding-bottom:.25em;padding-left:1em;font-size:1.375rem;font-weight:600}.post-content h4{background-color:color-mix(in srgb, var(--color-primary) 10%, transparent);border-radius:var(--radius-selector);border-left:3px solid var(--color-primary);padding:.375em .75em;font-size:1.125rem;font-weight:600;display:inline-block}.post-content h5{color:var(--color-primary);font-size:1rem;font-style:italic;font-weight:600}.post-content h6{color:color-mix(in srgb, var(--color-base-content) 70%, transparent);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.post-content h1 a.anchor,.post-content h2 a.anchor,.post-content h3 a.anchor,.post-content h4 a.anchor,.post-content h5 a.anchor,.post-content h6 a.anchor{color:var(--color-primary);opacity:0;transition:opacity .2s;position:absolute;top:50%;left:-1.5em;transform:translateY(-50%)}.post-content h1:hover a.anchor,.post-content h2:hover a.anchor,.post-content h3:hover a.anchor,.post-content h4:hover a.anchor,.post-content h5:hover a.anchor,.post-content h6:hover a.anchor{opacity:1}.post-content img{border-radius:var(--radius-box);cursor:pointer;max-width:100%;height:auto;margin:2rem auto;transition:transform .3s,box-shadow .3s;display:block;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.post-content img:hover{transform:scale(1.01);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.post-content figure{flex-direction:column;align-items:center;margin:2.5rem 0;display:flex}.post-content figure img{margin:0}.post-content figcaption{color:color-mix(in srgb, var(--color-base-content) 60%, transparent);text-align:center;margin-top:.75rem;font-size:.875rem;font-style:italic}.post-content [data-type=gallery]{margin:2.5rem 0}.post-content [data-type=gallery] [style*="display: grid"]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid!important}.post-content [data-type=gallery-group]{flex-wrap:wrap;gap:8px;display:flex!important}.post-content [data-type=gallery-group]>div{flex:1 1 0;min-width:200px}.post-content img[data-type=gallery-image]{object-fit:cover;border-radius:var(--radius-selector);width:100%;height:100%;margin:0;box-shadow:0 2px 4px #0000001a}.post-content img[data-type=gallery-image]:hover{transform:scale(1.02);box-shadow:0 8px 12px #00000026}.post-content video{border-radius:var(--radius-box);background-color:var(--color-base-200);max-width:100%;height:auto;margin:2rem auto;display:block;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.post-content figure[data-content-type=video]{flex-direction:column;align-items:center;margin:2.5rem 0;display:flex}.post-content audio{border-radius:var(--radius-box);max-width:100%;margin:2rem auto;display:block}.post-content figure[data-content-type=audio]{margin:2.5rem 0}.post-content iframe{border-radius:var(--radius-box);background-color:var(--color-base-100);border:none;max-width:100%;margin:2rem auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.post-content p:has(iframe){text-align:center}.post-content p{margin-bottom:1.25rem;font-size:1rem;line-height:1.8}.post-content p.indent{text-indent:2em}.post-content strong{color:var(--color-base-content);font-weight:800;position:relative}.post-content em{color:var(--color-secondary);font-style:italic}.post-content u{text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:2px;text-decoration-thickness:2px}.post-content del{color:color-mix(in srgb, var(--color-base-content) 50%, transparent);text-decoration:line-through;position:relative}.post-content del:after{content:"";background-color:color-mix(in srgb, var(--color-base-content) 40%, transparent);height:1px;position:absolute;top:50%;left:0;right:0}.post-content mark{background-color:color-mix(in srgb, var(--color-warning) 40%, transparent);color:var(--color-base-content);border-radius:var(--radius-selector);border-bottom:2px solid color-mix(in srgb, var(--color-warning) 60%, transparent);padding:.125rem .375rem}.post-content span[style*=color]{font-weight:500;display:inline}.post-content span[style*=font-size]{display:inline}.post-content a{color:var(--color-primary);background-image:linear-gradient(to bottom, transparent 0%, transparent 95%, color-mix(in srgb, var(--color-primary) 40%, transparent) 95%, color-mix(in srgb, var(--color-primary) 40%, transparent) 100%);background-position:0 100%;background-repeat:no-repeat;background-size:100% 2px;padding-bottom:2px;font-weight:500;text-decoration:none;transition:all .2s;position:relative}.post-content a:hover{color:var(--color-primary);background-size:100% 100%;background-color:color-mix(in srgb, var(--color-primary) 15%, transparent);border-radius:var(--radius-selector);padding-left:.25rem;padding-right:.25rem;text-decoration:none}.post-content :not(pre)>code{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 10%, transparent) 0%, color-mix(in srgb, var(--color-secondary) 10%, transparent) 100%);color:var(--color-primary);border-radius:calc(var(--radius-selector) + 2px);white-space:nowrap;border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);box-shadow:0 1px 2px color-mix(in srgb, var(--color-primary) 5%, transparent), inset 0 1px 0 #ffffff80;padding:.2rem .5rem;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.875em;transition:all .2s}.post-content :not(pre)>code:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 15%, transparent) 0%, color-mix(in srgb, var(--color-secondary) 15%, transparent) 100%);box-shadow:0 2px 4px color-mix(in srgb, var(--color-primary) 10%, transparent), inset 0 1px 0 #ffffff80;transform:translateY(-1px)}.post-content blockquote{border-radius:0 var(--radius-box) var(--radius-box) 0;background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 6%, transparent) 0%, color-mix(in srgb, var(--color-secondary) 4%, transparent) 100%);border-left:4px solid var(--color-primary);box-shadow:0 2px 4px color-mix(in srgb, var(--color-primary) 5%, transparent);margin-top:2rem;margin-bottom:2rem;padding:1.5rem 2rem;position:relative}.post-content blockquote:before{content:"\"";color:color-mix(in srgb, var(--color-primary) 20%, transparent);pointer-events:none;font-family:serif;font-size:3rem;line-height:1;position:absolute;top:.5rem;left:1rem}.post-content blockquote p{z-index:1;margin-bottom:.75rem;position:relative}.post-content blockquote p:last-child{margin-bottom:0}.post-content blockquote blockquote{background:color-mix(in srgb, var(--color-base-200) 50%, transparent);margin-top:1rem;margin-bottom:1rem;margin-left:1.5rem;padding:1rem 1.5rem}.post-content ul,.post-content ol{margin-top:1rem;margin-bottom:1rem;margin-left:1.5rem}.post-content ul{list-style-type:none}.post-content ul li{padding-left:1.5rem;line-height:2;position:relative}.post-content ul:not([data-type=taskList]) li:before{content:"";background-color:var(--color-primary);width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 20%, transparent);border-radius:50%;flex-shrink:0;position:absolute;top:1em;left:0;transform:translateY(-50%)}.post-content :is(ul,ol) ul:not([data-type=taskList]) li:before{border:2px solid var(--color-primary);width:7px;height:7px;box-shadow:none;background-color:#0000;top:1em;transform:translateY(-50%)}.post-content :is(ul,ol) ul:not([data-type=taskList]) ul li:before{background-color:var(--color-primary);width:7px;height:7px;box-shadow:none;border:0;border-radius:2px;top:1em;transform:translateY(-50%)rotate(45deg)}.post-content :is(ul,ol) ul:not([data-type=taskList]) ul ul li:before{background-color:var(--color-primary);width:6px;height:6px;box-shadow:none;border:0;border-radius:50%;top:1em;transform:translateY(-50%)}.post-content ol{counter-reset:list-item;list-style-type:none}.post-content ol li{counter-increment:list-item;padding-left:2rem;line-height:2;position:relative}.post-content ol li:before{content:counter(list-item);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);color:#fff;width:1.5rem;height:1.5rem;box-shadow:0 2px 4px color-mix(in srgb, var(--color-primary) 30%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:1em;left:0;transform:translateY(-50%)}.post-content :is(ul,ol) ol li:before{content:counter(list-item, lower-alpha);width:1.25rem;height:1.25rem;color:var(--color-primary);border:2px solid var(--color-primary);box-shadow:none;background:0 0;font-weight:600;top:1em;transform:translateY(-50%)}.post-content :is(ul,ol) ol ol li:before{content:counter(list-item, lower-roman);background:color-mix(in srgb, var(--color-primary) 12%, transparent);border:1px dashed var(--color-primary);border-radius:6px;top:1em;transform:translateY(-50%)}.post-content li{margin-bottom:.75rem}.post-content li p{margin-bottom:0}.post-content ul ul,.post-content ol ol,.post-content ul ol,.post-content ol ul{margin-top:.75rem;margin-bottom:.75rem;margin-left:1.5rem}.post-content ul[data-type=taskList]{margin-left:0;list-style-type:none}.post-content ul[data-type=taskList] li{align-items:flex-start;margin-bottom:.75rem;padding-left:0;display:flex}.post-content ul[data-type=taskList] li input[type=checkbox]{appearance:none;border:2px solid var(--color-primary);border-radius:var(--radius-selector);cursor:pointer;background-color:#0000;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.25rem;margin-right:.75rem;transition:all .2s;position:relative}.post-content ul[data-type=taskList] li input[type=checkbox]:hover{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent)}.post-content ul[data-type=taskList] li input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.post-content ul[data-type=taskList] li input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:.875rem;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.post-content ul[data-type=taskList] li>div{flex:1}.post-content ul[data-type=taskList] li>div p{margin-bottom:0}.post-content table{border-collapse:collapse;border-radius:var(--radius-box);background-color:var(--color-base-100);border:1px solid var(--color-base-200);width:100%;margin-top:2rem;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.post-content thead{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 12%, var(--color-base-100)) 0%, color-mix(in srgb, var(--color-primary) 6%, var(--color-base-100)) 100%);border-bottom:2px solid var(--color-primary)}.post-content th{text-align:center;vertical-align:middle;color:var(--color-base-content);letter-spacing:.02em;padding:1rem 1.25rem;font-size:.95rem;font-weight:700}.post-content td{text-align:center;vertical-align:middle;border-bottom:1px solid var(--color-base-200);padding:1rem 1.25rem;transition:background-color .2s}.post-content tbody tr{transition:all .2s}.post-content tbody tr:nth-child(2n){background-color:color-mix(in srgb, var(--color-primary) 4%, var(--color-base-100))}.post-content tbody tr:hover{background-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-base-100))}.post-content tbody tr:last-child td{border-bottom:none}.post-content div:has(table){border-radius:var(--radius-box);background:0 0;border:none;padding:0;overflow-x:auto}.post-content details.details{border:1px solid var(--color-base-200);border-radius:var(--radius-box);background:var(--color-base-100);box-shadow:0 6px 16px -12px color-mix(in srgb, var(--color-primary) 40%, transparent);margin:1.5rem 0;overflow:hidden}.post-content details.details summary{cursor:pointer;background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 12%, var(--color-base-100)) 0%, color-mix(in srgb, var(--color-primary) 6%, var(--color-base-100)) 100%);padding:.85rem 1.25rem .85rem 1.5rem;font-weight:600;list-style:none;transition:filter .2s,box-shadow .2s;position:relative}.post-content details.details summary:hover{filter:brightness(.98)}.post-content details.details summary:before{content:"";background:linear-gradient(180deg, var(--color-primary), var(--color-secondary));border-radius:999px;width:3px;position:absolute;top:.45rem;bottom:.45rem;left:0}.post-content details.details summary:after{content:"";border-right:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);width:.6rem;height:.6rem;transition:transform .2s;position:absolute;top:50%;right:1rem;transform:translateY(-50%)rotate(-45deg)}.post-content details.details summary::-webkit-details-marker{display:none}.post-content details.details[open] summary:after{transform:translateY(-50%)rotate(45deg)}.post-content details.details[open] summary{box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--color-primary) 15%, transparent)}.post-content details.details [data-type=detailsContent]{background:color-mix(in srgb, var(--color-primary) 4%, var(--color-base-100));padding:1rem 1.25rem 1.25rem}.post-content hr{background:linear-gradient(to right, transparent, color-mix(in srgb, var(--color-primary) 30%, transparent), transparent);border:none;height:2px;margin-top:2rem;margin-bottom:2rem}.post-content abbr{border-bottom:1px dashed color-mix(in srgb, var(--color-base-content) 50%, transparent);cursor:help}.post-content kbd{border-radius:var(--radius-selector);border:1px solid var(--color-base-300);background-color:var(--color-base-200);padding:.25rem .5rem;font-family:monospace;font-size:.75rem;box-shadow:0 1px 2px #0000000d}.post-content sup{vertical-align:super;color:var(--color-secondary);font-size:.75em;font-weight:600}.post-content sub{vertical-align:sub;color:var(--color-secondary);font-size:.75em;font-weight:600}@media (width<=768px){.post-content h1{padding:.5em .75em;font-size:1.625rem}.post-content h2{font-size:1.375rem}.post-content h3{padding-left:.75em;font-size:1.125rem}.post-content h4{padding:.4em .6em;font-size:1rem}.post-content h5{font-size:.95rem}.post-content h6{font-size:.875rem}.post-content img{margin:1.5rem auto}.post-content figure{margin:1.5rem 0}.post-content blockquote{margin-left:0;padding:1rem 1.25rem}.post-content blockquote:before{font-size:2rem}.post-content table{font-size:.875rem;display:block;overflow-x:auto}.post-content th,.post-content td{padding:.5rem .75rem}.post-content ul,.post-content ol{margin-left:1rem}.post-content ol li{padding-left:1.75rem}.post-content ol li:before{width:1.25rem;height:1.25rem;font-size:.7rem}}@media print{.post-content a{color:var(--color-base-content);text-decoration:underline}.post-content img{box-shadow:none;page-break-inside:avoid}.post-content h1,.post-content h2,.post-content h3{page-break-after:avoid}}#toc-container{margin:0;padding:0}.toc-nav{width:100%}.toc-nav ul{box-sizing:border-box;flex-direction:column;gap:.125rem;width:100%;margin:0;padding:.75rem;display:flex}.toc-item{margin:0;padding:0;list-style:none;position:relative}.toc-link-wrapper{align-items:center;gap:.25rem;display:flex;position:relative}.toc-link{border-radius:var(--radius-selector);cursor:pointer;flex:1;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.875rem;font-weight:400;line-height:1.4;text-decoration:none;transition:all .2s;display:flex;color:var(--color-base-content)!important}.toc-link:before{content:"";background-color:#0000;border-radius:2px;width:3px;transition:background-color .2s;position:absolute;top:0;bottom:0;left:0}.toc-link:hover:before{background-color:color-mix(in srgb, var(--color-primary) 30%, transparent)}.toc-link.active:before{background-color:var(--color-primary)}.toc-link:hover{background-color:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary)!important}.toc-link.active{background-color:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary)!important;font-weight:500!important}.toc-toggle{border-radius:var(--radius-selector);cursor:pointer;width:1.5rem;height:1.5rem;color:var(--color-base-content);opacity:.5;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.toc-toggle:hover{background-color:color-mix(in srgb, var(--color-primary) 15%, transparent);opacity:1;color:var(--color-primary)}.toc-indicator{width:1rem;height:1rem;transition:transform .25s}.toc-toggle.expanded .toc-indicator{transform:rotate(180deg)}.toc-children{border-left:2px solid color-mix(in srgb, var(--color-base-content) 10%, transparent);opacity:0;max-height:0;margin-left:.75rem;padding-left:.5rem;transition:max-height .3s,opacity .2s,margin .2s;overflow:hidden}.toc-children.expanded{opacity:1;max-height:2000px;margin-top:.125rem;margin-bottom:.125rem}.toc-item[data-level="1"]>.toc-link-wrapper>.toc-link{font-weight:500}.toc-item[data-level="2"]>.toc-link-wrapper>.toc-link{padding-left:.875rem;font-size:.813rem}.toc-item[data-level="3"]>.toc-link-wrapper>.toc-link{opacity:.9;padding-left:1.125rem;font-size:.813rem}.toc-item[data-level="4"]>.toc-link-wrapper>.toc-link,.toc-item[data-level="5"]>.toc-link-wrapper>.toc-link,.toc-item[data-level="6"]>.toc-link-wrapper>.toc-link{opacity:.8;padding-left:1.375rem;font-size:.75rem}.toc-item.has-active-child>.toc-link-wrapper>.toc-link{color:var(--color-primary)!important}@media (width<=1024px){.toc-nav ul{padding:.5rem}.toc-link{padding:.375rem .5rem;font-size:.813rem}.toc-children{margin-left:.5rem}.toc-toggle{width:1.25rem;height:1.25rem}}:root{--halo-cw-primary-1-color:var(--color-primary);--halo-cw-primary-2-color:color-mix(in oklch, var(--color-primary) 70%, transparent);--halo-cw-primary-3-color:color-mix(in oklch, var(--color-primary) 40%, transparent);--halo-cw-text-1-color:var(--color-base-content);--halo-cw-text-2-color:color-mix(in oklch, var(--color-base-content) 70%, transparent);--halo-cw-text-3-color:color-mix(in oklch, var(--color-base-content) 50%, transparent);--halo-cw-muted-1-color:var(--color-base-300);--halo-cw-muted-2-color:var(--color-base-200);--halo-cw-muted-3-color:var(--color-base-100);--halo-cw-base-rounded:var(--radius-box);--halo-cw-avatar-rounded:var(--radius-full);--halo-cw-avatar-size:2.5rem;--halo-cw-base-font-size:1rem;--halo-cw-base-font-family:inherit}[data-theme=dark],[data-theme=dark] :root{--halo-cw-primary-1-color:var(--color-primary);--halo-cw-primary-2-color:color-mix(in oklch, var(--color-primary) 70%, transparent);--halo-cw-primary-3-color:color-mix(in oklch, var(--color-primary) 40%, transparent);--halo-cw-text-1-color:var(--color-base-content);--halo-cw-text-2-color:color-mix(in oklch, var(--color-base-content) 70%, transparent);--halo-cw-text-3-color:color-mix(in oklch, var(--color-base-content) 50%, transparent);--halo-cw-muted-1-color:var(--color-base-300);--halo-cw-muted-2-color:var(--color-base-200);--halo-cw-muted-3-color:var(--color-base-100)}
