.blog-markdown:after{content:"";display:table;clear:both}.blog-markdown img{display:block;margin-left:auto;margin-right:auto;max-width:100%;height:auto;border-radius:.75rem;box-shadow:0 4px 16px rgba(0,0,0,.08);transition:all .3s ease}.blog-markdown img.cursor-zoom-in{cursor:zoom-in}.blog-markdown img.cursor-zoom-in:hover{box-shadow:0 8px 24px rgba(0,0,0,.15);transform:scale(1.02)}.blog-markdown figure{display:block;margin-top:2em;margin-bottom:2em;max-width:100%}.blog-markdown figcaption{margin-top:.75em;color:hsl(var(--muted-foreground));font-size:.9em;font-style:italic;text-align:center;line-height:1.4;max-width:90%;margin-left:auto;margin-right:auto}.blog-markdown figure img{margin-top:0;margin-bottom:0}.blog-markdown{font-family:var(--font-body,"Literata",serif);color:hsl(var(--foreground));line-height:1.7;font-size:1.04rem;text-align:justify;text-justify:inter-word;overflow-wrap:break-word}.blog-markdown a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px;transition:color .2s;overflow-wrap:break-word;word-break:break-word}.blog-markdown a:hover{color:hsl(var(--accent));text-decoration:underline}.blog-markdown table{width:100%;border-collapse:collapse;margin:1.5em 0;background:hsl(var(--background));box-shadow:0 1px 4px rgba(0,0,0,.03)}.blog-markdown td,.blog-markdown th{border:1px solid hsl(var(--border));padding:.5em 1em;text-align:left}.blog-markdown th{background:hsl(var(--muted));font-weight:600}.blog-markdown blockquote{border-left:4px solid hsl(var(--primary));background:hsl(var(--muted));color:hsl(var(--muted-foreground));margin:1.5em 0;padding:.7em 1.2em;font-style:italic;text-align:justify;text-justify:inter-word}.blog-markdown code{background:hsl(var(--muted));color:hsl(var(--accent));padding:.15em .45em;border-radius:.3em;font-size:.97em;font-family:var(--font-code,"Fira Mono","Menlo",monospace);overflow-wrap:break-word;word-break:break-all}.blog-markdown pre code{background:none;color:inherit;padding:0;border-radius:0;word-break:normal}.blog-markdown pre{background:#272822;color:#f3f3f3;border-radius:.5em;padding:1em;overflow-x:auto;margin:1.5em 0;font-size:.97em}.blog-markdown ol,.blog-markdown ul{margin:1em 0 1em 2em;padding-left:.8em;list-style-position:inside;text-align:justify;text-justify:inter-word}.blog-markdown ul{list-style:disc inside}.blog-markdown ol{list-style:decimal inside}.blog-markdown li{margin-bottom:.25em;text-align:justify;text-justify:inter-word}.blog-markdown li>p{display:inline;margin:0}.blog-markdown p{text-align:justify;text-justify:inter-word}.blog-markdown h1,.blog-markdown h2,.blog-markdown h3,.blog-markdown h4,.blog-markdown h5,.blog-markdown h6{font-family:var(--font-headline,"Literata",serif);font-weight:700;margin-top:2.2em;margin-bottom:1em;color:hsl(var(--primary));line-height:1.2;text-align:left}.blog-markdown h1{font-size:2.3em}.blog-markdown h2{font-size:2em}.blog-markdown h3{font-size:1.5em}.blog-markdown h4{font-size:1.2em}@media (min-width:768px){.blog-markdown h1,.blog-markdown h2,.blog-markdown h3,.blog-markdown h4,.blog-markdown h5,.blog-markdown h6{text-align:justify;text-justify:inter-word}}.blog-markdown hr{border:none;border-top:1px solid hsl(var(--border));margin:2em 0}.blog-markdown .video-wrapper{cursor:pointer}.blog-markdown .video-responsive{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.blog-markdown .expanded-video-player{position:relative;width:100%;height:0;padding-bottom:70%;overflow:hidden}.blog-markdown .expanded-video-player iframe,.blog-markdown .video-responsive iframe,.blog-markdown .video-responsive video,.blog-markdown .video-wrapper .youtube-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:inherit}.blog-markdown .cta-primary{display:inline-block;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:.7em 2em;border-radius:.5em;font-weight:700;font-size:1.1em;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center;margin:1em 0;transition:background .2s,box-shadow .2s;border:none;cursor:pointer;text-decoration:none}.blog-markdown .cta-primary:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground));box-shadow:0 4px 16px rgba(0,0,0,.16);text-decoration:none}.blog-markdown .cta-secondary{display:inline-block;background:hsl(var(--background));color:hsl(var(--primary));padding:.7em 2em;border-radius:.5em;font-weight:500;font-size:1.1em;box-shadow:0 1px 3px rgba(0,0,0,.04);text-align:center;margin:1em 0;border:1px solid hsl(var(--primary));cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;text-decoration:none}.blog-markdown .cta-secondary:hover{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary));box-shadow:0 4px 12px rgba(0,0,0,.12);text-decoration:none}.blog-markdown details{border:1px solid hsl(var(--border));border-radius:.75rem;margin:1.5em 0;background:hsl(var(--card));box-shadow:0 1px 2px rgba(0,0,0,.03);transition:all .2s ease-in-out}.blog-markdown details[open]{box-shadow:0 4px 8px rgba(0,0,0,.05)}.blog-markdown summary{font-weight:600;cursor:pointer;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;list-style:none;color:hsl(var(--primary))}.blog-markdown summary::-webkit-details-marker{display:none}.blog-markdown summary:after{content:"+";font-size:1.5rem;font-weight:400;transition:transform .2s;color:hsl(var(--muted-foreground))}.blog-markdown details[open] summary:after{transform:rotate(45deg)}.blog-markdown details>div{padding:.5rem 2rem 1.5rem;border-top:1px solid hsl(var(--border))}.blog-markdown details img{max-width:80%;margin:2em auto}.blog-markdown audio{width:100%;margin:1.5em 0;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.07);border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.blog-markdown audio::-webkit-media-controls-panel{background-color:hsl(var(--card));border-radius:.75rem}.blog-markdown audio::-webkit-media-controls-mute-button,.blog-markdown audio::-webkit-media-controls-play-button,.blog-markdown audio::-webkit-media-controls-timeline,.blog-markdown audio::-webkit-media-controls-volume-slider{filter:saturate(.7)}.day-posted{font-weight:600;color:hsl(var(--accent));position:relative}.day-posted:after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background-color:hsl(var(--accent))}.dark .day-posted{color:hsl(var(--accent))}.dark .day-posted:after{background-color:hsl(var(--accent))}.dark .day-posted[aria-selected=true],.day-posted[aria-selected=true]{color:hsl(var(--primary-foreground))!important}.day-posted[aria-selected=true]:after{background-color:hsl(var(--primary-foreground))!important}.timeline-vertical{position:relative;max-width:700px;margin:2em auto;padding:1em 0}.timeline-vertical:before{content:"";position:absolute;left:1rem;top:0;bottom:0;width:3px;background-color:hsl(var(--border));border-radius:3px}.timeline-item{position:relative;padding-left:3rem;margin-bottom:2.5rem}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:calc(1rem - .5rem + 1.5px);top:4px;width:1rem;height:1rem;border-radius:50%;background-color:hsl(var(--background));border:3px solid hsl(var(--primary));z-index:1}.timeline-time{font-size:.85em;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.25rem}.timeline-content{background-color:hsl(var(--card));padding:1rem 1.25rem;border-radius:.5rem;border:1px solid hsl(var(--border));box-shadow:0 1px 3px rgba(0,0,0,.04)}.timeline-content h4{font-size:1.1em;margin-top:0;margin-bottom:.5em;color:hsl(var(--primary))}.timeline-content p{margin:0}.timeline-horizontal{display:flex;justify-content:space-between;position:relative;margin:2em 0;padding-top:1em;padding-bottom:1em;overflow-x:auto}.timeline-horizontal:before{content:"";position:absolute;top:1rem;left:0;right:0;height:3px;background-color:hsl(var(--border))}.timeline-horizontal .timeline-item{position:relative;padding-top:2.5rem;text-align:center;flex:1;min-width:100px;padding-left:0;margin-bottom:0}.timeline-horizontal .timeline-marker{position:absolute;left:50%;top:1rem;transform:translate(-50%,-50%);width:1rem;height:1rem}.timeline-horizontal .timeline-time{font-size:.8rem;margin-bottom:.25em}.timeline-horizontal .timeline-label{font-size:.9em;font-weight:500;color:hsl(var(--foreground))}code[class*=language-],pre[class*=language-]{font-family:var(--font-code,Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace);font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{position:relative;margin:1.5em 0;overflow:auto;padding:1.25rem 1.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;box-shadow:-1px 0 0 0 hsl(var(--primary)),0 0 0 1px hsl(var(--border))}pre[class*=language-]:after{content:"";display:block;position:absolute;bottom:.75em;left:0;right:.75em;height:.2em;background:linear-gradient(to right,hsl(var(--primary)),#6cff89);z-index:1;border-radius:0 .5em .5em 0}:not(pre)>code[class*=language-]{padding:.2em .4em;border-radius:.3em;white-space:normal;background:hsl(var(--muted));color:hsl(var(--accent))}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsl(var(--muted-foreground));font-style:italic}.token.punctuation{color:#545454}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#a67f59}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#DD4A68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid hsl(var(--border));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:hsl(var(--muted-foreground));display:block;padding-right:.8em;text-align:right}