:root{--font-title:4.2rem;--font-section-title:2.1rem;--font-subtitle:1.08rem;--font-sentence:.95rem;--font-small:.82rem;--font-nav:.9rem;--laser-scroll-sensitivity:.6;--laser-enabled:1;--laser-base-thickness:.2rem;--laser-thickness-variance:2;--laser-density:10;--laser-visible-min:5;--laser-visible-max:8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f6ef;--bg-elevated:#fbfff8;--text:#243027;--muted:#627065;--line:#2d4c3729;--accent:#3f8f58;--accent-soft:#3f8f5824;--accent-strong:#23663a;--laser-line:#3f8f5829;--laser-glow:#3f8f5812;--laser-core:#3f8f5857;--shadow:0 18px 44px #234e301a;--header:#f2f6efd1;--radius:8px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101a14;--bg-elevated:#17241b;--text:#e7efe8;--muted:#a8b8ac;--line:#b8d8be29;--accent:#58b873;--accent-soft:#58b87326;--accent-strong:#98d9a9;--laser-line:#58b8732e;--laser-glow:#58b87314;--laser-core:#58b87361;--shadow:0 18px 44px #00000047;--header:#101a14d6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--site-scroll-offset,6rem)}body{background:linear-gradient(120deg, var(--accent-soft), transparent 30rem), var(--bg);min-height:100vh;color:var(--text);font-family:Inter,Noto Sans JP,system-ui,sans-serif;font-size:var(--font-sentence,.95rem);letter-spacing:0;margin:0;position:relative;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(2.5rem, 7vw, var(--font-title,5.2rem));margin:0;line-height:1}h2{font-size:var(--font-section-title,2.7rem);margin:0;line-height:1.18}h3{font-size:var(--font-subtitle,1.08rem);margin:0;line-height:1.35}.laser-field{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 24%,#0000 38% 62%,#000 76% 100%);mask-image:linear-gradient(90deg,#000 0 24%,#0000 38% 62%,#000 76% 100%)}.laser-field span{left:var(--laser-x);top:var(--laser-y);width:260vmax;height:max(2px, calc(var(--laser-base-thickness,4px) * (1 + var(--laser-thickness-variance,.9) * var(--laser-thickness-factor,0))));background:linear-gradient(90deg, transparent 0 7%, var(--laser-line) 13%, var(--laser-core) 28% 72%, var(--laser-line) 87%, transparent 93% 100%);box-shadow:0 0 7px var(--laser-glow);opacity:0;transform:rotate(var(--laser-angle)) translate3d(var(--laser-travel), 0, 0);transform-origin:50%;will-change:transform, opacity;border-radius:999px;position:absolute}.laser-field span:first-child{--laser-x:-32vw;--laser-y:14vh;--laser-angle:-58deg;--laser-start-vw:-10;--laser-end-vw:148;--laser-offset:0;--laser-travel:-10vw;--laser-thickness-factor:-.55}.laser-field span:nth-child(2){--laser-x:94vw;--laser-y:26vh;--laser-angle:122deg;--laser-start-vw:-12;--laser-end-vw:142;--laser-offset:.17;--laser-travel:-12vw;--laser-thickness-factor:1.25}.laser-field span:nth-child(3){--laser-x:-36vw;--laser-y:82vh;--laser-angle:66deg;--laser-start-vw:-18;--laser-end-vw:136;--laser-offset:.34;--laser-travel:-18vw;--laser-thickness-factor:.35}.laser-field span:nth-child(4){--laser-x:96vw;--laser-y:84vh;--laser-angle:-118deg;--laser-start-vw:-12;--laser-end-vw:150;--laser-offset:.51;--laser-travel:-12vw;--laser-thickness-factor:-.25}.laser-field span:nth-child(5){--laser-x:-30vw;--laser-y:48vh;--laser-angle:-72deg;--laser-start-vw:-18;--laser-end-vw:154;--laser-offset:.68;--laser-travel:-18vw;--laser-thickness-factor:1.7}.laser-field span:nth-child(6){--laser-x:98vw;--laser-y:6vh;--laser-angle:104deg;--laser-start-vw:-18;--laser-end-vw:145;--laser-offset:.85;--laser-travel:-18vw;--laser-thickness-factor:.8}.laser-field span:nth-child(7){--laser-x:-34vw;--laser-y:28vh;--laser-angle:74deg;--laser-start-vw:-16;--laser-end-vw:146;--laser-offset:.08;--laser-travel:-16vw;--laser-thickness-factor:-.75}.laser-field span:nth-child(8){--laser-x:96vw;--laser-y:58vh;--laser-angle:-126deg;--laser-start-vw:-14;--laser-end-vw:152;--laser-offset:.25;--laser-travel:-14vw;--laser-thickness-factor:1.45}.laser-field span:nth-child(9){--laser-x:-32vw;--laser-y:62vh;--laser-angle:-64deg;--laser-start-vw:-12;--laser-end-vw:140;--laser-offset:.42;--laser-travel:-12vw;--laser-thickness-factor:.05}.laser-field span:nth-child(10){--laser-x:100vw;--laser-y:16vh;--laser-angle:112deg;--laser-start-vw:-20;--laser-end-vw:148;--laser-offset:.61;--laser-travel:-20vw;--laser-thickness-factor:2}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--header);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);grid-template-columns:minmax(12rem,1fr) auto auto;align-items:center;gap:1rem;padding:.8rem clamp(1rem,4vw,3rem);display:grid;position:sticky;top:0}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brand strong,.brand small{white-space:nowrap;display:block}.brand strong{font-size:var(--font-nav,.9rem)}.brand small{color:var(--muted);font-size:var(--font-small,.82rem);margin-top:.12rem}.site-nav{align-items:center;gap:.35rem;display:flex}.site-nav a,.nav-menu>button{border-radius:var(--radius);min-height:2.4rem;color:var(--muted);font:inherit;font-size:var(--font-nav,.9rem);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 .75rem;display:inline-flex}.site-nav a:hover,.nav-menu>button:hover,.site-nav a:focus-visible,.nav-menu>button:focus-visible{border-color:var(--line);color:var(--text);outline:none}.nav-menu{position:relative}.nav-menu:after{content:"";width:min(22rem,84vw);height:.65rem;position:absolute;top:100%;right:0}.nav-dropdown{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);width:min(22rem,84vw);max-height:min(68vh,32rem);box-shadow:var(--shadow);padding:.45rem;display:none;position:absolute;top:calc(100% + .6rem);right:0;overflow-y:auto}.nav-menu[data-open=true] .nav-dropdown{gap:.25rem;display:grid}.nav-dropdown a{white-space:normal;grid-template-columns:2.4rem 1fr;align-items:baseline;gap:.55rem;height:auto;padding:.58rem .62rem;line-height:1.35;display:grid}.nav-dropdown a.nav-dropdown-item-unpublished{align-items:center;padding-block:.42rem}.nav-dropdown small{color:var(--muted);font-size:var(--font-small,.82rem);margin-top:.14rem;display:block}.nav-dropdown a>strong,.nav-dropdown a>span{color:color-mix(in srgb, var(--text) 82%, var(--muted))}.nav-dropdown a small{color:var(--muted)}.nav-dropdown-empty{color:var(--muted);font-size:var(--font-small,.82rem);padding:.58rem .62rem;display:block}.theme-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);width:3.6rem;min-height:2.4rem;color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.35rem;padding:0;display:inline-flex}.theme-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;opacity:.36;width:1.05rem;height:1.05rem;transition:opacity .16s,color .16s,transform .16s}:root[data-theme=light] .theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{color:var(--accent-strong);opacity:1;transform:translateY(-1px)}main{z-index:1;width:min(1120px,100% - 2rem);margin:0 auto;position:relative}.hero-section{grid-template-columns:minmax(0,1fr) minmax(11rem,.36fr);align-items:center;gap:clamp(1.8rem,5vw,3.5rem);min-height:min(39rem,100vh - 4.2rem);padding:clamp(2.8rem,7vw,5rem) 0 clamp(2.8rem,7vw,4.5rem);display:grid}.hero-copy{max-width:48rem}.eyebrow{color:var(--muted);font-size:var(--font-small,.82rem);letter-spacing:0;text-transform:uppercase;margin:0 0 .9rem;font-weight:800}.hero-name-ja{color:var(--muted);margin:.7rem 0 0;font-size:clamp(1.35rem,3vw,2rem);font-weight:700;line-height:1.2}.affiliation{max-width:38rem;color:var(--muted);font-size:var(--font-subtitle,1.08rem);white-space:pre-line;margin:1.15rem 0 0;line-height:1.7}.intro-copy{max-width:42rem;color:var(--text);font-size:var(--font-sentence,.95rem);margin:1.3rem 0 0;line-height:1.75}.hero-links{color:var(--accent-strong);font-size:var(--font-sentence,.95rem);flex-wrap:wrap;gap:1.2rem;margin-top:1.45rem;font-weight:700;display:flex}.hero-links a{border-bottom:1px solid}.portrait-panel{aspect-ratio:1;border:2px solid var(--bg-elevated);background:var(--bg-elevated);border-radius:50%;justify-self:center;width:clamp(8.5rem,24vw,14rem);margin:0;position:relative;overflow:hidden;box-shadow:0 14px 34px #0000001f}.portrait-placeholder{background:radial-gradient(circle at 42% 35%, var(--accent-soft), transparent 25%), linear-gradient(135deg, var(--bg-elevated), var(--accent-soft));color:var(--accent-strong);font-size:var(--font-small,.82rem);text-transform:uppercase;place-items:center;font-weight:800;display:grid}.portrait-panel img{object-fit:cover;width:100%;height:100%;display:block}.content-section{border-top:1px solid var(--line);padding:clamp(3.2rem,7vw,5.5rem) 0;scroll-margin-top:6rem}.section-heading{margin-bottom:2rem}.section-title{color:var(--text);font-size:var(--font-section-title,2.7rem);line-height:1.08}.keyword-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.keyword-grid span{background:var(--accent);color:#fff;min-height:2.65rem;font-size:var(--font-sentence,.95rem);text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:.55rem 1rem;font-weight:800;display:inline-flex}.publication-status{color:var(--muted)}.publication-list{gap:2rem;display:grid}.publication-group{padding-top:.25rem;display:block}.publication-group-title{border-bottom:1px solid var(--line);color:var(--text);font-size:var(--font-subtitle,1.08rem);margin:0 0 .85rem;padding:0 0 .45rem;font-weight:800}.publication-items{gap:.95rem;display:grid}.publication-item{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);grid-template-columns:2.8rem minmax(0,1fr);gap:.8rem;padding:1rem;scroll-margin-top:6rem;display:grid;box-shadow:0 12px 30px #4c2b3312}.publication-item-unpublished{border-style:dashed;border-color:color-mix(in srgb, var(--accent) 38%, var(--line));background:color-mix(in srgb, var(--accent-soft) 34%, var(--bg-elevated))}.publication-item-project{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:inset 3px 0 0 var(--accent)}.publication-number{color:var(--accent-strong);font-weight:800}.publication-item-unpublished .publication-number,.publication-item-unpublished .publication-meta{color:color-mix(in srgb, var(--muted) 82%, var(--accent-strong))}.publication-meta{color:var(--muted);font-size:var(--font-sentence,.95rem);gap:.28rem;margin-top:.7rem;line-height:1.55;display:grid}.publication-authors{color:var(--text)}.publication-author-self{color:var(--accent-strong);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 48%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 48%, transparent);text-underline-offset:.18em;font-weight:800;text-decoration-thickness:.08em}.publication-citation{white-space:pre-line;overflow-wrap:anywhere}.publication-link{width:fit-content}.publication-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem;display:flex}.publication-project-link{border:1px solid var(--accent-strong);border-radius:var(--radius);background:var(--accent-strong);max-width:100%;min-height:2.75rem;color:var(--bg-elevated);font-size:var(--font-sentence,.95rem);justify-content:center;align-items:center;gap:.65rem;padding:.65rem 1rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background .16s,box-shadow .16s;display:inline-flex}.publication-project-link:hover{background:color-mix(in srgb, var(--accent-strong) 88%, var(--text));box-shadow:0 3px 12px var(--accent-soft)}.publication-project-link svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.1rem;height:1.1rem}.link-pill{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 12%, var(--bg-elevated));max-width:100%;min-height:2.15rem;color:var(--accent-strong);box-shadow:none;font-size:var(--font-small,.82rem);justify-content:center;align-items:center;gap:.42rem;padding:.42rem .72rem;font-weight:700;line-height:1.15;transition:border-color .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex}.link-pill:hover,.link-pill:focus-visible{border-color:color-mix(in srgb, var(--accent) 70%, var(--line));background:var(--accent);color:#fff;box-shadow:none;outline:none;transform:translateY(-1px)}.link-pill-icon{color:currentColor;flex:none;width:1rem;height:1rem;display:inline-flex}.link-pill-icon svg{fill:currentColor;width:100%;height:100%;display:block}.external-link-icon{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.95rem;display:grid}.photo-grid figure{margin:0}.photo-placeholder{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg, var(--accent-soft), transparent), var(--bg-elevated);color:var(--accent-strong);place-items:center;font-weight:800;display:grid}.photo-image{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);width:100%;display:block}.photo-grid figcaption{color:var(--muted);font-size:var(--font-small,.82rem);margin-top:.55rem}.contact-lines{color:var(--muted);font-size:var(--font-sentence,.95rem);flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1rem;line-height:1.6;display:flex}.profile-contact{margin-top:1rem}.contact-lines p{margin:0}.profile-link-list{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.site-footer{z-index:1;border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:2rem 1rem;position:relative}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-content{flex:1;min-width:0}.site-footer nav{font-size:var(--font-small);flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.site-footer a:hover{color:var(--accent-strong)}.site-skip-link{z-index:30;background:var(--bg-elevated);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius);padding:.6rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.site-skip-link:focus{transform:translateY(0)}.site-shell :where(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.laser-field span{display:none}}@media (max-width:860px){:root{--site-scroll-offset:9rem}.site-header{grid-template-columns:1fr auto}.site-nav{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:space-between}.site-header>.theme-toggle{grid-area:1/2}.hero-section{grid-template-columns:1fr;min-height:auto}.portrait-panel{justify-self:start}}@media (max-width:640px){:root{--font-title:3rem;--font-section-title:2.1rem;--font-subtitle:1rem}main{width:min(100% - 1.25rem,1120px)}.site-header{padding:.7rem}.brand small{display:none}.site-nav{gap:.2rem}.site-nav a,.nav-menu>button{padding:0 .55rem}.keyword-grid,.publication-item,.photo-grid{grid-template-columns:1fr}.publication-number{width:3.4rem}}
