.circular-text{margin:0 auto;border-radius:50%;width:20px;position:relative;height:20px;font-weight:700;color:#fff;font-weight:900;text-align:left;cursor:pointer;transform-origin:50% 50%;-webkit-transform-origin:50% 50%}.circular-text span{position:absolute;display:inline-block;inset:0;font-size:24px;transition:all .5s cubic-bezier(0,0,0,1)}:root{--bg-color: black;--tree-color: white}.light{--bg-color: white;--tree-color: black}html,body{overflow:hidden;height:100%;margin:0;padding:0}body{background-color:var(--bg-color);transition:background .3s ease}@font-face{font-family:eb;src:url(./EBGaramond-Regular-ByYWrqPH.ttf) format("ttf");font-weight:400;font-style:normal}@font-face{font-family:eb;src:url(./EBGaramond-SemiBold-ChCvUewX.ttf) format("ttf");font-weight:600;font-style:normal}@keyframes fade-out-blur{0%{filter:blur(5px);opacity:.7;transform:scale(1)}to{filter:blur(var(--aura-bloom-radius, 15px));opacity:0;transform:scale(var(--aura-bloom-scale, 1.1))}}.ghost-blur-effect{transform-origin:center bottom;animation:fade-out-blur .8s ease-out forwards}@keyframes shudder-root-kf{0%{transform:translate(0)}25%{transform:translate(-2px) rotate(-.5deg)}50%{transform:translate(2px) rotate(.5deg)}75%{transform:translate(-1px) rotate(-.2deg)}to{transform:translate(0)}}.shudder-root{transform-origin:50% 100%;animation:shudder-root-kf .7s ease-in-out}@keyframes sprout{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.sprout-root{stroke-dasharray:1000;stroke-dashoffset:1000;animation:sprout 1s ease-out forwards}.sprout-child{stroke-dasharray:1000;stroke-dashoffset:1000;animation:sprout 2.5s ease-in-out forwards}.theme-toggle{--size: 24px;background:none;border:none;padding:0;cursor:pointer;position:absolute;top:20px;right:20px;width:var(--size);height:var(--size);color:var(--tree-color);transform-origin:center center;transition:transform .5s ease;z-index:100}.theme-toggle:hover{transform:scale(1.1)}.sun-and-moon{width:var(--size);height:var(--size);overflow:visible}.sun,.sun-beams,.moon-mask circle{transform-origin:center center;transition:transform .4s ease,opacity .4s ease}:not(.light) .sun-and-moon .sun-beams{transform:rotate(-25deg) scale(0);opacity:0;transition-delay:0s}:not(.light) .sun-and-moon .sun{transform:scale(1.5);transition-delay:.25s}:not(.light) .sun-and-moon .moon-mask circle{transform:translate(var(--moon-mask-translation));transition-delay:.25s}.light .sun-and-moon .moon-mask circle{transform:translate(0);transition-delay:0s}.light .sun-and-moon .sun{transform:scale(1);transition-delay:0s}.light .sun-and-moon .sun-beams{transform:rotate(0) scale(1);opacity:1;transition-delay:.25s}.stars-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes twinkle{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.star{animation-name:fade-in,twinkle;animation-timing-function:ease-out,ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:forwards,none}@keyframes fly-left-to-right{0%{transform:translate(-200px)}to{transform:translate(110vw)}}@keyframes fly-right-to-left{0%{transform:translate(110vw)}to{transform:translate(-200px)}}.flock-container{position:absolute;top:30%;left:0;width:30px;height:30px;will-change:transform;animation-timing-function:linear;animation-fill-mode:forwards}.fly-right{animation-name:fly-left-to-right}.fly-left{animation-name:fly-right-to-left}@keyframes flap-sprite{to{background-position:100% 0}}.bird{position:absolute;width:30px;height:30px;background-image:url(../bird-sprite.png);background-size:600% 100%;mix-blend-mode:multiply;animation:flap-sprite 1s steps(5) infinite}.background-trees-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:.3;overflow:hidden}.background-trees-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;width:auto;height:auto}.perch-container{position:absolute;top:30%;left:0;width:200px;height:100px;z-index:1}.perch-svg{width:100%;height:100%}.perch-branch{stroke:var(--tree-color);stroke-linecap:round;cursor:default}:not(.light) .perch-branch{cursor:pointer}.light .perch-branch{cursor:pointer}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(1.5deg)}75%{transform:rotate(-1.5deg)}}.branch-shake{transform-origin:0% 50%;animation:shake .4s ease-in-out}@keyframes fall{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translateY(var(--fall-end-y, 80px)) translate(var(--fall-end-x, 20px)) rotate(var(--fall-rotation, 180deg))}}.leaves-container{fill:var(--tree-color)}.falling-leaf{transform-origin:center center;animation-name:fall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes fade-in-icon{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tree-icon-container{opacity:0;animation:fade-in-icon .5s ease-out forwards;animation-delay:2.5s;overflow:visible}.icon-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:var(--tree-color);font-size:24px;transition:transform .2s ease-out}@media (hover: hover) and (pointer: fine){.icon-wrapper:hover{transform:scale(1.25);color:#999}}@keyframes grow-from-icon{0%{opacity:.5;transform:translate(var(--icon-start-x),var(--icon-start-y)) scale(.1);transform-origin:top left}to{opacity:1;transform:translate(-50%,-50%) scale(1);transform-origin:top left}}.resume-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:1000;display:flex;justify-content:center;align-items:center}.resume-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:800px;height:90%;max-height:950px;background:var(--bg-color);color:var(--tree-color);border-radius:8px;box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column;animation:grow-from-icon .4s cubic-bezier(.16,1,.3,1) forwards}.resume-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid var(--tree-color);flex-shrink:0}.download-button,.close-button{background:none;border:1px solid var(--tree-color);color:var(--tree-color);padding:5px 15px;border-radius:5px;cursor:pointer;text-decoration:none;font-size:14px}.close-button{font-size:24px;padding:0 10px}.resume-content{padding:10px 30px;overflow-y:auto;font-family:eb,serif}.resume-content h1,.resume-content h3,.resume-content h4{font-weight:600}.resume-content p,.resume-content li{font-weight:400}@keyframes shrink-to-icon{0%{opacity:1;transform:translate(-50%,-50%) scale(1);transform-origin:top left}to{opacity:0;transform:translate(var(--icon-start-x),var(--icon-start-y)) scale(.1);transform-origin:top left}}.resume-modal.shrinking{animation:shrink-to-icon .4s cubic-bezier(.7,0,.84,0) forwards}.project-link-spacing{display:inline-block;width:20px}.resume-content ul a{color:#afa;text-decoration:none;font-weight:400}.projects-list>li{display:flex;justify-content:space-between;align-items:center}.resume-content::-webkit-scrollbar{display:none}.resume-content{scrollbar-width:none}.resume-content ul a:hover{text-decoration:underline}@keyframes fade-in-out{0%{opacity:0;transform:translateY(5px)}15%,85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.copied-text{display:flex;align-items:center;height:100%;color:var(--tree-color);font-family:sans-serif;font-size:14px;font-weight:700;opacity:0;animation:fade-in-out 2s ease-in-out forwards;animation-delay:.01s}.tree-preview-container{position:absolute;z-index:100;pointer-events:none;font-family:eb,serif;opacity:1;transition:opacity .2s ease-out;background:var(--bg-color);border:1px solid var(--tree-color);border-radius:8px;padding:10px;box-shadow:0 4px 12px #00000080}.tree-preview-container.exiting{opacity:0}.tree-preview-container video{width:100%;border-radius:4px;display:block}.tree-preview-container p{margin:8px 0 0;font-size:14px;text-align:center;color:var(--tree-color)}@keyframes fade-in-name{0%{opacity:0}to{opacity:1}}.name-container{position:absolute;top:20px;left:20px;z-index:100;opacity:0;animation:fade-in-name 1s ease-out 3s forwards}
