﻿:root{--color-bg: #F0EAE0;--color-bg-secondary: #E8E0D4;--color-bg-alt: #E5DED3;--color-bg-coral: #F5EBE8;--color-text: #1C3240;--color-text-secondary: #5A7078;--color-text-inverse: #F0EAE0;--color-link: #D4706A;--color-link-hover: #B85A54;--color-border: #E4DED5;--color-code-bg: #F0EBE3;--color-accent: #D4706A;--color-accent-secondary: #2A8F82;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: "Literata", Georgia, "Times New Roman", serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, Monaco, Consolas, monospace;--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--max-width: 48rem;--header-height: 4rem}[data-theme=dark]{--color-bg: #0E1A20;--color-bg-secondary: #152730;--color-bg-alt: #1A2830;--color-bg-coral: #1E1816;--color-text: #E8F0F0;--color-text-secondary: #8BA5A8;--color-text-inverse: #0E1A20;--color-link: #F2A07B;--color-link-hover: #F5B99A;--color-border: #1E3640;--color-code-bg: #0A1318;--color-accent: #F2A07B;--color-accent-secondary: #4DD4AC}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-serif);font-size:1.0625rem;line-height:1.75;color:var(--color-text);background-color:var(--color-bg);transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);font-family:var(--font-sans);font-weight:600;line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{margin-top:0;margin-bottom:var(--spacing-md)}a{color:var(--color-link);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-link-hover);text-decoration:underline}blockquote{margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);border-left:4px solid var(--color-accent-secondary);background-color:var(--color-bg-secondary);font-style:italic}blockquote p:last-child{margin-bottom:0}code{font-family:var(--font-mono);font-size:.875em;background-color:var(--color-code-bg);padding:.125em .375em;border-radius:3px}pre{margin:var(--spacing-md) 0;padding:var(--spacing-md);padding-left:calc(var(--spacing-md) + 3px);overflow-x:auto;background-color:var(--color-code-bg);border-radius:6px;border-left:3px solid var(--color-accent-secondary);line-height:1.5}pre code{padding:0;background:none;font-size:.875rem}.skip-link{position:absolute;top:-100%;left:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);color:#fff;z-index:1000}.skip-link:focus{top:0}.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border);backdrop-filter:blur(8px);background-color:rgba(240,234,224,.92)}[data-theme=dark] .site-header{background-color:rgba(14,26,32,.92)}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:var(--spacing-md);height:var(--header-height)}.site-title{font-family:var(--font-sans);font-size:1.125rem;font-weight:600;color:var(--color-text)}.site-title:hover{color:var(--color-link);text-decoration:none}.nav-links{display:flex;align-items:center;gap:var(--spacing-md);font-family:var(--font-sans)}.nav-links a{color:var(--color-text-secondary)}.nav-links a:hover{color:var(--color-link)}.feed-link{display:flex;align-items:center;color:var(--color-text-secondary);transition:color .2s ease}.feed-link:hover{color:var(--color-accent);text-decoration:none}.feed-icon{width:18px;height:18px}.theme-toggle{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);font-size:1.25rem;color:var(--color-text-secondary);line-height:1;transition:color .2s ease}.theme-toggle:hover{color:var(--color-accent-secondary)}.theme-toggle .sun-icon{display:none}.theme-toggle .moon-icon{display:inline}[data-theme=dark] .theme-toggle .sun-icon{display:inline}[data-theme=dark] .theme-toggle .moon-icon{display:none}.main-content{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-md);min-height:calc(100vh - var(--header-height) - 8rem)}.main-content:has(.post-layout){max-width:1024px}.site-footer{background:var(--color-bg-alt);border-top:2px solid var(--color-accent-secondary);padding:var(--spacing-xl) var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:.875rem}.footer-content{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.footer-content p{margin:0}.footer-links{display:flex;gap:var(--spacing-md)}.footer-links a{color:var(--color-text-secondary)}.footer-links a:hover{color:var(--color-link)}.featured-posts{margin-bottom:var(--spacing-xl)}.featured-posts h2{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-weight:600}.featured-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--spacing-md)}.featured-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;transition:border-color .2s ease}.featured-card:hover{border-color:var(--color-accent)}.featured-card a{display:block;padding:var(--spacing-lg);color:var(--color-text);text-decoration:none}.featured-card h3{margin:0 0 var(--spacing-sm);font-size:1.25rem;line-height:1.3}.featured-card p{margin:0 0 var(--spacing-md);color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5}.featured-meta{display:flex;gap:var(--spacing-md);font-size:.875rem;color:var(--color-text-secondary)}.reading-time::before{content:"·";margin-right:var(--spacing-md)}.recent-posts h2{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:var(--spacing-md);font-weight:600;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-accent)}.view-all{display:inline-block;margin-top:var(--spacing-md);color:var(--color-link);font-weight:500}.view-all:hover{color:var(--color-link-hover)}.post-list{list-style:none;padding:0;margin:0}.post-item{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.post-item:last-child{border-bottom:none}.post-item>a{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-md);color:var(--color-text)}.post-item>a:hover{text-decoration:none}.post-item>a:hover .post-title{color:var(--color-link)}.post-item time{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap}.post-title{font-weight:500;transition:color .2s ease}.post-excerpt{margin:var(--spacing-sm) 0 0;color:var(--color-text-secondary);font-size:.9375rem}.post-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.tag{display:inline-block;padding:.125rem .5rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:3px;font-size:.75rem;color:var(--color-accent-secondary);text-decoration:none;transition:all .2s ease}.tag:hover{background-color:var(--color-accent-secondary);border-color:var(--color-accent-secondary);color:var(--color-bg);text-decoration:none}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.pagination-info{color:var(--color-text-secondary);font-size:.875rem}.post-layout{display:grid;grid-template-columns:minmax(0, 1fr) 240px;gap:var(--spacing-xl);max-width:960px;margin:0 auto;padding:0 var(--spacing-md)}.post-main{min-width:0}.post-sidebar{font-size:.875rem}.post-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-accent-secondary)}.post-header h1{margin-top:0;margin-bottom:var(--spacing-sm);font-size:2rem;line-height:1.2}.post-description{color:var(--color-text-secondary);font-size:1.125rem;margin:var(--spacing-sm) 0 0;line-height:1.5}.sidebar-sticky{position:sticky;top:calc(var(--header-height) + var(--spacing-lg));display:flex;flex-direction:column;gap:var(--spacing-lg)}.sidebar-sticky>section{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.sidebar-sticky>section:last-child{border-bottom:none;padding-bottom:0}.author-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.author-image{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--color-accent-secondary)}.author-name{font-weight:600;font-size:1rem}.author-bio{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 var(--spacing-sm)}.author-links{display:flex;gap:var(--spacing-sm)}.author-link{font-size:.8125rem;color:var(--color-text-secondary);text-decoration:none;padding:.125rem .5rem;background:var(--color-bg-secondary);border-radius:3px}.author-link:hover{color:var(--color-link);text-decoration:none}.sidebar-meta{display:flex;flex-direction:column;gap:var(--spacing-xs)}.meta-item{display:flex;justify-content:space-between;font-size:.875rem}.meta-label{color:var(--color-text-secondary)}.sidebar-actions{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-xs)}.action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:var(--spacing-sm);border-radius:6px;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .2s ease;background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid rgba(0,0,0,0);cursor:pointer}.action-button:hover{border-color:var(--color-accent);color:var(--color-accent);text-decoration:none}.action-icon{width:18px;height:18px}.cite-modal{margin-top:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:6px;padding:var(--spacing-sm);border:1px solid var(--color-border)}.cite-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.cite-tab{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:rgba(0,0,0,0);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;border-radius:4px;transition:all .15s ease}.cite-tab:hover{background:var(--color-bg)}.cite-tab.active{background:var(--color-bg);color:var(--color-text)}.cite-content pre{margin:0 0 var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg);border-radius:4px;font-size:.7rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.cite-content pre code{background:none;padding:0;font-size:inherit}.cite-copy{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;border-radius:4px;transition:all .15s ease}.cite-copy:hover{border-color:var(--color-accent);color:var(--color-accent)}.sidebar-toc h3{font-size:.9375rem;color:var(--color-text);margin:0 0 var(--spacing-sm);font-weight:600;line-height:1.3}.toc-nav ul{margin:0;padding:0;list-style:none}.toc-nav>ul>li>ul{padding-left:var(--spacing-md)}.toc-nav li{margin:var(--spacing-xs) 0}.toc-nav a{color:var(--color-text-secondary);font-size:.875rem;text-decoration:none;display:block;padding:.125rem 0;border-left:2px solid rgba(0,0,0,0);padding-left:var(--spacing-sm);transition:all .15s ease}.toc-nav a:hover{color:var(--color-accent-secondary);border-left-color:var(--color-accent-secondary)}.toc-nav a.active{color:var(--color-accent-secondary);border-left-color:var(--color-accent-secondary);font-weight:500}.sidebar-tags h3{font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm);font-weight:600}.tag-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.post-content h2,.post-content h3,.post-content h4{margin-top:var(--spacing-xl)}.post-content h2:first-child,.post-content h3:first-child,.post-content h4:first-child{margin-top:0}.post-content img{max-width:100%;height:auto;border-radius:6px}.post-content ul,.post-content ol{padding-left:var(--spacing-lg)}.post-content li{margin:var(--spacing-xs) 0}.post-content table{width:100%;border-collapse:collapse;margin:var(--spacing-md) 0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.post-content table th,.post-content table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border)}.post-content table th{font-weight:600;background-color:var(--color-bg-secondary);color:var(--color-accent-secondary);border-bottom:2px solid var(--color-accent-secondary)}.post-content table tr:last-child td{border-bottom:none}.post-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}.figure{margin:var(--spacing-lg) 0;text-align:center}.figure img{max-width:100%;height:auto;border-radius:6px}.figure figcaption{margin-top:var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary);font-style:italic}.citation{color:var(--color-link);font-size:.875em;vertical-align:super;text-decoration:none}.citation:hover{text-decoration:underline}.references{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:2px solid var(--color-accent)}.references h2{font-size:1.25rem;color:var(--color-accent)}.reference-list{padding-left:var(--spacing-lg);font-size:.9375rem}.reference-list li{margin:var(--spacing-md) 0;padding-left:var(--spacing-sm)}.ref-authors{font-weight:500}.ref-doi,.ref-url{font-size:.875em;word-break:break-all}.footnote-definition{font-size:.9375rem;margin:var(--spacing-sm) 0}.footnote-definition sup{margin-right:var(--spacing-xs)}.footnote-definition p{display:inline;margin:0}.katex-display{overflow-x:auto;overflow-y:hidden;padding:var(--spacing-md) 0}.katex{font-size:1.1em}.post-navigation{display:flex;justify-content:space-between;margin-top:var(--spacing-xl);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);font-size:.9375rem}.nav-earlier,.nav-later{max-width:45%}.section-header{margin:calc(-1*var(--spacing-lg)) calc(-1*var(--spacing-md)) var(--spacing-lg);padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:2px solid var(--color-accent-secondary)}.section-header h1{margin-top:0;color:var(--color-accent-secondary)}.section-description{color:var(--color-text-secondary)}.taxonomy-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.taxonomy-item a{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);transition:all .2s ease}.taxonomy-item a:hover{background-color:var(--color-accent-secondary);border-color:var(--color-accent-secondary);color:var(--color-bg);text-decoration:none}.term-name{font-weight:500}.term-count{color:var(--color-text-secondary);font-size:.875em;margin-left:var(--spacing-xs)}@media (max-width: 768px){.featured-grid{grid-template-columns:1fr}.post-layout{grid-template-columns:1fr;gap:var(--spacing-lg)}.post-sidebar{order:-1;padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.sidebar-sticky{position:static;display:grid;grid-template-columns:1fr auto;gap:var(--spacing-sm);align-items:start}.sidebar-meta{grid-column:1;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md)}.sidebar-actions{grid-column:2;grid-row:1;display:flex;flex-direction:row;gap:var(--spacing-xs)}.action-button{flex-direction:row;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.sidebar-toc,.sidebar-tags,.sidebar-author,.cite-modal{display:none}}.simple-page{max-width:var(--max-width);margin:0 auto}.page-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-accent-secondary)}.page-header h1{margin-top:0;margin-bottom:var(--spacing-sm)}.page-description{color:var(--color-text-secondary);font-size:1.125rem;margin:0}.page-content h2{margin-top:var(--spacing-xl)}.page-content h2:first-child{margin-top:0}.page-content ul,.page-content ol{padding-left:var(--spacing-lg)}.page-content li{margin:var(--spacing-sm) 0}.profile-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);text-align:center}.profile-image{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--color-accent-secondary)}.profile-links{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.profile-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s ease}.profile-link:hover{border-color:var(--color-accent);color:var(--color-accent);text-decoration:none}.profile-icon{width:18px;height:18px;flex-shrink:0}@media (max-width: 640px){html{font-size:15px}.featured-grid{grid-template-columns:1fr}.post-item>a{flex-direction:column;gap:var(--spacing-xs)}.footer-content{flex-direction:column;text-align:center}.nav-container{padding:var(--spacing-sm) var(--spacing-md)}.sidebar-meta{flex-direction:column;gap:var(--spacing-xs)}.post-header h1{font-size:1.5rem}}