:root{--background-1:#f6fdf7;--background-2:#dbdbdb;--background-3:#fff;--primary:#2d2e30;--secondary:#9a9e9a;--accent:#bbbb38}[data-bs-theme=dark]{--background-1:#2d2e30;--background-2:#31333b;--background-3:#23242b;--primary:#f6fdf7;--secondary:#9a9e9a;--accent:#bbbb38}#app{font-family:Anonymous Pro,monospace;background:var(--background-1);color:var(--primary)}.container-md{max-width:960px}header{z-index:1000;background:var(--background-1);box-shadow:0 6px 12px 0 rgba(0,0,0,.2);font-size:1rem}.nav-link{color:var(--secondary);font-weight:400;transition:all .2s ease-in-out;display:inline-block}footer{background:var(--background-1);box-shadow:0 -6px 12px 0 rgba(0,0,0,.2);line-height:1.2}.gradient-1{background:radial-gradient(142.62% 90.01% at 73.25% 47.69%,var(--background-2) 0,var(--background-3) 100%)}.gradient-2{background:radial-gradient(116.68% 113.47% at 17.13% 22.49%,var(--background-2) 0,var(--background-3) 100%)}.gradient-3{background:radial-gradient(109.18% 104.57% at 80.46% 66.79%,var(--background-2) 0,var(--background-3) 100%)}.intro-1{color:var(--primary);font-size:calc(.5rem + 1.5vw);font-weight:700}.intro-2{color:var(--accent);font-size:calc(1.5rem + 1vw);font-weight:700;letter-spacing:-2px;word-spacing:-8px}.intro,.intro-3{line-height:1.2}.intro-3{color:var(--primary);font-size:calc(1rem + .5vw);font-weight:400;font-family:Inter,sans-serif}.btn-outline-accent{color:var(--accent);border-color:var(--accent);border-width:3px;transition:all .2s ease-in-out;font-weight:700;line-height:1.2}.btn-outline-accent:hover{color:var(--primary);background:var(--accent)}.btn-outline-accent:focus{color:var(--primary)!important;background:var(--accent)!important;border:3px solid var(--accent)!important}.solid-bg{background:var(--background-1);box-shadow:0 0 16px 0 rgba(0,0,0,.4);padding-top:2rem;padding-bottom:2rem}.block-title{color:var(--primary);font-size:calc(1.5rem + 1.5vw);font-weight:700;letter-spacing:-2px;word-spacing:-8px}.about-text{font-family:Cormorant Garamond,serif;font-size:calc(1rem + .5vw);font-weight:400;line-height:1.2;color:var(--primary)}.about-text:before{content:"-";font-size:calc(3rem + 1.5vw);line-height:.1em;color:var(--accent);vertical-align:-.1em;padding-right:.1em}.tech-card{border-radius:.5rem;background:var(--background-2);box-shadow:0 4px 12px 0 rgba(0,0,0,.25)}.tech-card,.tech-card:hover{transition:all .2s ease-in-out}.tech-card:hover{transform:scale(1.05);background:var(--background-3)}.tech-icon{display:block;max-width:3rem;max-height:3rem;margin:.5rem}.project,.tech-icon{transition:all .2s ease-in-out;border-radius:.5rem}.project{font-family:Inter,sans-serif;line-height:1.2;background:var(--background-2);color:var(--primary);box-shadow:0 4px 12px 0 rgba(0,0,0,.25)}.project:hover{transform:scale(1.01);transition:all .2s ease-in-out;background:var(--background-3)}.proj-name{font-size:calc(1rem + .2vw);font-weight:700;color:var(--primary);line-height:1;letter-spacing:-.3px}.proj-desc{font-size:calc(.75rem + .2vw);font-weight:400;color:var(--secondary);line-height:1;letter-spacing:-.27px}.post-title{font-size:calc(1.2rem + .2vw);font-weight:700;color:var(--primary);line-height:1;letter-spacing:-.3px}.post-date{font-size:calc(.75rem + .2vw);font-weight:400;color:var(--secondary);line-height:1.2;letter-spacing:-.27px}.post-content{font-size:calc(1rem + .2vw);font-weight:400;color:var(--primary);font-family:Cormorant Garamond,serif;line-height:1.1;letter-spacing:-.2px}.timeline{list-style-type:none;position:relative;padding-left:1rem}.timeline:before{content:" ";background:var(--primary);display:inline-block;position:absolute;left:21px;width:2px;height:100%;z-index:400;border-radius:1rem}.timeline-item{margin:0 48px;padding-top:20px;font-family:Inter,sans-serif}.timeline-item:before{content:" ";background:var(--accent);display:inline-block;position:absolute;border-radius:50%;border:1px solid var(--primary);left:10px;width:24px;height:24px;z-index:400;box-shadow:0 0 32px 0 var(--accent)}.timeline-title{font-weight:700}.timeline-date{font-size:calc(.75rem + .2vw);font-weight:400;color:var(--secondary);line-height:1.2;letter-spacing:-.27px}:root{--term-page-bg:#ccc;--term-bg:#fff;--term-fg:#000}[data-bs-theme=dark]{--term-page-bg:#111;--term-bg:#000;--term-fg:#fff}#app,html{background-color:var(--term-page-bg)}.terminal[data-v-2fb95b0d]{display:flex;height:calc(100vh - 80px);font-size:20px;color:var(--term-fg);background-color:var(--term-bg);overflow:hidden;margin:40px;border-radius:16px;padding:0;border:10px solid var(--term-bg)}.output[data-v-2fb95b0d]{white-space:pre;font-family:monospace;font-size:20px;padding:0;margin:0;width:100%;line-height:20px;overflow-y:auto}.cursor[data-v-2fb95b0d]{position:relative;width:1px;height:20px;background-color:var(--term-fg);color:var(--term-bg);font-family:monospace;padding:0;margin:0;pointer-events:none;animation:blink-2fb95b0d 1s infinite}@keyframes blink-2fb95b0d{0%{opacity:1}50%{opacity:0}to{opacity:1}}@media screen and (max-width:768px){.terminal[data-v-2fb95b0d]{margin:20px;height:calc(100vh - 40px)}}@media screen and (max-width:576px){.terminal[data-v-2fb95b0d]{margin:10px;height:calc(100vh - 20px)}}@media screen and (max-width:400px){.terminal[data-v-2fb95b0d]{margin:5px;height:calc(100vh - 10px)}}.maintenance{font-family:Roboto,sans-serif;background-color:var(--background-color);min-height:100vh;padding:0 1rem}.maintenanceIcon{line-height:15rem;font-size:15rem;font-weight:700;color:var(--background-color);text-shadow:0 0 10px var(--color-4)}.maintenance p{font-size:1rem;font-weight:500;margin-bottom:1rem}@media screen and (max-width:576px){.maintenanceIcon{line-height:10rem;font-size:10rem}}@media screen and (max-width:400px){.maintenanceIcon{line-height:8rem;font-size:8rem}}:root{--background-color:var(--bs-body-bg);--color-4:#000;--color-0:#728bdd;--stroke-thickness:1.5px}[data-bs-theme=dark]{--color-4:#fff;--color-0:#728bdd}.error{font-family:Roboto,sans-serif;background-color:var(--background-color);min-height:75vh;padding:0 1rem}.error404{line-height:15rem;font-size:15rem;font-weight:700;color:var(--background-color);text-shadow:0 0 5px var(--color-4);-webkit-text-stroke:var(--stroke-thickness) var(--color-4);text-stroke:var(--stroke-thickness) var(--color-4)}.error404 b:nth-child(2){text-shadow:0 0 5px var(--color-0);-webkit-text-stroke:var(--stroke-thickness) var(--color-0);text-stroke:var(--stroke-thickness) var(--color-0)}.error p{font-size:1rem;font-weight:500;margin-bottom:1rem}@media screen and (max-width:576px){.error404{line-height:10rem;font-size:10rem}}@media screen and (max-width:400px){.error404{line-height:8rem;font-size:8rem}}