article h1,article h2,article h3,article h4{scroll-margin:4rem;margin-top:2rem}article{line-height:1.6;min-width:0}article hr{height:1px;border:none;background-color:#353535}p:has(img){display:flex;align-items:center;justify-content:center;margin-top:1rem;margin-bottom:1rem}p img{max-width:100%;height:auto}.toc-card{min-width:0;background-color:rgba(var(--primary-rgb),.15)!important;border-color:var(--primary)!important}.toc-card ol{padding:0;display:flex;flex-direction:column;gap:.5rem;margin-bottom:0;list-style-type:none;position:relative}.toc-card ol li a{color:#c7c7c7;font-size:.925rem;padding:.25rem .5rem;box-decoration-break:clone;-webkit-box-decoration-break:clone}.toc-card ol li a:hover{color:#fff;text-decoration:none}.toc-li[data-depth="3"]{margin-left:1rem}.toc-li[data-depth="4"]{margin-left:2rem}.no-mt{margin-top:0}ol li a.active{color:#fff;background:var(--primary)}.left{height:100%;position:relative}.toc-card{position:sticky;top:2rem}.article-header{position:relative;width:100%;height:fit-content;scroll-margin-top:2rem}.project-carousel{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden}.carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .3s ease}.carousel-slide.is-active{opacity:1}.project-carousel .glow-image,.project-carousel img{width:100%;height:100%;object-fit:contain;background:#0d0d0d}.project-carousel .carousel-video{width:100%;height:100%;background:#0d0d0d;position:relative}.project-carousel .carousel-video iframe{width:100%;height:100%;border:0;display:block}.project-carousel .glow-image img:not(.glow){cursor:zoom-in}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:#0009;color:#fff;border:1px solid #353535;width:36px;height:36px;border-radius:999px;cursor:pointer;z-index:3}.carousel-prev{left:.75rem}.carousel-next{right:.75rem}.carousel-dots{position:absolute;left:50%;bottom:.75rem;transform:translate(-50%);display:flex;gap:.5rem;z-index:3}.carousel-dot{width:8px;height:8px;border-radius:999px;border:1px solid #353535;background:#ffffff80;cursor:pointer}.carousel-dot.is-active{background:var(--primary)}.project-carousel[data-count="1"] .carousel-nav,.project-carousel[data-count="1"] .carousel-dots{display:none}.lightbox{position:fixed;inset:0;background:#000c;display:none;align-items:center;justify-content:center;padding:2rem;z-index:9999}.lightbox.is-open{display:flex}.lightbox-content{max-width:min(1200px,95vw);max-height:90vh}.lightbox-image{width:100%;height:100%;object-fit:contain;background:#0d0d0d;border:1px solid #353535;display:block}body.lightbox-open{overflow:hidden}.header{display:flex;flex-direction:column;gap:.5rem;position:absolute;top:1.5rem;left:1rem;max-width:calc(100% - 3rem);z-index:2}.article-h1{margin-bottom:0;font-size:2em;background:#fff;padding:.25rem .675rem;box-decoration-break:clone;-webkit-box-decoration-break:clone;position:relative;line-height:1.2;display:inline;color:#000}.article-info{display:flex;flex-direction:row;gap:.5rem;font-family:Geist Mono,Courier New,Courier,monospace;background:#fff;color:#000;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .75rem;width:fit-content}@media screen and (max-width: 640px){.header{position:relative;bottom:0;left:0;width:fit-content;max-width:none;margin-top:1rem}.article-h1{display:inline;background-color:transparent;padding:0;color:#fff}.article-info{display:block;background-color:transparent;padding:0;color:#fff}}code:not(.astro-code code){background-color:#353535;padding:.125rem .25rem;font-size:.925rem}.article-image{width:100%;height:auto;z-index:1}.end-of-article{margin-top:1rem;margin-bottom:1.5rem;width:100%;height:1px;background-color:#353535;border:none}blockquote{border-left:2px solid var(--primary);padding:.75rem 1rem;margin-left:0;background-color:rgba(var(--primary-rgb),.25);width:100%}blockquote p{margin-top:0;margin-bottom:0}table{margin-top:1rem;text-align:left;border-spacing:0;border-collapse:collapse}table th{padding:.5rem 1.5rem .5rem 0;border-bottom:1px solid #353535}table tbody{margin-top:1rem}table tbody tr{border-bottom:1px solid #353535}table tbody tr td{padding:.5rem 1.5rem .5rem 0}
