.social-share:where(.astro-luj3ckct){display:flex;align-items:center;gap:.75rem;font-size:.9375rem;color:var(--sl-color-gray-3);flex-wrap:wrap}.share-label:where(.astro-luj3ckct){font-weight:600;color:var(--sl-color-gray-2)}.separator:where(.astro-luj3ckct){color:var(--sl-color-gray-4);font-size:1.5rem;line-height:1;font-weight:700}.share-link:where(.astro-luj3ckct){display:inline-flex;align-items:center;gap:.375rem;color:var(--sl-color-accent);text-decoration:none;cursor:pointer;transition:all .2s ease;background:none;border:none;padding:0;font-size:.9375rem;font-family:inherit}.share-link:where(.astro-luj3ckct) svg:where(.astro-luj3ckct){flex-shrink:0}.share-link:where(.astro-luj3ckct):hover{color:var(--sl-color-accent-high);transform:translateY(-2px)}.copy-btn:where(.astro-luj3ckct).copied{color:#22c55e}@media(max-width:640px){.social-share:where(.astro-luj3ckct){font-size:.875rem}.share-link:where(.astro-luj3ckct){font-size:.875rem}}.related-posts:where(.astro-dpgbfi7r){margin:3rem auto;padding:3rem 0;max-width:1200px}.related-title:where(.astro-dpgbfi7r){font-size:2.5rem;font-weight:700;color:var(--sl-color-text);margin:0 0 3rem;padding-bottom:1rem;border-bottom:2px solid var(--sl-color-gray-5)}.related-grid:where(.astro-dpgbfi7r){display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.related-card:where(.astro-dpgbfi7r){background:#ffffff08;border:1px solid var(--sl-color-gray-5);border-radius:12px;overflow:hidden;transition:all .3s ease}.related-card:where(.astro-dpgbfi7r):hover{transform:translateY(-4px);border-color:var(--sl-color-accent);background:#ffffff0d}.card-link:where(.astro-dpgbfi7r){text-decoration:none;color:inherit;display:block;height:100%}.card-image:where(.astro-dpgbfi7r){width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--sl-color-gray-6)}.card-image:where(.astro-dpgbfi7r) img:where(.astro-dpgbfi7r){width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.related-card:where(.astro-dpgbfi7r):hover .card-image:where(.astro-dpgbfi7r) img:where(.astro-dpgbfi7r){transform:scale(1.05)}.card-content:where(.astro-dpgbfi7r){padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.card-tags:where(.astro-dpgbfi7r){display:flex;gap:.5rem;flex-wrap:wrap}.tag:where(.astro-dpgbfi7r){padding:.25rem .75rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:6px;font-size:.75rem;color:var(--sl-color-gray-3)}.card-title:where(.astro-dpgbfi7r){font-size:1.25rem;font-weight:600;color:var(--sl-color-text);margin:0;line-height:1.3}.card-description:where(.astro-dpgbfi7r){font-size:.9375rem;color:var(--sl-color-gray-3);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta:where(.astro-dpgbfi7r){display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--sl-color-gray-4);margin-top:auto}:root[data-theme=light] .related-card:where(.astro-dpgbfi7r){background:#00000005}:root[data-theme=light] .related-card:where(.astro-dpgbfi7r):hover{background:#0000000a}:root[data-theme=light] .tag:where(.astro-dpgbfi7r){background:#0000000d}@media(max-width:768px){.related-grid:where(.astro-dpgbfi7r){grid-template-columns:1fr;gap:1.5rem}.related-title:where(.astro-dpgbfi7r){font-size:2rem}}.toc:where(.astro-xvrfupwn){position:sticky;top:5rem;max-height:calc(100vh - 10rem);overflow-y:auto;padding:1.5rem;background:#ffffff08;border:1px solid var(--sl-color-gray-5);border-radius:12px;backdrop-filter:blur(10px)}.toc-title:where(.astro-xvrfupwn){font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sl-color-text);margin:0 0 1rem}.toc-list:where(.astro-xvrfupwn){list-style:none;margin:0;padding:0}.toc-item:where(.astro-xvrfupwn){margin:0}.toc-item:where(.astro-xvrfupwn).depth-2{margin-bottom:.5rem}.toc-item:where(.astro-xvrfupwn).depth-3{padding-left:1rem;margin-bottom:.25rem}.toc-link:where(.astro-xvrfupwn){display:block;padding:.375rem .5rem;font-size:.875rem;line-height:1.5;color:var(--sl-color-gray-3);text-decoration:none;border-left:2px solid transparent;transition:all .2s ease}.toc-link:where(.astro-xvrfupwn):hover{color:var(--sl-color-accent);border-left-color:var(--sl-color-accent);background:#f973160d}.toc-link:where(.astro-xvrfupwn).active{color:var(--sl-color-accent);border-left-color:var(--sl-color-accent);font-weight:600}:root[data-theme=light] .toc:where(.astro-xvrfupwn){background:#ffffffb3}.toc:where(.astro-xvrfupwn)::-webkit-scrollbar{width:4px}.toc:where(.astro-xvrfupwn)::-webkit-scrollbar-track{background:transparent}.toc:where(.astro-xvrfupwn)::-webkit-scrollbar-thumb{background:var(--sl-color-gray-5);border-radius:2px}.toc:where(.astro-xvrfupwn)::-webkit-scrollbar-thumb:hover{background:var(--sl-color-gray-4)}.post-content{font-size:1.2rem;line-height:1.8;color:var(--sl-color-gray-1);position:relative;z-index:3;padding:0}.post-content>h1{font-family:"Noto Serif",serif;font-size:clamp(2.5rem,8vw,4rem);line-height:1.1;margin-bottom:2rem;letter-spacing:-.04em;color:var(--sl-color-text);font-weight:700}.post-content>h2{font-family:"Noto Serif",serif;font-size:2.2rem;margin:4.5rem 0 1.5rem;letter-spacing:-.02em;border-left:6px solid var(--sl-color-accent);padding-left:20px;color:var(--sl-color-text);font-weight:700;line-height:1.3}.post-content>h3{font-family:"Noto Sans",var(--sl-font),sans-serif;font-size:1.6rem;margin:3rem 0 1rem;font-weight:700;color:var(--sl-color-accent);line-height:1.4;letter-spacing:-.01em}.post-content>h4{font-family:"Noto Sans",var(--sl-font),sans-serif;font-size:1.25rem;margin:2rem 0 1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sl-color-text);line-height:1.5}.post-content>p{margin-bottom:2rem}.post-content>p:last-child{margin-bottom:0}.post-content .dropcap:first-letter,.post-content>p:first-of-type:first-letter{float:left;font-family:var(--sl-font-system);font-size:5rem;line-height:.7;margin:8px 12px 0 0;color:var(--sl-color-accent);font-weight:700}.post-content>p strong,.post-content>ul>li strong,.post-content>ol>li strong,.post-content>blockquote strong{font-weight:600;color:var(--sl-color-text)}.post-content>p em,.post-content>ul>li em,.post-content>ol>li em,.post-content>blockquote em{font-style:italic}.post-content>p mark,.post-content>ul>li mark,.post-content>ol>li mark,.post-content>blockquote mark{background:#f973161a;color:var(--sl-color-accent);padding:0 4px;border-radius:4px;font-weight:600}.post-content>p a,.post-content>ul>li a,.post-content>ol>li a,.post-content>blockquote a{color:var(--sl-color-accent);text-decoration:underline;text-decoration-color:#f973164d;text-underline-offset:.2em;transition:all .2s ease}.post-content>p a:hover,.post-content>ul>li a:hover,.post-content>ol>li a:hover,.post-content>blockquote a:hover{text-decoration-color:var(--sl-color-accent);color:var(--sl-color-accent-high)}.post-content>ul{list-style:none;margin:2rem 0 2rem 1.5rem}.post-content>ul>li{position:relative;padding-left:2rem;margin-bottom:1rem;font-size:1.15rem}.post-content>ul>li:before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;background:var(--sl-color-accent);border-radius:2px;transform:rotate(45deg)}.post-content>ol{counter-reset:custom-counter;list-style:none;margin:2rem 0 2rem 1.5rem}.post-content>ol>li{counter-increment:custom-counter;position:relative;padding-left:3rem;margin-bottom:1.5rem;font-size:1.15rem}.post-content>ol>li:before{content:counter(custom-counter);position:absolute;left:0;top:0;width:32px;height:32px;background:#f973161a;color:var(--sl-color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem}.post-content>ul>li>p,.post-content>ol>li>p{margin-bottom:.5rem}.post-content>p code,.post-content>ul>li code,.post-content>ol>li code,.post-content>blockquote code,.post-content>h2 code,.post-content>h3 code,.post-content>h4 code{background:#f973161a;color:var(--sl-color-accent-high);padding:.2em .4em;border-radius:.25rem;font-size:.95rem;font-family:var(--sl-font-mono);font-weight:500}.post-content>pre{margin:3rem 0;padding:1.5rem;border-radius:.75rem;overflow-x:auto;background:#0000004d;border:1px solid var(--sl-color-gray-5)}.post-content>pre code{background:none;color:inherit;padding:0;font-weight:400;font-size:.95rem}.post-content>blockquote{border-left:6px solid var(--sl-color-accent);background:#f973160d;padding:1.25rem 1.5rem;margin:3rem 0;border-radius:0 .75rem .75rem 0;font-style:italic;color:var(--sl-color-gray-2)}.post-content>blockquote p:last-child{margin-bottom:0}.post-content>img{max-width:100%;height:auto;border-radius:.75rem;margin:3.5rem auto;display:block;box-shadow:0 20px 40px #00000026}.post-content>figure{margin:3.5rem 0;text-align:center}.post-content>figure img{width:100%;border-radius:24px;box-shadow:0 20px 40px #0000001a;margin:0 auto}.post-content>figure figcaption{margin-top:1rem;font-style:italic;color:var(--sl-color-gray-3);font-size:.9rem}.post-content>table{width:100%;border-collapse:collapse;text-align:left;margin:3rem 0;background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid var(--sl-color-gray-5);border-radius:24px;overflow:hidden}.post-content>table th{padding:20px;font-size:.75rem;text-transform:uppercase;color:var(--sl-color-accent-high);background:#0f172a99;font-weight:700;letter-spacing:.1em;font-family:var(--sl-font-mono)}.post-content>table td{padding:18px 20px;border-top:1px solid var(--sl-color-gray-5);transition:background .2s}.post-content>table tr:hover td{background:#f973160d}.post-content>hr{border:none;height:1px;background:linear-gradient(to right,transparent,var(--sl-color-gray-5),transparent);margin:3rem 0}.post-content>details{margin:2rem 0;background:#ffffff0d;backdrop-filter:blur(10px);border:1px solid var(--sl-color-gray-5);border-radius:16px;overflow:hidden}.post-content>details summary{padding:16px 20px;cursor:pointer;font-weight:700;color:var(--sl-color-accent);list-style:none;display:flex;justify-content:space-between;align-items:center}.post-content>details summary:after{content:"+";font-size:1.5rem;transition:transform .3s}.post-content>details[open] summary:after{transform:rotate(45deg)}.post-content>details .details-content{padding:15px 20px 20px;border-top:1px solid var(--sl-color-gray-5)}.post-content>details .details-content p{margin-bottom:1rem;font-size:1.05rem}.post-content>details .details-content p:last-child{margin-bottom:0}.post-content>details .details-content ul{list-style:none;margin:.5rem 0 1rem 1rem;padding-left:0}.post-content>details .details-content ul li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;font-size:1rem;line-height:1.5}.post-content>details .details-content ul li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background:var(--sl-color-accent);border-radius:2px;transform:rotate(45deg)}:root[data-theme=light] .post-content>pre{background:#0000000d}:root[data-theme=light] .post-content>img,:root[data-theme=light] .post-content>figure img{box-shadow:0 20px 40px #0000001a}:root[data-theme=light] .post-content>table{background:#ffffffb3}:root[data-theme=light] .post-content>details{background:#ffffffb3}@media(max-width:768px){.post-content{font-size:1.1rem}.post-content>h1{font-size:2.5rem}.post-content>h2{font-size:1.875rem;margin:3rem 0 1.25rem}.post-content>h3{font-size:1.5rem}.post-content>h4{font-size:1.125rem}.post-content .dropcap:first-letter,.post-content>p:first-of-type:first-letter{font-size:3.5rem}.post-content>ul,.post-content>ol{margin-left:.5rem}}html{scroll-behavior:smooth;scroll-padding-top:6rem}.progress-bar-container:where(.astro-7jjqptxk){position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:9999}.progress-bar:where(.astro-7jjqptxk){height:100%;background:var(--sl-color-accent);width:0%;transition:width .1s ease-out}.blog-container:where(.astro-7jjqptxk){width:100%;max-width:1200px;margin:clamp(1.5rem,4vw,3rem) auto;padding:0 clamp(1rem,3vw,2rem);position:relative;z-index:1;overflow:visible}.blog-post:where(.astro-7jjqptxk){width:100%;max-width:none;padding:0;position:relative;z-index:1}.toc-sidebar:where(.astro-7jjqptxk){position:sticky;top:6rem;display:none;height:fit-content;max-height:calc(100vh - 8rem);overflow-y:auto}.post-header:where(.astro-7jjqptxk){margin-bottom:2rem;position:relative;z-index:3}.post-header:where(.astro-7jjqptxk) h1:where(.astro-7jjqptxk){font-size:2.5rem;line-height:1.2;margin:0 0 2rem;color:var(--sl-color-text)}.hero-image:where(.astro-7jjqptxk){margin:2rem 0;border-radius:1rem;overflow:hidden}.hero-image:where(.astro-7jjqptxk) img:where(.astro-7jjqptxk){display:block;width:100%;height:auto;object-fit:cover}.post-meta:where(.astro-7jjqptxk){display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-top:1.5rem;padding-bottom:1.5rem;border-top:1px solid var(--sl-color-gray-5);border-bottom:1px solid var(--sl-color-gray-5);font-size:.9375rem;line-height:1.5;color:var(--sl-color-gray-3);font-family:"Noto Sans Mono",var(--sl-font-mono),monospace}.author-avatar:where(.astro-7jjqptxk){width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--sl-color-accent);background:#fff;padding:2px;flex-shrink:0}.meta-content:where(.astro-7jjqptxk){display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;line-height:1.5}.author-text:where(.astro-7jjqptxk){color:var(--sl-color-text);line-height:1.5}.author-text:where(.astro-7jjqptxk) strong:where(.astro-7jjqptxk){font-weight:600;text-transform:uppercase;letter-spacing:.02em}.meta-separator:where(.astro-7jjqptxk){color:var(--sl-color-gray-4);font-size:1.5rem;line-height:1;font-weight:700;display:flex;align-items:center}.meta-date:where(.astro-7jjqptxk){color:var(--sl-color-gray-3);line-height:1.5}.reading-time:where(.astro-7jjqptxk){color:var(--sl-color-gray-3);line-height:1.5}.post-tags:where(.astro-7jjqptxk){display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag:where(.astro-7jjqptxk){padding:.25rem .75rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:6px;font-size:.75rem;color:var(--sl-color-gray-3)}:root[data-theme=light] .tag:where(.astro-7jjqptxk){background:#0000000d}.post-footer:where(.astro-7jjqptxk){margin-top:3rem;padding-top:2rem;border-top:1px solid var(--sl-color-gray-5);position:relative;z-index:3;display:flex;flex-direction:column;gap:2rem}.back-link:where(.astro-7jjqptxk){display:inline-flex;align-items:center;color:var(--sl-color-accent);text-decoration:none;font-weight:500;transition:color .2s}.back-link:where(.astro-7jjqptxk):hover{color:var(--sl-color-accent-high)}.post-navigation:where(.astro-7jjqptxk){width:100%;max-width:1200px;margin:2rem auto;padding:0 clamp(1rem,3vw,2rem);position:relative;z-index:1}.nav-container:where(.astro-7jjqptxk){display:grid;grid-template-columns:1fr 1fr;gap:2rem}.related-posts{width:100%;max-width:1200px;margin:clamp(2.5rem,5vw,4rem) auto;padding:clamp(2rem,4vw,3rem) clamp(1rem,3vw,2rem)}.related-grid{gap:clamp(1.5rem,3vw,2rem)}.nav-link:where(.astro-7jjqptxk){display:flex;flex-direction:column;gap:.5rem;text-decoration:none;padding:1.5rem;border:1px solid var(--sl-color-gray-5);border-radius:12px;background:#ffffff08;transition:all .3s ease}.nav-link:where(.astro-7jjqptxk):hover{transform:translateY(-2px);border-color:var(--sl-color-accent);background:#ffffff0d}.next-link:where(.astro-7jjqptxk){text-align:right}.nav-label:where(.astro-7jjqptxk){font-size:.875rem;font-weight:600;color:var(--sl-color-accent);text-transform:uppercase;letter-spacing:.05em}.nav-title:where(.astro-7jjqptxk){font-size:1.125rem;font-weight:500;color:var(--sl-color-text);line-height:1.4}:root[data-theme=light] .nav-link:where(.astro-7jjqptxk){background:#00000005}:root[data-theme=light] .nav-link:where(.astro-7jjqptxk):hover{background:#0000000a}@media(min-width:1100px){.blog-container:where(.astro-7jjqptxk){display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.9fr);gap:clamp(2rem,4vw,3rem)}.toc-sidebar:where(.astro-7jjqptxk){display:block}}@media(max-width:768px){.blog-container:where(.astro-7jjqptxk){padding:0 clamp(.75rem,3vw,1.25rem);margin:1rem auto;gap:1.5rem}.blog-post:where(.astro-7jjqptxk){padding:0}.post-header:where(.astro-7jjqptxk) h1:where(.astro-7jjqptxk){font-size:2rem}.hero-image:where(.astro-7jjqptxk){margin:1rem 0}.post-content:where(.astro-7jjqptxk){font-size:1.08rem}.post-meta:where(.astro-7jjqptxk){font-size:.875rem}.author-avatar:where(.astro-7jjqptxk){width:40px;height:40px}.meta-content:where(.astro-7jjqptxk){font-size:.8125rem}.post-navigation:where(.astro-7jjqptxk){padding:0 1rem;margin:1.5rem auto}.nav-container:where(.astro-7jjqptxk){grid-template-columns:1fr;gap:1rem}.next-link:where(.astro-7jjqptxk){text-align:left}}
