body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.blog-container{margin:1.5rem auto;max-width:1200px;padding:0 .75rem;position:relative}.toc-hover-area{cursor:pointer;width:50px;z-index:998}.toc-hover-area,.toc-wrapper{height:calc(100% - 102px);left:0;position:fixed;top:102px}.toc-wrapper{background-color:#faf9f5;border-right:1px solid #0000000d;box-shadow:none;direction:rtl;opacity:0;overflow-y:auto;padding-bottom:50px;padding-left:12px;scrollbar-color:#00000026 #0000;scrollbar-width:thin;transform:translateX(-100%);transition:transform .25s ease,opacity .25s ease;width:250px;z-index:999}.toc-wrapper::-webkit-scrollbar{width:4px}.toc-wrapper::-webkit-scrollbar-track{background:#0000;margin:8px 0}.toc-wrapper::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:10px;min-height:40px}.toc-wrapper::-webkit-scrollbar-thumb:hover{background-color:#00000040}.toc-wrapper.visible{opacity:1;transform:translateX(0)}.toc{background-color:initial;border-right:none;direction:ltr;height:auto;padding:1.5rem 1.5rem 1.5rem 1rem}.toc h2{color:#555;font-size:1.1rem;font-weight:500;margin-bottom:1rem}.toc ul{list-style:none;padding:0}.toc li{line-height:1.4;margin-bottom:.25rem}.toc a{border-left:2px solid #0000;color:#000000bf;display:block;font-size:.9rem;padding:4px 0 4px 8px;text-decoration:none;transition:color .15s}.toc a:hover{background-color:#0066cc0d;border-left:2px solid #06c;color:#06c}.blog-post{margin:0 auto;max-width:800px}.blog-header{margin-bottom:1.5rem}.blog-header h1{color:#333;font-size:2.2rem;font-weight:700;margin-bottom:.5rem}.blog-date{color:#666;font-size:.9rem}.blog-post h1,.blog-post h2,.blog-post h3,.blog-post h4,.blog-post h5,.blog-post h6{color:#333;margin-bottom:.75rem;margin-top:1.5rem;scroll-margin-top:120px}.blog-post h1{font-size:1.8rem}.blog-post h1,.blog-post h2{color:#333;font-weight:700;margin-bottom:1rem}.blog-post h2{font-size:1.35rem}.blog-post h3{color:#333;font-size:1.15rem;font-weight:700;margin-bottom:1rem}.blog-post p{color:#444;font-size:1.05rem;line-height:1.6;margin-bottom:1.2rem}.blog-post a{color:#06c;text-decoration:none}.blog-post a:hover{text-decoration:underline}.blog-post code{border-radius:3px;font-size:.9em;padding:.2em .4em}.blog-post pre{border-radius:5px;margin:1.5rem 0;overflow-x:auto;padding:1rem}@media (max-width:768px){.toc-wrapper{height:calc(100% - 102px);top:102px;width:240px}.blog-post{padding:0 1rem}}.blog-meta{color:#666;display:flex;font-size:.9rem;gap:1rem}.blog-author{padding-right:1rem;position:relative}.blog-author:after{color:#999;content:"|";position:absolute;right:0}.recent-posts h2{color:#333;font-size:1.4rem;margin-bottom:1rem}.blog-post ol,.blog-post ul{color:#444;font-family:inherit;font-size:1.05rem;line-height:1.6;margin:0 0 1.2rem;padding-left:1.5em}.blog-post li{margin-bottom:.4rem}.blog-post li p{margin:0 0 .5rem}.toc-button{align-items:center;background-color:#fffc;border:1px solid #0000001a;border-radius:50%;box-shadow:0 2px 5px #0000000d;cursor:pointer;display:flex;height:36px;justify-content:center;left:20px;opacity:.7;position:fixed;top:120px;transition:opacity .2s,transform .2s;width:36px;z-index:997}.toc-button:hover{opacity:1;transform:scale(1.05)}.toc-button svg{fill:#555;height:18px;width:18px}.toc-wrapper.visible+.toc-button{opacity:0;pointer-events:none}.home-page{margin:0 auto;max-width:1200px;padding:2rem 1rem}.all-posts,.recent-posts{margin-bottom:3rem}.all-posts{margin-top:3rem}h2{color:#333;font-size:2rem;margin-bottom:1.5rem}.posts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:2rem}.post-card{border-radius:8px;box-shadow:0 2px 4px #0000001a;color:inherit;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.post-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px)}.post-card .post-meta{align-items:center;border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:auto;padding-top:1rem}.posts-list{gap:1rem}.post-item{box-shadow:0 2px 4px #0000001a;padding:1.5rem}.post-item:hover{box-shadow:0 4px 8px #00000026}h3{color:#222;font-size:1.5rem}.post-excerpt,h3{margin-bottom:1rem}.post-excerpt{color:#666;line-height:1.5}.post-meta{align-items:center;color:#888;display:flex;font-size:.9rem;gap:1rem}.post-author{color:#666;font-weight:500}.post-date{border-radius:4px;display:inline-block;padding:.25rem .5rem}.posts-list{display:flex;flex-direction:column;gap:.75rem}.post-item{align-items:center;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:inherit;display:flex;justify-content:space-between;padding:1rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.post-item:hover{box-shadow:0 2px 5px #00000026;transform:translateX(3px)}.post-title{color:#333;flex:1 1;font-size:1.1rem;font-weight:500;margin-right:1rem}.post-meta-compact{align-items:center;display:flex;font-size:.9rem;gap:1rem;white-space:nowrap}.post-meta-compact .post-author{color:#666}.post-meta-compact .post-date{border-radius:4px;color:#888;padding:.25rem .5rem}.header{background-color:#faf9f5;box-shadow:0 2px 4px #0000001a;padding:1rem 0;position:sticky;top:0;z-index:1000}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.logo{color:#14468c;font-size:1.5rem;font-weight:700;margin:0;text-decoration:none}.header-content img{display:inline-block;height:70px;vertical-align:middle;width:auto}.search-form{display:flex;gap:.5rem}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#root,.App,body{background-color:#faf9f5;min-height:100vh}
/*# sourceMappingURL=main.d5d29aad.css.map*/