@font-face{font-family:atkinson hyperlegible;src:url(../fonts/atkinson-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:atkinson hyperlegible;src:url(../fonts/atkinson-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:atkinson hyperlegible;src:url(../fonts/atkinson-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:bricolage grotesque;src:url(../fonts/bricolage-grotesque.woff2)format("woff2-variations"),url(../fonts/bricolage-grotesque.woff2)format("woff2");font-weight:400 800;font-stretch:100%;font-style:normal;font-display:swap}@font-face{font-family:jetbrains mono;src:url(../fonts/jetbrains-mono-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--paper:#f3f4f7;--surface:#fbfbfd;--ink:#1b2030;--slate:#535b6b;--spruce:#36557a;--spruce-strong:#263f5e;--mist:#d9dde6;--serif:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--sans:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--head:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--measure:40rem;--wide:68rem;color-scheme:light;--motif:url("../img/motifs/sakura-day.svg");--motif-opacity:0.42;--sakura:#b4366a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#171b24;--surface:#1f2430;--ink:#e4e7ee;--slate:#a2aab9;--spruce:#9fc4d8;--spruce-strong:#c6dcea;--mist:#2f3543;color-scheme:dark;--motif:url("../img/motifs/sakura-night.svg");--motif-opacity:0.5;--sakura:#ff9cc6}}:root[data-theme=dark]{--paper:#171b24;--surface:#1f2430;--ink:#e4e7ee;--slate:#a2aab9;--spruce:#9fc4d8;--spruce-strong:#c6dcea;--mist:#2f3543;color-scheme:dark;--motif:url("../img/motifs/sakura-night.svg");--motif-opacity:0.5;--sakura:#ff9cc6}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.0625rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--spruce);text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,var(--spruce) 45%,transparent)}a:hover{color:var(--spruce-strong);text-decoration-color:initial}a:focus-visible,input:focus-visible,audio:focus-visible{outline:2px solid var(--spruce);outline-offset:3px;border-radius:2px}.skip{position:absolute;left:1rem;top:-3rem;background:var(--ink);color:var(--paper);padding:.5rem .9rem;font-family:var(--sans);font-size:.875rem;z-index:10}.skip:focus{top:1rem}.wrap{max-width:var(--wide);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}.site-header{border-bottom:1px solid var(--mist);font-family:var(--sans)}.header-inner{display:flex;align-items:baseline;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding-top:1.1rem;padding-bottom:1.1rem}.site-name{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:-.005em}.home .site-name{visibility:hidden}.site-header nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1.5rem}.site-header nav a{color:var(--slate);text-decoration:none;font-size:.9375rem;padding:.2rem 0;border-bottom:2px solid transparent}.site-header nav a:hover{color:var(--ink)}.site-header nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--spruce)}.hero{display:grid;grid-template-columns:minmax(0,1fr)20rem;gap:3rem;align-items:end;padding-top:clamp(2.5rem,7vw,5.5rem)}.hero h1{font-size:clamp(3.1rem,8.5vw,6.25rem);font-weight:380;line-height:.98;letter-spacing:-.025em;margin:0 0 1.4rem}.hero .role{font-family:var(--sans);font-size:1.0625rem;line-height:1.5;color:var(--slate);margin:0 0 1.6rem}.contact{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-family:var(--sans);font-size:.9375rem}.portrait{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;align-self:center}.track-band{margin:2.25rem 0 0;overflow:hidden}.pitch-track{display:block;width:100%;height:auto;fill:var(--spruce);overflow:visible}@media(prefers-reduced-motion:no-preference){.pitch-track circle{opacity:0;animation:voice .35s ease-out forwards;animation-delay:calc(var(--i) * 13ms + 250ms)}@keyframes voice{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}}.home-body{padding-top:2rem;padding-bottom:1rem}.home-body .prose{max-width:42rem}.home-body .prose>p:first-child{font-size:1.375rem;line-height:1.5}.home-links{margin:3rem 0 0;border-top:1px solid var(--mist)}.home-links a{display:grid;grid-template-columns:minmax(0,15rem)minmax(0,1fr);gap:.25rem 2rem;padding:1.1rem 0;border-bottom:1px solid var(--mist);text-decoration:none;color:var(--ink)}.hl-title{font-size:1.3rem}.hl-text{font-family:var(--sans);font-size:.9375rem;color:var(--slate);align-self:center}.home-links a:hover .hl-title{color:var(--spruce)}.page-head{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:1rem;max-width:48rem}.page-head h1{font-size:clamp(2.4rem,5.5vw,3.6rem);font-weight:400;line-height:1.05;letter-spacing:-.02em;margin:0 0 1.25rem}.lead{font-size:1.375rem;line-height:1.5;margin:0}.prose{max-width:var(--measure);padding-bottom:4rem}.prose p{margin:0 0 1.1em}.prose a{hyphens:manual}.lead,.home-body .prose>p:first-child{hyphens:manual}.prose h2{font-size:1.75rem;font-weight:450;letter-spacing:-.01em;line-height:1.2;margin:3rem 0 1rem;padding-top:1.25rem;border-top:1px solid var(--mist)}.prose h3{font-family:var(--sans);font-size:1.0625rem;font-weight:600;line-height:1.35;margin:2rem 0 .5rem}.prose ul{padding-left:1.1em}.prose li{margin-bottom:.25em}.prose figure{margin:1.5rem 0}.prose figcaption{font-family:var(--sans);font-size:.875rem;color:var(--slate);margin:.5rem 0}.timeline{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:.7rem 1.5rem;margin:1rem 0 1.5rem}.timeline dt{font-family:var(--sans);font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--slate);padding-top:.25rem}.timeline dd{margin:0}.page-research .prose,.page-teaching .prose{max-width:46rem}.page-cv .prose{max-width:50rem}.cv-section:first-child h2{margin-top:1.5rem}.grant-project{display:block}.grant-meta{display:block;font-family:var(--sans);font-size:.875rem;color:var(--slate);line-height:1.5;margin-top:.2rem}.page-publications .prose{max-width:50rem}.pub-tools{font-family:var(--sans);margin:.5rem 0 2rem;max-width:30rem}.pub-tools label{display:block;font-size:.875rem;color:var(--slate);margin-bottom:.35rem}.pub-tools input{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--mist);border-radius:3px;padding:.6rem .75rem}.pub-tools input:focus{border-color:var(--spruce)}.pub-count{font-size:.875rem;color:var(--slate);margin:.5rem 0 0}.pub-year{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1.5rem;padding-top:1rem;margin-bottom:1.25rem}.pub-year[hidden]{display:none}.pub-cat[hidden]{display:none}.prose .pub-cat>h2{margin-top:2.5rem}.prose .pub-year h3{font-family:var(--sans);font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--slate);border:0;padding:0;margin:.2rem 0 0;align-self:start;position:sticky;top:1rem}.pub-year ol{list-style:none;margin:0;padding:0}.pub-year li{margin:0 0 1.15rem}.pub-year li[hidden]{display:none}.pub-authors{display:block;font-family:var(--sans);font-size:.875rem;color:var(--slate);line-height:1.5}.pub-authors strong{color:var(--ink);font-weight:600}.pub-title{display:block;line-height:1.4;margin:.15rem 0}.pub-title a{color:var(--ink);text-decoration-color:var(--mist)}.pub-title a:hover{color:var(--spruce);text-decoration-color:initial}.pub-venue{display:block;font-style:italic;color:var(--slate);font-size:1.0625rem;line-height:1.45}.pub-empty{font-family:var(--sans);color:var(--slate)}.course-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem}.course-cols h3{margin-top:.75rem}.course-cols ul{list-style:none;padding:0;margin:0}.course-cols li{padding:.35rem 0;border-bottom:1px solid var(--mist);margin:0}.award-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.award-pair figure{margin:0}.award-pair img{border-radius:2px;aspect-ratio:4/3;object-fit:cover}.page-speech-to-song .prose{max-width:46rem}.s2s-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:2rem 0 2.5rem}.s2s-pair figure{margin:0}.s2s-pair img{background:#fff;border:1px solid var(--mist);border-radius:3px;padding:.5rem;width:100%}.s2s-pair figcaption{font-family:var(--sans);font-size:.9375rem;color:var(--ink);margin:.75rem 0 .4rem}audio{width:100%;height:2.5rem}.prose ul.refs{list-style:none;padding:0}.prose ul.refs li{margin-bottom:.9rem;font-size:1.0625rem;line-height:1.5}.funder{display:flex;align-items:center;gap:1.25rem;margin:2rem 0;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--mist);border-radius:3px}.funder img{width:7.5rem;background:#fff;padding:.35rem;border-radius:2px;flex:none}.funder p{margin:0;font-family:var(--sans);font-size:.9375rem;line-height:1.5}.db-table{overflow-x:auto;margin:1.5rem 0 2rem}.db-table table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.9375rem}.db-table th,.db-table td{text-align:left;padding:.6rem .75rem .6rem 0;border-bottom:1px solid var(--mist);vertical-align:middle}.db-table thead th{font-weight:600;color:var(--slate);font-size:.875rem}.db-table tbody th{font-weight:500;white-space:nowrap}.db-table td{min-width:13rem}.site-footer{border-top:1px solid var(--mist);font-family:var(--sans);font-size:.875rem;color:var(--slate);margin-top:2rem}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-top:1.75rem;padding-bottom:2.25rem}.footer-inner p{margin:0;line-height:1.5}.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem}.footer-links a{color:var(--slate)}.footer-links a:hover{color:var(--ink)}@media(max-width:860px){.hero{grid-template-columns:minmax(0,1fr);gap:2rem}.portrait{max-width:14rem;order:-1}.home .site-name{visibility:visible}.home-links a{grid-template-columns:minmax(0,1fr)}.hl-text{align-self:start}}@media(max-width:600px){body{font-size:1.125rem}.header-inner{flex-direction:column;gap:.6rem}.site-header nav ul{gap:.3rem 1.1rem}.timeline{grid-template-columns:minmax(0,1fr);gap:.1rem}.timeline dd{margin-bottom:.85rem}.pub-year{grid-template-columns:minmax(0,1fr);gap:.5rem}.pub-cat[hidden]{display:none}.prose .pub-cat>h2{margin-top:2.5rem}.prose .pub-year h3{position:static}.course-cols,.s2s-pair{grid-template-columns:minmax(0,1fr)}.funder{flex-direction:column;align-items:flex-start}}@media print{.site-header nav,.track-band,.pub-tools,audio{display:none}body{background:#fff;color:#000}}.cv-note{display:block;font-family:var(--sans);font-size:.875rem;color:var(--slate);line-height:1.5;margin-top:.2rem}.prose ul.cv-list{list-style:none;padding:0}.prose ul.cv-list li{padding:.45rem 0;border-bottom:1px solid var(--mist);margin:0}.prose ul.cv-list li:last-child{border-bottom:0}.header-tools{display:flex;align-items:baseline;gap:1.5rem;flex-wrap:wrap}.theme-toggle{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.875rem;font-weight:700;color:var(--sakura);background:color-mix(in srgb,var(--sakura) 10%,transparent);border:1.5px solid color-mix(in srgb,var(--sakura) 60%,transparent);border-radius:999px;padding:.25rem .8rem .25rem .6rem;cursor:pointer;transition:background .2s,color .2s}.theme-toggle:hover{color:var(--paper);background:var(--sakura);border-color:var(--sakura)}.theme-toggle:focus-visible{outline:2px solid var(--sakura);outline-offset:2px}.theme-toggle svg{width:1rem;height:1rem;flex:none}.ico-moon{fill:currentColor}.ico-sun{fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round}.theme-toggle .ico-sun,.theme-toggle[data-next=light] .ico-moon{display:none}.theme-toggle[data-next=light] .ico-sun{display:block}.cards{display:grid;gap:.75rem;margin:1.25rem 0 2rem}.card{background:var(--surface);border:1px solid var(--mist);border-radius:8px;transition:border-color .2s}.card:hover,.card[open]{border-color:color-mix(in srgb,var(--spruce) 45%,var(--mist))}.card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr)auto;gap:.15rem 1rem;padding:1rem 1.25rem;border-radius:8px}.card>summary::-webkit-details-marker{display:none}.card>summary:focus-visible{outline:2px solid var(--spruce);outline-offset:2px}.card-title{font-size:1.25rem;line-height:1.3;grid-column:1}.card-meta{font-family:var(--sans);font-size:.875rem;color:var(--slate);line-height:1.45;grid-column:1}.card>summary::after{content:"";grid-column:2;grid-row:1/span 2;align-self:center;width:.55rem;height:.55rem;border-right:2px solid var(--slate);border-bottom:2px solid var(--slate);transform:rotate(45deg)translate(-2px,-2px);transition:transform .25s}.card[open]>summary::after{transform:rotate(-135deg)translate(-2px,-2px)}.card-body{padding:0 1.25rem 1.1rem}.card-body>:first-child{margin-top:0}.card-body>:last-child{margin-bottom:0}.prose .card-body h3{margin-top:1.25rem}.prose .card-body .timeline{margin:.25rem 0 .5rem}.prose .card-body .course-cols{margin-bottom:.5rem}@supports(interpolate-size:allow-keywords){.card{interpolate-size:allow-keywords}.card::details-content{block-size:0;overflow:hidden;transition:block-size .3s ease,content-visibility .3s allow-discrete}.card[open]::details-content{block-size:auto}}@media(prefers-reduced-motion:reduce){.card::details-content,.card>summary::after{transition:none}}.cards-tools{display:flex;justify-content:flex-end;margin:-.5rem 0 .25rem}.cards-toggle{font-family:var(--sans);font-size:.875rem;color:var(--spruce);background:0 0;border:0;padding:.25rem 0;cursor:pointer;text-decoration:underline;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,var(--spruce) 45%,transparent)}@media print{.theme-toggle,.cards-tools{display:none}.card>summary::after{display:none}}.track-wrap{position:relative}.pitch-track circle{transition:fill .15s,r .15s}.pitch-track circle.lit{fill:var(--spruce-strong);r:4.2px}.track-caption{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.9rem;font-family:var(--sans);font-size:.8125rem;color:var(--slate)}.track-caption a{color:var(--slate)}.track-caption a:hover{color:var(--ink)}.track-play{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-size:.875rem;color:var(--paper);background:var(--spruce);border:0;border-radius:999px;padding:.35rem .9rem .35rem .7rem;cursor:pointer}.track-play:hover{background:var(--spruce-strong)}.track-play:focus-visible{outline:2px solid var(--spruce);outline-offset:3px}.track-icon{width:0;height:0;border-left:8px solid;border-top:5px solid transparent;border-bottom:5px solid transparent}.track-play.playing .track-icon{width:8px;height:8px;border:0;background:currentColor;border-radius:1px}.recent{max-width:42rem;margin:3.5rem 0 4rem}.recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:1px solid var(--mist);padding-top:1.25rem;margin-bottom:1rem}.recent-head h2{font-size:1.75rem;font-weight:450;letter-spacing:-.01em;margin:0}.recent-head a{font-family:var(--sans);font-size:.9375rem}.recent-list{list-style:none;margin:0;padding:0}.recent-list li{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--mist)}.recent-year{font-family:var(--sans);font-size:.875rem;font-weight:600;color:var(--slate);padding-top:.2rem;font-variant-numeric:tabular-nums}.recent-body .pub-title{display:block;line-height:1.4}.recent-body .pub-title a{color:var(--ink);text-decoration-color:var(--mist)}.recent-body .pub-title a:hover{color:var(--spruce);text-decoration-color:initial}.recent-body .pub-authors{display:block;margin-top:.25rem}.home-body .prose{padding-bottom:0}.pub-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 .25rem}.chip{font:inherit;font-size:.875rem;color:var(--slate);background:0 0;border:1px solid var(--mist);border-radius:999px;padding:.3rem .8rem;cursor:pointer}.chip:hover{color:var(--ink);border-color:var(--slate)}.chip[aria-pressed=true]{color:var(--paper);background:var(--spruce);border-color:var(--spruce)}.chip-n{font-variant-numeric:tabular-nums;margin-left:.15rem;font-weight:600}.chip:focus-visible{outline:2px solid var(--spruce);outline-offset:2px}.pub-tools{max-width:none}.pub-tools input{max-width:30rem}.aplay{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--sans);font-size:.8125rem;color:var(--slate);background:0 0;border:0;padding:0;cursor:pointer}.aplay svg{width:2.4rem;height:2.4rem;display:block}.aplay-track{fill:var(--surface);stroke:var(--mist);stroke-width:2}.aplay-ring{fill:none;stroke:var(--spruce);stroke-width:2.5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .1s linear}.aplay-icon{fill:var(--spruce)}.aplay:hover .aplay-track{stroke:var(--spruce)}.aplay.playing .aplay-track{fill:color-mix(in srgb,var(--spruce) 12%,var(--surface))}.aplay:focus-visible{outline:2px solid var(--spruce);outline-offset:3px;border-radius:999px}.db-table td{min-width:0}@media print{.track-caption .track-play,.aplay{display:none}}@media(max-width:600px){.recent-list li{grid-template-columns:minmax(0,1fr);gap:.2rem}}body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--motif)repeat 0 0/600px 600px;opacity:var(--motif-opacity);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(50% - 37rem),rgba(0,0,0,.18) calc(50% - 31rem),rgba(0,0,0,.18) calc(50% + 31rem),#000 calc(50% + 37rem),#000 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(50% - 37rem),rgba(0,0,0,.18) calc(50% - 31rem),rgba(0,0,0,.18) calc(50% + 31rem),#000 calc(50% + 37rem),#000 100%)}.site-header,main,.site-footer,.skip{position:relative;z-index:1}.skip{position:absolute;z-index:10}@media(max-width:1100px){body::before{-webkit-mask-image:none;mask-image:none;opacity:calc(var(--motif-opacity) * .2)}}@media(max-width:700px){body::before{background-size:400px 400px}}@media print{body::before{display:none}}.cards-cols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem}.card-stack{display:grid;gap:.75rem}.cards-cols .course-cols{grid-template-columns:minmax(0,1fr)}.cards-cols .award-pair{gap:.6rem}.page-teaching .prose{max-width:64rem}.page-teaching .prose>p,.page-teaching .prose>h2,.page-teaching .prose>.course-cols{max-width:46rem}@media(max-width:860px){.cards-cols{grid-template-columns:minmax(0,1fr)}}.cv-section{scroll-margin-top:7.5rem}.jumpbar{position:sticky;top:.75rem;z-index:5;margin:.5rem 0 1.5rem;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--mist);border-radius:14px;box-shadow:0 6px 24px color-mix(in srgb,var(--ink) 8%,transparent);font-family:var(--sans)}.jumpbar ul{list-style:none;margin:0;padding:.4rem;display:flex;flex-wrap:wrap;gap:.2rem}.jumpbar a{display:block;white-space:nowrap;font-size:.8125rem;color:var(--slate);text-decoration:none;padding:.3rem .7rem;border-radius:999px}.jumpbar a:hover{color:var(--ink);background:color-mix(in srgb,var(--spruce) 10%,transparent)}.jumpbar a[aria-current=true]{color:var(--paper);background:var(--spruce)}@media(max-width:700px){.jumpbar ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.jumpbar ul::-webkit-scrollbar{display:none}.cv-section{scroll-margin-top:4.5rem}}@media print{.jumpbar{display:none}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header nav a.nav-accent{color:var(--sakura)}.site-header nav a.nav-accent:hover{color:var(--sakura);border-bottom-color:color-mix(in srgb,var(--sakura) 45%,transparent)}.site-header nav a.nav-accent[aria-current=page]{color:var(--sakura);border-bottom-color:var(--sakura)}.page-speech-to-song .prose{max-width:66rem}.page-speech-to-song .prose>p{max-width:46rem}.zigzag{position:relative;display:flex;flex-direction:column;margin:3rem 0 2rem}.zigzag::before{content:"";position:absolute;top:.5rem;bottom:2rem;left:calc(50% - 1px);width:2px;border-radius:1px;background:color-mix(in srgb,var(--sakura) 55%,transparent)}.zz{position:relative;background:var(--surface);border:1px solid var(--mist);border-radius:12px;padding:1.4rem 1.6rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px color-mix(in srgb,var(--ink) 4%,transparent)}.zz{width:calc(50% - 2.25rem)}.zz:nth-child(odd){align-self:flex-start}.zz:nth-child(even){align-self:flex-end}.zz+.zz{margin-top:-4rem}.zz::before{content:"";position:absolute;top:1.75rem;width:12px;height:12px;border-radius:50%;background:var(--sakura);z-index:1}.zz::after{content:"";position:absolute;top:calc(1.75rem + 5px);height:2px;width:calc(2.25rem - 6px);background:color-mix(in srgb,var(--sakura) 55%,transparent)}.zz:nth-child(odd)::before{right:calc(-2.25rem - 7px)}.zz:nth-child(odd)::after{right:calc(-2.25rem + 5px)}.zz:nth-child(even)::before{left:calc(-2.25rem - 7px)}.zz:nth-child(even)::after{left:calc(-2.25rem + 5px)}.prose .zz h2{border:0;padding:0;margin:0 0 .75rem;font-size:1.5rem}.zz>:last-child{margin-bottom:0}.zz p{font-size:1.0625rem}.zz .s2s-pair{margin:1rem 0 0;gap:1rem}.zz .funder{margin:1.25rem 0 0;background:var(--paper)}.zz.zz-wide{align-self:center;width:min(100%,52rem);margin-top:2.5rem}.zz-wide::before{left:calc(50% - 6px)!important;right:auto!important;top:-7px}.zz-wide::after{display:none}.loop-toggle{font-family:var(--sans);font-size:.8125rem;color:var(--slate);background:0 0;border:1px solid var(--mist);border-radius:999px;padding:.3rem .85rem;cursor:pointer}.loop-toggle::before{content:"↻ "}.loop-toggle[aria-pressed=true]{color:var(--paper);background:var(--sakura);border-color:var(--sakura)}.loop-toggle:focus-visible{outline:2px solid var(--spruce);outline-offset:2px}.zz .aplay-ring{stroke:var(--sakura)}.zz .aplay-icon{fill:var(--sakura)}@media(max-width:900px){.zigzag{padding-left:2rem}.zigzag::before{left:calc(.75rem - 1px)}.zz,.zz:nth-child(odd),.zz:nth-child(even),.zz.zz-wide{align-self:stretch;width:auto}.zz+.zz,.zz.zz-wide{margin-top:0}.zz::before,.zz:nth-child(odd)::before,.zz:nth-child(even)::before,.zz-wide::before{left:calc(.75rem - 2rem - 7px)!important;right:auto!important;top:1.75rem}.zz::after,.zz:nth-child(odd)::after,.zz:nth-child(even)::after,.zz-wide::after{display:block;left:calc(.75rem - 2rem + 5px);right:auto;width:calc(2rem - .75rem - 6px)}.zz-wide{width:100%}}.zz:last-child{margin-bottom:0}.zigzag::before{bottom:2rem}.hero h1,.page-head h1,.prose h2,.prose h3,.site-name,.card-title,.hl-title,.recent-head h2,.prose .zz h2{font-family:var(--head);font-weight:800;letter-spacing:-.01em}.prose h3{font-weight:700}.hero h1,.page-head h1{font-weight:800;letter-spacing:-.03em;line-height:1;background:linear-gradient(180deg,var(--ink) 15%,var(--spruce) 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero h1::selection,.page-head h1::selection{-webkit-text-fill-color:var(--paper)}.site-name{font-size:1.15rem}.card-title,.hl-title{font-weight:700}.timeline dt,.pub-year h3,.prose .pub-year h3,.recent-year,.aplay-time,.chip-n,.card-meta .yr{font-family:var(--mono);font-weight:400;letter-spacing:0}.timeline dt,.recent-year{font-size:.8125rem}.lead,.home-body .prose>p:first-child{font-size:1.25rem;line-height:1.55}.pub-venue{font-size:.9375rem}.zz p{font-size:1rem}@media print{.hero h1,.page-head h1{background:0 0;-webkit-text-fill-color:currentColor}}.page-research .prose{max-width:64rem}.page-research .prose>p,.page-research .prose>h2{max-width:46rem}.pmap{position:relative;margin:1.25rem 0 2.5rem}.pmap-panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.pmap-panel{display:flex;flex-direction:column;justify-content:space-between;background:var(--surface);border:1px solid var(--mist);border-radius:12px;overflow:hidden}.pmap-svg{display:block;width:100%;height:auto}.pmap .land{fill:color-mix(in srgb,var(--spruce) 9%,var(--paper));stroke:color-mix(in srgb,var(--spruce) 28%,var(--paper));stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linejoin:round}.pmap-eu{fill:none;stroke:var(--slate);stroke-width:1.2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.pmap-cap{margin:0;padding:.4rem .8rem .55rem;font-family:var(--sans);font-size:.8125rem;color:var(--slate);border-top:1px solid var(--mist)}.pin{cursor:pointer;outline:none}.pin-dot{stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke;transition:r .15s}.pin-halo{opacity:.18;transition:opacity .15s}.kind-post .pin-dot,.kind-post .pin-halo,.pin-mini.kind-post,.key.kind-post{fill:var(--spruce);background:var(--spruce)}.kind-study .pin-dot,.kind-study .pin-halo,.pin-mini.kind-study,.key.kind-study{fill:var(--slate);background:var(--slate)}.kind-visit .pin-dot,.kind-visit .pin-halo,.pin-mini.kind-visit,.key.kind-visit{fill:var(--sakura);background:var(--sakura)}.pin:hover .pin-halo,.pin:focus-visible .pin-halo,.pin.on .pin-halo{opacity:.4}.pin:focus-visible .pin-dot{stroke:var(--ink);stroke-width:2.5}.pmap-legend{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-family:var(--sans);font-size:.875rem;color:var(--slate)}.pmap-legend li{display:flex;align-items:center;gap:.45rem}.key{width:10px;height:10px;border-radius:50%;display:inline-block}.pmap-tip{position:absolute;z-index:6;width:min(22rem,calc(100vw - 2rem));background:var(--surface);border:1px solid var(--mist);border-radius:10px;padding:.75rem .9rem;box-shadow:0 8px 28px color-mix(in srgb,var(--ink) 16%,transparent);font-family:var(--sans);font-size:.875rem;line-height:1.45;pointer-events:none}.pmap-tip[hidden]{display:none}.prose .pmap-tip p.tip-place{font-family:var(--head);font-weight:800;font-size:1rem;margin:0 0 .4rem}.pmap-tip ul{list-style:none;margin:0;padding:0}.prose .pmap-tip li{margin:.3rem 0 0;padding-left:.9rem;position:relative}.pmap-tip li::before{content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:50%;background:var(--slate)}.pmap-tip li.kind-post::before{background:var(--spruce)}.pmap-tip li.kind-visit::before{background:var(--sakura)}.tip-years{font-family:var(--mono);font-size:.75rem;color:var(--slate);margin-right:.25rem}@media(max-width:760px){.pmap-panels{grid-template-columns:minmax(0,1fr)}}@media print{.pmap-tip{display:none}}.home-grid{display:grid;grid-template-columns:minmax(0,1.15fr)minmax(0,1fr);gap:3.5rem;align-items:start;padding-bottom:4rem}.home-grid .prose{max-width:none;padding-bottom:0}.home-side{display:grid;gap:2.25rem;padding-top:.35rem}.home-side .home-links{margin:0;border-top:0;display:grid;gap:.6rem}.home-side .home-links a{display:block;padding:.85rem 1.1rem;background:var(--surface);border:1px solid var(--mist);border-radius:10px;transition:border-color .2s}.home-side .home-links a:hover{border-color:var(--spruce)}.home-side .home-links a.hl-accent:hover{border-color:var(--sakura)}.home-side .home-links a.hl-accent .hl-title{color:var(--sakura)}.home-side .hl-title{display:block;font-size:1.1rem}.home-side .hl-text{display:block;margin-top:.15rem}.home-side .recent{margin:0;max-width:none}.home-side .recent-head{border-top:0;padding-top:0;margin-bottom:.4rem}.home-side .recent-head h2{font-size:1.25rem}.home-side .recent-list li{display:block;padding:.75rem 0}.home-side .recent-list li:first-child{border-top:1px solid var(--mist)}.home-side .recent-year{display:block;padding:0 0 .15rem;font-size:.75rem}.home-side .recent-list .pub-title{display:block;line-height:1.4;font-size:.975rem}.home-side .recent-list .pub-title a{color:var(--ink);text-decoration-color:var(--mist)}.home-side .recent-list .pub-title a:hover{color:var(--spruce);text-decoration-color:initial}.home-side .recent-list .pub-authors{display:block;margin-top:.25rem;font-size:.8125rem}@media(max-width:900px){.home-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}}.hero h1 .honorific{display:block;margin-bottom:.35rem;font-size:.3em;font-weight:700;letter-spacing:-.01em;-webkit-text-fill-color:var(--slate);color:var(--slate)}.portrait-wrap{position:relative;display:block;width:100%;aspect-ratio:1;align-self:center;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px color-mix(in srgb,var(--sakura) 55%,transparent)}.portrait-wrap .portrait{width:100%;height:100%;border-radius:0;filter:grayscale(1)sepia(1)hue-rotate(-68deg)saturate(1.25)contrast(1.05)brightness(1.03)}@media(max-width:860px){.portrait-wrap{max-width:14rem;order:-1}}@media(max-width:860px){.pitch-track circle{r:6.5px}.pitch-track circle:nth-child(even){display:none}.pitch-track circle.lit{r:8.5px}}.card{position:relative}.card::before,.zz>h2::after{content:"";position:absolute;top:-1px;width:13px;height:22px;background:var(--sakura);clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);pointer-events:none}.card::before{right:3.4rem}.zz>h2::after{right:1.4rem}.footer-note{flex-basis:100%;margin:.5rem 0 0!important;padding-top:1rem;border-top:1px solid var(--mist);font-family:var(--mono);font-size:.75rem;line-height:1.7!important;color:var(--slate)}.footer-note a{color:var(--slate)}.footer-note a:hover{color:var(--ink)}.footer-note .sep{margin:0 .3rem}.site-header nav a,.theme-toggle{font-family:var(--mono);font-variant-ligatures:none}.site-header nav a{font-size:.875rem;letter-spacing:-.01em}.theme-toggle{font-size:.8125rem;font-weight:400}@media(max-width:600px){.header-tools{width:100%}.site-header nav{width:100%}.site-header nav ul{display:grid;grid-template-columns:repeat(3,max-content);gap:.5rem 1.4rem}}