body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}*,html{scroll-behavior:smooth!important}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.glass{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:#fff3;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 4px 30px #0000001a}.link{text-decoration:none}.link:hover{text-decoration:underline}@keyframes scale-up-animation{0%{transform:scale(0)}to{transform:scale(1)}}.scale-up{animation:scale-up-animation .3s ease-in}.scroll::-webkit-scrollbar-track{background-color:initial;border-radius:8px;box-shadow:inset 0 0 6px #0000004d}.scroll::-webkit-scrollbar{background-color:initial;width:8px}.scroll::-webkit-scrollbar-thumb{background:#00b89480;border-radius:8px}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{background:#15313e;color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.show{display:inline-block;filter:blur(4px);opacity:0}.show:first-child{animation:fade-in .8s cubic-bezier(.11,0,.5,0) .1s forwards}.show:nth-child(2){animation:fade-in .8s cubic-bezier(.11,0,.5,0) .2s forwards}.show:nth-child(3){animation:fade-in .8s cubic-bezier(.11,0,.5,0) .3s forwards}.show:nth-child(4){animation:fade-in .8s cubic-bezier(.11,0,.5,0) .4s forwards}.show:nth-child(5){animation:fade-in .8s cubic-bezier(.11,0,.5,0) .5s forwards}@keyframes fade-in{to{filter:blur(0);opacity:1}}.animate-title{-webkit-text-fill-color:#0000;animation:textclip 2s linear;background-clip:initial;background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(-225deg,#04715b,#00b894 0,#6f0 67%,#13c0ff);background-size:initial;background-size:200% auto;color:#fff;display:inline-block;font-size:190px;text-transform:uppercase}@keyframes textclip{to{background-position:200%}}.snake{background:#4f78f8;outline:1px solid #01579b}.wall{background-color:#578a34}.fruit{background-color:#dd2c00}.grass{background-color:#aad751}.grass2{background-color:#a2d149}.node{-webkit-user-select:none;user-select:none}.node-shortest-path{animation-delay:0;animation-direction:alternate;animation-duration:1.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:shortestPath;animation-play-state:running;animation-timing-function:ease-out}.node-visited{animation-delay:0;animation-direction:alternate;animation-duration:1.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:visitedAnimation;animation-play-state:running;animation-timing-function:ease-out}@keyframes visitedAnimation{0%{background-color:#000042bf;border-radius:100%;transform:scale(.3)}50%{background-color:#1168d9bf}75%{background-color:#00d99fbf;transform:scale(1.2)}to{background-color:#4dd0e1;transform:scale(1)}}@keyframes shortestPath{0%{background-color:#76ff03;transform:scale(.6)}50%{background-color:#76ff03;transform:scale(1.2)}to{background-color:#76ff03;transform:scale(1)}}.start-node{background-color:#4caf50}.finish-node{background-color:#f44336}.wall-node{background-color:#2979ff}.blink{animation:blink-animation .5s steps(5,start) infinite;-webkit-animation:blink-animation .5s steps(5,start) infinite;transition:all .3s ease}@keyframes blink-animation{to{visibility:hidden}}@keyframes rollout{0%{transform:scale(0)}to{transform:scale(1)}}.scale-up{animation:rollout .4s}.cubo{border-radius:10px;display:grid;grid-template-columns:12px 12px 12px;grid-template-rows:12px 12px 12px;margin-left:10px}.colors{border:.1px solid #2a2a2a;border-radius:1px}.colors:first-child{background:#fc5c65}.colors:nth-child(2),.colors:nth-child(7){background:#fff}.colors:nth-child(3){background:#fd9644}.colors:nth-child(4),.colors:nth-child(5),.colors:nth-child(9){background:#26de81}.colors:nth-child(6){background:#3867d6}.colors:nth-child(8){background:#fed330}.project-timeline{padding-bottom:1rem;position:relative}.project-timeline:before{background:linear-gradient(180deg,#00b894,#00b89429);content:"";inset:0 auto 0 50%;position:absolute;transform:translateX(-50%);width:2px}.timeline-entry{display:grid;grid-template-columns:1fr 88px 1fr;min-height:180px;padding-bottom:3.5rem;position:relative}.timeline-year{align-self:start;border-radius:999px;font-size:.82rem;font-weight:800;grid-column:2;justify-self:center;letter-spacing:.03em;line-height:1;margin-top:.85rem;min-width:64px;padding:7px 10px;text-align:center;z-index:3}.timeline-card{align-self:start;border:1px solid;border-radius:14px;overflow:hidden}.timeline-card-left{grid-column:1;grid-row:1}.timeline-card-right{grid-column:3;grid-row:1}.timeline-image-button{background:#0b1715;border:0;cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;width:100%}.timeline-image-button img{aspect-ratio:16/8.7;display:block;object-fit:cover;transition:transform .3s ease,opacity .3s ease;width:100%}.timeline-image-button span{align-items:center;background:#071b18d9;border-radius:999px;bottom:12px;color:#fff;display:flex;font:600 .76rem Lato,sans-serif;gap:6px;opacity:0;padding:7px 10px;position:absolute;right:12px;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease}.timeline-image-button:focus-visible img,.timeline-image-button:hover img{opacity:.82;transform:scale(1.02)}.timeline-image-button:focus-visible span,.timeline-image-button:hover span{opacity:1;transform:translateY(0)}.timeline-dialog-image{border-radius:8px;display:block;height:auto;width:100%}@media (max-width:899px){.project-timeline:before{left:11px}.timeline-entry{display:block;min-height:0;padding:0 0 3rem 38px}.timeline-year{display:inline-block;font-size:.8rem;margin:0 0 1rem;min-width:60px}.timeline-card{width:100%}}@media (prefers-reduced-motion:reduce){.timeline-image-button img,.timeline-image-button span{transition:none}}
/*# sourceMappingURL=main.5bfb8762.css.map*/