.article-wrap{padding-bottom:5rem}.article-inner{max-width:var(--prose-width);margin:0 auto}.breadcrumb-row{color:var(--text-muted);padding:1.5rem 0 0;font-size:.8125rem}.breadcrumb-row .breadcrumbs .item a{color:var(--text-muted);text-decoration:none}.breadcrumb-row .breadcrumbs .item a:hover,.breadcrumb-row .breadcrumbs .item a:focus-visible{color:var(--accent)}.breadcrumb-row .breadcrumbs .separator{color:var(--hairline)}.breadcrumb-row .breadcrumbs .item span[aria-current=page]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:28ch;font-weight:400;display:inline-block;overflow:hidden}.article-header{text-align:center;padding:2.5rem 0 1.75rem}.article-header h1{letter-spacing:-.025em;color:var(--text-primary);margin:0 0 1.25rem;font-size:clamp(1.5rem,4vw,2.125rem);font-weight:700;line-height:1.25}.article-meta{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.375rem .625rem;font-size:.875rem;display:flex}.categories{gap:.375rem;display:flex}.category-chip{border:1px solid var(--accent);color:var(--accent);letter-spacing:.01em;border-radius:999px;padding:.1em .625rem;font-size:.75rem;font-weight:500;display:inline-block}.meta-sep{color:var(--hairline)}.toc{border:1px solid var(--hairline);background-color:var(--surface-raised);border-radius:10px;margin:1.75rem 0;padding:1.25rem 1.5rem}.toc-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .75rem;font-size:.75rem;font-weight:600}.toc-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.toc-list .toc-item{font-size:inherit;margin-top:0;margin-left:0;list-style-type:none}.toc-item a{color:var(--text-muted);font-size:.9375rem;text-decoration:none;transition:color .15s ease-in-out}.toc-item a:hover,.toc-item a:focus-visible{color:var(--accent)}.toc-item--sub{padding-left:1.25rem}.toc-item--sub a{font-size:.875rem}.has-toc h2#สารบัญ,.has-toc h2#สารบัญ+ul,.has-toc h3#สารบัญ,.has-toc h3#สารบัญ+ul{display:none}.article-prose{border-top:1px solid var(--hairline);padding-top:1.75rem}.article-prose h2{letter-spacing:-.02em;color:var(--text-primary);margin-top:2.25em;margin-bottom:.5em;font-size:clamp(1.1875rem,2.5vw,1.4375rem);font-weight:700;line-height:1.3}.article-prose h3{letter-spacing:-.018em;color:var(--text-primary);margin-top:2em;margin-bottom:.35em;font-size:clamp(1.0625rem,2vw,1.1875rem);font-weight:700;line-height:1.35}.article-prose h4{letter-spacing:-.01em;color:var(--text-primary);margin-top:1.75em;margin-bottom:.25em;font-size:1rem;font-weight:700;line-height:1.4}.article-prose blockquote{color:var(--text-muted);font-style:italic}.article-prose a:not([class]){color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px}.article-prose a:not([class]):hover{color:var(--accent-hover)}.article-prose :not(pre)>code{background-color:color-mix(in srgb, var(--text-muted) 12%, transparent);color:var(--text-primary);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em}.article-prose pre.astro-code{border:1px solid var(--hairline);border-radius:10px;margin:1.5em 0;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.65;overflow-x:auto}.article-prose table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:.9375rem}.article-prose th{text-align:left;border-bottom:2px solid var(--hairline);color:var(--text-primary);padding:.5rem .75rem;font-weight:600}.article-prose td{border-bottom:1px solid var(--hairline);color:var(--text-primary);padding:.5rem .75rem}.darkmode .astro-code,.darkmode .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.post-nav{border-top:1px solid var(--hairline);gap:1.5rem;margin-top:3rem;padding-top:1.5rem;display:flex}.post-nav-side{flex:1;min-width:0}.post-nav-side--right{text-align:right}.post-nav-link{flex-direction:column;gap:.25rem;text-decoration:none;display:inline-flex}.post-nav-link .nav-dir{color:var(--text-muted);font-size:.8125rem}.post-nav-link .nav-title{color:var(--text-primary);font-size:.9375rem;font-weight:600;transition:color .15s ease-in-out}.post-nav-link:hover .nav-title,.post-nav-link:focus-visible .nav-title{color:var(--accent)}
