.grid-center{align-items:center;display:flex}#root,.root-layout{height:100vh;height:100dvh}.root-layout{display:flex;flex-direction:column;overflow:hidden}.root-layout header{border-bottom:1px solid #1e2d3d;flex-shrink:0}.root-layout header nav{color:#6e8aa3;display:flex;font-size:1rem;height:3.5119rem;width:100%}.root-layout header nav .brand{color:#6e8aa3;flex-shrink:0;padding-left:1.38rem;width:19.4rem}.root-layout header nav .las{border-left:1px solid #1e2d3d;color:#6e8aa3;margin-left:auto;padding:0 1.5rem;text-decoration:none;white-space:nowrap}.root-layout header nav .las:hover{color:#fff}.root-layout header nav>.active{border-bottom:.1875rem solid #fea55f;color:#fff}.root-layout header nav .sec{border-left:1px solid #1e2d3d;border-right:1px solid #1e2d3d;display:flex}.root-layout header nav .sec .navL{color:#6e8aa3;font-size:1rem;font-style:normal;font-weight:300;height:100%;line-height:normal;padding:0 1.92rem 0 2rem;text-decoration:none;white-space:nowrap}.root-layout header nav .sec .navL:hover{color:#fff}.root-layout header nav .sec .navLS{border-left:1px solid #1e2d3d;border-right:1px solid #1e2d3d}.root-layout header nav .sec .active{border-bottom:.1875rem solid #fea55f;color:#fff}.root-layout .main-from-RL{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.root-layout footer{border-top:1px solid #1e2d3d;color:#6e8aa3;flex-shrink:0;width:100%}.root-layout footer ul{align-items:center;display:flex;font-size:1rem;height:3.10888rem;list-style:none}.root-layout footer ul .Fli{align-items:center;border-right:1px solid #1e2d3d;color:#6e8aa3;cursor:default;display:flex;font-size:1rem;font-weight:450;height:100%;padding-left:1.38rem;padding-right:1.12rem}.root-layout footer ul .Sli,.root-layout footer ul .Tli{border-right:1px solid #1e2d3d;cursor:pointer;font-size:24px;height:100%;padding:0 .88rem}.root-layout footer ul .Sli a,.root-layout footer ul .Tli a{align-items:center;color:inherit;display:flex;height:100%;text-decoration:none}.root-layout footer ul .Sli a:hover,.root-layout footer ul .Tli a:hover{color:#fff}.root-layout footer ul .Lli{border-left:1px solid #1e2d3d;height:100%;margin-left:auto}.root-layout footer ul .Lli a{align-items:center;color:inherit;display:flex;font-size:1rem;gap:.31rem;height:100%;padding-left:1.44rem;padding-right:1.38rem;text-decoration:none}.root-layout footer ul .Lli a:hover{color:#fff}.root-layout footer ul .Lli svg{margin-left:.31rem}.main-home-page{display:flex;flex:1 1;min-height:0;overflow:auto;padding:2rem;width:100%}.main-home-page .container{align-items:center;display:flex;gap:3rem;height:29.6875rem;justify-content:space-around;margin:auto;width:min(100%,72.5rem)}.main-home-page .game-side{border-radius:.5rem;flex-shrink:0;height:29.6875rem;overflow:hidden;width:31.875rem}.main-home-page .text-side>div:first-child{margin-bottom:5.7rem}.main-home-page .text-side>div:first-child>p{color:#e5e9f0;font-size:1rem;font-style:normal;font-weight:200;height:1.5rem;line-height:normal;margin-bottom:-.7rem}.main-home-page .text-side>div:first-child>h1{color:#e5e9f0;font-size:3.875rem;font-style:normal;font-weight:400;height:5rem;line-height:normal}.main-home-page .text-side>div:first-child>h2{color:#4d5bce;font-size:2rem;font-style:normal;font-weight:300;letter-spacing:-1px;line-height:normal;margin-top:-1rem}.main-home-page .text-side>div:first-child>.tech-line{color:#43d9ad;font-size:.85rem;height:auto;letter-spacing:.02em;margin-bottom:0;margin-top:1.2rem}.main-home-page .text-side>div:last-child>p{color:#6e8aa3;font-size:1rem;font-style:normal;font-weight:250;line-height:normal;margin-bottom:.5rem}.main-home-page .text-side>div:last-child>p:last-child>span:first-child{color:#7a86e0}.main-home-page .text-side>div:last-child>p:last-child>span:nth-child(2){color:#43d9ad}.main-home-page .text-side>div:last-child>p:last-child>span:nth-child(3){color:#fff}.main-home-page .text-side>div:last-child>p:last-child>.l-part{color:#e99287;text-decoration-line:underline}.main-home-page .text-side>div:last-child>p:last-child>.l-part a{color:inherit;text-decoration:none}.main-home-page .text-side>div:last-child>p:last-child>.l-part a:hover{color:#fff}.game-container{background:linear-gradient(150deg,#175553b3 1.7%,#43d9ad17 81.82%);border:1px solid #0c1616;border-radius:.5rem;box-shadow:inset 0 0 15px 16px #0000001a;height:29.6875rem;overflow:visible;position:relative;width:31.875rem}.game-container .shadow-container>svg:first-child{fill:#43d9ad;bottom:0;filter:blur(100px);height:40.6875rem;pointer-events:none;position:absolute;right:0;width:40.875rem}.game-container .shadow-container>svg:last-child{fill:#4d5bce;bottom:-15rem;filter:blur(100px);height:40.6875rem;pointer-events:none;position:absolute;right:-10rem;transform:rotate(13.508deg);width:40.875rem}.game-container .bolts{height:100%;pointer-events:none;position:absolute;width:100%}.game-container .bolts>svg{flex-shrink:0;height:1.3rem;position:absolute;width:1.3rem}.game-container .bolts svg:first-child{left:.8rem;top:.76rem}.game-container .bolts svg:nth-child(2){right:.8rem;top:.76rem}.game-container .bolts svg:nth-child(3){bottom:.76rem;left:.8rem}.game-container .bolts svg:last-child{bottom:.76rem;right:.8rem}.game-container .game-content{align-items:center;border-radius:.5rem;box-shadow:inset 1px 5px 11px 0 #02121bb5;display:flex;height:100%;position:relative;width:100%}.game-container .game-content>.text{align-self:flex-start;margin-right:2.21rem;margin-top:2.19rem}.game-container .game-content>.text>.upper-part{background:#01142330;border-radius:.5rem;flex-shrink:0;height:8.875rem;padding:.89rem .76rem .78rem .82rem;width:11.33638rem}.game-container .game-content>.text>.upper-part>div:first-child{color:#fff;font-size:.875rem;font-style:normal;font-weight:300;line-height:normal;margin-bottom:.97rem}.game-container .game-content>.text>.upper-part>div:last-child{display:flex;flex-wrap:wrap;justify-content:center}.game-container .game-content>.text>.upper-part>div:last-child svg:first-child{flex-basis:100%}.game-container .game-content>.text>.down-part{display:flex;flex-direction:column;margin-left:.82rem;margin-top:1.29rem;width:11.33638rem}.game-container .game-content>.text>.down-part>p{color:#fff;font-size:.875rem;font-style:normal;font-weight:450;line-height:normal;margin-bottom:.86rem}.skip-link{align-items:center;background-color:#0000;border:1px solid #fff;border-radius:.5rem;color:#fff;display:inline-flex;font-size:.875rem;font-weight:450;justify-content:center;padding:.625rem .875rem;text-decoration:none;transition:background-color .2s,color .2s;width:4rem}.skip-link:hover{background-color:#fff;color:#01080e}.snake-content{align-items:center;background:#011627d6;border-radius:.5rem;box-shadow:inset 1px 5px 11px 0 #02121bb5;display:flex;flex-direction:column;height:25.3325rem;justify-content:center;margin-left:1.89rem;margin-right:1.52rem;position:relative;width:14.91819rem}.snake-content .snake{margin-bottom:4.17rem;margin-top:3.31rem}.snake-content .snake>svg:first-child{left:5.15rem;position:absolute;top:3.31rem}.snake-content .snake>svg:last-child{left:6.16rem;position:absolute;top:5.71rem}.snake-content .btn{background:#fea55f;border:none;border-radius:.5rem;color:#01080e;cursor:pointer;font-size:.875rem;font-weight:350;height:2.375rem;line-height:normal;padding:.625rem .875rem;text-align:right}.snake-content #upper-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.snake-content #canvas{border-radius:.5rem}.about-container{display:flex;flex:1 1;min-height:0;width:100%}.about-container>.bar-side{border-right:1px solid #1e2d3d;display:flex;flex-shrink:0;height:100%;width:4.25rem}.about-container>.bar-side>ul{display:flex;flex-direction:column;gap:2.08rem;list-style:none;margin-left:1.5rem;margin-top:1.9rem}.about-container>.bar-side>ul>li>a{display:flex}.about-container>.bar-side>ul>li>a>svg{height:1.5rem;opacity:.4;transition:opacity .2s;width:1.5rem}.about-container>.bar-side>ul>li>a.active>svg,.about-container>.bar-side>ul>li>a:hover>svg{opacity:1}.about-container>.content-side{display:flex;flex:1 1;min-width:0}.explorer-container{display:flex;height:100%;min-height:0;width:100%}.explorer-container .explorer-sidebar{border-right:1px solid #1e2d3d;color:#fff;display:flex;flex-direction:column;flex-shrink:0;font-size:1rem;overflow-y:auto;width:15.19rem}.explorer-container .explorer-group{border-bottom:1px solid #1e2d3d;padding-bottom:.7rem}.explorer-container .explorer-title{align-items:center;background:#0000;border:none;border-bottom:1px solid #1e2d3d;color:#fff;cursor:pointer;display:flex;font:inherit;gap:.69rem;height:2.54rem;padding:0 .91rem;text-align:left;width:100%}.explorer-container .explorer-title:hover{color:#43d9ad}.explorer-container .category-list{list-style:none;padding-top:.4rem}.explorer-container .category-row{align-items:center;background:#0000;border:none;color:#6e8aa3;cursor:pointer;display:flex;font:inherit;gap:.56rem;padding:.4rem .91rem .4rem 1.5rem;text-align:left;width:100%}.explorer-container .category-row:hover{color:#fff}.explorer-container .branch-list{list-style:none}.explorer-container .branch-list li{align-items:center;display:flex;gap:.5rem;padding:.35rem .91rem .35rem 3.3rem}.explorer-container .branch-list li svg{flex-shrink:0}.explorer-container .branch-list li a{color:#6e8aa3;font-size:.85rem;text-decoration:none}.explorer-container .branch-list li a.active,.explorer-container .branch-list li a:hover{color:#43d9ad}.explorer-container .contact-list{list-style:none;padding:.8rem .91rem 0}.explorer-container .contact-list li{align-items:center;display:flex;font-size:.8rem;gap:.56rem;margin-bottom:.5rem}.explorer-container .contact-list li svg{flex-shrink:0}.explorer-container .contact-list li a{color:#6e8aa3;text-decoration:none;word-break:break-all}.explorer-container .contact-list li a:hover{color:#fff}.explorer-container .file-view{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0}.explorer-container .file-view__tabs{align-items:center;border-bottom:1px solid #1e2d3d;display:flex;flex-shrink:0;height:2.54rem;padding-left:.5rem}.explorer-container .file-view__tab{align-items:center;border-right:1px solid #1e2d3d;color:#fff;display:flex;font-size:.85rem;font-weight:400;gap:.5rem;height:100%;padding:0 1rem}.explorer-container .file-view__tab svg{flex-shrink:0}.explorer-container .file-view__body{flex:1 1;min-height:0;overflow:auto}.file-content{color:#6e8aa3;font-size:.95rem;line-height:1.75;max-width:62rem;padding:2.5rem 3rem 4rem}.file-content .code-comment{color:#6e8aa3;margin-bottom:.25rem}.file-content .code-block{color:#e5e9f0;margin:1.2rem 0 1.8rem}.file-content .code-block p{line-height:1.9}.file-content .code-indent{padding-left:1.6rem}.file-content .tok-kw{color:#7a86e0}.file-content .tok-var{color:#43d9ad}.file-content .tok-key{color:#e5e9f0}.file-content .tok-str{color:#e99287}.bio-layout{grid-gap:2.2rem;align-items:start;display:grid;gap:2.2rem;grid-template-columns:minmax(0,1fr) 13.5rem}.bio-text{min-width:0}.bio-photo{background:#011221;border:1px solid #1e2d3d;border-radius:.6rem;box-shadow:0 0 2.5rem #43d9ad1f;margin:0;padding:.5rem .5rem .35rem;transition:border-color .2s}.bio-photo img{border-radius:.35rem;display:block;height:auto;width:100%}.bio-photo figcaption{color:#6e8aa3;font-size:.7rem;margin-top:.45rem;text-align:center}.bio-photo:hover{border-color:#43d9ad8c}.lead-text{color:#e5e9f0;line-height:1.7;margin-bottom:1.4rem;max-width:46rem}.info-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.action-link{align-items:center;background:#fea55f;border-radius:.4rem;color:#01080e;display:inline-flex;font-size:.9rem;padding:.6rem 1rem;text-decoration:none}.action-link:hover{filter:brightness(1.08)}.action-link--ghost{background:#0000;border:1px solid #1e2d3d;color:#e5e9f0}.action-link--ghost:hover{border-color:#43d9ad;color:#43d9ad;filter:none}.card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin-top:1.5rem}.info-card{background:#011221;border:1px solid #1e2d3d;border-radius:.5rem;padding:1.1rem 1.2rem}.info-card h2{color:#e5e9f0;font-size:1rem;font-weight:500;margin-bottom:.4rem}.info-card p{font-size:.85rem;line-height:1.6}.info-card:hover{border-color:#43d9ad80}.timeline{display:flex;flex-direction:column;gap:1rem;margin-top:1.4rem}.timeline-card{background:#011221;border:1px solid #1e2d3d;border-left:3px solid #43d9ad;border-radius:.5rem;padding:1.1rem 1.3rem}.timeline-card header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.timeline-card h2{color:#e5e9f0;font-size:1rem;font-weight:500}.timeline-card .timeline-period{color:#fea55f;font-size:.78rem}.timeline-card .timeline-place{color:#6e8aa3;font-size:.8rem;margin:.2rem 0 .7rem}.timeline-card ul{padding-left:1.1rem}.timeline-card ul li{font-size:.85rem;margin-bottom:.3rem}.skills{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.6rem;max-width:40rem}.skill__head{color:#e5e9f0;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.45rem}.skill__value{color:#43d9ad}.skill__bar{background:#011221;border:1px solid #1e2d3d;border-radius:999px;height:.45rem;overflow:hidden}.skill__bar span{background:linear-gradient(90deg,#4d5bce,#43d9ad);border-radius:999px;display:block;height:100%}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin-top:1.2rem}.tag{background:#011221;border:1px solid #1e2d3d;border-radius:.3rem;color:#6e8aa3;font-size:.75rem;padding:.25rem .6rem}.book-list{display:flex;flex-direction:column;gap:1rem;list-style:none;margin-top:1.4rem}.book-list li{background:#011221;border:1px solid #1e2d3d;border-radius:.5rem;padding:1rem 1.1rem}.book-list h2{color:#e5e9f0;font-size:.95rem;font-weight:500}.book-list .book-author{color:#fea55f;font-size:.8rem;margin:.15rem 0 .4rem}.book-list p{font-size:.85rem}.contact-page,.projects-page{flex:1 1;margin:0 auto;max-width:80rem;overflow-y:auto;padding:3rem 4rem 4rem;width:100%}.page-header{margin-bottom:2.5rem;max-width:44rem}.page-header h1{color:#e5e9f0;font-size:2.2rem;font-weight:500;margin:.4rem 0 .8rem}.page-subtitle{color:#6e8aa3;line-height:1.7}.page-header .code-comment{color:#43d9ad;font-size:.9rem}.projects-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}.project-card{background:#011221;border:1px solid #1e2d3d;border-radius:.6rem;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.project-card:hover{border-color:#43d9ad8c;box-shadow:0 1rem 2.5rem #01080e73;transform:translateY(-3px)}.project-card__body{display:flex;flex:1 1;flex-direction:column;padding:1.2rem 1.4rem 1.4rem}.project-card__top{align-items:center;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:.9rem}.project-card h2{color:#e5e9f0;font-size:1.15rem;font-weight:500;margin-bottom:.5rem}.project-card p{color:#6e8aa3;flex:1 1;font-size:.85rem;line-height:1.65}.project-card .tag-list{margin-top:1.1rem}.project-thumb{aspect-ratio:16/10;background:#01080e;border-bottom:1px solid #1e2d3d;display:block;overflow:hidden;position:relative}.project-thumb img{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.project-thumb__cta{align-items:center;background:linear-gradient(0deg,#01080eeb,#01080e00);bottom:0;color:#43d9ad;display:flex;font-size:.75rem;gap:.35rem;left:0;opacity:0;padding:1.8rem .85rem .6rem;position:absolute;right:0;transform:translateY(.35rem);transition:opacity .2s,transform .2s}.project-thumb:focus-visible img,.project-thumb:hover img{transform:scale(1.04)}.project-thumb:focus-visible .project-thumb__cta,.project-thumb:hover .project-thumb__cta{opacity:1;transform:translateY(0)}.project-domain{color:#43d9ad;font-size:.72rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-links{display:flex;flex-shrink:0;gap:.8rem}.project-links a{align-items:center;color:#6e8aa3;display:inline-flex;font-size:.75rem;gap:.3rem;text-decoration:none}.project-links a:hover{color:#43d9ad}.page-footer-note{color:#6e8aa3;font-size:.9rem;margin-top:2.5rem}.page-footer-note a{color:#fea55f}.contact-grid{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:minmax(16rem,22rem) 1fr}.contact-info ul{display:flex;flex-direction:column;gap:1rem;list-style:none}.contact-info li{align-items:center;background:#011221;border:1px solid #1e2d3d;border-radius:.5rem;display:flex;gap:.9rem;padding:1rem 1.1rem}.contact-info a,.contact-info>div>span:not(.contact-label){color:#e5e9f0;font-size:.9rem;text-decoration:none;word-break:break-all}.contact-info a:hover{color:#43d9ad}.contact-icon{background:#43d9ad1a;border-radius:.4rem;color:#43d9ad;display:grid;flex-shrink:0;font-size:1.1rem;height:2.2rem;place-items:center;width:2.2rem}.contact-label{color:#6e8aa3;display:block;font-size:.7rem;letter-spacing:.06em;margin-bottom:.15rem;text-transform:uppercase}.contact-form{background:#011221;border:1px solid #1e2d3d;border-radius:.6rem;gap:1rem;padding:1.6rem}.contact-form,.contact-form label{display:flex;flex-direction:column}.contact-form label{gap:.4rem}.contact-form label span{color:#6e8aa3;font-size:.78rem}.contact-form input,.contact-form textarea{background:#01080e;border:1px solid #1e2d3d;border-radius:.4rem;color:#e5e9f0;font-size:.85rem;padding:.7rem .8rem;resize:vertical;transition:border-color .2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#6e8aa3bf}.contact-form input:focus,.contact-form textarea:focus{border-color:#43d9ad;outline:none}.contact-form button{align-self:flex-start;background:#fea55f;border:none;border-radius:.4rem;color:#01080e;cursor:pointer;font-size:.85rem;margin-top:.4rem;padding:.65rem 1.2rem;transition:filter .2s}.contact-form button:hover{filter:brightness(1.08)}.form-note{color:#43d9ad;font-size:.8rem}@media(max-width:1100px){.main-home-page .container{gap:2rem}.contact-page,.projects-page{padding:2.5rem 2rem 3rem}}@media(max-width:900px){.root-layout header nav{font-size:.9rem;height:3rem}.root-layout header nav .brand{padding-right:1rem;width:auto}.root-layout header nav .sec{overflow-x:auto}.root-layout header nav .las,.root-layout header nav .sec .navL{padding:0 1rem}.main-home-page{padding:2rem 1rem}.main-home-page .container{flex-direction:column;gap:2.5rem;height:auto;width:100%}.main-home-page .text-side{max-width:32rem;width:100%}.about-container{flex-direction:column;overflow-y:auto}.about-container>.bar-side{border-bottom:1px solid #1e2d3d;border-right:none;height:3.5rem;width:100%}.about-container>.bar-side>ul{align-items:center;flex-direction:row;gap:1.5rem;height:100%;margin:0 0 0 1.2rem}.about-container>.content-side{min-height:0}.explorer-container{flex-direction:column;height:auto;min-height:100%}.explorer-container .explorer-sidebar{border-bottom:1px solid #1e2d3d;border-right:none;max-height:45vh;width:100%}.explorer-container .file-view{min-height:24rem}.explorer-container .file-view__body{overflow:visible}.file-content{padding:1.5rem 1.2rem 3rem}.bio-layout{gap:1.5rem;grid-template-columns:1fr}.bio-photo{justify-self:center;order:-1;width:min(100%,15rem)}.contact-grid{grid-template-columns:1fr}}@media(max-width:620px){.root-layout header nav .brand{display:none}.main-home-page{padding:1.5rem 1rem}.explorer-container .file-view__tab{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.root-layout footer ul .Fli{display:none}.main-home-page .text-side>div:first-child>h1{font-size:2.4rem;height:auto}.main-home-page .text-side>div:first-child>h2{font-size:1.4rem}.main-home-page .game-side{display:flex;height:19rem;justify-content:center;width:100%}.main-home-page .game-side .game-container{flex-shrink:0;transform:scale(.62);transform-origin:top center}.contact-page,.projects-page{padding:1.5rem 1.2rem 2.5rem}.page-header h1{font-size:1.7rem}.projects-grid{grid-template-columns:1fr}}@media(max-width:380px){.main-home-page .game-side{height:17rem}.main-home-page .game-side .game-container{transform:scale(.55)}}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#011627;color:#e5e9f0;font-family:Fira Code,ui-monospace,SFMono-Regular,Menlo,monospace;width:100%}a{color:inherit}button,input,textarea{font:inherit}:focus-visible{outline:2px solid #fea55f;outline-offset:2px}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#01080e}::-webkit-scrollbar-thumb{background:#1e2d3d;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#6e8aa3}
/*# sourceMappingURL=main.c04e7ecb.css.map*/