@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css);/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}header{display:flex;height:65px;align-items:center;justify-content:center}header nav{display:flex;width:1140px;max-width:100%;padding:0 35px;margin:auto;align-items:center}header a{text-decoration:none;color:inherit}header .brand img{vertical-align:middle;height:30px}header .brand .name{font-weight:600;margin-inline-start:2px}header .nav-links{flex:1;text-align:right}header .nav-links a{display:inline-block;margin-inline-start:8px;font-weight:600;text-transform:uppercase;font-size:14px;position:relative;padding:8px}header .nav-links a.active{color:var(--color-accent)}@media only screen and (max-width:640px){header .nav-links .nav-search{display:flex;align-items:end;gap:10px}}@media only screen and (min-width:640px){header .nav-links .nav-search .mobile-title{display:none}}header .color-mode-toggler{margin-inline-start:15px}header .color-mode-toggler a{cursor:pointer}header #mobile-nav-icon{margin-inline-end:10px;display:none}header #mobile-nav-closer{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}header #mobile-nav-closer.open{display:block}[dir="rtl"] .nav-links{text-align:left}.mode-light .color-mode-toggler a:first-child{display:none}.mode-dark .color-mode-toggler a:last-child{display:none}footer{padding:40px 0}footer .container{display:flex;width:1140px;max-width:100%;padding:0 35px;margin:auto;align-items:center}footer .social{flex:1}footer .social a{text-decoration:none;margin-inline-end:8px;color:inherit}footer nav a{margin-inline-start:8px;font-weight:600;text-transform:uppercase;font-size:14px;position:relative;padding:8px;text-decoration:none;color:inherit}footer nav a.active{color:var(--color-accent)}footer .nav-lang{margin-inline-start:25px;position:relative}footer .nav-lang .lang-label{cursor:pointer}footer .nav-lang .lang-label span{vertical-align:middle}footer .nav-lang #lang-selector{opacity:0;transition:0.2s;width:200px;position:absolute;bottom:100%;right:0;background:var(--color-background-box);border-radius:var(--box-radius);box-shadow:var(--box-shadow);margin-bottom:15px;transform:translateY(25px);pointer-events:none;padding:20px;z-index:1}footer .nav-lang #lang-selector a{display:block;color:inherit;padding:4px 10px;text-decoration:none}footer .nav-lang #lang-selector a.active{font-weight:600;color:var(--color-accent);opacity:1!important}footer .nav-lang #lang-selector a .bull{margin-inline-start:4px}footer .nav-lang #lang-selector.open{pointer-events:initial;opacity:1;transform:translateY(0)}footer .nav-lang #lang-selector.open a{height:initial}footer .nav-lang #lang-selector-closer{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}footer .nav-lang #lang-selector-closer.open{display:block}[dir="rtl"] footer .nav-lang #lang-selector{left:0;right:initial}.post-box,.comments-box,.newsletter-box{padding:30px 50px;margin-bottom:40px;background:var(--color-background-box);border-radius:var(--box-radius);box-shadow:var(--box-shadow)}.post-box .featured-image{margin-top:1rem;display:block;width:100%;border-radius:var(--box-radius);margin-bottom:1rem}.post-box .time-author-wrapper{display:flex;align-items:center;font-size:.85rem}.post-box .time-author-wrapper .global-post-authors{margin-inline-end:10px}.post-box .time-author-wrapper .global-post-authors::after{content:" | "}.post-box h1.post-title{font-size:2rem;font-weight:600;letter-spacing:-.03em;margin:0 0 2rem;position:relative;display:table}.post-box h1.post-title:after{position:absolute;content:"";top:100%;margin-top:3px;left:0;width:100px;max-width:100%;height:3px;background:var(--color-accent)}.post-box .post-content{line-height:var(--line-height)}.post-box .post-content a:not([class]){color:var(--color-accent);text-decoration:none;font-weight:600;box-shadow:inset 0 -1px 0 var(--color-accent)}.post-box .post-content p{margin:1rem 0}.post-box .post-content h1,.post-box .post-content h2,.post-box .post-content h3,.post-box .post-content h4,.post-box .post-content h5,.post-box .post-content h6{line-height:1.25em;margin-top:2.5rem;margin-bottom:0;text-rendering:optimizeLegibility}.post-box .post-content h1 a[href^="#"],.post-box .post-content h2 a[href^="#"],.post-box .post-content h3 a[href^="#"],.post-box .post-content h4 a[href^="#"],.post-box .post-content h5 a[href^="#"],.post-box .post-content h6 a[href^="#"]{color:inherit;text-decoration:none;box-shadow:none;position:relative}.post-box .post-content h1 a[href^="#"]:hover:before,.post-box .post-content h2 a[href^="#"]:hover:before,.post-box .post-content h3 a[href^="#"]:hover:before,.post-box .post-content h4 a[href^="#"]:hover:before,.post-box .post-content h5 a[href^="#"]:hover:before,.post-box .post-content h6 a[href^="#"]:hover:before{content:"#";position:absolute;right:100%;margin-right:5px;color:var(--color-text-content-secondary)}.post-box .post-content h1{font-size:2rem;text-indent:-1px;margin-top:3.5rem}.post-box .post-content h2{font-size:1.7rem;text-indent:-1px;margin-top:3.2rem}.post-box .post-content h3{font-size:1.4rem}.post-box .post-content h4{font-size:1.2rem}.post-box .post-content h5,.post-box .post-content h6{font-size:1.1rem;font-weight:500}.post-box .post-content ol,.post-box .post-content ul{font-family:var(--font-secondary);margin:1rem 0;padding-inline-start:2em}.post-box .post-content ol ol,.post-box .post-content ol ul,.post-box .post-content ul ol,.post-box .post-content ul ul{margin:0}.post-box .post-content li p{margin:5px}.post-box .post-content hr{display:block;height:1px;margin:4rem;padding:0;background:var(--color-background-contrast);border:0}.post-box .post-content blockquote{font-family:var(--font-secondary);margin:2rem 0;padding:1em 1.5em;border-inline-start:.25em solid var(--color-accent)}.post-box .post-content blockquote>:first-child{margin-top:0}.post-box .post-content blockquote>:last-child{margin-bottom:0}.post-box .post-content figure img{display:block;max-width:100%;height:auto;margin:auto;border-radius:var(--box-radius)}.post-box .post-content figcaption{position:relative;color:var(--color-text-content-secondary);margin:auto;font-size:.9em;line-height:2em;padding:.5rem;text-align:center}.post-box .post-content figure{margin:2em 0}.post-box .post-content aside{display:flex;padding:1em;border-radius:var(--box-radius);margin:2rem 0}.post-box .post-content aside span{font-size:1.5rem;margin-inline-end:.5rem}.post-box .post-content pre{padding:1rem 0;border-radius:var(--box-radius);font-size:.85rem;position:relative;direction:ltr}.post-box .post-content pre .line{padding:1px 1rem}.post-box .post-content pre .line-number{margin-inline-end:1rem;position:absolute;left:1rem}.post-box .post-content pre code{display:block;width:max-content;min-width:100%;tab-size:4}.post-box .post-content pre.has-line-numbers .line{padding-left:2.4rem}.post-box .post-content a.bookmark{color:inherit;display:flex;margin:2rem 0;text-decoration:none;box-shadow:var(--box-shadow);border-radius:var(--box-radius);overflow:hidden}.post-box .post-content a.bookmark .bookmark-details{padding:1rem 1.5rem;flex:2}.post-box .post-content a.bookmark .bookmark-details .bookmark-title{font-weight:600}.post-box .post-content a.bookmark .bookmark-details .bookmark-description{color:var(--color-text-content-secondary);font-size:.9rem;margin:5px 0}.post-box .post-content a.bookmark .bookmark-details .bookmark-domain{font-size:.8rem;font-weight:600}.post-box .post-content a.bookmark .bookmark-thumbnail{flex:1}.post-box .post-content a.bookmark .bookmark-thumbnail img{width:100%;height:100%;object-fit:cover}@media screen and (max-width:640px){.post-box .post-content a.bookmark{flex-direction:column-reverse}}.post-box .post-content :not(pre) code{background-color:var(--inline-code-bg);color:var(--inline-code-color);border-radius:3px;font-size:.8rem;padding:.2em .4em;font-family:monospace}.post-box .post-content mark{background-color:#fffbd4}.post-box .post-content .table-container{overflow-x:auto;margin:2rem 0}.post-box .post-content .table-container table{width:100%;border-collapse:initial;border-spacing:0 10px}.post-box .post-content .table-container table th{font-weight:600;text-align:left;padding:.5rem 1.2rem;background-color:var(--color-tag-bg);color:var(--color-tag-fg);margin-bottom:15px}.post-box .post-content .table-container table th:first-child{border-radius:20px 0 0 20px}.post-box .post-content .table-container table th:last-child{border-radius:0 20px 20px 0}.post-box .post-content .table-container table td{padding:.5rem 1.2rem}.post-box .post-content .table-container table p{margin:0}.post-box .post-content audio{width:100%;margin:1rem 0;display:block}.post-box .post-tags{margin-top:20px}[dir="rtl"] h1::after{left:initial;right:0}.comments-box h3,.newsletter-box h3{margin-top:0;font-size:1.5rem;margin-bottom:2rem;position:relative}.comments-box h3:after,.newsletter-box h3:after{position:absolute;content:"";top:100%;margin-top:2px;left:0;width:100px;max-width:100%;height:2px;background:var(--color-accent)}.loop{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin:0 auto;max-width:1200px;padding:0 1.5rem}.loop .post{background:var(--color-card);border-radius:1rem;overflow:hidden;transition:transform 0.3s ease,box-shadow 0.3s ease;border:1px solid var(--color-border)}.loop .post:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgb(0 0 0 / .1)}.loop .post .post-image{display:block;width:100%;height:200px;overflow:hidden}.loop .post .post-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.loop .post .post-image:hover img{transform:scale(1.05)}.loop .post .post-content{padding:1.5rem}.loop .post .post-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.loop .post .post-tags .tag{font-size:.75rem;padding:.25rem .75rem;background:var(--color-accent);color:#fff;border-radius:1rem;text-decoration:none;transition:background 0.2s ease}.loop .post .post-tags .tag:hover{background:var(--color-accent-hover)}.loop .post .post-title{font-size:1.25rem;margin-bottom:1rem;line-height:1.4}.loop .post .post-title a{color:var(--color-text);text-decoration:none}.loop .post .post-title a:hover{color:var(--color-accent)}.loop .post .post-excerpt{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.loop .post .post-meta{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--color-text-secondary);flex-wrap:wrap}.loop .post .post-meta .author{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-text)}.loop .post .post-meta .author .author-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.loop .post .post-meta .author:hover{color:var(--color-accent)}.loop .post .post-meta .date,.loop .post .post-meta .reading-time{display:flex;align-items:center;gap:.25rem}.loop .post .post-meta .date i,.loop .post .post-meta .reading-time i{font-size:.875rem}.blogs-section .loop{margin-bottom:3rem}@media (max-width:768px){.loop{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:480px){.loop{grid-template-columns:1fr;padding:0 1rem}.loop .post .post-image{height:180px}}.posts-loop a.article{display:flex;padding:30px;background:var(--color-background-box);margin-bottom:30px;border-radius:var(--box-radius);box-shadow:var(--box-shadow);text-decoration:none;color:inherit;transition:0.1s box-shadow;position:relative}.posts-loop a.article .left{flex:1}.posts-loop a.article .left h2{margin:0;font-size:22px;line-height:24px}.posts-loop a.article .left p.description{margin-top:10px;margin-bottom:10px;color:var(--color-text-content-secondary)}.posts-loop a.article .left .date{font-size:.8rem;margin-top:8px}.posts-loop a.article .left .post-tags{margin-top:10px}.posts-loop a.article .left .post-tags .global-tag{margin-top:5px}.posts-loop a.article .right{padding-inline-start:25px}.posts-loop a.article .right img{width:300px;border-radius:var(--box-radius);aspect-ratio:1.7777777778}.posts-loop a.article:hover{box-shadow:var(--box-shadow),0 0 20px rgb(0 0 0 / .05)}.posts-loop a.article .pinned{position:absolute;bottom:100%;left:0;transform:translateY(50%);margin-left:30px}.posts-loop a.article .pinned .pinned-icon{display:inline-flex;width:30px;height:30px;border-radius:50%;background-color:var(--color-accent);color:#fff;align-items:center;justify-content:center}[dir="rtl"] a.article .pinned{left:auto;right:0;margin-left:0;margin-right:30px}nav.pagination{text-align:center;margin:30px 0}nav.pagination .pagination-info{color:var(--color-text-content-secondary);vertical-align:middle}nav.pagination a{margin:0 3px;padding:10px;display:inline-block;transition:0.3s transform ease-out;vertical-align:middle;color:inherit}nav.pagination a.hidden{visibility:hidden}nav.pagination a:hover{color:var(--color-accent)}[dir="rtl"] nav.pagination a{transform:rotate(180deg)}.author-page .author-image img,.author-page .author-image .avatar-placeholder{width:120px;height:120px;border-radius:50%;margin-bottom:10px}.author-page .author-image .avatar-placeholder{display:inline-block;background-color:var(--color-background-contrast)}.author-page .social a{display:inline-block;color:var(--color-accent);margin:10px 4px}.author-page .posts-count,.tag-page .posts-count{margin:10px 0;font-size:18px;font-weight:600}@media only screen and (max-width:640px){.post-box{padding:40px 20px}footer .container{flex-direction:column-reverse;padding:0}footer .container nav{margin:40px 0;display:flex;flex-direction:column;align-items:center}footer .container .nav-lang{margin-inline-start:0;text-align:center}footer .container .nav-lang #lang-selector{transform:translateY(25px) translateX(50%);right:50%}footer .container .nav-lang #lang-selector.open{transform:translateY(0) translateX(50%)}header .nav-links-inner{display:flex;position:absolute;top:60px;width:200px;right:40px;flex-direction:column;background:var(--color-background-box);border-radius:var(--box-radius);box-shadow:var(--box-shadow);transition:0.2s;opacity:0;pointer-events:none;transform:translateY(-25px);z-index:100;padding:20px;text-align:left}header .nav-links-inner.open{pointer-events:initial;opacity:1;transform:translateY(0)}header .nav-links-inner a.active{border-bottom:none;color:var(--color-accent)}header #mobile-nav-icon{display:inline-block;cursor:pointer}.posts-loop a.article{flex-direction:column-reverse}.posts-loop a.article .right{padding-left:0}.posts-loop a.article .right img{margin-bottom:25px;width:100%}}.search-wrapper{position:fixed;top:0;bottom:0;left:0;right:0;z-index:500;box-sizing:border-box;padding:2rem;display:none;opacity:0;transition:opacity ease-out 0.2s;pointer-events:none;background:#090a0de6}@media only screen and (max-width:640px){.search-wrapper{padding:15px}}.search-wrapper .search-wrapper-close{position:absolute;right:0;top:0;width:2.5rem;height:2.5rem;margin:2rem;background:#fff0;border:0;opacity:.5;transition:opacity ease-out 0.2s}@media only screen and (max-width:640px){.search-wrapper .search-wrapper-close{margin:15px}}.search-wrapper .search-wrapper-close:focus,.search-wrapper .search-wrapper-close:hover{opacity:1}.search-wrapper .search-wrapper-close:before,.search-wrapper .search-wrapper-close:after{content:"";position:absolute;left:20%;top:50%;width:60%;height:2px;margin-top:-1px;border-radius:1px;background:#fff}.search-wrapper .search-wrapper-close:before{transform:rotate(-45deg)}.search-wrapper .search-wrapper-close:after{transform:rotate(45deg)}.search-active{overflow-y:hidden}.search-active .search-wrapper{opacity:1;pointer-events:unset}.search{position:relative;top:50px;max-height:80vh;width:650px;max-width:100%;margin:auto;background:var(--color-background-box);border-radius:var(--box-radius);box-shadow:var(--box-shadow);overflow:hidden;display:flex;flex-direction:column}@media only screen and (max-width:960px){.search{top:6rem}}.search-form{position:relative;border-bottom:1px solid var(--color-background-contrast)}@media only screen and (max-width:640px){.search-form{padding:0}}.search-form .search-field{font-size:1.2rem;width:100%;margin:0;padding:1.2rem 2rem;border:0;background:#fff0;box-sizing:border-box;box-shadow:none!important;outline:0!important}.search-form .search-button{display:none;font-size:1.6em;position:absolute;right:0;top:0;height:4rem;margin:1.5rem;padding:0 1.5rem;border:0;border-radius:4px;color:#fff;background:var(--color-accent);transition:background ease-out 0.2s}.search-form .search-button.search-button-clear{display:block;width:1.5rem;height:1.5rem;margin:1.3rem;padding:0;border-radius:4rem;background:var(--color-background-contrast)}.search-form .search-button.search-button-clear:focus,.search-form .search-button.search-button-clear:hover{background:var(--color-text-content)}.search-form .search-button.search-button-clear i{display:none}.search-form .search-button.search-button-clear:before,.search-form .search-button.search-button-clear:after{content:"";position:absolute;left:20%;top:50%;width:60%;height:2px;margin-top:-1px;border-radius:1px;background:var(--color-background-box)}.search-form .search-button.search-button-clear:before{transform:rotate(-45deg)}.search-form .search-button.search-button-clear:after{transform:rotate(45deg)}.search-result{flex-direction:column;overflow:auto;max-height:80vh}@media only screen and (max-width:640px){.search-result{max-height:75vh}}.search-result .search-result-row{border-bottom:1px solid var(--color-background-contrast)}.search-result .search-result-row:last-child{border:0}.search-result .search-result-row .search-result-row-link{display:block;padding:1rem 2rem;color:inherit;text-decoration:none;transition:all ease-out 0.05s}.search-result .search-result-row .search-result-row-link:hover,.search-result .search-result-row .search-result-row-link:focus{background:var(--color-background-contrast)}.search-result .search-result-row .search-result-row-link .search-result-row-title{font-size:1.2em;line-height:1.2em;font-weight:700;text-indent:-1px;color:var(--color-accent)}.search-result .search-result-row .search-result-row-link .search-result-row-excerpt{margin:.4rem 0 0;font-size:1em;line-height:1.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.popular-wrapper{padding:2rem}.popular-wrapper .popular-title{font-size:1.2em;line-height:1.25em;font-weight:700;text-indent:-1px;color:var(--color-accent);margin-top:0;margin-bottom:10px}.popular-wrapper .popular-tags{display:flex;flex-wrap:wrap;gap:10px;float:none;max-width:none;margin-bottom:0}[dir="rtl"] .search-button{left:0;right:initial}.page-404{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;max-width:100%;padding-top:1.25rem;margin:auto;height:calc(100vh - 6.25rem)}.page-404 .container{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;width:100%;margin:0;padding:0}.page-404 .container .error{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center;align-items:center;width:100%}.page-404 .container .error .title{margin:.938rem .625rem;text-align:center;font-size:5rem;line-height:1.5rem}.page-404 .container .error .text{margin:.938rem .625rem;text-align:center}.page-404 .container .error .button{padding:.938rem .625rem;margin:.938rem .625rem;text-align:center;color:var(--text-content);text-decoration:none;text-transform:uppercase;font-weight:600}.page-404 .container .error .button:hover{color:var(--color-accent)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size);background-color:var(--color-background-body);color:var(--color-text-content)}main{width:720px;max-width:100%;margin:40px auto auto;min-height:calc(100vh - 200px)}.page-data{margin-bottom:40px;text-align:center}.page-data .page-title{font-weight:600;font-size:2rem}.page-data .page-description{color:var(--color-text-content-secondary);margin:5px 0;font-size:1.2rem}.global-tag{text-decoration:none;padding:4px 15px;display:inline-block;background-color:var(--color-tag-bg);color:var(--color-tag-fg);border-radius:20px;font-size:.8rem;font-weight:600}.global-opacity-link{display:inline-block;opacity:1;transition:0.1s opacity,0.1s color}.global-opacity-link:not(.active):hover{opacity:.9;color:var(--color-accent)!important}.global-post-authors{font-size:.85rem}.global-post-authors img,.global-post-authors .avatar-placeholder{width:30px;height:30px;border-radius:50%;vertical-align:middle}.global-post-authors img:not(:first-child),.global-post-authors .avatar-placeholder:not(:first-child){margin-inline-start:-25px}.global-post-authors .avatar-placeholder{display:inline-block;background-color:var(--color-background-contrast)}.global-post-authors span{vertical-align:middle}.global-post-authors .author-names{margin-inline-start:5px;font-weight:600}.global-post-authors .authors .author{margin-inline-end:10px;text-decoration:none;font-weight:600;color:inherit}.global-post-authors .authors .author .author-name{margin-inline-start:3px}.translated-wrapper{font-style:italic}.translated-wrapper a:not([class]){color:var(--color-accent);text-decoration:none;font-weight:600;box-shadow:inset 0 -1px 0 var(--color-accent)}.about-intro{margin:40px auto;max-width:600px;text-align:center}.about-intro img{max-width:100%;border-radius:8px;margin-bottom:20px}.about-intro p{line-height:1.6;color:var(--color-text-content)}.resume-section{padding:4rem 0}.resume-section .container{max-width:1200px;margin:0 auto;padding:0 1rem}.resume-section .resume-wrapper{position:relative;width:100%;height:800px;border-radius:1rem;overflow:hidden;background:var(--color-background-contrast);border:1px solid var(--color-border);box-shadow:0 4px 20px rgb(0 0 0 / .1)}@media (prefers-color-scheme:dark){.resume-section .resume-wrapper{background:rgb(23 25 35 / .95);border-color:rgb(255 255 255 / .1)}}.resume-section .resume-blur{position:absolute;top:0;left:0;width:100%;height:100%;backdrop-filter:blur(10px);background:rgba(var(--color-background-body-rgb),.9);z-index:10;display:flex;align-items:center;justify-content:center;transition:all 0.5s cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme:dark){.resume-section .resume-blur{background:rgb(23 25 35 / .9)}}.resume-section .resume-blur.hidden{opacity:0;visibility:hidden;pointer-events:none}.resume-section .resume-blur .unlock-content{background:#fff;padding:2.5rem;border-radius:1rem;text-align:center;max-width:400px;width:90%;border:1px solid var(--color-border);box-shadow:0 10px 25px rgb(0 0 0 / .1)}@media (prefers-color-scheme:dark){.resume-section .resume-blur .unlock-content{background:rgb(255 255 255 / .1);border-color:rgb(255 255 255 / .1);backdrop-filter:blur(10px)}}.resume-section .resume-blur .unlock-content .lock-icon{font-size:3rem;color:var(--color-accent);margin-bottom:1.5rem}.resume-section .resume-blur .unlock-content h3{color:var(--color-text-content);font-size:1.5rem;margin-bottom:.5rem}.resume-section .resume-blur .unlock-content p{color:var(--color-text-content-secondary);margin-bottom:1.5rem}.resume-section .resume-blur .unlock-content .unlock-form{display:flex;flex-direction:column;gap:1rem}.resume-section .resume-blur .unlock-content .unlock-form input{width:100%;padding:.75rem;background:var(--color-background-contrast);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text-content);font-size:1rem;text-align:center}.resume-section .resume-blur .unlock-content .unlock-form input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-secondary)}.resume-section .resume-blur .unlock-content .unlock-form input::placeholder{color:var(--color-text-content-secondary)}@media (prefers-color-scheme:dark){.resume-section .resume-blur .unlock-content .unlock-form input{background:rgb(255 255 255 / .1);border-color:rgb(255 255 255 / .2)}}.resume-section .resume-blur .unlock-content .unlock-form .error-message{color:#ef4444;font-size:.875rem;min-height:1.25rem}.resume-section .resume-blur .unlock-content .unlock-form .unlock-btn{width:100%;padding:.75rem;background:var(--color-accent);color:#fff;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all 0.2s ease}.resume-section .resume-blur .unlock-content .unlock-form .unlock-btn:hover{transform:translateY(-2px);background:var(--color-accent-hover)}.resume-section .resume-blur .unlock-content .unlock-form .unlock-btn i{margin-right:.5rem}.resume-section .resume-content{width:100%;height:100%}.resume-section .resume-content embed{width:100%;height:100%;border:none;background:#fff0}.hero-section{padding:6rem 0}.hero-section .container{max-width:1200px;margin:0 auto;padding:0 1rem}.hero-section .hero-content{text-align:center}.hero-section .hero-content h1{font-size:3.5rem;margin-bottom:1rem;color:var(--color-text-content)}.hero-section .hero-content .title{font-size:1.5rem;color:var(--color-text-content-secondary);max-width:800px;margin:0 auto 2rem}.hero-section .hero-content .cta-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.hero-section .hero-content .cta-buttons .primary-btn,.hero-section .hero-content .cta-buttons .secondary-btn{display:inline-flex;align-items:center;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:transform 0.2s}.hero-section .hero-content .cta-buttons .primary-btn i,.hero-section .hero-content .cta-buttons .secondary-btn i{margin-right:.5rem}.hero-section .hero-content .cta-buttons .primary-btn:hover,.hero-section .hero-content .cta-buttons .secondary-btn:hover{transform:translateY(-2px)}.hero-section .hero-content .cta-buttons .primary-btn{background:var(--color-accent);color:#fff}.hero-section .hero-content .cta-buttons .secondary-btn{border:2px solid var(--color-accent);color:var(--color-accent)}.featured-content{padding:60px 0}.featured-content .container{max-width:1200px;margin:0 auto;padding:0 20px}.featured-content .projects-grid h2{font-size:1.8rem;margin-bottom:30px;color:var(--color-text-content);text-align:center}.featured-content .projects-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.featured-content .projects-list .project-card{background:var(--color-background-contrast);padding:25px;border-radius:8px;box-shadow:0 2px 4px rgb(0 0 0 / .1);transition:transform 0.3s ease}.featured-content .projects-list .project-card:hover{transform:translateY(-5px)}.featured-content .projects-list .project-card h3{font-size:1.4rem;margin-bottom:15px;color:var(--color-text-content)}.featured-content .projects-list .project-card p{color:var(--color-text-content-secondary);margin-bottom:20px;line-height:1.6}.featured-content .projects-list .project-card .project-link{display:inline-block;color:var(--color-accent);text-decoration:none;font-weight:600;padding:5px 0;border-bottom:2px solid #fff0;transition:border-color 0.3s ease}.featured-content .projects-list .project-card .project-link:hover{border-color:var(--color-accent)}@media (max-width:768px){.hero-section{padding:4rem 0}.hero-section h1{font-size:2.5rem}.hero-section .title{font-size:1.2rem}.featured-content{padding:40px 0}}.site-header .site-nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}.site-header .site-nav .nav-link{color:var(--color-text-content);text-decoration:none;font-weight:500;padding:5px 0;position:relative}.site-header .site-nav .nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform 0.3s ease}.site-header .site-nav .nav-link:hover:after,.site-header .site-nav .nav-link.active:after{transform:scaleX(1)}:root{--primary-color:#2563eb;--secondary-color:#3b82f6;--text-primary:#1f2937;--text-secondary:#4b5563;--background-light:#f3f4f6;--card-background:#ffffff;--border-color:#e5e7eb}.tools-section{padding:4rem 0}.tools-section .container{max-width:1200px;margin:0 auto;padding:0 1rem}.tools-section .tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.tools-section .tool-category .category-header{display:flex;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-accent)}.tools-section .tool-category .category-header i{font-size:1.5rem;color:var(--color-accent);margin-right:1rem}.tools-section .tool-category .category-header h3{font-size:1.25rem;font-weight:600;color:var(--color-text-content)}.tools-section .tool-category .tools-list{display:flex;flex-direction:column;gap:1rem}.tools-section .tool-category .tool-item{display:flex;align-items:center;padding:1rem;border:1px solid var(--color-border);border-radius:.5rem;text-decoration:none;transition:all 0.3s ease}.tools-section .tool-category .tool-item:hover{transform:translateX(5px);border-color:var(--color-accent)}.tools-section .tool-category .tool-item .tool-icon{width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border-radius:8px;margin-right:1rem}.tools-section .tool-category .tool-item .tool-icon i{font-size:1.25rem;color:#fff}.tools-section .tool-category .tool-item .tool-info{flex:1}.tools-section .tool-category .tool-item .tool-info h4{font-size:1rem;font-weight:500;color:var(--color-text-content);margin-bottom:.25rem}.tools-section .tool-category .tool-item .tool-info p{font-size:.875rem;color:var(--color-text-content-secondary);line-height:1.4}.password-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .5);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all 0.3s ease;z-index:1000}.password-modal.show{opacity:1;visibility:visible}.password-modal .modal-content{background:#fff;border:1px solid #e5e7eb;padding:2.5rem;border-radius:1rem;width:90%;max-width:400px;position:relative;transform:translateY(20px);transition:transform 0.3s ease;text-align:center;box-shadow:0 10px 25px rgb(0 0 0 / .1)}@media (prefers-color-scheme:dark){.password-modal .modal-content{background:rgb(23 25 35 / .95);border-color:rgb(255 255 255 / .1)}}.password-modal .modal-content .close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280}.password-modal .modal-content .close-btn:hover{color:#111827}@media (prefers-color-scheme:dark){.password-modal .modal-content .close-btn{color:#9ca3af}.password-modal .modal-content .close-btn:hover{color:#fff}}.password-modal .modal-content .lock-icon{font-size:2.5rem;color:var(--color-accent);margin-bottom:1.5rem}.password-modal .modal-content h3{color:#111827;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}@media (prefers-color-scheme:dark){.password-modal .modal-content h3{color:#fff}}.password-modal .modal-content form{display:flex;flex-direction:column;gap:1rem}.password-modal .modal-content input{width:100%;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;color:#111827;transition:all 0.2s ease}.password-modal .modal-content input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.1)}.password-modal .modal-content input::placeholder{color:#9ca3af}@media (prefers-color-scheme:dark){.password-modal .modal-content input{background:rgb(255 255 255 / .1);border-color:rgb(255 255 255 / .2);color:#fff}.password-modal .modal-content input::placeholder{color:rgb(255 255 255 / .5)}}.password-modal .modal-content .error-message{color:#ef4444;font-size:.875rem;min-height:1.25rem;margin-top:-.5rem}.password-modal .modal-content .submit-btn{width:100%;padding:.75rem;background:var(--color-accent);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.password-modal .modal-content .submit-btn:hover{transform:translateY(-2px);background:var(--color-accent-hover)}.password-modal .modal-content .submit-btn i{font-size:1rem}.password-modal.show .modal-content{transform:translateY(0)}.password-modal{cursor:pointer}.password-modal .modal-content{cursor:default}.resume-blur:not(.hidden){opacity:1;visibility:visible;pointer-events:auto}.blogs-section,.blog-page{padding:6rem 0;background:var(--color-background-body)}.blogs-section .container,.blog-page .container{max-width:1200px;margin:0 auto;padding:0 1rem}.blogs-section h1,.blogs-section h2,.blog-page h1,.blog-page h2{text-align:center;margin-bottom:3rem;font-size:2rem;color:var(--color-text-content)}.blogs-section .blogs-grid,.blog-page .blogs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.blogs-section .blog-card,.blog-page .blog-card{background:var(--color-background-contrast);border:1px solid var(--color-border);border-radius:1rem;overflow:hidden;transition:transform 0.3s ease,box-shadow 0.3s ease}.blogs-section .blog-card:hover,.blog-page .blog-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgb(0 0 0 / .1)}.blogs-section .blog-card .blog-image,.blog-page .blog-card .blog-image{width:100%;height:200px;overflow:hidden}.blogs-section .blog-card .blog-image img,.blog-page .blog-card .blog-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.blogs-section .blog-card:hover .blog-image img,.blog-page .blog-card:hover .blog-image img{transform:scale(1.05)}.blogs-section .blog-card .blog-content,.blog-page .blog-card .blog-content{padding:1.5rem}.blogs-section .blog-card .blog-meta,.blog-page .blog-card .blog-meta{display:flex;gap:1rem;font-size:.875rem;color:var(--color-text-content-secondary);margin-bottom:.75rem}.blogs-section .blog-card .blog-meta .date,.blogs-section .blog-card .blog-meta .reading-time,.blog-page .blog-card .blog-meta .date,.blog-page .blog-card .blog-meta .reading-time{display:flex;align-items:center;gap:.25rem}.blogs-section .blog-card h3,.blog-page .blog-card h3{font-size:1.25rem;color:var(--color-text-content);margin-bottom:.75rem;line-height:1.4}.blogs-section .blog-card p,.blog-page .blog-card p{color:var(--color-text-content-secondary);margin-bottom:1.5rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blogs-section .blog-card .read-more,.blog-page .blog-card .read-more{color:var(--color-accent);text-decoration:none;display:flex;align-items:center;gap:.5rem;font-weight:500;transition:gap 0.3s ease}.blogs-section .blog-card .read-more:hover,.blog-page .blog-card .read-more:hover{gap:.75rem}.blogs-section .view-all,.blog-page .view-all{text-align:center;margin-top:3rem}.blogs-section .view-all .view-all-button,.blog-page .view-all .view-all-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:var(--color-accent);color:#fff;text-decoration:none;border-radius:.5rem;font-weight:500;transition:all 0.3s ease}.blogs-section .view-all .view-all-button:hover,.blog-page .view-all .view-all-button:hover{transform:translateY(-2px);background:var(--color-accent-hover);gap:.75rem}.blogs-section .view-all .view-all-button i,.blog-page .view-all .view-all-button i{font-size:.875rem}@media (max-width:768px){.blogs-section .blogs-grid,.blog-page .blogs-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:480px){.blogs-section,.blog-page{padding:4rem 0}.blogs-section h1,.blogs-section h2,.blog-page h1,.blog-page h2{font-size:1.75rem}.blogs-section .blog-card .blog-image,.blog-page .blog-card .blog-image{height:180px}}.page-data{text-align:center;padding:4rem 0;background:var(--color-background-body)}.page-data .page-title{font-size:2.5rem;font-weight:700;color:var(--color-text-content);margin-bottom:1rem}.page-data .page-description{font-size:1.125rem;color:var(--color-text-content-secondary);max-width:700px;margin:0 auto;line-height:1.6}.blogs-section{padding:6rem 0;background:var(--color-background)}.blogs-section .container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.blogs-section h2{text-align:center;margin-bottom:3rem;font-size:2rem;font-weight:700;color:var(--color-text)}.blogs-section .posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.blogs-section .post-card{background:var(--color-card);border-radius:1rem;overflow:hidden;transition:transform 0.3s ease,box-shadow 0.3s ease;border:1px solid var(--color-border)}.blogs-section .post-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgb(0 0 0 / .1)}.blogs-section .post-card .post-image{display:block;width:100%;height:200px;overflow:hidden}.blogs-section .post-card .post-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.blogs-section .post-card .post-image:hover img{transform:scale(1.05)}.blogs-section .post-card .post-content{padding:1.5rem}.blogs-section .post-card .post-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.blogs-section .post-card .post-tags .tag{font-size:.75rem;padding:.25rem .75rem;background:var(--color-accent);color:#fff;border-radius:1rem;text-decoration:none}.blogs-section .post-card .post-tags .tag:hover{background:var(--color-accent-hover)}.blogs-section .post-card .post-title{font-size:1.25rem;margin-bottom:.75rem;line-height:1.4}.blogs-section .post-card .post-title a{color:var(--color-text);text-decoration:none}.blogs-section .post-card .post-title a:hover{color:var(--color-accent)}.blogs-section .post-card .post-excerpt{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blogs-section .post-card .post-meta{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--color-text-secondary);flex-wrap:wrap}.blogs-section .post-card .post-meta .author{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-text)}.blogs-section .post-card .post-meta .author .author-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.blogs-section .post-card .post-meta .author:hover{color:var(--color-accent)}.blogs-section .post-card .post-meta .date{display:flex;align-items:center;gap:.25rem}.blogs-section .view-all{text-align:center}.blogs-section .view-all .view-all-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:var(--color-accent);color:#fff;text-decoration:none;border-radius:.5rem;font-weight:500;transition:all 0.3s ease}.blogs-section .view-all .view-all-button:hover{transform:translateY(-2px);background:var(--color-accent-hover);gap:.75rem}@media (max-width:768px){.blogs-section .posts-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:480px){.blogs-section{padding:4rem 0}.blogs-section h2{font-size:1.75rem}.blogs-section .posts-grid{grid-template-columns:1fr}.blogs-section .post-card .post-image{height:180px}}.blog-listing{padding:4rem 0}.blog-listing .container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.blog-listing .pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:3rem}.blog-listing .pagination a{padding:.5rem 1rem;background:var(--color-accent);color:#fff;text-decoration:none;border-radius:.5rem;transition:all 0.2s ease}.blog-listing .pagination a:hover{background:var(--color-accent-hover);transform:translateY(-2px)}.blog-listing .pagination .current{color:var(--color-text-secondary)}