@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&family=Roboto+Mono:wght@300;400;500&display=swap";:root{--font-main: "Inter", sans-serif;--font-mono: "Roboto Mono", monospace;--color-bg: #0a0a0a;--color-text: #e0e0e0;--color-accent: #ffffff;--color-secondary: #888888;--color-card-bg: #111111;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 32px;--spacing-xl: 64px;--spacing-xxl: 120px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.7}ul{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.container{width:90%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xxl) 0}.section-title{font-family:var(--font-mono);font-size:1.5rem;margin-bottom:var(--spacing-xl);opacity:.6;text-transform:uppercase;letter-spacing:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}form,button,input{font-family:inherit}.main-header{position:fixed;top:0;left:0;width:100%;padding:30px 50px;display:flex;justify-content:space-between;align-items:center;z-index:1000}.logo a{font-weight:800;font-size:1.2rem;letter-spacing:-1px;color:#fff;text-transform:uppercase}.nav-links{display:flex;gap:40px}.nav-links a{font-family:var(--font-mono);font-size:.9rem;font-weight:500;color:#888;position:relative}.nav-links a:hover,.nav-links a.active{color:#fff;opacity:1}.nav-links a.active:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:1px;background-color:#fff}@media(max-width:768px){.main-header{padding:20px}.nav-links{gap:20px}}.hud-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:900;padding:20px;box-sizing:border-box;font-family:Courier New,Courier,monospace;color:#fff6;font-size:10px;text-shadow:0 0 2px rgba(0,255,255,.5);display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}.hud-bottom-row{display:flex;justify-content:flex-start;align-items:flex-end}.hud-logs{max-width:300px;height:100px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;border-left:1px solid rgba(255,255,255,.2);padding-left:10px}.hud-log-entry{opacity:.7;margin-bottom:2px;white-space:nowrap;font-size:11px}.hud-log-entry:last-child{opacity:1;color:#fff;text-shadow:0 0 5px #00ffcc}.hud-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(#12101000 50%,#0000001a 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);background-size:100% 2px,3px 100%;pointer-events:none;z-index:-1}.cursor-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.cursor-trail-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.cursor-tracker{position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;z-index:9998;will-change:transform,opacity;opacity:1}.cursor-bubble{position:absolute;top:0;left:0;width:70px;height:70px;margin-left:-35px;margin-top:-35px;background:#ffffff03;backdrop-filter:blur(2px) brightness(1.1) contrast(1.2) url(#liquidFilter);-webkit-backdrop-filter:blur(2px) brightness(1.1) contrast(1.2) url(#liquidFilter);border-radius:40% 60% 70% 30%/40% 50% 60%;box-shadow:inset 2px 2px 4px #ffffffe6,inset -2px -2px 4px #ffffffe6,inset 5px 0 10px #f0f9,inset -5px 0 10px #0ff9,inset 0 5px 10px #ff09,0 5px 15px #0000001a}.glitch-wrapper{position:relative;display:inline-block}.glitch{font-size:4rem;font-weight:300;letter-spacing:.2em;font-family:Helvetica Neue,Arial,sans-serif;color:#000;position:relative;margin-bottom:.5rem;transform:translateZ(0)}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:.8}.glitch:before{color:#000;text-shadow:3px 0 #ff00c1;z-index:-1;animation:glitch-anim-shred-1 var(--duration, 4s) infinite steps(2,end) alternate-reverse;animation-delay:var(--delay, 0s)}.glitch:after{color:#000;text-shadow:-3px 0 #00fff9;z-index:-2;animation:glitch-anim-shred-2 var(--duration, 3.5s) infinite steps(2,end) alternate-reverse;animation-delay:var(--delay, 0s)}@keyframes glitch-anim-shred-1{0%,80%{clip-path:inset(50% 50% 50% 50%);transform:translate(0);opacity:0}81%{clip-path:polygon(0 10%,100% 10%,100% 20%,0 20%,0 40%,100% 40%,100% 60%,0 60%,0 80%,100% 80%,100% 90%,0 90%);transform:translate(-5px,2px);opacity:1}82%{clip-path:polygon(0 0,100% 0,100% 15%,0 15%,0 30%,100% 30%,100% 45%,0 45%,0 70%,100% 70%,100% 85%,0 85%);transform:translate(5px,-2px);opacity:1}85%{clip-path:polygon(0 5%,100% 5%,100% 10%,0 10%,0 25%,100% 25%,100% 30%,0 30%,0 55%,100% 55%,100% 60%,0 60%,0 85%,100% 85%,100% 90%,0 90%);transform:translate(-3px) skew(10deg);opacity:1}90%{clip-path:inset(50%);transform:translate(0);opacity:0}95%{clip-path:polygon(0 40%,100% 40%,100% 45%,0 45%);transform:translate(10px);opacity:1}to{clip-path:inset(50%);transform:translate(0);opacity:0}}@keyframes glitch-anim-shred-2{0%,75%{clip-path:inset(50%);transform:translate(0);opacity:0}76%{clip-path:polygon(0 20%,100% 20%,100% 30%,0 30%,0 50%,100% 50%,100% 70%,0 70%);transform:translate(5px,-5px);opacity:1}85%{clip-path:polygon(0 10%,100% 10%,100% 15%,0 15%,0 60%,100% 60%,100% 65%,0 65%,0 90%,100% 90%,100% 95%,0 95%);transform:translate(-8px,5px) skew(-10deg);opacity:1}90%{clip-path:inset(50%);transform:translate(0);opacity:0}to{clip-path:inset(50%);transform:translate(0);opacity:0}}.glitch-global{position:relative;display:inline-block}.glitch-global:before,.glitch-global:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:.8;pointer-events:none}.glitch-global:before{z-index:10;color:#000;text-shadow:5px 0 #ffff00;animation:glitch-anim-global-1 8s infinite linear}.glitch-global:after{z-index:10;color:#000;text-shadow:-5px 0 #00ffff;animation:glitch-anim-global-2 5.3s infinite linear}@keyframes glitch-anim-global-1{0%,95%{clip-path:inset(50%);transform:translate(0);opacity:0}96%{clip-path:polygon(0 0,100% 0,100% 30%,0 30%);transform:translate(-10px,5px) skew(10deg);opacity:1}97%{clip-path:polygon(0 60%,100% 60%,100% 100%,0 100%);transform:translate(10px,-5px) skew(-10deg);opacity:1}98%{clip-path:inset(50%);transform:translate(0);opacity:0}to{clip-path:inset(50%);transform:translate(0);opacity:0}}@keyframes glitch-anim-global-2{0%,92%{clip-path:inset(50%);transform:translate(0);opacity:0}93%{clip-path:polygon(0 40%,100% 40%,100% 70%,0 70%);transform:translate(8px);opacity:1}94%{clip-path:polygon(0 10%,100% 10%,100% 20%,0 20%,0 80%,100% 80%,100% 90%,0 90%);transform:translate(-8px);opacity:1}95%{clip-path:inset(50%);transform:translate(0);opacity:0}to{clip-path:inset(50%);transform:translate(0);opacity:0}}.about{background-color:var(--color-bg);color:var(--color-text);min-height:100vh;display:flex;align-items:center}.about-content{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}@media(min-width:900px){.about-content{grid-template-columns:350px 1fr;grid-template-rows:auto auto;gap:var(--spacing-xxl)}.about-skills{grid-column:1 / -1;margin-top:var(--spacing-lg);padding-top:var(--spacing-xl);border-top:1px solid rgba(255,255,255,.1)}}.about-image-container{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 20px 40px #00000080;transition:transform .3s ease}.about-image-container:hover{transform:translateY(-5px)}.about-image{width:100%;height:auto;display:block;filter:grayscale(100%) contrast(1.1);transition:filter .5s ease}.about-image-container:hover .about-image{filter:grayscale(0%) contrast(1)}.about-info{display:flex;flex-direction:column;justify-content:space-between}.about-text{font-size:1.1rem;line-height:1.8;color:var(--color-text);margin-bottom:var(--spacing-xl);max-width:600px}.subsection-title{font-family:var(--font-mono);font-size:1rem;color:var(--color-secondary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:var(--spacing-sm);display:inline-block}.experience-list,.education-list{margin-bottom:var(--spacing-lg)}.experience-item{display:flex;flex-direction:column;margin-bottom:var(--spacing-sm);font-size:.95rem}@media(min-width:600px){.experience-item{flex-direction:row;justify-content:space-between}}.year{font-family:var(--font-mono);color:var(--color-secondary);width:200px;flex-shrink:0}.role{font-weight:500}.skills-title{margin-bottom:var(--spacing-lg)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.skill-category{font-size:.9rem;color:var(--color-secondary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:1px}.skill-list{display:flex;flex-wrap:wrap;gap:12px}.skill-list li{font-family:var(--font-mono);font-size:.85rem;padding:8px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:20px;cursor:default;transition:all .3s ease;position:relative;overflow:hidden}.skill-list li:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .6s ease}.skill-list li:hover{border-color:var(--color-accent);background:#ffffff1a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;color:#fff}.about-sns{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap}.sns-link{color:var(--color-secondary);transition:color .3s ease,transform .3s ease;display:inline-flex;align-items:center;justify-content:center;padding:4px}.sns-link svg{width:24px;height:24px}.sns-link:hover{color:var(--color-accent);transform:translateY(-2px)}.works{background-color:var(--color-bg);color:var(--color-text)}.works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-xl)}.project-card{display:block;position:relative;cursor:pointer;overflow:hidden}.project-image-container{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background-color:#222}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.165,.84,.44,1)}.project-card:hover .project-image{transform:scale(1.05)}.project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-category{font-family:var(--font-mono);color:var(--color-accent);font-size:1.2rem;font-weight:500;text-transform:uppercase;letter-spacing:2px;border:1px solid var(--color-accent);padding:.5rem 1rem;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-info{margin-top:var(--spacing-md);display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #333;padding-top:var(--spacing-sm)}.project-title{font-family:var(--font-main);font-size:1.1rem;font-weight:600;color:var(--color-text);transition:color .3s ease}.project-card:hover .project-title{color:var(--color-accent)}.project-year{font-family:var(--font-mono);font-size:.9rem;color:var(--color-secondary)}.work-detail{min-height:100vh;padding-top:var(--spacing-xxl)}.back-link{display:inline-block;margin-bottom:var(--spacing-xl);font-family:var(--font-mono);font-size:.9rem;color:var(--color-secondary)}.back-link:hover{color:var(--color-accent)}.detail-header{margin-bottom:var(--spacing-xl)}.detail-title{font-size:3rem;font-weight:800;margin-bottom:var(--spacing-sm);color:var(--color-text)}.detail-meta{display:flex;gap:var(--spacing-md);font-family:var(--font-mono);color:var(--color-secondary)}.detail-image-container{width:100%;margin-bottom:var(--spacing-xl)}.detail-image{width:100%;height:auto;max-height:80vh;object-fit:cover}.detail-content{width:100%;font-size:1.1rem;line-height:1.8}.visuals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.visual-item{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer;background-color:#222}.visual-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.visual-item:hover img{transform:scale(1.1)}.visual-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.visual-item:hover .visual-overlay{opacity:1}.visual-overlay span{font-family:var(--font-mono);color:var(--color-accent);text-transform:uppercase;letter-spacing:1px;font-size:.9rem;padding:.5rem 1rem;border:1px solid var(--color-accent)}.contact-page{background-color:var(--color-bg);min-height:100vh;padding-top:var(--spacing-xxl)}.contact-links{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:600px;margin-top:var(--spacing-xl)}.contact-item{display:flex;align-items:center;gap:var(--spacing-md);text-decoration:none;color:var(--color-text);padding:var(--spacing-md);border:1px solid #333;border-radius:8px;transition:all .3s ease}.contact-item:hover{background:#ffffff0d;border-color:var(--color-accent);color:var(--color-accent)}.contact-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#222;border-radius:50%;transition:transform .3s ease}.contact-item:hover .contact-icon{transform:scale(1.1);background:var(--color-accent);color:#000}.contact-label{font-family:var(--font-mono);font-size:1.2rem}
