@import url("https://fonts.googleapis.com/css2?family=Yuji+Mai&display=swap");@import url("https://fonts.googleapis.com/css2?family=Sora:wght@100..800&display=swap");@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap");@import url("https://fonts.googleapis.com/css2?family=Liu+Jian+Mao+Cao&display=swap");*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;width:100%;cursor:none}body,html{overflow:hidden}body{padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#dab6fc;display:flex;flex-direction:column;height:100vh}.custom-cursor{width:3.5vw;height:7vh;background-image:url(/images/kunai.png);background-size:cover;position:fixed;left:0;top:0;pointer-events:none;transform:translate3d(-100vw,-100vh,0) translate(-50%,-50%);will-change:transform;z-index:1000}.profile-image{position:relative;text-align:center;height:25vh}.profile-photo{display:flex;margin:10;border-radius:50%;width:20vh;height:20vh;object-fit:cover;position:absolute;top:1vh;left:50%;transform:translateX(-50%)}.container{flex-direction:column;height:100%;position:relative;z-index:1}.container,.header{display:flex;align-items:center;width:100%}.header{justify-content:space-between;padding-top:2vh;background-color:transparent}h1{font-size:3vw;color:#000;margin:0;padding-left:2vw}nav ul{list-style-type:none;display:flex;justify-content:flex-end;padding-right:3vw}nav ul li{animation:cloud-bob 7s ease-in-out infinite;will-change:transform}nav ul li:focus-within,nav ul li:hover{animation-play-state:paused}nav ul li:first-child{animation-duration:7.4s;animation-delay:-.9s}nav ul li:nth-child(2){animation-duration:6.2s;animation-delay:-3.1s}nav ul li:nth-child(3){animation-duration:8.1s;animation-delay:-5.4s}@keyframes cloud-bob{0%,to{transform:translateZ(0)}50%{transform:translate3d(.35vw,-.75vh,0)}}.cloud-link{appearance:none;border:none;background-color:transparent;font:inherit;cursor:pointer;text-decoration:none;font-size:1.4vw;color:#000;background-image:url(/images/cloud.png);background-size:11vw 7vw;background-position:50%;background-repeat:no-repeat;width:11vw;height:5.5vw;display:flex;justify-content:center;align-items:center;transform:translateZ(0);transition:transform .32s cubic-bezier(.22,1,.36,1),background-size .32s cubic-bezier(.22,1,.36,1),filter .32s ease,letter-spacing .32s ease}.cloud-link:focus-visible,.cloud-link:hover{transform:translate3d(0,-.8vh,0) scale(1.07);background-size:12.1vw 7.7vw;filter:drop-shadow(0 .7vh .5vh rgba(126,20,139,.32)) brightness(1.05);letter-spacing:.05em}.cloud-link:focus-visible{outline:.25vh solid #7e148b;outline-offset:-1vh;border-radius:1vh}.cloud-link:active{transform:translate3d(0,-.25vh,0) scale(1.02);transition-duration:.09s}.cloud-link.active{transform:translate3d(0,-.35vh,0) scale(1.05);filter:drop-shadow(0 0 .5vh #a855f7) drop-shadow(0 0 1vh rgba(168,85,247,.75)) drop-shadow(0 .45vh .4vh rgba(126,20,139,.35))}.cloud-link.active:focus-visible,.cloud-link.active:hover{transform:translate3d(0,-.9vh,0) scale(1.09);filter:drop-shadow(0 0 .5vh #a855f7) drop-shadow(0 0 1vh rgba(168,85,247,.75)) drop-shadow(0 .7vh .5vh rgba(126,20,139,.35)) brightness(1.05)}.content-container{display:flex;align-items:center;justify-content:center;flex:1;width:100%;position:relative}.intro{width:30%;position:absolute;left:-4%;top:50%;transform:translateY(-50%)}.circle{background-color:#f8d0ff;border-radius:50%;width:30vw;padding-bottom:63vh;position:relative;align-items:center;box-shadow:0 0 10px rgba(0,0,0,.1);text-align:center}.circle,.circle-content{display:flex;flex-direction:column;overflow:hidden}.circle-content{align-items:flex-start;position:absolute;top:7vh;left:4vw;width:48vh;height:70vh;max-height:80%;padding:2vh}.yuji-mai-regular{font-weight:500}.yuji-mai-regular,.yuji-mai-regular-1{font-family:Yuji Mai,serif;font-style:normal}.yuji-mai-regular-1{font-weight:600}.sora{font-family:Sora,sans-serif;font-optical-sizing:auto;font-style:normal}.liu-jian-mao-cao-regular{font-family:Liu Jian Mao Cao,cursive;font-weight:600;font-style:normal}.circle-item{flex-direction:column}.circle-item,.line{flex-grow:1;display:flex}.line{font-family:Cinzel,serif;font-weight:420;align-items:flex-end;text-align:center;font-optical-sizing:auto;font-style:normal;width:120%}.emoji{flex-grow:1;display:flex;flex-direction:row;margin-right:1vw}.emoji-img{width:2.5vw;height:5vh}.text{flex-grow:3;display:flex;flex-direction:row;font-size:2.7vh;text-align:left;align-items:flex-start;width:100%}.circle p{font-size:3.2vh;margin:0;position:absolute;left:-5%;width:100%;text-align:center}.image-container{flex-grow:1;display:flex;position:absolute;transform:translateX(0);left:2.2vw;align-items:center;position:relative;z-index:1}.image-container img{width:20%;height:auto}.cat-text{font-size:4vh;margin-right:1vw;align-self:center;left:20%}.content{background-color:#c66af6;height:80vh;width:70%;border-radius:1vh;box-shadow:0 0 1vh rgba(0,0,0,.1);display:flex;justify-content:center;align-items:center;padding:1vh;margin-left:30%;margin-right:3%;font-size:2.2vh}#dynamic-content{width:100%;padding:2vh;max-height:70vh;overflow-y:auto;scrollbar-color:rebeccapurple pink;scrollbar-width:thin;margin-left:1vw;margin-right:1vw;display:flex;flex-direction:column;align-items:flex-start}#dynamic-content::-webkit-scrollbar{width:12px}#dynamic-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}#dynamic-content::-webkit-scrollbar-thumb{background:#888;border-radius:10px}#dynamic-content::-webkit-scrollbar-thumb:hover{background:#555}.project-container{display:flex;flex-wrap:wrap;gap:2vh;padding:2vh}.project-container a{text-decoration:none;color:inherit}.about-container a{text-decoration:underline;color:#ffdcef;transition:color .2s ease}.about-container a:hover{color:#fff}.about-container h3{font-family:Yuji Mai,sans-serif;font-weight:600;font-style:normal}.tile{flex:1 1 calc(50% - 2vh);background-color:#da8fff;box-sizing:border-box;border-radius:1vh;padding:3vh;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;text-align:center;border:solid rgb(126,20,139);display:flex;flex-direction:column}.tile:hover{transform:translateY(-1.5vh);box-shadow:0 1vh 1vh rgba(0,0,0,.2);background-color:#ca4efc}.tile-header{font-size:2.5vh;margin-bottom:1vh}.tile-description{font-size:2vh;color:#3b0c42;flex:1}.tile-tags{margin-top:auto;padding-top:1.6vh;display:flex;flex-wrap:wrap;gap:.7vh;justify-content:center}.tag{font-size:1.5vh;line-height:1;padding:.6vh 1vh;border-radius:999px;background-color:rgba(255,255,255,.42);border:.1vh solid rgba(126,20,139,.5);color:#4a0d52;white-space:nowrap;transition:background-color .3s ease}.tile:hover .tag{background-color:rgba(255,255,255,.66)}.about-container{width:100%;height:100%}.about-container section{margin-bottom:4vh}.about-container h3,.about-container p{margin-bottom:1vh}.about-container ul{padding-left:3vw}.about-container ul li{margin-bottom:1vh}.timeline{list-style:none;border-top:.1vh solid rgba(255,255,255,.35);margin-bottom:1.5vh}.timeline-row{display:flex;justify-content:space-between;align-items:baseline;gap:2vw;padding:1.8vh 0;border-bottom:.1vh solid rgba(255,255,255,.35)}.timeline-role{font-size:2.2vh;font-weight:600;margin-bottom:.6vh}.timeline-note{font-size:1.9vh}.timeline-note,.timeline-period{color:#f3e2ff;margin-bottom:0!important}.timeline-period{font-size:1.7vh;letter-spacing:.06em;white-space:nowrap;text-align:right}.stack-list{display:grid;grid-template-columns:auto 1fr;border-top:.1vh solid rgba(255,255,255,.35)}.stack-row{display:contents}.stack-group,.stack-items{padding:1.5vh 0;border-bottom:.1vh solid rgba(255,255,255,.35)}.stack-group{font-size:1.6vh;letter-spacing:.16em;text-transform:uppercase;color:#ffdcef;white-space:nowrap;padding-right:1.5vw}.stack-items{margin:0;font-size:1.9vh}.stack-sep{color:rgba(255,255,255,.45)}#dynamic-content{animation:content-in .4s cubic-bezier(.22,1,.36,1) both}@keyframes content-in{0%{opacity:0;transform:translateY(1.4vh)}to{opacity:1;transform:none}}.breeze{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.wisp{position:absolute;left:-24vw;background-image:url(/images/cloud.png);background-size:contain;background-repeat:no-repeat;opacity:0;filter:blur(.2vh);will-change:transform,opacity;animation-name:drift;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes drift{0%{transform:translateZ(0);opacity:0}12%{opacity:var(--wisp-opacity)}88%{opacity:var(--wisp-opacity)}to{transform:translate3d(150vw,var(--wisp-rise),0);opacity:0}}.wisp:first-child{top:6vh;width:17vw;height:10vw;--wisp-opacity:0.34;--wisp-rise:-2vh;animation-duration:61s;animation-delay:-8s}.wisp:nth-child(2){top:19vh;width:11vw;height:7vw;--wisp-opacity:0.22;--wisp-rise:1.5vh;animation-duration:44s;animation-delay:-25s}.wisp:nth-child(3){top:33vh;width:22vw;height:13vw;--wisp-opacity:0.28;--wisp-rise:-3vh;animation-duration:78s;animation-delay:-40s}.wisp:nth-child(4){top:47vh;width:9vw;height:6vw;--wisp-opacity:0.19;--wisp-rise:2.5vh;animation-duration:37s;animation-delay:-14s}.wisp:nth-child(5){top:58vh;width:19vw;height:11vw;--wisp-opacity:0.3;--wisp-rise:-1.5vh;animation-duration:67s;animation-delay:-52s}.wisp:nth-child(6){top:70vh;width:14vw;height:8vw;--wisp-opacity:0.24;--wisp-rise:2vh;animation-duration:51s;animation-delay:-3s}.wisp:nth-child(7){top:82vh;width:24vw;height:14vw;--wisp-opacity:0.26;--wisp-rise:-2.5vh;animation-duration:84s;animation-delay:-61s}.wisp:nth-child(8){top:12vh;width:13vw;height:8vw;--wisp-opacity:0.2;--wisp-rise:3vh;animation-duration:47s;animation-delay:-33s}.wisp:nth-child(9){top:91vh;width:10vw;height:6vw;--wisp-opacity:0.18;--wisp-rise:-1vh;animation-duration:40s;animation-delay:-19s}@media (prefers-reduced-motion:reduce){.breeze{display:none}nav ul li{animation:none}.about-container a,.cloud-link,.tag,.tile{transition-duration:.01ms}#dynamic-content{animation:none}}