.site-header.svelte-1uo5k7d.svelte-1uo5k7d{padding:var(--spacing-5) 0;margin-bottom:var(--spacing-7);border-bottom:1px solid var(--color-border-primary)}.header-container.svelte-1uo5k7d.svelte-1uo5k7d{display:flex;align-items:center;justify-content:center;margin:0 auto;padding:0 var(--spacing-7)}@media (max-width: 768px){.header-container.svelte-1uo5k7d.svelte-1uo5k7d{padding:0 var(--spacing-4)}}.header-container.svelte-1uo5k7d .main-nav.svelte-1uo5k7d{display:flex;gap:var(--spacing-7);align-items:center;justify-content:flex-start;flex:1}.header-container.svelte-1uo5k7d .nav-link.svelte-1uo5k7d{color:var(--color-text-primary);text-decoration:none;font-size:1.0625rem;font-weight:500;letter-spacing:.3px;text-transform:capitalize;transition:color .2s ease;background:none;border:none;cursor:pointer;padding:var(--spacing-2) 0;font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.header-container.svelte-1uo5k7d .nav-link.svelte-1uo5k7d:hover{color:var(--color-link)}.header-container.svelte-1uo5k7d .nav-link.active.svelte-1uo5k7d{color:var(--color-link);font-weight:600}.header-actions.svelte-1uo5k7d.svelte-1uo5k7d{display:flex;align-items:center;gap:var(--spacing-3);margin-left:var(--spacing-4)}.search-trigger.svelte-1uo5k7d.svelte-1uo5k7d{background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-2);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.search-trigger.svelte-1uo5k7d .search-trigger-icon{color:currentColor}.search-trigger.svelte-1uo5k7d.svelte-1uo5k7d:hover{color:var(--color-link)}.search-overlay.svelte-1uo5k7d.svelte-1uo5k7d{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-overlay-primary);z-index:1000;display:flex;align-items:center;justify-content:center;padding-top:0;overflow-y:auto;animation:svelte-1uo5k7d-fadeIn .2s ease-out}@keyframes svelte-1uo5k7d-fadeIn{0%{opacity:0}to{opacity:1}}.search-modal.svelte-1uo5k7d.svelte-1uo5k7d{width:90%;max-width:700px;background:var(--color-surface-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:svelte-1uo5k7d-slideUp .3s ease-out}@keyframes svelte-1uo5k7d-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.search-header.svelte-1uo5k7d.svelte-1uo5k7d{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border-primary)}.search-input-wrapper.svelte-1uo5k7d.svelte-1uo5k7d{position:relative;display:flex;align-items:center;gap:var(--spacing-2)}.search-icon{color:var(--color-muted);font-size:1.25rem}.search-input.svelte-1uo5k7d.svelte-1uo5k7d{flex:1;padding:var(--spacing-2);font-size:1rem;border:none;background:transparent;color:var(--color-text-primary)}.search-input.svelte-1uo5k7d.svelte-1uo5k7d:focus{outline:none}.search-input.svelte-1uo5k7d.svelte-1uo5k7d::placeholder{color:var(--color-muted)}.search-close.svelte-1uo5k7d.svelte-1uo5k7d{background:none;border:none;color:var(--color-muted);font-size:1.5rem;cursor:pointer;padding:var(--spacing-2);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.search-close.svelte-1uo5k7d.svelte-1uo5k7d:hover{color:var(--color-link)}.search-results.svelte-1uo5k7d.svelte-1uo5k7d{overflow-y:auto;height:350px;flex-shrink:0}.results-list.svelte-1uo5k7d.svelte-1uo5k7d{overflow:hidden;padding:0}.result-item.svelte-1uo5k7d.svelte-1uo5k7d{display:block;padding:var(--spacing-3) var(--spacing-4);text-decoration:none;color:inherit;border-bottom:1px solid var(--color-border-primary);transition:background-color .2s ease;overflow:hidden}.result-item.svelte-1uo5k7d.svelte-1uo5k7d:hover{background:var(--color-surface-hover)}.result-item.svelte-1uo5k7d.svelte-1uo5k7d:last-child{border-bottom:none}.result-content.svelte-1uo5k7d.svelte-1uo5k7d{display:flex;flex-direction:column;gap:var(--spacing-1)}.result-title.svelte-1uo5k7d.svelte-1uo5k7d{font-size:1rem;font-weight:600;margin:0;color:var(--color-heading);transition:color .2s ease}.result-item.svelte-1uo5k7d:hover .result-title.svelte-1uo5k7d{color:var(--color-link)}.result-description.svelte-1uo5k7d.svelte-1uo5k7d{margin:0;font-size:.875rem;color:var(--color-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.no-results.svelte-1uo5k7d.svelte-1uo5k7d{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--color-muted);height:100%}.no-results.svelte-1uo5k7d p.svelte-1uo5k7d{margin:0;font-size:.875rem}.search-empty-state.svelte-1uo5k7d.svelte-1uo5k7d{display:flex;align-items:center;justify-content:center;padding:2rem 1rem;height:100%}.empty-message.svelte-1uo5k7d.svelte-1uo5k7d{color:var(--color-muted);font-size:.9rem;margin:0}@media (max-width: 768px){.site-header.svelte-1uo5k7d.svelte-1uo5k7d{padding:1rem 0;margin-bottom:1rem}.header-container.svelte-1uo5k7d.svelte-1uo5k7d{flex-wrap:nowrap;gap:.5rem}.header-container.svelte-1uo5k7d .main-nav.svelte-1uo5k7d{gap:1rem;flex-shrink:1;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.header-container.svelte-1uo5k7d .main-nav.svelte-1uo5k7d::-webkit-scrollbar{display:none}.header-container.svelte-1uo5k7d .nav-link.svelte-1uo5k7d{font-size:.9375rem;text-transform:capitalize;white-space:nowrap;padding:.4rem 0}.header-actions.svelte-1uo5k7d.svelte-1uo5k7d{flex-shrink:0}.search-modal.svelte-1uo5k7d.svelte-1uo5k7d{width:95%}.search-header.svelte-1uo5k7d.svelte-1uo5k7d{padding:.75rem}.search-input.svelte-1uo5k7d.svelte-1uo5k7d{font-size:.875rem}.result-item.svelte-1uo5k7d.svelte-1uo5k7d{padding:.75rem}.result-title.svelte-1uo5k7d.svelte-1uo5k7d{font-size:.875rem}}@media (max-width: 576px){.site-header.svelte-1uo5k7d.svelte-1uo5k7d{padding:.875rem 0;margin-bottom:.75rem}.header-container.svelte-1uo5k7d.svelte-1uo5k7d{flex-wrap:nowrap;gap:.5rem}.header-container.svelte-1uo5k7d .main-nav.svelte-1uo5k7d{gap:.75rem;flex-shrink:1;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.header-container.svelte-1uo5k7d .main-nav.svelte-1uo5k7d::-webkit-scrollbar{display:none}.header-container.svelte-1uo5k7d .nav-link.svelte-1uo5k7d{font-size:.875rem;text-transform:capitalize;white-space:nowrap;padding:.35rem 0}.header-actions.svelte-1uo5k7d.svelte-1uo5k7d{flex-shrink:0;margin-left:0}.search-trigger.svelte-1uo5k7d.svelte-1uo5k7d{padding:.4rem}.search-overlay.svelte-1uo5k7d.svelte-1uo5k7d{padding-top:15vh;align-items:flex-start}.search-modal.svelte-1uo5k7d.svelte-1uo5k7d{width:90%;max-width:90%;border-radius:.25rem}}.site-footer.svelte-1iyextm.svelte-1iyextm{margin-top:auto;padding-top:var(--spacing-4);margin-bottom:var(--spacing-4);border-top:1px solid var(--color-border-primary)}.footer-divider.svelte-1iyextm.svelte-1iyextm{height:1px;background:var(--color-border-primary);opacity:.6;margin-bottom:var(--spacing-6)}.footer-content.svelte-1iyextm.svelte-1iyextm{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);flex-wrap:wrap;color:var(--color-muted);font-size:.9rem}.footer-content.svelte-1iyextm p.svelte-1iyextm{margin:0}.footer-content.svelte-1iyextm a.svelte-1iyextm{color:inherit;text-decoration:none;transition:color .2s ease;font-weight:600}.footer-content.svelte-1iyextm a.svelte-1iyextm:hover{color:var(--color-link)}.footer-content.svelte-1iyextm strong.svelte-1iyextm{font-weight:600;color:var(--color-text-primary);font-size:.85rem}.footer-credits.svelte-1iyextm.svelte-1iyextm{text-align:right;font-size:.9rem;display:flex;flex-direction:column;align-items:flex-start}.footer-actions.svelte-1iyextm.svelte-1iyextm{display:flex;align-items:center;gap:var(--spacing-2)}.subscribe-link.svelte-1iyextm.svelte-1iyextm{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2);background:transparent;font-size:.875rem;text-decoration:none;transition:all .2s ease}.subscribe-link.svelte-1iyextm.svelte-1iyextm:hover{color:var(--color-link)}.subscribe-link.svelte-1iyextm span.svelte-1iyextm{font-weight:400}.theme-toggle.svelte-1iyextm.svelte-1iyextm{background:none;border:none;color:var(--color-muted);cursor:pointer;padding:var(--spacing-2);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.theme-toggle.svelte-1iyextm.svelte-1iyextm:hover{color:var(--color-link)}.scroll-to-top.svelte-1iyextm.svelte-1iyextm{background:none;border:none;color:var(--color-muted);cursor:pointer;padding:var(--spacing-2);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.scroll-to-top.svelte-1iyextm.svelte-1iyextm:hover{color:var(--color-link)}.footer-enhanced.svelte-1iyextm.svelte-1iyextm{padding:0 0 2rem;max-width:1200px;margin:0 auto}.footer-main.svelte-1iyextm.svelte-1iyextm{display:flex;justify-content:space-between;align-items:flex-start;gap:4rem;padding:0 1rem;margin-top:2rem}@media (max-width: 968px){.footer-main.svelte-1iyextm.svelte-1iyextm{flex-direction:column;gap:2rem}}.footer-left.svelte-1iyextm.svelte-1iyextm{flex:0 0 auto;max-width:500px;display:flex;gap:1.5rem;align-items:flex-start}.profile-image-wrapper.svelte-1iyextm.svelte-1iyextm{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.profile-image.svelte-1iyextm.svelte-1iyextm{flex-shrink:0}.profile-image.svelte-1iyextm img.svelte-1iyextm{width:120px;height:120px;border-radius:12px;object-fit:cover;display:block}.profile-info.svelte-1iyextm.svelte-1iyextm{display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem}.profile-name.svelte-1iyextm.svelte-1iyextm{font-size:1.5rem;font-weight:700;margin:0;color:var(--color-heading);line-height:1.2;font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.profile-title.svelte-1iyextm.svelte-1iyextm{font-size:.95rem;color:var(--color-muted);margin:0 0 var(--spacing-1) 0;line-height:1.4}.social-icons.svelte-1iyextm.svelte-1iyextm{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.social-icon.svelte-1iyextm.svelte-1iyextm{display:flex;align-items:center;justify-content:center;color:var(--color-muted);transition:color .2s ease}.social-icon.svelte-1iyextm .icon{color:currentColor}.social-icon.svelte-1iyextm.svelte-1iyextm:hover{color:var(--color-link)}.footer-right.svelte-1iyextm.svelte-1iyextm{flex:1;display:flex;justify-content:flex-end;gap:4rem}@media (max-width: 968px){.footer-right.svelte-1iyextm.svelte-1iyextm{justify-content:flex-start;gap:2rem}}@media (max-width: 640px){.footer-right.svelte-1iyextm.svelte-1iyextm{flex-wrap:wrap;gap:2rem .5rem}}.footer-section.svelte-1iyextm.svelte-1iyextm{display:flex;flex-direction:column;gap:.5rem;min-width:150px;flex:0 1 auto}@media (max-width: 640px){.footer-section.svelte-1iyextm.svelte-1iyextm{flex:0 1 calc(50% - .75rem);min-width:120px}}@media (max-width: 400px){.footer-section.svelte-1iyextm.svelte-1iyextm{flex:0 1 100%}}.footer-section-title.svelte-1iyextm.svelte-1iyextm{font-size:1rem;font-weight:600;letter-spacing:.01em;color:var(--color-text);margin:0 0 .5rem;font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.footer-links.svelte-1iyextm.svelte-1iyextm{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.footer-links.svelte-1iyextm li.svelte-1iyextm{margin:0}.footer-link.svelte-1iyextm.svelte-1iyextm{display:flex;align-items:center;gap:var(--spacing-2);font-size:.875rem;color:var(--color-text-primary);text-decoration:none;transition:color .2s ease}.footer-link.svelte-1iyextm.svelte-1iyextm:hover{color:var(--color-link)}.footer-link.svelte-1iyextm .icon{color:var(--color-muted);flex-shrink:0}@media (max-width: 768px){.footer-enhanced.svelte-1iyextm.svelte-1iyextm{padding:0rem 0 1.5rem}.footer-main.svelte-1iyextm.svelte-1iyextm{gap:2rem;padding:0}}@media (max-width: 640px){.footer-content.svelte-1iyextm.svelte-1iyextm{gap:.5rem;font-size:.8rem}.footer-content.svelte-1iyextm strong.svelte-1iyextm{font-size:.75rem}.footer-credits.svelte-1iyextm.svelte-1iyextm{text-align:left}.subscribe-link.svelte-1iyextm span.svelte-1iyextm{display:none}.footer-main.svelte-1iyextm.svelte-1iyextm{gap:1.5rem}}@media (max-width: 576px){.footer-content.svelte-1iyextm.svelte-1iyextm{gap:.5rem;font-size:.75rem}.footer-content.svelte-1iyextm strong.svelte-1iyextm{font-size:.7rem}.subscribe-link.svelte-1iyextm span.svelte-1iyextm{display:none}.theme-toggle.svelte-1iyextm.svelte-1iyextm{padding:.375rem}}.toc-wrapper.svelte-11qs5ll{padding:0;margin-bottom:0;animation:svelte-11qs5ll-fadeInToc .3s ease-out}@keyframes svelte-11qs5ll-fadeInToc{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.panel-heading.svelte-11qs5ll{font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;color:var(--color-heading)}.toc.svelte-11qs5ll .toc-list{list-style:none;padding:0;margin:0;font-size:.875rem;line-height:1.6}.toc.svelte-11qs5ll .toc-item{margin:0;padding:0;position:relative}.toc.svelte-11qs5ll .toc-item:global(.toc-h2){margin-top:var(--spacing-3)}.toc.svelte-11qs5ll .toc-item:global(.toc-h2):first-child{margin-top:0}.toc.svelte-11qs5ll .toc-item:global(.toc-h3){padding-left:var(--spacing-4);margin-top:var(--spacing-1)}.toc.svelte-11qs5ll .toc-item:global(.toc-h4){padding-left:var(--spacing-7);margin-top:var(--spacing-1);font-size:.8125rem}.toc.svelte-11qs5ll .toc-item.active>.toc-link{color:var(--color-link);font-weight:500}.toc.svelte-11qs5ll .toc-item.active>.toc-link:before{opacity:1;transform:scaleY(1)}.toc.svelte-11qs5ll .toc-link{display:block;padding:var(--spacing-1) 0;padding-left:var(--spacing-3);color:var(--color-muted);text-decoration:none;transition:all .2s ease;position:relative}.toc.svelte-11qs5ll .toc-link:hover{color:var(--color-link)}.toc.svelte-11qs5ll .toc-link.active{color:var(--color-link);background:var(--color-surface-hover);border-radius:var(--radius-sm)}.toc.svelte-11qs5ll .toc-sublist{list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease,margin-top .3s ease}.toc.svelte-11qs5ll .toc-sublist.expanded{max-height:1000px;opacity:1;margin-top:.25rem}.toc.svelte-11qs5ll .toc-sublist .toc-item.toc-h3{padding-left:1rem;margin-top:.25rem}.toc.svelte-11qs5ll .toc-sublist .toc-item.toc-h4{padding-left:2rem;margin-top:.25rem;font-size:.8125rem}.recently-updated.svelte-1ehf9ob .panel-heading.svelte-1ehf9ob{font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;color:var(--color-heading)}.recently-updated.svelte-1ehf9ob .post-list.svelte-1ehf9ob{list-style:none;padding:0;margin:0}.recently-updated.svelte-1ehf9ob .post-list li.svelte-1ehf9ob{margin-bottom:.75rem}.recently-updated.svelte-1ehf9ob .post-list li.svelte-1ehf9ob:last-child{margin-bottom:0}.recently-updated.svelte-1ehf9ob .post-list .post-link.svelte-1ehf9ob{display:block;color:var(--color-muted);text-decoration:none;font-size:.875rem;line-height:1.5;padding:.25rem 0;transition:color .2s ease}.recently-updated.svelte-1ehf9ob .post-list .post-link.svelte-1ehf9ob:hover{color:var(--color-link)}*,*:before,*:after{box-sizing:border-box}:root{--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 2rem;--spacing-8: 2.5rem;--spacing-9: 3rem;--spacing-10: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 2px 6px 0 rgb(0 0 0 / .05), 0 0 0 1px rgb(0 0 0 / .05);--shadow-lg: 0 4px 12px 0 rgb(0 0 0 / .1);--color-background-primary: #ffffff;--color-background-secondary: #f6f8fa;--color-background-tertiary: #f3f4f6;--color-surface-primary: #ffffff;--color-surface-secondary: #f6f8fa;--color-surface-hover: #e5e7eb;--color-border-primary: #e5e7eb;--color-border-secondary: #f3f3f3;--color-border-emphasis: #9ca3af;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-accent-primary: #0056b2;--color-accent-secondary: #004a9e;--color-accent-tertiary: #8ab4f8;--color-overlay-primary: rgb(0 0 0 / .85);--color-overlay-secondary: rgb(255 255 255 / .7);--color-code-background: #1e1e1e;--color-code-text: #d4d4d4;--color-code-header: #2d2d2d;--color-code-border: #404040;--color-heading: var(--color-text-primary);--color-muted: var(--color-text-secondary);--color-link: var(--color-accent-primary);--color-link-hover: var(--color-accent-secondary)}:root[data-mode=dark]{color-scheme:dark;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 6px 18px 0 rgb(0 0 0 / .7), 0 0 0 1px rgb(255 255 255 / .1);--shadow-lg: 0 8px 24px 0 rgb(0 0 0 / .8);--color-background-primary: #0e1217;--color-background-secondary: #1a1d23;--color-background-tertiary: #1e1e1e;--color-surface-primary: #18191d;--color-surface-secondary: #1e1e1e;--color-surface-hover: #2d2e30;--color-border-primary: #2d2e30;--color-border-secondary: #404040;--color-border-emphasis: #6b7280;--color-text-primary: #e5e7eb;--color-text-secondary: #9ca3af;--color-text-tertiary: #6b7280;--color-accent-primary: #8ab4f8;--color-accent-secondary: #6e9be6;--color-accent-tertiary: #5a86d4;--color-overlay-primary: rgb(0 0 0 / .85);--color-overlay-secondary: rgb(27 27 30 / .64);--color-code-background: #27272a;--color-code-text: #d4d4d4;--color-code-header: #2d2d2d;--color-code-border: #404040;--color-heading: var(--color-text-primary);--color-muted: var(--color-text-secondary);--color-link: var(--color-accent-primary);--color-link-hover: var(--color-accent-secondary)}:root[data-mode=dark] .post-header-section .action-btn{background:var(--color-surface-hover);border:none;color:var(--color-text-primary)}:root[data-mode=dark] .post-header-section .action-btn:hover{background:var(--color-surface-hover);opacity:.8}:root[data-mode=dark] .post-header-section .action-btn:disabled{opacity:.4}:root[data-mode=dark] .post-header-section .action-btn:disabled:hover{background:var(--color-surface-hover);opacity:.4}:root[data-mode=dark] .post-actions-widget .action-link{background:var(--color-surface-hover);border:1px solid var(--color-border-secondary);color:var(--color-text-primary)}:root[data-mode=dark] .post-actions-widget .action-link:hover{border-color:var(--color-border-emphasis);opacity:.9}@media (max-width: 768px){html{overflow-x:hidden}}body{margin:0;padding:0;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-background-primary);transition:background-color .3s ease,color .3s ease;width:100%}@media (max-width: 768px){body{overflow-x:hidden}}h1,h2,h3,h4,h5,h6{font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-heading);font-weight:700;letter-spacing:-.03em}a{color:var(--color-link);transition:color .2s ease}.card{background-color:var(--color-surface-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:background-color .3s ease}.card:hover{background:var(--color-surface-hover)}.card-wrapper{margin-bottom:var(--spacing-7)}.card-wrapper .post-preview{text-decoration:none;color:inherit;display:block;padding:var(--spacing-6)}.card-wrapper .post-preview img{width:100%;height:auto;object-fit:cover;border-radius:var(--radius-sm)}.card-wrapper .post-preview .card-title{font-size:1.5rem;margin:0}.card-wrapper .post-preview .card-text{color:var(--color-muted)}.card-wrapper .post-preview .post-meta{font-size:.875rem;color:var(--color-muted)}.card-wrapper .post-preview .post-meta i{margin-right:var(--spacing-1)}.card-wrapper .post-preview .pin{color:var(--color-link);font-weight:600}.btn{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-sm);border:1px solid var(--color-border-primary);background-color:var(--color-surface-primary);cursor:pointer;transition:background-color .2s ease}.btn:hover{background-color:var(--color-surface-hover)}.btn-lg{padding:var(--spacing-3) var(--spacing-5);font-size:1.125rem}.btn-link{border:none;background:none;color:var(--color-link)}.btn-box-shadow{box-shadow:var(--shadow-md)}.container{width:100%;max-width:1250px;margin:0 auto;padding:0 1rem}.row{display:flex;flex-wrap:wrap;margin:0 -.5rem}.col-12{flex:0 0 100%;padding:0 .5rem}@media (min-width: 768px){.col-md-5{flex:0 0 41.666667%}}@media (min-width: 768px){.col-md-7{flex:0 0 58.333333%}}@media (min-width: 992px){.col-lg-11{flex:0 0 91.666667%}}@media (min-width: 1200px){.col-xl-3{flex:0 0 25%}}@media (min-width: 1200px){.col-xl-9{flex:0 0 75%}}.g-0{margin:0}.g-0>*{padding:0}@media (min-width: 768px){.flex-md-row-reverse{flex-direction:row-reverse}}.d-block{display:block}.d-none{display:none}.position-fixed{position:fixed}.w-100{width:100%}.h-100{height:100%}.z-1{z-index:1}.rounded-circle{border-radius:50%}.fst-italic{font-style:italic}.icon{display:inline-block;vertical-align:middle;line-height:1}:global(.code-block-wrapper){position:relative;margin-bottom:var(--spacing-6);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-code-border)!important}:global(.code-block-wrapper) .code-filename{background:var(--color-code-header);padding:var(--spacing-2) var(--spacing-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-code-border);font-family:Monaco,Menlo,Courier New,monospace;font-size:.8125rem;color:var(--color-code-text)}:global(.code-block-wrapper) .code-filename .filename-left{display:flex;align-items:center;gap:var(--spacing-3)}:global(.code-block-wrapper) .code-filename .file-ext-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;letter-spacing:.05em;line-height:1;font-family:Monaco,Menlo,Courier New,monospace;text-transform:uppercase;min-width:28px}:global(.code-block-wrapper) .code-filename .code-filename-text{font-weight:500;letter-spacing:.01em}:global(.code-block-wrapper) .code-filename .copy-code-btn{background:transparent;border:none;color:var(--color-text-tertiary);padding:var(--spacing-2);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);position:relative;width:32px;height:32px}:global(.code-block-wrapper) .code-filename .copy-code-btn:hover{background:var(--color-border-primary);color:var(--color-text-secondary)}:global(.code-block-wrapper) .code-filename .copy-code-btn:active{transform:scale(.9)}:global(.code-block-wrapper) .code-filename .copy-code-btn .copy-icon{display:block;position:absolute;transition:opacity .2s ease}:global(.code-block-wrapper) .code-filename .copy-code-btn .check-icon{display:none;position:absolute;transition:opacity .2s ease}:global(.code-block-wrapper) .code-filename .copy-code-btn.copied{color:var(--color-accent-tertiary)}:global(.code-block-wrapper) .code-filename .copy-code-btn.copied .copy-icon{display:none}:global(.code-block-wrapper) .code-filename .copy-code-btn.copied .check-icon{display:block}.prose{max-width:100%}.prose figure{display:block;margin-right:auto;margin-left:auto;text-align:center}.prose h2{margin-top:2rem;margin-bottom:1rem;font-size:2rem}.prose h3{font-size:1.5rem;margin-top:1.5rem;margin-bottom:.75rem}.prose p{margin-bottom:1rem}.prose kbd{font-family:Arial,Monaco,Menlo,Courier New,monospace;display:inline-block;vertical-align:middle;min-width:1.5rem;text-align:center;padding:.1rem var(--spacing-2) 0;color:var(--color-text-primary);background-color:var(--color-surface-primary);border-radius:var(--radius-sm);border:solid 1px var(--color-border-emphasis);box-shadow:inset 0 -2px 0 var(--color-border-emphasis);font-size:.875em}.prose del{text-decoration:line-through;color:#e74c3c;opacity:.8}.prose ins{text-decoration:underline;text-decoration-color:#27ae60;text-decoration-thickness:2px;text-underline-offset:2px;background-color:#27ae601a;padding:0 var(--spacing-1);border-radius:var(--radius-sm)}.prose mark{background-color:#ffeb3b66;padding:0 var(--spacing-1);border-radius:var(--radius-sm)}:root[data-mode=dark] .prose del{color:#ff6b6b}:root[data-mode=dark] .prose ins{text-decoration-color:#51cf66;background-color:#51cf6626}:root[data-mode=dark] .prose mark{background-color:#ffeb3b80}.prose ul,.prose ol{margin-block:1rem;padding-left:2rem}.prose ul ol,.prose ol ol{margin-block:.5rem}.prose ol{list-style-type:decimal}.prose ol ol{list-style-type:upper-alpha}.prose ol ol ol{list-style-type:lower-alpha}.prose li{margin-bottom:.5rem}.prose ul:has(input[type=checkbox]),.prose ul.contains-task-list{list-style:none;padding-left:0}.prose li:has(>input[type=checkbox]),.prose li.task-list-item{display:flex;align-items:flex-start;gap:.75rem;padding-left:0;list-style:none}.prose li:has(>input[type=checkbox]):before,.prose li.task-list-item:before{content:none}.prose li:has(>input[type=checkbox]) input[type=checkbox],.prose li.task-list-item input[type=checkbox]{margin-top:.35rem;width:1.125rem;height:1.125rem;cursor:pointer;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:2px solid var(--color-border-primary);border-radius:var(--radius-sm);background-color:var(--color-surface-primary);position:relative;transition:all .2s ease}.prose li:has(>input[type=checkbox]) input[type=checkbox]:hover,.prose li.task-list-item input[type=checkbox]:hover{border-color:var(--color-link)}.prose li:has(>input[type=checkbox]) input[type=checkbox]:checked,.prose li.task-list-item input[type=checkbox]:checked{background-color:var(--color-link);border-color:var(--color-link)}.prose li:has(>input[type=checkbox]) input[type=checkbox]:checked:after,.prose li.task-list-item input[type=checkbox]:checked:after{content:"";position:absolute;left:.28rem;top:.05rem;width:.35rem;height:.65rem;border:solid var(--color-background-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.prose li:has(>input[type=checkbox]) input[type=checkbox]:disabled,.prose li.task-list-item input[type=checkbox]:disabled{cursor:default}.prose :not(pre)>code{background:var(--color-surface-secondary);color:var(--color-text-primary);padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.875em;font-family:Monaco,Menlo,Courier New,monospace;border:1px solid var(--color-border-primary)}.prose pre{padding:var(--spacing-4);border-radius:var(--radius-sm);overflow-x:auto;margin-bottom:var(--spacing-4);line-height:1.5}.prose pre code{background:none;padding:0;font-size:.875rem;font-family:Consolas,Monaco,Menlo,Courier New,monospace;border:none;color:inherit}.prose .code-block-wrapper{position:relative;margin-bottom:var(--spacing-6);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-code-border)}.prose .code-block-wrapper .code-filename{background:var(--color-code-header);padding:var(--spacing-2) var(--spacing-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-code-border);font-family:Monaco,Menlo,Courier New,monospace;font-size:.8125rem;color:var(--color-code-text)}.prose .code-block-wrapper .code-filename .filename-left{display:flex;align-items:center;gap:var(--spacing-3)}.prose .code-block-wrapper .code-filename .filename-left .file-ext-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;letter-spacing:.05em;line-height:1;font-family:Monaco,Menlo,Courier New,monospace;text-transform:uppercase;min-width:28px}.prose .code-block-wrapper .code-filename .filename-left .code-filename-text{font-weight:500;letter-spacing:.01em}.prose .code-block-wrapper .code-filename .copy-code-btn{background:transparent;border:none;color:var(--color-text-tertiary);padding:var(--spacing-2);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);position:relative;width:32px;height:32px}.prose .code-block-wrapper .code-filename .copy-code-btn:hover{background:var(--color-border-primary);color:var(--color-text-secondary)}.prose .code-block-wrapper .code-filename .copy-code-btn:active{transform:scale(.9)}.prose .code-block-wrapper .code-filename .copy-code-btn .copy-icon{display:block;position:absolute;transition:opacity .2s ease}.prose .code-block-wrapper .code-filename .copy-code-btn .check-icon{display:none;position:absolute;transition:opacity .2s ease}.prose .code-block-wrapper .code-filename .copy-code-btn.copied{color:var(--color-accent-tertiary)}.prose .code-block-wrapper .code-filename .copy-code-btn.copied .copy-icon{display:none}.prose .code-block-wrapper .code-filename .copy-code-btn.copied .check-icon{display:block}.prose .code-block-wrapper pre.shiki{margin:0!important;border-radius:0!important;box-shadow:none!important;border:none!important}.prose pre.shiki,.prose pre.shiki code{background:none!important}.prose pre.shiki{background-color:var(--color-code-background)!important;padding:var(--spacing-4);border-radius:0;overflow-x:auto;margin:0;border:none}.prose blockquote{margin:var(--spacing-6) 0;padding:var(--spacing-6) var(--spacing-7);background:var(--color-surface-secondary);border-left:4px solid var(--color-border-emphasis);color:var(--color-text-primary);font-style:normal;line-height:1.7}.prose blockquote p{margin:0}.prose blockquote p:not(:last-child){margin-bottom:var(--spacing-3)}.prose blockquote :not(pre)>code{background:var(--color-surface-primary);border-color:var(--color-border-secondary)}.prose blockquote strong{font-weight:600;color:var(--color-text-primary)}.prose blockquote em{color:var(--color-text-primary)}:root[data-mode=dark] .prose blockquote{background:var(--color-surface-primary)}:root[data-mode=dark] .prose blockquote :not(pre)>code{background:var(--color-surface-secondary);border-color:var(--color-border-secondary)}.prose img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:var(--spacing-4) 0}.prose hr{width:70%;margin:var(--spacing-7) auto;border:none;border-top:3px solid var(--color-link);border-radius:2px}.prose a{color:var(--color-link);text-decoration:none;font-weight:400;position:relative;background-image:linear-gradient(to right,var(--color-link),var(--color-link));background-size:0% 2px;background-repeat:no-repeat;background-position:left bottom;transition:background-size .3s cubic-bezier(.4,0,.2,1);padding-bottom:4px;border-bottom:2px solid transparent}.prose a:hover{background-size:100% 2px}.prose a:active{transform:translateY(1px)}h1 .prose a,h2 .prose a,h3 .prose a,h4 .prose a,h5 .prose a,h6 .prose a{background-image:none;border-bottom:none;font-weight:inherit}h1 .prose a:hover,h2 .prose a:hover,h3 .prose a:hover,h4 .prose a:hover,h5 .prose a:hover,h6 .prose a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.prose a code{color:inherit}.prose .table-wrapper{width:100%;overflow-x:auto;margin:var(--spacing-7) 0;border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch}@media (max-width: 768px){.prose .table-wrapper{margin:var(--spacing-6) 0}}.prose table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0;margin:0;font-size:.9rem}@media (max-width: 768px){.prose table{font-size:.85rem}}.prose table th,.prose table td{padding:var(--spacing-3) var(--spacing-4);text-align:left;border-bottom:1px solid var(--color-border-primary)}@media (max-width: 768px){.prose table th,.prose table td{padding:var(--spacing-3);font-size:.85rem}}.prose table thead{background-color:var(--color-surface-secondary)}.prose table th{font-weight:600;color:var(--color-heading);background-color:var(--color-surface-secondary);white-space:nowrap}.prose table td{color:var(--color-text-primary);background-color:var(--color-background-primary)}.prose table td code{font-size:.85em}.prose table tr:last-child th,.prose table tr:last-child td{border-bottom:none}.prose table th[align=center],.prose table td[align=center]{text-align:center}.prose table th[align=right],.prose table td[align=right]{text-align:right}.prose table th[align=left],.prose table td[align=left]{text-align:left}.app-container{min-height:100vh;display:flex;flex-direction:column}.main-wrapper{flex:1;display:flex;flex-direction:column}.content-area{flex:1;display:flex;flex-direction:column;max-width:1200px;width:100%;margin:0 auto;padding:0 2rem}.content-wrapper{flex:1;display:grid;grid-template-columns:1fr;gap:1rem}.post-sections-wrapper{width:100%;margin-top:3rem}@media (max-width: 768px){.post-sections-wrapper{margin-top:2rem}}.main-content{min-width:0;max-width:100%}.main-content.full-width{max-width:100%}.sidebar-panel{display:none}@media (min-width: 1024px){.content-wrapper.has-sidebar{grid-template-columns:300px 1fr}.sidebar-panel{display:block;padding-right:3rem}.content-wrapper.has-sidebar .main-content{padding-left:3rem}.panel-search,.panel-recent{margin-bottom:2rem}.panel-toc-sticky{position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:hidden}.panel-toc-sticky::-webkit-scrollbar{width:4px}.panel-toc-sticky::-webkit-scrollbar-track{background:transparent}.panel-toc-sticky::-webkit-scrollbar-thumb{background:var(--color-muted);border-radius:2px}.panel-toc-sticky::-webkit-scrollbar-thumb:hover{background:var(--color-text-primary)}}@media (max-width: 768px){.content-area{padding:0 1rem}}.bio-section a{color:var(--color-link);text-decoration:none;font-weight:400;position:relative;background-image:linear-gradient(to right,var(--color-link),var(--color-link));background-size:0% 2px;background-repeat:no-repeat;background-position:left bottom;transition:background-size .3s cubic-bezier(.4,0,.2,1);padding-bottom:4px;border-bottom:2px solid transparent}.bio-section a:hover{background-size:100% 2px}.bio-section a:active{transform:translateY(1px)}.blog-page .page-title{font-size:2rem;font-weight:700;margin-bottom:1rem}.blog-page .page-description{font-size:1rem;color:var(--color-muted);margin-bottom:2rem}.post-list{max-width:100%}.post-list .card-wrapper{margin-bottom:2rem}.post-list .post-preview{display:block;text-decoration:none;color:inherit;padding:1.5rem 0}.post-list .post-preview:hover .post-title{color:var(--color-link)}.post-list .post-image{margin-bottom:1rem}.post-list .post-image img{width:100%;height:200px;object-fit:cover;border-radius:8px}.post-list .post-content{display:flex;flex-direction:column;gap:.75rem}.post-list .post-title{font-size:1.5rem;margin:0;transition:color .2s ease}.post-list .post-description{color:var(--color-muted);margin:0;line-height:1.6}.post-list .post-meta{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--color-muted);margin-top:auto}.post-list .post-meta i{margin-right:.25rem}.post-list .post-meta .tags{color:var(--color-muted)}.post-list .meta-left{display:flex;align-items:center;gap:.5rem}.post-list .pin{display:flex;align-items:center;gap:.25rem;color:var(--color-link);font-weight:500}@media (min-width: 768px){.post-list .post-preview{padding:2rem}.post-list .post-image img{height:250px}}
