.ink-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto;z-index:0;mix-blend-mode:normal;cursor:default}.contribution-graph{width:100%;max-width:600px;margin:0 auto;padding:0 var(--spacing-lg)}.contribution-graph-container{display:flex;justify-content:center;align-items:center}.contribution-graph-grid{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;max-width:100%}.contribution-graph-day{width:11px;height:11px;border-radius:2px;background:var(--color-border);cursor:pointer;transition:all .2s ease;flex-shrink:0}.contribution-graph-day:hover{opacity:.8;transform:scale(1.2);z-index:10;position:relative}.contribution-graph-day[data-date=""]{opacity:0;cursor:default;pointer-events:none}.contribution-graph-day.level-0{background:#00000008}.contribution-graph-day.level-1{background:#0000001f}.contribution-graph-day.level-2{background:#00000040}.contribution-graph-day.level-3{background:#0006}.contribution-graph-day.level-4{background:#0009}.contribution-graph-loading{text-align:center;color:var(--color-text-light);font-size:var(--font-size-sm);padding:var(--spacing-lg)}.contribution-graph-tooltip{position:absolute;pointer-events:none;z-index:1000;transform:translate(-50%);animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.contribution-graph-tooltip-content{background:var(--color-text);color:var(--color-bg);padding:6px 10px;border-radius:4px;font-size:var(--font-size-xs);white-space:nowrap;box-shadow:0 2px 12px #0003;position:relative;line-height:1.4}.contribution-graph-tooltip-content:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--color-text)}.contribution-graph-tooltip-count{font-weight:400;margin-bottom:3px;display:block}.contribution-graph-tooltip-count strong{font-weight:500;font-size:.875rem}.contribution-graph-tooltip-date{color:#ffffffd9;font-size:.7rem;display:block}@media (max-width: 768px){.contribution-graph{padding:var(--spacing-sm) var(--spacing-md);max-width:100%}.contribution-graph-day{width:9px;height:9px}.contribution-graph-grid{gap:2px}}.blog-search-modal-overlay{position:fixed;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-xl);pointer-events:none;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.blog-search-modal{background:transparent;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000a,0 8px 32px #0000000a;width:100%;max-width:600px;height:600px;margin-top:-10vh;display:flex;flex-direction:column;animation:slideDown var(--transition-base) cubic-bezier(.4,0,.2,1);pointer-events:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.blog-search-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-xl);border-bottom:1px solid rgba(255,255,255,.18)}.blog-search-modal-title{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-light);margin:0;letter-spacing:1px;text-transform:uppercase}.blog-search-modal-close{background:transparent;border:none;color:var(--color-text-light);cursor:pointer;padding:var(--spacing-xs);width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease}.blog-search-modal-close svg{width:16px;height:16px}.blog-search-modal-close:hover{background-color:#0000000d;color:var(--color-text)}.blog-search-modal-input-wrapper{padding:var(--spacing-sm) var(--spacing-xl)}.blog-search-modal-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid rgba(255,255,255,.18);outline:none;transition:border-color var(--transition-fast) ease;color:var(--color-text);font-weight:390;background:#ffffff4d;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.blog-search-modal-input:focus{border-color:var(--color-text)}.blog-search-modal-input::placeholder{color:var(--color-text-lighter)}.blog-search-modal-results{flex:1;overflow-y:auto;min-height:0}.blog-search-modal-loading,.blog-search-modal-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-light);font-size:var(--font-size-sm)}.blog-search-modal-list{list-style:none;margin:0;padding:0}.blog-search-modal-item{padding:var(--spacing-md) var(--spacing-xl);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.18);transition:background-color var(--transition-fast) ease}.blog-search-modal-item:hover{background-color:#ffffffa6}.blog-search-modal-item:last-child{border-bottom:none}.blog-search-modal-item-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.blog-search-modal-item-title{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text);line-height:1.4;flex:1;min-width:0}.blog-search-modal-item-meta{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.blog-search-modal-item-description{font-size:var(--font-size-xs);color:var(--color-text-light);line-height:1.5;margin-bottom:var(--spacing-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-search-modal-item-category{font-size:var(--font-size-xs);color:var(--color-text-lighter);display:inline-block;padding:2px 6px;background:#fff6;border-radius:2px}.blog-search-modal-item-date{font-size:var(--font-size-xs);color:var(--color-text-lighter)}@media (max-width: 768px){.blog-search-modal-overlay{padding:var(--spacing-md)}.blog-search-modal{height:500px}}.snowfall-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.home{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg-page);background-image:linear-gradient(rgba(0,0,0,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.01) 1px,transparent 1px);background-size:40px 40px;padding:var(--spacing-xl);padding-bottom:calc(var(--spacing-xl) + 40px);position:relative}.home-search-button{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:transparent;border:none;color:var(--color-text-light);cursor:pointer;padding:var(--spacing-xs);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease;z-index:10}.home-search-button svg{width:16px;height:16px}.home-search-button:hover{background-color:#0000000d;color:var(--color-text)}.home>.contribution-graph{position:absolute;bottom:var(--spacing-md);left:0;right:0;z-index:2}.home-grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,0,0,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.01) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:1;opacity:.3}.home-container{text-align:center;max-width:500px;width:100%;position:relative;z-index:2;margin:0 auto;flex-shrink:0;display:flex;flex-direction:column;justify-content:flex-start;min-height:calc(100vh - 200px);padding-top:calc((100vh - 480px)/2)}.home-header{margin-bottom:var(--spacing-2xl);flex:0 0 auto}.home-title{font-size:var(--font-size-3xl);font-weight:390;color:var(--color-text);margin-bottom:var(--spacing-md);letter-spacing:0}.home-subtitle{font-size:var(--font-size-base);color:var(--color-text-light);font-weight:390;letter-spacing:0}.home-nav{display:flex;justify-content:center;flex:0 0 auto}.home-nav-button{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-sm);background:transparent;border:none;border-bottom:1px solid transparent;color:var(--color-text);cursor:pointer;font-weight:390;letter-spacing:0;border-radius:0;position:relative;transition:opacity var(--transition-base) ease,background-color var(--transition-base) ease,border-color var(--transition-base) ease}.home-nav-button:hover{opacity:.8;background-color:#0000000d;border-bottom-color:var(--color-text)}.home-nav-button:active{opacity:.6}.home-latest-blogs{margin-top:auto;text-align:left;padding-top:var(--spacing-2xl)}.home-latest-blogs-title{font-size:var(--font-size-sm);font-weight:390;color:var(--color-text-light);margin-bottom:var(--spacing-md);letter-spacing:0}.home-latest-blogs-list{list-style:none;padding:0;margin:0}.home-latest-blogs-item{margin-bottom:var(--spacing-sm)}.home-latest-blogs-link{width:100%;text-align:left;background:transparent;border:none;padding:var(--spacing-sm) 0;cursor:pointer;transition:opacity var(--transition-base) ease;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.home-latest-blogs-link:hover{opacity:.7}.home-latest-blogs-item-title{font-size:var(--font-size-sm);color:var(--color-text);font-weight:390;letter-spacing:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-latest-blogs-item-date{font-size:var(--font-size-xs);color:var(--color-text-light);font-weight:390;letter-spacing:0;flex-shrink:0}@media (max-width: 768px){.home-search-button{top:var(--spacing-sm);right:var(--spacing-md)}.home-title{font-size:var(--font-size-2xl)}.home-subtitle{font-size:var(--font-size-sm)}}.blog-tree-loading-lines{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px}.loading-line{width:8px;height:1.5px;background:var(--color-text);border-radius:.75px;opacity:.25;animation:loading-line-sweep 1.6s ease-in-out infinite}.loading-line:nth-child(1){animation-delay:0s}.loading-line:nth-child(2){animation-delay:.1s}.loading-line:nth-child(3){animation-delay:.2s}.loading-line:nth-child(4){animation-delay:.3s}.loading-line:nth-child(5){animation-delay:.4s}@keyframes loading-line-sweep{0%,to{opacity:.25;transform:scaleX(.5)}20%{opacity:.8;transform:scaleX(1)}40%{opacity:.25;transform:scaleX(.5)}60%{opacity:.25;transform:scaleX(.5)}80%{opacity:.8;transform:scaleX(1)}}.blog-tree-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);background:transparent;display:flex;flex-direction:column;position:sticky;top:0;max-height:100vh;flex-shrink:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:auto}.blog-tree-header{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs)}.blog-tree-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.blog-tree-home-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text);text-decoration:none;font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-xl);background:transparent;border:none;cursor:pointer;font-weight:390;letter-spacing:0;border-radius:0;position:relative;transition:opacity var(--transition-base) ease,background-color var(--transition-base) ease}.blog-tree-home-link:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:1px;background:var(--color-text);transition:width .3s ease}.blog-tree-home-link:hover{opacity:.8;background-color:#0000000d}.blog-tree-home-link:hover:after{width:100%}.blog-tree-home-link:active{opacity:.6}.blog-tree-home-link:active:after{width:80%}.blog-tree-home-link-icon{display:inline-block}.blog-tree-title{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-light);margin:0;letter-spacing:1px;text-transform:uppercase;flex:1}.blog-tree-search-button{background:transparent;border:none;color:var(--color-text-light);cursor:pointer;padding:var(--spacing-xs);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease}.blog-tree-search-button svg{width:16px;height:16px}.blog-tree-search-button:hover{background-color:#0000000d;color:var(--color-text)}.blog-tree-loading{padding:var(--spacing-lg);display:flex;align-items:center;justify-content:center}.blog-tree-nav{flex:1;padding:var(--spacing-sm) 0;overflow-y:auto;overflow-x:hidden}.blog-tree-category{margin-bottom:var(--spacing-xs);position:relative}.blog-tree-category-header{width:100%;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-xs);transition:color var(--transition-fast) ease,background-color var(--transition-fast) ease;font-size:var(--font-size-sm);color:var(--color-text-light);font-weight:400;letter-spacing:.5px;text-transform:uppercase;border-radius:4px;margin:0 var(--spacing-xs);-webkit-tap-highlight-color:transparent}.blog-tree-category-header:active{-webkit-tap-highlight-color:transparent}.blog-tree-category-header:hover{color:var(--color-text);background-color:#0000000a}.blog-tree-category-icon{font-size:9px;color:var(--color-text-lighter);width:12px;display:inline-flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.25,.46,.45,.94),color var(--transition-fast) ease;transform-origin:center;will-change:transform}.blog-tree-category-header:hover .blog-tree-category-icon{color:var(--color-text)}.blog-tree-category-header[aria-expanded=true] .blog-tree-category-icon{transform:rotate(90deg)}.blog-tree-category-name{flex:1;font-weight:400}.blog-tree-category-count{color:var(--color-text-lighter);font-size:10px;font-weight:390;opacity:.7}.blog-tree-category-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.25,.46,.45,.94);overflow:hidden;will-change:grid-template-rows}.blog-tree-category-wrapper.expanded{grid-template-rows:1fr}.blog-tree-category-content{min-height:0;opacity:0;transform:translateY(-6px);transition:opacity .3s cubic-bezier(.25,.46,.45,.94) .08s,transform .3s cubic-bezier(.25,.46,.45,.94) .08s;will-change:opacity,transform}.blog-tree-category-content.expanded{opacity:1;transform:translateY(0);transition:opacity .4s cubic-bezier(.25,.46,.45,.94) .12s,transform .4s cubic-bezier(.25,.46,.45,.94) .12s}.blog-tree-category-content.collapsed{opacity:0;transform:translateY(-6px);transition:opacity .25s cubic-bezier(.55,.06,.68,.19) 0s,transform .25s cubic-bezier(.55,.06,.68,.19) 0s}.blog-tree-item{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-sm) var(--spacing-2xl);cursor:pointer;transition:color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),padding-left .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:3px;position:relative;border-radius:4px;margin:0 var(--spacing-xs) 2px;-webkit-tap-highlight-color:transparent;user-select:none}.blog-tree-item:active{-webkit-tap-highlight-color:transparent}.blog-tree-item:before{content:"";position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:2px;height:0;background:var(--color-text);transition:height var(--transition-base) ease,opacity var(--transition-base) ease;opacity:0;border-radius:1px}.blog-tree-item:hover{background-color:#00000008;padding-left:calc(var(--spacing-2xl) + 2px)}.blog-tree-item:hover:before{height:50%;opacity:1}.blog-tree-item.active{color:var(--color-text);background-color:#0000000a;padding-left:calc(var(--spacing-2xl) + 2px)}.blog-tree-item.active:before{height:55%;opacity:1}.blog-tree-item-title{font-size:var(--font-size-sm);color:inherit;line-height:1.5;font-weight:390}.blog-tree-item:hover .blog-tree-item-title{color:var(--color-text)}.blog-tree-item-date{font-size:var(--font-size-xs);color:var(--color-text-lighter);font-weight:390;opacity:.8}@media (max-width: 1023px){.blog-tree-sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;max-width:80vw;background:var(--color-bg);z-index:1000;box-shadow:2px 0 8px #0000001a;transform:translate(-100%);transition:transform .3s ease-in-out;overflow-y:auto;overflow-x:hidden}.blog-tree-sidebar.sidebar-visible{transform:translate(0)}.blog-tree-sidebar.sidebar-hidden{transform:translate(-100%)}.blog-tree-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);position:sticky;top:0;height:48px;background:var(--color-bg);z-index:10}.blog-tree-home-link{display:none}.blog-tree-title{font-size:var(--font-size-base)}}@media (max-width: 768px){.blog-tree-category-header{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);margin:0 var(--spacing-xs)}.blog-tree-item{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) var(--spacing-lg);margin:0 var(--spacing-xs) 2px}.blog-tree-item:hover,.blog-tree-item.active{padding-left:calc(var(--spacing-lg) + 2px)}.blog-tree-item:before{left:var(--spacing-sm)}.blog-tree-item-title{font-size:var(--font-size-xs)}.blog-tree-item-date{font-size:.65rem}}.markdown-content{color:var(--color-text);line-height:1.8;font-size:var(--font-size-base);font-weight:390;word-wrap:break-word}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);font-weight:400;color:var(--color-text);line-height:1.4}.markdown-content h1{font-size:var(--font-size-3xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-md);margin-top:0}.markdown-content h2{font-size:var(--font-size-2xl);margin-top:var(--spacing-2xl)}.markdown-content h3{font-size:var(--font-size-xl)}.markdown-content h4{font-size:var(--font-size-lg)}.markdown-content p{margin-bottom:var(--spacing-md)}.markdown-content p:last-child{margin-bottom:0}.markdown-content a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid transparent;transition:all var(--transition-fast) ease;position:relative}.markdown-content a:hover{border-bottom-color:var(--color-accent);opacity:.7}.markdown-content a code{color:inherit}.markdown-content ul,.markdown-content ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}.markdown-content ul{list-style-type:disc}.markdown-content ol{list-style-type:decimal}.markdown-content li{margin-bottom:var(--spacing-xs);line-height:1.8}.markdown-content li>p{margin-bottom:var(--spacing-xs)}.markdown-content ul ul,.markdown-content ol ul,.markdown-content ul ol,.markdown-content ol ol{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.markdown-content blockquote{border-left:3px solid var(--color-border);padding-left:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--color-text-light);background:var(--color-bg-page);padding:var(--spacing-sm) var(--spacing-md);border-radius:0 var(--spacing-sm) var(--spacing-sm) 0}.markdown-content blockquote p{margin-bottom:0}.markdown-content blockquote p+p{margin-top:var(--spacing-sm)}.markdown-content code{background:#0000000a;padding:.2em .4em;border-radius:4px;font-size:.875em;font-family:Consolas,Monaco,Courier New,monospace;border:1px solid rgba(0,0,0,.06);color:var(--color-text);word-wrap:break-word}.markdown-content a code{background:#1a1a1a14;border-color:#1a1a1a1f}.markdown-content pre{background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-md);overflow-x:auto;margin:var(--spacing-md) 0;font-size:.875em;line-height:1.6}.markdown-content pre::-webkit-scrollbar{height:6px}.markdown-content pre::-webkit-scrollbar-track{background:transparent}.markdown-content pre::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.markdown-content pre::-webkit-scrollbar-thumb:hover{background:var(--color-text-lighter)}.markdown-content pre code{background:transparent;padding:0;border-radius:0;border:none;font-size:inherit;color:inherit}.markdown-content img{max-width:100%;height:auto;border-radius:6px;margin:var(--spacing-md) 0;display:block}.markdown-content table{width:100%;border-collapse:collapse;margin:var(--spacing-md) 0;font-size:.9375em;overflow-x:auto;display:block}.markdown-content thead{border-bottom:2px solid var(--color-border)}.markdown-content th,.markdown-content td{border:none;padding:var(--spacing-sm) var(--spacing-md);text-align:left}.markdown-content th{background:var(--color-bg-page);font-weight:500;color:var(--color-text)}.markdown-content tbody tr{border-bottom:1px solid var(--color-border)}.markdown-content tbody tr:last-child{border-bottom:none}.markdown-content tbody tr:hover{background:var(--color-bg-page)}.markdown-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-2xl) 0}.markdown-content strong{font-weight:500;color:var(--color-text)}.markdown-content em{font-style:italic;color:var(--color-text-light)}.markdown-content del,.markdown-content s{color:var(--color-text-lighter);text-decoration:line-through}@media (max-width: 768px){.markdown-content{font-size:var(--font-size-sm)}.markdown-content h1{font-size:var(--font-size-2xl)}.markdown-content h2{font-size:var(--font-size-xl)}.markdown-content h3{font-size:var(--font-size-lg)}.markdown-content pre{padding:var(--spacing-sm);border-radius:4px}.markdown-content table{font-size:.875em}.markdown-content th,.markdown-content td{padding:var(--spacing-xs) var(--spacing-sm)}}.site-footer{width:100%;padding:var(--spacing-md) var(--spacing-xl);margin-top:auto;background:transparent}.site-footer-content{max-width:1200px;margin:0 auto;text-align:center}.site-footer-copyright{font-size:var(--font-size-xs);color:var(--color-text-light);margin:0;font-weight:390}.site-footer-link{color:var(--color-text-light);text-decoration:none;transition:color var(--transition-fast) ease}.site-footer-link:hover{color:var(--color-text);text-decoration:underline}@media (max-width: 768px){.site-footer{padding:var(--spacing-md) var(--spacing-md)}.site-footer-copyright{font-size:.7rem}}.blog-tree-content{flex:1;padding:var(--spacing-xl);padding-right:calc(var(--spacing-xl) + max(0px,(100vw - 1200px) / 2));padding-top:var(--spacing-xl);padding-bottom:0;overflow-y:scroll;overflow-x:hidden;min-width:0;scrollbar-width:none;position:relative;height:100vh;box-sizing:border-box;margin-right:calc((100vw - 1200px)/-2);contain:layout style}.blog-tree-content-loading{display:flex;align-items:center;justify-content:center;min-height:400px}.blog-tree-content-loading>*{transform:translateY(-8vh)}.blog-tree-article-wrapper{position:relative;width:100%;min-height:calc(100vh - var(--spacing-xl) * 2);padding-bottom:0;box-sizing:border-box}.blog-tree-loading-overlay{position:absolute;inset:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;pointer-events:none;animation:fadeInOverlay .2s ease-out}.blog-tree-loading-overlay>*{transform:translateY(-8vh)}.blog-tree-article{max-width:var(--content-max-width);margin:0 auto;background:transparent;padding:0;width:100%;min-height:100vh;transition:opacity .15s ease-in-out;position:relative}.blog-tree-article.article-visible{opacity:1}.blog-tree-article.article-hidden{opacity:0}.blog-tree-article-header{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.blog-tree-article-header.header-loading{border-bottom:none}.blog-tree-article-header-skeleton{width:100%}.skeleton-title-line{width:70%;height:2.625rem;background:#00000008;border-radius:2px;margin-bottom:var(--spacing-md);position:relative;overflow:hidden}.skeleton-title-line:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 50%,transparent 100%);animation:skeleton-shimmer 1.8s ease-in-out infinite}.skeleton-meta-wrapper{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.skeleton-meta-line{height:1.05rem;background:#00000008;border-radius:2px;position:relative;overflow:hidden}.skeleton-meta-line.category{width:15%}.skeleton-meta-line.date{width:25%}.skeleton-meta-line:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 50%,transparent 100%);animation:skeleton-shimmer 1.8s ease-in-out infinite;animation-delay:.3s}.blog-tree-article-title{font-size:var(--font-size-3xl);font-weight:390;color:var(--color-text);line-height:1.4;margin-bottom:var(--spacing-md)}.blog-tree-article-meta{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.blog-tree-article-category{padding:0;background:transparent;color:var(--color-text-light);font-size:var(--font-size-xs);font-weight:390;text-transform:uppercase;letter-spacing:.5px}.blog-tree-article-date{color:var(--color-text-lighter);font-size:var(--font-size-xs);font-weight:390}.blog-tree-article-body{color:var(--color-text);line-height:1.8}.blog-tree-article-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-md) 0}.skeleton-line{height:1.25rem;background:#00000008;border-radius:2px;position:relative;overflow:hidden}.skeleton-line:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 50%,transparent 100%);animation:skeleton-shimmer 1.8s ease-in-out infinite}.skeleton-line:nth-child(1){width:100%}.skeleton-line:nth-child(1):after{animation-delay:0s}.skeleton-line:nth-child(2){width:95%}.skeleton-line:nth-child(2):after{animation-delay:.2s}.skeleton-line.short{width:65%}.skeleton-line.short:after{animation-delay:.4s}@keyframes skeleton-shimmer{0%{left:-100%}to{left:100%}}.blog-tree-footer-wrapper{transition:opacity .2s ease-in-out}.blog-tree-footer-wrapper.footer-visible{opacity:1;visibility:visible;display:block}.blog-tree-footer-wrapper.footer-hidden{opacity:0;visibility:hidden;display:none;height:0;overflow:hidden}@media (max-width: 1200px){.blog-tree-content{margin-right:0;padding-right:var(--spacing-xl)}}@media (max-width: 1024px){.blog-tree-content{padding:var(--spacing-lg);height:100%;overflow-y:scroll}.blog-tree-article-wrapper{min-height:auto}.blog-tree-loading-overlay>*{transform:translateY(15vh)}}.blog-tree-content::-webkit-scrollbar{display:none}@media (max-width: 768px){.blog-tree-article-title{font-size:var(--font-size-2xl)}.blog-tree-loading-overlay>*{transform:translateY(25vh)}}.blog-tree-error-wrapper{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:var(--spacing-xl)}.blog-tree-error-content{text-align:center;max-width:400px;animation:fadeInError .3s ease-out;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);transform:translateY(15vh)}@keyframes fadeInError{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.blog-tree-error-icon{font-size:6rem;font-weight:200;color:var(--color-text);line-height:1;letter-spacing:-.05em;opacity:.15;margin:0}.blog-tree-error-title{font-size:var(--font-size-2xl);font-weight:390;color:var(--color-text);margin:0}.blog-tree-error-message{font-size:var(--font-size-base);font-weight:390;color:var(--color-text-light);margin:0}.blog-tree-error-actions{display:flex;gap:var(--spacing-lg);align-items:center}.blog-tree-error-button{padding:var(--spacing-sm) var(--spacing-xl);margin-top:var(--spacing-md);font-size:var(--font-size-sm);background:transparent;border:none;border-bottom:1px solid transparent;color:var(--color-text);cursor:pointer;font-weight:390;letter-spacing:0;border-radius:0;position:relative;text-decoration:none;transition:opacity var(--transition-base) ease,background-color var(--transition-base) ease,border-color var(--transition-base) ease}.blog-tree-error-button:hover{opacity:.8;background-color:#0000000d;border-bottom-color:var(--color-text)}.blog-tree-error-button:active{opacity:.6}.blog-tree-error-button.secondary{color:var(--color-text-light)}@media (max-width: 768px){.blog-tree-error-wrapper{min-height:40vh;padding:var(--spacing-lg)}.blog-tree-error-icon{font-size:4rem}.blog-tree-error-title{font-size:var(--font-size-xl)}.blog-tree-error-message{font-size:var(--font-size-sm)}.blog-tree-error-actions{flex-direction:column}.blog-tree-error-button{width:100%;text-align:center}}.blog-list-drawer-overlay{position:fixed;inset:0;background:transparent;display:flex;align-items:center;justify-content:flex-start;z-index:2000;pointer-events:auto}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.blog-list-drawer{background:transparent;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(0,0,0,.08);box-shadow:2px 0 8px #0000000a,8px 0 32px #0000000a;width:100%;max-width:400px;height:600px;display:flex;flex-direction:column;animation:slideInLeft var(--transition-base) cubic-bezier(.4,0,.2,1);margin:var(--spacing-xl)}.blog-list-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.18)}.blog-list-drawer-title{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-light);margin:0;letter-spacing:1px;text-transform:uppercase}.blog-list-drawer-close{background:transparent;border:none;color:var(--color-text-light);cursor:pointer;padding:var(--spacing-xs);width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease}.blog-list-drawer-close svg{width:16px;height:16px}.blog-list-drawer-close:hover{background-color:#ffffffa6;color:var(--color-text)}.blog-list-drawer-content{flex:1;overflow-y:auto;min-height:200px}.blog-list-drawer-loading,.blog-list-drawer-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-light);font-size:var(--font-size-sm)}.blog-list-drawer-nav{flex:1;padding:var(--spacing-sm) 0;overflow-y:auto;overflow-x:hidden}.blog-list-drawer-category{margin-bottom:var(--spacing-xs);position:relative}.blog-list-drawer-category-header{width:100%;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-xs);transition:color var(--transition-fast) ease,background-color var(--transition-fast) ease;font-size:var(--font-size-sm);color:var(--color-text-light);font-weight:400;letter-spacing:.5px;text-transform:uppercase;border-radius:4px;margin:0 var(--spacing-xs);-webkit-tap-highlight-color:transparent}.blog-list-drawer-category-header:active{-webkit-tap-highlight-color:transparent}.blog-list-drawer-category-header:hover{color:var(--color-text);background-color:#0000000a}.blog-list-drawer-category-icon{font-size:9px;color:var(--color-text-lighter);width:12px;display:inline-flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.25,.46,.45,.94),color var(--transition-fast) ease;transform-origin:center;will-change:transform}.blog-list-drawer-category-header:hover .blog-list-drawer-category-icon{color:var(--color-text)}.blog-list-drawer-category-header[aria-expanded=true] .blog-list-drawer-category-icon{transform:rotate(90deg)}.blog-list-drawer-category-name{flex:1;font-weight:400}.blog-list-drawer-category-count{color:var(--color-text-lighter);font-size:10px;font-weight:390;opacity:.7}.blog-list-drawer-category-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.25,.46,.45,.94);overflow:hidden;will-change:grid-template-rows}.blog-list-drawer-category-wrapper.expanded{grid-template-rows:1fr}.blog-list-drawer-category-content{min-height:0;opacity:0;transform:translateY(-6px);transition:opacity .3s cubic-bezier(.25,.46,.45,.94) .08s,transform .3s cubic-bezier(.25,.46,.45,.94) .08s;will-change:opacity,transform}.blog-list-drawer-category-content.expanded{opacity:1;transform:translateY(0);transition:opacity .4s cubic-bezier(.25,.46,.45,.94) .12s,transform .4s cubic-bezier(.25,.46,.45,.94) .12s}.blog-list-drawer-category-content.collapsed{opacity:0;transform:translateY(-6px);transition:opacity .25s cubic-bezier(.55,.06,.68,.19) 0s,transform .25s cubic-bezier(.55,.06,.68,.19) 0s}.blog-list-drawer-item{padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;transition:color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:3px;position:relative;border-radius:4px;margin:0 var(--spacing-xs) 2px;-webkit-tap-highlight-color:transparent;user-select:none}.blog-list-drawer-item:active{-webkit-tap-highlight-color:transparent}.blog-list-drawer-item:hover{background-color:#00000008}.blog-list-drawer-item.active{color:var(--color-text);background-color:#0000000a}.blog-list-drawer-item-title{font-size:var(--font-size-sm);color:inherit;line-height:1.5;font-weight:390}.blog-list-drawer-item-date{font-size:var(--font-size-xs);color:var(--color-text-lighter);font-weight:390;opacity:.8}@media (max-width: 768px){.blog-list-drawer{max-width:100%;height:500px;margin:var(--spacing-md)}}.fab-container{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:block}.fab-main-button{width:42px;height:42px;border-radius:12px;background:#ffffff80;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 8px #0000000a,0 8px 32px #0000000a;color:var(--color-text);cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center;position:relative}.fab-main-button svg{opacity:.7}.fab-main-button:hover{background:#ffffffa6;box-shadow:0 4px 12px #0000000f,0 12px 40px #0000000f;transform:scale(1.02)}.fab-main-button:active{transform:scale(.98)}.fab-main-button .fab-icon{font-size:20px;font-weight:400;line-height:1;user-select:none;color:var(--color-text)}.fab-menu{position:absolute;bottom:8px;right:8px}.fab-action-button{position:absolute;width:40px;height:40px;border-radius:11px;background:#ffffff80;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 6px #00000008,0 6px 20px #0000000a;color:var(--color-text);cursor:pointer;opacity:0;transform:translate(0) scale(.8);transition:all .4s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center;right:6px;bottom:6px}.fab-action-button svg{opacity:.7}.fab-action-button:hover{background:#ffffffa6;box-shadow:0 4px 10px #0000000a,0 8px 28px #0000000f;transform:scale(1.02)}.fab-action-button:active{transform:scale(.98)}.fab-menu-open .fab-action-button{opacity:1;transform:translate(0) scale(1)}.fab-menu-open .fab-action-1{transition-delay:0s;transform:translate(-80px,20px) scale(1)}.fab-menu-open .fab-action-2{transition-delay:.05s;transform:translate(-70px,-30px) scale(1)}.fab-menu-open .fab-action-3{transition-delay:.1s;transform:translate(-30px,-70px) scale(1)}.fab-menu-open .fab-action-4{transition-delay:.15s;transform:translate(20px,-80px) scale(1)}@media screen and (min-width: 1024px){.fab-action-2{display:none}.fab-menu-open .fab-action-3{transform:translate(-55px,-55px) scale(1)}}.fab-main-button[aria-expanded=true]{background:#ffffffa6;border-color:#ffffff4d}.fab-main-button[aria-expanded=true]:hover{background:#ffffffb8}.blog-toc-drawer-overlay{position:fixed;inset:0;background:transparent;display:flex;align-items:center;justify-content:flex-end;z-index:2000;pointer-events:auto;opacity:0;transition:opacity var(--transition-base) ease}.blog-toc-drawer-overlay.visible{opacity:1}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.blog-toc-drawer{background:transparent;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(0,0,0,.08);box-shadow:-2px 0 8px #0000000a,-8px 0 32px #0000000a;width:100%;max-width:280px;height:600px;display:flex;flex-direction:column;animation:slideInRight var(--transition-base) cubic-bezier(.4,0,.2,1);margin:var(--spacing-xl);transition:opacity var(--transition-base) ease,transform var(--transition-base) ease}.blog-toc-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid rgba(0,0,0,.08)}.blog-toc-drawer-title{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-light);margin:0;letter-spacing:1px;text-transform:uppercase}.blog-toc-drawer-close{background:transparent;border:none;color:var(--color-text-light);cursor:pointer;padding:var(--spacing-xs);width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease}.blog-toc-drawer-close svg{width:16px;height:16px}.blog-toc-drawer-close:hover{color:var(--color-text)}.blog-toc-drawer-content{flex:1;overflow-y:auto;min-height:0}.blog-toc-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-light);font-size:var(--font-size-sm)}.blog-toc-list{padding:var(--spacing-md) 0}.blog-toc-item{margin-bottom:var(--spacing-xs)}.blog-toc-item-button{width:100%;text-align:left;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease,transform var(--transition-base) ease;display:flex;align-items:center}.blog-toc-item-button:hover{color:var(--color-text)}.blog-toc-item-text{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-light);line-height:1.5;transition:color var(--transition-fast) ease}.blog-toc-item-button:hover .blog-toc-item-text{color:var(--color-text)}.blog-toc-level-1 .blog-toc-item-text{font-size:var(--font-size-base);font-weight:500}.blog-toc-level-2 .blog-toc-item-text{font-size:var(--font-size-sm);font-weight:400}.blog-toc-level-3 .blog-toc-item-text{font-size:var(--font-size-sm);font-weight:390;opacity:.9}.blog-toc-level-4 .blog-toc-item-text,.blog-toc-level-5 .blog-toc-item-text,.blog-toc-level-6 .blog-toc-item-text{font-size:var(--font-size-xs);font-weight:390;opacity:.8}.blog-toc-children{margin-left:8px}.blog-toc-level-1{margin-left:0}.blog-toc-level-2{margin-left:8px}.blog-toc-level-3{margin-left:16px}.blog-toc-level-4{margin-left:24px}.blog-toc-level-5{margin-left:32px}.blog-toc-level-6{margin-left:40px}@media (max-width: 768px){.blog-toc-drawer{max-width:100%;height:500px;margin:var(--spacing-md)}}.blog-tree-page{min-height:100vh;max-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-page);background-image:linear-gradient(rgba(0,0,0,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.01) 1px,transparent 1px);background-size:40px 40px;position:relative;overflow:hidden;width:100%;box-sizing:border-box}.blog-tree-page-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-page);z-index:1000;animation:fadeInOverlay .2s ease-out}.blog-tree-page-loading>*{transform:translateY(-8vh)}.blog-tree-container{display:flex;flex:1;max-width:1200px;margin:0 auto;width:100%;height:100%;box-sizing:border-box;position:relative;overflow:hidden}@media (max-width: 1023px){.blog-tree-page{overflow:hidden}.blog-tree-container{flex-direction:column;min-height:auto;height:100%;overflow:hidden}.blog-tree-desktop-nav{display:none}}.blog-tree-mobile-menu-button,.blog-tree-mobile-home-button,.blog-tree-mobile-overlay{display:none}.blog-tree-desktop-nav{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:100}.blog-tree-desktop-home-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text);text-decoration:none;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-xl);background:transparent;border:none;cursor:pointer;font-weight:390;letter-spacing:0;border-radius:0;position:relative;transition:opacity var(--transition-base) ease,background-color var(--transition-base) ease}.blog-tree-desktop-home-button:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:1px;background:var(--color-text);transition:width .3s ease}.blog-tree-desktop-home-button:hover{opacity:.8;background-color:#0000000d}.blog-tree-desktop-home-button:hover:after{width:100%}.blog-tree-desktop-home-button:active{opacity:.6}.blog-tree-desktop-home-button:active:after{width:80%}.blog-tree-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);position:sticky;top:0;left:0;right:0;width:100%;box-sizing:border-box;z-index:1000;height:48px;flex-shrink:0}@media (max-width: 1023px){.blog-tree-page{background-size:20px 20px;scrollbar-gutter:auto}.blog-tree-container{max-width:100%}.blog-tree-mobile-menu-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;font-size:var(--font-size-base);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-base) ease,color var(--transition-base) ease}.blog-tree-mobile-menu-button:hover{background-color:#0000000d}.blog-tree-mobile-menu-button:active{background-color:transparent}.blog-tree-mobile-home-button{display:inline-flex;align-items:center;gap:4px;color:var(--color-text);text-decoration:none;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-right:-6px;border-radius:4px;transition:background-color var(--transition-base) ease,color var(--transition-base) ease}.blog-tree-mobile-home-button:hover{background-color:#0000000d}.blog-tree-mobile-home-button:active{background-color:transparent}}.blog-tree-mobile-overlay{display:block;position:fixed;inset:0;background:#0000004d;z-index:999;animation:fadeInOverlay .2s ease-in-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.error-page{position:fixed;top:0;left:0;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:#fafafa}.error-page-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,0,0,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.01) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.error-page-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);transform:translateY(-8vh)}.error-code{font-size:8rem;font-weight:200;color:var(--color-text);line-height:1;letter-spacing:-.05em;opacity:.15}.error-title{font-size:var(--font-size-2xl);font-weight:390;color:var(--color-text);margin:0}.error-message{font-size:var(--font-size-base);font-weight:390;color:var(--color-text-light);margin:0}.error-home-button{padding:var(--spacing-sm) var(--spacing-xl);margin-top:var(--spacing-md);font-size:var(--font-size-sm);background:transparent;border:none;border-bottom:1px solid transparent;color:var(--color-text);cursor:pointer;font-weight:390;letter-spacing:0;border-radius:0;position:relative;transition:opacity var(--transition-base) ease,background-color var(--transition-base) ease,border-color var(--transition-base) ease}.error-home-button:hover{opacity:.8;background-color:#0000000d;border-bottom-color:var(--color-text)}.error-home-button:active{opacity:.6}@media (max-width: 768px){.error-code{font-size:6rem}.error-title{font-size:var(--font-size-xl)}.error-message{font-size:var(--font-size-sm)}.error-page-content{transform:translateY(-5vh)}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.error-boundary-content{max-width:600px;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;text-align:center}.error-boundary-title{margin:0 0 1rem;font-size:2rem;color:#e53e3e}.error-boundary-message{margin:0 0 2rem;font-size:1.1rem;color:#4a5568}.error-boundary-details{margin:1.5rem 0;padding:1rem;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;text-align:left}.error-boundary-details summary{cursor:pointer;font-weight:600;color:#4a5568;margin-bottom:.5rem}.error-boundary-details pre{margin:.5rem 0 0;padding:1rem;background:#2d3748;color:#e2e8f0;border-radius:4px;overflow-x:auto;font-size:.875rem;line-height:1.5}.error-boundary-button{padding:.75rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:#667eea;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.error-boundary-button:hover{background:#5a67d8}.error-boundary-button:active{transform:scale(.98)}.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .5s ease-in-out;pointer-events:none}.page-loader-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem;transform:translateY(-8vh)}.page-loader-fade-out{opacity:0}.page-loader-background{position:absolute;top:0;left:0;width:100%;height:100%;background:#fafafa;background-image:linear-gradient(rgba(0,0,0,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.01) 1px,transparent 1px);background-size:40px 40px}.page-loader-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.page-loader-lines{display:flex;align-items:center;gap:6px}.page-loader-line{width:8px;height:1.5px;background:#1a1a1a;border-radius:.75px;opacity:.25;animation:page-loader-line-sweep 1.6s ease-in-out infinite}.page-loader-line:nth-child(1){animation-delay:0s}.page-loader-line:nth-child(2){animation-delay:.1s}.page-loader-line:nth-child(3){animation-delay:.2s}.page-loader-line:nth-child(4){animation-delay:.3s}.page-loader-line:nth-child(5){animation-delay:.4s}@keyframes page-loader-line-sweep{0%,to{opacity:.25;transform:scaleX(.5)}20%{opacity:.8;transform:scaleX(1)}40%{opacity:.25;transform:scaleX(.5)}60%{opacity:.25;transform:scaleX(.5)}80%{opacity:.8;transform:scaleX(1)}}.page-loader-text{margin:0;font-size:.875rem;font-weight:390;color:#666;letter-spacing:0}:root{--color-text: #3a3a3a;--color-text-light: #666666;--color-text-lighter: #999999;--color-bg: #ffffff;--color-bg-page: #fafafa;--color-border: #e5e5e5;--color-accent: #1a1a1a;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--sidebar-width: 240px;--content-max-width: 700px;--transition-fast: .15s;--transition-base: .3s}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-page);background-image:linear-gradient(rgba(0,0,0,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.01) 1px,transparent 1px);background-size:40px 40px;color:var(--color-text);overflow-x:hidden;line-height:1.6}#root{min-height:100vh;opacity:0;transition:opacity .4s ease-in-out}#root.app-ready{opacity:1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-lighter)}button,a,button:active,a:active{-webkit-tap-highlight-color:transparent}@media (max-width: 768px){html,body{scrollbar-gutter:auto}}
