*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{overflow-y:scroll}html{scroll-padding-top:4.5rem}body{--header-height:3.5rem;--content-max-width:65ch;line-height:1.75;color:var(--text-color);background:var(--bg-color);overflow-x:hidden;overflow-x:clip;display:flex;flex-direction:column;min-height:100vh}body.font-compact{font-size:15px}body.font-comfortable{font-size:17px}body.font-large{font-size:19px}body.content-narrow{--content-max-width:55ch}body.content-medium{--content-max-width:65ch}body.content-wide{--content-max-width:80ch}body.content-full{--content-max-width:100%}.site-header{position:sticky;top:0;z-index:200;background:var(--bg-color);border-bottom:1px solid var(--border-color);font-family:var(--sans-font)}body:not(.sticky-header) .site-header{position:static}.site-header-inner{display:flex;align-items:center;gap:.875rem;height:var(--header-height);padding:0 1.5rem}.site-header-spacer{flex:1}.site-title{font-size:1.0625rem;font-weight:600;line-height:1.25;color:var(--text-color);text-decoration:none;display:flex;align-items:center;gap:.625rem;font-family:var(--sans-font);min-width:0}.site-title:hover{color:var(--text-color);text-decoration:none}.site-logo{height:24px;width:auto;object-fit:contain;border:none;border-radius:0;background:0 0}.site-logo-only{height:28px}.site-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container{display:flex;align-items:stretch;flex:1;max-width:100vw}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--bg-color);border-right:1px solid var(--border-color);padding:1.5rem .75rem;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-color)transparent;font-family:var(--sans-font);-webkit-overflow-scrolling:touch}body.sticky-header .sidebar{top:var(--header-height);height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height))}@media(min-width:1025px){body.sticky-header{height:100vh;height:100dvh;min-height:0;overflow:hidden}body.sticky-header .site-header{flex-shrink:0}body.sticky-header .container{min-height:0}body.sticky-header .sidebar{position:static;top:auto;height:auto;min-height:0}body.sticky-header .main-content{overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:1rem}body.sticky-header.sidebar-top .page-container{max-width:100%;overflow-y:auto;overscroll-behavior:contain}body.sticky-header.sidebar-top .main-content{max-width:1400px;margin:0 auto;width:100%;overflow-y:visible}}@media(max-width:1024px){body.sticky-header{height:100vh;height:100dvh;min-height:0;overflow:hidden}body.sticky-header .site-header,body.sticky-header .topbar{flex-shrink:0}body.sticky-header .container{overflow-y:auto;min-height:0;overscroll-behavior:contain;scroll-padding-top:1rem}body.sticky-header .container .main-content{min-height:100%}body.sticky-header.sidebar-top .page-container{overflow-y:auto;min-height:0;overscroll-behavior:contain;scroll-padding-top:1rem}}html.status-bar-scroll{padding-top:1px;overscroll-behavior-y:none;scrollbar-width:none}html.status-bar-scroll::-webkit-scrollbar{display:none}.nav-section{margin-bottom:1.5rem}.nav-section-title{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-top:0;margin-bottom:.75rem;padding-left:.75rem}.nav-list{list-style:none;padding:0;margin:0}.nav-list li{margin-bottom:.375rem;padding:0}.nav-list a{padding:.5rem .75rem;margin:0;color:var(--text-color);text-decoration:none;border-radius:4px;font-size:.875rem;line-height:1.4;background:0 0;overflow:hidden;display:block}.nav-list a span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-wrap:pretty}.nav-list a:hover{text-decoration:none;background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color)}.nav-list a.active{background:var(--primary-color);color:#fff}.main-content{flex:1;min-width:0;padding:3rem 2rem;display:flex;flex-direction:column}.page-layout{flex:1;display:flex;flex-direction:column;width:100%;min-width:0}.page-wrapper{flex:1;display:flex;flex-direction:column;max-width:var(--content-max-width);margin:0 auto;width:100%}.main-content-inner,article.main-content-inner{max-width:var(--content-max-width);margin:0 auto;width:100%}.main-content-inner{flex:1}body.sidebar-none .sidebar{display:none}body.sidebar-right .sidebar-right-column{border-right:none;border-left:1px solid var(--border-color)}h1,h2,h3,h4,h5,h6{font-family:var(--sans-font)}h1{font-size:2.25rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-color);line-height:1.1}h2{font-size:1.625rem;font-weight:600;margin-top:3rem;margin-bottom:1rem;color:var(--text-color);line-height:1.15}h3{font-size:1.375rem;font-weight:600;margin-top:2.5rem;margin-bottom:.875rem;color:var(--text-color);line-height:1.2}h4{font-size:1.125rem;font-weight:600;margin-top:2rem;margin-bottom:.75rem;color:var(--text-color);line-height:1.2}h5,h6{font-weight:600;margin-top:1.5rem;margin-bottom:.5rem;color:var(--text-color);line-height:1.2}b,strong{font-weight:600}p{margin-bottom:1.5rem;overflow-wrap:break-word;word-wrap:break-word}a{color:var(--primary-color);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--primary-color)}ul,ol{margin-bottom:1.5rem;padding-left:2rem;font-size:1rem}li{margin-bottom:.75rem;line-height:1.75;overflow-wrap:break-word;word-wrap:break-word;font-size:1rem}hr{margin:2rem 0;border:none;border-top:1px solid var(--border-color)}code{background:var(--bg-secondary);padding:.2em .45em;border-radius:3px;font-family:ui-monospace,sf mono,Monaco,cascadia code,roboto mono,Menlo,Consolas,liberation mono,courier new,monospace;font-size:.875em;color:#991b1b;border:1px solid var(--border-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%}body.dark-mode code{color:#e5e7eb}pre{padding:.875rem 0;border-radius:var(--radius);overflow-x:auto;margin-bottom:1.75rem;line-height:1.6;background:var(--bg-secondary)!important;border:1px solid var(--border-color);-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;text-size-adjust:100%}pre:not(:has(>code)){padding:.875rem 1rem}pre code{background:0 0!important;display:block;width:max-content;min-width:100%;max-width:none;padding:0 1rem;font-size:.875rem;border:none!important;color:inherit!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;line-height:1.7;font-variant-ligatures:none}body.code-theme-light pre{--text-color:#1f2937 !important;--bg-secondary:#f9fafb !important;--border-color:#e5e7eb !important;background:var(--bg-secondary)!important;border-color:var(--border-color)!important}body.code-theme-light code:not(pre code){background:#f6f8fa!important;color:#0550ae!important}body.code-theme-dark pre{background:var(--bg-secondary)!important;border-color:var(--border-color)!important}body.code-theme-dark:not(.dark-mode) pre{--text-color:#f5f5f5 !important;--bg-secondary:#262626 !important;--border-color:#333333 !important}body.code-theme-dark:not(.dark-mode).dark-mode-lights-out pre{--bg-secondary:#0a0a0a !important;--border-color:#2a2a2a !important}body.code-theme-dark:not(.dark-mode).dark-mode-blue pre{--bg-secondary:#1a1f2e !important;--border-color:#2e3849 !important}body.code-theme-dark code:not(pre code){background:#282a36!important;color:#e5e7eb!important}blockquote{border-left:4px solid var(--border-color);padding:1rem 1rem 1rem 1.25rem;margin:1.5rem 0;color:var(--text-secondary);border-radius:0 var(--radius)var(--radius)0}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}.main-content img{max-width:100%;height:auto;display:block;margin:2.5rem 0;border-radius:var(--radius);border:1px solid var(--border-color)}video{max-width:100%;height:auto;display:block;margin:2.5rem 0;border-radius:var(--radius);border:1px solid var(--border-color);background:var(--bg-secondary)}.table-wrapper{margin-bottom:1.75rem;border:1px solid var(--border-color);border-radius:var(--radius)}.table-wrapper table{font-size:.9375rem}.table-wrapper th,.table-wrapper td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.table-wrapper th{font-weight:var(--surface-head-weight);background:var(--surface-head-bg);color:var(--text-color);font-family:var(--sans-font);position:sticky;top:0;z-index:1}.table-wrapper tbody tr:nth-child(even){background:color-mix(in srgb,var(--bg-secondary) 50%,transparent)}.table-wrapper tbody tr:last-child td{border-bottom:none}.post-date{display:block;color:var(--text-secondary);font-size:.9375rem;margin:.625rem 0 1.25rem}.post-footer{margin-top:auto;padding-top:2.5rem;border-top:1px solid var(--border-color)}.tags-container{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}.tag{display:inline-block;padding:.3rem .85rem;background:var(--bg-tertiary);color:var(--text-color);text-decoration:none;border-radius:3px;font-size:.8125rem;font-weight:500;border:1px solid var(--border-color);font-family:var(--sans-font)}.tag:hover,.tag.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);text-decoration:none}.tag-count{opacity:.6;font-weight:400}.tags-section{margin-bottom:2rem}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.875rem}.tags-list .tag{font-size:.75rem}.author-byline{display:flex;align-items:center;gap:.75rem;margin:.875rem 0 1.25rem;font-family:var(--sans-font)}.author-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;margin:0;border:1px solid var(--border-color)}.author-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.9375rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;flex-shrink:0}.author-byline .author-name{font-size:.9375rem;color:var(--text-secondary);font-weight:400;text-decoration:none}.author-byline .author-name:hover{color:var(--primary-color);text-decoration:underline}.author-page-header{display:flex;gap:1.75rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.author-page-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;flex-shrink:0;margin:0;border:1px solid var(--border-color)}.author-page-avatar-placeholder{width:110px;height:110px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:2.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;flex-shrink:0}.author-page-details{flex:1;font-family:var(--sans-font)}.author-page-details h1{margin-top:0;margin-bottom:.875rem}.author-page-bio{color:var(--text-secondary);margin-bottom:1.25rem;line-height:1.6}.author-page-links{display:flex;gap:.875rem;flex-wrap:wrap}.author-page-links a{font-size:.875rem;color:var(--primary-color);text-decoration:none;padding:.375rem .875rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;font-weight:500}.author-page-links a:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.author-posts h2{margin-top:0;margin-bottom:2rem;font-family:var(--sans-font)}.tagged-pages{margin-top:2.5rem}.page-summary{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border-color)}.page-summary:last-child{border-bottom:none}.page-summary h2{font-size:1.625rem;margin-top:0;margin-bottom:.625rem;font-family:var(--sans-font)}.page-summary h2 a{color:var(--text-color);text-decoration:none}.page-summary h2 a:hover{color:var(--primary-color);text-decoration:underline}.page-date{color:var(--text-secondary);font-size:.875rem}.page-excerpt{margin-top:1rem;color:var(--text-secondary);line-height:1.7}.tag-description{color:var(--text-secondary);margin-bottom:2rem}.mobile-menu-toggle{display:none;background:0 0;border:none;border-radius:6px;color:var(--text-color);padding:.5rem;margin-right:-.5rem;cursor:pointer;width:36px;height:36px;align-items:center;justify-content:center;flex-shrink:0}.mobile-menu-toggle svg{width:20px;height:20px}.mobile-menu-toggle:hover{background:var(--bg-secondary)}.mobile-menu-toggle.hidden{opacity:0;pointer-events:none}body.sidebar-open{overflow:hidden;position:fixed;left:0;right:0}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999}.site-footer{width:100%;max-width:var(--content-max-width);margin:3rem auto 0;padding:1rem 0 .5rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom));border-top:1px solid var(--border-color);font-family:var(--sans-font)}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem}.site-footer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.site-footer .copy-markdown-btn,.site-footer a.gallery-download-footer{margin-bottom:0;height:2.25rem;font-family:inherit;padding:0 .875rem 0 .75rem;display:inline-flex;align-items:center;gap:6px;background:0 0;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);font-size:.8125rem}.site-footer .copy-markdown-btn svg,.site-footer a.gallery-download-footer svg{margin-top:-1px}.site-footer a.gallery-download-footer{padding-left:calc(.75rem - 1px)}.site-footer .copy-markdown-btn:hover,.site-footer a.gallery-download-footer:hover{background:0 0;color:var(--text-color)}.site-footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem 1.25rem;color:var(--text-secondary);font-size:.8125rem}.site-footer-meta p{margin:0;font-size:.8125rem}.site-footer-meta .powered-by-sitepaste a{color:var(--text-secondary);text-decoration:none}.site-footer-meta .powered-by-sitepaste a:hover{color:var(--text-color);text-decoration:underline}.nav-blog-item-hidden{display:none}.nav-show-more{display:block;width:100%;padding:.5rem .75rem;margin:.5rem 0;background:0 0;border:none;border-radius:4px;color:var(--text-secondary);font-size:.875rem;font-weight:500;text-align:center;cursor:pointer;font-family:var(--sans-font)}.nav-show-more:hover{background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color)}.nav-archive-link{display:flex;align-items:center;justify-content:center;gap:.25em;padding:.5rem .75rem;margin-top:.5rem;color:var(--primary-color);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:4px;text-align:center}.nav-archive-link:hover{background:color-mix(in srgb,var(--primary-color) 10%,transparent);text-decoration:none}.nav-category{margin-bottom:0}.nav-category-toggle{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem .75rem;background:0 0;border:none;border-radius:4px;cursor:pointer;color:var(--text-color);font-size:.875rem;line-height:1.4;text-align:left}.nav-category-toggle:hover{text-decoration:none;background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color)}.nav-category-chevron{width:.75rem;height:.75rem;flex-shrink:0;opacity:.4}.nav-category-toggle[aria-expanded=false] .nav-category-chevron{transform:rotate(-90deg)}.nav-category-toggle[aria-expanded=false]+.nav-list-collapsible,.nav-category-toggle[aria-expanded=false]~.nav-show-more{display:none}.nav-category-title{font-size:inherit;font-weight:inherit;color:inherit;margin:0}.nav-category .nav-list{margin-top:.375rem;margin-bottom:0}.nav-category .nav-list a{padding-left:1.5rem}.archive-description{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.125rem}.archive-year{margin-bottom:3rem}.archive-year:last-child{margin-bottom:0}.archive-year-title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.archive-posts{display:flex;flex-direction:column;gap:1.5rem}.archive-post{padding:1rem 0;border-bottom:1px solid var(--border-color)}.archive-post:last-child{border-bottom:none}.archive-post-date{display:inline-block;color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-bottom:.5rem;font-family:var(--sans-font)}.archive-post-title{font-size:1.25rem;margin:0 0 .5rem}.archive-post-title a{color:var(--text-color);text-decoration:none}.archive-post-title a:hover{color:var(--primary-color);text-decoration:underline}.archive-post-excerpt{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.figure-caption{margin:2rem 0}.figure-caption img{margin:0;display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border-color)}.figure-caption figcaption{margin-top:.625rem;font-size:.875rem;color:var(--text-secondary);text-align:center;line-height:1.5}@media(max-width:1024px){.sidebar{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.container{display:block;position:relative}body.sidebar-left .sidebar,body.sidebar-right .sidebar{position:fixed;top:0;height:100vh;height:100dvh;width:min(85vw,340px);z-index:1000;left:-100vw;background:var(--bg-color);padding-bottom:calc(5rem + env(safe-area-inset-bottom))}body.sidebar-left .sidebar{left:-100vw}body.sidebar-right .sidebar-right-column{right:-100vw;left:auto;border-left:1px solid var(--border-color);border-right:none}body.sidebar-left .sidebar.open{left:0}body.sidebar-right .sidebar-right-column.open{right:0}.main-content{padding:2rem 1.5rem;width:100%;max-width:100vw}.mobile-menu-toggle{display:flex}.site-header-inner .mobile-menu-toggle{margin-left:-.625rem}.sidebar-overlay.show{display:block}}@media(max-width:768px){.sidebar{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}body.sidebar-left .sidebar,body.sidebar-right .sidebar{box-shadow:2px 0 12px rgba(0,0,0,.15)}.main-content{padding:1.5rem 1rem 2rem;max-width:100vw}.container{display:block;max-width:100vw}.site-header-inner{padding:0 1rem;gap:.625rem}.site-title{font-size:1rem}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.25rem}p{font-size:1rem}body.font-comfortable{font-size:16px}body.font-compact{font-size:14px}body.font-large{font-size:18px}}.nav-list a:has(>.method-badge){display:grid;grid-template-columns:minmax(3.25rem,auto)minmax(0,1fr);column-gap:.4rem;align-items:start}.nav-list a:has(>.method-badge)>.method-badge{justify-self:start;margin-top:2px;margin-right:0}.method-badge{float:left;margin-right:.4rem;padding:.0625rem .3125rem;border-radius:.25rem;font-family:var(--sans-font,inherit);font-size:.625rem;font-weight:600;line-height:1.3;letter-spacing:.02em;color:var(--method-color);background:color-mix(in srgb,var(--method-color) 12%,transparent)}.method-get{--method-color:#059669}.method-post{--method-color:#2563eb}.method-put{--method-color:#b45309}.method-patch{--method-color:#c2410c}.method-delete{--method-color:#dc2626}.method-head{--method-color:#7c3aed}.method-options{--method-color:#64748b}body.dark-mode .method-get{--method-color:#34d399}body.dark-mode .method-post{--method-color:#60a5fa}body.dark-mode .method-put{--method-color:#fbbf24}body.dark-mode .method-patch{--method-color:#fb923c}body.dark-mode .method-delete{--method-color:#f87171}body.dark-mode .method-head{--method-color:#a78bfa}body.dark-mode .method-options{--method-color:#94a3b8}.nav-list a.active .method-badge{color:#fff;background:rgba(255,255,255,.22)}.list-section-chevron{display:inline-block;width:.7em;height:.7em;vertical-align:-.02em;margin-left:.3em}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;text-size-adjust:100%}.table-wrapper table{width:100%;border-collapse:collapse}.table-wrapper th:not(:last-child),.table-wrapper td:not(:last-child){width:max-content;max-width:16rem;overflow-wrap:break-word}.table-wrapper th code,.table-wrapper td code{word-break:normal;overflow-wrap:break-word}.table-wrapper td:last-child:not(:first-child){min-width:16rem}body{--radius:0.375rem;--radius-control:0.375rem;--radius-button:var(--radius-control);--button-bg:var(--primary-color);--button-text:#ffffff;--surface-head-bg:var(--bg-secondary);--surface-head-weight:600}@supports(color:oklch(from red l c h)){body{--button-text:oklch(from var(--button-bg) clamp(0.15, (0.72 - l) * 1000, 1) 0 0)}}.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.125rem;border:1px solid transparent;border-radius:var(--radius-button);font-family:var(--sans-font,inherit);font-size:.9375rem;font-weight:500;line-height:1.4;text-align:center;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease,opacity .15s ease}.sp-btn.sp-btn--primary,.sp-btn.sp-btn--primary:hover,.sp-btn.sp-btn--primary:visited{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text);text-decoration:none}.sp-btn.sp-btn--outline,.sp-btn.sp-btn--outline:hover,.sp-btn.sp-btn--outline:visited{background:0 0;border-color:var(--button-bg);color:var(--button-bg);text-decoration:none}@media(hover:hover){.sp-btn.sp-btn--primary:hover{opacity:.88}.sp-btn.sp-btn--outline:hover{background:var(--button-bg);color:var(--button-text)}}@media(prefers-reduced-motion:reduce){.sp-btn{transition:none}}.sp-btn.sp-btn--full{display:flex;width:100%}.sp-btn:focus-visible{outline:2px solid var(--button-bg);outline-offset:2px}.sp-btn:disabled{opacity:.6;cursor:not-allowed}.sp-cta{display:flex;width:fit-content;max-width:100%;margin:1.5rem 0;padding:.625rem 1.5rem;font-size:1rem;white-space:normal;text-wrap:balance}@media(max-width:639px){.sp-cta{width:100%}}body.theme-modern{--primary-color:#2563eb;--text-color:#0f172a;--text-secondary:#64748b;--bg-color:#ffffff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--border-color:#e2e8f0;--sidebar-width:280px;--body-font:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--sans-font:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif}@media(prefers-color-scheme:dark){body.theme-modern[data-theme=system],body.theme-modern[data-theme=system].dark-mode-soft{--text-color:#f5f5f5;--text-secondary:#a3a3a3;--bg-color:#1a1a1a;--bg-secondary:#262626;--bg-tertiary:#404040;--border-color:#333333}body.theme-modern[data-theme=system].dark-mode-lights-out{--text-color:#f1f5f9;--text-secondary:#94a3b8;--bg-color:#000000;--bg-secondary:#0a0a0a;--bg-tertiary:#1a1a1a;--border-color:#262626}body.theme-modern[data-theme=system].dark-mode-blue{--text-color:#e3e8ef;--text-secondary:#94a3b8;--bg-color:#0f1419;--bg-secondary:#1a1f2e;--bg-tertiary:#252b3b;--border-color:#2e3849}}body.theme-modern.dark-mode,body.theme-modern.dark-mode.dark-mode-soft{--text-color:#f5f5f5;--text-secondary:#a3a3a3;--bg-color:#1a1a1a;--bg-secondary:#262626;--bg-tertiary:#404040;--border-color:#333333}body.theme-modern.dark-mode.dark-mode-lights-out{--text-color:#f1f5f9;--text-secondary:#94a3b8;--bg-color:#000000;--bg-secondary:#0a0a0a;--bg-tertiary:#1a1a1a;--border-color:#262626}body.theme-modern.dark-mode.dark-mode-blue{--text-color:#e3e8ef;--text-secondary:#94a3b8;--bg-color:#0f1419;--bg-secondary:#1a1f2e;--bg-tertiary:#252b3b;--border-color:#2e3849}body.theme-modern.light-mode{--primary-color:#2563eb;--text-color:#0f172a;--text-secondary:#64748b;--bg-color:#ffffff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--border-color:#e2e8f0}body.theme-modern{font-family:var(--body-font);letter-spacing:-.01em}h1{font-size:2.5rem;letter-spacing:-.02em;border-bottom:none}h2{letter-spacing:-.015em;border-bottom:none}h3{letter-spacing:-.01em}.tag{box-shadow:0 1px 2px rgba(0,0,0,5%)}.tag:hover{box-shadow:0 2px 4px rgba(0,0,0,.1)}p{text-align:left}.search-container{margin-bottom:1.5rem;position:relative}.search-input{width:100%;padding:.625rem calc(.75rem - 1px);border:1px solid var(--border-color);border-radius:4px;font-size:16px;font-family:var(--sans-font);background:var(--bg-color);color:var(--text-color)}.search-input:focus{outline:none;border-color:var(--primary-color)}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;margin-top:.5rem;max-height:70vh;overflow-y:auto;overscroll-behavior:contain;display:none;box-shadow:0 2px 8px rgba(0,0,0,8%);z-index:100}.search-results.show{display:block}.search-result-item{padding:.5rem 1rem;border-bottom:1px solid var(--border-color);cursor:pointer}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-tertiary)}.search-result-title{font-weight:600;color:var(--text-color);margin-bottom:.25rem;font-size:.9375rem}.search-result-content{font-size:.875rem;color:var(--text-secondary);line-height:1.5}.search-result-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.375rem}.search-result-tag{padding:.0625rem .5rem;border:1px solid var(--border-color);border-radius:999px;font-size:.75rem;color:var(--text-secondary)}.search-no-results{padding:1rem .875rem;color:var(--text-secondary);font-size:.875rem;text-align:center}.site-header-search{flex-shrink:0;width:220px;margin-bottom:0}.site-header-search .search-input{padding:.375rem .75rem;font-size:.875rem;background:var(--bg-secondary);border-radius:6px}.site-header-search .search-results{left:auto;width:340px;max-width:calc(100vw - 2rem)}@media(min-width:1025px){body.sidebar-right .site-header .site-header-search{width:calc(var(--sidebar-width) - 1.5rem);margin-right:-.75rem}body.sidebar-right .site-header .site-header-inner{padding-left:.75rem}}.search-open-btn{display:none;background:0 0;border:none;border-radius:6px;color:var(--text-color);padding:.5rem;cursor:pointer;width:36px;height:36px;align-items:center;justify-content:center;flex-shrink:0}.search-open-btn:hover{background:var(--bg-secondary)}.search-modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100}@media(max-width:1024px){.site-header-search{width:auto}.site-header-search .search-input{display:none}.search-open-btn{display:flex}body.search-modal-open .search-modal-backdrop{display:block}body.search-modal-open .site-header-search .search-input{display:block;position:fixed;top:1rem;left:50%;transform:translateX(-50%);width:min(calc(100vw - 2rem),540px);z-index:1200;padding:.75rem 1rem;font-size:16px;background:var(--bg-color);box-shadow:0 8px 32px rgba(0,0,0,.25)}body.search-modal-open .site-header-search .search-results{position:fixed;top:4.5rem;left:50%;transform:translateX(-50%);width:min(calc(100vw - 2rem),540px);max-height:min(60vh,24rem);z-index:1200;margin-top:0}}.page-navigation{display:flex;gap:1.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color)}.nav-link{flex:1;text-decoration:none;display:flex;flex-direction:column;gap:.25rem}.nav-link:hover .nav-title{color:var(--primary-color)}.nav-label{display:inline-flex;align-items:center;gap:.25em;font-size:.75rem;color:var(--text-secondary);font-weight:400}.nav-title{color:var(--text-color);font-size:.9375rem;font-weight:400;text-wrap:pretty;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.nav-arrow{width:1em;height:1em;flex-shrink:0}.nav-prev{align-items:flex-start}.nav-next{align-items:flex-end;text-align:right;margin-left:auto}@media(max-width:640px){.page-navigation{flex-direction:column;gap:1rem}.nav-next{align-items:flex-start;text-align:left}}.theme-switch{display:inline-flex;align-items:center;gap:.125rem;padding:.1875rem;border:1px solid var(--border-color);border-radius:999px;flex-shrink:0}.theme-switch-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:0 0;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer}.theme-switch-btn:hover{color:var(--text-color)}body[data-theme=system] .theme-switch-btn[data-set-theme=system],body[data-theme=light] .theme-switch-btn[data-set-theme=light],body[data-theme=dark] .theme-switch-btn[data-set-theme=dark]{background:var(--bg-tertiary,var(--bg-secondary));color:var(--text-color)}