:root{--ui-font: "Source Sans 3";--backup-fonts: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-family:var(--ui-font),var(--backup-fonts),sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;box-sizing:border-box}:root{--text-color: #ffffff;--axis-color: #333;width:100%}body{width:100%}header{position:relative;width:100%;max-height:50vh;aspect-ratio:16 / 9;overflow:hidden;color:#fff;font-size:max(2vw,1rem)}header .main-image{width:100%;height:100%;object-fit:cover;object-position:0 30%;position:absolute;top:0;left:0;z-index:-1}header .info{display:flex;flex-direction:column;gap:.5rem;max-width:35%;padding:6vw 5vw 0;text-shadow:0 0 20px rgba(0,0,0,.8),0 0 10px rgba(0,0,0,.1),0 0 5px rgba(0,0,0,.1)}@media screen and (max-width:590px){header{font-size:.8rem}}@media screen and (max-width:200px){header{font-size:.6rem}}header .info .name{font-size:2.4rem;font-weight:900;margin:0;padding:0 0 .3em;line-height:100%}header .info .title{display:flex;flex-direction:column;gap:.3em;font-size:.9rem;font-weight:700}header .info .title>*{line-height:100%}header .info .contact .mail{font-size:.9rem;font-weight:700;line-height:100%;color:#fff;transition:color 80ms ease-out}header .info .contact .mail:hover{color:#fffc}header .links{position:absolute;bottom:0;right:0;display:flex;flex-direction:row;gap:min(12px,2.4vw);padding:5vw;filter:drop-shadow(0 0 20px rgba(0,0,0,.8)) drop-shadow(0 0 10px rgba(0,0,0,.6)) drop-shadow(0 0 5px rgba(0,0,0,.2))}.social-link{width:min(30px,6vw);height:min(30px,6vw);display:inline-block;color:#fff;padding:min(3px,.8vw)}.social-link img{width:100%;height:100%;object-fit:cover;transition:opacity 80ms ease-out}.social-link:hover img{opacity:.7}.content{padding:0 1rem;margin:0 auto 24px;max-width:60rem}.content .cv a{color:inherit;text-decoration:underline;text-decoration-color:#333c;transition:opacity 80ms ease-out}.content a:hover{opacity:.8}.greeting h1{font-size:1.8rem;font-weight:700;color:#111;margin:16px 0 0}.greeting p{font-size:1rem;font-weight:500;color:#333;max-width:100ch;margin:8px 0 0}.projects .projects-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:0 1rem}.projects .legend{display:flex;gap:1rem;padding-bottom:1rem}.projects .legend .legend-item{display:flex;align-items:center;gap:.5rem}.projects .legend .legend-item:before{content:"";display:inline-block;width:1.2rem;height:1.2rem;border-radius:999px;background-color:#ff1493}.projects .legend .legend-item.work:before{background-color:#3275b4}.projects .legend .legend-item.university:before{background-color:#8e599f}.projects .legend .legend-item.personal:before{background-color:#00837d;background-color:oklch(.55 .12 189)}.project-list{display:grid;grid-template-columns:1fr;gap:1rem;justify-content:start}.project{position:relative;width:100%;height:auto;max-width:400px;display:flex;flex-direction:column;border:1px solid #ccc;border-radius:1px;overflow:hidden;box-shadow:0 2px 20px #0000001a}.project.university{background-image:linear-gradient(112.5deg,#b48fbf,#8e599f)}.project.work{background-image:linear-gradient(112.5deg,#78a3cf,#3275b4)}.project.personal{background-image:linear-gradient(112.5deg,#5eafa8,#45a59e,#249b94,#008f89,#00837d);background-image:linear-gradient(112.5deg,#5eafa8,#45a59e,#249b94,color(xyz 0.14 0.217 0.274),color(xyz 0.109 0.18 0.232))}.project a{color:inherit;text-decoration:underline;text-decoration-color:#fffc;transition:opacity 80ms ease-out}.project a:hover{opacity:.8}.project-info{z-index:1;padding:.5rem}.project-info .title-line{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.project-info .title-line .try-button{background-color:#fffc;color:#333;padding:.25rem .4rem .15rem;border-radius:4px;font-size:.7rem;font-weight:600;text-decoration:none;transition:background-color 80ms ease-out}.project-info .title-line .try-button:hover{background-color:#fffd}.project-info .title-line .try-button:active{background-color:#fffe}.project-info .title{font-size:1.1rem;font-weight:700;color:#fffffff0}.project-info .description{margin:0 2px 6px 0;font-size:.9rem;line-height:1.4;color:#fffe}.project-info .technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}.project-info .technologies .technology{background-color:#0000001a;padding:.2rem .4rem;border-radius:4px;font-size:.8rem;font-weight:600;color:#fff}.project-demo{background:#a0a0a0;width:100%;height:auto;z-index:0;aspect-ratio:3 / 2;overflow:hidden;display:flex;flex-direction:row;gap:4px;justify-content:center}.project-demo *{width:100%;height:100%;object-fit:cover;flex:1;min-width:0}.project-demo .ghazan-video{object-position:left center}.project-demo .bunny-red{object-position:right center}.project-demo .bunny-window{object-position:center center}.project-demo .masks-video{object-position:center}.education,.experience,.languages{color:#333;max-width:50em}.education h3,.experience h3{font-size:1.25rem;font-weight:700;color:#111;margin-bottom:16px}.education-grid,.experience-grid,.languages-grid{display:grid;grid-template-columns:100px 1fr;gap:0 16px;align-items:baseline}.language{font-weight:600;color:#555;font-size:.85rem;white-space:nowrap;text-align:right}.languages .details{font-size:.9rem;margin-bottom:8px}.languages .grade-context{padding:0 8px;font-size:.8rem;color:#333}.year{font-weight:600;color:#555;font-size:.85rem;white-space:nowrap;text-align:right}.year-grid .details{padding-bottom:16px;line-height:1.6;font-size:1rem}.year-grid .details div:not(:first-child){font-size:.9rem}.year-grid .details strong{font-weight:700}.education .year-grid .details strong{background-image:linear-gradient(112.5deg,#814893,#5e346a);color:transparent;-webkit-background-clip:text;background-clip:text}.experience .year-grid .details strong{background-image:linear-gradient(112.5deg,#1666aa,#124a7b);color:transparent;-webkit-background-clip:text;background-clip:text}.education .year-grid .details.japan strong{background-image:linear-gradient(112.5deg,#007743,#00572f);background-image:linear-gradient(112.5deg,color(xyz 0.067 0.138 0.064),color(xyz 0.035 0.071 0.033));color:transparent;-webkit-background-clip:text;background-clip:text}.year-grid .details em{font-style:normal}.list-title{margin-top:12px;font-weight:600;font-size:.9rem;color:#334155}.year-grid .details ul{margin:4px 0 0;padding-left:20px;font-size:.8rem}.year-grid details li{margin-bottom:0}.year-grid .details li::marker{color:#004981;color:oklch(.4 .12 250)}.timeline-wrapper{width:100%;overflow-x:scroll}.timeline-grid{display:grid;grid-template-columns:repeat(40,minmax(10px,1fr));grid-template-rows:auto auto 30px 30px;gap:.3rem 0;padding-inline-end:.3rem}.block{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--text-color);padding:.3rem;font-size:.8rem;font-weight:600;box-sizing:border-box;position:relative;min-height:2.5rem;line-height:100%;container-type:inline-size}@container (max-width: 40px){.block *{writing-mode:vertical-rl;text-orientation:mixed}}.edu-bachelor{background-image:linear-gradient(112.5deg,#b48fbf,#996ca7);grid-row:1;grid-column:1 / 21;margin-right:.15rem}.edu-master{background-image:linear-gradient(112.5deg,#996ca7,#765481);grid-row:1;grid-column:21 / 37;margin-left:.15rem;margin-right:.15rem}.work-uni{background-image:linear-gradient(112.5deg,#78a3cf,#4f84ba);grid-row:2;grid-column:3 / 19;margin-right:.15rem}.work-devboost1{background-image:linear-gradient(112.5deg,#4f84ba,#497bad);grid-row:2;grid-column:19 / 25;margin-left:.15rem;z-index:1}.exchange{background-image:linear-gradient(112.5deg,#4dc984,#45b878);grid-row:2;grid-column:25 / 29;z-index:10;border:.3rem solid white;margin-top:-.6rem;margin-bottom:-.6rem}.work-devboost2{background-image:linear-gradient(112.5deg,#4675a4,#3e668f);grid-row:2;grid-column:29 / 37;margin-right:.15rem}.sp-program{background-image:linear-gradient(112.5deg,#39b975,#2b965d);grid-row:1 / 3;grid-column:37 / 41;margin-left:.15rem}.axis-container{grid-row:3;grid-column:1 / -1;position:relative;display:flex;align-items:center}.axis-line{position:absolute;width:100%;height:3px;background-color:var(--axis-color);top:70%;transform:translateY(-50%);z-index:0}.axis-line:after{content:"";position:absolute;right:-2px;top:-5px;border:solid var(--axis-color);border-width:0 3px 3px 0;display:inline-block;padding:5px;transform:rotate(-45deg)}.axis-marker{width:12px;height:12px;background-color:#fff;border:3px solid var(--axis-color);border-radius:50%;position:absolute;top:70%;transform:translate(-0%,-50%);z-index:1}.year-label{grid-row:4;display:flex;justify-content:center;font-weight:700;color:var(--axis-color);position:relative;left:0;width:100%}@media screen and (max-width:399px){.greeting h1{font-size:1.5rem}.greeting p{font-size:.9rem}.project-info .title{font-size:.95rem}.project-info .description{font-size:.8rem}.project-info .title-line .try-button{padding:.2rem .3rem .1rem;font-size:.6rem}.project-info .technologies .technology{padding:.15rem .3rem;font-size:.65rem}}@media screen and (min-width:400px){.project-list{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:700px){.project-list{grid-template-columns:repeat(3,1fr)}}
