@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Bebas+Neue&family=Georama:wght@400;500;700&family=DM+Serif+Display:ital@0;1&family=Fira+Code:wght@400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Creepster&family=Monoton&family=Bungee+Shade&family=Special+Elite&family=Permanent+Marker&family=Space+Mono&display=swap);body,html{padding:0}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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.pixel-header{align-items:center;contain:layout style paint;flex-direction:column;height:100vh;scroll-snap-align:start;text-align:center}.hero-text,.pixel-header{display:flex;justify-content:center;position:relative}.hero-text{--jake-slot-width:3.00ch;align-items:baseline;color:var(--text-color);font-size:clamp(2.5rem,8vw,5.5rem);height:1.5em;line-height:1;margin:0;transition:color var(--theme-transition);z-index:1}.hero-prefix{display:inline-block;white-space:pre}.stars-layer{inset:0;-webkit-mask-image:linear-gradient(180deg,#000 0,#00000080 70%,#0000);mask-image:linear-gradient(180deg,#000 0,#00000080 70%,#0000);opacity:0;pointer-events:none;position:absolute;transition:opacity var(--theme-transition);z-index:0}[data-theme=dark] .stars-layer{opacity:1}.star{position:absolute;transform:translate(-50%,-50%)}[data-theme=dark] .star{color:#fff}.highlight-slot{text-align:center;vertical-align:initial;width:var(--jake-slot-width)}.hero-text .highlight,.highlight-slot{display:inline-block;height:1em;overflow:visible}.hero-text .highlight{color:var(--dot-color);font-style:normal;font-weight:400;line-height:1;margin-left:var(--jake-offset);padding:0;transition:font-family .05s ease;white-space:nowrap}.hero-text,.hero-text *{-webkit-user-select:none;user-select:none}.font-bbh-bartle{font-family:BBH Bartle,Bebas Neue,sans-serif}.font-playfair{font-family:Playfair Display,serif}.font-bebas{font-family:Bebas Neue,sans-serif}.font-geom{font-family:Georama,sans-serif}.font-dm-serif{font-family:"DM Serif Display",serif}.font-fira-code{font-family:Fira Code,monospace}.about-section{align-items:center;box-sizing:border-box;contain:layout style paint;display:flex;justify-content:center;min-height:100vh;padding:clamp(24px,6vw,64px) 24px;position:relative;scroll-snap-align:start;transition:background-color var(--theme-transition),color var(--theme-transition);width:100%}.nav-dot,.nav-dot .dot-expand{background-color:var(--dot-color)}.about-section.transitioning .nav-dot .dot-expand{animation:expandDot .8s cubic-bezier(.4,0,.2,1) forwards}.about-content{grid-gap:clamp(16px,4vw,48px);align-items:center;display:grid;gap:clamp(16px,4vw,48px);grid-template-columns:minmax(220px,380px) 1fr;max-width:1100px;width:100%}.about-image{border-radius:30px;contain:layout style paint;display:block;height:auto;transform-style:preserve-3d;transition:transform .3s ease-out;width:100%;will-change:transform}.about-text,.about-title{color:var(--text-color)}.about-title{font-size:clamp(1.5rem,4vw,2.25rem);margin:0 0 12px}@media (max-width:780px){.about-content{grid-template-columns:1fr}.about-image{margin:0 auto;max-width:260px}}.projects-section{align-items:center;box-sizing:border-box;contain:layout style paint;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(24px,6vw,64px) 0;position:relative;scroll-snap-align:start;transition:background-color var(--theme-transition),color var(--theme-transition);width:100%}:root{--projects-card-width:320px;--projects-card-gap:24px;--projects-items-per-set:8;--projects-loop-distance:calc((var(--projects-card-width) + var(--projects-card-gap))*var(--projects-items-per-set))}.projects-container{text-align:center;width:100%}.projects-title{color:var(--text-color);font-size:clamp(1.5rem,4vw,2.25rem);margin:0 0 48px;padding:0 clamp(24px,6vw,64px);text-align:center}.carousel{overflow:hidden;padding:20px 0;position:relative;width:100%}.carousel-track{display:flex;gap:0;padding:0;width:-webkit-max-content;width:max-content;will-change:transform}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-2752px);transform:translateX(calc(var(--projects-loop-distance)*-1))}}.project-card{align-items:flex-start;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff26;border-left:4px solid var(--accent-color);border-radius:16px;box-sizing:border-box;color:var(--text-color);cursor:pointer;display:flex;flex:0 0 320px;flex:0 0 var(--projects-card-width);flex-direction:column;gap:6px;height:240px;justify-content:flex-start;margin-right:24px;margin-right:var(--projects-card-gap);max-width:320px;max-width:var(--projects-card-width);min-width:320px;min-width:var(--projects-card-width);padding:18px;text-align:left;text-decoration:none;transition:all .3s ease;width:320px;width:var(--projects-card-width)}.project-icon{align-items:center;color:var(--accent-color);display:flex;justify-content:center;margin-bottom:0;opacity:1;transition:transform .3s ease}.project-icon svg{stroke:var(--accent-color);height:40px;width:40px}.project-card:hover .project-icon{transform:scale(1)}[data-theme=light] .project-card{background:#f5f5f5;border:1px solid #e0e0e0;box-shadow:none}[data-theme=dark] .project-card{background:#ffffff0d;border:1px solid #ffffff1a}.project-card:hover{background:#ffffff1f;border:1px solid var(--accent-color);box-shadow:0 8px 24px #0000001a;transform:translateY(-8px)}[data-theme=light] .project-card:hover{background:#efefef;border:1px solid var(--accent-color);box-shadow:none}[data-theme=dark] .project-card:hover{background:#ffffff1a;border:1px solid var(--accent-color)}.project-card h3{font-family:Fira Code,monospace;font-size:1.1rem;font-weight:600;margin:0 0 8px;width:100%}.project-card p{font-size:.85rem;margin:0;opacity:.8}.nav-dot{background-color:#fff;border:none;border-radius:50%;bottom:60px;cursor:pointer;height:20px;padding:0;position:fixed;right:60px;transition:transform .2s ease;width:20px;z-index:10}.nav-dot:hover{transform:scale(1.2)}.nav-dot .dot-expand{border-radius:50%;inset:0;position:absolute}.projects-section.transitioning .nav-dot .dot-expand{animation:expandDot .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes expandDot{0%{transform:scale(1)}to{transform:scale(150)}}.projects-section .nav-dot.inverse{background-color:#fff!important}.projects-section .nav-dot.inverse .dot-expand{background-color:#fff}.github-more-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;color:var(--text-color);cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.95rem;font-weight:500;gap:10px;justify-content:center;margin-top:48px;padding:12px 28px;text-decoration:none;transition:all .3s ease}[data-theme=light] .github-more-btn{background:#f5f5f5;border:1px solid #e0e0e0;box-shadow:none;color:#1e1512}[data-theme=dark] .github-more-btn{background:#ffffff0d;border:1px solid #ffffff1a;color:#f5f5f5}[data-theme=light] .github-more-btn:hover{background:#efefef;border:1px solid #e0e0e0;box-shadow:none}[data-theme=dark] .github-more-btn:hover{background:#ffffff1a;border:1px solid #fff3}.github-more-btn:active{transform:translateY(-2px);transform:translateY(-1px)}.github-more-btn svg{flex-shrink:0;height:20px;width:20px}.resume-section{align-items:center;box-sizing:border-box;contain:layout style paint;display:flex;justify-content:center;min-height:100vh;padding:clamp(24px,6vw,64px) 24px;position:relative;scroll-snap-align:start;width:100%}.resume-content{max-width:1100px;text-align:center;width:100%}.resume-title{font-size:clamp(1.5rem,4vw,2.25rem);margin:0 0 24px}.resume-content p,.resume-title{color:var(--text-color)}:root{--dot-size:10px;--dot-color:#ff6b6b;--theme-transition:0.8s cubic-bezier(0.4,0,0.2,1)}body,html{background-color:var(--bg-color);color:var(--text-color);height:100%;margin:0;overscroll-behavior:none;scroll-behavior:smooth;scroll-snap-type:y mandatory;width:100%}[data-theme=light]{--bg-color:#fff;--text-color:#1e1512}[data-theme=dark]{--bg-color:#0e0a08;--text-color:#f5f5f5}.App{background-color:var(--bg-color);color:var(--text-color);min-height:100vh;position:relative;transition:background-color .8s cubic-bezier(.4,0,.2,1),color .8s cubic-bezier(.4,0,.2,1);transition:background-color var(--theme-transition),color var(--theme-transition);width:100%}h1{font-family:Playfair Display,serif;font-weight:600}.cursor-dot{height:10px;height:var(--dot-size);left:0;pointer-events:none;position:fixed;top:0;width:10px;width:var(--dot-size);will-change:transform;z-index:10000}.cursor-dot,.petal{background-color:#ff6b6b;background-color:var(--dot-color);border-radius:50%}.petal{contain:layout style paint;height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all 1.5s cubic-bezier(.165,.84,.44,1);width:0;will-change:transform,opacity,width,height}.cursor-dot.flower .petal{height:12px;opacity:1;transition:all .4s cubic-bezier(.175,.885,.32,1.275);width:12px}.cursor-dot.flower .p1{transform:translate(-50%,-50%) translateY(-8px)}.cursor-dot.flower .p2{transform:translate(-50%,-50%) translateY(8px)}.cursor-dot.flower .p3{transform:translate(-50%,-50%) translateX(-8px)}.cursor-dot.flower .p4{transform:translate(-50%,-50%) translateX(8px)}.cursor-dot.flower .spin-wrapper{animation:spin 2.4s linear infinite;height:100%;left:0;position:absolute;top:0;transform-origin:50% 50%;width:100%}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (hover:none) and (pointer:coarse){.cursor-dot{display:none!important}}.theme-toggle{color:var(--text-color);right:30px;transition:color .8s cubic-bezier(.4,0,.2,1);transition:color var(--theme-transition)}.logo-button,.theme-toggle{background:none;border:none;cursor:pointer;position:fixed;top:30px;z-index:1001}.logo-button{left:30px;padding:0;transition:transform .2s ease}.logo{display:block;height:40px;width:40px}.nav-dot-button:hover .label{color:#ff6b6b;color:var(--dot-color)}
/*# sourceMappingURL=main.d1a990b1.css.map*/