.reading-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--color-gradient-primary);z-index:var(--z-index-tooltip);transition:width .1s ease}.post-header{padding:var(--space-xxxl) 0;background:linear-gradient(135deg,var(--color-background) 0%,#c3cfe2 100%);position:relative;overflow:hidden}.post-header::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Cg fill="%233b5bdb" fill-opacity="0.05"%3E%3Cpath d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");z-index:0}.post-header-content{position:relative;z-index:1;max-width:800px;margin:0 auto;text-align:center}.post-category{display:inline-block;background:var(--color-gradient-primary);color:#fff;padding:var(--space-xs) var(--space-md);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-lg);box-shadow:var(--shadow-sm)}.post-category a{color:#fff;text-decoration:none}.post-title{font-size:var(--font-size-4xl);margin-bottom:var(--space-xl);color:var(--color-secondary);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);font-family:var(--font-family-display)}.post-meta{margin-bottom:var(--space-xl)}.post-meta-row{display:flex;justify-content:center;gap:var(--space-xl);margin-bottom:var(--space-md);flex-wrap:wrap}.post-meta-item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-light);background:rgba(255,255,255,0.8);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-full);box-shadow:var(--shadow-sm)}.post-meta-item[hidden]{display:none}.meta-icon{font-size:var(--font-size-base)}.post-tags{display:flex;justify-content:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-lg)}.post-tag{display:inline-block;background:rgba(255,255,255,0.8);color:var(--color-text);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-normal);text-decoration:none;box-shadow:var(--shadow-sm)}.post-tag:hover{background:var(--color-brand-surface);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.post-content-section{padding:var(--space-xxxl) 0;background:var(--color-card)}.post{max-width:800px;margin:0 auto;background:var(--color-card);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-xxl);border:1px solid var(--color-border)}.post-content{line-height:var(--line-height-relaxed);color:var(--color-text);font-family:var(--font-family)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{margin-top:var(--space-xxl);margin-bottom:var(--space-lg);color:var(--color-secondary);font-weight:var(--font-weight-semibold);font-family:var(--font-family-display)}.post-content h1{font-size:var(--font-size-2xl)}.post-content h2{font-size:var(--font-size-xl)}.post-content h3{font-size:var(--font-size-lg)}.post-content p{margin-bottom:var(--space-lg)}.post-content img{max-width:100%;height:auto;border-radius:var(--border-radius-lg);margin:var(--space-lg) 0;box-shadow:var(--shadow-md);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.post-content img:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.post-content a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.post-content a:hover{color:var(--color-secondary);text-decoration:underline}.post-content ul,.post-content ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}.post-content li{margin-bottom:var(--space-sm)}.related-posts{padding:var(--space-xxxl) 0;background:var(--color-background)}.no-related-posts{text-align:center;padding:var(--space-xxl);color:var(--color-text-light);font-size:var(--font-size-lg)}.post-comments{padding:var(--space-xxxl) 0;background:var(--color-card)}.comments-container{max-width:800px;margin:0 auto}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--color-secondary);margin-top:var(--space-xxl);margin-bottom:var(--space-lg);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);font-family:var(--font-family-display)}.post-content h1{font-size:var(--font-size-3xl);position:relative;padding-bottom:var(--space-md);margin-top:0}.post-content h1::after{content:'';position:absolute;bottom:0;left:0;width:80px;height:4px;background:var(--color-gradient-primary);border-radius:var(--border-radius-full)}.post-content h2{font-size:var(--font-size-2xl);position:relative;padding-bottom:var(--space-sm)}.post-content h2::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:3px;background:var(--color-gradient-primary);border-radius:var(--border-radius-full)}.post-content h3{font-size:var(--font-size-xl)}.post-content h4{font-size:var(--font-size-lg)}.post-content h5{font-size:var(--font-size-base)}.post-content h6{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.post-content ul,.post-content ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}.post-content ul{list-style-type:disc}.post-content ol{list-style-type:decimal}.post-content li{margin-bottom:var(--space-sm);line-height:var(--line-height-relaxed)}.post-content li ul,.post-content li ol{margin-top:var(--space-sm);margin-bottom:0}.post-content a{color:var(--color-primary);text-decoration:none;transition:all var(--transition-fast);position:relative;padding-bottom:2px}.post-content a::after{content:'';position:absolute;width:0;height:2px;bottom:0;left:0;background:var(--color-gradient-primary);transition:width var(--transition-fast)}.post-content a:hover{color:var(--color-secondary)}.post-content a:hover::after{width:100%}.post-content code{background-color:var(--color-inline-code-bg);color:var(--color-inline-code-text);border:1px solid var(--color-inline-code-border);padding:.2rem .4rem;border-radius:var(--border-radius-sm);font-family:var(--font-family-mono);font-size:.9em;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.post-content pre{background-color:var(--color-code-bg);color:var(--color-code-text);padding:var(--space-lg);border-radius:var(--border-radius-lg);overflow:auto;max-height:min(32rem, 70vh);margin-bottom:var(--space-lg);font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.65;box-shadow:var(--shadow-md);white-space:pre;overflow-wrap:normal;word-break:normal;tab-size:2;scrollbar-width:thin;scrollbar-color:var(--color-code-scrollbar) var(--color-code-scrollbar-track)}.post-content pre::-webkit-scrollbar{width:10px;height:10px}.post-content pre::-webkit-scrollbar-track{background:var(--color-code-scrollbar-track)}.post-content pre::-webkit-scrollbar-thumb{background:var(--color-code-scrollbar);border:2px solid var(--color-code-bg);border-radius:999px}.post-content pre::-webkit-scrollbar-thumb:hover{background:var(--color-code-scrollbar-hover)}.post-content pre code{background:transparent;color:inherit;border:0;padding:0;border-radius:0}.post-content figure.highlight{position:relative;width:100%;min-width:0;max-width:100%;max-height:min(32rem, 70vh);overflow:auto;margin:0 0 var(--space-lg);padding:0;background:var(--color-code-bg);color:var(--color-code-text);border:1px solid var(--color-code-border);border-radius:12px;box-shadow:0 14px 36px rgba(12,22,17,0.16);transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal);scrollbar-width:thin;scrollbar-color:var(--color-code-scrollbar) var(--color-code-scrollbar-track)}.post-content figure.highlight::-webkit-scrollbar{width:10px;height:10px}.post-content figure.highlight::-webkit-scrollbar-track{background:var(--color-code-scrollbar-track)}.post-content figure.highlight::-webkit-scrollbar-thumb{background:var(--color-code-scrollbar);border:2px solid var(--color-code-bg);border-radius:999px}.post-content figure.highlight::-webkit-scrollbar-thumb:hover{background:var(--color-code-scrollbar-hover)}.post-content figure.highlight.code-block{display:flex;flex-direction:column;max-height:none;overflow:hidden}.post-content figure.highlight > figcaption{flex:0 0 auto;padding:.65rem var(--space-md);background:var(--color-code-surface);color:var(--color-code-text);border-bottom:1px solid var(--color-code-border);font-size:var(--font-size-xs)}.post-content figure.highlight > figcaption a{color:var(--color-code-string)}.post-content .code-block-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;min-height:44px;padding:.35rem .6rem .35rem var(--space-md);gap:var(--space-md);background:var(--color-code-surface);border-bottom:1px solid var(--color-code-border)}.post-content .code-block-language{display:inline-flex;align-items:center;min-width:0;color:var(--color-code-text);font-family:var(--font-family-mono);font-size:.72rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;line-height:1;text-transform:uppercase}.post-content .code-block-language::before{content:'';flex:0 0 auto;width:.45rem;height:.45rem;margin-right:.55rem;background:var(--color-code-keyword);border-radius:50%;box-shadow:0 0 0 3px rgba(216,255,114,0.12)}.post-content .code-block-actions{display:flex;align-items:center;gap:var(--space-xs)}.post-content .code-block-copy{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:34px;padding:.35rem .7rem;gap:.4rem;background:rgba(255,255,255,0.04);color:var(--color-code-text);border:1px solid var(--color-code-border);border-radius:8px;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.post-content .code-block-copy:hover:not(:disabled):not([aria-disabled='true']){background:rgba(216,255,114,0.1);border-color:rgba(216,255,114,0.4)}.post-content .code-block-copy:active:not(:disabled):not([aria-disabled='true']){transform:translateY(1px)}.post-content .code-block-copy:focus-visible{outline:2px solid var(--color-code-focus);outline-offset:2px}.post-content .code-block-copy:disabled,.post-content .code-block-copy[aria-disabled='true']{cursor:wait;opacity:.8}.post-content .code-block-copy[data-copy-state='success']{background:rgba(143,213,176,0.14);border-color:var(--color-code-string);color:var(--color-code-string)}.post-content .code-block-copy[data-copy-state='error']{background:rgba(239,154,127,0.14);border-color:var(--color-code-variable);color:var(--color-code-variable)}.post-content .code-block-copy-icon{flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.post-content figure.highlight > .code-block-content{position:relative;flex:1 1 auto;width:100%;min-width:0;max-width:100%;max-height:min(32rem, 70vh);overflow:auto;background:var(--color-code-bg);color:var(--color-code-text);outline:none;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-code-scrollbar) var(--color-code-scrollbar-track)}.post-content figure.highlight > .code-block-content:focus-visible{outline:2px solid var(--color-code-focus);outline-offset:-2px}.post-content figure.highlight > .code-block-content::-webkit-scrollbar{width:10px;height:10px}.post-content figure.highlight > .code-block-content::-webkit-scrollbar-track{background:var(--color-code-scrollbar-track)}.post-content figure.highlight > .code-block-content::-webkit-scrollbar-thumb{background:var(--color-code-scrollbar);border:2px solid var(--color-code-bg);border-radius:999px}.post-content figure.highlight > .code-block-content::-webkit-scrollbar-thumb:hover{background:var(--color-code-scrollbar-hover)}.post-content figure.highlight > table,.post-content figure.highlight > .code-block-content > table{display:table;width:max-content;min-width:100%;max-width:none;table-layout:auto;border-collapse:collapse;margin:0;padding:0;background:transparent;box-shadow:none;overflow:visible;border:0;border-radius:0}.post-content figure.highlight tbody,.post-content figure.highlight tr{margin:0;padding:0;background:transparent;border:none}.post-content figure.highlight td{padding:0;background:transparent;border:0;border-bottom:0}.post-content figure.highlight .gutter{position:sticky;left:0;z-index:2;width:3.25rem;min-width:3.25rem;padding:0;background:var(--color-code-gutter);color:var(--color-code-line-number);border-right:1px solid var(--color-code-border);text-align:right;vertical-align:top;user-select:none;-webkit-user-select:none}.post-content figure.highlight .gutter pre,.post-content figure.highlight .code pre{background:transparent;margin:0;font-family:var(--font-family-mono);font-size:.84rem;line-height:1.65;white-space:pre;overflow:visible;max-height:none;border-radius:0;box-shadow:none;overflow-wrap:normal;word-break:normal;tab-size:2}.post-content figure.highlight .gutter pre{padding:var(--space-md) .75rem;color:inherit}.post-content figure.highlight .code{padding:0;vertical-align:top;width:auto}.post-content figure.highlight .code pre{color:var(--color-code-text);padding:var(--space-md) var(--space-lg)}.post-content figure.highlight .keyword,.post-content figure.highlight .selector-tag,.post-content figure.highlight .tag,.post-content figure.highlight .name{color:var(--color-code-keyword)}.post-content figure.highlight .string,.post-content figure.highlight .regexp{color:var(--color-code-string)}.post-content figure.highlight .comment,.post-content figure.highlight .quote{color:var(--color-code-comment);font-style:italic}.post-content figure.highlight .title,.post-content figure.highlight .function,.post-content figure.highlight .function_,.post-content figure.highlight .built_in,.post-content figure.highlight .builtin,.post-content figure.highlight .type,.post-content figure.highlight .section{color:var(--color-code-function)}.post-content figure.highlight .variable,.post-content figure.highlight .template-variable,.post-content figure.highlight .attr,.post-content figure.highlight .attribute,.post-content figure.highlight .property,.post-content figure.highlight .selector-class,.post-content figure.highlight .selector-id,.post-content figure.highlight .selector-attr,.post-content figure.highlight .selector-pseudo{color:var(--color-code-variable)}.post-content figure.highlight .number,.post-content figure.highlight .literal,.post-content figure.highlight .symbol,.post-content figure.highlight .bullet,.post-content figure.highlight .meta{color:var(--color-code-number)}.post-content figure.highlight .operator,.post-content figure.highlight .punctuation,.post-content figure.highlight .params,.post-content figure.highlight .subst{color:var(--color-code-text)}.post-content figure.highlight .addition{color:var(--color-code-string);background:rgba(143,213,176,0.12)}.post-content figure.highlight .deletion{color:var(--color-code-variable);background:rgba(239,154,127,0.12)}.post-content blockquote{border-left:4px solid var(--color-primary);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);background-color:var(--color-background);color:var(--color-text-light);font-style:italic;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;box-shadow:var(--shadow-sm)}.post-content img{max-width:100%;height:auto;border-radius:var(--border-radius-lg);display:block;margin:var(--space-lg) auto;box-shadow:var(--shadow-md);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.post-content img:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.post-content table{width:100%;border-collapse:collapse;margin-bottom:var(--space-lg);background-color:var(--color-card);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.post-content th,.post-content td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.post-content th{background-color:var(--color-background);font-weight:var(--font-weight-semibold);color:var(--color-secondary)}.post-content tr:last-child td{border-bottom:none}.post-content hr{border:none;height:1px;background:var(--color-gradient-primary);margin:var(--space-xxl) 0}@media (max-width:768px){.post-header{padding:var(--space-xxl) 0}.post-title{font-size:var(--font-size-3xl)}.post-meta-row{flex-direction:column;gap:var(--space-md)}.post-content-section{padding:var(--space-xxl) 0}.post{padding:var(--space-xl);margin:0 var(--space-md)}.post-content h1{font-size:var(--font-size-xl)}.post-content h2{font-size:var(--font-size-lg)}.post-content h3{font-size:var(--font-size-base)}.related-posts{padding:var(--space-xxl) 0}.post-comments{padding:var(--space-xxl) 0}.comments-container{margin:0 var(--space-md)}.post-content .code-block-header{padding:.3rem .45rem .3rem var(--space-sm)}.post-content .code-block-language{font-size:.68rem}.post-content .code-block-copy{min-width:72px;min-height:34px;padding:.35rem .6rem}.post-content figure.highlight > .code-block-content{max-height:min(28rem, 68vh)}.post-content figure.highlight .gutter pre,.post-content figure.highlight .code pre{font-size:.78rem}.post-content figure.highlight .gutter pre{padding:var(--space-sm) .65rem}.post-content figure.highlight .code pre{padding:var(--space-sm) var(--space-md)}}