:root{--color-background: rgb(238, 239, 249);--linear-grad: linear-gradient(to bottom right, rgb(221, 219, 227), rgb(226, 179, 230));--color-text: rgb(20, 28, 40);--color-accent-line: rgb(181, 186, 254);--color-primary: rgb(59, 130, 246);--color-surface: rgb(220, 221, 249);--color-terminal: #dd00ce;--color-particle-background:rgb(248, 249, 251);--color-particles: rgb(218, 67, 148);--color-links: rgb(136, 136, 255)}.dark{--color-background: rgb(4, 0, 17);--linear-grad: linear-gradient(to bottom right, rgb(0, 0, 0), rgb(45, 12, 48));--color-text: rgb(241, 245, 249);--color-accent-line: rgb(38, 33, 58);--color-primary: rgb(96, 165, 250);--color-surface: rgb(17, 24, 39);--color-terminal: #0aff8a;--color-particle-background: rgb(0, 0, 0);--color-particles: rgb(255, 255, 255);--color-links: rgb(136, 136, 255)}html{transition:background-color .4s,color .4s}html.fouc-prevent{visibility:hidden}.no-transition *,.no-transition *:before,.no-transition *:after{transition:none!important;animation:none!important}body{background-color:var(--color-background);color:var(--color-text);font-family:Ubuntu Mono,monospace;margin:0;min-height:100vh;transition:background-color .4s,color .4s}a{text-decoration:none;color:var(--color-primary);transition:color .4s;font-weight:600;transition:opacity .2s ease-out}a:hover,a:focus{opacity:.4;transition:opacity .2s ease-out}button{background:none;border:none;cursor:pointer;color:var(--color-text);font-size:1rem;transition:transform .2s linear}button:hover{transform:scale(1.2);transition:transform .2s linear}.project-content{align-items:center;overflow-wrap:break-word}.project-post{font-family:Verdana,sans-serif}table{width:100%;table-layout:fixed}table th,table td{word-wrap:break-word;white-space:normal}.project-post-interest-links{display:flex;width:auto;margin:1rem;justify-content:center;gap:1rem;font-size:2rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.gap-4{gap:1rem}.text-lg{font-size:1.125rem}.font-bold{font-weight:700}.sticky{position:sticky;z-index:1000}#particle-wrapper{position:fixed;height:auto;inset:0;pointer-events:none;z-index:-3}#particle-gradient{position:absolute;inset:0;background-image:var(--linear-grad);background-size:cover;background-repeat:no-repeat;transition:opacity .3s ease;z-index:-2;pointer-events:none}#particle-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;background-color:transparent;opacity:0;transition:background-color .4s ease,opacity .4s ease;z-index:0}.terminal{font-family:Ubuntu Mono,monospace;color:var(--color-terminal);padding:2rem;border-radius:8px;display:inline-block;font-size:2rem}.about-me{font-family:Ubuntu Mono,monospace;font-size:1.2rem;color:var(--color-text);padding:1rem 1.5rem;margin:1rem 0;border-radius:6px;line-height:1.6;width:100%;animation:slideUp .8s ease-out;text-align:justify}.prompt{margin:.5rem;color:var(--color-terminal)}.cursor{display:inline-block;width:10px;animation:blink .8s steps(1) infinite;color:var(--color-terminal)}#typed-text{width:100%;min-height:5rem}@keyframes blink{50%{opacity:0}}.about-me a{color:var(--color-primary);text-decoration:none;position:relative}.about-me a:after{content:"";position:absolute;left:0;bottom:-2px;width:0%;height:1px;background-color:var(--color-surface);transition:width .3s ease}.about-me a:hover:after{width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.navbar{border:1px solid var(--color-accent-line);border-radius:1rem;background-color:color-mix(in srgb,var(--color-surface) 80%,transparent);padding:.75rem 2rem;margin:1rem 3rem;top:5px;left:0;z-index:10;backdrop-filter:blur(3px)}.nav-links{display:flex;align-items:center;gap:1.5rem;left:0}#theme-toggle{padding:.25rem .5rem;cursor:pointer}.menu-toggle{display:none;flex-direction:column;cursor:pointer;pointer-events:none}.menu-toggle span{height:2px;width:25px;background:var(--color-text);margin:3px 0;border-radius:2px;transition:.3s}.site-footer{border:1px solid var(--color-accent-line);border-radius:1rem;padding:.5rem 2rem;margin:1rem 10rem;background-color:var(--color-surface);opacity:.5;z-index:10}.footer-inner{display:flex;gap:1rem;align-items:center;justify-content:space-between;max-width:1100px;margin:1000 auto}.social-icons{display:flex;gap:.75rem;align-items:center}.social-link{color:var(--color-text);display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;transition:color .18s ease,transform .2s ease}.social-link svg{width:20px;height:20px;display:block}.social-link:hover,.social-link:focus{color:var(--color-primary);transform:translateY(-2px)}.footer-copy{font-size:.95rem;color:var(--color-text)}.project-content{flex:1;padding:2rem}.hero{width:100%;height:300px;border-radius:8px;overflow:hidden;margin-bottom:2rem;box-shadow:0 4px 12px #0000000d}.hero img{width:100%;height:100%;object-fit:cover;display:block}article{background-color:var(--color-surface);padding:2rem;border-radius:8px;box-shadow:0 4px 12px #0000000d}article h1{color:var(--color-terminal)}article h2,article h3{color:var(--color-text);margin-top:1.5em;margin-bottom:.5em}article p{margin-bottom:1em}article img{max-width:100%;border-radius:8px}article ul,article ol{margin-left:1.5em;margin-bottom:1em}article blockquote{border-left:4px solid #ccc;padding-left:1em;color:#666;font-style:italic;margin:1em 0}.projects-page{padding:2rem 0 4rem;background-color:var(--color-background);transition:background-color .4s,color .4s}.page-inner{max-width:900px;margin:0 auto;padding:0 1rem}.projects-header{margin-bottom:1.25rem}.projects-header h1{margin:0 0 .25rem;font-size:1.75rem}.projects-header .lead{margin:0;color:color-mix(in srgb,var(--color-text) 75%,transparent);opacity:.92}.projects-grid{margin:0 auto;width:100%}.grid-item,.grid-sizer{width:calc(50% - 12px)}.project-card{break-inside:avoid;margin-bottom:1rem;position:relative;display:flex;flex-direction:column;overflow:visible;height:auto;min-height:fit-content;padding:1rem;border-radius:.5rem;box-shadow:0 2px 8px #0000000d;background-color:var(--color-surface);transition:transform .3s linear,box-shadow .3s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.btn{position:relative;display:inline-block;padding:.4rem .75rem;border:none;border-radius:.375rem;background:var(--color-primary);color:var(--color-text);text-decoration:none;font-size:.9rem;transition:background .3s ease;z-index:100;pointer-events:auto}.btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-text);z-index:100}.btn:hover,.btn:focus-visible{background:color-mix(in srgb,var(--color-primary) 70%,black);transform:scale(1.03);transition:background-color .3s ease,transform .3s ease}.btn-ghost:hover,.btn-ghost:focus-visible{background:color-mix(in srgb,var(--color-primary) 70%,black);transform:scale(1.03);transition:background-color .3s ease,transform .3s ease}.card-link{display:block;position:relative;max-width:100%;height:100%;text-decoration:none;color:inherit;font-weight:400}.card-image-wrapper{display:block;width:100%;height:auto;border-radius:.5rem;background-color:var(--color-surface)}.card-overlay{position:absolute;inset:0;width:100%;height:auto;justify-content:center;align-items:center;background:#14141466;opacity:0;transition:opacity .3s ease,transform .3s ease;border-radius:.5rem;overflow:auto}.card-link:hover .card-overlay,.card-link:hover{opacity:1}.card-image{display:block;width:100%;height:auto;object-fit:cover;transition:filter .3s ease,transform .3s ease}.project-card:hover .card-image{filter:brightness(60%);transform:scale(1.05)}.project-card:hover .card-overlay{transform:scale(1.05);opacity:1}.overlay-content{width:100%;max-width:600px;text-align:center;padding:1.8rem 1rem;margin:auto;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.overlay-title{font-size:1.3rem;font-weight:600;color:#fff;margin:.5rem 0rem}.overlay-desc{margin:.75rem;color:#fff}.overlay-tech{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:.5rem 0 1rem}.overlay-tech-item{background:#646464bf;padding:.25rem .5rem;border-radius:999px;font-size:.8rem;color:#fff}.overlay-interest-links{display:flex;width:auto;margin:.5rem 0rem 0rem;justify-content:center;gap:.4rem}.back-arrow{display:inline-block;margin-bottom:1rem}@media(max-width:600px){.terminal{font-size:.9rem;min-height:6rem;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;width:100%;padding:.2rem;box-sizing:border-box}.about-me{font-size:1rem}}@media(max-width:600px){ul,ol{padding-left:0;list-style-position:outside}}@media(max-width:700px){.nav-links{display:none;flex-direction:column;background-color:color-mix(in srgb,var(--color-surface) 95%,transparent);position:absolute;top:100%;left:-1px;width:100%;padding:1rem 0;border:1px solid var(--color-accent-line);border-top:none;border-radius:0 0 1rem 1rem}.menu-toggle{display:flex;pointer-events:auto}.menu-toggle:hover span{background:var(--color-primary)}.navbar.active{border-bottom:none;border-radius:1rem 1rem 0rem 0rem}.navbar.active .nav-links{display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeDown .3s ease forwards}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:1000px){.site-footer{margin:5%}}@media(max-width:800px){.grid-item,.grid-sizer{width:100%}body{overflow-x:hidden;-webkit-overflow-scrolling:touch}.card-overlay{-webkit-overflow-scrolling:touch}}@media(max-width:800px){.card-overlay{opacity:1}}
