.summary-popover.svelte-1jao5fg{pointer-events:auto;margin-inline:auto;margin-bottom:0;display:inline-block}.summary-popover.svelte-1jao5fg:focus-visible{outline:1px solid var(--clr-light-500);background:0 0}.summary-popover.svelte-1jao5fg .summary-button:where(.svelte-1jao5fg){color:var(--clr-warning-500);margin:0;padding:0}.summary-popover.svelte-1jao5fg [data-close]:where(.svelte-1jao5fg){color:var(--clr-fail-500);font-family:var(--bronova-bold);font-size:clamp(var(--h5), 1.5vw, var(--h3));cursor:pointer;background:0 0;border:none;font-weight:700;position:absolute;top:.5em;right:.25em}.summary-popover.svelte-1jao5fg [data-close]:where(.svelte-1jao5fg) svg:where(.svelte-1jao5fg){block-size:clamp(1.5em,3vw,2.5rem);inline-size:clamp(1.5em,3vw,2.5rem)}.summary-popover.svelte-1jao5fg [data-close]:where(.svelte-1jao5fg):focus,.summary-popover.svelte-1jao5fg [data-close]:where(.svelte-1jao5fg):focus-visible{outline:1px solid var(--clr-light-500);box-shadow:none}.summary-popover.svelte-1jao5fg [data-summary-content]:where(.svelte-1jao5fg){min-inline-size:40%}.summary-popover.svelte-1jao5fg [data-summary-content]:where(.svelte-1jao5fg) .popover-inner:where(.svelte-1jao5fg){position:relative}.summary-popover.svelte-1jao5fg [data-summary-content]:where(.svelte-1jao5fg) [data-summary-text]:where(.svelte-1jao5fg){flex-direction:column;gap:1.5rem;margin-top:2.5rem;display:flex}.summary-popover.svelte-1jao5fg p:where(.svelte-1jao5fg){font-weight:600}.summary-popover.svelte-1jao5fg p:where(.svelte-1jao5fg) .pwa-title:where(.svelte-1jao5fg){color:var(--clr-blue-500);font-family:var(--bronova-bold);font-size:clamp(var(--h6), 2.5vw, var(--h3));font-weight:900}.summary-popover.svelte-1jao5fg p:where(.svelte-1jao5fg):first-of-type{color:var(--clr-light-500);font-weight:200;font-size:clamp(var(--sm), 1.25vw, var(--h5))}.summary-popover.svelte-1jao5fg p:where(.svelte-1jao5fg):last-of-type{color:var(--light-gray);font-size:clamp(var(--sm), 1.25vw, var(--h5))}.summary-popover.svelte-1jao5fg button:where(.svelte-1jao5fg){color:var(--clr-blue-500);filter:brightness();inline-size:fit-content;font-family:var(--bronova);font-size:clamp(var(--h6), 1.5vw, var(--h4));cursor:pointer;text-wrap:pretty;background-color:#0000;border:none;margin:0;padding:.25rem 1rem;font-weight:600;transition:scale .15s ease-out}.summary-popover.svelte-1jao5fg button:where(.svelte-1jao5fg):not(:hover){opacity:.85}.summary-popover.svelte-1jao5fg button:where(.svelte-1jao5fg):active{scale:.95}.summary-popover.svelte-1jao5fg [popover]:where(.svelte-1jao5fg){font-family:var(--bronova);font-size:clamp(var(--sm), 5vw, var(--h3));letter-spacing:2px;padding:var(--padding-modal);color:var(--clr-light-500);border:1px solid var(--clr-gray-500-fade);max-inline-size:40%;margin-block:auto;margin-inline:auto;overflow-y:auto}@media (width<768px){.summary-popover.svelte-1jao5fg [popover]:where(.svelte-1jao5fg){letter-spacing:1px;max-height:70vh}}[popover].svelte-1jao5fg{border-radius:var(--radius);padding:calc(var(--space-md) - .2rem) calc(var(--space-md) + .3rem);opacity:0;transition:all .5s allow-discrete;display:none;transform:translateY(-5rem)}[popover].svelte-1jao5fg:popover-open{opacity:1;display:block;transform:translateY(0)}@media (width<=768px){[popover].svelte-1jao5fg:popover-open{min-inline-size:95%}}@starting-style{[popover].svelte-1jao5fg:popover-open{opacity:0;display:block;transform:translateY(2rem)}}[popover].svelte-1jao5fg::backdrop{transition:display .5s allow-discrete, overlay .5s allow-discrete, background-color .5s;background-color:#0000}[popover].svelte-1jao5fg:popover-open::backdrop{background-color:#00000080}@starting-style{[popover].svelte-1jao5fg:popover-open::backdrop{background-color:#0000}}.project-card.svelte-1xo69uk{border:2px solid var(--clr-gray-500-fade);border-radius:1em 1em var(--radius) var(--radius);will-change:opacity, transform;flex-direction:column;gap:0;block-size:auto;display:flex}@media (width<=768px){.project-card.svelte-1xo69uk{border:none}}.project-card.svelte-1xo69uk.no-border{border:none}.project-card.svelte-1xo69uk .summary-wrapper:where(.svelte-1xo69uk){pointer-events:auto;justify-content:center;inline-size:100%;display:flex}.project-card.svelte-1xo69uk .title-link:where(.svelte-1xo69uk){pointer-events:auto;inline-size:fit-content;margin-inline:auto;text-decoration:none}.project-card.svelte-1xo69uk .title-link:where(.svelte-1xo69uk):focus,.project-card.svelte-1xo69uk .title-link:where(.svelte-1xo69uk):focus-visible{outline:1px solid var(--clr-light-500);outline-offset:2px;box-shadow:none;background-color:#0000}.project-card.svelte-1xo69uk .title-link:where(.svelte-1xo69uk) .project-title:where(.svelte-1xo69uk){font-family:var(--ultra);font-size:clamp(var(--h4), 2.75vw, var(--h3));text-align:center;letter-spacing:0;text-transform:uppercase;color:var(--clr-dark-500);text-shadow:0 0 1px var(--clr-dark-500), -3px -3px 0 var(--clr-light-500), 3px -3px 0 var(--clr-light-500), -3px 3px 0 var(--clr-light-500), 3px 3px 0 var(--clr-light-500), -3px 0 0 var(--clr-light-500), 3px 0 0 var(--clr-light-500), 0 -3px 0 var(--clr-light-500), 0 3px 0 var(--clr-light-500);text-wrap:pretty;margin:0;padding:0;font-weight:600;line-height:1.2;text-decoration:none;transition:scale .15s ease-out}@media (width>=990px){.project-card.svelte-1xo69uk .title-link:where(.svelte-1xo69uk) .project-title:where(.svelte-1xo69uk){text-wrap:balance}}@media (width<=768px){.project-card.svelte-1xo69uk .title-link:where(.svelte-1xo69uk) .project-title:where(.svelte-1xo69uk){text-shadow:0 0 1px var(--clr-dark-500), -2px -2px 0 var(--clr-light-500), 2px -2px 0 var(--clr-light-500), -2px 2px 0 var(--clr-light-500), 2px 2px 0 var(--clr-light-500), -2px 0 0 var(--clr-light-500), 2px 0 0 var(--clr-light-500), 0 -2px 0 var(--clr-light-500), 0 2px 0 var(--clr-light-500);margin-top:1em}}.project-card.svelte-1xo69uk .title-link:where(.svelte-1xo69uk) .project-title:where(.svelte-1xo69uk):active{scale:.95}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk){cursor:pointer;touch-action:manipulation;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:manipulation;z-index:200;background-color:#0000;border:none;flex-direction:column;flex-basis:50%;justify-content:center;align-items:center;inline-size:fit-content;margin-inline:auto;text-decoration:none;transition:all .35s;display:flex;position:relative}@media (width>=768px){.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) img:where(.svelte-1xo69uk):hover{transition:scale .25s}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) .description:where(.svelte-1xo69uk){inline-size:80%}}@media (width>=990px){.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk){padding:calc(var(--space-md) + .8rem);flex-basis:var(--100)}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) .description:where(.svelte-1xo69uk){inline-size:100%}}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk):focus{outline:1px solid var(--clr-light-500);box-shadow:none;background:0 0}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) .project-image:where(.svelte-1xo69uk){border-radius:var(--radius);block-size:auto;inline-size:100vw;max-inline-size:var(--100);border:1px solid var(--clr-light-500);object-fit:cover;filter:var(--screenshot-filter,none);anchor-name:--project-image;margin:0;padding:.2vw;transition:scale .25s ease-out;position:relative}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) .project-image:where(.svelte-1xo69uk):hover~.description:where(.svelte-1xo69uk){visibility:visible;opacity:1;pointer-events:auto}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) .project-image:where(.svelte-1xo69uk):hover{filter:blur(1px)brightness(.75)}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) .project-image:where(.svelte-1xo69uk):active{scale:.95}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) .description:where(.svelte-1xo69uk){visibility:hidden;opacity:0;background-color:var(--clr-light-500);inline-size:fit-content;color:var(--clr-dark-500);text-align:center;border:1px solid var(--clr-dark-500);border-radius:var(--radius);padding:var(--padding-button);font-family:var(--bronova);font-size:clamp(var(--sm), 1.15vw, var(--h5));text-transform:lowercase;pointer-events:none;z-index:10;position-anchor:--project-image;top:anchor(bottom);left:anchor(center);margin-inline:auto;font-weight:400;transition:all .25s ease-out;position:absolute;transform:translate(-50%)}.project-card.svelte-1xo69uk .project-link:where(.svelte-1xo69uk) .description:where(.svelte-1xo69uk) .description-title:where(.svelte-1xo69uk){font-family:var(--bronova-bold)}.testimonial.svelte-1h4db02{--dark-bg-rgb:var(--clr-light-500);--light-bg-rgb:var(--clr-dark-500);background-color:hsla(var(--light-bg-rgb), .25);border-radius:var(--radius);padding:calc(var(--space-md) + .8rem);box-shadow:0 0 12px var(--clr-light-500);max-inline-size:50em;margin-top:-4.5rem;margin-bottom:2rem;opacity:0;width:95%;animation:.8s ease-out forwards svelte-1h4db02-fadeIn;animation-delay:var(--stagger-delay,0s);will-change:opacity, transform;-webkit-user-select:none;user-select:none;margin-inline:auto;padding-bottom:4em;transition:transform .2s,box-shadow .2s;position:relative;scale:.75}@media (width<=768px){.testimonial.svelte-1h4db02{margin-top:-1rem;scale:.95}}.testimonial.svelte-1h4db02:hover{transform:translateY(-5px)}.testimonial.svelte-1h4db02 .author-info:where(.svelte-1h4db02){border-radius:var(--radius);padding:calc(var(--space-md) - .55rem);flex-direction:column;display:flex}.testimonial.svelte-1h4db02 .author-info:where(.svelte-1h4db02) strong:where(.svelte-1h4db02){font-size:clamp(var(--sm), 1.75vw, var(--h5));color:var(--clr-light-500);letter-spacing:0;font-weight:600}.testimonial.svelte-1h4db02 .author-info:where(.svelte-1h4db02) span:where(.svelte-1h4db02){color:var(--clr-light-500);font-size:clamp(var(--xs), 1.25vw, var(--h6));opacity:.5;letter-spacing:-1px;font-weight:400}@media (width<=768px){.testimonial.svelte-1h4db02 .author-info:where(.svelte-1h4db02) span:where(.svelte-1h4db02){text-align:center}}.testimonial.svelte-1h4db02 .quote-mark:where(.svelte-1h4db02){color:var(--clr-light-500);font-family:Georgia,serif;font-size:4rem;line-height:1;position:absolute;top:1rem;left:1.5rem}.testimonial.svelte-1h4db02 blockquote:where(.svelte-1h4db02){font-size:clamp(var(--h6), 1.5vw, var(--h3));color:var(--clr-light-500);border-left:none;margin:0;padding-left:1rem;font-style:italic;line-height:1.5}.testimonial.svelte-1h4db02 .testimonial-footer:where(.svelte-1h4db02){border-top:1px solid var(--clr-light-500);max-inline-size:55em;padding:1rem 0;padding:calc(var(--space-md) + .7rem);background-color:#0000;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}@media (width<=768px){.testimonial.svelte-1h4db02 .testimonial-footer:where(.svelte-1h4db02){flex-direction:column;padding-bottom:.75rem;display:flex}}.testimonial.svelte-1h4db02 .testimonial-footer:where(.svelte-1h4db02) .avatar:where(.svelte-1h4db02){flex-shrink:0;overflow:clip}.testimonial.svelte-1h4db02 .testimonial-footer:where(.svelte-1h4db02) .avatar:where(.svelte-1h4db02) img:where(.svelte-1h4db02){vertical-align:middle;border-radius:50%;inline-size:150px}@media (width<=500px){.testimonial.svelte-1h4db02 .testimonial-footer:where(.svelte-1h4db02) .avatar:where(.svelte-1h4db02) img:where(.svelte-1h4db02){inline-size:145px}}body.light .testimonial.svelte-1h4db02{background-color:rgba(var(--dark-bg-rgb), .25)}.highlighted.svelte-1h4db02{border-left:3px solid #292929}@media (max-inline-size:640px){.testimonial.svelte-1h4db02{width:90%;margin-inline:auto;padding:1.5rem}}@keyframes svelte-1h4db02-fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.github-contributions.svelte-9tsnth{max-inline-size:900px;padding:var(--padding-section);font-family:var(--bronova);flex-direction:column;align-items:center;margin:0;margin-inline:auto;display:flex;container:github-contributions/inline-size}.github-contributions.svelte-9tsnth .contributions-header:where(.svelte-9tsnth){margin-bottom:2rem}.github-contributions.svelte-9tsnth .contributions-header:where(.svelte-9tsnth) h2:where(.svelte-9tsnth){font-family:var(--bronova-bold);font-size:clamp(var(--sm), 2vw, var(--h4));color:var(--clr-light-500);text-transform:lowercase;letter-spacing:.5px;margin-bottom:-.2em;font-weight:700}.github-contributions.svelte-9tsnth .contributions-header:where(.svelte-9tsnth) h3:where(.svelte-9tsnth){font-family:var(--bronova);font-size:clamp(var(--sm), 1.25vw, var(--h5));color:var(--clr-dark-500-fade);text-transform:lowercase;letter-spacing:.5px;margin-bottom:.5rem;font-weight:600}.github-contributions.svelte-9tsnth .total-contributions:where(.svelte-9tsnth){font-size:clamp(var(--xs), 1.25vw, var(--sm));color:var(--clr-dark-500-fade);opacity:.7;margin:0;font-weight:400}.github-contributions.svelte-9tsnth .total-contributions:where(.svelte-9tsnth).loading{opacity:.5}.github-contributions.svelte-9tsnth .total-contributions:where(.svelte-9tsnth).error{color:#ff6b6b;opacity:.8}.github-contributions.svelte-9tsnth .loading-container:where(.svelte-9tsnth){justify-content:center;align-items:center;min-block-size:200px;inline-size:100%;display:flex}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth){inline-size:100%;min-inline-size:50vw;padding:calc(var(--space-md) - .3rem);border-radius:8px;flex-direction:column;align-items:center;gap:1rem;display:flex;position:relative}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .mobile-tooltip:where(.svelte-9tsnth){background:var(--clr-light-500);inline-size:max-content;max-inline-size:min(280px,100vw - 2rem);color:var(--clr-contribution-bg);padding:var(--padding-nav);font-size:.75rem;font-family:var(--bronova);pointer-events:none;z-index:1000;border-radius:6px;animation:.2s ease-out svelte-9tsnth-tooltipFadeIn;position:absolute;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .mobile-tooltip:where(.svelte-9tsnth) .tooltip-content:where(.svelte-9tsnth){margin-bottom:.125rem;font-weight:600}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .mobile-tooltip:where(.svelte-9tsnth) .tooltip-date:where(.svelte-9tsnth){opacity:.9;font-size:.65rem;font-weight:400}@container github-contributions (width<=767px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth){gap:.75rem;padding:1rem}}@container github-contributions (width<=500px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth){min-width:99%;padding:.5rem}}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth){scroll-behavior:smooth;justify-content:flex-start;width:100%;display:flex;overflow:auto visible}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth)::-webkit-scrollbar{height:6px}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth)::-webkit-scrollbar-track{background:0 0}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth)::-webkit-scrollbar-thumb{background:var(--clr-light-500);opacity:.3;border-radius:3px}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth){min-width:max-content;font-family:var(--bronova);block-size:auto;max-inline-size:100%}@container github-contributions (width<=800px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth){transform-origin:50%;transform:scale(.9)}}@container github-contributions (width<=700px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth){transform-origin:50%;transform:scale(.8)}}@container github-contributions (width<=600px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth){transform-origin:50%;transform:scale(.7)}}@container github-contributions (width<=500px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth){transform-origin:50%;transform:scale(.6)}}@container github-contributions (width<=400px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth){transform-origin:50%;transform:scale(.5)}}@container github-contributions (width<=320px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth){transform-origin:50%;transform:scale(.45)}}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .month-label:where(.svelte-9tsnth){fill:var(--clr-light-500);opacity:.7;font-size:1.05rem;font-weight:400}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .day-label:where(.svelte-9tsnth){fill:var(--clr-light-500);opacity:.7;font-size:.9rem;font-weight:400}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth){cursor:pointer;transition:all .2s}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth):hover{stroke:var(--clr-light-500);stroke-width:1px;opacity:.8}@container github-contributions (width<=600px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth) title:where(.svelte-9tsnth){display:none}}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth).none{fill:var(--clr-dark-500-fade)}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth).low{fill:#0e4429}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth).medium{fill:#006d32}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth).high{fill:#26a641}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth).very-high{fill:#39d353}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth):focus-visible{outline:3px solid var(--clr-light-500);outline-offset:2px;stroke:var(--clr-light-500);stroke-width:2px}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth){font-size:clamp(var(--xs), 2vw, var(--sm));color:var(--clr-light-500);opacity:.6;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1rem;font-weight:400;display:flex}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth){gap:2px;margin:0 .5rem;display:flex}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth) .legend-square:where(.svelte-9tsnth){border:none;border-radius:2px;width:.75rem;height:.75rem}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth) .legend-square:where(.svelte-9tsnth).none{background-color:var(--clr-dark-500-fade,#ebedf0)}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth) .legend-square:where(.svelte-9tsnth).low{background-color:#0e4429}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth) .legend-square:where(.svelte-9tsnth).medium{background-color:#006d32}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth) .legend-square:where(.svelte-9tsnth).high{background-color:#26a641}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth) .legend-square:where(.svelte-9tsnth).very-high{background-color:#39d353}body.dark .contribution-day.none.svelte-9tsnth{fill:var(--clr-dark-500)}body.dark .legend-square.none.svelte-9tsnth{background-color:var(--clr-dark-500)}@container github-contributions (width>=600px){.contribution-day.svelte-9tsnth:hover{stroke-width:2px}}@keyframes svelte-9tsnth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes svelte-9tsnth-tooltipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(-5px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@container github-contributions (width<=600px){.github-contributions.svelte-9tsnth{padding:1rem .5rem}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth){transform:none!important}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .month-label:where(.svelte-9tsnth){font-size:1rem}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .day-label:where(.svelte-9tsnth){font-size:.8rem}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .contribution-day:where(.svelte-9tsnth):hover{stroke-width:1px}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth){gap:.375rem;margin-top:.75rem;font-size:.75rem}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth){gap:2px}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth) .legend-square:where(.svelte-9tsnth){border-radius:1px;width:.65rem;height:.65rem}}@container github-contributions (width<=400px){.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth){min-width:100vw}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth){font-size:.65rem}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .legend:where(.svelte-9tsnth) .legend-squares:where(.svelte-9tsnth) .legend-square:where(.svelte-9tsnth){width:.6rem;height:.6rem}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .month-label:where(.svelte-9tsnth){font-size:.9rem}.github-contributions.svelte-9tsnth .calendar-container:where(.svelte-9tsnth) .calendar-svg-wrapper:where(.svelte-9tsnth) .contributions-svg:where(.svelte-9tsnth) .day-label:where(.svelte-9tsnth){font-size:.7rem}}:root{--100:100%}.github-section.svelte-rqn88j{padding:var(--padding-section);background:0 0;border-radius:12px;min-block-size:300px;margin:2rem 0}@media (width<=768px){.github-section.svelte-rqn88j{min-block-size:250px;margin:1rem;padding:1rem}}.github-section.svelte-rqn88j .contribution-container:where(.svelte-rqn88j){text-align:center;max-inline-size:1200px;margin:0 auto}.github-section.svelte-rqn88j .github-skeleton:where(.svelte-rqn88j){opacity:.6;animation:2s ease-out infinite alternate svelte-rqn88j-pulse}.github-section.svelte-rqn88j .github-skeleton:where(.svelte-rqn88j) .skeleton-header:where(.svelte-rqn88j){margin-bottom:2rem}.github-section.svelte-rqn88j .github-skeleton:where(.svelte-rqn88j) .skeleton-header:where(.svelte-rqn88j) .skeleton-title:where(.svelte-rqn88j){background:var(--clr-light-500);opacity:.3;border-radius:4px;block-size:2rem;inline-size:200px;margin:0 auto .5rem}.github-section.svelte-rqn88j .github-skeleton:where(.svelte-rqn88j) .skeleton-header:where(.svelte-rqn88j) .skeleton-subtitle:where(.svelte-rqn88j){background:var(--clr-light-500);opacity:.2;border-radius:4px;block-size:1rem;inline-size:150px;margin:0 auto}.github-section.svelte-rqn88j .github-skeleton:where(.svelte-rqn88j) .skeleton-chart:where(.svelte-rqn88j){background:var(--clr-light-500);opacity:.1;border-radius:8px;block-size:150px;margin-bottom:1rem}.github-section.svelte-rqn88j .github-skeleton:where(.svelte-rqn88j) .skeleton-legend:where(.svelte-rqn88j){background:var(--clr-light-500);opacity:.1;border-radius:4px;block-size:20px;inline-size:200px;margin:0 auto}.projects.svelte-rqn88j{background:linear-gradient(to bottom, oklch(from var(--clr-light-500-fade) .35 c h) 0%, var(--clr-dark-500) 12%, var(--clr-dark-500) 100%)}.projects.svelte-rqn88j .bevel-border:where(.svelte-rqn88j){grid-template-columns:repeat(auto-fit,minmax(500px,1fr));place-items:center;margin:0;padding:2rem;display:grid;position:relative}@media (width<=500px){.projects.svelte-rqn88j .bevel-border:where(.svelte-rqn88j){grid-template-columns:1fr;padding:2em 0}}.projects.svelte-rqn88j .bevel-border:where(.svelte-rqn88j):before{content:"";background:var(--clr-gray-500-fade);clip-path:polygon(0 40px,40px 0,calc(100% - 40px) 0,100% 40px,100% calc(100% - 40px),calc(100% - 40px) 100%,40px 100%,0 calc(100% - 40px),0 40px,5px 41.03px,5px calc(100% - 41.03px),41.03px calc(100% - 5px),calc(100% - 41.03px) calc(100% - 5px),calc(100% - 5px) calc(100% - 41.03px),calc(100% - 5px) 41.03px,calc(100% - 41.03px) 5px,41.03px 5px,5px 41.03px);position:absolute;inset:0}.projects.svelte-rqn88j .bevel-border:where(.svelte-rqn88j) .wholeProject:where(.svelte-rqn88j){border-radius:var(--radius);will-change:opacity, transform;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;margin-bottom:1em;padding:1em 0 .5em;display:flex}@media (width<=768px){.projects.svelte-rqn88j .bevel-border:where(.svelte-rqn88j) .wholeProject:where(.svelte-rqn88j){margin:.5rem .5rem 1.5em;padding:.25px 0}}@media (width<=768px){.projects.svelte-rqn88j .popover-icon svg path{stroke:var(--clr-warning-500)}}@keyframes svelte-rqn88j-pulse{0%{opacity:.4}to{opacity:.6}}@keyframes svelte-rqn88j-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100px)}}@keyframes svelte-rqn88j-slide-in{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}::view-transition-old(build-heading){opacity:0}::view-transition-group(build-heading){animation-duration:var(--link-transition-duration);animation-timing-function:cubic-bezier(.4,0,.2,1)}@media (width<=768px){::view-transition-old(build-heading){animation:svelte-rqn88j-slide-out var(--title-transition-duration) ease-out forwards;opacity:1}::view-transition-new(build-heading){animation:svelte-rqn88j-slide-in var(--title-transition-duration) ease-out forwards}}@media (prefers-reduced-motion:reduce){.github-skeleton.svelte-rqn88j{animation:none}::view-transition-group(build-heading){animation:none}::view-transition-old(build-heading){animation:none}::view-transition-new(build-heading){animation:none}}
