﻿:root{--bg-primary: #FAF6EA;--bg-secondary: #F7F2E5;--bg-code: #F0EBDD;--text-primary: #2C2C2C;--text-secondary: #5A5A5A;--text-muted: #888888;--link-color: #B8860B;--link-hover: #8B6914;--accent: #DAA520;--border-color: #E8E0C8;--divider-color: #F0E8D0;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif: Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-base: 16px;--text-sm: 0.875rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--space-xs: 0.25rem;--space-sm: 0.5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--content-width: 45rem;--wide-width: 65rem}*{box-sizing:border-box}html{font-size:var(--text-base);-webkit-text-size-adjust:100%}body{margin:0;padding:0;font-family:var(--font-sans);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:var(--space-xl) 0 var(--space-md);font-weight:600;line-height:1.25}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{margin:var(--space-md) 0}a{color:var(--link-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--link-hover);text-decoration:underline}a:visited{opacity:.9}ul,ol{margin:var(--space-md) 0;padding-left:var(--space-xl)}li{margin:var(--space-xs) 0}code{font-family:var(--font-mono);font-size:.875em;background-color:var(--bg-code);padding:.125em .25em;border-radius:3px}pre{background-color:var(--bg-code);padding:var(--space-md);overflow-x:auto;border-radius:6px;line-height:1.45}pre code{background:none;padding:0}blockquote{margin:var(--space-lg) 0;padding:0 var(--space-lg);border-left:4px solid var(--accent);color:var(--text-secondary);font-style:italic}hr{border:none;border-top:1px solid var(--divider-color);margin:var(--space-2xl) 0}img{max-width:100%;height:auto}table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0}th,td{padding:var(--space-sm);border-bottom:1px solid var(--border-color);text-align:left}th{font-weight:600;background-color:var(--bg-secondary)}.container{max-width:var(--wide-width);margin:0 auto;padding:0 var(--space-lg)}.content{max-width:var(--content-width);margin:0 auto}@media (max-width: 768px){:root{--text-base: 15px}.container{padding:0 var(--space-md)}}#root{position:relative}.navbar{background-color:var(--bg-primary);position:fixed;top:0;left:0;z-index:1000;width:100%;height:60px}.navbar-inner{box-sizing:border-box;padding:var(--space-md) var(--space-lg);height:100%;display:flex;align-items:center}.site-brand{display:flex;align-items:baseline;gap:var(--space-md);text-decoration:none}.site-brand .site-name{font-size:var(--text-xl);font-weight:600;color:var(--text-primary)}.site-brand .site-tagline{font-size:var(--text-sm);color:var(--text-secondary)}.site-brand:hover .site-name{color:var(--link-color)}.body-zone{padding-top:60px;padding-left:var(--space-lg);padding-right:var(--space-lg);max-width:74rem;margin:0 auto}.site-intro{padding:var(--space-xl) 0;max-width:52rem}.intro-content{background-color:var(--bg-primary);border-radius:12px;padding:var(--space-lg) var(--space-xl)}.intro-content p{font-size:var(--text-base);line-height:1.8;color:var(--text-primary);margin:0}.intro-content a{color:var(--link-color);font-weight:500;text-decoration:underline;text-underline-offset:2px}.intro-content a:hover{color:var(--link-hover)}.header{padding-top:var(--space-lg)}.header-inner{max-width:52rem}.main-wrapper{display:block;position:relative}.main{margin-right:0}.main-inner{max-width:44rem;padding:0}.sidebar{display:none}@media (min-width: 768px){.navbar{width:auto;height:auto;position:static}.navbar-inner{padding:var(--space-xl) 0}.body-zone{padding-top:0;padding-left:var(--space-2xl);padding-right:var(--space-2xl)}}@media (max-width: 768px){.intro-content{padding:var(--space-md)}.intro-content p{font-size:.9375rem;line-height:1.7}}.mobile-search-container{display:none;margin-top:var(--space-md);text-align:center}.mobile-search-box{display:inline-block;width:50%;padding:var(--space-sm) var(--space-lg);background-color:#f0e9d2;border-radius:8px;text-align:center;color:var(--text-secondary);text-decoration:none;transition:all .2s ease}.mobile-search-box:hover{background-color:var(--bg-code);color:var(--text-primary)}@media (max-width: 52rem){.mobile-search-container{display:block}}@media (min-width: 52rem){.main{margin-right:21rem}.sidebar{display:block;width:18rem;position:absolute;top:0;right:0}}@media (min-width: 52rem) and (max-width: 80rem){.sidebar{right:var(--space-2xl)}}@media (min-width: 52rem){.page-home .sidebar{padding-top:0;margin-top:calc(var(--space-xl)*-2)}}@media (min-width: 52rem){.page-section .sidebar{padding-top:0}}@media (min-width: 52rem){.sidebar-inner{width:100%;padding:var(--space-lg)}}@media (min-width: 52rem){.sidebar-section{margin-bottom:var(--space-2xl)}.sidebar-section h2{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--divider-color)}.sidebar-section ul{list-style:none;padding:0;margin:0;border-left:1px solid var(--divider-color);padding-left:var(--space-md)}.sidebar-section li{margin-bottom:var(--space-sm);font-size:var(--text-sm)}.sidebar-section a{color:var(--text-secondary);text-decoration:none}.sidebar-section a:hover{color:var(--link-color)}.sidebar-section a.active{color:var(--text-primary);font-weight:500}}@media (min-width: 52rem){.webring{font-size:var(--text-sm);text-align:center;white-space:nowrap}.webring a{margin:0 .125rem;color:var(--text-muted)}.webring a:hover{color:var(--link-color)}}@media (min-width: 52rem){.tag-cloud{gap:var(--space-xs);padding:0}.tag-cloud .tag-item{font-size:.75rem;padding:.125rem .375rem;border-radius:4px}}.post-header{margin-bottom:var(--space-2xl)}.post-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-md);padding:0}.post-header .post-meta{font-size:var(--text-sm);color:var(--text-muted)}.breadcrumb{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.breadcrumb a{color:var(--text-secondary);text-decoration:none}.breadcrumb a:hover{color:var(--link-color);text-decoration:underline}.breadcrumb .separator{margin:0 var(--space-sm);color:var(--text-muted)}.breadcrumb .current{color:var(--text-primary)}.post-list article{margin-bottom:var(--space-2xl)}.post-list article:last-child{margin-bottom:0}.post-list .post-title{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.post-list .post-title a{color:var(--text-primary);text-decoration:none}.post-list .post-title a:hover{color:var(--link-color);text-decoration:underline}.post-list .post-excerpt{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-sm)}.post-list .post-meta{font-size:var(--text-sm);color:var(--text-muted)}.post-list .post-meta .post-category{color:var(--text-muted);text-decoration:none}.post-list .post-meta .post-category:hover{color:var(--text-secondary);text-decoration:underline}.post-list .post-meta .separator{margin:0 var(--space-xs)}.post-list .post-meta .post-date{margin-right:var(--space-sm)}.post-list .post-meta .reading-time{color:var(--text-muted);margin-right:var(--space-md)}.post-list .post-meta .tag{margin-left:var(--space-xs);color:var(--text-secondary)}.post-list .post-meta .tag:hover{color:var(--link-color)}.section-header{margin-bottom:var(--space-2xl)}.section-header h1{margin-bottom:var(--space-md)}.section-header .page-info{color:var(--text-muted);font-size:var(--text-sm)}.section-description{color:var(--text-secondary)}.section-description p{margin:var(--space-sm) 0}.post-excerpt{margin:var(--space-sm) 0;color:var(--text-secondary);font-size:var(--text-sm)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--divider-color)}.pagination .pagination-info{color:var(--text-muted);font-size:var(--text-sm)}.pagination a{font-weight:500;color:var(--link-color);text-decoration:none}.pagination a:hover{text-decoration:underline}.read-more-container{text-align:center;margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--divider-color)}.read-more-link{display:inline-block;padding:var(--space-sm) var(--space-xl);background-color:var(--bg-secondary);border-radius:8px;color:var(--text-primary);text-decoration:none;font-weight:500;transition:all .2s ease}.read-more-link:hover{background-color:var(--bg-code);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.categories-list .category-section{margin-bottom:var(--space-3xl)}.categories-list .category-section:last-child{margin-bottom:0}.categories-list .category-title{font-size:var(--text-xl);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--divider-color)}.categories-list .category-title a{color:var(--text-primary);text-decoration:none}.categories-list .category-title a:hover{color:var(--link-color)}.categories-list .category-title .post-count{color:var(--text-muted);font-size:var(--text-base);font-weight:normal;margin-left:var(--space-sm)}.categories-list .simple-list{list-style:none;padding:0;margin:0}.categories-list .simple-list li{margin-bottom:var(--space-sm);padding-left:var(--space-lg);position:relative}.categories-list .simple-list li::before{content:"•";position:absolute;left:var(--space-sm);color:var(--text-muted)}.categories-list .simple-list li a{color:var(--text-primary);text-decoration:none}.categories-list .simple-list li a:hover{color:var(--link-color);text-decoration:underline}.post .post-header{margin-bottom:var(--space-2xl);text-align:center}.post .post-title{margin-bottom:var(--space-md);font-size:var(--text-3xl)}.post .post-meta{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-md)}.post .post-tags{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.post .post-tags .tag{font-size:var(--text-sm);background-color:var(--bg-secondary);padding:var(--space-xs) var(--space-sm);border-radius:4px;color:var(--text-secondary)}.post .post-tags .tag:hover{background-color:var(--bg-code);text-decoration:none}.post-content{font-size:1.0625rem;line-height:1.75}.post-content>*{margin-bottom:var(--space-lg)}.post-content h2,.post-content h3,.post-content h4{margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.post-content ul,.post-content ol{padding-left:var(--space-xl)}.post-content ul li,.post-content ol li{margin-bottom:var(--space-sm)}.post-content blockquote{margin:var(--space-xl) 0}.post-content figure{margin:var(--space-xl) 0;text-align:center}.post-content figure img{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.post-content figure figcaption{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--text-muted)}.post-content pre{margin:var(--space-xl) 0;font-size:.9375rem}.post-content table{margin:var(--space-xl) 0}.post-footer{margin-top:var(--space-2xl);padding-top:var(--space-2xl);border-top:1px solid var(--divider-color)}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.post-nav a{display:flex;flex-direction:column;padding:var(--space-md);background-color:var(--bg-secondary);border-radius:8px;transition:all .2s ease}.post-nav a:hover{background-color:var(--bg-code);text-decoration:none;transform:translateY(-2px)}.post-nav a span:first-child{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-xs)}.post-nav a .nav-title{font-weight:500;color:var(--text-primary)}.post-nav .nav-prev{text-align:left}.post-nav .nav-next{text-align:right;grid-column:2}@media (max-width: 768px){.post .post-title{font-size:var(--text-2xl)}.post-content{font-size:1rem}.post-nav{grid-template-columns:1fr}.post-nav .nav-next{grid-column:1}}.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md) 0}.tag-item{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background-color:var(--bg-secondary);border-radius:6px;transition:all .2s ease;font-size:var(--text-sm)}.tag-item:hover{background-color:var(--bg-code);text-decoration:none;transform:translateY(-2px)}.tag-item .tag-name{font-weight:500;color:var(--text-primary)}.tag-item .tag-count{font-size:var(--text-sm);color:var(--text-muted)}.toc-section{max-height:calc(100vh - var(--space-xl)*3);overflow-y:auto}.toc-section h2{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--divider-color)}.toc{font-size:var(--text-sm);line-height:1.8}.toc-item{margin-bottom:var(--space-xs)}.toc-item.toc-level-1{margin-left:0}.toc-item.toc-level-2{margin-left:var(--space-md)}.toc-item.toc-level-3{margin-left:calc(var(--space-md)*2)}.toc-item.toc-level-4{margin-left:calc(var(--space-md)*3)}.toc-link{color:var(--text-secondary);text-decoration:none;display:block;padding:var(--space-xs) 0;border-left:2px solid rgba(0,0,0,0);padding-left:var(--space-sm);transition:all .2s ease}.toc-link:hover{color:var(--link-color);border-left-color:var(--link-color);background-color:var(--bg-secondary)}.toc-link.active{color:var(--text-primary);font-weight:500;border-left-color:var(--accent);background-color:var(--bg-secondary)}.page-post .sidebar{padding-top:0}.search-box{display:block;width:100%;padding:var(--space-sm) var(--space-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;text-align:center;font-size:var(--text-sm);color:var(--text-primary);transition:all .2s ease}.search-box:hover{background-color:var(--bg-code);border-color:var(--accent);text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.search-box span{display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.keyboard-shortcut{display:inline-flex;align-items:center;gap:.125rem;margin-left:var(--space-xs);font-size:.75rem}.keyboard-shortcut .modifier-key::before{content:"Ctrl+"}.is-mac .keyboard-shortcut .modifier-key::before{content:"⌘+"}.search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:2000;display:none}.search-overlay.active{display:flex;align-items:flex-start;padding-top:10vh}.search-container{width:90%;max-width:600px;margin:0 auto;background-color:var(--bg-primary);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:80vh;display:flex;flex-direction:column}.search-header{display:flex;align-items:center;padding:var(--space-md);border-bottom:1px solid var(--divider-color)}.search-input{flex:1;font-size:var(--text-lg);padding:var(--space-sm) var(--space-md);border:none;background:rgba(0,0,0,0);color:var(--text-primary);outline:none}.search-input::placeholder{color:var(--text-muted)}.search-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color .2s ease}.search-close:hover{color:var(--text-primary)}.search-results{overflow-y:auto;padding:var(--space-lg);max-height:calc(80vh - 80px)}.search-loading,.search-empty,.search-error{text-align:center;color:var(--text-muted);padding:var(--space-2xl) 0}.search-summary{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.search-category{margin-bottom:var(--space-2xl)}.search-category:last-child{margin-bottom:0}.search-category-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--divider-color)}.search-item{display:block;padding:var(--space-md);margin-bottom:var(--space-sm);background-color:var(--bg-secondary);border-radius:8px;transition:all .2s ease}.search-item:hover{background-color:var(--bg-code);text-decoration:none;transform:translateY(-2px)}.search-item:last-child{margin-bottom:0}.search-item-title{font-size:var(--text-base);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-xs)}.search-item-title mark{background-color:var(--accent);color:var(--text-primary);padding:0 2px;border-radius:2px}.search-item-excerpt{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-sm)}.search-item-excerpt mark{background-color:var(--accent);color:var(--text-primary);padding:0 2px;border-radius:2px}.search-item-meta{font-size:var(--text-sm);color:var(--text-muted);display:flex;gap:var(--space-md)}.search-item-tags{color:var(--text-secondary)}@media (max-width: 768px){.search-container{width:95%;margin-top:5vh}.search-input{font-size:var(--text-base)}}.error-404 .main-wrapper{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center}.error-404 .main{margin-right:0;width:100%}.error-404 .main-inner{text-align:center;max-width:36rem;margin:0 auto}.error-page{padding:var(--space-2xl) 0}.error-page .error-code{font-size:6rem;font-weight:300;color:var(--accent);margin:0 0 var(--space-md);line-height:1}.error-page .error-message{font-size:var(--text-2xl);color:var(--text-primary);margin-bottom:var(--space-xl)}.error-page .error-description{color:var(--text-secondary);margin-bottom:var(--space-2xl)}.error-page .error-description p{margin:var(--space-sm) 0}.error-page .error-actions{display:flex;gap:var(--space-md);justify-content:center;margin-bottom:var(--space-2xl)}.error-page .error-actions a{padding:var(--space-sm) var(--space-lg);border-radius:8px;font-weight:500;transition:all .2s ease;text-decoration:none}.error-page .error-actions a.btn-primary{background-color:var(--link-color);color:var(--bg-primary)}.error-page .error-actions a.btn-primary:hover{background-color:var(--link-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.error-page .error-actions a.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.error-page .error-actions a.btn-secondary:hover{background-color:var(--bg-code);border-color:var(--accent);transform:translateY(-2px)}.error-page .error-suggestions{text-align:left;max-width:24rem;margin:0 auto}.error-page .error-suggestions h3{font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-md)}.error-page .error-suggestions ul{list-style:none;padding:0}.error-page .error-suggestions ul li{position:relative;padding-left:var(--space-lg);margin-bottom:var(--space-sm);color:var(--text-secondary)}.error-page .error-suggestions ul li::before{content:"•";position:absolute;left:var(--space-sm);color:var(--accent)}@media (max-width: 768px){.error-page .error-code{font-size:4rem}.error-page .error-message{font-size:var(--text-xl)}.error-page .error-actions{flex-direction:column}.error-page .error-actions a{width:100%;text-align:center}}