@import 'https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500&family=Roboto+Mono&display=swap';:root{--gap:24px;--content-gap:16px;--nav-width:1280px;--main-width:768px;--header-height:60px;--footer-height:60px;--radius:8px;--theme:#f5f5f5;--entry:#f1f4f6;--primary:#000000;--secondary:rgba(39, 39, 39, 0.75);--tertiary:#e7ecf3;--content:rgb(55, 55, 55);--border:rgb(200, 200, 200)}.dark{--theme:#0b0b0b;--entry:#252527;--primary:#eee;--secondary:rgba(240, 240, 240, 0.8);--tertiary:rgba(245, 245, 245, 0.2);--content:#ececec;--border:rgb(5, 5, 5);--text-color:#a1a1a6}.list{background:var(--theme)}.dark.list{background:var(--theme)}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--primary)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:16px;line-height:1.5;word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}a{text-decoration:none}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{outline:0}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-track{background:var(--code-bg)}::-webkit-scrollbar-thumb{background:var(--tertiary);border:5px solid var(--theme);border-radius:var(--radius)}.list:not(.dark)::-webkit-scrollbar-thumb{border:5px solid var(--code-bg)}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}.not-found{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;height:80%;font-size:160px;font-weight:700}.archive-posts{width:100%;font-size:16px}.archive-year{margin-top:40px}.archive-year:not(:last-of-type){border-bottom:2px solid var(--border)}.archive-month{display:flex;align-items:flex-start;padding:10px 0}.archive-month-header{margin:25px 0;width:200px}.archive-month:not(:last-of-type){border-bottom:1px solid var(--border)}.archive-entry{position:relative;padding:5px;margin:10px 0}.archive-entry-title{margin:5px 0;font-weight:400}.archive-count,.archive-meta{color:var(--secondary);font-size:14px}.page-footer{margin-top:var(--gap)}.footer,.top-link{font-size:13px;color:var(--secondary)}.footer{padding:0 var(--gap);color:var(--grey);text-align:center}.footer-wrapper{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:space-between;gap:.2rem;margin:0 auto;padding:var(--gap)0;max-width:calc(var(--nav-width))}.footer a{color:var(--grey)}.footer a:hover{color:var(--secondary)}.top-link{visibility:hidden;position:fixed;bottom:60px;right:70px;z-index:1;background:var(--tertiary);width:42px;height:42px;padding:12px;border-radius:64px;transition:visibility .5s,opacity .8s linear}.top-link,.top-link svg{filter:drop-shadow(0 0 0 var(--theme))}.footer a:hover,.top-link:hover{color:var(--primary)}.top-link:focus,#theme-toggle:focus{outline:0}@media screen and (min-width:240px) and (max-width:576px){.footer-wrapper{justify-content:center;flex-direction:column}}.header{padding:0 var(--gap)}.header.sticky{z-index:100;top:0;position:sticky}.header.sticky{background:var(--header-bg);box-shadow:1px 1px 2px var(--shadow)}.dark .header.sticky{background:var(--header-bg);box-shadow:inset 0 -1px rgba(63,67,72,.122)}.nav{display:flex;flex-direction:row;max-width:var(--nav-width);margin:0 auto;height:var(--header-height);align-items:center;justify-content:space-between}.nav>*{height:calc(var(--header-height) - var(--gap));flex-basis:calc(100%/3)}.nav a{display:block}.logo{display:flex;align-items:center}.logo a{font-size:1.35rem;white-space:nowrap;font-weight:500;color:var(--white);user-select:none;outline:none}#menu{display:flex;word-break:keep-all;overflow:auto;white-space:nowrap;list-style:none;align-items:center;justify-content:center}#menu a,#menu .i-search,#theme-toggle{color:var(--white)}#menu li:not(:first-of-type){margin-left:var(--gap)}#menu li a:hover{transition:.3s;color:var(--white);opacity:.7}#menu li a.active{color:var(--white);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}#theme-toggle{display:flex;align-items:center}#theme-toggle svg:hover{color:var(--white)}#moon,#sun{width:var(--base-font);height:auto}body.dark #moon{display:none}body:not(.dark) #sun{display:none}.lang-switch li,.lang-switch ul{display:inline-flex;margin:auto 4px}.lang-switch{display:flex;flex-wrap:inherit}.lang-switch a{margin:auto 3px;font-size:16px;font-weight:500}.main{display:flex;flex-direction:column;position:relative;min-height:100vh;max-width:var(--main-width);margin:auto}.content-wrapper{display:flex;flex-direction:column;padding:var(--gap)}.pagination{display:grid;grid-template-columns:auto auto auto;justify-content:space-between}.pagination .next{grid-column:3}code{direction:ltr}.first-entry{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:300px;margin:calc(var(--gap) + 24px)0 calc(var(--gap) * 4)}.first-entry .entry-header{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.first-entry .entry-header h1{font-size:36px;line-height:1.5}.first-entry .entry-content{margin:14px 0;font-size:1.175rem;-webkit-line-clamp:3}.first-entry .entry-footer{font-size:14px}.home-info .entry-content{-webkit-line-clamp:unset}.post-entry{position:relative;background:var(--theme);border-left:3px solid}.post-entry:hover{background-color:var(--tertiary)}.tag-entry .entry-cover{display:none}.entry-content{color:var(--soft-grey);font-size:1rem}.entry-header h2{font-size:1.25rem;font-weight:500}.entry-footer{color:var(--secondary);font-size:13px}.entry-link{position:absolute;left:0;right:0;top:0;bottom:0}.entry-cover,.entry-isdraft{font-size:14px;color:var(--secondary)}.entry-isdraft{display:inline}.entry-cover{margin-bottom:var(--gap);text-align:center}.entry-cover img{border-radius:var(--radius);pointer-events:none;width:100%;height:auto}.entry-cover a{color:var(--secondary);box-shadow:0 1px 0 var(--primary)}.post-meta,.breadcrumbs{color:var(--soft-grey);font-size:14px;display:flex;flex-wrap:wrap}.post-meta .i18n_list li{display:inline-flex;list-style:none;margin:auto 3px;box-shadow:0 1px 0 var(--secondary)}.breadcrumbs a{font-size:16px}.post-content{color:var(--text-color)}.post-content h1{font-size:32px}.post-content h2{font-size:24px}.post-content h3{font-size:20px}.post-content h4{font-size:16px}.post-content h5{font-size:14px}.post-content h6{font-size:12px}.post-content a code{margin:auto 0;border-radius:0}.post-content dl,.post-content ol,.post-content p,.post-content figure,.post-content ul,.post-content img{margin:var(--content-gap)0}.post-content ul li ul{margin-top:5px}.post-content ul,.post-content ol{padding:0 1.5rem}.post-content li p{margin-bottom:0}.post-content dl{display:flex;flex-wrap:wrap;margin:0}.post-content dt{width:25%;font-weight:700}.post-content dd{width:75%;margin-inline-start:0;padding-inline-start:10px}.post-content dd~dd,.post-content dt~dt{margin-top:10px}.post-content table{margin-bottom:32px}.post-content table th,.post-content table:not(.highlighttable,.highlight table,.gist .highlight) td{min-width:80px;padding:12px 8px;line-height:1.5;border-bottom:1px solid var(--border)}.post-content table th{font-size:14px;text-align:start}.post-content table:not(.highlighttable) td code:only-child{margin:auto 0}.post-content .highlight table{border-radius:calc(var(--radius)/2)}.post-content .highlight:not(table),.post-content pre{margin:4px auto;background:var(--hljs-bg)!important;border-radius:var(--radius-half);margin-bottom:var(--content-gap);background-color:var(--white)}.post-content li>.highlight{margin-inline-end:0}.post-content ul pre{margin-inline-start:calc(var(--gap) * -2)}.post-content .highlight pre{margin:0}.post-content .highlighttable{table-layout:fixed}.post-content .highlighttable td:first-child{width:40px}.post-content .highlighttable td .linenodiv{padding-inline-end:0!important}.post-content .highlighttable td .highlight,.post-content .highlighttable td .linenodiv pre{margin-bottom:0}.post-content .highlighttable td .highlight pre code::-webkit-scrollbar{display:none}.post-content pre code[class*=hljs],.post-content pre code[class*=language]{border-radius:var(--radius-half);white-space:pre}.post-content code{background:var(--code-bg);border-radius:2px;margin:auto 0}.post-content pre code{font-size:.875rem;line-height:1.5;color:var(--code-pre-color);background:var(--hljs-bg);display:block;margin:auto 0;padding:.75rem;overflow-x:auto}.post-content blockquote ul{margin-bottom:var(--radius-half)}.post-content hr{margin:30px 0;height:2px;background:var(--tertiary);border-top:0;border-bottom:0}.post-content iframe{max-width:100%}.post-content img[src*="#center"]{margin:auto}.post-content figure.align-center{text-align:center}.post-content figure>figcaption{color:var(--text-color);font-size:16px;font-weight:700;margin:8px 0 16px}.post-content figure>figcaption>p{color:var(--secondary);font-size:14px;font-weight:400;text-align:center}.post-footer{margin-top:56px}.post-tags li{display:inline-block;margin-inline-end:3px;margin-bottom:5px}.post-tags a,.share-buttons,.paginav{border-radius:var(--radius-half);background:var(--entry);border:0 solid var(--border)}ul.post-tags{margin-bottom:10px}.post-tags a{color:var(--text-color);display:block;padding-inline-start:10px;padding-inline-end:10px;font-size:calc(var(--base-font) - 2px);line-height:28px;background:var(--code-bg)}.post-tags a:hover{background:var(--tertiary)}.post-tags a:active{transform:scale(.98)}.share-buttons{margin:14px 0;display:flex;justify-content:center;overflow-x:auto}.share-buttons a{margin-top:10px}.share-buttons a:not(:last-of-type){margin-inline-end:12px}.share-buttons a svg{height:30px;width:30px;fill:currentColor;transition:transform .1s}.share-buttons svg:active{transform:scale(.98)}.paginav{margin:10px 0;display:flex;line-height:30px}.paginav a{padding-inline-start:14px;padding-inline-end:14px;padding-bottom:10px;border-radius:calc(var(--radius)/2)}.paginav .title{letter-spacing:1px;text-transform:uppercase;font-size:small;color:var(--secondary)}.paginav .prev,.paginav .next{width:50%}.paginav span:hover:not(.title){box-shadow:0 1px}.paginav .next{margin-inline-start:auto;text-align:right}[dir=rtl] .paginav .next{text-align:left}.post-content :not(table) ::-webkit-scrollbar-thumb{border:2px solid var(--hljs-bg);background:rgba(255,255,255,.32)}.post-content :not(table) ::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.56)}.gist table::-webkit-scrollbar-thumb{border:2px solid #fff;background:rgba(0,0,0,.32)}.gist table::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.56)}.post-content table::-webkit-scrollbar-thumb{border-width:2px}.post-content dl,.post-content ol,.post-content p,.post-content ul{margin-bottom:var(--content-gap)}.post-content a{color:var(--content)}.post-content table th{font-size:18px;text-align:start}.post-content table tbody td{font-size:16px}.profile-container{display:flex;flex-direction:column;padding:var(--header-height)0;align-items:center;justify-content:center}.profile-img img{border-radius:50%;border:4px solid var(--white);padding:3%}.profile-img img{transition:transform .75s ease-in-out}.profile-img img:hover{cursor:pointer;transform:rotate(360deg);border-color:var(--secondary)}.profile-info{display:flex;flex-direction:column;justify-content:center}.profile-info *{text-align:center}.profile-info .headline{display:inline-block;margin-top:var(--gap);font-size:var(--base-font);color:var(--secondary)}.profile-info .social-icons{margin-top:calc(var(--gap)/2)}.profile-info .title{position:relative}.profile-info .title a{display:inline-block;transition:transform .3s ease .3s,color .3s ease .3s}.profile-info .title a:hover{color:var(--theme)}.profile-info .title a::before{content:"Whoami";display:block;width:max-content;height:100%;position:absolute;top:0;bottom:0;opacity:0;color:var(--primary);transform:scale(.5);transition:all var(--anim-long)ease .15s;user-select:none;pointer-events:none}.profile-info .title a:hover::before{margin-right:.2rem;opacity:1;transform:scale(1);pointer-events:unset}.social-icons{display:flex;justify-content:center;gap:calc(var(--gap)/2)}.social-icons a svg{height:24px;width:24px}.social-icons a svg:hover{opacity:.8}.social-icons a[title=Discord]:hover svg{color:#2867fa}.social-icons a[title=Hackthebox]:hover svg{color:#b0fd3b}.social-icons a[title=Buymeacoffee]:hover svg{color:#f8bc4b}@media screen and (min-width:240px) and (max-width:576px){.profile-container{padding:3rem 0;flex-direction:column}.profile-info *{text-align:center}.profile-info .title{font-size:1.6rem}.profile-info .title a,.profile-info .title a::before{transform:none;transition:none}.profile-img{transform:scale(.9)}.profile-info .headline{font-size:1.025rem;line-height:1.5}}body.blur>:not(.header){-webkit-filter:blur(2.5px);-moz-filter:blur(2.5px);-ms-filter:blur(2.5px);-o-filter:blur(2.5px);filter:blur(2.5px)}#mask{background-repeat:no-repeat;background-position:50%;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:transparent}.hidden{display:none}.search-container{display:flex;flex-direction:row;justify-content:flex-end;gap:var(--gap)}#searchBox{display:flex;flex-direction:column;flex-basis:70%;border:2px solid var(--tertiary);border-radius:var(--radius-half);background-color:var(--theme)}#searchBox input{width:100%;padding:4px 12px;color:var(--primary)}#searchResults{margin:10px 0;width:100%;max-height:calc(100vh/2);display:block;overflow-y:scroll}#searchResults>div{list-style:none;border:1px solid var(--border);border-radius:var(--radius-half);margin:10px 0;font-weight:400;background-color:var(--entry)}#searchResults div:active{transition:transform .1s;transform:scale(.98)}#searchResults .title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}#searchResults .focus{transform:scale(.98);border:2px solid var(--tertiary)}#searchResults .search-item{display:flex;flex-direction:column;outline:none;border:none;padding:.75rem}#searchResults .search-item:hover{background-color:var(--tertiary)}#searchResults .search-item .title{font-size:calc(var(--base-font) - 1px);border-bottom:2px solid var(--hr-line)}#searchResults .search-item .description{font-size:calc(var(--base-font) - 3.5px);color:var(--secondary);padding:.2rem 0 .3rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}#searchResults .search-match{color:var(--grey);font-size:small}@media screen and (min-width:240px) and (max-width:576px){#searchbox input{font-size:1rem;font-weight:500;color:var(--content)}#searchBox{display:none}}.terms-tags a:hover{background-color:var(--tertiary)}.hljs{display:block;overflow-x:auto;padding:.5em;background:#1e1e1e;color:#e7e7e7}.hljs-keyword,.hljs-literal,.hljs-symbol,.hljs-name{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-number,.hljs-class{color:#f4f8f1}.hljs-string,.hljs-meta-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-subst,.hljs-function,.hljs-title,.hljs-params,.hljs-formula{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#848991}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:var(--code-color-hl)}.hljs-variable,.hljs-template-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-tag,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}@media screen and (max-width:768px){.profile img{transform:scale(.85)}.first-entry{min-height:215px}.archive-month{flex-direction:column}}@media screen and (min-width:600px){::-webkit-scrollbar{width:19px;height:11px}}@media screen and (max-width:900px){}@media(prefers-reduced-motion){.archive-entry:hover,.terms-tags a:active,.button:active,.share-buttons svg:active,.post-entry:hover,.top-link,#searchResults .focus,#searchResults li:active{transform:none}}.flex{display:flex}.flex-row{display:flex;flex-direction:row}.flex-column{display:flex;flex-direction:column}.grid{display:grid;grid-gap:2rem}.grid-column{display:grid;grid-gap:2rem}*{scroll-margin-top:calc(var(--header-height) + var(--content-gap) - 1rem)}html{scroll-behavior:smooth}body{font-family:rubik;font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;font-smooth:auto}h1,h2,h3,h4,th{font-weight:400}:root{--white:#fff;--soft-white:rgba(245, 240, 245);--alpha-white:rgba(240, 240, 240, 0.8);--grey:#878787;--soft-grey:#838383;--alpha-grey:rgba(135, 135, 135, 0.5);--dark:#131313;--soft-dark:#292a2d;--red:#e20800;--soft-red:#e76c67;--reverse:#110f0f;--border-reverse:#2b2929d8;--link:#1755ff;--header-bg:#050505;--quote-bg:rgb(246, 248, 252);--hover-bg:#0e0c0cd8;--hover-font:rgba(255, 255, 255, 0.95);--text-color:rgb(55, 55, 55);--gradient-left:rgba(0, 0, 0, 0.75);--gradient-center:rgb(39, 39, 39);--gradient-right:rgba(0, 0, 0, 0.1);--hr-line:#e0dcdc;--shadow:hsla(0, 0%, 50%, 0.45);--radius-half:calc(var(--radius) / 2);--content-width:calc(0.7 * 100%);--toc-width:calc(0.3 * 100%);--toc-height:80vh;--anim-short:75ms;--anim-medium:200ms;--anim-long:400ms;--base-font:16px}.dark{--red:#e76c67;--reverse:#fff;--link:#3c85fa;--border-reverse:#e5e5e5e6;--grey:#b1aeb1;--hr-line:#383838;--soft-grey:#a4a4a4;--header-bg:#050505;--quote-bg:rgba(24, 21, 21, 0.764);--hover-bg:#ffffff;--hover-font:var(--header-bg);--content-h4:#ffd17b;--gradient-right:rgba(230, 230, 230, 0.1);--gradient-center:rgb(240, 240, 240);--gradient-right:rgba(230, 230, 230, 0.1);--shadow:#24242470;--toc-shadow:#1b1b1b85}.force-center{display:grid;place-content:center}.breadcrumbs{display:flex;align-items:center;margin-left:2px;letter-spacing:.02rem}.page-header{padding:var(--gap)0}.page-header h1{font-weight:800}.page-header .post-description{margin:var(--content-gap)0}.post-description{font-size:var(--base-font);font-weight:400;line-height:1.5;padding:.25rem 0 .5rem;color:var(--grey)}.profile-info h1,.page-header h1,.post-title{font-size:2rem;letter-spacing:.03rem}button .top-link{transition:visibility var(--anim-medium),opacity var(--anim-medium)linear}@media screen and (max-width:812px){*{scroll-margin-top:70px}.nav>*{flex-basis:auto}.profile-info h1,.page-header h1,.post-title{font-size:1.8rem;letter-spacing:.05rem}}@media screen and (min-width:240px) and (max-width:576px){:root{--gap:14px}.nav{justify-content:unset}.nav>*{flex-basis:auto}.logo{flex-grow:1}#menu{padding:0 var(--gap)}#menu li>a{font-size:.95rem}#menu li:not(:first-of-type){margin-left:1.1rem}.profile-container{min-height:50vh;justify-content:center}.page-header .post-description{font-size:1rem}.page-header h1{font-size:1.55rem;line-height:1.2}.top-link{bottom:40px;right:30px}.paginav{line-height:1.5}.paginav .title{line-height:1.5;font-size:smaller}}.post-header{padding:var(--gap)0}.post-single hr{border:none;height:3px;background-color:var(--hr-line);border-radius:var(--radius)}.post-header hr{border-bottom-right-radius:unset}.post-content-container{display:flex;flex-direction:row}.post-content{flex-grow:1;width:var(--content-width)}.post-single .post-description{color:var(--secondary);max-width:90%}.post-content p{word-wrap:break-word}.post-title+.post-meta{margin-top:.75rem}.post-meta,.post-meta-bottom{display:block}.post-meta,.post-meta .meta-read,.post-meta-bottom{color:var(--grey);font-size:calc(var(--base-font) - 2px)}.post-meta .date{width:max-content}.series-info{width:max-content;font-size:calc(var(--base-font) - 2px);margin:-9px 0 0 auto;padding:.2rem .25rem;border-bottom-right-radius:var(--radius-half);border-bottom-left-radius:var(--radius-half);background-color:var(--hr-line);color:var(--text-color);line-height:1.5}.post-meta-bottom{text-align:right;display:flex;flex-direction:column;margin-top:var(--gap)}.date-update{font-weight:500}.post-origin{font-style:oblique}.post-content h1 a.anchor,.post-content h2 a.anchor,.post-content h3 a.anchor,.post-content h4 a.anchor{text-decoration:none!important;visibility:hidden;margin-left:8px;border-bottom:none}.post-content h1:hover a.anchor,.post-content h2:hover a.anchor,.post-content h3:hover a.anchor,.post-content h4:hover a.anchor{color:var(--secondary);visibility:visible}.post-content h2{border-top:1px solid var(--hr-line);margin:48px 0 16px;padding-top:24px}.post-content h3{font-size:1.25rem;margin:20px 0 0;padding-top:12px;color:#222121}.dark .post-content h2{color:#ffffffe8}.dark .post-content h3{color:#fffd8e}.post-content h4{font-size:1.105rem;margin:12px 0 0;padding-top:8px;color:var(--red)}.post-content h3+h4{padding-top:.25rem}.post-content strong{color:var(--reverse);font-weight:500}.post-content table th{font-size:calc(var(--font-size) - 1px);font-weight:500;border-color:var(--hr-line)}.post-content blockquote{margin:20px 3px;padding:.5rem 1rem;border-inline-start:3px solid var(--secondary)}.post-content blockquote p{opacity:.9;margin-bottom:0}.post-content ol,.post-content ul{font-size:1.05rem;line-height:1.7}.post-content ol>li>ul{margin-bottom:.5rem}.post-content li>ul{margin-top:.5rem}.post-content .table-wrapper{display:grid;place-content:center}.img-container{display:grid;place-content:center;justify-items:center}.post-content img{filter:brightness(95%);filter:contrast(95%);border-radius:var(--radius-half);margin:auto}.dark .post-content img{filter:brightness(85%)}.post-content a{color:var(--reverse);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;text-decoration-color:var(--hr-line)}.post-content a:hover,.post-origin a:hover,.series-info a{color:var(--link)}.post-content small{color:var(--grey);margin-bottom:var(--content-gap);display:block;font-size:14px}.post-content p+small,.post-content .img-container+small{text-align:center}.post-content fieldset>legend{font-size:1.1rem;letter-spacing:.02rem}.post-content fieldset{margin-bottom:var(--content-gap);border-color:var(--grey);border-radius:var(--radius-half)}.post-content fieldset ul{margin-bottom:0}.post-content fieldset>ul{list-style:none;padding-inline-start:.8rem}sup a.footnote-ref{padding-left:.1rem;border-bottom:none;text-decoration:none}sup a.footnote-ref::before{content:"[";padding-right:.1rem}sup a.footnote-ref::after{content:"]";padding-left:.1rem}.toc ul{list-style:none}.toc{margin-right:var(--gap);margin-left:calc(-1 * var(--toc-width) - var(--gap));width:var(--toc-width);background:0 0;visibility:visible;opacity:1;user-select:none}.toc .inner{position:sticky;top:97px;z-index:99;display:flex;flex-direction:column;transition:all var(--anim-medium)ease}.toc .inner{height:500px;overflow-y:scroll}.toc .inner>ul{border-left:2px solid var(--reverse)}.toc .inner a{font-size:12px;color:var(--grey);word-wrap:break-word;text-decoration:none;display:inline-block;padding:2px 0;outline:none}.toc .inner a:hover{color:var(--reverse)}.toc .inner>ul>li{padding:.025rem 0}.toc .inner>ul>li>a{color:var(--secondary);letter-spacing:.02rem;padding:4px 0}.toc .inner ul{padding-left:.75rem}.toc li ul{display:none}.toc li.active>ul{display:block}.toc li.active>a{font-weight:700}.share-buttons{border:3px solid;background-color:var(--theme)}.post-footer{padding:var(--gap)0}.post-content .post-references h2{font-weight:500;padding-top:var(--gap);border-bottom:unset;border-top:3px solid var(--hr-line)}.post-content .footnotes+.post-references h2{border-top:unset}:root{--code-bg:#eaeaea;--code-color:rgb(245, 245, 245, 1);--code-color-hl:#f6f6f6;--code-border:rgba(40, 40, 40, 0.1);--code-pre-color:#c7c7c7;--hljs-shadow:#222121;--hljs-bg:#131313}.dark{--hljs-bg:var(--soft-dark);--code-bg:#32363c;--code-pre-color:#cac6c6f4;--code-color-hl:#e5e5e5;--code-border:rgba(92, 92, 92, 0.5)}pre>code[class*=language-shell]>.hljs-meta~.language-bash{color:var(--code-color-hl)}pre>code[class*=language-shell]>.hljs-meta{line-height:1.7}pre code[class*=language-text]{color:var(--code-color-hl)}.post-content code,.post-content pre code[class*=" language-"]{font-family:roboto mono,fira code,monospace}.post-content code{font-size:calc(var(--base-font) - 3px);padding:0 4px}.post-content p>code{border:1px solid var(--hr-line)}.post-content pre code{font-size:calc(var(--base-font) - 4px)}.post-content .highlight:not(table){box-shadow:1px 2px 4px #222121;padding:.25rem 1rem .25rem .5rem}.dark .post-content .highlight:not(table){box-shadow:unset}.language-shell.hljs>.language-bash>.hljs-keyword{color:var(--code-color)}@media screen and (max-width:1360px){:root{--main-width:745px}.toc{transition:opacity .5s linear,visibility .5s linear}}@media screen and (max-width:1278px){:root{--main-width:720px}.toc{visibility:hidden;opacity:0}.top-link{bottom:40px;right:30px}}@media screen and (max-width:800px){:root{--nav-width:720px}.post-content pre code{font-size:.9rem;line-height:1.6}}@media screen and (min-width:240px) and (max-width:576px){.post-title{font-size:1.55rem}.breadcrumbs a{font-size:.9rem}.post-single .post-description{font-size:1.025rem}.post-single .post-description,.post-content li a{line-height:1.5!important}.post-content h2{font-size:1.3rem;margin-top:var(--content-gap);margin-bottom:calc(var(--content-gap)/2)}.post-content h3{font-size:1.2rem;margin-bottom:calc(var(--content-gap)/2 - 2px)}.post-content h4{font-size:1.05rem}.post-content .img-container{border-radius:unset;margin:unset;margin-left:calc(-1 * var(--gap));margin-right:calc(-1 * var(--gap))}.post-content .img-container img{width:100%}.post-content .highlight:not(table){border-radius:unset;margin-left:calc(-1 * var(--gap));margin-right:calc(-1 * var(--gap));overflow:auto;white-space:pre}.post-content pre code,.post-content code,.post-content p>code{font-size:.85rem}.breadcrumbs,.terms-tags a,.post-tags a,.paginav a,.post-canonical-link{font-size:.8rem}}.post-info,.entry-meta,.meta-date,.meta-read{font-size:calc(var(--base-font) - 4px);line-height:1.5;color:var(--grey)}.meta{flex-shrink:0;border-right:3px solid var(--grey)}.posts{display:flex;flex-direction:column;gap:var(--gap)}.post{display:flex;flex-direction:column;border-top:1px solid var(--alpha-grey);padding-top:12px}.post-info{width:max-content;border-top-right-radius:var(--radius-half);border-bottom-right-radius:var(--radius-half);padding:.2rem .4rem;background-color:var(--reverse)}.post-info,.post-info *{color:var(--theme)}.post-info .meta-date{text-transform:uppercase}.post h2{line-height:1.5}.post .title{margin-top:.5rem}.post .title a{transition:all var(--anim-long)ease}.post .title a:hover{opacity:.7}.post .description{font-size:calc(var(--base-font) - 1px);color:var(--grey);margin-top:.25rem;letter-spacing:.02rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;max-width:90%}.post .tags{display:flex;gap:4px;align-items:center;margin-top:.5rem;font-size:calc(var(--base-font) - 2px)}.post .tags a{padding:1px 4px;border-radius:2px;background-color:var(--code-bg)}.post .tags,.post .tags span,.post .tags span a{color:var(--soft-whites)}.post .tags a:hover{color:var(--link)}@media screen and (max-width:1278px){}@media screen and (max-width:800px){.post .tags{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.post h2{font-size:1.2rem}}@media screen and (min-width:240px) and (max-width:576px){.post::before,.post *,.post *>*{transition:none;transform:none}.post h2{font-size:1.15rem}.post .tags{display:none}}.series.terms-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2.5rem}.series.terms-container>*{flex-basis:calc(100%/2 - var(--gap))}.series-header a{transition:all var(--anim-long)ease;border-bottom:2px solid var(--hr-line)}.series-header a:hover{border-bottom-color:var(--link)}.more-posts{text-align:right}.more-posts a{padding:.5rem .4rem;border-radius:var(--radius-half);font-size:calc(var(--base-font) - 2px);color:var(--secondary)}.more-posts a:hover{color:var(--link)}.list .terms-tags{display:flex;flex-direction:row;flex-wrap:wrap;list-style:none;gap:.5rem}.list .terms-tags a{font-size:calc(var(--base-font) - 2px);border-radius:var(--radius-half);color:var(--content);padding:.5rem}.list .terms-tags a:hover{color:var(--link)}@media screen and (min-width:240px) and (max-width:576px){.series.terms-container{flex-direction:column;gap:2.5rem}.terms-container>*{width:100%}}.projects-header,.latest-posts-header,.series-header,.archive-year{padding-bottom:calc(var(--gap)/2)}.latest-posts-header,.series-header,.archive-year{font-size:1.35rem}.archive-post,.latest-post{display:flex;padding:.4rem .6rem;border-bottom:1px solid var(--alpha-grey);align-items:center}.latest-post:hover,.archive-post:hover{border-radius:var(--radius-half)}.line .meta-date{width:80px;text-transform:uppercase}.archive-posts .line .meta-date{width:50px}.line .title{flex-grow:1;font-size:calc(var(--base-font) - 1.5px);border-left:3px solid var(--grey);padding-left:.75rem;padding-right:.75rem;color:var(--content);letter-spacing:.02rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line .meta-read,.line .meta-date{display:block;flex-shrink:0;font-size:calc(var(--base-font) - 4px);letter-spacing:-.03em}.line>*{line-height:1.5}.archive-post,.latest-post{position:relative}.latest-post::before,.archive-post::before{content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(0);border-radius:var(--radius-half);transition:all var(--anim-medium)cubic-bezier(.08,.82,.17,1)0s}.latest-post:hover::before,.archive-post:hover::before{z-index:-1;transform:scale(1);background-color:var(--soft-dark)}.dark .latest-post:hover::before,.dark .archive-post:hover::before{transform:scale(1);background-color:var(--soft-white)}.latest-post *,.archive-post *{transition:all var(--anim-medium)linear 0s}.latest-post:hover .meta-date,.latest-post:hover .meta-read,.archive-post:hover .meta-date,.archive-post:hover .meta-read{opacity:.85}.latest-post:hover *,.latest-post:hover *>*,.archive-post:hover *{color:var(--white)}.dark .latest-post:hover *,.dark .latest-post:hover *>*,.dark .archive-post:hover *{color:var(--dark)}.latest-posts-header{display:flex;align-items:center}.latest-posts-header .title{flex-grow:1}.latest-posts-header a{font-size:calc(var(--base-font) - 1.2px);font-weight:400;letter-spacing:normal;padding-bottom:2px;border-bottom:3px solid var(--hr-line)}.latest-posts-header a:hover{border-bottom-color:var(--link)}@media screen and (max-width:1278px){}@media screen and (max-width:800px){}@media screen and (min-width:240px) and (max-width:576px){.latest-post::before,.latest-post *,.latest-post *>*,.archive-post::before,.archive-post *,.archive-post *>*{transition:none;transform:none}.latest-posts-header,.series-header a,.archive-year{font-size:calc(var(--base-font) + 2px)}}.archive-container{display:flex;flex-direction:column;gap:var(--gap)}.archive-year-container~.archive-year-container{padding-top:var(--gap)}.archive-year{display:flex;gap:.5rem;margin:0;align-items:center}.archive-year>span{display:flex}.archive-year svg{height:24px}.projects{display:grid;grid-template-columns:repeat(2,1fr);text-align:center;grid-gap:1rem}.project{border:1px solid var(--border);padding:.5rem;margin-top:.5rem;background-color:var(--entry);border-radius:4px}.projects-header{display:flex;justify-content:center;border-bottom:2px solid var(--hr-line)}.projects-header span{text-align:center}.project-title{font-weight:400}.project a{transition:all var(--anim-long)ease;border-bottom:2px solid var(--hr-line)}.project a:hover{border-bottom-color:var(--link)}.project-desc{color:var(--secondary);font-size:1rem;font-family:lato;line-height:1.5}@media screen and (min-width:240px) and (max-width:576px){.project-title a{font-size:1rem}.project-desc{font-size:.9rem}}.post-content .badges{gap:1rem;align-items:center;justify-content:center}.post-content .htb_font{font-family:roboto,monospace}.post-content p.htb_line{line-height:12px;margin:0;padding:0;font-size:14px;letter-spacing:normal;word-spacing:normal}.post-content p.htb_line img{display:inline}.post-content p.htb-line .htb_nickname{color:#fff;font-size:12px;font-weight:700}.post-content p.htb-line .htb_points{color:#56c0e0;font-size:10px}.post-content p.htb-line .htb_respect{color:#f7af3e;font-size:10px}.post-content p.htb-line .htb_ranking{color:#fff;font-size:10px}.post-content p.htb-line .htb_rank{color:#fff;font-size:11px}.post-content .htb_row1{height:13px}.post-content .htb_row2{height:17px}.post-content .htb_row3{height:5px}.post-content a.htb_link{color:#9acc14;font-size:.6em;text-decoration:none;text-underline-offset:unset}.post-content a.htb_link:hover{color:#9acc14;font-size:.6em;text-decoration:underline}.post-content a.htb_link:visited{color:#9acc14}.post-content .thm_margin{margin:5px}.post-content #thm_badge{width:210px;display:inline-table;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.post-content #thm_badge:hover{cursor:pointer}.post-content .thm_avatar{display:block;width:50px;height:50px;float:left;background-size:cover;background-repeat:no-repeat;background-position:50%;border-radius:50%;box-sizing:content-box;border:3px solid #88cc14;background-color:#343c42;box-shadow:inset 0 0 3px 3px rgba(0,0,0,.1);object-fit:cover;box-shadow:0 0 3px #303030}.post-content .thm_font{font-family:roboto,monospace}.post-content .thm_nickname{color:#fff;font-size:12px;font-weight:700;text-shadow:#000 0 0 6px}.post-content .thm_stat{color:#fff;opacity:.5;font-size:14px}.post-content .thm_icon{opacity:.85;height:16px}.post-content .thm_rank{color:#fff;font-size:11px}.post-content p.thm_line{line-height:12px;margin:0;padding:0;letter-spacing:normal;word-spacing:normal}.post-content a.thm_link{color:#fff;font-size:.6em;text-decoration:none;animation:flicker 6s infinite}.post-content a.thm_link:hover{color:#fff;font-size:.6em;text-decoration:underline}.post-content a.thm_link:visited{color:#fff}.post-content .thm_mr{margin:0 8px 0 0}.post-content .thm_for_img{color:#fff;opacity:.5;font-size:14px;position:relative;top:-3px;margin-bottom:5px}.post-content p.htb_line img,.post-content p.thm_line img{filter:unset}@media screen and (min-width:240px) and (max-width:576px){.post-content .badges{flex-direction:column}}