@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}*{box-sizing:border-box;margin:0;padding:0}:root{--washi:#faf7f2;--kinu:#f5f1ea;--tatami:#ede8dd;--sumi:#1a1a1a;--bokusui:#4a4a4a;--hai:#8b8b8b;--sakura:#f4a7b9;--ume:#e8879b;--kintsugi:#c9a961;--ishi:#d4cfc4;--primary-color:#f4a7b9;--secondary-color:#e8879b;--accent-color:#c9a961;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#8b8b8b;--bg-primary:#faf7f2;--bg-secondary:#f5f1ea;--bg-tertiary:#ede8dd;--border-color:#d4cfc4;--gradient-primary:linear-gradient(135deg,#f4a7b9 0%,#e8879b 100%);--gradient-secondary:linear-gradient(135deg,#c9a961 0%,#d4b978 100%);--shadow-sm:0 1px 2px 0 #00000008;--shadow-md:0 4px 6px -1px #0000000d;--shadow-lg:0 10px 15px -3px #0000000d;--shadow-xl:0 20px 25px -5px #0000000d;--shadow-warm:0 4px 20px #f4a7b926}[data-theme=dark]{--washi:#0d0d0f;--kinu:#141418;--tatami:#1c1c22;--sumi:#e8e6e3;--bokusui:#b8b5b0;--hai:#7a7875;--sakura:#d4879a;--ume:#c4728a;--kintsugi:#b8965a;--ishi:#2a2a32;--primary-color:#d4879a;--secondary-color:#c4728a;--accent-color:#b8965a;--text-primary:#e8e6e3;--text-secondary:#b8b5b0;--text-muted:#7a7875;--bg-primary:#0d0d0f;--bg-secondary:#141418;--bg-tertiary:#1c1c22;--border-color:#2a2a32;--gradient-primary:linear-gradient(135deg,#d4879a 0%,#c4728a 100%);--gradient-secondary:linear-gradient(135deg,#b8965a 0%,#c9a76b 100%);--shadow-sm:0 1px 2px 0 #0003;--shadow-md:0 4px 6px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0000004d;--shadow-xl:0 20px 25px -5px #0000004d;--shadow-warm:0 4px 20px #d4879a33}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}.section-title{text-align:center;background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4rem;font-family:Cormorant Garamond,Georgia,serif;font-size:3rem;font-weight:600;position:relative}.section-title:after{content:"";background:var(--gradient-primary);border-radius:2px;width:80px;height:3px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.text-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);z-index:1000;background:#faf7f2f2;width:100%;transition:all .3s;position:fixed;top:0}[data-theme=dark] .navbar{background:#0d0d0ff2}.navbar.scrolled{box-shadow:var(--shadow-md);background:#faf7f2fa}[data-theme=dark] .navbar.scrolled{background:#0d0d0ffa}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;height:80px;margin:0 auto;padding:0 2rem;display:flex}.nav-logo{color:var(--sumi);cursor:pointer;align-items:center;gap:1rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:600;display:flex}.nav-logo img{border-radius:8px;width:40px;height:40px}.nav-menu{gap:2rem;list-style:none;display:flex}.nav-link{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:all .3s;position:relative}.nav-link:after{content:"";background:var(--gradient-primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-link:hover:after{width:100%}.nav-link:hover{color:var(--text-primary)}.nav-actions{align-items:center;gap:1rem;display:flex}.hamburger{cursor:pointer;flex-direction:column;display:none}.hamburger span{background:var(--sumi);border-radius:2px;width:25px;height:3px;margin:3px 0;transition:all .3s}.hamburger.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg)translate(7px,-6px)}@media(max-width:768px){.nav-menu{background:var(--bg-primary);flex-direction:column;justify-content:flex-start;align-items:center;gap:2rem;width:100%;height:calc(100vh - 80px);padding-top:2rem;transition:left .3s;position:fixed;top:80px;left:-100%}.nav-menu.active{left:0}.hamburger{display:flex}}.hero{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-background{z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}.floating-shapes{width:100%;height:100%;position:absolute}.shape{background:var(--gradient-primary);opacity:.08;border-radius:50%;animation:6s ease-in-out infinite float;position:absolute}.organic-shape{opacity:.1;filter:blur(1px);position:absolute}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.hero-content{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;padding:0 2rem;display:grid}.hero-title{color:var(--sumi);margin-bottom:1rem;font-family:Cormorant Garamond,Georgia,serif;font-size:4rem;font-weight:600;line-height:1.1}.hero-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.5rem;font-weight:500}.hero-description{color:var(--text-muted);margin-bottom:2rem;font-size:1.1rem;line-height:1.7}.hero-buttons{flex-wrap:wrap;gap:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:1rem 2rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover{box-shadow:var(--shadow-warm);transform:translateY(-2px)}.btn-secondary{color:var(--text-primary);border:2px solid var(--border-color);background:0 0}.btn-secondary:hover{border-color:var(--sakura);background:#f4a7b91a}.hero-visual{justify-content:center;align-items:center;display:flex}.hero-profile-container{width:280px;height:280px;box-shadow:var(--shadow-xl);border:4px solid var(--sakura);border-radius:50%;position:relative;overflow:hidden}.hero-profile-image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s}.hero-profile-container:hover .hero-profile-image{transform:scale(1.05)}.ensou-container{justify-content:center;align-items:center;width:250px;height:250px;display:flex;position:relative}.ensou-svg{width:250px;height:250px}.ensou-svg path{stroke-dasharray:1000;stroke-dashoffset:1000px}.interactive-cube{display:none}.scroll-indicator{animation:2s infinite bounce;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-arrow{border-right:3px solid var(--hai);border-bottom:3px solid var(--hai);width:30px;height:30px;transform:rotate(45deg)}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)translateY(0)}40%{transform:translate(-50%)translateY(-10px)}60%{transform:translate(-50%)translateY(-5px)}}.about{background:var(--bg-secondary);padding:6rem 0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.about-image-top{justify-content:center;margin-bottom:3rem;display:flex}.about-image-top .image-container{max-width:300px}.about-content-grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.about-skills{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:16px;padding:2rem}.about-content{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.about-image{position:sticky;top:120px}.image-container{box-shadow:var(--shadow-lg);border:1px solid var(--border-color);border-radius:20px;position:relative;overflow:hidden}.image-container img{width:100%;height:auto;transition:transform .3s;display:block}.image-container:hover img{transform:scale(1.05)}.image-overlay{background:#faf7f2f2;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.tech-stack{text-align:center;color:var(--sumi)}.tech-stack h3{margin-bottom:1.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem}.tech-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.tech-item{border:1px solid var(--border-color);background:#f4a7b91a;border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;transition:transform .3s;display:flex}.tech-item:hover{border-color:var(--sakura);transform:translateY(-5px)}.tech-item img{border-radius:8px;width:40px;height:40px}.tech-item span{color:var(--bokusui);font-size:.9rem;font-weight:500}.about-text h3{color:var(--text-primary);margin-bottom:1.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:2rem}.about-text p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.7}.skills-showcase{margin-top:2rem}.skill-category{margin-bottom:1.5rem}.skill-category h4{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.skill-tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s}.skill-tag:hover{background:var(--sakura);border-color:var(--sakura);color:#fff;transform:translateY(-2px)}.projects{background:var(--bg-primary);padding:6rem 0}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;display:grid}.project-card{background:var(--bg-secondary);box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-radius:16px;transition:all .3s;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-warm);border-color:var(--sakura);transform:translateY(-10px)}.project-image{height:200px;position:relative;overflow:hidden}.project-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card:hover .project-image img{transform:scale(1.1)}.project-color-bg{justify-content:center;align-items:center;display:flex;position:relative}.private-badge{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;background:#0009;border-radius:20px;padding:.3rem .8rem;font-size:.75rem;font-weight:500;position:absolute;top:12px;right:12px}.project-overlay{background:#faf7f2f2;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.project-links{gap:1rem;display:flex}.project-link{background:var(--sakura);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;text-decoration:none;transition:all .3s;display:flex}.project-link:hover{background:var(--ume);transform:scale(1.1)}.project-content{padding:1.5rem}.project-content h3{color:var(--text-primary);margin-bottom:1rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem}.project-content p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.project-tech{flex-wrap:wrap;gap:.5rem;display:flex}.tech-badge{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:16px;padding:.4rem .8rem;font-size:.8rem;font-weight:500}.writing{background:var(--bg-secondary);padding:6rem 0}.writing-empty{text-align:center;padding:4rem 2rem}.coming-soon{color:var(--text-muted);font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-style:italic}.experience{background:var(--bg-secondary);padding:6rem 0}.experience-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:1000px;margin:0 auto;display:grid}.experience-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s}.experience-card:hover{border-color:var(--sakura);box-shadow:var(--shadow-warm)}.experience-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.experience-company-info{flex-direction:column;display:flex}.experience-company{color:var(--text-primary);margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:600}.experience-location{color:var(--text-muted);font-size:.85rem}.experience-period{color:var(--sakura);white-space:nowrap;font-size:.85rem;font-weight:500}.experience-title{color:var(--text-secondary);margin:.5rem 0 1rem;font-size:1rem;font-weight:500}.experience-description{margin:0 0 1rem;padding:0;list-style:none}.experience-description li{color:var(--text-secondary);margin-bottom:.5rem;padding-left:1rem;font-size:.9rem;line-height:1.6;position:relative}.experience-description li:before{content:"";background:var(--sakura);border-radius:50%;width:4px;height:4px;position:absolute;top:.6rem;left:0}.experience-summary{color:var(--text-secondary);margin-bottom:.75rem;font-size:.95rem;font-style:italic;line-height:1.6}.expand-toggle{border:1px solid var(--border-color);color:var(--sakura);cursor:pointer;background:0 0;border-radius:20px;margin-bottom:1rem;padding:.4rem 1rem;font-size:.8rem;font-weight:500;transition:all .3s}.expand-toggle:hover{background:var(--sakura);color:#fff;border-color:var(--sakura)}.experience-tech{flex-wrap:wrap;gap:.5rem;display:flex}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline:before{content:"";background:var(--gradient-primary);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{margin-bottom:3rem;position:relative}.timeline-marker{background:var(--sumi);z-index:2;cursor:pointer;width:16px;height:16px;box-shadow:0 0 0 4px var(--bg-secondary);border-radius:50%;transition:transform .3s;position:absolute;top:0;left:50%;transform:translate(-50%)}.timeline-marker:after{content:"";background:var(--sakura);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-marker:hover{transform:translate(-50%)scale(1.2)}.timeline-content{background:var(--bg-tertiary);width:45%;box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:transform .3s;position:relative}.timeline-content:hover{box-shadow:var(--shadow-warm);transform:translateY(-5px)}.timeline-item:nth-child(odd) .timeline-content{left:0}.timeline-item:nth-child(2n) .timeline-content{left:55%}.timeline-header{margin-bottom:1rem}.timeline-header h3{color:var(--text-primary);margin-bottom:.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem}.company,.publication{color:var(--sakura);margin-right:1rem;font-weight:600}.period{color:var(--text-muted);font-size:.9rem}.timeline-content p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.timeline-tech{flex-wrap:wrap;gap:.5rem;display:flex}.contact{background:var(--bg-secondary);padding:6rem 0}.contact-content{grid-template-columns:1fr 1fr;gap:4rem;display:grid}.contact-info{flex-direction:column;gap:2rem;display:flex}.contact-item{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;align-items:center;gap:1rem;padding:1.5rem;transition:all .3s;display:flex}.contact-item:hover{border-color:var(--sakura);box-shadow:var(--shadow-warm);transform:translate(10px)}.contact-item i{color:var(--sakura);width:30px;font-size:1.5rem}.contact-item span{color:var(--text-secondary);font-size:1.1rem}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;display:flex}.form-group input,.form-group textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;padding:1rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--sakura);outline:none}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--text-muted)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:3rem 0 1rem}.footer-content{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.footer-logo{cursor:pointer;color:var(--sumi);align-items:center;gap:1rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-weight:600;display:flex}.footer-logo img{border-radius:6px;width:30px;height:30px}.footer-links{gap:2rem;display:flex}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--sakura)}.footer-social{gap:1rem;display:flex}.footer-social a{background:var(--bg-tertiary);width:40px;height:40px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex}.footer-social a:hover{background:var(--sakura);color:#fff;border-color:var(--sakura);transform:translateY(-2px)}.footer-bottom{text-align:center;border-top:1px solid var(--border-color);color:var(--text-muted);padding-top:2rem}.cursor-follower{background:var(--gradient-primary);pointer-events:none;z-index:9999;opacity:.4;border-radius:50%;width:12px;height:12px;transition:transform .1s;position:fixed}@media(prefers-reduced-motion:reduce){.cursor-follower{display:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:768px){.hero-content{text-align:center;grid-template-columns:1fr;gap:2rem}.hero-title{font-size:2.5rem}.hero-buttons{justify-content:center}.about-content,.about-content-grid{grid-template-columns:1fr;gap:2rem}.about-image{position:static}.timeline:before,.timeline-marker{left:20px}.timeline-content{width:calc(100% - 60px);left:60px!important}.contact-content{grid-template-columns:1fr;gap:2rem}.footer-content{text-align:center;flex-direction:column;gap:2rem}.projects-grid,.experience-grid{grid-template-columns:1fr}.section-title{font-size:2rem}}@media(max-width:480px){.container{padding:0 1rem}.hero-title{font-size:2rem}.hero-buttons{flex-direction:column;align-items:center}.btn{text-align:center;width:100%;max-width:300px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.fade-in-up{animation:.6s forwards fadeInUp}.fade-in-left{animation:.6s forwards fadeInLeft}.fade-in-right{animation:.6s forwards fadeInRight}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ume)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
