@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap";.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg-colour-light: #f5f5f5;--bg-colour-light-shade:#ececec;--bg-colour: #1c2127;--bg-colour-shade: #171a20;--highlight: #ffabff;--purplight: #9636bf}::selection{background-color:var(--highlight);color:#fff}html.light{background-color:#e9e9e9;color:var(--bg-colour);transition:cubic-bezier(.075,.82,.165,1) .5s}.light body{color:var(--bg-colour);transition:ease-in-out .5s}.light p a{color:var(--purplight)}p a{color:var(--highlight)}hr{border:0;height:1px;background:#72718a;margin:1rem 0}.light footer p,.light footer a{color:var(--bg-colour)}.light .nav-links a,.light .alt-links a{color:var(--bg-colour)}.light .nav-links a:hover,.light .nav-links a:focus,.light .alt-links a:hover,.light .alt-links a:focus .light footer a:hover,.light footer a:focus{color:var(--purplight)}html{background-color:var(--bg-colour);font-family:serif;transition:cubic-bezier(.075,.82,.165,1) .5s}body{margin:0 auto;color:var(--bg-colour-light);width:100%;max-width:100ch;padding:1rem;line-height:1.15;display:flex;flex-direction:column;min-height:100vh;font-family:Source Code Pro Variable,monospace}*{box-sizing:border-box}h1{margin:0;font-size:4rem}footer a,footer p{text-decoration:none;color:#fff;user-select:none;display:inline-block;vertical-align:top}footer{margin-top:auto;border-radius:18px;background-color:var(--bg-colour-shade)}.light footer{background-color:var(--bg-colour-light)}footer .footlinks{display:flex;flex-direction:unset;margin-top:auto;justify-content:space-between;padding:0 5%;align-items:center;user-select:none}footer a:hover,footer a:focus{color:var(--highlight)}footer p.kawaii{font-size:.95rem;color:#72718a}@media screen and (max-width: 725px){.text{position:absolute;justify-self:center;top:40%;left:5%}footer center{display:none}footer .footlinks .icons{display:none}footer .footlinks{justify-content:center}}.nav-parent{background-color:var(--bg-colour-shade);display:flex;justify-content:space-between;user-select:none;max-height:64px;border-radius:18px}.light .nav-parent{background-color:var(--bg-colour-light)}.nav-links,.alt-links{width:100%;top:5rem;left:4px;display:none;margin:0;user-select:none}.nav-links a,.alt-links a{display:inline;justify-content:space-between;text-decoration:none;color:#fff;position:relative;user-select:none;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px #0000;-webkit-transition-duration:.5s;transition-duration:.5s}.nav-parent .logo{font-size:3rem;text-decoration:none;color:#fff;align-self:center;user-select:none;margin:0 20px}.light .logo{filter:hue-rotate(340deg)}.light .logo:hover{filter:hue-rotate(0deg)}.logo:hover{filter:hue-rotate(340deg)}.nav-links a:hover,.nav-links a:focus,.alt-links a:hover,.alt-links a:focus{color:var(--highlight);animation:bounce .5s;-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-transition-timing-function:cubic-bezier(.47,2.02,.31,-.36);transition-timing-function:cubic-bezier(.47,2.02,.31,-.36)}.expanded{display:inline-block;width:8%;justify-content:space-evenly}.hi{margin:0;background:none;font-size:200px;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}#menu__toggle{opacity:0}#menu__toggle:checked~.menu__btn>span{transform:rotate(-45deg)}#menu__toggle:checked~.menu__btn>span:before{top:0;transform:rotate(0)}#menu__toggle:checked~.menu__btn>span:after{top:0;transform:rotate(-90deg)}#menu__toggle:checked~.menu__box{visibility:visible;right:0}.menu__btn{display:flex;align-items:center;position:fixed;top:48px;right:40px;width:26px;height:26px;cursor:pointer;z-index:2}.menu__btn>span,.menu__btn>span:before,.menu__btn>span:after{display:block;position:absolute;width:100%;height:2px;background-color:#fff;transition-duration:.25s}.light .menu__btn>span,.light .menu__btn>span:before,.light .menu__btn>span:after{display:block;position:absolute;width:100%;height:2px;background-color:var(--bg-colour);transition-duration:.25s}.menu__btn>span:before{content:"";top:-8px}.menu__btn>span:after{content:"";top:8px}.menu__box{display:block;position:fixed;text-align:right;visibility:hidden;top:0;right:-300px;width:300px;height:100%;z-index:1;margin:0;padding:80px 0;list-style:none;background-color:var(--bg-colour-shade);box-shadow:-1px 0 6px #0003;transition-duration:.25s}.light .menu__box{display:block;position:fixed;visibility:hidden;top:0;right:-300px;width:300px;height:100%;z-index:1;margin:0;padding:80px 0;list-style:none;background-color:var(--bg-colour-light-shade);box-shadow:-1px 0 6px #0003;transition-duration:.25s}.menu__item{display:block;padding:12px 24px;color:#fff;font-size:20px;font-weight:600;text-decoration:none;transition-duration:.25s}.light .menu__item{display:block;padding:12px 24px;color:var(--bg-colour);font-size:20px;font-weight:600;text-decoration:none;transition-duration:.25s}.menu__item:hover{background-color:#ffabff}.light .menu__item:hover{background-color:#ab6fc7}@media screen and (min-width: 833px){.middle{display:flex;padding:19%}}@media screen and (min-width: 725px){.nav-links,.alt-links{display:block;position:static;width:auto;background:none;user-select:none}.middle{display:flex;padding:5%}.nav-links a,.alt-links a{display:inline-block;padding:15px 20px;user-select:none}.hamburger-menu{display:none}.name{font-weight:bolder}.postlink{display:flex;flex-direction:column;max-width:40rem;cursor:pointer;gap:.5rem;border-radius:.375rem;border:2px solid #4a5568;padding:3rem;transition:all .3s ease;margin:1%;text-decoration:none;color:#fff}.light .postlink{display:flex;flex-direction:column;max-width:40rem;cursor:pointer;gap:.5rem;border-radius:.375rem;border:2px solid #928c73;padding:3rem;transition:all .3s ease;margin:1%;text-decoration:none;color:#fff}.light .inside-post{color:#8e5cb6}.light .postlink:hover{border-color:#8540d3a9;font-weight:700}.text{position:absolute;width:600px;left:50%;margin-left:-325px;height:40px;top:40%;margin-top:-20px}.word{position:absolute;opacity:0;font-size:larger;user-select:none}.letter{display:inline-block;position:relative;transform:translateZ(25px);transform-origin:50% 50% 25px}.letter.out{transform:rotateX(90deg);transition:transform .32s cubic-bezier(.55,.055,.675,.19)}.letter.behind{transform:rotateX(-90deg)}.letter.in{transform:rotateX(0);transition:transform .38s cubic-bezier(.175,.885,.32,1.275)}}@media screen and (max-width: 724px){.text{position:absolute;justify-self:center;top:30%;left:5%}}.word{position:absolute;opacity:0;font-size:x-large}.letter{display:inline-block;position:relative;transform:translateZ(25px);transform-origin:50% 50% 25px}.letter.out{transform:rotateX(90deg);transition:transform .32s cubic-bezier(.55,.055,.675,.19)}.letter.behind{transform:rotateX(-90deg)}.letter.in{transform:rotateX(0);transition:transform .38s cubic-bezier(.175,.885,.32,1.275)}.lavender{color:#da8ffa}.blue{color:#89caf5}.red{color:#fc7869}.green{color:#6ee9b6}.orange{color:#ffa600}.desc{max-width:45rem;margin:0rem 2rem 0rem 0rem}.desc a{color:var(--highlight);text-decoration:none}.light .desc a{color:var(--purplight);text-decoration:none}*,*:before,*:after{box-sizing:border-box}.project-card-sm{max-width:450px;padding:1.5px;border-radius:15px;background-color:var(--bg-colour-shade);position:relative;overflow:hidden;cursor:pointer;margin-bottom:1.5%;display:flex;flex:1 1 calc(45% - 1rem);justify-content:center;align-items:center;transition:transform .4s,box-shadow .4s;width:100%}.light .project-card-sm{background-color:var(--bg-colour-light)}.project-card-sm:hover{transform:scale(1.025);box-shadow:0 0 30px -25px var(--highlight)}.light .project-card-sm:hover{box-shadow:0 0 30px -25px var(--purplight)}.project-card-sm .card-border-gradient{content:"";position:absolute;bottom:50%;height:300%;width:10rem;z-index:-1;background:linear-gradient(to right,transparent,var(--highlight),transparent);transition:opacity .3s;opacity:0;animation:animate-border-gradient 5s infinite linear}.project-card-sm:hover .card-border-gradient{opacity:1}.light .project-card-sm .card-border-gradient{background:linear-gradient(to right,transparent,var(--purplight),transparent)}@keyframes animate-border-gradient{0%{transform:rotate(0);transform-origin:bottom}to{transform:rotate(360deg);transform-origin:bottom}}.project-card-sm .card-container{display:grid;grid-template-areas:"img text text text";gap:1rem;padding:.75rem;border-radius:12px;background-color:var(--bg-colour-shade);color:var(--bg-colour-light-shade)}.light .project-card-sm .card-container{background-color:var(--bg-colour-light);color:var(--bg-colour)}.card-container img{grid-area:img;aspect-ratio:1 / 1;width:100%;border-radius:8px;transition:transform .3s}.card-container .wrapper{grid-area:text;font-size:.9rem;line-height:1.4;display:flex;flex-direction:column}.card-container .wrapper h1{font-size:1.1rem;font-weight:800;line-height:1;color:#fff;margin-bottom:.75rem}.light .card-container .wrapper h1{color:var(--bg-colour)}.card-container .wrapper p1{height:4.2em;overflow:hidden}.card-container .wrapper button{background:none;border:none;font:inherit;color:#fff;margin-top:1.4rem}.card-container .wrapper button i{margin-left:.5rem;transition:margin .3s}.card-container:hover button i{margin-left:1rem}a{text-decoration:none;color:inherit}@media (max-width: 725px){.project-card-sm{flex-basis:calc(100% - 1rem)}}.postlink{display:flex;flex-direction:column;max-width:40rem;cursor:pointer;gap:.5rem;border-radius:.375rem;border:2px solid #4a5568;padding:1.5rem;transition:all .3s ease;margin:1%;text-decoration:none;color:#fff}.inside-post{font-size:x-large}.light .postlink{display:flex;flex-direction:column;max-width:40rem;cursor:pointer;gap:.5rem;border-radius:.375rem;border:2px solid #928c73;padding:1.5rem;transition:all .3s ease;margin:1%;text-decoration:none;color:#ffabff}.light .inside-post{color:#000}.light .postlink:hover{border-color:#8540d3a9;font-weight:700}.resume.loading{pointer-events:none;position:relative;color:var(--highlight)}.resume.loading:after{content:"";position:absolute;top:50%;left:50%;width:1em;height:1em;margin-top:-.5em;margin-left:-.5em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@font-face{font-family:Source Code Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-code-pro-cyrillic-ext-wght-normal.BODHZjil.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Source Code Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-code-pro-cyrillic-wght-normal.aqTvhEeI.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Source Code Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Source Code Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-code-pro-greek-wght-normal.BvT6WsG1.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Source Code Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-code-pro-vietnamese-wght-normal.B6x53GZG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Source Code Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-code-pro-latin-ext-wght-normal.0UZNSh4u.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Source Code Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-code-pro-latin-wght-normal.BP8Zz55n.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.icons[data-astro-cid-3weo6hls]{display:flex;justify-content:space-around;align-items:left;margin-top:auto}#themeToggle[data-astro-cid-oemx5le4]{border:none;background:none}.kawaii[data-astro-cid-oemx5le4]{transition:transform 1s ease}#themeToggle[data-astro-cid-oemx5le4]:hover .kawaii[data-astro-cid-oemx5le4]{cursor:pointer;transform:rotate(360deg)}
