*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{color:#000;font-family:ui-rounded,SF Pro Rounded,system-ui,san-serif;font-size:1rem;text-align:center}body,header{background-color:#fff}header .wrapper{padding-top:2rem;padding-bottom:2rem;text-align:center}header a{display:flex;align-items:center;text-decoration:none}header .site-title{font-size:1.5rem;color:#000;font-weight:700;margin-right:2.5rem}.wrapper{max-width:900px;margin-left:auto;margin-right:auto;padding:40px;text-align:left}.site-header{padding:30px 40px;text-align:center;max-width:900px;margin:0 auto;display:flex;align-items:center}nav{border-radius:75px;margin:0 0 0 auto}nav a{font-weight:500;color:#8e8e93}nav li{display:inline-block;margin-left:2rem;line-height:1.5rem}.pagination li{margin-left:1rem}.pagination li:first-child{margin-left:0}nav li a.selected{text-decoration:none;color:#000}.site-logo{width:35px;height:35px;margin-bottom:0;margin-right:1rem;border-radius:7.5px;border:1.5px solid rgba(242,242,247)}.item-content ul{margin-bottom:1.5rem}.item-content ul li{line-height:1.5;margin-left:1.5rem;margin-bottom:.5rem}article .item-video{position:relative;padding-top:56.25%;margin:2rem 0}article .item-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}.item-bottom{margin-top:5rem;margin-bottom:3rem}h1{margin:1rem 0 3rem;font-size:2.5rem;line-height:1.2}h2{margin:2.5rem 0 1.5rem;font-size:1.5rem}h3{margin:2rem 0 1.5rem;font-size:1.25rem}.item-content h2{padding:5px 0;border-bottom:2.5px solid #e5e5ea}.item-content p{line-height:1.5;margin-bottom:1.5rem}a{text-decoration:none;color:#0a84ff}a:hover{color:#636366}img{width:100%;height:100%;margin-bottom:1.5rem;border-radius:.25rem}.item-content img{display:block}.description{margin-bottom:40px}.item-title{padding:5px;margin:3.5rem 0 1.5rem;font-size:2rem}.item-title a{color:#000}.item-title a:hover{color:#636366}.item-list,.item-list>li,.item-title h1{margin-bottom:1rem}.item-list>li{display:flex;border-radius:20px;background-color:rgba(242,242,247,.6);border:2px solid rgba(242,242,247)}.card-resume{margin-bottom:0!important;font-weight:500;color:#0a84ff!important}.item-card{padding:3rem}.item-about,.item-card{display:flex;align-items:center;width:100%;color:#000}.item-about{padding:1rem 1.5rem}.item-blog,.item-dev{display:flex;align-items:center;padding:1rem 1.5rem;width:100%}.dev-image{width:90px}.blog-image,.dev-image{height:90px;margin:0 30px 0 0}.blog-image{width:150px;border-radius:18px;object-fit:cover}.item-list>li:last-child{margin-bottom:0}.item-list h1{font-size:1.25rem;margin-bottom:.75rem}.item-list a{color:#000}.item-list p{color:#8e8e93;font-weight:500;line-height:1.5}.item-about h1,.item-list p{margin-bottom:1rem}.tag{display:inline-block;margin-right:5px}.tag,.tagged{color:#8e8e93}#inline-tags .tag{background-color:#e5e5ea;padding:8px 12px;border-radius:10px}.item-content{margin-top:2rem;margin-bottom:3rem}.browse-all{display:block;margin-bottom:30px}.all-tags{display:flex;overflow-x:auto;white-space:nowrap;margin:-1em 0 1.5em}.all-tags li{flex:0 0 auto;font-size:.8rem;margin-right:.5rem;margin-bottom:0}.all-tags::-webkit-scrollbar{display:none}.tag a{display:inline-block;color:#8e8e93;font-weight:500;border:1.5px solid rgba(229,229,234);background-color:rgba(229,229,234,.6);padding:8px 12px;border-radius:20px;text-decoration:none}.tag a.selected{color:#ffffff;background-color:rgba(10,132,255,.6);border:1.5px solid rgba(10,132,255)}.item-list .card{display:flex;align-items:center}.card h1{font-size:2.5rem;margin-top:0}.card h1,.card p{margin-bottom:1.5rem}.card p{color:#8e8e93;font-size:1.2rem;line-height:1.5rem}.card picture{margin:0 0 0 auto}.card-text{margin-right:2.5rem}.card-image{width:150px;height:150px;margin:0 0 0 auto;border:10px solid #fff;border-radius:50px}.pagination{margin:1.5rem 0 0}.pagination,.pagination__list{display:flex;justify-content:center}.pagination__list{list-style:none;gap:.1rem;align-items:center;padding:0;flex-wrap:wrap}.pagination__link{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;font-size:.85rem;border-radius:50%;border:1.5px solid rgba(229,229,234,1);background-color:rgba(229,229,234,.6);color:#8e8e93;font-weight:500}.pagination__link--active{color:#ffffff;background-color:rgba(10,132,255,.6);border-color:rgba(10,132,255,1)}.pagination__link--disabled{color:rgba(142,142,147,.6);background-color:rgba(229,229,234,.4);border-color:rgba(229,229,234,.6);cursor:default}.pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:2.25rem;color:#8e8e93}.pagination__ellipsis--compact,.pagination__ellipsis-item--compact{display:none}@media (max-width:600px){.pagination{margin-top:1rem}.pagination__list{gap:.02rem}.pagination__ellipsis,.pagination__link{width:1.95rem;height:1.95rem;font-size:.8rem}.pagination__ellipsis--compact{display:inline-flex}.pagination__ellipsis-item--compact{display:block}.pagination__item--compact-hidden{display:none}.pagination li{margin-left:.75rem}.pagination li:first-child{margin-left:0}}#toc{top:1.25rem;position:-webkit-sticky;position:sticky;z-index:999;float:right;margin-right:-180px;font-weight:700;font-size:.8rem;width:auto;min-width:160px;max-width:160px}#toc ul{display:flex;flex-direction:column;list-style-type:none;padding:0 .5rem;gap:.5rem 0;overflow:hidden}#toc li{margin:0;padding:.25rem .75rem;white-space:normal}#toc a{color:#8e8e93}.toc-active a{color:#000!important}.item-navigator{display:flex;margin:10px 0;border-radius:15px;border:2px solid rgba(242,242,247);background-color:rgba(242,242,247,.6);padding:15px}.item-navigator a{display:flex;align-items:center;font-weight:500;max-width:95%}.item-next,.item-previous{display:flex;flex:1 1;min-width:0}.item-next{justify-content:flex-end;text-align:right}.item-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arrow-next,.arrow-previous{flex-shrink:0}.arrow-previous{padding-right:5px}.arrow-next{padding-left:5px}.item-recents{margin:10px 0;border-radius:15px;background-color:#f2f2f7;padding:25px 20px 25px 40px;line-height:1.5}.item-recents a{font-weight:500}.item-recents div{margin-left:-20px;margin-bottom:10px}.giscus{margin:0;max-width:none}.giscus-frame{width:100%;margin:30px 0}.promotion-wrapper{height:0;position:-webkit-sticky;position:sticky;z-index:999;top:calc(100vh - 5rem)}.promotion-link{display:inline-flex;padding:.5rem 1rem;border-radius:1rem;background-color:rgba(229,229,234,.5);align-items:center;backdrop-filter:blur(1.5rem);-webkit-backdrop-filter:blur(1.5rem)}.promotion-image{width:30px;height:30px;margin:4px 8px 4px auto;border-radius:8px}.promotion-text{margin:8px auto 8px 0;font-size:1rem;font-weight:700;color:black}pre{margin-bottom:1.5rem;border:2px solid rgba(242,242,247);background-color:rgba(242,242,247,.6);border-radius:1rem}pre code{font-size:13px;font-family:SF Mono,Menlo,monospace;display:block;padding:1.5rem;color:#326D74;line-height:1.5rem;overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}pre code .keyword,pre code .token.keyword{color:#643820}pre code .token.class-name,pre code .token.type,pre code .type{color:#3900A0}pre code .call,pre code .token.function{color:#C41A16}pre code .property,pre code .token.attr-name,pre code .token.property{color:#815F03}pre code .number,pre code .token.number{color:#1C00CF}pre code .string,pre code .token.string{color:#CC723D}pre code .comment,pre code .token.comment{color:#5D6C79}pre code .dotAccess,pre code .token.punctuation{color:#6C36A9}pre code .preprocessing{color:#643820}:not(pre)>code{padding:3px 5px;background-color:#e5e5ea;border-radius:5px;font-family:SF Mono,Menlo,monospace;font-size:.8rem;margin:0 2px 0 0}blockquote{border:2px solid rgba(242,242,247);border-left:5px solid rgba(229,229,234);background-color:rgba(242,242,247,.6);padding:15px;border-top-right-radius:10px;border-bottom-right-radius:10px;margin-bottom:1.5rem}blockquote p{margin-bottom:0!important}footer{color:#8a8a8a;margin:2rem 0 3rem}.footer-spacing{padding-bottom:5rem}.footer-image img{width:30px;height:30px;margin:0 .5rem}.footer-text{margin-bottom:20px}.footer-text span{margin:0 5px}.footer-text a{margin:0 5px;color:#8e8e93}.resume-container{position:relative;overflow:hidden;width:100%;padding-top:140%}.resume-iframe{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;border:1px solid rgba(0,0,0,.1)}.appstore{border-radius:0;margin:2rem 0;width:150px;height:50px}.error-title{text-align:center;margin:2.5rem 0 5rem}@media(prefers-color-scheme:dark){body,header{background-color:#000000}body,header .site-title,nav li a.selected{color:#ddd}.site-logo{border:1.5px solid rgba(28,28,30)}.item-list a,.item-title a{color:#ddd}.card a{color:#0a84ff}.card-image{border-color:#000000}.item-list>li{background-color:rgba(28,28,30,.6);border:2px solid rgba(28,28,30)}.item-about,.item-card{color:#ddd!important}.tag a{border:1.5px solid rgba(44,44,46);background-color:rgba(44,44,46,.6)}#inline-tags .tag{background-color:#2c2c2e}.item-content h2{border-bottom:2.5px solid #9e9e9e}.toc-active a{color:#fff!important}.item-navigator{border:2px solid rgba(28,28,30);background-color:rgba(28,28,30,.6)}.item-recents{background-color:#1c1c1e}.promotion-link{background-color:rgba(58,58,60,.5)}.promotion-text{color:white}.pagination__link{border:1.5px solid rgba(44,44,46,1);background-color:rgba(44,44,46,.6);color:#8e8e93}.pagination__link--active{color:#ffffff;background-color:rgba(10,132,255,.6);border-color:rgba(10,132,255,1)}.pagination__link--disabled{color:rgba(142,142,147,.6);background-color:rgba(44,44,46,.4);border-color:rgba(58,58,60,.7)}.pagination__ellipsis{color:rgba(142,142,147,.8)}pre{border:2px solid rgba(28,28,30);background-color:rgba(28,28,30,.6)}pre code{color:#a9bcbc}pre code .keyword,pre code .token.keyword{color:#ffeead}pre code .token.class-name,pre code .token.type,pre code .type{color:#9EF1DD}pre code .call,pre code .token.function{color:#d5d8df}pre code .property,pre code .token.attr-name,pre code .token.property{color:#abb2bf}pre code .number,pre code .token.number{color:#fca369}pre code .string,pre code .token.string{color:#92d192}pre code .comment,pre code .token.comment{color:#777c85}pre code .dotAccess,pre code .token.punctuation{color:#9EF1DD}pre code .preprocessing{color:#92d192}:not(pre)>code{background-color:#2c2c2e;color:#d5d8df;border:1px solid rgba(44,44,46,.8)}blockquote{border:2px solid rgba(28,28,30);border-left:5px solid rgba(41,41,43);background-color:rgba(28,28,30,.6)}}@media(max-width:1200px){#toc{display:none}}@media(max-width:600px){.wrapper{padding:2rem 1rem}header .site-title{display:none}h1 .tag{margin-top:1rem}.site-header{padding:20px}.card-image{display:none}.card-text{margin-right:0}.card h1{font-size:2rem;margin-top:0}.card p{font-size:1rem}h1{font-size:2rem}.item-list>li{flex-direction:row}.item-title{margin:3rem 0 1rem}.item-card{padding:2rem}.item-about,.item-blog,.item-dev{padding:.5rem 1.5rem}li,p{line-height:1.5}article h1{margin-bottom:4rem}.item-content{margin-bottom:2.5rem}.dev-image{width:5rem;height:5rem;margin-right:1.5rem}.blog-image{display:none}#inline-tags .tag{padding:6px 8px}footer{margin:1rem 0 3rem}.footer-spacing{padding-bottom:2rem}.promotion-wrapper{top:calc(100dvh - 4rem);transition:top .3s ease-in-out}}