*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--accent-main:#333333;--accent-light:#f8f4f2;--accent-text:#475569;--accent-secondary:#888;--special-accent:#bd5d3f;--text-dark:#1e293b;--background-color:#f5f6f6;--secondary-background:#f5f6f6;--dark-background-color:#161616;--font-primary:"Outfit",sans-serif;--line-height-hero:1.15}body{font-family:var(--font-primary);background-color:var(--background-color);color:var(--text-dark);overflow-x:hidden}@font-face{font-family:Outfit;src:url('/fonts/Outfit/Outfit-VariableFont_wght.woff2') format('woff2-variations'),url('/fonts/Outfit/Outfit-VariableFont_wght.woff') format('woff-variations'),url('/fonts/Outfit/Outfit-VariableFont_wght.ttf') format('truetype');font-weight:100 900;font-display:swap;font-style:normal}@font-face{font-family:Tanker-Regular;src:url('/fonts/tanker/Tanker-Regular.woff2') format('woff2'),url('/fonts/tanker/Tanker-Regular.woff') format('woff'),url('/fonts/tanker/Tanker-Regular.ttf') format('truetype');font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Geometr706-Cond;src:url('/fonts/Geometr706/Geometr706.woff2') format('woff2'),url('/fonts/Geometr706/Geometr706.woff') format('woff'),url('/fonts/Geometr706/Geometr706.ttf') format('truetype');font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Anton;src:url('/fonts/Anton/Anton-Regular.woff2') format('woff2'),url('/fonts/Anton/Anton-Regular.woff') format('woff'),url('/fonts/Anton/Anton-Regular.ttf') format('truetype');font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Thin 100.ttf') format('truetype');font-weight:100;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Extra-Light 200.ttf') format('truetype');font-weight:200;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Light 300.ttf') format('truetype');font-weight:300;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Normal 400.ttf') format('truetype');font-weight:400;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Medium 500.ttf') format('truetype');font-weight:500;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Semi-Bold 600.ttf') format('truetype');font-weight:600;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Bold 700.ttf') format('truetype');font-weight:700;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Extra-Bold 800.ttf') format('truetype');font-weight:800;font-style:normal}@font-face{font-family:Mosk;src:url('/fonts/Mosk/Mosk Ultra-Bold 900.ttf') format('truetype');font-weight:900;font-style:normal}.navbar{width:100%;border:2px solid rgba(0,0,0,.08);background-color:color-mix(in srgb,var(--background-color) 70%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);position:fixed;top:0;left:0;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:15px 24px;display:flex;justify-content:space-between;align-items:center}.logo-img{height:36px;width:auto;display:block}.logo-svg-icon{width:40px;height:40px;display:block;padding:2px;color:var(--special-accent);transition:color .2s}.logo-svg-icon:hover{color:var(--accent-text)}.logo-svg-icon circle,.logo-svg-icon g,.logo-svg-icon path,.logo-svg-icon polygon,.logo-svg-icon rect{fill:currentColor!important}.logo-svg-icon [stroke]{stroke:currentColor!important}.nav-links{display:flex;list-style:none;gap:32px}.nav-item{font-family:Outfit,sans-serif;font-variation-settings:"wght" 300;text-decoration:none;color:var(--accent-text);font-size:1rem;transition:color .2s,font-variation-settings .2s}.nav-item:hover{color:var(--accent-main);font-variation-settings:"wght" 800}.menu-toggle{display:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:0 0;border:none;cursor:pointer;z-index:1001}.menu-toggle .bar{width:100%;height:2px;background-color:var(--accent-main);transition:.3s}.hero-section{position:relative;min-height:100vh;display:flex;flex-direction:column;background:0 0}.hero-section::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("/assets/topographical_map_art_bg.svg");background-size:cover;background-position:center bottom;background-repeat:no-repeat;scale:-1 -1;transform:translateZ(-1px);opacity:.65;z-index:-1}.hero-content{flex-grow:1;display:flex;align-items:flex-start;justify-content:center;padding:34vh 10px 40px}.headline-stack{text-align:center;display:flex;flex-direction:column;align-items:center}.stroke-text{color:transparent;-webkit-text-stroke-width:2.5px;-webkit-text-stroke-color:var(--accent-main);font-weight:400;font-synthesis:none;display:inline-block;text-decoration:none;cursor:pointer;transition:color .3s,-webkit-text-stroke-color .3s}.name-button:hover{color:var(--accent-main);-webkit-text-stroke-color:var(--accent-main)}.action-line,.static-line,.ticker-item{font-family:Tanker-Regular,sans-serif;letter-spacing:.02em}.static-line{font-size:clamp(4rem, 10vw, 5.5rem);color:var(--accent-main);line-height:var(--line-height-hero)}.action-line{display:flex;align-items:center;justify-content:center;font-size:clamp(4rem, 10vw, 5.5rem);font-weight:900;color:var(--accent-main);letter-spacing:-.02em;line-height:var(--line-height-hero)}.ticker-wrapper{display:inline-block;height:calc(clamp(4rem,10vw,5.5rem) * var(--line-height-hero));overflow:hidden;position:relative;vertical-align:bottom}.ticker-wrapper::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background-color:var(--accent-main);z-index:2;pointer-events:none}.ticker-track{display:flex;flex-direction:column;transition:transform .6s cubic-bezier(.76, 0, .24, 1)}.ticker-item{display:block;white-space:nowrap;height:calc(clamp(4rem,10vw,5.5rem) * var(--line-height-hero))}.ticker-item-gold{font-family:Tanker-Regular,sans-serif;letter-spacing:.02em;color:var(--special-accent)}.software-stack-container{position:absolute;top:70vh;width:max-content;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stack-label{font-family:Tanker-Regular,sans-serif;font-size:1.1rem;letter-spacing:.25em;color:var(--accent-main);opacity:.8;margin-bottom:20px}.icon-flex-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px 10px;width:100%}.icon-item{display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.25, 1, .5, 1)}.icon-item:hover{transform:translateY(-4px) scale(1.5)}.stack-icon{height:32px;width:32px;object-fit:contain;display:block}.icon-flex-row-lang{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px 5px;width:100%}.tertiary-stack{margin-top:20px}.lang-svg-icon{width:20px;height:20px;display:block;--lang-color:#939393;color:var(--lang-color);transition:color .2s cubic-bezier(.25, 1, .5, 1)}.tertiary-stack .icon-item:hover .lang-svg-icon{color:var(--lang-color)}.lang-svg-icon circle,.lang-svg-icon g,.lang-svg-icon path,.lang-svg-icon polygon,.lang-svg-icon rect{fill:currentColor}.lang-svg-icon [stroke]{stroke:currentColor}.project-index{background-color:var(--accent-main);min-height:100vh;position:relative;overflow-x:hidden;overflow-y:hidden;padding:0 15vw;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start}.ascii-leaf-parent-container{position:absolute;bottom:0;right:0;width:60vw;height:auto;opacity:.15;pointer-events:none;user-select:none}#ascii-leaf-container svg{width:100%;height:auto;display:block}#ascii-leaf-container svg path,#ascii-leaf-container svg text,#ascii-leaf-container svg tspan{font-family:'Ubuntu Mono',monospace!important;fill:var(--background-color)}.project-container{width:100%;max-width:700px;display:block;z-index:2;margin:100px 0}.project-contents{display:flex;flex-direction:column;width:100%;max-width:100%;align-items:stretch}.project-heading-text{font-family:Tanker-Regular,sans-serif;color:var(--background-color);font-size:200px}.project-list{display:flex;flex-direction:column;gap:2rem;padding-left:10px}.project-index-card{display:flex;flex-direction:column;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:2rem;transition:transform .25s cubic-bezier(.25, 1, .5, 1)}.project-card-link:hover .project-index-card{transform:translateX(8px)}.project-index-header{display:flex;justify-content:space-between;align-items:baseline}.project-index-title{font-family:Outfit,sans-serif;font-size:clamp(20px, 2vw, 28px);font-weight:500;color:var(--background-color)}.project-index-year{font-family:Outfit,sans-serif;font-size:clamp(14px, 1.2vw, 18px);font-weight:600;color:var(--background-color)}.project-index-desc{font-family:Outfit,sans-serif;font-weight:300;color:var(--background-color);opacity:.65;font-size:clamp(14px, 1.1vw, 16px);line-height:1.6;margin:0;max-width:90%}.projects-page-link{text-decoration:none;color:var(--background-color);border:2px solid var(--background-color);padding:10px 12px;border-radius:8px;width:max-content;font-family:Outfit,sans-serif;font-weight:300;font-size:clamp(17px, 2vw, 24px);margin:60px 0 50px 10px;position:relative;overflow:hidden;z-index:1;transition:color .4s ease-in-out}.projects-page-link::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background-color);z-index:-1;transform:translateX(-105%) skewX(-15deg);transition:transform .4s ease-in-out}.projects-page-link:hover{color:var(--accent-main)}.projects-page-link:hover::before{transform:translateX(0) skewX(0)}.blog-index{background-color:var(--background-color);min-height:100vh;position:relative;overflow-x:hidden;overflow-y:hidden;padding:0 15vw;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end}.ascii-leaves-parent-container{position:absolute;top:0;left:0;width:60vw;height:auto;opacity:.4;pointer-events:none;user-select:none}#ascii-leaves-container svg{width:100%;height:auto;display:block}#ascii-leaves-container svg path,#ascii-leaves-container svg text,#ascii-leaves-container svg tspan{font-family:'Ubuntu Mono',monospace!important;fill:var(--accent-main)}.blog-container{width:100%;max-width:700px;display:block;z-index:2;margin:100px 0}.blog-contents{display:flex;flex-direction:column;width:100%;max-width:100%;align-items:flex-end}.blog-heading-text{font-family:Tanker-Regular,sans-serif;color:var(--accent-main);font-size:200px;text-align:right}.blog-index-list{display:flex;flex-direction:column;gap:2rem;padding-right:10px;padding-left:0;width:100%}.blog-index-card{display:flex;flex-direction:column;gap:.75rem;border-bottom:1px solid rgba(0,0,0,.15);padding-bottom:2rem;transition:transform .25s cubic-bezier(.25, 1, .5, 1)}.blog-single-link{text-decoration:none;width:100%}.blog-single-link:hover .blog-index-card{transform:translateX(-8px)}.blog-index-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;width:100%}.blog-index-title{font-family:Outfit,sans-serif;font-size:clamp(20px, 2vw, 28px);font-weight:500;color:var(--accent-main);text-align:right;flex:1 1 250px;margin-left:auto}.blog-index-year{font-family:Outfit,sans-serif;font-size:clamp(14px, 1.2vw, 18px);font-weight:600;color:var(--accent-main)}.blog-page-link{text-decoration:none;color:var(--accent-main);border:2px solid var(--accent-main);padding:10px 12px;border-radius:8px;width:max-content;font-family:Outfit,sans-serif;font-weight:300;font-size:clamp(17px, 2vw, 24px);margin:60px 10px 50px 0;position:relative;overflow:hidden;z-index:1;transition:color .4s ease-in-out}.blog-page-link::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--accent-main);z-index:-1;transform:translateX(105%) skewX(15deg);transition:transform .4s ease-in-out}.blog-page-link:hover{color:var(--background-color)}.blog-page-link:hover::before{transform:translateX(0) skewX(0)}.bento-grid-container{width:100%;max-width:100vw;padding:2vw;box-sizing:border-box;overflow-x:hidden}.bento-grid{display:grid;width:100%;gap:2vw;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(18,calc((100vw - 14vw)/ 6))}.bento-item{background:linear-gradient(90deg,var(--background-color) 25%,#ddd 50%,var(--background-color) 75%);background-size:200% 100%;animation:1.5s linear infinite shimmer;stroke:#ffffff;stroke-width:200px;color:#fff;border-radius:1vw;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:sans-serif;font-size:1.5rem;font-weight:700;align-self:stretch}.bento-item img{width:100%;height:100%;object-fit:cover;display:block}.item-0 img{object-position:top}.item-0{grid-column:1/span 3;grid-row:1/span 3}.item-2{grid-column:4/span 3;grid-row:1/span 5}.item-6{grid-column:1/span 3;grid-row:4/span 2}.item-1{grid-column:1/span 6;grid-row:6/span 3}.item-5{grid-column:1/span 6;grid-row:9/span 4}.item-4{grid-column:1/span 6;grid-row:13/span 3}.item-3{grid-column:1/span 6;grid-row:16/span 3}.gallery-container{width:100%;max-width:100%;padding:2vw;box-sizing:border-box;overflow-x:hidden}.masonry-grid{column-count:5;column-width:200px;gap:15px;width:100%;max-width:100%;padding:0 10px;box-sizing:border-box;margin:2vh 0 150px}.masonry-item{position:relative;break-inside:avoid;margin-bottom:16px;width:100%;max-width:100%;overflow:hidden;border-radius:1.3vw;display:inline-block;-webkit-column-break-inside:avoid;background-color:#dcdbdb}.masonry-item img{width:100%!important;max-width:100%!important;height:auto!important;display:block;opacity:1;transition:opacity .3s ease-in-out}.masonry-item.skeleton{background:linear-gradient(90deg,var(--background-color) 25%,#ddd 50%,var(--background-color) 75%);background-size:200% 100%;animation:1.5s linear infinite shimmer}.masonry-item.skeleton img{opacity:.3}.blog-screen{min-height:600px;margin-bottom:100px}.blog-year-section{max-width:600px;margin:40px auto;font-family:Outfit,sans-serif;padding-left:24px;padding-right:24px}.blog-year{color:var(--accent-secondary);font-size:1.3rem;font-weight:500;margin-bottom:15px}.blog-list{display:flex;flex-direction:column;gap:15px}.blog-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:30px;text-decoration:none;transition:opacity .25s ease-in-out}.blog-title{color:var(--accent-main);font-size:1.3rem;line-height:1.4;word-break:break-word}.blog-date{color:var(--accent-secondary);font-size:1.2rem;text-align:right}.blog-list:hover .blog-row{opacity:.4;transition:opacity .1s ease-in-out}.blog-list .blog-row:hover{opacity:1;transition:opacity .1s ease-in-out}.blog-content{max-width:800px;margin:10vh auto;padding:40px 24px 0}.blog-header{margin-bottom:35px;text-align:center}.blog-heading{font-family:Outfit,sans-serif;max-width:600px;margin-left:auto;margin-right:auto;line-height:2.4rem;font-size:2.5rem;font-weight:600;color:var(--accent-main);margin-bottom:10px}.blog-creation-time{font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;color:var(--accent-secondary)}.blog-body{font-family:Outfit,sans-serif;font-size:1.1rem;line-height:1.7rem;text-align:justify;color:var(--accent-text)}.blog-body h1{font-family:Outfit,sans-serif;font-weight:800;font-size:1.7rem;color:var(--accent-main);margin-top:30px;margin-bottom:30px}.blog-body h2{font-family:Outfit,sans-serif;font-weight:600;font-size:1.5rem;line-height:2rem;color:var(--accent-main);margin-top:20px;margin-bottom:10px}.blog-body h3{font-family:Outfit,sans-serif;font-weight:600;font-size:1.25rem;line-height:1.75rem;color:var(--accent-main);margin-top:15px;margin-bottom:5px}.blog-body a{font-family:Outfit,sans-serif;font-weight:500;color:var(--accent-text);margin-top:15px;margin-bottom:5px}.blog-body p{margin-bottom:20px}.blog-body p .katex-display{padding:20px 0}.katex-display{overflow-x:auto}.blog-body ol,.blog-body ul{margin:10px 0 10px 30px}.blog-body hr{margin-top:20px;margin-bottom:20px}.blog-image{width:100%;max-width:100%;height:auto}.blog-body img{max-width:100%;height:auto;display:block;margin:30px auto}.blog-body video{width:100%;height:auto;display:block}pre{margin:0 0 20px;padding:20px;background-color:#cfe0db;border-radius:6px;overflow-x:auto;white-space:pre}pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;color:#333}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;letter-spacing:-.06em}table{width:100%;border-collapse:collapse;scale:0.95}table td:nth-child(2),table th:nth-child(2){width:30%}table td,table th{vertical-align:top;padding-top:12px;padding-bottom:12px;padding-right:16px;border-bottom:1px solid var(--accent-secondary)}table td code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;background-color:#d7dce1;padding:3px 6px;border-radius:4px;color:#24292e;display:block;width:100%;box-sizing:border-box;text-overflow:ellipsis}table th{padding-bottom:16px;font-weight:600}.page-heading{font-family:Tanker-Regular,sans-serif;font-weight:200;letter-spacing:-.02em;font-style:normal;font-size:10rem;color:var(--accent-main);text-align:center;margin-top:7rem;padding-left:40px;padding-right:40px;box-sizing:border-box;word-wrap:break-word}.scroll-filler{max-width:800px;margin:120px auto;padding:0 24px;text-align:center}.scroll-filler h2{font-size:2rem;color:var(--accent-main);margin-bottom:20px}.scroll-filler p{font-size:1.2rem;color:var(--accent-text);line-height:1.7}.checkerboard-divider{width:100%;--total-height:var(--checkerboard-height);--color-one:var(--accent-color1);--color-two:var(--accent-color2);--accent-color1:var(--accent-main);--accent-color2:transparent;--checkerboard-height:40px;height:var(--total-height);border-top:calc(var(--total-height) * .05) solid var(--color-one);border-bottom:calc(var(--total-height) * .05) solid var(--color-one);background-image:linear-gradient(45deg,var(--color-one) 25%,transparent 25%),linear-gradient(-45deg,var(--color-one) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-one) 75%),linear-gradient(-45deg,transparent 75%,var(--color-one) 75%);background-size:calc(var(--total-height) * .9) calc(var(--total-height) * .9);background-position:0 0,0 calc(var(--total-height) * .45),calc(var(--total-height) * .45) calc(-1 * var(--total-height) * .45),calc(-1 * var(--total-height) * .45) 0;background-color:var(--color-two)}.daily-quote-section{width:100%;padding:20px;background-color:var(--background-color);display:flex;justify-content:center;align-items:center}.quote-container{max-width:1000px;text-align:center}.quote-label{font-family:Outfit,sans-serif;font-size:.8rem;font-weight:1000;letter-spacing:.1rem;color:var(--accent-main);display:block;margin-bottom:5px}.quote-text{font-family:Outfit,sans-serif;font-size:.9rem;font-weight:400;line-height:1.3;color:var(--accent-main);font-style:italic;margin:0}.back-link{display:block;text-align:center;margin:80px 0}.back-link-anchor{display:inline-flex;align-items:center;text-decoration:none;padding:10px 13px;border-radius:10px;background-color:transparent;transition:background-color .3s}.back-link-icon{width:1.7rem;height:1.7rem;display:inline-block;-webkit-mask-image:url('/assets/icons/BackIcon.svg');mask-image:url('/assets/icons/BackIcon.svg');-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--accent-main);transition:background-color .3s}.back-link-text{font-family:Outfit,sans-serif;font-size:1.7rem;font-weight:400;color:var(--accent-main);margin-left:10px;transition:color .3s}.back-link-anchor:hover{background-color:var(--accent-main)}.back-link-anchor:hover .back-link-text{color:var(--background-color)}.back-link-anchor:hover .back-link-icon{background-color:var(--background-color)}footer{position:relative;background:var(--dark-background-color);height:auto;padding:40px 24px;width:100%;color:var(--background-color);box-sizing:border-box}.footer-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.footer-h1{font-family:Outfit,sans-serif;font-weight:200;font-size:2rem;line-height:3rem;margin:0 0 16px}.footer-p{font-family:Outfit,sans-serif;font-weight:400;font-size:.8rem;max-width:400px;line-height:15px;margin:0 0 16px}.footer-socials{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;margin:12px 0 24px}.social-link{display:block;text-decoration:none;transition:transform .2s,opacity .2s}.social-link:hover{transform:scale(1.08);opacity:.8}.social-icon,.social-link img{width:24px!important;height:24px!important;display:block}body.error-page-body{display:flex;flex-direction:column;min-height:100vh;margin:0}.error-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;padding:40px 20px}.error-container{max-width:400px}.error-container h1{font-family:Outfit,sans-serif;font-weight:700;font-size:10rem;color:var(--accent-main);margin-bottom:10px}.error-container p{font-family:Outfit,sans-serif;font-weight:300;font-size:1.25rem;color:var(--accent-main);margin-bottom:10px}.error-container a{font-family:Outfit,sans-serif;font-weight:300;font-size:1.25rem;color:var(--accent-main)}.error-link{margin-top:20px}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;padding:50px;font-family:Outfit,sans-serif;max-width:1000px;margin:0 auto 200px;box-sizing:border-box}.project-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:24px;border:1px solid color-mix(in srgb,var(--accent-text),transparent 80%);border-radius:12px;text-decoration:none;flex-grow:1;transition:border-color .2s}.project-card:hover{border-color:var(--special-accent);transition:.2s}.project-card:hover .project-title{color:var(--special-accent);transition:color .2s}.project-card-link{text-decoration:none;display:flex;flex-direction:column;height:100%}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.project-title{font-size:16px;font-weight:600;color:var(--accent-main);transition:color .2s}.project-year{font-size:14px;color:var(--accent-secondary);flex-shrink:0}.project-card p{font-size:13.5px;color:var(--accent-text);line-height:1.6;margin:0;font-weight:400}.project-tag-container{display:flex;flex-wrap:wrap;gap:8px}.project-tag{font-size:12px;padding:4px 10px;background-color:var(--special-accent);color:var(--accent-light);border-radius:6px}.project-links{display:flex;justify-content:center;gap:12px;margin-top:16px}.download-link,.site-link,.source-code{display:block;margin-top:20px}.site-link-button{display:inline-block;text-decoration:none;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;color:var(--accent-light);background-color:#6172a8;translate:-2px -1px;box-shadow:3px 5px 5px rgba(0,0,0,.1);border:none;border-radius:20px;padding:.5rem 1.25rem;cursor:pointer;transition:color .3s,border-color .3s;background-repeat:no-repeat;background-size:200% 100%;background-position:100% 0}.source-button{display:inline-block;text-decoration:none;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;color:var(--accent-light);background-color:var(--special-accent);translate:-2px -1px;box-shadow:3px 5px 5px rgba(0,0,0,.1);border:none;border-radius:20px;padding:.5rem 1.25rem;cursor:pointer;transition:color .3s,border-color .3s;background-repeat:no-repeat;background-size:200% 100%;background-position:100% 0}.source-button:hover{color:#fff;background-image:linear-gradient(120deg,transparent 25%,#e3e3e3 50%,transparent 75%);animation:.3s ease-in-out forwards shimmer}.source-button:active{translate:0px 0px;box-shadow:2px 3px 0 rgba(0,0,0,.15);transition:translate .1s ease-in-out,box-shadow .1s ease-in-out}.download-button{display:inline-block;text-decoration:none;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;color:var(--accent-light);background-color:#407455;translate:-2px -1px;box-shadow:3px 5px 5px rgba(0,0,0,.1);border:none;border-radius:20px;padding:.5rem 1.25rem;cursor:pointer;transition:color .3s,border-color .3s;background-repeat:no-repeat;background-size:200% 100%;background-position:100% 0}.download-button:hover{color:#fff;background-image:linear-gradient(120deg,transparent 25%,#e3e3e3 50%,transparent 75%);animation:.3s ease-in-out forwards shimmer}.download-button:active{translate:0px 0px;box-shadow:2px 3px 0 rgba(0,0,0,.15);transition:translate .1s ease-in-out,box-shadow .1s ease-in-out}.site-link-button:hover{color:#fff;background-image:linear-gradient(120deg,transparent 25%,#e3e3e3 50%,transparent 75%);animation:.3s ease-in-out forwards shimmer}.site-link-button:active{translate:0px 0px;box-shadow:2px 3px 0 rgba(0,0,0,.15);transition:translate .1s ease-in-out,box-shadow .1s ease-in-out}@keyframes shimmer{0%{background-position:150% 0}100%{background-position:-50% 0}}.ascii-leaves-parent-container2{position:absolute;top:0;left:0;width:800px;height:auto;opacity:.4;pointer-events:none;user-select:none}.contact-hero{position:relative;min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center;background:0 0;overflow:hidden}.contact-main{display:grid;grid-template-columns:minmax(300px,430px) minmax(450px,680px);justify-content:center;align-items:center;width:100%;max-width:90vw;margin:0 auto;box-sizing:border-box;padding:80px 10px;gap:50px}.contact-left{width:100%;display:flex;justify-content:center}.profile-card{width:100%;max-width:430px;position:relative;transition:transform .2s ease-in-out}.profile-card:hover{transform:scale(1.02);transition:transform .2s ease-in-out}.pfp-image-skeleton{background:linear-gradient(90deg,var(--background-color) 25%,#ddd 50%,var(--background-color) 75%);background-size:200% 100%;animation:1.5s linear infinite shimmer}.profile-image{width:100%;height:auto;display:block;border-radius:40px;box-shadow:0 10px 40px rgba(0,0,0,.2);filter:grayscale(1);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.contact-right{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.contact-heading{font-family:Tanker-Regular,sans-serif;font-size:clamp(55px, 7vw, 110px);font-weight:800;line-height:.95;color:var(--accent-main);margin:0 0 24px;text-transform:uppercase;text-align:left}.social-links-row{display:flex;flex-wrap:wrap;gap:10px;max-width:100%;margin:16px 0}.social-button{text-decoration:none;color:var(--accent-main);background-color:var(--background-color);border:2px solid var(--accent-main);padding:8px 12px;border-radius:8px;width:max-content;font-family:Outfit,sans-serif;font-weight:300;font-size:clamp(14px, 1.5vw, 20px);margin:0 5px;position:relative;overflow:hidden;z-index:1;transition:color .4s ease-in-out}.social-button::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--accent-main);z-index:-1;transform:translateX(-105%) skewX(-15deg);transition:transform .4s ease-in-out}.social-button:hover{color:var(--background-color)}.social-button:hover::before{transform:translateX(0) skewX(0)}.github-grid-wrapper{background-color:var(--background-color);width:100%;max-width:100%;margin:16px 0;overflow-x:auto;z-index:1;padding:16px;border-radius:10px}.github-grid-img{width:100%;min-width:600px;height:auto;display:block}.github-scroll-caption{font-family:Outfit,sans-serif;font-weight:300;color:var(--accent-main);margin-top:10px;text-align:center;opacity:0}.contact-aboutme{background-color:var(--accent-main);min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0 40px}.ascii-bamboo-parent-container{position:absolute;top:0;right:5vw;scale:1.7;width:auto;height:100vh;opacity:.25;pointer-events:none;user-select:none}#ascii-bamboo-container,#ascii-bamboo-container svg{height:100%;width:auto;display:block}#ascii-bamboo-container svg path,#ascii-bamboo-container svg text,#ascii-bamboo-container svg tspan{font-family:'Ubuntu Mono',monospace!important;fill:var(--background-color)!important}.aboutme-container{width:100%;max-width:1400px;margin:100px auto;z-index:2}.aboutme-contents{display:flex;flex-direction:column;width:100%;max-width:700px;align-items:stretch}.aboutme-heading-text{font-family:Tanker-Regular,sans-serif;color:var(--background-color);font-size:150px}.aboutme-para-text{font-family:Outfit,sans-serif;font-size:clamp(18px, 1.8vw, 22px);font-weight:300;line-height:1.65;color:var(--background-color);margin-top:10px;max-width:680px;opacity:.95;white-space:pre-line}@media (max-width:1100px){.action-line{flex-direction:column;align-items:center;justify-content:center;gap:0}.ticker-wrapper{width:100%}.ticker-track{align-items:center}.ticker-item,.ticker-item-gold{text-align:center}.hero-content{padding-top:25vh}.project-index{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 5vw}.project-container{max-width:100%;width:100%;margin:0 auto}.project-contents{gap:0;margin:0}.project-heading-text{text-align:center;font-size:clamp(3.5rem, 20vw, 10rem);margin:0 auto;line-height:.9}.project-list{scale:0.9;padding-left:0;transform-origin:center top;max-width:65vw;margin:40px auto 0}.projects-page-link{width:max-content;text-align:center;margin:20px auto 0}.blog-index{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 5vw}.blog-container{max-width:100%;width:100%;margin:0 auto}.blog-contents{gap:0;margin:0}.blog-heading-text{text-align:center;font-size:clamp(3.5rem, 20vw, 10rem);margin:0 auto;line-height:.9}.blog-index-list{scale:0.9;padding-right:0;transform-origin:center top;max-width:65vw;margin:40px auto 0;width:100%}.blog-index-title{max-width:40vw}.blog-index-year{max-width:20vw}.blog-page-link{width:max-content;text-align:center;margin:20px auto 0}.contact-main{display:grid;grid-template-columns:1fr;justify-items:center;padding:20px;gap:40px;min-height:auto;margin-top:11vh;margin-bottom:11vh;max-width:80vw}.contact-heading{text-align:center;font-size:clamp(3.5rem, 10vw, 10rem)}.contact-left,.contact-right{width:100%;display:flex;flex-direction:column;align-items:center}.profile-card{max-width:300px;margin:0 auto}.social-links-row{justify-content:center;margin:30px 0}}@media (max-width:830px){.ascii-leaf-parent-container{bottom:-10%;left:20%;width:660px;height:auto}.ascii-leaves-parent-container{top:-5%;right:20%;width:700px;height:auto}}@media (min-width:768px){.bento-grid-container{width:100%;max-width:100vw;margin:0;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}.bento-grid{display:grid;width:100%;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(10,calc((100vw - 176px)/ 12));gap:16px}.item-0{grid-column:1/span 3;grid-row:1/span 7}.item-1{grid-column:4/span 6;grid-row:1/span 3}.item-2{grid-column:10/span 3;grid-row:1/span 5}.item-5{grid-column:4/span 6;grid-row:4/span 4}.item-6{grid-column:10/span 3;grid-row:6/span 2}.item-4{grid-column:1/span 6;grid-row:8/span 3}.item-3{grid-column:7/span 6;grid-row:8/span 3}}@media (max-width:1100px) and (min-width:768px){.software-stack-container{top:75vh}}@media (max-width:768px){:root{font-size:13px}body{padding-left:0;padding-right:0}.hero-content,.software-stack-container{transform:scale(.9);transform-origin:center top;max-width:100vw;box-sizing:border-box}.software-stack-container{top:75vh}.navbar{position:fixed;top:20px;left:5%;width:90%;z-index:1000;box-shadow:0 10px 25px rgba(0,0,0,.02);background-color:color-mix(in srgb,var(--background-color) 70%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:20px;border:1px solid rgba(0,0,0,.08);max-height:70px;overflow:hidden;transition:max-height .2s ease-in-out,box-shadow .2s ease-in-out}.navbar.active{max-height:450px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.nav-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;width:100%;padding:15px 24px;background:0 0}.menu-toggle{display:flex}.nav-links{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;gap:0;padding-top:15px;padding-bottom:10px;background-color:transparent;opacity:0;transform:translateY(-10px);visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}.navbar.active .nav-links{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto}.nav-links li{width:100%;text-align:center;list-style:none}.nav-item{display:block;padding:12px 0;width:100%}.menu-toggle.open .bar:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle.open .bar:nth-child(2){opacity:0}.menu-toggle.open .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero-content{padding:40vh 10px 20px}.hero-section{margin-top:0}.page-heading{padding-top:2rem}.long-page-heading{font-size:clamp(3.5rem, 20vw, 10rem)}.blog-heading{max-width:clamp(200px,70vw,600px)}.blog-year-section{justify-content:center;max-width:85vw}.masonry-grid{column-count:2!important;column-width:auto!important;gap:12px}.masonry-item{margin-bottom:12px}.gallery-container{padding:12px}.aboutme-heading-text{text-align:center;font-size:clamp(5rem, 25vw, 10rem);margin:0 auto;line-height:.9}.aboutme-para-text{text-align:center;margin:20px auto 0}.ascii-bamboo-parent-container{opacity:.1}.github-scroll-caption{opacity:1}}