.line.svelte-1u3x6u2.svelte-1u3x6u2,.line-fill.svelte-1u3x6u2.svelte-1u3x6u2{position:absolute;left:calc(var(--circle-diameter) * 1px / -2);transform:scale(1);transform-origin:center;transition:.3s ease}.timeline.svelte-1u3x6u2:hover .line.svelte-1u3x6u2{transform:scale(1.1);transform-origin:center;transition:.3s ease}.line-fill.svelte-1u3x6u2.svelte-1u3x6u2{transform:rotate(var(--deg)) scale(1);transition:.3s ease}.timeline.svelte-1u3x6u2:hover .line-fill.svelte-1u3x6u2{transform:rotate(var(--deg)) scale(1.1);transform-origin:center;transition:.3s ease}.timeline.svelte-1u3x6u2.svelte-1u3x6u2{position:relative;pointer-events:none}.circle-shape.svelte-1u3x6u2.svelte-1u3x6u2{--radius-y:calc((var(--circle-diameter) * 1px + 60px)/ 2);--radius-x:calc((var(--circle-diameter) * 1px)/ 2);-webkit-shape-outside:ellipse(var(--radius-y) var(--radius-x) at 0);shape-outside:ellipse(var(--radius-y) var(--radius-x) at 0);aspect-ratio:1;height:calc(var(--circle-diameter) * 1px);float:left;transform:scale(1);transform-origin:top left;transition:.3s ease}.timeline.svelte-1u3x6u2:hover .circle-shape.svelte-1u3x6u2{--radius-y:calc((var(--circle-diameter) * 1px + 60px) * 1.1 * 1.1/ 2);--radius-x:calc((var(--circle-diameter) * 1px) * 1.1 * 1.1/ 2);height:calc(var(--circle-diameter) * 1px * 1.1);transform-origin:top left;transition:.3s ease}.circle-fill.svelte-1u3x6u2.svelte-1u3x6u2{position:absolute;height:calc(var(--circle-diameter) * 1px / 2);left:calc(var(--circle-diameter) * 1px / -4);top:calc(var(--circle-diameter) * 1px / 4);aspect-ratio:1;border-radius:50%;transform:rotate(calc(var(--deg) * -2)) scale(1);background:linear-gradient(#ffffff01 0%,#ffffff52);transition:.3s ease}.timeline.svelte-1u3x6u2:hover .circle-fill.svelte-1u3x6u2{transform:rotate(calc(var(--deg) * -2)) scale(1.1);transform-origin:center;transition:.3 ease}.timeline-item.svelte-1u3x6u2.svelte-1u3x6u2{margin:0;--line-height:45px;line-height:var(--line-height);height:var(--line-height);font-size:13px;transition:.3s ease;pointer-events:auto;cursor:pointer;opacity:.4}.timeline.svelte-1u3x6u2:hover .timeline-item.svelte-1u3x6u2{--line-height:55px;transition:.3s ease}.timeline-item.svelte-1u3x6u2.svelte-1u3x6u2:hover{font-size:16px;transition:.3s ease;line-height:55px;height:55px;opacity:1!important}.timeline-item.active.svelte-1u3x6u2.svelte-1u3x6u2{font-size:16px;transition:.3s ease;opacity:1!important}.timeline-item-container.svelte-1u3x6u2.svelte-1u3x6u2{z-index:3;--offset:calc(var(--hover-index) - var(--items)/2);margin-top:calc((var(--circle-diameter) * 1px - (55px * var(--items)) - (25px * var(--offset)))/2);transition:.3s ease}.timeline.svelte-1u3x6u2:hover .timeline-item-container.svelte-1u3x6u2{z-index:9999;--offset:calc(var(--hover-index) - var(--items)/2);margin-top:calc((var(--circle-diameter) * 1px * 1.1 - (55px * var(--items)) - (55px * var(--offset)) - 20px)/2);transition:.3s ease;pointer-events:auto}.svelte-1u3x6u2.svelte-1u3x6u2{color:#fff}.glow.svelte-z1rczq{animation:svelte-z1rczq-glow 1s alternate infinite}@keyframes svelte-z1rczq-glow{0%{opacity:.3}to{opacity:1}}.progress-bar.svelte-z1rczq{height:1px;width:100%;margin:auto;background-color:#ffffff20}.progress-indicator.svelte-z1rczq{background-color:#fff;height:100%;transition:.5s ease}@keyframes svelte-z1rczq-lds-ellipsis1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes svelte-z1rczq-lds-ellipsis3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes svelte-z1rczq-lds-ellipsis2{0%{transform:translate(0)}to{transform:translate(24px)}}a.svelte-dfyki5{color:#fff}.class-select.svelte-1k072jg.svelte-1k072jg{border:1px solid #666666;border-radius:15px;background-color:#000;width:120px;height:120px;margin-right:10px;padding-top:3px;transition:.2s ease;opacity:.8;cursor:pointer}.class-select.svelte-1k072jg img.svelte-1k072jg{mix-blend-mode:screen;transition:.2s ease;filter:brightness(1)}.class-select.svelte-1k072jg.svelte-1k072jg:hover,.class-select.active.svelte-1k072jg.svelte-1k072jg{border:1px solid #aaaaaa;transition:.2s ease}.class-select.svelte-1k072jg:hover img.svelte-1k072jg,.class-select.active.svelte-1k072jg img.svelte-1k072jg{transform:scale(1.1);transition:.2s ease;filter:brightness(2.5)}#modal.svelte-1k072jg.svelte-1k072jg{display:none;z-index:-100;will-change:auto}#modal.will-change.svelte-1k072jg.svelte-1k072jg{will-change:opacity scroll-position contents}#modal.show.svelte-1k072jg.svelte-1k072jg{display:block;z-index:9998}#modal.show *{animation-name:svelte-1k072jg-fadeIn;animation-duration:.5s}@keyframes svelte-1k072jg-fadeIn{0%{opacity:0}to{opacity:1}}#loading.svelte-1k072jg.svelte-1k072jg{transition:1s ease;opacity:1}#loading.out.svelte-1k072jg.svelte-1k072jg{transition:1s ease;opacity:0;pointer-events:none}.panels.svelte-1k072jg.svelte-1k072jg{opacity:0;transition:opacity 0s ease 0s,order 0s;order:1;z-index:0}.panels.active.svelte-1k072jg.svelte-1k072jg{opacity:1;order:0;transition:opacity .6s ease .3s;z-index:1}#code-typed-container.svelte-1k072jg.svelte-1k072jg{border-radius:5px;width:450px}#code-typed.svelte-1k072jg.svelte-1k072jg{font-size:.9rem}.unselectable.svelte-1k072jg.svelte-1k072jg{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ability.svelte-1k072jg.svelte-1k072jg{border:1px solid #333333;background:#ffffff00;transition:.3s ease}.ability.svelte-1k072jg img.svelte-1k072jg{opacity:.6;transition:.3s ease}.ability.svelte-1k072jg.svelte-1k072jg:hover,.ability.active.svelte-1k072jg.svelte-1k072jg{border:2px solid #999999;background:#ffffff45;transition:.3s ease}.ability.svelte-1k072jg:hover img.svelte-1k072jg,.ability.active.svelte-1k072jg img.svelte-1k072jg{opacity:1;transition:.3s ease}.section.svelte-1k072jg.svelte-1k072jg{position:fixed;height:100vh;width:100vw;display:flex;justify-content:center;align-content:center;align-items:center}.section.svelte-1k072jg p.svelte-1k072jg{font-family:var(--secondary-font)}canvas.svelte-1k072jg.svelte-1k072jg{image-rendering:crisp-edges;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:-o-crisp-edges;image-rendering:optimize-contrast;-ms-interpolation-mode:nearest-neighbor}.project-row img{transform:scale(1);transition:.3s ease}.project-row:hover img{transform:scale(1.2);transition:.3s ease}.project-row:hover .w-50{background:#ffffff10;transition:.3s ease}g.svelte-1k072jg>text.svelte-1k072jg{font-size:1rem;fill:#fff;font-family:Be Vietnam Pro;font-weight:300}
